import { d as ba, g as cy, a as On, n as Hte } from "./main-CZEa_tPp.js";
import { C as Yte, E as Gte, V as Z$, X as J$, F as eV, K as tV, _ as rV, $ as nV, a1 as iV, Z as fy, a6 as Kte, a5 as WD, aM as aV, aO as XN, aP as oV, aQ as Xte, b0 as Qte, a$ as Zte, b1 as Jte, b3 as ere, b2 as tre, b4 as rre, J as nre, b6 as ire, b5 as are, b7 as ore, L as sre, bs as ure, bt as lre, a0 as cre, aS as fre, aV as dre, aT as pre, aR as hre, aU as mre, aY as vre, aW as gre, aX as yre, G as bre, b9 as _re, b8 as Ere, ba as Sre, bu as wre } from "./vega-projection.module-D1UAjX-b.js";
import "style-loader!css-loader!sass-loader!./font-awesome-sass-styles.loader!./font-awesome-sass.config.js";
var sV = { exports: {} };
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
var X_, QN;
function sr() {
  if (QN) return X_;
  QN = 1;
  var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
  function n(o) {
    if (o == null)
      throw new TypeError("Object.assign cannot be called with null or undefined");
    return Object(o);
  }
  function i() {
    try {
      if (!Object.assign)
        return !1;
      var o = new String("abc");
      if (o[5] = "de", Object.getOwnPropertyNames(o)[0] === "5")
        return !1;
      for (var l = {}, c = 0; c < 10; c++)
        l["_" + String.fromCharCode(c)] = c;
      var g = Object.getOwnPropertyNames(l).map(function(C) {
        return l[C];
      });
      if (g.join("") !== "0123456789")
        return !1;
      var y = {};
      return "abcdefghijklmnopqrst".split("").forEach(function(C) {
        y[C] = C;
      }), Object.keys(Object.assign({}, y)).join("") === "abcdefghijklmnopqrst";
    } catch {
      return !1;
    }
  }
  return X_ = i() ? Object.assign : function(o, l) {
    for (var c, g = n(o), y, C = 1; C < arguments.length; C++) {
      c = Object(arguments[C]);
      for (var D in c)
        t.call(c, D) && (g[D] = c[D]);
      if (e) {
        y = e(c);
        for (var x = 0; x < y.length; x++)
          r.call(c, y[x]) && (g[y[x]] = c[y[x]]);
      }
    }
    return g;
  }, X_;
}
var Q_, ZN;
function Cl() {
  if (ZN) return Q_;
  ZN = 1;
  function e(t) {
    for (var r = arguments.length - 1, n = "Minified React error #" + t + "; visit http://facebook.github.io/react/docs/error-decoder.html?invariant=" + t, i = 0; i < r; i++)
      n += "&args[]=" + encodeURIComponent(arguments[i + 1]);
    n += " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";
    var o = new Error(n);
    throw o.name = "Invariant Violation", o.framesToPop = 1, o;
  }
  return Q_ = e, Q_;
}
var Z_, JN;
function Aa() {
  if (JN) return Z_;
  JN = 1;
  function e(r) {
    return function() {
      return r;
    };
  }
  var t = function() {
  };
  return t.thatReturns = e, t.thatReturnsFalse = e(!1), t.thatReturnsTrue = e(!0), t.thatReturnsNull = e(null), t.thatReturnsThis = function() {
    return this;
  }, t.thatReturnsArgument = function(r) {
    return r;
  }, Z_ = t, Z_;
}
var J_, eI;
function Ct() {
  if (eI) return J_;
  eI = 1;
  var e = {}, t = Aa(), r = t;
  if (e.NODE_ENV !== "production") {
    var n = function(o) {
      for (var l = arguments.length, c = Array(l > 1 ? l - 1 : 0), g = 1; g < l; g++)
        c[g - 1] = arguments[g];
      var y = 0, C = "Warning: " + o.replace(/%s/g, function() {
        return c[y++];
      });
      typeof console < "u" && console.error(C);
      try {
        throw new Error(C);
      } catch {
      }
    };
    r = function(o, l) {
      if (l === void 0)
        throw new Error("`warning(condition, format, ...args)` requires a warning message argument");
      if (l.indexOf("Failed Composite propType: ") !== 0 && !o) {
        for (var c = arguments.length, g = Array(c > 2 ? c - 2 : 0), y = 2; y < c; y++)
          g[y - 2] = arguments[y];
        n.apply(void 0, [l].concat(g));
      }
    };
  }
  return J_ = r, J_;
}
var e0, tI;
function uV() {
  if (tI) return e0;
  tI = 1;
  var e = {}, t = Ct();
  function r(i, o) {
    if (e.NODE_ENV !== "production") {
      var l = i.constructor;
      e.NODE_ENV !== "production" && t(!1, "%s(...): Can only update a mounted or mounting component. This usually means you called %s() on an unmounted component. This is a no-op. Please check the code for the %s component.", o, o, l && (l.displayName || l.name) || "ReactClass");
    }
  }
  var n = {
    /**
     * Checks whether or not this composite component is mounted.
     * @param {ReactClass} publicInstance The instance we want to test.
     * @return {boolean} True if mounted, false otherwise.
     * @protected
     * @final
     */
    isMounted: function(i) {
      return !1;
    },
    /**
     * Enqueue a callback that will be executed after all the pending updates
     * have processed.
     *
     * @param {ReactClass} publicInstance The instance to use as `this` context.
     * @param {?function} callback Called after state is updated.
     * @internal
     */
    enqueueCallback: function(i, o) {
    },
    /**
     * Forces an update. This should only be invoked when it is known with
     * certainty that we are **not** in a DOM transaction.
     *
     * You may want to call this when you know that some deeper aspect of the
     * component's state has changed but `setState` was not called.
     *
     * This will not invoke `shouldComponentUpdate`, but it will invoke
     * `componentWillUpdate` and `componentDidUpdate`.
     *
     * @param {ReactClass} publicInstance The instance that should rerender.
     * @internal
     */
    enqueueForceUpdate: function(i) {
      r(i, "forceUpdate");
    },
    /**
     * Replaces all of the state. Always use this or `setState` to mutate state.
     * You should treat `this.state` as immutable.
     *
     * There is no guarantee that `this.state` will be immediately updated, so
     * accessing `this.state` after calling this method may return the old value.
     *
     * @param {ReactClass} publicInstance The instance that should rerender.
     * @param {object} completeState Next state.
     * @internal
     */
    enqueueReplaceState: function(i, o) {
      r(i, "replaceState");
    },
    /**
     * Sets a subset of the state. This only exists because _pendingState is
     * internal. This provides a merging strategy that is not available to deep
     * properties which is confusing. TODO: Expose pendingState or don't use it
     * during the merge.
     *
     * @param {ReactClass} publicInstance The instance that should rerender.
     * @param {object} partialState Next partial state to be merged with state.
     * @internal
     */
    enqueueSetState: function(i, o) {
      r(i, "setState");
    }
  };
  return e0 = n, e0;
}
var t0, rI;
function dy() {
  if (rI) return t0;
  rI = 1;
  var e = {}, t = !1;
  if (e.NODE_ENV !== "production")
    try {
      Object.defineProperty({}, "x", { get: function() {
      } }), t = !0;
    } catch {
    }
  return t0 = t, t0;
}
var r0, nI;
function $D() {
  if (nI) return r0;
  nI = 1;
  var e = {}, t = {};
  return e.NODE_ENV !== "production" && Object.freeze(t), r0 = t, r0;
}
var n0, iI;
function yt() {
  if (iI) return n0;
  iI = 1;
  var e = {}, t = function(i) {
  };
  e.NODE_ENV !== "production" && (t = function(i) {
    if (i === void 0)
      throw new Error("invariant requires an error message argument");
  });
  function r(n, i, o, l, c, g, y, C) {
    if (t(i), !n) {
      var D;
      if (i === void 0)
        D = new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");
      else {
        var x = [o, l, c, g, y, C], M = 0;
        D = new Error(i.replace(/%s/g, function() {
          return x[M++];
        })), D.name = "Invariant Violation";
      }
      throw D.framesToPop = 1, D;
    }
  }
  return n0 = r, n0;
}
var i0, aI;
function VD() {
  if (aI) return i0;
  aI = 1;
  var e = {}, t = function() {
  };
  if (e.NODE_ENV !== "production") {
    var r = function(n) {
      for (var i = arguments.length, o = Array(i > 1 ? i - 1 : 0), l = 1; l < i; l++)
        o[l - 1] = arguments[l];
      var c = 0, g = "Warning: " + n.replace(/%s/g, function() {
        return o[c++];
      });
      typeof console < "u" && console.warn(g);
      try {
        throw new Error(g);
      } catch {
      }
    };
    t = function(n, i) {
      if (i === void 0)
        throw new Error("`warning(condition, format, ...args)` requires a warning message argument");
      if (!n) {
        for (var o = arguments.length, l = Array(o > 2 ? o - 2 : 0), c = 2; c < o; c++)
          l[c - 2] = arguments[c];
        r.apply(void 0, [i].concat(l));
      }
    };
  }
  return i0 = t, i0;
}
var a0, oI;
function lV() {
  if (oI) return a0;
  oI = 1;
  var e = {}, t = Cl(), r = sr(), n = uV(), i = dy(), o = $D(), l = yt(), c = VD();
  function g(N, F, z) {
    this.props = N, this.context = F, this.refs = o, this.updater = z || n;
  }
  if (g.prototype.isReactComponent = {}, g.prototype.setState = function(N, F) {
    typeof N == "object" || typeof N == "function" || N == null || (e.NODE_ENV !== "production" ? l(!1, "setState(...): takes an object of state variables to update or a function which returns an object of state variables.") : t("85")), this.updater.enqueueSetState(this, N), F && this.updater.enqueueCallback(this, F, "setState");
  }, g.prototype.forceUpdate = function(N) {
    this.updater.enqueueForceUpdate(this), N && this.updater.enqueueCallback(this, N, "forceUpdate");
  }, e.NODE_ENV !== "production") {
    var y = {
      isMounted: ["isMounted", "Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],
      replaceState: ["replaceState", "Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]
    }, C = function(N, F) {
      i && Object.defineProperty(g.prototype, N, {
        get: function() {
          c(!1, "%s(...) is deprecated in plain JavaScript React classes. %s", F[0], F[1]);
        }
      });
    };
    for (var D in y)
      y.hasOwnProperty(D) && C(D, y[D]);
  }
  function x(N, F, z) {
    this.props = N, this.context = F, this.refs = o, this.updater = z || n;
  }
  function M() {
  }
  return M.prototype = g.prototype, x.prototype = new M(), x.prototype.constructor = x, r(x.prototype, g.prototype), x.prototype.isPureReactComponent = !0, a0 = {
    Component: g,
    PureComponent: x
  }, a0;
}
var o0, sI;
function Ore() {
  if (sI) return o0;
  sI = 1;
  var e = {}, t = Cl(), r = yt(), n = function(x) {
    var M = this;
    if (M.instancePool.length) {
      var N = M.instancePool.pop();
      return M.call(N, x), N;
    } else
      return new M(x);
  }, i = function(x, M) {
    var N = this;
    if (N.instancePool.length) {
      var F = N.instancePool.pop();
      return N.call(F, x, M), F;
    } else
      return new N(x, M);
  }, o = function(x, M, N) {
    var F = this;
    if (F.instancePool.length) {
      var z = F.instancePool.pop();
      return F.call(z, x, M, N), z;
    } else
      return new F(x, M, N);
  }, l = function(x, M, N, F) {
    var z = this;
    if (z.instancePool.length) {
      var A = z.instancePool.pop();
      return z.call(A, x, M, N, F), A;
    } else
      return new z(x, M, N, F);
  }, c = function(x) {
    var M = this;
    x instanceof M || (e.NODE_ENV !== "production" ? r(!1, "Trying to release an instance into a pool of a different type.") : t("25")), x.destructor(), M.instancePool.length < M.poolSize && M.instancePool.push(x);
  }, g = 10, y = n, C = function(x, M) {
    var N = x;
    return N.instancePool = [], N.getPooled = M || y, N.poolSize || (N.poolSize = g), N.release = c, N;
  }, D = {
    addPoolingTo: C,
    oneArgumentPooler: n,
    twoArgumentPooler: i,
    threeArgumentPooler: o,
    fourArgumentPooler: l
  };
  return o0 = D, o0;
}
var s0, uI;
function Da() {
  if (uI) return s0;
  uI = 1;
  var e = {
    /**
     * @internal
     * @type {ReactComponent}
     */
    current: null
  };
  return s0 = e, s0;
}
var u0, lI;
function cV() {
  if (lI) return u0;
  lI = 1;
  var e = typeof Symbol == "function" && Symbol.for && Symbol.for("react.element") || 60103;
  return u0 = e, u0;
}
var l0, cI;
function Ys() {
  if (cI) return l0;
  cI = 1;
  var e = {}, t = sr(), r = Da(), n = Ct(), i = dy(), o = Object.prototype.hasOwnProperty, l = cV(), c = {
    key: !0,
    ref: !0,
    __self: !0,
    __source: !0
  }, g, y;
  function C(F) {
    if (e.NODE_ENV !== "production" && o.call(F, "ref")) {
      var z = Object.getOwnPropertyDescriptor(F, "ref").get;
      if (z && z.isReactWarning)
        return !1;
    }
    return F.ref !== void 0;
  }
  function D(F) {
    if (e.NODE_ENV !== "production" && o.call(F, "key")) {
      var z = Object.getOwnPropertyDescriptor(F, "key").get;
      if (z && z.isReactWarning)
        return !1;
    }
    return F.key !== void 0;
  }
  function x(F, z) {
    var A = function() {
      g || (g = !0, e.NODE_ENV !== "production" && n(!1, "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)", z));
    };
    A.isReactWarning = !0, Object.defineProperty(F, "key", {
      get: A,
      configurable: !0
    });
  }
  function M(F, z) {
    var A = function() {
      y || (y = !0, e.NODE_ENV !== "production" && n(!1, "%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)", z));
    };
    A.isReactWarning = !0, Object.defineProperty(F, "ref", {
      get: A,
      configurable: !0
    });
  }
  var N = function(F, z, A, u, a, s, h) {
    var E = {
      // This tag allow us to uniquely identify this as a React Element
      $$typeof: l,
      // Built-in properties that belong on the element
      type: F,
      key: z,
      ref: A,
      props: h,
      // Record the component responsible for creating this element.
      _owner: s
    };
    return e.NODE_ENV !== "production" && (E._store = {}, i ? (Object.defineProperty(E._store, "validated", {
      configurable: !1,
      enumerable: !1,
      writable: !0,
      value: !1
    }), Object.defineProperty(E, "_self", {
      configurable: !1,
      enumerable: !1,
      writable: !1,
      value: u
    }), Object.defineProperty(E, "_source", {
      configurable: !1,
      enumerable: !1,
      writable: !1,
      value: a
    })) : (E._store.validated = !1, E._self = u, E._source = a), Object.freeze && (Object.freeze(E.props), Object.freeze(E))), E;
  };
  return N.createElement = function(F, z, A) {
    var u, a = {}, s = null, h = null, E = null, f = null;
    if (z != null) {
      C(z) && (h = z.ref), D(z) && (s = "" + z.key), E = z.__self === void 0 ? null : z.__self, f = z.__source === void 0 ? null : z.__source;
      for (u in z)
        o.call(z, u) && !c.hasOwnProperty(u) && (a[u] = z[u]);
    }
    var S = arguments.length - 2;
    if (S === 1)
      a.children = A;
    else if (S > 1) {
      for (var _ = Array(S), d = 0; d < S; d++)
        _[d] = arguments[d + 2];
      e.NODE_ENV !== "production" && Object.freeze && Object.freeze(_), a.children = _;
    }
    if (F && F.defaultProps) {
      var p = F.defaultProps;
      for (u in p)
        a[u] === void 0 && (a[u] = p[u]);
    }
    if (e.NODE_ENV !== "production" && (s || h) && (typeof a.$$typeof > "u" || a.$$typeof !== l)) {
      var b = typeof F == "function" ? F.displayName || F.name || "Unknown" : F;
      s && x(a, b), h && M(a, b);
    }
    return N(F, s, h, E, f, r.current, a);
  }, N.createFactory = function(F) {
    var z = N.createElement.bind(null, F);
    return z.type = F, z;
  }, N.cloneAndReplaceKey = function(F, z) {
    var A = N(F.type, z, F.ref, F._self, F._source, F._owner, F.props);
    return A;
  }, N.cloneElement = function(F, z, A) {
    var u, a = t({}, F.props), s = F.key, h = F.ref, E = F._self, f = F._source, S = F._owner;
    if (z != null) {
      C(z) && (h = z.ref, S = r.current), D(z) && (s = "" + z.key);
      var _;
      F.type && F.type.defaultProps && (_ = F.type.defaultProps);
      for (u in z)
        o.call(z, u) && !c.hasOwnProperty(u) && (z[u] === void 0 && _ !== void 0 ? a[u] = _[u] : a[u] = z[u]);
    }
    var d = arguments.length - 2;
    if (d === 1)
      a.children = A;
    else if (d > 1) {
      for (var p = Array(d), b = 0; b < d; b++)
        p[b] = arguments[b + 2];
      a.children = p;
    }
    return N(F.type, s, h, E, f, S, a);
  }, N.isValidElement = function(F) {
    return typeof F == "object" && F !== null && F.$$typeof === l;
  }, l0 = N, l0;
}
var c0, fI;
function fV() {
  if (fI) return c0;
  fI = 1;
  var e = typeof Symbol == "function" && Symbol.iterator, t = "@@iterator";
  function r(n) {
    var i = n && (e && n[e] || n[t]);
    if (typeof i == "function")
      return i;
  }
  return c0 = r, c0;
}
var f0, dI;
function Tre() {
  if (dI) return f0;
  dI = 1;
  function e(n) {
    var i = /[=:]/g, o = {
      "=": "=0",
      ":": "=2"
    }, l = ("" + n).replace(i, function(c) {
      return o[c];
    });
    return "$" + l;
  }
  function t(n) {
    var i = /(=0|=2)/g, o = {
      "=0": "=",
      "=2": ":"
    }, l = n[0] === "." && n[1] === "$" ? n.substring(2) : n.substring(1);
    return ("" + l).replace(i, function(c) {
      return o[c];
    });
  }
  var r = {
    escape: e,
    unescape: t
  };
  return f0 = r, f0;
}
var d0, pI;
function Cre() {
  if (pI) return d0;
  pI = 1;
  var e = {}, t = Cl(), r = Da(), n = cV(), i = fV(), o = yt(), l = Tre(), c = Ct(), g = ".", y = ":", C = !1;
  function D(N, F) {
    return N && typeof N == "object" && N.key != null ? l.escape(N.key) : F.toString(36);
  }
  function x(N, F, z, A) {
    var u = typeof N;
    if ((u === "undefined" || u === "boolean") && (N = null), N === null || u === "string" || u === "number" || // The following is inlined from ReactElement. This means we can optimize
    // some checks. React Fiber also inlines this logic for similar purposes.
    u === "object" && N.$$typeof === n)
      return z(
        A,
        N,
        // If it's the only child, treat the name as if it was wrapped in an array
        // so that it's consistent if the number of children grows.
        F === "" ? g + D(N, 0) : F
      ), 1;
    var a, s, h = 0, E = F === "" ? g : F + y;
    if (Array.isArray(N))
      for (var f = 0; f < N.length; f++)
        a = N[f], s = E + D(a, f), h += x(a, s, z, A);
    else {
      var S = i(N);
      if (S) {
        var _ = S.call(N), d;
        if (S !== N.entries)
          for (var p = 0; !(d = _.next()).done; )
            a = d.value, s = E + D(a, p++), h += x(a, s, z, A);
        else {
          if (e.NODE_ENV !== "production") {
            var b = "";
            if (r.current) {
              var m = r.current.getName();
              m && (b = " Check the render method of `" + m + "`.");
            }
            e.NODE_ENV !== "production" && c(C, "Using Maps as children is not yet fully supported. It is an experimental feature that might be removed. Convert it to a sequence / iterable of keyed ReactElements instead.%s", b), C = !0;
          }
          for (; !(d = _.next()).done; ) {
            var v = d.value;
            v && (a = v[1], s = E + l.escape(v[0]) + y + D(a, 0), h += x(a, s, z, A));
          }
        }
      } else if (u === "object") {
        var O = "";
        if (e.NODE_ENV !== "production" && (O = " If you meant to render a collection of children, use an array instead or wrap the object using createFragment(object) from the React add-ons.", N._isReactElement && (O = " It looks like you're using an element created by a different version of React. Make sure to use only one copy of React."), r.current)) {
          var T = r.current.getName();
          T && (O += " Check the render method of `" + T + "`.");
        }
        var w = String(N);
        e.NODE_ENV !== "production" ? o(!1, "Objects are not valid as a React child (found: %s).%s", w === "[object Object]" ? "object with keys {" + Object.keys(N).join(", ") + "}" : w, O) : t("31", w === "[object Object]" ? "object with keys {" + Object.keys(N).join(", ") + "}" : w, O);
      }
    }
    return h;
  }
  function M(N, F, z) {
    return N == null ? 0 : x(N, "", F, z);
  }
  return d0 = M, d0;
}
var p0, hI;
function xre() {
  if (hI) return p0;
  hI = 1;
  var e = Ore(), t = Ys(), r = Aa(), n = Cre(), i = e.twoArgumentPooler, o = e.fourArgumentPooler, l = /\/+/g;
  function c(a) {
    return ("" + a).replace(l, "$&/");
  }
  function g(a, s) {
    this.func = a, this.context = s, this.count = 0;
  }
  g.prototype.destructor = function() {
    this.func = null, this.context = null, this.count = 0;
  }, e.addPoolingTo(g, i);
  function y(a, s, h) {
    var E = a.func, f = a.context;
    E.call(f, s, a.count++);
  }
  function C(a, s, h) {
    if (a == null)
      return a;
    var E = g.getPooled(s, h);
    n(a, y, E), g.release(E);
  }
  function D(a, s, h, E) {
    this.result = a, this.keyPrefix = s, this.func = h, this.context = E, this.count = 0;
  }
  D.prototype.destructor = function() {
    this.result = null, this.keyPrefix = null, this.func = null, this.context = null, this.count = 0;
  }, e.addPoolingTo(D, o);
  function x(a, s, h) {
    var E = a.result, f = a.keyPrefix, S = a.func, _ = a.context, d = S.call(_, s, a.count++);
    Array.isArray(d) ? M(d, E, h, r.thatReturnsArgument) : d != null && (t.isValidElement(d) && (d = t.cloneAndReplaceKey(
      d,
      // Keep both the (mapped) and old keys if they differ, just as
      // traverseAllChildren used to do for objects as children
      f + (d.key && (!s || s.key !== d.key) ? c(d.key) + "/" : "") + h
    )), E.push(d));
  }
  function M(a, s, h, E, f) {
    var S = "";
    h != null && (S = c(h) + "/");
    var _ = D.getPooled(s, S, E, f);
    n(a, x, _), D.release(_);
  }
  function N(a, s, h) {
    if (a == null)
      return a;
    var E = [];
    return M(a, E, null, s, h), E;
  }
  function F(a, s, h) {
    return null;
  }
  function z(a, s) {
    return n(a, F, null);
  }
  function A(a) {
    var s = [];
    return M(a, s, null, r.thatReturnsArgument), s;
  }
  var u = {
    forEach: C,
    map: N,
    mapIntoWithKeyPrefixInternal: M,
    count: z,
    toArray: A
  };
  return p0 = u, p0;
}
var h0, mI;
function Zn() {
  if (mI) return h0;
  mI = 1;
  var e = {}, t = Cl(), r = Da(), n = yt(), i = Ct();
  function o(d) {
    var p = Function.prototype.toString, b = Object.prototype.hasOwnProperty, m = RegExp("^" + p.call(
      b
      // Strip regex characters so we can use it for regex
    ).replace(
      /[\\^$.*+?()[\]{}|]/g,
      "\\$&"
      // Remove hasOwnProperty from the template to make it generic
    ).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
    try {
      var v = p.call(d);
      return m.test(v);
    } catch {
      return !1;
    }
  }
  var l = (
    // Array.from
    typeof Array.from == "function" && // Map
    typeof Map == "function" && o(Map) && // Map.prototype.keys
    Map.prototype != null && typeof Map.prototype.keys == "function" && o(Map.prototype.keys) && // Set
    typeof Set == "function" && o(Set) && // Set.prototype.keys
    Set.prototype != null && typeof Set.prototype.keys == "function" && o(Set.prototype.keys)
  ), c, g, y, C, D, x, M;
  if (l) {
    var N = /* @__PURE__ */ new Map(), F = /* @__PURE__ */ new Set();
    c = function(d, p) {
      N.set(d, p);
    }, g = function(d) {
      return N.get(d);
    }, y = function(d) {
      N.delete(d);
    }, C = function() {
      return Array.from(N.keys());
    }, D = function(d) {
      F.add(d);
    }, x = function(d) {
      F.delete(d);
    }, M = function() {
      return Array.from(F.keys());
    };
  } else {
    var z = {}, A = {}, u = function(d) {
      return "." + d;
    }, a = function(d) {
      return parseInt(d.substr(1), 10);
    };
    c = function(d, p) {
      var b = u(d);
      z[b] = p;
    }, g = function(d) {
      var p = u(d);
      return z[p];
    }, y = function(d) {
      var p = u(d);
      delete z[p];
    }, C = function() {
      return Object.keys(z).map(a);
    }, D = function(d) {
      var p = u(d);
      A[p] = !0;
    }, x = function(d) {
      var p = u(d);
      delete A[p];
    }, M = function() {
      return Object.keys(A).map(a);
    };
  }
  var s = [];
  function h(d) {
    var p = g(d);
    if (p) {
      var b = p.childIDs;
      y(d), b.forEach(h);
    }
  }
  function E(d, p, b) {
    return `
    in ` + (d || "Unknown") + (p ? " (at " + p.fileName.replace(/^.*[\\\/]/, "") + ":" + p.lineNumber + ")" : b ? " (created by " + b + ")" : "");
  }
  function f(d) {
    return d == null ? "#empty" : typeof d == "string" || typeof d == "number" ? "#text" : typeof d.type == "string" ? d.type : d.type.displayName || d.type.name || "Unknown";
  }
  function S(d) {
    var p = _.getDisplayName(d), b = _.getElement(d), m = _.getOwnerID(d), v;
    return m && (v = _.getDisplayName(m)), e.NODE_ENV !== "production" && i(b, "ReactComponentTreeHook: Missing React element for debugID %s when building stack", d), E(p, b && b._source, v);
  }
  var _ = {
    onSetChildren: function(d, p) {
      var b = g(d);
      b || (e.NODE_ENV !== "production" ? n(!1, "Item must have been set") : t("144")), b.childIDs = p;
      for (var m = 0; m < p.length; m++) {
        var v = p[m], O = g(v);
        O || (e.NODE_ENV !== "production" ? n(!1, "Expected hook events to fire for the child before its parent includes it in onSetChildren().") : t("140")), O.childIDs != null || typeof O.element != "object" || O.element == null || (e.NODE_ENV !== "production" ? n(!1, "Expected onSetChildren() to fire for a container child before its parent includes it in onSetChildren().") : t("141")), O.isMounted || (e.NODE_ENV !== "production" ? n(!1, "Expected onMountComponent() to fire for the child before its parent includes it in onSetChildren().") : t("71")), O.parentID == null && (O.parentID = d), O.parentID !== d && (e.NODE_ENV !== "production" ? n(!1, "Expected onBeforeMountComponent() parent and onSetChildren() to be consistent (%s has parents %s and %s).", v, O.parentID, d) : t("142", v, O.parentID, d));
      }
    },
    onBeforeMountComponent: function(d, p, b) {
      var m = {
        element: p,
        parentID: b,
        text: null,
        childIDs: [],
        isMounted: !1,
        updateCount: 0
      };
      c(d, m);
    },
    onBeforeUpdateComponent: function(d, p) {
      var b = g(d);
      !b || !b.isMounted || (b.element = p);
    },
    onMountComponent: function(d) {
      var p = g(d);
      p || (e.NODE_ENV !== "production" ? n(!1, "Item must have been set") : t("144")), p.isMounted = !0;
      var b = p.parentID === 0;
      b && D(d);
    },
    onUpdateComponent: function(d) {
      var p = g(d);
      !p || !p.isMounted || p.updateCount++;
    },
    onUnmountComponent: function(d) {
      var p = g(d);
      if (p) {
        p.isMounted = !1;
        var b = p.parentID === 0;
        b && x(d);
      }
      s.push(d);
    },
    purgeUnmountedComponents: function() {
      if (!_._preventPurging) {
        for (var d = 0; d < s.length; d++) {
          var p = s[d];
          h(p);
        }
        s.length = 0;
      }
    },
    isMounted: function(d) {
      var p = g(d);
      return p ? p.isMounted : !1;
    },
    getCurrentStackAddendum: function(d) {
      var p = "";
      if (d) {
        var b = f(d), m = d._owner;
        p += E(b, d._source, m && m.getName());
      }
      var v = r.current, O = v && v._debugID;
      return p += _.getStackAddendumByID(O), p;
    },
    getStackAddendumByID: function(d) {
      for (var p = ""; d; )
        p += S(d), d = _.getParentID(d);
      return p;
    },
    getChildIDs: function(d) {
      var p = g(d);
      return p ? p.childIDs : [];
    },
    getDisplayName: function(d) {
      var p = _.getElement(d);
      return p ? f(p) : null;
    },
    getElement: function(d) {
      var p = g(d);
      return p ? p.element : null;
    },
    getOwnerID: function(d) {
      var p = _.getElement(d);
      return !p || !p._owner ? null : p._owner._debugID;
    },
    getParentID: function(d) {
      var p = g(d);
      return p ? p.parentID : null;
    },
    getSource: function(d) {
      var p = g(d), b = p ? p.element : null, m = b != null ? b._source : null;
      return m;
    },
    getText: function(d) {
      var p = _.getElement(d);
      return typeof p == "string" ? p : typeof p == "number" ? "" + p : null;
    },
    getUpdateCount: function(d) {
      var p = g(d);
      return p ? p.updateCount : 0;
    },
    getRootIDs: M,
    getRegisteredIDs: C,
    pushNonStandardWarningStack: function(d, p) {
      if (typeof console.reactStack == "function") {
        var b = [], m = r.current, v = m && m._debugID;
        try {
          for (d && b.push({
            name: v ? _.getDisplayName(v) : null,
            fileName: p ? p.fileName : null,
            lineNumber: p ? p.lineNumber : null
          }); v; ) {
            var O = _.getElement(v), T = _.getParentID(v), w = _.getOwnerID(v), P = w ? _.getDisplayName(w) : null, I = O && O._source;
            b.push({
              name: P,
              fileName: I ? I.fileName : null,
              lineNumber: I ? I.lineNumber : null
            }), v = T;
          }
        } catch {
        }
        console.reactStack(b);
      }
    },
    popNonStandardWarningStack: function() {
      typeof console.reactStackEnd == "function" && console.reactStackEnd();
    }
  };
  return h0 = _, h0;
}
var m0, vI;
function Are() {
  if (vI) return m0;
  vI = 1;
  var e = {}, t = {};
  return e.NODE_ENV !== "production" && (t = {
    prop: "prop",
    context: "context",
    childContext: "child context"
  }), m0 = t, m0;
}
var v0, gI;
function Dre() {
  if (gI) return v0;
  gI = 1;
  var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
  return v0 = e, v0;
}
var g0, yI;
function Pre() {
  if (yI) return g0;
  yI = 1;
  var e = {}, t = Cl(), r = Are(), n = Dre(), i = yt(), o = Ct(), l;
  typeof process < "u" && e && e.NODE_ENV === "test" && (l = Zn());
  var c = {};
  function g(y, C, D, x, M, N) {
    for (var F in y)
      if (y.hasOwnProperty(F)) {
        var z;
        try {
          typeof y[F] != "function" && (e.NODE_ENV !== "production" ? i(!1, "%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.", x || "React class", r[D], F) : t("84", x || "React class", r[D], F)), z = y[F](C, F, x, D, null, n);
        } catch (u) {
          z = u;
        }
        if (e.NODE_ENV !== "production" && o(!z || z instanceof Error, "%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", x || "React class", r[D], F, typeof z), z instanceof Error && !(z.message in c)) {
          c[z.message] = !0;
          var A = "";
          e.NODE_ENV !== "production" && (l || (l = Zn()), N !== null ? A = l.getStackAddendumByID(N) : M !== null && (A = l.getCurrentStackAddendum(M))), e.NODE_ENV !== "production" && o(!1, "Failed %s type: %s%s", D, z.message, A);
        }
      }
  }
  return g0 = g, g0;
}
var y0, bI;
function dV() {
  if (bI) return y0;
  bI = 1;
  var e = {}, t = Da(), r = Zn(), n = Ys(), i = Pre(), o = dy(), l = fV(), c = Ct(), g = VD();
  function y() {
    if (t.current) {
      var A = t.current.getName();
      if (A)
        return " Check the render method of `" + A + "`.";
    }
    return "";
  }
  function C(A) {
    if (A != null && A.__source !== void 0) {
      var u = A.__source, a = u.fileName.replace(/^.*[\\\/]/, ""), s = u.lineNumber;
      return " Check your code at " + a + ":" + s + ".";
    }
    return "";
  }
  var D = {};
  function x(A) {
    var u = y();
    if (!u) {
      var a = typeof A == "string" ? A : A.displayName || A.name;
      a && (u = " Check the top-level render call using <" + a + ">.");
    }
    return u;
  }
  function M(A, u) {
    if (!(!A._store || A._store.validated || A.key != null)) {
      A._store.validated = !0;
      var a = D.uniqueKey || (D.uniqueKey = {}), s = x(u);
      if (!a[s]) {
        a[s] = !0;
        var h = "";
        A && A._owner && A._owner !== t.current && (h = " It was passed a child from " + A._owner.getName() + "."), e.NODE_ENV !== "production" && c(!1, 'Each child in an array or iterator should have a unique "key" prop.%s%s See https://fb.me/react-warning-keys for more information.%s', s, h, r.getCurrentStackAddendum(A));
      }
    }
  }
  function N(A, u) {
    if (typeof A == "object") {
      if (Array.isArray(A))
        for (var a = 0; a < A.length; a++) {
          var s = A[a];
          n.isValidElement(s) && M(s, u);
        }
      else if (n.isValidElement(A))
        A._store && (A._store.validated = !0);
      else if (A) {
        var h = l(A);
        if (h && h !== A.entries)
          for (var E = h.call(A), f; !(f = E.next()).done; )
            n.isValidElement(f.value) && M(f.value, u);
      }
    }
  }
  function F(A) {
    var u = A.type;
    if (typeof u == "function") {
      var a = u.displayName || u.name;
      u.propTypes && i(u.propTypes, A.props, "prop", a, A, null), typeof u.getDefaultProps == "function" && e.NODE_ENV !== "production" && c(u.getDefaultProps.isReactClassApproved, "getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
    }
  }
  var z = {
    createElement: function(A, u, a) {
      var s = typeof A == "string" || typeof A == "function";
      if (!s && typeof A != "function" && typeof A != "string") {
        var h = "";
        (A === void 0 || typeof A == "object" && A !== null && Object.keys(A).length === 0) && (h += " You likely forgot to export your component from the file it's defined in.");
        var E = C(u);
        E ? h += E : h += y(), h += r.getCurrentStackAddendum();
        var f = u != null && u.__source !== void 0 ? u.__source : null;
        r.pushNonStandardWarningStack(!0, f), e.NODE_ENV !== "production" && c(!1, "React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", A == null ? A : typeof A, h), r.popNonStandardWarningStack();
      }
      var S = n.createElement.apply(this, arguments);
      if (S == null)
        return S;
      if (s)
        for (var _ = 2; _ < arguments.length; _++)
          N(arguments[_], A);
      return F(S), S;
    },
    createFactory: function(A) {
      var u = z.createElement.bind(null, A);
      return u.type = A, e.NODE_ENV !== "production" && o && Object.defineProperty(u, "type", {
        enumerable: !1,
        get: function() {
          return g(!1, "Factory.type is deprecated. Access the class directly before passing it to createFactory."), Object.defineProperty(this, "type", {
            value: A
          }), A;
        }
      }), u;
    },
    cloneElement: function(A, u, a) {
      for (var s = n.cloneElement.apply(this, arguments), h = 2; h < arguments.length; h++)
        N(arguments[h], s.type);
      return F(s), s;
    }
  };
  return y0 = z, y0;
}
var b0, _I;
function kre() {
  if (_I) return b0;
  _I = 1;
  var e = {}, t = Ys(), r = t.createFactory;
  if (e.NODE_ENV !== "production") {
    var n = dV();
    r = n.createFactory;
  }
  var i = {
    a: r("a"),
    abbr: r("abbr"),
    address: r("address"),
    area: r("area"),
    article: r("article"),
    aside: r("aside"),
    audio: r("audio"),
    b: r("b"),
    base: r("base"),
    bdi: r("bdi"),
    bdo: r("bdo"),
    big: r("big"),
    blockquote: r("blockquote"),
    body: r("body"),
    br: r("br"),
    button: r("button"),
    canvas: r("canvas"),
    caption: r("caption"),
    cite: r("cite"),
    code: r("code"),
    col: r("col"),
    colgroup: r("colgroup"),
    data: r("data"),
    datalist: r("datalist"),
    dd: r("dd"),
    del: r("del"),
    details: r("details"),
    dfn: r("dfn"),
    dialog: r("dialog"),
    div: r("div"),
    dl: r("dl"),
    dt: r("dt"),
    em: r("em"),
    embed: r("embed"),
    fieldset: r("fieldset"),
    figcaption: r("figcaption"),
    figure: r("figure"),
    footer: r("footer"),
    form: r("form"),
    h1: r("h1"),
    h2: r("h2"),
    h3: r("h3"),
    h4: r("h4"),
    h5: r("h5"),
    h6: r("h6"),
    head: r("head"),
    header: r("header"),
    hgroup: r("hgroup"),
    hr: r("hr"),
    html: r("html"),
    i: r("i"),
    iframe: r("iframe"),
    img: r("img"),
    input: r("input"),
    ins: r("ins"),
    kbd: r("kbd"),
    keygen: r("keygen"),
    label: r("label"),
    legend: r("legend"),
    li: r("li"),
    link: r("link"),
    main: r("main"),
    map: r("map"),
    mark: r("mark"),
    menu: r("menu"),
    menuitem: r("menuitem"),
    meta: r("meta"),
    meter: r("meter"),
    nav: r("nav"),
    noscript: r("noscript"),
    object: r("object"),
    ol: r("ol"),
    optgroup: r("optgroup"),
    option: r("option"),
    output: r("output"),
    p: r("p"),
    param: r("param"),
    picture: r("picture"),
    pre: r("pre"),
    progress: r("progress"),
    q: r("q"),
    rp: r("rp"),
    rt: r("rt"),
    ruby: r("ruby"),
    s: r("s"),
    samp: r("samp"),
    script: r("script"),
    section: r("section"),
    select: r("select"),
    small: r("small"),
    source: r("source"),
    span: r("span"),
    strong: r("strong"),
    style: r("style"),
    sub: r("sub"),
    summary: r("summary"),
    sup: r("sup"),
    table: r("table"),
    tbody: r("tbody"),
    td: r("td"),
    textarea: r("textarea"),
    tfoot: r("tfoot"),
    th: r("th"),
    thead: r("thead"),
    time: r("time"),
    title: r("title"),
    tr: r("tr"),
    track: r("track"),
    u: r("u"),
    ul: r("ul"),
    var: r("var"),
    video: r("video"),
    wbr: r("wbr"),
    // SVG
    circle: r("circle"),
    clipPath: r("clipPath"),
    defs: r("defs"),
    ellipse: r("ellipse"),
    g: r("g"),
    image: r("image"),
    line: r("line"),
    linearGradient: r("linearGradient"),
    mask: r("mask"),
    path: r("path"),
    pattern: r("pattern"),
    polygon: r("polygon"),
    polyline: r("polyline"),
    radialGradient: r("radialGradient"),
    rect: r("rect"),
    stop: r("stop"),
    svg: r("svg"),
    text: r("text"),
    tspan: r("tspan")
  };
  return b0 = i, b0;
}
var yA = { exports: {} }, jt = {};
/** @license React v16.13.1
 * react-is.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
var EI;
function Rre() {
  if (EI) return jt;
  EI = 1;
  var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, i = e ? Symbol.for("react.strict_mode") : 60108, o = e ? Symbol.for("react.profiler") : 60114, l = e ? Symbol.for("react.provider") : 60109, c = e ? Symbol.for("react.context") : 60110, g = e ? Symbol.for("react.async_mode") : 60111, y = e ? Symbol.for("react.concurrent_mode") : 60111, C = e ? Symbol.for("react.forward_ref") : 60112, D = e ? Symbol.for("react.suspense") : 60113, x = e ? Symbol.for("react.suspense_list") : 60120, M = e ? Symbol.for("react.memo") : 60115, N = e ? Symbol.for("react.lazy") : 60116, F = e ? Symbol.for("react.block") : 60121, z = e ? Symbol.for("react.fundamental") : 60117, A = e ? Symbol.for("react.responder") : 60118, u = e ? Symbol.for("react.scope") : 60119;
  function a(h) {
    if (typeof h == "object" && h !== null) {
      var E = h.$$typeof;
      switch (E) {
        case t:
          switch (h = h.type, h) {
            case g:
            case y:
            case n:
            case o:
            case i:
            case D:
              return h;
            default:
              switch (h = h && h.$$typeof, h) {
                case c:
                case C:
                case N:
                case M:
                case l:
                  return h;
                default:
                  return E;
              }
          }
        case r:
          return E;
      }
    }
  }
  function s(h) {
    return a(h) === y;
  }
  return jt.AsyncMode = g, jt.ConcurrentMode = y, jt.ContextConsumer = c, jt.ContextProvider = l, jt.Element = t, jt.ForwardRef = C, jt.Fragment = n, jt.Lazy = N, jt.Memo = M, jt.Portal = r, jt.Profiler = o, jt.StrictMode = i, jt.Suspense = D, jt.isAsyncMode = function(h) {
    return s(h) || a(h) === g;
  }, jt.isConcurrentMode = s, jt.isContextConsumer = function(h) {
    return a(h) === c;
  }, jt.isContextProvider = function(h) {
    return a(h) === l;
  }, jt.isElement = function(h) {
    return typeof h == "object" && h !== null && h.$$typeof === t;
  }, jt.isForwardRef = function(h) {
    return a(h) === C;
  }, jt.isFragment = function(h) {
    return a(h) === n;
  }, jt.isLazy = function(h) {
    return a(h) === N;
  }, jt.isMemo = function(h) {
    return a(h) === M;
  }, jt.isPortal = function(h) {
    return a(h) === r;
  }, jt.isProfiler = function(h) {
    return a(h) === o;
  }, jt.isStrictMode = function(h) {
    return a(h) === i;
  }, jt.isSuspense = function(h) {
    return a(h) === D;
  }, jt.isValidElementType = function(h) {
    return typeof h == "string" || typeof h == "function" || h === n || h === y || h === o || h === i || h === D || h === x || typeof h == "object" && h !== null && (h.$$typeof === N || h.$$typeof === M || h.$$typeof === l || h.$$typeof === c || h.$$typeof === C || h.$$typeof === z || h.$$typeof === A || h.$$typeof === u || h.$$typeof === F);
  }, jt.typeOf = a, jt;
}
var Ut = {}, SI;
function Mre() {
  if (SI) return Ut;
  SI = 1;
  var e = {};
  /** @license React v16.13.1
   * react-is.development.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  return e.NODE_ENV !== "production" && function() {
    var t = typeof Symbol == "function" && Symbol.for, r = t ? Symbol.for("react.element") : 60103, n = t ? Symbol.for("react.portal") : 60106, i = t ? Symbol.for("react.fragment") : 60107, o = t ? Symbol.for("react.strict_mode") : 60108, l = t ? Symbol.for("react.profiler") : 60114, c = t ? Symbol.for("react.provider") : 60109, g = t ? Symbol.for("react.context") : 60110, y = t ? Symbol.for("react.async_mode") : 60111, C = t ? Symbol.for("react.concurrent_mode") : 60111, D = t ? Symbol.for("react.forward_ref") : 60112, x = t ? Symbol.for("react.suspense") : 60113, M = t ? Symbol.for("react.suspense_list") : 60120, N = t ? Symbol.for("react.memo") : 60115, F = t ? Symbol.for("react.lazy") : 60116, z = t ? Symbol.for("react.block") : 60121, A = t ? Symbol.for("react.fundamental") : 60117, u = t ? Symbol.for("react.responder") : 60118, a = t ? Symbol.for("react.scope") : 60119;
    function s(H) {
      return typeof H == "string" || typeof H == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
      H === i || H === C || H === l || H === o || H === x || H === M || typeof H == "object" && H !== null && (H.$$typeof === F || H.$$typeof === N || H.$$typeof === c || H.$$typeof === g || H.$$typeof === D || H.$$typeof === A || H.$$typeof === u || H.$$typeof === a || H.$$typeof === z);
    }
    function h(H) {
      if (typeof H == "object" && H !== null) {
        var Y = H.$$typeof;
        switch (Y) {
          case r:
            var Q = H.type;
            switch (Q) {
              case y:
              case C:
              case i:
              case l:
              case o:
              case x:
                return Q;
              default:
                var Z = Q && Q.$$typeof;
                switch (Z) {
                  case g:
                  case D:
                  case F:
                  case N:
                  case c:
                    return Z;
                  default:
                    return Y;
                }
            }
          case n:
            return Y;
        }
      }
    }
    var E = y, f = C, S = g, _ = c, d = r, p = D, b = i, m = F, v = N, O = n, T = l, w = o, P = x, I = !1;
    function L(H) {
      return I || (I = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), R(H) || h(H) === y;
    }
    function R(H) {
      return h(H) === C;
    }
    function q(H) {
      return h(H) === g;
    }
    function B(H) {
      return h(H) === c;
    }
    function j(H) {
      return typeof H == "object" && H !== null && H.$$typeof === r;
    }
    function k(H) {
      return h(H) === D;
    }
    function U(H) {
      return h(H) === i;
    }
    function W(H) {
      return h(H) === F;
    }
    function $(H) {
      return h(H) === N;
    }
    function V(H) {
      return h(H) === n;
    }
    function G(H) {
      return h(H) === l;
    }
    function X(H) {
      return h(H) === o;
    }
    function K(H) {
      return h(H) === x;
    }
    Ut.AsyncMode = E, Ut.ConcurrentMode = f, Ut.ContextConsumer = S, Ut.ContextProvider = _, Ut.Element = d, Ut.ForwardRef = p, Ut.Fragment = b, Ut.Lazy = m, Ut.Memo = v, Ut.Portal = O, Ut.Profiler = T, Ut.StrictMode = w, Ut.Suspense = P, Ut.isAsyncMode = L, Ut.isConcurrentMode = R, Ut.isContextConsumer = q, Ut.isContextProvider = B, Ut.isElement = j, Ut.isForwardRef = k, Ut.isFragment = U, Ut.isLazy = W, Ut.isMemo = $, Ut.isPortal = V, Ut.isProfiler = G, Ut.isStrictMode = X, Ut.isSuspense = K, Ut.isValidElementType = s, Ut.typeOf = h;
  }(), Ut;
}
var Nre = {};
Nre.NODE_ENV === "production" ? yA.exports = Rre() : yA.exports = Mre();
var py = yA.exports, _0, wI;
function HD() {
  if (wI) return _0;
  wI = 1;
  var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
  return _0 = e, _0;
}
var E0, OI;
function pV() {
  return OI || (OI = 1, E0 = Function.call.bind(Object.prototype.hasOwnProperty)), E0;
}
var S0, TI;
function hV() {
  if (TI) return S0;
  TI = 1;
  var e = {}, t = function() {
  };
  if (e.NODE_ENV !== "production") {
    var r = HD(), n = {}, i = pV();
    t = function(l) {
      var c = "Warning: " + l;
      typeof console < "u" && console.error(c);
      try {
        throw new Error(c);
      } catch {
      }
    };
  }
  function o(l, c, g, y, C) {
    if (e.NODE_ENV !== "production") {
      for (var D in l)
        if (i(l, D)) {
          var x;
          try {
            if (typeof l[D] != "function") {
              var M = Error(
                (y || "React class") + ": " + g + " type `" + D + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof l[D] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
              );
              throw M.name = "Invariant Violation", M;
            }
            x = l[D](c, D, y, g, null, r);
          } catch (F) {
            x = F;
          }
          if (x && !(x instanceof Error) && t(
            (y || "React class") + ": type specification of " + g + " `" + D + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof x + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
          ), x instanceof Error && !(x.message in n)) {
            n[x.message] = !0;
            var N = C ? C() : "";
            t(
              "Failed " + g + " type: " + x.message + (N ?? "")
            );
          }
        }
    }
  }
  return o.resetWarningCache = function() {
    e.NODE_ENV !== "production" && (n = {});
  }, S0 = o, S0;
}
var w0, CI;
function mV() {
  if (CI) return w0;
  CI = 1;
  var e = {}, t = py, r = sr(), n = HD(), i = pV(), o = hV(), l = function() {
  };
  e.NODE_ENV !== "production" && (l = function(g) {
    var y = "Warning: " + g;
    typeof console < "u" && console.error(y);
    try {
      throw new Error(y);
    } catch {
    }
  });
  function c() {
    return null;
  }
  return w0 = function(g, y) {
    var C = typeof Symbol == "function" && Symbol.iterator, D = "@@iterator";
    function x(R) {
      var q = R && (C && R[C] || R[D]);
      if (typeof q == "function")
        return q;
    }
    var M = "<<anonymous>>", N = {
      array: u("array"),
      bigint: u("bigint"),
      bool: u("boolean"),
      func: u("function"),
      number: u("number"),
      object: u("object"),
      string: u("string"),
      symbol: u("symbol"),
      any: a(),
      arrayOf: s,
      element: h(),
      elementType: E(),
      instanceOf: f,
      node: p(),
      objectOf: _,
      oneOf: S,
      oneOfType: d,
      shape: m,
      exact: v
    };
    function F(R, q) {
      return R === q ? R !== 0 || 1 / R === 1 / q : R !== R && q !== q;
    }
    function z(R, q) {
      this.message = R, this.data = q && typeof q == "object" ? q : {}, this.stack = "";
    }
    z.prototype = Error.prototype;
    function A(R) {
      if (e.NODE_ENV !== "production")
        var q = {}, B = 0;
      function j(U, W, $, V, G, X, K) {
        if (V = V || M, X = X || $, K !== n) {
          if (y) {
            var H = new Error(
              "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
            );
            throw H.name = "Invariant Violation", H;
          } else if (e.NODE_ENV !== "production" && typeof console < "u") {
            var Y = V + ":" + $;
            !q[Y] && // Avoid spamming the console because they are often not actionable except for lib authors
            B < 3 && (l(
              "You are manually calling a React.PropTypes validation function for the `" + X + "` prop on `" + V + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
            ), q[Y] = !0, B++);
          }
        }
        return W[$] == null ? U ? W[$] === null ? new z("The " + G + " `" + X + "` is marked as required " + ("in `" + V + "`, but its value is `null`.")) : new z("The " + G + " `" + X + "` is marked as required in " + ("`" + V + "`, but its value is `undefined`.")) : null : R(W, $, V, G, X);
      }
      var k = j.bind(null, !1);
      return k.isRequired = j.bind(null, !0), k;
    }
    function u(R) {
      function q(B, j, k, U, W, $) {
        var V = B[j], G = w(V);
        if (G !== R) {
          var X = P(V);
          return new z(
            "Invalid " + U + " `" + W + "` of type " + ("`" + X + "` supplied to `" + k + "`, expected ") + ("`" + R + "`."),
            { expectedType: R }
          );
        }
        return null;
      }
      return A(q);
    }
    function a() {
      return A(c);
    }
    function s(R) {
      function q(B, j, k, U, W) {
        if (typeof R != "function")
          return new z("Property `" + W + "` of component `" + k + "` has invalid PropType notation inside arrayOf.");
        var $ = B[j];
        if (!Array.isArray($)) {
          var V = w($);
          return new z("Invalid " + U + " `" + W + "` of type " + ("`" + V + "` supplied to `" + k + "`, expected an array."));
        }
        for (var G = 0; G < $.length; G++) {
          var X = R($, G, k, U, W + "[" + G + "]", n);
          if (X instanceof Error)
            return X;
        }
        return null;
      }
      return A(q);
    }
    function h() {
      function R(q, B, j, k, U) {
        var W = q[B];
        if (!g(W)) {
          var $ = w(W);
          return new z("Invalid " + k + " `" + U + "` of type " + ("`" + $ + "` supplied to `" + j + "`, expected a single ReactElement."));
        }
        return null;
      }
      return A(R);
    }
    function E() {
      function R(q, B, j, k, U) {
        var W = q[B];
        if (!t.isValidElementType(W)) {
          var $ = w(W);
          return new z("Invalid " + k + " `" + U + "` of type " + ("`" + $ + "` supplied to `" + j + "`, expected a single ReactElement type."));
        }
        return null;
      }
      return A(R);
    }
    function f(R) {
      function q(B, j, k, U, W) {
        if (!(B[j] instanceof R)) {
          var $ = R.name || M, V = L(B[j]);
          return new z("Invalid " + U + " `" + W + "` of type " + ("`" + V + "` supplied to `" + k + "`, expected ") + ("instance of `" + $ + "`."));
        }
        return null;
      }
      return A(q);
    }
    function S(R) {
      if (!Array.isArray(R))
        return e.NODE_ENV !== "production" && (arguments.length > 1 ? l(
          "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
        ) : l("Invalid argument supplied to oneOf, expected an array.")), c;
      function q(B, j, k, U, W) {
        for (var $ = B[j], V = 0; V < R.length; V++)
          if (F($, R[V]))
            return null;
        var G = JSON.stringify(R, function(K, H) {
          var Y = P(H);
          return Y === "symbol" ? String(H) : H;
        });
        return new z("Invalid " + U + " `" + W + "` of value `" + String($) + "` " + ("supplied to `" + k + "`, expected one of " + G + "."));
      }
      return A(q);
    }
    function _(R) {
      function q(B, j, k, U, W) {
        if (typeof R != "function")
          return new z("Property `" + W + "` of component `" + k + "` has invalid PropType notation inside objectOf.");
        var $ = B[j], V = w($);
        if (V !== "object")
          return new z("Invalid " + U + " `" + W + "` of type " + ("`" + V + "` supplied to `" + k + "`, expected an object."));
        for (var G in $)
          if (i($, G)) {
            var X = R($, G, k, U, W + "." + G, n);
            if (X instanceof Error)
              return X;
          }
        return null;
      }
      return A(q);
    }
    function d(R) {
      if (!Array.isArray(R))
        return e.NODE_ENV !== "production" && l("Invalid argument supplied to oneOfType, expected an instance of array."), c;
      for (var q = 0; q < R.length; q++) {
        var B = R[q];
        if (typeof B != "function")
          return l(
            "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + I(B) + " at index " + q + "."
          ), c;
      }
      function j(k, U, W, $, V) {
        for (var G = [], X = 0; X < R.length; X++) {
          var K = R[X], H = K(k, U, W, $, V, n);
          if (H == null)
            return null;
          H.data && i(H.data, "expectedType") && G.push(H.data.expectedType);
        }
        var Y = G.length > 0 ? ", expected one of type [" + G.join(", ") + "]" : "";
        return new z("Invalid " + $ + " `" + V + "` supplied to " + ("`" + W + "`" + Y + "."));
      }
      return A(j);
    }
    function p() {
      function R(q, B, j, k, U) {
        return O(q[B]) ? null : new z("Invalid " + k + " `" + U + "` supplied to " + ("`" + j + "`, expected a ReactNode."));
      }
      return A(R);
    }
    function b(R, q, B, j, k) {
      return new z(
        (R || "React class") + ": " + q + " type `" + B + "." + j + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + k + "`."
      );
    }
    function m(R) {
      function q(B, j, k, U, W) {
        var $ = B[j], V = w($);
        if (V !== "object")
          return new z("Invalid " + U + " `" + W + "` of type `" + V + "` " + ("supplied to `" + k + "`, expected `object`."));
        for (var G in R) {
          var X = R[G];
          if (typeof X != "function")
            return b(k, U, W, G, P(X));
          var K = X($, G, k, U, W + "." + G, n);
          if (K)
            return K;
        }
        return null;
      }
      return A(q);
    }
    function v(R) {
      function q(B, j, k, U, W) {
        var $ = B[j], V = w($);
        if (V !== "object")
          return new z("Invalid " + U + " `" + W + "` of type `" + V + "` " + ("supplied to `" + k + "`, expected `object`."));
        var G = r({}, B[j], R);
        for (var X in G) {
          var K = R[X];
          if (i(R, X) && typeof K != "function")
            return b(k, U, W, X, P(K));
          if (!K)
            return new z(
              "Invalid " + U + " `" + W + "` key `" + X + "` supplied to `" + k + "`.\nBad object: " + JSON.stringify(B[j], null, "  ") + `
Valid keys: ` + JSON.stringify(Object.keys(R), null, "  ")
            );
          var H = K($, X, k, U, W + "." + X, n);
          if (H)
            return H;
        }
        return null;
      }
      return A(q);
    }
    function O(R) {
      switch (typeof R) {
        case "number":
        case "string":
        case "undefined":
          return !0;
        case "boolean":
          return !R;
        case "object":
          if (Array.isArray(R))
            return R.every(O);
          if (R === null || g(R))
            return !0;
          var q = x(R);
          if (q) {
            var B = q.call(R), j;
            if (q !== R.entries) {
              for (; !(j = B.next()).done; )
                if (!O(j.value))
                  return !1;
            } else
              for (; !(j = B.next()).done; ) {
                var k = j.value;
                if (k && !O(k[1]))
                  return !1;
              }
          } else
            return !1;
          return !0;
        default:
          return !1;
      }
    }
    function T(R, q) {
      return R === "symbol" ? !0 : q ? q["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && q instanceof Symbol : !1;
    }
    function w(R) {
      var q = typeof R;
      return Array.isArray(R) ? "array" : R instanceof RegExp ? "object" : T(q, R) ? "symbol" : q;
    }
    function P(R) {
      if (typeof R > "u" || R === null)
        return "" + R;
      var q = w(R);
      if (q === "object") {
        if (R instanceof Date)
          return "date";
        if (R instanceof RegExp)
          return "regexp";
      }
      return q;
    }
    function I(R) {
      var q = P(R);
      switch (q) {
        case "array":
        case "object":
          return "an " + q;
        case "boolean":
        case "date":
        case "regexp":
          return "a " + q;
        default:
          return q;
      }
    }
    function L(R) {
      return !R.constructor || !R.constructor.name ? M : R.constructor.name;
    }
    return N.checkPropTypes = o, N.resetWarningCache = o.resetWarningCache, N.PropTypes = N, N;
  }, w0;
}
var O0, xI;
function vV() {
  if (xI) return O0;
  xI = 1;
  var e = mV();
  return O0 = function(t) {
    var r = !1;
    return e(t, r);
  }, O0;
}
var T0, AI;
function Ire() {
  if (AI) return T0;
  AI = 1;
  var e = Ys(), t = e.isValidElement, r = vV();
  return T0 = r(t), T0;
}
var C0, DI;
function Fre() {
  return DI || (DI = 1, C0 = "15.7.0"), C0;
}
var x0, PI;
function Lre() {
  if (PI) return x0;
  PI = 1;
  var e = {}, t = sr(), r = {};
  e.NODE_ENV !== "production" && Object.freeze(r);
  var n = function(x) {
  };
  e.NODE_ENV !== "production" && (n = function(x) {
    if (x === void 0)
      throw new Error("invariant requires an error message argument");
  });
  function i(D, x, M, N, F, z, A, u) {
    if (n(x), !D) {
      var a;
      if (x === void 0)
        a = new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");
      else {
        var s = [M, N, F, z, A, u], h = 0;
        a = new Error(x.replace(/%s/g, function() {
          return s[h++];
        })), a.name = "Invariant Violation";
      }
      throw a.framesToPop = 1, a;
    }
  }
  var o = function() {
  };
  if (e.NODE_ENV !== "production") {
    var l = function(x) {
      for (var M = arguments.length, N = Array(M > 1 ? M - 1 : 0), F = 1; F < M; F++)
        N[F - 1] = arguments[F];
      var z = 0, A = "Warning: " + x.replace(/%s/g, function() {
        return N[z++];
      });
      typeof console < "u" && console.error(A);
      try {
        throw new Error(A);
      } catch {
      }
    };
    o = function(x, M) {
      if (M === void 0)
        throw new Error("`warning(condition, format, ...args)` requires a warning message argument");
      if (M.indexOf("Failed Composite propType: ") !== 0 && !x) {
        for (var N = arguments.length, F = Array(N > 2 ? N - 2 : 0), z = 2; z < N; z++)
          F[z - 2] = arguments[z];
        l.apply(void 0, [M].concat(F));
      }
    };
  }
  var c = "mixins";
  function g(D) {
    return D;
  }
  var y;
  e.NODE_ENV !== "production" ? y = {
    prop: "prop",
    context: "context",
    childContext: "child context"
  } : y = {};
  function C(D, x, M) {
    var N = [], F = {
      /**
       * An array of Mixin objects to include when defining your component.
       *
       * @type {array}
       * @optional
       */
      mixins: "DEFINE_MANY",
      /**
       * An object containing properties and methods that should be defined on
       * the component's constructor instead of its prototype (static methods).
       *
       * @type {object}
       * @optional
       */
      statics: "DEFINE_MANY",
      /**
       * Definition of prop types for this component.
       *
       * @type {object}
       * @optional
       */
      propTypes: "DEFINE_MANY",
      /**
       * Definition of context types for this component.
       *
       * @type {object}
       * @optional
       */
      contextTypes: "DEFINE_MANY",
      /**
       * Definition of context types this component sets for its children.
       *
       * @type {object}
       * @optional
       */
      childContextTypes: "DEFINE_MANY",
      // ==== Definition methods ====
      /**
       * Invoked when the component is mounted. Values in the mapping will be set on
       * `this.props` if that prop is not specified (i.e. using an `in` check).
       *
       * This method is invoked before `getInitialState` and therefore cannot rely
       * on `this.state` or use `this.setState`.
       *
       * @return {object}
       * @optional
       */
      getDefaultProps: "DEFINE_MANY_MERGED",
      /**
       * Invoked once before the component is mounted. The return value will be used
       * as the initial value of `this.state`.
       *
       *   getInitialState: function() {
       *     return {
       *       isOn: false,
       *       fooBaz: new BazFoo()
       *     }
       *   }
       *
       * @return {object}
       * @optional
       */
      getInitialState: "DEFINE_MANY_MERGED",
      /**
       * @return {object}
       * @optional
       */
      getChildContext: "DEFINE_MANY_MERGED",
      /**
       * Uses props from `this.props` and state from `this.state` to render the
       * structure of the component.
       *
       * No guarantees are made about when or how often this method is invoked, so
       * it must not have side effects.
       *
       *   render: function() {
       *     var name = this.props.name;
       *     return <div>Hello, {name}!</div>;
       *   }
       *
       * @return {ReactComponent}
       * @required
       */
      render: "DEFINE_ONCE",
      // ==== Delegate methods ====
      /**
       * Invoked when the component is initially created and about to be mounted.
       * This may have side effects, but any external subscriptions or data created
       * by this method must be cleaned up in `componentWillUnmount`.
       *
       * @optional
       */
      componentWillMount: "DEFINE_MANY",
      /**
       * Invoked when the component has been mounted and has a DOM representation.
       * However, there is no guarantee that the DOM node is in the document.
       *
       * Use this as an opportunity to operate on the DOM when the component has
       * been mounted (initialized and rendered) for the first time.
       *
       * @param {DOMElement} rootNode DOM element representing the component.
       * @optional
       */
      componentDidMount: "DEFINE_MANY",
      /**
       * Invoked before the component receives new props.
       *
       * Use this as an opportunity to react to a prop transition by updating the
       * state using `this.setState`. Current props are accessed via `this.props`.
       *
       *   componentWillReceiveProps: function(nextProps, nextContext) {
       *     this.setState({
       *       likesIncreasing: nextProps.likeCount > this.props.likeCount
       *     });
       *   }
       *
       * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop
       * transition may cause a state change, but the opposite is not true. If you
       * need it, you are probably looking for `componentWillUpdate`.
       *
       * @param {object} nextProps
       * @optional
       */
      componentWillReceiveProps: "DEFINE_MANY",
      /**
       * Invoked while deciding if the component should be updated as a result of
       * receiving new props, state and/or context.
       *
       * Use this as an opportunity to `return false` when you're certain that the
       * transition to the new props/state/context will not require a component
       * update.
       *
       *   shouldComponentUpdate: function(nextProps, nextState, nextContext) {
       *     return !equal(nextProps, this.props) ||
       *       !equal(nextState, this.state) ||
       *       !equal(nextContext, this.context);
       *   }
       *
       * @param {object} nextProps
       * @param {?object} nextState
       * @param {?object} nextContext
       * @return {boolean} True if the component should update.
       * @optional
       */
      shouldComponentUpdate: "DEFINE_ONCE",
      /**
       * Invoked when the component is about to update due to a transition from
       * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`
       * and `nextContext`.
       *
       * Use this as an opportunity to perform preparation before an update occurs.
       *
       * NOTE: You **cannot** use `this.setState()` in this method.
       *
       * @param {object} nextProps
       * @param {?object} nextState
       * @param {?object} nextContext
       * @param {ReactReconcileTransaction} transaction
       * @optional
       */
      componentWillUpdate: "DEFINE_MANY",
      /**
       * Invoked when the component's DOM representation has been updated.
       *
       * Use this as an opportunity to operate on the DOM when the component has
       * been updated.
       *
       * @param {object} prevProps
       * @param {?object} prevState
       * @param {?object} prevContext
       * @param {DOMElement} rootNode DOM element representing the component.
       * @optional
       */
      componentDidUpdate: "DEFINE_MANY",
      /**
       * Invoked when the component is about to be removed from its parent and have
       * its DOM representation destroyed.
       *
       * Use this as an opportunity to deallocate any external resources.
       *
       * NOTE: There is no `componentDidUnmount` since your component will have been
       * destroyed by that point.
       *
       * @optional
       */
      componentWillUnmount: "DEFINE_MANY",
      /**
       * Replacement for (deprecated) `componentWillMount`.
       *
       * @optional
       */
      UNSAFE_componentWillMount: "DEFINE_MANY",
      /**
       * Replacement for (deprecated) `componentWillReceiveProps`.
       *
       * @optional
       */
      UNSAFE_componentWillReceiveProps: "DEFINE_MANY",
      /**
       * Replacement for (deprecated) `componentWillUpdate`.
       *
       * @optional
       */
      UNSAFE_componentWillUpdate: "DEFINE_MANY",
      // ==== Advanced methods ====
      /**
       * Updates the component's currently mounted DOM representation.
       *
       * By default, this implements React's rendering and reconciliation algorithm.
       * Sophisticated clients may wish to override this.
       *
       * @param {ReactReconcileTransaction} transaction
       * @internal
       * @overridable
       */
      updateComponent: "OVERRIDE_BASE"
    }, z = {
      /**
       * This method is invoked after a component is instantiated and when it
       * receives new props. Return an object to update state in response to
       * prop changes. Return null to indicate no change to state.
       *
       * If an object is returned, its keys will be merged into the existing state.
       *
       * @return {object || null}
       * @optional
       */
      getDerivedStateFromProps: "DEFINE_MANY_MERGED"
    }, A = {
      displayName: function(T, w) {
        T.displayName = w;
      },
      mixins: function(T, w) {
        if (w)
          for (var P = 0; P < w.length; P++)
            s(T, w[P]);
      },
      childContextTypes: function(T, w) {
        e.NODE_ENV !== "production" && u(T, w, "childContext"), T.childContextTypes = t(
          {},
          T.childContextTypes,
          w
        );
      },
      contextTypes: function(T, w) {
        e.NODE_ENV !== "production" && u(T, w, "context"), T.contextTypes = t(
          {},
          T.contextTypes,
          w
        );
      },
      /**
       * Special case getDefaultProps which should move into statics but requires
       * automatic merging.
       */
      getDefaultProps: function(T, w) {
        T.getDefaultProps ? T.getDefaultProps = f(
          T.getDefaultProps,
          w
        ) : T.getDefaultProps = w;
      },
      propTypes: function(T, w) {
        e.NODE_ENV !== "production" && u(T, w, "prop"), T.propTypes = t({}, T.propTypes, w);
      },
      statics: function(T, w) {
        h(T, w);
      },
      autobind: function() {
      }
    };
    function u(T, w, P) {
      for (var I in w)
        w.hasOwnProperty(I) && e.NODE_ENV !== "production" && o(
          typeof w[I] == "function",
          "%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.",
          T.displayName || "ReactClass",
          y[P],
          I
        );
    }
    function a(T, w) {
      var P = F.hasOwnProperty(w) ? F[w] : null;
      m.hasOwnProperty(w) && i(
        P === "OVERRIDE_BASE",
        "ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",
        w
      ), T && i(
        P === "DEFINE_MANY" || P === "DEFINE_MANY_MERGED",
        "ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",
        w
      );
    }
    function s(T, w) {
      if (!w) {
        if (e.NODE_ENV !== "production") {
          var P = typeof w, I = P === "object" && w !== null;
          e.NODE_ENV !== "production" && o(
            I,
            "%s: You're attempting to include a mixin that is either null or not an object. Check the mixins included by the component, as well as any mixins they include themselves. Expected object but got %s.",
            T.displayName || "ReactClass",
            w === null ? null : P
          );
        }
        return;
      }
      i(
        typeof w != "function",
        "ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object."
      ), i(
        !x(w),
        "ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object."
      );
      var L = T.prototype, R = L.__reactAutoBindPairs;
      w.hasOwnProperty(c) && A.mixins(T, w.mixins);
      for (var q in w)
        if (w.hasOwnProperty(q) && q !== c) {
          var B = w[q], j = L.hasOwnProperty(q);
          if (a(j, q), A.hasOwnProperty(q))
            A[q](T, B);
          else {
            var k = F.hasOwnProperty(q), U = typeof B == "function", W = U && !k && !j && w.autobind !== !1;
            if (W)
              R.push(q, B), L[q] = B;
            else if (j) {
              var $ = F[q];
              i(
                k && ($ === "DEFINE_MANY_MERGED" || $ === "DEFINE_MANY"),
                "ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",
                $,
                q
              ), $ === "DEFINE_MANY_MERGED" ? L[q] = f(L[q], B) : $ === "DEFINE_MANY" && (L[q] = S(L[q], B));
            } else
              L[q] = B, e.NODE_ENV !== "production" && typeof B == "function" && w.displayName && (L[q].displayName = w.displayName + "_" + q);
          }
        }
    }
    function h(T, w) {
      if (w)
        for (var P in w) {
          var I = w[P];
          if (w.hasOwnProperty(P)) {
            var L = P in A;
            i(
              !L,
              'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',
              P
            );
            var R = P in T;
            if (R) {
              var q = z.hasOwnProperty(P) ? z[P] : null;
              i(
                q === "DEFINE_MANY_MERGED",
                "ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",
                P
              ), T[P] = f(T[P], I);
              return;
            }
            T[P] = I;
          }
        }
    }
    function E(T, w) {
      i(
        T && w && typeof T == "object" && typeof w == "object",
        "mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects."
      );
      for (var P in w)
        w.hasOwnProperty(P) && (i(
          T[P] === void 0,
          "mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.",
          P
        ), T[P] = w[P]);
      return T;
    }
    function f(T, w) {
      return function() {
        var I = T.apply(this, arguments), L = w.apply(this, arguments);
        if (I == null)
          return L;
        if (L == null)
          return I;
        var R = {};
        return E(R, I), E(R, L), R;
      };
    }
    function S(T, w) {
      return function() {
        T.apply(this, arguments), w.apply(this, arguments);
      };
    }
    function _(T, w) {
      var P = w.bind(T);
      if (e.NODE_ENV !== "production") {
        P.__reactBoundContext = T, P.__reactBoundMethod = w, P.__reactBoundArguments = null;
        var I = T.constructor.displayName, L = P.bind;
        P.bind = function(R) {
          for (var q = arguments.length, B = Array(q > 1 ? q - 1 : 0), j = 1; j < q; j++)
            B[j - 1] = arguments[j];
          if (R !== T && R !== null)
            e.NODE_ENV !== "production" && o(
              !1,
              "bind(): React component methods may only be bound to the component instance. See %s",
              I
            );
          else if (!B.length)
            return e.NODE_ENV !== "production" && o(
              !1,
              "bind(): You are binding a component method to the component. React does this for you automatically in a high-performance way, so you can safely remove this call. See %s",
              I
            ), P;
          var k = L.apply(P, arguments);
          return k.__reactBoundContext = T, k.__reactBoundMethod = w, k.__reactBoundArguments = B, k;
        };
      }
      return P;
    }
    function d(T) {
      for (var w = T.__reactAutoBindPairs, P = 0; P < w.length; P += 2) {
        var I = w[P], L = w[P + 1];
        T[I] = _(T, L);
      }
    }
    var p = {
      componentDidMount: function() {
        this.__isMounted = !0;
      }
    }, b = {
      componentWillUnmount: function() {
        this.__isMounted = !1;
      }
    }, m = {
      /**
       * TODO: This will be deprecated because state should always keep a consistent
       * type signature and the only use case for this, is to avoid that.
       */
      replaceState: function(T, w) {
        this.updater.enqueueReplaceState(this, T, w);
      },
      /**
       * Checks whether or not this composite component is mounted.
       * @return {boolean} True if mounted, false otherwise.
       * @protected
       * @final
       */
      isMounted: function() {
        return e.NODE_ENV !== "production" && (o(
          this.__didWarnIsMounted,
          "%s: isMounted is deprecated. Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.",
          this.constructor && this.constructor.displayName || this.name || "Component"
        ), this.__didWarnIsMounted = !0), !!this.__isMounted;
      }
    }, v = function() {
    };
    t(
      v.prototype,
      D.prototype,
      m
    );
    function O(T) {
      var w = function(I, L, R) {
        e.NODE_ENV !== "production" && o(
          this instanceof w,
          "Something is calling a React component directly. Use a factory or JSX instead. See: https://fb.me/react-legacyfactory"
        ), this.__reactAutoBindPairs.length && d(this), this.props = I, this.context = L, this.refs = r, this.updater = R || M, this.state = null;
        var q = this.getInitialState ? this.getInitialState() : null;
        e.NODE_ENV !== "production" && q === void 0 && this.getInitialState._isMockFunction && (q = null), i(
          typeof q == "object" && !Array.isArray(q),
          "%s.getInitialState(): must return an object or null",
          w.displayName || "ReactCompositeComponent"
        ), this.state = q;
      };
      w.prototype = new v(), w.prototype.constructor = w, w.prototype.__reactAutoBindPairs = [], N.forEach(s.bind(null, w)), s(w, p), s(w, T), s(w, b), w.getDefaultProps && (w.defaultProps = w.getDefaultProps()), e.NODE_ENV !== "production" && (w.getDefaultProps && (w.getDefaultProps.isReactClassApproved = {}), w.prototype.getInitialState && (w.prototype.getInitialState.isReactClassApproved = {})), i(
        w.prototype.render,
        "createClass(...): Class specification must implement a `render` method."
      ), e.NODE_ENV !== "production" && (o(
        !w.prototype.componentShouldUpdate,
        "%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.",
        T.displayName || "A component"
      ), o(
        !w.prototype.componentWillRecieveProps,
        "%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?",
        T.displayName || "A component"
      ), o(
        !w.prototype.UNSAFE_componentWillRecieveProps,
        "%s has a method called UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?",
        T.displayName || "A component"
      ));
      for (var P in F)
        w.prototype[P] || (w.prototype[P] = null);
      return w;
    }
    return O;
  }
  return x0 = C, x0;
}
var A0, kI;
function jre() {
  if (kI) return A0;
  kI = 1;
  var e = lV(), t = e.Component, r = Ys(), n = r.isValidElement, i = uV(), o = Lre();
  return A0 = o(t, n, i), A0;
}
var D0, RI;
function Ure() {
  if (RI) return D0;
  RI = 1;
  var e = {}, t = Cl(), r = Ys(), n = yt();
  function i(o) {
    return r.isValidElement(o) || (e.NODE_ENV !== "production" ? n(!1, "React.Children.only expected to receive a single React element child.") : t("143")), o;
  }
  return D0 = i, D0;
}
var P0, MI;
function xl() {
  if (MI) return P0;
  MI = 1;
  var e = {}, t = sr(), r = lV(), n = xre(), i = kre(), o = Ys(), l = Ire(), c = Fre(), g = jre(), y = Ure(), C = o.createElement, D = o.createFactory, x = o.cloneElement;
  if (e.NODE_ENV !== "production") {
    var M = VD(), N = dy(), F = dV(), z = !1;
    C = F.createElement, D = F.createFactory, x = F.cloneElement;
  }
  var A = t, u = function(S) {
    return S;
  };
  if (e.NODE_ENV !== "production") {
    var a = !1, s = !1;
    A = function() {
      return M(a, "React.__spread is deprecated and should not be used. Use Object.assign directly or another helper function with similar semantics. You may be seeing this warning due to your compiler. See https://fb.me/react-spread-deprecation for more details."), a = !0, t.apply(null, arguments);
    }, u = function(S) {
      return M(s, "React.createMixin is deprecated and should not be used. In React v16.0, it will be removed. You can use this mixin directly instead. See https://fb.me/createmixin-was-never-implemented for more info."), s = !0, S;
    };
  }
  var h = {
    // Modern
    Children: {
      map: n.map,
      forEach: n.forEach,
      count: n.count,
      toArray: n.toArray,
      only: y
    },
    Component: r.Component,
    PureComponent: r.PureComponent,
    createElement: C,
    cloneElement: x,
    isValidElement: o.isValidElement,
    // Classic
    PropTypes: l,
    createClass: g,
    createFactory: D,
    createMixin: u,
    // This looks DOM specific but these are actually isomorphic helpers
    // since they are just generating DOM strings.
    DOM: i,
    version: c,
    // Deprecated hook for JSX spread, don't use this for anything.
    __spread: A
  };
  if (e.NODE_ENV !== "production") {
    var E = !1;
    N && (Object.defineProperty(h, "PropTypes", {
      get: function() {
        return M(z, "Accessing PropTypes via the main React package is deprecated, and will be removed in  React v16.0. Use the latest available v15.* prop-types package from npm instead. For info on usage, compatibility, migration and more, see https://fb.me/prop-types-docs"), z = !0, l;
      }
    }), Object.defineProperty(h, "createClass", {
      get: function() {
        return M(E, "Accessing createClass via the main React package is deprecated, and will be removed in React v16.0. Use a plain JavaScript class instead. If you're not yet ready to migrate, create-react-class v15.* is available on npm as a temporary, drop-in replacement. For more info see https://fb.me/react-create-class"), E = !0, g;
      }
    })), h.DOM = {};
    var f = !1;
    Object.keys(i).forEach(function(S) {
      h.DOM[S] = function() {
        return f || (M(!1, "Accessing factories like React.DOM.%s has been deprecated and will be removed in v16.0+. Use the react-dom-factories package instead.  Version 1.0 provides a drop-in replacement. For more info, see https://fb.me/react-dom-factories", S), f = !0), i[S].apply(i, arguments);
      };
    });
  }
  return P0 = h, P0;
}
var k0, NI;
function gV() {
  return NI || (NI = 1, k0 = xl()), k0;
}
var dp = { exports: {} }, R0, II;
function yV() {
  if (II) return R0;
  II = 1;
  var e = typeof ba == "object" && ba && ba.Object === Object && ba;
  return R0 = e, R0;
}
var M0, FI;
function ao() {
  if (FI) return M0;
  FI = 1;
  var e = yV(), t = typeof self == "object" && self && self.Object === Object && self, r = e || t || Function("return this")();
  return M0 = r, M0;
}
var N0, LI;
function sd() {
  if (LI) return N0;
  LI = 1;
  var e = ao(), t = e.Symbol;
  return N0 = t, N0;
}
var I0, jI;
function qre() {
  if (jI) return I0;
  jI = 1;
  var e = sd(), t = Object.prototype, r = t.hasOwnProperty, n = t.toString, i = e ? e.toStringTag : void 0;
  function o(l) {
    var c = r.call(l, i), g = l[i];
    try {
      l[i] = void 0;
      var y = !0;
    } catch {
    }
    var C = n.call(l);
    return y && (c ? l[i] = g : delete l[i]), C;
  }
  return I0 = o, I0;
}
var F0, UI;
function zre() {
  if (UI) return F0;
  UI = 1;
  var e = Object.prototype, t = e.toString;
  function r(n) {
    return t.call(n);
  }
  return F0 = r, F0;
}
var L0, qI;
function Ho() {
  if (qI) return L0;
  qI = 1;
  var e = sd(), t = qre(), r = zre(), n = "[object Null]", i = "[object Undefined]", o = e ? e.toStringTag : void 0;
  function l(c) {
    return c == null ? c === void 0 ? i : n : o && o in Object(c) ? t(c) : r(c);
  }
  return L0 = l, L0;
}
var j0, zI;
function Vi() {
  if (zI) return j0;
  zI = 1;
  function e(t) {
    var r = typeof t;
    return t != null && (r == "object" || r == "function");
  }
  return j0 = e, j0;
}
var U0, BI;
function hy() {
  if (BI) return U0;
  BI = 1;
  var e = Ho(), t = Vi(), r = "[object AsyncFunction]", n = "[object Function]", i = "[object GeneratorFunction]", o = "[object Proxy]";
  function l(c) {
    if (!t(c))
      return !1;
    var g = e(c);
    return g == n || g == i || g == r || g == o;
  }
  return U0 = l, U0;
}
var pp = { exports: {} }, hp = { exports: {} }, qt = {};
/** @license React v16.14.0
 * react.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
var WI;
function Bre() {
  if (WI) return qt;
  WI = 1;
  var e = sr(), t = typeof Symbol == "function" && Symbol.for, r = t ? Symbol.for("react.element") : 60103, n = t ? Symbol.for("react.portal") : 60106, i = t ? Symbol.for("react.fragment") : 60107, o = t ? Symbol.for("react.strict_mode") : 60108, l = t ? Symbol.for("react.profiler") : 60114, c = t ? Symbol.for("react.provider") : 60109, g = t ? Symbol.for("react.context") : 60110, y = t ? Symbol.for("react.forward_ref") : 60112, C = t ? Symbol.for("react.suspense") : 60113, D = t ? Symbol.for("react.memo") : 60115, x = t ? Symbol.for("react.lazy") : 60116, M = typeof Symbol == "function" && Symbol.iterator;
  function N(k) {
    for (var U = "https://reactjs.org/docs/error-decoder.html?invariant=" + k, W = 1; W < arguments.length; W++) U += "&args[]=" + encodeURIComponent(arguments[W]);
    return "Minified React error #" + k + "; visit " + U + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";
  }
  var F = { isMounted: function() {
    return !1;
  }, enqueueForceUpdate: function() {
  }, enqueueReplaceState: function() {
  }, enqueueSetState: function() {
  } }, z = {};
  function A(k, U, W) {
    this.props = k, this.context = U, this.refs = z, this.updater = W || F;
  }
  A.prototype.isReactComponent = {}, A.prototype.setState = function(k, U) {
    if (typeof k != "object" && typeof k != "function" && k != null) throw Error(N(85));
    this.updater.enqueueSetState(this, k, U, "setState");
  }, A.prototype.forceUpdate = function(k) {
    this.updater.enqueueForceUpdate(this, k, "forceUpdate");
  };
  function u() {
  }
  u.prototype = A.prototype;
  function a(k, U, W) {
    this.props = k, this.context = U, this.refs = z, this.updater = W || F;
  }
  var s = a.prototype = new u();
  s.constructor = a, e(s, A.prototype), s.isPureReactComponent = !0;
  var h = { current: null }, E = Object.prototype.hasOwnProperty, f = { key: !0, ref: !0, __self: !0, __source: !0 };
  function S(k, U, W) {
    var $, V = {}, G = null, X = null;
    if (U != null) for ($ in U.ref !== void 0 && (X = U.ref), U.key !== void 0 && (G = "" + U.key), U) E.call(U, $) && !f.hasOwnProperty($) && (V[$] = U[$]);
    var K = arguments.length - 2;
    if (K === 1) V.children = W;
    else if (1 < K) {
      for (var H = Array(K), Y = 0; Y < K; Y++) H[Y] = arguments[Y + 2];
      V.children = H;
    }
    if (k && k.defaultProps) for ($ in K = k.defaultProps, K) V[$] === void 0 && (V[$] = K[$]);
    return { $$typeof: r, type: k, key: G, ref: X, props: V, _owner: h.current };
  }
  function _(k, U) {
    return { $$typeof: r, type: k.type, key: U, ref: k.ref, props: k.props, _owner: k._owner };
  }
  function d(k) {
    return typeof k == "object" && k !== null && k.$$typeof === r;
  }
  function p(k) {
    var U = { "=": "=0", ":": "=2" };
    return "$" + ("" + k).replace(/[=:]/g, function(W) {
      return U[W];
    });
  }
  var b = /\/+/g, m = [];
  function v(k, U, W, $) {
    if (m.length) {
      var V = m.pop();
      return V.result = k, V.keyPrefix = U, V.func = W, V.context = $, V.count = 0, V;
    }
    return { result: k, keyPrefix: U, func: W, context: $, count: 0 };
  }
  function O(k) {
    k.result = null, k.keyPrefix = null, k.func = null, k.context = null, k.count = 0, 10 > m.length && m.push(k);
  }
  function T(k, U, W, $) {
    var V = typeof k;
    (V === "undefined" || V === "boolean") && (k = null);
    var G = !1;
    if (k === null) G = !0;
    else switch (V) {
      case "string":
      case "number":
        G = !0;
        break;
      case "object":
        switch (k.$$typeof) {
          case r:
          case n:
            G = !0;
        }
    }
    if (G) return W($, k, U === "" ? "." + P(k, 0) : U), 1;
    if (G = 0, U = U === "" ? "." : U + ":", Array.isArray(k)) for (var X = 0; X < k.length; X++) {
      V = k[X];
      var K = U + P(V, X);
      G += T(V, K, W, $);
    }
    else if (k === null || typeof k != "object" ? K = null : (K = M && k[M] || k["@@iterator"], K = typeof K == "function" ? K : null), typeof K == "function") for (k = K.call(k), X = 0; !(V = k.next()).done; ) V = V.value, K = U + P(V, X++), G += T(V, K, W, $);
    else if (V === "object") throw W = "" + k, Error(N(31, W === "[object Object]" ? "object with keys {" + Object.keys(k).join(", ") + "}" : W, ""));
    return G;
  }
  function w(k, U, W) {
    return k == null ? 0 : T(k, "", U, W);
  }
  function P(k, U) {
    return typeof k == "object" && k !== null && k.key != null ? p(k.key) : U.toString(36);
  }
  function I(k, U) {
    k.func.call(k.context, U, k.count++);
  }
  function L(k, U, W) {
    var $ = k.result, V = k.keyPrefix;
    k = k.func.call(k.context, U, k.count++), Array.isArray(k) ? R(k, $, W, function(G) {
      return G;
    }) : k != null && (d(k) && (k = _(k, V + (!k.key || U && U.key === k.key ? "" : ("" + k.key).replace(b, "$&/") + "/") + W)), $.push(k));
  }
  function R(k, U, W, $, V) {
    var G = "";
    W != null && (G = ("" + W).replace(b, "$&/") + "/"), U = v(U, G, $, V), w(k, L, U), O(U);
  }
  var q = { current: null };
  function B() {
    var k = q.current;
    if (k === null) throw Error(N(321));
    return k;
  }
  var j = { ReactCurrentDispatcher: q, ReactCurrentBatchConfig: { suspense: null }, ReactCurrentOwner: h, IsSomeRendererActing: { current: !1 }, assign: e };
  return qt.Children = { map: function(k, U, W) {
    if (k == null) return k;
    var $ = [];
    return R(k, $, null, U, W), $;
  }, forEach: function(k, U, W) {
    if (k == null) return k;
    U = v(null, null, U, W), w(k, I, U), O(U);
  }, count: function(k) {
    return w(k, function() {
      return null;
    }, null);
  }, toArray: function(k) {
    var U = [];
    return R(k, U, null, function(W) {
      return W;
    }), U;
  }, only: function(k) {
    if (!d(k)) throw Error(N(143));
    return k;
  } }, qt.Component = A, qt.Fragment = i, qt.Profiler = l, qt.PureComponent = a, qt.StrictMode = o, qt.Suspense = C, qt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = j, qt.cloneElement = function(k, U, W) {
    if (k == null) throw Error(N(267, k));
    var $ = e({}, k.props), V = k.key, G = k.ref, X = k._owner;
    if (U != null) {
      if (U.ref !== void 0 && (G = U.ref, X = h.current), U.key !== void 0 && (V = "" + U.key), k.type && k.type.defaultProps) var K = k.type.defaultProps;
      for (H in U) E.call(U, H) && !f.hasOwnProperty(H) && ($[H] = U[H] === void 0 && K !== void 0 ? K[H] : U[H]);
    }
    var H = arguments.length - 2;
    if (H === 1) $.children = W;
    else if (1 < H) {
      K = Array(H);
      for (var Y = 0; Y < H; Y++) K[Y] = arguments[Y + 2];
      $.children = K;
    }
    return {
      $$typeof: r,
      type: k.type,
      key: V,
      ref: G,
      props: $,
      _owner: X
    };
  }, qt.createContext = function(k, U) {
    return U === void 0 && (U = null), k = { $$typeof: g, _calculateChangedBits: U, _currentValue: k, _currentValue2: k, _threadCount: 0, Provider: null, Consumer: null }, k.Provider = { $$typeof: c, _context: k }, k.Consumer = k;
  }, qt.createElement = S, qt.createFactory = function(k) {
    var U = S.bind(null, k);
    return U.type = k, U;
  }, qt.createRef = function() {
    return { current: null };
  }, qt.forwardRef = function(k) {
    return { $$typeof: y, render: k };
  }, qt.isValidElement = d, qt.lazy = function(k) {
    return { $$typeof: x, _ctor: k, _status: -1, _result: null };
  }, qt.memo = function(k, U) {
    return { $$typeof: D, type: k, compare: U === void 0 ? null : U };
  }, qt.useCallback = function(k, U) {
    return B().useCallback(k, U);
  }, qt.useContext = function(k, U) {
    return B().useContext(k, U);
  }, qt.useDebugValue = function() {
  }, qt.useEffect = function(k, U) {
    return B().useEffect(k, U);
  }, qt.useImperativeHandle = function(k, U, W) {
    return B().useImperativeHandle(k, U, W);
  }, qt.useLayoutEffect = function(k, U) {
    return B().useLayoutEffect(k, U);
  }, qt.useMemo = function(k, U) {
    return B().useMemo(k, U);
  }, qt.useReducer = function(k, U, W) {
    return B().useReducer(k, U, W);
  }, qt.useRef = function(k) {
    return B().useRef(k);
  }, qt.useState = function(k) {
    return B().useState(k);
  }, qt.version = "16.14.0", qt;
}
var zt = {}, $I;
function Wre() {
  if ($I) return zt;
  $I = 1;
  var e = {};
  /** @license React v16.14.0
   * react.development.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  return e.NODE_ENV !== "production" && function() {
    var t = sr(), r = hV(), n = "16.14.0", i = typeof Symbol == "function" && Symbol.for, o = i ? Symbol.for("react.element") : 60103, l = i ? Symbol.for("react.portal") : 60106, c = i ? Symbol.for("react.fragment") : 60107, g = i ? Symbol.for("react.strict_mode") : 60108, y = i ? Symbol.for("react.profiler") : 60114, C = i ? Symbol.for("react.provider") : 60109, D = i ? Symbol.for("react.context") : 60110, x = i ? Symbol.for("react.concurrent_mode") : 60111, M = i ? Symbol.for("react.forward_ref") : 60112, N = i ? Symbol.for("react.suspense") : 60113, F = i ? Symbol.for("react.suspense_list") : 60120, z = i ? Symbol.for("react.memo") : 60115, A = i ? Symbol.for("react.lazy") : 60116, u = i ? Symbol.for("react.block") : 60121, a = i ? Symbol.for("react.fundamental") : 60117, s = i ? Symbol.for("react.responder") : 60118, h = i ? Symbol.for("react.scope") : 60119, E = typeof Symbol == "function" && Symbol.iterator, f = "@@iterator";
    function S(me) {
      if (me === null || typeof me != "object")
        return null;
      var Ce = E && me[E] || me[f];
      return typeof Ce == "function" ? Ce : null;
    }
    var _ = {
      /**
       * @internal
       * @type {ReactComponent}
       */
      current: null
    }, d = {
      suspense: null
    }, p = {
      /**
       * @internal
       * @type {ReactComponent}
       */
      current: null
    }, b = /^(.*)[\\\/]/;
    function m(me, Ce, Ne) {
      var Be = "";
      if (Ce) {
        var tt = Ce.fileName, xt = tt.replace(b, "");
        if (/^index\./.test(xt)) {
          var ut = tt.match(b);
          if (ut) {
            var vt = ut[1];
            if (vt) {
              var kr = vt.replace(b, "");
              xt = kr + "/" + xt;
            }
          }
        }
        Be = " (at " + xt + ":" + Ce.lineNumber + ")";
      } else Ne && (Be = " (created by " + Ne + ")");
      return `
    in ` + (me || "Unknown") + Be;
    }
    var v = 1;
    function O(me) {
      return me._status === v ? me._result : null;
    }
    function T(me, Ce, Ne) {
      var Be = Ce.displayName || Ce.name || "";
      return me.displayName || (Be !== "" ? Ne + "(" + Be + ")" : Ne);
    }
    function w(me) {
      if (me == null)
        return null;
      if (typeof me.tag == "number" && j("Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."), typeof me == "function")
        return me.displayName || me.name || null;
      if (typeof me == "string")
        return me;
      switch (me) {
        case c:
          return "Fragment";
        case l:
          return "Portal";
        case y:
          return "Profiler";
        case g:
          return "StrictMode";
        case N:
          return "Suspense";
        case F:
          return "SuspenseList";
      }
      if (typeof me == "object")
        switch (me.$$typeof) {
          case D:
            return "Context.Consumer";
          case C:
            return "Context.Provider";
          case M:
            return T(me, me.render, "ForwardRef");
          case z:
            return w(me.type);
          case u:
            return w(me.render);
          case A: {
            var Ce = me, Ne = O(Ce);
            if (Ne)
              return w(Ne);
            break;
          }
        }
      return null;
    }
    var P = {}, I = null;
    function L(me) {
      I = me;
    }
    P.getCurrentStack = null, P.getStackAddendum = function() {
      var me = "";
      if (I) {
        var Ce = w(I.type), Ne = I._owner;
        me += m(Ce, I._source, Ne && w(Ne.type));
      }
      var Be = P.getCurrentStack;
      return Be && (me += Be() || ""), me;
    };
    var R = {
      current: !1
    }, q = {
      ReactCurrentDispatcher: _,
      ReactCurrentBatchConfig: d,
      ReactCurrentOwner: p,
      IsSomeRendererActing: R,
      // Used by renderers to avoid bundling object-assign twice in UMD bundles:
      assign: t
    };
    t(q, {
      // These should not be included in production.
      ReactDebugCurrentFrame: P,
      // Shim for React DOM 16.0.0 which still destructured (but not used) this.
      // TODO: remove in React 17.0.
      ReactComponentTreeHook: {}
    });
    function B(me) {
      {
        for (var Ce = arguments.length, Ne = new Array(Ce > 1 ? Ce - 1 : 0), Be = 1; Be < Ce; Be++)
          Ne[Be - 1] = arguments[Be];
        k("warn", me, Ne);
      }
    }
    function j(me) {
      {
        for (var Ce = arguments.length, Ne = new Array(Ce > 1 ? Ce - 1 : 0), Be = 1; Be < Ce; Be++)
          Ne[Be - 1] = arguments[Be];
        k("error", me, Ne);
      }
    }
    function k(me, Ce, Ne) {
      {
        var Be = Ne.length > 0 && typeof Ne[Ne.length - 1] == "string" && Ne[Ne.length - 1].indexOf(`
    in`) === 0;
        if (!Be) {
          var tt = q.ReactDebugCurrentFrame, xt = tt.getStackAddendum();
          xt !== "" && (Ce += "%s", Ne = Ne.concat([xt]));
        }
        var ut = Ne.map(function(Bn) {
          return "" + Bn;
        });
        ut.unshift("Warning: " + Ce), Function.prototype.apply.call(console[me], console, ut);
        try {
          var vt = 0, kr = "Warning: " + Ce.replace(/%s/g, function() {
            return Ne[vt++];
          });
          throw new Error(kr);
        } catch {
        }
      }
    }
    var U = {};
    function W(me, Ce) {
      {
        var Ne = me.constructor, Be = Ne && (Ne.displayName || Ne.name) || "ReactClass", tt = Be + "." + Ce;
        if (U[tt])
          return;
        j("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.", Ce, Be), U[tt] = !0;
      }
    }
    var $ = {
      /**
       * Checks whether or not this composite component is mounted.
       * @param {ReactClass} publicInstance The instance we want to test.
       * @return {boolean} True if mounted, false otherwise.
       * @protected
       * @final
       */
      isMounted: function(me) {
        return !1;
      },
      /**
       * Forces an update. This should only be invoked when it is known with
       * certainty that we are **not** in a DOM transaction.
       *
       * You may want to call this when you know that some deeper aspect of the
       * component's state has changed but `setState` was not called.
       *
       * This will not invoke `shouldComponentUpdate`, but it will invoke
       * `componentWillUpdate` and `componentDidUpdate`.
       *
       * @param {ReactClass} publicInstance The instance that should rerender.
       * @param {?function} callback Called after component is updated.
       * @param {?string} callerName name of the calling function in the public API.
       * @internal
       */
      enqueueForceUpdate: function(me, Ce, Ne) {
        W(me, "forceUpdate");
      },
      /**
       * Replaces all of the state. Always use this or `setState` to mutate state.
       * You should treat `this.state` as immutable.
       *
       * There is no guarantee that `this.state` will be immediately updated, so
       * accessing `this.state` after calling this method may return the old value.
       *
       * @param {ReactClass} publicInstance The instance that should rerender.
       * @param {object} completeState Next state.
       * @param {?function} callback Called after component is updated.
       * @param {?string} callerName name of the calling function in the public API.
       * @internal
       */
      enqueueReplaceState: function(me, Ce, Ne, Be) {
        W(me, "replaceState");
      },
      /**
       * Sets a subset of the state. This only exists because _pendingState is
       * internal. This provides a merging strategy that is not available to deep
       * properties which is confusing. TODO: Expose pendingState or don't use it
       * during the merge.
       *
       * @param {ReactClass} publicInstance The instance that should rerender.
       * @param {object} partialState Next partial state to be merged with state.
       * @param {?function} callback Called after component is updated.
       * @param {?string} Name of the calling function in the public API.
       * @internal
       */
      enqueueSetState: function(me, Ce, Ne, Be) {
        W(me, "setState");
      }
    }, V = {};
    Object.freeze(V);
    function G(me, Ce, Ne) {
      this.props = me, this.context = Ce, this.refs = V, this.updater = Ne || $;
    }
    G.prototype.isReactComponent = {}, G.prototype.setState = function(me, Ce) {
      if (!(typeof me == "object" || typeof me == "function" || me == null))
        throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");
      this.updater.enqueueSetState(this, me, Ce, "setState");
    }, G.prototype.forceUpdate = function(me) {
      this.updater.enqueueForceUpdate(this, me, "forceUpdate");
    };
    {
      var X = {
        isMounted: ["isMounted", "Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],
        replaceState: ["replaceState", "Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]
      }, K = function(me, Ce) {
        Object.defineProperty(G.prototype, me, {
          get: function() {
            B("%s(...) is deprecated in plain JavaScript React classes. %s", Ce[0], Ce[1]);
          }
        });
      };
      for (var H in X)
        X.hasOwnProperty(H) && K(H, X[H]);
    }
    function Y() {
    }
    Y.prototype = G.prototype;
    function Q(me, Ce, Ne) {
      this.props = me, this.context = Ce, this.refs = V, this.updater = Ne || $;
    }
    var Z = Q.prototype = new Y();
    Z.constructor = Q, t(Z, G.prototype), Z.isPureReactComponent = !0;
    function J() {
      var me = {
        current: null
      };
      return Object.seal(me), me;
    }
    var ne = Object.prototype.hasOwnProperty, ie = {
      key: !0,
      ref: !0,
      __self: !0,
      __source: !0
    }, re, ee, te;
    te = {};
    function ue(me) {
      if (ne.call(me, "ref")) {
        var Ce = Object.getOwnPropertyDescriptor(me, "ref").get;
        if (Ce && Ce.isReactWarning)
          return !1;
      }
      return me.ref !== void 0;
    }
    function le(me) {
      if (ne.call(me, "key")) {
        var Ce = Object.getOwnPropertyDescriptor(me, "key").get;
        if (Ce && Ce.isReactWarning)
          return !1;
      }
      return me.key !== void 0;
    }
    function ae(me, Ce) {
      var Ne = function() {
        re || (re = !0, j("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)", Ce));
      };
      Ne.isReactWarning = !0, Object.defineProperty(me, "key", {
        get: Ne,
        configurable: !0
      });
    }
    function ce(me, Ce) {
      var Ne = function() {
        ee || (ee = !0, j("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)", Ce));
      };
      Ne.isReactWarning = !0, Object.defineProperty(me, "ref", {
        get: Ne,
        configurable: !0
      });
    }
    function pe(me) {
      if (typeof me.ref == "string" && p.current && me.__self && p.current.stateNode !== me.__self) {
        var Ce = w(p.current.type);
        te[Ce] || (j('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://fb.me/react-strict-mode-string-ref', w(p.current.type), me.ref), te[Ce] = !0);
      }
    }
    var de = function(me, Ce, Ne, Be, tt, xt, ut) {
      var vt = {
        // This tag allows us to uniquely identify this as a React Element
        $$typeof: o,
        // Built-in properties that belong on the element
        type: me,
        key: Ce,
        ref: Ne,
        props: ut,
        // Record the component responsible for creating this element.
        _owner: xt
      };
      return vt._store = {}, Object.defineProperty(vt._store, "validated", {
        configurable: !1,
        enumerable: !1,
        writable: !0,
        value: !1
      }), Object.defineProperty(vt, "_self", {
        configurable: !1,
        enumerable: !1,
        writable: !1,
        value: Be
      }), Object.defineProperty(vt, "_source", {
        configurable: !1,
        enumerable: !1,
        writable: !1,
        value: tt
      }), Object.freeze && (Object.freeze(vt.props), Object.freeze(vt)), vt;
    };
    function he(me, Ce, Ne) {
      var Be, tt = {}, xt = null, ut = null, vt = null, kr = null;
      if (Ce != null) {
        ue(Ce) && (ut = Ce.ref, pe(Ce)), le(Ce) && (xt = "" + Ce.key), vt = Ce.__self === void 0 ? null : Ce.__self, kr = Ce.__source === void 0 ? null : Ce.__source;
        for (Be in Ce)
          ne.call(Ce, Be) && !ie.hasOwnProperty(Be) && (tt[Be] = Ce[Be]);
      }
      var Bn = arguments.length - 2;
      if (Bn === 1)
        tt.children = Ne;
      else if (Bn > 1) {
        for (var ai = Array(Bn), Wn = 0; Wn < Bn; Wn++)
          ai[Wn] = arguments[Wn + 2];
        Object.freeze && Object.freeze(ai), tt.children = ai;
      }
      if (me && me.defaultProps) {
        var as = me.defaultProps;
        for (Be in as)
          tt[Be] === void 0 && (tt[Be] = as[Be]);
      }
      if (xt || ut) {
        var na = typeof me == "function" ? me.displayName || me.name || "Unknown" : me;
        xt && ae(tt, na), ut && ce(tt, na);
      }
      return de(me, xt, ut, vt, kr, p.current, tt);
    }
    function Ee(me, Ce) {
      var Ne = de(me.type, Ce, me.ref, me._self, me._source, me._owner, me.props);
      return Ne;
    }
    function ye(me, Ce, Ne) {
      if (me == null)
        throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + me + ".");
      var Be, tt = t({}, me.props), xt = me.key, ut = me.ref, vt = me._self, kr = me._source, Bn = me._owner;
      if (Ce != null) {
        ue(Ce) && (ut = Ce.ref, Bn = p.current), le(Ce) && (xt = "" + Ce.key);
        var ai;
        me.type && me.type.defaultProps && (ai = me.type.defaultProps);
        for (Be in Ce)
          ne.call(Ce, Be) && !ie.hasOwnProperty(Be) && (Ce[Be] === void 0 && ai !== void 0 ? tt[Be] = ai[Be] : tt[Be] = Ce[Be]);
      }
      var Wn = arguments.length - 2;
      if (Wn === 1)
        tt.children = Ne;
      else if (Wn > 1) {
        for (var as = Array(Wn), na = 0; na < Wn; na++)
          as[na] = arguments[na + 2];
        tt.children = as;
      }
      return de(me.type, xt, ut, vt, kr, Bn, tt);
    }
    function _e(me) {
      return typeof me == "object" && me !== null && me.$$typeof === o;
    }
    var ge = ".", Me = ":";
    function Te(me) {
      var Ce = /[=:]/g, Ne = {
        "=": "=0",
        ":": "=2"
      }, Be = ("" + me).replace(Ce, function(tt) {
        return Ne[tt];
      });
      return "$" + Be;
    }
    var De = !1, oe = /\/+/g;
    function se(me) {
      return ("" + me).replace(oe, "$&/");
    }
    var fe = 10, be = [];
    function Se(me, Ce, Ne, Be) {
      if (be.length) {
        var tt = be.pop();
        return tt.result = me, tt.keyPrefix = Ce, tt.func = Ne, tt.context = Be, tt.count = 0, tt;
      } else
        return {
          result: me,
          keyPrefix: Ce,
          func: Ne,
          context: Be,
          count: 0
        };
    }
    function Ae(me) {
      me.result = null, me.keyPrefix = null, me.func = null, me.context = null, me.count = 0, be.length < fe && be.push(me);
    }
    function ze(me, Ce, Ne, Be) {
      var tt = typeof me;
      (tt === "undefined" || tt === "boolean") && (me = null);
      var xt = !1;
      if (me === null)
        xt = !0;
      else
        switch (tt) {
          case "string":
          case "number":
            xt = !0;
            break;
          case "object":
            switch (me.$$typeof) {
              case o:
              case l:
                xt = !0;
            }
        }
      if (xt)
        return Ne(
          Be,
          me,
          // If it's the only child, treat the name as if it was wrapped in an array
          // so that it's consistent if the number of children grows.
          Ce === "" ? ge + we(me, 0) : Ce
        ), 1;
      var ut, vt, kr = 0, Bn = Ce === "" ? ge : Ce + Me;
      if (Array.isArray(me))
        for (var ai = 0; ai < me.length; ai++)
          ut = me[ai], vt = Bn + we(ut, ai), kr += ze(ut, vt, Ne, Be);
      else {
        var Wn = S(me);
        if (typeof Wn == "function") {
          Wn === me.entries && (De || B("Using Maps as children is deprecated and will be removed in a future major release. Consider converting children to an array of keyed ReactElements instead."), De = !0);
          for (var as = Wn.call(me), na, Vte = 0; !(na = as.next()).done; )
            ut = na.value, vt = Bn + we(ut, Vte++), kr += ze(ut, vt, Ne, Be);
        } else if (tt === "object") {
          var GN = "";
          GN = " If you meant to render a collection of children, use an array instead." + P.getStackAddendum();
          var KN = "" + me;
          throw Error("Objects are not valid as a React child (found: " + (KN === "[object Object]" ? "object with keys {" + Object.keys(me).join(", ") + "}" : KN) + ")." + GN);
        }
      }
      return kr;
    }
    function Oe(me, Ce, Ne) {
      return me == null ? 0 : ze(me, "", Ce, Ne);
    }
    function we(me, Ce) {
      return typeof me == "object" && me !== null && me.key != null ? Te(me.key) : Ce.toString(36);
    }
    function Ve(me, Ce, Ne) {
      var Be = me.func, tt = me.context;
      Be.call(tt, Ce, me.count++);
    }
    function Ye(me, Ce, Ne) {
      if (me == null)
        return me;
      var Be = Se(null, null, Ce, Ne);
      Oe(me, Ve, Be), Ae(Be);
    }
    function xe(me, Ce, Ne) {
      var Be = me.result, tt = me.keyPrefix, xt = me.func, ut = me.context, vt = xt.call(ut, Ce, me.count++);
      Array.isArray(vt) ? je(vt, Be, Ne, function(kr) {
        return kr;
      }) : vt != null && (_e(vt) && (vt = Ee(
        vt,
        // Keep both the (mapped) and old keys if they differ, just as
        // traverseAllChildren used to do for objects as children
        tt + (vt.key && (!Ce || Ce.key !== vt.key) ? se(vt.key) + "/" : "") + Ne
      )), Be.push(vt));
    }
    function je(me, Ce, Ne, Be, tt) {
      var xt = "";
      Ne != null && (xt = se(Ne) + "/");
      var ut = Se(Ce, xt, Be, tt);
      Oe(me, xe, ut), Ae(ut);
    }
    function Dt(me, Ce, Ne) {
      if (me == null)
        return me;
      var Be = [];
      return je(me, Be, null, Ce, Ne), Be;
    }
    function dr(me) {
      return Oe(me, function() {
        return null;
      }, null);
    }
    function ke(me) {
      var Ce = [];
      return je(me, Ce, null, function(Ne) {
        return Ne;
      }), Ce;
    }
    function Ie(me) {
      if (!_e(me))
        throw Error("React.Children.only expected to receive a single React element child.");
      return me;
    }
    function He(me, Ce) {
      Ce === void 0 ? Ce = null : Ce !== null && typeof Ce != "function" && j("createContext: Expected the optional second argument to be a function. Instead received: %s", Ce);
      var Ne = {
        $$typeof: D,
        _calculateChangedBits: Ce,
        // As a workaround to support multiple concurrent renderers, we categorize
        // some renderers as primary and others as secondary. We only expect
        // there to be two concurrent renderers at most: React Native (primary) and
        // Fabric (secondary); React DOM (primary) and React ART (secondary).
        // Secondary renderers store their context values on separate fields.
        _currentValue: me,
        _currentValue2: me,
        // Used to track how many concurrent renderers this context currently
        // supports within in a single renderer. Such as parallel server rendering.
        _threadCount: 0,
        // These are circular
        Provider: null,
        Consumer: null
      };
      Ne.Provider = {
        $$typeof: C,
        _context: Ne
      };
      var Be = !1, tt = !1;
      {
        var xt = {
          $$typeof: D,
          _context: Ne,
          _calculateChangedBits: Ne._calculateChangedBits
        };
        Object.defineProperties(xt, {
          Provider: {
            get: function() {
              return tt || (tt = !0, j("Rendering <Context.Consumer.Provider> is not supported and will be removed in a future major release. Did you mean to render <Context.Provider> instead?")), Ne.Provider;
            },
            set: function(ut) {
              Ne.Provider = ut;
            }
          },
          _currentValue: {
            get: function() {
              return Ne._currentValue;
            },
            set: function(ut) {
              Ne._currentValue = ut;
            }
          },
          _currentValue2: {
            get: function() {
              return Ne._currentValue2;
            },
            set: function(ut) {
              Ne._currentValue2 = ut;
            }
          },
          _threadCount: {
            get: function() {
              return Ne._threadCount;
            },
            set: function(ut) {
              Ne._threadCount = ut;
            }
          },
          Consumer: {
            get: function() {
              return Be || (Be = !0, j("Rendering <Context.Consumer.Consumer> is not supported and will be removed in a future major release. Did you mean to render <Context.Consumer> instead?")), Ne.Consumer;
            }
          }
        }), Ne.Consumer = xt;
      }
      return Ne._currentRenderer = null, Ne._currentRenderer2 = null, Ne;
    }
    function nt(me) {
      var Ce = {
        $$typeof: A,
        _ctor: me,
        // React uses these fields to store the result.
        _status: -1,
        _result: null
      };
      {
        var Ne, Be;
        Object.defineProperties(Ce, {
          defaultProps: {
            configurable: !0,
            get: function() {
              return Ne;
            },
            set: function(tt) {
              j("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."), Ne = tt, Object.defineProperty(Ce, "defaultProps", {
                enumerable: !0
              });
            }
          },
          propTypes: {
            configurable: !0,
            get: function() {
              return Be;
            },
            set: function(tt) {
              j("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."), Be = tt, Object.defineProperty(Ce, "propTypes", {
                enumerable: !0
              });
            }
          }
        });
      }
      return Ce;
    }
    function Qt(me) {
      return me != null && me.$$typeof === z ? j("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).") : typeof me != "function" ? j("forwardRef requires a render function but was given %s.", me === null ? "null" : typeof me) : me.length !== 0 && me.length !== 2 && j("forwardRef render functions accept exactly two parameters: props and ref. %s", me.length === 1 ? "Did you forget to use the ref parameter?" : "Any additional parameter will be undefined."), me != null && (me.defaultProps != null || me.propTypes != null) && j("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?"), {
        $$typeof: M,
        render: me
      };
    }
    function Xr(me) {
      return typeof me == "string" || typeof me == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
      me === c || me === x || me === y || me === g || me === N || me === F || typeof me == "object" && me !== null && (me.$$typeof === A || me.$$typeof === z || me.$$typeof === C || me.$$typeof === D || me.$$typeof === M || me.$$typeof === a || me.$$typeof === s || me.$$typeof === h || me.$$typeof === u);
    }
    function ra(me, Ce) {
      return Xr(me) || j("memo: The first argument must be a component. Instead received: %s", me === null ? "null" : typeof me), {
        $$typeof: z,
        type: me,
        compare: Ce === void 0 ? null : Ce
      };
    }
    function Qr() {
      var me = _.current;
      if (me === null)
        throw Error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
See https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.`);
      return me;
    }
    function j_(me, Ce) {
      var Ne = Qr();
      if (Ce !== void 0 && j("useContext() second argument is reserved for future use in React. Passing it is not supported. You passed: %s.%s", Ce, typeof Ce == "number" && Array.isArray(arguments[2]) ? `

Did you call array.map(useContext)? Calling Hooks inside a loop is not supported. Learn more at https://fb.me/rules-of-hooks` : ""), me._context !== void 0) {
        var Be = me._context;
        Be.Consumer === me ? j("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?") : Be.Provider === me && j("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?");
      }
      return Ne.useContext(me, Ce);
    }
    function sp(me) {
      var Ce = Qr();
      return Ce.useState(me);
    }
    function U_(me, Ce, Ne) {
      var Be = Qr();
      return Be.useReducer(me, Ce, Ne);
    }
    function q_(me) {
      var Ce = Qr();
      return Ce.useRef(me);
    }
    function z_(me, Ce) {
      var Ne = Qr();
      return Ne.useEffect(me, Ce);
    }
    function B_(me, Ce) {
      var Ne = Qr();
      return Ne.useLayoutEffect(me, Ce);
    }
    function W_(me, Ce) {
      var Ne = Qr();
      return Ne.useCallback(me, Ce);
    }
    function $_(me, Ce) {
      var Ne = Qr();
      return Ne.useMemo(me, Ce);
    }
    function Or(me, Ce, Ne) {
      var Be = Qr();
      return Be.useImperativeHandle(me, Ce, Ne);
    }
    function V_(me, Ce) {
      {
        var Ne = Qr();
        return Ne.useDebugValue(me, Ce);
      }
    }
    var Kl;
    Kl = !1;
    function up() {
      if (p.current) {
        var me = w(p.current.type);
        if (me)
          return `

Check the render method of \`` + me + "`.";
      }
      return "";
    }
    function H_(me) {
      if (me !== void 0) {
        var Ce = me.fileName.replace(/^.*[\\\/]/, ""), Ne = me.lineNumber;
        return `

Check your code at ` + Ce + ":" + Ne + ".";
      }
      return "";
    }
    function Y_(me) {
      return me != null ? H_(me.__source) : "";
    }
    var hu = {};
    function Xl(me) {
      var Ce = up();
      if (!Ce) {
        var Ne = typeof me == "string" ? me : me.displayName || me.name;
        Ne && (Ce = `

Check the top-level render call using <` + Ne + ">.");
      }
      return Ce;
    }
    function Ql(me, Ce) {
      if (!(!me._store || me._store.validated || me.key != null)) {
        me._store.validated = !0;
        var Ne = Xl(Ce);
        if (!hu[Ne]) {
          hu[Ne] = !0;
          var Be = "";
          me && me._owner && me._owner !== p.current && (Be = " It was passed a child from " + w(me._owner.type) + "."), L(me), j('Each child in a list should have a unique "key" prop.%s%s See https://fb.me/react-warning-keys for more information.', Ne, Be), L(null);
        }
      }
    }
    function lp(me, Ce) {
      if (typeof me == "object") {
        if (Array.isArray(me))
          for (var Ne = 0; Ne < me.length; Ne++) {
            var Be = me[Ne];
            _e(Be) && Ql(Be, Ce);
          }
        else if (_e(me))
          me._store && (me._store.validated = !0);
        else if (me) {
          var tt = S(me);
          if (typeof tt == "function" && tt !== me.entries)
            for (var xt = tt.call(me), ut; !(ut = xt.next()).done; )
              _e(ut.value) && Ql(ut.value, Ce);
        }
      }
    }
    function Tr(me) {
      {
        var Ce = me.type;
        if (Ce == null || typeof Ce == "string")
          return;
        var Ne = w(Ce), Be;
        if (typeof Ce == "function")
          Be = Ce.propTypes;
        else if (typeof Ce == "object" && (Ce.$$typeof === M || // Note: Memo only checks outer props here.
        // Inner props are checked in the reconciler.
        Ce.$$typeof === z))
          Be = Ce.propTypes;
        else
          return;
        Be ? (L(me), r(Be, me.props, "prop", Ne, P.getStackAddendum), L(null)) : Ce.PropTypes !== void 0 && !Kl && (Kl = !0, j("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", Ne || "Unknown")), typeof Ce.getDefaultProps == "function" && !Ce.getDefaultProps.isReactClassApproved && j("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
      }
    }
    function is(me) {
      {
        L(me);
        for (var Ce = Object.keys(me.props), Ne = 0; Ne < Ce.length; Ne++) {
          var Be = Ce[Ne];
          if (Be !== "children" && Be !== "key") {
            j("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", Be);
            break;
          }
        }
        me.ref !== null && j("Invalid attribute `ref` supplied to `React.Fragment`."), L(null);
      }
    }
    function cp(me, Ce, Ne) {
      var Be = Xr(me);
      if (!Be) {
        var tt = "";
        (me === void 0 || typeof me == "object" && me !== null && Object.keys(me).length === 0) && (tt += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
        var xt = Y_(Ce);
        xt ? tt += xt : tt += up();
        var ut;
        me === null ? ut = "null" : Array.isArray(me) ? ut = "array" : me !== void 0 && me.$$typeof === o ? (ut = "<" + (w(me.type) || "Unknown") + " />", tt = " Did you accidentally export a JSX literal instead of a component?") : ut = typeof me, j("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", ut, tt);
      }
      var vt = he.apply(this, arguments);
      if (vt == null)
        return vt;
      if (Be)
        for (var kr = 2; kr < arguments.length; kr++)
          lp(arguments[kr], me);
      return me === c ? is(vt) : Tr(vt), vt;
    }
    var fp = !1;
    function G_(me) {
      var Ce = cp.bind(null, me);
      return Ce.type = me, fp || (fp = !0, B("React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.")), Object.defineProperty(Ce, "type", {
        enumerable: !1,
        get: function() {
          return B("Factory.type is deprecated. Access the class directly before passing it to createFactory."), Object.defineProperty(this, "type", {
            value: me
          }), me;
        }
      }), Ce;
    }
    function K_(me, Ce, Ne) {
      for (var Be = ye.apply(this, arguments), tt = 2; tt < arguments.length; tt++)
        lp(arguments[tt], Be.type);
      return Tr(Be), Be;
    }
    try {
      var ve = Object.freeze({}), Re = /* @__PURE__ */ new Map([[ve, null]]), Le = /* @__PURE__ */ new Set([ve]);
      Re.set(0, 0), Le.add(0);
    } catch {
    }
    var Je = cp, ct = K_, Ht = G_, Rn = {
      map: Dt,
      forEach: Ye,
      count: dr,
      toArray: ke,
      only: Ie
    };
    zt.Children = Rn, zt.Component = G, zt.Fragment = c, zt.Profiler = y, zt.PureComponent = Q, zt.StrictMode = g, zt.Suspense = N, zt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = q, zt.cloneElement = ct, zt.createContext = He, zt.createElement = Je, zt.createFactory = Ht, zt.createRef = J, zt.forwardRef = Qt, zt.isValidElement = _e, zt.lazy = nt, zt.memo = ra, zt.useCallback = W_, zt.useContext = j_, zt.useDebugValue = V_, zt.useEffect = z_, zt.useImperativeHandle = Or, zt.useLayoutEffect = B_, zt.useMemo = $_, zt.useReducer = U_, zt.useRef = q_, zt.useState = sp, zt.version = n;
  }(), zt;
}
var VI;
function Hi() {
  if (VI) return hp.exports;
  VI = 1;
  var e = {};
  return e.NODE_ENV === "production" ? hp.exports = Bre() : hp.exports = Wre(), hp.exports;
}
var q0, HI;
function my() {
  if (HI) return q0;
  HI = 1;
  var e = {
    childContextTypes: !0,
    contextTypes: !0,
    defaultProps: !0,
    displayName: !0,
    getDefaultProps: !0,
    getDerivedStateFromProps: !0,
    mixins: !0,
    propTypes: !0,
    type: !0
  }, t = {
    name: !0,
    length: !0,
    prototype: !0,
    caller: !0,
    callee: !0,
    arguments: !0,
    arity: !0
  }, r = Object.defineProperty, n = Object.getOwnPropertyNames, i = Object.getOwnPropertySymbols, o = Object.getOwnPropertyDescriptor, l = Object.getPrototypeOf, c = l && l(Object);
  function g(y, C, D) {
    if (typeof C != "string") {
      if (c) {
        var x = l(C);
        x && x !== c && g(y, x, D);
      }
      var M = n(C);
      i && (M = M.concat(i(C)));
      for (var N = 0; N < M.length; ++N) {
        var F = M[N];
        if (!e[F] && !t[F] && (!D || !D[F])) {
          var z = o(C, F);
          try {
            r(y, F, z);
          } catch {
          }
        }
      }
      return y;
    }
    return y;
  }
  return q0 = g, q0;
}
var mp = { exports: {} }, z0, YI;
function Ir() {
  if (YI) return z0;
  YI = 1;
  var e = Array.isArray;
  return z0 = e, z0;
}
var B0, GI;
function $re() {
  if (GI) return B0;
  GI = 1;
  function e(t, r) {
    for (var n = -1, i = t == null ? 0 : t.length; ++n < i && r(t[n], n, t) !== !1; )
      ;
    return t;
  }
  return B0 = e, B0;
}
var W0, KI;
function Vre() {
  if (KI) return W0;
  KI = 1;
  function e(t) {
    return function(r, n, i) {
      for (var o = -1, l = Object(r), c = i(r), g = c.length; g--; ) {
        var y = c[t ? g : ++o];
        if (n(l[y], y, l) === !1)
          break;
      }
      return r;
    };
  }
  return W0 = e, W0;
}
var $0, XI;
function Hre() {
  if (XI) return $0;
  XI = 1;
  var e = Vre(), t = e();
  return $0 = t, $0;
}
var V0, QI;
function Yre() {
  if (QI) return V0;
  QI = 1;
  function e(t, r) {
    for (var n = -1, i = Array(t); ++n < t; )
      i[n] = r(n);
    return i;
  }
  return V0 = e, V0;
}
var H0, ZI;
function oo() {
  if (ZI) return H0;
  ZI = 1;
  function e(t) {
    return t != null && typeof t == "object";
  }
  return H0 = e, H0;
}
var Y0, JI;
function Gre() {
  if (JI) return Y0;
  JI = 1;
  var e = Ho(), t = oo(), r = "[object Arguments]";
  function n(i) {
    return t(i) && e(i) == r;
  }
  return Y0 = n, Y0;
}
var G0, eF;
function YD() {
  if (eF) return G0;
  eF = 1;
  var e = Gre(), t = oo(), r = Object.prototype, n = r.hasOwnProperty, i = r.propertyIsEnumerable, o = e(/* @__PURE__ */ function() {
    return arguments;
  }()) ? e : function(l) {
    return t(l) && n.call(l, "callee") && !i.call(l, "callee");
  };
  return G0 = o, G0;
}
var sf = { exports: {} }, K0, tF;
function Kre() {
  if (tF) return K0;
  tF = 1;
  function e() {
    return !1;
  }
  return K0 = e, K0;
}
sf.exports;
var rF;
function bV() {
  return rF || (rF = 1, function(e, t) {
    var r = ao(), n = Kre(), i = t && !t.nodeType && t, o = i && !0 && e && !e.nodeType && e, l = o && o.exports === i, c = l ? r.Buffer : void 0, g = c ? c.isBuffer : void 0, y = g || n;
    e.exports = y;
  }(sf, sf.exports)), sf.exports;
}
var X0, nF;
function GD() {
  if (nF) return X0;
  nF = 1;
  var e = 9007199254740991, t = /^(?:0|[1-9]\d*)$/;
  function r(n, i) {
    var o = typeof n;
    return i = i ?? e, !!i && (o == "number" || o != "symbol" && t.test(n)) && n > -1 && n % 1 == 0 && n < i;
  }
  return X0 = r, X0;
}
var Q0, iF;
function KD() {
  if (iF) return Q0;
  iF = 1;
  var e = 9007199254740991;
  function t(r) {
    return typeof r == "number" && r > -1 && r % 1 == 0 && r <= e;
  }
  return Q0 = t, Q0;
}
var Z0, aF;
function Xre() {
  if (aF) return Z0;
  aF = 1;
  var e = Ho(), t = KD(), r = oo(), n = "[object Arguments]", i = "[object Array]", o = "[object Boolean]", l = "[object Date]", c = "[object Error]", g = "[object Function]", y = "[object Map]", C = "[object Number]", D = "[object Object]", x = "[object RegExp]", M = "[object Set]", N = "[object String]", F = "[object WeakMap]", z = "[object ArrayBuffer]", A = "[object DataView]", u = "[object Float32Array]", a = "[object Float64Array]", s = "[object Int8Array]", h = "[object Int16Array]", E = "[object Int32Array]", f = "[object Uint8Array]", S = "[object Uint8ClampedArray]", _ = "[object Uint16Array]", d = "[object Uint32Array]", p = {};
  p[u] = p[a] = p[s] = p[h] = p[E] = p[f] = p[S] = p[_] = p[d] = !0, p[n] = p[i] = p[z] = p[o] = p[A] = p[l] = p[c] = p[g] = p[y] = p[C] = p[D] = p[x] = p[M] = p[N] = p[F] = !1;
  function b(m) {
    return r(m) && t(m.length) && !!p[e(m)];
  }
  return Z0 = b, Z0;
}
var J0, oF;
function XD() {
  if (oF) return J0;
  oF = 1;
  function e(t) {
    return function(r) {
      return t(r);
    };
  }
  return J0 = e, J0;
}
var uf = { exports: {} };
uf.exports;
var sF;
function Qre() {
  return sF || (sF = 1, function(e, t) {
    var r = yV(), n = t && !t.nodeType && t, i = n && !0 && e && !e.nodeType && e, o = i && i.exports === n, l = o && r.process, c = function() {
      try {
        var g = i && i.require && i.require("util").types;
        return g || l && l.binding && l.binding("util");
      } catch {
      }
    }();
    e.exports = c;
  }(uf, uf.exports)), uf.exports;
}
var e1, uF;
function _V() {
  if (uF) return e1;
  uF = 1;
  var e = Xre(), t = XD(), r = Qre(), n = r && r.isTypedArray, i = n ? t(n) : e;
  return e1 = i, e1;
}
var t1, lF;
function EV() {
  if (lF) return t1;
  lF = 1;
  var e = Yre(), t = YD(), r = Ir(), n = bV(), i = GD(), o = _V(), l = Object.prototype, c = l.hasOwnProperty;
  function g(y, C) {
    var D = r(y), x = !D && t(y), M = !D && !x && n(y), N = !D && !x && !M && o(y), F = D || x || M || N, z = F ? e(y.length, String) : [], A = z.length;
    for (var u in y)
      (C || c.call(y, u)) && !(F && // Safari 9 has enumerable `arguments.length` in strict mode.
      (u == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
      M && (u == "offset" || u == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
      N && (u == "buffer" || u == "byteLength" || u == "byteOffset") || // Skip index properties.
      i(u, A))) && z.push(u);
    return z;
  }
  return t1 = g, t1;
}
var r1, cF;
function QD() {
  if (cF) return r1;
  cF = 1;
  var e = Object.prototype;
  function t(r) {
    var n = r && r.constructor, i = typeof n == "function" && n.prototype || e;
    return r === i;
  }
  return r1 = t, r1;
}
var n1, fF;
function SV() {
  if (fF) return n1;
  fF = 1;
  function e(t, r) {
    return function(n) {
      return t(r(n));
    };
  }
  return n1 = e, n1;
}
var i1, dF;
function Zre() {
  if (dF) return i1;
  dF = 1;
  var e = SV(), t = e(Object.keys, Object);
  return i1 = t, i1;
}
var a1, pF;
function Jre() {
  if (pF) return a1;
  pF = 1;
  var e = QD(), t = Zre(), r = Object.prototype, n = r.hasOwnProperty;
  function i(o) {
    if (!e(o))
      return t(o);
    var l = [];
    for (var c in Object(o))
      n.call(o, c) && c != "constructor" && l.push(c);
    return l;
  }
  return a1 = i, a1;
}
var o1, hF;
function Gs() {
  if (hF) return o1;
  hF = 1;
  var e = hy(), t = KD();
  function r(n) {
    return n != null && t(n.length) && !e(n);
  }
  return o1 = r, o1;
}
var s1, mF;
function ud() {
  if (mF) return s1;
  mF = 1;
  var e = EV(), t = Jre(), r = Gs();
  function n(i) {
    return r(i) ? e(i) : t(i);
  }
  return s1 = n, s1;
}
var u1, vF;
function ene() {
  if (vF) return u1;
  vF = 1;
  var e = Hre(), t = ud();
  function r(n, i) {
    return n && e(n, i, t);
  }
  return u1 = r, u1;
}
var l1, gF;
function tne() {
  if (gF) return l1;
  gF = 1;
  var e = Gs();
  function t(r, n) {
    return function(i, o) {
      if (i == null)
        return i;
      if (!e(i))
        return r(i, o);
      for (var l = i.length, c = n ? l : -1, g = Object(i); (n ? c-- : ++c < l) && o(g[c], c, g) !== !1; )
        ;
      return i;
    };
  }
  return l1 = t, l1;
}
var c1, yF;
function wV() {
  if (yF) return c1;
  yF = 1;
  var e = ene(), t = tne(), r = t(e);
  return c1 = r, c1;
}
var f1, bF;
function vy() {
  if (bF) return f1;
  bF = 1;
  function e(t) {
    return t;
  }
  return f1 = e, f1;
}
var d1, _F;
function rne() {
  if (_F) return d1;
  _F = 1;
  var e = vy();
  function t(r) {
    return typeof r == "function" ? r : e;
  }
  return d1 = t, d1;
}
var p1, EF;
function OV() {
  if (EF) return p1;
  EF = 1;
  var e = $re(), t = wV(), r = rne(), n = Ir();
  function i(o, l) {
    var c = n(o) ? e : t;
    return c(o, r(l));
  }
  return p1 = i, p1;
}
var vp = { exports: {} }, SF;
function nne() {
  return SF || (SF = 1, function(e, t) {
    Object.defineProperty(t, "__esModule", {
      value: !0
    });
    function r(n, i) {
      for (var o = Object.getOwnPropertyNames(i), l = 0; l < o.length; l++) {
        var c = o[l], g = Object.getOwnPropertyDescriptor(i, c);
        g && g.configurable && n[c] === void 0 && Object.defineProperty(n, c, g);
      }
      return n;
    }
    t.default = function(n) {
      var i = void 0;
      if (n.constructor === Array)
        i = n.map(function(l) {
          return l;
        });
      else {
        i = {};
        for (var o in n)
          n.hasOwnProperty(o) && (i[o] = n[o]);
      }
      return r(i, Object.getPrototypeOf(n)), i;
    }, e.exports = t.default;
  }(vp, vp.exports)), vp.exports;
}
var gp = { exports: {} }, wF;
function ine() {
  return wF || (wF = 1, function(e, t) {
    Object.defineProperty(t, "__esModule", {
      value: !0
    });
    var r = Vi(), n = l(r), i = hy(), o = l(i);
    function l(y) {
      return y && y.__esModule ? y : { default: y };
    }
    var c = typeof Symbol < "u" && (0, o.default)(Symbol) && Symbol.iterator, g = "@@iterator";
    t.default = function(y) {
      var C = void 0;
      return (0, n.default)(y) ? (c ? C = y[c] : C = y[g], (0, o.default)(C)) : !1;
    }, e.exports = t.default;
  }(gp, gp.exports)), gp.exports;
}
var yp = { exports: {} }, h1, OF;
function ZD() {
  if (OF) return h1;
  OF = 1;
  function e(t, r) {
    for (var n = -1, i = t == null ? 0 : t.length, o = 0, l = []; ++n < i; ) {
      var c = t[n];
      r(c, n, t) && (l[o++] = c);
    }
    return l;
  }
  return h1 = e, h1;
}
var m1, TF;
function ane() {
  if (TF) return m1;
  TF = 1;
  var e = wV();
  function t(r, n) {
    var i = [];
    return e(r, function(o, l, c) {
      n(o, l, c) && i.push(o);
    }), i;
  }
  return m1 = t, m1;
}
var v1, CF;
function one() {
  if (CF) return v1;
  CF = 1;
  function e() {
    this.__data__ = [], this.size = 0;
  }
  return v1 = e, v1;
}
var g1, xF;
function ld() {
  if (xF) return g1;
  xF = 1;
  function e(t, r) {
    return t === r || t !== t && r !== r;
  }
  return g1 = e, g1;
}
var y1, AF;
function gy() {
  if (AF) return y1;
  AF = 1;
  var e = ld();
  function t(r, n) {
    for (var i = r.length; i--; )
      if (e(r[i][0], n))
        return i;
    return -1;
  }
  return y1 = t, y1;
}
var b1, DF;
function sne() {
  if (DF) return b1;
  DF = 1;
  var e = gy(), t = Array.prototype, r = t.splice;
  function n(i) {
    var o = this.__data__, l = e(o, i);
    if (l < 0)
      return !1;
    var c = o.length - 1;
    return l == c ? o.pop() : r.call(o, l, 1), --this.size, !0;
  }
  return b1 = n, b1;
}
var _1, PF;
function une() {
  if (PF) return _1;
  PF = 1;
  var e = gy();
  function t(r) {
    var n = this.__data__, i = e(n, r);
    return i < 0 ? void 0 : n[i][1];
  }
  return _1 = t, _1;
}
var E1, kF;
function lne() {
  if (kF) return E1;
  kF = 1;
  var e = gy();
  function t(r) {
    return e(this.__data__, r) > -1;
  }
  return E1 = t, E1;
}
var S1, RF;
function cne() {
  if (RF) return S1;
  RF = 1;
  var e = gy();
  function t(r, n) {
    var i = this.__data__, o = e(i, r);
    return o < 0 ? (++this.size, i.push([r, n])) : i[o][1] = n, this;
  }
  return S1 = t, S1;
}
var w1, MF;
function yy() {
  if (MF) return w1;
  MF = 1;
  var e = one(), t = sne(), r = une(), n = lne(), i = cne();
  function o(l) {
    var c = -1, g = l == null ? 0 : l.length;
    for (this.clear(); ++c < g; ) {
      var y = l[c];
      this.set(y[0], y[1]);
    }
  }
  return o.prototype.clear = e, o.prototype.delete = t, o.prototype.get = r, o.prototype.has = n, o.prototype.set = i, w1 = o, w1;
}
var O1, NF;
function fne() {
  if (NF) return O1;
  NF = 1;
  var e = yy();
  function t() {
    this.__data__ = new e(), this.size = 0;
  }
  return O1 = t, O1;
}
var T1, IF;
function dne() {
  if (IF) return T1;
  IF = 1;
  function e(t) {
    var r = this.__data__, n = r.delete(t);
    return this.size = r.size, n;
  }
  return T1 = e, T1;
}
var C1, FF;
function pne() {
  if (FF) return C1;
  FF = 1;
  function e(t) {
    return this.__data__.get(t);
  }
  return C1 = e, C1;
}
var x1, LF;
function hne() {
  if (LF) return x1;
  LF = 1;
  function e(t) {
    return this.__data__.has(t);
  }
  return x1 = e, x1;
}
var A1, jF;
function mne() {
  if (jF) return A1;
  jF = 1;
  var e = ao(), t = e["__core-js_shared__"];
  return A1 = t, A1;
}
var D1, UF;
function vne() {
  if (UF) return D1;
  UF = 1;
  var e = mne(), t = function() {
    var n = /[^.]+$/.exec(e && e.keys && e.keys.IE_PROTO || "");
    return n ? "Symbol(src)_1." + n : "";
  }();
  function r(n) {
    return !!t && t in n;
  }
  return D1 = r, D1;
}
var P1, qF;
function TV() {
  if (qF) return P1;
  qF = 1;
  var e = Function.prototype, t = e.toString;
  function r(n) {
    if (n != null) {
      try {
        return t.call(n);
      } catch {
      }
      try {
        return n + "";
      } catch {
      }
    }
    return "";
  }
  return P1 = r, P1;
}
var k1, zF;
function gne() {
  if (zF) return k1;
  zF = 1;
  var e = hy(), t = vne(), r = Vi(), n = TV(), i = /[\\^$.*+?()[\]{}|]/g, o = /^\[object .+?Constructor\]$/, l = Function.prototype, c = Object.prototype, g = l.toString, y = c.hasOwnProperty, C = RegExp(
    "^" + g.call(y).replace(i, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
  );
  function D(x) {
    if (!r(x) || t(x))
      return !1;
    var M = e(x) ? C : o;
    return M.test(n(x));
  }
  return k1 = D, k1;
}
var R1, BF;
function yne() {
  if (BF) return R1;
  BF = 1;
  function e(t, r) {
    return t == null ? void 0 : t[r];
  }
  return R1 = e, R1;
}
var M1, WF;
function Ks() {
  if (WF) return M1;
  WF = 1;
  var e = gne(), t = yne();
  function r(n, i) {
    var o = t(n, i);
    return e(o) ? o : void 0;
  }
  return M1 = r, M1;
}
var N1, $F;
function JD() {
  if ($F) return N1;
  $F = 1;
  var e = Ks(), t = ao(), r = e(t, "Map");
  return N1 = r, N1;
}
var I1, VF;
function by() {
  if (VF) return I1;
  VF = 1;
  var e = Ks(), t = e(Object, "create");
  return I1 = t, I1;
}
var F1, HF;
function bne() {
  if (HF) return F1;
  HF = 1;
  var e = by();
  function t() {
    this.__data__ = e ? e(null) : {}, this.size = 0;
  }
  return F1 = t, F1;
}
var L1, YF;
function _ne() {
  if (YF) return L1;
  YF = 1;
  function e(t) {
    var r = this.has(t) && delete this.__data__[t];
    return this.size -= r ? 1 : 0, r;
  }
  return L1 = e, L1;
}
var j1, GF;
function Ene() {
  if (GF) return j1;
  GF = 1;
  var e = by(), t = "__lodash_hash_undefined__", r = Object.prototype, n = r.hasOwnProperty;
  function i(o) {
    var l = this.__data__;
    if (e) {
      var c = l[o];
      return c === t ? void 0 : c;
    }
    return n.call(l, o) ? l[o] : void 0;
  }
  return j1 = i, j1;
}
var U1, KF;
function Sne() {
  if (KF) return U1;
  KF = 1;
  var e = by(), t = Object.prototype, r = t.hasOwnProperty;
  function n(i) {
    var o = this.__data__;
    return e ? o[i] !== void 0 : r.call(o, i);
  }
  return U1 = n, U1;
}
var q1, XF;
function wne() {
  if (XF) return q1;
  XF = 1;
  var e = by(), t = "__lodash_hash_undefined__";
  function r(n, i) {
    var o = this.__data__;
    return this.size += this.has(n) ? 0 : 1, o[n] = e && i === void 0 ? t : i, this;
  }
  return q1 = r, q1;
}
var z1, QF;
function One() {
  if (QF) return z1;
  QF = 1;
  var e = bne(), t = _ne(), r = Ene(), n = Sne(), i = wne();
  function o(l) {
    var c = -1, g = l == null ? 0 : l.length;
    for (this.clear(); ++c < g; ) {
      var y = l[c];
      this.set(y[0], y[1]);
    }
  }
  return o.prototype.clear = e, o.prototype.delete = t, o.prototype.get = r, o.prototype.has = n, o.prototype.set = i, z1 = o, z1;
}
var B1, ZF;
function Tne() {
  if (ZF) return B1;
  ZF = 1;
  var e = One(), t = yy(), r = JD();
  function n() {
    this.size = 0, this.__data__ = {
      hash: new e(),
      map: new (r || t)(),
      string: new e()
    };
  }
  return B1 = n, B1;
}
var W1, JF;
function Cne() {
  if (JF) return W1;
  JF = 1;
  function e(t) {
    var r = typeof t;
    return r == "string" || r == "number" || r == "symbol" || r == "boolean" ? t !== "__proto__" : t === null;
  }
  return W1 = e, W1;
}
var $1, e2;
function _y() {
  if (e2) return $1;
  e2 = 1;
  var e = Cne();
  function t(r, n) {
    var i = r.__data__;
    return e(n) ? i[typeof n == "string" ? "string" : "hash"] : i.map;
  }
  return $1 = t, $1;
}
var V1, t2;
function xne() {
  if (t2) return V1;
  t2 = 1;
  var e = _y();
  function t(r) {
    var n = e(this, r).delete(r);
    return this.size -= n ? 1 : 0, n;
  }
  return V1 = t, V1;
}
var H1, r2;
function Ane() {
  if (r2) return H1;
  r2 = 1;
  var e = _y();
  function t(r) {
    return e(this, r).get(r);
  }
  return H1 = t, H1;
}
var Y1, n2;
function Dne() {
  if (n2) return Y1;
  n2 = 1;
  var e = _y();
  function t(r) {
    return e(this, r).has(r);
  }
  return Y1 = t, Y1;
}
var G1, i2;
function Pne() {
  if (i2) return G1;
  i2 = 1;
  var e = _y();
  function t(r, n) {
    var i = e(this, r), o = i.size;
    return i.set(r, n), this.size += i.size == o ? 0 : 1, this;
  }
  return G1 = t, G1;
}
var K1, a2;
function eP() {
  if (a2) return K1;
  a2 = 1;
  var e = Tne(), t = xne(), r = Ane(), n = Dne(), i = Pne();
  function o(l) {
    var c = -1, g = l == null ? 0 : l.length;
    for (this.clear(); ++c < g; ) {
      var y = l[c];
      this.set(y[0], y[1]);
    }
  }
  return o.prototype.clear = e, o.prototype.delete = t, o.prototype.get = r, o.prototype.has = n, o.prototype.set = i, K1 = o, K1;
}
var X1, o2;
function kne() {
  if (o2) return X1;
  o2 = 1;
  var e = yy(), t = JD(), r = eP(), n = 200;
  function i(o, l) {
    var c = this.__data__;
    if (c instanceof e) {
      var g = c.__data__;
      if (!t || g.length < n - 1)
        return g.push([o, l]), this.size = ++c.size, this;
      c = this.__data__ = new r(g);
    }
    return c.set(o, l), this.size = c.size, this;
  }
  return X1 = i, X1;
}
var Q1, s2;
function CV() {
  if (s2) return Q1;
  s2 = 1;
  var e = yy(), t = fne(), r = dne(), n = pne(), i = hne(), o = kne();
  function l(c) {
    var g = this.__data__ = new e(c);
    this.size = g.size;
  }
  return l.prototype.clear = t, l.prototype.delete = r, l.prototype.get = n, l.prototype.has = i, l.prototype.set = o, Q1 = l, Q1;
}
var Z1, u2;
function Rne() {
  if (u2) return Z1;
  u2 = 1;
  var e = "__lodash_hash_undefined__";
  function t(r) {
    return this.__data__.set(r, e), this;
  }
  return Z1 = t, Z1;
}
var J1, l2;
function Mne() {
  if (l2) return J1;
  l2 = 1;
  function e(t) {
    return this.__data__.has(t);
  }
  return J1 = e, J1;
}
var eE, c2;
function Ey() {
  if (c2) return eE;
  c2 = 1;
  var e = eP(), t = Rne(), r = Mne();
  function n(i) {
    var o = -1, l = i == null ? 0 : i.length;
    for (this.__data__ = new e(); ++o < l; )
      this.add(i[o]);
  }
  return n.prototype.add = n.prototype.push = t, n.prototype.has = r, eE = n, eE;
}
var tE, f2;
function Nne() {
  if (f2) return tE;
  f2 = 1;
  function e(t, r) {
    for (var n = -1, i = t == null ? 0 : t.length; ++n < i; )
      if (r(t[n], n, t))
        return !0;
    return !1;
  }
  return tE = e, tE;
}
var rE, d2;
function Sy() {
  if (d2) return rE;
  d2 = 1;
  function e(t, r) {
    return t.has(r);
  }
  return rE = e, rE;
}
var nE, p2;
function xV() {
  if (p2) return nE;
  p2 = 1;
  var e = Ey(), t = Nne(), r = Sy(), n = 1, i = 2;
  function o(l, c, g, y, C, D) {
    var x = g & n, M = l.length, N = c.length;
    if (M != N && !(x && N > M))
      return !1;
    var F = D.get(l), z = D.get(c);
    if (F && z)
      return F == c && z == l;
    var A = -1, u = !0, a = g & i ? new e() : void 0;
    for (D.set(l, c), D.set(c, l); ++A < M; ) {
      var s = l[A], h = c[A];
      if (y)
        var E = x ? y(h, s, A, c, l, D) : y(s, h, A, l, c, D);
      if (E !== void 0) {
        if (E)
          continue;
        u = !1;
        break;
      }
      if (a) {
        if (!t(c, function(f, S) {
          if (!r(a, S) && (s === f || C(s, f, g, y, D)))
            return a.push(S);
        })) {
          u = !1;
          break;
        }
      } else if (!(s === h || C(s, h, g, y, D))) {
        u = !1;
        break;
      }
    }
    return D.delete(l), D.delete(c), u;
  }
  return nE = o, nE;
}
var iE, h2;
function Ine() {
  if (h2) return iE;
  h2 = 1;
  var e = ao(), t = e.Uint8Array;
  return iE = t, iE;
}
var aE, m2;
function Fne() {
  if (m2) return aE;
  m2 = 1;
  function e(t) {
    var r = -1, n = Array(t.size);
    return t.forEach(function(i, o) {
      n[++r] = [o, i];
    }), n;
  }
  return aE = e, aE;
}
var oE, v2;
function tP() {
  if (v2) return oE;
  v2 = 1;
  function e(t) {
    var r = -1, n = Array(t.size);
    return t.forEach(function(i) {
      n[++r] = i;
    }), n;
  }
  return oE = e, oE;
}
var sE, g2;
function Lne() {
  if (g2) return sE;
  g2 = 1;
  var e = sd(), t = Ine(), r = ld(), n = xV(), i = Fne(), o = tP(), l = 1, c = 2, g = "[object Boolean]", y = "[object Date]", C = "[object Error]", D = "[object Map]", x = "[object Number]", M = "[object RegExp]", N = "[object Set]", F = "[object String]", z = "[object Symbol]", A = "[object ArrayBuffer]", u = "[object DataView]", a = e ? e.prototype : void 0, s = a ? a.valueOf : void 0;
  function h(E, f, S, _, d, p, b) {
    switch (S) {
      case u:
        if (E.byteLength != f.byteLength || E.byteOffset != f.byteOffset)
          return !1;
        E = E.buffer, f = f.buffer;
      case A:
        return !(E.byteLength != f.byteLength || !p(new t(E), new t(f)));
      case g:
      case y:
      case x:
        return r(+E, +f);
      case C:
        return E.name == f.name && E.message == f.message;
      case M:
      case F:
        return E == f + "";
      case D:
        var m = i;
      case N:
        var v = _ & l;
        if (m || (m = o), E.size != f.size && !v)
          return !1;
        var O = b.get(E);
        if (O)
          return O == f;
        _ |= c, b.set(E, f);
        var T = n(m(E), m(f), _, d, p, b);
        return b.delete(E), T;
      case z:
        if (s)
          return s.call(E) == s.call(f);
    }
    return !1;
  }
  return sE = h, sE;
}
var uE, y2;
function AV() {
  if (y2) return uE;
  y2 = 1;
  function e(t, r) {
    for (var n = -1, i = r.length, o = t.length; ++n < i; )
      t[o + n] = r[n];
    return t;
  }
  return uE = e, uE;
}
var lE, b2;
function jne() {
  if (b2) return lE;
  b2 = 1;
  var e = AV(), t = Ir();
  function r(n, i, o) {
    var l = i(n);
    return t(n) ? l : e(l, o(n));
  }
  return lE = r, lE;
}
var cE, _2;
function Une() {
  if (_2) return cE;
  _2 = 1;
  function e() {
    return [];
  }
  return cE = e, cE;
}
var fE, E2;
function qne() {
  if (E2) return fE;
  E2 = 1;
  var e = ZD(), t = Une(), r = Object.prototype, n = r.propertyIsEnumerable, i = Object.getOwnPropertySymbols, o = i ? function(l) {
    return l == null ? [] : (l = Object(l), e(i(l), function(c) {
      return n.call(l, c);
    }));
  } : t;
  return fE = o, fE;
}
var dE, S2;
function zne() {
  if (S2) return dE;
  S2 = 1;
  var e = jne(), t = qne(), r = ud();
  function n(i) {
    return e(i, r, t);
  }
  return dE = n, dE;
}
var pE, w2;
function Bne() {
  if (w2) return pE;
  w2 = 1;
  var e = zne(), t = 1, r = Object.prototype, n = r.hasOwnProperty;
  function i(o, l, c, g, y, C) {
    var D = c & t, x = e(o), M = x.length, N = e(l), F = N.length;
    if (M != F && !D)
      return !1;
    for (var z = M; z--; ) {
      var A = x[z];
      if (!(D ? A in l : n.call(l, A)))
        return !1;
    }
    var u = C.get(o), a = C.get(l);
    if (u && a)
      return u == l && a == o;
    var s = !0;
    C.set(o, l), C.set(l, o);
    for (var h = D; ++z < M; ) {
      A = x[z];
      var E = o[A], f = l[A];
      if (g)
        var S = D ? g(f, E, A, l, o, C) : g(E, f, A, o, l, C);
      if (!(S === void 0 ? E === f || y(E, f, c, g, C) : S)) {
        s = !1;
        break;
      }
      h || (h = A == "constructor");
    }
    if (s && !h) {
      var _ = o.constructor, d = l.constructor;
      _ != d && "constructor" in o && "constructor" in l && !(typeof _ == "function" && _ instanceof _ && typeof d == "function" && d instanceof d) && (s = !1);
    }
    return C.delete(o), C.delete(l), s;
  }
  return pE = i, pE;
}
var hE, O2;
function Wne() {
  if (O2) return hE;
  O2 = 1;
  var e = Ks(), t = ao(), r = e(t, "DataView");
  return hE = r, hE;
}
var mE, T2;
function $ne() {
  if (T2) return mE;
  T2 = 1;
  var e = Ks(), t = ao(), r = e(t, "Promise");
  return mE = r, mE;
}
var vE, C2;
function DV() {
  if (C2) return vE;
  C2 = 1;
  var e = Ks(), t = ao(), r = e(t, "Set");
  return vE = r, vE;
}
var gE, x2;
function Vne() {
  if (x2) return gE;
  x2 = 1;
  var e = Ks(), t = ao(), r = e(t, "WeakMap");
  return gE = r, gE;
}
var yE, A2;
function Hne() {
  if (A2) return yE;
  A2 = 1;
  var e = Wne(), t = JD(), r = $ne(), n = DV(), i = Vne(), o = Ho(), l = TV(), c = "[object Map]", g = "[object Object]", y = "[object Promise]", C = "[object Set]", D = "[object WeakMap]", x = "[object DataView]", M = l(e), N = l(t), F = l(r), z = l(n), A = l(i), u = o;
  return (e && u(new e(new ArrayBuffer(1))) != x || t && u(new t()) != c || r && u(r.resolve()) != y || n && u(new n()) != C || i && u(new i()) != D) && (u = function(a) {
    var s = o(a), h = s == g ? a.constructor : void 0, E = h ? l(h) : "";
    if (E)
      switch (E) {
        case M:
          return x;
        case N:
          return c;
        case F:
          return y;
        case z:
          return C;
        case A:
          return D;
      }
    return s;
  }), yE = u, yE;
}
var bE, D2;
function Yne() {
  if (D2) return bE;
  D2 = 1;
  var e = CV(), t = xV(), r = Lne(), n = Bne(), i = Hne(), o = Ir(), l = bV(), c = _V(), g = 1, y = "[object Arguments]", C = "[object Array]", D = "[object Object]", x = Object.prototype, M = x.hasOwnProperty;
  function N(F, z, A, u, a, s) {
    var h = o(F), E = o(z), f = h ? C : i(F), S = E ? C : i(z);
    f = f == y ? D : f, S = S == y ? D : S;
    var _ = f == D, d = S == D, p = f == S;
    if (p && l(F)) {
      if (!l(z))
        return !1;
      h = !0, _ = !1;
    }
    if (p && !_)
      return s || (s = new e()), h || c(F) ? t(F, z, A, u, a, s) : r(F, z, f, A, u, a, s);
    if (!(A & g)) {
      var b = _ && M.call(F, "__wrapped__"), m = d && M.call(z, "__wrapped__");
      if (b || m) {
        var v = b ? F.value() : F, O = m ? z.value() : z;
        return s || (s = new e()), a(v, O, A, u, s);
      }
    }
    return p ? (s || (s = new e()), n(F, z, A, u, a, s)) : !1;
  }
  return bE = N, bE;
}
var _E, P2;
function PV() {
  if (P2) return _E;
  P2 = 1;
  var e = Yne(), t = oo();
  function r(n, i, o, l, c) {
    return n === i ? !0 : n == null || i == null || !t(n) && !t(i) ? n !== n && i !== i : e(n, i, o, l, r, c);
  }
  return _E = r, _E;
}
var EE, k2;
function Gne() {
  if (k2) return EE;
  k2 = 1;
  var e = CV(), t = PV(), r = 1, n = 2;
  function i(o, l, c, g) {
    var y = c.length, C = y, D = !g;
    if (o == null)
      return !C;
    for (o = Object(o); y--; ) {
      var x = c[y];
      if (D && x[2] ? x[1] !== o[x[0]] : !(x[0] in o))
        return !1;
    }
    for (; ++y < C; ) {
      x = c[y];
      var M = x[0], N = o[M], F = x[1];
      if (D && x[2]) {
        if (N === void 0 && !(M in o))
          return !1;
      } else {
        var z = new e();
        if (g)
          var A = g(N, F, M, o, l, z);
        if (!(A === void 0 ? t(F, N, r | n, g, z) : A))
          return !1;
      }
    }
    return !0;
  }
  return EE = i, EE;
}
var SE, R2;
function kV() {
  if (R2) return SE;
  R2 = 1;
  var e = Vi();
  function t(r) {
    return r === r && !e(r);
  }
  return SE = t, SE;
}
var wE, M2;
function Kne() {
  if (M2) return wE;
  M2 = 1;
  var e = kV(), t = ud();
  function r(n) {
    for (var i = t(n), o = i.length; o--; ) {
      var l = i[o], c = n[l];
      i[o] = [l, c, e(c)];
    }
    return i;
  }
  return wE = r, wE;
}
var OE, N2;
function RV() {
  if (N2) return OE;
  N2 = 1;
  function e(t, r) {
    return function(n) {
      return n == null ? !1 : n[t] === r && (r !== void 0 || t in Object(n));
    };
  }
  return OE = e, OE;
}
var TE, I2;
function Xne() {
  if (I2) return TE;
  I2 = 1;
  var e = Gne(), t = Kne(), r = RV();
  function n(i) {
    var o = t(i);
    return o.length == 1 && o[0][2] ? r(o[0][0], o[0][1]) : function(l) {
      return l === i || e(l, i, o);
    };
  }
  return TE = n, TE;
}
var CE, F2;
function wy() {
  if (F2) return CE;
  F2 = 1;
  var e = Ho(), t = oo(), r = "[object Symbol]";
  function n(i) {
    return typeof i == "symbol" || t(i) && e(i) == r;
  }
  return CE = n, CE;
}
var xE, L2;
function rP() {
  if (L2) return xE;
  L2 = 1;
  var e = Ir(), t = wy(), r = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, n = /^\w*$/;
  function i(o, l) {
    if (e(o))
      return !1;
    var c = typeof o;
    return c == "number" || c == "symbol" || c == "boolean" || o == null || t(o) ? !0 : n.test(o) || !r.test(o) || l != null && o in Object(l);
  }
  return xE = i, xE;
}
var AE, j2;
function MV() {
  if (j2) return AE;
  j2 = 1;
  var e = eP(), t = "Expected a function";
  function r(n, i) {
    if (typeof n != "function" || i != null && typeof i != "function")
      throw new TypeError(t);
    var o = function() {
      var l = arguments, c = i ? i.apply(this, l) : l[0], g = o.cache;
      if (g.has(c))
        return g.get(c);
      var y = n.apply(this, l);
      return o.cache = g.set(c, y) || g, y;
    };
    return o.cache = new (r.Cache || e)(), o;
  }
  return r.Cache = e, AE = r, AE;
}
var DE, U2;
function Qne() {
  if (U2) return DE;
  U2 = 1;
  var e = MV(), t = 500;
  function r(n) {
    var i = e(n, function(l) {
      return o.size === t && o.clear(), l;
    }), o = i.cache;
    return i;
  }
  return DE = r, DE;
}
var PE, q2;
function Zne() {
  if (q2) return PE;
  q2 = 1;
  var e = Qne(), t = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, r = /\\(\\)?/g, n = e(function(i) {
    var o = [];
    return i.charCodeAt(0) === 46 && o.push(""), i.replace(t, function(l, c, g, y) {
      o.push(g ? y.replace(r, "$1") : c || l);
    }), o;
  });
  return PE = n, PE;
}
var kE, z2;
function cd() {
  if (z2) return kE;
  z2 = 1;
  function e(t, r) {
    for (var n = -1, i = t == null ? 0 : t.length, o = Array(i); ++n < i; )
      o[n] = r(t[n], n, t);
    return o;
  }
  return kE = e, kE;
}
var RE, B2;
function NV() {
  if (B2) return RE;
  B2 = 1;
  var e = sd(), t = cd(), r = Ir(), n = wy(), i = 1 / 0, o = e ? e.prototype : void 0, l = o ? o.toString : void 0;
  function c(g) {
    if (typeof g == "string")
      return g;
    if (r(g))
      return t(g, c) + "";
    if (n(g))
      return l ? l.call(g) : "";
    var y = g + "";
    return y == "0" && 1 / g == -i ? "-0" : y;
  }
  return RE = c, RE;
}
var ME, W2;
function IV() {
  if (W2) return ME;
  W2 = 1;
  var e = NV();
  function t(r) {
    return r == null ? "" : e(r);
  }
  return ME = t, ME;
}
var NE, $2;
function FV() {
  if ($2) return NE;
  $2 = 1;
  var e = Ir(), t = rP(), r = Zne(), n = IV();
  function i(o, l) {
    return e(o) ? o : t(o, l) ? [o] : r(n(o));
  }
  return NE = i, NE;
}
var IE, V2;
function Oy() {
  if (V2) return IE;
  V2 = 1;
  var e = wy(), t = 1 / 0;
  function r(n) {
    if (typeof n == "string" || e(n))
      return n;
    var i = n + "";
    return i == "0" && 1 / n == -t ? "-0" : i;
  }
  return IE = r, IE;
}
var FE, H2;
function LV() {
  if (H2) return FE;
  H2 = 1;
  var e = FV(), t = Oy();
  function r(n, i) {
    i = e(i, n);
    for (var o = 0, l = i.length; n != null && o < l; )
      n = n[t(i[o++])];
    return o && o == l ? n : void 0;
  }
  return FE = r, FE;
}
var LE, Y2;
function Jne() {
  if (Y2) return LE;
  Y2 = 1;
  var e = LV();
  function t(r, n, i) {
    var o = r == null ? void 0 : e(r, n);
    return o === void 0 ? i : o;
  }
  return LE = t, LE;
}
var jE, G2;
function eie() {
  if (G2) return jE;
  G2 = 1;
  function e(t, r) {
    return t != null && r in Object(t);
  }
  return jE = e, jE;
}
var UE, K2;
function tie() {
  if (K2) return UE;
  K2 = 1;
  var e = FV(), t = YD(), r = Ir(), n = GD(), i = KD(), o = Oy();
  function l(c, g, y) {
    g = e(g, c);
    for (var C = -1, D = g.length, x = !1; ++C < D; ) {
      var M = o(g[C]);
      if (!(x = c != null && y(c, M)))
        break;
      c = c[M];
    }
    return x || ++C != D ? x : (D = c == null ? 0 : c.length, !!D && i(D) && n(M, D) && (r(c) || t(c)));
  }
  return UE = l, UE;
}
var qE, X2;
function rie() {
  if (X2) return qE;
  X2 = 1;
  var e = eie(), t = tie();
  function r(n, i) {
    return n != null && t(n, i, e);
  }
  return qE = r, qE;
}
var zE, Q2;
function nie() {
  if (Q2) return zE;
  Q2 = 1;
  var e = PV(), t = Jne(), r = rie(), n = rP(), i = kV(), o = RV(), l = Oy(), c = 1, g = 2;
  function y(C, D) {
    return n(C) && i(D) ? o(l(C), D) : function(x) {
      var M = t(x, C);
      return M === void 0 && M === D ? r(x, C) : e(D, M, c | g);
    };
  }
  return zE = y, zE;
}
var BE, Z2;
function iie() {
  if (Z2) return BE;
  Z2 = 1;
  function e(t) {
    return function(r) {
      return r == null ? void 0 : r[t];
    };
  }
  return BE = e, BE;
}
var WE, J2;
function aie() {
  if (J2) return WE;
  J2 = 1;
  var e = LV();
  function t(r) {
    return function(n) {
      return e(n, r);
    };
  }
  return WE = t, WE;
}
var $E, eL;
function oie() {
  if (eL) return $E;
  eL = 1;
  var e = iie(), t = aie(), r = rP(), n = Oy();
  function i(o) {
    return r(o) ? e(n(o)) : t(o);
  }
  return $E = i, $E;
}
var VE, tL;
function sie() {
  if (tL) return VE;
  tL = 1;
  var e = Xne(), t = nie(), r = vy(), n = Ir(), i = oie();
  function o(l) {
    return typeof l == "function" ? l : l == null ? r : typeof l == "object" ? n(l) ? t(l[0], l[1]) : e(l) : i(l);
  }
  return VE = o, VE;
}
var HE, rL;
function uie() {
  if (rL) return HE;
  rL = 1;
  var e = ZD(), t = ane(), r = sie(), n = Ir();
  function i(o, l) {
    var c = n(o) ? e : t;
    return c(o, r(l, 3));
  }
  return HE = i, HE;
}
var YE, nL;
function lie() {
  if (nL) return YE;
  nL = 1;
  var e = /\s/;
  function t(r) {
    for (var n = r.length; n-- && e.test(r.charAt(n)); )
      ;
    return n;
  }
  return YE = t, YE;
}
var GE, iL;
function jV() {
  if (iL) return GE;
  iL = 1;
  var e = lie(), t = /^\s+/;
  function r(n) {
    return n && n.slice(0, e(n) + 1).replace(t, "");
  }
  return GE = r, GE;
}
var KE, aL;
function cie() {
  if (aL) return KE;
  aL = 1;
  function e(t, r, n) {
    var i = -1, o = t.length;
    r < 0 && (r = -r > o ? 0 : o + r), n = n > o ? o : n, n < 0 && (n += o), o = r > n ? 0 : n - r >>> 0, r >>>= 0;
    for (var l = Array(o); ++i < o; )
      l[i] = t[i + r];
    return l;
  }
  return KE = e, KE;
}
var XE, oL;
function fie() {
  if (oL) return XE;
  oL = 1;
  var e = cie();
  function t(r, n, i) {
    var o = r.length;
    return i = i === void 0 ? o : i, !n && i >= o ? r : e(r, n, i);
  }
  return XE = t, XE;
}
var QE, sL;
function die() {
  if (sL) return QE;
  sL = 1;
  function e(t, r, n, i) {
    for (var o = t.length, l = n + (i ? 1 : -1); i ? l-- : ++l < o; )
      if (r(t[l], l, t))
        return l;
    return -1;
  }
  return QE = e, QE;
}
var ZE, uL;
function pie() {
  if (uL) return ZE;
  uL = 1;
  function e(t) {
    return t !== t;
  }
  return ZE = e, ZE;
}
var JE, lL;
function hie() {
  if (lL) return JE;
  lL = 1;
  function e(t, r, n) {
    for (var i = n - 1, o = t.length; ++i < o; )
      if (t[i] === r)
        return i;
    return -1;
  }
  return JE = e, JE;
}
var eS, cL;
function Ty() {
  if (cL) return eS;
  cL = 1;
  var e = die(), t = pie(), r = hie();
  function n(i, o, l) {
    return o === o ? r(i, o, l) : e(i, t, l);
  }
  return eS = n, eS;
}
var tS, fL;
function mie() {
  if (fL) return tS;
  fL = 1;
  var e = Ty();
  function t(r, n) {
    for (var i = r.length; i-- && e(n, r[i], 0) > -1; )
      ;
    return i;
  }
  return tS = t, tS;
}
var rS, dL;
function vie() {
  if (dL) return rS;
  dL = 1;
  var e = Ty();
  function t(r, n) {
    for (var i = -1, o = r.length; ++i < o && e(n, r[i], 0) > -1; )
      ;
    return i;
  }
  return rS = t, rS;
}
var nS, pL;
function gie() {
  if (pL) return nS;
  pL = 1;
  function e(t) {
    return t.split("");
  }
  return nS = e, nS;
}
var iS, hL;
function yie() {
  if (hL) return iS;
  hL = 1;
  var e = "\\ud800-\\udfff", t = "\\u0300-\\u036f", r = "\\ufe20-\\ufe2f", n = "\\u20d0-\\u20ff", i = t + r + n, o = "\\ufe0e\\ufe0f", l = "\\u200d", c = RegExp("[" + l + e + i + o + "]");
  function g(y) {
    return c.test(y);
  }
  return iS = g, iS;
}
var aS, mL;
function bie() {
  if (mL) return aS;
  mL = 1;
  var e = "\\ud800-\\udfff", t = "\\u0300-\\u036f", r = "\\ufe20-\\ufe2f", n = "\\u20d0-\\u20ff", i = t + r + n, o = "\\ufe0e\\ufe0f", l = "[" + e + "]", c = "[" + i + "]", g = "\\ud83c[\\udffb-\\udfff]", y = "(?:" + c + "|" + g + ")", C = "[^" + e + "]", D = "(?:\\ud83c[\\udde6-\\uddff]){2}", x = "[\\ud800-\\udbff][\\udc00-\\udfff]", M = "\\u200d", N = y + "?", F = "[" + o + "]?", z = "(?:" + M + "(?:" + [C, D, x].join("|") + ")" + F + N + ")*", A = F + N + z, u = "(?:" + [C + c + "?", c, D, x, l].join("|") + ")", a = RegExp(g + "(?=" + g + ")|" + u + A, "g");
  function s(h) {
    return h.match(a) || [];
  }
  return aS = s, aS;
}
var oS, vL;
function _ie() {
  if (vL) return oS;
  vL = 1;
  var e = gie(), t = yie(), r = bie();
  function n(i) {
    return t(i) ? r(i) : e(i);
  }
  return oS = n, oS;
}
var sS, gL;
function Eie() {
  if (gL) return sS;
  gL = 1;
  var e = NV(), t = jV(), r = fie(), n = mie(), i = vie(), o = _ie(), l = IV();
  function c(g, y, C) {
    if (g = l(g), g && (C || y === void 0))
      return t(g);
    if (!g || !(y = e(y)))
      return g;
    var D = o(g), x = o(y), M = i(D, x), N = n(D, x) + 1;
    return r(D, M, N).join("");
  }
  return sS = c, sS;
}
var yL;
function Sie() {
  return yL || (yL = 1, function(e, t) {
    Object.defineProperty(t, "__esModule", {
      value: !0
    });
    var r = uie(), n = l(r), i = Eie(), o = l(i);
    function l(g) {
      return g && g.__esModule ? g : { default: g };
    }
    var c = {};
    t.default = function(g, y) {
      var C = void 0;
      if (c[g] ? C = c[g] : (C = (0, o.default)(g).split(/\s+/), C = (0, n.default)(C), c[g] = C), y === !1 && C.length > 1)
        throw new Error('ReactElement styleName property defines multiple module names ("' + g + '").');
      return C;
    }, e.exports = t.default;
  }(yp, yp.exports)), yp.exports;
}
var bp = { exports: {} }, _p = { exports: {} }, bL;
function wie() {
  return bL || (bL = 1, function(e, t) {
    Object.defineProperty(t, "__esModule", {
      value: !0
    });
    function r(i, o) {
      if (!(i instanceof o))
        throw new TypeError("Cannot call a class as a function");
    }
    var n = function() {
      function i() {
        r(this, i), this.size = 0, this.keys = [], this.values = [];
      }
      return i.prototype.get = function(l) {
        var c = this.keys.indexOf(l);
        return this.values[c];
      }, i.prototype.set = function(l, c) {
        return this.keys.push(l), this.values.push(c), this.size = this.keys.length, c;
      }, i;
    }();
    t.default = n, e.exports = t.default;
  }(_p, _p.exports)), _p.exports;
}
var _L;
function Oie() {
  return _L || (_L = 1, function(e, t) {
    Object.defineProperty(t, "__esModule", {
      value: !0
    });
    var r = wie(), n = i(r);
    function i(c) {
      return c && c.__esModule ? c : { default: c };
    }
    var o = typeof Map > "u" ? n.default : Map, l = new o();
    t.default = function(c, g, y) {
      var C = void 0, D = void 0;
      if (D = l.get(c), D) {
        var x = D.get(g);
        if (x)
          return x;
      } else
        D = new o(), l.set(c, new o());
      C = "";
      for (var M in g)
        if (g.hasOwnProperty(M)) {
          var N = c[g[M]];
          if (N)
            C += " " + N;
          else {
            if (y === "throw")
              throw new Error('"' + g[M] + '" CSS module is undefined.');
            y === "log" && console.warn('"' + g[M] + '" CSS module is undefined.');
          }
        }
      return C = C.trim(), D.set(g, C), C;
    }, e.exports = t.default;
  }(bp, bp.exports)), bp.exports;
}
var EL;
function UV() {
  return EL || (EL = 1, function(e, t) {
    Object.defineProperty(t, "__esModule", {
      value: !0
    });
    var r = Vi(), n = u(r), i = Ir(), o = u(i), l = OV(), c = u(l), g = Hi(), y = u(g), C = nne(), D = u(C), x = ine(), M = u(x), N = Sie(), F = u(N), z = Oie(), A = u(z);
    function u(E) {
      return E && E.__esModule ? E : { default: E };
    }
    function a(E, f) {
      var S = {};
      for (var _ in E)
        f.indexOf(_) >= 0 || Object.prototype.hasOwnProperty.call(E, _) && (S[_] = E[_]);
      return S;
    }
    var s = function E(f, S, _) {
      return (0, c.default)(f, function(d, p) {
        if (y.default.isValidElement(d))
          f[p] = h(y.default.Children.only(d), S, _);
        else if ((0, o.default)(d)) {
          var b = Object.isFrozen(d) ? (0, D.default)(d) : d;
          f[p] = E(b, S, _);
        }
      }), f;
    }, h = function E(f, S, _) {
      var d = void 0, p = void 0;
      if (p = f, Array.isArray(p))
        return p.map(function(I) {
          return E(I, S, _);
        });
      var b = Object.isFrozen && Object.isFrozen(p), m = Object.isFrozen && Object.isFrozen(p.props), v = Object.isExtensible && !Object.isExtensible(p.props);
      b ? (p = (0, D.default)(p), p.props = (0, D.default)(p.props)) : (m || v) && (p.props = (0, D.default)(p.props));
      var O = (0, F.default)(p.props.styleName || "", _.allowMultiple), T = p.props, w = T.children, P = a(T, ["children"]);
      return y.default.isValidElement(w) ? p.props.children = E(y.default.Children.only(w), S, _) : ((0, o.default)(w) || (0, M.default)(w)) && (p.props.children = s((0, D.default)(w), S, _)), (0, c.default)(P, function(I, L) {
        y.default.isValidElement(I) ? p.props[L] = E(y.default.Children.only(I), S, _) : (0, o.default)(I) && (p.props[L] = s(I, S, _));
      }), O.length && (d = (0, A.default)(S, O, _.handleNotFoundStyleName), d && (p.props.className && (d = p.props.className + " " + d), p.props.className = d)), delete p.props.styleName, b ? (Object.freeze(p.props), Object.freeze(p)) : m && Object.freeze(p.props), v && Object.preventExtensions(p.props), p;
    };
    t.default = function(E) {
      var f = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, S = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
      return (0, n.default)(E) ? h(E, f, S) : E;
    }, e.exports = t.default;
  }(mp, mp.exports)), mp.exports;
}
var Ep = { exports: {} }, SL;
function qV() {
  return SL || (SL = 1, function(e, t) {
    Object.defineProperty(t, "__esModule", {
      value: !0
    }), t.default = function(o) {
      var l = o.split(".")[0];
      return parseInt(l, 10) < 15 ? n.default.createElement("noscript") : null;
    };
    var r = Hi(), n = i(r);
    function i(o) {
      return o && o.__esModule ? o : { default: o };
    }
    e.exports = t.default;
  }(Ep, Ep.exports)), Ep.exports;
}
var wL;
function Tie() {
  return wL || (wL = 1, function(e, t) {
    Object.defineProperty(t, "__esModule", {
      value: !0
    });
    var r = Vi(), n = x(r), i = Hi(), o = x(i), l = my(), c = x(l), g = UV(), y = x(g), C = qV(), D = x(C);
    function x(A) {
      return A && A.__esModule ? A : { default: A };
    }
    function M(A, u) {
      for (var a = Object.getOwnPropertyNames(u), s = 0; s < a.length; s++) {
        var h = a[s], E = Object.getOwnPropertyDescriptor(u, h);
        E && E.configurable && A[h] === void 0 && Object.defineProperty(A, h, E);
      }
      return A;
    }
    function N(A, u) {
      if (!(A instanceof u))
        throw new TypeError("Cannot call a class as a function");
    }
    function F(A, u) {
      if (!A)
        throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
      return u && (typeof u == "object" || typeof u == "function") ? u : A;
    }
    function z(A, u) {
      if (typeof u != "function" && u !== null)
        throw new TypeError("Super expression must either be null or a function, not " + typeof u);
      A.prototype = Object.create(u && u.prototype, { constructor: { value: A, enumerable: !1, writable: !0, configurable: !0 } }), u && (Object.setPrototypeOf ? Object.setPrototypeOf(A, u) : M(A, u));
    }
    t.default = function(A, u, a) {
      var s = function(h) {
        z(E, h);
        function E() {
          return N(this, E), F(this, h.apply(this, arguments));
        }
        return E.prototype.render = function() {
          var S = void 0, _ = (0, n.default)(u), d = void 0;
          if (this.props.styles || _) {
            var p = Object.assign({}, this.props);
            p.styles ? S = p.styles : _ && (S = u, delete p.styles), Object.defineProperty(p, "styles", {
              configurable: !0,
              enumerable: !1,
              value: S,
              writable: !1
            });
            var b = this.props, m = !1;
            try {
              this.props = p, d = h.prototype.render.call(this), m = !0;
            } finally {
              this.props = b;
            }
            m || (d = h.prototype.render.call(this));
          } else
            S = {}, d = h.prototype.render.call(this);
          return d ? (0, y.default)(d, S, a) : (0, D.default)(o.default.version);
        }, E;
      }(A);
      return (0, c.default)(s, A);
    }, e.exports = t.default;
  }(pp, pp.exports)), pp.exports;
}
var Sp = { exports: {} }, uS, OL;
function zV() {
  if (OL) return uS;
  OL = 1;
  var e = Ks(), t = function() {
    try {
      var r = e(Object, "defineProperty");
      return r({}, "", {}), r;
    } catch {
    }
  }();
  return uS = t, uS;
}
var lS, TL;
function BV() {
  if (TL) return lS;
  TL = 1;
  var e = zV();
  function t(r, n, i) {
    n == "__proto__" && e ? e(r, n, {
      configurable: !0,
      enumerable: !0,
      value: i,
      writable: !0
    }) : r[n] = i;
  }
  return lS = t, lS;
}
var cS, CL;
function WV() {
  if (CL) return cS;
  CL = 1;
  var e = BV(), t = ld(), r = Object.prototype, n = r.hasOwnProperty;
  function i(o, l, c) {
    var g = o[l];
    (!(n.call(o, l) && t(g, c)) || c === void 0 && !(l in o)) && e(o, l, c);
  }
  return cS = i, cS;
}
var fS, xL;
function Cie() {
  if (xL) return fS;
  xL = 1;
  var e = WV(), t = BV();
  function r(n, i, o, l) {
    var c = !o;
    o || (o = {});
    for (var g = -1, y = i.length; ++g < y; ) {
      var C = i[g], D = l ? l(o[C], n[C], C, o, n) : void 0;
      D === void 0 && (D = n[C]), c ? t(o, C, D) : e(o, C, D);
    }
    return o;
  }
  return fS = r, fS;
}
var dS, AL;
function xie() {
  if (AL) return dS;
  AL = 1;
  function e(t, r, n) {
    switch (n.length) {
      case 0:
        return t.call(r);
      case 1:
        return t.call(r, n[0]);
      case 2:
        return t.call(r, n[0], n[1]);
      case 3:
        return t.call(r, n[0], n[1], n[2]);
    }
    return t.apply(r, n);
  }
  return dS = e, dS;
}
var pS, DL;
function Aie() {
  if (DL) return pS;
  DL = 1;
  var e = xie(), t = Math.max;
  function r(n, i, o) {
    return i = t(i === void 0 ? n.length - 1 : i, 0), function() {
      for (var l = arguments, c = -1, g = t(l.length - i, 0), y = Array(g); ++c < g; )
        y[c] = l[i + c];
      c = -1;
      for (var C = Array(i + 1); ++c < i; )
        C[c] = l[c];
      return C[i] = o(y), e(n, this, C);
    };
  }
  return pS = r, pS;
}
var hS, PL;
function Die() {
  if (PL) return hS;
  PL = 1;
  function e(t) {
    return function() {
      return t;
    };
  }
  return hS = e, hS;
}
var mS, kL;
function Pie() {
  if (kL) return mS;
  kL = 1;
  var e = Die(), t = zV(), r = vy(), n = t ? function(i, o) {
    return t(i, "toString", {
      configurable: !0,
      enumerable: !1,
      value: e(o),
      writable: !0
    });
  } : r;
  return mS = n, mS;
}
var vS, RL;
function kie() {
  if (RL) return vS;
  RL = 1;
  var e = 800, t = 16, r = Date.now;
  function n(i) {
    var o = 0, l = 0;
    return function() {
      var c = r(), g = t - (c - l);
      if (l = c, g > 0) {
        if (++o >= e)
          return arguments[0];
      } else
        o = 0;
      return i.apply(void 0, arguments);
    };
  }
  return vS = n, vS;
}
var gS, ML;
function Rie() {
  if (ML) return gS;
  ML = 1;
  var e = Pie(), t = kie(), r = t(e);
  return gS = r, gS;
}
var yS, NL;
function Al() {
  if (NL) return yS;
  NL = 1;
  var e = vy(), t = Aie(), r = Rie();
  function n(i, o) {
    return r(t(i, o, e), i + "");
  }
  return yS = n, yS;
}
var bS, IL;
function $V() {
  if (IL) return bS;
  IL = 1;
  var e = ld(), t = Gs(), r = GD(), n = Vi();
  function i(o, l, c) {
    if (!n(c))
      return !1;
    var g = typeof l;
    return (g == "number" ? t(c) && r(l, c.length) : g == "string" && l in c) ? e(c[l], o) : !1;
  }
  return bS = i, bS;
}
var _S, FL;
function Mie() {
  if (FL) return _S;
  FL = 1;
  var e = Al(), t = $V();
  function r(n) {
    return e(function(i, o) {
      var l = -1, c = o.length, g = c > 1 ? o[c - 1] : void 0, y = c > 2 ? o[2] : void 0;
      for (g = n.length > 3 && typeof g == "function" ? (c--, g) : void 0, y && t(o[0], o[1], y) && (g = c < 3 ? void 0 : g, c = 1), i = Object(i); ++l < c; ) {
        var C = o[l];
        C && n(i, C, l, g);
      }
      return i;
    });
  }
  return _S = r, _S;
}
var ES, LL;
function Nie() {
  if (LL) return ES;
  LL = 1;
  var e = WV(), t = Cie(), r = Mie(), n = Gs(), i = QD(), o = ud(), l = Object.prototype, c = l.hasOwnProperty, g = r(function(y, C) {
    if (i(C) || n(C)) {
      t(C, o(C), y);
      return;
    }
    for (var D in C)
      c.call(C, D) && e(y, D, C[D]);
  });
  return ES = g, ES;
}
var jL;
function Iie() {
  return jL || (jL = 1, function(e, t) {
    Object.defineProperty(t, "__esModule", {
      value: !0
    });
    var r = Nie(), n = x(r), i = Vi(), o = x(i), l = Hi(), c = x(l), g = UV(), y = x(g), C = qV(), D = x(C);
    function x(M) {
      return M && M.__esModule ? M : { default: M };
    }
    t.default = function(M, N, F) {
      var z = function() {
        for (var u = arguments.length, a = Array(u > 1 ? u - 1 : 0), s = 1; s < u; s++)
          a[s - 1] = arguments[s];
        var h = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, E = void 0, f = void 0, S = (0, o.default)(N);
        h.styles || S ? (f = Object.assign({}, h), h.styles ? E = h.styles : E = N, Object.defineProperty(f, "styles", {
          configurable: !0,
          enumerable: !1,
          value: E,
          writable: !1
        })) : (f = h, E = {});
        var _ = M.apply(void 0, [f].concat(a));
        return _ ? (0, y.default)(_, E, F) : (0, D.default)(c.default.version);
      };
      return (0, n.default)(z, M), z;
    }, e.exports = t.default;
  }(Sp, Sp.exports)), Sp.exports;
}
var wp = { exports: {} }, SS, UL;
function Fie() {
  if (UL) return SS;
  UL = 1;
  var e = Ho(), t = Ir(), r = oo(), n = "[object String]";
  function i(o) {
    return typeof o == "string" || !t(o) && r(o) && e(o) == n;
  }
  return SS = i, SS;
}
var wS, qL;
function Lie() {
  if (qL) return wS;
  qL = 1;
  var e = jV(), t = Vi(), r = wy(), n = NaN, i = /^[-+]0x[0-9a-f]+$/i, o = /^0b[01]+$/i, l = /^0o[0-7]+$/i, c = parseInt;
  function g(y) {
    if (typeof y == "number")
      return y;
    if (r(y))
      return n;
    if (t(y)) {
      var C = typeof y.valueOf == "function" ? y.valueOf() : y;
      y = t(C) ? C + "" : C;
    }
    if (typeof y != "string")
      return y === 0 ? y : +y;
    y = e(y);
    var D = o.test(y);
    return D || l.test(y) ? c(y.slice(2), D ? 2 : 8) : i.test(y) ? n : +y;
  }
  return wS = g, wS;
}
var OS, zL;
function jie() {
  if (zL) return OS;
  zL = 1;
  var e = Lie(), t = 1 / 0, r = 17976931348623157e292;
  function n(i) {
    if (!i)
      return i === 0 ? i : 0;
    if (i = e(i), i === t || i === -t) {
      var o = i < 0 ? -1 : 1;
      return o * r;
    }
    return i === i ? i : 0;
  }
  return OS = n, OS;
}
var TS, BL;
function Uie() {
  if (BL) return TS;
  BL = 1;
  var e = jie();
  function t(r) {
    var n = e(r), i = n % 1;
    return n === n ? i ? n - i : n : 0;
  }
  return TS = t, TS;
}
var CS, WL;
function qie() {
  if (WL) return CS;
  WL = 1;
  var e = cd();
  function t(r, n) {
    return e(n, function(i) {
      return r[i];
    });
  }
  return CS = t, CS;
}
var xS, $L;
function zie() {
  if ($L) return xS;
  $L = 1;
  var e = qie(), t = ud();
  function r(n) {
    return n == null ? [] : e(n, t(n));
  }
  return xS = r, xS;
}
var AS, VL;
function Bie() {
  if (VL) return AS;
  VL = 1;
  var e = Ty(), t = Gs(), r = Fie(), n = Uie(), i = zie(), o = Math.max;
  function l(c, g, y, C) {
    c = t(c) ? c : i(c), y = y && !C ? n(y) : 0;
    var D = c.length;
    return y < 0 && (y = o(D + y, 0)), r(c) ? y <= D && c.indexOf(g, y) > -1 : !!D && e(c, g, y) > -1;
  }
  return AS = l, AS;
}
var DS, HL;
function Wie() {
  if (HL) return DS;
  HL = 1;
  var e = Ho(), t = oo(), r = "[object Boolean]";
  function n(i) {
    return i === !0 || i === !1 || t(i) && e(i) == r;
  }
  return DS = n, DS;
}
var PS, YL;
function $ie() {
  if (YL) return PS;
  YL = 1;
  function e(t) {
    return t === void 0;
  }
  return PS = e, PS;
}
var GL;
function Vie() {
  return GL || (GL = 1, function(e, t) {
    Object.defineProperty(t, "__esModule", {
      value: !0
    });
    var r = Bie(), n = C(r), i = Wie(), o = C(i), l = $ie(), c = C(l), g = OV(), y = C(g);
    function C(D) {
      return D && D.__esModule ? D : { default: D };
    }
    t.default = function() {
      var D = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, x = {
        allowMultiple: !1,
        handleNotFoundStyleName: "throw"
      };
      return (0, y.default)(D, function(M, N) {
        if ((0, c.default)(x[N]))
          throw new Error('Unknown configuration property "' + N + '".');
        if (N === "allowMultiple" && !(0, o.default)(M))
          throw new Error('"allowMultiple" property value must be a boolean.');
        if (N === "handleNotFoundStyleName" && !(0, n.default)(["throw", "log", "ignore"], M))
          throw new Error('"handleNotFoundStyleName" property value must be "throw", "log" or "ignore".');
        x[N] = M;
      }), x;
    }, e.exports = t.default;
  }(wp, wp.exports)), wp.exports;
}
var KL;
function Hie() {
  return KL || (KL = 1, function(e, t) {
    Object.defineProperty(t, "__esModule", {
      value: !0
    });
    var r = hy(), n = C(r), i = Tie(), o = C(i), l = Iie(), c = C(l), g = Vie(), y = C(g);
    function C(N) {
      return N && N.__esModule ? N : { default: N };
    }
    var D = function(F) {
      return "prototype" in F && (0, n.default)(F.prototype.render);
    }, x = function(F, z, A) {
      var u = void 0, a = (0, y.default)(A);
      return D(F) ? u = (0, o.default)(F, z, a) : u = (0, c.default)(F, z, a), F.displayName ? u.displayName = F.displayName : u.displayName = F.name, u;
    }, M = function(F, z) {
      return function(A) {
        return x(A, F, z);
      };
    };
    t.default = function() {
      return (0, n.default)(arguments.length <= 0 ? void 0 : arguments[0]) ? x(arguments.length <= 0 ? void 0 : arguments[0], arguments.length <= 1 ? void 0 : arguments[1], arguments.length <= 2 ? void 0 : arguments[2]) : M(arguments.length <= 0 ? void 0 : arguments[0], arguments.length <= 1 ? void 0 : arguments[1]);
    }, e.exports = t.default;
  }(dp, dp.exports)), dp.exports;
}
function bA(e, t) {
  return bA = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(r, n) {
    return r.__proto__ = n, r;
  }, bA(e, t);
}
function VV(e, t) {
  e.prototype = Object.create(t.prototype), e.prototype.constructor = e, bA(e, t);
}
var Nf = Hi();
const HV = /* @__PURE__ */ cy(Nf);
var Op = { exports: {} }, kS, XL;
function Yie() {
  if (XL) return kS;
  XL = 1;
  var e = HD();
  function t() {
  }
  function r() {
  }
  return r.resetWarningCache = t, kS = function() {
    function n(l, c, g, y, C, D) {
      if (D !== e) {
        var x = new Error(
          "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"
        );
        throw x.name = "Invariant Violation", x;
      }
    }
    n.isRequired = n;
    function i() {
      return n;
    }
    var o = {
      array: n,
      bigint: n,
      bool: n,
      func: n,
      number: n,
      object: n,
      string: n,
      symbol: n,
      any: n,
      arrayOf: i,
      element: n,
      elementType: n,
      instanceOf: i,
      node: n,
      objectOf: i,
      oneOf: i,
      oneOfType: i,
      shape: i,
      exact: i,
      checkPropTypes: r,
      resetWarningCache: t
    };
    return o.PropTypes = o, o;
  }, kS;
}
var QL;
function Dl() {
  if (QL) return Op.exports;
  QL = 1;
  var e = {};
  if (e.NODE_ENV !== "production") {
    var t = py, r = !0;
    Op.exports = mV()(t.isElement, r);
  } else
    Op.exports = Yie()();
  return Op.exports;
}
var Gie = Dl();
const va = /* @__PURE__ */ cy(Gie);
var _A = va.shape({
  trySubscribe: va.func.isRequired,
  tryUnsubscribe: va.func.isRequired,
  notifyNestedSubs: va.func.isRequired,
  isSubscribed: va.func.isRequired
}), EA = va.shape({
  subscribe: va.func.isRequired,
  dispatch: va.func.isRequired,
  getState: va.func.isRequired
});
function nP(e) {
  typeof console < "u" && typeof console.error == "function" && console.error(e);
  try {
    throw new Error(e);
  } catch {
  }
}
var Kie = {}, Xie = typeof HV.forwardRef < "u", ZL = !1;
function Qie() {
  ZL || (ZL = !0, nP("<Provider> does not support changing `store` on the fly. It is most likely that you see this error because you updated to Redux 2.x and React Redux 2.x which no longer hot reload reducers automatically. See https://github.com/reduxjs/react-redux/releases/tag/v2.0.0 for the migration instructions."));
}
function YV(e) {
  var t;
  e === void 0 && (e = "store");
  var r = e + "Subscription", n = /* @__PURE__ */ function(o) {
    VV(c, o);
    var l = c.prototype;
    l.getChildContext = function() {
      var y;
      return y = {}, y[e] = this[e], y[r] = null, y;
    };
    function c(g, y) {
      var C;
      return C = o.call(this, g, y) || this, C[e] = g.store, C;
    }
    return l.render = function() {
      return Nf.Children.only(this.props.children);
    }, c;
  }(Nf.Component);
  if (Kie.NODE_ENV !== "production") {
    var i = Xie ? "UNSAFE_componentWillReceiveProps" : "componentWillReceiveProps";
    n.prototype[i] = function(o) {
      this[e] !== o.store && Qie();
    };
  }
  return n.propTypes = {
    store: EA.isRequired,
    children: va.element.isRequired
  }, n.childContextTypes = (t = {}, t[e] = EA.isRequired, t[r] = _A, t), n;
}
const Zie = YV();
function JL(e) {
  if (e === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
  return e;
}
function ol() {
  return ol = Object.assign ? Object.assign.bind() : function(e) {
    for (var t = 1; t < arguments.length; t++) {
      var r = arguments[t];
      for (var n in r) ({}).hasOwnProperty.call(r, n) && (e[n] = r[n]);
    }
    return e;
  }, ol.apply(null, arguments);
}
function iP(e, t) {
  if (e == null) return {};
  var r = {};
  for (var n in e) if ({}.hasOwnProperty.call(e, n)) {
    if (t.includes(n)) continue;
    r[n] = e[n];
  }
  return r;
}
var aP = py, Jie = {
  childContextTypes: !0,
  contextType: !0,
  contextTypes: !0,
  defaultProps: !0,
  displayName: !0,
  getDefaultProps: !0,
  getDerivedStateFromError: !0,
  getDerivedStateFromProps: !0,
  mixins: !0,
  propTypes: !0,
  type: !0
}, eae = {
  name: !0,
  length: !0,
  prototype: !0,
  caller: !0,
  callee: !0,
  arguments: !0,
  arity: !0
}, tae = {
  $$typeof: !0,
  render: !0,
  defaultProps: !0,
  displayName: !0,
  propTypes: !0
}, GV = {
  $$typeof: !0,
  compare: !0,
  defaultProps: !0,
  displayName: !0,
  propTypes: !0,
  type: !0
}, oP = {};
oP[aP.ForwardRef] = tae;
oP[aP.Memo] = GV;
function ej(e) {
  return aP.isMemo(e) ? GV : oP[e.$$typeof] || Jie;
}
var rae = Object.defineProperty, nae = Object.getOwnPropertyNames, tj = Object.getOwnPropertySymbols, iae = Object.getOwnPropertyDescriptor, aae = Object.getPrototypeOf, rj = Object.prototype;
function KV(e, t, r) {
  if (typeof t != "string") {
    if (rj) {
      var n = aae(t);
      n && n !== rj && KV(e, n, r);
    }
    var i = nae(t);
    tj && (i = i.concat(tj(t)));
    for (var o = ej(e), l = ej(t), c = 0; c < i.length; ++c) {
      var g = i[c];
      if (!eae[g] && !(r && r[g]) && !(l && l[g]) && !(o && o[g])) {
        var y = iae(t, g);
        try {
          rae(e, g, y);
        } catch {
        }
      }
    }
  }
  return e;
}
var oae = KV;
const sae = /* @__PURE__ */ cy(oae);
var RS, nj;
function Un() {
  if (nj) return RS;
  nj = 1;
  var e = {}, t = function(r, n, i, o, l, c, g, y) {
    if (e.NODE_ENV !== "production" && n === void 0)
      throw new Error("invariant requires an error message argument");
    if (!r) {
      var C;
      if (n === void 0)
        C = new Error(
          "Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings."
        );
      else {
        var D = [i, o, l, c, g, y], x = 0;
        C = new Error(
          n.replace(/%s/g, function() {
            return D[x++];
          })
        ), C.name = "Invariant Violation";
      }
      throw C.framesToPop = 1, C;
    }
  };
  return RS = t, RS;
}
var uae = Un();
const MS = /* @__PURE__ */ cy(uae);
var NS = null, ij = {
  notify: function() {
  }
};
function lae() {
  var e = [], t = [];
  return {
    clear: function() {
      t = NS, e = NS;
    },
    notify: function() {
      for (var n = e = t, i = 0; i < n.length; i++)
        n[i]();
    },
    get: function() {
      return t;
    },
    subscribe: function(n) {
      var i = !0;
      return t === e && (t = e.slice()), t.push(n), function() {
        !i || e === NS || (i = !1, t === e && (t = e.slice()), t.splice(t.indexOf(n), 1));
      };
    }
  };
}
var cae = /* @__PURE__ */ function() {
  function e(r, n, i) {
    this.store = r, this.parentSub = n, this.onStateChange = i, this.unsubscribe = null, this.listeners = ij;
  }
  var t = e.prototype;
  return t.addNestedSub = function(n) {
    return this.trySubscribe(), this.listeners.subscribe(n);
  }, t.notifyNestedSubs = function() {
    this.listeners.notify();
  }, t.isSubscribed = function() {
    return !!this.unsubscribe;
  }, t.trySubscribe = function() {
    this.unsubscribe || (this.unsubscribe = this.parentSub ? this.parentSub.addNestedSub(this.onStateChange) : this.store.subscribe(this.onStateChange), this.listeners = lae());
  }, t.tryUnsubscribe = function() {
    this.unsubscribe && (this.unsubscribe(), this.unsubscribe = null, this.listeners.clear(), this.listeners = ij);
  }, e;
}(), fae = {}, aj = typeof HV.forwardRef < "u", dae = 0, pae = {};
function oj() {
}
function hae(e, t) {
  var r = {
    run: function(i) {
      try {
        var o = e(t.getState(), i);
        (o !== r.props || r.error) && (r.shouldComponentUpdate = !0, r.props = o, r.error = null);
      } catch (l) {
        r.shouldComponentUpdate = !0, r.error = l;
      }
    }
  };
  return r;
}
function XV(e, t) {
  var r, n;
  t === void 0 && (t = {});
  var i = t, o = i.getDisplayName, l = o === void 0 ? function(E) {
    return "ConnectAdvanced(" + E + ")";
  } : o, c = i.methodName, g = c === void 0 ? "connectAdvanced" : c, y = i.renderCountProp, C = y === void 0 ? void 0 : y, D = i.shouldHandleStateChanges, x = D === void 0 ? !0 : D, M = i.storeKey, N = M === void 0 ? "store" : M, F = i.withRef, z = F === void 0 ? !1 : F, A = iP(i, ["getDisplayName", "methodName", "renderCountProp", "shouldHandleStateChanges", "storeKey", "withRef"]), u = N + "Subscription", a = dae++, s = (r = {}, r[N] = EA, r[u] = _A, r), h = (n = {}, n[u] = _A, n);
  return function(f) {
    MS(py.isValidElementType(f), "You must pass a component to the function returned by " + (g + ". Instead received " + JSON.stringify(f)));
    var S = f.displayName || f.name || "Component", _ = l(S), d = ol({}, A, {
      getDisplayName: l,
      methodName: g,
      renderCountProp: C,
      shouldHandleStateChanges: x,
      storeKey: N,
      withRef: z,
      displayName: _,
      wrappedComponentName: S,
      WrappedComponent: f
      // TODO Actually fix our use of componentWillReceiveProps
      /* eslint-disable react/no-deprecated */
    }), p = /* @__PURE__ */ function(m) {
      VV(v, m);
      function v(T, w) {
        var P;
        return P = m.call(this, T, w) || this, P.version = a, P.state = {}, P.renderCount = 0, P.store = T[N] || w[N], P.propsMode = !!T[N], P.setWrappedInstance = P.setWrappedInstance.bind(JL(JL(P))), MS(P.store, 'Could not find "' + N + '" in either the context or props of ' + ('"' + _ + '". Either wrap the root component in a <Provider>, ') + ('or explicitly pass "' + N + '" as a prop to "' + _ + '".')), P.initSelector(), P.initSubscription(), P;
      }
      var O = v.prototype;
      return O.getChildContext = function() {
        var w, P = this.propsMode ? null : this.subscription;
        return w = {}, w[u] = P || this.context[u], w;
      }, O.componentDidMount = function() {
        x && (this.subscription.trySubscribe(), this.selector.run(this.props), this.selector.shouldComponentUpdate && this.forceUpdate());
      }, O.componentWillReceiveProps = function(w) {
        this.selector.run(w);
      }, O.shouldComponentUpdate = function() {
        return this.selector.shouldComponentUpdate;
      }, O.componentWillUnmount = function() {
        this.subscription && this.subscription.tryUnsubscribe(), this.subscription = null, this.notifyNestedSubs = oj, this.store = null, this.selector.run = oj, this.selector.shouldComponentUpdate = !1;
      }, O.getWrappedInstance = function() {
        return MS(z, "To access the wrapped instance, you need to specify " + ("{ withRef: true } in the options argument of the " + g + "() call.")), this.wrappedInstance;
      }, O.setWrappedInstance = function(w) {
        this.wrappedInstance = w;
      }, O.initSelector = function() {
        var w = e(this.store.dispatch, d);
        this.selector = hae(w, this.store), this.selector.run(this.props);
      }, O.initSubscription = function() {
        if (x) {
          var w = (this.propsMode ? this.props : this.context)[u];
          this.subscription = new cae(this.store, w, this.onStateChange.bind(this)), this.notifyNestedSubs = this.subscription.notifyNestedSubs.bind(this.subscription);
        }
      }, O.onStateChange = function() {
        this.selector.run(this.props), this.selector.shouldComponentUpdate ? (this.componentDidUpdate = this.notifyNestedSubsOnComponentDidUpdate, this.setState(pae)) : this.notifyNestedSubs();
      }, O.notifyNestedSubsOnComponentDidUpdate = function() {
        this.componentDidUpdate = void 0, this.notifyNestedSubs();
      }, O.isSubscribed = function() {
        return !!this.subscription && this.subscription.isSubscribed();
      }, O.addExtraProps = function(w) {
        if (!z && !C && !(this.propsMode && this.subscription)) return w;
        var P = ol({}, w);
        return z && (P.ref = this.setWrappedInstance), C && (P[C] = this.renderCount++), this.propsMode && this.subscription && (P[u] = this.subscription), P;
      }, O.render = function() {
        var w = this.selector;
        if (w.shouldComponentUpdate = !1, w.error)
          throw w.error;
        return Nf.createElement(f, this.addExtraProps(w.props));
      }, v;
    }(Nf.Component);
    if (aj && (p.prototype.UNSAFE_componentWillReceiveProps = p.prototype.componentWillReceiveProps, delete p.prototype.componentWillReceiveProps), p.WrappedComponent = f, p.displayName = _, p.childContextTypes = h, p.contextTypes = s, p.propTypes = s, fae.NODE_ENV !== "production") {
      var b = aj ? "UNSAFE_componentWillUpdate" : "componentWillUpdate";
      p.prototype[b] = function() {
        var v = this;
        if (this.version !== a) {
          this.version = a, this.initSelector();
          var O = [];
          this.subscription && (O = this.subscription.listeners.get(), this.subscription.tryUnsubscribe()), this.initSubscription(), x && (this.subscription.trySubscribe(), O.forEach(function(T) {
            return v.subscription.listeners.subscribe(T);
          }));
        }
      };
    }
    return sae(p, f);
  };
}
var mae = Object.prototype.hasOwnProperty;
function sj(e, t) {
  return e === t ? e !== 0 || t !== 0 || 1 / e === 1 / t : e !== e && t !== t;
}
function IS(e, t) {
  if (sj(e, t)) return !0;
  if (typeof e != "object" || e === null || typeof t != "object" || t === null)
    return !1;
  var r = Object.keys(e), n = Object.keys(t);
  if (r.length !== n.length) return !1;
  for (var i = 0; i < r.length; i++)
    if (!mae.call(t, r[i]) || !sj(e[r[i]], t[r[i]]))
      return !1;
  return !0;
}
var QV = {};
function vae(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 FS = function() {
  return Math.random().toString(36).substring(7).split("").join(".");
};
"" + FS(), "" + FS();
function gae(e) {
  if (e === void 0) return "undefined";
  if (e === null) return "null";
  var t = typeof e;
  switch (t) {
    case "boolean":
    case "string":
    case "number":
    case "symbol":
    case "function":
      return t;
  }
  if (Array.isArray(e)) return "array";
  if (_ae(e)) return "date";
  if (bae(e)) return "error";
  var r = yae(e);
  switch (r) {
    case "Symbol":
    case "Promise":
    case "WeakMap":
    case "WeakSet":
    case "Map":
    case "Set":
      return r;
  }
  return t.slice(8, -1).toLowerCase().replace(/\s/g, "");
}
function yae(e) {
  return typeof e.constructor == "function" ? e.constructor.name : null;
}
function bae(e) {
  return e instanceof Error || typeof e.message == "string" && e.constructor && typeof e.constructor.stackTraceLimit == "number";
}
function _ae(e) {
  return e instanceof Date ? !0 : typeof e.toDateString == "function" && typeof e.getDate == "function" && typeof e.setDate == "function";
}
function Eae(e) {
  var t = typeof e;
  return QV.NODE_ENV !== "production" && (t = gae(e)), t;
}
function uj(e, t) {
  return function() {
    return t(e.apply(this, arguments));
  };
}
function Sae(e, t) {
  if (typeof e == "function")
    return uj(e, t);
  if (typeof e != "object" || e === null)
    throw new Error(QV.NODE_ENV === "production" ? vae(16) : "bindActionCreators expected an object or a function, but instead received: '" + Eae(e) + `'. Did you write "import ActionCreators from" instead of "import * as ActionCreators from"?`);
  var r = {};
  for (var n in e) {
    var i = e[n];
    typeof i == "function" && (r[n] = uj(i, t));
  }
  return r;
}
function wae(e) {
  if (typeof e != "object" || e === null) return !1;
  var t = Object.getPrototypeOf(e);
  if (t === null) return !0;
  for (var r = t; Object.getPrototypeOf(r) !== null; )
    r = Object.getPrototypeOf(r);
  return t === r;
}
function ZV(e, t, r) {
  wae(e) || nP(r + "() in " + t + " must return a plain object. Instead received " + e + ".");
}
var Oae = {};
function sP(e) {
  return function(r, n) {
    var i = e(r, n);
    function o() {
      return i;
    }
    return o.dependsOnOwnProps = !1, o;
  };
}
function lj(e) {
  return e.dependsOnOwnProps !== null && e.dependsOnOwnProps !== void 0 ? !!e.dependsOnOwnProps : e.length !== 1;
}
function JV(e, t) {
  return function(n, i) {
    var o = i.displayName, l = function(g, y) {
      return l.dependsOnOwnProps ? l.mapToProps(g, y) : l.mapToProps(g);
    };
    return l.dependsOnOwnProps = !0, l.mapToProps = function(g, y) {
      l.mapToProps = e, l.dependsOnOwnProps = lj(e);
      var C = l(g, y);
      return typeof C == "function" && (l.mapToProps = C, l.dependsOnOwnProps = lj(C), C = l(g, y)), Oae.NODE_ENV !== "production" && ZV(C, o, t), C;
    }, l;
  };
}
function Tae(e) {
  return typeof e == "function" ? JV(e, "mapDispatchToProps") : void 0;
}
function Cae(e) {
  return e ? void 0 : sP(function(t) {
    return {
      dispatch: t
    };
  });
}
function xae(e) {
  return e && typeof e == "object" ? sP(function(t) {
    return Sae(e, t);
  }) : void 0;
}
const Aae = [Tae, Cae, xae];
function Dae(e) {
  return typeof e == "function" ? JV(e, "mapStateToProps") : void 0;
}
function Pae(e) {
  return e ? void 0 : sP(function() {
    return {};
  });
}
const kae = [Dae, Pae];
var Rae = {};
function Mae(e, t, r) {
  return ol({}, r, e, t);
}
function Nae(e) {
  return function(r, n) {
    var i = n.displayName, o = n.pure, l = n.areMergedPropsEqual, c = !1, g;
    return function(C, D, x) {
      var M = e(C, D, x);
      return c ? (!o || !l(M, g)) && (g = M) : (c = !0, g = M, Rae.NODE_ENV !== "production" && ZV(g, i, "mergeProps")), g;
    };
  };
}
function Iae(e) {
  return typeof e == "function" ? Nae(e) : void 0;
}
function Fae(e) {
  return e ? void 0 : function() {
    return Mae;
  };
}
const Lae = [Iae, Fae];
function LS(e, t, r) {
  if (e)
    (t === "mapStateToProps" || t === "mapDispatchToProps") && (e.hasOwnProperty("dependsOnOwnProps") || nP("The selector for " + t + " of " + r + " did not specify a value for dependsOnOwnProps."));
  else throw new Error("Unexpected value for " + t + " in " + r + ".");
}
function jae(e, t, r, n) {
  LS(e, "mapStateToProps", n), LS(t, "mapDispatchToProps", n), LS(r, "mergeProps", n);
}
var Uae = {};
function qae(e, t, r, n) {
  return function(o, l) {
    return r(e(o, l), t(n, l), l);
  };
}
function zae(e, t, r, n, i) {
  var o = i.areStatesEqual, l = i.areOwnPropsEqual, c = i.areStatePropsEqual, g = !1, y, C, D, x, M;
  function N(a, s) {
    return y = a, C = s, D = e(y, C), x = t(n, C), M = r(D, x, C), g = !0, M;
  }
  function F() {
    return D = e(y, C), t.dependsOnOwnProps && (x = t(n, C)), M = r(D, x, C), M;
  }
  function z() {
    return e.dependsOnOwnProps && (D = e(y, C)), t.dependsOnOwnProps && (x = t(n, C)), M = r(D, x, C), M;
  }
  function A() {
    var a = e(y, C), s = !c(a, D);
    return D = a, s && (M = r(D, x, C)), M;
  }
  function u(a, s) {
    var h = !l(s, C), E = !o(a, y);
    return y = a, C = s, h && E ? F() : h ? z() : E ? A() : M;
  }
  return function(s, h) {
    return g ? u(s, h) : N(s, h);
  };
}
function Bae(e, t) {
  var r = t.initMapStateToProps, n = t.initMapDispatchToProps, i = t.initMergeProps, o = iP(t, ["initMapStateToProps", "initMapDispatchToProps", "initMergeProps"]), l = r(e, o), c = n(e, o), g = i(e, o);
  Uae.NODE_ENV !== "production" && jae(l, c, g, o.displayName);
  var y = o.pure ? zae : qae;
  return y(l, c, g, e, o);
}
function jS(e, t, r) {
  for (var n = t.length - 1; n >= 0; n--) {
    var i = t[n](e);
    if (i) return i;
  }
  return function(o, l) {
    throw new Error("Invalid value of type " + typeof e + " for " + r + " argument when connecting component " + l.wrappedComponentName + ".");
  };
}
function Wae(e, t) {
  return e === t;
}
function $ae(e) {
  var t = {}, r = t.connectHOC, n = r === void 0 ? XV : r, i = t.mapStateToPropsFactories, o = i === void 0 ? kae : i, l = t.mapDispatchToPropsFactories, c = l === void 0 ? Aae : l, g = t.mergePropsFactories, y = g === void 0 ? Lae : g, C = t.selectorFactory, D = C === void 0 ? Bae : C;
  return function(M, N, F, z) {
    z === void 0 && (z = {});
    var A = z, u = A.pure, a = u === void 0 ? !0 : u, s = A.areStatesEqual, h = s === void 0 ? Wae : s, E = A.areOwnPropsEqual, f = E === void 0 ? IS : E, S = A.areStatePropsEqual, _ = S === void 0 ? IS : S, d = A.areMergedPropsEqual, p = d === void 0 ? IS : d, b = iP(A, ["pure", "areStatesEqual", "areOwnPropsEqual", "areStatePropsEqual", "areMergedPropsEqual"]), m = jS(M, o, "mapStateToProps"), v = jS(N, c, "mapDispatchToProps"), O = jS(F, y, "mergeProps");
    return n(D, ol({
      // used in error messages
      methodName: "connect",
      // used to compute Connect's displayName from the wrapped component's displayName.
      getDisplayName: function(w) {
        return "Connect(" + w + ")";
      },
      // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes
      shouldHandleStateChanges: !!M,
      // passed through to selectorFactory
      initMapStateToProps: m,
      initMapDispatchToProps: v,
      initMergeProps: O,
      pure: a,
      areStatesEqual: h,
      areOwnPropsEqual: f,
      areStatePropsEqual: _,
      areMergedPropsEqual: p
    }, b));
  };
}
const Vae = $ae(), Hae = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  Provider: Zie,
  connect: Vae,
  connectAdvanced: XV,
  createProvider: YV
}, Symbol.toStringTag, { value: "Module" })), Yae = /* @__PURE__ */ On(Hae);
var US, cj;
function Bt() {
  if (cj) return US;
  cj = 1;
  function e(t) {
    for (var r = arguments.length - 1, n = "Minified React error #" + t + "; visit http://facebook.github.io/react/docs/error-decoder.html?invariant=" + t, i = 0; i < r; i++)
      n += "&args[]=" + encodeURIComponent(arguments[i + 1]);
    n += " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";
    var o = new Error(n);
    throw o.name = "Invariant Violation", o.framesToPop = 1, o;
  }
  return US = e, US;
}
var qS, fj;
function Yo() {
  if (fj) return qS;
  fj = 1;
  var e = {}, t = Bt(), r = yt();
  function n(c, g) {
    return (c & g) === g;
  }
  var i = {
    /**
     * Mapping from normalized, camelcased property names to a configuration that
     * specifies how the associated DOM property should be accessed or rendered.
     */
    MUST_USE_PROPERTY: 1,
    HAS_BOOLEAN_VALUE: 4,
    HAS_NUMERIC_VALUE: 8,
    HAS_POSITIVE_NUMERIC_VALUE: 24,
    HAS_OVERLOADED_BOOLEAN_VALUE: 32,
    /**
     * Inject some specialized knowledge about the DOM. This takes a config object
     * with the following properties:
     *
     * isCustomAttribute: function that given an attribute name will return true
     * if it can be inserted into the DOM verbatim. Useful for data-* or aria-*
     * attributes where it's impossible to enumerate all of the possible
     * attribute names,
     *
     * Properties: object mapping DOM property name to one of the
     * DOMPropertyInjection constants or null. If your attribute isn't in here,
     * it won't get written to the DOM.
     *
     * DOMAttributeNames: object mapping React attribute name to the DOM
     * attribute name. Attribute names not specified use the **lowercase**
     * normalized name.
     *
     * DOMAttributeNamespaces: object mapping React attribute name to the DOM
     * attribute namespace URL. (Attribute names not specified use no namespace.)
     *
     * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties.
     * Property names not specified use the normalized name.
     *
     * DOMMutationMethods: Properties that require special mutation methods. If
     * `value` is undefined, the mutation method should unset the property.
     *
     * @param {object} domPropertyConfig the config as described above.
     */
    injectDOMPropertyConfig: function(c) {
      var g = i, y = c.Properties || {}, C = c.DOMAttributeNamespaces || {}, D = c.DOMAttributeNames || {}, x = c.DOMPropertyNames || {}, M = c.DOMMutationMethods || {};
      c.isCustomAttribute && l._isCustomAttributeFunctions.push(c.isCustomAttribute);
      for (var N in y) {
        l.properties.hasOwnProperty(N) && (e.NODE_ENV !== "production" ? r(!1, "injectDOMPropertyConfig(...): You're trying to inject DOM property '%s' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.", N) : t("48", N));
        var F = N.toLowerCase(), z = y[N], A = {
          attributeName: F,
          attributeNamespace: null,
          propertyName: N,
          mutationMethod: null,
          mustUseProperty: n(z, g.MUST_USE_PROPERTY),
          hasBooleanValue: n(z, g.HAS_BOOLEAN_VALUE),
          hasNumericValue: n(z, g.HAS_NUMERIC_VALUE),
          hasPositiveNumericValue: n(z, g.HAS_POSITIVE_NUMERIC_VALUE),
          hasOverloadedBooleanValue: n(z, g.HAS_OVERLOADED_BOOLEAN_VALUE)
        };
        if (A.hasBooleanValue + A.hasNumericValue + A.hasOverloadedBooleanValue <= 1 || (e.NODE_ENV !== "production" ? r(!1, "DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s", N) : t("50", N)), e.NODE_ENV !== "production" && (l.getPossibleStandardName[F] = N), D.hasOwnProperty(N)) {
          var u = D[N];
          A.attributeName = u, e.NODE_ENV !== "production" && (l.getPossibleStandardName[u] = N);
        }
        C.hasOwnProperty(N) && (A.attributeNamespace = C[N]), x.hasOwnProperty(N) && (A.propertyName = x[N]), M.hasOwnProperty(N) && (A.mutationMethod = M[N]), l.properties[N] = A;
      }
    }
  }, o = ":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD", l = {
    ID_ATTRIBUTE_NAME: "data-reactid",
    ROOT_ATTRIBUTE_NAME: "data-reactroot",
    ATTRIBUTE_NAME_START_CHAR: o,
    ATTRIBUTE_NAME_CHAR: o + "\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",
    /**
     * Map from property "standard name" to an object with info about how to set
     * the property in the DOM. Each object contains:
     *
     * attributeName:
     *   Used when rendering markup or with `*Attribute()`.
     * attributeNamespace
     * propertyName:
     *   Used on DOM node instances. (This includes properties that mutate due to
     *   external factors.)
     * mutationMethod:
     *   If non-null, used instead of the property or `setAttribute()` after
     *   initial render.
     * mustUseProperty:
     *   Whether the property must be accessed and mutated as an object property.
     * hasBooleanValue:
     *   Whether the property should be removed when set to a falsey value.
     * hasNumericValue:
     *   Whether the property must be numeric or parse as a numeric and should be
     *   removed when set to a falsey value.
     * hasPositiveNumericValue:
     *   Whether the property must be positive numeric or parse as a positive
     *   numeric and should be removed when set to a falsey value.
     * hasOverloadedBooleanValue:
     *   Whether the property can be used as a flag as well as with a value.
     *   Removed when strictly equal to false; present without a value when
     *   strictly equal to true; present with a value otherwise.
     */
    properties: {},
    /**
     * Mapping from lowercase property names to the properly cased version, used
     * to warn in the case of missing properties. Available only in __DEV__.
     *
     * autofocus is predefined, because adding it to the property whitelist
     * causes unintended side effects.
     *
     * @type {Object}
     */
    getPossibleStandardName: e.NODE_ENV !== "production" ? { autofocus: "autoFocus" } : null,
    /**
     * All of the isCustomAttribute() functions that have been injected.
     */
    _isCustomAttributeFunctions: [],
    /**
     * Checks whether a property name is a custom attribute.
     * @method
     */
    isCustomAttribute: function(c) {
      for (var g = 0; g < l._isCustomAttributeFunctions.length; g++) {
        var y = l._isCustomAttributeFunctions[g];
        if (y(c))
          return !0;
      }
      return !1;
    },
    injection: i
  };
  return qS = l, qS;
}
var zS, dj;
function e7() {
  if (dj) return zS;
  dj = 1;
  var e = {
    hasCachedChildNodes: 1
  };
  return zS = e, zS;
}
var BS, pj;
function Er() {
  if (pj) return BS;
  pj = 1;
  var e = {}, t = Bt(), r = Yo(), n = e7(), i = yt(), o = r.ID_ATTRIBUTE_NAME, l = n, c = "__reactInternalInstance$" + Math.random().toString(36).slice(2);
  function g(A, u) {
    return A.nodeType === 1 && A.getAttribute(o) === String(u) || A.nodeType === 8 && A.nodeValue === " react-text: " + u + " " || A.nodeType === 8 && A.nodeValue === " react-empty: " + u + " ";
  }
  function y(A) {
    for (var u; u = A._renderedComponent; )
      A = u;
    return A;
  }
  function C(A, u) {
    var a = y(A);
    a._hostNode = u, u[c] = a;
  }
  function D(A) {
    var u = A._hostNode;
    u && (delete u[c], A._hostNode = null);
  }
  function x(A, u) {
    if (!(A._flags & l.hasCachedChildNodes)) {
      var a = A._renderedChildren, s = u.firstChild;
      e: for (var h in a)
        if (a.hasOwnProperty(h)) {
          var E = a[h], f = y(E)._domID;
          if (f !== 0) {
            for (; s !== null; s = s.nextSibling)
              if (g(s, f)) {
                C(E, s);
                continue e;
              }
            e.NODE_ENV !== "production" ? i(!1, "Unable to find element with ID %s.", f) : t("32", f);
          }
        }
      A._flags |= l.hasCachedChildNodes;
    }
  }
  function M(A) {
    if (A[c])
      return A[c];
    for (var u = []; !A[c]; )
      if (u.push(A), A.parentNode)
        A = A.parentNode;
      else
        return null;
    for (var a, s; A && (s = A[c]); A = u.pop())
      a = s, u.length && x(s, A);
    return a;
  }
  function N(A) {
    var u = M(A);
    return u != null && u._hostNode === A ? u : null;
  }
  function F(A) {
    if (A._hostNode === void 0 && (e.NODE_ENV !== "production" ? i(!1, "getNodeFromInstance: Invalid argument.") : t("33")), A._hostNode)
      return A._hostNode;
    for (var u = []; !A._hostNode; )
      u.push(A), A._hostParent || (e.NODE_ENV !== "production" ? i(!1, "React DOM tree root should always have a node reference.") : t("34")), A = A._hostParent;
    for (; u.length; A = u.pop())
      x(A, A._hostNode);
    return A._hostNode;
  }
  var z = {
    getClosestInstanceFromNode: M,
    getInstanceFromNode: N,
    getNodeFromInstance: F,
    precacheChildNodes: x,
    precacheNode: C,
    uncacheNode: D
  };
  return BS = z, BS;
}
var WS, hj;
function Gae() {
  if (hj) return WS;
  hj = 1;
  var e = {
    Properties: {
      // Global States and Properties
      "aria-current": 0,
      // state
      "aria-details": 0,
      "aria-disabled": 0,
      // state
      "aria-hidden": 0,
      // state
      "aria-invalid": 0,
      // state
      "aria-keyshortcuts": 0,
      "aria-label": 0,
      "aria-roledescription": 0,
      // Widget Attributes
      "aria-autocomplete": 0,
      "aria-checked": 0,
      "aria-expanded": 0,
      "aria-haspopup": 0,
      "aria-level": 0,
      "aria-modal": 0,
      "aria-multiline": 0,
      "aria-multiselectable": 0,
      "aria-orientation": 0,
      "aria-placeholder": 0,
      "aria-pressed": 0,
      "aria-readonly": 0,
      "aria-required": 0,
      "aria-selected": 0,
      "aria-sort": 0,
      "aria-valuemax": 0,
      "aria-valuemin": 0,
      "aria-valuenow": 0,
      "aria-valuetext": 0,
      // Live Region Attributes
      "aria-atomic": 0,
      "aria-busy": 0,
      "aria-live": 0,
      "aria-relevant": 0,
      // Drag-and-Drop Attributes
      "aria-dropeffect": 0,
      "aria-grabbed": 0,
      // Relationship Attributes
      "aria-activedescendant": 0,
      "aria-colcount": 0,
      "aria-colindex": 0,
      "aria-colspan": 0,
      "aria-controls": 0,
      "aria-describedby": 0,
      "aria-errormessage": 0,
      "aria-flowto": 0,
      "aria-labelledby": 0,
      "aria-owns": 0,
      "aria-posinset": 0,
      "aria-rowcount": 0,
      "aria-rowindex": 0,
      "aria-rowspan": 0,
      "aria-setsize": 0
    },
    DOMAttributeNames: {},
    DOMPropertyNames: {}
  };
  return WS = e, WS;
}
var $S, mj;
function Cy() {
  if (mj) return $S;
  mj = 1;
  var e = {}, t = Bt(), r = yt(), n = null, i = {};
  function o() {
    if (n)
      for (var y in i) {
        var C = i[y], D = n.indexOf(y);
        if (D > -1 || (e.NODE_ENV !== "production" ? r(!1, "EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.", y) : t("96", y)), !g.plugins[D]) {
          C.extractEvents || (e.NODE_ENV !== "production" ? r(!1, "EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.", y) : t("97", y)), g.plugins[D] = C;
          var x = C.eventTypes;
          for (var M in x)
            l(x[M], C, M) || (e.NODE_ENV !== "production" ? r(!1, "EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.", M, y) : t("98", M, y));
        }
      }
  }
  function l(y, C, D) {
    g.eventNameDispatchConfigs.hasOwnProperty(D) && (e.NODE_ENV !== "production" ? r(!1, "EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.", D) : t("99", D)), g.eventNameDispatchConfigs[D] = y;
    var x = y.phasedRegistrationNames;
    if (x) {
      for (var M in x)
        if (x.hasOwnProperty(M)) {
          var N = x[M];
          c(N, C, D);
        }
      return !0;
    } else if (y.registrationName)
      return c(y.registrationName, C, D), !0;
    return !1;
  }
  function c(y, C, D) {
    if (g.registrationNameModules[y] && (e.NODE_ENV !== "production" ? r(!1, "EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.", y) : t("100", y)), g.registrationNameModules[y] = C, g.registrationNameDependencies[y] = C.eventTypes[D].dependencies, e.NODE_ENV !== "production") {
      var x = y.toLowerCase();
      g.possibleRegistrationNames[x] = y, y === "onDoubleClick" && (g.possibleRegistrationNames.ondblclick = y);
    }
  }
  var g = {
    /**
     * Ordered list of injected plugins.
     */
    plugins: [],
    /**
     * Mapping from event name to dispatch config
     */
    eventNameDispatchConfigs: {},
    /**
     * Mapping from registration name to plugin module
     */
    registrationNameModules: {},
    /**
     * Mapping from registration name to event name
     */
    registrationNameDependencies: {},
    /**
     * Mapping from lowercase registration names to the properly cased version,
     * used to warn in the case of missing event handlers. Available
     * only in __DEV__.
     * @type {Object}
     */
    possibleRegistrationNames: e.NODE_ENV !== "production" ? {} : null,
    // Trust the developer to only use possibleRegistrationNames in __DEV__
    /**
     * Injects an ordering of plugins (by plugin name). This allows the ordering
     * to be decoupled from injection of the actual plugins so that ordering is
     * always deterministic regardless of packaging, on-the-fly injection, etc.
     *
     * @param {array} InjectedEventPluginOrder
     * @internal
     * @see {EventPluginHub.injection.injectEventPluginOrder}
     */
    injectEventPluginOrder: function(y) {
      n && (e.NODE_ENV !== "production" ? r(!1, "EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.") : t("101")), n = Array.prototype.slice.call(y), o();
    },
    /**
     * Injects plugins to be used by `EventPluginHub`. The plugin names must be
     * in the ordering injected by `injectEventPluginOrder`.
     *
     * Plugins can be injected as part of page initialization or on-the-fly.
     *
     * @param {object} injectedNamesToPlugins Map from names to plugin modules.
     * @internal
     * @see {EventPluginHub.injection.injectEventPluginsByName}
     */
    injectEventPluginsByName: function(y) {
      var C = !1;
      for (var D in y)
        if (y.hasOwnProperty(D)) {
          var x = y[D];
          (!i.hasOwnProperty(D) || i[D] !== x) && (i[D] && (e.NODE_ENV !== "production" ? r(!1, "EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.", D) : t("102", D)), i[D] = x, C = !0);
        }
      C && o();
    },
    /**
     * Looks up the plugin for the supplied event.
     *
     * @param {object} event A synthetic event.
     * @return {?object} The plugin that created the supplied event.
     * @internal
     */
    getPluginModuleForEvent: function(y) {
      var C = y.dispatchConfig;
      if (C.registrationName)
        return g.registrationNameModules[C.registrationName] || null;
      if (C.phasedRegistrationNames !== void 0) {
        var D = C.phasedRegistrationNames;
        for (var x in D)
          if (D.hasOwnProperty(x)) {
            var M = g.registrationNameModules[D[x]];
            if (M)
              return M;
          }
      }
      return null;
    },
    /**
     * Exposed for unit testing.
     * @private
     */
    _resetEventPlugins: function() {
      n = null;
      for (var y in i)
        i.hasOwnProperty(y) && delete i[y];
      g.plugins.length = 0;
      var C = g.eventNameDispatchConfigs;
      for (var D in C)
        C.hasOwnProperty(D) && delete C[D];
      var x = g.registrationNameModules;
      for (var M in x)
        x.hasOwnProperty(M) && delete x[M];
      if (e.NODE_ENV !== "production") {
        var N = g.possibleRegistrationNames;
        for (var F in N)
          N.hasOwnProperty(F) && delete N[F];
      }
    }
  };
  return $S = g, $S;
}
var VS, vj;
function uP() {
  if (vj) return VS;
  vj = 1;
  var e = {}, t = null;
  function r(o, l, c) {
    try {
      l(c);
    } catch (g) {
      t === null && (t = g);
    }
  }
  var n = {
    invokeGuardedCallback: r,
    /**
     * Invoked by ReactTestUtils.Simulate so that any errors thrown by the event
     * handler are sure to be rethrown by rethrowCaughtError.
     */
    invokeGuardedCallbackWithCatch: r,
    /**
     * During execution of guarded functions we will capture the first error which
     * we will rethrow to be handled by the top level error handler.
     */
    rethrowCaughtError: function() {
      if (t) {
        var o = t;
        throw t = null, o;
      }
    }
  };
  if (e.NODE_ENV !== "production" && typeof window < "u" && typeof window.dispatchEvent == "function" && typeof document < "u" && typeof document.createEvent == "function") {
    var i = document.createElement("react");
    n.invokeGuardedCallback = function(o, l, c) {
      var g = function() {
        l(c);
      }, y = "react-" + o;
      i.addEventListener(y, g, !1);
      var C = document.createEvent("Event");
      C.initEvent(y, !1, !1), i.dispatchEvent(C), i.removeEventListener(y, g, !1);
    };
  }
  return VS = n, VS;
}
var HS, gj;
function lP() {
  if (gj) return HS;
  gj = 1;
  var e = {}, t = Bt(), r = uP(), n = yt(), i = Ct(), o, l, c = {
    injectComponentTree: function(a) {
      o = a, e.NODE_ENV !== "production" && e.NODE_ENV !== "production" && i(a && a.getNodeFromInstance && a.getInstanceFromNode, "EventPluginUtils.injection.injectComponentTree(...): Injected module is missing getNodeFromInstance or getInstanceFromNode.");
    },
    injectTreeTraversal: function(a) {
      l = a, e.NODE_ENV !== "production" && e.NODE_ENV !== "production" && i(a && a.isAncestor && a.getLowestCommonAncestor, "EventPluginUtils.injection.injectTreeTraversal(...): Injected module is missing isAncestor or getLowestCommonAncestor.");
    }
  };
  function g(a) {
    return a === "topMouseUp" || a === "topTouchEnd" || a === "topTouchCancel";
  }
  function y(a) {
    return a === "topMouseMove" || a === "topTouchMove";
  }
  function C(a) {
    return a === "topMouseDown" || a === "topTouchStart";
  }
  var D;
  e.NODE_ENV !== "production" && (D = function(a) {
    var s = a._dispatchListeners, h = a._dispatchInstances, E = Array.isArray(s), f = E ? s.length : s ? 1 : 0, S = Array.isArray(h), _ = S ? h.length : h ? 1 : 0;
    e.NODE_ENV !== "production" && i(S === E && _ === f, "EventPluginUtils: Invalid `event`.");
  });
  function x(a, s, h, E) {
    var f = a.type || "unknown-event";
    a.currentTarget = u.getNodeFromInstance(E), s ? r.invokeGuardedCallbackWithCatch(f, h, a) : r.invokeGuardedCallback(f, h, a), a.currentTarget = null;
  }
  function M(a, s) {
    var h = a._dispatchListeners, E = a._dispatchInstances;
    if (e.NODE_ENV !== "production" && D(a), Array.isArray(h))
      for (var f = 0; f < h.length && !a.isPropagationStopped(); f++)
        x(a, s, h[f], E[f]);
    else h && x(a, s, h, E);
    a._dispatchListeners = null, a._dispatchInstances = null;
  }
  function N(a) {
    var s = a._dispatchListeners, h = a._dispatchInstances;
    if (e.NODE_ENV !== "production" && D(a), Array.isArray(s)) {
      for (var E = 0; E < s.length && !a.isPropagationStopped(); E++)
        if (s[E](a, h[E]))
          return h[E];
    } else if (s && s(a, h))
      return h;
    return null;
  }
  function F(a) {
    var s = N(a);
    return a._dispatchInstances = null, a._dispatchListeners = null, s;
  }
  function z(a) {
    e.NODE_ENV !== "production" && D(a);
    var s = a._dispatchListeners, h = a._dispatchInstances;
    Array.isArray(s) && (e.NODE_ENV !== "production" ? n(!1, "executeDirectDispatch(...): Invalid `event`.") : t("103")), a.currentTarget = s ? u.getNodeFromInstance(h) : null;
    var E = s ? s(a) : null;
    return a.currentTarget = null, a._dispatchListeners = null, a._dispatchInstances = null, E;
  }
  function A(a) {
    return !!a._dispatchListeners;
  }
  var u = {
    isEndish: g,
    isMoveish: y,
    isStartish: C,
    executeDirectDispatch: z,
    executeDispatchesInOrder: M,
    executeDispatchesInOrderStopAtTrue: F,
    hasDispatches: A,
    getInstanceFromNode: function(a) {
      return o.getInstanceFromNode(a);
    },
    getNodeFromInstance: function(a) {
      return o.getNodeFromInstance(a);
    },
    isAncestor: function(a, s) {
      return l.isAncestor(a, s);
    },
    getLowestCommonAncestor: function(a, s) {
      return l.getLowestCommonAncestor(a, s);
    },
    getParentInstance: function(a) {
      return l.getParentInstance(a);
    },
    traverseTwoPhase: function(a, s, h) {
      return l.traverseTwoPhase(a, s, h);
    },
    traverseEnterLeave: function(a, s, h, E, f) {
      return l.traverseEnterLeave(a, s, h, E, f);
    },
    injection: c
  };
  return HS = u, HS;
}
var YS, yj;
function t7() {
  if (yj) return YS;
  yj = 1;
  var e = {}, t = Bt(), r = yt();
  function n(i, o) {
    return o == null && (e.NODE_ENV !== "production" ? r(!1, "accumulateInto(...): Accumulated items must not be null or undefined.") : t("30")), i == null ? o : Array.isArray(i) ? Array.isArray(o) ? (i.push.apply(i, o), i) : (i.push(o), i) : Array.isArray(o) ? [i].concat(o) : [i, o];
  }
  return YS = n, YS;
}
var GS, bj;
function r7() {
  if (bj) return GS;
  bj = 1;
  function e(t, r, n) {
    Array.isArray(t) ? t.forEach(r, n) : t && r.call(n, t);
  }
  return GS = e, GS;
}
var KS, _j;
function fd() {
  if (_j) return KS;
  _j = 1;
  var e = {}, t = Bt(), r = Cy(), n = lP(), i = uP(), o = t7(), l = r7(), c = yt(), g = {}, y = null, C = function(A, u) {
    A && (n.executeDispatchesInOrder(A, u), A.isPersistent() || A.constructor.release(A));
  }, D = function(A) {
    return C(A, !0);
  }, x = function(A) {
    return C(A, !1);
  }, M = function(A) {
    return "." + A._rootNodeID;
  };
  function N(A) {
    return A === "button" || A === "input" || A === "select" || A === "textarea";
  }
  function F(A, u, a) {
    switch (A) {
      case "onClick":
      case "onClickCapture":
      case "onDoubleClick":
      case "onDoubleClickCapture":
      case "onMouseDown":
      case "onMouseDownCapture":
      case "onMouseMove":
      case "onMouseMoveCapture":
      case "onMouseUp":
      case "onMouseUpCapture":
        return !!(a.disabled && N(u));
      default:
        return !1;
    }
  }
  var z = {
    /**
     * Methods for injecting dependencies.
     */
    injection: {
      /**
       * @param {array} InjectedEventPluginOrder
       * @public
       */
      injectEventPluginOrder: r.injectEventPluginOrder,
      /**
       * @param {object} injectedNamesToPlugins Map from names to plugin modules.
       */
      injectEventPluginsByName: r.injectEventPluginsByName
    },
    /**
     * Stores `listener` at `listenerBank[registrationName][key]`. Is idempotent.
     *
     * @param {object} inst The instance, which is the source of events.
     * @param {string} registrationName Name of listener (e.g. `onClick`).
     * @param {function} listener The callback to store.
     */
    putListener: function(A, u, a) {
      typeof a != "function" && (e.NODE_ENV !== "production" ? c(!1, "Expected %s listener to be a function, instead got type %s", u, typeof a) : t("94", u, typeof a));
      var s = M(A), h = g[u] || (g[u] = {});
      h[s] = a;
      var E = r.registrationNameModules[u];
      E && E.didPutListener && E.didPutListener(A, u, a);
    },
    /**
     * @param {object} inst The instance, which is the source of events.
     * @param {string} registrationName Name of listener (e.g. `onClick`).
     * @return {?function} The stored callback.
     */
    getListener: function(A, u) {
      var a = g[u];
      if (F(u, A._currentElement.type, A._currentElement.props))
        return null;
      var s = M(A);
      return a && a[s];
    },
    /**
     * Deletes a listener from the registration bank.
     *
     * @param {object} inst The instance, which is the source of events.
     * @param {string} registrationName Name of listener (e.g. `onClick`).
     */
    deleteListener: function(A, u) {
      var a = r.registrationNameModules[u];
      a && a.willDeleteListener && a.willDeleteListener(A, u);
      var s = g[u];
      if (s) {
        var h = M(A);
        delete s[h];
      }
    },
    /**
     * Deletes all listeners for the DOM element with the supplied ID.
     *
     * @param {object} inst The instance, which is the source of events.
     */
    deleteAllListeners: function(A) {
      var u = M(A);
      for (var a in g)
        if (g.hasOwnProperty(a) && g[a][u]) {
          var s = r.registrationNameModules[a];
          s && s.willDeleteListener && s.willDeleteListener(A, a), delete g[a][u];
        }
    },
    /**
     * Allows registered plugins an opportunity to extract events from top-level
     * native browser events.
     *
     * @return {*} An accumulation of synthetic events.
     * @internal
     */
    extractEvents: function(A, u, a, s) {
      for (var h, E = r.plugins, f = 0; f < E.length; f++) {
        var S = E[f];
        if (S) {
          var _ = S.extractEvents(A, u, a, s);
          _ && (h = o(h, _));
        }
      }
      return h;
    },
    /**
     * Enqueues a synthetic event that should be dispatched when
     * `processEventQueue` is invoked.
     *
     * @param {*} events An accumulation of synthetic events.
     * @internal
     */
    enqueueEvents: function(A) {
      A && (y = o(y, A));
    },
    /**
     * Dispatches all synthetic events on the event queue.
     *
     * @internal
     */
    processEventQueue: function(A) {
      var u = y;
      y = null, A ? l(u, D) : l(u, x), y && (e.NODE_ENV !== "production" ? c(!1, "processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.") : t("95")), i.rethrowCaughtError();
    },
    /**
     * These are needed for tests only. Do not use!
     */
    __purge: function() {
      g = {};
    },
    __getListenerBank: function() {
      return g;
    }
  };
  return KS = z, KS;
}
var XS, Ej;
function dd() {
  if (Ej) return XS;
  Ej = 1;
  var e = {}, t = fd(), r = lP(), n = t7(), i = r7(), o = Ct(), l = t.getListener;
  function c(u, a, s) {
    var h = a.dispatchConfig.phasedRegistrationNames[s];
    return l(u, h);
  }
  function g(u, a, s) {
    e.NODE_ENV !== "production" && e.NODE_ENV !== "production" && o(u, "Dispatching inst must not be null");
    var h = c(u, s, a);
    h && (s._dispatchListeners = n(s._dispatchListeners, h), s._dispatchInstances = n(s._dispatchInstances, u));
  }
  function y(u) {
    u && u.dispatchConfig.phasedRegistrationNames && r.traverseTwoPhase(u._targetInst, g, u);
  }
  function C(u) {
    if (u && u.dispatchConfig.phasedRegistrationNames) {
      var a = u._targetInst, s = a ? r.getParentInstance(a) : null;
      r.traverseTwoPhase(s, g, u);
    }
  }
  function D(u, a, s) {
    if (s && s.dispatchConfig.registrationName) {
      var h = s.dispatchConfig.registrationName, E = l(u, h);
      E && (s._dispatchListeners = n(s._dispatchListeners, E), s._dispatchInstances = n(s._dispatchInstances, u));
    }
  }
  function x(u) {
    u && u.dispatchConfig.registrationName && D(u._targetInst, null, u);
  }
  function M(u) {
    i(u, y);
  }
  function N(u) {
    i(u, C);
  }
  function F(u, a, s, h) {
    r.traverseEnterLeave(s, h, D, u, a);
  }
  function z(u) {
    i(u, x);
  }
  var A = {
    accumulateTwoPhaseDispatches: M,
    accumulateTwoPhaseDispatchesSkipTarget: N,
    accumulateDirectDispatches: z,
    accumulateEnterLeaveDispatches: F
  };
  return XS = A, XS;
}
var QS, Sj;
function Yr() {
  if (Sj) return QS;
  Sj = 1;
  var e = !!(typeof window < "u" && window.document && window.document.createElement), t = {
    canUseDOM: e,
    canUseWorkers: typeof Worker < "u",
    canUseEventListeners: e && !!(window.addEventListener || window.attachEvent),
    canUseViewport: e && !!window.screen,
    isInWorker: !e
    // For now, this is true - might change in the future.
  };
  return QS = t, QS;
}
var ZS, wj;
function Xs() {
  if (wj) return ZS;
  wj = 1;
  var e = {}, t = Bt(), r = yt(), n = function(x) {
    var M = this;
    if (M.instancePool.length) {
      var N = M.instancePool.pop();
      return M.call(N, x), N;
    } else
      return new M(x);
  }, i = function(x, M) {
    var N = this;
    if (N.instancePool.length) {
      var F = N.instancePool.pop();
      return N.call(F, x, M), F;
    } else
      return new N(x, M);
  }, o = function(x, M, N) {
    var F = this;
    if (F.instancePool.length) {
      var z = F.instancePool.pop();
      return F.call(z, x, M, N), z;
    } else
      return new F(x, M, N);
  }, l = function(x, M, N, F) {
    var z = this;
    if (z.instancePool.length) {
      var A = z.instancePool.pop();
      return z.call(A, x, M, N, F), A;
    } else
      return new z(x, M, N, F);
  }, c = function(x) {
    var M = this;
    x instanceof M || (e.NODE_ENV !== "production" ? r(!1, "Trying to release an instance into a pool of a different type.") : t("25")), x.destructor(), M.instancePool.length < M.poolSize && M.instancePool.push(x);
  }, g = 10, y = n, C = function(x, M) {
    var N = x;
    return N.instancePool = [], N.getPooled = M || y, N.poolSize || (N.poolSize = g), N.release = c, N;
  }, D = {
    addPoolingTo: C,
    oneArgumentPooler: n,
    twoArgumentPooler: i,
    threeArgumentPooler: o,
    fourArgumentPooler: l
  };
  return ZS = D, ZS;
}
var JS, Oj;
function n7() {
  if (Oj) return JS;
  Oj = 1;
  var e = Yr(), t = null;
  function r() {
    return !t && e.canUseDOM && (t = "textContent" in document.documentElement ? "textContent" : "innerText"), t;
  }
  return JS = r, JS;
}
var ew, Tj;
function Kae() {
  if (Tj) return ew;
  Tj = 1;
  var e = sr(), t = Xs(), r = n7();
  function n(i) {
    this._root = i, this._startText = this.getText(), this._fallbackText = null;
  }
  return e(n.prototype, {
    destructor: function() {
      this._root = null, this._startText = null, this._fallbackText = null;
    },
    /**
     * Get current text of input.
     *
     * @return {string}
     */
    getText: function() {
      return "value" in this._root ? this._root.value : this._root[r()];
    },
    /**
     * Determine the differing substring between the initially stored
     * text content and the current content.
     *
     * @return {string}
     */
    getData: function() {
      if (this._fallbackText)
        return this._fallbackText;
      var i, o = this._startText, l = o.length, c, g = this.getText(), y = g.length;
      for (i = 0; i < l && o[i] === g[i]; i++)
        ;
      var C = l - i;
      for (c = 1; c <= C && o[l - c] === g[y - c]; c++)
        ;
      var D = c > 1 ? 1 - c : void 0;
      return this._fallbackText = g.slice(i, D), this._fallbackText;
    }
  }), t.addPoolingTo(n), ew = n, ew;
}
var tw, Cj;
function so() {
  if (Cj) return tw;
  Cj = 1;
  var e = {}, t = sr(), r = Xs(), n = Aa(), i = Ct(), o = !1, l = typeof Proxy == "function", c = ["dispatchConfig", "_targetInst", "nativeEvent", "isDefaultPrevented", "isPropagationStopped", "_dispatchListeners", "_dispatchInstances"], g = {
    type: null,
    target: null,
    // currentTarget is set when dispatching; no use in copying it here
    currentTarget: n.thatReturnsNull,
    eventPhase: null,
    bubbles: null,
    cancelable: null,
    timeStamp: function(D) {
      return D.timeStamp || Date.now();
    },
    defaultPrevented: null,
    isTrusted: null
  };
  function y(D, x, M, N) {
    e.NODE_ENV !== "production" && (delete this.nativeEvent, delete this.preventDefault, delete this.stopPropagation), this.dispatchConfig = D, this._targetInst = x, this.nativeEvent = M;
    var F = this.constructor.Interface;
    for (var z in F)
      if (F.hasOwnProperty(z)) {
        e.NODE_ENV !== "production" && delete this[z];
        var A = F[z];
        A ? this[z] = A(M) : z === "target" ? this.target = N : this[z] = M[z];
      }
    var u = M.defaultPrevented != null ? M.defaultPrevented : M.returnValue === !1;
    return u ? this.isDefaultPrevented = n.thatReturnsTrue : this.isDefaultPrevented = n.thatReturnsFalse, this.isPropagationStopped = n.thatReturnsFalse, this;
  }
  t(y.prototype, {
    preventDefault: function() {
      this.defaultPrevented = !0;
      var D = this.nativeEvent;
      D && (D.preventDefault ? D.preventDefault() : typeof D.returnValue != "unknown" && (D.returnValue = !1), this.isDefaultPrevented = n.thatReturnsTrue);
    },
    stopPropagation: function() {
      var D = this.nativeEvent;
      D && (D.stopPropagation ? D.stopPropagation() : typeof D.cancelBubble != "unknown" && (D.cancelBubble = !0), this.isPropagationStopped = n.thatReturnsTrue);
    },
    /**
     * We release all dispatched `SyntheticEvent`s after each event loop, adding
     * them back into the pool. This allows a way to hold onto a reference that
     * won't be added back into the pool.
     */
    persist: function() {
      this.isPersistent = n.thatReturnsTrue;
    },
    /**
     * Checks if this event should be released back into the pool.
     *
     * @return {boolean} True if this should not be released, false otherwise.
     */
    isPersistent: n.thatReturnsFalse,
    /**
     * `PooledClass` looks for `destructor` on each instance it releases.
     */
    destructor: function() {
      var D = this.constructor.Interface;
      for (var x in D)
        e.NODE_ENV !== "production" ? Object.defineProperty(this, x, C(x, D[x])) : this[x] = null;
      for (var M = 0; M < c.length; M++)
        this[c[M]] = null;
      e.NODE_ENV !== "production" && (Object.defineProperty(this, "nativeEvent", C("nativeEvent", null)), Object.defineProperty(this, "preventDefault", C("preventDefault", n)), Object.defineProperty(this, "stopPropagation", C("stopPropagation", n)));
    }
  }), y.Interface = g, y.augmentClass = function(D, x) {
    var M = this, N = function() {
    };
    N.prototype = M.prototype;
    var F = new N();
    t(F, D.prototype), D.prototype = F, D.prototype.constructor = D, D.Interface = t({}, M.Interface, x), D.augmentClass = M.augmentClass, r.addPoolingTo(D, r.fourArgumentPooler);
  }, e.NODE_ENV !== "production" && l && (y = new Proxy(y, {
    construct: function(D, x) {
      return this.apply(D, Object.create(D.prototype), x);
    },
    apply: function(D, x, M) {
      return new Proxy(D.apply(x, M), {
        set: function(N, F, z) {
          return F !== "isPersistent" && !N.constructor.Interface.hasOwnProperty(F) && c.indexOf(F) === -1 && (e.NODE_ENV !== "production" && i(o || N.isPersistent(), "This synthetic event is reused for performance reasons. If you're seeing this, you're adding a new property in the synthetic event object. The property is never released. See https://fb.me/react-event-pooling for more information."), o = !0), N[F] = z, !0;
        }
      });
    }
  })), r.addPoolingTo(y, r.fourArgumentPooler), tw = y;
  function C(D, x) {
    var M = typeof x == "function";
    return {
      configurable: !0,
      set: N,
      get: F
    };
    function N(A) {
      var u = M ? "setting the method" : "setting the property";
      return z(u, "This is effectively a no-op"), A;
    }
    function F() {
      var A = M ? "accessing the method" : "accessing the property", u = M ? "This is a no-op function" : "This is set to null";
      return z(A, u), x;
    }
    function z(A, u) {
      var a = !1;
      e.NODE_ENV !== "production" && i(a, "This synthetic event is reused for performance reasons. If you're seeing this, you're %s `%s` on a released/nullified synthetic event. %s. If you must keep the original synthetic event around, use event.persist(). See https://fb.me/react-event-pooling for more information.", A, D, u);
    }
  }
  return tw;
}
var rw, xj;
function Xae() {
  if (xj) return rw;
  xj = 1;
  var e = so(), t = {
    data: null
  };
  function r(n, i, o, l) {
    return e.call(this, n, i, o, l);
  }
  return e.augmentClass(r, t), rw = r, rw;
}
var nw, Aj;
function Qae() {
  if (Aj) return nw;
  Aj = 1;
  var e = so(), t = {
    data: null
  };
  function r(n, i, o, l) {
    return e.call(this, n, i, o, l);
  }
  return e.augmentClass(r, t), nw = r, nw;
}
var iw, Dj;
function Zae() {
  if (Dj) return iw;
  Dj = 1;
  var e = dd(), t = Yr(), r = Kae(), n = Xae(), i = Qae(), o = [9, 13, 27, 32], l = 229, c = t.canUseDOM && "CompositionEvent" in window, g = null;
  t.canUseDOM && "documentMode" in document && (g = document.documentMode);
  var y = t.canUseDOM && "TextEvent" in window && !g && !D(), C = t.canUseDOM && (!c || g && g > 8 && g <= 11);
  function D() {
    var p = window.opera;
    return typeof p == "object" && typeof p.version == "function" && parseInt(p.version(), 10) <= 12;
  }
  var x = 32, M = String.fromCharCode(x), N = {
    beforeInput: {
      phasedRegistrationNames: {
        bubbled: "onBeforeInput",
        captured: "onBeforeInputCapture"
      },
      dependencies: ["topCompositionEnd", "topKeyPress", "topTextInput", "topPaste"]
    },
    compositionEnd: {
      phasedRegistrationNames: {
        bubbled: "onCompositionEnd",
        captured: "onCompositionEndCapture"
      },
      dependencies: ["topBlur", "topCompositionEnd", "topKeyDown", "topKeyPress", "topKeyUp", "topMouseDown"]
    },
    compositionStart: {
      phasedRegistrationNames: {
        bubbled: "onCompositionStart",
        captured: "onCompositionStartCapture"
      },
      dependencies: ["topBlur", "topCompositionStart", "topKeyDown", "topKeyPress", "topKeyUp", "topMouseDown"]
    },
    compositionUpdate: {
      phasedRegistrationNames: {
        bubbled: "onCompositionUpdate",
        captured: "onCompositionUpdateCapture"
      },
      dependencies: ["topBlur", "topCompositionUpdate", "topKeyDown", "topKeyPress", "topKeyUp", "topMouseDown"]
    }
  }, F = !1;
  function z(p) {
    return (p.ctrlKey || p.altKey || p.metaKey) && // ctrlKey && altKey is equivalent to AltGr, and is not a command.
    !(p.ctrlKey && p.altKey);
  }
  function A(p) {
    switch (p) {
      case "topCompositionStart":
        return N.compositionStart;
      case "topCompositionEnd":
        return N.compositionEnd;
      case "topCompositionUpdate":
        return N.compositionUpdate;
    }
  }
  function u(p, b) {
    return p === "topKeyDown" && b.keyCode === l;
  }
  function a(p, b) {
    switch (p) {
      case "topKeyUp":
        return o.indexOf(b.keyCode) !== -1;
      case "topKeyDown":
        return b.keyCode !== l;
      case "topKeyPress":
      case "topMouseDown":
      case "topBlur":
        return !0;
      default:
        return !1;
    }
  }
  function s(p) {
    var b = p.detail;
    return typeof b == "object" && "data" in b ? b.data : null;
  }
  var h = null;
  function E(p, b, m, v) {
    var O, T;
    if (c ? O = A(p) : h ? a(p, m) && (O = N.compositionEnd) : u(p, m) && (O = N.compositionStart), !O)
      return null;
    C && (!h && O === N.compositionStart ? h = r.getPooled(v) : O === N.compositionEnd && h && (T = h.getData()));
    var w = n.getPooled(O, b, m, v);
    if (T)
      w.data = T;
    else {
      var P = s(m);
      P !== null && (w.data = P);
    }
    return e.accumulateTwoPhaseDispatches(w), w;
  }
  function f(p, b) {
    switch (p) {
      case "topCompositionEnd":
        return s(b);
      case "topKeyPress":
        var m = b.which;
        return m !== x ? null : (F = !0, M);
      case "topTextInput":
        var v = b.data;
        return v === M && F ? null : v;
      default:
        return null;
    }
  }
  function S(p, b) {
    if (h) {
      if (p === "topCompositionEnd" || !c && a(p, b)) {
        var m = h.getData();
        return r.release(h), h = null, m;
      }
      return null;
    }
    switch (p) {
      case "topPaste":
        return null;
      case "topKeyPress":
        return b.which && !z(b) ? String.fromCharCode(b.which) : null;
      case "topCompositionEnd":
        return C ? null : b.data;
      default:
        return null;
    }
  }
  function _(p, b, m, v) {
    var O;
    if (y ? O = f(p, m) : O = S(p, m), !O)
      return null;
    var T = i.getPooled(N.beforeInput, b, m, v);
    return T.data = O, e.accumulateTwoPhaseDispatches(T), T;
  }
  var d = {
    eventTypes: N,
    extractEvents: function(p, b, m, v) {
      return [E(p, b, m, v), _(p, b, m, v)];
    }
  };
  return iw = d, iw;
}
var aw, Pj;
function i7() {
  if (Pj) return aw;
  Pj = 1;
  var e = {}, t = Bt();
  function r(l, c) {
    if (!(l instanceof c))
      throw new TypeError("Cannot call a class as a function");
  }
  var n = Xs(), i = yt(), o = function() {
    function l(c) {
      r(this, l), this._callbacks = null, this._contexts = null, this._arg = c;
    }
    return l.prototype.enqueue = function(g, y) {
      this._callbacks = this._callbacks || [], this._callbacks.push(g), this._contexts = this._contexts || [], this._contexts.push(y);
    }, l.prototype.notifyAll = function() {
      var g = this._callbacks, y = this._contexts, C = this._arg;
      if (g && y) {
        g.length !== y.length && (e.NODE_ENV !== "production" ? i(!1, "Mismatched list of contexts in callback queue") : t("24")), this._callbacks = null, this._contexts = null;
        for (var D = 0; D < g.length; D++)
          g[D].call(y[D], C);
        g.length = 0, y.length = 0;
      }
    }, l.prototype.checkpoint = function() {
      return this._callbacks ? this._callbacks.length : 0;
    }, l.prototype.rollback = function(g) {
      this._callbacks && this._contexts && (this._callbacks.length = g, this._contexts.length = g);
    }, l.prototype.reset = function() {
      this._callbacks = null, this._contexts = null;
    }, l.prototype.destructor = function() {
      this.reset();
    }, l;
  }();
  return aw = n.addPoolingTo(o), aw;
}
var ow, kj;
function a7() {
  if (kj) return ow;
  kj = 1;
  var e = {
    // When true, call console.time() before and .timeEnd() after each top-level
    // render (both initial renders and updates). Useful when looking at prod-mode
    // timeline profiles in Chrome, for example.
    logTopLevelRenders: !1
  };
  return ow = e, ow;
}
var sw, Rj;
function Jae() {
  if (Rj) return sw;
  Rj = 1;
  var e = {}, t = Bt(), r = yt();
  function n(o) {
    return !!(o && typeof o.attachRef == "function" && typeof o.detachRef == "function");
  }
  var i = {
    /**
     * Adds a component by ref to an owner component.
     *
     * @param {ReactComponent} component Component to reference.
     * @param {string} ref Name by which to refer to the component.
     * @param {ReactOwner} owner Component on which to record the ref.
     * @final
     * @internal
     */
    addComponentAsRefTo: function(o, l, c) {
      n(c) || (e.NODE_ENV !== "production" ? r(!1, "addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component's `render` method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner).") : t("119")), c.attachRef(l, o);
    },
    /**
     * Removes a component by ref from an owner component.
     *
     * @param {ReactComponent} component Component to dereference.
     * @param {string} ref Name of the ref to remove.
     * @param {ReactOwner} owner Component on which the ref is recorded.
     * @final
     * @internal
     */
    removeComponentAsRefFrom: function(o, l, c) {
      n(c) || (e.NODE_ENV !== "production" ? r(!1, "removeComponentAsRefFrom(...): Only a ReactOwner can have refs. You might be removing a ref to a component that was not created inside a component's `render` method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner).") : t("120"));
      var g = c.getPublicInstance();
      g && g.refs[l] === o.getPublicInstance() && c.detachRef(l);
    }
  };
  return sw = i, sw;
}
var uw, Mj;
function eoe() {
  if (Mj) return uw;
  Mj = 1;
  var e = Jae(), t = {};
  function r(i, o, l) {
    typeof i == "function" ? i(o.getPublicInstance()) : e.addComponentAsRefTo(o, i, l);
  }
  function n(i, o, l) {
    typeof i == "function" ? i(null) : e.removeComponentAsRefFrom(o, i, l);
  }
  return t.attachRefs = function(i, o) {
    if (!(o === null || typeof o != "object")) {
      var l = o.ref;
      l != null && r(l, i, o._owner);
    }
  }, t.shouldUpdateRefs = function(i, o) {
    var l = null, c = null;
    i !== null && typeof i == "object" && (l = i.ref, c = i._owner);
    var g = null, y = null;
    return o !== null && typeof o == "object" && (g = o.ref, y = o._owner), l !== g || // If owner changes but we have an unchanged function ref, don't update refs
    typeof g == "string" && y !== c;
  }, t.detachRefs = function(i, o) {
    if (!(o === null || typeof o != "object")) {
      var l = o.ref;
      l != null && n(l, i, o._owner);
    }
  }, uw = t, uw;
}
var lw, Nj;
function toe() {
  if (Nj) return lw;
  Nj = 1;
  var e = {}, t = Ct();
  if (e.NODE_ENV !== "production")
    var r = !1, n = function() {
      e.NODE_ENV !== "production" && t(!r, "setState(...): Cannot call setState() inside getChildContext()");
    };
  var i = {
    onBeginProcessingChildContext: function() {
      r = !0;
    },
    onEndProcessingChildContext: function() {
      r = !1;
    },
    onSetState: function() {
      n();
    }
  };
  return lw = i, lw;
}
var cw, Ij;
function roe() {
  if (Ij) return cw;
  Ij = 1;
  var e = [], t = {
    onHostOperation: function(r) {
      e.push(r);
    },
    clearHistory: function() {
      t._preventClearing || (e = []);
    },
    getHistory: function() {
      return e;
    }
  };
  return cw = t, cw;
}
var fw, Fj;
function noe() {
  if (Fj) return fw;
  Fj = 1;
  var e = Yr(), t;
  return e.canUseDOM && (t = window.performance || window.msPerformance || window.webkitPerformance), fw = t || {}, fw;
}
var dw, Lj;
function ioe() {
  if (Lj) return dw;
  Lj = 1;
  var e = noe(), t;
  return e.now ? t = function() {
    return e.now();
  } : t = function() {
    return Date.now();
  }, dw = t, dw;
}
var pw, jj;
function aoe() {
  if (jj) return pw;
  jj = 1;
  var e = {}, t = toe(), r = roe(), n = Zn(), i = Yr(), o = ioe(), l = Ct(), c = [], g = {};
  function y(R, q, B, j, k, U, W, $) {
    try {
      q.call(B, j, k, U, W, $);
    } catch (V) {
      e.NODE_ENV !== "production" && l(g[R], "Exception thrown by hook while handling %s: %s", R, V + `
` + V.stack), g[R] = !0;
    }
  }
  function C(R, q, B, j, k, U) {
    for (var W = 0; W < c.length; W++) {
      var $ = c[W], V = $[R];
      V && y(R, V, $, q, B, j, k, U);
    }
  }
  var D = !1, x = [], M = [], N = 0, F = [], z = 0, A = null, u = 0, a = 0, s = null, h = !1;
  function E() {
    n.purgeUnmountedComponents(), r.clearHistory();
  }
  function f(R) {
    return R.reduce(function(q, B) {
      var j = n.getOwnerID(B), k = n.getParentID(B);
      return q[B] = {
        displayName: n.getDisplayName(B),
        text: n.getText(B),
        updateCount: n.getUpdateCount(B),
        childIDs: n.getChildIDs(B),
        // Text nodes don't have owners but this is close enough.
        ownerID: j || k && n.getOwnerID(k) || 0,
        parentID: k
      }, q;
    }, {});
  }
  function S() {
    var R = z, q = F, B = r.getHistory();
    if (N === 0) {
      z = 0, F = [], E();
      return;
    }
    if (q.length || B.length) {
      var j = n.getRegisteredIDs();
      x.push({
        duration: o() - R,
        measurements: q || [],
        operations: B || [],
        treeSnapshot: f(j)
      });
    }
    E(), z = o(), F = [];
  }
  function _(R) {
    var q = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
    q && R === 0 || R || e.NODE_ENV !== "production" && l(!1, "ReactDebugTool: debugID may not be empty.");
  }
  function d(R, q) {
    N !== 0 && (s && !h && (e.NODE_ENV !== "production" && l(!1, "There is an internal error in the React performance measurement code. Did not expect %s timer to start while %s timer is still in progress for %s instance.", q, s || "no", R === A ? "the same" : "another"), h = !0), u = o(), a = 0, A = R, s = q);
  }
  function p(R, q) {
    N !== 0 && (s !== q && !h && (e.NODE_ENV !== "production" && l(!1, "There is an internal error in the React performance measurement code. We did not expect %s timer to stop while %s timer is still in progress for %s instance. Please report this as a bug in React.", q, s || "no", R === A ? "the same" : "another"), h = !0), D && F.push({
      timerType: q,
      instanceID: R,
      duration: o() - u - a
    }), u = 0, a = 0, A = null, s = null);
  }
  function b() {
    var R = {
      startTime: u,
      nestedFlushStartTime: o(),
      debugID: A,
      timerType: s
    };
    M.push(R), u = 0, a = 0, A = null, s = null;
  }
  function m() {
    var R = M.pop(), q = R.startTime, B = R.nestedFlushStartTime, j = R.debugID, k = R.timerType, U = o() - B;
    u = q, a += U, A = j, s = k;
  }
  var v = 0, O = typeof performance < "u" && typeof performance.mark == "function" && typeof performance.clearMarks == "function" && typeof performance.measure == "function" && typeof performance.clearMeasures == "function";
  function T(R) {
    if (!D || !O)
      return !1;
    var q = n.getElement(R);
    if (q == null || typeof q != "object")
      return !1;
    var B = typeof q.type == "string";
    return !B;
  }
  function w(R, q) {
    if (T(R)) {
      var B = R + "::" + q;
      v = o(), performance.mark(B);
    }
  }
  function P(R, q) {
    if (T(R)) {
      var B = R + "::" + q, j = n.getDisplayName(R) || "Unknown", k = o();
      if (k - v > 0.1) {
        var U = j + " [" + q + "]";
        performance.measure(U, B);
      }
      performance.clearMarks(B), U && performance.clearMeasures(U);
    }
  }
  var I = {
    addHook: function(R) {
      c.push(R);
    },
    removeHook: function(R) {
      for (var q = 0; q < c.length; q++)
        c[q] === R && (c.splice(q, 1), q--);
    },
    isProfiling: function() {
      return D;
    },
    beginProfiling: function() {
      D || (D = !0, x.length = 0, S(), I.addHook(r));
    },
    endProfiling: function() {
      D && (D = !1, S(), I.removeHook(r));
    },
    getFlushHistory: function() {
      return x;
    },
    onBeginFlush: function() {
      N++, S(), b(), C("onBeginFlush");
    },
    onEndFlush: function() {
      S(), N--, m(), C("onEndFlush");
    },
    onBeginLifeCycleTimer: function(R, q) {
      _(R), C("onBeginLifeCycleTimer", R, q), w(R, q), d(R, q);
    },
    onEndLifeCycleTimer: function(R, q) {
      _(R), p(R, q), P(R, q), C("onEndLifeCycleTimer", R, q);
    },
    onBeginProcessingChildContext: function() {
      C("onBeginProcessingChildContext");
    },
    onEndProcessingChildContext: function() {
      C("onEndProcessingChildContext");
    },
    onHostOperation: function(R) {
      _(R.instanceID), C("onHostOperation", R);
    },
    onSetState: function() {
      C("onSetState");
    },
    onSetChildren: function(R, q) {
      _(R), q.forEach(_), C("onSetChildren", R, q);
    },
    onBeforeMountComponent: function(R, q, B) {
      _(R), _(B, !0), C("onBeforeMountComponent", R, q, B), w(R, "mount");
    },
    onMountComponent: function(R) {
      _(R), P(R, "mount"), C("onMountComponent", R);
    },
    onBeforeUpdateComponent: function(R, q) {
      _(R), C("onBeforeUpdateComponent", R, q), w(R, "update");
    },
    onUpdateComponent: function(R) {
      _(R), P(R, "update"), C("onUpdateComponent", R);
    },
    onBeforeUnmountComponent: function(R) {
      _(R), C("onBeforeUnmountComponent", R), w(R, "unmount");
    },
    onUnmountComponent: function(R) {
      _(R), P(R, "unmount"), C("onUnmountComponent", R);
    },
    onTestEvent: function() {
      C("onTestEvent");
    }
  };
  I.addDevtool = I.addHook, I.removeDevtool = I.removeHook, I.addHook(t), I.addHook(n);
  var L = i.canUseDOM && window.location.href || "";
  return /[?&]react_perf\b/.test(L) && I.beginProfiling(), pw = I, pw;
}
var hw, Uj;
function Si() {
  if (Uj) return hw;
  Uj = 1;
  var e = {}, t = null;
  if (e.NODE_ENV !== "production") {
    var r = aoe();
    t = r;
  }
  return hw = { debugTool: t }, hw;
}
var mw, qj;
function Pl() {
  if (qj) return mw;
  qj = 1;
  var e = {}, t = eoe(), r = Si(), n = Ct();
  function i() {
    t.attachRefs(this, this._currentElement);
  }
  var o = {
    /**
     * Initializes the component, renders markup, and registers event listeners.
     *
     * @param {ReactComponent} internalInstance
     * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction
     * @param {?object} the containing host component instance
     * @param {?object} info about the host container
     * @return {?string} Rendered markup to be inserted into the DOM.
     * @final
     * @internal
     */
    mountComponent: function(l, c, g, y, C, D) {
      e.NODE_ENV !== "production" && l._debugID !== 0 && r.debugTool.onBeforeMountComponent(l._debugID, l._currentElement, D);
      var x = l.mountComponent(c, g, y, C, D);
      return l._currentElement && l._currentElement.ref != null && c.getReactMountReady().enqueue(i, l), e.NODE_ENV !== "production" && l._debugID !== 0 && r.debugTool.onMountComponent(l._debugID), x;
    },
    /**
     * Returns a value that can be passed to
     * ReactComponentEnvironment.replaceNodeWithMarkup.
     */
    getHostNode: function(l) {
      return l.getHostNode();
    },
    /**
     * Releases any resources allocated by `mountComponent`.
     *
     * @final
     * @internal
     */
    unmountComponent: function(l, c) {
      e.NODE_ENV !== "production" && l._debugID !== 0 && r.debugTool.onBeforeUnmountComponent(l._debugID), t.detachRefs(l, l._currentElement), l.unmountComponent(c), e.NODE_ENV !== "production" && l._debugID !== 0 && r.debugTool.onUnmountComponent(l._debugID);
    },
    /**
     * Update a component using a new element.
     *
     * @param {ReactComponent} internalInstance
     * @param {ReactElement} nextElement
     * @param {ReactReconcileTransaction} transaction
     * @param {object} context
     * @internal
     */
    receiveComponent: function(l, c, g, y) {
      var C = l._currentElement;
      if (!(c === C && y === l._context)) {
        e.NODE_ENV !== "production" && l._debugID !== 0 && r.debugTool.onBeforeUpdateComponent(l._debugID, c);
        var D = t.shouldUpdateRefs(C, c);
        D && t.detachRefs(l, C), l.receiveComponent(c, g, y), D && l._currentElement && l._currentElement.ref != null && g.getReactMountReady().enqueue(i, l), e.NODE_ENV !== "production" && l._debugID !== 0 && r.debugTool.onUpdateComponent(l._debugID);
      }
    },
    /**
     * Flush any dirty changes in a component.
     *
     * @param {ReactComponent} internalInstance
     * @param {ReactReconcileTransaction} transaction
     * @internal
     */
    performUpdateIfNecessary: function(l, c, g) {
      if (l._updateBatchNumber !== g) {
        e.NODE_ENV !== "production" && n(l._updateBatchNumber == null || l._updateBatchNumber === g + 1, "performUpdateIfNecessary: Unexpected batch number (current %s, pending %s)", g, l._updateBatchNumber);
        return;
      }
      e.NODE_ENV !== "production" && l._debugID !== 0 && r.debugTool.onBeforeUpdateComponent(l._debugID, l._currentElement), l.performUpdateIfNecessary(c), e.NODE_ENV !== "production" && l._debugID !== 0 && r.debugTool.onUpdateComponent(l._debugID);
    }
  };
  return mw = o, mw;
}
var vw, zj;
function xy() {
  if (zj) return vw;
  zj = 1;
  var e = {}, t = Bt(), r = yt(), n = {}, i = {
    /**
     * Sets up this instance so that it is prepared for collecting metrics. Does
     * so such that this setup method may be used on an instance that is already
     * initialized, in a way that does not consume additional memory upon reuse.
     * That can be useful if you decide to make your subclass of this mixin a
     * "PooledClass".
     */
    reinitializeTransaction: function() {
      this.transactionWrappers = this.getTransactionWrappers(), this.wrapperInitData ? this.wrapperInitData.length = 0 : this.wrapperInitData = [], this._isInTransaction = !1;
    },
    _isInTransaction: !1,
    /**
     * @abstract
     * @return {Array<TransactionWrapper>} Array of transaction wrappers.
     */
    getTransactionWrappers: null,
    isInTransaction: function() {
      return !!this._isInTransaction;
    },
    /* eslint-disable space-before-function-paren */
    /**
     * Executes the function within a safety window. Use this for the top level
     * methods that result in large amounts of computation/mutations that would
     * need to be safety checked. The optional arguments helps prevent the need
     * to bind in many cases.
     *
     * @param {function} method Member of scope to call.
     * @param {Object} scope Scope to invoke from.
     * @param {Object?=} a Argument to pass to the method.
     * @param {Object?=} b Argument to pass to the method.
     * @param {Object?=} c Argument to pass to the method.
     * @param {Object?=} d Argument to pass to the method.
     * @param {Object?=} e Argument to pass to the method.
     * @param {Object?=} f Argument to pass to the method.
     *
     * @return {*} Return value from `method`.
     */
    perform: function(o, l, c, g, y, C, D, x) {
      this.isInTransaction() && (e.NODE_ENV !== "production" ? r(!1, "Transaction.perform(...): Cannot initialize a transaction when there is already an outstanding transaction.") : t("27"));
      var M, N;
      try {
        this._isInTransaction = !0, M = !0, this.initializeAll(0), N = o.call(l, c, g, y, C, D, x), M = !1;
      } finally {
        try {
          if (M)
            try {
              this.closeAll(0);
            } catch {
            }
          else
            this.closeAll(0);
        } finally {
          this._isInTransaction = !1;
        }
      }
      return N;
    },
    initializeAll: function(o) {
      for (var l = this.transactionWrappers, c = o; c < l.length; c++) {
        var g = l[c];
        try {
          this.wrapperInitData[c] = n, this.wrapperInitData[c] = g.initialize ? g.initialize.call(this) : null;
        } finally {
          if (this.wrapperInitData[c] === n)
            try {
              this.initializeAll(c + 1);
            } catch {
            }
        }
      }
    },
    /**
     * Invokes each of `this.transactionWrappers.close[i]` functions, passing into
     * them the respective return values of `this.transactionWrappers.init[i]`
     * (`close`rs that correspond to initializers that failed will not be
     * invoked).
     */
    closeAll: function(o) {
      this.isInTransaction() || (e.NODE_ENV !== "production" ? r(!1, "Transaction.closeAll(): Cannot close transaction when none are open.") : t("28"));
      for (var l = this.transactionWrappers, c = o; c < l.length; c++) {
        var g = l[c], y = this.wrapperInitData[c], C;
        try {
          C = !0, y !== n && g.close && g.close.call(this, y), C = !1;
        } finally {
          if (C)
            try {
              this.closeAll(c + 1);
            } catch {
            }
        }
      }
      this.wrapperInitData.length = 0;
    }
  };
  return vw = i, vw;
}
var gw, Bj;
function Pa() {
  if (Bj) return gw;
  Bj = 1;
  var e = {}, t = Bt(), r = sr(), n = i7(), i = Xs(), o = a7(), l = Pl(), c = xy(), g = yt(), y = [], C = 0, D = n.getPooled(), x = !1, M = null;
  function N() {
    d.ReactReconcileTransaction && M || (e.NODE_ENV !== "production" ? g(!1, "ReactUpdates: must inject a reconcile transaction class and batching strategy") : t("123"));
  }
  var F = {
    initialize: function() {
      this.dirtyComponentsLength = y.length;
    },
    close: function() {
      this.dirtyComponentsLength !== y.length ? (y.splice(0, this.dirtyComponentsLength), E()) : y.length = 0;
    }
  }, z = {
    initialize: function() {
      this.callbackQueue.reset();
    },
    close: function() {
      this.callbackQueue.notifyAll();
    }
  }, A = [F, z];
  function u() {
    this.reinitializeTransaction(), this.dirtyComponentsLength = null, this.callbackQueue = n.getPooled(), this.reconcileTransaction = d.ReactReconcileTransaction.getPooled(
      /* useCreateElement */
      !0
    );
  }
  r(u.prototype, c, {
    getTransactionWrappers: function() {
      return A;
    },
    destructor: function() {
      this.dirtyComponentsLength = null, n.release(this.callbackQueue), this.callbackQueue = null, d.ReactReconcileTransaction.release(this.reconcileTransaction), this.reconcileTransaction = null;
    },
    perform: function(p, b, m) {
      return c.perform.call(this, this.reconcileTransaction.perform, this.reconcileTransaction, p, b, m);
    }
  }), i.addPoolingTo(u);
  function a(p, b, m, v, O, T) {
    return N(), M.batchedUpdates(p, b, m, v, O, T);
  }
  function s(p, b) {
    return p._mountOrder - b._mountOrder;
  }
  function h(p) {
    var b = p.dirtyComponentsLength;
    b !== y.length && (e.NODE_ENV !== "production" ? g(!1, "Expected flush transaction's stored dirty-components length (%s) to match dirty-components array length (%s).", b, y.length) : t("124", b, y.length)), y.sort(s), C++;
    for (var m = 0; m < b; m++) {
      var v = y[m], O = v._pendingCallbacks;
      v._pendingCallbacks = null;
      var T;
      if (o.logTopLevelRenders) {
        var w = v;
        v._currentElement.type.isReactTopLevelWrapper && (w = v._renderedComponent), T = "React update: " + w.getName(), console.time(T);
      }
      if (l.performUpdateIfNecessary(v, p.reconcileTransaction, C), T && console.timeEnd(T), O)
        for (var P = 0; P < O.length; P++)
          p.callbackQueue.enqueue(O[P], v.getPublicInstance());
    }
  }
  var E = function() {
    for (; y.length || x; ) {
      if (y.length) {
        var p = u.getPooled();
        p.perform(h, null, p), u.release(p);
      }
      if (x) {
        x = !1;
        var b = D;
        D = n.getPooled(), b.notifyAll(), n.release(b);
      }
    }
  };
  function f(p) {
    if (N(), !M.isBatchingUpdates) {
      M.batchedUpdates(f, p);
      return;
    }
    y.push(p), p._updateBatchNumber == null && (p._updateBatchNumber = C + 1);
  }
  function S(p, b) {
    g(M.isBatchingUpdates, "ReactUpdates.asap: Can't enqueue an asap callback in a context whereupdates are not being batched."), D.enqueue(p, b), x = !0;
  }
  var _ = {
    injectReconcileTransaction: function(p) {
      p || (e.NODE_ENV !== "production" ? g(!1, "ReactUpdates: must provide a reconcile transaction class") : t("126")), d.ReactReconcileTransaction = p;
    },
    injectBatchingStrategy: function(p) {
      p || (e.NODE_ENV !== "production" ? g(!1, "ReactUpdates: must provide a batching strategy") : t("127")), typeof p.batchedUpdates != "function" && (e.NODE_ENV !== "production" ? g(!1, "ReactUpdates: must provide a batchedUpdates() function") : t("128")), typeof p.isBatchingUpdates != "boolean" && (e.NODE_ENV !== "production" ? g(!1, "ReactUpdates: must provide an isBatchingUpdates boolean attribute") : t("129")), M = p;
    }
  }, d = {
    /**
     * React references `ReactReconcileTransaction` using this property in order
     * to allow dependency injection.
     *
     * @internal
     */
    ReactReconcileTransaction: null,
    batchedUpdates: a,
    enqueueUpdate: f,
    flushBatchedUpdates: E,
    injection: _,
    asap: S
  };
  return gw = d, gw;
}
var yw, Wj;
function o7() {
  if (Wj) return yw;
  Wj = 1;
  var e = Er();
  function t(c) {
    var g = c.type, y = c.nodeName;
    return y && y.toLowerCase() === "input" && (g === "checkbox" || g === "radio");
  }
  function r(c) {
    return c._wrapperState.valueTracker;
  }
  function n(c, g) {
    c._wrapperState.valueTracker = g;
  }
  function i(c) {
    c._wrapperState.valueTracker = null;
  }
  function o(c) {
    var g;
    return c && (g = t(c) ? "" + c.checked : c.value), g;
  }
  var l = {
    // exposed for testing
    _getTrackerFromNode: function(c) {
      return r(e.getInstanceFromNode(c));
    },
    track: function(c) {
      if (!r(c)) {
        var g = e.getNodeFromInstance(c), y = t(g) ? "checked" : "value", C = Object.getOwnPropertyDescriptor(g.constructor.prototype, y), D = "" + g[y];
        g.hasOwnProperty(y) || typeof C.get != "function" || typeof C.set != "function" || (Object.defineProperty(g, y, {
          enumerable: C.enumerable,
          configurable: !0,
          get: function() {
            return C.get.call(this);
          },
          set: function(x) {
            D = "" + x, C.set.call(this, x);
          }
        }), n(c, {
          getValue: function() {
            return D;
          },
          setValue: function(x) {
            D = "" + x;
          },
          stopTracking: function() {
            i(c), delete g[y];
          }
        }));
      }
    },
    updateValueIfChanged: function(c) {
      if (!c)
        return !1;
      var g = r(c);
      if (!g)
        return l.track(c), !0;
      var y = g.getValue(), C = o(e.getNodeFromInstance(c));
      return C !== y ? (g.setValue(C), !0) : !1;
    },
    stopTracking: function(c) {
      var g = r(c);
      g && g.stopTracking();
    }
  };
  return yw = l, yw;
}
var bw, $j;
function cP() {
  if ($j) return bw;
  $j = 1;
  function e(t) {
    var r = t.target || t.srcElement || window;
    return r.correspondingUseElement && (r = r.correspondingUseElement), r.nodeType === 3 ? r.parentNode : r;
  }
  return bw = e, bw;
}
var _w, Vj;
function fP() {
  if (Vj) return _w;
  Vj = 1;
  var e = Yr(), t;
  e.canUseDOM && (t = document.implementation && document.implementation.hasFeature && // always returns true in newer browsers as per the standard.
  // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature
  document.implementation.hasFeature("", "") !== !0);
  /**
   * Checks if an event is supported in the current execution environment.
   *
   * NOTE: This will not work correctly for non-generic events such as `change`,
   * `reset`, `load`, `error`, and `select`.
   *
   * Borrows from Modernizr.
   *
   * @param {string} eventNameSuffix Event name, e.g. "click".
   * @param {?boolean} capture Check if the capture phase is supported.
   * @return {boolean} True if the event is supported.
   * @internal
   * @license Modernizr 3.0.0pre (Custom Build) | MIT
   */
  function r(n, i) {
    if (!e.canUseDOM || i && !("addEventListener" in document))
      return !1;
    var o = "on" + n, l = o in document;
    if (!l) {
      var c = document.createElement("div");
      c.setAttribute(o, "return;"), l = typeof c[o] == "function";
    }
    return !l && t && n === "wheel" && (l = document.implementation.hasFeature("Events.wheel", "3.0")), l;
  }
  return _w = r, _w;
}
var Ew, Hj;
function s7() {
  if (Hj) return Ew;
  Hj = 1;
  var e = {
    color: !0,
    date: !0,
    datetime: !0,
    "datetime-local": !0,
    email: !0,
    month: !0,
    number: !0,
    password: !0,
    range: !0,
    search: !0,
    tel: !0,
    text: !0,
    time: !0,
    url: !0,
    week: !0
  };
  function t(r) {
    var n = r && r.nodeName && r.nodeName.toLowerCase();
    return n === "input" ? !!e[r.type] : n === "textarea";
  }
  return Ew = t, Ew;
}
var Sw, Yj;
function ooe() {
  if (Yj) return Sw;
  Yj = 1;
  var e = fd(), t = dd(), r = Yr(), n = Er(), i = Pa(), o = so(), l = o7(), c = cP(), g = fP(), y = s7(), C = {
    change: {
      phasedRegistrationNames: {
        bubbled: "onChange",
        captured: "onChangeCapture"
      },
      dependencies: ["topBlur", "topChange", "topClick", "topFocus", "topInput", "topKeyDown", "topKeyUp", "topSelectionChange"]
    }
  };
  function D(P, I, L) {
    var R = o.getPooled(C.change, P, I, L);
    return R.type = "change", t.accumulateTwoPhaseDispatches(R), R;
  }
  var x = null, M = null;
  function N(P) {
    var I = P.nodeName && P.nodeName.toLowerCase();
    return I === "select" || I === "input" && P.type === "file";
  }
  var F = !1;
  r.canUseDOM && (F = g("change") && (!document.documentMode || document.documentMode > 8));
  function z(P) {
    var I = D(M, P, c(P));
    i.batchedUpdates(A, I);
  }
  function A(P) {
    e.enqueueEvents(P), e.processEventQueue(!1);
  }
  function u(P, I) {
    x = P, M = I, x.attachEvent("onchange", z);
  }
  function a() {
    x && (x.detachEvent("onchange", z), x = null, M = null);
  }
  function s(P, I) {
    var L = l.updateValueIfChanged(P), R = I.simulated === !0 && w._allowSimulatedPassThrough;
    if (L || R)
      return P;
  }
  function h(P, I) {
    if (P === "topChange")
      return I;
  }
  function E(P, I, L) {
    P === "topFocus" ? (a(), u(I, L)) : P === "topBlur" && a();
  }
  var f = !1;
  r.canUseDOM && (f = g("input") && (!document.documentMode || document.documentMode > 9));
  function S(P, I) {
    x = P, M = I, x.attachEvent("onpropertychange", d);
  }
  function _() {
    x && (x.detachEvent("onpropertychange", d), x = null, M = null);
  }
  function d(P) {
    P.propertyName === "value" && s(M, P) && z(P);
  }
  function p(P, I, L) {
    P === "topFocus" ? (_(), S(I, L)) : P === "topBlur" && _();
  }
  function b(P, I, L) {
    if (P === "topSelectionChange" || P === "topKeyUp" || P === "topKeyDown")
      return s(M, L);
  }
  function m(P) {
    var I = P.nodeName;
    return I && I.toLowerCase() === "input" && (P.type === "checkbox" || P.type === "radio");
  }
  function v(P, I, L) {
    if (P === "topClick")
      return s(I, L);
  }
  function O(P, I, L) {
    if (P === "topInput" || P === "topChange")
      return s(I, L);
  }
  function T(P, I) {
    if (P != null) {
      var L = P._wrapperState || I._wrapperState;
      if (!(!L || !L.controlled || I.type !== "number")) {
        var R = "" + I.value;
        I.getAttribute("value") !== R && I.setAttribute("value", R);
      }
    }
  }
  var w = {
    eventTypes: C,
    _allowSimulatedPassThrough: !0,
    _isInputEventSupported: f,
    extractEvents: function(P, I, L, R) {
      var q = I ? n.getNodeFromInstance(I) : window, B, j;
      if (N(q) ? F ? B = h : j = E : y(q) ? f ? B = O : (B = b, j = p) : m(q) && (B = v), B) {
        var k = B(P, I, L);
        if (k) {
          var U = D(k, L, R);
          return U;
        }
      }
      j && j(P, q, I), P === "topBlur" && T(I, q);
    }
  };
  return Sw = w, Sw;
}
var ww, Gj;
function soe() {
  if (Gj) return ww;
  Gj = 1;
  var e = ["ResponderEventPlugin", "SimpleEventPlugin", "TapEventPlugin", "EnterLeaveEventPlugin", "ChangeEventPlugin", "SelectEventPlugin", "BeforeInputEventPlugin"];
  return ww = e, ww;
}
var Ow, Kj;
function pd() {
  if (Kj) return Ow;
  Kj = 1;
  var e = so(), t = cP(), r = {
    view: function(i) {
      if (i.view)
        return i.view;
      var o = t(i);
      if (o.window === o)
        return o;
      var l = o.ownerDocument;
      return l ? l.defaultView || l.parentWindow : window;
    },
    detail: function(i) {
      return i.detail || 0;
    }
  };
  function n(i, o, l, c) {
    return e.call(this, i, o, l, c);
  }
  return e.augmentClass(n, r), Ow = n, Ow;
}
var Tw, Xj;
function u7() {
  if (Xj) return Tw;
  Xj = 1;
  var e = {
    currentScrollLeft: 0,
    currentScrollTop: 0,
    refreshScrollValues: function(t) {
      e.currentScrollLeft = t.x, e.currentScrollTop = t.y;
    }
  };
  return Tw = e, Tw;
}
var Cw, Qj;
function dP() {
  if (Qj) return Cw;
  Qj = 1;
  var e = {
    Alt: "altKey",
    Control: "ctrlKey",
    Meta: "metaKey",
    Shift: "shiftKey"
  };
  function t(n) {
    var i = this, o = i.nativeEvent;
    if (o.getModifierState)
      return o.getModifierState(n);
    var l = e[n];
    return l ? !!o[l] : !1;
  }
  function r(n) {
    return t;
  }
  return Cw = r, Cw;
}
var xw, Zj;
function Ay() {
  if (Zj) return xw;
  Zj = 1;
  var e = pd(), t = u7(), r = dP(), n = {
    screenX: null,
    screenY: null,
    clientX: null,
    clientY: null,
    ctrlKey: null,
    shiftKey: null,
    altKey: null,
    metaKey: null,
    getModifierState: r,
    button: function(o) {
      var l = o.button;
      return "which" in o ? l : l === 2 ? 2 : l === 4 ? 1 : 0;
    },
    buttons: null,
    relatedTarget: function(o) {
      return o.relatedTarget || (o.fromElement === o.srcElement ? o.toElement : o.fromElement);
    },
    // "Proprietary" Interface.
    pageX: function(o) {
      return "pageX" in o ? o.pageX : o.clientX + t.currentScrollLeft;
    },
    pageY: function(o) {
      return "pageY" in o ? o.pageY : o.clientY + t.currentScrollTop;
    }
  };
  function i(o, l, c, g) {
    return e.call(this, o, l, c, g);
  }
  return e.augmentClass(i, n), xw = i, xw;
}
var Aw, Jj;
function uoe() {
  if (Jj) return Aw;
  Jj = 1;
  var e = dd(), t = Er(), r = Ay(), n = {
    mouseEnter: {
      registrationName: "onMouseEnter",
      dependencies: ["topMouseOut", "topMouseOver"]
    },
    mouseLeave: {
      registrationName: "onMouseLeave",
      dependencies: ["topMouseOut", "topMouseOver"]
    }
  }, i = {
    eventTypes: n,
    /**
     * For almost every interaction we care about, there will be both a top-level
     * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that
     * we do not extract duplicate events. However, moving the mouse into the
     * browser from outside will not fire a `mouseout` event. In this case, we use
     * the `mouseover` top-level event.
     */
    extractEvents: function(o, l, c, g) {
      if (o === "topMouseOver" && (c.relatedTarget || c.fromElement) || o !== "topMouseOut" && o !== "topMouseOver")
        return null;
      var y;
      if (g.window === g)
        y = g;
      else {
        var C = g.ownerDocument;
        C ? y = C.defaultView || C.parentWindow : y = window;
      }
      var D, x;
      if (o === "topMouseOut") {
        D = l;
        var M = c.relatedTarget || c.toElement;
        x = M ? t.getClosestInstanceFromNode(M) : null;
      } else
        D = null, x = l;
      if (D === x)
        return null;
      var N = D == null ? y : t.getNodeFromInstance(D), F = x == null ? y : t.getNodeFromInstance(x), z = r.getPooled(n.mouseLeave, D, c, g);
      z.type = "mouseleave", z.target = N, z.relatedTarget = F;
      var A = r.getPooled(n.mouseEnter, x, c, g);
      return A.type = "mouseenter", A.target = F, A.relatedTarget = N, e.accumulateEnterLeaveDispatches(z, A, D, x), [z, A];
    }
  };
  return Aw = i, Aw;
}
var Dw, eU;
function loe() {
  if (eU) return Dw;
  eU = 1;
  var e = Yo(), t = e.injection.MUST_USE_PROPERTY, r = e.injection.HAS_BOOLEAN_VALUE, n = e.injection.HAS_NUMERIC_VALUE, i = e.injection.HAS_POSITIVE_NUMERIC_VALUE, o = e.injection.HAS_OVERLOADED_BOOLEAN_VALUE, l = {
    isCustomAttribute: RegExp.prototype.test.bind(new RegExp("^(data|aria)-[" + e.ATTRIBUTE_NAME_CHAR + "]*$")),
    Properties: {
      /**
       * Standard Properties
       */
      accept: 0,
      acceptCharset: 0,
      accessKey: 0,
      action: 0,
      allowFullScreen: r,
      allowTransparency: 0,
      alt: 0,
      // specifies target context for links with `preload` type
      as: 0,
      async: r,
      autoComplete: 0,
      // autoFocus is polyfilled/normalized by AutoFocusUtils
      // autoFocus: HAS_BOOLEAN_VALUE,
      autoPlay: r,
      capture: r,
      cellPadding: 0,
      cellSpacing: 0,
      charSet: 0,
      challenge: 0,
      checked: t | r,
      cite: 0,
      classID: 0,
      className: 0,
      cols: i,
      colSpan: 0,
      content: 0,
      contentEditable: 0,
      contextMenu: 0,
      controls: r,
      controlsList: 0,
      coords: 0,
      crossOrigin: 0,
      data: 0,
      // For `<object />` acts as `src`.
      dateTime: 0,
      default: r,
      defer: r,
      dir: 0,
      disabled: r,
      download: o,
      draggable: 0,
      encType: 0,
      form: 0,
      formAction: 0,
      formEncType: 0,
      formMethod: 0,
      formNoValidate: r,
      formTarget: 0,
      frameBorder: 0,
      headers: 0,
      height: 0,
      hidden: r,
      high: 0,
      href: 0,
      hrefLang: 0,
      htmlFor: 0,
      httpEquiv: 0,
      icon: 0,
      id: 0,
      inputMode: 0,
      integrity: 0,
      is: 0,
      keyParams: 0,
      keyType: 0,
      kind: 0,
      label: 0,
      lang: 0,
      list: 0,
      loop: r,
      low: 0,
      manifest: 0,
      marginHeight: 0,
      marginWidth: 0,
      max: 0,
      maxLength: 0,
      media: 0,
      mediaGroup: 0,
      method: 0,
      min: 0,
      minLength: 0,
      // Caution; `option.selected` is not updated if `select.multiple` is
      // disabled with `removeAttribute`.
      multiple: t | r,
      muted: t | r,
      name: 0,
      nonce: 0,
      noValidate: r,
      open: r,
      optimum: 0,
      pattern: 0,
      placeholder: 0,
      playsInline: r,
      poster: 0,
      preload: 0,
      profile: 0,
      radioGroup: 0,
      readOnly: r,
      referrerPolicy: 0,
      rel: 0,
      required: r,
      reversed: r,
      role: 0,
      rows: i,
      rowSpan: n,
      sandbox: 0,
      scope: 0,
      scoped: r,
      scrolling: 0,
      seamless: r,
      selected: t | r,
      shape: 0,
      size: i,
      sizes: 0,
      span: i,
      spellCheck: 0,
      src: 0,
      srcDoc: 0,
      srcLang: 0,
      srcSet: 0,
      start: n,
      step: 0,
      style: 0,
      summary: 0,
      tabIndex: 0,
      target: 0,
      title: 0,
      // Setting .type throws on non-<input> tags
      type: 0,
      useMap: 0,
      value: 0,
      width: 0,
      wmode: 0,
      wrap: 0,
      /**
       * RDFa Properties
       */
      about: 0,
      datatype: 0,
      inlist: 0,
      prefix: 0,
      // property is also supported for OpenGraph in meta tags.
      property: 0,
      resource: 0,
      typeof: 0,
      vocab: 0,
      /**
       * Non-standard Properties
       */
      // autoCapitalize and autoCorrect are supported in Mobile Safari for
      // keyboard hints.
      autoCapitalize: 0,
      autoCorrect: 0,
      // autoSave allows WebKit/Blink to persist values of input fields on page reloads
      autoSave: 0,
      // color is for Safari mask-icon link
      color: 0,
      // itemProp, itemScope, itemType are for
      // Microdata support. See http://schema.org/docs/gs.html
      itemProp: 0,
      itemScope: r,
      itemType: 0,
      // itemID and itemRef are for Microdata support as well but
      // only specified in the WHATWG spec document. See
      // https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api
      itemID: 0,
      itemRef: 0,
      // results show looking glass icon and recent searches on input
      // search fields in WebKit/Blink
      results: 0,
      // IE-only attribute that specifies security restrictions on an iframe
      // as an alternative to the sandbox attribute on IE<10
      security: 0,
      // IE-only attribute that controls focus behavior
      unselectable: 0
    },
    DOMAttributeNames: {
      acceptCharset: "accept-charset",
      className: "class",
      htmlFor: "for",
      httpEquiv: "http-equiv"
    },
    DOMPropertyNames: {},
    DOMMutationMethods: {
      value: function(c, g) {
        if (g == null)
          return c.removeAttribute("value");
        (c.type !== "number" || c.hasAttribute("value") === !1 || c.validity && !c.validity.badInput && c.ownerDocument.activeElement !== c) && c.setAttribute("value", "" + g);
      }
    }
  };
  return Dw = l, Dw;
}
var Pw, tU;
function pP() {
  if (tU) return Pw;
  tU = 1;
  var e = {
    html: "http://www.w3.org/1999/xhtml",
    mathml: "http://www.w3.org/1998/Math/MathML",
    svg: "http://www.w3.org/2000/svg"
  };
  return Pw = e, Pw;
}
var kw, rU;
function hP() {
  if (rU) return kw;
  rU = 1;
  var e = function(t) {
    return typeof MSApp < "u" && MSApp.execUnsafeLocalFunction ? function(r, n, i, o) {
      MSApp.execUnsafeLocalFunction(function() {
        return t(r, n, i, o);
      });
    } : t;
  };
  return kw = e, kw;
}
var Rw, nU;
function Dy() {
  if (nU) return Rw;
  nU = 1;
  var e = Yr(), t = pP(), r = /^[ \r\n\t\f]/, n = /<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/, i = hP(), o, l = i(function(g, y) {
    if (g.namespaceURI === t.svg && !("innerHTML" in g)) {
      o = o || document.createElement("div"), o.innerHTML = "<svg>" + y + "</svg>";
      for (var C = o.firstChild; C.firstChild; )
        g.appendChild(C.firstChild);
    } else
      g.innerHTML = y;
  });
  if (e.canUseDOM) {
    var c = document.createElement("div");
    c.innerHTML = " ", c.innerHTML === "" && (l = function(g, y) {
      if (g.parentNode && g.parentNode.replaceChild(g, g), r.test(y) || y[0] === "<" && n.test(y)) {
        g.innerHTML = "\uFEFF" + y;
        var C = g.firstChild;
        C.data.length === 1 ? g.removeChild(C) : C.deleteData(0, 1);
      } else
        g.innerHTML = y;
    }), c = null;
  }
  return Rw = l, Rw;
}
var Mw, iU;
function Py() {
  if (iU) return Mw;
  iU = 1;
  var e = /["'&<>]/;
  function t(n) {
    var i = "" + n, o = e.exec(i);
    if (!o)
      return i;
    var l, c = "", g = 0, y = 0;
    for (g = o.index; g < i.length; g++) {
      switch (i.charCodeAt(g)) {
        case 34:
          l = "&quot;";
          break;
        case 38:
          l = "&amp;";
          break;
        case 39:
          l = "&#x27;";
          break;
        case 60:
          l = "&lt;";
          break;
        case 62:
          l = "&gt;";
          break;
        default:
          continue;
      }
      y !== g && (c += i.substring(y, g)), y = g + 1, c += l;
    }
    return y !== g ? c + i.substring(y, g) : c;
  }
  function r(n) {
    return typeof n == "boolean" || typeof n == "number" ? "" + n : t(n);
  }
  return Mw = r, Mw;
}
var Nw, aU;
function l7() {
  if (aU) return Nw;
  aU = 1;
  var e = Yr(), t = Py(), r = Dy(), n = function(i, o) {
    if (o) {
      var l = i.firstChild;
      if (l && l === i.lastChild && l.nodeType === 3) {
        l.nodeValue = o;
        return;
      }
    }
    i.textContent = o;
  };
  return e.canUseDOM && ("textContent" in document.documentElement || (n = function(i, o) {
    if (i.nodeType === 3) {
      i.nodeValue = o;
      return;
    }
    r(i, t(o));
  })), Nw = n, Nw;
}
var Iw, oU;
function kl() {
  if (oU) return Iw;
  oU = 1;
  var e = pP(), t = Dy(), r = hP(), n = l7(), i = 1, o = 11, l = typeof document < "u" && typeof document.documentMode == "number" || typeof navigator < "u" && typeof navigator.userAgent == "string" && /\bEdge\/\d/.test(navigator.userAgent);
  function c(F) {
    if (l) {
      var z = F.node, A = F.children;
      if (A.length)
        for (var u = 0; u < A.length; u++)
          g(z, A[u], null);
      else F.html != null ? t(z, F.html) : F.text != null && n(z, F.text);
    }
  }
  var g = r(function(F, z, A) {
    z.node.nodeType === o || z.node.nodeType === i && z.node.nodeName.toLowerCase() === "object" && (z.node.namespaceURI == null || z.node.namespaceURI === e.html) ? (c(z), F.insertBefore(z.node, A)) : (F.insertBefore(z.node, A), c(z));
  });
  function y(F, z) {
    F.parentNode.replaceChild(z.node, F), c(z);
  }
  function C(F, z) {
    l ? F.children.push(z) : F.node.appendChild(z.node);
  }
  function D(F, z) {
    l ? F.html = z : t(F.node, z);
  }
  function x(F, z) {
    l ? F.text = z : n(F.node, z);
  }
  function M() {
    return this.node.nodeName;
  }
  function N(F) {
    return {
      node: F,
      children: [],
      html: null,
      text: null,
      toString: M
    };
  }
  return N.insertTreeBefore = g, N.replaceChildWithTree = y, N.queueChild = C, N.queueHTML = D, N.queueText = x, Iw = N, Iw;
}
var Fw, sU;
function coe() {
  if (sU) return Fw;
  sU = 1;
  var e = {}, t = yt();
  function r(o) {
    var l = o.length;
    if (!Array.isArray(o) && (typeof o == "object" || typeof o == "function") || (e.NODE_ENV !== "production" ? t(!1, "toArray: Array-like object expected") : t(!1)), typeof l != "number" && (e.NODE_ENV !== "production" ? t(!1, "toArray: Object needs a length property") : t(!1)), l === 0 || l - 1 in o || (e.NODE_ENV !== "production" ? t(!1, "toArray: Object should have keys for indices") : t(!1)), typeof o.callee == "function" && (e.NODE_ENV !== "production" ? t(!1, "toArray: Object can't be `arguments`. Use rest params (function(...args) {}) or Array.from() instead.") : t(!1)), o.hasOwnProperty)
      try {
        return Array.prototype.slice.call(o);
      } catch {
      }
    for (var c = Array(l), g = 0; g < l; g++)
      c[g] = o[g];
    return c;
  }
  function n(o) {
    return (
      // not null/false
      !!o && // arrays are objects, NodeLists are functions in Safari
      (typeof o == "object" || typeof o == "function") && // quacks like an array
      "length" in o && // not window
      !("setInterval" in o) && // no DOM node should be considered an array-like
      // a 'select' element has 'length' and 'item' properties on IE8
      typeof o.nodeType != "number" && // a real array
      (Array.isArray(o) || // arguments
      "callee" in o || // HTMLCollection/NodeList
      "item" in o)
    );
  }
  function i(o) {
    return n(o) ? Array.isArray(o) ? o.slice() : r(o) : [o];
  }
  return Fw = i, Fw;
}
var Lw, uU;
function foe() {
  if (uU) return Lw;
  uU = 1;
  var e = {}, t = Yr(), r = yt(), n = t.canUseDOM ? document.createElement("div") : null, i = {}, o = [1, '<select multiple="true">', "</select>"], l = [1, "<table>", "</table>"], c = [3, "<table><tbody><tr>", "</tr></tbody></table>"], g = [1, '<svg xmlns="http://www.w3.org/2000/svg">', "</svg>"], y = {
    "*": [1, "?<div>", "</div>"],
    area: [1, "<map>", "</map>"],
    col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
    legend: [1, "<fieldset>", "</fieldset>"],
    param: [1, "<object>", "</object>"],
    tr: [2, "<table><tbody>", "</tbody></table>"],
    optgroup: o,
    option: o,
    caption: l,
    colgroup: l,
    tbody: l,
    tfoot: l,
    thead: l,
    td: c,
    th: c
  }, C = ["circle", "clipPath", "defs", "ellipse", "g", "image", "line", "linearGradient", "mask", "path", "pattern", "polygon", "polyline", "radialGradient", "rect", "stop", "text", "tspan"];
  C.forEach(function(x) {
    y[x] = g, i[x] = !0;
  });
  function D(x) {
    return n || (e.NODE_ENV !== "production" ? r(!1, "Markup wrapping node not initialized") : r(!1)), y.hasOwnProperty(x) || (x = "*"), i.hasOwnProperty(x) || (x === "*" ? n.innerHTML = "<link />" : n.innerHTML = "<" + x + "></" + x + ">", i[x] = !n.firstChild), i[x] ? y[x] : null;
  }
  return Lw = D, Lw;
}
var jw, lU;
function doe() {
  if (lU) return jw;
  lU = 1;
  var e = {}, t = Yr(), r = coe(), n = foe(), i = yt(), o = t.canUseDOM ? document.createElement("div") : null, l = /^\s*<(\w+)/;
  function c(y) {
    var C = y.match(l);
    return C && C[1].toLowerCase();
  }
  function g(y, C) {
    var D = o;
    o || (e.NODE_ENV !== "production" ? i(!1, "createNodesFromMarkup dummy not initialized") : i(!1));
    var x = c(y), M = x && n(x);
    if (M) {
      D.innerHTML = M[1] + y + M[2];
      for (var N = M[0]; N--; )
        D = D.lastChild;
    } else
      D.innerHTML = y;
    var F = D.getElementsByTagName("script");
    F.length && (C || (e.NODE_ENV !== "production" ? i(!1, "createNodesFromMarkup(...): Unexpected <script> element rendered.") : i(!1)), r(F).forEach(C));
    for (var z = Array.from(D.childNodes); D.lastChild; )
      D.removeChild(D.lastChild);
    return z;
  }
  return jw = g, jw;
}
var Uw, cU;
function poe() {
  if (cU) return Uw;
  cU = 1;
  var e = {}, t = Bt(), r = kl(), n = Yr(), i = doe(), o = Aa(), l = yt(), c = {
    /**
     * Replaces a node with a string of markup at its current position within its
     * parent. The markup must render into a single root node.
     *
     * @param {DOMElement} oldChild Child node to replace.
     * @param {string} markup Markup to render in place of the child node.
     * @internal
     */
    dangerouslyReplaceNodeWithMarkup: function(g, y) {
      if (n.canUseDOM || (e.NODE_ENV !== "production" ? l(!1, "dangerouslyReplaceNodeWithMarkup(...): Cannot render markup in a worker thread. Make sure `window` and `document` are available globally before requiring React when unit testing or use ReactDOMServer.renderToString() for server rendering.") : t("56")), y || (e.NODE_ENV !== "production" ? l(!1, "dangerouslyReplaceNodeWithMarkup(...): Missing markup.") : t("57")), g.nodeName === "HTML" && (e.NODE_ENV !== "production" ? l(!1, "dangerouslyReplaceNodeWithMarkup(...): Cannot replace markup of the <html> node. This is because browser quirks make this unreliable and/or slow. If you want to render to the root you must use server rendering. See ReactDOMServer.renderToString().") : t("58")), typeof y == "string") {
        var C = i(y, o)[0];
        g.parentNode.replaceChild(C, g);
      } else
        r.replaceChildWithTree(g, y);
    }
  };
  return Uw = c, Uw;
}
var qw, fU;
function mP() {
  if (fU) return qw;
  fU = 1;
  var e = {}, t = kl(), r = poe(), n = Er(), i = Si(), o = hP(), l = Dy(), c = l7();
  function g(u, a) {
    return Array.isArray(a) && (a = a[1]), a ? a.nextSibling : u.firstChild;
  }
  var y = o(function(u, a, s) {
    u.insertBefore(a, s);
  });
  function C(u, a, s) {
    t.insertTreeBefore(u, a, s);
  }
  function D(u, a, s) {
    Array.isArray(a) ? M(u, a[0], a[1], s) : y(u, a, s);
  }
  function x(u, a) {
    if (Array.isArray(a)) {
      var s = a[1];
      a = a[0], N(u, a, s), u.removeChild(s);
    }
    u.removeChild(a);
  }
  function M(u, a, s, h) {
    for (var E = a; ; ) {
      var f = E.nextSibling;
      if (y(u, E, h), E === s)
        break;
      E = f;
    }
  }
  function N(u, a, s) {
    for (; ; ) {
      var h = a.nextSibling;
      if (h === s)
        break;
      u.removeChild(h);
    }
  }
  function F(u, a, s) {
    var h = u.parentNode, E = u.nextSibling;
    E === a ? s && y(h, document.createTextNode(s), E) : s ? (c(E, s), N(h, E, a)) : N(h, u, a), e.NODE_ENV !== "production" && i.debugTool.onHostOperation({
      instanceID: n.getInstanceFromNode(u)._debugID,
      type: "replace text",
      payload: s
    });
  }
  var z = r.dangerouslyReplaceNodeWithMarkup;
  e.NODE_ENV !== "production" && (z = function(u, a, s) {
    if (r.dangerouslyReplaceNodeWithMarkup(u, a), s._debugID !== 0)
      i.debugTool.onHostOperation({
        instanceID: s._debugID,
        type: "replace with",
        payload: a.toString()
      });
    else {
      var h = n.getInstanceFromNode(a.node);
      h._debugID !== 0 && i.debugTool.onHostOperation({
        instanceID: h._debugID,
        type: "mount",
        payload: a.toString()
      });
    }
  });
  var A = {
    dangerouslyReplaceNodeWithMarkup: z,
    replaceDelimitedText: F,
    /**
     * Updates a component's children by processing a series of updates. The
     * update configurations are each expected to have a `parentNode` property.
     *
     * @param {array<object>} updates List of update configurations.
     * @internal
     */
    processUpdates: function(u, a) {
      if (e.NODE_ENV !== "production")
        var s = n.getInstanceFromNode(u)._debugID;
      for (var h = 0; h < a.length; h++) {
        var E = a[h];
        switch (E.type) {
          case "INSERT_MARKUP":
            C(u, E.content, g(u, E.afterNode)), e.NODE_ENV !== "production" && i.debugTool.onHostOperation({
              instanceID: s,
              type: "insert child",
              payload: {
                toIndex: E.toIndex,
                content: E.content.toString()
              }
            });
            break;
          case "MOVE_EXISTING":
            D(u, E.fromNode, g(u, E.afterNode)), e.NODE_ENV !== "production" && i.debugTool.onHostOperation({
              instanceID: s,
              type: "move child",
              payload: { fromIndex: E.fromIndex, toIndex: E.toIndex }
            });
            break;
          case "SET_MARKUP":
            l(u, E.content), e.NODE_ENV !== "production" && i.debugTool.onHostOperation({
              instanceID: s,
              type: "replace children",
              payload: E.content.toString()
            });
            break;
          case "TEXT_CONTENT":
            c(u, E.content), e.NODE_ENV !== "production" && i.debugTool.onHostOperation({
              instanceID: s,
              type: "replace text",
              payload: E.content.toString()
            });
            break;
          case "REMOVE_NODE":
            x(u, E.fromNode), e.NODE_ENV !== "production" && i.debugTool.onHostOperation({
              instanceID: s,
              type: "remove child",
              payload: { fromIndex: E.fromIndex }
            });
            break;
        }
      }
    }
  };
  return qw = A, qw;
}
var zw, dU;
function hoe() {
  if (dU) return zw;
  dU = 1;
  var e = mP(), t = Er(), r = {
    /**
     * Updates a component's children by processing a series of updates.
     *
     * @param {array<object>} updates List of update configurations.
     * @internal
     */
    dangerouslyProcessChildrenUpdates: function(n, i) {
      var o = t.getNodeFromInstance(n);
      e.processUpdates(o, i);
    }
  };
  return zw = r, zw;
}
var Bw, pU;
function moe() {
  if (pU) return Bw;
  pU = 1;
  var e = mP(), t = hoe(), r = {
    processChildrenUpdates: t.dangerouslyProcessChildrenUpdates,
    replaceNodeWithMarkup: e.dangerouslyReplaceNodeWithMarkup
  };
  return Bw = r, Bw;
}
var Ww, hU;
function c7() {
  if (hU) return Ww;
  hU = 1;
  function e(t) {
    try {
      t.focus();
    } catch {
    }
  }
  return Ww = e, Ww;
}
var $w, mU;
function voe() {
  if (mU) return $w;
  mU = 1;
  var e = Er(), t = c7(), r = {
    focusDOMComponent: function() {
      t(e.getNodeFromInstance(this));
    }
  };
  return $w = r, $w;
}
var Vw, vU;
function f7() {
  if (vU) return Vw;
  vU = 1;
  var e = {
    animationIterationCount: !0,
    borderImageOutset: !0,
    borderImageSlice: !0,
    borderImageWidth: !0,
    boxFlex: !0,
    boxFlexGroup: !0,
    boxOrdinalGroup: !0,
    columnCount: !0,
    columns: !0,
    flex: !0,
    flexGrow: !0,
    flexPositive: !0,
    flexShrink: !0,
    flexNegative: !0,
    flexOrder: !0,
    gridRow: !0,
    gridRowEnd: !0,
    gridRowSpan: !0,
    gridRowStart: !0,
    gridColumn: !0,
    gridColumnEnd: !0,
    gridColumnSpan: !0,
    gridColumnStart: !0,
    fontWeight: !0,
    lineClamp: !0,
    lineHeight: !0,
    opacity: !0,
    order: !0,
    orphans: !0,
    tabSize: !0,
    widows: !0,
    zIndex: !0,
    zoom: !0,
    // SVG-related properties
    fillOpacity: !0,
    floodOpacity: !0,
    stopOpacity: !0,
    strokeDasharray: !0,
    strokeDashoffset: !0,
    strokeMiterlimit: !0,
    strokeOpacity: !0,
    strokeWidth: !0
  };
  function t(o, l) {
    return o + l.charAt(0).toUpperCase() + l.substring(1);
  }
  var r = ["Webkit", "ms", "Moz", "O"];
  Object.keys(e).forEach(function(o) {
    r.forEach(function(l) {
      e[t(l, o)] = e[o];
    });
  });
  var n = {
    background: {
      backgroundAttachment: !0,
      backgroundColor: !0,
      backgroundImage: !0,
      backgroundPositionX: !0,
      backgroundPositionY: !0,
      backgroundRepeat: !0
    },
    backgroundPosition: {
      backgroundPositionX: !0,
      backgroundPositionY: !0
    },
    border: {
      borderWidth: !0,
      borderStyle: !0,
      borderColor: !0
    },
    borderBottom: {
      borderBottomWidth: !0,
      borderBottomStyle: !0,
      borderBottomColor: !0
    },
    borderLeft: {
      borderLeftWidth: !0,
      borderLeftStyle: !0,
      borderLeftColor: !0
    },
    borderRight: {
      borderRightWidth: !0,
      borderRightStyle: !0,
      borderRightColor: !0
    },
    borderTop: {
      borderTopWidth: !0,
      borderTopStyle: !0,
      borderTopColor: !0
    },
    font: {
      fontStyle: !0,
      fontVariant: !0,
      fontWeight: !0,
      fontSize: !0,
      lineHeight: !0,
      fontFamily: !0
    },
    outline: {
      outlineWidth: !0,
      outlineStyle: !0,
      outlineColor: !0
    }
  }, i = {
    isUnitlessNumber: e,
    shorthandPropertyExpansions: n
  };
  return Vw = i, Vw;
}
var Hw, gU;
function goe() {
  if (gU) return Hw;
  gU = 1;
  var e = /-(.)/g;
  function t(r) {
    return r.replace(e, function(n, i) {
      return i.toUpperCase();
    });
  }
  return Hw = t, Hw;
}
var Yw, yU;
function yoe() {
  if (yU) return Yw;
  yU = 1;
  var e = goe(), t = /^-ms-/;
  function r(n) {
    return e(n.replace(t, "ms-"));
  }
  return Yw = r, Yw;
}
var Gw, bU;
function boe() {
  if (bU) return Gw;
  bU = 1;
  var e = {}, t = f7(), r = Ct(), n = t.isUnitlessNumber, i = {};
  function o(l, c, g, y) {
    var C = c == null || typeof c == "boolean" || c === "";
    if (C)
      return "";
    var D = isNaN(c);
    if (y || D || c === 0 || n.hasOwnProperty(l) && n[l])
      return "" + c;
    if (typeof c == "string") {
      if (e.NODE_ENV !== "production" && g && c !== "0") {
        var x = g._currentElement._owner, M = x ? x.getName() : null;
        M && !i[M] && (i[M] = {});
        var N = !1;
        if (M) {
          var F = i[M];
          N = F[l], N || (F[l] = !0);
        }
        N || e.NODE_ENV !== "production" && r(!1, "a `%s` tag (owner: `%s`) was passed a numeric string value for CSS property `%s` (value: `%s`) which will be treated as a unitless number in a future version of React.", g._currentElement.type, M || "unknown", l, c);
      }
      c = c.trim();
    }
    return c + "px";
  }
  return Gw = o, Gw;
}
var Kw, _U;
function _oe() {
  if (_U) return Kw;
  _U = 1;
  var e = /([A-Z])/g;
  function t(r) {
    return r.replace(e, "-$1").toLowerCase();
  }
  return Kw = t, Kw;
}
var Xw, EU;
function Eoe() {
  if (EU) return Xw;
  EU = 1;
  var e = _oe(), t = /^ms-/;
  function r(n) {
    return e(n).replace(t, "-ms-");
  }
  return Xw = r, Xw;
}
var Qw, SU;
function Soe() {
  if (SU) return Qw;
  SU = 1;
  function e(t) {
    var r = {};
    return function(n) {
      return r.hasOwnProperty(n) || (r[n] = t.call(this, n)), r[n];
    };
  }
  return Qw = e, Qw;
}
var Zw, wU;
function woe() {
  if (wU) return Zw;
  wU = 1;
  var e = {}, t = f7(), r = Yr(), n = Si(), i = yoe(), o = boe(), l = Eoe(), c = Soe(), g = Ct(), y = c(function(_) {
    return l(_);
  }), C = !1, D = "cssFloat";
  if (r.canUseDOM) {
    var x = document.createElement("div").style;
    try {
      x.font = "";
    } catch {
      C = !0;
    }
    document.documentElement.style.cssFloat === void 0 && (D = "styleFloat");
  }
  if (e.NODE_ENV !== "production")
    var M = /^(?:webkit|moz|o)[A-Z]/, N = /;\s*$/, F = {}, z = {}, A = !1, u = function(_, d) {
      F.hasOwnProperty(_) && F[_] || (F[_] = !0, e.NODE_ENV !== "production" && g(!1, "Unsupported style property %s. Did you mean %s?%s", _, i(_), E(d)));
    }, a = function(_, d) {
      F.hasOwnProperty(_) && F[_] || (F[_] = !0, e.NODE_ENV !== "production" && g(!1, "Unsupported vendor-prefixed style property %s. Did you mean %s?%s", _, _.charAt(0).toUpperCase() + _.slice(1), E(d)));
    }, s = function(_, d, p) {
      z.hasOwnProperty(d) && z[d] || (z[d] = !0, e.NODE_ENV !== "production" && g(!1, `Style property values shouldn't contain a semicolon.%s Try "%s: %s" instead.`, E(p), _, d.replace(N, "")));
    }, h = function(_, d, p) {
      A || (A = !0, e.NODE_ENV !== "production" && g(!1, "`NaN` is an invalid value for the `%s` css style property.%s", _, E(p)));
    }, E = function(_) {
      if (_) {
        var d = _.getName();
        if (d)
          return " Check the render method of `" + d + "`.";
      }
      return "";
    }, f = function(_, d, p) {
      var b;
      p && (b = p._currentElement._owner), _.indexOf("-") > -1 ? u(_, b) : M.test(_) ? a(_, b) : N.test(d) && s(_, d, b), typeof d == "number" && isNaN(d) && h(_, d, b);
    };
  var S = {
    /**
     * Serializes a mapping of style properties for use as inline styles:
     *
     *   > createMarkupForStyles({width: '200px', height: 0})
     *   "width:200px;height:0;"
     *
     * Undefined values are ignored so that declarative programming is easier.
     * The result should be HTML-escaped before insertion into the DOM.
     *
     * @param {object} styles
     * @param {ReactDOMComponent} component
     * @return {?string}
     */
    createMarkupForStyles: function(_, d) {
      var p = "";
      for (var b in _)
        if (_.hasOwnProperty(b)) {
          var m = b.indexOf("--") === 0, v = _[b];
          e.NODE_ENV !== "production" && (m || f(b, v, d)), v != null && (p += y(b) + ":", p += o(b, v, d, m) + ";");
        }
      return p || null;
    },
    /**
     * Sets the value for multiple styles on a node.  If a value is specified as
     * '' (empty string), the corresponding style property will be unset.
     *
     * @param {DOMElement} node
     * @param {object} styles
     * @param {ReactDOMComponent} component
     */
    setValueForStyles: function(_, d, p) {
      e.NODE_ENV !== "production" && n.debugTool.onHostOperation({
        instanceID: p._debugID,
        type: "update styles",
        payload: d
      });
      var b = _.style;
      for (var m in d)
        if (d.hasOwnProperty(m)) {
          var v = m.indexOf("--") === 0;
          e.NODE_ENV !== "production" && (v || f(m, d[m], p));
          var O = o(m, d[m], p, v);
          if ((m === "float" || m === "cssFloat") && (m = D), v)
            b.setProperty(m, O);
          else if (O)
            b[m] = O;
          else {
            var T = C && t.shorthandPropertyExpansions[m];
            if (T)
              for (var w in T)
                b[w] = "";
            else
              b[m] = "";
          }
        }
    }
  };
  return Zw = S, Zw;
}
var Jw, OU;
function Ooe() {
  if (OU) return Jw;
  OU = 1;
  var e = Py();
  function t(r) {
    return '"' + e(r) + '"';
  }
  return Jw = t, Jw;
}
var eO, TU;
function d7() {
  if (TU) return eO;
  TU = 1;
  var e = {}, t = Yo(), r = Er(), n = Si(), i = Ooe(), o = Ct(), l = new RegExp("^[" + t.ATTRIBUTE_NAME_START_CHAR + "][" + t.ATTRIBUTE_NAME_CHAR + "]*$"), c = {}, g = {};
  function y(x) {
    return g.hasOwnProperty(x) ? !0 : c.hasOwnProperty(x) ? !1 : l.test(x) ? (g[x] = !0, !0) : (c[x] = !0, e.NODE_ENV !== "production" && o(!1, "Invalid attribute name: `%s`", x), !1);
  }
  function C(x, M) {
    return M == null || x.hasBooleanValue && !M || x.hasNumericValue && isNaN(M) || x.hasPositiveNumericValue && M < 1 || x.hasOverloadedBooleanValue && M === !1;
  }
  var D = {
    /**
     * Creates markup for the ID property.
     *
     * @param {string} id Unescaped ID.
     * @return {string} Markup string.
     */
    createMarkupForID: function(x) {
      return t.ID_ATTRIBUTE_NAME + "=" + i(x);
    },
    setAttributeForID: function(x, M) {
      x.setAttribute(t.ID_ATTRIBUTE_NAME, M);
    },
    createMarkupForRoot: function() {
      return t.ROOT_ATTRIBUTE_NAME + '=""';
    },
    setAttributeForRoot: function(x) {
      x.setAttribute(t.ROOT_ATTRIBUTE_NAME, "");
    },
    /**
     * Creates markup for a property.
     *
     * @param {string} name
     * @param {*} value
     * @return {?string} Markup string, or null if the property was invalid.
     */
    createMarkupForProperty: function(x, M) {
      var N = t.properties.hasOwnProperty(x) ? t.properties[x] : null;
      if (N) {
        if (C(N, M))
          return "";
        var F = N.attributeName;
        return N.hasBooleanValue || N.hasOverloadedBooleanValue && M === !0 ? F + '=""' : F + "=" + i(M);
      } else if (t.isCustomAttribute(x))
        return M == null ? "" : x + "=" + i(M);
      return null;
    },
    /**
     * Creates markup for a custom property.
     *
     * @param {string} name
     * @param {*} value
     * @return {string} Markup string, or empty string if the property was invalid.
     */
    createMarkupForCustomAttribute: function(x, M) {
      return !y(x) || M == null ? "" : x + "=" + i(M);
    },
    /**
     * Sets the value for a property on a node.
     *
     * @param {DOMElement} node
     * @param {string} name
     * @param {*} value
     */
    setValueForProperty: function(x, M, N) {
      var F = t.properties.hasOwnProperty(M) ? t.properties[M] : null;
      if (F) {
        var z = F.mutationMethod;
        if (z)
          z(x, N);
        else if (C(F, N)) {
          this.deleteValueForProperty(x, M);
          return;
        } else if (F.mustUseProperty)
          x[F.propertyName] = N;
        else {
          var A = F.attributeName, u = F.attributeNamespace;
          u ? x.setAttributeNS(u, A, "" + N) : F.hasBooleanValue || F.hasOverloadedBooleanValue && N === !0 ? x.setAttribute(A, "") : x.setAttribute(A, "" + N);
        }
      } else if (t.isCustomAttribute(M)) {
        D.setValueForAttribute(x, M, N);
        return;
      }
      if (e.NODE_ENV !== "production") {
        var a = {};
        a[M] = N, n.debugTool.onHostOperation({
          instanceID: r.getInstanceFromNode(x)._debugID,
          type: "update attribute",
          payload: a
        });
      }
    },
    setValueForAttribute: function(x, M, N) {
      if (y(M) && (N == null ? x.removeAttribute(M) : x.setAttribute(M, "" + N), e.NODE_ENV !== "production")) {
        var F = {};
        F[M] = N, n.debugTool.onHostOperation({
          instanceID: r.getInstanceFromNode(x)._debugID,
          type: "update attribute",
          payload: F
        });
      }
    },
    /**
     * Deletes an attributes from a node.
     *
     * @param {DOMElement} node
     * @param {string} name
     */
    deleteValueForAttribute: function(x, M) {
      x.removeAttribute(M), e.NODE_ENV !== "production" && n.debugTool.onHostOperation({
        instanceID: r.getInstanceFromNode(x)._debugID,
        type: "remove attribute",
        payload: M
      });
    },
    /**
     * Deletes the value for a property on a node.
     *
     * @param {DOMElement} node
     * @param {string} name
     */
    deleteValueForProperty: function(x, M) {
      var N = t.properties.hasOwnProperty(M) ? t.properties[M] : null;
      if (N) {
        var F = N.mutationMethod;
        if (F)
          F(x, void 0);
        else if (N.mustUseProperty) {
          var z = N.propertyName;
          N.hasBooleanValue ? x[z] = !1 : x[z] = "";
        } else
          x.removeAttribute(N.attributeName);
      } else t.isCustomAttribute(M) && x.removeAttribute(M);
      e.NODE_ENV !== "production" && n.debugTool.onHostOperation({
        instanceID: r.getInstanceFromNode(x)._debugID,
        type: "remove attribute",
        payload: M
      });
    }
  };
  return eO = D, eO;
}
var tO, CU;
function Toe() {
  if (CU) return tO;
  CU = 1;
  var e = fd();
  function t(n) {
    e.enqueueEvents(n), e.processEventQueue(!1);
  }
  var r = {
    /**
     * Streams a fired top-level event to `EventPluginHub` where plugins have the
     * opportunity to create `ReactEvent`s to be dispatched.
     */
    handleTopLevel: function(n, i, o, l) {
      var c = e.extractEvents(n, i, o, l);
      t(c);
    }
  };
  return tO = r, tO;
}
var rO, xU;
function Coe() {
  if (xU) return rO;
  xU = 1;
  var e = Yr();
  function t(l, c) {
    var g = {};
    return g[l.toLowerCase()] = c.toLowerCase(), g["Webkit" + l] = "webkit" + c, g["Moz" + l] = "moz" + c, g["ms" + l] = "MS" + c, g["O" + l] = "o" + c.toLowerCase(), g;
  }
  var r = {
    animationend: t("Animation", "AnimationEnd"),
    animationiteration: t("Animation", "AnimationIteration"),
    animationstart: t("Animation", "AnimationStart"),
    transitionend: t("Transition", "TransitionEnd")
  }, n = {}, i = {};
  e.canUseDOM && (i = document.createElement("div").style, "AnimationEvent" in window || (delete r.animationend.animation, delete r.animationiteration.animation, delete r.animationstart.animation), "TransitionEvent" in window || delete r.transitionend.transition);
  function o(l) {
    if (n[l])
      return n[l];
    if (!r[l])
      return l;
    var c = r[l];
    for (var g in c)
      if (c.hasOwnProperty(g) && g in i)
        return n[l] = c[g];
    return "";
  }
  return rO = o, rO;
}
var nO, AU;
function ky() {
  if (AU) return nO;
  AU = 1;
  var e = sr(), t = Cy(), r = Toe(), n = u7(), i = Coe(), o = fP(), l, c = {}, g = !1, y = 0, C = {
    topAbort: "abort",
    topAnimationEnd: i("animationend") || "animationend",
    topAnimationIteration: i("animationiteration") || "animationiteration",
    topAnimationStart: i("animationstart") || "animationstart",
    topBlur: "blur",
    topCanPlay: "canplay",
    topCanPlayThrough: "canplaythrough",
    topChange: "change",
    topClick: "click",
    topCompositionEnd: "compositionend",
    topCompositionStart: "compositionstart",
    topCompositionUpdate: "compositionupdate",
    topContextMenu: "contextmenu",
    topCopy: "copy",
    topCut: "cut",
    topDoubleClick: "dblclick",
    topDrag: "drag",
    topDragEnd: "dragend",
    topDragEnter: "dragenter",
    topDragExit: "dragexit",
    topDragLeave: "dragleave",
    topDragOver: "dragover",
    topDragStart: "dragstart",
    topDrop: "drop",
    topDurationChange: "durationchange",
    topEmptied: "emptied",
    topEncrypted: "encrypted",
    topEnded: "ended",
    topError: "error",
    topFocus: "focus",
    topInput: "input",
    topKeyDown: "keydown",
    topKeyPress: "keypress",
    topKeyUp: "keyup",
    topLoadedData: "loadeddata",
    topLoadedMetadata: "loadedmetadata",
    topLoadStart: "loadstart",
    topMouseDown: "mousedown",
    topMouseMove: "mousemove",
    topMouseOut: "mouseout",
    topMouseOver: "mouseover",
    topMouseUp: "mouseup",
    topPaste: "paste",
    topPause: "pause",
    topPlay: "play",
    topPlaying: "playing",
    topProgress: "progress",
    topRateChange: "ratechange",
    topScroll: "scroll",
    topSeeked: "seeked",
    topSeeking: "seeking",
    topSelectionChange: "selectionchange",
    topStalled: "stalled",
    topSuspend: "suspend",
    topTextInput: "textInput",
    topTimeUpdate: "timeupdate",
    topTouchCancel: "touchcancel",
    topTouchEnd: "touchend",
    topTouchMove: "touchmove",
    topTouchStart: "touchstart",
    topTransitionEnd: i("transitionend") || "transitionend",
    topVolumeChange: "volumechange",
    topWaiting: "waiting",
    topWheel: "wheel"
  }, D = "_reactListenersID" + String(Math.random()).slice(2);
  function x(N) {
    return Object.prototype.hasOwnProperty.call(N, D) || (N[D] = y++, c[N[D]] = {}), c[N[D]];
  }
  var M = e({}, r, {
    /**
     * Injectable event backend
     */
    ReactEventListener: null,
    injection: {
      /**
       * @param {object} ReactEventListener
       */
      injectReactEventListener: function(N) {
        N.setHandleTopLevel(M.handleTopLevel), M.ReactEventListener = N;
      }
    },
    /**
     * Sets whether or not any created callbacks should be enabled.
     *
     * @param {boolean} enabled True if callbacks should be enabled.
     */
    setEnabled: function(N) {
      M.ReactEventListener && M.ReactEventListener.setEnabled(N);
    },
    /**
     * @return {boolean} True if callbacks are enabled.
     */
    isEnabled: function() {
      return !!(M.ReactEventListener && M.ReactEventListener.isEnabled());
    },
    /**
     * We listen for bubbled touch events on the document object.
     *
     * Firefox v8.01 (and possibly others) exhibited strange behavior when
     * mounting `onmousemove` events at some node that was not the document
     * element. The symptoms were that if your mouse is not moving over something
     * contained within that mount point (for example on the background) the
     * top-level listeners for `onmousemove` won't be called. However, if you
     * register the `mousemove` on the document object, then it will of course
     * catch all `mousemove`s. This along with iOS quirks, justifies restricting
     * top-level listeners to the document object only, at least for these
     * movement types of events and possibly all events.
     *
     * @see http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html
     *
     * Also, `keyup`/`keypress`/`keydown` do not bubble to the window on IE, but
     * they bubble to document.
     *
     * @param {string} registrationName Name of listener (e.g. `onClick`).
     * @param {object} contentDocumentHandle Document which owns the container
     */
    listenTo: function(N, F) {
      for (var z = F, A = x(z), u = t.registrationNameDependencies[N], a = 0; a < u.length; a++) {
        var s = u[a];
        A.hasOwnProperty(s) && A[s] || (s === "topWheel" ? o("wheel") ? M.ReactEventListener.trapBubbledEvent("topWheel", "wheel", z) : o("mousewheel") ? M.ReactEventListener.trapBubbledEvent("topWheel", "mousewheel", z) : M.ReactEventListener.trapBubbledEvent("topWheel", "DOMMouseScroll", z) : s === "topScroll" ? o("scroll", !0) ? M.ReactEventListener.trapCapturedEvent("topScroll", "scroll", z) : M.ReactEventListener.trapBubbledEvent("topScroll", "scroll", M.ReactEventListener.WINDOW_HANDLE) : s === "topFocus" || s === "topBlur" ? (o("focus", !0) ? (M.ReactEventListener.trapCapturedEvent("topFocus", "focus", z), M.ReactEventListener.trapCapturedEvent("topBlur", "blur", z)) : o("focusin") && (M.ReactEventListener.trapBubbledEvent("topFocus", "focusin", z), M.ReactEventListener.trapBubbledEvent("topBlur", "focusout", z)), A.topBlur = !0, A.topFocus = !0) : C.hasOwnProperty(s) && M.ReactEventListener.trapBubbledEvent(s, C[s], z), A[s] = !0);
      }
    },
    trapBubbledEvent: function(N, F, z) {
      return M.ReactEventListener.trapBubbledEvent(N, F, z);
    },
    trapCapturedEvent: function(N, F, z) {
      return M.ReactEventListener.trapCapturedEvent(N, F, z);
    },
    /**
     * Protect against document.createEvent() returning null
     * Some popup blocker extensions appear to do this:
     * https://github.com/facebook/react/issues/6887
     */
    supportsEventPageXY: function() {
      if (!document.createEvent)
        return !1;
      var N = document.createEvent("MouseEvent");
      return N != null && "pageX" in N;
    },
    /**
     * Listens to window scroll and resize events. We cache scroll values so that
     * application code can access them without triggering reflows.
     *
     * ViewportMetrics is only used by SyntheticMouse/TouchEvent and only when
     * pageX/pageY isn't supported (legacy browsers).
     *
     * NOTE: Scroll events do not bubble.
     *
     * @see http://www.quirksmode.org/dom/events/scroll.html
     */
    ensureScrollValueMonitoring: function() {
      if (l === void 0 && (l = M.supportsEventPageXY()), !l && !g) {
        var N = n.refreshScrollValues;
        M.ReactEventListener.monitorScrollValue(N), g = !0;
      }
    }
  });
  return nO = M, nO;
}
var iO, DU;
function p7() {
  if (DU) return iO;
  DU = 1;
  var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
  return iO = e, iO;
}
var aO, PU;
function vP() {
  if (PU) return aO;
  PU = 1;
  var e = {}, t = Bt(), r = p7(), n = vV(), i = xl(), o = n(i.isValidElement), l = yt(), c = Ct(), g = {
    button: !0,
    checkbox: !0,
    image: !0,
    hidden: !0,
    radio: !0,
    reset: !0,
    submit: !0
  };
  function y(z) {
    z.checkedLink == null || z.valueLink == null || (e.NODE_ENV !== "production" ? l(!1, "Cannot provide a checkedLink and a valueLink. If you want to use checkedLink, you probably don't want to use valueLink and vice versa.") : t("87"));
  }
  function C(z) {
    y(z), z.value == null && z.onChange == null || (e.NODE_ENV !== "production" ? l(!1, "Cannot provide a valueLink and a value or onChange event. If you want to use value or onChange, you probably don't want to use valueLink.") : t("88"));
  }
  function D(z) {
    y(z), z.checked == null && z.onChange == null || (e.NODE_ENV !== "production" ? l(!1, "Cannot provide a checkedLink and a checked property or onChange event. If you want to use checked or onChange, you probably don't want to use checkedLink") : t("89"));
  }
  var x = {
    value: function(z, A, u) {
      return !z[A] || g[z.type] || z.onChange || z.readOnly || z.disabled ? null : new Error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.");
    },
    checked: function(z, A, u) {
      return !z[A] || z.onChange || z.readOnly || z.disabled ? null : new Error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.");
    },
    onChange: o.func
  }, M = {};
  function N(z) {
    if (z) {
      var A = z.getName();
      if (A)
        return " Check the render method of `" + A + "`.";
    }
    return "";
  }
  var F = {
    checkPropTypes: function(z, A, u) {
      for (var a in x) {
        if (x.hasOwnProperty(a))
          var s = x[a](A, a, z, "prop", null, r);
        if (s instanceof Error && !(s.message in M)) {
          M[s.message] = !0;
          var h = N(u);
          e.NODE_ENV !== "production" && c(!1, "Failed form propType: %s%s", s.message, h);
        }
      }
    },
    /**
     * @param {object} inputProps Props for form component
     * @return {*} current value of the input either from value prop or link.
     */
    getValue: function(z) {
      return z.valueLink ? (C(z), z.valueLink.value) : z.value;
    },
    /**
     * @param {object} inputProps Props for form component
     * @return {*} current checked status of the input either from checked prop
     *             or link.
     */
    getChecked: function(z) {
      return z.checkedLink ? (D(z), z.checkedLink.value) : z.checked;
    },
    /**
     * @param {object} inputProps Props for form component
     * @param {SyntheticEvent} event change event to handle
     */
    executeOnChange: function(z, A) {
      if (z.valueLink)
        return C(z), z.valueLink.requestChange(A.target.value);
      if (z.checkedLink)
        return D(z), z.checkedLink.requestChange(A.target.checked);
      if (z.onChange)
        return z.onChange.call(void 0, A);
    }
  };
  return aO = F, aO;
}
var oO, kU;
function xoe() {
  if (kU) return oO;
  kU = 1;
  var e = {}, t = Bt(), r = sr(), n = d7(), i = vP(), o = Er(), l = Pa(), c = yt(), g = Ct(), y = !1, C = !1, D = !1, x = !1, M = !1, N = !1;
  function F() {
    this._rootNodeID && A.updateWrapper(this);
  }
  function z(a) {
    var s = a.type === "checkbox" || a.type === "radio";
    return s ? a.checked != null : a.value != null;
  }
  var A = {
    getHostProps: function(a, s) {
      var h = i.getValue(s), E = i.getChecked(s), f = r({
        // Make sure we set .type before any other properties (setting .value
        // before .type means .value is lost in IE11 and below)
        type: void 0,
        // Make sure we set .step before .value (setting .value before .step
        // means .value is rounded on mount, based upon step precision)
        step: void 0,
        // Make sure we set .min & .max before .value (to ensure proper order
        // in corner cases such as min or max deriving from value, e.g. Issue #7170)
        min: void 0,
        max: void 0
      }, s, {
        defaultChecked: void 0,
        defaultValue: void 0,
        value: h ?? a._wrapperState.initialValue,
        checked: E ?? a._wrapperState.initialChecked,
        onChange: a._wrapperState.onChange
      });
      return f;
    },
    mountWrapper: function(a, s) {
      if (e.NODE_ENV !== "production") {
        i.checkPropTypes("input", s, a._currentElement._owner);
        var h = a._currentElement._owner;
        s.valueLink !== void 0 && !y && (e.NODE_ENV !== "production" && g(!1, "`valueLink` prop on `input` is deprecated; set `value` and `onChange` instead."), y = !0), s.checkedLink !== void 0 && !C && (e.NODE_ENV !== "production" && g(!1, "`checkedLink` prop on `input` is deprecated; set `value` and `onChange` instead."), C = !0), s.checked !== void 0 && s.defaultChecked !== void 0 && !x && (e.NODE_ENV !== "production" && g(!1, "%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://fb.me/react-controlled-components", h && h.getName() || "A component", s.type), x = !0), s.value !== void 0 && s.defaultValue !== void 0 && !D && (e.NODE_ENV !== "production" && g(!1, "%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://fb.me/react-controlled-components", h && h.getName() || "A component", s.type), D = !0);
      }
      var E = s.defaultValue;
      a._wrapperState = {
        initialChecked: s.checked != null ? s.checked : s.defaultChecked,
        initialValue: s.value != null ? s.value : E,
        listeners: null,
        onChange: u.bind(a),
        controlled: z(s)
      };
    },
    updateWrapper: function(a) {
      var s = a._currentElement.props;
      if (e.NODE_ENV !== "production") {
        var h = z(s), E = a._currentElement._owner;
        !a._wrapperState.controlled && h && !N && (e.NODE_ENV !== "production" && g(!1, "%s is changing an uncontrolled input of type %s to be controlled. Input elements should not switch from uncontrolled to controlled (or vice versa). Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://fb.me/react-controlled-components", E && E.getName() || "A component", s.type), N = !0), a._wrapperState.controlled && !h && !M && (e.NODE_ENV !== "production" && g(!1, "%s is changing a controlled input of type %s to be uncontrolled. Input elements should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://fb.me/react-controlled-components", E && E.getName() || "A component", s.type), M = !0);
      }
      var f = s.checked;
      f != null && n.setValueForProperty(o.getNodeFromInstance(a), "checked", f || !1);
      var S = o.getNodeFromInstance(a), _ = i.getValue(s);
      if (_ != null)
        if (_ === 0 && S.value === "")
          S.value = "0";
        else if (s.type === "number") {
          var d = parseFloat(S.value, 10) || 0;
          // eslint-disable-next-line
          (_ != d || // eslint-disable-next-line
          _ == d && S.value != _) && (S.value = "" + _);
        } else S.value !== "" + _ && (S.value = "" + _);
      else
        s.value == null && s.defaultValue != null && S.defaultValue !== "" + s.defaultValue && (S.defaultValue = "" + s.defaultValue), s.checked == null && s.defaultChecked != null && (S.defaultChecked = !!s.defaultChecked);
    },
    postMountWrapper: function(a) {
      var s = a._currentElement.props, h = o.getNodeFromInstance(a);
      switch (s.type) {
        case "submit":
        case "reset":
          break;
        case "color":
        case "date":
        case "datetime":
        case "datetime-local":
        case "month":
        case "time":
        case "week":
          h.value = "", h.value = h.defaultValue;
          break;
        default:
          h.value = h.value;
          break;
      }
      var E = h.name;
      E !== "" && (h.name = ""), h.defaultChecked = !h.defaultChecked, h.defaultChecked = !h.defaultChecked, E !== "" && (h.name = E);
    }
  };
  function u(a) {
    var s = this._currentElement.props, h = i.executeOnChange(s, a);
    l.asap(F, this);
    var E = s.name;
    if (s.type === "radio" && E != null) {
      for (var f = o.getNodeFromInstance(this), S = f; S.parentNode; )
        S = S.parentNode;
      for (var _ = S.querySelectorAll("input[name=" + JSON.stringify("" + E) + '][type="radio"]'), d = 0; d < _.length; d++) {
        var p = _[d];
        if (!(p === f || p.form !== f.form)) {
          var b = o.getInstanceFromNode(p);
          b || (e.NODE_ENV !== "production" ? c(!1, "ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported.") : t("90")), l.asap(F, b);
        }
      }
    }
    return h;
  }
  return oO = A, oO;
}
var sO, RU;
function h7() {
  if (RU) return sO;
  RU = 1;
  var e = {}, t = sr(), r = vP(), n = Er(), i = Pa(), o = Ct(), l = !1, c = !1;
  function g() {
    if (this._rootNodeID && this._wrapperState.pendingUpdate) {
      this._wrapperState.pendingUpdate = !1;
      var F = this._currentElement.props, z = r.getValue(F);
      z != null && x(this, !!F.multiple, z);
    }
  }
  function y(F) {
    if (F) {
      var z = F.getName();
      if (z)
        return " Check the render method of `" + z + "`.";
    }
    return "";
  }
  var C = ["value", "defaultValue"];
  function D(F, z) {
    var A = F._currentElement._owner;
    r.checkPropTypes("select", z, A), z.valueLink !== void 0 && !l && (e.NODE_ENV !== "production" && o(!1, "`valueLink` prop on `select` is deprecated; set `value` and `onChange` instead."), l = !0);
    for (var u = 0; u < C.length; u++) {
      var a = C[u];
      if (z[a] != null) {
        var s = Array.isArray(z[a]);
        z.multiple && !s ? e.NODE_ENV !== "production" && o(!1, "The `%s` prop supplied to <select> must be an array if `multiple` is true.%s", a, y(A)) : !z.multiple && s && e.NODE_ENV !== "production" && o(!1, "The `%s` prop supplied to <select> must be a scalar value if `multiple` is false.%s", a, y(A));
      }
    }
  }
  function x(F, z, A) {
    var u, a, s = n.getNodeFromInstance(F).options;
    if (z) {
      for (u = {}, a = 0; a < A.length; a++)
        u["" + A[a]] = !0;
      for (a = 0; a < s.length; a++) {
        var h = u.hasOwnProperty(s[a].value);
        s[a].selected !== h && (s[a].selected = h);
      }
    } else {
      for (u = "" + A, a = 0; a < s.length; a++)
        if (s[a].value === u) {
          s[a].selected = !0;
          return;
        }
      s.length && (s[0].selected = !0);
    }
  }
  var M = {
    getHostProps: function(F, z) {
      return t({}, z, {
        onChange: F._wrapperState.onChange,
        value: void 0
      });
    },
    mountWrapper: function(F, z) {
      e.NODE_ENV !== "production" && D(F, z);
      var A = r.getValue(z);
      F._wrapperState = {
        pendingUpdate: !1,
        initialValue: A ?? z.defaultValue,
        listeners: null,
        onChange: N.bind(F),
        wasMultiple: !!z.multiple
      }, z.value !== void 0 && z.defaultValue !== void 0 && !c && (e.NODE_ENV !== "production" && o(!1, "Select elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled select element and remove one of these props. More info: https://fb.me/react-controlled-components"), c = !0);
    },
    getSelectValueContext: function(F) {
      return F._wrapperState.initialValue;
    },
    postUpdateWrapper: function(F) {
      var z = F._currentElement.props;
      F._wrapperState.initialValue = void 0;
      var A = F._wrapperState.wasMultiple;
      F._wrapperState.wasMultiple = !!z.multiple;
      var u = r.getValue(z);
      u != null ? (F._wrapperState.pendingUpdate = !1, x(F, !!z.multiple, u)) : A !== !!z.multiple && (z.defaultValue != null ? x(F, !!z.multiple, z.defaultValue) : x(F, !!z.multiple, z.multiple ? [] : ""));
    }
  };
  function N(F) {
    var z = this._currentElement.props, A = r.executeOnChange(z, F);
    return this._rootNodeID && (this._wrapperState.pendingUpdate = !0), i.asap(g, this), A;
  }
  return sO = M, sO;
}
var uO, MU;
function Aoe() {
  if (MU) return uO;
  MU = 1;
  var e = {}, t = sr(), r = xl(), n = Er(), i = h7(), o = Ct(), l = !1;
  function c(y) {
    var C = "";
    return r.Children.forEach(y, function(D) {
      D != null && (typeof D == "string" || typeof D == "number" ? C += D : l || (l = !0, e.NODE_ENV !== "production" && o(!1, "Only strings and numbers are supported as <option> children.")));
    }), C;
  }
  var g = {
    mountWrapper: function(y, C, D) {
      e.NODE_ENV !== "production" && e.NODE_ENV !== "production" && o(C.selected == null, "Use the `defaultValue` or `value` props on <select> instead of setting `selected` on <option>.");
      var x = null;
      if (D != null) {
        var M = D;
        M._tag === "optgroup" && (M = M._hostParent), M != null && M._tag === "select" && (x = i.getSelectValueContext(M));
      }
      var N = null;
      if (x != null) {
        var F;
        if (C.value != null ? F = C.value + "" : F = c(C.children), N = !1, Array.isArray(x)) {
          for (var z = 0; z < x.length; z++)
            if ("" + x[z] === F) {
              N = !0;
              break;
            }
        } else
          N = "" + x === F;
      }
      y._wrapperState = { selected: N };
    },
    postMountWrapper: function(y) {
      var C = y._currentElement.props;
      if (C.value != null) {
        var D = n.getNodeFromInstance(y);
        D.setAttribute("value", C.value);
      }
    },
    getHostProps: function(y, C) {
      var D = t({ selected: void 0, children: void 0 }, C);
      y._wrapperState.selected != null && (D.selected = y._wrapperState.selected);
      var x = c(C.children);
      return x && (D.children = x), D;
    }
  };
  return uO = g, uO;
}
var lO, NU;
function Doe() {
  if (NU) return lO;
  NU = 1;
  var e = {}, t = Bt(), r = sr(), n = vP(), i = Er(), o = Pa(), l = yt(), c = Ct(), g = !1, y = !1;
  function C() {
    this._rootNodeID && D.updateWrapper(this);
  }
  var D = {
    getHostProps: function(M, N) {
      N.dangerouslySetInnerHTML != null && (e.NODE_ENV !== "production" ? l(!1, "`dangerouslySetInnerHTML` does not make sense on <textarea>.") : t("91"));
      var F = r({}, N, {
        value: void 0,
        defaultValue: void 0,
        children: "" + M._wrapperState.initialValue,
        onChange: M._wrapperState.onChange
      });
      return F;
    },
    mountWrapper: function(M, N) {
      e.NODE_ENV !== "production" && (n.checkPropTypes("textarea", N, M._currentElement._owner), N.valueLink !== void 0 && !g && (e.NODE_ENV !== "production" && c(!1, "`valueLink` prop on `textarea` is deprecated; set `value` and `onChange` instead."), g = !0), N.value !== void 0 && N.defaultValue !== void 0 && !y && (e.NODE_ENV !== "production" && c(!1, "Textarea elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled textarea and remove one of these props. More info: https://fb.me/react-controlled-components"), y = !0));
      var F = n.getValue(N), z = F;
      if (F == null) {
        var A = N.defaultValue, u = N.children;
        u != null && (e.NODE_ENV !== "production" && e.NODE_ENV !== "production" && c(!1, "Use the `defaultValue` or `value` props instead of setting children on <textarea>."), A != null && (e.NODE_ENV !== "production" ? l(!1, "If you supply `defaultValue` on a <textarea>, do not pass children.") : t("92")), Array.isArray(u) && (u.length <= 1 || (e.NODE_ENV !== "production" ? l(!1, "<textarea> can only have at most one child.") : t("93")), u = u[0]), A = "" + u), A == null && (A = ""), z = A;
      }
      M._wrapperState = {
        initialValue: "" + z,
        listeners: null,
        onChange: x.bind(M)
      };
    },
    updateWrapper: function(M) {
      var N = M._currentElement.props, F = i.getNodeFromInstance(M), z = n.getValue(N);
      if (z != null) {
        var A = "" + z;
        A !== F.value && (F.value = A), N.defaultValue == null && (F.defaultValue = A);
      }
      N.defaultValue != null && (F.defaultValue = N.defaultValue);
    },
    postMountWrapper: function(M) {
      var N = i.getNodeFromInstance(M), F = N.textContent;
      F === M._wrapperState.initialValue && (N.value = F);
    }
  };
  function x(M) {
    var N = this._currentElement.props, F = n.executeOnChange(N, M);
    return o.asap(C, this), F;
  }
  return lO = D, lO;
}
var cO, IU;
function gP() {
  if (IU) return cO;
  IU = 1;
  var e = {}, t = Bt(), r = yt(), n = !1, i = {
    /**
     * Optionally injectable hook for swapping out mount images in the middle of
     * the tree.
     */
    replaceNodeWithMarkup: null,
    /**
     * Optionally injectable hook for processing a queue of child updates. Will
     * later move into MultiChildComponents.
     */
    processChildrenUpdates: null,
    injection: {
      injectEnvironment: function(o) {
        n && (e.NODE_ENV !== "production" ? r(!1, "ReactCompositeComponent: injectEnvironment() can only be called once.") : t("104")), i.replaceNodeWithMarkup = o.replaceNodeWithMarkup, i.processChildrenUpdates = o.processChildrenUpdates, n = !0;
      }
    }
  };
  return cO = i, cO;
}
var fO, FU;
function hd() {
  if (FU) return fO;
  FU = 1;
  var e = {
    /**
     * This API should be called `delete` but we'd have to make sure to always
     * transform these to strings for IE support. When this transform is fully
     * supported we can rename it.
     */
    remove: function(t) {
      t._reactInternalInstance = void 0;
    },
    get: function(t) {
      return t._reactInternalInstance;
    },
    has: function(t) {
      return t._reactInternalInstance !== void 0;
    },
    set: function(t, r) {
      t._reactInternalInstance = r;
    }
  };
  return fO = e, fO;
}
var dO, LU;
function m7() {
  if (LU) return dO;
  LU = 1;
  var e = {}, t = Bt(), r = xl(), n = yt(), i = {
    HOST: 0,
    COMPOSITE: 1,
    EMPTY: 2,
    getType: function(o) {
      if (o === null || o === !1)
        return i.EMPTY;
      if (r.isValidElement(o))
        return typeof o.type == "function" ? i.COMPOSITE : i.HOST;
      e.NODE_ENV !== "production" ? n(!1, "Unexpected node: %s", o) : t("26", o);
    }
  };
  return dO = i, dO;
}
var pO, jU;
function Poe() {
  if (jU) return pO;
  jU = 1;
  var e = {}, t = {};
  return e.NODE_ENV !== "production" && (t = {
    prop: "prop",
    context: "context",
    childContext: "child context"
  }), pO = t, pO;
}
var hO, UU;
function koe() {
  if (UU) return hO;
  UU = 1;
  var e = {}, t = Bt(), r = Poe(), n = p7(), i = yt(), o = Ct(), l;
  typeof process < "u" && e && e.NODE_ENV === "test" && (l = Zn());
  var c = {};
  function g(y, C, D, x, M, N) {
    for (var F in y)
      if (y.hasOwnProperty(F)) {
        var z;
        try {
          typeof y[F] != "function" && (e.NODE_ENV !== "production" ? i(!1, "%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.", x || "React class", r[D], F) : t("84", x || "React class", r[D], F)), z = y[F](C, F, x, D, null, n);
        } catch (u) {
          z = u;
        }
        if (e.NODE_ENV !== "production" && o(!z || z instanceof Error, "%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", x || "React class", r[D], F, typeof z), z instanceof Error && !(z.message in c)) {
          c[z.message] = !0;
          var A = "";
          e.NODE_ENV !== "production" && (l || (l = Zn()), N !== null ? A = l.getStackAddendumByID(N) : M !== null && (A = l.getCurrentStackAddendum(M))), e.NODE_ENV !== "production" && o(!1, "Failed %s type: %s%s", D, z.message, A);
        }
      }
  }
  return hO = g, hO;
}
var mO, qU;
function yP() {
  if (qU) return mO;
  qU = 1;
  var e = Object.prototype.hasOwnProperty;
  function t(n, i) {
    return n === i ? n !== 0 || i !== 0 || 1 / n === 1 / i : n !== n && i !== i;
  }
  function r(n, i) {
    if (t(n, i))
      return !0;
    if (typeof n != "object" || n === null || typeof i != "object" || i === null)
      return !1;
    var o = Object.keys(n), l = Object.keys(i);
    if (o.length !== l.length)
      return !1;
    for (var c = 0; c < o.length; c++)
      if (!e.call(i, o[c]) || !t(n[o[c]], i[o[c]]))
        return !1;
    return !0;
  }
  return mO = r, mO;
}
var vO, zU;
function bP() {
  if (zU) return vO;
  zU = 1;
  function e(t, r) {
    var n = t === null || t === !1, i = r === null || r === !1;
    if (n || i)
      return n === i;
    var o = typeof t, l = typeof r;
    return o === "string" || o === "number" ? l === "string" || l === "number" : l === "object" && t.type === r.type && t.key === r.key;
  }
  return vO = e, vO;
}
var gO, BU;
function Roe() {
  if (BU) return gO;
  BU = 1;
  var e = {}, t = Bt(), r = sr(), n = xl(), i = gP(), o = Da(), l = uP(), c = hd(), g = Si(), y = m7(), C = Pl();
  if (e.NODE_ENV !== "production")
    var D = koe();
  var x = $D(), M = yt(), N = yP(), F = bP(), z = Ct(), A = {
    ImpureClass: 0,
    PureClass: 1,
    StatelessFunctional: 2
  };
  function u(_) {
  }
  u.prototype.render = function() {
    var _ = c.get(this)._currentElement.type, d = _(this.props, this.context, this.updater);
    return a(_, d), d;
  };
  function a(_, d) {
    e.NODE_ENV !== "production" && (e.NODE_ENV !== "production" && z(d === null || d === !1 || n.isValidElement(d), "%s(...): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.", _.displayName || _.name || "Component"), e.NODE_ENV !== "production" && z(!_.childContextTypes, "%s(...): childContextTypes cannot be defined on a functional component.", _.displayName || _.name || "Component"));
  }
  function s(_) {
    return !!(_.prototype && _.prototype.isReactComponent);
  }
  function h(_) {
    return !!(_.prototype && _.prototype.isPureReactComponent);
  }
  function E(_, d, p) {
    if (d === 0)
      return _();
    g.debugTool.onBeginLifeCycleTimer(d, p);
    try {
      return _();
    } finally {
      g.debugTool.onEndLifeCycleTimer(d, p);
    }
  }
  var f = 1, S = {
    /**
     * Base constructor for all composite component.
     *
     * @param {ReactElement} element
     * @final
     * @internal
     */
    construct: function(_) {
      this._currentElement = _, this._rootNodeID = 0, this._compositeType = null, this._instance = null, this._hostParent = null, this._hostContainerInfo = null, this._updateBatchNumber = null, this._pendingElement = null, this._pendingStateQueue = null, this._pendingReplaceState = !1, this._pendingForceUpdate = !1, this._renderedNodeType = null, this._renderedComponent = null, this._context = null, this._mountOrder = 0, this._topLevelWrapper = null, this._pendingCallbacks = null, this._calledComponentWillUnmount = !1, e.NODE_ENV !== "production" && (this._warnedAboutRefsInRender = !1);
    },
    /**
     * Initializes the component, renders markup, and registers event listeners.
     *
     * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction
     * @param {?object} hostParent
     * @param {?object} hostContainerInfo
     * @param {?object} context
     * @return {?string} Rendered markup to be inserted into the DOM.
     * @final
     * @internal
     */
    mountComponent: function(_, d, p, b) {
      var m = this;
      this._context = b, this._mountOrder = f++, this._hostParent = d, this._hostContainerInfo = p;
      var v = this._currentElement.props, O = this._processContext(b), T = this._currentElement.type, w = _.getUpdateQueue(), P = s(T), I = this._constructComponent(P, v, O, w), L;
      if (!P && (I == null || I.render == null) ? (L = I, a(T, L), I === null || I === !1 || n.isValidElement(I) || (e.NODE_ENV !== "production" ? M(!1, "%s(...): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.", T.displayName || T.name || "Component") : t("105", T.displayName || T.name || "Component")), I = new u(), this._compositeType = A.StatelessFunctional) : h(T) ? this._compositeType = A.PureClass : this._compositeType = A.ImpureClass, e.NODE_ENV !== "production") {
        I.render == null && e.NODE_ENV !== "production" && z(!1, "%s(...): No `render` method found on the returned component instance: you may have forgotten to define `render`.", T.displayName || T.name || "Component");
        var R = I.props !== v, q = T.displayName || T.name || "Component";
        e.NODE_ENV !== "production" && z(I.props === void 0 || !R, "%s(...): When calling super() in `%s`, make sure to pass up the same props that your component's constructor was passed.", q, q);
      }
      I.props = v, I.context = O, I.refs = x, I.updater = w, this._instance = I, c.set(I, this), e.NODE_ENV !== "production" && (e.NODE_ENV !== "production" && z(!I.getInitialState || I.getInitialState.isReactClassApproved || I.state, "getInitialState was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?", this.getName() || "a component"), e.NODE_ENV !== "production" && z(!I.getDefaultProps || I.getDefaultProps.isReactClassApproved, "getDefaultProps was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Use a static property to define defaultProps instead.", this.getName() || "a component"), e.NODE_ENV !== "production" && z(!I.propTypes, "propTypes was defined as an instance property on %s. Use a static property to define propTypes instead.", this.getName() || "a component"), e.NODE_ENV !== "production" && z(!I.contextTypes, "contextTypes was defined as an instance property on %s. Use a static property to define contextTypes instead.", this.getName() || "a component"), e.NODE_ENV !== "production" && z(typeof I.componentShouldUpdate != "function", "%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.", this.getName() || "A component"), e.NODE_ENV !== "production" && z(typeof I.componentDidUnmount != "function", "%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?", this.getName() || "A component"), e.NODE_ENV !== "production" && z(typeof I.componentWillRecieveProps != "function", "%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?", this.getName() || "A component"));
      var B = I.state;
      B === void 0 && (I.state = B = null), typeof B == "object" && !Array.isArray(B) || (e.NODE_ENV !== "production" ? M(!1, "%s.state: must be set to an object or null", this.getName() || "ReactCompositeComponent") : t("106", this.getName() || "ReactCompositeComponent")), this._pendingStateQueue = null, this._pendingReplaceState = !1, this._pendingForceUpdate = !1;
      var j;
      return I.unstable_handleError ? j = this.performInitialMountWithErrorHandling(L, d, p, _, b) : j = this.performInitialMount(L, d, p, _, b), I.componentDidMount && (e.NODE_ENV !== "production" ? _.getReactMountReady().enqueue(function() {
        E(function() {
          return I.componentDidMount();
        }, m._debugID, "componentDidMount");
      }) : _.getReactMountReady().enqueue(I.componentDidMount, I)), j;
    },
    _constructComponent: function(_, d, p, b) {
      if (e.NODE_ENV !== "production" && !_) {
        o.current = this;
        try {
          return this._constructComponentWithoutOwner(_, d, p, b);
        } finally {
          o.current = null;
        }
      } else
        return this._constructComponentWithoutOwner(_, d, p, b);
    },
    _constructComponentWithoutOwner: function(_, d, p, b) {
      var m = this._currentElement.type;
      return _ ? e.NODE_ENV !== "production" ? E(function() {
        return new m(d, p, b);
      }, this._debugID, "ctor") : new m(d, p, b) : e.NODE_ENV !== "production" ? E(function() {
        return m(d, p, b);
      }, this._debugID, "render") : m(d, p, b);
    },
    performInitialMountWithErrorHandling: function(_, d, p, b, m) {
      var v, O = b.checkpoint();
      try {
        v = this.performInitialMount(_, d, p, b, m);
      } catch (T) {
        b.rollback(O), this._instance.unstable_handleError(T), this._pendingStateQueue && (this._instance.state = this._processPendingState(this._instance.props, this._instance.context)), O = b.checkpoint(), this._renderedComponent.unmountComponent(!0), b.rollback(O), v = this.performInitialMount(_, d, p, b, m);
      }
      return v;
    },
    performInitialMount: function(_, d, p, b, m) {
      var v = this._instance, O = 0;
      e.NODE_ENV !== "production" && (O = this._debugID), v.componentWillMount && (e.NODE_ENV !== "production" ? E(function() {
        return v.componentWillMount();
      }, O, "componentWillMount") : v.componentWillMount(), this._pendingStateQueue && (v.state = this._processPendingState(v.props, v.context))), _ === void 0 && (_ = this._renderValidatedComponent());
      var T = y.getType(_);
      this._renderedNodeType = T;
      var w = this._instantiateReactComponent(
        _,
        T !== y.EMPTY
        /* shouldHaveDebugID */
      );
      this._renderedComponent = w;
      var P = C.mountComponent(w, b, d, p, this._processChildContext(m), O);
      if (e.NODE_ENV !== "production" && O !== 0) {
        var I = w._debugID !== 0 ? [w._debugID] : [];
        g.debugTool.onSetChildren(O, I);
      }
      return P;
    },
    getHostNode: function() {
      return C.getHostNode(this._renderedComponent);
    },
    /**
     * Releases any resources allocated by `mountComponent`.
     *
     * @final
     * @internal
     */
    unmountComponent: function(_) {
      if (this._renderedComponent) {
        var d = this._instance;
        if (d.componentWillUnmount && !d._calledComponentWillUnmount)
          if (d._calledComponentWillUnmount = !0, _) {
            var p = this.getName() + ".componentWillUnmount()";
            l.invokeGuardedCallback(p, d.componentWillUnmount.bind(d));
          } else
            e.NODE_ENV !== "production" ? E(function() {
              return d.componentWillUnmount();
            }, this._debugID, "componentWillUnmount") : d.componentWillUnmount();
        this._renderedComponent && (C.unmountComponent(this._renderedComponent, _), this._renderedNodeType = null, this._renderedComponent = null, this._instance = null), this._pendingStateQueue = null, this._pendingReplaceState = !1, this._pendingForceUpdate = !1, this._pendingCallbacks = null, this._pendingElement = null, this._context = null, this._rootNodeID = 0, this._topLevelWrapper = null, c.remove(d);
      }
    },
    /**
     * Filters the context object to only contain keys specified in
     * `contextTypes`
     *
     * @param {object} context
     * @return {?object}
     * @private
     */
    _maskContext: function(_) {
      var d = this._currentElement.type, p = d.contextTypes;
      if (!p)
        return x;
      var b = {};
      for (var m in p)
        b[m] = _[m];
      return b;
    },
    /**
     * Filters the context object to only contain keys specified in
     * `contextTypes`, and asserts that they are valid.
     *
     * @param {object} context
     * @return {?object}
     * @private
     */
    _processContext: function(_) {
      var d = this._maskContext(_);
      if (e.NODE_ENV !== "production") {
        var p = this._currentElement.type;
        p.contextTypes && this._checkContextTypes(p.contextTypes, d, "context");
      }
      return d;
    },
    /**
     * @param {object} currentContext
     * @return {object}
     * @private
     */
    _processChildContext: function(_) {
      var d = this._currentElement.type, p = this._instance, b;
      if (p.getChildContext)
        if (e.NODE_ENV !== "production") {
          g.debugTool.onBeginProcessingChildContext();
          try {
            b = p.getChildContext();
          } finally {
            g.debugTool.onEndProcessingChildContext();
          }
        } else
          b = p.getChildContext();
      if (b) {
        typeof d.childContextTypes != "object" && (e.NODE_ENV !== "production" ? M(!1, "%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().", this.getName() || "ReactCompositeComponent") : t("107", this.getName() || "ReactCompositeComponent")), e.NODE_ENV !== "production" && this._checkContextTypes(d.childContextTypes, b, "child context");
        for (var m in b)
          m in d.childContextTypes || (e.NODE_ENV !== "production" ? M(!1, '%s.getChildContext(): key "%s" is not defined in childContextTypes.', this.getName() || "ReactCompositeComponent", m) : t("108", this.getName() || "ReactCompositeComponent", m));
        return r({}, _, b);
      }
      return _;
    },
    /**
     * Assert that the context types are valid
     *
     * @param {object} typeSpecs Map of context field to a ReactPropType
     * @param {object} values Runtime values that need to be type-checked
     * @param {string} location e.g. "prop", "context", "child context"
     * @private
     */
    _checkContextTypes: function(_, d, p) {
      e.NODE_ENV !== "production" && D(_, d, p, this.getName(), null, this._debugID);
    },
    receiveComponent: function(_, d, p) {
      var b = this._currentElement, m = this._context;
      this._pendingElement = null, this.updateComponent(d, b, _, m, p);
    },
    /**
     * If any of `_pendingElement`, `_pendingStateQueue`, or `_pendingForceUpdate`
     * is set, update the component.
     *
     * @param {ReactReconcileTransaction} transaction
     * @internal
     */
    performUpdateIfNecessary: function(_) {
      this._pendingElement != null ? C.receiveComponent(this, this._pendingElement, _, this._context) : this._pendingStateQueue !== null || this._pendingForceUpdate ? this.updateComponent(_, this._currentElement, this._currentElement, this._context, this._context) : this._updateBatchNumber = null;
    },
    /**
     * Perform an update to a mounted component. The componentWillReceiveProps and
     * shouldComponentUpdate methods are called, then (assuming the update isn't
     * skipped) the remaining update lifecycle methods are called and the DOM
     * representation is updated.
     *
     * By default, this implements React's rendering and reconciliation algorithm.
     * Sophisticated clients may wish to override this.
     *
     * @param {ReactReconcileTransaction} transaction
     * @param {ReactElement} prevParentElement
     * @param {ReactElement} nextParentElement
     * @internal
     * @overridable
     */
    updateComponent: function(_, d, p, b, m) {
      var v = this._instance;
      v == null && (e.NODE_ENV !== "production" ? M(!1, "Attempted to update component `%s` that has already been unmounted (or failed to mount).", this.getName() || "ReactCompositeComponent") : t("136", this.getName() || "ReactCompositeComponent"));
      var O = !1, T;
      this._context === m ? T = v.context : (T = this._processContext(m), O = !0);
      var w = d.props, P = p.props;
      d !== p && (O = !0), O && v.componentWillReceiveProps && (e.NODE_ENV !== "production" ? E(function() {
        return v.componentWillReceiveProps(P, T);
      }, this._debugID, "componentWillReceiveProps") : v.componentWillReceiveProps(P, T));
      var I = this._processPendingState(P, T), L = !0;
      this._pendingForceUpdate || (v.shouldComponentUpdate ? e.NODE_ENV !== "production" ? L = E(function() {
        return v.shouldComponentUpdate(P, I, T);
      }, this._debugID, "shouldComponentUpdate") : L = v.shouldComponentUpdate(P, I, T) : this._compositeType === A.PureClass && (L = !N(w, P) || !N(v.state, I))), e.NODE_ENV !== "production" && e.NODE_ENV !== "production" && z(L !== void 0, "%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.", this.getName() || "ReactCompositeComponent"), this._updateBatchNumber = null, L ? (this._pendingForceUpdate = !1, this._performComponentUpdate(p, P, I, T, _, m)) : (this._currentElement = p, this._context = m, v.props = P, v.state = I, v.context = T);
    },
    _processPendingState: function(_, d) {
      var p = this._instance, b = this._pendingStateQueue, m = this._pendingReplaceState;
      if (this._pendingReplaceState = !1, this._pendingStateQueue = null, !b)
        return p.state;
      if (m && b.length === 1)
        return b[0];
      for (var v = r({}, m ? b[0] : p.state), O = m ? 1 : 0; O < b.length; O++) {
        var T = b[O];
        r(v, typeof T == "function" ? T.call(p, v, _, d) : T);
      }
      return v;
    },
    /**
     * Merges new props and state, notifies delegate methods of update and
     * performs update.
     *
     * @param {ReactElement} nextElement Next element
     * @param {object} nextProps Next public object to set as properties.
     * @param {?object} nextState Next object to set as state.
     * @param {?object} nextContext Next public object to set as context.
     * @param {ReactReconcileTransaction} transaction
     * @param {?object} unmaskedContext
     * @private
     */
    _performComponentUpdate: function(_, d, p, b, m, v) {
      var O = this, T = this._instance, w = !!T.componentDidUpdate, P, I, L;
      w && (P = T.props, I = T.state, L = T.context), T.componentWillUpdate && (e.NODE_ENV !== "production" ? E(function() {
        return T.componentWillUpdate(d, p, b);
      }, this._debugID, "componentWillUpdate") : T.componentWillUpdate(d, p, b)), this._currentElement = _, this._context = v, T.props = d, T.state = p, T.context = b, this._updateRenderedComponent(m, v), w && (e.NODE_ENV !== "production" ? m.getReactMountReady().enqueue(function() {
        E(T.componentDidUpdate.bind(T, P, I, L), O._debugID, "componentDidUpdate");
      }) : m.getReactMountReady().enqueue(T.componentDidUpdate.bind(T, P, I, L), T));
    },
    /**
     * Call the component's `render` method and update the DOM accordingly.
     *
     * @param {ReactReconcileTransaction} transaction
     * @internal
     */
    _updateRenderedComponent: function(_, d) {
      var p = this._renderedComponent, b = p._currentElement, m = this._renderValidatedComponent(), v = 0;
      if (e.NODE_ENV !== "production" && (v = this._debugID), F(b, m))
        C.receiveComponent(p, m, _, this._processChildContext(d));
      else {
        var O = C.getHostNode(p);
        C.unmountComponent(p, !1);
        var T = y.getType(m);
        this._renderedNodeType = T;
        var w = this._instantiateReactComponent(
          m,
          T !== y.EMPTY
          /* shouldHaveDebugID */
        );
        this._renderedComponent = w;
        var P = C.mountComponent(w, _, this._hostParent, this._hostContainerInfo, this._processChildContext(d), v);
        if (e.NODE_ENV !== "production" && v !== 0) {
          var I = w._debugID !== 0 ? [w._debugID] : [];
          g.debugTool.onSetChildren(v, I);
        }
        this._replaceNodeWithMarkup(O, P, p);
      }
    },
    /**
     * Overridden in shallow rendering.
     *
     * @protected
     */
    _replaceNodeWithMarkup: function(_, d, p) {
      i.replaceNodeWithMarkup(_, d, p);
    },
    /**
     * @protected
     */
    _renderValidatedComponentWithoutOwnerOrContext: function() {
      var _ = this._instance, d;
      return e.NODE_ENV !== "production" ? d = E(function() {
        return _.render();
      }, this._debugID, "render") : d = _.render(), e.NODE_ENV !== "production" && d === void 0 && _.render._isMockFunction && (d = null), d;
    },
    /**
     * @private
     */
    _renderValidatedComponent: function() {
      var _;
      if (e.NODE_ENV !== "production" || this._compositeType !== A.StatelessFunctional) {
        o.current = this;
        try {
          _ = this._renderValidatedComponentWithoutOwnerOrContext();
        } finally {
          o.current = null;
        }
      } else
        _ = this._renderValidatedComponentWithoutOwnerOrContext();
      return (
        // TODO: An `isValidNode` function would probably be more appropriate
        _ === null || _ === !1 || n.isValidElement(_) || (e.NODE_ENV !== "production" ? M(!1, "%s.render(): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.", this.getName() || "ReactCompositeComponent") : t("109", this.getName() || "ReactCompositeComponent")), _
      );
    },
    /**
     * Lazily allocates the refs object and stores `component` as `ref`.
     *
     * @param {string} ref Reference name.
     * @param {component} component Component to store as `ref`.
     * @final
     * @private
     */
    attachRef: function(_, d) {
      var p = this.getPublicInstance();
      p == null && (e.NODE_ENV !== "production" ? M(!1, "Stateless function components cannot have refs.") : t("110"));
      var b = d.getPublicInstance();
      if (e.NODE_ENV !== "production") {
        var m = d && d.getName ? d.getName() : "a component";
        e.NODE_ENV !== "production" && z(b != null || d._compositeType !== A.StatelessFunctional, 'Stateless function components cannot be given refs (See ref "%s" in %s created by %s). Attempts to access this ref will fail.', _, m, this.getName());
      }
      var v = p.refs === x ? p.refs = {} : p.refs;
      v[_] = b;
    },
    /**
     * Detaches a reference name.
     *
     * @param {string} ref Name to dereference.
     * @final
     * @private
     */
    detachRef: function(_) {
      var d = this.getPublicInstance().refs;
      delete d[_];
    },
    /**
     * Get a text description of the component that can be used to identify it
     * in error messages.
     * @return {string} The name or null.
     * @internal
     */
    getName: function() {
      var _ = this._currentElement.type, d = this._instance && this._instance.constructor;
      return _.displayName || d && d.displayName || _.name || d && d.name || null;
    },
    /**
     * Get the publicly accessible representation of this component - i.e. what
     * is exposed by refs and returned by render. Can be null for stateless
     * components.
     *
     * @return {ReactComponent} the public component instance.
     * @internal
     */
    getPublicInstance: function() {
      var _ = this._instance;
      return this._compositeType === A.StatelessFunctional ? null : _;
    },
    // Stub
    _instantiateReactComponent: null
  };
  return gO = S, gO;
}
var yO, WU;
function v7() {
  if (WU) return yO;
  WU = 1;
  var e, t = {
    injectEmptyComponentFactory: function(n) {
      e = n;
    }
  }, r = {
    create: function(n) {
      return e(n);
    }
  };
  return r.injection = t, yO = r, yO;
}
var bO, $U;
function g7() {
  if ($U) return bO;
  $U = 1;
  var e = {}, t = Bt(), r = yt(), n = null, i = null, o = {
    // This accepts a class that receives the tag string. This is a catch all
    // that can render any kind of tag.
    injectGenericComponentClass: function(C) {
      n = C;
    },
    // This accepts a text component class that takes the text string to be
    // rendered as props.
    injectTextComponentClass: function(C) {
      i = C;
    }
  };
  function l(C) {
    return n || (e.NODE_ENV !== "production" ? r(!1, "There is no registered component for the tag %s", C.type) : t("111", C.type)), new n(C);
  }
  function c(C) {
    return new i(C);
  }
  function g(C) {
    return C instanceof i;
  }
  var y = {
    createInternalComponent: l,
    createInstanceForText: c,
    isTextComponent: g,
    injection: o
  };
  return bO = y, bO;
}
var _O, VU;
function Moe() {
  if (VU) return _O;
  VU = 1;
  var e = 1;
  function t() {
    return e++;
  }
  return _O = t, _O;
}
var EO, HU;
function y7() {
  if (HU) return EO;
  HU = 1;
  var e = {}, t = Bt(), r = sr(), n = Roe(), i = v7(), o = g7(), l = Moe(), c = yt(), g = Ct(), y = function(M) {
    this.construct(M);
  };
  function C(M) {
    if (M) {
      var N = M.getName();
      if (N)
        return " Check the render method of `" + N + "`.";
    }
    return "";
  }
  function D(M) {
    return typeof M == "function" && typeof M.prototype < "u" && typeof M.prototype.mountComponent == "function" && typeof M.prototype.receiveComponent == "function";
  }
  function x(M, N) {
    var F;
    if (M === null || M === !1)
      F = i.create(x);
    else if (typeof M == "object") {
      var z = M, A = z.type;
      if (typeof A != "function" && typeof A != "string") {
        var u = "";
        e.NODE_ENV !== "production" && (A === void 0 || typeof A == "object" && A !== null && Object.keys(A).length === 0) && (u += " You likely forgot to export your component from the file it's defined in."), u += C(z._owner), e.NODE_ENV !== "production" ? c(!1, "Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", A == null ? A : typeof A, u) : t("130", A == null ? A : typeof A, u);
      }
      typeof z.type == "string" ? F = o.createInternalComponent(z) : D(z.type) ? (F = new z.type(z), F.getHostNode || (F.getHostNode = F.getNativeNode)) : F = new y(z);
    } else typeof M == "string" || typeof M == "number" ? F = o.createInstanceForText(M) : e.NODE_ENV !== "production" ? c(!1, "Encountered invalid React node of type %s", typeof M) : t("131", typeof M);
    return e.NODE_ENV !== "production" && e.NODE_ENV !== "production" && g(typeof F.mountComponent == "function" && typeof F.receiveComponent == "function" && typeof F.getHostNode == "function" && typeof F.unmountComponent == "function", "Only React Components can be mounted."), F._mountIndex = 0, F._mountImage = null, e.NODE_ENV !== "production" && (F._debugID = N ? l() : 0), e.NODE_ENV !== "production" && Object.preventExtensions && Object.preventExtensions(F), F;
  }
  return r(y.prototype, n, {
    _instantiateReactComponent: x
  }), EO = x, EO;
}
var SO, YU;
function _P() {
  if (YU) return SO;
  YU = 1;
  function e(n) {
    var i = /[=:]/g, o = {
      "=": "=0",
      ":": "=2"
    }, l = ("" + n).replace(i, function(c) {
      return o[c];
    });
    return "$" + l;
  }
  function t(n) {
    var i = /(=0|=2)/g, o = {
      "=0": "=",
      "=2": ":"
    }, l = n[0] === "." && n[1] === "$" ? n.substring(2) : n.substring(1);
    return ("" + l).replace(i, function(c) {
      return o[c];
    });
  }
  var r = {
    escape: e,
    unescape: t
  };
  return SO = r, SO;
}
var wO, GU;
function Noe() {
  if (GU) return wO;
  GU = 1;
  var e = typeof Symbol == "function" && Symbol.for && Symbol.for("react.element") || 60103;
  return wO = e, wO;
}
var OO, KU;
function Ioe() {
  if (KU) return OO;
  KU = 1;
  var e = typeof Symbol == "function" && Symbol.iterator, t = "@@iterator";
  function r(n) {
    var i = n && (e && n[e] || n[t]);
    if (typeof i == "function")
      return i;
  }
  return OO = r, OO;
}
var TO, XU;
function b7() {
  if (XU) return TO;
  XU = 1;
  var e = {}, t = Bt(), r = Da(), n = Noe(), i = Ioe(), o = yt(), l = _P(), c = Ct(), g = ".", y = ":", C = !1;
  function D(N, F) {
    return N && typeof N == "object" && N.key != null ? l.escape(N.key) : F.toString(36);
  }
  function x(N, F, z, A) {
    var u = typeof N;
    if ((u === "undefined" || u === "boolean") && (N = null), N === null || u === "string" || u === "number" || // The following is inlined from ReactElement. This means we can optimize
    // some checks. React Fiber also inlines this logic for similar purposes.
    u === "object" && N.$$typeof === n)
      return z(
        A,
        N,
        // If it's the only child, treat the name as if it was wrapped in an array
        // so that it's consistent if the number of children grows.
        F === "" ? g + D(N, 0) : F
      ), 1;
    var a, s, h = 0, E = F === "" ? g : F + y;
    if (Array.isArray(N))
      for (var f = 0; f < N.length; f++)
        a = N[f], s = E + D(a, f), h += x(a, s, z, A);
    else {
      var S = i(N);
      if (S) {
        var _ = S.call(N), d;
        if (S !== N.entries)
          for (var p = 0; !(d = _.next()).done; )
            a = d.value, s = E + D(a, p++), h += x(a, s, z, A);
        else {
          if (e.NODE_ENV !== "production") {
            var b = "";
            if (r.current) {
              var m = r.current.getName();
              m && (b = " Check the render method of `" + m + "`.");
            }
            e.NODE_ENV !== "production" && c(C, "Using Maps as children is not yet fully supported. It is an experimental feature that might be removed. Convert it to a sequence / iterable of keyed ReactElements instead.%s", b), C = !0;
          }
          for (; !(d = _.next()).done; ) {
            var v = d.value;
            v && (a = v[1], s = E + l.escape(v[0]) + y + D(a, 0), h += x(a, s, z, A));
          }
        }
      } else if (u === "object") {
        var O = "";
        if (e.NODE_ENV !== "production" && (O = " If you meant to render a collection of children, use an array instead or wrap the object using createFragment(object) from the React add-ons.", N._isReactElement && (O = " It looks like you're using an element created by a different version of React. Make sure to use only one copy of React."), r.current)) {
          var T = r.current.getName();
          T && (O += " Check the render method of `" + T + "`.");
        }
        var w = String(N);
        e.NODE_ENV !== "production" ? o(!1, "Objects are not valid as a React child (found: %s).%s", w === "[object Object]" ? "object with keys {" + Object.keys(N).join(", ") + "}" : w, O) : t("31", w === "[object Object]" ? "object with keys {" + Object.keys(N).join(", ") + "}" : w, O);
      }
    }
    return h;
  }
  function M(N, F, z) {
    return N == null ? 0 : x(N, "", F, z);
  }
  return TO = M, TO;
}
var CO, QU;
function Foe() {
  if (QU) return CO;
  QU = 1;
  var e = {}, t = Pl(), r = y7(), n = _P(), i = bP(), o = b7(), l = Ct(), c;
  typeof process < "u" && e && e.NODE_ENV === "test" && (c = Zn());
  function g(C, D, x, M) {
    var N = C[x] === void 0;
    e.NODE_ENV !== "production" && (c || (c = Zn()), N || e.NODE_ENV !== "production" && l(!1, "flattenChildren(...): Encountered two children with the same key, `%s`. Child keys must be unique; when two children share a key, only the first child will be used.%s", n.unescape(x), c.getStackAddendumByID(M))), D != null && N && (C[x] = r(D, !0));
  }
  var y = {
    /**
     * Generates a "mount image" for each of the supplied children. In the case
     * of `ReactDOMComponent`, a mount image is a string of markup.
     *
     * @param {?object} nestedChildNodes Nested child maps.
     * @return {?object} A set of child instances.
     * @internal
     */
    instantiateChildren: function(C, D, x, M) {
      if (C == null)
        return null;
      var N = {};
      return e.NODE_ENV !== "production" ? o(C, function(F, z, A) {
        return g(F, z, A, M);
      }, N) : o(C, g, N), N;
    },
    /**
     * Updates the rendered children and returns a new set of children.
     *
     * @param {?object} prevChildren Previously initialized set of children.
     * @param {?object} nextChildren Flat child element maps.
     * @param {ReactReconcileTransaction} transaction
     * @param {object} context
     * @return {?object} A new set of child instances.
     * @internal
     */
    updateChildren: function(C, D, x, M, N, F, z, A, u) {
      if (!(!D && !C)) {
        var a, s;
        for (a in D)
          if (D.hasOwnProperty(a)) {
            s = C && C[a];
            var h = s && s._currentElement, E = D[a];
            if (s != null && i(h, E))
              t.receiveComponent(s, E, N, A), D[a] = s;
            else {
              s && (M[a] = t.getHostNode(s), t.unmountComponent(s, !1));
              var f = r(E, !0);
              D[a] = f;
              var S = t.mountComponent(f, N, F, z, A, u);
              x.push(S);
            }
          }
        for (a in C)
          C.hasOwnProperty(a) && !(D && D.hasOwnProperty(a)) && (s = C[a], M[a] = t.getHostNode(s), t.unmountComponent(s, !1));
      }
    },
    /**
     * Unmounts all rendered children. This should be used to clean up children
     * when this component is unmounted.
     *
     * @param {?object} renderedChildren Previously initialized set of children.
     * @internal
     */
    unmountChildren: function(C, D) {
      for (var x in C)
        if (C.hasOwnProperty(x)) {
          var M = C[x];
          t.unmountComponent(M, D);
        }
    }
  };
  return CO = y, CO;
}
var xO, ZU;
function Loe() {
  if (ZU) return xO;
  ZU = 1;
  var e = {}, t = _P(), r = b7(), n = Ct(), i;
  typeof process < "u" && e && e.NODE_ENV === "test" && (i = Zn());
  function o(c, g, y, C) {
    if (c && typeof c == "object") {
      var D = c, x = D[y] === void 0;
      e.NODE_ENV !== "production" && (i || (i = Zn()), x || e.NODE_ENV !== "production" && n(!1, "flattenChildren(...): Encountered two children with the same key, `%s`. Child keys must be unique; when two children share a key, only the first child will be used.%s", t.unescape(y), i.getStackAddendumByID(C))), x && g != null && (D[y] = g);
    }
  }
  function l(c, g) {
    if (c == null)
      return c;
    var y = {};
    return e.NODE_ENV !== "production" ? r(c, function(C, D, x) {
      return o(C, D, x, g);
    }, y) : r(c, o, y), y;
  }
  return xO = l, xO;
}
var AO, JU;
function joe() {
  if (JU) return AO;
  JU = 1;
  var e = {}, t = Bt(), r = gP(), n = hd(), i = Si(), o = Da(), l = Pl(), c = Foe(), g = Aa(), y = Loe(), C = yt();
  function D(h, E, f) {
    return {
      type: "INSERT_MARKUP",
      content: h,
      fromIndex: null,
      fromNode: null,
      toIndex: f,
      afterNode: E
    };
  }
  function x(h, E, f) {
    return {
      type: "MOVE_EXISTING",
      content: null,
      fromIndex: h._mountIndex,
      fromNode: l.getHostNode(h),
      toIndex: f,
      afterNode: E
    };
  }
  function M(h, E) {
    return {
      type: "REMOVE_NODE",
      content: null,
      fromIndex: h._mountIndex,
      fromNode: E,
      toIndex: null,
      afterNode: null
    };
  }
  function N(h) {
    return {
      type: "SET_MARKUP",
      content: h,
      fromIndex: null,
      fromNode: null,
      toIndex: null,
      afterNode: null
    };
  }
  function F(h) {
    return {
      type: "TEXT_CONTENT",
      content: h,
      fromIndex: null,
      fromNode: null,
      toIndex: null,
      afterNode: null
    };
  }
  function z(h, E) {
    return E && (h = h || [], h.push(E)), h;
  }
  function A(h, E) {
    r.processChildrenUpdates(h, E);
  }
  var u = g;
  if (e.NODE_ENV !== "production") {
    var a = function(h) {
      if (!h._debugID) {
        var E;
        (E = n.get(h)) && (h = E);
      }
      return h._debugID;
    };
    u = function(h) {
      var E = a(this);
      E !== 0 && i.debugTool.onSetChildren(E, h ? Object.keys(h).map(function(f) {
        return h[f]._debugID;
      }) : []);
    };
  }
  var s = {
    /**
     * Provides common functionality for components that must reconcile multiple
     * children. This is used by `ReactDOMComponent` to mount, update, and
     * unmount child components.
     *
     * @lends {ReactMultiChild.prototype}
     */
    Mixin: {
      _reconcilerInstantiateChildren: function(h, E, f) {
        if (e.NODE_ENV !== "production") {
          var S = a(this);
          if (this._currentElement)
            try {
              return o.current = this._currentElement._owner, c.instantiateChildren(h, E, f, S);
            } finally {
              o.current = null;
            }
        }
        return c.instantiateChildren(h, E, f);
      },
      _reconcilerUpdateChildren: function(h, E, f, S, _, d) {
        var p, b = 0;
        if (e.NODE_ENV !== "production" && (b = a(this), this._currentElement)) {
          try {
            o.current = this._currentElement._owner, p = y(E, b);
          } finally {
            o.current = null;
          }
          return c.updateChildren(h, p, f, S, _, this, this._hostContainerInfo, d, b), p;
        }
        return p = y(E, b), c.updateChildren(h, p, f, S, _, this, this._hostContainerInfo, d, b), p;
      },
      /**
       * Generates a "mount image" for each of the supplied children. In the case
       * of `ReactDOMComponent`, a mount image is a string of markup.
       *
       * @param {?object} nestedChildren Nested child maps.
       * @return {array} An array of mounted representations.
       * @internal
       */
      mountChildren: function(h, E, f) {
        var S = this._reconcilerInstantiateChildren(h, E, f);
        this._renderedChildren = S;
        var _ = [], d = 0;
        for (var p in S)
          if (S.hasOwnProperty(p)) {
            var b = S[p], m = 0;
            e.NODE_ENV !== "production" && (m = a(this));
            var v = l.mountComponent(b, E, this, this._hostContainerInfo, f, m);
            b._mountIndex = d++, _.push(v);
          }
        return e.NODE_ENV !== "production" && u.call(this, S), _;
      },
      /**
       * Replaces any rendered children with a text content string.
       *
       * @param {string} nextContent String of content.
       * @internal
       */
      updateTextContent: function(h) {
        var E = this._renderedChildren;
        c.unmountChildren(E, !1);
        for (var f in E)
          E.hasOwnProperty(f) && (e.NODE_ENV !== "production" ? C(!1, "updateTextContent called on non-empty component.") : t("118"));
        var S = [F(h)];
        A(this, S);
      },
      /**
       * Replaces any rendered children with a markup string.
       *
       * @param {string} nextMarkup String of markup.
       * @internal
       */
      updateMarkup: function(h) {
        var E = this._renderedChildren;
        c.unmountChildren(E, !1);
        for (var f in E)
          E.hasOwnProperty(f) && (e.NODE_ENV !== "production" ? C(!1, "updateTextContent called on non-empty component.") : t("118"));
        var S = [N(h)];
        A(this, S);
      },
      /**
       * Updates the rendered children with new children.
       *
       * @param {?object} nextNestedChildrenElements Nested child element maps.
       * @param {ReactReconcileTransaction} transaction
       * @internal
       */
      updateChildren: function(h, E, f) {
        this._updateChildren(h, E, f);
      },
      /**
       * @param {?object} nextNestedChildrenElements Nested child element maps.
       * @param {ReactReconcileTransaction} transaction
       * @final
       * @protected
       */
      _updateChildren: function(h, E, f) {
        var S = this._renderedChildren, _ = {}, d = [], p = this._reconcilerUpdateChildren(S, h, d, _, E, f);
        if (!(!p && !S)) {
          var b = null, m, v = 0, O = 0, T = 0, w = null;
          for (m in p)
            if (p.hasOwnProperty(m)) {
              var P = S && S[m], I = p[m];
              P === I ? (b = z(b, this.moveChild(P, w, v, O)), O = Math.max(P._mountIndex, O), P._mountIndex = v) : (P && (O = Math.max(P._mountIndex, O)), b = z(b, this._mountChildAtIndex(I, d[T], w, v, E, f)), T++), v++, w = l.getHostNode(I);
            }
          for (m in _)
            _.hasOwnProperty(m) && (b = z(b, this._unmountChild(S[m], _[m])));
          b && A(this, b), this._renderedChildren = p, e.NODE_ENV !== "production" && u.call(this, p);
        }
      },
      /**
       * Unmounts all rendered children. This should be used to clean up children
       * when this component is unmounted. It does not actually perform any
       * backend operations.
       *
       * @internal
       */
      unmountChildren: function(h) {
        var E = this._renderedChildren;
        c.unmountChildren(E, h), this._renderedChildren = null;
      },
      /**
       * Moves a child component to the supplied index.
       *
       * @param {ReactComponent} child Component to move.
       * @param {number} toIndex Destination index of the element.
       * @param {number} lastIndex Last index visited of the siblings of `child`.
       * @protected
       */
      moveChild: function(h, E, f, S) {
        if (h._mountIndex < S)
          return x(h, E, f);
      },
      /**
       * Creates a child component.
       *
       * @param {ReactComponent} child Component to create.
       * @param {string} mountImage Markup to insert.
       * @protected
       */
      createChild: function(h, E, f) {
        return D(f, E, h._mountIndex);
      },
      /**
       * Removes a child component.
       *
       * @param {ReactComponent} child Child to remove.
       * @protected
       */
      removeChild: function(h, E) {
        return M(h, E);
      },
      /**
       * Mounts a child with the supplied name.
       *
       * NOTE: This is part of `updateChildren` and is here for readability.
       *
       * @param {ReactComponent} child Component to mount.
       * @param {string} name Name of the child.
       * @param {number} index Index at which to insert the child.
       * @param {ReactReconcileTransaction} transaction
       * @private
       */
      _mountChildAtIndex: function(h, E, f, S, _, d) {
        return h._mountIndex = S, this.createChild(h, f, E);
      },
      /**
       * Unmounts a rendered child.
       *
       * NOTE: This is part of `updateChildren` and is here for readability.
       *
       * @param {ReactComponent} child Component to unmount.
       * @private
       */
      _unmountChild: function(h, E) {
        var f = this.removeChild(h, E);
        return h._mountIndex = null, f;
      }
    }
  };
  return AO = s, AO;
}
var DO, e3;
function EP() {
  if (e3) return DO;
  e3 = 1;
  var e = {}, t = Bt(), r = Da(), n = hd(), i = Si(), o = Pa(), l = yt(), c = Ct();
  function g(x) {
    o.enqueueUpdate(x);
  }
  function y(x) {
    var M = typeof x;
    if (M !== "object")
      return M;
    var N = x.constructor && x.constructor.name || M, F = Object.keys(x);
    return F.length > 0 && F.length < 20 ? N + " (keys: " + F.join(", ") + ")" : N;
  }
  function C(x, M) {
    var N = n.get(x);
    if (!N) {
      if (e.NODE_ENV !== "production") {
        var F = x.constructor;
        e.NODE_ENV !== "production" && c(!M, "%s(...): Can only update a mounted or mounting component. This usually means you called %s() on an unmounted component. This is a no-op. Please check the code for the %s component.", M, M, F && (F.displayName || F.name) || "ReactClass");
      }
      return null;
    }
    return e.NODE_ENV !== "production" && e.NODE_ENV !== "production" && c(r.current == null, "%s(...): Cannot update during an existing state transition (such as within `render` or another component's constructor). Render methods should be a pure function of props and state; constructor side-effects are an anti-pattern, but can be moved to `componentWillMount`.", M), N;
  }
  var D = {
    /**
     * Checks whether or not this composite component is mounted.
     * @param {ReactClass} publicInstance The instance we want to test.
     * @return {boolean} True if mounted, false otherwise.
     * @protected
     * @final
     */
    isMounted: function(x) {
      if (e.NODE_ENV !== "production") {
        var M = r.current;
        M !== null && (e.NODE_ENV !== "production" && c(M._warnedAboutRefsInRender, "%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.", M.getName() || "A component"), M._warnedAboutRefsInRender = !0);
      }
      var N = n.get(x);
      return N ? !!N._renderedComponent : !1;
    },
    /**
     * Enqueue a callback that will be executed after all the pending updates
     * have processed.
     *
     * @param {ReactClass} publicInstance The instance to use as `this` context.
     * @param {?function} callback Called after state is updated.
     * @param {string} callerName Name of the calling function in the public API.
     * @internal
     */
    enqueueCallback: function(x, M, N) {
      D.validateCallback(M, N);
      var F = C(x);
      if (!F)
        return null;
      F._pendingCallbacks ? F._pendingCallbacks.push(M) : F._pendingCallbacks = [M], g(F);
    },
    enqueueCallbackInternal: function(x, M) {
      x._pendingCallbacks ? x._pendingCallbacks.push(M) : x._pendingCallbacks = [M], g(x);
    },
    /**
     * Forces an update. This should only be invoked when it is known with
     * certainty that we are **not** in a DOM transaction.
     *
     * You may want to call this when you know that some deeper aspect of the
     * component's state has changed but `setState` was not called.
     *
     * This will not invoke `shouldComponentUpdate`, but it will invoke
     * `componentWillUpdate` and `componentDidUpdate`.
     *
     * @param {ReactClass} publicInstance The instance that should rerender.
     * @internal
     */
    enqueueForceUpdate: function(x) {
      var M = C(x, "forceUpdate");
      M && (M._pendingForceUpdate = !0, g(M));
    },
    /**
     * Replaces all of the state. Always use this or `setState` to mutate state.
     * You should treat `this.state` as immutable.
     *
     * There is no guarantee that `this.state` will be immediately updated, so
     * accessing `this.state` after calling this method may return the old value.
     *
     * @param {ReactClass} publicInstance The instance that should rerender.
     * @param {object} completeState Next state.
     * @internal
     */
    enqueueReplaceState: function(x, M, N) {
      var F = C(x, "replaceState");
      F && (F._pendingStateQueue = [M], F._pendingReplaceState = !0, N != null && (D.validateCallback(N, "replaceState"), F._pendingCallbacks ? F._pendingCallbacks.push(N) : F._pendingCallbacks = [N]), g(F));
    },
    /**
     * Sets a subset of the state. This only exists because _pendingState is
     * internal. This provides a merging strategy that is not available to deep
     * properties which is confusing. TODO: Expose pendingState or don't use it
     * during the merge.
     *
     * @param {ReactClass} publicInstance The instance that should rerender.
     * @param {object} partialState Next partial state to be merged with state.
     * @internal
     */
    enqueueSetState: function(x, M) {
      e.NODE_ENV !== "production" && (i.debugTool.onSetState(), e.NODE_ENV !== "production" && c(M != null, "setState(...): You passed an undefined or null state object; instead, use forceUpdate()."));
      var N = C(x, "setState");
      if (N) {
        var F = N._pendingStateQueue || (N._pendingStateQueue = []);
        F.push(M), g(N);
      }
    },
    enqueueElementInternal: function(x, M, N) {
      x._pendingElement = M, x._context = N, g(x);
    },
    validateCallback: function(x, M) {
      !x || typeof x == "function" || (e.NODE_ENV !== "production" ? l(!1, "%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.", M, y(x)) : t("122", M, y(x)));
    }
  };
  return DO = D, DO;
}
var PO, t3;
function Uoe() {
  if (t3) return PO;
  t3 = 1;
  var e = {};
  function t(l, c) {
    if (!(l instanceof c))
      throw new TypeError("Cannot call a class as a function");
  }
  var r = EP(), n = Ct();
  function i(l, c) {
    if (e.NODE_ENV !== "production") {
      var g = l.constructor;
      e.NODE_ENV !== "production" && n(!1, "%s(...): Can only update a mounting component. This usually means you called %s() outside componentWillMount() on the server. This is a no-op. Please check the code for the %s component.", c, c, g && (g.displayName || g.name) || "ReactClass");
    }
  }
  var o = function() {
    function l(c) {
      t(this, l), this.transaction = c;
    }
    return l.prototype.isMounted = function(g) {
      return !1;
    }, l.prototype.enqueueCallback = function(g, y, C) {
      this.transaction.isInTransaction() && r.enqueueCallback(g, y, C);
    }, l.prototype.enqueueForceUpdate = function(g) {
      this.transaction.isInTransaction() ? r.enqueueForceUpdate(g) : i(g, "forceUpdate");
    }, l.prototype.enqueueReplaceState = function(g, y) {
      this.transaction.isInTransaction() ? r.enqueueReplaceState(g, y) : i(g, "replaceState");
    }, l.prototype.enqueueSetState = function(g, y) {
      this.transaction.isInTransaction() ? r.enqueueSetState(g, y) : i(g, "setState");
    }, l;
  }();
  return PO = o, PO;
}
var kO, r3;
function qoe() {
  if (r3) return kO;
  r3 = 1;
  var e = {}, t = sr(), r = Xs(), n = xy(), i = Si(), o = Uoe(), l = [];
  e.NODE_ENV !== "production" && l.push({
    initialize: i.debugTool.onBeginFlush,
    close: i.debugTool.onEndFlush
  });
  var c = {
    enqueue: function() {
    }
  };
  function g(C) {
    this.reinitializeTransaction(), this.renderToStaticMarkup = C, this.useCreateElement = !1, this.updateQueue = new o(this);
  }
  var y = {
    /**
     * @see Transaction
     * @abstract
     * @final
     * @return {array} Empty list of operation wrap procedures.
     */
    getTransactionWrappers: function() {
      return l;
    },
    /**
     * @return {object} The queue to collect `onDOMReady` callbacks with.
     */
    getReactMountReady: function() {
      return c;
    },
    /**
     * @return {object} The queue to collect React async events.
     */
    getUpdateQueue: function() {
      return this.updateQueue;
    },
    /**
     * `PooledClass` looks for this, and will invoke this before allowing this
     * instance to be reused.
     */
    destructor: function() {
    },
    checkpoint: function() {
    },
    rollback: function() {
    }
  };
  return t(g.prototype, n, y), r.addPoolingTo(g), kO = g, kO;
}
var RO, n3;
function SP() {
  if (n3) return RO;
  n3 = 1;
  var e = {}, t = sr(), r = Aa(), n = Ct(), i = r;
  if (e.NODE_ENV !== "production") {
    var o = ["address", "applet", "area", "article", "aside", "base", "basefont", "bgsound", "blockquote", "body", "br", "button", "caption", "center", "col", "colgroup", "dd", "details", "dir", "div", "dl", "dt", "embed", "fieldset", "figcaption", "figure", "footer", "form", "frame", "frameset", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "iframe", "img", "input", "isindex", "li", "link", "listing", "main", "marquee", "menu", "menuitem", "meta", "nav", "noembed", "noframes", "noscript", "object", "ol", "p", "param", "plaintext", "pre", "script", "section", "select", "source", "style", "summary", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "title", "tr", "track", "ul", "wbr", "xmp"], l = [
      "applet",
      "caption",
      "html",
      "table",
      "td",
      "th",
      "marquee",
      "object",
      "template",
      // https://html.spec.whatwg.org/multipage/syntax.html#html-integration-point
      // TODO: Distinguish by namespace here -- for <title>, including it here
      // errs on the side of fewer warnings
      "foreignObject",
      "desc",
      "title"
    ], c = l.concat(["button"]), g = ["dd", "dt", "li", "option", "optgroup", "p", "rp", "rt"], y = {
      current: null,
      formTag: null,
      aTagInScope: null,
      buttonTagInScope: null,
      nobrTagInScope: null,
      pTagInButtonScope: null,
      listItemTagAutoclosing: null,
      dlItemTagAutoclosing: null
    }, C = function(F, z, A) {
      var u = t({}, F || y), a = { tag: z, instance: A };
      return l.indexOf(z) !== -1 && (u.aTagInScope = null, u.buttonTagInScope = null, u.nobrTagInScope = null), c.indexOf(z) !== -1 && (u.pTagInButtonScope = null), o.indexOf(z) !== -1 && z !== "address" && z !== "div" && z !== "p" && (u.listItemTagAutoclosing = null, u.dlItemTagAutoclosing = null), u.current = a, z === "form" && (u.formTag = a), z === "a" && (u.aTagInScope = a), z === "button" && (u.buttonTagInScope = a), z === "nobr" && (u.nobrTagInScope = a), z === "p" && (u.pTagInButtonScope = a), z === "li" && (u.listItemTagAutoclosing = a), (z === "dd" || z === "dt") && (u.dlItemTagAutoclosing = a), u;
    }, D = function(F, z) {
      switch (z) {
        case "select":
          return F === "option" || F === "optgroup" || F === "#text";
        case "optgroup":
          return F === "option" || F === "#text";
        case "option":
          return F === "#text";
        case "tr":
          return F === "th" || F === "td" || F === "style" || F === "script" || F === "template";
        case "tbody":
        case "thead":
        case "tfoot":
          return F === "tr" || F === "style" || F === "script" || F === "template";
        case "colgroup":
          return F === "col" || F === "template";
        case "table":
          return F === "caption" || F === "colgroup" || F === "tbody" || F === "tfoot" || F === "thead" || F === "style" || F === "script" || F === "template";
        case "head":
          return F === "base" || F === "basefont" || F === "bgsound" || F === "link" || F === "meta" || F === "title" || F === "noscript" || F === "noframes" || F === "style" || F === "script" || F === "template";
        case "html":
          return F === "head" || F === "body";
        case "#document":
          return F === "html";
      }
      switch (F) {
        case "h1":
        case "h2":
        case "h3":
        case "h4":
        case "h5":
        case "h6":
          return z !== "h1" && z !== "h2" && z !== "h3" && z !== "h4" && z !== "h5" && z !== "h6";
        case "rp":
        case "rt":
          return g.indexOf(z) === -1;
        case "body":
        case "caption":
        case "col":
        case "colgroup":
        case "frame":
        case "head":
        case "html":
        case "tbody":
        case "td":
        case "tfoot":
        case "th":
        case "thead":
        case "tr":
          return z == null;
      }
      return !0;
    }, x = function(F, z) {
      switch (F) {
        case "address":
        case "article":
        case "aside":
        case "blockquote":
        case "center":
        case "details":
        case "dialog":
        case "dir":
        case "div":
        case "dl":
        case "fieldset":
        case "figcaption":
        case "figure":
        case "footer":
        case "header":
        case "hgroup":
        case "main":
        case "menu":
        case "nav":
        case "ol":
        case "p":
        case "section":
        case "summary":
        case "ul":
        case "pre":
        case "listing":
        case "table":
        case "hr":
        case "xmp":
        case "h1":
        case "h2":
        case "h3":
        case "h4":
        case "h5":
        case "h6":
          return z.pTagInButtonScope;
        case "form":
          return z.formTag || z.pTagInButtonScope;
        case "li":
          return z.listItemTagAutoclosing;
        case "dd":
        case "dt":
          return z.dlItemTagAutoclosing;
        case "button":
          return z.buttonTagInScope;
        case "a":
          return z.aTagInScope;
        case "nobr":
          return z.nobrTagInScope;
      }
      return null;
    }, M = function(F) {
      if (!F)
        return [];
      var z = [];
      do
        z.push(F);
      while (F = F._currentElement._owner);
      return z.reverse(), z;
    }, N = {};
    i = function(F, z, A, u) {
      u = u || y;
      var a = u.current, s = a && a.tag;
      z != null && (e.NODE_ENV !== "production" && n(F == null, "validateDOMNesting: when childText is passed, childTag should be null"), F = "#text");
      var h = D(F, s) ? null : a, E = h ? null : x(F, u), f = h || E;
      if (f) {
        var S = f.tag, _ = f.instance, d = A && A._currentElement._owner, p = _ && _._currentElement._owner, b = M(d), m = M(p), v = Math.min(b.length, m.length), O, T = -1;
        for (O = 0; O < v && b[O] === m[O]; O++)
          T = O;
        var w = "(unknown)", P = b.slice(T + 1).map(function(k) {
          return k.getName() || w;
        }), I = m.slice(T + 1).map(function(k) {
          return k.getName() || w;
        }), L = [].concat(
          // If the parent and child instances have a common owner ancestor, start
          // with that -- otherwise we just start with the parent's owners.
          T !== -1 ? b[T].getName() || w : [],
          I,
          S,
          // If we're warning about an invalid (non-parent) ancestry, add '...'
          E ? ["..."] : [],
          P,
          F
        ).join(" > "), R = !!h + "|" + F + "|" + S + "|" + L;
        if (N[R])
          return;
        N[R] = !0;
        var q = F, B = "";
        if (F === "#text" ? /\S/.test(z) ? q = "Text nodes" : (q = "Whitespace text nodes", B = " Make sure you don't have any extra whitespace between tags on each line of your source code.") : q = "<" + F + ">", h) {
          var j = "";
          S === "table" && F === "tr" && (j += " Add a <tbody> to your code to match the DOM tree generated by the browser."), e.NODE_ENV !== "production" && n(!1, "validateDOMNesting(...): %s cannot appear as a child of <%s>.%s See %s.%s", q, S, B, L, j);
        } else
          e.NODE_ENV !== "production" && n(!1, "validateDOMNesting(...): %s cannot appear as a descendant of <%s>. See %s.", q, S, L);
      }
    }, i.updatedAncestorInfo = C, i.isTagValidInContext = function(F, z) {
      z = z || y;
      var A = z.current, u = A && A.tag;
      return D(F, u) && !x(F, z);
    };
  }
  return RO = i, RO;
}
var MO, i3;
function zoe() {
  if (i3) return MO;
  i3 = 1;
  var e = {}, t = Bt(), r = sr(), n = voe(), i = woe(), o = kl(), l = pP(), c = Yo(), g = d7(), y = fd(), C = Cy(), D = ky(), x = e7(), M = Er(), N = xoe(), F = Aoe(), z = h7(), A = Doe(), u = Si(), a = joe(), s = qoe(), h = Aa(), E = Py(), f = yt(), S = fP(), _ = yP(), d = o7(), p = SP(), b = Ct(), m = x, v = y.deleteListener, O = M.getNodeFromInstance, T = D.listenTo, w = C.registrationNameModules, P = { string: !0, number: !0 }, I = "style", L = "__html", R = {
    children: null,
    dangerouslySetInnerHTML: null,
    suppressContentEditableWarning: null
  }, q = 11;
  function B(de) {
    if (de) {
      var he = de._currentElement._owner || null;
      if (he) {
        var Ee = he.getName();
        if (Ee)
          return " This DOM node was rendered by `" + Ee + "`.";
      }
    }
    return "";
  }
  function j(de) {
    if (typeof de == "object") {
      if (Array.isArray(de))
        return "[" + de.map(j).join(", ") + "]";
      var he = [];
      for (var Ee in de)
        if (Object.prototype.hasOwnProperty.call(de, Ee)) {
          var ye = /^[a-z$_][\w$_]*$/i.test(Ee) ? Ee : JSON.stringify(Ee);
          he.push(ye + ": " + j(de[Ee]));
        }
      return "{" + he.join(", ") + "}";
    } else {
      if (typeof de == "string")
        return JSON.stringify(de);
      if (typeof de == "function")
        return "[function object]";
    }
    return String(de);
  }
  var k = {};
  function U(de, he, Ee) {
    if (!(de == null || he == null) && !_(de, he)) {
      var ye = Ee._tag, _e = Ee._currentElement._owner, ge;
      _e && (ge = _e.getName());
      var Me = ge + "|" + ye;
      k.hasOwnProperty(Me) || (k[Me] = !0, e.NODE_ENV !== "production" && b(!1, "`%s` was passed a style object that has previously been mutated. Mutating `style` is deprecated. Consider cloning it beforehand. Check the `render` %s. Previous style: %s. Mutated style: %s.", ye, _e ? "of `" + ge + "`" : "using <" + ye + ">", j(de), j(he)));
    }
  }
  function W(de, he) {
    he && (re[de._tag] && (he.children == null && he.dangerouslySetInnerHTML == null || (e.NODE_ENV !== "production" ? f(!1, "%s is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.%s", de._tag, de._currentElement._owner ? " Check the render method of " + de._currentElement._owner.getName() + "." : "") : t("137", de._tag, de._currentElement._owner ? " Check the render method of " + de._currentElement._owner.getName() + "." : ""))), he.dangerouslySetInnerHTML != null && (he.children != null && (e.NODE_ENV !== "production" ? f(!1, "Can only set one of `children` or `props.dangerouslySetInnerHTML`.") : t("60")), typeof he.dangerouslySetInnerHTML == "object" && L in he.dangerouslySetInnerHTML || (e.NODE_ENV !== "production" ? f(!1, "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://fb.me/react-invariant-dangerously-set-inner-html for more information.") : t("61"))), e.NODE_ENV !== "production" && (e.NODE_ENV !== "production" && b(he.innerHTML == null, "Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`."), e.NODE_ENV !== "production" && b(he.suppressContentEditableWarning || !he.contentEditable || he.children == null, "A component is `contentEditable` and contains `children` managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional."), e.NODE_ENV !== "production" && b(he.onFocusIn == null && he.onFocusOut == null, "React uses onFocus and onBlur instead of onFocusIn and onFocusOut. All React events are normalized to bubble, so onFocusIn and onFocusOut are not needed/supported by React.")), he.style == null || typeof he.style == "object" || (e.NODE_ENV !== "production" ? f(!1, "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.%s", B(de)) : t("62", B(de))));
  }
  function $(de, he, Ee, ye) {
    if (!(ye instanceof s)) {
      e.NODE_ENV !== "production" && e.NODE_ENV !== "production" && b(he !== "onScroll" || S("scroll", !0), "This browser doesn't support the `onScroll` event");
      var _e = de._hostContainerInfo, ge = _e._node && _e._node.nodeType === q, Me = ge ? _e._node : _e._ownerDocument;
      T(he, Me), ye.getReactMountReady().enqueue(V, {
        inst: de,
        registrationName: he,
        listener: Ee
      });
    }
  }
  function V() {
    var de = this;
    y.putListener(de.inst, de.registrationName, de.listener);
  }
  function G() {
    var de = this;
    N.postMountWrapper(de);
  }
  function X() {
    var de = this;
    A.postMountWrapper(de);
  }
  function K() {
    var de = this;
    F.postMountWrapper(de);
  }
  var H = h;
  e.NODE_ENV !== "production" && (H = function(de) {
    var he = this._contentDebugID != null, Ee = this._debugID, ye = -Ee;
    if (de == null) {
      he && u.debugTool.onUnmountComponent(this._contentDebugID), this._contentDebugID = null;
      return;
    }
    p(null, String(de), this, this._ancestorInfo), this._contentDebugID = ye, he ? (u.debugTool.onBeforeUpdateComponent(ye, de), u.debugTool.onUpdateComponent(ye)) : (u.debugTool.onBeforeMountComponent(ye, de, Ee), u.debugTool.onMountComponent(ye), u.debugTool.onSetChildren(Ee, [ye]));
  });
  var Y = {
    topAbort: "abort",
    topCanPlay: "canplay",
    topCanPlayThrough: "canplaythrough",
    topDurationChange: "durationchange",
    topEmptied: "emptied",
    topEncrypted: "encrypted",
    topEnded: "ended",
    topError: "error",
    topLoadedData: "loadeddata",
    topLoadedMetadata: "loadedmetadata",
    topLoadStart: "loadstart",
    topPause: "pause",
    topPlay: "play",
    topPlaying: "playing",
    topProgress: "progress",
    topRateChange: "ratechange",
    topSeeked: "seeked",
    topSeeking: "seeking",
    topStalled: "stalled",
    topSuspend: "suspend",
    topTimeUpdate: "timeupdate",
    topVolumeChange: "volumechange",
    topWaiting: "waiting"
  };
  function Q() {
    d.track(this);
  }
  function Z() {
    var de = this;
    de._rootNodeID || (e.NODE_ENV !== "production" ? f(!1, "Must be mounted to trap events") : t("63"));
    var he = O(de);
    switch (he || (e.NODE_ENV !== "production" ? f(!1, "trapBubbledEvent(...): Requires node to be rendered.") : t("64")), de._tag) {
      case "iframe":
      case "object":
        de._wrapperState.listeners = [D.trapBubbledEvent("topLoad", "load", he)];
        break;
      case "video":
      case "audio":
        de._wrapperState.listeners = [];
        for (var Ee in Y)
          Y.hasOwnProperty(Ee) && de._wrapperState.listeners.push(D.trapBubbledEvent(Ee, Y[Ee], he));
        break;
      case "source":
        de._wrapperState.listeners = [D.trapBubbledEvent("topError", "error", he)];
        break;
      case "img":
        de._wrapperState.listeners = [D.trapBubbledEvent("topError", "error", he), D.trapBubbledEvent("topLoad", "load", he)];
        break;
      case "form":
        de._wrapperState.listeners = [D.trapBubbledEvent("topReset", "reset", he), D.trapBubbledEvent("topSubmit", "submit", he)];
        break;
      case "input":
      case "select":
      case "textarea":
        de._wrapperState.listeners = [D.trapBubbledEvent("topInvalid", "invalid", he)];
        break;
    }
  }
  function J() {
    z.postUpdateWrapper(this);
  }
  var ne = {
    area: !0,
    base: !0,
    br: !0,
    col: !0,
    embed: !0,
    hr: !0,
    img: !0,
    input: !0,
    keygen: !0,
    link: !0,
    meta: !0,
    param: !0,
    source: !0,
    track: !0,
    wbr: !0
    // NOTE: menuitem's close tag should be omitted, but that causes problems.
  }, ie = {
    listing: !0,
    pre: !0,
    textarea: !0
  }, re = r({
    menuitem: !0
  }, ne), ee = /^[a-zA-Z][a-zA-Z:_\.\-\d]*$/, te = {}, ue = {}.hasOwnProperty;
  function le(de) {
    ue.call(te, de) || (ee.test(de) || (e.NODE_ENV !== "production" ? f(!1, "Invalid tag: %s", de) : t("65", de)), te[de] = !0);
  }
  function ae(de, he) {
    return de.indexOf("-") >= 0 || he.is != null;
  }
  var ce = 1;
  function pe(de) {
    var he = de.type;
    le(he), this._currentElement = de, this._tag = he.toLowerCase(), this._namespaceURI = null, this._renderedChildren = null, this._previousStyle = null, this._previousStyleCopy = null, this._hostNode = null, this._hostParent = null, this._rootNodeID = 0, this._domID = 0, this._hostContainerInfo = null, this._wrapperState = null, this._topLevelWrapper = null, this._flags = 0, e.NODE_ENV !== "production" && (this._ancestorInfo = null, H.call(this, null));
  }
  return pe.displayName = "ReactDOMComponent", pe.Mixin = {
    /**
     * Generates root tag markup then recurses. This method has side effects and
     * is not idempotent.
     *
     * @internal
     * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction
     * @param {?ReactDOMComponent} the parent component instance
     * @param {?object} info about the host container
     * @param {object} context
     * @return {string} The computed markup.
     */
    mountComponent: function(de, he, Ee, ye) {
      this._rootNodeID = ce++, this._domID = Ee._idCounter++, this._hostParent = he, this._hostContainerInfo = Ee;
      var _e = this._currentElement.props;
      switch (this._tag) {
        case "audio":
        case "form":
        case "iframe":
        case "img":
        case "link":
        case "object":
        case "source":
        case "video":
          this._wrapperState = {
            listeners: null
          }, de.getReactMountReady().enqueue(Z, this);
          break;
        case "input":
          N.mountWrapper(this, _e, he), _e = N.getHostProps(this, _e), de.getReactMountReady().enqueue(Q, this), de.getReactMountReady().enqueue(Z, this);
          break;
        case "option":
          F.mountWrapper(this, _e, he), _e = F.getHostProps(this, _e);
          break;
        case "select":
          z.mountWrapper(this, _e, he), _e = z.getHostProps(this, _e), de.getReactMountReady().enqueue(Z, this);
          break;
        case "textarea":
          A.mountWrapper(this, _e, he), _e = A.getHostProps(this, _e), de.getReactMountReady().enqueue(Q, this), de.getReactMountReady().enqueue(Z, this);
          break;
      }
      W(this, _e);
      var ge, Me;
      if (he != null ? (ge = he._namespaceURI, Me = he._tag) : Ee._tag && (ge = Ee._namespaceURI, Me = Ee._tag), (ge == null || ge === l.svg && Me === "foreignobject") && (ge = l.html), ge === l.html && (this._tag === "svg" ? ge = l.svg : this._tag === "math" && (ge = l.mathml)), this._namespaceURI = ge, e.NODE_ENV !== "production") {
        var Te;
        he != null ? Te = he._ancestorInfo : Ee._tag && (Te = Ee._ancestorInfo), Te && p(this._tag, null, this, Te), this._ancestorInfo = p.updatedAncestorInfo(Te, this._tag, this);
      }
      var De;
      if (de.useCreateElement) {
        var oe = Ee._ownerDocument, se;
        if (ge === l.html)
          if (this._tag === "script") {
            var fe = oe.createElement("div"), be = this._currentElement.type;
            fe.innerHTML = "<" + be + "></" + be + ">", se = fe.removeChild(fe.firstChild);
          } else _e.is ? se = oe.createElement(this._currentElement.type, _e.is) : se = oe.createElement(this._currentElement.type);
        else
          se = oe.createElementNS(ge, this._currentElement.type);
        M.precacheNode(this, se), this._flags |= m.hasCachedChildNodes, this._hostParent || g.setAttributeForRoot(se), this._updateDOMProperties(null, _e, de);
        var Se = o(se);
        this._createInitialChildren(de, _e, ye, Se), De = Se;
      } else {
        var Ae = this._createOpenTagMarkupAndPutListeners(de, _e), ze = this._createContentMarkup(de, _e, ye);
        !ze && ne[this._tag] ? De = Ae + "/>" : De = Ae + ">" + ze + "</" + this._currentElement.type + ">";
      }
      switch (this._tag) {
        case "input":
          de.getReactMountReady().enqueue(G, this), _e.autoFocus && de.getReactMountReady().enqueue(n.focusDOMComponent, this);
          break;
        case "textarea":
          de.getReactMountReady().enqueue(X, this), _e.autoFocus && de.getReactMountReady().enqueue(n.focusDOMComponent, this);
          break;
        case "select":
          _e.autoFocus && de.getReactMountReady().enqueue(n.focusDOMComponent, this);
          break;
        case "button":
          _e.autoFocus && de.getReactMountReady().enqueue(n.focusDOMComponent, this);
          break;
        case "option":
          de.getReactMountReady().enqueue(K, this);
          break;
      }
      return De;
    },
    /**
     * Creates markup for the open tag and all attributes.
     *
     * This method has side effects because events get registered.
     *
     * Iterating over object properties is faster than iterating over arrays.
     * @see http://jsperf.com/obj-vs-arr-iteration
     *
     * @private
     * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction
     * @param {object} props
     * @return {string} Markup of opening tag.
     */
    _createOpenTagMarkupAndPutListeners: function(de, he) {
      var Ee = "<" + this._currentElement.type;
      for (var ye in he)
        if (he.hasOwnProperty(ye)) {
          var _e = he[ye];
          if (_e != null)
            if (w.hasOwnProperty(ye))
              _e && $(this, ye, _e, de);
            else {
              ye === I && (_e && (e.NODE_ENV !== "production" && (this._previousStyle = _e), _e = this._previousStyleCopy = r({}, he.style)), _e = i.createMarkupForStyles(_e, this));
              var ge = null;
              this._tag != null && ae(this._tag, he) ? R.hasOwnProperty(ye) || (ge = g.createMarkupForCustomAttribute(ye, _e)) : ge = g.createMarkupForProperty(ye, _e), ge && (Ee += " " + ge);
            }
        }
      return de.renderToStaticMarkup || (this._hostParent || (Ee += " " + g.createMarkupForRoot()), Ee += " " + g.createMarkupForID(this._domID)), Ee;
    },
    /**
     * Creates markup for the content between the tags.
     *
     * @private
     * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction
     * @param {object} props
     * @param {object} context
     * @return {string} Content markup.
     */
    _createContentMarkup: function(de, he, Ee) {
      var ye = "", _e = he.dangerouslySetInnerHTML;
      if (_e != null)
        _e.__html != null && (ye = _e.__html);
      else {
        var ge = P[typeof he.children] ? he.children : null, Me = ge != null ? null : he.children;
        if (ge != null)
          ye = E(ge), e.NODE_ENV !== "production" && H.call(this, ge);
        else if (Me != null) {
          var Te = this.mountChildren(Me, de, Ee);
          ye = Te.join("");
        }
      }
      return ie[this._tag] && ye.charAt(0) === `
` ? `
` + ye : ye;
    },
    _createInitialChildren: function(de, he, Ee, ye) {
      var _e = he.dangerouslySetInnerHTML;
      if (_e != null)
        _e.__html != null && o.queueHTML(ye, _e.__html);
      else {
        var ge = P[typeof he.children] ? he.children : null, Me = ge != null ? null : he.children;
        if (ge != null)
          ge !== "" && (e.NODE_ENV !== "production" && H.call(this, ge), o.queueText(ye, ge));
        else if (Me != null)
          for (var Te = this.mountChildren(Me, de, Ee), De = 0; De < Te.length; De++)
            o.queueChild(ye, Te[De]);
      }
    },
    /**
     * Receives a next element and updates the component.
     *
     * @internal
     * @param {ReactElement} nextElement
     * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction
     * @param {object} context
     */
    receiveComponent: function(de, he, Ee) {
      var ye = this._currentElement;
      this._currentElement = de, this.updateComponent(he, ye, de, Ee);
    },
    /**
     * Updates a DOM component after it has already been allocated and
     * attached to the DOM. Reconciles the root DOM node, then recurses.
     *
     * @param {ReactReconcileTransaction} transaction
     * @param {ReactElement} prevElement
     * @param {ReactElement} nextElement
     * @internal
     * @overridable
     */
    updateComponent: function(de, he, Ee, ye) {
      var _e = he.props, ge = this._currentElement.props;
      switch (this._tag) {
        case "input":
          _e = N.getHostProps(this, _e), ge = N.getHostProps(this, ge);
          break;
        case "option":
          _e = F.getHostProps(this, _e), ge = F.getHostProps(this, ge);
          break;
        case "select":
          _e = z.getHostProps(this, _e), ge = z.getHostProps(this, ge);
          break;
        case "textarea":
          _e = A.getHostProps(this, _e), ge = A.getHostProps(this, ge);
          break;
      }
      switch (W(this, ge), this._updateDOMProperties(_e, ge, de), this._updateDOMChildren(_e, ge, de, ye), this._tag) {
        case "input":
          N.updateWrapper(this), d.updateValueIfChanged(this);
          break;
        case "textarea":
          A.updateWrapper(this);
          break;
        case "select":
          de.getReactMountReady().enqueue(J, this);
          break;
      }
    },
    /**
     * Reconciles the properties by detecting differences in property values and
     * updating the DOM as necessary. This function is probably the single most
     * critical path for performance optimization.
     *
     * TODO: Benchmark whether checking for changed values in memory actually
     *       improves performance (especially statically positioned elements).
     * TODO: Benchmark the effects of putting this at the top since 99% of props
     *       do not change for a given reconciliation.
     * TODO: Benchmark areas that can be improved with caching.
     *
     * @private
     * @param {object} lastProps
     * @param {object} nextProps
     * @param {?DOMElement} node
     */
    _updateDOMProperties: function(de, he, Ee) {
      var ye, _e, ge;
      for (ye in de)
        if (!(he.hasOwnProperty(ye) || !de.hasOwnProperty(ye) || de[ye] == null))
          if (ye === I) {
            var Me = this._previousStyleCopy;
            for (_e in Me)
              Me.hasOwnProperty(_e) && (ge = ge || {}, ge[_e] = "");
            this._previousStyleCopy = null;
          } else w.hasOwnProperty(ye) ? de[ye] && v(this, ye) : ae(this._tag, de) ? R.hasOwnProperty(ye) || g.deleteValueForAttribute(O(this), ye) : (c.properties[ye] || c.isCustomAttribute(ye)) && g.deleteValueForProperty(O(this), ye);
      for (ye in he) {
        var Te = he[ye], De = ye === I ? this._previousStyleCopy : de != null ? de[ye] : void 0;
        if (!(!he.hasOwnProperty(ye) || Te === De || Te == null && De == null)) {
          if (ye === I)
            if (Te ? (e.NODE_ENV !== "production" && (U(this._previousStyleCopy, this._previousStyle, this), this._previousStyle = Te), Te = this._previousStyleCopy = r({}, Te)) : this._previousStyleCopy = null, De) {
              for (_e in De)
                De.hasOwnProperty(_e) && (!Te || !Te.hasOwnProperty(_e)) && (ge = ge || {}, ge[_e] = "");
              for (_e in Te)
                Te.hasOwnProperty(_e) && De[_e] !== Te[_e] && (ge = ge || {}, ge[_e] = Te[_e]);
            } else
              ge = Te;
          else if (w.hasOwnProperty(ye))
            Te ? $(this, ye, Te, Ee) : De && v(this, ye);
          else if (ae(this._tag, he))
            R.hasOwnProperty(ye) || g.setValueForAttribute(O(this), ye, Te);
          else if (c.properties[ye] || c.isCustomAttribute(ye)) {
            var oe = O(this);
            Te != null ? g.setValueForProperty(oe, ye, Te) : g.deleteValueForProperty(oe, ye);
          }
        }
      }
      ge && i.setValueForStyles(O(this), ge, this);
    },
    /**
     * Reconciles the children with the various properties that affect the
     * children content.
     *
     * @param {object} lastProps
     * @param {object} nextProps
     * @param {ReactReconcileTransaction} transaction
     * @param {object} context
     */
    _updateDOMChildren: function(de, he, Ee, ye) {
      var _e = P[typeof de.children] ? de.children : null, ge = P[typeof he.children] ? he.children : null, Me = de.dangerouslySetInnerHTML && de.dangerouslySetInnerHTML.__html, Te = he.dangerouslySetInnerHTML && he.dangerouslySetInnerHTML.__html, De = _e != null ? null : de.children, oe = ge != null ? null : he.children, se = _e != null || Me != null, fe = ge != null || Te != null;
      De != null && oe == null ? this.updateChildren(null, Ee, ye) : se && !fe && (this.updateTextContent(""), e.NODE_ENV !== "production" && u.debugTool.onSetChildren(this._debugID, [])), ge != null ? _e !== ge && (this.updateTextContent("" + ge), e.NODE_ENV !== "production" && H.call(this, ge)) : Te != null ? (Me !== Te && this.updateMarkup("" + Te), e.NODE_ENV !== "production" && u.debugTool.onSetChildren(this._debugID, [])) : oe != null && (e.NODE_ENV !== "production" && H.call(this, null), this.updateChildren(oe, Ee, ye));
    },
    getHostNode: function() {
      return O(this);
    },
    /**
     * Destroys all event registrations for this instance. Does not remove from
     * the DOM. That must be done by the parent.
     *
     * @internal
     */
    unmountComponent: function(de) {
      switch (this._tag) {
        case "audio":
        case "form":
        case "iframe":
        case "img":
        case "link":
        case "object":
        case "source":
        case "video":
          var he = this._wrapperState.listeners;
          if (he)
            for (var Ee = 0; Ee < he.length; Ee++)
              he[Ee].remove();
          break;
        case "input":
        case "textarea":
          d.stopTracking(this);
          break;
        case "html":
        case "head":
        case "body":
          e.NODE_ENV !== "production" ? f(!1, "<%s> tried to unmount. Because of cross-browser quirks it is impossible to unmount some top-level components (eg <html>, <head>, and <body>) reliably and efficiently. To fix this, have a single top-level component that never unmounts render these elements.", this._tag) : t("66", this._tag);
          break;
      }
      this.unmountChildren(de), M.uncacheNode(this), y.deleteAllListeners(this), this._rootNodeID = 0, this._domID = 0, this._wrapperState = null, e.NODE_ENV !== "production" && H.call(this, null);
    },
    getPublicInstance: function() {
      return O(this);
    }
  }, r(pe.prototype, pe.Mixin, a.Mixin), MO = pe, MO;
}
var NO, a3;
function Boe() {
  if (a3) return NO;
  a3 = 1;
  var e = sr(), t = kl(), r = Er(), n = function(i) {
    this._currentElement = null, this._hostNode = null, this._hostParent = null, this._hostContainerInfo = null, this._domID = 0;
  };
  return e(n.prototype, {
    mountComponent: function(i, o, l, c) {
      var g = l._idCounter++;
      this._domID = g, this._hostParent = o, this._hostContainerInfo = l;
      var y = " react-empty: " + this._domID + " ";
      if (i.useCreateElement) {
        var C = l._ownerDocument, D = C.createComment(y);
        return r.precacheNode(this, D), t(D);
      } else
        return i.renderToStaticMarkup ? "" : "<!--" + y + "-->";
    },
    receiveComponent: function() {
    },
    getHostNode: function() {
      return r.getNodeFromInstance(this);
    },
    unmountComponent: function() {
      r.uncacheNode(this);
    }
  }), NO = n, NO;
}
var IO, o3;
function Woe() {
  if (o3) return IO;
  o3 = 1;
  var e = {}, t = Bt(), r = yt();
  function n(g, y) {
    "_hostNode" in g || (e.NODE_ENV !== "production" ? r(!1, "getNodeFromInstance: Invalid argument.") : t("33")), "_hostNode" in y || (e.NODE_ENV !== "production" ? r(!1, "getNodeFromInstance: Invalid argument.") : t("33"));
    for (var C = 0, D = g; D; D = D._hostParent)
      C++;
    for (var x = 0, M = y; M; M = M._hostParent)
      x++;
    for (; C - x > 0; )
      g = g._hostParent, C--;
    for (; x - C > 0; )
      y = y._hostParent, x--;
    for (var N = C; N--; ) {
      if (g === y)
        return g;
      g = g._hostParent, y = y._hostParent;
    }
    return null;
  }
  function i(g, y) {
    for (("_hostNode" in g) || (e.NODE_ENV !== "production" ? r(!1, "isAncestor: Invalid argument.") : t("35")), ("_hostNode" in y) || (e.NODE_ENV !== "production" ? r(!1, "isAncestor: Invalid argument.") : t("35")); y; ) {
      if (y === g)
        return !0;
      y = y._hostParent;
    }
    return !1;
  }
  function o(g) {
    return "_hostNode" in g || (e.NODE_ENV !== "production" ? r(!1, "getParentInstance: Invalid argument.") : t("36")), g._hostParent;
  }
  function l(g, y, C) {
    for (var D = []; g; )
      D.push(g), g = g._hostParent;
    var x;
    for (x = D.length; x-- > 0; )
      y(D[x], "captured", C);
    for (x = 0; x < D.length; x++)
      y(D[x], "bubbled", C);
  }
  function c(g, y, C, D, x) {
    for (var M = g && y ? n(g, y) : null, N = []; g && g !== M; )
      N.push(g), g = g._hostParent;
    for (var F = []; y && y !== M; )
      F.push(y), y = y._hostParent;
    var z;
    for (z = 0; z < N.length; z++)
      C(N[z], "bubbled", D);
    for (z = F.length; z-- > 0; )
      C(F[z], "captured", x);
  }
  return IO = {
    isAncestor: i,
    getLowestCommonAncestor: n,
    getParentInstance: o,
    traverseTwoPhase: l,
    traverseEnterLeave: c
  }, IO;
}
var FO, s3;
function $oe() {
  if (s3) return FO;
  s3 = 1;
  var e = {}, t = Bt(), r = sr(), n = mP(), i = kl(), o = Er(), l = Py(), c = yt(), g = SP(), y = function(C) {
    this._currentElement = C, this._stringText = "" + C, this._hostNode = null, this._hostParent = null, this._domID = 0, this._mountIndex = 0, this._closingComment = null, this._commentNodes = null;
  };
  return r(y.prototype, {
    /**
     * Creates the markup for this text node. This node is not intended to have
     * any features besides containing text content.
     *
     * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction
     * @return {string} Markup for this text node.
     * @internal
     */
    mountComponent: function(C, D, x, M) {
      if (e.NODE_ENV !== "production") {
        var N;
        D != null ? N = D._ancestorInfo : x != null && (N = x._ancestorInfo), N && g(null, this._stringText, this, N);
      }
      var F = x._idCounter++, z = " react-text: " + F + " ", A = " /react-text ";
      if (this._domID = F, this._hostParent = D, C.useCreateElement) {
        var u = x._ownerDocument, a = u.createComment(z), s = u.createComment(A), h = i(u.createDocumentFragment());
        return i.queueChild(h, i(a)), this._stringText && i.queueChild(h, i(u.createTextNode(this._stringText))), i.queueChild(h, i(s)), o.precacheNode(this, a), this._closingComment = s, h;
      } else {
        var E = l(this._stringText);
        return C.renderToStaticMarkup ? E : "<!--" + z + "-->" + E + "<!--" + A + "-->";
      }
    },
    /**
     * Updates this component by updating the text content.
     *
     * @param {ReactText} nextText The next text content
     * @param {ReactReconcileTransaction} transaction
     * @internal
     */
    receiveComponent: function(C, D) {
      if (C !== this._currentElement) {
        this._currentElement = C;
        var x = "" + C;
        if (x !== this._stringText) {
          this._stringText = x;
          var M = this.getHostNode();
          n.replaceDelimitedText(M[0], M[1], x);
        }
      }
    },
    getHostNode: function() {
      var C = this._commentNodes;
      if (C)
        return C;
      if (!this._closingComment)
        for (var D = o.getNodeFromInstance(this), x = D.nextSibling; ; ) {
          if (x == null && (e.NODE_ENV !== "production" ? c(!1, "Missing closing comment for text component %s", this._domID) : t("67", this._domID)), x.nodeType === 8 && x.nodeValue === " /react-text ") {
            this._closingComment = x;
            break;
          }
          x = x.nextSibling;
        }
      return C = [this._hostNode, this._closingComment], this._commentNodes = C, C;
    },
    unmountComponent: function() {
      this._closingComment = null, this._commentNodes = null, o.uncacheNode(this);
    }
  }), FO = y, FO;
}
var LO, u3;
function Voe() {
  if (u3) return LO;
  u3 = 1;
  var e = sr(), t = Pa(), r = xy(), n = Aa(), i = {
    initialize: n,
    close: function() {
      y.isBatchingUpdates = !1;
    }
  }, o = {
    initialize: n,
    close: t.flushBatchedUpdates.bind(t)
  }, l = [o, i];
  function c() {
    this.reinitializeTransaction();
  }
  e(c.prototype, r, {
    getTransactionWrappers: function() {
      return l;
    }
  });
  var g = new c(), y = {
    isBatchingUpdates: !1,
    /**
     * Call the provided function in a context within which calls to `setState`
     * and friends are batched such that components aren't updated unnecessarily.
     */
    batchedUpdates: function(C, D, x, M, N, F) {
      var z = y.isBatchingUpdates;
      return y.isBatchingUpdates = !0, z ? C(D, x, M, N, F) : g.perform(C, null, D, x, M, N, F);
    }
  };
  return LO = y, LO;
}
var jO, l3;
function _7() {
  if (l3) return jO;
  l3 = 1;
  var e = {}, t = Aa(), r = {
    /**
     * Listen to DOM events during the bubble phase.
     *
     * @param {DOMEventTarget} target DOM element to register listener on.
     * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.
     * @param {function} callback Callback function.
     * @return {object} Object with a `remove` method.
     */
    listen: function(i, o, l) {
      if (i.addEventListener)
        return i.addEventListener(o, l, !1), {
          remove: function() {
            i.removeEventListener(o, l, !1);
          }
        };
      if (i.attachEvent)
        return i.attachEvent("on" + o, l), {
          remove: function() {
            i.detachEvent("on" + o, l);
          }
        };
    },
    /**
     * Listen to DOM events during the capture phase.
     *
     * @param {DOMEventTarget} target DOM element to register listener on.
     * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.
     * @param {function} callback Callback function.
     * @return {object} Object with a `remove` method.
     */
    capture: function(i, o, l) {
      return i.addEventListener ? (i.addEventListener(o, l, !0), {
        remove: function() {
          i.removeEventListener(o, l, !0);
        }
      }) : (e.NODE_ENV !== "production" && console.error("Attempted to listen to events during the capture phase on a browser that does not support the capture phase. Your application will not receive some events."), {
        remove: t
      });
    },
    registerDefault: function() {
    }
  };
  return jO = r, jO;
}
var UO, c3;
function Hoe() {
  if (c3) return UO;
  c3 = 1;
  function e(t) {
    return t.Window && t instanceof t.Window ? {
      x: t.pageXOffset || t.document.documentElement.scrollLeft,
      y: t.pageYOffset || t.document.documentElement.scrollTop
    } : {
      x: t.scrollLeft,
      y: t.scrollTop
    };
  }
  return UO = e, UO;
}
var qO, f3;
function Yoe() {
  if (f3) return qO;
  f3 = 1;
  var e = sr(), t = _7(), r = Yr(), n = Xs(), i = Er(), o = Pa(), l = cP(), c = Hoe();
  function g(M) {
    for (; M._hostParent; )
      M = M._hostParent;
    var N = i.getNodeFromInstance(M), F = N.parentNode;
    return i.getClosestInstanceFromNode(F);
  }
  function y(M, N) {
    this.topLevelType = M, this.nativeEvent = N, this.ancestors = [];
  }
  e(y.prototype, {
    destructor: function() {
      this.topLevelType = null, this.nativeEvent = null, this.ancestors.length = 0;
    }
  }), n.addPoolingTo(y, n.twoArgumentPooler);
  function C(M) {
    var N = l(M.nativeEvent), F = i.getClosestInstanceFromNode(N), z = F;
    do
      M.ancestors.push(z), z = z && g(z);
    while (z);
    for (var A = 0; A < M.ancestors.length; A++)
      F = M.ancestors[A], x._handleTopLevel(M.topLevelType, F, M.nativeEvent, l(M.nativeEvent));
  }
  function D(M) {
    var N = c(window);
    M(N);
  }
  var x = {
    _enabled: !0,
    _handleTopLevel: null,
    WINDOW_HANDLE: r.canUseDOM ? window : null,
    setHandleTopLevel: function(M) {
      x._handleTopLevel = M;
    },
    setEnabled: function(M) {
      x._enabled = !!M;
    },
    isEnabled: function() {
      return x._enabled;
    },
    /**
     * Traps top-level events by using event bubbling.
     *
     * @param {string} topLevelType Record from `EventConstants`.
     * @param {string} handlerBaseName Event name (e.g. "click").
     * @param {object} element Element on which to attach listener.
     * @return {?object} An object with a remove function which will forcefully
     *                  remove the listener.
     * @internal
     */
    trapBubbledEvent: function(M, N, F) {
      return F ? t.listen(F, N, x.dispatchEvent.bind(null, M)) : null;
    },
    /**
     * Traps a top-level event by using event capturing.
     *
     * @param {string} topLevelType Record from `EventConstants`.
     * @param {string} handlerBaseName Event name (e.g. "click").
     * @param {object} element Element on which to attach listener.
     * @return {?object} An object with a remove function which will forcefully
     *                  remove the listener.
     * @internal
     */
    trapCapturedEvent: function(M, N, F) {
      return F ? t.capture(F, N, x.dispatchEvent.bind(null, M)) : null;
    },
    monitorScrollValue: function(M) {
      var N = D.bind(null, M);
      t.listen(window, "scroll", N);
    },
    dispatchEvent: function(M, N) {
      if (x._enabled) {
        var F = y.getPooled(M, N);
        try {
          o.batchedUpdates(C, F);
        } finally {
          y.release(F);
        }
      }
    }
  };
  return qO = x, qO;
}
var zO, d3;
function Goe() {
  if (d3) return zO;
  d3 = 1;
  var e = Yo(), t = fd(), r = lP(), n = gP(), i = v7(), o = ky(), l = g7(), c = Pa(), g = {
    Component: n.injection,
    DOMProperty: e.injection,
    EmptyComponent: i.injection,
    EventPluginHub: t.injection,
    EventPluginUtils: r.injection,
    EventEmitter: o.injection,
    HostComponent: l.injection,
    Updates: c.injection
  };
  return zO = g, zO;
}
var BO, p3;
function Koe() {
  if (p3) return BO;
  p3 = 1;
  function e(n) {
    for (; n && n.firstChild; )
      n = n.firstChild;
    return n;
  }
  function t(n) {
    for (; n; ) {
      if (n.nextSibling)
        return n.nextSibling;
      n = n.parentNode;
    }
  }
  function r(n, i) {
    for (var o = e(n), l = 0, c = 0; o; ) {
      if (o.nodeType === 3) {
        if (c = l + o.textContent.length, l <= i && c >= i)
          return {
            node: o,
            offset: i - l
          };
        l = c;
      }
      o = e(t(o));
    }
  }
  return BO = r, BO;
}
var WO, h3;
function Xoe() {
  if (h3) return WO;
  h3 = 1;
  var e = Yr(), t = Koe(), r = n7();
  function n(C, D, x, M) {
    return C === x && D === M;
  }
  function i(C) {
    var D = document.selection, x = D.createRange(), M = x.text.length, N = x.duplicate();
    N.moveToElementText(C), N.setEndPoint("EndToStart", x);
    var F = N.text.length, z = F + M;
    return {
      start: F,
      end: z
    };
  }
  function o(C) {
    var D = window.getSelection && window.getSelection();
    if (!D || D.rangeCount === 0)
      return null;
    var x = D.anchorNode, M = D.anchorOffset, N = D.focusNode, F = D.focusOffset, z = D.getRangeAt(0);
    try {
      z.startContainer.nodeType, z.endContainer.nodeType;
    } catch {
      return null;
    }
    var A = n(D.anchorNode, D.anchorOffset, D.focusNode, D.focusOffset), u = A ? 0 : z.toString().length, a = z.cloneRange();
    a.selectNodeContents(C), a.setEnd(z.startContainer, z.startOffset);
    var s = n(a.startContainer, a.startOffset, a.endContainer, a.endOffset), h = s ? 0 : a.toString().length, E = h + u, f = document.createRange();
    f.setStart(x, M), f.setEnd(N, F);
    var S = f.collapsed;
    return {
      start: S ? E : h,
      end: S ? h : E
    };
  }
  function l(C, D) {
    var x = document.selection.createRange().duplicate(), M, N;
    D.end === void 0 ? (M = D.start, N = M) : D.start > D.end ? (M = D.end, N = D.start) : (M = D.start, N = D.end), x.moveToElementText(C), x.moveStart("character", M), x.setEndPoint("EndToStart", x), x.moveEnd("character", N - M), x.select();
  }
  function c(C, D) {
    if (window.getSelection) {
      var x = window.getSelection(), M = C[r()].length, N = Math.min(D.start, M), F = D.end === void 0 ? N : Math.min(D.end, M);
      if (!x.extend && N > F) {
        var z = F;
        F = N, N = z;
      }
      var A = t(C, N), u = t(C, F);
      if (A && u) {
        var a = document.createRange();
        a.setStart(A.node, A.offset), x.removeAllRanges(), N > F ? (x.addRange(a), x.extend(u.node, u.offset)) : (a.setEnd(u.node, u.offset), x.addRange(a));
      }
    }
  }
  var g = e.canUseDOM && "selection" in document && !("getSelection" in window), y = {
    /**
     * @param {DOMElement} node
     */
    getOffsets: g ? i : o,
    /**
     * @param {DOMElement|DOMTextNode} node
     * @param {object} offsets
     */
    setOffsets: g ? l : c
  };
  return WO = y, WO;
}
var $O, m3;
function Qoe() {
  if (m3) return $O;
  m3 = 1;
  function e(t) {
    var r = t ? t.ownerDocument || t : document, n = r.defaultView || window;
    return !!(t && (typeof n.Node == "function" ? t instanceof n.Node : typeof t == "object" && typeof t.nodeType == "number" && typeof t.nodeName == "string"));
  }
  return $O = e, $O;
}
var VO, v3;
function Zoe() {
  if (v3) return VO;
  v3 = 1;
  var e = Qoe();
  function t(r) {
    return e(r) && r.nodeType == 3;
  }
  return VO = t, VO;
}
var HO, g3;
function Joe() {
  if (g3) return HO;
  g3 = 1;
  var e = Zoe();
  function t(r, n) {
    return !r || !n ? !1 : r === n ? !0 : e(r) ? !1 : e(n) ? t(r, n.parentNode) : "contains" in r ? r.contains(n) : r.compareDocumentPosition ? !!(r.compareDocumentPosition(n) & 16) : !1;
  }
  return HO = t, HO;
}
var YO, y3;
function E7() {
  if (y3) return YO;
  y3 = 1;
  function e(t) {
    if (t = t || (typeof document < "u" ? document : void 0), typeof t > "u")
      return null;
    try {
      return t.activeElement || t.body;
    } catch {
      return t.body;
    }
  }
  return YO = e, YO;
}
var GO, b3;
function S7() {
  if (b3) return GO;
  b3 = 1;
  var e = Xoe(), t = Joe(), r = c7(), n = E7();
  function i(l) {
    return t(document.documentElement, l);
  }
  var o = {
    hasSelectionCapabilities: function(l) {
      var c = l && l.nodeName && l.nodeName.toLowerCase();
      return c && (c === "input" && l.type === "text" || c === "textarea" || l.contentEditable === "true");
    },
    getSelectionInformation: function() {
      var l = n();
      return {
        focusedElem: l,
        selectionRange: o.hasSelectionCapabilities(l) ? o.getSelection(l) : null
      };
    },
    /**
     * @restoreSelection: If any selection information was potentially lost,
     * restore it. This is useful when performing operations that could remove dom
     * nodes and place them back in, resulting in focus being lost.
     */
    restoreSelection: function(l) {
      var c = n(), g = l.focusedElem, y = l.selectionRange;
      c !== g && i(g) && (o.hasSelectionCapabilities(g) && o.setSelection(g, y), r(g));
    },
    /**
     * @getSelection: Gets the selection bounds of a focused textarea, input or
     * contentEditable node.
     * -@input: Look up selection bounds of this input
     * -@return {start: selectionStart, end: selectionEnd}
     */
    getSelection: function(l) {
      var c;
      if ("selectionStart" in l)
        c = {
          start: l.selectionStart,
          end: l.selectionEnd
        };
      else if (document.selection && l.nodeName && l.nodeName.toLowerCase() === "input") {
        var g = document.selection.createRange();
        g.parentElement() === l && (c = {
          start: -g.moveStart("character", -l.value.length),
          end: -g.moveEnd("character", -l.value.length)
        });
      } else
        c = e.getOffsets(l);
      return c || { start: 0, end: 0 };
    },
    /**
     * @setSelection: Sets the selection bounds of a textarea or input and focuses
     * the input.
     * -@input     Set selection bounds of this input or textarea
     * -@offsets   Object of same form that is returned from get*
     */
    setSelection: function(l, c) {
      var g = c.start, y = c.end;
      if (y === void 0 && (y = g), "selectionStart" in l)
        l.selectionStart = g, l.selectionEnd = Math.min(y, l.value.length);
      else if (document.selection && l.nodeName && l.nodeName.toLowerCase() === "input") {
        var C = l.createTextRange();
        C.collapse(!0), C.moveStart("character", g), C.moveEnd("character", y - g), C.select();
      } else
        e.setOffsets(l, c);
    }
  };
  return GO = o, GO;
}
var KO, _3;
function ese() {
  if (_3) return KO;
  _3 = 1;
  var e = {}, t = sr(), r = i7(), n = Xs(), i = ky(), o = S7(), l = Si(), c = xy(), g = EP(), y = {
    /**
     * @return {Selection} Selection information.
     */
    initialize: o.getSelectionInformation,
    /**
     * @param {Selection} sel Selection information returned from `initialize`.
     */
    close: o.restoreSelection
  }, C = {
    /**
     * @return {boolean} The enabled status of `ReactBrowserEventEmitter` before
     * the reconciliation.
     */
    initialize: function() {
      var F = i.isEnabled();
      return i.setEnabled(!1), F;
    },
    /**
     * @param {boolean} previouslyEnabled Enabled status of
     *   `ReactBrowserEventEmitter` before the reconciliation occurred. `close`
     *   restores the previous value.
     */
    close: function(F) {
      i.setEnabled(F);
    }
  }, D = {
    /**
     * Initializes the internal `onDOMReady` queue.
     */
    initialize: function() {
      this.reactMountReady.reset();
    },
    /**
     * After DOM is flushed, invoke all registered `onDOMReady` callbacks.
     */
    close: function() {
      this.reactMountReady.notifyAll();
    }
  }, x = [y, C, D];
  e.NODE_ENV !== "production" && x.push({
    initialize: l.debugTool.onBeginFlush,
    close: l.debugTool.onEndFlush
  });
  function M(F) {
    this.reinitializeTransaction(), this.renderToStaticMarkup = !1, this.reactMountReady = r.getPooled(null), this.useCreateElement = F;
  }
  var N = {
    /**
     * @see Transaction
     * @abstract
     * @final
     * @return {array<object>} List of operation wrap procedures.
     *   TODO: convert to array<TransactionWrapper>
     */
    getTransactionWrappers: function() {
      return x;
    },
    /**
     * @return {object} The queue to collect `onDOMReady` callbacks with.
     */
    getReactMountReady: function() {
      return this.reactMountReady;
    },
    /**
     * @return {object} The queue to collect React async events.
     */
    getUpdateQueue: function() {
      return g;
    },
    /**
     * Save current transaction state -- if the return value from this method is
     * passed to `rollback`, the transaction will be reset to that state.
     */
    checkpoint: function() {
      return this.reactMountReady.checkpoint();
    },
    rollback: function(F) {
      this.reactMountReady.rollback(F);
    },
    /**
     * `PooledClass` looks for this, and will invoke this before allowing this
     * instance to be reused.
     */
    destructor: function() {
      r.release(this.reactMountReady), this.reactMountReady = null;
    }
  };
  return t(M.prototype, c, N), n.addPoolingTo(M), KO = M, KO;
}
var XO, E3;
function tse() {
  if (E3) return XO;
  E3 = 1;
  var e = {
    xlink: "http://www.w3.org/1999/xlink",
    xml: "http://www.w3.org/XML/1998/namespace"
  }, t = {
    accentHeight: "accent-height",
    accumulate: 0,
    additive: 0,
    alignmentBaseline: "alignment-baseline",
    allowReorder: "allowReorder",
    alphabetic: 0,
    amplitude: 0,
    arabicForm: "arabic-form",
    ascent: 0,
    attributeName: "attributeName",
    attributeType: "attributeType",
    autoReverse: "autoReverse",
    azimuth: 0,
    baseFrequency: "baseFrequency",
    baseProfile: "baseProfile",
    baselineShift: "baseline-shift",
    bbox: 0,
    begin: 0,
    bias: 0,
    by: 0,
    calcMode: "calcMode",
    capHeight: "cap-height",
    clip: 0,
    clipPath: "clip-path",
    clipRule: "clip-rule",
    clipPathUnits: "clipPathUnits",
    colorInterpolation: "color-interpolation",
    colorInterpolationFilters: "color-interpolation-filters",
    colorProfile: "color-profile",
    colorRendering: "color-rendering",
    contentScriptType: "contentScriptType",
    contentStyleType: "contentStyleType",
    cursor: 0,
    cx: 0,
    cy: 0,
    d: 0,
    decelerate: 0,
    descent: 0,
    diffuseConstant: "diffuseConstant",
    direction: 0,
    display: 0,
    divisor: 0,
    dominantBaseline: "dominant-baseline",
    dur: 0,
    dx: 0,
    dy: 0,
    edgeMode: "edgeMode",
    elevation: 0,
    enableBackground: "enable-background",
    end: 0,
    exponent: 0,
    externalResourcesRequired: "externalResourcesRequired",
    fill: 0,
    fillOpacity: "fill-opacity",
    fillRule: "fill-rule",
    filter: 0,
    filterRes: "filterRes",
    filterUnits: "filterUnits",
    floodColor: "flood-color",
    floodOpacity: "flood-opacity",
    focusable: 0,
    fontFamily: "font-family",
    fontSize: "font-size",
    fontSizeAdjust: "font-size-adjust",
    fontStretch: "font-stretch",
    fontStyle: "font-style",
    fontVariant: "font-variant",
    fontWeight: "font-weight",
    format: 0,
    from: 0,
    fx: 0,
    fy: 0,
    g1: 0,
    g2: 0,
    glyphName: "glyph-name",
    glyphOrientationHorizontal: "glyph-orientation-horizontal",
    glyphOrientationVertical: "glyph-orientation-vertical",
    glyphRef: "glyphRef",
    gradientTransform: "gradientTransform",
    gradientUnits: "gradientUnits",
    hanging: 0,
    horizAdvX: "horiz-adv-x",
    horizOriginX: "horiz-origin-x",
    ideographic: 0,
    imageRendering: "image-rendering",
    in: 0,
    in2: 0,
    intercept: 0,
    k: 0,
    k1: 0,
    k2: 0,
    k3: 0,
    k4: 0,
    kernelMatrix: "kernelMatrix",
    kernelUnitLength: "kernelUnitLength",
    kerning: 0,
    keyPoints: "keyPoints",
    keySplines: "keySplines",
    keyTimes: "keyTimes",
    lengthAdjust: "lengthAdjust",
    letterSpacing: "letter-spacing",
    lightingColor: "lighting-color",
    limitingConeAngle: "limitingConeAngle",
    local: 0,
    markerEnd: "marker-end",
    markerMid: "marker-mid",
    markerStart: "marker-start",
    markerHeight: "markerHeight",
    markerUnits: "markerUnits",
    markerWidth: "markerWidth",
    mask: 0,
    maskContentUnits: "maskContentUnits",
    maskUnits: "maskUnits",
    mathematical: 0,
    mode: 0,
    numOctaves: "numOctaves",
    offset: 0,
    opacity: 0,
    operator: 0,
    order: 0,
    orient: 0,
    orientation: 0,
    origin: 0,
    overflow: 0,
    overlinePosition: "overline-position",
    overlineThickness: "overline-thickness",
    paintOrder: "paint-order",
    panose1: "panose-1",
    pathLength: "pathLength",
    patternContentUnits: "patternContentUnits",
    patternTransform: "patternTransform",
    patternUnits: "patternUnits",
    pointerEvents: "pointer-events",
    points: 0,
    pointsAtX: "pointsAtX",
    pointsAtY: "pointsAtY",
    pointsAtZ: "pointsAtZ",
    preserveAlpha: "preserveAlpha",
    preserveAspectRatio: "preserveAspectRatio",
    primitiveUnits: "primitiveUnits",
    r: 0,
    radius: 0,
    refX: "refX",
    refY: "refY",
    renderingIntent: "rendering-intent",
    repeatCount: "repeatCount",
    repeatDur: "repeatDur",
    requiredExtensions: "requiredExtensions",
    requiredFeatures: "requiredFeatures",
    restart: 0,
    result: 0,
    rotate: 0,
    rx: 0,
    ry: 0,
    scale: 0,
    seed: 0,
    shapeRendering: "shape-rendering",
    slope: 0,
    spacing: 0,
    specularConstant: "specularConstant",
    specularExponent: "specularExponent",
    speed: 0,
    spreadMethod: "spreadMethod",
    startOffset: "startOffset",
    stdDeviation: "stdDeviation",
    stemh: 0,
    stemv: 0,
    stitchTiles: "stitchTiles",
    stopColor: "stop-color",
    stopOpacity: "stop-opacity",
    strikethroughPosition: "strikethrough-position",
    strikethroughThickness: "strikethrough-thickness",
    string: 0,
    stroke: 0,
    strokeDasharray: "stroke-dasharray",
    strokeDashoffset: "stroke-dashoffset",
    strokeLinecap: "stroke-linecap",
    strokeLinejoin: "stroke-linejoin",
    strokeMiterlimit: "stroke-miterlimit",
    strokeOpacity: "stroke-opacity",
    strokeWidth: "stroke-width",
    surfaceScale: "surfaceScale",
    systemLanguage: "systemLanguage",
    tableValues: "tableValues",
    targetX: "targetX",
    targetY: "targetY",
    textAnchor: "text-anchor",
    textDecoration: "text-decoration",
    textRendering: "text-rendering",
    textLength: "textLength",
    to: 0,
    transform: 0,
    u1: 0,
    u2: 0,
    underlinePosition: "underline-position",
    underlineThickness: "underline-thickness",
    unicode: 0,
    unicodeBidi: "unicode-bidi",
    unicodeRange: "unicode-range",
    unitsPerEm: "units-per-em",
    vAlphabetic: "v-alphabetic",
    vHanging: "v-hanging",
    vIdeographic: "v-ideographic",
    vMathematical: "v-mathematical",
    values: 0,
    vectorEffect: "vector-effect",
    version: 0,
    vertAdvY: "vert-adv-y",
    vertOriginX: "vert-origin-x",
    vertOriginY: "vert-origin-y",
    viewBox: "viewBox",
    viewTarget: "viewTarget",
    visibility: 0,
    widths: 0,
    wordSpacing: "word-spacing",
    writingMode: "writing-mode",
    x: 0,
    xHeight: "x-height",
    x1: 0,
    x2: 0,
    xChannelSelector: "xChannelSelector",
    xlinkActuate: "xlink:actuate",
    xlinkArcrole: "xlink:arcrole",
    xlinkHref: "xlink:href",
    xlinkRole: "xlink:role",
    xlinkShow: "xlink:show",
    xlinkTitle: "xlink:title",
    xlinkType: "xlink:type",
    xmlBase: "xml:base",
    xmlns: 0,
    xmlnsXlink: "xmlns:xlink",
    xmlLang: "xml:lang",
    xmlSpace: "xml:space",
    y: 0,
    y1: 0,
    y2: 0,
    yChannelSelector: "yChannelSelector",
    z: 0,
    zoomAndPan: "zoomAndPan"
  }, r = {
    Properties: {},
    DOMAttributeNamespaces: {
      xlinkActuate: e.xlink,
      xlinkArcrole: e.xlink,
      xlinkHref: e.xlink,
      xlinkRole: e.xlink,
      xlinkShow: e.xlink,
      xlinkTitle: e.xlink,
      xlinkType: e.xlink,
      xmlBase: e.xml,
      xmlLang: e.xml,
      xmlSpace: e.xml
    },
    DOMAttributeNames: {}
  };
  return Object.keys(t).forEach(function(n) {
    r.Properties[n] = 0, t[n] && (r.DOMAttributeNames[n] = t[n]);
  }), XO = r, XO;
}
var QO, S3;
function rse() {
  if (S3) return QO;
  S3 = 1;
  var e = dd(), t = Yr(), r = Er(), n = S7(), i = so(), o = E7(), l = s7(), c = yP(), g = t.canUseDOM && "documentMode" in document && document.documentMode <= 11, y = {
    select: {
      phasedRegistrationNames: {
        bubbled: "onSelect",
        captured: "onSelectCapture"
      },
      dependencies: ["topBlur", "topContextMenu", "topFocus", "topKeyDown", "topKeyUp", "topMouseDown", "topMouseUp", "topSelectionChange"]
    }
  }, C = null, D = null, x = null, M = !1, N = !1;
  function F(u) {
    if ("selectionStart" in u && n.hasSelectionCapabilities(u))
      return {
        start: u.selectionStart,
        end: u.selectionEnd
      };
    if (window.getSelection) {
      var a = window.getSelection();
      return {
        anchorNode: a.anchorNode,
        anchorOffset: a.anchorOffset,
        focusNode: a.focusNode,
        focusOffset: a.focusOffset
      };
    } else if (document.selection) {
      var s = document.selection.createRange();
      return {
        parentElement: s.parentElement(),
        text: s.text,
        top: s.boundingTop,
        left: s.boundingLeft
      };
    }
  }
  function z(u, a) {
    if (M || C == null || C !== o())
      return null;
    var s = F(C);
    if (!x || !c(x, s)) {
      x = s;
      var h = i.getPooled(y.select, D, u, a);
      return h.type = "select", h.target = C, e.accumulateTwoPhaseDispatches(h), h;
    }
    return null;
  }
  var A = {
    eventTypes: y,
    extractEvents: function(u, a, s, h) {
      if (!N)
        return null;
      var E = a ? r.getNodeFromInstance(a) : window;
      switch (u) {
        case "topFocus":
          (l(E) || E.contentEditable === "true") && (C = E, D = a, x = null);
          break;
        case "topBlur":
          C = null, D = null, x = null;
          break;
        case "topMouseDown":
          M = !0;
          break;
        case "topContextMenu":
        case "topMouseUp":
          return M = !1, z(s, h);
        case "topSelectionChange":
          if (g)
            break;
        case "topKeyDown":
        case "topKeyUp":
          return z(s, h);
      }
      return null;
    },
    didPutListener: function(u, a, s) {
      a === "onSelect" && (N = !0);
    }
  };
  return QO = A, QO;
}
var ZO, w3;
function nse() {
  if (w3) return ZO;
  w3 = 1;
  var e = so(), t = {
    animationName: null,
    elapsedTime: null,
    pseudoElement: null
  };
  function r(n, i, o, l) {
    return e.call(this, n, i, o, l);
  }
  return e.augmentClass(r, t), ZO = r, ZO;
}
var JO, O3;
function ise() {
  if (O3) return JO;
  O3 = 1;
  var e = so(), t = {
    clipboardData: function(n) {
      return "clipboardData" in n ? n.clipboardData : window.clipboardData;
    }
  };
  function r(n, i, o, l) {
    return e.call(this, n, i, o, l);
  }
  return e.augmentClass(r, t), JO = r, JO;
}
var eT, T3;
function ase() {
  if (T3) return eT;
  T3 = 1;
  var e = pd(), t = {
    relatedTarget: null
  };
  function r(n, i, o, l) {
    return e.call(this, n, i, o, l);
  }
  return e.augmentClass(r, t), eT = r, eT;
}
var tT, C3;
function wP() {
  if (C3) return tT;
  C3 = 1;
  function e(t) {
    var r, n = t.keyCode;
    return "charCode" in t ? (r = t.charCode, r === 0 && n === 13 && (r = 13)) : r = n, r >= 32 || r === 13 ? r : 0;
  }
  return tT = e, tT;
}
var rT, x3;
function ose() {
  if (x3) return rT;
  x3 = 1;
  var e = wP(), t = {
    Esc: "Escape",
    Spacebar: " ",
    Left: "ArrowLeft",
    Up: "ArrowUp",
    Right: "ArrowRight",
    Down: "ArrowDown",
    Del: "Delete",
    Win: "OS",
    Menu: "ContextMenu",
    Apps: "ContextMenu",
    Scroll: "ScrollLock",
    MozPrintableKey: "Unidentified"
  }, r = {
    8: "Backspace",
    9: "Tab",
    12: "Clear",
    13: "Enter",
    16: "Shift",
    17: "Control",
    18: "Alt",
    19: "Pause",
    20: "CapsLock",
    27: "Escape",
    32: " ",
    33: "PageUp",
    34: "PageDown",
    35: "End",
    36: "Home",
    37: "ArrowLeft",
    38: "ArrowUp",
    39: "ArrowRight",
    40: "ArrowDown",
    45: "Insert",
    46: "Delete",
    112: "F1",
    113: "F2",
    114: "F3",
    115: "F4",
    116: "F5",
    117: "F6",
    118: "F7",
    119: "F8",
    120: "F9",
    121: "F10",
    122: "F11",
    123: "F12",
    144: "NumLock",
    145: "ScrollLock",
    224: "Meta"
  };
  function n(i) {
    if (i.key) {
      var o = t[i.key] || i.key;
      if (o !== "Unidentified")
        return o;
    }
    if (i.type === "keypress") {
      var l = e(i);
      return l === 13 ? "Enter" : String.fromCharCode(l);
    }
    return i.type === "keydown" || i.type === "keyup" ? r[i.keyCode] || "Unidentified" : "";
  }
  return rT = n, rT;
}
var nT, A3;
function sse() {
  if (A3) return nT;
  A3 = 1;
  var e = pd(), t = wP(), r = ose(), n = dP(), i = {
    key: r,
    location: null,
    ctrlKey: null,
    shiftKey: null,
    altKey: null,
    metaKey: null,
    repeat: null,
    locale: null,
    getModifierState: n,
    // Legacy Interface
    charCode: function(l) {
      return l.type === "keypress" ? t(l) : 0;
    },
    keyCode: function(l) {
      return l.type === "keydown" || l.type === "keyup" ? l.keyCode : 0;
    },
    which: function(l) {
      return l.type === "keypress" ? t(l) : l.type === "keydown" || l.type === "keyup" ? l.keyCode : 0;
    }
  };
  function o(l, c, g, y) {
    return e.call(this, l, c, g, y);
  }
  return e.augmentClass(o, i), nT = o, nT;
}
var iT, D3;
function use() {
  if (D3) return iT;
  D3 = 1;
  var e = Ay(), t = {
    dataTransfer: null
  };
  function r(n, i, o, l) {
    return e.call(this, n, i, o, l);
  }
  return e.augmentClass(r, t), iT = r, iT;
}
var aT, P3;
function lse() {
  if (P3) return aT;
  P3 = 1;
  var e = pd(), t = dP(), r = {
    touches: null,
    targetTouches: null,
    changedTouches: null,
    altKey: null,
    metaKey: null,
    ctrlKey: null,
    shiftKey: null,
    getModifierState: t
  };
  function n(i, o, l, c) {
    return e.call(this, i, o, l, c);
  }
  return e.augmentClass(n, r), aT = n, aT;
}
var oT, k3;
function cse() {
  if (k3) return oT;
  k3 = 1;
  var e = so(), t = {
    propertyName: null,
    elapsedTime: null,
    pseudoElement: null
  };
  function r(n, i, o, l) {
    return e.call(this, n, i, o, l);
  }
  return e.augmentClass(r, t), oT = r, oT;
}
var sT, R3;
function fse() {
  if (R3) return sT;
  R3 = 1;
  var e = Ay(), t = {
    deltaX: function(n) {
      return "deltaX" in n ? n.deltaX : (
        // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).
        "wheelDeltaX" in n ? -n.wheelDeltaX : 0
      );
    },
    deltaY: function(n) {
      return "deltaY" in n ? n.deltaY : (
        // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).
        "wheelDeltaY" in n ? -n.wheelDeltaY : (
          // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).
          "wheelDelta" in n ? -n.wheelDelta : 0
        )
      );
    },
    deltaZ: null,
    // Browsers without "deltaMode" is reporting in raw wheel delta where one
    // notch on the scroll is always +/- 120, roughly equivalent to pixels.
    // A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size or
    // ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size.
    deltaMode: null
  };
  function r(n, i, o, l) {
    return e.call(this, n, i, o, l);
  }
  return e.augmentClass(r, t), sT = r, sT;
}
var uT, M3;
function dse() {
  if (M3) return uT;
  M3 = 1;
  var e = {}, t = Bt(), r = _7(), n = dd(), i = Er(), o = nse(), l = ise(), c = so(), g = ase(), y = sse(), C = Ay(), D = use(), x = lse(), M = cse(), N = pd(), F = fse(), z = Aa(), A = wP(), u = yt(), a = {}, s = {};
  ["abort", "animationEnd", "animationIteration", "animationStart", "blur", "canPlay", "canPlayThrough", "click", "contextMenu", "copy", "cut", "doubleClick", "drag", "dragEnd", "dragEnter", "dragExit", "dragLeave", "dragOver", "dragStart", "drop", "durationChange", "emptied", "encrypted", "ended", "error", "focus", "input", "invalid", "keyDown", "keyPress", "keyUp", "load", "loadedData", "loadedMetadata", "loadStart", "mouseDown", "mouseMove", "mouseOut", "mouseOver", "mouseUp", "paste", "pause", "play", "playing", "progress", "rateChange", "reset", "scroll", "seeked", "seeking", "stalled", "submit", "suspend", "timeUpdate", "touchCancel", "touchEnd", "touchMove", "touchStart", "transitionEnd", "volumeChange", "waiting", "wheel"].forEach(function(_) {
    var d = _[0].toUpperCase() + _.slice(1), p = "on" + d, b = "top" + d, m = {
      phasedRegistrationNames: {
        bubbled: p,
        captured: p + "Capture"
      },
      dependencies: [b]
    };
    a[_] = m, s[b] = m;
  });
  var h = {};
  function E(_) {
    return "." + _._rootNodeID;
  }
  function f(_) {
    return _ === "button" || _ === "input" || _ === "select" || _ === "textarea";
  }
  var S = {
    eventTypes: a,
    extractEvents: function(_, d, p, b) {
      var m = s[_];
      if (!m)
        return null;
      var v;
      switch (_) {
        case "topAbort":
        case "topCanPlay":
        case "topCanPlayThrough":
        case "topDurationChange":
        case "topEmptied":
        case "topEncrypted":
        case "topEnded":
        case "topError":
        case "topInput":
        case "topInvalid":
        case "topLoad":
        case "topLoadedData":
        case "topLoadedMetadata":
        case "topLoadStart":
        case "topPause":
        case "topPlay":
        case "topPlaying":
        case "topProgress":
        case "topRateChange":
        case "topReset":
        case "topSeeked":
        case "topSeeking":
        case "topStalled":
        case "topSubmit":
        case "topSuspend":
        case "topTimeUpdate":
        case "topVolumeChange":
        case "topWaiting":
          v = c;
          break;
        case "topKeyPress":
          if (A(p) === 0)
            return null;
        case "topKeyDown":
        case "topKeyUp":
          v = y;
          break;
        case "topBlur":
        case "topFocus":
          v = g;
          break;
        case "topClick":
          if (p.button === 2)
            return null;
        case "topDoubleClick":
        case "topMouseDown":
        case "topMouseMove":
        case "topMouseUp":
        case "topMouseOut":
        case "topMouseOver":
        case "topContextMenu":
          v = C;
          break;
        case "topDrag":
        case "topDragEnd":
        case "topDragEnter":
        case "topDragExit":
        case "topDragLeave":
        case "topDragOver":
        case "topDragStart":
        case "topDrop":
          v = D;
          break;
        case "topTouchCancel":
        case "topTouchEnd":
        case "topTouchMove":
        case "topTouchStart":
          v = x;
          break;
        case "topAnimationEnd":
        case "topAnimationIteration":
        case "topAnimationStart":
          v = o;
          break;
        case "topTransitionEnd":
          v = M;
          break;
        case "topScroll":
          v = N;
          break;
        case "topWheel":
          v = F;
          break;
        case "topCopy":
        case "topCut":
        case "topPaste":
          v = l;
          break;
      }
      v || (e.NODE_ENV !== "production" ? u(!1, "SimpleEventPlugin: Unhandled event type, `%s`.", _) : t("86", _));
      var O = v.getPooled(m, d, p, b);
      return n.accumulateTwoPhaseDispatches(O), O;
    },
    didPutListener: function(_, d, p) {
      if (d === "onClick" && !f(_._tag)) {
        var b = E(_), m = i.getNodeFromInstance(_);
        h[b] || (h[b] = r.listen(m, "click", z));
      }
    },
    willDeleteListener: function(_, d) {
      if (d === "onClick" && !f(_._tag)) {
        var p = E(_);
        h[p].remove(), delete h[p];
      }
    }
  };
  return uT = S, uT;
}
var lT, N3;
function pse() {
  if (N3) return lT;
  N3 = 1;
  var e = Gae(), t = Zae(), r = ooe(), n = soe(), i = uoe(), o = loe(), l = moe(), c = zoe(), g = Er(), y = Boe(), C = Woe(), D = $oe(), x = Voe(), M = Yoe(), N = Goe(), F = ese(), z = tse(), A = rse(), u = dse(), a = !1;
  function s() {
    a || (a = !0, N.EventEmitter.injectReactEventListener(M), N.EventPluginHub.injectEventPluginOrder(n), N.EventPluginUtils.injectComponentTree(g), N.EventPluginUtils.injectTreeTraversal(C), N.EventPluginHub.injectEventPluginsByName({
      SimpleEventPlugin: u,
      EnterLeaveEventPlugin: i,
      ChangeEventPlugin: r,
      SelectEventPlugin: A,
      BeforeInputEventPlugin: t
    }), N.HostComponent.injectGenericComponentClass(c), N.HostComponent.injectTextComponentClass(D), N.DOMProperty.injectDOMPropertyConfig(e), N.DOMProperty.injectDOMPropertyConfig(o), N.DOMProperty.injectDOMPropertyConfig(z), N.EmptyComponent.injectEmptyComponentFactory(function(h) {
      return new y(h);
    }), N.Updates.injectReconcileTransaction(F), N.Updates.injectBatchingStrategy(x), N.Component.injectEnvironment(l));
  }
  return lT = {
    inject: s
  }, lT;
}
var cT, I3;
function hse() {
  if (I3) return cT;
  I3 = 1;
  var e = {}, t = SP(), r = 9;
  function n(i, o) {
    var l = {
      _topLevelWrapper: i,
      _idCounter: 1,
      _ownerDocument: o ? o.nodeType === r ? o : o.ownerDocument : null,
      _node: o,
      _tag: o ? o.nodeName.toLowerCase() : null,
      _namespaceURI: o ? o.namespaceURI : null
    };
    return e.NODE_ENV !== "production" && (l._ancestorInfo = o ? t.updatedAncestorInfo(null, l._tag, null) : null), l;
  }
  return cT = n, cT;
}
var fT, F3;
function mse() {
  if (F3) return fT;
  F3 = 1;
  var e = {
    useCreateElement: !0,
    useFiber: !1
  };
  return fT = e, fT;
}
var dT, L3;
function vse() {
  if (L3) return dT;
  L3 = 1;
  var e = 65521;
  function t(r) {
    for (var n = 1, i = 0, o = 0, l = r.length, c = l & -4; o < c; ) {
      for (var g = Math.min(o + 4096, c); o < g; o += 4)
        i += (n += r.charCodeAt(o)) + (n += r.charCodeAt(o + 1)) + (n += r.charCodeAt(o + 2)) + (n += r.charCodeAt(o + 3));
      n %= e, i %= e;
    }
    for (; o < l; o++)
      i += n += r.charCodeAt(o);
    return n %= e, i %= e, n | i << 16;
  }
  return dT = t, dT;
}
var pT, j3;
function gse() {
  if (j3) return pT;
  j3 = 1;
  var e = vse(), t = /\/?>/, r = /^<\!\-\-/, n = {
    CHECKSUM_ATTR_NAME: "data-react-checksum",
    /**
     * @param {string} markup Markup string
     * @return {string} Markup string with checksum attribute attached
     */
    addChecksumToMarkup: function(i) {
      var o = e(i);
      return r.test(i) ? i : i.replace(t, " " + n.CHECKSUM_ATTR_NAME + '="' + o + '"$&');
    },
    /**
     * @param {string} markup to use
     * @param {DOMElement} element root React element
     * @returns {boolean} whether or not the markup is the same
     */
    canReuseMarkup: function(i, o) {
      var l = o.getAttribute(n.CHECKSUM_ATTR_NAME);
      l = l && parseInt(l, 10);
      var c = e(i);
      return c === l;
    }
  };
  return pT = n, pT;
}
var hT, U3;
function w7() {
  if (U3) return hT;
  U3 = 1;
  var e = {}, t = Bt(), r = kl(), n = Yo(), i = xl(), o = ky(), l = Da(), c = Er(), g = hse(), y = mse(), C = a7(), D = hd(), x = Si(), M = gse(), N = Pl(), F = EP(), z = Pa(), A = $D(), u = y7(), a = yt(), s = Dy(), h = bP(), E = Ct(), f = n.ID_ATTRIBUTE_NAME, S = n.ROOT_ATTRIBUTE_NAME, _ = 1, d = 9, p = 11, b = {};
  function m($, V) {
    for (var G = Math.min($.length, V.length), X = 0; X < G; X++)
      if ($.charAt(X) !== V.charAt(X))
        return X;
    return $.length === V.length ? -1 : G;
  }
  function v($) {
    return $ ? $.nodeType === d ? $.documentElement : $.firstChild : null;
  }
  function O($) {
    return $.getAttribute && $.getAttribute(f) || "";
  }
  function T($, V, G, X, K) {
    var H;
    if (C.logTopLevelRenders) {
      var Y = $._currentElement.props.child, Q = Y.type;
      H = "React mount: " + (typeof Q == "string" ? Q : Q.displayName || Q.name), console.time(H);
    }
    var Z = N.mountComponent(
      $,
      G,
      null,
      g($, V),
      K,
      0
      /* parentDebugID */
    );
    H && console.timeEnd(H), $._renderedComponent._topLevelWrapper = $, W._mountImageIntoNode(Z, V, $, X, G);
  }
  function w($, V, G, X) {
    var K = z.ReactReconcileTransaction.getPooled(
      /* useCreateElement */
      !G && y.useCreateElement
    );
    K.perform(T, null, $, V, K, G, X), z.ReactReconcileTransaction.release(K);
  }
  function P($, V, G) {
    for (e.NODE_ENV !== "production" && x.debugTool.onBeginFlush(), N.unmountComponent($, G), e.NODE_ENV !== "production" && x.debugTool.onEndFlush(), V.nodeType === d && (V = V.documentElement); V.lastChild; )
      V.removeChild(V.lastChild);
  }
  function I($) {
    var V = v($);
    if (V) {
      var G = c.getInstanceFromNode(V);
      return !!(G && G._hostParent);
    }
  }
  function L($) {
    var V = v($);
    return !!(V && q(V) && !c.getInstanceFromNode(V));
  }
  function R($) {
    return !!($ && ($.nodeType === _ || $.nodeType === d || $.nodeType === p));
  }
  function q($) {
    return R($) && ($.hasAttribute(S) || $.hasAttribute(f));
  }
  function B($) {
    var V = v($), G = V && c.getInstanceFromNode(V);
    return G && !G._hostParent ? G : null;
  }
  function j($) {
    var V = B($);
    return V ? V._hostContainerInfo._topLevelWrapper : null;
  }
  var k = 1, U = function() {
    this.rootID = k++;
  };
  U.prototype.isReactComponent = {}, e.NODE_ENV !== "production" && (U.displayName = "TopLevelWrapper"), U.prototype.render = function() {
    return this.props.child;
  }, U.isReactTopLevelWrapper = !0;
  var W = {
    TopLevelWrapper: U,
    /**
     * Used by devtools. The keys are not important.
     */
    _instancesByReactRootID: b,
    /**
     * This is a hook provided to support rendering React components while
     * ensuring that the apparent scroll position of its `container` does not
     * change.
     *
     * @param {DOMElement} container The `container` being rendered into.
     * @param {function} renderCallback This must be called once to do the render.
     */
    scrollMonitor: function($, V) {
      V();
    },
    /**
     * Take a component that's already mounted into the DOM and replace its props
     * @param {ReactComponent} prevComponent component instance already in the DOM
     * @param {ReactElement} nextElement component instance to render
     * @param {DOMElement} container container to render into
     * @param {?function} callback function triggered on completion
     */
    _updateRootComponent: function($, V, G, X, K) {
      return W.scrollMonitor(X, function() {
        F.enqueueElementInternal($, V, G), K && F.enqueueCallbackInternal($, K);
      }), $;
    },
    /**
     * Render a new component into the DOM. Hooked by hooks!
     *
     * @param {ReactElement} nextElement element to render
     * @param {DOMElement} container container to render into
     * @param {boolean} shouldReuseMarkup if we should skip the markup insertion
     * @return {ReactComponent} nextComponent
     */
    _renderNewRootComponent: function($, V, G, X) {
      e.NODE_ENV !== "production" && E(l.current == null, "_renderNewRootComponent(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate. Check the render method of %s.", l.current && l.current.getName() || "ReactCompositeComponent"), R(V) || (e.NODE_ENV !== "production" ? a(!1, "_registerComponent(...): Target container is not a DOM element.") : t("37")), o.ensureScrollValueMonitoring();
      var K = u($, !1);
      z.batchedUpdates(w, K, V, G, X);
      var H = K._instance.rootID;
      return b[H] = K, K;
    },
    /**
     * Renders a React component into the DOM in the supplied `container`.
     *
     * If the React component was previously rendered into `container`, this will
     * perform an update on it and only mutate the DOM as necessary to reflect the
     * latest React component.
     *
     * @param {ReactComponent} parentComponent The conceptual parent of this render tree.
     * @param {ReactElement} nextElement Component element to render.
     * @param {DOMElement} container DOM element to render into.
     * @param {?function} callback function triggered on completion
     * @return {ReactComponent} Component instance rendered in `container`.
     */
    renderSubtreeIntoContainer: function($, V, G, X) {
      return $ != null && D.has($) || (e.NODE_ENV !== "production" ? a(!1, "parentComponent must be a valid React Component") : t("38")), W._renderSubtreeIntoContainer($, V, G, X);
    },
    _renderSubtreeIntoContainer: function($, V, G, X) {
      F.validateCallback(X, "ReactDOM.render"), i.isValidElement(V) || (e.NODE_ENV !== "production" ? a(!1, "ReactDOM.render(): Invalid component element.%s", typeof V == "string" ? " Instead of passing a string like 'div', pass React.createElement('div') or <div />." : typeof V == "function" ? " Instead of passing a class like Foo, pass React.createElement(Foo) or <Foo />." : (
        // Check if it quacks like an element
        V != null && V.props !== void 0 ? " This may be caused by unintentionally loading two independent copies of React." : ""
      )) : t("39", typeof V == "string" ? " Instead of passing a string like 'div', pass React.createElement('div') or <div />." : typeof V == "function" ? " Instead of passing a class like Foo, pass React.createElement(Foo) or <Foo />." : V != null && V.props !== void 0 ? " This may be caused by unintentionally loading two independent copies of React." : "")), e.NODE_ENV !== "production" && E(!G || !G.tagName || G.tagName.toUpperCase() !== "BODY", "render(): Rendering components directly into document.body is discouraged, since its children are often manipulated by third-party scripts and browser extensions. This may lead to subtle reconciliation issues. Try rendering into a container element created for your app.");
      var K = i.createElement(U, {
        child: V
      }), H;
      if ($) {
        var Y = D.get($);
        H = Y._processChildContext(Y._context);
      } else
        H = A;
      var Q = j(G);
      if (Q) {
        var Z = Q._currentElement, J = Z.props.child;
        if (h(J, V)) {
          var ne = Q._renderedComponent.getPublicInstance(), ie = X && function() {
            X.call(ne);
          };
          return W._updateRootComponent(Q, K, H, G, ie), ne;
        } else
          W.unmountComponentAtNode(G);
      }
      var re = v(G), ee = re && !!O(re), te = I(G);
      if (e.NODE_ENV !== "production" && (e.NODE_ENV !== "production" && E(!te, "render(...): Replacing React-rendered children with a new root component. If you intended to update the children of this node, you should instead have the existing children update their state and render the new components instead of calling ReactDOM.render."), !ee || re.nextSibling))
        for (var ue = re; ue; ) {
          if (O(ue)) {
            e.NODE_ENV !== "production" && E(!1, "render(): Target node has markup rendered by React, but there are unrelated nodes as well. This is most commonly caused by white-space inserted around server-rendered markup.");
            break;
          }
          ue = ue.nextSibling;
        }
      var le = ee && !Q && !te, ae = W._renderNewRootComponent(K, G, le, H)._renderedComponent.getPublicInstance();
      return X && X.call(ae), ae;
    },
    /**
     * Renders a React component into the DOM in the supplied `container`.
     * See https://facebook.github.io/react/docs/top-level-api.html#reactdom.render
     *
     * If the React component was previously rendered into `container`, this will
     * perform an update on it and only mutate the DOM as necessary to reflect the
     * latest React component.
     *
     * @param {ReactElement} nextElement Component element to render.
     * @param {DOMElement} container DOM element to render into.
     * @param {?function} callback function triggered on completion
     * @return {ReactComponent} Component instance rendered in `container`.
     */
    render: function($, V, G) {
      return W._renderSubtreeIntoContainer(null, $, V, G);
    },
    /**
     * Unmounts and destroys the React component rendered in the `container`.
     * See https://facebook.github.io/react/docs/top-level-api.html#reactdom.unmountcomponentatnode
     *
     * @param {DOMElement} container DOM element containing a React component.
     * @return {boolean} True if a component was found in and unmounted from
     *                   `container`
     */
    unmountComponentAtNode: function($) {
      e.NODE_ENV !== "production" && E(l.current == null, "unmountComponentAtNode(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate. Check the render method of %s.", l.current && l.current.getName() || "ReactCompositeComponent"), R($) || (e.NODE_ENV !== "production" ? a(!1, "unmountComponentAtNode(...): Target container is not a DOM element.") : t("40")), e.NODE_ENV !== "production" && e.NODE_ENV !== "production" && E(!L($), "unmountComponentAtNode(): The node you're attempting to unmount was rendered by another copy of React.");
      var V = j($);
      if (!V) {
        var G = I($), X = $.nodeType === 1 && $.hasAttribute(S);
        return e.NODE_ENV !== "production" && e.NODE_ENV !== "production" && E(!G, "unmountComponentAtNode(): The node you're attempting to unmount was rendered by React and is not a top-level container. %s", X ? "You may have accidentally passed in a React root node instead of its container." : "Instead, have the parent component update its state and rerender in order to remove this component."), !1;
      }
      return delete b[V._instance.rootID], z.batchedUpdates(P, V, $, !1), !0;
    },
    _mountImageIntoNode: function($, V, G, X, K) {
      if (R(V) || (e.NODE_ENV !== "production" ? a(!1, "mountComponentIntoNode(...): Target container is not valid.") : t("41")), X) {
        var H = v(V);
        if (M.canReuseMarkup($, H)) {
          c.precacheNode(G, H);
          return;
        } else {
          var Y = H.getAttribute(M.CHECKSUM_ATTR_NAME);
          H.removeAttribute(M.CHECKSUM_ATTR_NAME);
          var Q = H.outerHTML;
          H.setAttribute(M.CHECKSUM_ATTR_NAME, Y);
          var Z = $;
          if (e.NODE_ENV !== "production") {
            var J;
            V.nodeType === _ ? (J = document.createElement("div"), J.innerHTML = $, Z = J.innerHTML) : (J = document.createElement("iframe"), document.body.appendChild(J), J.contentDocument.write($), Z = J.contentDocument.documentElement.outerHTML, document.body.removeChild(J));
          }
          var ne = m(Z, Q), ie = " (client) " + Z.substring(ne - 20, ne + 20) + `
 (server) ` + Q.substring(ne - 20, ne + 20);
          V.nodeType === d && (e.NODE_ENV !== "production" ? a(!1, `You're trying to render a component to the document using server rendering but the checksum was invalid. This usually means you rendered a different component type or props on the client from the one on the server, or your render() methods are impure. React cannot handle this case due to cross-browser quirks by rendering at the document root. You should look for environment dependent code in your components and ensure the props are the same client and server side:
%s`, ie) : t("42", ie)), e.NODE_ENV !== "production" && e.NODE_ENV !== "production" && E(!1, `React attempted to reuse markup in a container but the checksum was invalid. This generally means that you are using server rendering and the markup generated on the server was not what the client was expecting. React injected new markup to compensate which works but you have lost many of the benefits of server rendering. Instead, figure out why the markup being generated is different on the client or server:
%s`, ie);
        }
      }
      if (V.nodeType === d && (e.NODE_ENV !== "production" ? a(!1, "You're trying to render a component to the document but you didn't use server rendering. We can't do this without using server rendering due to cross-browser quirks. See ReactDOMServer.renderToString() for server rendering.") : t("43")), K.useCreateElement) {
        for (; V.lastChild; )
          V.removeChild(V.lastChild);
        r.insertTreeBefore(V, $, null);
      } else
        s(V, $), c.precacheNode(G, V.firstChild);
      if (e.NODE_ENV !== "production") {
        var re = c.getInstanceFromNode(V.firstChild);
        re._debugID !== 0 && x.debugTool.onHostOperation({
          instanceID: re._debugID,
          type: "mount",
          payload: $.toString()
        });
      }
    }
  };
  return hT = W, hT;
}
var mT, q3;
function yse() {
  return q3 || (q3 = 1, mT = "15.6.2"), mT;
}
var vT, z3;
function O7() {
  if (z3) return vT;
  z3 = 1;
  var e = m7();
  function t(r) {
    for (var n; (n = r._renderedNodeType) === e.COMPOSITE; )
      r = r._renderedComponent;
    if (n === e.HOST)
      return r._renderedComponent;
    if (n === e.EMPTY)
      return null;
  }
  return vT = t, vT;
}
var gT, B3;
function bse() {
  if (B3) return gT;
  B3 = 1;
  var e = {}, t = Bt(), r = Da(), n = Er(), i = hd(), o = O7(), l = yt(), c = Ct();
  function g(y) {
    if (e.NODE_ENV !== "production") {
      var C = r.current;
      C !== null && (e.NODE_ENV !== "production" && c(C._warnedAboutRefsInRender, "%s is accessing findDOMNode inside its render(). render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.", C.getName() || "A component"), C._warnedAboutRefsInRender = !0);
    }
    if (y == null)
      return null;
    if (y.nodeType === 1)
      return y;
    var D = i.get(y);
    if (D)
      return D = o(D), D ? n.getNodeFromInstance(D) : null;
    typeof y.render == "function" ? e.NODE_ENV !== "production" ? l(!1, "findDOMNode was called on an unmounted component.") : t("44") : e.NODE_ENV !== "production" ? l(!1, "Element appears to be neither ReactComponent nor DOMNode (keys: %s)", Object.keys(y)) : t("45", Object.keys(y));
  }
  return gT = g, gT;
}
var yT, W3;
function _se() {
  if (W3) return yT;
  W3 = 1;
  var e = w7();
  return yT = e.renderSubtreeIntoContainer, yT;
}
var bT, $3;
function Ese() {
  if ($3) return bT;
  $3 = 1;
  var e = {}, t = Yo(), r = Cy(), n = Zn(), i = Ct();
  if (e.NODE_ENV !== "production")
    var o = {
      children: !0,
      dangerouslySetInnerHTML: !0,
      key: !0,
      ref: !0,
      autoFocus: !0,
      defaultValue: !0,
      valueLink: !0,
      defaultChecked: !0,
      checkedLink: !0,
      innerHTML: !0,
      suppressContentEditableWarning: !0,
      onFocusIn: !0,
      onFocusOut: !0
    }, l = {}, c = function(D, x, M) {
      if (t.properties.hasOwnProperty(x) || t.isCustomAttribute(x) || o.hasOwnProperty(x) && o[x] || l.hasOwnProperty(x) && l[x] || r.registrationNameModules.hasOwnProperty(x))
        return !0;
      l[x] = !0;
      var N = x.toLowerCase(), F = t.isCustomAttribute(N) ? N : t.getPossibleStandardName.hasOwnProperty(N) ? t.getPossibleStandardName[N] : null, z = r.possibleRegistrationNames.hasOwnProperty(N) ? r.possibleRegistrationNames[N] : null;
      return F != null ? (e.NODE_ENV !== "production" && i(!1, "Unknown DOM property %s. Did you mean %s?%s", x, F, n.getStackAddendumByID(M)), !0) : z != null ? (e.NODE_ENV !== "production" && i(!1, "Unknown event handler property %s. Did you mean `%s`?%s", x, z, n.getStackAddendumByID(M)), !0) : !1;
    };
  var g = function(D, x) {
    var M = [];
    for (var N in x.props) {
      var F = c(x.type, N, D);
      F || M.push(N);
    }
    var z = M.map(function(A) {
      return "`" + A + "`";
    }).join(", ");
    M.length === 1 ? e.NODE_ENV !== "production" && i(!1, "Unknown prop %s on <%s> tag. Remove this prop from the element. For details, see https://fb.me/react-unknown-prop%s", z, x.type, n.getStackAddendumByID(D)) : M.length > 1 && e.NODE_ENV !== "production" && i(!1, "Unknown props %s on <%s> tag. Remove these props from the element. For details, see https://fb.me/react-unknown-prop%s", z, x.type, n.getStackAddendumByID(D));
  };
  function y(D, x) {
    x == null || typeof x.type != "string" || x.type.indexOf("-") >= 0 || x.props.is || g(D, x);
  }
  var C = {
    onBeforeMountComponent: function(D, x) {
      y(D, x);
    },
    onBeforeUpdateComponent: function(D, x) {
      y(D, x);
    }
  };
  return bT = C, bT;
}
var _T, V3;
function Sse() {
  if (V3) return _T;
  V3 = 1;
  var e = {}, t = Zn(), r = Ct(), n = !1;
  function i(l, c) {
    c != null && (c.type !== "input" && c.type !== "textarea" && c.type !== "select" || c.props != null && c.props.value === null && !n && (e.NODE_ENV !== "production" && r(!1, "`value` prop on `%s` should not be null. Consider using the empty string to clear the component or `undefined` for uncontrolled components.%s", c.type, t.getStackAddendumByID(l)), n = !0));
  }
  var o = {
    onBeforeMountComponent: function(l, c) {
      i(l, c);
    },
    onBeforeUpdateComponent: function(l, c) {
      i(l, c);
    }
  };
  return _T = o, _T;
}
var ET, H3;
function wse() {
  if (H3) return ET;
  H3 = 1;
  var e = {}, t = Yo(), r = Zn(), n = Ct(), i = {}, o = new RegExp("^(aria)-[" + t.ATTRIBUTE_NAME_CHAR + "]*$");
  function l(C, D, x) {
    if (i.hasOwnProperty(D) && i[D])
      return !0;
    if (o.test(D)) {
      var M = D.toLowerCase(), N = t.getPossibleStandardName.hasOwnProperty(M) ? t.getPossibleStandardName[M] : null;
      if (N == null)
        return i[D] = !0, !1;
      if (D !== N)
        return e.NODE_ENV !== "production" && n(!1, "Unknown ARIA attribute %s. Did you mean %s?%s", D, N, r.getStackAddendumByID(x)), i[D] = !0, !0;
    }
    return !0;
  }
  function c(C, D) {
    var x = [];
    for (var M in D.props) {
      var N = l(D.type, M, C);
      N || x.push(M);
    }
    var F = x.map(function(z) {
      return "`" + z + "`";
    }).join(", ");
    x.length === 1 ? e.NODE_ENV !== "production" && n(!1, "Invalid aria prop %s on <%s> tag. For details, see https://fb.me/invalid-aria-prop%s", F, D.type, r.getStackAddendumByID(C)) : x.length > 1 && e.NODE_ENV !== "production" && n(!1, "Invalid aria props %s on <%s> tag. For details, see https://fb.me/invalid-aria-prop%s", F, D.type, r.getStackAddendumByID(C));
  }
  function g(C, D) {
    D == null || typeof D.type != "string" || D.type.indexOf("-") >= 0 || D.props.is || c(C, D);
  }
  var y = {
    onBeforeMountComponent: function(C, D) {
      e.NODE_ENV !== "production" && g(C, D);
    },
    onBeforeUpdateComponent: function(C, D) {
      e.NODE_ENV !== "production" && g(C, D);
    }
  };
  return ET = y, ET;
}
var ST, Y3;
function Ose() {
  if (Y3) return ST;
  Y3 = 1;
  var e = {}, t = Er(), r = pse(), n = w7(), i = Pl(), o = Pa(), l = yse(), c = bse(), g = O7(), y = _se(), C = Ct();
  r.inject();
  var D = {
    findDOMNode: c,
    render: n.render,
    unmountComponentAtNode: n.unmountComponentAtNode,
    version: l,
    /* eslint-disable camelcase */
    unstable_batchedUpdates: o.batchedUpdates,
    unstable_renderSubtreeIntoContainer: y
    /* eslint-enable camelcase */
  };
  if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.inject({
    ComponentTree: {
      getClosestInstanceFromNode: t.getClosestInstanceFromNode,
      getNodeFromInstance: function(E) {
        return E._renderedComponent && (E = g(E)), E ? t.getNodeFromInstance(E) : null;
      }
    },
    Mount: n,
    Reconciler: i
  }), e.NODE_ENV !== "production") {
    var x = Yr();
    if (x.canUseDOM && window.top === window.self) {
      if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ > "u" && (navigator.userAgent.indexOf("Chrome") > -1 && navigator.userAgent.indexOf("Edge") === -1 || navigator.userAgent.indexOf("Firefox") > -1)) {
        var M = window.location.protocol.indexOf("http") === -1 && navigator.userAgent.indexOf("Firefox") === -1;
        console.debug("Download the React DevTools " + (M ? "and use an HTTP server (instead of a file: URL) " : "") + "for a better development experience: https://fb.me/react-devtools");
      }
      var N = function() {
      };
      e.NODE_ENV !== "production" && C((N.name || N.toString()).indexOf("testFn") !== -1, "It looks like you're using a minified copy of the development build of React. When deploying React apps to production, make sure to use the production build which skips development warnings and is faster. See https://fb.me/react-minification for more details.");
      var F = document.documentMode && document.documentMode < 8;
      e.NODE_ENV !== "production" && C(!F, 'Internet Explorer is running in compatibility mode; please add the following tag to your HTML to prevent this from happening: <meta http-equiv="X-UA-Compatible" content="IE=edge" />');
      for (var z = [
        // shims
        Array.isArray,
        Array.prototype.every,
        Array.prototype.forEach,
        Array.prototype.indexOf,
        Array.prototype.map,
        Date.now,
        Function.prototype.bind,
        Object.keys,
        String.prototype.trim
      ], A = 0; A < z.length; A++)
        if (!z[A]) {
          e.NODE_ENV !== "production" && C(!1, "One or more ES5 shims expected by React are not available: https://fb.me/react-warning-polyfills");
          break;
        }
    }
  }
  if (e.NODE_ENV !== "production") {
    var u = Si(), a = Ese(), s = Sse(), h = wse();
    u.debugTool.addHook(a), u.debugTool.addHook(s), u.debugTool.addHook(h);
  }
  return ST = D, ST;
}
var wT, G3;
function T7() {
  return G3 || (G3 = 1, wT = Ose()), wT;
}
var Tp = { exports: {} }, Cp = { exports: {} }, OT = { exports: {} };
/*! tether 1.4.7 */
var K3;
function Tse() {
  return K3 || (K3 = 1, function(e, t) {
    (function(r, n) {
      e.exports = n();
    })(ba, function() {
      var N = /* @__PURE__ */ function() {
        function H(Y, Q) {
          for (var Z = 0; Z < Q.length; Z++) {
            var J = Q[Z];
            J.enumerable = J.enumerable || !1, J.configurable = !0, "value" in J && (J.writable = !0), Object.defineProperty(Y, J.key, J);
          }
        }
        return function(Y, Q, Z) {
          return Q && H(Y.prototype, Q), Z && H(Y, Z), Y;
        };
      }(), r = void 0;
      typeof r > "u" && (r = { modules: [] });
      var n = null;
      function i(H) {
        var Y = H.getBoundingClientRect(), Q = {};
        for (var Z in Y)
          Q[Z] = Y[Z];
        try {
          if (H.ownerDocument !== document) {
            var J = H.ownerDocument.defaultView.frameElement;
            if (J) {
              var ne = i(J);
              Q.top += ne.top, Q.bottom += ne.top, Q.left += ne.left, Q.right += ne.left;
            }
          }
        } catch {
        }
        return Q;
      }
      function u(H) {
        var Y = getComputedStyle(H) || {}, Q = Y.position, Z = [];
        if (Q === "fixed")
          return [H];
        for (var J = H; (J = J.parentNode) && J && J.nodeType === 1; ) {
          var ne = void 0;
          try {
            ne = getComputedStyle(J);
          } catch {
          }
          if (typeof ne > "u" || ne === null)
            return Z.push(J), Z;
          var ie = ne, re = ie.overflow, ee = ie.overflowX, te = ie.overflowY;
          /(auto|scroll|overlay)/.test(re + te + ee) && (Q !== "absolute" || ["relative", "absolute", "fixed"].indexOf(ne.position) >= 0) && Z.push(J);
        }
        return Z.push(H.ownerDocument.body), H.ownerDocument !== document && Z.push(H.ownerDocument.defaultView), Z;
      }
      var o = /* @__PURE__ */ function() {
        var H = 0;
        return function() {
          return ++H;
        };
      }(), l = {}, c = function() {
        var Y = n;
        (!Y || !document.body.contains(Y)) && (Y = document.createElement("div"), Y.setAttribute("data-tether-id", o()), k(Y.style, {
          top: 0,
          left: 0,
          position: "absolute"
        }), document.body.appendChild(Y), n = Y);
        var Q = Y.getAttribute("data-tether-id");
        return typeof l[Q] > "u" && (l[Q] = i(Y), X(function() {
          delete l[Q];
        })), l[Q];
      };
      function S() {
        n && document.body.removeChild(n), n = null;
      }
      function V(H) {
        var Y = void 0;
        H === document ? (Y = document, H = document.documentElement) : Y = H.ownerDocument;
        var Q = Y.documentElement, Z = i(H), J = c();
        return Z.top -= J.top, Z.left -= J.left, typeof Z.width > "u" && (Z.width = document.body.scrollWidth - Z.left - Z.right), typeof Z.height > "u" && (Z.height = document.body.scrollHeight - Z.top - Z.bottom), Z.top = Z.top - Q.clientTop, Z.left = Z.left - Q.clientLeft, Z.right = Y.body.clientWidth - Z.width - Z.left, Z.bottom = Y.body.clientHeight - Z.height - Z.top, Z;
      }
      function a(H) {
        return H.offsetParent || document.documentElement;
      }
      var g = null;
      function f() {
        if (g)
          return g;
        var H = document.createElement("div");
        H.style.width = "100%", H.style.height = "200px";
        var Y = document.createElement("div");
        k(Y.style, {
          position: "absolute",
          top: 0,
          left: 0,
          pointerEvents: "none",
          visibility: "hidden",
          width: "200px",
          height: "150px",
          overflow: "hidden"
        }), Y.appendChild(H), document.body.appendChild(Y);
        var Q = H.offsetWidth;
        Y.style.overflow = "scroll";
        var Z = H.offsetWidth;
        Q === Z && (Z = Y.clientWidth), document.body.removeChild(Y);
        var J = Q - Z;
        return g = { width: J, height: J }, g;
      }
      function k() {
        var H = arguments.length <= 0 || arguments[0] === void 0 ? {} : arguments[0], Y = [];
        return Array.prototype.push.apply(Y, arguments), Y.slice(1).forEach(function(Q) {
          if (Q)
            for (var Z in Q)
              ({}).hasOwnProperty.call(Q, Z) && (H[Z] = Q[Z]);
        }), H;
      }
      function h(H, Y) {
        if (typeof H.classList < "u")
          Y.split(" ").forEach(function(J) {
            J.trim() && H.classList.remove(J);
          });
        else {
          var Q = new RegExp("(^| )" + Y.split(" ").join("|") + "( |$)", "gi"), Z = C(H).replace(Q, " ");
          D(H, Z);
        }
      }
      function s(H, Y) {
        if (typeof H.classList < "u")
          Y.split(" ").forEach(function(Z) {
            Z.trim() && H.classList.add(Z);
          });
        else {
          h(H, Y);
          var Q = C(H) + (" " + Y);
          D(H, Q);
        }
      }
      function y(H, Y) {
        if (typeof H.classList < "u")
          return H.classList.contains(Y);
        var Q = C(H);
        return new RegExp("(^| )" + Y + "( |$)", "gi").test(Q);
      }
      function C(H) {
        return H.className instanceof H.ownerDocument.defaultView.SVGAnimatedString ? H.className.baseVal : H.className;
      }
      function D(H, Y) {
        H.setAttribute("class", Y);
      }
      function G(H, Y, Q) {
        Q.forEach(function(Z) {
          Y.indexOf(Z) === -1 && y(H, Z) && h(H, Z);
        }), Y.forEach(function(Z) {
          y(H, Z) || s(H, Z);
        });
      }
      var x = [], X = function(Y) {
        x.push(Y);
      }, E = function() {
        for (var Y = void 0; Y = x.pop(); )
          Y();
      }, M = function() {
        function H() {
          z(this, H);
        }
        return N(H, [{
          key: "on",
          value: function(Q, Z, J) {
            var ne = arguments.length <= 3 || arguments[3] === void 0 ? !1 : arguments[3];
            typeof this.bindings > "u" && (this.bindings = {}), typeof this.bindings[Q] > "u" && (this.bindings[Q] = []), this.bindings[Q].push({ handler: Z, ctx: J, once: ne });
          }
        }, {
          key: "once",
          value: function(Q, Z, J) {
            this.on(Q, Z, J, !0);
          }
        }, {
          key: "off",
          value: function(Q, Z) {
            if (!(typeof this.bindings > "u" || typeof this.bindings[Q] > "u"))
              if (typeof Z > "u")
                delete this.bindings[Q];
              else
                for (var J = 0; J < this.bindings[Q].length; )
                  this.bindings[Q][J].handler === Z ? this.bindings[Q].splice(J, 1) : ++J;
          }
        }, {
          key: "trigger",
          value: function(Q) {
            if (typeof this.bindings < "u" && this.bindings[Q]) {
              for (var Z = 0, J = arguments.length, ne = Array(J > 1 ? J - 1 : 0), ie = 1; ie < J; ie++)
                ne[ie - 1] = arguments[ie];
              for (; Z < this.bindings[Q].length; ) {
                var re = this.bindings[Q][Z], ee = re.handler, te = re.ctx, ue = re.once, le = te;
                typeof le > "u" && (le = this), ee.apply(le, ne), ue ? this.bindings[Q].splice(Z, 1) : ++Z;
              }
            }
          }
        }]), H;
      }();
      r.Utils = {
        getActualBoundingClientRect: i,
        getScrollParents: u,
        getBounds: V,
        getOffsetParent: a,
        extend: k,
        addClass: s,
        removeClass: h,
        hasClass: y,
        updateClasses: G,
        defer: X,
        flush: E,
        uniqueId: o,
        Evented: M,
        getScrollBarSize: f,
        removeUtilElements: S
      };
      var K = /* @__PURE__ */ function() {
        function H(Y, Q) {
          var Z = [], J = !0, ne = !1, ie = void 0;
          try {
            for (var re = Y[Symbol.iterator](), ee; !(J = (ee = re.next()).done) && (Z.push(ee.value), !(Q && Z.length === Q)); J = !0)
              ;
          } catch (te) {
            ne = !0, ie = te;
          } finally {
            try {
              !J && re.return && re.return();
            } finally {
              if (ne) throw ie;
            }
          }
          return Z;
        }
        return function(Y, Q) {
          if (Array.isArray(Y))
            return Y;
          if (Symbol.iterator in Object(Y))
            return H(Y, Q);
          throw new TypeError("Invalid attempt to destructure non-iterable instance");
        };
      }(), N = /* @__PURE__ */ function() {
        function H(Y, Q) {
          for (var Z = 0; Z < Q.length; Z++) {
            var J = Q[Z];
            J.enumerable = J.enumerable || !1, J.configurable = !0, "value" in J && (J.writable = !0), Object.defineProperty(Y, J.key, J);
          }
        }
        return function(Y, Q, Z) {
          return Q && H(Y.prototype, Q), Z && H(Y, Z), Y;
        };
      }(), F = function(Y, Q, Z) {
        var J = !0;
        e: for (; J; ) {
          var ne = Y, ie = Q, re = Z;
          J = !1, ne === null && (ne = Function.prototype);
          var ee = Object.getOwnPropertyDescriptor(ne, ie);
          if (ee === void 0) {
            var te = Object.getPrototypeOf(ne);
            if (te === null)
              return;
            Y = te, Q = ie, Z = re, J = !0, ee = te = void 0;
            continue e;
          } else {
            if ("value" in ee)
              return ee.value;
            var ue = ee.get;
            return ue === void 0 ? void 0 : ue.call(re);
          }
        }
      };
      function z(H, Y) {
        if (!(H instanceof Y))
          throw new TypeError("Cannot call a class as a function");
      }
      function A(H, Y) {
        if (typeof Y != "function" && Y !== null)
          throw new TypeError("Super expression must either be null or a function, not " + typeof Y);
        H.prototype = Object.create(Y && Y.prototype, { constructor: { value: H, enumerable: !1, writable: !0, configurable: !0 } }), Y && (Object.setPrototypeOf ? Object.setPrototypeOf(H, Y) : H.__proto__ = Y);
      }
      if (typeof r > "u")
        throw new Error("You must include the utils.js file before tether.js");
      var $ = r.Utils, u = $.getScrollParents, V = $.getBounds, a = $.getOffsetParent, k = $.extend, s = $.addClass, h = $.removeClass, G = $.updateClasses, X = $.defer, E = $.flush, f = $.getScrollBarSize, S = $.removeUtilElements;
      function _(H, Y) {
        var Q = arguments.length <= 2 || arguments[2] === void 0 ? 1 : arguments[2];
        return H + Q >= Y && Y >= H - Q;
      }
      var d = function() {
        if (typeof document > "u")
          return "";
        for (var H = document.createElement("div"), Y = ["transform", "WebkitTransform", "OTransform", "MozTransform", "msTransform"], Q = 0; Q < Y.length; ++Q) {
          var Z = Y[Q];
          if (H.style[Z] !== void 0)
            return Z;
        }
      }(), p = [], b = function() {
        p.forEach(function(Y) {
          Y.position(!1);
        }), E();
      };
      function m() {
        return typeof performance == "object" && typeof performance.now == "function" ? performance.now() : +/* @__PURE__ */ new Date();
      }
      (function() {
        var H = null, Y = null, Q = null, Z = function J() {
          if (typeof Y < "u" && Y > 16) {
            Y = Math.min(Y - 16, 250), Q = setTimeout(J, 250);
            return;
          }
          typeof H < "u" && m() - H < 10 || (Q != null && (clearTimeout(Q), Q = null), H = m(), b(), Y = m() - H);
        };
        typeof window < "u" && typeof window.addEventListener < "u" && ["resize", "scroll", "touchmove"].forEach(function(J) {
          window.addEventListener(J, Z);
        });
      })();
      var v = {
        center: "center",
        left: "right",
        right: "left"
      }, O = {
        middle: "middle",
        top: "bottom",
        bottom: "top"
      }, T = {
        top: 0,
        left: 0,
        middle: "50%",
        center: "50%",
        bottom: "100%",
        right: "100%"
      }, w = function(Y, Q) {
        var Z = Y.left, J = Y.top;
        return Z === "auto" && (Z = v[Q.left]), J === "auto" && (J = O[Q.top]), { left: Z, top: J };
      }, P = function(Y) {
        var Q = Y.left, Z = Y.top;
        return typeof T[Y.left] < "u" && (Q = T[Y.left]), typeof T[Y.top] < "u" && (Z = T[Y.top]), { left: Q, top: Z };
      };
      function I() {
        for (var H = { top: 0, left: 0 }, Y = arguments.length, Q = Array(Y), Z = 0; Z < Y; Z++)
          Q[Z] = arguments[Z];
        return Q.forEach(function(J) {
          var ne = J.top, ie = J.left;
          typeof ne == "string" && (ne = parseFloat(ne, 10)), typeof ie == "string" && (ie = parseFloat(ie, 10)), H.top += ne, H.left += ie;
        }), H;
      }
      function L(H, Y) {
        return typeof H.left == "string" && H.left.indexOf("%") !== -1 && (H.left = parseFloat(H.left, 10) / 100 * Y.width), typeof H.top == "string" && H.top.indexOf("%") !== -1 && (H.top = parseFloat(H.top, 10) / 100 * Y.height), H;
      }
      var R = function(Y) {
        var Q = Y.split(" "), Z = K(Q, 2), J = Z[0], ne = Z[1];
        return { top: J, left: ne };
      }, q = R, B = function(H) {
        A(Y, H);
        function Y(Q) {
          var Z = this;
          z(this, Y), F(Object.getPrototypeOf(Y.prototype), "constructor", this).call(this), this.position = this.position.bind(this), p.push(this), this.history = [], this.setOptions(Q, !1), r.modules.forEach(function(J) {
            typeof J.initialize < "u" && J.initialize.call(Z);
          }), this.position();
        }
        return N(Y, [{
          key: "getClass",
          value: function() {
            var Z = arguments.length <= 0 || arguments[0] === void 0 ? "" : arguments[0], J = this.options.classes;
            return typeof J < "u" && J[Z] ? this.options.classes[Z] : this.options.classPrefix ? this.options.classPrefix + "-" + Z : Z;
          }
        }, {
          key: "setOptions",
          value: function(Z) {
            var J = this, ne = arguments.length <= 1 || arguments[1] === void 0 ? !0 : arguments[1], ie = {
              offset: "0 0",
              targetOffset: "0 0",
              targetAttachment: "auto auto",
              classPrefix: "tether"
            };
            this.options = k(ie, Z);
            var re = this.options, ee = re.element, te = re.target, ue = re.targetModifier;
            if (this.element = ee, this.target = te, this.targetModifier = ue, this.target === "viewport" ? (this.target = document.body, this.targetModifier = "visible") : this.target === "scroll-handle" && (this.target = document.body, this.targetModifier = "scroll-handle"), ["element", "target"].forEach(function(le) {
              if (typeof J[le] > "u")
                throw new Error("Tether Error: Both element and target must be defined");
              typeof J[le].jquery < "u" ? J[le] = J[le][0] : typeof J[le] == "string" && (J[le] = document.querySelector(J[le]));
            }), s(this.element, this.getClass("element")), this.options.addTargetClasses !== !1 && s(this.target, this.getClass("target")), !this.options.attachment)
              throw new Error("Tether Error: You must provide an attachment");
            this.targetAttachment = q(this.options.targetAttachment), this.attachment = q(this.options.attachment), this.offset = R(this.options.offset), this.targetOffset = R(this.options.targetOffset), typeof this.scrollParents < "u" && this.disable(), this.targetModifier === "scroll-handle" ? this.scrollParents = [this.target] : this.scrollParents = u(this.target), this.options.enabled !== !1 && this.enable(ne);
          }
        }, {
          key: "getTargetBounds",
          value: function() {
            if (typeof this.targetModifier < "u") {
              if (this.targetModifier === "visible") {
                if (this.target === document.body)
                  return { top: pageYOffset, left: pageXOffset, height: innerHeight, width: innerWidth };
                var Z = V(this.target), J = {
                  height: Z.height,
                  width: Z.width,
                  top: Z.top,
                  left: Z.left
                };
                return J.height = Math.min(J.height, Z.height - (pageYOffset - Z.top)), J.height = Math.min(J.height, Z.height - (Z.top + Z.height - (pageYOffset + innerHeight))), J.height = Math.min(innerHeight, J.height), J.height -= 2, J.width = Math.min(J.width, Z.width - (pageXOffset - Z.left)), J.width = Math.min(J.width, Z.width - (Z.left + Z.width - (pageXOffset + innerWidth))), J.width = Math.min(innerWidth, J.width), J.width -= 2, J.top < pageYOffset && (J.top = pageYOffset), J.left < pageXOffset && (J.left = pageXOffset), J;
              } else if (this.targetModifier === "scroll-handle") {
                var Z = void 0, ne = this.target;
                ne === document.body ? (ne = document.documentElement, Z = {
                  left: pageXOffset,
                  top: pageYOffset,
                  height: innerHeight,
                  width: innerWidth
                }) : Z = V(ne);
                var ie = getComputedStyle(ne), re = ne.scrollWidth > ne.clientWidth || [ie.overflow, ie.overflowX].indexOf("scroll") >= 0 || this.target !== document.body, ee = 0;
                re && (ee = 15);
                var te = Z.height - parseFloat(ie.borderTopWidth) - parseFloat(ie.borderBottomWidth) - ee, J = {
                  width: 15,
                  height: te * 0.975 * (te / ne.scrollHeight),
                  left: Z.left + Z.width - parseFloat(ie.borderLeftWidth) - 15
                }, ue = 0;
                te < 408 && this.target === document.body && (ue = -11e-5 * Math.pow(te, 2) - 727e-5 * te + 22.58), this.target !== document.body && (J.height = Math.max(J.height, 24));
                var le = this.target.scrollTop / (ne.scrollHeight - te);
                return J.top = le * (te - J.height - ue) + Z.top + parseFloat(ie.borderTopWidth), this.target === document.body && (J.height = Math.max(J.height, 24)), J;
              }
            } else
              return V(this.target);
          }
        }, {
          key: "clearCache",
          value: function() {
            this._cache = {};
          }
        }, {
          key: "cache",
          value: function(Z, J) {
            return typeof this._cache > "u" && (this._cache = {}), typeof this._cache[Z] > "u" && (this._cache[Z] = J.call(this)), this._cache[Z];
          }
        }, {
          key: "enable",
          value: function() {
            var Z = this, J = arguments.length <= 0 || arguments[0] === void 0 ? !0 : arguments[0];
            this.options.addTargetClasses !== !1 && s(this.target, this.getClass("enabled")), s(this.element, this.getClass("enabled")), this.enabled = !0, this.scrollParents.forEach(function(ne) {
              ne !== Z.target.ownerDocument && ne.addEventListener("scroll", Z.position);
            }), J && this.position();
          }
        }, {
          key: "disable",
          value: function() {
            var Z = this;
            h(this.target, this.getClass("enabled")), h(this.element, this.getClass("enabled")), this.enabled = !1, typeof this.scrollParents < "u" && this.scrollParents.forEach(function(J) {
              J.removeEventListener("scroll", Z.position);
            });
          }
        }, {
          key: "destroy",
          value: function() {
            var Z = this;
            this.disable(), p.forEach(function(J, ne) {
              J === Z && p.splice(ne, 1);
            }), p.length === 0 && S();
          }
        }, {
          key: "updateAttachClasses",
          value: function(Z, J) {
            var ne = this;
            Z = Z || this.attachment, J = J || this.targetAttachment;
            var ie = ["left", "top", "bottom", "right", "middle", "center"];
            typeof this._addAttachClasses < "u" && this._addAttachClasses.length && this._addAttachClasses.splice(0, this._addAttachClasses.length), typeof this._addAttachClasses > "u" && (this._addAttachClasses = []);
            var re = this._addAttachClasses;
            Z.top && re.push(this.getClass("element-attached") + "-" + Z.top), Z.left && re.push(this.getClass("element-attached") + "-" + Z.left), J.top && re.push(this.getClass("target-attached") + "-" + J.top), J.left && re.push(this.getClass("target-attached") + "-" + J.left);
            var ee = [];
            ie.forEach(function(te) {
              ee.push(ne.getClass("element-attached") + "-" + te), ee.push(ne.getClass("target-attached") + "-" + te);
            }), X(function() {
              typeof ne._addAttachClasses < "u" && (G(ne.element, ne._addAttachClasses, ee), ne.options.addTargetClasses !== !1 && G(ne.target, ne._addAttachClasses, ee), delete ne._addAttachClasses);
            });
          }
        }, {
          key: "position",
          value: function() {
            var Z = this, J = arguments.length <= 0 || arguments[0] === void 0 ? !0 : arguments[0];
            if (this.enabled) {
              this.clearCache();
              var ne = w(this.targetAttachment, this.attachment);
              this.updateAttachClasses(this.attachment, ne);
              var ie = this.cache("element-bounds", function() {
                return V(Z.element);
              }), re = ie.width, ee = ie.height;
              if (re === 0 && ee === 0 && typeof this.lastSize < "u") {
                var te = this.lastSize;
                re = te.width, ee = te.height;
              } else
                this.lastSize = { width: re, height: ee };
              var ue = this.cache("target-bounds", function() {
                return Z.getTargetBounds();
              }), le = ue, ae = L(P(this.attachment), { width: re, height: ee }), ce = L(P(ne), le), pe = L(this.offset, { width: re, height: ee }), de = L(this.targetOffset, le);
              ae = I(ae, pe), ce = I(ce, de);
              for (var he = ue.left + ce.left - ae.left, Ee = ue.top + ce.top - ae.top, ye = 0; ye < r.modules.length; ++ye) {
                var _e = r.modules[ye], ge = _e.position.call(this, {
                  left: he,
                  top: Ee,
                  targetAttachment: ne,
                  targetPos: ue,
                  elementPos: ie,
                  offset: ae,
                  targetOffset: ce,
                  manualOffset: pe,
                  manualTargetOffset: de,
                  scrollbarSize: oe,
                  attachment: this.attachment
                });
                if (ge === !1)
                  return !1;
                if (typeof ge > "u" || typeof ge != "object")
                  continue;
                Ee = ge.top, he = ge.left;
              }
              var Me = {
                // It's position relative to the page (absolute positioning when
                // the element is a child of the body)
                page: {
                  top: Ee,
                  left: he
                },
                // It's position relative to the viewport (fixed positioning)
                viewport: {
                  top: Ee - pageYOffset,
                  bottom: pageYOffset - Ee - ee + innerHeight,
                  left: he - pageXOffset,
                  right: pageXOffset - he - re + innerWidth
                }
              }, Te = this.target.ownerDocument, De = Te.defaultView, oe = void 0;
              return De.innerHeight > Te.documentElement.clientHeight && (oe = this.cache("scrollbar-size", f), Me.viewport.bottom -= oe.height), De.innerWidth > Te.documentElement.clientWidth && (oe = this.cache("scrollbar-size", f), Me.viewport.right -= oe.width), (["", "static"].indexOf(Te.body.style.position) === -1 || ["", "static"].indexOf(Te.body.parentElement.style.position) === -1) && (Me.page.bottom = Te.body.scrollHeight - Ee - ee, Me.page.right = Te.body.scrollWidth - he - re), typeof this.options.optimizations < "u" && this.options.optimizations.moveElement !== !1 && !(typeof this.targetModifier < "u") && function() {
                var se = Z.cache("target-offsetparent", function() {
                  return a(Z.target);
                }), fe = Z.cache("target-offsetparent-bounds", function() {
                  return V(se);
                }), be = getComputedStyle(se), Se = fe, Ae = {};
                if (["Top", "Left", "Bottom", "Right"].forEach(function(we) {
                  Ae[we.toLowerCase()] = parseFloat(be["border" + we + "Width"]);
                }), fe.right = Te.body.scrollWidth - fe.left - Se.width + Ae.right, fe.bottom = Te.body.scrollHeight - fe.top - Se.height + Ae.bottom, Me.page.top >= fe.top + Ae.top && Me.page.bottom >= fe.bottom && Me.page.left >= fe.left + Ae.left && Me.page.right >= fe.right) {
                  var ze = se.scrollTop, Oe = se.scrollLeft;
                  Me.offset = {
                    top: Me.page.top - fe.top + ze - Ae.top,
                    left: Me.page.left - fe.left + Oe - Ae.left
                  };
                }
              }(), this.move(Me), this.history.unshift(Me), this.history.length > 3 && this.history.pop(), J && E(), !0;
            }
          }
          // THE ISSUE
        }, {
          key: "move",
          value: function(Z) {
            var J = this;
            if (typeof this.element.parentNode < "u") {
              var ne = {};
              for (var ie in Z) {
                ne[ie] = {};
                for (var re in Z[ie]) {
                  for (var ee = !1, te = 0; te < this.history.length; ++te) {
                    var ue = this.history[te];
                    if (typeof ue[ie] < "u" && !_(ue[ie][re], Z[ie][re])) {
                      ee = !0;
                      break;
                    }
                  }
                  ee || (ne[ie][re] = !0);
                }
              }
              var le = { top: "", left: "", right: "", bottom: "" }, ae = function(Te, De) {
                var oe = typeof J.options.optimizations < "u", se = oe ? J.options.optimizations.gpu : null;
                if (se !== !1) {
                  var fe = void 0, be = void 0;
                  Te.top ? (le.top = 0, fe = De.top) : (le.bottom = 0, fe = -De.bottom), Te.left ? (le.left = 0, be = De.left) : (le.right = 0, be = -De.right), typeof window.devicePixelRatio == "number" && devicePixelRatio % 1 === 0 && (be = Math.round(be * devicePixelRatio) / devicePixelRatio, fe = Math.round(fe * devicePixelRatio) / devicePixelRatio), le[d] = "translateX(" + be + "px) translateY(" + fe + "px)", d !== "msTransform" && (le[d] += " translateZ(0)");
                } else
                  Te.top ? le.top = De.top + "px" : le.bottom = De.bottom + "px", Te.left ? le.left = De.left + "px" : le.right = De.right + "px";
              }, ce = !1;
              if ((ne.page.top || ne.page.bottom) && (ne.page.left || ne.page.right) ? (le.position = "absolute", ae(ne.page, Z.page)) : (ne.viewport.top || ne.viewport.bottom) && (ne.viewport.left || ne.viewport.right) ? (le.position = "fixed", ae(ne.viewport, Z.viewport)) : typeof ne.offset < "u" && ne.offset.top && ne.offset.left ? function() {
                le.position = "absolute";
                var Me = J.cache("target-offsetparent", function() {
                  return a(J.target);
                });
                a(J.element) !== Me && X(function() {
                  J.element.parentNode.removeChild(J.element), Me.appendChild(J.element);
                }), ae(ne.offset, Z.offset), ce = !0;
              }() : (le.position = "absolute", ae({ top: !0, left: !0 }, Z.page)), !ce)
                if (this.options.bodyElement)
                  this.element.parentNode !== this.options.bodyElement && this.options.bodyElement.appendChild(this.element);
                else {
                  for (var pe = function(Te) {
                    var De = Te.ownerDocument, oe = De.fullscreenElement || De.webkitFullscreenElement || De.mozFullScreenElement || De.msFullscreenElement;
                    return oe === Te;
                  }, de = !0, he = this.element.parentNode; he && he.nodeType === 1 && he.tagName !== "BODY" && !pe(he); ) {
                    if (getComputedStyle(he).position !== "static") {
                      de = !1;
                      break;
                    }
                    he = he.parentNode;
                  }
                  de || (this.element.parentNode.removeChild(this.element), this.element.ownerDocument.body.appendChild(this.element));
                }
              var Ee = {}, ye = !1;
              for (var re in le) {
                var _e = le[re], ge = this.element.style[re];
                ge !== _e && (ye = !0, Ee[re] = _e);
              }
              ye && X(function() {
                k(J.element.style, Ee), J.trigger("repositioned");
              });
            }
          }
        }]), Y;
      }(M);
      B.modules = [], r.position = b;
      var j = k(B, r), K = /* @__PURE__ */ function() {
        function H(Y, Q) {
          var Z = [], J = !0, ne = !1, ie = void 0;
          try {
            for (var re = Y[Symbol.iterator](), ee; !(J = (ee = re.next()).done) && (Z.push(ee.value), !(Q && Z.length === Q)); J = !0)
              ;
          } catch (te) {
            ne = !0, ie = te;
          } finally {
            try {
              !J && re.return && re.return();
            } finally {
              if (ne) throw ie;
            }
          }
          return Z;
        }
        return function(Y, Q) {
          if (Array.isArray(Y))
            return Y;
          if (Symbol.iterator in Object(Y))
            return H(Y, Q);
          throw new TypeError("Invalid attempt to destructure non-iterable instance");
        };
      }(), $ = r.Utils, V = $.getBounds, k = $.extend, G = $.updateClasses, X = $.defer, U = ["left", "top", "right", "bottom"];
      function W(H, Y) {
        return Y === "scrollParent" ? Y = H.scrollParents[0] : Y === "window" && (Y = [pageXOffset, pageYOffset, innerWidth + pageXOffset, innerHeight + pageYOffset]), Y === document && (Y = Y.documentElement), typeof Y.nodeType < "u" && function() {
          var Q = Y, Z = V(Y), J = Z, ne = getComputedStyle(Y);
          if (Y = [J.left, J.top, Z.width + J.left, Z.height + J.top], Q.ownerDocument !== document) {
            var ie = Q.ownerDocument.defaultView;
            Y[0] += ie.pageXOffset, Y[1] += ie.pageYOffset, Y[2] += ie.pageXOffset, Y[3] += ie.pageYOffset;
          }
          U.forEach(function(re, ee) {
            re = re[0].toUpperCase() + re.substr(1), re === "Top" || re === "Left" ? Y[ee] += parseFloat(ne["border" + re + "Width"]) : Y[ee] -= parseFloat(ne["border" + re + "Width"]);
          });
        }(), Y;
      }
      r.modules.push({
        position: function(Y) {
          var Q = this, Z = Y.top, J = Y.left, ne = Y.targetAttachment;
          if (!this.options.constraints)
            return !0;
          var ie = this.cache("element-bounds", function() {
            return V(Q.element);
          }), re = ie.height, ee = ie.width;
          if (ee === 0 && re === 0 && typeof this.lastSize < "u") {
            var te = this.lastSize;
            ee = te.width, re = te.height;
          }
          var ue = this.cache("target-bounds", function() {
            return Q.getTargetBounds();
          }), le = ue.height, ae = ue.width, ce = [this.getClass("pinned"), this.getClass("out-of-bounds")];
          this.options.constraints.forEach(function(Ee) {
            var ye = Ee.outOfBoundsClass, _e = Ee.pinnedClass;
            ye && ce.push(ye), _e && ce.push(_e);
          }), ce.forEach(function(Ee) {
            ["left", "top", "right", "bottom"].forEach(function(ye) {
              ce.push(Ee + "-" + ye);
            });
          });
          var pe = [], de = k({}, ne), he = k({}, this.attachment);
          return this.options.constraints.forEach(function(Ee) {
            var ye = Ee.to, _e = Ee.attachment, ge = Ee.pin;
            typeof _e > "u" && (_e = "");
            var Me = void 0, Te = void 0;
            if (_e.indexOf(" ") >= 0) {
              var De = _e.split(" "), oe = K(De, 2);
              Te = oe[0], Me = oe[1];
            } else
              Me = Te = _e;
            var se = W(Q, ye);
            (Te === "target" || Te === "both") && (Z < se[1] && de.top === "top" && (Z += le, de.top = "bottom"), Z + re > se[3] && de.top === "bottom" && (Z -= le, de.top = "top")), Te === "together" && (de.top === "top" && (he.top === "bottom" && Z < se[1] ? (Z += le, de.top = "bottom", Z += re, he.top = "top") : he.top === "top" && Z + re > se[3] && Z - (re - le) >= se[1] && (Z -= re - le, de.top = "bottom", he.top = "bottom")), de.top === "bottom" && (he.top === "top" && Z + re > se[3] ? (Z -= le, de.top = "top", Z -= re, he.top = "bottom") : he.top === "bottom" && Z < se[1] && Z + (re * 2 - le) <= se[3] && (Z += re - le, de.top = "top", he.top = "top")), de.top === "middle" && (Z + re > se[3] && he.top === "top" ? (Z -= re, he.top = "bottom") : Z < se[1] && he.top === "bottom" && (Z += re, he.top = "top"))), (Me === "target" || Me === "both") && (J < se[0] && de.left === "left" && (J += ae, de.left = "right"), J + ee > se[2] && de.left === "right" && (J -= ae, de.left = "left")), Me === "together" && (J < se[0] && de.left === "left" ? he.left === "right" ? (J += ae, de.left = "right", J += ee, he.left = "left") : he.left === "left" && (J += ae, de.left = "right", J -= ee, he.left = "right") : J + ee > se[2] && de.left === "right" ? he.left === "left" ? (J -= ae, de.left = "left", J -= ee, he.left = "right") : he.left === "right" && (J -= ae, de.left = "left", J += ee, he.left = "left") : de.left === "center" && (J + ee > se[2] && he.left === "left" ? (J -= ee, he.left = "right") : J < se[0] && he.left === "right" && (J += ee, he.left = "left"))), (Te === "element" || Te === "both") && (Z < se[1] && he.top === "bottom" && (Z += re, he.top = "top"), Z + re > se[3] && he.top === "top" && (Z -= re, he.top = "bottom")), (Me === "element" || Me === "both") && (J < se[0] && (he.left === "right" ? (J += ee, he.left = "left") : he.left === "center" && (J += ee / 2, he.left = "left")), J + ee > se[2] && (he.left === "left" ? (J -= ee, he.left = "right") : he.left === "center" && (J -= ee / 2, he.left = "right"))), typeof ge == "string" ? ge = ge.split(",").map(function(Se) {
              return Se.trim();
            }) : ge === !0 && (ge = ["top", "left", "right", "bottom"]), ge = ge || [];
            var fe = [], be = [];
            Z < se[1] && (ge.indexOf("top") >= 0 ? (Z = se[1], fe.push("top")) : be.push("top")), Z + re > se[3] && (ge.indexOf("bottom") >= 0 ? (Z = se[3] - re, fe.push("bottom")) : be.push("bottom")), J < se[0] && (ge.indexOf("left") >= 0 ? (J = se[0], fe.push("left")) : be.push("left")), J + ee > se[2] && (ge.indexOf("right") >= 0 ? (J = se[2] - ee, fe.push("right")) : be.push("right")), fe.length && function() {
              var Se = void 0;
              typeof Q.options.pinnedClass < "u" ? Se = Q.options.pinnedClass : Se = Q.getClass("pinned"), pe.push(Se), fe.forEach(function(Ae) {
                pe.push(Se + "-" + Ae);
              });
            }(), be.length && function() {
              var Se = void 0;
              typeof Q.options.outOfBoundsClass < "u" ? Se = Q.options.outOfBoundsClass : Se = Q.getClass("out-of-bounds"), pe.push(Se), be.forEach(function(Ae) {
                pe.push(Se + "-" + Ae);
              });
            }(), (fe.indexOf("left") >= 0 || fe.indexOf("right") >= 0) && (he.left = de.left = !1), (fe.indexOf("top") >= 0 || fe.indexOf("bottom") >= 0) && (he.top = de.top = !1), (de.top !== ne.top || de.left !== ne.left || he.top !== Q.attachment.top || he.left !== Q.attachment.left) && (Q.updateAttachClasses(he, de), Q.trigger("update", {
              attachment: he,
              targetAttachment: de
            }));
          }), X(function() {
            Q.options.addTargetClasses !== !1 && G(Q.target, pe, ce), G(Q.element, pe, ce);
          }), { top: Z, left: J };
        }
      });
      var $ = r.Utils, V = $.getBounds, G = $.updateClasses, X = $.defer;
      r.modules.push({
        position: function(Y) {
          var Q = this, Z = Y.top, J = Y.left, ne = this.cache("element-bounds", function() {
            return V(Q.element);
          }), ie = ne.height, re = ne.width, ee = this.getTargetBounds(), te = Z + ie, ue = J + re, le = [];
          Z <= ee.bottom && te >= ee.top && ["left", "right"].forEach(function(de) {
            var he = ee[de];
            (he === J || he === ue) && le.push(de);
          }), J <= ee.right && ue >= ee.left && ["top", "bottom"].forEach(function(de) {
            var he = ee[de];
            (he === Z || he === te) && le.push(de);
          });
          var ae = [], ce = [], pe = ["left", "top", "right", "bottom"];
          return ae.push(this.getClass("abutted")), pe.forEach(function(de) {
            ae.push(Q.getClass("abutted") + "-" + de);
          }), le.length && ce.push(this.getClass("abutted")), le.forEach(function(de) {
            ce.push(Q.getClass("abutted") + "-" + de);
          }), X(function() {
            Q.options.addTargetClasses !== !1 && G(Q.target, ce, ae), G(Q.element, ce, ae);
          }), !0;
        }
      });
      var K = /* @__PURE__ */ function() {
        function H(Y, Q) {
          var Z = [], J = !0, ne = !1, ie = void 0;
          try {
            for (var re = Y[Symbol.iterator](), ee; !(J = (ee = re.next()).done) && (Z.push(ee.value), !(Q && Z.length === Q)); J = !0)
              ;
          } catch (te) {
            ne = !0, ie = te;
          } finally {
            try {
              !J && re.return && re.return();
            } finally {
              if (ne) throw ie;
            }
          }
          return Z;
        }
        return function(Y, Q) {
          if (Array.isArray(Y))
            return Y;
          if (Symbol.iterator in Object(Y))
            return H(Y, Q);
          throw new TypeError("Invalid attempt to destructure non-iterable instance");
        };
      }();
      return r.modules.push({
        position: function(Y) {
          var Q = Y.top, Z = Y.left;
          if (this.options.shift) {
            var J = this.options.shift;
            typeof this.options.shift == "function" && (J = this.options.shift.call(this, { top: Q, left: Z }));
            var ne = void 0, ie = void 0;
            if (typeof J == "string") {
              J = J.split(" "), J[1] = J[1] || J[0];
              var re = J, ee = K(re, 2);
              ne = ee[0], ie = ee[1], ne = parseFloat(ne, 10), ie = parseFloat(ie, 10);
            } else
              ne = J.top, ie = J.left;
            return Q += ne, Z += ie, { top: Q, left: Z };
          }
        }
      }), j;
    });
  }(OT)), OT.exports;
}
var X3;
function Cse() {
  return X3 || (X3 = 1, function(e, t) {
    Object.defineProperty(t, "__esModule", {
      value: !0
    });
    var r = Object.assign || function(s) {
      for (var h = 1; h < arguments.length; h++) {
        var E = arguments[h];
        for (var f in E)
          Object.prototype.hasOwnProperty.call(E, f) && (s[f] = E[f]);
      }
      return s;
    }, n = /* @__PURE__ */ function() {
      function s(h, E) {
        for (var f = 0; f < E.length; f++) {
          var S = E[f];
          S.enumerable = S.enumerable || !1, S.configurable = !0, "value" in S && (S.writable = !0), Object.defineProperty(h, S.key, S);
        }
      }
      return function(h, E, f) {
        return E && s(h.prototype, E), f && s(h, f), h;
      };
    }(), i = gV();
    D(i);
    var o = Dl(), l = D(o), c = T7(), g = D(c), y = Tse(), C = D(y);
    function D(s) {
      return s && s.__esModule ? s : { default: s };
    }
    function x(s, h) {
      var E = {};
      for (var f in s)
        h.indexOf(f) >= 0 || Object.prototype.hasOwnProperty.call(s, f) && (E[f] = s[f]);
      return E;
    }
    function M(s, h) {
      if (!(s instanceof h))
        throw new TypeError("Cannot call a class as a function");
    }
    function N(s, h) {
      if (!s)
        throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
      return h && (typeof h == "object" || typeof h == "function") ? h : s;
    }
    function F(s, h) {
      if (typeof h != "function" && h !== null)
        throw new TypeError("Super expression must either be null or a function, not " + typeof h);
      s.prototype = Object.create(h && h.prototype, { constructor: { value: s, enumerable: !1, writable: !0, configurable: !0 } }), h && (Object.setPrototypeOf ? Object.setPrototypeOf(s, h) : s.__proto__ = h);
    }
    C.default || console.error("It looks like Tether has not been included. Please load this dependency first https://github.com/HubSpot/tether");
    var z = [l.default.string, l.default.shape({
      appendChild: l.default.func.isRequired
    })], A = function(h, E, f) {
      var S = h.children, _ = i.Children.count(S);
      if (_ <= 0)
        return new Error(f + " expects at least one child to use as the target element.");
      if (_ > 2)
        return new Error("Only a max of two children allowed in " + f + ".");
    }, u = ["auto auto", "top left", "top center", "top right", "middle left", "middle center", "middle right", "bottom left", "bottom center", "bottom right"], a = function(s) {
      F(h, s);
      function h() {
        var E, f, S, _;
        M(this, h);
        for (var d = arguments.length, p = Array(d), b = 0; b < d; b++)
          p[b] = arguments[b];
        return _ = (f = (S = N(this, (E = h.__proto__ || Object.getPrototypeOf(h)).call.apply(E, [this].concat(p))), S), S._targetNode = null, S._elementParentNode = null, S._tether = !1, f), N(S, _);
      }
      return n(h, [{
        key: "componentDidMount",
        value: function() {
          this._targetNode = g.default.findDOMNode(this), this._update();
        }
      }, {
        key: "componentDidUpdate",
        value: function(f) {
          this._targetNode = g.default.findDOMNode(this), this._update();
        }
      }, {
        key: "componentWillUnmount",
        value: function() {
          this._destroy();
        }
      }, {
        key: "getTetherInstance",
        value: function() {
          return this._tether;
        }
      }, {
        key: "disable",
        value: function() {
          this._tether.disable();
        }
      }, {
        key: "enable",
        value: function() {
          this._tether.enable();
        }
      }, {
        key: "on",
        value: function(f, S, _) {
          this._tether.on(f, S, _);
        }
      }, {
        key: "once",
        value: function(f, S, _) {
          this._tether.once(f, S, _);
        }
      }, {
        key: "off",
        value: function(f, S) {
          this._tether.off(f, S);
        }
      }, {
        key: "position",
        value: function() {
          this._tether.position();
        }
      }, {
        key: "_registerEventListeners",
        value: function() {
          var f = this, S = arguments;
          this.on("update", function() {
            return f.props.onUpdate && f.props.onUpdate.apply(f, S);
          }), this.on("repositioned", function() {
            return f.props.onRepositioned && f.props.onRepositioned.apply(f, S);
          });
        }
      }, {
        key: "_destroy",
        value: function() {
          this._elementParentNode && (g.default.unmountComponentAtNode(this._elementParentNode), this._elementParentNode.parentNode.removeChild(this._elementParentNode)), this._tether && this._tether.destroy(), this._elementParentNode = null, this._tether = null;
        }
      }, {
        key: "_update",
        value: function() {
          var f = this, S = this.props, _ = S.children, d = S.renderElementTag, p = i.Children.toArray(_)[1];
          if (!p) {
            this._tether && this._destroy();
            return;
          }
          this._elementParentNode || (this._elementParentNode = document.createElement(d), this._renderNode.appendChild(this._elementParentNode)), g.default.unstable_renderSubtreeIntoContainer(this, p, this._elementParentNode, function() {
            f._elementParentNode && f._updateTether();
          });
        }
      }, {
        key: "_updateTether",
        value: function() {
          var f = this, S = this.props;
          S.children, S.renderElementTag, S.renderElementTo;
          var _ = S.id, d = S.className, p = S.style, b = x(S, ["children", "renderElementTag", "renderElementTo", "id", "className", "style"]), m = r({
            target: this._targetNode,
            element: this._elementParentNode
          }, b);
          _ && (this._elementParentNode.id = _), d && (this._elementParentNode.className = d), p && Object.keys(p).forEach(function(v) {
            f._elementParentNode.style[v] = p[v];
          }), this._tether ? this._tether.setOptions(m) : (this._tether = new C.default(m), this._registerEventListeners()), this._tether.position();
        }
      }, {
        key: "render",
        value: function() {
          return i.Children.toArray(this.props.children)[0];
        }
      }, {
        key: "_renderNode",
        get: function() {
          var f = this.props.renderElementTo;
          return typeof f == "string" ? document.querySelector(f) : f || document.body;
        }
      }]), h;
    }(i.Component);
    a.propTypes = {
      renderElementTag: l.default.string,
      renderElementTo: l.default.oneOfType(z),
      attachment: l.default.oneOf(u).isRequired,
      targetAttachment: l.default.oneOf(u),
      offset: l.default.string,
      targetOffset: l.default.string,
      targetModifier: l.default.string,
      enabled: l.default.bool,
      classes: l.default.object,
      classPrefix: l.default.string,
      optimizations: l.default.object,
      constraints: l.default.array,
      id: l.default.string,
      className: l.default.string,
      style: l.default.object,
      onUpdate: l.default.func,
      onRepositioned: l.default.func,
      children: A
    }, a.defaultProps = {
      renderElementTag: "div",
      renderElementTo: null
    }, t.default = a, e.exports = t.default;
  }(Cp, Cp.exports)), Cp.exports;
}
var Q3;
function xse() {
  return Q3 || (Q3 = 1, function(e, t) {
    Object.defineProperty(t, "__esModule", {
      value: !0
    }), t.default = void 0;
    var r = Cse(), n = i(r);
    function i(o) {
      return o && o.__esModule ? o : { default: o };
    }
    t.default = n.default, e.exports = t.default;
  }(Tp, Tp.exports)), Tp.exports;
}
var TT = {}, ia = {}, CT = {}, xp = {}, xT = {}, AT, Z3;
function Ase() {
  if (Z3) return AT;
  Z3 = 1;
  var e = SV(), t = e(Object.getPrototypeOf, Object);
  return AT = t, AT;
}
var DT, J3;
function Qs() {
  if (J3) return DT;
  J3 = 1;
  var e = Ho(), t = Ase(), r = oo(), n = "[object Object]", i = Function.prototype, o = Object.prototype, l = i.toString, c = o.hasOwnProperty, g = l.call(Object);
  function y(C) {
    if (!r(C) || e(C) != n)
      return !1;
    var D = t(C);
    if (D === null)
      return !0;
    var x = c.call(D, "constructor") && D.constructor;
    return typeof x == "function" && x instanceof x && l.call(x) == g;
  }
  return DT = y, DT;
}
function Dse(e) {
  var t, r = e.Symbol;
  return typeof r == "function" ? r.observable ? t = r.observable : (t = r("observable"), r.observable = t) : t = "@@observable", t;
}
var zu;
typeof self < "u" ? zu = self : typeof window < "u" ? zu = window : typeof global < "u" ? zu = global : typeof module < "u" ? zu = module : zu = Function("return this")();
var SA = Dse(zu);
const Pse = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  default: SA
}, Symbol.toStringTag, { value: "Module" })), kse = /* @__PURE__ */ On(Pse);
var eq;
function Rse() {
  return eq || (eq = 1, function(e) {
    e.__esModule = !0, e.ActionTypes = void 0, e.default = c;
    var t = Qs(), r = o(t), n = kse, i = o(n);
    function o(g) {
      return g && g.__esModule ? g : { default: g };
    }
    var l = e.ActionTypes = {
      INIT: "@@redux/INIT"
      /**
       * Creates a Redux store that holds the state tree.
       * The only way to change the data in the store is to call `dispatch()` on it.
       *
       * There should only be a single store in your app. To specify how different
       * parts of the state tree respond to actions, you may combine several reducers
       * into a single reducer function by using `combineReducers`.
       *
       * @param {Function} reducer A function that returns the next state tree, given
       * the current state tree and the action to handle.
       *
       * @param {any} [preloadedState] The initial state. You may optionally specify it
       * to hydrate the state from the server in universal apps, or to restore a
       * previously serialized user session.
       * If you use `combineReducers` to produce the root reducer function, this must be
       * an object with the same shape as `combineReducers` keys.
       *
       * @param {Function} [enhancer] The store enhancer. You may optionally specify it
       * to enhance the store with third-party capabilities such as middleware,
       * time travel, persistence, etc. The only store enhancer that ships with Redux
       * is `applyMiddleware()`.
       *
       * @returns {Store} A Redux store that lets you read the state, dispatch actions
       * and subscribe to changes.
       */
    };
    function c(g, y, C) {
      var D;
      if (typeof y == "function" && typeof C > "u" && (C = y, y = void 0), typeof C < "u") {
        if (typeof C != "function")
          throw new Error("Expected the enhancer to be a function.");
        return C(c)(g, y);
      }
      if (typeof g != "function")
        throw new Error("Expected the reducer to be a function.");
      var x = g, M = y, N = [], F = N, z = !1;
      function A() {
        F === N && (F = N.slice());
      }
      function u() {
        return M;
      }
      function a(f) {
        if (typeof f != "function")
          throw new Error("Expected listener to be a function.");
        var S = !0;
        return A(), F.push(f), function() {
          if (S) {
            S = !1, A();
            var d = F.indexOf(f);
            F.splice(d, 1);
          }
        };
      }
      function s(f) {
        if (!(0, r.default)(f))
          throw new Error("Actions must be plain objects. Use custom middleware for async actions.");
        if (typeof f.type > "u")
          throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');
        if (z)
          throw new Error("Reducers may not dispatch actions.");
        try {
          z = !0, M = x(M, f);
        } finally {
          z = !1;
        }
        for (var S = N = F, _ = 0; _ < S.length; _++) {
          var d = S[_];
          d();
        }
        return f;
      }
      function h(f) {
        if (typeof f != "function")
          throw new Error("Expected the nextReducer to be a function.");
        x = f, s({ type: l.INIT });
      }
      function E() {
        var f, S = a;
        return f = {
          /**
           * The minimal observable subscription method.
           * @param {Object} observer Any object that can be used as an observer.
           * The observer object should have a `next` method.
           * @returns {subscription} 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: function(d) {
            if (typeof d != "object")
              throw new TypeError("Expected the observer to be an object.");
            function p() {
              d.next && d.next(u());
            }
            p();
            var b = S(p);
            return { unsubscribe: b };
          }
        }, f[i.default] = function() {
          return this;
        }, f;
      }
      return s({ type: l.INIT }), D = {
        dispatch: s,
        subscribe: a,
        getState: u,
        replaceReducer: h
      }, D[i.default] = E, D;
    }
  }(xT)), xT;
}
var Ap = {}, mu = {}, Rr = {}, Dp = {}, tq;
function C7() {
  if (tq) return Dp;
  tq = 1, Object.defineProperty(Dp, "__esModule", {
    value: !0
  }), Dp.default = n;
  var e = Ir(), t = r(e);
  function r(i) {
    return i && i.__esModule ? i : { default: i };
  }
  function n(i, o) {
    return (0, t.default)(i) ? i.some(function(l) {
      return l === o;
    }) : i === o;
  }
  return Dp;
}
var rq;
function Ry() {
  if (rq) return Rr;
  rq = 1, Object.defineProperty(Rr, "__esModule", {
    value: !0
  }), Rr.END_DRAG = Rr.DROP = Rr.HOVER = Rr.PUBLISH_DRAG_SOURCE = Rr.BEGIN_DRAG = void 0;
  var e = Object.assign || function(s) {
    for (var h = 1; h < arguments.length; h++) {
      var E = arguments[h];
      for (var f in E)
        Object.prototype.hasOwnProperty.call(E, f) && (s[f] = E[f]);
    }
    return s;
  };
  Rr.beginDrag = F, Rr.publishDragSource = z, Rr.hover = A, Rr.drop = u, Rr.endDrag = a;
  var t = Un(), r = y(t), n = Ir(), i = y(n), o = Vi(), l = y(o), c = C7(), g = y(c);
  function y(s) {
    return s && s.__esModule ? s : { default: s };
  }
  var C = Rr.BEGIN_DRAG = "dnd-core/BEGIN_DRAG", D = Rr.PUBLISH_DRAG_SOURCE = "dnd-core/PUBLISH_DRAG_SOURCE", x = Rr.HOVER = "dnd-core/HOVER", M = Rr.DROP = "dnd-core/DROP", N = Rr.END_DRAG = "dnd-core/END_DRAG";
  function F(s) {
    var h = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { publishSource: !0, clientOffset: null }, E = h.publishSource, f = h.clientOffset, S = h.getSourceClientOffset;
    (0, r.default)((0, i.default)(s), "Expected sourceIds to be an array.");
    var _ = this.getMonitor(), d = this.getRegistry();
    (0, r.default)(!_.isDragging(), "Cannot call beginDrag while dragging.");
    for (var p = 0; p < s.length; p++)
      (0, r.default)(d.getSource(s[p]), "Expected sourceIds to be registered.");
    for (var b = null, m = s.length - 1; m >= 0; m--)
      if (_.canDragSource(s[m])) {
        b = s[m];
        break;
      }
    if (b !== null) {
      var v = null;
      f && ((0, r.default)(typeof S == "function", "When clientOffset is provided, getSourceClientOffset must be a function."), v = S(b));
      var O = d.getSource(b), T = O.beginDrag(_, b);
      (0, r.default)((0, l.default)(T), "Item must be an object."), d.pinSource(b);
      var w = d.getSourceType(b);
      return {
        type: C,
        itemType: w,
        item: T,
        sourceId: b,
        clientOffset: f,
        sourceClientOffset: v,
        isSourcePublic: E
      };
    }
  }
  function z() {
    var s = this.getMonitor();
    if (s.isDragging())
      return { type: D };
  }
  function A(s) {
    var h = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, E = h.clientOffset, f = E === void 0 ? null : E;
    (0, r.default)((0, i.default)(s), "Expected targetIds to be an array.");
    var S = s.slice(0), _ = this.getMonitor(), d = this.getRegistry();
    (0, r.default)(_.isDragging(), "Cannot call hover while not dragging."), (0, r.default)(!_.didDrop(), "Cannot call hover after drop.");
    for (var p = 0; p < S.length; p++) {
      var b = S[p];
      (0, r.default)(S.lastIndexOf(b) === p, "Expected targetIds to be unique in the passed array.");
      var m = d.getTarget(b);
      (0, r.default)(m, "Expected targetIds to be registered.");
    }
    for (var v = _.getItemType(), O = S.length - 1; O >= 0; O--) {
      var T = S[O], w = d.getTargetType(T);
      (0, g.default)(w, v) || S.splice(O, 1);
    }
    for (var P = 0; P < S.length; P++) {
      var I = S[P], L = d.getTarget(I);
      L.hover(_, I);
    }
    return {
      type: x,
      targetIds: S,
      clientOffset: f
    };
  }
  function u() {
    var s = this, h = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, E = this.getMonitor(), f = this.getRegistry();
    (0, r.default)(E.isDragging(), "Cannot call drop while not dragging."), (0, r.default)(!E.didDrop(), "Cannot call drop twice during one drag operation.");
    var S = E.getTargetIds().filter(E.canDropOnTarget, E);
    S.reverse(), S.forEach(function(_, d) {
      var p = f.getTarget(_), b = p.drop(E, _);
      (0, r.default)(typeof b > "u" || (0, l.default)(b), "Drop result must either be an object or undefined."), typeof b > "u" && (b = d === 0 ? {} : E.getDropResult()), s.store.dispatch({
        type: M,
        dropResult: e({}, h, b)
      });
    });
  }
  function a() {
    var s = this.getMonitor(), h = this.getRegistry();
    (0, r.default)(s.isDragging(), "Cannot call endDrag while not dragging.");
    var E = s.getSourceId(), f = h.getSource(E, !0);
    return f.endDrag(s, E), h.unpinSource(), { type: N };
  }
  return Rr;
}
var nq;
function x7() {
  if (nq) return mu;
  nq = 1, Object.defineProperty(mu, "__esModule", {
    value: !0
  });
  var e = Object.assign || function(c) {
    for (var g = 1; g < arguments.length; g++) {
      var y = arguments[g];
      for (var C in y)
        Object.prototype.hasOwnProperty.call(y, C) && (c[C] = y[C]);
    }
    return c;
  };
  mu.default = i, mu.getSourceClientOffset = o, mu.getDifferenceFromInitialOffset = l;
  var t = Ry(), r = {
    initialSourceClientOffset: null,
    initialClientOffset: null,
    clientOffset: null
  };
  function n(c, g) {
    return c === g ? !0 : c && g && c.x === g.x && c.y === g.y;
  }
  function i() {
    var c = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : r, g = arguments[1];
    switch (g.type) {
      case t.BEGIN_DRAG:
        return {
          initialSourceClientOffset: g.sourceClientOffset,
          initialClientOffset: g.clientOffset,
          clientOffset: g.clientOffset
        };
      case t.HOVER:
        return n(c.clientOffset, g.clientOffset) ? c : e({}, c, {
          clientOffset: g.clientOffset
        });
      case t.END_DRAG:
      case t.DROP:
        return r;
      default:
        return c;
    }
  }
  function o(c) {
    var g = c.clientOffset, y = c.initialClientOffset, C = c.initialSourceClientOffset;
    return !g || !y || !C ? null : {
      x: g.x + C.x - y.x,
      y: g.y + C.y - y.y
    };
  }
  function l(c) {
    var g = c.clientOffset, y = c.initialClientOffset;
    return !g || !y ? null : {
      x: g.x - y.x,
      y: g.y - y.y
    };
  }
  return mu;
}
var Pp = {}, PT, iq;
function OP() {
  if (iq) return PT;
  iq = 1;
  var e = Ty();
  function t(r, n) {
    var i = r == null ? 0 : r.length;
    return !!i && e(r, n, 0) > -1;
  }
  return PT = t, PT;
}
var kT, aq;
function TP() {
  if (aq) return kT;
  aq = 1;
  function e(t, r, n) {
    for (var i = -1, o = t == null ? 0 : t.length; ++i < o; )
      if (n(r, t[i]))
        return !0;
    return !1;
  }
  return kT = e, kT;
}
var RT, oq;
function A7() {
  if (oq) return RT;
  oq = 1;
  var e = Ey(), t = OP(), r = TP(), n = cd(), i = XD(), o = Sy(), l = 200;
  function c(g, y, C, D) {
    var x = -1, M = t, N = !0, F = g.length, z = [], A = y.length;
    if (!F)
      return z;
    C && (y = n(y, i(C))), D ? (M = r, N = !1) : y.length >= l && (M = o, N = !1, y = new e(y));
    e:
      for (; ++x < F; ) {
        var u = g[x], a = C == null ? u : C(u);
        if (u = D || u !== 0 ? u : 0, N && a === a) {
          for (var s = A; s--; )
            if (y[s] === a)
              continue e;
          z.push(u);
        } else M(y, a, D) || z.push(u);
      }
    return z;
  }
  return RT = c, RT;
}
var MT, sq;
function My() {
  if (sq) return MT;
  sq = 1;
  var e = Gs(), t = oo();
  function r(n) {
    return t(n) && e(n);
  }
  return MT = r, MT;
}
var NT, uq;
function D7() {
  if (uq) return NT;
  uq = 1;
  var e = A7(), t = Al(), r = My(), n = t(function(i, o) {
    return r(i) ? e(i, o) : [];
  });
  return NT = n, NT;
}
var xi = {}, lq;
function Ny() {
  if (lq) return xi;
  lq = 1, Object.defineProperty(xi, "__esModule", {
    value: !0
  }), xi.addSource = i, xi.addTarget = o, xi.removeSource = l, xi.removeTarget = c;
  var e = xi.ADD_SOURCE = "dnd-core/ADD_SOURCE", t = xi.ADD_TARGET = "dnd-core/ADD_TARGET", r = xi.REMOVE_SOURCE = "dnd-core/REMOVE_SOURCE", n = xi.REMOVE_TARGET = "dnd-core/REMOVE_TARGET";
  function i(g) {
    return {
      type: e,
      sourceId: g
    };
  }
  function o(g) {
    return {
      type: t,
      targetId: g
    };
  }
  function l(g) {
    return {
      type: r,
      sourceId: g
    };
  }
  function c(g) {
    return {
      type: n,
      targetId: g
    };
  }
  return xi;
}
var cq;
function Mse() {
  if (cq) return Pp;
  cq = 1, Object.defineProperty(Pp, "__esModule", {
    value: !0
  });
  var e = Object.assign || function(g) {
    for (var y = 1; y < arguments.length; y++) {
      var C = arguments[y];
      for (var D in C)
        Object.prototype.hasOwnProperty.call(C, D) && (g[D] = C[D]);
    }
    return g;
  };
  Pp.default = c;
  var t = D7(), r = o(t), n = Ry(), i = Ny();
  function o(g) {
    return g && g.__esModule ? g : { default: g };
  }
  var l = {
    itemType: null,
    item: null,
    sourceId: null,
    targetIds: [],
    dropResult: null,
    didDrop: !1,
    isSourcePublic: null
  };
  function c() {
    var g = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : l, y = arguments[1];
    switch (y.type) {
      case n.BEGIN_DRAG:
        return e({}, g, {
          itemType: y.itemType,
          item: y.item,
          sourceId: y.sourceId,
          isSourcePublic: y.isSourcePublic,
          dropResult: null,
          didDrop: !1
        });
      case n.PUBLISH_DRAG_SOURCE:
        return e({}, g, {
          isSourcePublic: !0
        });
      case n.HOVER:
        return e({}, g, {
          targetIds: y.targetIds
        });
      case i.REMOVE_TARGET:
        return g.targetIds.indexOf(y.targetId) === -1 ? g : e({}, g, {
          targetIds: (0, r.default)(g.targetIds, y.targetId)
        });
      case n.DROP:
        return e({}, g, {
          dropResult: y.dropResult,
          didDrop: !0,
          targetIds: []
        });
      case n.END_DRAG:
        return e({}, g, {
          itemType: null,
          item: null,
          sourceId: null,
          dropResult: null,
          didDrop: !1,
          isSourcePublic: null,
          targetIds: []
        });
      default:
        return g;
    }
  }
  return Pp;
}
var kp = {}, fq;
function Nse() {
  if (fq) return kp;
  fq = 1, Object.defineProperty(kp, "__esModule", {
    value: !0
  }), kp.default = t;
  var e = Ny();
  function t() {
    var r = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0, n = arguments[1];
    switch (n.type) {
      case e.ADD_SOURCE:
      case e.ADD_TARGET:
        return r + 1;
      case e.REMOVE_SOURCE:
      case e.REMOVE_TARGET:
        return r - 1;
      default:
        return r;
    }
  }
  return kp;
}
var Zl = {}, IT, dq;
function Ise() {
  if (dq) return IT;
  dq = 1;
  var e = sd(), t = YD(), r = Ir(), n = e ? e.isConcatSpreadable : void 0;
  function i(o) {
    return r(o) || t(o) || !!(n && o && o[n]);
  }
  return IT = i, IT;
}
var FT, pq;
function P7() {
  if (pq) return FT;
  pq = 1;
  var e = AV(), t = Ise();
  function r(n, i, o, l, c) {
    var g = -1, y = n.length;
    for (o || (o = t), c || (c = []); ++g < y; ) {
      var C = n[g];
      i > 0 && o(C) ? i > 1 ? r(C, i - 1, o, l, c) : e(c, C) : l || (c[c.length] = C);
    }
    return c;
  }
  return FT = r, FT;
}
var LT, hq;
function k7() {
  if (hq) return LT;
  hq = 1;
  function e() {
  }
  return LT = e, LT;
}
var jT, mq;
function Fse() {
  if (mq) return jT;
  mq = 1;
  var e = DV(), t = k7(), r = tP(), n = 1 / 0, i = e && 1 / r(new e([, -0]))[1] == n ? function(o) {
    return new e(o);
  } : t;
  return jT = i, jT;
}
var UT, vq;
function R7() {
  if (vq) return UT;
  vq = 1;
  var e = Ey(), t = OP(), r = TP(), n = Sy(), i = Fse(), o = tP(), l = 200;
  function c(g, y, C) {
    var D = -1, x = t, M = g.length, N = !0, F = [], z = F;
    if (C)
      N = !1, x = r;
    else if (M >= l) {
      var A = y ? null : i(g);
      if (A)
        return o(A);
      N = !1, x = n, z = new e();
    } else
      z = y ? [] : F;
    e:
      for (; ++D < M; ) {
        var u = g[D], a = y ? y(u) : u;
        if (u = C || u !== 0 ? u : 0, N && a === a) {
          for (var s = z.length; s--; )
            if (z[s] === a)
              continue e;
          y && z.push(a), F.push(u);
        } else x(z, a, C) || (z !== F && z.push(a), F.push(u));
      }
    return F;
  }
  return UT = c, UT;
}
var qT, gq;
function Lse() {
  if (gq) return qT;
  gq = 1;
  var e = A7(), t = P7(), r = R7();
  function n(i, o, l) {
    var c = i.length;
    if (c < 2)
      return c ? r(i[0]) : [];
    for (var g = -1, y = Array(c); ++g < c; )
      for (var C = i[g], D = -1; ++D < c; )
        D != g && (y[g] = e(y[g] || C, i[D], o, l));
    return r(t(y, 1), o, l);
  }
  return qT = n, qT;
}
var zT, yq;
function jse() {
  if (yq) return zT;
  yq = 1;
  var e = ZD(), t = Al(), r = Lse(), n = My(), i = t(function(o) {
    return r(e(o, n));
  });
  return zT = i, zT;
}
var BT, bq;
function Use() {
  if (bq) return BT;
  bq = 1;
  var e = Ey(), t = OP(), r = TP(), n = cd(), i = XD(), o = Sy(), l = Math.min;
  function c(g, y, C) {
    for (var D = C ? r : t, x = g[0].length, M = g.length, N = M, F = Array(M), z = 1 / 0, A = []; N--; ) {
      var u = g[N];
      N && y && (u = n(u, i(y))), z = l(u.length, z), F[N] = !C && (y || x >= 120 && u.length >= 120) ? new e(N && u) : void 0;
    }
    u = g[0];
    var a = -1, s = F[0];
    e:
      for (; ++a < x && A.length < z; ) {
        var h = u[a], E = y ? y(h) : h;
        if (h = C || h !== 0 ? h : 0, !(s ? o(s, E) : D(A, E, C))) {
          for (N = M; --N; ) {
            var f = F[N];
            if (!(f ? o(f, E) : D(g[N], E, C)))
              continue e;
          }
          s && s.push(E), A.push(h);
        }
      }
    return A;
  }
  return BT = c, BT;
}
var WT, _q;
function qse() {
  if (_q) return WT;
  _q = 1;
  var e = My();
  function t(r) {
    return e(r) ? r : [];
  }
  return WT = t, WT;
}
var $T, Eq;
function zse() {
  if (Eq) return $T;
  Eq = 1;
  var e = cd(), t = Use(), r = Al(), n = qse(), i = r(function(o) {
    var l = e(o, n);
    return l.length && l[0] === o[0] ? t(l) : [];
  });
  return $T = i, $T;
}
var Sq;
function M7() {
  if (Sq) return Zl;
  Sq = 1, Object.defineProperty(Zl, "__esModule", {
    value: !0
  }), Zl.default = y, Zl.areDirty = C;
  var e = jse(), t = l(e), r = zse(), n = l(r), i = Ry(), o = Ny();
  function l(D) {
    return D && D.__esModule ? D : { default: D };
  }
  var c = [], g = [];
  function y() {
    var D = arguments[1], x = arguments[2];
    switch (D.type) {
      case i.HOVER:
        break;
      case o.ADD_SOURCE:
      case o.ADD_TARGET:
      case o.REMOVE_TARGET:
      case o.REMOVE_SOURCE:
        return c;
      case i.BEGIN_DRAG:
      case i.PUBLISH_DRAG_SOURCE:
      case i.END_DRAG:
      case i.DROP:
      default:
        return g;
    }
    var M = D.targetIds, N = x.targetIds, F = (0, t.default)(M, N), z = !1;
    if (F.length === 0) {
      for (var A = 0; A < M.length; A++)
        if (M[A] !== N[A]) {
          z = !0;
          break;
        }
    } else
      z = !0;
    if (!z)
      return c;
    var u = N[N.length - 1], a = M[M.length - 1];
    return u !== a && (u && F.push(u), a && F.push(a)), F;
  }
  function C(D, x) {
    return D === c ? !1 : D === g || typeof x > "u" ? !0 : (0, n.default)(x, D).length > 0;
  }
  return Zl;
}
var Rp = {}, wq;
function Bse() {
  if (wq) return Rp;
  wq = 1, Object.defineProperty(Rp, "__esModule", {
    value: !0
  }), Rp.default = e;
  function e() {
    var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
    return t + 1;
  }
  return Rp;
}
var Oq;
function Wse() {
  if (Oq) return Ap;
  Oq = 1, Object.defineProperty(Ap, "__esModule", {
    value: !0
  }), Ap.default = D;
  var e = x7(), t = C(e), r = Mse(), n = C(r), i = Nse(), o = C(i), l = M7(), c = C(l), g = Bse(), y = C(g);
  function C(x) {
    return x && x.__esModule ? x : { default: x };
  }
  function D() {
    var x = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, M = arguments[1];
    return {
      dirtyHandlerIds: (0, c.default)(x.dirtyHandlerIds, M, x.dragOperation),
      dragOffset: (0, t.default)(x.dragOffset, M),
      refCount: (0, o.default)(x.refCount, M),
      dragOperation: (0, n.default)(x.dragOperation, M),
      stateId: (0, y.default)(x.stateId)
    };
  }
  return Ap;
}
var Mp = {}, Np = {}, VT, Tq;
function $se() {
  if (Tq) return VT;
  Tq = 1, VT = e;
  function e(C) {
    t.length || r(), t[t.length] = C;
  }
  var t = [], r, n = 0, i = 1024;
  function o() {
    for (; n < t.length; ) {
      var C = n;
      if (n = n + 1, t[C].call(), n > i) {
        for (var D = 0, x = t.length - n; D < x; D++)
          t[D] = t[D + n];
        t.length -= n, n = 0;
      }
    }
    t.length = 0, n = 0;
  }
  var l = typeof ba < "u" ? ba : self, c = l.MutationObserver || l.WebKitMutationObserver;
  typeof c == "function" ? r = g(o) : r = y(o), e.requestFlush = r;
  function g(C) {
    var D = 1, x = new c(C), M = document.createTextNode("");
    return x.observe(M, { characterData: !0 }), function() {
      D = -D, M.data = D;
    };
  }
  function y(C) {
    return function() {
      var x = setTimeout(N, 0), M = setInterval(N, 50);
      function N() {
        clearTimeout(x), clearInterval(M), C();
      }
    };
  }
  return e.makeRequestCallFromTimer = y, VT;
}
var HT, Cq;
function Vse() {
  if (Cq) return HT;
  Cq = 1;
  var e = $se(), t = [], r = [], n = e.makeRequestCallFromTimer(i);
  function i() {
    if (r.length)
      throw r.shift();
  }
  HT = o;
  function o(c) {
    var g;
    t.length ? g = t.pop() : g = new l(), g.task = c, e(g);
  }
  function l() {
    this.task = null;
  }
  return l.prototype.call = function() {
    try {
      this.task.call();
    } catch (c) {
      o.onerror ? o.onerror(c) : (r.push(c), n());
    } finally {
      this.task = null, t[t.length] = this;
    }
  }, HT;
}
var Ip = {}, xq;
function Hse() {
  if (xq) return Ip;
  xq = 1, Object.defineProperty(Ip, "__esModule", {
    value: !0
  }), Ip.default = t;
  var e = 0;
  function t() {
    return e++;
  }
  return Ip;
}
var Aq;
function Yse() {
  if (Aq) return Np;
  Aq = 1, Object.defineProperty(Np, "__esModule", {
    value: !0
  });
  var e = /* @__PURE__ */ function() {
    function s(h, E) {
      for (var f = 0; f < E.length; f++) {
        var S = E[f];
        S.enumerable = S.enumerable || !1, S.configurable = !0, "value" in S && (S.writable = !0), Object.defineProperty(h, S.key, S);
      }
    }
    return function(h, E, f) {
      return E && s(h.prototype, E), f && s(h, f), h;
    };
  }(), t = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(s) {
    return typeof s;
  } : function(s) {
    return s && typeof Symbol == "function" && s.constructor === Symbol && s !== Symbol.prototype ? "symbol" : typeof s;
  }, r = Un(), n = D(r), i = Ir(), o = D(i), l = Vse(), c = D(l), g = Ny(), y = Hse(), C = D(y);
  function D(s) {
    return s && s.__esModule ? s : { default: s };
  }
  function x(s, h) {
    if (!(s instanceof h))
      throw new TypeError("Cannot call a class as a function");
  }
  var M = {
    SOURCE: "SOURCE",
    TARGET: "TARGET"
  };
  function N(s) {
    (0, n.default)(typeof s.canDrag == "function", "Expected canDrag to be a function."), (0, n.default)(typeof s.beginDrag == "function", "Expected beginDrag to be a function."), (0, n.default)(typeof s.endDrag == "function", "Expected endDrag to be a function.");
  }
  function F(s) {
    (0, n.default)(typeof s.canDrop == "function", "Expected canDrop to be a function."), (0, n.default)(typeof s.hover == "function", "Expected hover to be a function."), (0, n.default)(typeof s.drop == "function", "Expected beginDrag to be a function.");
  }
  function z(s, h) {
    if (h && (0, o.default)(s)) {
      s.forEach(function(E) {
        return z(E, !1);
      });
      return;
    }
    (0, n.default)(typeof s == "string" || (typeof s > "u" ? "undefined" : t(s)) === "symbol", h ? "Type can only be a string, a symbol, or an array of either." : "Type can only be a string or a symbol.");
  }
  function A(s) {
    var h = (0, C.default)().toString();
    switch (s) {
      case M.SOURCE:
        return "S" + h;
      case M.TARGET:
        return "T" + h;
      default:
        (0, n.default)(!1, "Unknown role: " + s);
    }
  }
  function u(s) {
    switch (s[0]) {
      case "S":
        return M.SOURCE;
      case "T":
        return M.TARGET;
      default:
        (0, n.default)(!1, "Cannot parse handler ID: " + s);
    }
  }
  var a = function() {
    function s(h) {
      x(this, s), this.store = h, this.types = {}, this.handlers = {}, this.pinnedSourceId = null, this.pinnedSource = null;
    }
    return e(s, [{
      key: "addSource",
      value: function(E, f) {
        z(E), N(f);
        var S = this.addHandler(M.SOURCE, E, f);
        return this.store.dispatch((0, g.addSource)(S)), S;
      }
    }, {
      key: "addTarget",
      value: function(E, f) {
        z(E, !0), F(f);
        var S = this.addHandler(M.TARGET, E, f);
        return this.store.dispatch((0, g.addTarget)(S)), S;
      }
    }, {
      key: "addHandler",
      value: function(E, f, S) {
        var _ = A(E);
        return this.types[_] = f, this.handlers[_] = S, _;
      }
    }, {
      key: "containsHandler",
      value: function(E) {
        var f = this;
        return Object.keys(this.handlers).some(function(S) {
          return f.handlers[S] === E;
        });
      }
    }, {
      key: "getSource",
      value: function(E, f) {
        (0, n.default)(this.isSourceId(E), "Expected a valid source ID.");
        var S = f && E === this.pinnedSourceId, _ = S ? this.pinnedSource : this.handlers[E];
        return _;
      }
    }, {
      key: "getTarget",
      value: function(E) {
        return (0, n.default)(this.isTargetId(E), "Expected a valid target ID."), this.handlers[E];
      }
    }, {
      key: "getSourceType",
      value: function(E) {
        return (0, n.default)(this.isSourceId(E), "Expected a valid source ID."), this.types[E];
      }
    }, {
      key: "getTargetType",
      value: function(E) {
        return (0, n.default)(this.isTargetId(E), "Expected a valid target ID."), this.types[E];
      }
    }, {
      key: "isSourceId",
      value: function(E) {
        var f = u(E);
        return f === M.SOURCE;
      }
    }, {
      key: "isTargetId",
      value: function(E) {
        var f = u(E);
        return f === M.TARGET;
      }
    }, {
      key: "removeSource",
      value: function(E) {
        var f = this;
        (0, n.default)(this.getSource(E), "Expected an existing source."), this.store.dispatch((0, g.removeSource)(E)), (0, c.default)(function() {
          delete f.handlers[E], delete f.types[E];
        });
      }
    }, {
      key: "removeTarget",
      value: function(E) {
        var f = this;
        (0, n.default)(this.getTarget(E), "Expected an existing target."), this.store.dispatch((0, g.removeTarget)(E)), (0, c.default)(function() {
          delete f.handlers[E], delete f.types[E];
        });
      }
    }, {
      key: "pinSource",
      value: function(E) {
        var f = this.getSource(E);
        (0, n.default)(f, "Expected an existing source."), this.pinnedSourceId = E, this.pinnedSource = f;
      }
    }, {
      key: "unpinSource",
      value: function() {
        (0, n.default)(this.pinnedSource, "No source is pinned at the time."), this.pinnedSourceId = null, this.pinnedSource = null;
      }
    }]), s;
  }();
  return Np.default = a, Np;
}
var Dq;
function Gse() {
  if (Dq) return Mp;
  Dq = 1, Object.defineProperty(Mp, "__esModule", {
    value: !0
  });
  var e = /* @__PURE__ */ function() {
    function N(F, z) {
      for (var A = 0; A < z.length; A++) {
        var u = z[A];
        u.enumerable = u.enumerable || !1, u.configurable = !0, "value" in u && (u.writable = !0), Object.defineProperty(F, u.key, u);
      }
    }
    return function(F, z, A) {
      return z && N(F.prototype, z), A && N(F, A), F;
    };
  }(), t = Un(), r = D(t), n = Ir(), i = D(n), o = C7(), l = D(o), c = Yse(), g = D(c), y = x7(), C = M7();
  function D(N) {
    return N && N.__esModule ? N : { default: N };
  }
  function x(N, F) {
    if (!(N instanceof F))
      throw new TypeError("Cannot call a class as a function");
  }
  var M = function() {
    function N(F) {
      x(this, N), this.store = F, this.registry = new g.default(F);
    }
    return e(N, [{
      key: "subscribeToStateChange",
      value: function(z) {
        var A = this, u = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, a = u.handlerIds;
        (0, r.default)(typeof z == "function", "listener must be a function."), (0, r.default)(typeof a > "u" || (0, i.default)(a), "handlerIds, when specified, must be an array of strings.");
        var s = this.store.getState().stateId, h = function() {
          var f = A.store.getState(), S = f.stateId;
          try {
            var _ = S === s || S === s + 1 && !(0, C.areDirty)(f.dirtyHandlerIds, a);
            _ || z();
          } finally {
            s = S;
          }
        };
        return this.store.subscribe(h);
      }
    }, {
      key: "subscribeToOffsetChange",
      value: function(z) {
        var A = this;
        (0, r.default)(typeof z == "function", "listener must be a function.");
        var u = this.store.getState().dragOffset, a = function() {
          var h = A.store.getState().dragOffset;
          h !== u && (u = h, z());
        };
        return this.store.subscribe(a);
      }
    }, {
      key: "canDragSource",
      value: function(z) {
        var A = this.registry.getSource(z);
        return (0, r.default)(A, "Expected to find a valid source."), this.isDragging() ? !1 : A.canDrag(this, z);
      }
    }, {
      key: "canDropOnTarget",
      value: function(z) {
        var A = this.registry.getTarget(z);
        if ((0, r.default)(A, "Expected to find a valid target."), !this.isDragging() || this.didDrop())
          return !1;
        var u = this.registry.getTargetType(z), a = this.getItemType();
        return (0, l.default)(u, a) && A.canDrop(this, z);
      }
    }, {
      key: "isDragging",
      value: function() {
        return !!this.getItemType();
      }
    }, {
      key: "isDraggingSource",
      value: function(z) {
        var A = this.registry.getSource(z, !0);
        if ((0, r.default)(A, "Expected to find a valid source."), !this.isDragging() || !this.isSourcePublic())
          return !1;
        var u = this.registry.getSourceType(z), a = this.getItemType();
        return u !== a ? !1 : A.isDragging(this, z);
      }
    }, {
      key: "isOverTarget",
      value: function(z) {
        var A = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { shallow: !1 }, u = A.shallow;
        if (!this.isDragging())
          return !1;
        var a = this.registry.getTargetType(z), s = this.getItemType();
        if (!(0, l.default)(a, s))
          return !1;
        var h = this.getTargetIds();
        if (!h.length)
          return !1;
        var E = h.indexOf(z);
        return u ? E === h.length - 1 : E > -1;
      }
    }, {
      key: "getItemType",
      value: function() {
        return this.store.getState().dragOperation.itemType;
      }
    }, {
      key: "getItem",
      value: function() {
        return this.store.getState().dragOperation.item;
      }
    }, {
      key: "getSourceId",
      value: function() {
        return this.store.getState().dragOperation.sourceId;
      }
    }, {
      key: "getTargetIds",
      value: function() {
        return this.store.getState().dragOperation.targetIds;
      }
    }, {
      key: "getDropResult",
      value: function() {
        return this.store.getState().dragOperation.dropResult;
      }
    }, {
      key: "didDrop",
      value: function() {
        return this.store.getState().dragOperation.didDrop;
      }
    }, {
      key: "isSourcePublic",
      value: function() {
        return this.store.getState().dragOperation.isSourcePublic;
      }
    }, {
      key: "getInitialClientOffset",
      value: function() {
        return this.store.getState().dragOffset.initialClientOffset;
      }
    }, {
      key: "getInitialSourceClientOffset",
      value: function() {
        return this.store.getState().dragOffset.initialSourceClientOffset;
      }
    }, {
      key: "getClientOffset",
      value: function() {
        return this.store.getState().dragOffset.clientOffset;
      }
    }, {
      key: "getSourceClientOffset",
      value: function() {
        return (0, y.getSourceClientOffset)(this.store.getState().dragOffset);
      }
    }, {
      key: "getDifferenceFromInitialOffset",
      value: function() {
        return (0, y.getDifferenceFromInitialOffset)(this.store.getState().dragOffset);
      }
    }]), N;
  }();
  return Mp.default = M, Mp;
}
var Pq;
function Kse() {
  if (Pq) return xp;
  Pq = 1, Object.defineProperty(xp, "__esModule", {
    value: !0
  });
  var e = /* @__PURE__ */ function() {
    function M(N, F) {
      for (var z = 0; z < F.length; z++) {
        var A = F[z];
        A.enumerable = A.enumerable || !1, A.configurable = !0, "value" in A && (A.writable = !0), Object.defineProperty(N, A.key, A);
      }
    }
    return function(N, F, z) {
      return F && M(N.prototype, F), z && M(N, z), N;
    };
  }(), t = Rse(), r = C(t), n = Wse(), i = C(n), o = Ry(), l = y(o), c = Gse(), g = C(c);
  function y(M) {
    if (M && M.__esModule)
      return M;
    var N = {};
    if (M != null)
      for (var F in M)
        Object.prototype.hasOwnProperty.call(M, F) && (N[F] = M[F]);
    return N.default = M, N;
  }
  function C(M) {
    return M && M.__esModule ? M : { default: M };
  }
  function D(M, N) {
    if (!(M instanceof N))
      throw new TypeError("Cannot call a class as a function");
  }
  var x = function() {
    function M(N) {
      var F = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
      D(this, M);
      var z = (0, r.default)(i.default);
      this.context = F, this.store = z, this.monitor = new g.default(z), this.registry = this.monitor.registry, this.backend = N(this), z.subscribe(this.handleRefCountChange.bind(this));
    }
    return e(M, [{
      key: "handleRefCountChange",
      value: function() {
        var F = this.store.getState().refCount > 0;
        F && !this.isSetUp ? (this.backend.setup(), this.isSetUp = !0) : !F && this.isSetUp && (this.backend.teardown(), this.isSetUp = !1);
      }
    }, {
      key: "getContext",
      value: function() {
        return this.context;
      }
    }, {
      key: "getMonitor",
      value: function() {
        return this.monitor;
      }
    }, {
      key: "getBackend",
      value: function() {
        return this.backend;
      }
    }, {
      key: "getRegistry",
      value: function() {
        return this.registry;
      }
    }, {
      key: "getActions",
      value: function() {
        var F = this, z = this.store.dispatch;
        function A(u) {
          return function() {
            for (var a = arguments.length, s = Array(a), h = 0; h < a; h++)
              s[h] = arguments[h];
            var E = u.apply(F, s);
            typeof E < "u" && z(E);
          };
        }
        return Object.keys(l).filter(function(u) {
          return typeof l[u] == "function";
        }).reduce(function(u, a) {
          var s = l[a];
          return u[a] = A(s), u;
        }, {});
      }
    }]), M;
  }();
  return xp.default = x, xp;
}
var Fp = {}, kq;
function Xse() {
  if (kq) return Fp;
  kq = 1, Object.defineProperty(Fp, "__esModule", {
    value: !0
  });
  var e = /* @__PURE__ */ function() {
    function n(i, o) {
      for (var l = 0; l < o.length; l++) {
        var c = o[l];
        c.enumerable = c.enumerable || !1, c.configurable = !0, "value" in c && (c.writable = !0), Object.defineProperty(i, c.key, c);
      }
    }
    return function(i, o, l) {
      return o && n(i.prototype, o), l && n(i, l), i;
    };
  }();
  function t(n, i) {
    if (!(n instanceof i))
      throw new TypeError("Cannot call a class as a function");
  }
  var r = function() {
    function n() {
      t(this, n);
    }
    return e(n, [{
      key: "canDrag",
      value: function() {
        return !0;
      }
    }, {
      key: "isDragging",
      value: function(o, l) {
        return l === o.getSourceId();
      }
    }, {
      key: "endDrag",
      value: function() {
      }
    }]), n;
  }();
  return Fp.default = r, Fp;
}
var Lp = {}, Rq;
function Qse() {
  if (Rq) return Lp;
  Rq = 1, Object.defineProperty(Lp, "__esModule", {
    value: !0
  });
  var e = /* @__PURE__ */ function() {
    function n(i, o) {
      for (var l = 0; l < o.length; l++) {
        var c = o[l];
        c.enumerable = c.enumerable || !1, c.configurable = !0, "value" in c && (c.writable = !0), Object.defineProperty(i, c.key, c);
      }
    }
    return function(i, o, l) {
      return o && n(i.prototype, o), l && n(i, l), i;
    };
  }();
  function t(n, i) {
    if (!(n instanceof i))
      throw new TypeError("Cannot call a class as a function");
  }
  var r = function() {
    function n() {
      t(this, n);
    }
    return e(n, [{
      key: "canDrop",
      value: function() {
        return !0;
      }
    }, {
      key: "hover",
      value: function() {
      }
    }, {
      key: "drop",
      value: function() {
      }
    }]), n;
  }();
  return Lp.default = r, Lp;
}
var jp = {}, Mq;
function Zse() {
  if (Mq) return jp;
  Mq = 1, Object.defineProperty(jp, "__esModule", {
    value: !0
  });
  var e = /* @__PURE__ */ function() {
    function c(g, y) {
      for (var C = 0; C < y.length; C++) {
        var D = y[C];
        D.enumerable = D.enumerable || !1, D.configurable = !0, "value" in D && (D.writable = !0), Object.defineProperty(g, D.key, D);
      }
    }
    return function(g, y, C) {
      return y && c(g.prototype, y), C && c(g, C), g;
    };
  }();
  jp.default = l;
  var t = k7(), r = n(t);
  function n(c) {
    return c && c.__esModule ? c : { default: c };
  }
  function i(c, g) {
    if (!(c instanceof g))
      throw new TypeError("Cannot call a class as a function");
  }
  var o = function() {
    function c(g) {
      i(this, c), this.actions = g.getActions();
    }
    return e(c, [{
      key: "setup",
      value: function() {
        this.didCallSetup = !0;
      }
    }, {
      key: "teardown",
      value: function() {
        this.didCallTeardown = !0;
      }
    }, {
      key: "connectDragSource",
      value: function() {
        return r.default;
      }
    }, {
      key: "connectDragPreview",
      value: function() {
        return r.default;
      }
    }, {
      key: "connectDropTarget",
      value: function() {
        return r.default;
      }
    }, {
      key: "simulateBeginDrag",
      value: function(y, C) {
        this.actions.beginDrag(y, C);
      }
    }, {
      key: "simulatePublishDragSource",
      value: function() {
        this.actions.publishDragSource();
      }
    }, {
      key: "simulateHover",
      value: function(y, C) {
        this.actions.hover(y, C);
      }
    }, {
      key: "simulateDrop",
      value: function() {
        this.actions.drop();
      }
    }, {
      key: "simulateEndDrag",
      value: function() {
        this.actions.endDrag();
      }
    }]), c;
  }();
  function l(c) {
    return new o(c);
  }
  return jp;
}
var Nq;
function Jse() {
  return Nq || (Nq = 1, function(e) {
    Object.defineProperty(e, "__esModule", {
      value: !0
    });
    var t = Kse();
    Object.defineProperty(e, "DragDropManager", {
      enumerable: !0,
      get: function() {
        return o(t).default;
      }
    });
    var r = Xse();
    Object.defineProperty(e, "DragSource", {
      enumerable: !0,
      get: function() {
        return o(r).default;
      }
    });
    var n = Qse();
    Object.defineProperty(e, "DropTarget", {
      enumerable: !0,
      get: function() {
        return o(n).default;
      }
    });
    var i = Zse();
    Object.defineProperty(e, "createTestBackend", {
      enumerable: !0,
      get: function() {
        return o(i).default;
      }
    });
    function o(l) {
      return l && l.__esModule ? l : { default: l };
    }
  }(CT)), CT;
}
var Up = {}, Iq;
function Iy() {
  if (Iq) return Up;
  Iq = 1;
  var e = {};
  Object.defineProperty(Up, "__esModule", {
    value: !0
  }), Up.default = t;
  function t(r, n) {
    if (e.NODE_ENV !== "production")
      for (var i = 0; i < (arguments.length <= 2 ? 0 : arguments.length - 2); i += 1) {
        var o = arguments.length <= i + 2 ? void 0 : arguments[i + 2];
        if (o && o.prototype && o.prototype.render) {
          console.error("You seem to be applying the arguments in the wrong order. " + ("It should be " + r + "(" + n + ")(Component), not the other way around. ") + "Read more: http://react-dnd.github.io/react-dnd/docs-troubleshooting.html#you-seem-to-be-applying-the-arguments-in-the-wrong-order");
          return;
        }
      }
  }
  return Up;
}
var Fq;
function N7() {
  if (Fq) return ia;
  Fq = 1, Object.defineProperty(ia, "__esModule", {
    value: !0
  }), ia.unpackBackendForEs5Users = ia.createChildContext = ia.CHILD_CONTEXT_TYPES = void 0;
  var e = Object.assign || function(E) {
    for (var f = 1; f < arguments.length; f++) {
      var S = arguments[f];
      for (var _ in S)
        Object.prototype.hasOwnProperty.call(S, _) && (E[_] = S[_]);
    }
    return E;
  }, t = /* @__PURE__ */ function() {
    function E(f, S) {
      for (var _ = 0; _ < S.length; _++) {
        var d = S[_];
        d.enumerable = d.enumerable || !1, d.configurable = !0, "value" in d && (d.writable = !0), Object.defineProperty(f, d.key, d);
      }
    }
    return function(f, S, _) {
      return S && E(f.prototype, S), _ && E(f, _), f;
    };
  }(), r = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(E) {
    return typeof E;
  } : function(E) {
    return E && typeof Symbol == "function" && E.constructor === Symbol && E !== Symbol.prototype ? "symbol" : typeof E;
  };
  ia.default = h;
  var n = Hi(), i = N(n), o = Dl(), l = N(o), c = Jse(), g = Un(), y = N(g), C = my(), D = N(C), x = Iy(), M = N(x);
  function N(E) {
    return E && E.__esModule ? E : { default: E };
  }
  function F(E, f) {
    if (!(E instanceof f))
      throw new TypeError("Cannot call a class as a function");
  }
  function z(E, f) {
    if (!E)
      throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
    return f && (typeof f == "object" || typeof f == "function") ? f : E;
  }
  function A(E, f) {
    if (typeof f != "function" && f !== null)
      throw new TypeError("Super expression must either be null or a function, not " + typeof f);
    E.prototype = Object.create(f && f.prototype, { constructor: { value: E, enumerable: !1, writable: !0, configurable: !0 } }), f && (Object.setPrototypeOf ? Object.setPrototypeOf(E, f) : E.__proto__ = f);
  }
  var u = ia.CHILD_CONTEXT_TYPES = {
    dragDropManager: l.default.object.isRequired
  }, a = ia.createChildContext = function(f, S) {
    return {
      dragDropManager: new c.DragDropManager(f, S)
    };
  }, s = ia.unpackBackendForEs5Users = function(f) {
    var S = f;
    return (typeof S > "u" ? "undefined" : r(S)) === "object" && typeof S.default == "function" && (S = S.default), (0, y.default)(typeof S == "function", "Expected the backend to be a function or an ES6 module exporting a default function. Read more: http://react-dnd.github.io/react-dnd/docs-drag-drop-context.html"), S;
  };
  function h(E) {
    M.default.apply(void 0, ["DragDropContext", "backend"].concat(Array.prototype.slice.call(arguments)));
    var f = s(E), S = a(f);
    return function(d) {
      var p, b, m = d.displayName || d.name || "Component", v = (b = p = function(O) {
        A(T, O);
        function T() {
          return F(this, T), z(this, (T.__proto__ || Object.getPrototypeOf(T)).apply(this, arguments));
        }
        return t(T, [{
          key: "getDecoratedComponentInstance",
          value: function() {
            return (0, y.default)(this.child, "In order to access an instance of the decorated component it can not be a stateless component."), this.child;
          }
        }, {
          key: "getManager",
          value: function() {
            return S.dragDropManager;
          }
        }, {
          key: "getChildContext",
          value: function() {
            return S;
          }
        }, {
          key: "render",
          value: function() {
            var P = this;
            return i.default.createElement(d, e({}, this.props, {
              ref: function(L) {
                P.child = L;
              }
            }));
          }
        }]), T;
      }(n.Component), p.DecoratedComponent = d, p.displayName = "DragDropContext(" + m + ")", p.childContextTypes = u, b);
      return (0, D.default)(v, d);
    };
  }
  return ia;
}
var Jl = {}, Lq;
function eue() {
  if (Lq) return Jl;
  Lq = 1, Object.defineProperty(Jl, "__esModule", {
    value: !0
  }), Jl.default = void 0;
  var e = /* @__PURE__ */ function() {
    function x(M, N) {
      for (var F = 0; F < N.length; F++) {
        var z = N[F];
        z.enumerable = z.enumerable || !1, z.configurable = !0, "value" in z && (z.writable = !0), Object.defineProperty(M, z.key, z);
      }
    }
    return function(M, N, F) {
      return N && x(M.prototype, N), F && x(M, F), M;
    };
  }(), t, r, n = Hi(), i = Dl(), o = c(i), l = N7();
  function c(x) {
    return x && x.__esModule ? x : { default: x };
  }
  function g(x, M) {
    if (!(x instanceof M))
      throw new TypeError("Cannot call a class as a function");
  }
  function y(x, M) {
    if (!x)
      throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
    return M && (typeof M == "object" || typeof M == "function") ? M : x;
  }
  function C(x, M) {
    if (typeof M != "function" && M !== null)
      throw new TypeError("Super expression must either be null or a function, not " + typeof M);
    x.prototype = Object.create(M && M.prototype, { constructor: { value: x, enumerable: !1, writable: !0, configurable: !0 } }), M && (Object.setPrototypeOf ? Object.setPrototypeOf(x, M) : x.__proto__ = M);
  }
  var D = (r = t = function(x) {
    C(M, x);
    function M(N, F) {
      g(this, M);
      var z = y(this, (M.__proto__ || Object.getPrototypeOf(M)).call(this, N, F)), A = function() {
        if (N && N.window)
          return N.window;
        if (F && F.window)
          return F.window;
        if (typeof window < "u")
          return window;
      };
      return z.backend = (0, l.unpackBackendForEs5Users)(N.backend), z.childContext = (0, l.createChildContext)(z.backend, {
        window: A()
      }), z;
    }
    return e(M, [{
      key: "componentWillReceiveProps",
      value: function(F) {
        if (F.backend !== this.props.backend || F.window !== this.props.window)
          throw new Error("DragDropContextProvider backend and window props must not change.");
      }
    }, {
      key: "getChildContext",
      value: function() {
        return this.childContext;
      }
    }, {
      key: "render",
      value: function() {
        return n.Children.only(this.props.children);
      }
    }]), M;
  }(n.Component), t.propTypes = {
    backend: o.default.oneOfType([o.default.func, o.default.object]).isRequired,
    children: o.default.element.isRequired,
    window: o.default.object
    // eslint-disable-line react/forbid-prop-types
  }, t.defaultProps = {
    window: void 0
  }, t.childContextTypes = l.CHILD_CONTEXT_TYPES, t.displayName = "DragDropContextProvider", t.contextTypes = {
    window: o.default.object
  }, r);
  return Jl.default = D, Jl;
}
var qp = {}, zp = {}, jq;
function CP() {
  if (jq) return zp;
  jq = 1, Object.defineProperty(zp, "__esModule", {
    value: !0
  }), zp.default = e;
  function e(t, r) {
    if (t === r)
      return !0;
    var n = Object.keys(t), i = Object.keys(r);
    if (n.length !== i.length)
      return !1;
    for (var o = Object.prototype.hasOwnProperty, l = 0; l < n.length; l += 1) {
      if (!o.call(r, n[l]) || t[n[l]] !== r[n[l]])
        return !1;
      var c = t[n[l]], g = r[n[l]];
      if (c !== g)
        return !1;
    }
    return !0;
  }
  return zp;
}
var Bp = {}, Uq;
function I7() {
  if (Uq) return Bp;
  Uq = 1, Object.defineProperty(Bp, "__esModule", {
    value: !0
  });
  var e = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(r) {
    return typeof r;
  } : function(r) {
    return r && typeof Symbol == "function" && r.constructor === Symbol && r !== Symbol.prototype ? "symbol" : typeof r;
  };
  Bp.default = t;
  function t(r, n) {
    if (r === n)
      return !0;
    if ((typeof r > "u" ? "undefined" : e(r)) !== "object" || r === null || (typeof n > "u" ? "undefined" : e(n)) !== "object" || n === null)
      return !1;
    var i = Object.keys(r), o = Object.keys(n);
    if (i.length !== o.length)
      return !1;
    for (var l = Object.prototype.hasOwnProperty, c = 0; c < i.length; c += 1) {
      if (!l.call(n, i[c]))
        return !1;
      var g = r[i[c]], y = n[i[c]];
      if (g !== y || (typeof g > "u" ? "undefined" : e(g)) === "object" || (typeof y > "u" ? "undefined" : e(y)) === "object")
        return !1;
    }
    return !0;
  }
  return Bp;
}
var qq;
function tue() {
  if (qq) return qp;
  qq = 1, Object.defineProperty(qp, "__esModule", {
    value: !0
  });
  var e = Object.assign || function(S) {
    for (var _ = 1; _ < arguments.length; _++) {
      var d = arguments[_];
      for (var p in d)
        Object.prototype.hasOwnProperty.call(d, p) && (S[p] = d[p]);
    }
    return S;
  }, t = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(S) {
    return typeof S;
  } : function(S) {
    return S && typeof Symbol == "function" && S.constructor === Symbol && S !== Symbol.prototype ? "symbol" : typeof S;
  }, r = /* @__PURE__ */ function() {
    function S(_, d) {
      for (var p = 0; p < d.length; p++) {
        var b = d[p];
        b.enumerable = b.enumerable || !1, b.configurable = !0, "value" in b && (b.writable = !0), Object.defineProperty(_, b.key, b);
      }
    }
    return function(_, d, p) {
      return d && S(_.prototype, d), p && S(_, p), _;
    };
  }();
  qp.default = f;
  var n = Hi(), i = a(n), o = Dl(), l = a(o), c = my(), g = a(c), y = Qs(), C = a(y), D = Un(), x = a(D), M = CP(), N = a(M), F = I7(), z = a(F), A = Iy(), u = a(A);
  function a(S) {
    return S && S.__esModule ? S : { default: S };
  }
  function s(S, _) {
    if (!(S instanceof _))
      throw new TypeError("Cannot call a class as a function");
  }
  function h(S, _) {
    if (!S)
      throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
    return _ && (typeof _ == "object" || typeof _ == "function") ? _ : S;
  }
  function E(S, _) {
    if (typeof _ != "function" && _ !== null)
      throw new TypeError("Super expression must either be null or a function, not " + typeof _);
    S.prototype = Object.create(_ && _.prototype, { constructor: { value: S, enumerable: !1, writable: !0, configurable: !0 } }), _ && (Object.setPrototypeOf ? Object.setPrototypeOf(S, _) : S.__proto__ = _);
  }
  function f(S) {
    var _ = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    return u.default.apply(void 0, ["DragLayer", "collect[, options]"].concat(Array.prototype.slice.call(arguments))), (0, x.default)(typeof S == "function", 'Expected "collect" provided as the first argument to DragLayer to be a function that collects props to inject into the component. ', "Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-layer.html", S), (0, x.default)((0, C.default)(_), 'Expected "options" provided as the second argument to DragLayer to be a plain object when specified. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-layer.html', _), function(p) {
      var b, m, v = _.arePropsEqual, O = v === void 0 ? z.default : v, T = p.displayName || p.name || "Component", w = (m = b = function(P) {
        E(I, P), r(I, [{
          key: "getDecoratedComponentInstance",
          value: function() {
            return (0, x.default)(this.child, "In order to access an instance of the decorated component it can not be a stateless component."), this.child;
          }
        }, {
          key: "shouldComponentUpdate",
          value: function(R, q) {
            return !O(R, this.props) || !(0, N.default)(q, this.state);
          }
        }]);
        function I(L, R) {
          s(this, I);
          var q = h(this, (I.__proto__ || Object.getPrototypeOf(I)).call(this, L));
          return q.handleChange = q.handleChange.bind(q), q.manager = R.dragDropManager, (0, x.default)(t(q.manager) === "object", "Could not find the drag and drop manager in the context of %s. Make sure to wrap the top-level component of your app with DragDropContext. Read more: http://react-dnd.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context", T, T), q.state = q.getCurrentState(), q;
        }
        return r(I, [{
          key: "componentDidMount",
          value: function() {
            this.isCurrentlyMounted = !0;
            var R = this.manager.getMonitor();
            this.unsubscribeFromOffsetChange = R.subscribeToOffsetChange(this.handleChange), this.unsubscribeFromStateChange = R.subscribeToStateChange(this.handleChange), this.handleChange();
          }
        }, {
          key: "componentWillUnmount",
          value: function() {
            this.isCurrentlyMounted = !1, this.unsubscribeFromOffsetChange(), this.unsubscribeFromStateChange();
          }
        }, {
          key: "handleChange",
          value: function() {
            if (this.isCurrentlyMounted) {
              var R = this.getCurrentState();
              (0, N.default)(R, this.state) || this.setState(R);
            }
          }
        }, {
          key: "getCurrentState",
          value: function() {
            var R = this.manager.getMonitor();
            return S(R, this.props);
          }
        }, {
          key: "render",
          value: function() {
            var R = this;
            return i.default.createElement(p, e({}, this.props, this.state, {
              ref: function(B) {
                R.child = B;
              }
            }));
          }
        }]), I;
      }(n.Component), b.DecoratedComponent = p, b.displayName = "DragLayer(" + T + ")", b.contextTypes = {
        dragDropManager: l.default.object.isRequired
      }, m);
      return (0, g.default)(w, p);
    };
  }
  return qp;
}
var Wp = {}, $p = {}, os = {}, Vp = { exports: {} }, zq;
function xP() {
  return zq || (zq = 1, function(e, t) {
    t.__esModule = !0, t.default = r;
    function r(n) {
      return !!(n && typeof n.dispose == "function");
    }
    e.exports = t.default;
  }(Vp, Vp.exports)), Vp.exports;
}
var Hp = { exports: {} }, Bq;
function rue() {
  return Bq || (Bq = 1, function(e, t) {
    t.__esModule = !0;
    var r = /* @__PURE__ */ function() {
      function l(c, g) {
        for (var y = 0; y < g.length; y++) {
          var C = g[y];
          C.enumerable = C.enumerable || !1, C.configurable = !0, "value" in C && (C.writable = !0), Object.defineProperty(c, C.key, C);
        }
      }
      return function(c, g, y) {
        return g && l(c.prototype, g), y && l(c, y), c;
      };
    }();
    function n(l, c) {
      if (!(l instanceof c))
        throw new TypeError("Cannot call a class as a function");
    }
    var i = function() {
    }, o = function() {
      r(l, null, [{
        key: "empty",
        value: { dispose: i },
        enumerable: !0
      }]);
      function l(c) {
        n(this, l), this.isDisposed = !1, this.action = c || i;
      }
      return l.prototype.dispose = function() {
        this.isDisposed || (this.action.call(null), this.isDisposed = !0);
      }, l;
    }();
    t.default = o, e.exports = t.default;
  }(Hp, Hp.exports)), Hp.exports;
}
var Yp = { exports: {} }, Wq;
function nue() {
  return Wq || (Wq = 1, function(e, t) {
    t.__esModule = !0;
    function r(c) {
      return c && c.__esModule ? c : { default: c };
    }
    function n(c, g) {
      if (!(c instanceof g))
        throw new TypeError("Cannot call a class as a function");
    }
    var i = xP(), o = r(i), l = function() {
      function c() {
        for (var g = arguments.length, y = Array(g), C = 0; C < g; C++)
          y[C] = arguments[C];
        n(this, c), Array.isArray(y[0]) && y.length === 1 && (y = y[0]);
        for (var D = 0; D < y.length; D++)
          if (!o.default(y[D]))
            throw new Error("Expected a disposable");
        this.disposables = y, this.isDisposed = !1;
      }
      return c.prototype.add = function(y) {
        this.isDisposed ? y.dispose() : this.disposables.push(y);
      }, c.prototype.remove = function(y) {
        if (this.isDisposed)
          return !1;
        var C = this.disposables.indexOf(y);
        return C === -1 ? !1 : (this.disposables.splice(C, 1), y.dispose(), !0);
      }, c.prototype.dispose = function() {
        if (!this.isDisposed) {
          for (var y = this.disposables.length, C = new Array(y), D = 0; D < y; D++)
            C[D] = this.disposables[D];
          this.isDisposed = !0, this.disposables = [], this.length = 0;
          for (var D = 0; D < y; D++)
            C[D].dispose();
        }
      }, c;
    }();
    t.default = l, e.exports = t.default;
  }(Yp, Yp.exports)), Yp.exports;
}
var Gp = { exports: {} }, $q;
function iue() {
  return $q || ($q = 1, function(e, t) {
    t.__esModule = !0;
    function r(c) {
      return c && c.__esModule ? c : { default: c };
    }
    function n(c, g) {
      if (!(c instanceof g))
        throw new TypeError("Cannot call a class as a function");
    }
    var i = xP(), o = r(i), l = function() {
      function c() {
        n(this, c), this.isDisposed = !1, this.current = null;
      }
      return c.prototype.getDisposable = function() {
        return this.current;
      }, c.prototype.setDisposable = function() {
        var y = arguments.length <= 0 || arguments[0] === void 0 ? null : arguments[0];
        if (y != null && !o.default(y))
          throw new Error("Expected either an empty value or a valid disposable");
        var C = this.isDisposed, D = void 0;
        C || (D = this.current, this.current = y), D && D.dispose(), C && y && y.dispose();
      }, c.prototype.dispose = function() {
        if (!this.isDisposed) {
          this.isDisposed = !0;
          var y = this.current;
          this.current = null, y && y.dispose();
        }
      }, c;
    }();
    t.default = l, e.exports = t.default;
  }(Gp, Gp.exports)), Gp.exports;
}
var Vq;
function aue() {
  if (Vq) return os;
  Vq = 1, os.__esModule = !0;
  function e(y) {
    return y && y.__esModule ? y : { default: y };
  }
  var t = xP(), r = e(t);
  os.isDisposable = r.default;
  var n = rue(), i = e(n);
  os.Disposable = i.default;
  var o = nue(), l = e(o);
  os.CompositeDisposable = l.default;
  var c = iue(), g = e(c);
  return os.SerialDisposable = g.default, os;
}
var Hq;
function F7() {
  if (Hq) return $p;
  Hq = 1;
  var e = {};
  Object.defineProperty($p, "__esModule", {
    value: !0
  });
  var t = Object.assign || function(_) {
    for (var d = 1; d < arguments.length; d++) {
      var p = arguments[d];
      for (var b in p)
        Object.prototype.hasOwnProperty.call(p, b) && (_[b] = p[b]);
    }
    return _;
  }, r = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(_) {
    return typeof _;
  } : function(_) {
    return _ && typeof Symbol == "function" && _.constructor === Symbol && _ !== Symbol.prototype ? "symbol" : typeof _;
  }, n = /* @__PURE__ */ function() {
    function _(d, p) {
      for (var b = 0; b < p.length; b++) {
        var m = p[b];
        m.enumerable = m.enumerable || !1, m.configurable = !0, "value" in m && (m.writable = !0), Object.defineProperty(d, m.key, m);
      }
    }
    return function(d, p, b) {
      return p && _(d.prototype, p), b && _(d, b), d;
    };
  }();
  $p.default = S;
  var i = Hi(), o = a(i), l = Dl(), c = a(l), g = aue(), y = Qs(), C = a(y), D = Un(), x = a(D), M = my(), N = a(M), F = CP(), z = a(F), A = I7(), u = a(A);
  function a(_) {
    return _ && _.__esModule ? _ : { default: _ };
  }
  function s(_, d) {
    if (!(_ instanceof d))
      throw new TypeError("Cannot call a class as a function");
  }
  function h(_, d) {
    if (!_)
      throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
    return d && (typeof d == "object" || typeof d == "function") ? d : _;
  }
  function E(_, d) {
    if (typeof d != "function" && d !== null)
      throw new TypeError("Super expression must either be null or a function, not " + typeof d);
    _.prototype = Object.create(d && d.prototype, { constructor: { value: _, enumerable: !1, writable: !0, configurable: !0 } }), d && (Object.setPrototypeOf ? Object.setPrototypeOf(_, d) : _.__proto__ = d);
  }
  var f = function(d) {
    return !!(d && d.prototype && typeof d.prototype.render == "function");
  };
  function S(_) {
    var d, p, b = _.DecoratedComponent, m = _.createHandler, v = _.createMonitor, O = _.createConnector, T = _.registerHandler, w = _.containerDisplayName, P = _.getType, I = _.collect, L = _.options, R = L.arePropsEqual, q = R === void 0 ? u.default : R, B = b.displayName || b.name || "Component", j = (p = d = function(k) {
      E(U, k), n(U, [{
        key: "getHandlerId",
        value: function() {
          return this.handlerId;
        }
      }, {
        key: "getDecoratedComponentInstance",
        value: function() {
          return this.decoratedComponentInstance;
        }
      }, {
        key: "shouldComponentUpdate",
        value: function($, V) {
          return !q($, this.props) || !(0, z.default)(V, this.state);
        }
      }]);
      function U(W, $) {
        s(this, U);
        var V = h(this, (U.__proto__ || Object.getPrototypeOf(U)).call(this, W, $));
        return V.handleChange = V.handleChange.bind(V), V.handleChildRef = V.handleChildRef.bind(V), (0, x.default)(r(V.context.dragDropManager) === "object", "Could not find the drag and drop manager in the context of %s. Make sure to wrap the top-level component of your app with DragDropContext. Read more: http://react-dnd.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context", B, B), V.manager = V.context.dragDropManager, V.handlerMonitor = v(V.manager), V.handlerConnector = O(V.manager.getBackend()), V.handler = m(V.handlerMonitor), V.disposable = new g.SerialDisposable(), V.receiveProps(W), V.state = V.getCurrentState(), V.dispose(), V;
      }
      return n(U, [{
        key: "componentDidMount",
        value: function() {
          this.isCurrentlyMounted = !0, this.disposable = new g.SerialDisposable(), this.currentType = null, this.receiveProps(this.props), this.handleChange();
        }
      }, {
        key: "componentWillReceiveProps",
        value: function($) {
          q($, this.props) || (this.receiveProps($), this.handleChange());
        }
      }, {
        key: "componentWillUnmount",
        value: function() {
          this.dispose(), this.isCurrentlyMounted = !1;
        }
      }, {
        key: "receiveProps",
        value: function($) {
          this.handler.receiveProps($), this.receiveType(P($));
        }
      }, {
        key: "receiveType",
        value: function($) {
          if ($ !== this.currentType) {
            this.currentType = $;
            var V = T($, this.handler, this.manager), G = V.handlerId, X = V.unregister;
            this.handlerId = G, this.handlerMonitor.receiveHandlerId(G), this.handlerConnector.receiveHandlerId(G);
            var K = this.manager.getMonitor(), H = K.subscribeToStateChange(this.handleChange, { handlerIds: [G] });
            this.disposable.setDisposable(new g.CompositeDisposable(new g.Disposable(H), new g.Disposable(X)));
          }
        }
      }, {
        key: "handleChange",
        value: function() {
          if (this.isCurrentlyMounted) {
            var $ = this.getCurrentState();
            (0, z.default)($, this.state) || this.setState($);
          }
        }
      }, {
        key: "dispose",
        value: function() {
          this.disposable.dispose(), this.handlerConnector.receiveHandlerId(null);
        }
      }, {
        key: "handleChildRef",
        value: function($) {
          this.decoratedComponentInstance = $, this.handler.receiveComponent($);
        }
      }, {
        key: "getCurrentState",
        value: function() {
          var $ = I(this.handlerConnector.hooks, this.handlerMonitor);
          return e.NODE_ENV !== "production" && (0, x.default)((0, C.default)($), "Expected `collect` specified as the second argument to %s for %s to return a plain object of props to inject. Instead, received %s.", w, B, $), $;
        }
      }, {
        key: "render",
        value: function() {
          return o.default.createElement(b, t({}, this.props, this.state, {
            ref: f(b) ? this.handleChildRef : null
          }));
        }
      }]), U;
    }(i.Component), d.DecoratedComponent = b, d.displayName = w + "(" + B + ")", d.contextTypes = {
      dragDropManager: c.default.object.isRequired
    }, p);
    return (0, N.default)(j, b);
  }
  return $p;
}
var Kp = {}, Yq;
function oue() {
  if (Yq) return Kp;
  Yq = 1, Object.defineProperty(Kp, "__esModule", {
    value: !0
  }), Kp.default = e;
  function e(t, r, n) {
    var i = n.getRegistry(), o = i.addSource(t, r);
    function l() {
      i.removeSource(o);
    }
    return {
      handlerId: o,
      unregister: l
    };
  }
  return Kp;
}
var Xp = {}, Gq;
function sue() {
  if (Gq) return Xp;
  Gq = 1;
  var e = {};
  Object.defineProperty(Xp, "__esModule", {
    value: !0
  });
  var t = /* @__PURE__ */ function() {
    function D(x, M) {
      for (var N = 0; N < M.length; N++) {
        var F = M[N];
        F.enumerable = F.enumerable || !1, F.configurable = !0, "value" in F && (F.writable = !0), Object.defineProperty(x, F.key, F);
      }
    }
    return function(x, M, N) {
      return M && D(x.prototype, M), N && D(x, N), x;
    };
  }();
  Xp.default = C;
  var r = Un(), n = l(r), i = Qs(), o = l(i);
  function l(D) {
    return D && D.__esModule ? D : { default: D };
  }
  function c(D, x) {
    if (!(D instanceof x))
      throw new TypeError("Cannot call a class as a function");
  }
  var g = ["canDrag", "beginDrag", "isDragging", "endDrag"], y = ["beginDrag"];
  function C(D) {
    Object.keys(D).forEach(function(M) {
      (0, n.default)(g.indexOf(M) > -1, 'Expected the drag source specification to only have some of the following keys: %s. Instead received a specification with an unexpected "%s" key. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html', g.join(", "), M), (0, n.default)(typeof D[M] == "function", "Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html", M, M, D[M]);
    }), y.forEach(function(M) {
      (0, n.default)(typeof D[M] == "function", "Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html", M, M, D[M]);
    });
    var x = function() {
      function M(N) {
        c(this, M), this.monitor = N, this.props = null, this.component = null;
      }
      return t(M, [{
        key: "receiveProps",
        value: function(F) {
          this.props = F;
        }
      }, {
        key: "receiveComponent",
        value: function(F) {
          this.component = F;
        }
      }, {
        key: "canDrag",
        value: function() {
          return D.canDrag ? D.canDrag(this.props, this.monitor) : !0;
        }
      }, {
        key: "isDragging",
        value: function(F, z) {
          return D.isDragging ? D.isDragging(this.props, this.monitor) : z === F.getSourceId();
        }
      }, {
        key: "beginDrag",
        value: function() {
          var F = D.beginDrag(this.props, this.monitor, this.component);
          return e.NODE_ENV !== "production" && (0, n.default)((0, o.default)(F), "beginDrag() must return a plain object that represents the dragged item. Instead received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html", F), F;
        }
      }, {
        key: "endDrag",
        value: function() {
          D.endDrag && D.endDrag(this.props, this.monitor, this.component);
        }
      }]), M;
    }();
    return function(N) {
      return new x(N);
    };
  }
  return Xp;
}
var Qp = {}, Kq;
function uue() {
  if (Kq) return Qp;
  Kq = 1, Object.defineProperty(Qp, "__esModule", {
    value: !0
  });
  var e = /* @__PURE__ */ function() {
    function y(C, D) {
      for (var x = 0; x < D.length; x++) {
        var M = D[x];
        M.enumerable = M.enumerable || !1, M.configurable = !0, "value" in M && (M.writable = !0), Object.defineProperty(C, M.key, M);
      }
    }
    return function(C, D, x) {
      return D && y(C.prototype, D), x && y(C, x), C;
    };
  }();
  Qp.default = g;
  var t = Un(), r = n(t);
  function n(y) {
    return y && y.__esModule ? y : { default: y };
  }
  function i(y, C) {
    if (!(y instanceof C))
      throw new TypeError("Cannot call a class as a function");
  }
  var o = !1, l = !1, c = function() {
    function y(C) {
      i(this, y), this.internalMonitor = C.getMonitor();
    }
    return e(y, [{
      key: "receiveHandlerId",
      value: function(D) {
        this.sourceId = D;
      }
    }, {
      key: "canDrag",
      value: function() {
        (0, r.default)(!o, "You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source-monitor.html");
        try {
          return o = !0, this.internalMonitor.canDragSource(this.sourceId);
        } finally {
          o = !1;
        }
      }
    }, {
      key: "isDragging",
      value: function() {
        (0, r.default)(!l, "You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source-monitor.html");
        try {
          return l = !0, this.internalMonitor.isDraggingSource(this.sourceId);
        } finally {
          l = !1;
        }
      }
    }, {
      key: "getItemType",
      value: function() {
        return this.internalMonitor.getItemType();
      }
    }, {
      key: "getItem",
      value: function() {
        return this.internalMonitor.getItem();
      }
    }, {
      key: "getDropResult",
      value: function() {
        return this.internalMonitor.getDropResult();
      }
    }, {
      key: "didDrop",
      value: function() {
        return this.internalMonitor.didDrop();
      }
    }, {
      key: "getInitialClientOffset",
      value: function() {
        return this.internalMonitor.getInitialClientOffset();
      }
    }, {
      key: "getInitialSourceClientOffset",
      value: function() {
        return this.internalMonitor.getInitialSourceClientOffset();
      }
    }, {
      key: "getSourceClientOffset",
      value: function() {
        return this.internalMonitor.getSourceClientOffset();
      }
    }, {
      key: "getClientOffset",
      value: function() {
        return this.internalMonitor.getClientOffset();
      }
    }, {
      key: "getDifferenceFromInitialOffset",
      value: function() {
        return this.internalMonitor.getDifferenceFromInitialOffset();
      }
    }]), y;
  }();
  function g(y) {
    return new c(y);
  }
  return Qp;
}
var Zp = {}, Jp = {}, eh = {}, Xq;
function lue() {
  if (Xq) return eh;
  Xq = 1, Object.defineProperty(eh, "__esModule", {
    value: !0
  }), eh.default = i;
  var e = Un(), t = n(e), r = Hi();
  function n(o) {
    return o && o.__esModule ? o : { default: o };
  }
  function i(o, l) {
    var c = o.ref;
    return (0, t.default)(typeof c != "string", "Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a <span> or <div>. Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute"), c ? (0, r.cloneElement)(o, {
      ref: function(y) {
        l(y), c && c(y);
      }
    }) : (0, r.cloneElement)(o, {
      ref: l
    });
  }
  return eh;
}
var Qq;
function L7() {
  if (Qq) return Jp;
  Qq = 1, Object.defineProperty(Jp, "__esModule", {
    value: !0
  }), Jp.default = l;
  var e = Hi(), t = lue(), r = n(t);
  function n(c) {
    return c && c.__esModule ? c : { default: c };
  }
  function i(c) {
    if (typeof c.type != "string") {
      var g = c.type.displayName || c.type.name || "the component";
      throw new Error("Only native element nodes can now be passed to React DnD connectors." + ("You can either wrap " + g + " into a <div>, or turn it into a ") + "drag source or a drop target itself.");
    }
  }
  function o(c) {
    return function() {
      var g = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null, y = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
      if (!(0, e.isValidElement)(g)) {
        var C = g;
        c(C, y);
        return;
      }
      var D = g;
      i(D);
      var x = y ? function(M) {
        return c(M, y);
      } : c;
      return (0, r.default)(D, x);
    };
  }
  function l(c) {
    var g = {};
    return Object.keys(c).forEach(function(y) {
      var C = c[y], D = o(C);
      g[y] = function() {
        return D;
      };
    }), g;
  }
  return Jp;
}
var th = {}, Zq;
function j7() {
  if (Zq) return th;
  Zq = 1, Object.defineProperty(th, "__esModule", {
    value: !0
  }), th.default = n;
  var e = CP(), t = r(e);
  function r(i) {
    return i && i.__esModule ? i : { default: i };
  }
  function n(i, o) {
    return o === i ? !0 : o !== null && i !== null && (0, t.default)(o, i);
  }
  return th;
}
var Jq;
function cue() {
  if (Jq) return Zp;
  Jq = 1, Object.defineProperty(Zp, "__esModule", {
    value: !0
  }), Zp.default = o;
  var e = L7(), t = i(e), r = j7(), n = i(r);
  function i(l) {
    return l && l.__esModule ? l : { default: l };
  }
  function o(l) {
    var c = void 0, g = void 0, y = void 0, C = void 0, D = void 0, x = void 0, M = void 0;
    function N() {
      C && (C(), C = null), c && g && (C = l.connectDragSource(c, g, y));
    }
    function F() {
      M && (M(), M = null), c && D && (M = l.connectDragPreview(c, D, x));
    }
    function z(u) {
      u !== c && (c = u, N(), F());
    }
    var A = (0, t.default)({
      dragSource: function(a, s) {
        a === g && (0, n.default)(s, y) || (g = a, y = s, N());
      },
      dragPreview: function(a, s) {
        a === D && (0, n.default)(s, x) || (D = a, x = s, F());
      }
    });
    return {
      receiveHandlerId: z,
      hooks: A
    };
  }
  return Zp;
}
var rh = {}, ez;
function U7() {
  if (ez) return rh;
  ez = 1, Object.defineProperty(rh, "__esModule", {
    value: !0
  });
  var e = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(o) {
    return typeof o;
  } : function(o) {
    return o && typeof Symbol == "function" && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
  };
  rh.default = i;
  var t = Ir(), r = n(t);
  function n(o) {
    return o && o.__esModule ? o : { default: o };
  }
  function i(o, l) {
    return typeof o == "string" || (typeof o > "u" ? "undefined" : e(o)) === "symbol" || l && (0, r.default)(o) && o.every(function(c) {
      return i(c, !1);
    });
  }
  return rh;
}
var tz;
function fue() {
  if (tz) return Wp;
  tz = 1, Object.defineProperty(Wp, "__esModule", {
    value: !0
  }), Wp.default = a;
  var e = Un(), t = u(e), r = Qs(), n = u(r), i = Iy(), o = u(i), l = F7(), c = u(l), g = oue(), y = u(g), C = sue(), D = u(C), x = uue(), M = u(x), N = cue(), F = u(N), z = U7(), A = u(z);
  function u(s) {
    return s && s.__esModule ? s : { default: s };
  }
  function a(s, h, E) {
    var f = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
    o.default.apply(void 0, ["DragSource", "type, spec, collect[, options]"].concat(Array.prototype.slice.call(arguments)));
    var S = s;
    typeof s != "function" && ((0, t.default)((0, A.default)(s), 'Expected "type" provided as the first argument to DragSource to be a string, or a function that returns a string given the current props. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html', s), S = function() {
      return s;
    }), (0, t.default)((0, n.default)(h), 'Expected "spec" provided as the second argument to DragSource to be a plain object. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html', h);
    var _ = (0, D.default)(h);
    return (0, t.default)(typeof E == "function", 'Expected "collect" provided as the third argument to DragSource to be a function that returns a plain object of props to inject. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html', E), (0, t.default)((0, n.default)(f), 'Expected "options" provided as the fourth argument to DragSource to be a plain object when specified. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html', E), function(p) {
      return (0, c.default)({
        connectBackend: function(m, v) {
          return m.connectDragSource(v);
        },
        containerDisplayName: "DragSource",
        createHandler: _,
        registerHandler: y.default,
        createMonitor: M.default,
        createConnector: F.default,
        DecoratedComponent: p,
        getType: S,
        collect: E,
        options: f
      });
    };
  }
  return Wp;
}
var nh = {}, ih = {}, rz;
function due() {
  if (rz) return ih;
  rz = 1, Object.defineProperty(ih, "__esModule", {
    value: !0
  }), ih.default = e;
  function e(t, r, n) {
    var i = n.getRegistry(), o = i.addTarget(t, r);
    function l() {
      i.removeTarget(o);
    }
    return {
      handlerId: o,
      unregister: l
    };
  }
  return ih;
}
var ah = {}, nz;
function pue() {
  if (nz) return ah;
  nz = 1;
  var e = {};
  Object.defineProperty(ah, "__esModule", {
    value: !0
  });
  var t = /* @__PURE__ */ function() {
    function C(D, x) {
      for (var M = 0; M < x.length; M++) {
        var N = x[M];
        N.enumerable = N.enumerable || !1, N.configurable = !0, "value" in N && (N.writable = !0), Object.defineProperty(D, N.key, N);
      }
    }
    return function(D, x, M) {
      return x && C(D.prototype, x), M && C(D, M), D;
    };
  }();
  ah.default = y;
  var r = Un(), n = l(r), i = Qs(), o = l(i);
  function l(C) {
    return C && C.__esModule ? C : { default: C };
  }
  function c(C, D) {
    if (!(C instanceof D))
      throw new TypeError("Cannot call a class as a function");
  }
  var g = ["canDrop", "hover", "drop"];
  function y(C) {
    Object.keys(C).forEach(function(x) {
      (0, n.default)(g.indexOf(x) > -1, 'Expected the drop target specification to only have some of the following keys: %s. Instead received a specification with an unexpected "%s" key. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html', g.join(", "), x), (0, n.default)(typeof C[x] == "function", "Expected %s in the drop target specification to be a function. Instead received a specification with %s: %s. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html", x, x, C[x]);
    });
    var D = function() {
      function x(M) {
        c(this, x), this.monitor = M, this.props = null, this.component = null;
      }
      return t(x, [{
        key: "receiveProps",
        value: function(N) {
          this.props = N;
        }
      }, {
        key: "receiveMonitor",
        value: function(N) {
          this.monitor = N;
        }
      }, {
        key: "receiveComponent",
        value: function(N) {
          this.component = N;
        }
      }, {
        key: "canDrop",
        value: function() {
          return C.canDrop ? C.canDrop(this.props, this.monitor) : !0;
        }
      }, {
        key: "hover",
        value: function() {
          C.hover && C.hover(this.props, this.monitor, this.component);
        }
      }, {
        key: "drop",
        value: function() {
          if (C.drop) {
            var N = C.drop(this.props, this.monitor, this.component);
            return e.NODE_ENV !== "production" && (0, n.default)(typeof N > "u" || (0, o.default)(N), "drop() must either return undefined, or an object that represents the drop result. Instead received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html", N), N;
          }
        }
      }]), x;
    }();
    return function(M) {
      return new D(M);
    };
  }
  return ah;
}
var oh = {}, iz;
function hue() {
  if (iz) return oh;
  iz = 1, Object.defineProperty(oh, "__esModule", {
    value: !0
  });
  var e = /* @__PURE__ */ function() {
    function g(y, C) {
      for (var D = 0; D < C.length; D++) {
        var x = C[D];
        x.enumerable = x.enumerable || !1, x.configurable = !0, "value" in x && (x.writable = !0), Object.defineProperty(y, x.key, x);
      }
    }
    return function(y, C, D) {
      return C && g(y.prototype, C), D && g(y, D), y;
    };
  }();
  oh.default = c;
  var t = Un(), r = n(t);
  function n(g) {
    return g && g.__esModule ? g : { default: g };
  }
  function i(g, y) {
    if (!(g instanceof y))
      throw new TypeError("Cannot call a class as a function");
  }
  var o = !1, l = function() {
    function g(y) {
      i(this, g), this.internalMonitor = y.getMonitor();
    }
    return e(g, [{
      key: "receiveHandlerId",
      value: function(C) {
        this.targetId = C;
      }
    }, {
      key: "canDrop",
      value: function() {
        (0, r.default)(!o, "You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target-monitor.html");
        try {
          return o = !0, this.internalMonitor.canDropOnTarget(this.targetId);
        } finally {
          o = !1;
        }
      }
    }, {
      key: "isOver",
      value: function(C) {
        return this.internalMonitor.isOverTarget(this.targetId, C);
      }
    }, {
      key: "getItemType",
      value: function() {
        return this.internalMonitor.getItemType();
      }
    }, {
      key: "getItem",
      value: function() {
        return this.internalMonitor.getItem();
      }
    }, {
      key: "getDropResult",
      value: function() {
        return this.internalMonitor.getDropResult();
      }
    }, {
      key: "didDrop",
      value: function() {
        return this.internalMonitor.didDrop();
      }
    }, {
      key: "getInitialClientOffset",
      value: function() {
        return this.internalMonitor.getInitialClientOffset();
      }
    }, {
      key: "getInitialSourceClientOffset",
      value: function() {
        return this.internalMonitor.getInitialSourceClientOffset();
      }
    }, {
      key: "getSourceClientOffset",
      value: function() {
        return this.internalMonitor.getSourceClientOffset();
      }
    }, {
      key: "getClientOffset",
      value: function() {
        return this.internalMonitor.getClientOffset();
      }
    }, {
      key: "getDifferenceFromInitialOffset",
      value: function() {
        return this.internalMonitor.getDifferenceFromInitialOffset();
      }
    }]), g;
  }();
  function c(g) {
    return new l(g);
  }
  return oh;
}
var sh = {}, az;
function mue() {
  if (az) return sh;
  az = 1, Object.defineProperty(sh, "__esModule", {
    value: !0
  }), sh.default = o;
  var e = L7(), t = i(e), r = j7(), n = i(r);
  function i(l) {
    return l && l.__esModule ? l : { default: l };
  }
  function o(l) {
    var c = void 0, g = void 0, y = void 0, C = void 0;
    function D() {
      C && (C(), C = null), c && g && (C = l.connectDropTarget(c, g, y));
    }
    function x(N) {
      N !== c && (c = N, D());
    }
    var M = (0, t.default)({
      dropTarget: function(F, z) {
        F === g && (0, n.default)(z, y) || (g = F, y = z, D());
      }
    });
    return {
      receiveHandlerId: x,
      hooks: M
    };
  }
  return sh;
}
var oz;
function vue() {
  if (oz) return nh;
  oz = 1, Object.defineProperty(nh, "__esModule", {
    value: !0
  }), nh.default = a;
  var e = Un(), t = u(e), r = Qs(), n = u(r), i = Iy(), o = u(i), l = F7(), c = u(l), g = due(), y = u(g), C = pue(), D = u(C), x = hue(), M = u(x), N = mue(), F = u(N), z = U7(), A = u(z);
  function u(s) {
    return s && s.__esModule ? s : { default: s };
  }
  function a(s, h, E) {
    var f = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
    o.default.apply(void 0, ["DropTarget", "type, spec, collect[, options]"].concat(Array.prototype.slice.call(arguments)));
    var S = s;
    typeof s != "function" && ((0, t.default)((0, A.default)(s, !0), 'Expected "type" provided as the first argument to DropTarget to be a string, an array of strings, or a function that returns either given the current props. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html', s), S = function() {
      return s;
    }), (0, t.default)((0, n.default)(h), 'Expected "spec" provided as the second argument to DropTarget to be a plain object. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html', h);
    var _ = (0, D.default)(h);
    return (0, t.default)(typeof E == "function", 'Expected "collect" provided as the third argument to DropTarget to be a function that returns a plain object of props to inject. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html', E), (0, t.default)((0, n.default)(f), 'Expected "options" provided as the fourth argument to DropTarget to be a plain object when specified. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html', E), function(p) {
      return (0, c.default)({
        connectBackend: function(m, v) {
          return m.connectDropTarget(v);
        },
        containerDisplayName: "DropTarget",
        createHandler: _,
        registerHandler: y.default,
        createMonitor: M.default,
        createConnector: F.default,
        DecoratedComponent: p,
        getType: S,
        collect: E,
        options: f
      });
    };
  }
  return nh;
}
var sz;
function gue() {
  return sz || (sz = 1, function(e) {
    Object.defineProperty(e, "__esModule", {
      value: !0
    });
    var t = N7();
    Object.defineProperty(e, "DragDropContext", {
      enumerable: !0,
      get: function() {
        return l(t).default;
      }
    });
    var r = eue();
    Object.defineProperty(e, "DragDropContextProvider", {
      enumerable: !0,
      get: function() {
        return l(r).default;
      }
    });
    var n = tue();
    Object.defineProperty(e, "DragLayer", {
      enumerable: !0,
      get: function() {
        return l(n).default;
      }
    });
    var i = fue();
    Object.defineProperty(e, "DragSource", {
      enumerable: !0,
      get: function() {
        return l(i).default;
      }
    });
    var o = vue();
    Object.defineProperty(e, "DropTarget", {
      enumerable: !0,
      get: function() {
        return l(o).default;
      }
    });
    function l(c) {
      return c && c.__esModule ? c : { default: c };
    }
  }(TT)), TT;
}
var yue = typeof global == "object" && global && global.Object === Object && global, bue = typeof self == "object" && self && self.Object === Object && self, _ue = yue || bue || Function("return this")(), Kv = _ue.Symbol, q7 = Object.prototype, Eue = q7.hasOwnProperty, Sue = q7.toString, ec = Kv ? Kv.toStringTag : void 0;
function wue(e) {
  var t = Eue.call(e, ec), r = e[ec];
  try {
    e[ec] = void 0;
    var n = !0;
  } catch {
  }
  var i = Sue.call(e);
  return n && (t ? e[ec] = r : delete e[ec]), i;
}
var Oue = Object.prototype, Tue = Oue.toString;
function Cue(e) {
  return Tue.call(e);
}
var xue = "[object Null]", Aue = "[object Undefined]", uz = Kv ? Kv.toStringTag : void 0;
function Due(e) {
  return e == null ? e === void 0 ? Aue : xue : uz && uz in Object(e) ? wue(e) : Cue(e);
}
function Pue(e, t) {
  return function(r) {
    return e(t(r));
  };
}
var kue = Pue(Object.getPrototypeOf, Object);
function Rue(e) {
  return e != null && typeof e == "object";
}
var Mue = "[object Object]", Nue = Function.prototype, Iue = Object.prototype, z7 = Nue.toString, Fue = Iue.hasOwnProperty, Lue = z7.call(Object);
function B7(e) {
  if (!Rue(e) || Due(e) != Mue)
    return !1;
  var t = kue(e);
  if (t === null)
    return !0;
  var r = Fue.call(t, "constructor") && t.constructor;
  return typeof r == "function" && r instanceof r && z7.call(r) == Lue;
}
var If = {
  INIT: "@@redux/INIT"
  /**
   * Creates a Redux store that holds the state tree.
   * The only way to change the data in the store is to call `dispatch()` on it.
   *
   * There should only be a single store in your app. To specify how different
   * parts of the state tree respond to actions, you may combine several reducers
   * into a single reducer function by using `combineReducers`.
   *
   * @param {Function} reducer A function that returns the next state tree, given
   * the current state tree and the action to handle.
   *
   * @param {any} [preloadedState] The initial state. You may optionally specify it
   * to hydrate the state from the server in universal apps, or to restore a
   * previously serialized user session.
   * If you use `combineReducers` to produce the root reducer function, this must be
   * an object with the same shape as `combineReducers` keys.
   *
   * @param {Function} [enhancer] The store enhancer. You may optionally specify it
   * to enhance the store with third-party capabilities such as middleware,
   * time travel, persistence, etc. The only store enhancer that ships with Redux
   * is `applyMiddleware()`.
   *
   * @returns {Store} A Redux store that lets you read the state, dispatch actions
   * and subscribe to changes.
   */
};
function W7(e, t, r) {
  var n;
  if (typeof t == "function" && typeof r > "u" && (r = t, t = void 0), typeof r < "u") {
    if (typeof r != "function")
      throw new Error("Expected the enhancer to be a function.");
    return r(W7)(e, t);
  }
  if (typeof e != "function")
    throw new Error("Expected the reducer to be a function.");
  var i = e, o = t, l = [], c = l, g = !1;
  function y() {
    c === l && (c = l.slice());
  }
  function C() {
    return o;
  }
  function D(F) {
    if (typeof F != "function")
      throw new Error("Expected listener to be a function.");
    var z = !0;
    return y(), c.push(F), function() {
      if (z) {
        z = !1, y();
        var u = c.indexOf(F);
        c.splice(u, 1);
      }
    };
  }
  function x(F) {
    if (!B7(F))
      throw new Error("Actions must be plain objects. Use custom middleware for async actions.");
    if (typeof F.type > "u")
      throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');
    if (g)
      throw new Error("Reducers may not dispatch actions.");
    try {
      g = !0, o = i(o, F);
    } finally {
      g = !1;
    }
    for (var z = l = c, A = 0; A < z.length; A++) {
      var u = z[A];
      u();
    }
    return F;
  }
  function M(F) {
    if (typeof F != "function")
      throw new Error("Expected the nextReducer to be a function.");
    i = F, x({ type: If.INIT });
  }
  function N() {
    var F, z = D;
    return F = {
      /**
       * The minimal observable subscription method.
       * @param {Object} observer Any object that can be used as an observer.
       * The observer object should have a `next` method.
       * @returns {subscription} 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: function(u) {
        if (typeof u != "object")
          throw new TypeError("Expected the observer to be an object.");
        function a() {
          u.next && u.next(C());
        }
        a();
        var s = z(a);
        return { unsubscribe: s };
      }
    }, F[SA] = function() {
      return this;
    }, F;
  }
  return x({ type: If.INIT }), n = {
    dispatch: x,
    subscribe: D,
    getState: C,
    replaceReducer: M
  }, n[SA] = N, n;
}
function wA(e) {
  typeof console < "u" && typeof console.error == "function" && console.error(e);
  try {
    throw new Error(e);
  } catch {
  }
}
var YT = {};
function jue(e, t) {
  var r = t && t.type, n = r && '"' + r.toString() + '"' || "an action";
  return "Given action " + n + ', reducer "' + e + '" 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.';
}
function Uue(e, t, r, n) {
  var i = Object.keys(t), o = r && r.type === If.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 (!B7(e))
    return "The " + o + ' has unexpected type of "' + {}.toString.call(e).match(/\s([a-z|A-Z]+)/)[1] + '". Expected argument to be an object with the following ' + ('keys: "' + i.join('", "') + '"');
  var l = Object.keys(e).filter(function(c) {
    return !t.hasOwnProperty(c) && !n[c];
  });
  if (l.forEach(function(c) {
    n[c] = !0;
  }), l.length > 0)
    return "Unexpected " + (l.length > 1 ? "keys" : "key") + " " + ('"' + l.join('", "') + '" found in ' + o + ". ") + "Expected to find one of the known reducer keys instead: " + ('"' + i.join('", "') + '". Unexpected keys will be ignored.');
}
function que(e) {
  Object.keys(e).forEach(function(t) {
    var r = e[t], n = r(void 0, { type: If.INIT });
    if (typeof n > "u")
      throw new Error('Reducer "' + t + `" 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.`);
    var i = "@@redux/PROBE_UNKNOWN_ACTION_" + Math.random().toString(36).substring(7).split("").join(".");
    if (typeof r(void 0, { type: i }) > "u")
      throw new Error('Reducer "' + t + '" returned undefined when probed with a random type. ' + ("Don't try to handle " + If.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 zue(e) {
  for (var t = Object.keys(e), r = {}, n = 0; n < t.length; n++) {
    var i = t[n];
    YT.NODE_ENV !== "production" && typeof e[i] > "u" && wA('No reducer provided for key "' + i + '"'), typeof e[i] == "function" && (r[i] = e[i]);
  }
  var o = Object.keys(r), l = void 0;
  YT.NODE_ENV !== "production" && (l = {});
  var c = void 0;
  try {
    que(r);
  } catch (g) {
    c = g;
  }
  return function() {
    var y = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, C = arguments[1];
    if (c)
      throw c;
    if (YT.NODE_ENV !== "production") {
      var D = Uue(y, r, C, l);
      D && wA(D);
    }
    for (var x = !1, M = {}, N = 0; N < o.length; N++) {
      var F = o[N], z = r[F], A = y[F], u = z(A, C);
      if (typeof u > "u") {
        var a = jue(F, C);
        throw new Error(a);
      }
      M[F] = u, x = x || u !== A;
    }
    return x ? M : y;
  };
}
function lz(e, t) {
  return function() {
    return t(e.apply(void 0, arguments));
  };
}
function Bue(e, t) {
  if (typeof e == "function")
    return lz(e, t);
  if (typeof e != "object" || e === null)
    throw new Error("bindActionCreators expected an object or a function, instead received " + (e === null ? "null" : typeof e) + '. Did you write "import ActionCreators from" instead of "import * as ActionCreators from"?');
  for (var r = Object.keys(e), n = {}, i = 0; i < r.length; i++) {
    var o = r[i], l = e[o];
    typeof l == "function" && (n[o] = lz(l, t));
  }
  return n;
}
function $7() {
  for (var e = arguments.length, t = Array(e), r = 0; r < e; r++)
    t[r] = arguments[r];
  return t.length === 0 ? function(n) {
    return n;
  } : t.length === 1 ? t[0] : t.reduce(function(n, i) {
    return function() {
      return n(i.apply(void 0, arguments));
    };
  });
}
var Wue = Object.assign || function(e) {
  for (var t = 1; t < arguments.length; t++) {
    var r = arguments[t];
    for (var n in r)
      Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n]);
  }
  return e;
};
function $ue() {
  for (var e = arguments.length, t = Array(e), r = 0; r < e; r++)
    t[r] = arguments[r];
  return function(n) {
    return function(i, o, l) {
      var c = n(i, o, l), g = c.dispatch, y = [], C = {
        getState: c.getState,
        dispatch: function(x) {
          return g(x);
        }
      };
      return y = t.map(function(D) {
        return D(C);
      }), g = $7.apply(void 0, y)(c.dispatch), Wue({}, c, {
        dispatch: g
      });
    };
  };
}
var Vue = {};
function cz() {
}
Vue.NODE_ENV !== "production" && typeof cz.name == "string" && cz.name !== "isCrushed" && wA("You are currently using minified code outside of NODE_ENV === 'production'. This means that you are running a slower development build of Redux. You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) to ensure you have the correct code for your production build.");
const Hue = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  applyMiddleware: $ue,
  bindActionCreators: Bue,
  combineReducers: zue,
  compose: $7,
  createStore: W7
}, Symbol.toStringTag, { value: "Module" })), Yue = /* @__PURE__ */ On(Hue);
var GT = {}, tc = {}, fz;
function V7() {
  if (fz) return tc;
  fz = 1, Object.defineProperty(tc, "__esModule", {
    value: !0
  });
  var e = tc.ActionTypes = {
    UNDO: "@@redux-undo/UNDO",
    REDO: "@@redux-undo/REDO",
    JUMP_TO_FUTURE: "@@redux-undo/JUMP_TO_FUTURE",
    JUMP_TO_PAST: "@@redux-undo/JUMP_TO_PAST",
    JUMP: "@@redux-undo/JUMP",
    CLEAR_HISTORY: "@@redux-undo/CLEAR_HISTORY"
  };
  return tc.ActionCreators = {
    undo: function() {
      return { type: e.UNDO };
    },
    redo: function() {
      return { type: e.REDO };
    },
    jumpToFuture: function(r) {
      return { type: e.JUMP_TO_FUTURE, index: r };
    },
    jumpToPast: function(r) {
      return { type: e.JUMP_TO_PAST, index: r };
    },
    jump: function(r) {
      return { type: e.JUMP, index: r };
    },
    clearHistory: function() {
      return { type: e.CLEAR_HISTORY };
    }
  }, tc;
}
var aa = {}, dz;
function H7() {
  if (dz) return aa;
  dz = 1, Object.defineProperty(aa, "__esModule", {
    value: !0
  }), aa.parseActions = e, aa.isHistory = t, aa.distinctState = r, aa.includeAction = n, aa.excludeAction = i, aa.combineFilters = o, aa.groupByActionTypes = l;
  function e(c) {
    var g = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
    return Array.isArray(c) ? c : typeof c == "string" ? [c] : g;
  }
  function t(c) {
    return typeof c.present < "u" && typeof c.future < "u" && typeof c.past < "u" && Array.isArray(c.future) && Array.isArray(c.past);
  }
  function r() {
    return console.warn("distinctState is deprecated in beta4 and newer. The distinctState behavior is now default, which means only actions resulting in a new state are recorded. See https://github.com/omnidan/redux-undo#filtering-actions for more details."), function() {
      return !0;
    };
  }
  function n(c) {
    var g = e(c);
    return function(y) {
      return g.indexOf(y.type) >= 0;
    };
  }
  function i(c) {
    var g = e(c);
    return function(y) {
      return g.indexOf(y.type) < 0;
    };
  }
  function o() {
    for (var c = arguments.length, g = Array(c), y = 0; y < c; y++)
      g[y] = arguments[y];
    return g.reduce(function(C, D) {
      return function(x, M, N) {
        return C(x, M, N) && D(x, M, N);
      };
    }, function() {
      return !0;
    });
  }
  function l(c) {
    var g = e(c);
    return function(y) {
      return g.indexOf(y.type) >= 0 ? y.type : null;
    };
  }
  return aa;
}
var uh = { exports: {} }, ss = {}, pz;
function Gue() {
  if (pz) return ss;
  pz = 1, Object.defineProperty(ss, "__esModule", {
    value: !0
  });
  function e(D) {
    if (Array.isArray(D)) {
      for (var x = 0, M = Array(D.length); x < D.length; x++)
        M[x] = D[x];
      return M;
    } else
      return Array.from(D);
  }
  var t = void 0, r = void 0, n = {
    prevState: "#9E9E9E",
    action: "#03A9F4",
    nextState: "#4CAF50"
    /* istanbul ignore next: debug messaging is not tested */
  };
  function i() {
    r = {
      header: [],
      prev: [],
      action: [],
      next: [],
      msgs: []
    };
  }
  function o() {
    var D = r, x = D.header, M = D.prev, N = D.next, F = D.action, z = D.msgs;
    if (console.group) {
      var A, u, a, s, h;
      (A = console).groupCollapsed.apply(A, e(x)), (u = console).log.apply(u, e(M)), (a = console).log.apply(a, e(F)), (s = console).log.apply(s, e(N)), (h = console).log.apply(h, e(z)), console.groupEnd();
    } else {
      var E, f, S, _, d;
      (E = console).log.apply(E, e(x)), (f = console).log.apply(f, e(M)), (S = console).log.apply(S, e(F)), (_ = console).log.apply(_, e(N)), (d = console).log.apply(d, e(z));
    }
  }
  function l(D, x, M) {
    return ["%c" + D, "color: " + x + "; font-weight: bold", M];
  }
  function c(D, x) {
    i(), t && (console.group ? (r.header = ["%credux-undo", "font-style: italic", "action", D.type], r.action = l("action", n.action, D), r.prev = l("prev history", n.prevState, x)) : (r.header = ["redux-undo action", D.type], r.action = ["action", D], r.prev = ["prev history", x]));
  }
  function g(D) {
    t && (console.group ? r.next = l("next history", n.nextState, D) : r.next = ["next history", D], o());
  }
  function y() {
    if (t) {
      for (var D = arguments.length, x = Array(D), M = 0; M < D; M++)
        x[M] = arguments[M];
      r.msgs = r.msgs.concat([].concat(x, [`
`]));
    }
  }
  function C(D) {
    t = D;
  }
  return ss.set = C, ss.start = c, ss.end = g, ss.log = y, ss;
}
var hz;
function Kue() {
  return hz || (hz = 1, function(e, t) {
    Object.defineProperty(t, "__esModule", {
      value: !0
    });
    var r = Object.assign || function(u) {
      for (var a = 1; a < arguments.length; a++) {
        var s = arguments[a];
        for (var h in s)
          Object.prototype.hasOwnProperty.call(s, h) && (u[h] = s[h]);
      }
      return u;
    };
    t.default = A;
    var n = Gue(), i = c(n), o = V7(), l = H7();
    function c(u) {
      if (u && u.__esModule)
        return u;
      var a = {};
      if (u != null)
        for (var s in u)
          Object.prototype.hasOwnProperty.call(u, s) && (a[s] = u[s]);
      return a.default = u, a;
    }
    function g(u) {
      if (Array.isArray(u)) {
        for (var a = 0, s = Array(u.length); a < u.length; a++)
          s[a] = u[a];
        return s;
      } else
        return Array.from(u);
    }
    function y(u, a, s) {
      var h = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : null;
      return {
        past: u,
        present: a,
        future: s,
        group: h,
        _latestUnfiltered: a,
        index: u.length,
        limit: u.length + s.length + 1
      };
    }
    function C(u, a) {
      var s = y([], u, []);
      return a && (s._latestUnfiltered = null), s;
    }
    function D(u) {
      return u.past.length + 1;
    }
    function x(u, a, s, h) {
      i.log("inserting", a), i.log("new free: ", s - D(u));
      var E = u.past, f = u._latestUnfiltered, S = s && D(u) >= s, _ = E.slice(S ? 1 : 0), d = f != null ? [].concat(g(_), [f]) : _;
      return y(d, a, [], h);
    }
    function M(u, a) {
      if (a < 0 || a >= u.future.length) return u;
      var s = u.past, h = u.future, E = u._latestUnfiltered, f = [].concat(g(s), [E], g(h.slice(0, a))), S = h[a], _ = h.slice(a + 1);
      return y(f, S, _);
    }
    function N(u, a) {
      if (a < 0 || a >= u.past.length) return u;
      var s = u.past, h = u.future, E = u._latestUnfiltered, f = s.slice(0, a), S = [].concat(g(s.slice(a + 1)), [E], g(h)), _ = s[a];
      return y(f, _, S);
    }
    function F(u, a) {
      return a > 0 ? M(u, a - 1) : a < 0 ? N(u, u.past.length + a) : u;
    }
    function z(u, a) {
      return a.indexOf(u) > -1 ? u : !u;
    }
    function A(u) {
      var a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
      i.set(a.debug);
      var s = {
        initTypes: (0, l.parseActions)(a.initTypes, ["@@redux-undo/INIT"]),
        limit: a.limit,
        filter: a.filter || function() {
          return !0;
        },
        groupBy: a.groupBy || function() {
          return null;
        },
        undoType: a.undoType || o.ActionTypes.UNDO,
        redoType: a.redoType || o.ActionTypes.REDO,
        jumpToPastType: a.jumpToPastType || o.ActionTypes.JUMP_TO_PAST,
        jumpToFutureType: a.jumpToFutureType || o.ActionTypes.JUMP_TO_FUTURE,
        jumpType: a.jumpType || o.ActionTypes.JUMP,
        clearHistoryType: Array.isArray(a.clearHistoryType) ? a.clearHistoryType : [a.clearHistoryType || o.ActionTypes.CLEAR_HISTORY],
        neverSkipReducer: a.neverSkipReducer || !1,
        ignoreInitialState: a.ignoreInitialState || !1,
        syncFilter: a.syncFilter || !1
      }, h = s.history;
      return function() {
        for (var E = arguments.length, f = Array(E > 2 ? E - 2 : 0), S = 2; S < E; S++)
          f[S - 2] = arguments[S];
        var _ = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : h, d = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
        i.start(d, _);
        var p = _;
        if (!h)
          if (i.log("history is uninitialized"), _ === void 0) {
            var b = { type: o.ActionTypes.CLEAR_HISTORY }, m = u.apply(void 0, [_, b].concat(f));
            p = C(m, s.ignoreInitialState), i.log("do not set initialState on probe actions");
          } else (0, l.isHistory)(_) ? (p = h = s.ignoreInitialState ? _ : y(_.past, _.present, _.future), i.log("initialHistory initialized: initialState is a history", h)) : (p = h = C(_, s.ignoreInitialState), i.log("initialHistory initialized: initialState is not a history", h));
        var v = function(R) {
          return s.neverSkipReducer ? r({}, R, {
            present: u.apply(void 0, [R.present, d].concat(f))
          }) : R;
        }, O = void 0;
        switch (d.type) {
          case void 0:
            return p;
          case s.undoType:
            return O = F(p, -1), i.log("perform undo"), i.end(O), v(O);
          case s.redoType:
            return O = F(p, 1), i.log("perform redo"), i.end(O), v(O);
          case s.jumpToPastType:
            return O = N(p, d.index), i.log("perform jumpToPast to " + d.index), i.end(O), v(O);
          case s.jumpToFutureType:
            return O = M(p, d.index), i.log("perform jumpToFuture to " + d.index), i.end(O), v(O);
          case s.jumpType:
            return O = F(p, d.index), i.log("perform jump to " + d.index), i.end(O), v(O);
          case z(d.type, s.clearHistoryType):
            return O = C(p.present), i.log("perform clearHistory"), i.end(O), v(O);
          default:
            if (O = u.apply(void 0, [p.present, d].concat(f)), s.initTypes.some(function(L) {
              return L === d.type;
            }))
              return i.log("reset history due to init action"), i.end(h), h;
            if (p._latestUnfiltered === O)
              return p;
            var T = typeof s.filter == "function" && !s.filter(d, O, p), w = s.groupBy(d, O, p);
            if (T) {
              var P = y(p.past, O, p.future, p.group);
              return s.syncFilter || (P._latestUnfiltered = p._latestUnfiltered), i.log("filter ignored action, not storing it in past"), i.end(P), P;
            } else if (w != null && w === p.group) {
              var I = y(p.past, O, p.future, p.group);
              return i.log("groupBy grouped the action with the previous action"), i.end(I), I;
            } else
              return p = x(p, O, s.limit, w), i.log("inserted new state into history"), i.end(p), p;
        }
      };
    }
    e.exports = t.default;
  }(uh, uh.exports)), uh.exports;
}
var mz;
function Xue() {
  return mz || (mz = 1, function(e) {
    Object.defineProperty(e, "__esModule", {
      value: !0
    });
    var t = V7();
    Object.defineProperty(e, "ActionTypes", {
      enumerable: !0,
      get: function() {
        return t.ActionTypes;
      }
    }), Object.defineProperty(e, "ActionCreators", {
      enumerable: !0,
      get: function() {
        return t.ActionCreators;
      }
    });
    var r = H7();
    Object.defineProperty(e, "parseActions", {
      enumerable: !0,
      get: function() {
        return r.parseActions;
      }
    }), Object.defineProperty(e, "isHistory", {
      enumerable: !0,
      get: function() {
        return r.isHistory;
      }
    }), Object.defineProperty(e, "distinctState", {
      enumerable: !0,
      get: function() {
        return r.distinctState;
      }
    }), Object.defineProperty(e, "includeAction", {
      enumerable: !0,
      get: function() {
        return r.includeAction;
      }
    }), Object.defineProperty(e, "excludeAction", {
      enumerable: !0,
      get: function() {
        return r.excludeAction;
      }
    }), Object.defineProperty(e, "combineFilters", {
      enumerable: !0,
      get: function() {
        return r.combineFilters;
      }
    }), Object.defineProperty(e, "groupByActionTypes", {
      enumerable: !0,
      get: function() {
        return r.groupByActionTypes;
      }
    });
    var n = Kue();
    Object.defineProperty(e, "default", {
      enumerable: !0,
      get: function() {
        return i(n).default;
      }
    });
    function i(o) {
      return o && o.__esModule ? o : { default: o };
    }
  }(GT)), GT;
}
//! moment.js
//! version : 2.30.1
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
//! license : MIT
//! momentjs.com
var Y7;
function Qe() {
  return Y7.apply(null, arguments);
}
function Que(e) {
  Y7 = e;
}
function qi(e) {
  return e instanceof Array || Object.prototype.toString.call(e) === "[object Array]";
}
function Ds(e) {
  return e != null && Object.prototype.toString.call(e) === "[object Object]";
}
function Mt(e, t) {
  return Object.prototype.hasOwnProperty.call(e, t);
}
function AP(e) {
  if (Object.getOwnPropertyNames)
    return Object.getOwnPropertyNames(e).length === 0;
  var t;
  for (t in e)
    if (Mt(e, t))
      return !1;
  return !0;
}
function Mn(e) {
  return e === void 0;
}
function eo(e) {
  return typeof e == "number" || Object.prototype.toString.call(e) === "[object Number]";
}
function md(e) {
  return e instanceof Date || Object.prototype.toString.call(e) === "[object Date]";
}
function G7(e, t) {
  var r = [], n, i = e.length;
  for (n = 0; n < i; ++n)
    r.push(t(e[n], n));
  return r;
}
function No(e, t) {
  for (var r in t)
    Mt(t, r) && (e[r] = t[r]);
  return Mt(t, "toString") && (e.toString = t.toString), Mt(t, "valueOf") && (e.valueOf = t.valueOf), e;
}
function ka(e, t, r, n) {
  return gH(e, t, r, n, !0).utc();
}
function Zue() {
  return {
    empty: !1,
    unusedTokens: [],
    unusedInput: [],
    overflow: -2,
    charsLeftOver: 0,
    nullInput: !1,
    invalidEra: null,
    invalidMonth: null,
    invalidFormat: !1,
    userInvalidated: !1,
    iso: !1,
    parsedDateParts: [],
    era: null,
    meridiem: null,
    rfc2822: !1,
    weekdayMismatch: !1
  };
}
function pt(e) {
  return e._pf == null && (e._pf = Zue()), e._pf;
}
var OA;
Array.prototype.some ? OA = Array.prototype.some : OA = function(e) {
  var t = Object(this), r = t.length >>> 0, n;
  for (n = 0; n < r; n++)
    if (n in t && e.call(this, t[n], n, t))
      return !0;
  return !1;
};
function DP(e) {
  var t = null, r = !1, n = e._d && !isNaN(e._d.getTime());
  if (n && (t = pt(e), r = OA.call(t.parsedDateParts, function(i) {
    return i != null;
  }), n = t.overflow < 0 && !t.empty && !t.invalidEra && !t.invalidMonth && !t.invalidWeekday && !t.weekdayMismatch && !t.nullInput && !t.invalidFormat && !t.userInvalidated && (!t.meridiem || t.meridiem && r), e._strict && (n = n && t.charsLeftOver === 0 && t.unusedTokens.length === 0 && t.bigHour === void 0)), Object.isFrozen == null || !Object.isFrozen(e))
    e._isValid = n;
  else
    return n;
  return e._isValid;
}
function Fy(e) {
  var t = ka(NaN);
  return e != null ? No(pt(t), e) : pt(t).userInvalidated = !0, t;
}
var vz = Qe.momentProperties = [], KT = !1;
function PP(e, t) {
  var r, n, i, o = vz.length;
  if (Mn(t._isAMomentObject) || (e._isAMomentObject = t._isAMomentObject), Mn(t._i) || (e._i = t._i), Mn(t._f) || (e._f = t._f), Mn(t._l) || (e._l = t._l), Mn(t._strict) || (e._strict = t._strict), Mn(t._tzm) || (e._tzm = t._tzm), Mn(t._isUTC) || (e._isUTC = t._isUTC), Mn(t._offset) || (e._offset = t._offset), Mn(t._pf) || (e._pf = pt(t)), Mn(t._locale) || (e._locale = t._locale), o > 0)
    for (r = 0; r < o; r++)
      n = vz[r], i = t[n], Mn(i) || (e[n] = i);
  return e;
}
function vd(e) {
  PP(this, e), this._d = new Date(e._d != null ? e._d.getTime() : NaN), this.isValid() || (this._d = /* @__PURE__ */ new Date(NaN)), KT === !1 && (KT = !0, Qe.updateOffset(this), KT = !1);
}
function zi(e) {
  return e instanceof vd || e != null && e._isAMomentObject != null;
}
function K7(e) {
  Qe.suppressDeprecationWarnings === !1 && typeof console < "u" && console.warn && console.warn("Deprecation warning: " + e);
}
function wi(e, t) {
  var r = !0;
  return No(function() {
    if (Qe.deprecationHandler != null && Qe.deprecationHandler(null, e), r) {
      var n = [], i, o, l, c = arguments.length;
      for (o = 0; o < c; o++) {
        if (i = "", typeof arguments[o] == "object") {
          i += `
[` + o + "] ";
          for (l in arguments[0])
            Mt(arguments[0], l) && (i += l + ": " + arguments[0][l] + ", ");
          i = i.slice(0, -2);
        } else
          i = arguments[o];
        n.push(i);
      }
      K7(
        e + `
Arguments: ` + Array.prototype.slice.call(n).join("") + `
` + new Error().stack
      ), r = !1;
    }
    return t.apply(this, arguments);
  }, t);
}
var gz = {};
function X7(e, t) {
  Qe.deprecationHandler != null && Qe.deprecationHandler(e, t), gz[e] || (K7(t), gz[e] = !0);
}
Qe.suppressDeprecationWarnings = !1;
Qe.deprecationHandler = null;
function Ra(e) {
  return typeof Function < "u" && e instanceof Function || Object.prototype.toString.call(e) === "[object Function]";
}
function Jue(e) {
  var t, r;
  for (r in e)
    Mt(e, r) && (t = e[r], Ra(t) ? this[r] = t : this["_" + r] = t);
  this._config = e, this._dayOfMonthOrdinalParseLenient = new RegExp(
    (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + "|" + /\d{1,2}/.source
  );
}
function TA(e, t) {
  var r = No({}, e), n;
  for (n in t)
    Mt(t, n) && (Ds(e[n]) && Ds(t[n]) ? (r[n] = {}, No(r[n], e[n]), No(r[n], t[n])) : t[n] != null ? r[n] = t[n] : delete r[n]);
  for (n in e)
    Mt(e, n) && !Mt(t, n) && Ds(e[n]) && (r[n] = No({}, r[n]));
  return r;
}
function kP(e) {
  e != null && this.set(e);
}
var CA;
Object.keys ? CA = Object.keys : CA = function(e) {
  var t, r = [];
  for (t in e)
    Mt(e, t) && r.push(t);
  return r;
};
var ele = {
  sameDay: "[Today at] LT",
  nextDay: "[Tomorrow at] LT",
  nextWeek: "dddd [at] LT",
  lastDay: "[Yesterday at] LT",
  lastWeek: "[Last] dddd [at] LT",
  sameElse: "L"
};
function tle(e, t, r) {
  var n = this._calendar[e] || this._calendar.sameElse;
  return Ra(n) ? n.call(t, r) : n;
}
function Oa(e, t, r) {
  var n = "" + Math.abs(e), i = t - n.length, o = e >= 0;
  return (o ? r ? "+" : "" : "-") + Math.pow(10, Math.max(0, i)).toString().substr(1) + n;
}
var RP = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g, lh = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, XT = {}, Xu = {};
function ot(e, t, r, n) {
  var i = n;
  typeof n == "string" && (i = function() {
    return this[n]();
  }), e && (Xu[e] = i), t && (Xu[t[0]] = function() {
    return Oa(i.apply(this, arguments), t[1], t[2]);
  }), r && (Xu[r] = function() {
    return this.localeData().ordinal(
      i.apply(this, arguments),
      e
    );
  });
}
function rle(e) {
  return e.match(/\[[\s\S]/) ? e.replace(/^\[|\]$/g, "") : e.replace(/\\/g, "");
}
function nle(e) {
  var t = e.match(RP), r, n;
  for (r = 0, n = t.length; r < n; r++)
    Xu[t[r]] ? t[r] = Xu[t[r]] : t[r] = rle(t[r]);
  return function(i) {
    var o = "", l;
    for (l = 0; l < n; l++)
      o += Ra(t[l]) ? t[l].call(i, e) : t[l];
    return o;
  };
}
function Iv(e, t) {
  return e.isValid() ? (t = Q7(t, e.localeData()), XT[t] = XT[t] || nle(t), XT[t](e)) : e.localeData().invalidDate();
}
function Q7(e, t) {
  var r = 5;
  function n(i) {
    return t.longDateFormat(i) || i;
  }
  for (lh.lastIndex = 0; r >= 0 && lh.test(e); )
    e = e.replace(
      lh,
      n
    ), lh.lastIndex = 0, r -= 1;
  return e;
}
var ile = {
  LTS: "h:mm:ss A",
  LT: "h:mm A",
  L: "MM/DD/YYYY",
  LL: "MMMM D, YYYY",
  LLL: "MMMM D, YYYY h:mm A",
  LLLL: "dddd, MMMM D, YYYY h:mm A"
};
function ale(e) {
  var t = this._longDateFormat[e], r = this._longDateFormat[e.toUpperCase()];
  return t || !r ? t : (this._longDateFormat[e] = r.match(RP).map(function(n) {
    return n === "MMMM" || n === "MM" || n === "DD" || n === "dddd" ? n.slice(1) : n;
  }).join(""), this._longDateFormat[e]);
}
var ole = "Invalid date";
function sle() {
  return this._invalidDate;
}
var ule = "%d", lle = /\d{1,2}/;
function cle(e) {
  return this._ordinal.replace("%d", e);
}
var fle = {
  future: "in %s",
  past: "%s ago",
  s: "a few seconds",
  ss: "%d seconds",
  m: "a minute",
  mm: "%d minutes",
  h: "an hour",
  hh: "%d hours",
  d: "a day",
  dd: "%d days",
  w: "a week",
  ww: "%d weeks",
  M: "a month",
  MM: "%d months",
  y: "a year",
  yy: "%d years"
};
function dle(e, t, r, n) {
  var i = this._relativeTime[r];
  return Ra(i) ? i(e, t, r, n) : i.replace(/%d/i, e);
}
function ple(e, t) {
  var r = this._relativeTime[e > 0 ? "future" : "past"];
  return Ra(r) ? r(t) : r.replace(/%s/i, t);
}
var yz = {
  D: "date",
  dates: "date",
  date: "date",
  d: "day",
  days: "day",
  day: "day",
  e: "weekday",
  weekdays: "weekday",
  weekday: "weekday",
  E: "isoWeekday",
  isoweekdays: "isoWeekday",
  isoweekday: "isoWeekday",
  DDD: "dayOfYear",
  dayofyears: "dayOfYear",
  dayofyear: "dayOfYear",
  h: "hour",
  hours: "hour",
  hour: "hour",
  ms: "millisecond",
  milliseconds: "millisecond",
  millisecond: "millisecond",
  m: "minute",
  minutes: "minute",
  minute: "minute",
  M: "month",
  months: "month",
  month: "month",
  Q: "quarter",
  quarters: "quarter",
  quarter: "quarter",
  s: "second",
  seconds: "second",
  second: "second",
  gg: "weekYear",
  weekyears: "weekYear",
  weekyear: "weekYear",
  GG: "isoWeekYear",
  isoweekyears: "isoWeekYear",
  isoweekyear: "isoWeekYear",
  w: "week",
  weeks: "week",
  week: "week",
  W: "isoWeek",
  isoweeks: "isoWeek",
  isoweek: "isoWeek",
  y: "year",
  years: "year",
  year: "year"
};
function Oi(e) {
  return typeof e == "string" ? yz[e] || yz[e.toLowerCase()] : void 0;
}
function MP(e) {
  var t = {}, r, n;
  for (n in e)
    Mt(e, n) && (r = Oi(n), r && (t[r] = e[n]));
  return t;
}
var hle = {
  date: 9,
  day: 11,
  weekday: 11,
  isoWeekday: 11,
  dayOfYear: 4,
  hour: 13,
  millisecond: 16,
  minute: 14,
  month: 8,
  quarter: 7,
  second: 15,
  weekYear: 1,
  isoWeekYear: 1,
  week: 5,
  isoWeek: 5,
  year: 1
};
function mle(e) {
  var t = [], r;
  for (r in e)
    Mt(e, r) && t.push({ unit: r, priority: hle[r] });
  return t.sort(function(n, i) {
    return n.priority - i.priority;
  }), t;
}
var Z7 = /\d/, ri = /\d\d/, J7 = /\d{3}/, NP = /\d{4}/, Ly = /[+-]?\d{6}/, ur = /\d\d?/, eH = /\d\d\d\d?/, tH = /\d\d\d\d\d\d?/, jy = /\d{1,3}/, IP = /\d{1,4}/, Uy = /[+-]?\d{1,6}/, Rl = /\d+/, qy = /[+-]?\d+/, vle = /Z|[+-]\d\d:?\d\d/gi, zy = /Z|[+-]\d\d(?::?\d\d)?/gi, gle = /[+-]?\d+(\.\d{1,3})?/, gd = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i, Ml = /^[1-9]\d?/, FP = /^([1-9]\d|\d)/, Xv;
Xv = {};
function et(e, t, r) {
  Xv[e] = Ra(t) ? t : function(n, i) {
    return n && r ? r : t;
  };
}
function yle(e, t) {
  return Mt(Xv, e) ? Xv[e](t._strict, t._locale) : new RegExp(ble(e));
}
function ble(e) {
  return Qa(
    e.replace("\\", "").replace(
      /\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,
      function(t, r, n, i, o) {
        return r || n || i || o;
      }
    )
  );
}
function Qa(e) {
  return e.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&");
}
function fi(e) {
  return e < 0 ? Math.ceil(e) || 0 : Math.floor(e);
}
function Tt(e) {
  var t = +e, r = 0;
  return t !== 0 && isFinite(t) && (r = fi(t)), r;
}
var xA = {};
function Kt(e, t) {
  var r, n = t, i;
  for (typeof e == "string" && (e = [e]), eo(t) && (n = function(o, l) {
    l[t] = Tt(o);
  }), i = e.length, r = 0; r < i; r++)
    xA[e[r]] = n;
}
function yd(e, t) {
  Kt(e, function(r, n, i, o) {
    i._w = i._w || {}, t(r, i._w, i, o);
  });
}
function _le(e, t, r) {
  t != null && Mt(xA, e) && xA[e](t, r._a, r, e);
}
function By(e) {
  return e % 4 === 0 && e % 100 !== 0 || e % 400 === 0;
}
var an = 0, Ha = 1, ga = 2, xr = 3, Fi = 4, Ya = 5, xs = 6, Ele = 7, Sle = 8;
ot("Y", 0, 0, function() {
  var e = this.year();
  return e <= 9999 ? Oa(e, 4) : "+" + e;
});
ot(0, ["YY", 2], 0, function() {
  return this.year() % 100;
});
ot(0, ["YYYY", 4], 0, "year");
ot(0, ["YYYYY", 5], 0, "year");
ot(0, ["YYYYYY", 6, !0], 0, "year");
et("Y", qy);
et("YY", ur, ri);
et("YYYY", IP, NP);
et("YYYYY", Uy, Ly);
et("YYYYYY", Uy, Ly);
Kt(["YYYYY", "YYYYYY"], an);
Kt("YYYY", function(e, t) {
  t[an] = e.length === 2 ? Qe.parseTwoDigitYear(e) : Tt(e);
});
Kt("YY", function(e, t) {
  t[an] = Qe.parseTwoDigitYear(e);
});
Kt("Y", function(e, t) {
  t[an] = parseInt(e, 10);
});
function Sf(e) {
  return By(e) ? 366 : 365;
}
Qe.parseTwoDigitYear = function(e) {
  return Tt(e) + (Tt(e) > 68 ? 1900 : 2e3);
};
var rH = Nl("FullYear", !0);
function wle() {
  return By(this.year());
}
function Nl(e, t) {
  return function(r) {
    return r != null ? (nH(this, e, r), Qe.updateOffset(this, t), this) : Ff(this, e);
  };
}
function Ff(e, t) {
  if (!e.isValid())
    return NaN;
  var r = e._d, n = e._isUTC;
  switch (t) {
    case "Milliseconds":
      return n ? r.getUTCMilliseconds() : r.getMilliseconds();
    case "Seconds":
      return n ? r.getUTCSeconds() : r.getSeconds();
    case "Minutes":
      return n ? r.getUTCMinutes() : r.getMinutes();
    case "Hours":
      return n ? r.getUTCHours() : r.getHours();
    case "Date":
      return n ? r.getUTCDate() : r.getDate();
    case "Day":
      return n ? r.getUTCDay() : r.getDay();
    case "Month":
      return n ? r.getUTCMonth() : r.getMonth();
    case "FullYear":
      return n ? r.getUTCFullYear() : r.getFullYear();
    default:
      return NaN;
  }
}
function nH(e, t, r) {
  var n, i, o, l, c;
  if (!(!e.isValid() || isNaN(r))) {
    switch (n = e._d, i = e._isUTC, t) {
      case "Milliseconds":
        return void (i ? n.setUTCMilliseconds(r) : n.setMilliseconds(r));
      case "Seconds":
        return void (i ? n.setUTCSeconds(r) : n.setSeconds(r));
      case "Minutes":
        return void (i ? n.setUTCMinutes(r) : n.setMinutes(r));
      case "Hours":
        return void (i ? n.setUTCHours(r) : n.setHours(r));
      case "Date":
        return void (i ? n.setUTCDate(r) : n.setDate(r));
      case "FullYear":
        break;
      default:
        return;
    }
    o = r, l = e.month(), c = e.date(), c = c === 29 && l === 1 && !By(o) ? 28 : c, i ? n.setUTCFullYear(o, l, c) : n.setFullYear(o, l, c);
  }
}
function Ole(e) {
  return e = Oi(e), Ra(this[e]) ? this[e]() : this;
}
function Tle(e, t) {
  if (typeof e == "object") {
    e = MP(e);
    var r = mle(e), n, i = r.length;
    for (n = 0; n < i; n++)
      this[r[n].unit](e[r[n].unit]);
  } else if (e = Oi(e), Ra(this[e]))
    return this[e](t);
  return this;
}
function Cle(e, t) {
  return (e % t + t) % t;
}
var br;
Array.prototype.indexOf ? br = Array.prototype.indexOf : br = function(e) {
  var t;
  for (t = 0; t < this.length; ++t)
    if (this[t] === e)
      return t;
  return -1;
};
function LP(e, t) {
  if (isNaN(e) || isNaN(t))
    return NaN;
  var r = Cle(t, 12);
  return e += (t - r) / 12, r === 1 ? By(e) ? 29 : 28 : 31 - r % 7 % 2;
}
ot("M", ["MM", 2], "Mo", function() {
  return this.month() + 1;
});
ot("MMM", 0, 0, function(e) {
  return this.localeData().monthsShort(this, e);
});
ot("MMMM", 0, 0, function(e) {
  return this.localeData().months(this, e);
});
et("M", ur, Ml);
et("MM", ur, ri);
et("MMM", function(e, t) {
  return t.monthsShortRegex(e);
});
et("MMMM", function(e, t) {
  return t.monthsRegex(e);
});
Kt(["M", "MM"], function(e, t) {
  t[Ha] = Tt(e) - 1;
});
Kt(["MMM", "MMMM"], function(e, t, r, n) {
  var i = r._locale.monthsParse(e, n, r._strict);
  i != null ? t[Ha] = i : pt(r).invalidMonth = e;
});
var xle = "January_February_March_April_May_June_July_August_September_October_November_December".split(
  "_"
), iH = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), aH = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, Ale = gd, Dle = gd;
function Ple(e, t) {
  return e ? qi(this._months) ? this._months[e.month()] : this._months[(this._months.isFormat || aH).test(t) ? "format" : "standalone"][e.month()] : qi(this._months) ? this._months : this._months.standalone;
}
function kle(e, t) {
  return e ? qi(this._monthsShort) ? this._monthsShort[e.month()] : this._monthsShort[aH.test(t) ? "format" : "standalone"][e.month()] : qi(this._monthsShort) ? this._monthsShort : this._monthsShort.standalone;
}
function Rle(e, t, r) {
  var n, i, o, l = e.toLocaleLowerCase();
  if (!this._monthsParse)
    for (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = [], n = 0; n < 12; ++n)
      o = ka([2e3, n]), this._shortMonthsParse[n] = this.monthsShort(
        o,
        ""
      ).toLocaleLowerCase(), this._longMonthsParse[n] = this.months(o, "").toLocaleLowerCase();
  return r ? t === "MMM" ? (i = br.call(this._shortMonthsParse, l), i !== -1 ? i : null) : (i = br.call(this._longMonthsParse, l), i !== -1 ? i : null) : t === "MMM" ? (i = br.call(this._shortMonthsParse, l), i !== -1 ? i : (i = br.call(this._longMonthsParse, l), i !== -1 ? i : null)) : (i = br.call(this._longMonthsParse, l), i !== -1 ? i : (i = br.call(this._shortMonthsParse, l), i !== -1 ? i : null));
}
function Mle(e, t, r) {
  var n, i, o;
  if (this._monthsParseExact)
    return Rle.call(this, e, t, r);
  for (this._monthsParse || (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = []), n = 0; n < 12; n++) {
    if (i = ka([2e3, n]), r && !this._longMonthsParse[n] && (this._longMonthsParse[n] = new RegExp(
      "^" + this.months(i, "").replace(".", "") + "$",
      "i"
    ), this._shortMonthsParse[n] = new RegExp(
      "^" + this.monthsShort(i, "").replace(".", "") + "$",
      "i"
    )), !r && !this._monthsParse[n] && (o = "^" + this.months(i, "") + "|^" + this.monthsShort(i, ""), this._monthsParse[n] = new RegExp(o.replace(".", ""), "i")), r && t === "MMMM" && this._longMonthsParse[n].test(e))
      return n;
    if (r && t === "MMM" && this._shortMonthsParse[n].test(e))
      return n;
    if (!r && this._monthsParse[n].test(e))
      return n;
  }
}
function oH(e, t) {
  if (!e.isValid())
    return e;
  if (typeof t == "string") {
    if (/^\d+$/.test(t))
      t = Tt(t);
    else if (t = e.localeData().monthsParse(t), !eo(t))
      return e;
  }
  var r = t, n = e.date();
  return n = n < 29 ? n : Math.min(n, LP(e.year(), r)), e._isUTC ? e._d.setUTCMonth(r, n) : e._d.setMonth(r, n), e;
}
function sH(e) {
  return e != null ? (oH(this, e), Qe.updateOffset(this, !0), this) : Ff(this, "Month");
}
function Nle() {
  return LP(this.year(), this.month());
}
function Ile(e) {
  return this._monthsParseExact ? (Mt(this, "_monthsRegex") || uH.call(this), e ? this._monthsShortStrictRegex : this._monthsShortRegex) : (Mt(this, "_monthsShortRegex") || (this._monthsShortRegex = Ale), this._monthsShortStrictRegex && e ? this._monthsShortStrictRegex : this._monthsShortRegex);
}
function Fle(e) {
  return this._monthsParseExact ? (Mt(this, "_monthsRegex") || uH.call(this), e ? this._monthsStrictRegex : this._monthsRegex) : (Mt(this, "_monthsRegex") || (this._monthsRegex = Dle), this._monthsStrictRegex && e ? this._monthsStrictRegex : this._monthsRegex);
}
function uH() {
  function e(g, y) {
    return y.length - g.length;
  }
  var t = [], r = [], n = [], i, o, l, c;
  for (i = 0; i < 12; i++)
    o = ka([2e3, i]), l = Qa(this.monthsShort(o, "")), c = Qa(this.months(o, "")), t.push(l), r.push(c), n.push(c), n.push(l);
  t.sort(e), r.sort(e), n.sort(e), this._monthsRegex = new RegExp("^(" + n.join("|") + ")", "i"), this._monthsShortRegex = this._monthsRegex, this._monthsStrictRegex = new RegExp(
    "^(" + r.join("|") + ")",
    "i"
  ), this._monthsShortStrictRegex = new RegExp(
    "^(" + t.join("|") + ")",
    "i"
  );
}
function Lle(e, t, r, n, i, o, l) {
  var c;
  return e < 100 && e >= 0 ? (c = new Date(e + 400, t, r, n, i, o, l), isFinite(c.getFullYear()) && c.setFullYear(e)) : c = new Date(e, t, r, n, i, o, l), c;
}
function Lf(e) {
  var t, r;
  return e < 100 && e >= 0 ? (r = Array.prototype.slice.call(arguments), r[0] = e + 400, t = new Date(Date.UTC.apply(null, r)), isFinite(t.getUTCFullYear()) && t.setUTCFullYear(e)) : t = new Date(Date.UTC.apply(null, arguments)), t;
}
function Qv(e, t, r) {
  var n = 7 + t - r, i = (7 + Lf(e, 0, n).getUTCDay() - t) % 7;
  return -i + n - 1;
}
function lH(e, t, r, n, i) {
  var o = (7 + r - n) % 7, l = Qv(e, n, i), c = 1 + 7 * (t - 1) + o + l, g, y;
  return c <= 0 ? (g = e - 1, y = Sf(g) + c) : c > Sf(e) ? (g = e + 1, y = c - Sf(e)) : (g = e, y = c), {
    year: g,
    dayOfYear: y
  };
}
function jf(e, t, r) {
  var n = Qv(e.year(), t, r), i = Math.floor((e.dayOfYear() - n - 1) / 7) + 1, o, l;
  return i < 1 ? (l = e.year() - 1, o = i + Za(l, t, r)) : i > Za(e.year(), t, r) ? (o = i - Za(e.year(), t, r), l = e.year() + 1) : (l = e.year(), o = i), {
    week: o,
    year: l
  };
}
function Za(e, t, r) {
  var n = Qv(e, t, r), i = Qv(e + 1, t, r);
  return (Sf(e) - n + i) / 7;
}
ot("w", ["ww", 2], "wo", "week");
ot("W", ["WW", 2], "Wo", "isoWeek");
et("w", ur, Ml);
et("ww", ur, ri);
et("W", ur, Ml);
et("WW", ur, ri);
yd(
  ["w", "ww", "W", "WW"],
  function(e, t, r, n) {
    t[n.substr(0, 1)] = Tt(e);
  }
);
function jle(e) {
  return jf(e, this._week.dow, this._week.doy).week;
}
var Ule = {
  dow: 0,
  // Sunday is the first day of the week.
  doy: 6
  // The week that contains Jan 6th is the first week of the year.
};
function qle() {
  return this._week.dow;
}
function zle() {
  return this._week.doy;
}
function Ble(e) {
  var t = this.localeData().week(this);
  return e == null ? t : this.add((e - t) * 7, "d");
}
function Wle(e) {
  var t = jf(this, 1, 4).week;
  return e == null ? t : this.add((e - t) * 7, "d");
}
ot("d", 0, "do", "day");
ot("dd", 0, 0, function(e) {
  return this.localeData().weekdaysMin(this, e);
});
ot("ddd", 0, 0, function(e) {
  return this.localeData().weekdaysShort(this, e);
});
ot("dddd", 0, 0, function(e) {
  return this.localeData().weekdays(this, e);
});
ot("e", 0, 0, "weekday");
ot("E", 0, 0, "isoWeekday");
et("d", ur);
et("e", ur);
et("E", ur);
et("dd", function(e, t) {
  return t.weekdaysMinRegex(e);
});
et("ddd", function(e, t) {
  return t.weekdaysShortRegex(e);
});
et("dddd", function(e, t) {
  return t.weekdaysRegex(e);
});
yd(["dd", "ddd", "dddd"], function(e, t, r, n) {
  var i = r._locale.weekdaysParse(e, n, r._strict);
  i != null ? t.d = i : pt(r).invalidWeekday = e;
});
yd(["d", "e", "E"], function(e, t, r, n) {
  t[n] = Tt(e);
});
function $le(e, t) {
  return typeof e != "string" ? e : isNaN(e) ? (e = t.weekdaysParse(e), typeof e == "number" ? e : null) : parseInt(e, 10);
}
function Vle(e, t) {
  return typeof e == "string" ? t.weekdaysParse(e) % 7 || 7 : isNaN(e) ? null : e;
}
function jP(e, t) {
  return e.slice(t, 7).concat(e.slice(0, t));
}
var Hle = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), cH = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), Yle = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"), Gle = gd, Kle = gd, Xle = gd;
function Qle(e, t) {
  var r = qi(this._weekdays) ? this._weekdays : this._weekdays[e && e !== !0 && this._weekdays.isFormat.test(t) ? "format" : "standalone"];
  return e === !0 ? jP(r, this._week.dow) : e ? r[e.day()] : r;
}
function Zle(e) {
  return e === !0 ? jP(this._weekdaysShort, this._week.dow) : e ? this._weekdaysShort[e.day()] : this._weekdaysShort;
}
function Jle(e) {
  return e === !0 ? jP(this._weekdaysMin, this._week.dow) : e ? this._weekdaysMin[e.day()] : this._weekdaysMin;
}
function ece(e, t, r) {
  var n, i, o, l = e.toLocaleLowerCase();
  if (!this._weekdaysParse)
    for (this._weekdaysParse = [], this._shortWeekdaysParse = [], this._minWeekdaysParse = [], n = 0; n < 7; ++n)
      o = ka([2e3, 1]).day(n), this._minWeekdaysParse[n] = this.weekdaysMin(
        o,
        ""
      ).toLocaleLowerCase(), this._shortWeekdaysParse[n] = this.weekdaysShort(
        o,
        ""
      ).toLocaleLowerCase(), this._weekdaysParse[n] = this.weekdays(o, "").toLocaleLowerCase();
  return r ? t === "dddd" ? (i = br.call(this._weekdaysParse, l), i !== -1 ? i : null) : t === "ddd" ? (i = br.call(this._shortWeekdaysParse, l), i !== -1 ? i : null) : (i = br.call(this._minWeekdaysParse, l), i !== -1 ? i : null) : t === "dddd" ? (i = br.call(this._weekdaysParse, l), i !== -1 || (i = br.call(this._shortWeekdaysParse, l), i !== -1) ? i : (i = br.call(this._minWeekdaysParse, l), i !== -1 ? i : null)) : t === "ddd" ? (i = br.call(this._shortWeekdaysParse, l), i !== -1 || (i = br.call(this._weekdaysParse, l), i !== -1) ? i : (i = br.call(this._minWeekdaysParse, l), i !== -1 ? i : null)) : (i = br.call(this._minWeekdaysParse, l), i !== -1 || (i = br.call(this._weekdaysParse, l), i !== -1) ? i : (i = br.call(this._shortWeekdaysParse, l), i !== -1 ? i : null));
}
function tce(e, t, r) {
  var n, i, o;
  if (this._weekdaysParseExact)
    return ece.call(this, e, t, r);
  for (this._weekdaysParse || (this._weekdaysParse = [], this._minWeekdaysParse = [], this._shortWeekdaysParse = [], this._fullWeekdaysParse = []), n = 0; n < 7; n++) {
    if (i = ka([2e3, 1]).day(n), r && !this._fullWeekdaysParse[n] && (this._fullWeekdaysParse[n] = new RegExp(
      "^" + this.weekdays(i, "").replace(".", "\\.?") + "$",
      "i"
    ), this._shortWeekdaysParse[n] = new RegExp(
      "^" + this.weekdaysShort(i, "").replace(".", "\\.?") + "$",
      "i"
    ), this._minWeekdaysParse[n] = new RegExp(
      "^" + this.weekdaysMin(i, "").replace(".", "\\.?") + "$",
      "i"
    )), this._weekdaysParse[n] || (o = "^" + this.weekdays(i, "") + "|^" + this.weekdaysShort(i, "") + "|^" + this.weekdaysMin(i, ""), this._weekdaysParse[n] = new RegExp(o.replace(".", ""), "i")), r && t === "dddd" && this._fullWeekdaysParse[n].test(e))
      return n;
    if (r && t === "ddd" && this._shortWeekdaysParse[n].test(e))
      return n;
    if (r && t === "dd" && this._minWeekdaysParse[n].test(e))
      return n;
    if (!r && this._weekdaysParse[n].test(e))
      return n;
  }
}
function rce(e) {
  if (!this.isValid())
    return e != null ? this : NaN;
  var t = Ff(this, "Day");
  return e != null ? (e = $le(e, this.localeData()), this.add(e - t, "d")) : t;
}
function nce(e) {
  if (!this.isValid())
    return e != null ? this : NaN;
  var t = (this.day() + 7 - this.localeData()._week.dow) % 7;
  return e == null ? t : this.add(e - t, "d");
}
function ice(e) {
  if (!this.isValid())
    return e != null ? this : NaN;
  if (e != null) {
    var t = Vle(e, this.localeData());
    return this.day(this.day() % 7 ? t : t - 7);
  } else
    return this.day() || 7;
}
function ace(e) {
  return this._weekdaysParseExact ? (Mt(this, "_weekdaysRegex") || UP.call(this), e ? this._weekdaysStrictRegex : this._weekdaysRegex) : (Mt(this, "_weekdaysRegex") || (this._weekdaysRegex = Gle), this._weekdaysStrictRegex && e ? this._weekdaysStrictRegex : this._weekdaysRegex);
}
function oce(e) {
  return this._weekdaysParseExact ? (Mt(this, "_weekdaysRegex") || UP.call(this), e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex) : (Mt(this, "_weekdaysShortRegex") || (this._weekdaysShortRegex = Kle), this._weekdaysShortStrictRegex && e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex);
}
function sce(e) {
  return this._weekdaysParseExact ? (Mt(this, "_weekdaysRegex") || UP.call(this), e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex) : (Mt(this, "_weekdaysMinRegex") || (this._weekdaysMinRegex = Xle), this._weekdaysMinStrictRegex && e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex);
}
function UP() {
  function e(C, D) {
    return D.length - C.length;
  }
  var t = [], r = [], n = [], i = [], o, l, c, g, y;
  for (o = 0; o < 7; o++)
    l = ka([2e3, 1]).day(o), c = Qa(this.weekdaysMin(l, "")), g = Qa(this.weekdaysShort(l, "")), y = Qa(this.weekdays(l, "")), t.push(c), r.push(g), n.push(y), i.push(c), i.push(g), i.push(y);
  t.sort(e), r.sort(e), n.sort(e), i.sort(e), this._weekdaysRegex = new RegExp("^(" + i.join("|") + ")", "i"), this._weekdaysShortRegex = this._weekdaysRegex, this._weekdaysMinRegex = this._weekdaysRegex, this._weekdaysStrictRegex = new RegExp(
    "^(" + n.join("|") + ")",
    "i"
  ), this._weekdaysShortStrictRegex = new RegExp(
    "^(" + r.join("|") + ")",
    "i"
  ), this._weekdaysMinStrictRegex = new RegExp(
    "^(" + t.join("|") + ")",
    "i"
  );
}
function qP() {
  return this.hours() % 12 || 12;
}
function uce() {
  return this.hours() || 24;
}
ot("H", ["HH", 2], 0, "hour");
ot("h", ["hh", 2], 0, qP);
ot("k", ["kk", 2], 0, uce);
ot("hmm", 0, 0, function() {
  return "" + qP.apply(this) + Oa(this.minutes(), 2);
});
ot("hmmss", 0, 0, function() {
  return "" + qP.apply(this) + Oa(this.minutes(), 2) + Oa(this.seconds(), 2);
});
ot("Hmm", 0, 0, function() {
  return "" + this.hours() + Oa(this.minutes(), 2);
});
ot("Hmmss", 0, 0, function() {
  return "" + this.hours() + Oa(this.minutes(), 2) + Oa(this.seconds(), 2);
});
function fH(e, t) {
  ot(e, 0, 0, function() {
    return this.localeData().meridiem(
      this.hours(),
      this.minutes(),
      t
    );
  });
}
fH("a", !0);
fH("A", !1);
function dH(e, t) {
  return t._meridiemParse;
}
et("a", dH);
et("A", dH);
et("H", ur, FP);
et("h", ur, Ml);
et("k", ur, Ml);
et("HH", ur, ri);
et("hh", ur, ri);
et("kk", ur, ri);
et("hmm", eH);
et("hmmss", tH);
et("Hmm", eH);
et("Hmmss", tH);
Kt(["H", "HH"], xr);
Kt(["k", "kk"], function(e, t, r) {
  var n = Tt(e);
  t[xr] = n === 24 ? 0 : n;
});
Kt(["a", "A"], function(e, t, r) {
  r._isPm = r._locale.isPM(e), r._meridiem = e;
});
Kt(["h", "hh"], function(e, t, r) {
  t[xr] = Tt(e), pt(r).bigHour = !0;
});
Kt("hmm", function(e, t, r) {
  var n = e.length - 2;
  t[xr] = Tt(e.substr(0, n)), t[Fi] = Tt(e.substr(n)), pt(r).bigHour = !0;
});
Kt("hmmss", function(e, t, r) {
  var n = e.length - 4, i = e.length - 2;
  t[xr] = Tt(e.substr(0, n)), t[Fi] = Tt(e.substr(n, 2)), t[Ya] = Tt(e.substr(i)), pt(r).bigHour = !0;
});
Kt("Hmm", function(e, t, r) {
  var n = e.length - 2;
  t[xr] = Tt(e.substr(0, n)), t[Fi] = Tt(e.substr(n));
});
Kt("Hmmss", function(e, t, r) {
  var n = e.length - 4, i = e.length - 2;
  t[xr] = Tt(e.substr(0, n)), t[Fi] = Tt(e.substr(n, 2)), t[Ya] = Tt(e.substr(i));
});
function lce(e) {
  return (e + "").toLowerCase().charAt(0) === "p";
}
var cce = /[ap]\.?m?\.?/i, fce = Nl("Hours", !0);
function dce(e, t, r) {
  return e > 11 ? r ? "pm" : "PM" : r ? "am" : "AM";
}
var pH = {
  calendar: ele,
  longDateFormat: ile,
  invalidDate: ole,
  ordinal: ule,
  dayOfMonthOrdinalParse: lle,
  relativeTime: fle,
  months: xle,
  monthsShort: iH,
  week: Ule,
  weekdays: Hle,
  weekdaysMin: Yle,
  weekdaysShort: cH,
  meridiemParse: cce
}, cr = {}, rc = {}, Uf;
function pce(e, t) {
  var r, n = Math.min(e.length, t.length);
  for (r = 0; r < n; r += 1)
    if (e[r] !== t[r])
      return r;
  return n;
}
function bz(e) {
  return e && e.toLowerCase().replace("_", "-");
}
function hce(e) {
  for (var t = 0, r, n, i, o; t < e.length; ) {
    for (o = bz(e[t]).split("-"), r = o.length, n = bz(e[t + 1]), n = n ? n.split("-") : null; r > 0; ) {
      if (i = Wy(o.slice(0, r).join("-")), i)
        return i;
      if (n && n.length >= r && pce(o, n) >= r - 1)
        break;
      r--;
    }
    t++;
  }
  return Uf;
}
function mce(e) {
  return !!(e && e.match("^[^/\\\\]*$"));
}
function Wy(e) {
  var t = null, r;
  if (cr[e] === void 0 && typeof module < "u" && module && module.exports && mce(e))
    try {
      t = Uf._abbr, r = require, r("./locale/" + e), qo(t);
    } catch {
      cr[e] = null;
    }
  return cr[e];
}
function qo(e, t) {
  var r;
  return e && (Mn(t) ? r = uo(e) : r = zP(e, t), r ? Uf = r : typeof console < "u" && console.warn && console.warn(
    "Locale " + e + " not found. Did you forget to load it?"
  )), Uf._abbr;
}
function zP(e, t) {
  if (t !== null) {
    var r, n = pH;
    if (t.abbr = e, cr[e] != null)
      X7(
        "defineLocaleOverride",
        "use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."
      ), n = cr[e]._config;
    else if (t.parentLocale != null)
      if (cr[t.parentLocale] != null)
        n = cr[t.parentLocale]._config;
      else if (r = Wy(t.parentLocale), r != null)
        n = r._config;
      else
        return rc[t.parentLocale] || (rc[t.parentLocale] = []), rc[t.parentLocale].push({
          name: e,
          config: t
        }), null;
    return cr[e] = new kP(TA(n, t)), rc[e] && rc[e].forEach(function(i) {
      zP(i.name, i.config);
    }), qo(e), cr[e];
  } else
    return delete cr[e], null;
}
function vce(e, t) {
  if (t != null) {
    var r, n, i = pH;
    cr[e] != null && cr[e].parentLocale != null ? cr[e].set(TA(cr[e]._config, t)) : (n = Wy(e), n != null && (i = n._config), t = TA(i, t), n == null && (t.abbr = e), r = new kP(t), r.parentLocale = cr[e], cr[e] = r), qo(e);
  } else
    cr[e] != null && (cr[e].parentLocale != null ? (cr[e] = cr[e].parentLocale, e === qo() && qo(e)) : cr[e] != null && delete cr[e]);
  return cr[e];
}
function uo(e) {
  var t;
  if (e && e._locale && e._locale._abbr && (e = e._locale._abbr), !e)
    return Uf;
  if (!qi(e)) {
    if (t = Wy(e), t)
      return t;
    e = [e];
  }
  return hce(e);
}
function gce() {
  return CA(cr);
}
function BP(e) {
  var t, r = e._a;
  return r && pt(e).overflow === -2 && (t = r[Ha] < 0 || r[Ha] > 11 ? Ha : r[ga] < 1 || r[ga] > LP(r[an], r[Ha]) ? ga : r[xr] < 0 || r[xr] > 24 || r[xr] === 24 && (r[Fi] !== 0 || r[Ya] !== 0 || r[xs] !== 0) ? xr : r[Fi] < 0 || r[Fi] > 59 ? Fi : r[Ya] < 0 || r[Ya] > 59 ? Ya : r[xs] < 0 || r[xs] > 999 ? xs : -1, pt(e)._overflowDayOfYear && (t < an || t > ga) && (t = ga), pt(e)._overflowWeeks && t === -1 && (t = Ele), pt(e)._overflowWeekday && t === -1 && (t = Sle), pt(e).overflow = t), e;
}
var yce = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, bce = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/, _ce = /Z|[+-]\d\d(?::?\d\d)?/, ch = [
  ["YYYYYY-MM-DD", /[+-]\d{6}-\d\d-\d\d/],
  ["YYYY-MM-DD", /\d{4}-\d\d-\d\d/],
  ["GGGG-[W]WW-E", /\d{4}-W\d\d-\d/],
  ["GGGG-[W]WW", /\d{4}-W\d\d/, !1],
  ["YYYY-DDD", /\d{4}-\d{3}/],
  ["YYYY-MM", /\d{4}-\d\d/, !1],
  ["YYYYYYMMDD", /[+-]\d{10}/],
  ["YYYYMMDD", /\d{8}/],
  ["GGGG[W]WWE", /\d{4}W\d{3}/],
  ["GGGG[W]WW", /\d{4}W\d{2}/, !1],
  ["YYYYDDD", /\d{7}/],
  ["YYYYMM", /\d{6}/, !1],
  ["YYYY", /\d{4}/, !1]
], QT = [
  ["HH:mm:ss.SSSS", /\d\d:\d\d:\d\d\.\d+/],
  ["HH:mm:ss,SSSS", /\d\d:\d\d:\d\d,\d+/],
  ["HH:mm:ss", /\d\d:\d\d:\d\d/],
  ["HH:mm", /\d\d:\d\d/],
  ["HHmmss.SSSS", /\d\d\d\d\d\d\.\d+/],
  ["HHmmss,SSSS", /\d\d\d\d\d\d,\d+/],
  ["HHmmss", /\d\d\d\d\d\d/],
  ["HHmm", /\d\d\d\d/],
  ["HH", /\d\d/]
], Ece = /^\/?Date\((-?\d+)/i, Sce = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/, wce = {
  UT: 0,
  GMT: 0,
  EDT: -4 * 60,
  EST: -5 * 60,
  CDT: -5 * 60,
  CST: -6 * 60,
  MDT: -6 * 60,
  MST: -7 * 60,
  PDT: -7 * 60,
  PST: -8 * 60
};
function hH(e) {
  var t, r, n = e._i, i = yce.exec(n) || bce.exec(n), o, l, c, g, y = ch.length, C = QT.length;
  if (i) {
    for (pt(e).iso = !0, t = 0, r = y; t < r; t++)
      if (ch[t][1].exec(i[1])) {
        l = ch[t][0], o = ch[t][2] !== !1;
        break;
      }
    if (l == null) {
      e._isValid = !1;
      return;
    }
    if (i[3]) {
      for (t = 0, r = C; t < r; t++)
        if (QT[t][1].exec(i[3])) {
          c = (i[2] || " ") + QT[t][0];
          break;
        }
      if (c == null) {
        e._isValid = !1;
        return;
      }
    }
    if (!o && c != null) {
      e._isValid = !1;
      return;
    }
    if (i[4])
      if (_ce.exec(i[4]))
        g = "Z";
      else {
        e._isValid = !1;
        return;
      }
    e._f = l + (c || "") + (g || ""), $P(e);
  } else
    e._isValid = !1;
}
function Oce(e, t, r, n, i, o) {
  var l = [
    Tce(e),
    iH.indexOf(t),
    parseInt(r, 10),
    parseInt(n, 10),
    parseInt(i, 10)
  ];
  return o && l.push(parseInt(o, 10)), l;
}
function Tce(e) {
  var t = parseInt(e, 10);
  return t <= 49 ? 2e3 + t : t <= 999 ? 1900 + t : t;
}
function Cce(e) {
  return e.replace(/\([^()]*\)|[\n\t]/g, " ").replace(/(\s\s+)/g, " ").replace(/^\s\s*/, "").replace(/\s\s*$/, "");
}
function xce(e, t, r) {
  if (e) {
    var n = cH.indexOf(e), i = new Date(
      t[0],
      t[1],
      t[2]
    ).getDay();
    if (n !== i)
      return pt(r).weekdayMismatch = !0, r._isValid = !1, !1;
  }
  return !0;
}
function Ace(e, t, r) {
  if (e)
    return wce[e];
  if (t)
    return 0;
  var n = parseInt(r, 10), i = n % 100, o = (n - i) / 100;
  return o * 60 + i;
}
function mH(e) {
  var t = Sce.exec(Cce(e._i)), r;
  if (t) {
    if (r = Oce(
      t[4],
      t[3],
      t[2],
      t[5],
      t[6],
      t[7]
    ), !xce(t[1], r, e))
      return;
    e._a = r, e._tzm = Ace(t[8], t[9], t[10]), e._d = Lf.apply(null, e._a), e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), pt(e).rfc2822 = !0;
  } else
    e._isValid = !1;
}
function Dce(e) {
  var t = Ece.exec(e._i);
  if (t !== null) {
    e._d = /* @__PURE__ */ new Date(+t[1]);
    return;
  }
  if (hH(e), e._isValid === !1)
    delete e._isValid;
  else
    return;
  if (mH(e), e._isValid === !1)
    delete e._isValid;
  else
    return;
  e._strict ? e._isValid = !1 : Qe.createFromInputFallback(e);
}
Qe.createFromInputFallback = wi(
  "value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",
  function(e) {
    e._d = /* @__PURE__ */ new Date(e._i + (e._useUTC ? " UTC" : ""));
  }
);
function Bu(e, t, r) {
  return e ?? t ?? r;
}
function Pce(e) {
  var t = new Date(Qe.now());
  return e._useUTC ? [
    t.getUTCFullYear(),
    t.getUTCMonth(),
    t.getUTCDate()
  ] : [t.getFullYear(), t.getMonth(), t.getDate()];
}
function WP(e) {
  var t, r, n = [], i, o, l;
  if (!e._d) {
    for (i = Pce(e), e._w && e._a[ga] == null && e._a[Ha] == null && kce(e), e._dayOfYear != null && (l = Bu(e._a[an], i[an]), (e._dayOfYear > Sf(l) || e._dayOfYear === 0) && (pt(e)._overflowDayOfYear = !0), r = Lf(l, 0, e._dayOfYear), e._a[Ha] = r.getUTCMonth(), e._a[ga] = r.getUTCDate()), t = 0; t < 3 && e._a[t] == null; ++t)
      e._a[t] = n[t] = i[t];
    for (; t < 7; t++)
      e._a[t] = n[t] = e._a[t] == null ? t === 2 ? 1 : 0 : e._a[t];
    e._a[xr] === 24 && e._a[Fi] === 0 && e._a[Ya] === 0 && e._a[xs] === 0 && (e._nextDay = !0, e._a[xr] = 0), e._d = (e._useUTC ? Lf : Lle).apply(
      null,
      n
    ), o = e._useUTC ? e._d.getUTCDay() : e._d.getDay(), e._tzm != null && e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), e._nextDay && (e._a[xr] = 24), e._w && typeof e._w.d < "u" && e._w.d !== o && (pt(e).weekdayMismatch = !0);
  }
}
function kce(e) {
  var t, r, n, i, o, l, c, g, y;
  t = e._w, t.GG != null || t.W != null || t.E != null ? (o = 1, l = 4, r = Bu(
    t.GG,
    e._a[an],
    jf(or(), 1, 4).year
  ), n = Bu(t.W, 1), i = Bu(t.E, 1), (i < 1 || i > 7) && (g = !0)) : (o = e._locale._week.dow, l = e._locale._week.doy, y = jf(or(), o, l), r = Bu(t.gg, e._a[an], y.year), n = Bu(t.w, y.week), t.d != null ? (i = t.d, (i < 0 || i > 6) && (g = !0)) : t.e != null ? (i = t.e + o, (t.e < 0 || t.e > 6) && (g = !0)) : i = o), n < 1 || n > Za(r, o, l) ? pt(e)._overflowWeeks = !0 : g != null ? pt(e)._overflowWeekday = !0 : (c = lH(r, n, i, o, l), e._a[an] = c.year, e._dayOfYear = c.dayOfYear);
}
Qe.ISO_8601 = function() {
};
Qe.RFC_2822 = function() {
};
function $P(e) {
  if (e._f === Qe.ISO_8601) {
    hH(e);
    return;
  }
  if (e._f === Qe.RFC_2822) {
    mH(e);
    return;
  }
  e._a = [], pt(e).empty = !0;
  var t = "" + e._i, r, n, i, o, l, c = t.length, g = 0, y, C;
  for (i = Q7(e._f, e._locale).match(RP) || [], C = i.length, r = 0; r < C; r++)
    o = i[r], n = (t.match(yle(o, e)) || [])[0], n && (l = t.substr(0, t.indexOf(n)), l.length > 0 && pt(e).unusedInput.push(l), t = t.slice(
      t.indexOf(n) + n.length
    ), g += n.length), Xu[o] ? (n ? pt(e).empty = !1 : pt(e).unusedTokens.push(o), _le(o, n, e)) : e._strict && !n && pt(e).unusedTokens.push(o);
  pt(e).charsLeftOver = c - g, t.length > 0 && pt(e).unusedInput.push(t), e._a[xr] <= 12 && pt(e).bigHour === !0 && e._a[xr] > 0 && (pt(e).bigHour = void 0), pt(e).parsedDateParts = e._a.slice(0), pt(e).meridiem = e._meridiem, e._a[xr] = Rce(
    e._locale,
    e._a[xr],
    e._meridiem
  ), y = pt(e).era, y !== null && (e._a[an] = e._locale.erasConvertYear(y, e._a[an])), WP(e), BP(e);
}
function Rce(e, t, r) {
  var n;
  return r == null ? t : e.meridiemHour != null ? e.meridiemHour(t, r) : (e.isPM != null && (n = e.isPM(r), n && t < 12 && (t += 12), !n && t === 12 && (t = 0)), t);
}
function Mce(e) {
  var t, r, n, i, o, l, c = !1, g = e._f.length;
  if (g === 0) {
    pt(e).invalidFormat = !0, e._d = /* @__PURE__ */ new Date(NaN);
    return;
  }
  for (i = 0; i < g; i++)
    o = 0, l = !1, t = PP({}, e), e._useUTC != null && (t._useUTC = e._useUTC), t._f = e._f[i], $P(t), DP(t) && (l = !0), o += pt(t).charsLeftOver, o += pt(t).unusedTokens.length * 10, pt(t).score = o, c ? o < n && (n = o, r = t) : (n == null || o < n || l) && (n = o, r = t, l && (c = !0));
  No(e, r || t);
}
function Nce(e) {
  if (!e._d) {
    var t = MP(e._i), r = t.day === void 0 ? t.date : t.day;
    e._a = G7(
      [t.year, t.month, r, t.hour, t.minute, t.second, t.millisecond],
      function(n) {
        return n && parseInt(n, 10);
      }
    ), WP(e);
  }
}
function Ice(e) {
  var t = new vd(BP(vH(e)));
  return t._nextDay && (t.add(1, "d"), t._nextDay = void 0), t;
}
function vH(e) {
  var t = e._i, r = e._f;
  return e._locale = e._locale || uo(e._l), t === null || r === void 0 && t === "" ? Fy({ nullInput: !0 }) : (typeof t == "string" && (e._i = t = e._locale.preparse(t)), zi(t) ? new vd(BP(t)) : (md(t) ? e._d = t : qi(r) ? Mce(e) : r ? $P(e) : Fce(e), DP(e) || (e._d = null), e));
}
function Fce(e) {
  var t = e._i;
  Mn(t) ? e._d = new Date(Qe.now()) : md(t) ? e._d = new Date(t.valueOf()) : typeof t == "string" ? Dce(e) : qi(t) ? (e._a = G7(t.slice(0), function(r) {
    return parseInt(r, 10);
  }), WP(e)) : Ds(t) ? Nce(e) : eo(t) ? e._d = new Date(t) : Qe.createFromInputFallback(e);
}
function gH(e, t, r, n, i) {
  var o = {};
  return (t === !0 || t === !1) && (n = t, t = void 0), (r === !0 || r === !1) && (n = r, r = void 0), (Ds(e) && AP(e) || qi(e) && e.length === 0) && (e = void 0), o._isAMomentObject = !0, o._useUTC = o._isUTC = i, o._l = r, o._i = e, o._f = t, o._strict = n, Ice(o);
}
function or(e, t, r, n) {
  return gH(e, t, r, n, !1);
}
var Lce = wi(
  "moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",
  function() {
    var e = or.apply(null, arguments);
    return this.isValid() && e.isValid() ? e < this ? this : e : Fy();
  }
), jce = wi(
  "moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",
  function() {
    var e = or.apply(null, arguments);
    return this.isValid() && e.isValid() ? e > this ? this : e : Fy();
  }
);
function yH(e, t) {
  var r, n;
  if (t.length === 1 && qi(t[0]) && (t = t[0]), !t.length)
    return or();
  for (r = t[0], n = 1; n < t.length; ++n)
    (!t[n].isValid() || t[n][e](r)) && (r = t[n]);
  return r;
}
function Uce() {
  var e = [].slice.call(arguments, 0);
  return yH("isBefore", e);
}
function qce() {
  var e = [].slice.call(arguments, 0);
  return yH("isAfter", e);
}
var zce = function() {
  return Date.now ? Date.now() : +/* @__PURE__ */ new Date();
}, nc = [
  "year",
  "quarter",
  "month",
  "week",
  "day",
  "hour",
  "minute",
  "second",
  "millisecond"
];
function Bce(e) {
  var t, r = !1, n, i = nc.length;
  for (t in e)
    if (Mt(e, t) && !(br.call(nc, t) !== -1 && (e[t] == null || !isNaN(e[t]))))
      return !1;
  for (n = 0; n < i; ++n)
    if (e[nc[n]]) {
      if (r)
        return !1;
      parseFloat(e[nc[n]]) !== Tt(e[nc[n]]) && (r = !0);
    }
  return !0;
}
function Wce() {
  return this._isValid;
}
function $ce() {
  return Yi(NaN);
}
function $y(e) {
  var t = MP(e), r = t.year || 0, n = t.quarter || 0, i = t.month || 0, o = t.week || t.isoWeek || 0, l = t.day || 0, c = t.hour || 0, g = t.minute || 0, y = t.second || 0, C = t.millisecond || 0;
  this._isValid = Bce(t), this._milliseconds = +C + y * 1e3 + // 1000
  g * 6e4 + // 1000 * 60
  c * 1e3 * 60 * 60, this._days = +l + o * 7, this._months = +i + n * 3 + r * 12, this._data = {}, this._locale = uo(), this._bubble();
}
function Fv(e) {
  return e instanceof $y;
}
function AA(e) {
  return e < 0 ? Math.round(-1 * e) * -1 : Math.round(e);
}
function Vce(e, t, r) {
  var n = Math.min(e.length, t.length), i = Math.abs(e.length - t.length), o = 0, l;
  for (l = 0; l < n; l++)
    Tt(e[l]) !== Tt(t[l]) && o++;
  return o + i;
}
function bH(e, t) {
  ot(e, 0, 0, function() {
    var r = this.utcOffset(), n = "+";
    return r < 0 && (r = -r, n = "-"), n + Oa(~~(r / 60), 2) + t + Oa(~~r % 60, 2);
  });
}
bH("Z", ":");
bH("ZZ", "");
et("Z", zy);
et("ZZ", zy);
Kt(["Z", "ZZ"], function(e, t, r) {
  r._useUTC = !0, r._tzm = VP(zy, e);
});
var Hce = /([\+\-]|\d\d)/gi;
function VP(e, t) {
  var r = (t || "").match(e), n, i, o;
  return r === null ? null : (n = r[r.length - 1] || [], i = (n + "").match(Hce) || ["-", 0, 0], o = +(i[1] * 60) + Tt(i[2]), o === 0 ? 0 : i[0] === "+" ? o : -o);
}
function HP(e, t) {
  var r, n;
  return t._isUTC ? (r = t.clone(), n = (zi(e) || md(e) ? e.valueOf() : or(e).valueOf()) - r.valueOf(), r._d.setTime(r._d.valueOf() + n), Qe.updateOffset(r, !1), r) : or(e).local();
}
function DA(e) {
  return -Math.round(e._d.getTimezoneOffset());
}
Qe.updateOffset = function() {
};
function Yce(e, t, r) {
  var n = this._offset || 0, i;
  if (!this.isValid())
    return e != null ? this : NaN;
  if (e != null) {
    if (typeof e == "string") {
      if (e = VP(zy, e), e === null)
        return this;
    } else Math.abs(e) < 16 && !r && (e = e * 60);
    return !this._isUTC && t && (i = DA(this)), this._offset = e, this._isUTC = !0, i != null && this.add(i, "m"), n !== e && (!t || this._changeInProgress ? SH(
      this,
      Yi(e - n, "m"),
      1,
      !1
    ) : this._changeInProgress || (this._changeInProgress = !0, Qe.updateOffset(this, !0), this._changeInProgress = null)), this;
  } else
    return this._isUTC ? n : DA(this);
}
function Gce(e, t) {
  return e != null ? (typeof e != "string" && (e = -e), this.utcOffset(e, t), this) : -this.utcOffset();
}
function Kce(e) {
  return this.utcOffset(0, e);
}
function Xce(e) {
  return this._isUTC && (this.utcOffset(0, e), this._isUTC = !1, e && this.subtract(DA(this), "m")), this;
}
function Qce() {
  if (this._tzm != null)
    this.utcOffset(this._tzm, !1, !0);
  else if (typeof this._i == "string") {
    var e = VP(vle, this._i);
    e != null ? this.utcOffset(e) : this.utcOffset(0, !0);
  }
  return this;
}
function Zce(e) {
  return this.isValid() ? (e = e ? or(e).utcOffset() : 0, (this.utcOffset() - e) % 60 === 0) : !1;
}
function Jce() {
  return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset();
}
function efe() {
  if (!Mn(this._isDSTShifted))
    return this._isDSTShifted;
  var e = {}, t;
  return PP(e, this), e = vH(e), e._a ? (t = e._isUTC ? ka(e._a) : or(e._a), this._isDSTShifted = this.isValid() && Vce(e._a, t.toArray()) > 0) : this._isDSTShifted = !1, this._isDSTShifted;
}
function tfe() {
  return this.isValid() ? !this._isUTC : !1;
}
function rfe() {
  return this.isValid() ? this._isUTC : !1;
}
function _H() {
  return this.isValid() ? this._isUTC && this._offset === 0 : !1;
}
var nfe = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, ife = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
function Yi(e, t) {
  var r = e, n = null, i, o, l;
  return Fv(e) ? r = {
    ms: e._milliseconds,
    d: e._days,
    M: e._months
  } : eo(e) || !isNaN(+e) ? (r = {}, t ? r[t] = +e : r.milliseconds = +e) : (n = nfe.exec(e)) ? (i = n[1] === "-" ? -1 : 1, r = {
    y: 0,
    d: Tt(n[ga]) * i,
    h: Tt(n[xr]) * i,
    m: Tt(n[Fi]) * i,
    s: Tt(n[Ya]) * i,
    ms: Tt(AA(n[xs] * 1e3)) * i
    // the millisecond decimal point is included in the match
  }) : (n = ife.exec(e)) ? (i = n[1] === "-" ? -1 : 1, r = {
    y: us(n[2], i),
    M: us(n[3], i),
    w: us(n[4], i),
    d: us(n[5], i),
    h: us(n[6], i),
    m: us(n[7], i),
    s: us(n[8], i)
  }) : r == null ? r = {} : typeof r == "object" && ("from" in r || "to" in r) && (l = afe(
    or(r.from),
    or(r.to)
  ), r = {}, r.ms = l.milliseconds, r.M = l.months), o = new $y(r), Fv(e) && Mt(e, "_locale") && (o._locale = e._locale), Fv(e) && Mt(e, "_isValid") && (o._isValid = e._isValid), o;
}
Yi.fn = $y.prototype;
Yi.invalid = $ce;
function us(e, t) {
  var r = e && parseFloat(e.replace(",", "."));
  return (isNaN(r) ? 0 : r) * t;
}
function _z(e, t) {
  var r = {};
  return r.months = t.month() - e.month() + (t.year() - e.year()) * 12, e.clone().add(r.months, "M").isAfter(t) && --r.months, r.milliseconds = +t - +e.clone().add(r.months, "M"), r;
}
function afe(e, t) {
  var r;
  return e.isValid() && t.isValid() ? (t = HP(t, e), e.isBefore(t) ? r = _z(e, t) : (r = _z(t, e), r.milliseconds = -r.milliseconds, r.months = -r.months), r) : { milliseconds: 0, months: 0 };
}
function EH(e, t) {
  return function(r, n) {
    var i, o;
    return n !== null && !isNaN(+n) && (X7(
      t,
      "moment()." + t + "(period, number) is deprecated. Please use moment()." + t + "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."
    ), o = r, r = n, n = o), i = Yi(r, n), SH(this, i, e), this;
  };
}
function SH(e, t, r, n) {
  var i = t._milliseconds, o = AA(t._days), l = AA(t._months);
  e.isValid() && (n = n ?? !0, l && oH(e, Ff(e, "Month") + l * r), o && nH(e, "Date", Ff(e, "Date") + o * r), i && e._d.setTime(e._d.valueOf() + i * r), n && Qe.updateOffset(e, o || l));
}
var ofe = EH(1, "add"), sfe = EH(-1, "subtract");
function wH(e) {
  return typeof e == "string" || e instanceof String;
}
function ufe(e) {
  return zi(e) || md(e) || wH(e) || eo(e) || cfe(e) || lfe(e) || e === null || e === void 0;
}
function lfe(e) {
  var t = Ds(e) && !AP(e), r = !1, n = [
    "years",
    "year",
    "y",
    "months",
    "month",
    "M",
    "days",
    "day",
    "d",
    "dates",
    "date",
    "D",
    "hours",
    "hour",
    "h",
    "minutes",
    "minute",
    "m",
    "seconds",
    "second",
    "s",
    "milliseconds",
    "millisecond",
    "ms"
  ], i, o, l = n.length;
  for (i = 0; i < l; i += 1)
    o = n[i], r = r || Mt(e, o);
  return t && r;
}
function cfe(e) {
  var t = qi(e), r = !1;
  return t && (r = e.filter(function(n) {
    return !eo(n) && wH(e);
  }).length === 0), t && r;
}
function ffe(e) {
  var t = Ds(e) && !AP(e), r = !1, n = [
    "sameDay",
    "nextDay",
    "lastDay",
    "nextWeek",
    "lastWeek",
    "sameElse"
  ], i, o;
  for (i = 0; i < n.length; i += 1)
    o = n[i], r = r || Mt(e, o);
  return t && r;
}
function dfe(e, t) {
  var r = e.diff(t, "days", !0);
  return r < -6 ? "sameElse" : r < -1 ? "lastWeek" : r < 0 ? "lastDay" : r < 1 ? "sameDay" : r < 2 ? "nextDay" : r < 7 ? "nextWeek" : "sameElse";
}
function pfe(e, t) {
  arguments.length === 1 && (arguments[0] ? ufe(arguments[0]) ? (e = arguments[0], t = void 0) : ffe(arguments[0]) && (t = arguments[0], e = void 0) : (e = void 0, t = void 0));
  var r = e || or(), n = HP(r, this).startOf("day"), i = Qe.calendarFormat(this, n) || "sameElse", o = t && (Ra(t[i]) ? t[i].call(this, r) : t[i]);
  return this.format(
    o || this.localeData().calendar(i, this, or(r))
  );
}
function hfe() {
  return new vd(this);
}
function mfe(e, t) {
  var r = zi(e) ? e : or(e);
  return this.isValid() && r.isValid() ? (t = Oi(t) || "millisecond", t === "millisecond" ? this.valueOf() > r.valueOf() : r.valueOf() < this.clone().startOf(t).valueOf()) : !1;
}
function vfe(e, t) {
  var r = zi(e) ? e : or(e);
  return this.isValid() && r.isValid() ? (t = Oi(t) || "millisecond", t === "millisecond" ? this.valueOf() < r.valueOf() : this.clone().endOf(t).valueOf() < r.valueOf()) : !1;
}
function gfe(e, t, r, n) {
  var i = zi(e) ? e : or(e), o = zi(t) ? t : or(t);
  return this.isValid() && i.isValid() && o.isValid() ? (n = n || "()", (n[0] === "(" ? this.isAfter(i, r) : !this.isBefore(i, r)) && (n[1] === ")" ? this.isBefore(o, r) : !this.isAfter(o, r))) : !1;
}
function yfe(e, t) {
  var r = zi(e) ? e : or(e), n;
  return this.isValid() && r.isValid() ? (t = Oi(t) || "millisecond", t === "millisecond" ? this.valueOf() === r.valueOf() : (n = r.valueOf(), this.clone().startOf(t).valueOf() <= n && n <= this.clone().endOf(t).valueOf())) : !1;
}
function bfe(e, t) {
  return this.isSame(e, t) || this.isAfter(e, t);
}
function _fe(e, t) {
  return this.isSame(e, t) || this.isBefore(e, t);
}
function Efe(e, t, r) {
  var n, i, o;
  if (!this.isValid())
    return NaN;
  if (n = HP(e, this), !n.isValid())
    return NaN;
  switch (i = (n.utcOffset() - this.utcOffset()) * 6e4, t = Oi(t), t) {
    case "year":
      o = Lv(this, n) / 12;
      break;
    case "month":
      o = Lv(this, n);
      break;
    case "quarter":
      o = Lv(this, n) / 3;
      break;
    case "second":
      o = (this - n) / 1e3;
      break;
    case "minute":
      o = (this - n) / 6e4;
      break;
    case "hour":
      o = (this - n) / 36e5;
      break;
    case "day":
      o = (this - n - i) / 864e5;
      break;
    case "week":
      o = (this - n - i) / 6048e5;
      break;
    default:
      o = this - n;
  }
  return r ? o : fi(o);
}
function Lv(e, t) {
  if (e.date() < t.date())
    return -Lv(t, e);
  var r = (t.year() - e.year()) * 12 + (t.month() - e.month()), n = e.clone().add(r, "months"), i, o;
  return t - n < 0 ? (i = e.clone().add(r - 1, "months"), o = (t - n) / (n - i)) : (i = e.clone().add(r + 1, "months"), o = (t - n) / (i - n)), -(r + o) || 0;
}
Qe.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ";
Qe.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]";
function Sfe() {
  return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ");
}
function wfe(e) {
  if (!this.isValid())
    return null;
  var t = e !== !0, r = t ? this.clone().utc() : this;
  return r.year() < 0 || r.year() > 9999 ? Iv(
    r,
    t ? "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"
  ) : Ra(Date.prototype.toISOString) ? t ? this.toDate().toISOString() : new Date(this.valueOf() + this.utcOffset() * 60 * 1e3).toISOString().replace("Z", Iv(r, "Z")) : Iv(
    r,
    t ? "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]" : "YYYY-MM-DD[T]HH:mm:ss.SSSZ"
  );
}
function Ofe() {
  if (!this.isValid())
    return "moment.invalid(/* " + this._i + " */)";
  var e = "moment", t = "", r, n, i, o;
  return this.isLocal() || (e = this.utcOffset() === 0 ? "moment.utc" : "moment.parseZone", t = "Z"), r = "[" + e + '("]', n = 0 <= this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY", i = "-MM-DD[T]HH:mm:ss.SSS", o = t + '[")]', this.format(r + n + i + o);
}
function Tfe(e) {
  e || (e = this.isUtc() ? Qe.defaultFormatUtc : Qe.defaultFormat);
  var t = Iv(this, e);
  return this.localeData().postformat(t);
}
function Cfe(e, t) {
  return this.isValid() && (zi(e) && e.isValid() || or(e).isValid()) ? Yi({ to: this, from: e }).locale(this.locale()).humanize(!t) : this.localeData().invalidDate();
}
function xfe(e) {
  return this.from(or(), e);
}
function Afe(e, t) {
  return this.isValid() && (zi(e) && e.isValid() || or(e).isValid()) ? Yi({ from: this, to: e }).locale(this.locale()).humanize(!t) : this.localeData().invalidDate();
}
function Dfe(e) {
  return this.to(or(), e);
}
function OH(e) {
  var t;
  return e === void 0 ? this._locale._abbr : (t = uo(e), t != null && (this._locale = t), this);
}
var TH = wi(
  "moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",
  function(e) {
    return e === void 0 ? this.localeData() : this.locale(e);
  }
);
function CH() {
  return this._locale;
}
var Zv = 1e3, Qu = 60 * Zv, Jv = 60 * Qu, xH = (365 * 400 + 97) * 24 * Jv;
function Zu(e, t) {
  return (e % t + t) % t;
}
function AH(e, t, r) {
  return e < 100 && e >= 0 ? new Date(e + 400, t, r) - xH : new Date(e, t, r).valueOf();
}
function DH(e, t, r) {
  return e < 100 && e >= 0 ? Date.UTC(e + 400, t, r) - xH : Date.UTC(e, t, r);
}
function Pfe(e) {
  var t, r;
  if (e = Oi(e), e === void 0 || e === "millisecond" || !this.isValid())
    return this;
  switch (r = this._isUTC ? DH : AH, e) {
    case "year":
      t = r(this.year(), 0, 1);
      break;
    case "quarter":
      t = r(
        this.year(),
        this.month() - this.month() % 3,
        1
      );
      break;
    case "month":
      t = r(this.year(), this.month(), 1);
      break;
    case "week":
      t = r(
        this.year(),
        this.month(),
        this.date() - this.weekday()
      );
      break;
    case "isoWeek":
      t = r(
        this.year(),
        this.month(),
        this.date() - (this.isoWeekday() - 1)
      );
      break;
    case "day":
    case "date":
      t = r(this.year(), this.month(), this.date());
      break;
    case "hour":
      t = this._d.valueOf(), t -= Zu(
        t + (this._isUTC ? 0 : this.utcOffset() * Qu),
        Jv
      );
      break;
    case "minute":
      t = this._d.valueOf(), t -= Zu(t, Qu);
      break;
    case "second":
      t = this._d.valueOf(), t -= Zu(t, Zv);
      break;
  }
  return this._d.setTime(t), Qe.updateOffset(this, !0), this;
}
function kfe(e) {
  var t, r;
  if (e = Oi(e), e === void 0 || e === "millisecond" || !this.isValid())
    return this;
  switch (r = this._isUTC ? DH : AH, e) {
    case "year":
      t = r(this.year() + 1, 0, 1) - 1;
      break;
    case "quarter":
      t = r(
        this.year(),
        this.month() - this.month() % 3 + 3,
        1
      ) - 1;
      break;
    case "month":
      t = r(this.year(), this.month() + 1, 1) - 1;
      break;
    case "week":
      t = r(
        this.year(),
        this.month(),
        this.date() - this.weekday() + 7
      ) - 1;
      break;
    case "isoWeek":
      t = r(
        this.year(),
        this.month(),
        this.date() - (this.isoWeekday() - 1) + 7
      ) - 1;
      break;
    case "day":
    case "date":
      t = r(this.year(), this.month(), this.date() + 1) - 1;
      break;
    case "hour":
      t = this._d.valueOf(), t += Jv - Zu(
        t + (this._isUTC ? 0 : this.utcOffset() * Qu),
        Jv
      ) - 1;
      break;
    case "minute":
      t = this._d.valueOf(), t += Qu - Zu(t, Qu) - 1;
      break;
    case "second":
      t = this._d.valueOf(), t += Zv - Zu(t, Zv) - 1;
      break;
  }
  return this._d.setTime(t), Qe.updateOffset(this, !0), this;
}
function Rfe() {
  return this._d.valueOf() - (this._offset || 0) * 6e4;
}
function Mfe() {
  return Math.floor(this.valueOf() / 1e3);
}
function Nfe() {
  return new Date(this.valueOf());
}
function Ife() {
  var e = this;
  return [
    e.year(),
    e.month(),
    e.date(),
    e.hour(),
    e.minute(),
    e.second(),
    e.millisecond()
  ];
}
function Ffe() {
  var e = this;
  return {
    years: e.year(),
    months: e.month(),
    date: e.date(),
    hours: e.hours(),
    minutes: e.minutes(),
    seconds: e.seconds(),
    milliseconds: e.milliseconds()
  };
}
function Lfe() {
  return this.isValid() ? this.toISOString() : null;
}
function jfe() {
  return DP(this);
}
function Ufe() {
  return No({}, pt(this));
}
function qfe() {
  return pt(this).overflow;
}
function zfe() {
  return {
    input: this._i,
    format: this._f,
    locale: this._locale,
    isUTC: this._isUTC,
    strict: this._strict
  };
}
ot("N", 0, 0, "eraAbbr");
ot("NN", 0, 0, "eraAbbr");
ot("NNN", 0, 0, "eraAbbr");
ot("NNNN", 0, 0, "eraName");
ot("NNNNN", 0, 0, "eraNarrow");
ot("y", ["y", 1], "yo", "eraYear");
ot("y", ["yy", 2], 0, "eraYear");
ot("y", ["yyy", 3], 0, "eraYear");
ot("y", ["yyyy", 4], 0, "eraYear");
et("N", YP);
et("NN", YP);
et("NNN", YP);
et("NNNN", Zfe);
et("NNNNN", Jfe);
Kt(
  ["N", "NN", "NNN", "NNNN", "NNNNN"],
  function(e, t, r, n) {
    var i = r._locale.erasParse(e, n, r._strict);
    i ? pt(r).era = i : pt(r).invalidEra = e;
  }
);
et("y", Rl);
et("yy", Rl);
et("yyy", Rl);
et("yyyy", Rl);
et("yo", ede);
Kt(["y", "yy", "yyy", "yyyy"], an);
Kt(["yo"], function(e, t, r, n) {
  var i;
  r._locale._eraYearOrdinalRegex && (i = e.match(r._locale._eraYearOrdinalRegex)), r._locale.eraYearOrdinalParse ? t[an] = r._locale.eraYearOrdinalParse(e, i) : t[an] = parseInt(e, 10);
});
function Bfe(e, t) {
  var r, n, i, o = this._eras || uo("en")._eras;
  for (r = 0, n = o.length; r < n; ++r) {
    switch (typeof o[r].since) {
      case "string":
        i = Qe(o[r].since).startOf("day"), o[r].since = i.valueOf();
        break;
    }
    switch (typeof o[r].until) {
      case "undefined":
        o[r].until = 1 / 0;
        break;
      case "string":
        i = Qe(o[r].until).startOf("day").valueOf(), o[r].until = i.valueOf();
        break;
    }
  }
  return o;
}
function Wfe(e, t, r) {
  var n, i, o = this.eras(), l, c, g;
  for (e = e.toUpperCase(), n = 0, i = o.length; n < i; ++n)
    if (l = o[n].name.toUpperCase(), c = o[n].abbr.toUpperCase(), g = o[n].narrow.toUpperCase(), r)
      switch (t) {
        case "N":
        case "NN":
        case "NNN":
          if (c === e)
            return o[n];
          break;
        case "NNNN":
          if (l === e)
            return o[n];
          break;
        case "NNNNN":
          if (g === e)
            return o[n];
          break;
      }
    else if ([l, c, g].indexOf(e) >= 0)
      return o[n];
}
function $fe(e, t) {
  var r = e.since <= e.until ? 1 : -1;
  return t === void 0 ? Qe(e.since).year() : Qe(e.since).year() + (t - e.offset) * r;
}
function Vfe() {
  var e, t, r, n = this.localeData().eras();
  for (e = 0, t = n.length; e < t; ++e)
    if (r = this.clone().startOf("day").valueOf(), n[e].since <= r && r <= n[e].until || n[e].until <= r && r <= n[e].since)
      return n[e].name;
  return "";
}
function Hfe() {
  var e, t, r, n = this.localeData().eras();
  for (e = 0, t = n.length; e < t; ++e)
    if (r = this.clone().startOf("day").valueOf(), n[e].since <= r && r <= n[e].until || n[e].until <= r && r <= n[e].since)
      return n[e].narrow;
  return "";
}
function Yfe() {
  var e, t, r, n = this.localeData().eras();
  for (e = 0, t = n.length; e < t; ++e)
    if (r = this.clone().startOf("day").valueOf(), n[e].since <= r && r <= n[e].until || n[e].until <= r && r <= n[e].since)
      return n[e].abbr;
  return "";
}
function Gfe() {
  var e, t, r, n, i = this.localeData().eras();
  for (e = 0, t = i.length; e < t; ++e)
    if (r = i[e].since <= i[e].until ? 1 : -1, n = this.clone().startOf("day").valueOf(), i[e].since <= n && n <= i[e].until || i[e].until <= n && n <= i[e].since)
      return (this.year() - Qe(i[e].since).year()) * r + i[e].offset;
  return this.year();
}
function Kfe(e) {
  return Mt(this, "_erasNameRegex") || GP.call(this), e ? this._erasNameRegex : this._erasRegex;
}
function Xfe(e) {
  return Mt(this, "_erasAbbrRegex") || GP.call(this), e ? this._erasAbbrRegex : this._erasRegex;
}
function Qfe(e) {
  return Mt(this, "_erasNarrowRegex") || GP.call(this), e ? this._erasNarrowRegex : this._erasRegex;
}
function YP(e, t) {
  return t.erasAbbrRegex(e);
}
function Zfe(e, t) {
  return t.erasNameRegex(e);
}
function Jfe(e, t) {
  return t.erasNarrowRegex(e);
}
function ede(e, t) {
  return t._eraYearOrdinalRegex || Rl;
}
function GP() {
  var e = [], t = [], r = [], n = [], i, o, l, c, g, y = this.eras();
  for (i = 0, o = y.length; i < o; ++i)
    l = Qa(y[i].name), c = Qa(y[i].abbr), g = Qa(y[i].narrow), t.push(l), e.push(c), r.push(g), n.push(l), n.push(c), n.push(g);
  this._erasRegex = new RegExp("^(" + n.join("|") + ")", "i"), this._erasNameRegex = new RegExp("^(" + t.join("|") + ")", "i"), this._erasAbbrRegex = new RegExp("^(" + e.join("|") + ")", "i"), this._erasNarrowRegex = new RegExp(
    "^(" + r.join("|") + ")",
    "i"
  );
}
ot(0, ["gg", 2], 0, function() {
  return this.weekYear() % 100;
});
ot(0, ["GG", 2], 0, function() {
  return this.isoWeekYear() % 100;
});
function Vy(e, t) {
  ot(0, [e, e.length], 0, t);
}
Vy("gggg", "weekYear");
Vy("ggggg", "weekYear");
Vy("GGGG", "isoWeekYear");
Vy("GGGGG", "isoWeekYear");
et("G", qy);
et("g", qy);
et("GG", ur, ri);
et("gg", ur, ri);
et("GGGG", IP, NP);
et("gggg", IP, NP);
et("GGGGG", Uy, Ly);
et("ggggg", Uy, Ly);
yd(
  ["gggg", "ggggg", "GGGG", "GGGGG"],
  function(e, t, r, n) {
    t[n.substr(0, 2)] = Tt(e);
  }
);
yd(["gg", "GG"], function(e, t, r, n) {
  t[n] = Qe.parseTwoDigitYear(e);
});
function tde(e) {
  return PH.call(
    this,
    e,
    this.week(),
    this.weekday() + this.localeData()._week.dow,
    this.localeData()._week.dow,
    this.localeData()._week.doy
  );
}
function rde(e) {
  return PH.call(
    this,
    e,
    this.isoWeek(),
    this.isoWeekday(),
    1,
    4
  );
}
function nde() {
  return Za(this.year(), 1, 4);
}
function ide() {
  return Za(this.isoWeekYear(), 1, 4);
}
function ade() {
  var e = this.localeData()._week;
  return Za(this.year(), e.dow, e.doy);
}
function ode() {
  var e = this.localeData()._week;
  return Za(this.weekYear(), e.dow, e.doy);
}
function PH(e, t, r, n, i) {
  var o;
  return e == null ? jf(this, n, i).year : (o = Za(e, n, i), t > o && (t = o), sde.call(this, e, t, r, n, i));
}
function sde(e, t, r, n, i) {
  var o = lH(e, t, r, n, i), l = Lf(o.year, 0, o.dayOfYear);
  return this.year(l.getUTCFullYear()), this.month(l.getUTCMonth()), this.date(l.getUTCDate()), this;
}
ot("Q", 0, "Qo", "quarter");
et("Q", Z7);
Kt("Q", function(e, t) {
  t[Ha] = (Tt(e) - 1) * 3;
});
function ude(e) {
  return e == null ? Math.ceil((this.month() + 1) / 3) : this.month((e - 1) * 3 + this.month() % 3);
}
ot("D", ["DD", 2], "Do", "date");
et("D", ur, Ml);
et("DD", ur, ri);
et("Do", function(e, t) {
  return e ? t._dayOfMonthOrdinalParse || t._ordinalParse : t._dayOfMonthOrdinalParseLenient;
});
Kt(["D", "DD"], ga);
Kt("Do", function(e, t) {
  t[ga] = Tt(e.match(ur)[0]);
});
var kH = Nl("Date", !0);
ot("DDD", ["DDDD", 3], "DDDo", "dayOfYear");
et("DDD", jy);
et("DDDD", J7);
Kt(["DDD", "DDDD"], function(e, t, r) {
  r._dayOfYear = Tt(e);
});
function lde(e) {
  var t = Math.round(
    (this.clone().startOf("day") - this.clone().startOf("year")) / 864e5
  ) + 1;
  return e == null ? t : this.add(e - t, "d");
}
ot("m", ["mm", 2], 0, "minute");
et("m", ur, FP);
et("mm", ur, ri);
Kt(["m", "mm"], Fi);
var cde = Nl("Minutes", !1);
ot("s", ["ss", 2], 0, "second");
et("s", ur, FP);
et("ss", ur, ri);
Kt(["s", "ss"], Ya);
var fde = Nl("Seconds", !1);
ot("S", 0, 0, function() {
  return ~~(this.millisecond() / 100);
});
ot(0, ["SS", 2], 0, function() {
  return ~~(this.millisecond() / 10);
});
ot(0, ["SSS", 3], 0, "millisecond");
ot(0, ["SSSS", 4], 0, function() {
  return this.millisecond() * 10;
});
ot(0, ["SSSSS", 5], 0, function() {
  return this.millisecond() * 100;
});
ot(0, ["SSSSSS", 6], 0, function() {
  return this.millisecond() * 1e3;
});
ot(0, ["SSSSSSS", 7], 0, function() {
  return this.millisecond() * 1e4;
});
ot(0, ["SSSSSSSS", 8], 0, function() {
  return this.millisecond() * 1e5;
});
ot(0, ["SSSSSSSSS", 9], 0, function() {
  return this.millisecond() * 1e6;
});
et("S", jy, Z7);
et("SS", jy, ri);
et("SSS", jy, J7);
var Io, RH;
for (Io = "SSSS"; Io.length <= 9; Io += "S")
  et(Io, Rl);
function dde(e, t) {
  t[xs] = Tt(("0." + e) * 1e3);
}
for (Io = "S"; Io.length <= 9; Io += "S")
  Kt(Io, dde);
RH = Nl("Milliseconds", !1);
ot("z", 0, 0, "zoneAbbr");
ot("zz", 0, 0, "zoneName");
function pde() {
  return this._isUTC ? "UTC" : "";
}
function hde() {
  return this._isUTC ? "Coordinated Universal Time" : "";
}
var $e = vd.prototype;
$e.add = ofe;
$e.calendar = pfe;
$e.clone = hfe;
$e.diff = Efe;
$e.endOf = kfe;
$e.format = Tfe;
$e.from = Cfe;
$e.fromNow = xfe;
$e.to = Afe;
$e.toNow = Dfe;
$e.get = Ole;
$e.invalidAt = qfe;
$e.isAfter = mfe;
$e.isBefore = vfe;
$e.isBetween = gfe;
$e.isSame = yfe;
$e.isSameOrAfter = bfe;
$e.isSameOrBefore = _fe;
$e.isValid = jfe;
$e.lang = TH;
$e.locale = OH;
$e.localeData = CH;
$e.max = jce;
$e.min = Lce;
$e.parsingFlags = Ufe;
$e.set = Tle;
$e.startOf = Pfe;
$e.subtract = sfe;
$e.toArray = Ife;
$e.toObject = Ffe;
$e.toDate = Nfe;
$e.toISOString = wfe;
$e.inspect = Ofe;
typeof Symbol < "u" && Symbol.for != null && ($e[Symbol.for("nodejs.util.inspect.custom")] = function() {
  return "Moment<" + this.format() + ">";
});
$e.toJSON = Lfe;
$e.toString = Sfe;
$e.unix = Mfe;
$e.valueOf = Rfe;
$e.creationData = zfe;
$e.eraName = Vfe;
$e.eraNarrow = Hfe;
$e.eraAbbr = Yfe;
$e.eraYear = Gfe;
$e.year = rH;
$e.isLeapYear = wle;
$e.weekYear = tde;
$e.isoWeekYear = rde;
$e.quarter = $e.quarters = ude;
$e.month = sH;
$e.daysInMonth = Nle;
$e.week = $e.weeks = Ble;
$e.isoWeek = $e.isoWeeks = Wle;
$e.weeksInYear = ade;
$e.weeksInWeekYear = ode;
$e.isoWeeksInYear = nde;
$e.isoWeeksInISOWeekYear = ide;
$e.date = kH;
$e.day = $e.days = rce;
$e.weekday = nce;
$e.isoWeekday = ice;
$e.dayOfYear = lde;
$e.hour = $e.hours = fce;
$e.minute = $e.minutes = cde;
$e.second = $e.seconds = fde;
$e.millisecond = $e.milliseconds = RH;
$e.utcOffset = Yce;
$e.utc = Kce;
$e.local = Xce;
$e.parseZone = Qce;
$e.hasAlignedHourOffset = Zce;
$e.isDST = Jce;
$e.isLocal = tfe;
$e.isUtcOffset = rfe;
$e.isUtc = _H;
$e.isUTC = _H;
$e.zoneAbbr = pde;
$e.zoneName = hde;
$e.dates = wi(
  "dates accessor is deprecated. Use date instead.",
  kH
);
$e.months = wi(
  "months accessor is deprecated. Use month instead",
  sH
);
$e.years = wi(
  "years accessor is deprecated. Use year instead",
  rH
);
$e.zone = wi(
  "moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",
  Gce
);
$e.isDSTShifted = wi(
  "isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",
  efe
);
function mde(e) {
  return or(e * 1e3);
}
function vde() {
  return or.apply(null, arguments).parseZone();
}
function MH(e) {
  return e;
}
var Ft = kP.prototype;
Ft.calendar = tle;
Ft.longDateFormat = ale;
Ft.invalidDate = sle;
Ft.ordinal = cle;
Ft.preparse = MH;
Ft.postformat = MH;
Ft.relativeTime = dle;
Ft.pastFuture = ple;
Ft.set = Jue;
Ft.eras = Bfe;
Ft.erasParse = Wfe;
Ft.erasConvertYear = $fe;
Ft.erasAbbrRegex = Xfe;
Ft.erasNameRegex = Kfe;
Ft.erasNarrowRegex = Qfe;
Ft.months = Ple;
Ft.monthsShort = kle;
Ft.monthsParse = Mle;
Ft.monthsRegex = Fle;
Ft.monthsShortRegex = Ile;
Ft.week = jle;
Ft.firstDayOfYear = zle;
Ft.firstDayOfWeek = qle;
Ft.weekdays = Qle;
Ft.weekdaysMin = Jle;
Ft.weekdaysShort = Zle;
Ft.weekdaysParse = tce;
Ft.weekdaysRegex = ace;
Ft.weekdaysShortRegex = oce;
Ft.weekdaysMinRegex = sce;
Ft.isPM = lce;
Ft.meridiem = dce;
function eg(e, t, r, n) {
  var i = uo(), o = ka().set(n, t);
  return i[r](o, e);
}
function NH(e, t, r) {
  if (eo(e) && (t = e, e = void 0), e = e || "", t != null)
    return eg(e, t, r, "month");
  var n, i = [];
  for (n = 0; n < 12; n++)
    i[n] = eg(e, n, r, "month");
  return i;
}
function KP(e, t, r, n) {
  typeof e == "boolean" ? (eo(t) && (r = t, t = void 0), t = t || "") : (t = e, r = t, e = !1, eo(t) && (r = t, t = void 0), t = t || "");
  var i = uo(), o = e ? i._week.dow : 0, l, c = [];
  if (r != null)
    return eg(t, (r + o) % 7, n, "day");
  for (l = 0; l < 7; l++)
    c[l] = eg(t, (l + o) % 7, n, "day");
  return c;
}
function gde(e, t) {
  return NH(e, t, "months");
}
function yde(e, t) {
  return NH(e, t, "monthsShort");
}
function bde(e, t, r) {
  return KP(e, t, r, "weekdays");
}
function _de(e, t, r) {
  return KP(e, t, r, "weekdaysShort");
}
function Ede(e, t, r) {
  return KP(e, t, r, "weekdaysMin");
}
qo("en", {
  eras: [
    {
      since: "0001-01-01",
      until: 1 / 0,
      offset: 1,
      name: "Anno Domini",
      narrow: "AD",
      abbr: "AD"
    },
    {
      since: "0000-12-31",
      until: -1 / 0,
      offset: 1,
      name: "Before Christ",
      narrow: "BC",
      abbr: "BC"
    }
  ],
  dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
  ordinal: function(e) {
    var t = e % 10, r = Tt(e % 100 / 10) === 1 ? "th" : t === 1 ? "st" : t === 2 ? "nd" : t === 3 ? "rd" : "th";
    return e + r;
  }
});
Qe.lang = wi(
  "moment.lang is deprecated. Use moment.locale instead.",
  qo
);
Qe.langData = wi(
  "moment.langData is deprecated. Use moment.localeData instead.",
  uo
);
var ja = Math.abs;
function Sde() {
  var e = this._data;
  return this._milliseconds = ja(this._milliseconds), this._days = ja(this._days), this._months = ja(this._months), e.milliseconds = ja(e.milliseconds), e.seconds = ja(e.seconds), e.minutes = ja(e.minutes), e.hours = ja(e.hours), e.months = ja(e.months), e.years = ja(e.years), this;
}
function IH(e, t, r, n) {
  var i = Yi(t, r);
  return e._milliseconds += n * i._milliseconds, e._days += n * i._days, e._months += n * i._months, e._bubble();
}
function wde(e, t) {
  return IH(this, e, t, 1);
}
function Ode(e, t) {
  return IH(this, e, t, -1);
}
function Ez(e) {
  return e < 0 ? Math.floor(e) : Math.ceil(e);
}
function Tde() {
  var e = this._milliseconds, t = this._days, r = this._months, n = this._data, i, o, l, c, g;
  return e >= 0 && t >= 0 && r >= 0 || e <= 0 && t <= 0 && r <= 0 || (e += Ez(PA(r) + t) * 864e5, t = 0, r = 0), n.milliseconds = e % 1e3, i = fi(e / 1e3), n.seconds = i % 60, o = fi(i / 60), n.minutes = o % 60, l = fi(o / 60), n.hours = l % 24, t += fi(l / 24), g = fi(FH(t)), r += g, t -= Ez(PA(g)), c = fi(r / 12), r %= 12, n.days = t, n.months = r, n.years = c, this;
}
function FH(e) {
  return e * 4800 / 146097;
}
function PA(e) {
  return e * 146097 / 4800;
}
function Cde(e) {
  if (!this.isValid())
    return NaN;
  var t, r, n = this._milliseconds;
  if (e = Oi(e), e === "month" || e === "quarter" || e === "year")
    switch (t = this._days + n / 864e5, r = this._months + FH(t), e) {
      case "month":
        return r;
      case "quarter":
        return r / 3;
      case "year":
        return r / 12;
    }
  else
    switch (t = this._days + Math.round(PA(this._months)), e) {
      case "week":
        return t / 7 + n / 6048e5;
      case "day":
        return t + n / 864e5;
      case "hour":
        return t * 24 + n / 36e5;
      case "minute":
        return t * 1440 + n / 6e4;
      case "second":
        return t * 86400 + n / 1e3;
      case "millisecond":
        return Math.floor(t * 864e5) + n;
      default:
        throw new Error("Unknown unit " + e);
    }
}
function lo(e) {
  return function() {
    return this.as(e);
  };
}
var LH = lo("ms"), xde = lo("s"), Ade = lo("m"), Dde = lo("h"), Pde = lo("d"), kde = lo("w"), Rde = lo("M"), Mde = lo("Q"), Nde = lo("y"), Ide = LH;
function Fde() {
  return Yi(this);
}
function Lde(e) {
  return e = Oi(e), this.isValid() ? this[e + "s"]() : NaN;
}
function Zs(e) {
  return function() {
    return this.isValid() ? this._data[e] : NaN;
  };
}
var jde = Zs("milliseconds"), Ude = Zs("seconds"), qde = Zs("minutes"), zde = Zs("hours"), Bde = Zs("days"), Wde = Zs("months"), $de = Zs("years");
function Vde() {
  return fi(this.days() / 7);
}
var Ba = Math.round, $u = {
  ss: 44,
  // a few seconds to seconds
  s: 45,
  // seconds to minute
  m: 45,
  // minutes to hour
  h: 22,
  // hours to day
  d: 26,
  // days to month/week
  w: null,
  // weeks to month
  M: 11
  // months to year
};
function Hde(e, t, r, n, i) {
  return i.relativeTime(t || 1, !!r, e, n);
}
function Yde(e, t, r, n) {
  var i = Yi(e).abs(), o = Ba(i.as("s")), l = Ba(i.as("m")), c = Ba(i.as("h")), g = Ba(i.as("d")), y = Ba(i.as("M")), C = Ba(i.as("w")), D = Ba(i.as("y")), x = o <= r.ss && ["s", o] || o < r.s && ["ss", o] || l <= 1 && ["m"] || l < r.m && ["mm", l] || c <= 1 && ["h"] || c < r.h && ["hh", c] || g <= 1 && ["d"] || g < r.d && ["dd", g];
  return r.w != null && (x = x || C <= 1 && ["w"] || C < r.w && ["ww", C]), x = x || y <= 1 && ["M"] || y < r.M && ["MM", y] || D <= 1 && ["y"] || ["yy", D], x[2] = t, x[3] = +e > 0, x[4] = n, Hde.apply(null, x);
}
function Gde(e) {
  return e === void 0 ? Ba : typeof e == "function" ? (Ba = e, !0) : !1;
}
function Kde(e, t) {
  return $u[e] === void 0 ? !1 : t === void 0 ? $u[e] : ($u[e] = t, e === "s" && ($u.ss = t - 1), !0);
}
function Xde(e, t) {
  if (!this.isValid())
    return this.localeData().invalidDate();
  var r = !1, n = $u, i, o;
  return typeof e == "object" && (t = e, e = !1), typeof e == "boolean" && (r = e), typeof t == "object" && (n = Object.assign({}, $u, t), t.s != null && t.ss == null && (n.ss = t.s - 1)), i = this.localeData(), o = Yde(this, !r, n, i), r && (o = i.pastFuture(+this, o)), i.postformat(o);
}
var ZT = Math.abs;
function vu(e) {
  return (e > 0) - (e < 0) || +e;
}
function Hy() {
  if (!this.isValid())
    return this.localeData().invalidDate();
  var e = ZT(this._milliseconds) / 1e3, t = ZT(this._days), r = ZT(this._months), n, i, o, l, c = this.asSeconds(), g, y, C, D;
  return c ? (n = fi(e / 60), i = fi(n / 60), e %= 60, n %= 60, o = fi(r / 12), r %= 12, l = e ? e.toFixed(3).replace(/\.?0+$/, "") : "", g = c < 0 ? "-" : "", y = vu(this._months) !== vu(c) ? "-" : "", C = vu(this._days) !== vu(c) ? "-" : "", D = vu(this._milliseconds) !== vu(c) ? "-" : "", g + "P" + (o ? y + o + "Y" : "") + (r ? y + r + "M" : "") + (t ? C + t + "D" : "") + (i || n || e ? "T" : "") + (i ? D + i + "H" : "") + (n ? D + n + "M" : "") + (e ? D + l + "S" : "")) : "P0D";
}
var Pt = $y.prototype;
Pt.isValid = Wce;
Pt.abs = Sde;
Pt.add = wde;
Pt.subtract = Ode;
Pt.as = Cde;
Pt.asMilliseconds = LH;
Pt.asSeconds = xde;
Pt.asMinutes = Ade;
Pt.asHours = Dde;
Pt.asDays = Pde;
Pt.asWeeks = kde;
Pt.asMonths = Rde;
Pt.asQuarters = Mde;
Pt.asYears = Nde;
Pt.valueOf = Ide;
Pt._bubble = Tde;
Pt.clone = Fde;
Pt.get = Lde;
Pt.milliseconds = jde;
Pt.seconds = Ude;
Pt.minutes = qde;
Pt.hours = zde;
Pt.days = Bde;
Pt.weeks = Vde;
Pt.months = Wde;
Pt.years = $de;
Pt.humanize = Xde;
Pt.toISOString = Hy;
Pt.toString = Hy;
Pt.toJSON = Hy;
Pt.locale = OH;
Pt.localeData = CH;
Pt.toIsoString = wi(
  "toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",
  Hy
);
Pt.lang = TH;
ot("X", 0, 0, "unix");
ot("x", 0, 0, "valueOf");
et("x", qy);
et("X", gle);
Kt("X", function(e, t, r) {
  r._d = new Date(parseFloat(e) * 1e3);
});
Kt("x", function(e, t, r) {
  r._d = new Date(Tt(e));
});
//! moment.js
Qe.version = "2.30.1";
Que(or);
Qe.fn = $e;
Qe.min = Uce;
Qe.max = qce;
Qe.now = zce;
Qe.utc = ka;
Qe.unix = mde;
Qe.months = gde;
Qe.isDate = md;
Qe.locale = qo;
Qe.invalid = Fy;
Qe.duration = Yi;
Qe.isMoment = zi;
Qe.weekdays = bde;
Qe.parseZone = vde;
Qe.localeData = uo;
Qe.isDuration = Fv;
Qe.monthsShort = yde;
Qe.weekdaysMin = Ede;
Qe.defineLocale = zP;
Qe.updateLocale = vce;
Qe.locales = gce;
Qe.weekdaysShort = _de;
Qe.normalizeUnits = Oi;
Qe.relativeTimeRounding = Gde;
Qe.relativeTimeThreshold = Kde;
Qe.calendarFormat = dfe;
Qe.prototype = $e;
Qe.HTML5_FMT = {
  DATETIME_LOCAL: "YYYY-MM-DDTHH:mm",
  // <input type="datetime-local" />
  DATETIME_LOCAL_SECONDS: "YYYY-MM-DDTHH:mm:ss",
  // <input type="datetime-local" step="1" />
  DATETIME_LOCAL_MS: "YYYY-MM-DDTHH:mm:ss.SSS",
  // <input type="datetime-local" step="0.001" />
  DATE: "YYYY-MM-DD",
  // <input type="date" />
  TIME: "HH:mm",
  // <input type="time" />
  TIME_SECONDS: "HH:mm:ss",
  // <input type="time" step="1" />
  TIME_MS: "HH:mm:ss.SSS",
  // <input type="time" step="0.001" />
  WEEK: "GGGG-[W]WW",
  // <input type="week" />
  MONTH: "YYYY-MM"
  // <input type="month" />
};
const Qde = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  default: Qe
}, Symbol.toStringTag, { value: "Module" })), Zde = /* @__PURE__ */ On(Qde);
function Tn(e, t, r) {
  return e.fields = t || [], e.fname = r, e;
}
function Qn(e) {
  return e == null ? null : e.fname;
}
function bn(e) {
  return e == null ? null : e.fields;
}
function We(e) {
  throw Error(e);
}
function Il(e) {
  var t = [], r = null, n = 0, i = e.length, o = "", l, c, g;
  e = e + "";
  function y() {
    t.push(o + e.substring(l, c)), o = "", l = c + 1;
  }
  for (l = c = 0; c < i; ++c)
    if (g = e[c], g === "\\")
      o += e.substring(l, c), l = ++c;
    else if (g === r)
      y(), r = null, n = -1;
    else {
      if (r)
        continue;
      l === n && g === '"' || l === n && g === "'" ? (l = c + 1, r = g) : g === "." && !n ? c > l ? y() : l = c + 1 : g === "[" ? (c > l && y(), n = l = c + 1) : g === "]" && (n || We("Access path missing open bracket: " + e), n > 0 && y(), n = 0, l = c + 1);
    }
  return n && We("Access path missing closing bracket: " + e), r && We("Access path missing closing quote: " + e), c > l && (c++, y()), t;
}
const Et = Array.isArray;
function Rt(e) {
  return e === Object(e);
}
function yr(e) {
  return typeof e == "string";
}
function at(e) {
  return Et(e) ? "[" + e.map(at) + "]" : Rt(e) || yr(e) ? (
    // Output valid JSON and JS source strings.
    // See http://timelessrepo.com/json-isnt-a-javascript-subset
    JSON.stringify(e).replace("\u2028", "\\u2028").replace("\u2029", "\\u2029")
  ) : e;
}
function Jn(e, t) {
  var r = Il(e), n = "return _[" + r.map(at).join("][") + "];";
  return Tn(
    Function("_", n),
    [e = r.length === 1 ? r[0] : e],
    t || e
  );
}
var bd = [], Fl = Jn("id"), Bi = Tn(function(e) {
  return e;
}, bd, "identity"), XP = Tn(function() {
  return 0;
}, bd, "zero"), _d = Tn(function() {
  return 1;
}, bd, "one"), co = Tn(function() {
  return !0;
}, bd, "true"), ma = Tn(function() {
  return !1;
}, bd, "false");
function fh(e, t, r) {
  var n = [t].concat([].slice.call(r));
  console[e].apply(console, n);
}
var QP = 0, Yy = 1, ZP = 2, qf = 3, Gy = 4;
function JP(e) {
  var t = e || QP;
  return {
    level: function(r) {
      return arguments.length ? (t = +r, this) : t;
    },
    error: function() {
      return t >= Yy && fh("error", "ERROR", arguments), this;
    },
    warn: function() {
      return t >= ZP && fh("warn", "WARN", arguments), this;
    },
    info: function() {
      return t >= qf && fh("log", "INFO", arguments), this;
    },
    debug: function() {
      return t >= Gy && fh("log", "DEBUG", arguments), this;
    }
  };
}
function $t(e) {
  return e[e.length - 1];
}
function wr(e) {
  return e == null || e === "" ? null : +e;
}
function jH(e) {
  return function(t) {
    return e * Math.exp(t);
  };
}
function UH(e) {
  return function(t) {
    return Math.log(e * t);
  };
}
function tg(e) {
  return function(t) {
    return t < 0 ? -Math.pow(-t, e) : Math.pow(t, e);
  };
}
function ek(e, t, r, n) {
  var i = r(e[0]), o = r($t(e)), l = (o - i) * t;
  return [
    n(i - l),
    n(o - l)
  ];
}
function tk(e, t) {
  return ek(e, t, wr, Bi);
}
function rk(e, t) {
  var r = Math.sign(e[0]);
  return ek(e, t, UH(r), jH(r));
}
function nk(e, t, r) {
  return ek(e, t, tg(r), tg(1 / r));
}
function ik(e, t, r, n, i) {
  var o = n(e[0]), l = n($t(e)), c = t != null ? n(t) : (o + l) / 2;
  return [
    i(c + (o - c) * r),
    i(c + (l - c) * r)
  ];
}
function Ky(e, t, r) {
  return ik(e, t, r, wr, Bi);
}
function Xy(e, t, r) {
  var n = Math.sign(e[0]);
  return ik(e, t, r, UH(n), jH(n));
}
function zf(e, t, r, n) {
  return ik(e, t, r, tg(n), tg(1 / n));
}
function mt(e) {
  return e != null ? Et(e) ? e : [e] : [];
}
function kt(e) {
  return typeof e == "function";
}
function Qy(e, t) {
  var r = [], n = (e = mt(e)).map(function(z, A) {
    return z == null ? null : (r.push(A), kt(z) ? z : Il(z).map(at).join("]["));
  }), i = r.length - 1, o = mt(t), l = "var u,v;return ", c, g, y, C, D, x, M, N, F;
  if (i < 0) return null;
  for (g = 0; g <= i; ++g)
    c = r[g], y = n[c], kt(y) ? (x = "f" + c, C = "(u=this." + x + "(a))", D = "(v=this." + x + "(b))", (M = M || {})[x] = y) : (C = "(u=a[" + y + "])", D = "(v=b[" + y + "])"), x = "((v=v instanceof Date?+v:v),(u=u instanceof Date?+u:u))", o[c] !== "descending" ? (F = 1, N = -1) : (F = -1, N = 1), l += "(" + C + "<" + D + "||u==null)&&v!=null?" + N + ":(u>v||v==null)&&u!=null?" + F + ":" + x + "!==u&&v===v?" + N + ":v!==v&&u===u?" + F + (c < i ? ":" : ":0");
  return y = Function("a", "b", l + ";"), M && (y = y.bind(M)), e = e.reduce(function(z, A) {
    return kt(A) ? (bn(A) || []).forEach(function(u) {
      z[u] = 1;
    }) : A != null && (z[A + ""] = 1), z;
  }, {}), Tn(y, Object.keys(e));
}
function Wi(e) {
  return kt(e) ? e : function() {
    return e;
  };
}
function Zy(e, t) {
  var r, n;
  function i() {
    t(n), r = n = null;
  }
  return function(o) {
    n = o, r && clearTimeout(r), r = setTimeout(i, e);
  };
}
function Vt(e) {
  for (var t, r, n = 1, i = arguments.length; n < i; ++n) {
    t = arguments[n];
    for (r in t)
      e[r] = t[r];
  }
  return e;
}
function ak(e, t) {
  var r = -1, n = e.length, i, o, l, c, g;
  if (t == null) {
    for (; ++r < n; )
      if (o = e[r], o != null && o >= o) {
        i = l = o;
        break;
      }
    for (c = g = r; ++r < n; )
      o = e[r], o != null && (i > o && (i = o, c = r), l < o && (l = o, g = r));
  } else {
    for (; ++r < n; )
      if (o = t(e[r], r, e), o != null && o >= o) {
        i = l = o;
        break;
      }
    for (c = g = r; ++r < n; )
      o = t(e[r], r, e), o != null && (i > o && (i = o, c = r), l < o && (l = o, g = r));
  }
  return [c, g];
}
var dh = {};
function Js(e) {
  var t = {}, r, n;
  function i(o) {
    return t.hasOwnProperty(o) && t[o] !== dh;
  }
  return r = {
    size: 0,
    empty: 0,
    object: t,
    has: i,
    get: function(o) {
      return i(o) ? t[o] : void 0;
    },
    set: function(o, l) {
      return i(o) || (++r.size, t[o] === dh && --r.empty), t[o] = l, this;
    },
    delete: function(o) {
      return i(o) && (--r.size, ++r.empty, t[o] = dh), this;
    },
    clear: function() {
      r.size = r.empty = 0, r.object = t = {};
    },
    test: function(o) {
      return arguments.length ? (n = o, r) : n;
    },
    clean: function() {
      var o = {}, l = 0, c, g;
      for (c in t)
        g = t[c], g !== dh && (!n || !n(g)) && (o[c] = g, ++l);
      r.size = l, r.empty = 0, r.object = t = o;
    }
  }, e && Object.keys(e).forEach(function(o) {
    r.set(o, e[o]);
  }), r;
}
function Ke(e, t) {
  var r = e.prototype = Object.create(t.prototype);
  return r.constructor = e, r;
}
function ok(e) {
  return typeof e == "boolean";
}
function _n(e) {
  return Object.prototype.toString.call(e) === "[object Date]";
}
function Rs(e) {
  return typeof e == "number";
}
function sk(e) {
  return Object.prototype.toString.call(e) === "[object RegExp]";
}
function Jy(e, t) {
  e && (e = t ? mt(e).map(function(n) {
    return n.replace(/\\(.)/g, "$1");
  }) : mt(e));
  var r = e && e.length ? Function("_", "return ''+" + e.map(function(n) {
    return "_[" + (t ? at(n) : Il(n).map(at).join("][")) + "]";
  }).join("+'|'+") + ";") : function() {
    return "";
  };
  return Tn(r, e, "key");
}
function uk(e, t, r, n) {
  var i = t.length, o = r.length;
  if (!o) return t;
  if (!i) return r;
  for (var l = n || new t.constructor(i + o), c = 0, g = 0, y = 0; c < i && g < o; ++y)
    l[y] = e(t[c], r[g]) > 0 ? r[g++] : t[c++];
  for (; c < i; ++c, ++y)
    l[y] = t[c];
  for (; g < o; ++g, ++y)
    l[y] = r[g];
  return l;
}
function Vu(e, t) {
  for (var r = ""; --t >= 0; ) r += e;
  return r;
}
function lk(e, t, r, n) {
  var i = r || " ", o = e + "", l = t - o.length;
  return l <= 0 ? o : n === "left" ? Vu(i, l) + o : n === "center" ? Vu(i, ~~(l / 2)) + o + Vu(i, Math.ceil(l / 2)) : o + Vu(i, l);
}
function eb(e) {
  return e == null || e === "" ? null : !e || e === "false" || e === "0" ? !1 : !!e;
}
function Jde(e) {
  return Rs(e) || _n(e) ? e : Date.parse(e);
}
function tb(e, t) {
  return t = t || Jde, e == null || e === "" ? null : t(e);
}
function rb(e) {
  return e == null || e === "" ? null : e + "";
}
function jn(e) {
  for (var t = {}, r = 0, n = e.length; r < n; ++r) t[e[r]] = !0;
  return t;
}
function ck(e, t, r, n) {
  var i = n ?? "…", o = e + "", l = o.length, c = Math.max(0, t - i.length);
  return l <= t ? o : r === "left" ? i + o.slice(l - c) : r === "center" ? o.slice(0, Math.ceil(c / 2)) + i + o.slice(l - ~~(c / 2)) : o.slice(0, c) + i;
}
function Wa(e, t, r) {
  if (e) {
    var n = 0, i = e.length, o;
    if (t)
      for (; n < i; ++n)
        (o = t(e[n])) && r(o, n, e);
    else
      e.forEach(r);
  }
}
const epe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  Debug: Gy,
  Error: Yy,
  Info: qf,
  None: QP,
  Warn: ZP,
  accessor: Tn,
  accessorFields: bn,
  accessorName: Qn,
  array: mt,
  compare: Qy,
  constant: Wi,
  debounce: Zy,
  error: We,
  extend: Vt,
  extentIndex: ak,
  falsy: ma,
  fastmap: Js,
  field: Jn,
  id: Fl,
  identity: Bi,
  inherits: Ke,
  isArray: Et,
  isBoolean: ok,
  isDate: _n,
  isFunction: kt,
  isNumber: Rs,
  isObject: Rt,
  isRegExp: sk,
  isString: yr,
  key: Jy,
  logger: JP,
  merge: uk,
  one: _d,
  pad: lk,
  panLinear: tk,
  panLog: rk,
  panPow: nk,
  peek: $t,
  repeat: Vu,
  splitAccessPath: Il,
  stringValue: at,
  toBoolean: eb,
  toDate: tb,
  toNumber: wr,
  toSet: jn,
  toString: rb,
  truncate: ck,
  truthy: co,
  visitArray: Wa,
  zero: XP,
  zoomLinear: Ky,
  zoomLog: Xy,
  zoomPow: zf
}, Symbol.toStringTag, { value: "Module" }));
function nb(e) {
  var t = e || Bi, r = [], n = {};
  return r.add = function(i) {
    var o = t(i);
    return n[o] || (n[o] = 1, r.push(i)), r;
  }, r.remove = function(i) {
    var o = t(i), l;
    return n[o] && (n[o] = 0, (l = r.indexOf(i)) >= 0 && r.splice(l, 1)), r;
  }, r;
}
var qH = Symbol("vega_id"), tpe = 1;
function ib(e) {
  return !!(e && st(e));
}
function st(e) {
  return e[qH];
}
function zH(e, t) {
  return e[qH] = t, e;
}
function gr(e) {
  var t = e === Object(e) ? e : { data: e };
  return st(t) ? t : zH(t, tpe++);
}
function fk(e) {
  return dk(e, gr({}));
}
function dk(e, t) {
  for (var r in e) t[r] = e[r];
  return t;
}
function BH(e, t) {
  return zH(t, st(e));
}
function WH(e) {
  return e && e.constructor === Ll;
}
function Ll() {
  var e = [], t = [], r = [], n = [], i = [], o = !1;
  return {
    constructor: Ll,
    insert: function(l) {
      for (var c = mt(l), g = 0, y = c.length; g < y; ++g) e.push(c[g]);
      return this;
    },
    remove: function(l) {
      for (var c = kt(l) ? n : t, g = mt(l), y = 0, C = g.length; y < C; ++y) c.push(g[y]);
      return this;
    },
    modify: function(l, c, g) {
      var y = { field: c, value: Wi(g) };
      return kt(l) ? (y.filter = l, i.push(y)) : (y.tuple = l, r.push(y)), this;
    },
    encode: function(l, c) {
      return kt(l) ? i.push({ filter: l, field: c }) : r.push({ tuple: l, field: c }), this;
    },
    reflow: function() {
      return o = !0, this;
    },
    pulse: function(l, c) {
      var g = {}, y = {}, C, D, x, M, N, F;
      for (C = 0, D = c.length; C < D; ++C)
        g[st(c[C])] = 1;
      for (C = 0, D = t.length; C < D; ++C)
        N = t[C], g[st(N)] = -1;
      for (C = 0, D = n.length; C < D; ++C)
        M = n[C], c.forEach(function(A) {
          M(A) && (g[st(A)] = -1);
        });
      for (C = 0, D = e.length; C < D; ++C)
        N = e[C], F = st(N), g[F] ? g[F] = 1 : l.add.push(gr(e[C]));
      for (C = 0, D = c.length; C < D; ++C)
        N = c[C], g[st(N)] < 0 && l.rem.push(N);
      function z(A, u, a) {
        a ? A[u] = a(A) : l.encode = u, o || (y[st(A)] = A);
      }
      for (C = 0, D = r.length; C < D; ++C)
        x = r[C], N = x.tuple, M = x.field, F = g[st(N)], F > 0 && (z(N, M, x.value), l.modifies(M));
      for (C = 0, D = i.length; C < D; ++C)
        x = i[C], M = x.filter, c.forEach(function(A) {
          M(A) && g[st(A)] > 0 && z(A, x.field, x.value);
        }), l.modifies(x.field);
      if (o)
        l.mod = t.length || n.length ? c.filter(function(A) {
          return g[st(A)] > 0;
        }) : c.slice();
      else
        for (F in y) l.mod.push(y[F]);
      return l;
    }
  };
}
var ab = "_:mod:_";
function ob() {
  Object.defineProperty(this, ab, { writable: !0, value: {} });
}
var pk = ob.prototype;
pk.set = function(e, t, r, n) {
  var i = this, o = i[e], l = i[ab];
  return t != null && t >= 0 ? (o[t] !== r || n) && (o[t] = r, l[t + ":" + e] = -1, l[e] = -1) : (o !== r || n) && (i[e] = r, l[e] = Et(r) ? 1 + r.length : -1), i;
};
pk.modified = function(e, t) {
  var r = this[ab], n;
  if (arguments.length) {
    if (Et(e)) {
      for (n = 0; n < e.length; ++n)
        if (r[e[n]]) return !0;
      return !1;
    }
  } else {
    for (n in r)
      if (r[n]) return !0;
    return !1;
  }
  return t != null && t >= 0 ? t + 1 < r[e] || !!r[t + ":" + e] : !!r[e];
};
pk.clear = function() {
  return this[ab] = {}, this;
};
var rpe = 0, npe = "pulse", ipe = new ob(), ape = 1, ope = 2;
function Jt(e, t, r, n) {
  this.id = ++rpe, this.value = e, this.stamp = -1, this.rank = -1, this.qrank = -1, this.flags = 0, t && (this._update = t), r && this.parameters(r, n);
}
var Go = Jt.prototype;
Go.targets = function() {
  return this._targets || (this._targets = nb(Fl));
};
Go.set = function(e) {
  return this.value !== e ? (this.value = e, 1) : 0;
};
function $H(e) {
  return function(t) {
    var r = this.flags;
    return arguments.length === 0 ? !!(r & e) : (this.flags = t ? r | e : r & ~e, this);
  };
}
Go.skip = $H(ape);
Go.modified = $H(ope);
Go.parameters = function(e, t, r) {
  t = t !== !1;
  var n = this, i = n._argval = n._argval || new ob(), o = n._argops = n._argops || [], l = [], c, g, y, C;
  function D(x, M, N) {
    N instanceof Jt ? (N !== n && (t && N.targets().add(n), l.push(N)), o.push({ op: N, name: x, index: M })) : i.set(x, M, N);
  }
  for (c in e)
    if (g = e[c], c === npe)
      mt(g).forEach(function(x) {
        x instanceof Jt ? x !== n && (x.targets().add(n), l.push(x)) : We("Pulse parameters must be operator instances.");
      }), n.source = g;
    else if (Et(g))
      for (i.set(c, -1, Array(y = g.length)), C = 0; C < y; ++C) D(c, C, g[C]);
    else
      D(c, -1, g);
  return this.marshall().clear(), r && (o.initonly = !0), l;
};
Go.marshall = function(e) {
  var t = this._argval || ipe, r = this._argops, n, i, o, l, c;
  if (r) {
    for (i = 0, o = r.length; i < o; ++i)
      n = r[i], l = n.op, c = l.modified() && l.stamp === e, t.set(n.name, n.index, l.value, c);
    if (r.initonly) {
      for (i = 0; i < o; ++i)
        n = r[i], n.op.targets().remove(this);
      this._argops = null, this._update = null;
    }
  }
  return t;
};
Go.evaluate = function(e) {
  var t = this._update;
  if (t) {
    var r = this.marshall(e.stamp), n = t.call(this, r, e);
    if (r.clear(), n !== this.value)
      this.value = n;
    else if (!this.modified())
      return e.StopPropagation;
  }
};
Go.run = function(e) {
  if (e.stamp <= this.stamp) return e.StopPropagation;
  var t;
  return this.skip() ? (this.skip(!1), t = 0) : t = this.evaluate(e), this.stamp = e.stamp, this.pulse = t || e;
};
function spe(e, t, r, n) {
  var i = 1, o;
  return e instanceof Jt ? o = e : e && e.prototype instanceof Jt ? o = new e() : kt(e) ? o = new Jt(null, e) : (i = 0, o = new Jt(e, t)), this.rank(o), i && (n = r, r = t), r && this.connect(o, o.parameters(r, n)), this.touch(o), o;
}
function upe(e, t) {
  var r = e.rank, n, i;
  for (n = 0, i = t.length; n < i; ++n)
    if (r < t[n].rank) {
      this.rerank(e);
      return;
    }
}
var lpe = 0;
function sb(e, t, r) {
  this.id = ++lpe, this.value = null, r && (this.receive = r), e && (this._filter = e), t && (this._apply = t);
}
function Wo(e, t, r) {
  return new sb(e, t, r);
}
var Gi = sb.prototype;
Gi._filter = co;
Gi._apply = Bi;
Gi.targets = function() {
  return this._targets || (this._targets = nb(Fl));
};
Gi.consume = function(e) {
  return arguments.length ? (this._consume = !!e, this) : !!this._consume;
};
Gi.receive = function(e) {
  if (this._filter(e)) {
    for (var t = this.value = this._apply(e), r = this._targets, n = r ? r.length : 0, i = 0; i < n; ++i) r[i].receive(t);
    this._consume && (e.preventDefault(), e.stopPropagation());
  }
};
Gi.filter = function(e) {
  var t = Wo(e);
  return this.targets().add(t), t;
};
Gi.apply = function(e) {
  var t = Wo(null, e);
  return this.targets().add(t), t;
};
Gi.merge = function() {
  var e = Wo();
  this.targets().add(e);
  for (var t = 0, r = arguments.length; t < r; ++t)
    arguments[t].targets().add(e);
  return e;
};
Gi.throttle = function(e) {
  var t = -1;
  return this.filter(function() {
    var r = Date.now();
    return r - t > e ? (t = r, 1) : 0;
  });
};
Gi.debounce = function(e) {
  var t = Wo();
  return this.targets().add(Wo(
    null,
    null,
    Zy(e, function(r) {
      var n = r.dataflow;
      t.receive(r), n && n.run && n.run();
    })
  )), t;
};
Gi.between = function(e, t) {
  var r = !1;
  return e.targets().add(Wo(null, null, function() {
    r = !0;
  })), t.targets().add(Wo(null, null, function() {
    r = !1;
  })), this.filter(function() {
    return r;
  });
};
function cpe(e, t, r, n) {
  var i = this, o = Wo(r, n), l = function(C) {
    C.dataflow = i;
    try {
      o.receive(C);
    } catch (D) {
      i.error(D);
    } finally {
      i.run();
    }
  }, c;
  typeof e == "string" && typeof document < "u" ? c = document.querySelectorAll(e) : c = mt(e);
  for (var g = 0, y = c.length; g < y; ++g)
    c[g].addEventListener(t, l);
  return o;
}
var fpe = /^([A-Za-z]+:)?\/\//, Sz = "file://";
function ub(e) {
  return {
    options: e || {},
    sanitize: ppe,
    load: dpe,
    file: mpe,
    http: hpe
  };
}
function dpe(e, t) {
  var r = this;
  return r.sanitize(e, t).then(function(n) {
    var i = n.href;
    return n.localFile ? r.file(i) : r.http(i, t);
  });
}
function ppe(e, t) {
  return t = Vt({}, this.options, t), new Promise(function(r, n) {
    var i = { href: null }, o, l, c, g;
    if (e == null || typeof e != "string") {
      n("Sanitize failure, invalid URI: " + at(e));
      return;
    }
    l = fpe.test(e), (g = t.baseURL) && !l && (!JT(e, "/") && g[g.length - 1] !== "/" && (e = "/" + e), e = g + e), c = (o = JT(e, Sz)) || t.mode === "file" || t.mode !== "http" && !l && VH(), o ? e = e.slice(Sz.length) : JT(e, "//") && (t.defaultProtocol === "file" ? (e = e.slice(2), c = !0) : e = (t.defaultProtocol || "http") + ":" + e), Object.defineProperty(i, "localFile", { value: !!c }), i.href = e, t.target && (i.target = t.target + ""), r(i);
  });
}
function hpe(e, t) {
  return vpe(e, Vt({}, this.options.http, t)).then(function(r) {
    if (!r.ok) throw r.status + "" + r.statusText;
    return r.text();
  });
}
function mpe(e) {
  return new Promise(function(t, r) {
    var n = VH();
    n ? n.readFile(e, function(i, o) {
      i ? r(i) : t(o);
    }) : r("No file system access for " + e);
  });
}
function vpe(e, t) {
  var r = typeof fetch == "function" ? fetch : require("node-fetch");
  return r ? r(e, t) : Promise.reject("No fetch method available.");
}
function VH() {
  var e = typeof require == "function" && require("fs");
  return e && kt(e.readFile) ? e : null;
}
function JT(e, t) {
  return e == null ? !1 : e.lastIndexOf(t, 0) === 0;
}
var kA = {
  boolean: eb,
  integer: wr,
  number: wr,
  date: tb,
  string: rb,
  unknown: Bi
}, ph = [
  bpe,
  Epe,
  GH,
  _pe
], gpe = [
  "boolean",
  "integer",
  "number",
  "date"
];
function HH(e, t) {
  if (!e || !e.length) return "unknown";
  var r, n, i, o = 0, l = e.length, c = ph.length, g = ph.map(function(y, C) {
    return C + 1;
  });
  for (n = 0, l = e.length; n < l; ++n)
    for (r = t ? e[n][t] : e[n], i = 0; i < c; ++i)
      if (g[i] && ype(r) && !ph[i](r) && (g[i] = 0, ++o, o === ph.length))
        return "string";
  return o = g.reduce(function(y, C) {
    return y === 0 ? C : y;
  }, 0) - 1, gpe[o];
}
function YH(e, t) {
  return t.reduce(function(r, n) {
    return r[n] = HH(e, n), r;
  }, {});
}
function ype(e) {
  return e != null && e === e;
}
function bpe(e) {
  return e === "true" || e === "false" || e === !0 || e === !1;
}
function _pe(e) {
  return !isNaN(Date.parse(e));
}
function GH(e) {
  return !isNaN(+e) && !(e instanceof Date);
}
function Epe(e) {
  return GH(e) && (e = +e) === ~~e;
}
var wz = {}, eC = {}, tC = 34, ic = 10, rC = 13;
function KH(e) {
  return new Function("d", "return {" + e.map(function(t, r) {
    return JSON.stringify(t) + ": d[" + r + '] || ""';
  }).join(",") + "}");
}
function Spe(e, t) {
  var r = KH(e);
  return function(n, i) {
    return t(r(n), i, e);
  };
}
function Oz(e) {
  var t = /* @__PURE__ */ Object.create(null), r = [];
  return e.forEach(function(n) {
    for (var i in n)
      i in t || r.push(t[i] = i);
  }), r;
}
function Nn(e, t) {
  var r = e + "", n = r.length;
  return n < t ? new Array(t - n + 1).join(0) + r : r;
}
function wpe(e) {
  return e < 0 ? "-" + Nn(-e, 6) : e > 9999 ? "+" + Nn(e, 6) : Nn(e, 4);
}
function Ope(e) {
  var t = e.getUTCHours(), r = e.getUTCMinutes(), n = e.getUTCSeconds(), i = e.getUTCMilliseconds();
  return isNaN(e) ? "Invalid Date" : wpe(e.getUTCFullYear()) + "-" + Nn(e.getUTCMonth() + 1, 2) + "-" + Nn(e.getUTCDate(), 2) + (i ? "T" + Nn(t, 2) + ":" + Nn(r, 2) + ":" + Nn(n, 2) + "." + Nn(i, 3) + "Z" : n ? "T" + Nn(t, 2) + ":" + Nn(r, 2) + ":" + Nn(n, 2) + "Z" : r || t ? "T" + Nn(t, 2) + ":" + Nn(r, 2) + "Z" : "");
}
function Tpe(e) {
  var t = new RegExp('["' + e + `
\r]`), r = e.charCodeAt(0);
  function n(D, x) {
    var M, N, F = i(D, function(z, A) {
      if (M) return M(z, A - 1);
      N = z, M = x ? Spe(z, x) : KH(z);
    });
    return F.columns = N || [], F;
  }
  function i(D, x) {
    var M = [], N = D.length, F = 0, z = 0, A, u = N <= 0, a = !1;
    D.charCodeAt(N - 1) === ic && --N, D.charCodeAt(N - 1) === rC && --N;
    function s() {
      if (u) return eC;
      if (a) return a = !1, wz;
      var E, f = F, S;
      if (D.charCodeAt(f) === tC) {
        for (; F++ < N && D.charCodeAt(F) !== tC || D.charCodeAt(++F) === tC; ) ;
        return (E = F) >= N ? u = !0 : (S = D.charCodeAt(F++)) === ic ? a = !0 : S === rC && (a = !0, D.charCodeAt(F) === ic && ++F), D.slice(f + 1, E - 1).replace(/""/g, '"');
      }
      for (; F < N; ) {
        if ((S = D.charCodeAt(E = F++)) === ic) a = !0;
        else if (S === rC)
          a = !0, D.charCodeAt(F) === ic && ++F;
        else if (S !== r) continue;
        return D.slice(f, E);
      }
      return u = !0, D.slice(f, N);
    }
    for (; (A = s()) !== eC; ) {
      for (var h = []; A !== wz && A !== eC; ) h.push(A), A = s();
      x && (h = x(h, z++)) == null || M.push(h);
    }
    return M;
  }
  function o(D, x) {
    return D.map(function(M) {
      return x.map(function(N) {
        return C(M[N]);
      }).join(e);
    });
  }
  function l(D, x) {
    return x == null && (x = Oz(D)), [x.map(C).join(e)].concat(o(D, x)).join(`
`);
  }
  function c(D, x) {
    return x == null && (x = Oz(D)), o(D, x).join(`
`);
  }
  function g(D) {
    return D.map(y).join(`
`);
  }
  function y(D) {
    return D.map(C).join(e);
  }
  function C(D) {
    return D == null ? "" : D instanceof Date ? Ope(D) : t.test(D += "") ? '"' + D.replace(/"/g, '""') + '"' : D;
  }
  return {
    parse: n,
    parseRows: i,
    format: l,
    formatBody: c,
    formatRows: g,
    formatRow: y,
    formatValue: C
  };
}
function Tz(e) {
  return function(t, r) {
    var n = { delimiter: e };
    return XH(t, r ? Vt(r, n) : n);
  };
}
function XH(e, t) {
  return t.header && (e = t.header.map(at).join(t.delimiter) + `
` + e), Tpe(t.delimiter).parse(e + "");
}
function Cpe(e) {
  return typeof Buffer == "function" && kt(Buffer.isBuffer) ? Buffer.isBuffer(e) : !1;
}
function QH(e, t) {
  var r = t && t.property ? Jn(t.property) : Bi;
  return Rt(e) && !Cpe(e) ? xpe(r(e)) : r(JSON.parse(e));
}
function xpe(e, t) {
  return t && t.copy ? JSON.parse(JSON.stringify(e)) : e;
}
function Ape(e, t) {
  var r, n, i;
  return e = QH(e, t), r = t && (i = t.feature) ? Yte : t && (i = t.mesh) ? Gte : We("Missing TopoJSON feature or mesh parameter."), n = (n = e.objects[i]) ? r(e, n) : We("Invalid TopoJSON object: " + i), n && n.features || [n];
}
var jv = {
  dsv: XH,
  csv: Tz(","),
  tsv: Tz("	"),
  json: QH,
  topojson: Ape
};
function ZH(e, t) {
  return arguments.length > 1 ? (jv[e] = t, this) : jv.hasOwnProperty(e) ? jv[e] : null;
}
var nC = /* @__PURE__ */ new Date(), iC = /* @__PURE__ */ new Date();
function Fr(e, t, r, n) {
  function i(o) {
    return e(o = arguments.length === 0 ? /* @__PURE__ */ new Date() : /* @__PURE__ */ new Date(+o)), o;
  }
  return i.floor = function(o) {
    return e(o = /* @__PURE__ */ new Date(+o)), o;
  }, i.ceil = function(o) {
    return e(o = new Date(o - 1)), t(o, 1), e(o), o;
  }, i.round = function(o) {
    var l = i(o), c = i.ceil(o);
    return o - l < c - o ? l : c;
  }, i.offset = function(o, l) {
    return t(o = /* @__PURE__ */ new Date(+o), l == null ? 1 : Math.floor(l)), o;
  }, i.range = function(o, l, c) {
    var g = [], y;
    if (o = i.ceil(o), c = c == null ? 1 : Math.floor(c), !(o < l) || !(c > 0)) return g;
    do
      g.push(y = /* @__PURE__ */ new Date(+o)), t(o, c), e(o);
    while (y < o && o < l);
    return g;
  }, i.filter = function(o) {
    return Fr(function(l) {
      if (l >= l) for (; e(l), !o(l); ) l.setTime(l - 1);
    }, function(l, c) {
      if (l >= l)
        if (c < 0) for (; ++c <= 0; )
          for (; t(l, -1), !o(l); )
            ;
        else for (; --c >= 0; )
          for (; t(l, 1), !o(l); )
            ;
    });
  }, r && (i.count = function(o, l) {
    return nC.setTime(+o), iC.setTime(+l), e(nC), e(iC), Math.floor(r(nC, iC));
  }, i.every = function(o) {
    return o = Math.floor(o), !isFinite(o) || !(o > 0) ? null : o > 1 ? i.filter(n ? function(l) {
      return n(l) % o === 0;
    } : function(l) {
      return i.count(0, l) % o === 0;
    }) : i;
  }), i;
}
var Ms = Fr(function() {
}, function(e, t) {
  e.setTime(+e + t);
}, function(e, t) {
  return t - e;
});
Ms.every = function(e) {
  return e = Math.floor(e), !isFinite(e) || !(e > 0) ? null : e > 1 ? Fr(function(t) {
    t.setTime(Math.floor(t / e) * e);
  }, function(t, r) {
    t.setTime(+t + r * e);
  }, function(t, r) {
    return (r - t) / e;
  }) : Ms;
};
Ms.range;
var rg = 1e3, Ns = 6e4, ng = 36e5, JH = 864e5, eY = 6048e5, Ed = Fr(function(e) {
  e.setTime(e - e.getMilliseconds());
}, function(e, t) {
  e.setTime(+e + t * rg);
}, function(e, t) {
  return (t - e) / rg;
}, function(e) {
  return e.getUTCSeconds();
});
Ed.range;
var hk = Fr(function(e) {
  e.setTime(e - e.getMilliseconds() - e.getSeconds() * rg);
}, function(e, t) {
  e.setTime(+e + t * Ns);
}, function(e, t) {
  return (t - e) / Ns;
}, function(e) {
  return e.getMinutes();
});
hk.range;
var mk = Fr(function(e) {
  e.setTime(e - e.getMilliseconds() - e.getSeconds() * rg - e.getMinutes() * Ns);
}, function(e, t) {
  e.setTime(+e + t * ng);
}, function(e, t) {
  return (t - e) / ng;
}, function(e) {
  return e.getHours();
});
mk.range;
var Sd = Fr(function(e) {
  e.setHours(0, 0, 0, 0);
}, function(e, t) {
  e.setDate(e.getDate() + t);
}, function(e, t) {
  return (t - e - (t.getTimezoneOffset() - e.getTimezoneOffset()) * Ns) / JH;
}, function(e) {
  return e.getDate() - 1;
});
Sd.range;
function eu(e) {
  return Fr(function(t) {
    t.setDate(t.getDate() - (t.getDay() + 7 - e) % 7), t.setHours(0, 0, 0, 0);
  }, function(t, r) {
    t.setDate(t.getDate() + r * 7);
  }, function(t, r) {
    return (r - t - (r.getTimezoneOffset() - t.getTimezoneOffset()) * Ns) / eY;
  });
}
var lb = eu(0), ig = eu(1), Dpe = eu(2), Ppe = eu(3), sl = eu(4), kpe = eu(5), Rpe = eu(6);
lb.range;
ig.range;
Dpe.range;
Ppe.range;
sl.range;
kpe.range;
Rpe.range;
var vk = Fr(function(e) {
  e.setDate(1), e.setHours(0, 0, 0, 0);
}, function(e, t) {
  e.setMonth(e.getMonth() + t);
}, function(e, t) {
  return t.getMonth() - e.getMonth() + (t.getFullYear() - e.getFullYear()) * 12;
}, function(e) {
  return e.getMonth();
});
vk.range;
var to = Fr(function(e) {
  e.setMonth(0, 1), e.setHours(0, 0, 0, 0);
}, function(e, t) {
  e.setFullYear(e.getFullYear() + t);
}, function(e, t) {
  return t.getFullYear() - e.getFullYear();
}, function(e) {
  return e.getFullYear();
});
to.every = function(e) {
  return !isFinite(e = Math.floor(e)) || !(e > 0) ? null : Fr(function(t) {
    t.setFullYear(Math.floor(t.getFullYear() / e) * e), t.setMonth(0, 1), t.setHours(0, 0, 0, 0);
  }, function(t, r) {
    t.setFullYear(t.getFullYear() + r * e);
  });
};
to.range;
var gk = Fr(function(e) {
  e.setUTCSeconds(0, 0);
}, function(e, t) {
  e.setTime(+e + t * Ns);
}, function(e, t) {
  return (t - e) / Ns;
}, function(e) {
  return e.getUTCMinutes();
});
gk.range;
var yk = Fr(function(e) {
  e.setUTCMinutes(0, 0, 0);
}, function(e, t) {
  e.setTime(+e + t * ng);
}, function(e, t) {
  return (t - e) / ng;
}, function(e) {
  return e.getUTCHours();
});
yk.range;
var wd = Fr(function(e) {
  e.setUTCHours(0, 0, 0, 0);
}, function(e, t) {
  e.setUTCDate(e.getUTCDate() + t);
}, function(e, t) {
  return (t - e) / JH;
}, function(e) {
  return e.getUTCDate() - 1;
});
wd.range;
function tu(e) {
  return Fr(function(t) {
    t.setUTCDate(t.getUTCDate() - (t.getUTCDay() + 7 - e) % 7), t.setUTCHours(0, 0, 0, 0);
  }, function(t, r) {
    t.setUTCDate(t.getUTCDate() + r * 7);
  }, function(t, r) {
    return (r - t) / eY;
  });
}
var cb = tu(0), ag = tu(1), Mpe = tu(2), Npe = tu(3), ul = tu(4), Ipe = tu(5), Fpe = tu(6);
cb.range;
ag.range;
Mpe.range;
Npe.range;
ul.range;
Ipe.range;
Fpe.range;
var bk = Fr(function(e) {
  e.setUTCDate(1), e.setUTCHours(0, 0, 0, 0);
}, function(e, t) {
  e.setUTCMonth(e.getUTCMonth() + t);
}, function(e, t) {
  return t.getUTCMonth() - e.getUTCMonth() + (t.getUTCFullYear() - e.getUTCFullYear()) * 12;
}, function(e) {
  return e.getUTCMonth();
});
bk.range;
var ro = Fr(function(e) {
  e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0);
}, function(e, t) {
  e.setUTCFullYear(e.getUTCFullYear() + t);
}, function(e, t) {
  return t.getUTCFullYear() - e.getUTCFullYear();
}, function(e) {
  return e.getUTCFullYear();
});
ro.every = function(e) {
  return !isFinite(e = Math.floor(e)) || !(e > 0) ? null : Fr(function(t) {
    t.setUTCFullYear(Math.floor(t.getUTCFullYear() / e) * e), t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0);
  }, function(t, r) {
    t.setUTCFullYear(t.getUTCFullYear() + r * e);
  });
};
ro.range;
function aC(e) {
  if (0 <= e.y && e.y < 100) {
    var t = new Date(-1, e.m, e.d, e.H, e.M, e.S, e.L);
    return t.setFullYear(e.y), t;
  }
  return new Date(e.y, e.m, e.d, e.H, e.M, e.S, e.L);
}
function oC(e) {
  if (0 <= e.y && e.y < 100) {
    var t = new Date(Date.UTC(-1, e.m, e.d, e.H, e.M, e.S, e.L));
    return t.setUTCFullYear(e.y), t;
  }
  return new Date(Date.UTC(e.y, e.m, e.d, e.H, e.M, e.S, e.L));
}
function ac(e, t, r) {
  return { y: e, m: t, d: r, H: 0, M: 0, S: 0, L: 0 };
}
function Lpe(e) {
  var t = e.dateTime, r = e.date, n = e.time, i = e.periods, o = e.days, l = e.shortDays, c = e.months, g = e.shortMonths, y = oc(i), C = sc(i), D = oc(o), x = sc(o), M = oc(l), N = sc(l), F = oc(c), z = sc(c), A = oc(g), u = sc(g), a = {
    a: w,
    A: P,
    b: I,
    B: L,
    c: null,
    d: kz,
    e: kz,
    f: ohe,
    g: vhe,
    G: yhe,
    H: nhe,
    I: ihe,
    j: ahe,
    L: tY,
    m: she,
    M: uhe,
    p: R,
    q,
    Q: Nz,
    s: Iz,
    S: lhe,
    u: che,
    U: fhe,
    V: dhe,
    w: phe,
    W: hhe,
    x: null,
    X: null,
    y: mhe,
    Y: ghe,
    Z: bhe,
    "%": Mz
  }, s = {
    a: B,
    A: j,
    b: k,
    B: U,
    c: null,
    d: Rz,
    e: Rz,
    f: whe,
    g: Mhe,
    G: Ihe,
    H: _he,
    I: Ehe,
    j: She,
    L: nY,
    m: Ohe,
    M: The,
    p: W,
    q: $,
    Q: Nz,
    s: Iz,
    S: Che,
    u: xhe,
    U: Ahe,
    V: Dhe,
    w: Phe,
    W: khe,
    x: null,
    X: null,
    y: Rhe,
    Y: Nhe,
    Z: Fhe,
    "%": Mz
  }, h = {
    a: d,
    A: p,
    b,
    B: m,
    c: v,
    d: Dz,
    e: Dz,
    f: Jpe,
    g: Az,
    G: xz,
    H: Pz,
    I: Pz,
    j: Kpe,
    L: Zpe,
    m: Gpe,
    M: Xpe,
    p: _,
    q: Ype,
    Q: the,
    s: rhe,
    S: Qpe,
    u: Bpe,
    U: Wpe,
    V: $pe,
    w: zpe,
    W: Vpe,
    x: O,
    X: T,
    y: Az,
    Y: xz,
    Z: Hpe,
    "%": ehe
  };
  a.x = E(r, a), a.X = E(n, a), a.c = E(t, a), s.x = E(r, s), s.X = E(n, s), s.c = E(t, s);
  function E(V, G) {
    return function(X) {
      var K = [], H = -1, Y = 0, Q = V.length, Z, J, ne;
      for (X instanceof Date || (X = /* @__PURE__ */ new Date(+X)); ++H < Q; )
        V.charCodeAt(H) === 37 && (K.push(V.slice(Y, H)), (J = Cz[Z = V.charAt(++H)]) != null ? Z = V.charAt(++H) : J = Z === "e" ? " " : "0", (ne = G[Z]) && (Z = ne(X, J)), K.push(Z), Y = H + 1);
      return K.push(V.slice(Y, H)), K.join("");
    };
  }
  function f(V, G) {
    return function(X) {
      var K = ac(1900, void 0, 1), H = S(K, V, X += "", 0), Y, Q;
      if (H != X.length) return null;
      if ("Q" in K) return new Date(K.Q);
      if ("s" in K) return new Date(K.s * 1e3 + ("L" in K ? K.L : 0));
      if (G && !("Z" in K) && (K.Z = 0), "p" in K && (K.H = K.H % 12 + K.p * 12), K.m === void 0 && (K.m = "q" in K ? K.q : 0), "V" in K) {
        if (K.V < 1 || K.V > 53) return null;
        "w" in K || (K.w = 1), "Z" in K ? (Y = oC(ac(K.y, 0, 1)), Q = Y.getUTCDay(), Y = Q > 4 || Q === 0 ? ag.ceil(Y) : ag(Y), Y = wd.offset(Y, (K.V - 1) * 7), K.y = Y.getUTCFullYear(), K.m = Y.getUTCMonth(), K.d = Y.getUTCDate() + (K.w + 6) % 7) : (Y = aC(ac(K.y, 0, 1)), Q = Y.getDay(), Y = Q > 4 || Q === 0 ? ig.ceil(Y) : ig(Y), Y = Sd.offset(Y, (K.V - 1) * 7), K.y = Y.getFullYear(), K.m = Y.getMonth(), K.d = Y.getDate() + (K.w + 6) % 7);
      } else ("W" in K || "U" in K) && ("w" in K || (K.w = "u" in K ? K.u % 7 : "W" in K ? 1 : 0), Q = "Z" in K ? oC(ac(K.y, 0, 1)).getUTCDay() : aC(ac(K.y, 0, 1)).getDay(), K.m = 0, K.d = "W" in K ? (K.w + 6) % 7 + K.W * 7 - (Q + 5) % 7 : K.w + K.U * 7 - (Q + 6) % 7);
      return "Z" in K ? (K.H += K.Z / 100 | 0, K.M += K.Z % 100, oC(K)) : aC(K);
    };
  }
  function S(V, G, X, K) {
    for (var H = 0, Y = G.length, Q = X.length, Z, J; H < Y; ) {
      if (K >= Q) return -1;
      if (Z = G.charCodeAt(H++), Z === 37) {
        if (Z = G.charAt(H++), J = h[Z in Cz ? G.charAt(H++) : Z], !J || (K = J(V, X, K)) < 0) return -1;
      } else if (Z != X.charCodeAt(K++))
        return -1;
    }
    return K;
  }
  function _(V, G, X) {
    var K = y.exec(G.slice(X));
    return K ? (V.p = C[K[0].toLowerCase()], X + K[0].length) : -1;
  }
  function d(V, G, X) {
    var K = M.exec(G.slice(X));
    return K ? (V.w = N[K[0].toLowerCase()], X + K[0].length) : -1;
  }
  function p(V, G, X) {
    var K = D.exec(G.slice(X));
    return K ? (V.w = x[K[0].toLowerCase()], X + K[0].length) : -1;
  }
  function b(V, G, X) {
    var K = A.exec(G.slice(X));
    return K ? (V.m = u[K[0].toLowerCase()], X + K[0].length) : -1;
  }
  function m(V, G, X) {
    var K = F.exec(G.slice(X));
    return K ? (V.m = z[K[0].toLowerCase()], X + K[0].length) : -1;
  }
  function v(V, G, X) {
    return S(V, t, G, X);
  }
  function O(V, G, X) {
    return S(V, r, G, X);
  }
  function T(V, G, X) {
    return S(V, n, G, X);
  }
  function w(V) {
    return l[V.getDay()];
  }
  function P(V) {
    return o[V.getDay()];
  }
  function I(V) {
    return g[V.getMonth()];
  }
  function L(V) {
    return c[V.getMonth()];
  }
  function R(V) {
    return i[+(V.getHours() >= 12)];
  }
  function q(V) {
    return 1 + ~~(V.getMonth() / 3);
  }
  function B(V) {
    return l[V.getUTCDay()];
  }
  function j(V) {
    return o[V.getUTCDay()];
  }
  function k(V) {
    return g[V.getUTCMonth()];
  }
  function U(V) {
    return c[V.getUTCMonth()];
  }
  function W(V) {
    return i[+(V.getUTCHours() >= 12)];
  }
  function $(V) {
    return 1 + ~~(V.getUTCMonth() / 3);
  }
  return {
    format: function(V) {
      var G = E(V += "", a);
      return G.toString = function() {
        return V;
      }, G;
    },
    parse: function(V) {
      var G = f(V += "", !1);
      return G.toString = function() {
        return V;
      }, G;
    },
    utcFormat: function(V) {
      var G = E(V += "", s);
      return G.toString = function() {
        return V;
      }, G;
    },
    utcParse: function(V) {
      var G = f(V += "", !0);
      return G.toString = function() {
        return V;
      }, G;
    }
  };
}
var Cz = { "-": "", _: " ", 0: "0" }, Lr = /^\s*\d+/, jpe = /^%/, Upe = /[\\^$*+?|[\]().{}]/g;
function Nt(e, t, r) {
  var n = e < 0 ? "-" : "", i = (n ? -e : e) + "", o = i.length;
  return n + (o < r ? new Array(r - o + 1).join(t) + i : i);
}
function qpe(e) {
  return e.replace(Upe, "\\$&");
}
function oc(e) {
  return new RegExp("^(?:" + e.map(qpe).join("|") + ")", "i");
}
function sc(e) {
  for (var t = {}, r = -1, n = e.length; ++r < n; ) t[e[r].toLowerCase()] = r;
  return t;
}
function zpe(e, t, r) {
  var n = Lr.exec(t.slice(r, r + 1));
  return n ? (e.w = +n[0], r + n[0].length) : -1;
}
function Bpe(e, t, r) {
  var n = Lr.exec(t.slice(r, r + 1));
  return n ? (e.u = +n[0], r + n[0].length) : -1;
}
function Wpe(e, t, r) {
  var n = Lr.exec(t.slice(r, r + 2));
  return n ? (e.U = +n[0], r + n[0].length) : -1;
}
function $pe(e, t, r) {
  var n = Lr.exec(t.slice(r, r + 2));
  return n ? (e.V = +n[0], r + n[0].length) : -1;
}
function Vpe(e, t, r) {
  var n = Lr.exec(t.slice(r, r + 2));
  return n ? (e.W = +n[0], r + n[0].length) : -1;
}
function xz(e, t, r) {
  var n = Lr.exec(t.slice(r, r + 4));
  return n ? (e.y = +n[0], r + n[0].length) : -1;
}
function Az(e, t, r) {
  var n = Lr.exec(t.slice(r, r + 2));
  return n ? (e.y = +n[0] + (+n[0] > 68 ? 1900 : 2e3), r + n[0].length) : -1;
}
function Hpe(e, t, r) {
  var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r, r + 6));
  return n ? (e.Z = n[1] ? 0 : -(n[2] + (n[3] || "00")), r + n[0].length) : -1;
}
function Ype(e, t, r) {
  var n = Lr.exec(t.slice(r, r + 1));
  return n ? (e.q = n[0] * 3 - 3, r + n[0].length) : -1;
}
function Gpe(e, t, r) {
  var n = Lr.exec(t.slice(r, r + 2));
  return n ? (e.m = n[0] - 1, r + n[0].length) : -1;
}
function Dz(e, t, r) {
  var n = Lr.exec(t.slice(r, r + 2));
  return n ? (e.d = +n[0], r + n[0].length) : -1;
}
function Kpe(e, t, r) {
  var n = Lr.exec(t.slice(r, r + 3));
  return n ? (e.m = 0, e.d = +n[0], r + n[0].length) : -1;
}
function Pz(e, t, r) {
  var n = Lr.exec(t.slice(r, r + 2));
  return n ? (e.H = +n[0], r + n[0].length) : -1;
}
function Xpe(e, t, r) {
  var n = Lr.exec(t.slice(r, r + 2));
  return n ? (e.M = +n[0], r + n[0].length) : -1;
}
function Qpe(e, t, r) {
  var n = Lr.exec(t.slice(r, r + 2));
  return n ? (e.S = +n[0], r + n[0].length) : -1;
}
function Zpe(e, t, r) {
  var n = Lr.exec(t.slice(r, r + 3));
  return n ? (e.L = +n[0], r + n[0].length) : -1;
}
function Jpe(e, t, r) {
  var n = Lr.exec(t.slice(r, r + 6));
  return n ? (e.L = Math.floor(n[0] / 1e3), r + n[0].length) : -1;
}
function ehe(e, t, r) {
  var n = jpe.exec(t.slice(r, r + 1));
  return n ? r + n[0].length : -1;
}
function the(e, t, r) {
  var n = Lr.exec(t.slice(r));
  return n ? (e.Q = +n[0], r + n[0].length) : -1;
}
function rhe(e, t, r) {
  var n = Lr.exec(t.slice(r));
  return n ? (e.s = +n[0], r + n[0].length) : -1;
}
function kz(e, t) {
  return Nt(e.getDate(), t, 2);
}
function nhe(e, t) {
  return Nt(e.getHours(), t, 2);
}
function ihe(e, t) {
  return Nt(e.getHours() % 12 || 12, t, 2);
}
function ahe(e, t) {
  return Nt(1 + Sd.count(to(e), e), t, 3);
}
function tY(e, t) {
  return Nt(e.getMilliseconds(), t, 3);
}
function ohe(e, t) {
  return tY(e, t) + "000";
}
function she(e, t) {
  return Nt(e.getMonth() + 1, t, 2);
}
function uhe(e, t) {
  return Nt(e.getMinutes(), t, 2);
}
function lhe(e, t) {
  return Nt(e.getSeconds(), t, 2);
}
function che(e) {
  var t = e.getDay();
  return t === 0 ? 7 : t;
}
function fhe(e, t) {
  return Nt(lb.count(to(e) - 1, e), t, 2);
}
function rY(e) {
  var t = e.getDay();
  return t >= 4 || t === 0 ? sl(e) : sl.ceil(e);
}
function dhe(e, t) {
  return e = rY(e), Nt(sl.count(to(e), e) + (to(e).getDay() === 4), t, 2);
}
function phe(e) {
  return e.getDay();
}
function hhe(e, t) {
  return Nt(ig.count(to(e) - 1, e), t, 2);
}
function mhe(e, t) {
  return Nt(e.getFullYear() % 100, t, 2);
}
function vhe(e, t) {
  return e = rY(e), Nt(e.getFullYear() % 100, t, 2);
}
function ghe(e, t) {
  return Nt(e.getFullYear() % 1e4, t, 4);
}
function yhe(e, t) {
  var r = e.getDay();
  return e = r >= 4 || r === 0 ? sl(e) : sl.ceil(e), Nt(e.getFullYear() % 1e4, t, 4);
}
function bhe(e) {
  var t = e.getTimezoneOffset();
  return (t > 0 ? "-" : (t *= -1, "+")) + Nt(t / 60 | 0, "0", 2) + Nt(t % 60, "0", 2);
}
function Rz(e, t) {
  return Nt(e.getUTCDate(), t, 2);
}
function _he(e, t) {
  return Nt(e.getUTCHours(), t, 2);
}
function Ehe(e, t) {
  return Nt(e.getUTCHours() % 12 || 12, t, 2);
}
function She(e, t) {
  return Nt(1 + wd.count(ro(e), e), t, 3);
}
function nY(e, t) {
  return Nt(e.getUTCMilliseconds(), t, 3);
}
function whe(e, t) {
  return nY(e, t) + "000";
}
function Ohe(e, t) {
  return Nt(e.getUTCMonth() + 1, t, 2);
}
function The(e, t) {
  return Nt(e.getUTCMinutes(), t, 2);
}
function Che(e, t) {
  return Nt(e.getUTCSeconds(), t, 2);
}
function xhe(e) {
  var t = e.getUTCDay();
  return t === 0 ? 7 : t;
}
function Ahe(e, t) {
  return Nt(cb.count(ro(e) - 1, e), t, 2);
}
function iY(e) {
  var t = e.getUTCDay();
  return t >= 4 || t === 0 ? ul(e) : ul.ceil(e);
}
function Dhe(e, t) {
  return e = iY(e), Nt(ul.count(ro(e), e) + (ro(e).getUTCDay() === 4), t, 2);
}
function Phe(e) {
  return e.getUTCDay();
}
function khe(e, t) {
  return Nt(ag.count(ro(e) - 1, e), t, 2);
}
function Rhe(e, t) {
  return Nt(e.getUTCFullYear() % 100, t, 2);
}
function Mhe(e, t) {
  return e = iY(e), Nt(e.getUTCFullYear() % 100, t, 2);
}
function Nhe(e, t) {
  return Nt(e.getUTCFullYear() % 1e4, t, 4);
}
function Ihe(e, t) {
  var r = e.getUTCDay();
  return e = r >= 4 || r === 0 ? ul(e) : ul.ceil(e), Nt(e.getUTCFullYear() % 1e4, t, 4);
}
function Fhe() {
  return "+0000";
}
function Mz() {
  return "%";
}
function Nz(e) {
  return +e;
}
function Iz(e) {
  return Math.floor(+e / 1e3);
}
var gu, _k, Ek, Sk, wk;
aY({
  dateTime: "%x, %X",
  date: "%-m/%-d/%Y",
  time: "%-I:%M:%S %p",
  periods: ["AM", "PM"],
  days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
  shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
  months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
  shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
});
function aY(e) {
  return gu = Lpe(e), _k = gu.format, Ek = gu.parse, Sk = gu.utcFormat, wk = gu.utcParse, gu;
}
function Ok(e, t, r) {
  t = t || {};
  var n = ZH(t.type || "json");
  return n || We("Unknown data format type: " + t.type), e = n(e, t), t.parse && Lhe(e, t.parse, r), e.hasOwnProperty("columns") && delete e.columns, e;
}
function Lhe(e, t, r) {
  if (e.length) {
    r = r || Ek;
    var n = e.columns || Object.keys(e[0]), i, o, l, c, g, y, C;
    for (t === "auto" && (t = YH(e, n)), n = Object.keys(t), i = n.map(function(D) {
      var x = t[D], M, N;
      if (x && (x.indexOf("date:") === 0 || x.indexOf("utc:") === 0))
        return M = x.split(/:(.+)?/, 2), N = M[1], (N[0] === "'" && N[N.length - 1] === "'" || N[0] === '"' && N[N.length - 1] === '"') && (N = N.slice(1, -1)), M[0] === "utc" ? wk(N) : r(N);
      if (!kA[x])
        throw Error("Illegal format pattern: " + D + ":" + x);
      return kA[x];
    }), c = 0, y = e.length, C = n.length; c < y; ++c)
      for (o = e[c], g = 0; g < C; ++g)
        l = n[g], o[l] = i[g](o[l]);
  }
}
function jhe(e, t, r) {
  return this.pulse(e, this.changeset().insert(Ok(t, r)));
}
function Uhe(e) {
  var t, r, n = new Promise(function(i, o) {
    t = function() {
      i(e);
    }, r = o;
  });
  return n.requests = 0, n.done = function() {
    --n.requests === 0 && e.runAfter(function() {
      e._pending = null;
      try {
        e.run(), e._pending ? e._pending.then(t) : t();
      } catch (i) {
        r(i);
      }
    });
  }, e._pending = n;
}
function qhe(e, t, r) {
  var n = this, i = 0, o = n._pending || Uhe(n);
  return o.requests += 1, n.loader().load(t, { context: "dataflow" }).then(
    function(l) {
      return Ok(l, r);
    },
    function(l) {
      i = -1, n.error("Loading failed", t, l);
    }
  ).catch(
    function(l) {
      i = -2, n.error("Data ingestion failed", t, l);
    }
  ).then(function(l) {
    return n.pulse(e, n.changeset().remove(co).insert(l || [])), o.done(), i;
  });
}
var zhe = { skip: !0 };
function Bhe(e, t, r, n, i) {
  var o = e instanceof Jt ? $he : Whe;
  return o(this, e, t, r, n, i), this;
}
function Whe(e, t, r, n, i, o) {
  var l = Vt({}, o, zhe), c, g;
  kt(r) || (r = Wi(r)), n === void 0 ? c = function(y) {
    e.touch(r(y));
  } : kt(n) ? (g = new Jt(null, n, i, !1), c = function(y) {
    var C, D = r(y);
    g.evaluate(y), WH(C = g.value) ? e.pulse(D, C, o) : e.update(D, C, l);
  }) : c = function(y) {
    e.update(r(y), n, l);
  }, t.apply(c);
}
function $he(e, t, r, n, i, o) {
  var l, c;
  n === void 0 ? c = r : (l = kt(n) ? n : Wi(n), n = r ? function(g, y) {
    var C = l(g, y);
    return r.skip() || (r.skip(C !== this.value).value = C), C;
  } : l, c = new Jt(null, n, i, !1), c.modified(o && o.force), c.rank = 0, r && (c.skip(!0), c.value = r.value, c.targets().add(r))), t.targets().add(c);
}
function Vhe(e) {
  e.rank = ++this._rank;
}
function Hhe(e) {
  for (var t = [e], r, n, i; t.length; )
    if (this.rank(r = t.pop()), n = r._targets)
      for (i = n.length; --i >= 0; )
        t.push(r = n[i]), r === e && We("Cycle detected in dataflow graph.");
}
var og = {}, Ma = 1, Ko = 2, fo = 4, Yhe = Ma | Ko, oY = Ma | fo, ll = Ma | Ko | fo, sY = 8, Od = 16, uY = 32, lY = 64;
function Xo(e, t, r) {
  this.dataflow = e, this.stamp = t ?? -1, this.add = [], this.rem = [], this.mod = [], this.fields = null, this.encode = r || null;
}
var mr = Xo.prototype;
mr.StopPropagation = og;
mr.ADD = Ma;
mr.REM = Ko;
mr.MOD = fo;
mr.ADD_REM = Yhe;
mr.ADD_MOD = oY;
mr.ALL = ll;
mr.REFLOW = sY;
mr.SOURCE = Od;
mr.NO_SOURCE = uY;
mr.NO_FIELDS = lY;
mr.fork = function(e) {
  return new Xo(this.dataflow).init(this, e);
};
mr.clone = function() {
  var e = this.fork(ll);
  return e.add = e.add.slice(), e.rem = e.rem.slice(), e.mod = e.mod.slice(), e.source && (e.source = e.source.slice()), e.materialize(ll | Od);
};
mr.addAll = function() {
  var e = this;
  return !this.source || this.source.length === this.add.length || (e = new Xo(this.dataflow).init(this), e.add = e.source), e;
};
mr.init = function(e, t) {
  var r = this;
  return r.stamp = e.stamp, r.encode = e.encode, e.fields && !(t & lY) && (r.fields = e.fields), t & Ma ? (r.addF = e.addF, r.add = e.add) : (r.addF = null, r.add = []), t & Ko ? (r.remF = e.remF, r.rem = e.rem) : (r.remF = null, r.rem = []), t & fo ? (r.modF = e.modF, r.mod = e.mod) : (r.modF = null, r.mod = []), t & uY ? (r.srcF = null, r.source = null) : (r.srcF = e.srcF, r.source = e.source), r;
};
mr.runAfter = function(e) {
  this.dataflow.runAfter(e);
};
mr.changed = function(e) {
  var t = e || ll;
  return t & Ma && this.add.length || t & Ko && this.rem.length || t & fo && this.mod.length;
};
mr.reflow = function(e) {
  if (e) return this.fork(ll).reflow();
  var t = this.add.length, r = this.source && this.source.length;
  return r && r !== t && (this.mod = this.source, t && this.filter(fo, cY(this, Ma))), this;
};
mr.modifies = function(e) {
  var t = mt(e), r = this.fields || (this.fields = {});
  return t.forEach(function(n) {
    r[n] = !0;
  }), this;
};
mr.modified = function(e) {
  var t = this.fields;
  return this.mod.length && t ? arguments.length ? Et(e) ? e.some(function(r) {
    return t[r];
  }) : t[e] : !!t : !1;
};
mr.filter = function(e, t) {
  var r = this;
  return e & Ma && (r.addF = hh(r.addF, t)), e & Ko && (r.remF = hh(r.remF, t)), e & fo && (r.modF = hh(r.modF, t)), e & Od && (r.srcF = hh(r.srcF, t)), r;
};
function hh(e, t) {
  return e ? function(r, n) {
    return e(r, n) && t(r, n);
  } : t;
}
mr.materialize = function(e) {
  e = e || ll;
  var t = this;
  return e & Ma && t.addF && (t.add = sC(t.add, t.addF), t.addF = null), e & Ko && t.remF && (t.rem = sC(t.rem, t.remF), t.remF = null), e & fo && t.modF && (t.mod = sC(t.mod, t.modF), t.modF = null), e & Od && t.srcF && (t.source = t.source.filter(t.srcF), t.srcF = null), t;
};
function sC(e, t) {
  var r = [];
  return Wa(e, t, function(n) {
    r.push(n);
  }), r;
}
function cY(e, t) {
  var r = {};
  return e.visit(t, function(n) {
    r[st(n)] = 1;
  }), function(n) {
    return r[st(n)] ? null : n;
  };
}
mr.visit = function(e, t) {
  var r = this, n = t, i, o;
  return e & Od ? (Wa(r.source, r.srcF, n), r) : (e & Ma && Wa(r.add, r.addF, n), e & Ko && Wa(r.rem, r.remF, n), e & fo && Wa(r.mod, r.modF, n), e & sY && (i = r.source) && (o = r.add.length + r.mod.length, o === i.length || (o ? Wa(i, cY(r, oY), n) : Wa(i, r.srcF, n))), r);
};
function Tk(e, t, r, n) {
  var i = this, o = 0, l, c, g, y, C;
  for (this.dataflow = e, this.stamp = t, this.fields = null, this.encode = n || null, this.pulses = r, g = 0, y = r.length; g < y; ++g)
    if (l = r[g], l.stamp === t) {
      if (l.fields) {
        c = i.fields || (i.fields = {});
        for (C in l.fields)
          c[C] = 1;
      }
      l.changed(i.ADD) && (o |= i.ADD), l.changed(i.REM) && (o |= i.REM), l.changed(i.MOD) && (o |= i.MOD);
    }
  this.changes = o;
}
var jl = Ke(Tk, Xo);
jl.fork = function(e) {
  var t = new Xo(this.dataflow).init(this, e & this.NO_FIELDS);
  return e !== void 0 && (e & t.ADD && this.visit(t.ADD, function(r) {
    return t.add.push(r);
  }), e & t.REM && this.visit(t.REM, function(r) {
    return t.rem.push(r);
  }), e & t.MOD && this.visit(t.MOD, function(r) {
    return t.mod.push(r);
  })), t;
};
jl.changed = function(e) {
  return this.changes & e;
};
jl.modified = function(e) {
  var t = this, r = t.fields;
  return r && t.changes & t.MOD ? Et(e) ? e.some(function(n) {
    return r[n];
  }) : r[e] : 0;
};
jl.filter = function() {
  We("MultiPulse does not support filtering.");
};
jl.materialize = function() {
  We("MultiPulse does not support materialization.");
};
jl.visit = function(e, t) {
  var r = this, n = r.pulses, i = n.length, o = 0;
  if (e & r.SOURCE)
    for (; o < i; ++o)
      n[o].visit(e, t);
  else
    for (; o < i; ++o)
      n[o].stamp === r.stamp && n[o].visit(e, t);
  return r;
};
function Ghe(e) {
  var t = this, r = 0, n = t.logLevel(), i, o, l, c;
  if (t._pending)
    return t.info("Awaiting requests, delaying dataflow run."), 0;
  if (t._pulse)
    return t.error("Dataflow invoked recursively. Use the runAfter method to queue invocation."), 0;
  if (!t._touched.length)
    return t.info("Dataflow invoked, but nothing to do."), 0;
  t._pulse = new Xo(t, ++t._clock, e), n >= qf && (l = Date.now(), t.debug("-- START PROPAGATION (" + t._clock + ") -----")), t._touched.forEach(function(y) {
    t._enqueue(y, !0);
  }), t._touched = nb(Fl);
  try {
    for (; t._heap.size() > 0; ) {
      if (i = t._heap.pop(), i.rank !== i.qrank) {
        t._enqueue(i, !0);
        continue;
      }
      o = i.run(t._getPulse(i, e)), n >= Gy && t.debug(i.id, o === og ? "STOP" : o, i), o !== og && (t._pulse = o, i._targets && i._targets.forEach(function(y) {
        t._enqueue(y);
      })), ++r;
    }
  } catch (y) {
    c = y;
  }
  if (t._pulses = {}, t._pulse = null, n >= qf && (l = Date.now() - l, t.info("> Pulse " + t._clock + ": " + r + " operators; " + l + "ms")), c && (t._postrun = [], t.error(c)), t._onrun)
    try {
      t._onrun(t, r, c);
    } catch (y) {
      t.error(y);
    }
  if (t._postrun.length) {
    var g = t._postrun;
    t._postrun = [], g.sort(function(y, C) {
      return C.priority - y.priority;
    }).forEach(function(y) {
      fY(t, y.callback);
    });
  }
  return this;
}
function fY(e, t) {
  try {
    t(e);
  } catch (r) {
    e.error(r);
  }
}
function Khe() {
  return this._pending || this.run() && this._pending || Promise.resolve(this);
}
function Xhe(e, t, r) {
  this._pulse || t ? this._postrun.push({
    priority: r || 0,
    callback: e
  }) : fY(this, e);
}
function Qhe(e, t) {
  var r = !this._pulses[e.id];
  r && (this._pulses[e.id] = this._pulse), (r || t) && (e.qrank = e.rank, this._heap.push(e));
}
function Zhe(e, t) {
  var r = e.source, n = this._clock, i;
  return r && Et(r) ? (i = r.map(function(o) {
    return o.pulse;
  }), new Tk(this, n, i, t)) : (i = this._pulses[e.id], r && (r = r.pulse, !r || r === og ? i.source = [] : r.stamp === n && i.target !== e ? i = r : i.source = r.source), i);
}
var Ck = { skip: !1, force: !1 };
function Jhe(e, t) {
  var r = t || Ck;
  return this._pulse ? this._enqueue(e) : this._touched.add(e), r.skip && e.skip(!0), this;
}
function eme(e, t, r) {
  var n = r || Ck;
  return (e.set(t) || n.force) && this.touch(e, n), this;
}
function tme(e, t, r) {
  this.touch(e, r || Ck);
  var n = new Xo(this, this._clock + (this._pulse ? 0 : 1)), i = e.pulse && e.pulse.source || [];
  return n.target = e, this._pulses[e.id] = t.pulse(n, i), this;
}
function dY(e) {
  this.cmp = e, this.nodes = [];
}
var ru = dY.prototype;
ru.size = function() {
  return this.nodes.length;
};
ru.clear = function() {
  return this.nodes = [], this;
};
ru.peek = function() {
  return this.nodes[0];
};
ru.push = function(e) {
  var t = this.nodes;
  return t.push(e), pY(t, 0, t.length - 1, this.cmp);
};
ru.pop = function() {
  var e = this.nodes, t = e.pop(), r;
  return e.length ? (r = e[0], e[0] = t, xk(e, 0, this.cmp)) : r = t, r;
};
ru.replace = function(e) {
  var t = this.nodes, r = t[0];
  return t[0] = e, xk(t, 0, this.cmp), r;
};
ru.pushpop = function(e) {
  var t = this.nodes, r = t[0];
  return t.length && this.cmp(r, e) < 0 && (t[0] = e, e = r, xk(t, 0, this.cmp)), e;
};
function pY(e, t, r, n) {
  var i, o, l;
  for (i = e[r]; r > t; ) {
    if (l = r - 1 >> 1, o = e[l], n(i, o) < 0) {
      e[r] = o, r = l;
      continue;
    }
    break;
  }
  return e[r] = i;
}
function xk(e, t, r) {
  for (var n = t, i = e.length, o = e[t], l = 2 * t + 1, c; l < i; )
    c = l + 1, c < i && r(e[l], e[c]) >= 0 && (l = c), e[t] = e[l], t = l, l = 2 * t + 1;
  return e[t] = o, pY(e, n, t, r);
}
function Ul() {
  this._log = JP(), this.logLevel(Yy), this._clock = 0, this._rank = 0;
  try {
    this._loader = ub();
  } catch {
  }
  this._touched = nb(Fl), this._pulses = {}, this._pulse = null, this._heap = new dY(function(e, t) {
    return e.qrank - t.qrank;
  }), this._postrun = [];
}
var lr = Ul.prototype;
lr.stamp = function() {
  return this._clock;
};
lr.loader = function(e) {
  return arguments.length ? (this._loader = e, this) : this._loader;
};
lr.cleanThreshold = 1e4;
lr.add = spe;
lr.connect = upe;
lr.rank = Vhe;
lr.rerank = Hhe;
lr.pulse = tme;
lr.touch = Jhe;
lr.update = eme;
lr.changeset = Ll;
lr.ingest = jhe;
lr.request = qhe;
lr.events = cpe;
lr.on = Bhe;
lr.run = Ghe;
lr.runAsync = Khe;
lr.runAfter = Xhe;
lr._enqueue = Qhe;
lr._getPulse = Zhe;
function Td(e) {
  return function() {
    return this._log[e].apply(this, arguments);
  };
}
lr.error = Td("error");
lr.warn = Td("warn");
lr.info = Td("info");
lr.debug = Td("debug");
lr.logLevel = Td("level");
function Ue(e, t) {
  Jt.call(this, e, null, t);
}
var Ak = Ke(Ue, Jt);
Ak.run = function(e) {
  if (e.stamp <= this.stamp) return e.StopPropagation;
  var t;
  return this.skip() ? this.skip(!1) : t = this.evaluate(e), t = t || e, t !== e.StopPropagation && (this.pulse = t), this.stamp = e.stamp, t;
};
Ak.evaluate = function(e) {
  var t = this.marshall(e.stamp), r = this.transform(t, e);
  return t.clear(), r;
};
Ak.transform = function() {
};
var cl = {};
function hY(e) {
  var t = mY(e);
  return t && t.Definition || null;
}
function mY(e) {
  return e = e && e.toLowerCase(), cl.hasOwnProperty(e) ? cl[e] : null;
}
function rme(e) {
  return function(t) {
    for (var r = e.length, n = 1, i = String(e[0](t)); n < r; ++n)
      i += "|" + e[n](t);
    return i;
  };
}
function Dk(e) {
  return !e || !e.length ? function() {
    return "";
  } : e.length === 1 ? e[0] : rme(e);
}
function vY(e, t, r) {
  return r || e + (t ? "_" + t : "");
}
var Pk = {
  values: pr({
    name: "values",
    init: "cell.store = true;",
    set: "cell.data.values()",
    idx: -1
  }),
  count: pr({
    name: "count",
    set: "cell.num"
  }),
  __count__: pr({
    name: "count",
    set: "this.missing + this.valid"
  }),
  missing: pr({
    name: "missing",
    set: "this.missing"
  }),
  valid: pr({
    name: "valid",
    set: "this.valid"
  }),
  sum: pr({
    name: "sum",
    init: "this.sum = 0;",
    add: "this.sum += +v;",
    rem: "this.sum -= v;",
    set: "this.sum"
  }),
  mean: pr({
    name: "mean",
    init: "this.mean = 0;",
    add: "var d = v - this.mean; this.mean += d / this.valid;",
    rem: "var d = v - this.mean; this.mean -= this.valid ? d / this.valid : this.mean;",
    set: "this.valid ? this.mean : undefined"
  }),
  average: pr({
    name: "average",
    set: "this.valid ? this.mean : undefined",
    req: ["mean"],
    idx: 1
  }),
  variance: pr({
    name: "variance",
    init: "this.dev = 0;",
    add: "this.dev += d * (v - this.mean);",
    rem: "this.dev -= d * (v - this.mean);",
    set: "this.valid > 1 ? this.dev / (this.valid-1) : undefined",
    req: ["mean"],
    idx: 1
  }),
  variancep: pr({
    name: "variancep",
    set: "this.valid > 1 ? this.dev / this.valid : undefined",
    req: ["variance"],
    idx: 2
  }),
  stdev: pr({
    name: "stdev",
    set: "this.valid > 1 ? Math.sqrt(this.dev / (this.valid-1)) : undefined",
    req: ["variance"],
    idx: 2
  }),
  stdevp: pr({
    name: "stdevp",
    set: "this.valid > 1 ? Math.sqrt(this.dev / this.valid) : undefined",
    req: ["variance"],
    idx: 2
  }),
  stderr: pr({
    name: "stderr",
    set: "this.valid > 1 ? Math.sqrt(this.dev / (this.valid * (this.valid-1))) : undefined",
    req: ["variance"],
    idx: 2
  }),
  distinct: pr({
    name: "distinct",
    set: "cell.data.distinct(this.get)",
    req: ["values"],
    idx: 3
  }),
  ci0: pr({
    name: "ci0",
    set: "cell.data.ci0(this.get)",
    req: ["values"],
    idx: 3
  }),
  ci1: pr({
    name: "ci1",
    set: "cell.data.ci1(this.get)",
    req: ["values"],
    idx: 3
  }),
  median: pr({
    name: "median",
    set: "cell.data.q2(this.get)",
    req: ["values"],
    idx: 3
  }),
  q1: pr({
    name: "q1",
    set: "cell.data.q1(this.get)",
    req: ["values"],
    idx: 3
  }),
  q3: pr({
    name: "q3",
    set: "cell.data.q3(this.get)",
    req: ["values"],
    idx: 3
  }),
  argmin: pr({
    name: "argmin",
    init: "this.argmin = undefined;",
    add: "if (v < this.min) this.argmin = t;",
    rem: "if (v <= this.min) this.argmin = undefined;",
    set: "this.argmin || cell.data.argmin(this.get)",
    req: ["min"],
    str: ["values"],
    idx: 3
  }),
  argmax: pr({
    name: "argmax",
    init: "this.argmax = undefined;",
    add: "if (v > this.max) this.argmax = t;",
    rem: "if (v >= this.max) this.argmax = undefined;",
    set: "this.argmax || cell.data.argmax(this.get)",
    req: ["max"],
    str: ["values"],
    idx: 3
  }),
  min: pr({
    name: "min",
    init: "this.min = undefined;",
    add: "if (v < this.min || this.min === undefined) this.min = v;",
    rem: "if (v <= this.min) this.min = NaN;",
    set: "this.min = (isNaN(this.min) ? cell.data.min(this.get) : this.min)",
    str: ["values"],
    idx: 4
  }),
  max: pr({
    name: "max",
    init: "this.max = undefined;",
    add: "if (v > this.max || this.max === undefined) this.max = v;",
    rem: "if (v >= this.max) this.max = NaN;",
    set: "this.max = (isNaN(this.max) ? cell.data.max(this.get) : this.max)",
    str: ["values"],
    idx: 4
  })
}, fb = Object.keys(Pk);
function gY(e, t) {
  return Pk[e](t);
}
function pr(e) {
  return function(t) {
    var r = Vt({ init: "", add: "", rem: "", idx: 0 }, e);
    return r.out = t || e.name, r;
  };
}
function yY(e, t) {
  return e.idx - t.idx;
}
function nme(e, t) {
  function r(l, c) {
    function g(y) {
      l[y] || r(l, l[y] = Pk[y]());
    }
    return c.req && c.req.forEach(g), c.str && c.str.forEach(g), l;
  }
  var n = e.reduce(
    r,
    e.reduce(function(l, c) {
      return l[c.name] = c, l;
    }, {})
  ), i = [], o;
  for (o in n) i.push(n[o]);
  return i.sort(yY);
}
function bY(e, t) {
  var r = t || Bi, n = nme(e), i = "var cell = this.cell; this.valid = 0; this.missing = 0;", o = "this.cell = cell; this.init();", l = "if(v==null){++this.missing; return;} if(v!==v) return; ++this.valid;", c = "if(v==null){--this.missing; return;} if(v!==v) return; --this.valid;", g = "var cell = this.cell;";
  return n.forEach(function(y) {
    i += y.init, l += y.add, c += y.rem;
  }), e.slice().sort(yY).forEach(function(y) {
    g += "t['" + y.out + "']=" + y.set + ";";
  }), g += "return t;", o = Function("cell", o), o.prototype.init = Function(i), o.prototype.add = Function("v", "t", l), o.prototype.rem = Function("v", "t", c), o.prototype.set = Function("t", g), o.prototype.get = r, o.fields = e.map(function(y) {
    return y.out;
  }), o;
}
function kk(e) {
  this._key = e ? Jn(e) : st, this.reset();
}
var Gr = kk.prototype;
Gr.reset = function() {
  this._add = [], this._rem = [], this._ext = null, this._get = null, this._q = null;
};
Gr.add = function(e) {
  this._add.push(e);
};
Gr.rem = function(e) {
  this._rem.push(e);
};
Gr.values = function() {
  if (this._get = null, this._rem.length === 0) return this._add;
  var e = this._add, t = this._rem, r = this._key, n = e.length, i = t.length, o = Array(n - i), l = {}, c, g, y;
  for (c = 0; c < i; ++c)
    l[r(t[c])] = 1;
  for (c = 0, g = 0; c < n; ++c)
    l[r(y = e[c])] ? l[r(y)] = 0 : o[g++] = y;
  return this._rem = [], this._add = o;
};
Gr.distinct = function(e) {
  for (var t = this.values(), r = t.length, n = {}, i = 0, o; --r >= 0; )
    o = e(t[r]) + "", n.hasOwnProperty(o) || (n[o] = 1, ++i);
  return i;
};
Gr.extent = function(e) {
  if (this._get !== e || !this._ext) {
    var t = this.values(), r = ak(t, e);
    this._ext = [t[r[0]], t[r[1]]], this._get = e;
  }
  return this._ext;
};
Gr.argmin = function(e) {
  return this.extent(e)[0] || {};
};
Gr.argmax = function(e) {
  return this.extent(e)[1] || {};
};
Gr.min = function(e) {
  var t = this.extent(e)[0];
  return t != null ? e(t) : void 0;
};
Gr.max = function(e) {
  var t = this.extent(e)[1];
  return t != null ? e(t) : void 0;
};
Gr.quartile = function(e) {
  return (this._get !== e || !this._q) && (this._q = Z$(this.values(), e), this._get = e), this._q;
};
Gr.q1 = function(e) {
  return this.quartile(e)[0];
};
Gr.q2 = function(e) {
  return this.quartile(e)[1];
};
Gr.q3 = function(e) {
  return this.quartile(e)[2];
};
Gr.ci = function(e) {
  return (this._get !== e || !this._ci) && (this._ci = J$(this.values(), 1e3, 0.05, e), this._get = e), this._ci;
};
Gr.ci0 = function(e) {
  return this.ci(e)[0];
};
Gr.ci1 = function(e) {
  return this.ci(e)[1];
};
function nu(e) {
  Ue.call(this, null, e), this._adds = [], this._mods = [], this._alen = 0, this._mlen = 0, this._drop = !0, this._cross = !1, this._dims = [], this._dnames = [], this._measures = [], this._countOnly = !1, this._counts = null, this._prev = null, this._inputs = null, this._outputs = null;
}
nu.Definition = {
  type: "Aggregate",
  metadata: { generates: !0, changes: !0 },
  params: [
    { name: "groupby", type: "field", array: !0 },
    { name: "ops", type: "enum", array: !0, values: fb },
    { name: "fields", type: "field", null: !0, array: !0 },
    { name: "as", type: "string", null: !0, array: !0 },
    { name: "drop", type: "boolean", default: !0 },
    { name: "cross", type: "boolean", default: !1 },
    { name: "key", type: "field" }
  ]
};
var Ki = Ke(nu, Ue);
Ki.transform = function(e, t) {
  var r = this, n = t.fork(t.NO_SOURCE | t.NO_FIELDS), i;
  return this.stamp = n.stamp, this.value && ((i = e.modified()) || t.modified(this._inputs)) ? (this._prev = this.value, this.value = i ? this.init(e) : {}, t.visit(t.SOURCE, function(o) {
    r.add(o);
  })) : (this.value = this.value || this.init(e), t.visit(t.REM, function(o) {
    r.rem(o);
  }), t.visit(t.ADD, function(o) {
    r.add(o);
  })), n.modifies(this._outputs), r._drop = e.drop !== !1, e.cross && r._dims.length > 1 && (r._drop = !1, this.cross()), r.changes(n);
};
Ki.cross = function() {
  var e = this, t = e.value, r = e._dnames, n = r.map(function() {
    return {};
  }), i = r.length;
  function o(c) {
    var g, y, C, D;
    for (g in c)
      for (C = c[g].tuple, y = 0; y < i; ++y)
        n[y][D = C[r[y]]] = D;
  }
  o(e._prev), o(t);
  function l(c, g, y) {
    var C = r[y], D = n[y++], x, M;
    for (x in D)
      g[C] = D[x], M = c ? c + "|" + x : x, y < i ? l(M, g, y) : t[M] || e.cell(M, g);
  }
  l("", {}, 0);
};
Ki.init = function(e) {
  var t = this._inputs = [], r = this._outputs = [], n = {};
  function i(z) {
    for (var A = mt(bn(z)), u = 0, a = A.length, s; u < a; ++u)
      n[s = A[u]] || (n[s] = 1, t.push(s));
  }
  this._dims = mt(e.groupby), this._dnames = this._dims.map(function(z) {
    var A = Qn(z);
    return i(z), r.push(A), A;
  }), this.cellkey = e.key ? e.key : Dk(this._dims), this._countOnly = !0, this._counts = [], this._measures = [];
  var o = e.fields || [null], l = e.ops || ["count"], c = e.as || [], g = o.length, y = {}, C, D, x, M, N, F;
  for (g !== l.length && We("Unmatched number of fields and aggregate ops."), F = 0; F < g; ++F) {
    if (C = o[F], D = l[F], C == null && D !== "count" && We("Null aggregate field specified."), M = Qn(C), N = vY(D, M, c[F]), r.push(N), D === "count") {
      this._counts.push(N);
      continue;
    }
    x = y[M], x || (i(C), x = y[M] = [], x.field = C, this._measures.push(x)), D !== "count" && (this._countOnly = !1), x.push(gY(D, N));
  }
  return this._measures = this._measures.map(function(z) {
    return bY(z, z.field);
  }), {};
};
Ki.cellkey = Dk();
Ki.cell = function(e, t) {
  var r = this.value[e];
  return r ? r.num === 0 && this._drop && r.stamp < this.stamp ? (r.stamp = this.stamp, this._adds[this._alen++] = r) : r.stamp < this.stamp && (r.stamp = this.stamp, this._mods[this._mlen++] = r) : (r = this.value[e] = this.newcell(e, t), this._adds[this._alen++] = r), r;
};
Ki.newcell = function(e, t) {
  var r = {
    key: e,
    num: 0,
    agg: null,
    tuple: this.newtuple(t, this._prev && this._prev[e]),
    stamp: this.stamp,
    store: !1
  };
  if (!this._countOnly) {
    var n = this._measures, i = n.length, o;
    for (r.agg = Array(i), o = 0; o < i; ++o)
      r.agg[o] = new n[o](r);
  }
  return r.store && (r.data = new kk()), r;
};
Ki.newtuple = function(e, t) {
  var r = this._dnames, n = this._dims, i = {}, o, l;
  for (o = 0, l = n.length; o < l; ++o)
    i[r[o]] = n[o](e);
  return t ? BH(t.tuple, i) : gr(i);
};
Ki.add = function(e) {
  var t = this.cellkey(e), r = this.cell(t, e), n, i, o;
  if (r.num += 1, !this._countOnly)
    for (r.store && r.data.add(e), n = r.agg, i = 0, o = n.length; i < o; ++i)
      n[i].add(n[i].get(e), e);
};
Ki.rem = function(e) {
  var t = this.cellkey(e), r = this.cell(t, e), n, i, o;
  if (r.num -= 1, !this._countOnly)
    for (r.store && r.data.rem(e), n = r.agg, i = 0, o = n.length; i < o; ++i)
      n[i].rem(n[i].get(e), e);
};
Ki.celltuple = function(e) {
  var t = e.tuple, r = this._counts, n, i, o;
  for (e.store && e.data.values(), i = 0, o = r.length; i < o; ++i)
    t[r[i]] = e.num;
  if (!this._countOnly)
    for (n = e.agg, i = 0, o = n.length; i < o; ++i)
      n[i].set(t);
  return t;
};
Ki.changes = function(e) {
  var t = this._adds, r = this._mods, n = this._prev, i = this._drop, o = e.add, l = e.rem, c = e.mod, g, y, C, D;
  if (n) for (y in n)
    g = n[y], (!i || g.num) && l.push(g.tuple);
  for (C = 0, D = this._alen; C < D; ++C)
    o.push(this.celltuple(t[C])), t[C] = null;
  for (C = 0, D = this._mlen; C < D; ++C)
    g = r[C], (g.num === 0 && i ? l : c).push(this.celltuple(g)), r[C] = null;
  return this._alen = this._mlen = 0, this._prev = null, e;
};
function Rk(e) {
  Ue.call(this, null, e);
}
Rk.Definition = {
  type: "Bin",
  metadata: { modifies: !0 },
  params: [
    { name: "field", type: "field", required: !0 },
    { name: "anchor", type: "number" },
    { name: "maxbins", type: "number", default: 20 },
    { name: "base", type: "number", default: 10 },
    { name: "divide", type: "number", array: !0, default: [5, 2] },
    { name: "extent", type: "number", array: !0, length: 2, required: !0 },
    { name: "step", type: "number" },
    { name: "steps", type: "number", array: !0 },
    { name: "minstep", type: "number", default: 0 },
    { name: "nice", type: "boolean", default: !0 },
    { name: "name", type: "string" },
    { name: "as", type: "string", array: !0, length: 2, default: ["bin0", "bin1"] }
  ]
};
var _Y = Ke(Rk, Ue);
_Y.transform = function(e, t) {
  var r = this._bins(e), n = r.start, i = r.step, o = e.as || ["bin0", "bin1"], l = o[0], c = o[1], g;
  return e.modified() ? (t = t.reflow(!0), g = t.SOURCE) : g = t.modified(bn(e.field)) ? t.ADD_MOD : t.ADD, t.visit(g, function(y) {
    var C = r(y);
    y[l] = C, y[c] = C == null ? null : n + i * (1 + (C - n) / i);
  }), t.modifies(o);
};
_Y._bins = function(e) {
  if (this.value && !e.modified())
    return this.value;
  var t = e.field, r = eV(e), n = r.start, i = r.stop, o = r.step, l, c;
  (l = e.anchor) != null && (c = l - (n + o * Math.floor((l - n) / o)), n += c, i += c);
  var g = function(y) {
    var C = t(y);
    return C == null ? null : (C = Math.max(n, Math.min(+C, i - o)), n + o * Math.floor((C - n) / o));
  };
  return g.start = n, g.stop = i, g.step = o, this.value = Tn(
    g,
    bn(t),
    e.name || "bin_" + Qn(t)
  );
};
function EY(e, t, r) {
  var n = e, i = t || [], o = r || [], l = {}, c = 0;
  return {
    add: function(g) {
      o.push(g);
    },
    remove: function(g) {
      l[n(g)] = ++c;
    },
    size: function() {
      return i.length;
    },
    data: function(g, y) {
      return c && (i = i.filter(function(C) {
        return !l[n(C)];
      }), l = {}, c = 0), y && g && i.sort(g), o.length && (i = g ? uk(g, i, o.sort(g)) : i.concat(o), o = []), i;
    }
  };
}
function Mk(e) {
  Ue.call(this, [], e);
}
Mk.Definition = {
  type: "Collect",
  metadata: { source: !0 },
  params: [
    { name: "sort", type: "compare" }
  ]
};
var ime = Ke(Mk, Ue);
ime.transform = function(e, t) {
  var r = t.fork(t.ALL), n = EY(st, this.value, r.materialize(r.ADD).add), i = e.sort, o = t.changed() || i && (e.modified("sort") || t.modified(i.fields));
  return r.visit(r.REM, n.remove), this.modified(o), this.value = r.source = n.data(i, o), t.source && t.source.root && (this.value.root = t.source.root), r;
};
function SY(e) {
  Jt.call(this, null, ame, e);
}
Ke(SY, Jt);
function ame(e) {
  return this.value && !e.modified() ? this.value : Qy(e.fields, e.orders);
}
function Nk(e) {
  Ue.call(this, null, e);
}
Nk.Definition = {
  type: "CountPattern",
  metadata: { generates: !0, changes: !0 },
  params: [
    { name: "field", type: "field", required: !0 },
    { name: "case", type: "enum", values: ["upper", "lower", "mixed"], default: "mixed" },
    { name: "pattern", type: "string", default: '[\\w"]+' },
    { name: "stopwords", type: "string", default: "" },
    { name: "as", type: "string", array: !0, length: 2, default: ["text", "count"] }
  ]
};
function ome(e, t, r) {
  switch (t) {
    case "upper":
      e = e.toUpperCase();
      break;
    case "lower":
      e = e.toLowerCase();
      break;
  }
  return e.match(r);
}
var Ik = Ke(Nk, Ue);
Ik.transform = function(e, t) {
  function r(D) {
    return function(x) {
      for (var M = ome(c(x), e.case, o) || [], N, F = 0, z = M.length; F < z; ++F)
        l.test(N = M[F]) || D(N);
    };
  }
  var n = this._parameterCheck(e, t), i = this._counts, o = this._match, l = this._stop, c = e.field, g = e.as || ["text", "count"], y = r(function(D) {
    i[D] = 1 + (i[D] || 0);
  }), C = r(function(D) {
    i[D] -= 1;
  });
  return n ? t.visit(t.SOURCE, y) : (t.visit(t.ADD, y), t.visit(t.REM, C)), this._finish(t, g);
};
Ik._parameterCheck = function(e, t) {
  var r = !1;
  return (e.modified("stopwords") || !this._stop) && (this._stop = new RegExp("^" + (e.stopwords || "") + "$", "i"), r = !0), (e.modified("pattern") || !this._match) && (this._match = new RegExp(e.pattern || "[\\w']+", "g"), r = !0), (e.modified("field") || t.modified(e.field.fields)) && (r = !0), r && (this._counts = {}), r;
};
Ik._finish = function(e, t) {
  var r = this._counts, n = this._tuples || (this._tuples = {}), i = t[0], o = t[1], l = e.fork(e.NO_SOURCE | e.NO_FIELDS), c, g, y;
  for (c in r)
    g = n[c], y = r[c] || 0, !g && y ? (n[c] = g = gr({}), g[i] = c, g[o] = y, l.add.push(g)) : y === 0 ? (g && l.rem.push(g), r[c] = null, n[c] = null) : g[o] !== y && (g[o] = y, l.mod.push(g));
  return l.modifies(t);
};
function Fk(e) {
  Ue.call(this, null, e);
}
Fk.Definition = {
  type: "Cross",
  metadata: { generates: !0 },
  params: [
    { name: "filter", type: "expr" },
    { name: "as", type: "string", array: !0, length: 2, default: ["a", "b"] }
  ]
};
var sme = Ke(Fk, Ue);
sme.transform = function(e, t) {
  var r = t.fork(t.NO_SOURCE), n = this.value, i = e.as || ["a", "b"], o = i[0], l = i[1], c = !n || t.changed(t.ADD_REM) || e.modified("as") || e.modified("filter");
  return c ? (n && (r.rem = n), n = t.materialize(t.SOURCE).source, r.add = this.value = ume(n, o, l, e.filter || co)) : r.mod = n, r.source = this.value, r.modifies(i);
};
function ume(e, t, r, n) {
  for (var i = [], o = {}, l = e.length, c = 0, g, y; c < l; ++c)
    for (o[t] = y = e[c], g = 0; g < l; ++g)
      o[r] = e[g], n(o) && (i.push(gr(o)), o = {}, o[t] = y);
  return i;
}
var Fz = {
  kde: tV,
  mixture: rV,
  normal: nV,
  uniform: iV
}, lme = "distributions", Lz = "function", cme = "field";
function wY(e, t) {
  var r = e[Lz];
  Fz.hasOwnProperty(r) || We("Unknown distribution function: " + r);
  var n = Fz[r]();
  for (var i in e)
    i === cme ? n.data((e.from || t()).map(e[i])) : i === lme ? n[i](e[i].map(function(o) {
      return wY(o, t);
    })) : typeof n[i] === Lz && n[i](e[i]);
  return n;
}
function Lk(e, t) {
  return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN;
}
function jk(e) {
  let t = e, r = e;
  e.length === 1 && (t = (l, c) => e(l) - c, r = fme(e));
  function n(l, c, g, y) {
    for (g == null && (g = 0), y == null && (y = l.length); g < y; ) {
      const C = g + y >>> 1;
      r(l[C], c) < 0 ? g = C + 1 : y = C;
    }
    return g;
  }
  function i(l, c, g, y) {
    for (g == null && (g = 0), y == null && (y = l.length); g < y; ) {
      const C = g + y >>> 1;
      r(l[C], c) > 0 ? y = C : g = C + 1;
    }
    return g;
  }
  function o(l, c, g, y) {
    g == null && (g = 0), y == null && (y = l.length);
    const C = n(l, c, g, y - 1);
    return C > g && t(l[C - 1], c) > -t(l[C], c) ? C - 1 : C;
  }
  return { left: n, center: o, right: i };
}
function fme(e) {
  return (t, r) => Lk(e(t), r);
}
function dme(e) {
  return e === null ? NaN : +e;
}
function* pme(e, t) {
  if (t === void 0)
    for (let r of e)
      r != null && (r = +r) >= r && (yield r);
  else {
    let r = -1;
    for (let n of e)
      (n = t(n, ++r, e)) != null && (n = +n) >= n && (yield n);
  }
}
const OY = jk(Lk), sg = OY.right, hme = OY.left;
jk(dme).center;
function TY(e, t) {
  let r, n;
  for (const i of e)
    i != null && (r === void 0 ? i >= i && (r = n = i) : (r > i && (r = i), n < i && (n = i)));
  return [r, n];
}
function mme(e, t) {
  return Array.from(t, (r) => e[r]);
}
var vme = Math.sqrt(50), gme = Math.sqrt(10), yme = Math.sqrt(2);
function bme(e, t, r) {
  var n = Math.abs(t - e) / Math.max(0, r), i = Math.pow(10, Math.floor(Math.log(n) / Math.LN10)), o = n / i;
  return o >= vme ? i *= 10 : o >= gme ? i *= 5 : o >= yme && (i *= 2), t < e ? -i : i;
}
function RA(e, t) {
  let r;
  if (t === void 0)
    for (const n of e)
      n != null && (r < n || r === void 0 && n >= n) && (r = n);
  else {
    let n = -1;
    for (let i of e)
      (i = t(i, ++n, e)) != null && (r < i || r === void 0 && i >= i) && (r = i);
  }
  return r;
}
function MA(e, t) {
  let r;
  if (t === void 0)
    for (const n of e)
      n != null && (r > n || r === void 0 && n >= n) && (r = n);
  else {
    let n = -1;
    for (let i of e)
      (i = t(i, ++n, e)) != null && (r > i || r === void 0 && i >= i) && (r = i);
  }
  return r;
}
function CY(e, t, r = 0, n = e.length - 1, i = Lk) {
  for (; n > r; ) {
    if (n - r > 600) {
      const g = n - r + 1, y = t - r + 1, C = Math.log(g), D = 0.5 * Math.exp(2 * C / 3), x = 0.5 * Math.sqrt(C * D * (g - D) / g) * (y - g / 2 < 0 ? -1 : 1), M = Math.max(r, Math.floor(t - y * D / g + x)), N = Math.min(n, Math.floor(t + (g - y) * D / g + x));
      CY(e, t, M, N, i);
    }
    const o = e[t];
    let l = r, c = n;
    for (uc(e, r, t), i(e[n], o) > 0 && uc(e, r, n); l < c; ) {
      for (uc(e, l, c), ++l, --c; i(e[l], o) < 0; ) ++l;
      for (; i(e[c], o) > 0; ) --c;
    }
    i(e[r], o) === 0 ? uc(e, r, c) : (++c, uc(e, c, n)), c <= t && (r = c + 1), t <= c && (n = c - 1);
  }
  return e;
}
function uc(e, t, r) {
  const n = e[t];
  e[t] = e[r], e[r] = n;
}
function _me(e, t, r) {
  if (e = Float64Array.from(pme(e, r)), !!(n = e.length)) {
    if ((t = +t) <= 0 || n < 2) return MA(e);
    if (t >= 1) return RA(e);
    var n, i = (n - 1) * t, o = Math.floor(i), l = RA(CY(e, o).subarray(0, o + 1)), c = MA(e.subarray(o + 1));
    return l + (c - l) * (i - o);
  }
}
function Eme(e, t) {
  let r = 0, n = 0;
  if (t === void 0)
    for (let i of e)
      i != null && (i = +i) >= i && (++r, n += i);
  else {
    let i = -1;
    for (let o of e)
      (o = t(o, ++i, e)) != null && (o = +o) >= o && (++r, n += o);
  }
  if (r) return n / r;
}
function Sme(e, t) {
  return _me(e, 0.5, t);
}
function Cd(e, t, r) {
  e = +e, t = +t, r = (i = arguments.length) < 2 ? (t = e, e = 0, 1) : i < 3 ? 1 : +r;
  for (var n = -1, i = Math.max(0, Math.ceil((t - e) / r)) | 0, o = new Array(i); ++n < i; )
    o[n] = e + n * r;
  return o;
}
function wme(e, t) {
  let r = 0;
  for (let n of e)
    (n = +n) && (r += n);
  return r;
}
function Uk(e) {
  Ue.call(this, null, e);
}
var xY = [
  {
    key: { function: "normal" },
    params: [
      { name: "mean", type: "number", default: 0 },
      { name: "stdev", type: "number", default: 1 }
    ]
  },
  {
    key: { function: "uniform" },
    params: [
      { name: "min", type: "number", default: 0 },
      { name: "max", type: "number", default: 1 }
    ]
  },
  {
    key: { function: "kde" },
    params: [
      { name: "field", type: "field", required: !0 },
      { name: "from", type: "data" },
      { name: "bandwidth", type: "number", default: 0 }
    ]
  }
], Ome = {
  key: { function: "mixture" },
  params: [
    {
      name: "distributions",
      type: "param",
      array: !0,
      params: xY
    },
    { name: "weights", type: "number", array: !0 }
  ]
};
Uk.Definition = {
  type: "Density",
  metadata: { generates: !0 },
  params: [
    { name: "extent", type: "number", array: !0, length: 2 },
    { name: "steps", type: "number", default: 100 },
    {
      name: "method",
      type: "string",
      default: "pdf",
      values: ["pdf", "cdf"]
    },
    {
      name: "distribution",
      type: "param",
      params: xY.concat(Ome)
    },
    {
      name: "as",
      type: "string",
      array: !0,
      default: ["value", "density"]
    }
  ]
};
var Tme = Ke(Uk, Ue);
Tme.transform = function(e, t) {
  var r = t.fork(t.NO_SOURCE | t.NO_FIELDS);
  if (!this.value || t.changed() || e.modified()) {
    var n = wY(e.distribution, Cme(t)), i = e.method || "pdf";
    i !== "pdf" && i !== "cdf" && We("Invalid density method: " + i), !e.extent && !n.data && We("Missing density extent parameter."), i = n[i];
    var o = e.as || ["value", "density"], l = e.extent || TY(n.data()), c = (l[1] - l[0]) / (e.steps || 100), g = Cd(l[0], l[1] + c / 2, c).map(function(y) {
      var C = {};
      return C[o[0]] = y, C[o[1]] = i(y), gr(C);
    });
    this.value && (r.rem = this.value), this.value = r.add = r.source = g;
  }
  return r;
};
function Cme(e) {
  return function() {
    return e.materialize(e.SOURCE).source;
  };
}
function AY(e) {
  Jt.call(this, null, xme, e), this.modified(!0);
}
Ke(AY, Jt);
function xme(e) {
  var t = e.expr;
  return this.value && !e.modified("expr") ? this.value : Tn(
    function(r) {
      return t(r, e);
    },
    bn(t),
    Qn(t)
  );
}
function qk(e) {
  Ue.call(this, [void 0, void 0], e);
}
qk.Definition = {
  type: "Extent",
  metadata: {},
  params: [
    { name: "field", type: "field", required: !0 }
  ]
};
var Ame = Ke(qk, Ue);
Ame.transform = function(e, t) {
  var r = this.value, n = e.field, i = r[0], o = r[1], l;
  l = t.changed() || t.modified(n.fields) || e.modified("field"), (l || i == null) && (i = 1 / 0, o = -1 / 0), t.visit(l ? t.SOURCE : t.ADD, function(c) {
    var g = n(c);
    g != null && (g = +g, g < i && (i = g), g > o && (o = g));
  }), (!isFinite(i) || !isFinite(o)) && (i = o = void 0), this.value = [i, o];
};
function zk(e, t) {
  Jt.call(this, e), this.parent = t;
}
var ql = Ke(zk, Jt);
ql.connect = function(e) {
  return this.targets().add(e), e.source = this;
};
ql.add = function(e) {
  this.value.add.push(e);
};
ql.rem = function(e) {
  this.value.rem.push(e);
};
ql.mod = function(e) {
  this.value.mod.push(e);
};
ql.init = function(e) {
  this.value.init(e, e.NO_SOURCE);
};
ql.evaluate = function() {
  return this.value;
};
function db(e) {
  Ue.call(this, {}, e), this._keys = Js();
  var t = this._targets = [];
  t.active = 0, t.forEach = function(r) {
    for (var n = 0, i = t.active; n < i; ++n) r(t[n], n, t);
  };
}
var Bk = Ke(db, Ue);
Bk.activate = function(e) {
  this._targets[this._targets.active++] = e;
};
Bk.subflow = function(e, t, r, n) {
  var i = this.value, o = i.hasOwnProperty(e) && i[e], l, c;
  return o ? o.value.stamp < r.stamp && (o.init(r), this.activate(o)) : (c = n || (c = this._group[e]) && c.tuple, l = r.dataflow, o = l.add(new zk(r.fork(r.NO_SOURCE), this)).connect(t(l, e, c)), i[e] = o, this.activate(o)), o;
};
Bk.transform = function(e, t) {
  var r = t.dataflow, n = this, i = e.key, o = e.subflow, l = this._keys, c = e.modified("key");
  function g(y) {
    return n.subflow(y, o, t);
  }
  return this._group = e.group || {}, this._targets.active = 0, t.visit(t.REM, function(y) {
    var C = st(y), D = l.get(C);
    D !== void 0 && (l.delete(C), g(D).rem(y));
  }), t.visit(t.ADD, function(y) {
    var C = i(y);
    l.set(st(y), C), g(C).add(y);
  }), c || t.modified(i.fields) ? t.visit(t.MOD, function(y) {
    var C = st(y), D = l.get(C), x = i(y);
    D === x ? g(x).mod(y) : (l.set(C, x), g(D).rem(y), g(x).add(y));
  }) : t.changed(t.MOD) && t.visit(t.MOD, function(y) {
    g(l.get(st(y))).mod(y);
  }), c && t.visit(t.REFLOW, function(y) {
    var C = st(y), D = l.get(C), x = i(y);
    D !== x && (l.set(C, x), g(D).rem(y), g(x).add(y));
  }), l.empty > r.cleanThreshold && r.runAfter(l.clean), t;
};
function DY(e) {
  Jt.call(this, null, Dme, e);
}
Ke(DY, Jt);
function Dme(e) {
  return this.value && !e.modified() ? this.value : Et(e.name) ? mt(e.name).map(function(t) {
    return Jn(t);
  }) : Jn(e.name, e.as);
}
function Wk(e) {
  Ue.call(this, Js(), e);
}
Wk.Definition = {
  type: "Filter",
  metadata: { changes: !0 },
  params: [
    { name: "expr", type: "expr", required: !0 }
  ]
};
var Pme = Ke(Wk, Ue);
Pme.transform = function(e, t) {
  var r = t.dataflow, n = this.value, i = t.fork(), o = i.add, l = i.rem, c = i.mod, g = e.expr, y = !0;
  t.visit(t.REM, function(D) {
    var x = st(D);
    n.has(x) ? n.delete(x) : l.push(D);
  }), t.visit(t.ADD, function(D) {
    g(D, e) ? o.push(D) : n.set(st(D), 1);
  });
  function C(D) {
    var x = st(D), M = g(D, e), N = n.get(x);
    M && N ? (n.delete(x), o.push(D)) : !M && !N ? (n.set(x, 1), l.push(D)) : y && M && !N && c.push(D);
  }
  return t.visit(t.MOD, C), e.modified() && (y = !1, t.visit(t.REFLOW, C)), n.empty > r.cleanThreshold && r.runAfter(n.clean), i;
};
function PY(e, t) {
  return e ? e.map(function(r, n) {
    return t[n] || Qn(r);
  }) : null;
}
function $k(e) {
  Ue.call(this, [], e);
}
$k.Definition = {
  type: "Flatten",
  metadata: { generates: !0 },
  params: [
    { name: "fields", type: "field", array: !0, required: !0 },
    { name: "as", type: "string", array: !0 }
  ]
};
var kme = Ke($k, Ue);
kme.transform = function(e, t) {
  var r = t.fork(t.NO_SOURCE), n = e.fields, i = PY(n, e.as || []), o = i.length;
  return r.rem = this.value, t.visit(t.SOURCE, function(l) {
    for (var c = n.map(function(M) {
      return M(l);
    }), g = c.reduce(function(M, N) {
      return Math.max(M, N.length);
    }, 0), y = 0, C, D, x; y < g; ++y) {
      for (D = fk(l), C = 0; C < o; ++C)
        D[i[C]] = (x = c[C][y]) == null ? null : x;
      r.add.push(D);
    }
  }), this.value = r.source = r.add, r.modifies(i);
};
function Vk(e) {
  Ue.call(this, [], e);
}
Vk.Definition = {
  type: "Fold",
  metadata: { generates: !0 },
  params: [
    { name: "fields", type: "field", array: !0, required: !0 },
    { name: "as", type: "string", array: !0, length: 2, default: ["key", "value"] }
  ]
};
var Rme = Ke(Vk, Ue);
Rme.transform = function(e, t) {
  var r = t.fork(t.NO_SOURCE), n = e.fields, i = n.map(Qn), o = e.as || ["key", "value"], l = o[0], c = o[1], g = n.length;
  return r.rem = this.value, t.visit(t.SOURCE, function(y) {
    for (var C = 0, D; C < g; ++C)
      D = fk(y), D[l] = i[C], D[c] = n[C](y), r.add.push(D);
  }), this.value = r.source = r.add, r.modifies(o);
};
function Hk(e) {
  Ue.call(this, null, e);
}
Hk.Definition = {
  type: "Formula",
  metadata: { modifies: !0 },
  params: [
    { name: "expr", type: "expr", required: !0 },
    { name: "as", type: "string", required: !0 },
    { name: "initonly", type: "boolean" }
  ]
};
var Mme = Ke(Hk, Ue);
Mme.transform = function(e, t) {
  var r = e.expr, n = e.as, i = e.modified(), o = e.initonly ? t.ADD : i ? t.SOURCE : t.modified(r.fields) ? t.ADD_MOD : t.ADD;
  function l(c) {
    c[n] = r(c, e);
  }
  return i && (t = t.materialize().reflow(!0)), e.initonly || t.modifies(n), t.visit(o, l);
};
function kY(e) {
  Ue.call(this, [], e);
}
var Nme = Ke(kY, Ue);
Nme.transform = function(e, t) {
  var r = this.value, n = t.fork(t.ALL), i = e.size - r.length, o = e.generator, l, c, g;
  if (i > 0) {
    for (l = []; --i >= 0; )
      l.push(g = gr(o(e))), r.push(g);
    n.add = n.add.length ? n.materialize(n.ADD).add.concat(l) : l;
  } else
    c = r.slice(0, -i), n.rem = n.rem.length ? n.materialize(n.REM).rem.concat(c) : c, r = r.slice(-i);
  return n.source = this.value = r, n;
};
var mh = {
  value: "value",
  median: Sme,
  mean: Eme,
  min: MA,
  max: RA
}, Ime = [];
function Yk(e) {
  Ue.call(this, [], e);
}
Yk.Definition = {
  type: "Impute",
  metadata: { changes: !0 },
  params: [
    { name: "field", type: "field", required: !0 },
    { name: "key", type: "field", required: !0 },
    { name: "keyvals", array: !0 },
    { name: "groupby", type: "field", array: !0 },
    {
      name: "method",
      type: "enum",
      default: "value",
      values: ["value", "mean", "median", "max", "min"]
    },
    { name: "value", default: 0 }
  ]
};
var Fme = Ke(Yk, Ue);
function Lme(e) {
  var t = e.method || mh.value, r;
  if (mh[t] == null)
    We("Unrecognized imputation method: " + t);
  else return t === mh.value ? (r = e.value !== void 0 ? e.value : 0, function() {
    return r;
  }) : mh[t];
}
function jme(e) {
  var t = e.field;
  return function(r) {
    return r ? t(r) : NaN;
  };
}
Fme.transform = function(e, t) {
  var r = t.fork(t.ALL), n = Lme(e), i = jme(e), o = Qn(e.field), l = Qn(e.key), c = (e.groupby || []).map(Qn), g = Ume(t.source, e.groupby, e.key, e.keyvals), y = [], C = this.value, D = g.domain.length, x, M, N, F, z, A, u, a, s, h;
  for (z = 0, a = g.length; z < a; ++z)
    for (x = g[z], N = x.values, M = NaN, u = 0; u < D; ++u)
      if (x[u] == null) {
        for (F = g.domain[u], h = { _impute: !0 }, A = 0, s = N.length; A < s; ++A) h[c[A]] = N[A];
        h[l] = F, h[o] = isNaN(M) ? M = n(x, i) : M, y.push(gr(h));
      }
  return y.length && (r.add = r.materialize(r.ADD).add.concat(y)), C.length && (r.rem = r.materialize(r.REM).rem.concat(C)), this.value = y, r;
};
function Ume(e, t, r, n) {
  var i = function(A) {
    return A(z);
  }, o = [], l = n ? n.slice() : [], c = {}, g = {}, y, C, D, x, M, N, F, z;
  for (l.forEach(function(A, u) {
    c[A] = u + 1;
  }), x = 0, F = e.length; x < F; ++x)
    z = e[x], N = r(z), M = c[N] || (c[N] = l.push(N)), C = (y = t ? t.map(i) : Ime) + "", (D = g[C]) || (D = g[C] = [], o.push(D), D.values = y), D[M - 1] = z;
  return o.domain = l, o;
}
function Gk(e) {
  nu.call(this, e);
}
Gk.Definition = {
  type: "JoinAggregate",
  metadata: { modifies: !0 },
  params: [
    { name: "groupby", type: "field", array: !0 },
    { name: "fields", type: "field", null: !0, array: !0 },
    { name: "ops", type: "enum", array: !0, values: fb },
    { name: "as", type: "string", null: !0, array: !0 },
    { name: "key", type: "field" }
  ]
};
var RY = Ke(Gk, nu);
RY.transform = function(e, t) {
  var r = this, n = e.modified(), i;
  return r.value && (n || t.modified(r._inputs)) ? (i = r.value = n ? r.init(e) : {}, t.visit(t.SOURCE, function(o) {
    r.add(o);
  })) : (i = r.value = r.value || this.init(e), t.visit(t.REM, function(o) {
    r.rem(o);
  }), t.visit(t.ADD, function(o) {
    r.add(o);
  })), r.changes(), t.visit(t.SOURCE, function(o) {
    Vt(o, i[r.cellkey(o)].tuple);
  }), t.reflow(n).modifies(this._outputs);
};
RY.changes = function() {
  var e = this._adds, t = this._mods, r, n;
  for (r = 0, n = this._alen; r < n; ++r)
    this.celltuple(e[r]), e[r] = null;
  for (r = 0, n = this._mlen; r < n; ++r)
    this.celltuple(t[r]), t[r] = null;
  this._alen = this._mlen = 0;
};
function MY(e) {
  Jt.call(this, null, qme, e);
}
Ke(MY, Jt);
function qme(e) {
  return this.value && !e.modified() ? this.value : Jy(e.fields, e.flat);
}
function NY(e) {
  Ue.call(this, null, e);
}
var zme = Ke(NY, Ue);
zme.transform = function(e, t) {
  t.dataflow.request(this.target, e.url, e.format);
};
function Kk(e) {
  Ue.call(this, {}, e);
}
Kk.Definition = {
  type: "Lookup",
  metadata: { modifies: !0 },
  params: [
    { name: "index", type: "index", params: [
      { name: "from", type: "data", required: !0 },
      { name: "key", type: "field", required: !0 }
    ] },
    { name: "values", type: "field", array: !0 },
    { name: "fields", type: "field", array: !0, required: !0 },
    { name: "as", type: "string", array: !0 },
    { name: "default", default: null }
  ]
};
var Bme = Ke(Kk, Ue);
Bme.transform = function(e, t) {
  var r = t, n = e.as, i = e.fields, o = e.index, l = e.values, c = e.default == null ? null : e.default, g = e.modified(), y = g ? t.SOURCE : t.ADD, C = i.length, D, x, M;
  return l ? (x = l.length, C > 1 && !n && We('Multi-field lookup requires explicit "as" parameter.'), n && n.length !== C * x && We('The "as" parameter has too few output field names.'), n = n || l.map(Qn), D = function(N) {
    for (var F = 0, z = 0, A, u; F < C; ++F)
      if (u = o.get(i[F](N)), u == null) for (A = 0; A < x; ++A, ++z) N[n[z]] = c;
      else for (A = 0; A < x; ++A, ++z) N[n[z]] = l[A](u);
  }) : (n || We("Missing output field names."), D = function(N) {
    for (var F = 0, z; F < C; ++F)
      z = o.get(i[F](N)), N[n[F]] = z ?? c;
  }), g ? r = t.reflow(!0) : (M = i.some(function(N) {
    return t.modified(N.fields);
  }), y |= M ? t.MOD : 0), t.visit(y, D), r.modifies(n);
};
function IY(e) {
  Jt.call(this, null, Wme, e);
}
Ke(IY, Jt);
function Wme(e) {
  if (this.value && !e.modified())
    return this.value;
  var t = 1 / 0, r = -1 / 0, n = e.extents, i, o, l;
  for (i = 0, o = n.length; i < o; ++i)
    l = n[i], l[0] < t && (t = l[0]), l[1] > r && (r = l[1]);
  return [t, r];
}
function FY(e) {
  Jt.call(this, null, $me, e);
}
Ke(FY, Jt);
function $me(e) {
  return this.value && !e.modified() ? this.value : e.values.reduce(function(t, r) {
    return t.concat(r);
  }, []);
}
function Xk(e) {
  Ue.call(this, null, e);
}
Ke(Xk, Ue);
Xk.prototype.transform = function(e, t) {
  return this.modified(e.modified()), this.value = e, t.fork(t.NO_SOURCE | t.NO_FIELDS);
};
function Qk(e) {
  nu.call(this, e);
}
Qk.Definition = {
  type: "Pivot",
  metadata: { generates: !0, changes: !0 },
  params: [
    { name: "groupby", type: "field", array: !0 },
    { name: "field", type: "field", required: !0 },
    { name: "value", type: "field", required: !0 },
    { name: "op", type: "enum", values: fb, default: "sum" },
    { name: "limit", type: "number", default: 0 },
    { name: "key", type: "field" }
  ]
};
var NA = Ke(Qk, nu);
NA._transform = NA.transform;
NA.transform = function(e, t) {
  return this._transform(Vme(e, t), t);
};
function Vme(e, t) {
  var r = e.field, n = e.value, i = (e.op === "count" ? "__count__" : e.op) || "sum", o = bn(r).concat(bn(n)), l = Yme(r, e.limit || 0, t);
  return {
    key: e.key,
    groupby: e.groupby,
    ops: l.map(function() {
      return i;
    }),
    fields: l.map(function(c) {
      return Hme(c, r, n, o);
    }),
    as: l.map(function(c) {
      return c + "";
    }),
    modified: e.modified.bind(e)
  };
}
function Hme(e, t, r, n) {
  return Tn(
    function(i) {
      return t(i) === e ? r(i) : NaN;
    },
    n,
    e + ""
  );
}
function Yme(e, t, r) {
  var n = {}, i = [];
  return r.visit(r.SOURCE, function(o) {
    var l = e(o);
    n[l] || (n[l] = 1, i.push(l));
  }), i.sort(function(o, l) {
    return (o < l || o == null) && l != null ? -1 : (o > l || l == null) && o != null ? 1 : (l = l instanceof Date ? +l : l, (o = o instanceof Date ? +o : o) !== o && l === l ? -1 : l !== l && o === o ? 1 : 0);
  }), t ? i.slice(0, t) : i;
}
function LY(e) {
  db.call(this, e);
}
var Gme = Ke(LY, db);
Gme.transform = function(e, t) {
  var r = this, n = e.subflow, i = e.field;
  return (e.modified("field") || i && t.modified(bn(i))) && We("PreFacet does not support field modification."), this._targets.active = 0, t.visit(t.MOD, function(o) {
    var l = r.subflow(st(o), n, t, o);
    i ? i(o).forEach(function(c) {
      l.mod(c);
    }) : l.mod(o);
  }), t.visit(t.ADD, function(o) {
    var l = r.subflow(st(o), n, t, o);
    i ? i(o).forEach(function(c) {
      l.add(gr(c));
    }) : l.add(o);
  }), t.visit(t.REM, function(o) {
    var l = r.subflow(st(o), n, t, o);
    i ? i(o).forEach(function(c) {
      l.rem(c);
    }) : l.rem(o);
  }), t;
};
function Zk(e) {
  Ue.call(this, null, e);
}
Zk.Definition = {
  type: "Project",
  metadata: { generates: !0, changes: !0 },
  params: [
    { name: "fields", type: "field", array: !0 },
    { name: "as", type: "string", null: !0, array: !0 }
  ]
};
var Kme = Ke(Zk, Ue);
Kme.transform = function(e, t) {
  var r = e.fields, n = PY(e.fields, e.as || []), i = r ? function(c, g) {
    return Xme(c, g, r, n);
  } : dk, o, l;
  return this.value ? l = this.value : (t = t.addAll(), l = this.value = {}), o = t.fork(t.NO_SOURCE), t.visit(t.REM, function(c) {
    var g = st(c);
    o.rem.push(l[g]), l[g] = null;
  }), t.visit(t.ADD, function(c) {
    var g = i(c, gr({}));
    l[st(c)] = g, o.add.push(g);
  }), t.visit(t.MOD, function(c) {
    o.mod.push(i(c, l[st(c)]));
  }), o;
};
function Xme(e, t, r, n) {
  for (var i = 0, o = r.length; i < o; ++i)
    t[n[i]] = r[i](e);
  return t;
}
function jY(e) {
  Ue.call(this, null, e);
}
var Qme = Ke(jY, Ue);
Qme.transform = function(e, t) {
  return this.value = e.value, e.modified("value") ? t.fork(t.NO_SOURCE | t.NO_FIELDS) : t.StopPropagation;
};
function UY(e) {
  Ue.call(this, null, e);
}
var Zme = Ke(UY, Ue);
Zme.transform = function(e, t) {
  var r, n;
  return this.value ? n = this.value : (r = t = t.addAll(), n = this.value = {}), e.derive && (r = t.fork(t.NO_SOURCE), t.visit(t.REM, function(i) {
    var o = st(i);
    r.rem.push(n[o]), n[o] = null;
  }), t.visit(t.ADD, function(i) {
    var o = fk(i);
    n[st(i)] = o, r.add.push(o);
  }), t.visit(t.MOD, function(i) {
    r.mod.push(dk(i, n[st(i)]));
  })), r;
};
function Jk(e) {
  Ue.call(this, [], e), this.count = 0;
}
Jk.Definition = {
  type: "Sample",
  metadata: {},
  params: [
    { name: "size", type: "number", default: 1e3 }
  ]
};
var Jme = Ke(Jk, Ue);
Jme.transform = function(e, t) {
  var r = t.fork(t.NO_SOURCE), n = e.modified("size"), i = e.size, o = this.value, l = this.count, c = 0, g = o.reduce(function(x, M) {
    return x[st(M)] = 1, x;
  }, {});
  function y(x) {
    var M, N;
    o.length < i ? o.push(x) : (N = ~~((l + 1) * fy()), N < o.length && N >= c && (M = o[N], g[st(M)] && r.rem.push(M), o[N] = x)), ++l;
  }
  if (t.rem.length && (t.visit(t.REM, function(x) {
    var M = st(x);
    g[M] && (g[M] = -1, r.rem.push(x)), --l;
  }), o = o.filter(function(x) {
    return g[st(x)] !== -1;
  })), (t.rem.length || n) && o.length < i && t.source && (c = l = o.length, t.visit(t.SOURCE, function(x) {
    g[st(x)] || y(x);
  }), c = -1), n && o.length > i) {
    for (var C = 0, D = o.length - i; C < D; ++C)
      g[st(o[C])] = -1, r.rem.push(o[C]);
    o = o.slice(D);
  }
  return t.mod.length && t.visit(t.MOD, function(x) {
    g[st(x)] && r.mod.push(x);
  }), t.add.length && t.visit(t.ADD, y), (t.add.length || c < 0) && (r.add = o.filter(function(x) {
    return !g[st(x)];
  })), this.count = l, this.value = r.source = o, r;
};
function eR(e) {
  Ue.call(this, null, e);
}
eR.Definition = {
  type: "Sequence",
  metadata: { changes: !0 },
  params: [
    { name: "start", type: "number", required: !0 },
    { name: "stop", type: "number", required: !0 },
    { name: "step", type: "number", default: 1 },
    { name: "as", type: "string", default: "data" }
  ]
};
var eve = Ke(eR, Ue);
eve.transform = function(e, t) {
  if (!(this.value && !e.modified())) {
    var r = t.materialize().fork(t.MOD), n = e.as || "data";
    return r.rem = this.value ? t.rem.concat(this.value) : t.rem, this.value = Cd(e.start, e.stop, e.step || 1).map(function(i) {
      var o = {};
      return o[n] = i, gr(o);
    }), r.add = t.add.concat(this.value), r;
  }
};
function qY(e) {
  Ue.call(this, null, e), this.modified(!0);
}
var tve = Ke(qY, Ue);
tve.transform = function(e, t) {
  return this.value = t.source, t.changed() ? t.fork(t.NO_SOURCE | t.NO_FIELDS) : t.StopPropagation;
};
function zY(e) {
  Ue.call(this, Js(), e);
}
var rve = Ke(zY, Ue);
rve.transform = function(e, t) {
  var r = t.dataflow, n = e.field, i = this.value, o = !0;
  function l(c) {
    i.set(n(c), c);
  }
  return e.modified("field") || t.modified(n.fields) ? (i.clear(), t.visit(t.SOURCE, l)) : t.changed() ? (t.visit(t.REM, function(c) {
    i.delete(n(c));
  }), t.visit(t.ADD, l)) : o = !1, this.modified(o), i.empty > r.cleanThreshold && r.runAfter(i.clean), t.fork();
};
function BY(e) {
  Ue.call(this, null, e);
}
var nve = Ke(BY, Ue);
nve.transform = function(e, t) {
  var r = !this.value || e.modified("field") || e.modified("sort") || t.changed() || e.sort && t.modified(e.sort.fields);
  r && (this.value = (e.sort ? t.source.slice().sort(e.sort) : t.source).map(e.field));
};
function ive(e, t, r, n) {
  var i = Bf[e](t, r);
  return {
    init: i.init || XP,
    update: function(o, l) {
      l[n] = i.next(o);
    }
  };
}
var Bf = {
  row_number: function() {
    return {
      next: function(e) {
        return e.index + 1;
      }
    };
  },
  rank: function() {
    var e;
    return {
      init: function() {
        e = 1;
      },
      next: function(t) {
        var r = t.index, n = t.data;
        return r && t.compare(n[r - 1], n[r]) ? e = r + 1 : e;
      }
    };
  },
  dense_rank: function() {
    var e;
    return {
      init: function() {
        e = 1;
      },
      next: function(t) {
        var r = t.index, n = t.data;
        return r && t.compare(n[r - 1], n[r]) ? ++e : e;
      }
    };
  },
  percent_rank: function() {
    var e = Bf.rank(), t = e.next;
    return {
      init: e.init,
      next: function(r) {
        return (t(r) - 1) / (r.data.length - 1);
      }
    };
  },
  cume_dist: function() {
    var e;
    return {
      init: function() {
        e = 0;
      },
      next: function(t) {
        var r = t.index, n = t.data, i = t.compare;
        if (e < r) {
          for (; r + 1 < n.length && !i(n[r], n[r + 1]); ) ++r;
          e = r;
        }
        return (1 + e) / n.length;
      }
    };
  },
  ntile: function(e, t) {
    t = +t, t > 0 || We("ntile num must be greater than zero.");
    var r = Bf.cume_dist(), n = r.next;
    return {
      init: r.init,
      next: function(i) {
        return Math.ceil(t * n(i));
      }
    };
  },
  lag: function(e, t) {
    return t = +t || 1, {
      next: function(r) {
        var n = r.index - t;
        return n >= 0 ? e(r.data[n]) : null;
      }
    };
  },
  lead: function(e, t) {
    return t = +t || 1, {
      next: function(r) {
        var n = r.index + t, i = r.data;
        return n < i.length ? e(i[n]) : null;
      }
    };
  },
  first_value: function(e) {
    return {
      next: function(t) {
        return e(t.data[t.i0]);
      }
    };
  },
  last_value: function(e) {
    return {
      next: function(t) {
        return e(t.data[t.i1 - 1]);
      }
    };
  },
  nth_value: function(e, t) {
    return t = +t, t > 0 || We("nth_value nth must be greater than zero."), {
      next: function(r) {
        var n = r.i0 + (t - 1);
        return n < r.i1 ? e(r.data[n]) : null;
      }
    };
  }
}, ave = Object.keys(Bf);
function WY(e) {
  var t = this, r = mt(e.ops), n = mt(e.fields), i = mt(e.params), o = mt(e.as), l = t.outputs = [], c = t.windows = [], g = {}, y = {}, C = !0, D = [], x = [];
  function M(N) {
    mt(bn(N)).forEach(function(F) {
      g[F] = 1;
    });
  }
  M(e.sort), r.forEach(function(N, F) {
    var z = n[F], A = Qn(z), u = vY(N, A, o[F]);
    if (M(z), l.push(u), Bf.hasOwnProperty(N))
      c.push(ive(N, n[F], i[F], u));
    else {
      if (z == null && N !== "count" && We("Null aggregate field specified."), N === "count") {
        D.push(u);
        return;
      }
      C = !1;
      var a = y[A];
      a || (a = y[A] = [], a.field = z, x.push(a)), a.push(gY(N, u));
    }
  }), (D.length || x.length) && (t.cell = ove(x, D, C)), t.inputs = Object.keys(g);
}
var $Y = WY.prototype;
$Y.init = function() {
  this.windows.forEach(function(e) {
    e.init();
  }), this.cell && this.cell.init();
};
$Y.update = function(e, t) {
  var r = this, n = r.cell, i = r.windows, o = e.data, l = i && i.length, c;
  if (n) {
    for (c = e.p0; c < e.i0; ++c) n.rem(o[c]);
    for (c = e.p1; c < e.i1; ++c) n.add(o[c]);
    n.set(t);
  }
  for (c = 0; c < l; ++c) i[c].update(e, t);
};
function ove(e, t, r) {
  e = e.map(function(g) {
    return bY(g, g.field);
  });
  var n = {
    num: 0,
    agg: null,
    store: !1,
    count: t
  };
  if (!r)
    for (var i = e.length, o = n.agg = Array(i), l = 0; l < i; ++l) o[l] = new e[l](n);
  if (n.store)
    var c = n.data = new kk();
  return n.add = function(g) {
    if (n.num += 1, !r) {
      c && c.add(g);
      for (var y = 0; y < i; ++y)
        o[y].add(o[y].get(g), g);
    }
  }, n.rem = function(g) {
    if (n.num -= 1, !r) {
      c && c.rem(g);
      for (var y = 0; y < i; ++y)
        o[y].rem(o[y].get(g), g);
    }
  }, n.set = function(g) {
    var y, C;
    for (c && c.values(), y = 0, C = t.length; y < C; ++y) g[t[y]] = n.num;
    if (!r) for (y = 0, C = o.length; y < C; ++y) o[y].set(g);
  }, n.init = function() {
    n.num = 0, c && c.reset();
    for (var g = 0; g < i; ++g) o[g].init();
  }, n;
}
function tR(e) {
  Ue.call(this, {}, e), this._mlen = 0, this._mods = [];
}
tR.Definition = {
  type: "Window",
  metadata: { modifies: !0 },
  params: [
    { name: "sort", type: "compare" },
    { name: "groupby", type: "field", array: !0 },
    { name: "ops", type: "enum", array: !0, values: ave.concat(fb) },
    { name: "params", type: "number", null: !0, array: !0 },
    { name: "fields", type: "field", null: !0, array: !0 },
    { name: "as", type: "string", null: !0, array: !0 },
    { name: "frame", type: "number", null: !0, array: !0, length: 2, default: [null, 0] },
    { name: "ignorePeers", type: "boolean", default: !1 }
  ]
};
var VY = Ke(tR, Ue);
VY.transform = function(e, t) {
  var r = this, n = r.state, i = e.modified(), o, l;
  this.stamp = t.stamp, (!n || i) && (n = r.state = new WY(e));
  var c = Dk(e.groupby);
  function g(y) {
    return r.group(c(y));
  }
  for (i || t.modified(n.inputs) ? (r.value = {}, t.visit(t.SOURCE, function(y) {
    g(y).add(y);
  })) : (t.visit(t.REM, function(y) {
    g(y).remove(y);
  }), t.visit(t.ADD, function(y) {
    g(y).add(y);
  })), o = 0, l = r._mlen; o < l; ++o)
    sve(r._mods[o], n, e);
  return r._mlen = 0, r._mods = [], t.reflow(i).modifies(n.outputs);
};
VY.group = function(e) {
  var t = this, r = t.value[e];
  return r || (r = t.value[e] = EY(st), r.stamp = -1), r.stamp < t.stamp && (r.stamp = t.stamp, t._mods[t._mlen++] = r), r;
};
function sve(e, t, r) {
  var n = r.sort, i = n && !r.ignorePeers, o = r.frame || [null, 0], l = e.data(n), c = l.length, g = 0, y = i ? jk(n) : null, C = {
    i0: 0,
    i1: 0,
    p0: 0,
    p1: 0,
    index: 0,
    data: l,
    compare: n || Wi(-1)
  };
  for (t.init(); g < c; ++g)
    uve(C, o, g, c), i && lve(C, y), t.update(C, l[g]);
}
function uve(e, t, r, n) {
  e.p0 = e.i0, e.p1 = e.i1, e.i0 = t[0] == null ? 0 : Math.max(0, r - Math.abs(t[0])), e.i1 = t[1] == null ? n : Math.min(n, r + Math.abs(t[1]) + 1), e.index = r;
}
function lve(e, t) {
  var r = e.i0, n = e.i1 - 1, i = e.compare, o = e.data, l = o.length - 1;
  r > 0 && !i(o[r], o[r - 1]) && (e.i0 = t.left(o, o[r])), n < l && !i(o[n], o[n + 1]) && (e.i1 = t.right(o, o[n]));
}
const cve = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  aggregate: nu,
  bin: Rk,
  collect: Mk,
  compare: SY,
  countpattern: Nk,
  cross: Fk,
  density: Uk,
  expression: AY,
  extent: qk,
  facet: db,
  field: DY,
  filter: Wk,
  flatten: $k,
  fold: Vk,
  formula: Hk,
  generate: kY,
  impute: Yk,
  joinaggregate: Gk,
  key: MY,
  load: NY,
  lookup: Kk,
  multiextent: IY,
  multivalues: FY,
  params: Xk,
  pivot: Qk,
  prefacet: LY,
  project: Zk,
  proxy: jY,
  relay: UY,
  sample: Jk,
  sequence: eR,
  sieve: qY,
  subflow: zk,
  tupleindex: zY,
  values: BY,
  window: tR
}, Symbol.toStringTag, { value: "Module" }));
var fl = "top", _a = "left", zo = "right", dl = "bottom", fve = "top-left", dve = "top-right", pve = "bottom-left", hve = "bottom-right", mve = "start", vve = "end", pb = "group", HY = "axis", gve = "title", yve = "frame", bve = "scope", rR = "legend", YY = "row-header", GY = "row-footer", KY = "row-title", XY = "column-header", QY = "column-footer", ZY = "column-title", _ve = "padding", Eve = "symbol", JY = "fit", Sve = "fit-x", wve = "fit-y", Ove = "pad", Tve = "none", vh = "all", jz = "each", Cve = "flush", yu = "column", bu = "row";
function Cn(e) {
  this.clear(), e && this.union(e);
}
var Kr = Cn.prototype;
Kr.clone = function() {
  return new Cn(this);
};
Kr.clear = function() {
  return this.x1 = +Number.MAX_VALUE, this.y1 = +Number.MAX_VALUE, this.x2 = -Number.MAX_VALUE, this.y2 = -Number.MAX_VALUE, this;
};
Kr.empty = function() {
  return this.x1 === +Number.MAX_VALUE && this.y1 === +Number.MAX_VALUE && this.x2 === -Number.MAX_VALUE && this.y2 === -Number.MAX_VALUE;
};
Kr.set = function(e, t, r, n) {
  return r < e ? (this.x2 = e, this.x1 = r) : (this.x1 = e, this.x2 = r), n < t ? (this.y2 = t, this.y1 = n) : (this.y1 = t, this.y2 = n), this;
};
Kr.add = function(e, t) {
  return e < this.x1 && (this.x1 = e), t < this.y1 && (this.y1 = t), e > this.x2 && (this.x2 = e), t > this.y2 && (this.y2 = t), this;
};
Kr.expand = function(e) {
  return this.x1 -= e, this.y1 -= e, this.x2 += e, this.y2 += e, this;
};
Kr.round = function() {
  return this.x1 = Math.floor(this.x1), this.y1 = Math.floor(this.y1), this.x2 = Math.ceil(this.x2), this.y2 = Math.ceil(this.y2), this;
};
Kr.translate = function(e, t) {
  return this.x1 += e, this.x2 += e, this.y1 += t, this.y2 += t, this;
};
Kr.rotate = function(e, t, r) {
  var n = Math.cos(e), i = Math.sin(e), o = t - t * n + r * i, l = r - t * i - r * n, c = this.x1, g = this.x2, y = this.y1, C = this.y2;
  return this.clear().add(n * c - i * y + o, i * c + n * y + l).add(n * c - i * C + o, i * c + n * C + l).add(n * g - i * y + o, i * g + n * y + l).add(n * g - i * C + o, i * g + n * C + l);
};
Kr.union = function(e) {
  return e.x1 < this.x1 && (this.x1 = e.x1), e.y1 < this.y1 && (this.y1 = e.y1), e.x2 > this.x2 && (this.x2 = e.x2), e.y2 > this.y2 && (this.y2 = e.y2), this;
};
Kr.intersect = function(e) {
  return e.x1 > this.x1 && (this.x1 = e.x1), e.y1 > this.y1 && (this.y1 = e.y1), e.x2 < this.x2 && (this.x2 = e.x2), e.y2 < this.y2 && (this.y2 = e.y2), this;
};
Kr.encloses = function(e) {
  return e && this.x1 <= e.x1 && this.x2 >= e.x2 && this.y1 <= e.y1 && this.y2 >= e.y2;
};
Kr.alignsWith = function(e) {
  return e && (this.x1 == e.x1 || this.x2 == e.x2 || this.y1 == e.y1 || this.y2 == e.y2);
};
Kr.intersects = function(e) {
  return e && !(this.x2 < e.x1 || this.x1 > e.x2 || this.y2 < e.y1 || this.y1 > e.y2);
};
Kr.contains = function(e, t) {
  return !(e < this.x1 || e > this.x2 || t < this.y1 || t > this.y2);
};
Kr.width = function() {
  return this.x2 - this.x1;
};
Kr.height = function() {
  return this.y2 - this.y1;
};
var xve = 0;
function eG(e, t) {
  var r = [], n;
  return n = {
    id: "gradient_" + xve++,
    x1: e ? e[0] : 0,
    y1: e ? e[1] : 0,
    x2: t ? t[0] : 1,
    y2: t ? t[1] : 0,
    stops: r,
    stop: function(i, o) {
      return r.push({ offset: i, color: o }), n;
    }
  };
}
function hb(e) {
  this.mark = e, this.bounds = this.bounds || new Cn();
}
function mb(e) {
  hb.call(this, e), this.items = this.items || [];
}
Ke(mb, hb);
function nR(e) {
  this._pending = 0, this._loader = e || ub();
}
var vb = nR.prototype;
vb.pending = function() {
  return this._pending;
};
function tG(e) {
  e._pending += 1;
}
function wf(e) {
  e._pending -= 1;
}
vb.sanitizeURL = function(e) {
  var t = this;
  return tG(t), t._loader.sanitize(e, { context: "href" }).then(function(r) {
    return wf(t), r;
  }).catch(function() {
    return wf(t), null;
  });
};
vb.loadImage = function(e) {
  var t = this, r = Kte();
  return tG(t), t._loader.sanitize(e, { context: "image" }).then(function(n) {
    var i = n.href;
    if (!i || !r) throw { url: i };
    var o = new r();
    return o.onload = function() {
      wf(t), o.loaded = !0;
    }, o.onerror = function() {
      wf(t), o.loaded = !1;
    }, o.src = i, o;
  }).catch(function(n) {
    return wf(t), { loaded: !1, width: 0, height: 0, src: n && n.url || "" };
  });
};
vb.ready = function() {
  var e = this;
  return new Promise(function(t) {
    function r(n) {
      e.pending() ? setTimeout(function() {
        r(!0);
      }, 10) : t(n);
    }
    r(!1);
  });
};
var IA = Math.PI, FA = 2 * IA, Ss = 1e-6, Ave = FA - Ss;
function LA() {
  this._x0 = this._y0 = // start of current subpath
  this._x1 = this._y1 = null, this._ = "";
}
function iu() {
  return new LA();
}
LA.prototype = iu.prototype = {
  constructor: LA,
  moveTo: function(e, t) {
    this._ += "M" + (this._x0 = this._x1 = +e) + "," + (this._y0 = this._y1 = +t);
  },
  closePath: function() {
    this._x1 !== null && (this._x1 = this._x0, this._y1 = this._y0, this._ += "Z");
  },
  lineTo: function(e, t) {
    this._ += "L" + (this._x1 = +e) + "," + (this._y1 = +t);
  },
  quadraticCurveTo: function(e, t, r, n) {
    this._ += "Q" + +e + "," + +t + "," + (this._x1 = +r) + "," + (this._y1 = +n);
  },
  bezierCurveTo: function(e, t, r, n, i, o) {
    this._ += "C" + +e + "," + +t + "," + +r + "," + +n + "," + (this._x1 = +i) + "," + (this._y1 = +o);
  },
  arcTo: function(e, t, r, n, i) {
    e = +e, t = +t, r = +r, n = +n, i = +i;
    var o = this._x1, l = this._y1, c = r - e, g = n - t, y = o - e, C = l - t, D = y * y + C * C;
    if (i < 0) throw new Error("negative radius: " + i);
    if (this._x1 === null)
      this._ += "M" + (this._x1 = e) + "," + (this._y1 = t);
    else if (D > Ss) if (!(Math.abs(C * c - g * y) > Ss) || !i)
      this._ += "L" + (this._x1 = e) + "," + (this._y1 = t);
    else {
      var x = r - o, M = n - l, N = c * c + g * g, F = x * x + M * M, z = Math.sqrt(N), A = Math.sqrt(D), u = i * Math.tan((IA - Math.acos((N + D - F) / (2 * z * A))) / 2), a = u / A, s = u / z;
      Math.abs(a - 1) > Ss && (this._ += "L" + (e + a * y) + "," + (t + a * C)), this._ += "A" + i + "," + i + ",0,0," + +(C * x > y * M) + "," + (this._x1 = e + s * c) + "," + (this._y1 = t + s * g);
    }
  },
  arc: function(e, t, r, n, i, o) {
    e = +e, t = +t, r = +r, o = !!o;
    var l = r * Math.cos(n), c = r * Math.sin(n), g = e + l, y = t + c, C = 1 ^ o, D = o ? n - i : i - n;
    if (r < 0) throw new Error("negative radius: " + r);
    this._x1 === null ? this._ += "M" + g + "," + y : (Math.abs(this._x1 - g) > Ss || Math.abs(this._y1 - y) > Ss) && (this._ += "L" + g + "," + y), r && (D < 0 && (D = D % FA + FA), D > Ave ? this._ += "A" + r + "," + r + ",0,1," + C + "," + (e - l) + "," + (t - c) + "A" + r + "," + r + ",0,1," + C + "," + (this._x1 = g) + "," + (this._y1 = y) : D > Ss && (this._ += "A" + r + "," + r + ",0," + +(D >= IA) + "," + C + "," + (this._x1 = e + r * Math.cos(i)) + "," + (this._y1 = t + r * Math.sin(i))));
  },
  rect: function(e, t, r, n) {
    this._ += "M" + (this._x0 = this._x1 = +e) + "," + (this._y0 = this._y1 = +t) + "h" + +r + "v" + +n + "h" + -r + "Z";
  },
  toString: function() {
    return this._;
  }
};
function ir(e) {
  return function() {
    return e;
  };
}
var Uz = Math.abs, Zr = Math.atan2, ls = Math.cos, Dve = Math.max, uC = Math.min, oa = Math.sin, Hu = Math.sqrt, en = 1e-12, pl = Math.PI, ug = pl / 2, rG = 2 * pl;
function Pve(e) {
  return e > 1 ? 0 : e < -1 ? pl : Math.acos(e);
}
function qz(e) {
  return e >= 1 ? ug : e <= -1 ? -ug : Math.asin(e);
}
function kve(e) {
  return e.innerRadius;
}
function Rve(e) {
  return e.outerRadius;
}
function Mve(e) {
  return e.startAngle;
}
function Nve(e) {
  return e.endAngle;
}
function Ive(e) {
  return e && e.padAngle;
}
function Fve(e, t, r, n, i, o, l, c) {
  var g = r - e, y = n - t, C = l - i, D = c - o, x = D * g - C * y;
  if (!(x * x < en))
    return x = (C * (t - o) - D * (e - i)) / x, [e + x * g, t + x * y];
}
function gh(e, t, r, n, i, o, l) {
  var c = e - r, g = t - n, y = (l ? o : -o) / Hu(c * c + g * g), C = y * g, D = -y * c, x = e + C, M = t + D, N = r + C, F = n + D, z = (x + N) / 2, A = (M + F) / 2, u = N - x, a = F - M, s = u * u + a * a, h = i - o, E = x * F - N * M, f = (a < 0 ? -1 : 1) * Hu(Dve(0, h * h * s - E * E)), S = (E * a - u * f) / s, _ = (-E * u - a * f) / s, d = (E * a + u * f) / s, p = (-E * u + a * f) / s, b = S - z, m = _ - A, v = d - z, O = p - A;
  return b * b + m * m > v * v + O * O && (S = d, _ = p), {
    cx: S,
    cy: _,
    x01: -C,
    y01: -D,
    x11: S * (i / h - 1),
    y11: _ * (i / h - 1)
  };
}
function Lve() {
  var e = kve, t = Rve, r = ir(0), n = null, i = Mve, o = Nve, l = Ive, c = null;
  function g() {
    var y, C, D = +e.apply(this, arguments), x = +t.apply(this, arguments), M = i.apply(this, arguments) - ug, N = o.apply(this, arguments) - ug, F = Uz(N - M), z = N > M;
    if (c || (c = y = iu()), x < D && (C = x, x = D, D = C), !(x > en)) c.moveTo(0, 0);
    else if (F > rG - en)
      c.moveTo(x * ls(M), x * oa(M)), c.arc(0, 0, x, M, N, !z), D > en && (c.moveTo(D * ls(N), D * oa(N)), c.arc(0, 0, D, N, M, z));
    else {
      var A = M, u = N, a = M, s = N, h = F, E = F, f = l.apply(this, arguments) / 2, S = f > en && (n ? +n.apply(this, arguments) : Hu(D * D + x * x)), _ = uC(Uz(x - D) / 2, +r.apply(this, arguments)), d = _, p = _, b, m;
      if (S > en) {
        var v = qz(S / D * oa(f)), O = qz(S / x * oa(f));
        (h -= v * 2) > en ? (v *= z ? 1 : -1, a += v, s -= v) : (h = 0, a = s = (M + N) / 2), (E -= O * 2) > en ? (O *= z ? 1 : -1, A += O, u -= O) : (E = 0, A = u = (M + N) / 2);
      }
      var T = x * ls(A), w = x * oa(A), P = D * ls(s), I = D * oa(s);
      if (_ > en) {
        var L = x * ls(u), R = x * oa(u), q = D * ls(a), B = D * oa(a), j;
        if (F < pl && (j = Fve(T, w, q, B, L, R, P, I))) {
          var k = T - j[0], U = w - j[1], W = L - j[0], $ = R - j[1], V = 1 / oa(Pve((k * W + U * $) / (Hu(k * k + U * U) * Hu(W * W + $ * $))) / 2), G = Hu(j[0] * j[0] + j[1] * j[1]);
          d = uC(_, (D - G) / (V - 1)), p = uC(_, (x - G) / (V + 1));
        }
      }
      E > en ? p > en ? (b = gh(q, B, T, w, x, p, z), m = gh(L, R, P, I, x, p, z), c.moveTo(b.cx + b.x01, b.cy + b.y01), p < _ ? c.arc(b.cx, b.cy, p, Zr(b.y01, b.x01), Zr(m.y01, m.x01), !z) : (c.arc(b.cx, b.cy, p, Zr(b.y01, b.x01), Zr(b.y11, b.x11), !z), c.arc(0, 0, x, Zr(b.cy + b.y11, b.cx + b.x11), Zr(m.cy + m.y11, m.cx + m.x11), !z), c.arc(m.cx, m.cy, p, Zr(m.y11, m.x11), Zr(m.y01, m.x01), !z))) : (c.moveTo(T, w), c.arc(0, 0, x, A, u, !z)) : c.moveTo(T, w), !(D > en) || !(h > en) ? c.lineTo(P, I) : d > en ? (b = gh(P, I, L, R, D, -d, z), m = gh(T, w, q, B, D, -d, z), c.lineTo(b.cx + b.x01, b.cy + b.y01), d < _ ? c.arc(b.cx, b.cy, d, Zr(b.y01, b.x01), Zr(m.y01, m.x01), !z) : (c.arc(b.cx, b.cy, d, Zr(b.y01, b.x01), Zr(b.y11, b.x11), !z), c.arc(0, 0, D, Zr(b.cy + b.y11, b.cx + b.x11), Zr(m.cy + m.y11, m.cx + m.x11), z), c.arc(m.cx, m.cy, d, Zr(m.y11, m.x11), Zr(m.y01, m.x01), !z))) : c.arc(0, 0, D, s, a, z);
    }
    if (c.closePath(), y) return c = null, y + "" || null;
  }
  return g.centroid = function() {
    var y = (+e.apply(this, arguments) + +t.apply(this, arguments)) / 2, C = (+i.apply(this, arguments) + +o.apply(this, arguments)) / 2 - pl / 2;
    return [ls(C) * y, oa(C) * y];
  }, g.innerRadius = function(y) {
    return arguments.length ? (e = typeof y == "function" ? y : ir(+y), g) : e;
  }, g.outerRadius = function(y) {
    return arguments.length ? (t = typeof y == "function" ? y : ir(+y), g) : t;
  }, g.cornerRadius = function(y) {
    return arguments.length ? (r = typeof y == "function" ? y : ir(+y), g) : r;
  }, g.padRadius = function(y) {
    return arguments.length ? (n = y == null ? null : typeof y == "function" ? y : ir(+y), g) : n;
  }, g.startAngle = function(y) {
    return arguments.length ? (i = typeof y == "function" ? y : ir(+y), g) : i;
  }, g.endAngle = function(y) {
    return arguments.length ? (o = typeof y == "function" ? y : ir(+y), g) : o;
  }, g.padAngle = function(y) {
    return arguments.length ? (l = typeof y == "function" ? y : ir(+y), g) : l;
  }, g.context = function(y) {
    return arguments.length ? (c = y ?? null, g) : c;
  }, g;
}
function nG(e) {
  this._context = e;
}
nG.prototype = {
  areaStart: function() {
    this._line = 0;
  },
  areaEnd: function() {
    this._line = NaN;
  },
  lineStart: function() {
    this._point = 0;
  },
  lineEnd: function() {
    (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
  },
  point: function(e, t) {
    switch (e = +e, t = +t, this._point) {
      case 0:
        this._point = 1, this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t);
        break;
      case 1:
        this._point = 2;
      default:
        this._context.lineTo(e, t);
        break;
    }
  }
};
function iR(e) {
  return new nG(e);
}
function iG(e) {
  return e[0];
}
function aG(e) {
  return e[1];
}
function oG() {
  var e = iG, t = aG, r = ir(!0), n = null, i = iR, o = null;
  function l(c) {
    var g, y = c.length, C, D = !1, x;
    for (n == null && (o = i(x = iu())), g = 0; g <= y; ++g)
      !(g < y && r(C = c[g], g, c)) === D && ((D = !D) ? o.lineStart() : o.lineEnd()), D && o.point(+e(C, g, c), +t(C, g, c));
    if (x) return o = null, x + "" || null;
  }
  return l.x = function(c) {
    return arguments.length ? (e = typeof c == "function" ? c : ir(+c), l) : e;
  }, l.y = function(c) {
    return arguments.length ? (t = typeof c == "function" ? c : ir(+c), l) : t;
  }, l.defined = function(c) {
    return arguments.length ? (r = typeof c == "function" ? c : ir(!!c), l) : r;
  }, l.curve = function(c) {
    return arguments.length ? (i = c, n != null && (o = i(n)), l) : i;
  }, l.context = function(c) {
    return arguments.length ? (c == null ? n = o = null : o = i(n = c), l) : n;
  }, l;
}
function sG() {
  var e = iG, t = null, r = ir(0), n = aG, i = ir(!0), o = null, l = iR, c = null;
  function g(C) {
    var D, x, M, N = C.length, F, z = !1, A, u = new Array(N), a = new Array(N);
    for (o == null && (c = l(A = iu())), D = 0; D <= N; ++D) {
      if (!(D < N && i(F = C[D], D, C)) === z)
        if (z = !z)
          x = D, c.areaStart(), c.lineStart();
        else {
          for (c.lineEnd(), c.lineStart(), M = D - 1; M >= x; --M)
            c.point(u[M], a[M]);
          c.lineEnd(), c.areaEnd();
        }
      z && (u[D] = +e(F, D, C), a[D] = +r(F, D, C), c.point(t ? +t(F, D, C) : u[D], n ? +n(F, D, C) : a[D]));
    }
    if (A) return c = null, A + "" || null;
  }
  function y() {
    return oG().defined(i).curve(l).context(o);
  }
  return g.x = function(C) {
    return arguments.length ? (e = typeof C == "function" ? C : ir(+C), t = null, g) : e;
  }, g.x0 = function(C) {
    return arguments.length ? (e = typeof C == "function" ? C : ir(+C), g) : e;
  }, g.x1 = function(C) {
    return arguments.length ? (t = C == null ? null : typeof C == "function" ? C : ir(+C), g) : t;
  }, g.y = function(C) {
    return arguments.length ? (r = typeof C == "function" ? C : ir(+C), n = null, g) : r;
  }, g.y0 = function(C) {
    return arguments.length ? (r = typeof C == "function" ? C : ir(+C), g) : r;
  }, g.y1 = function(C) {
    return arguments.length ? (n = C == null ? null : typeof C == "function" ? C : ir(+C), g) : n;
  }, g.lineX0 = g.lineY0 = function() {
    return y().x(e).y(r);
  }, g.lineY1 = function() {
    return y().x(e).y(n);
  }, g.lineX1 = function() {
    return y().x(t).y(r);
  }, g.defined = function(C) {
    return arguments.length ? (i = typeof C == "function" ? C : ir(!!C), g) : i;
  }, g.curve = function(C) {
    return arguments.length ? (l = C, o != null && (c = l(o)), g) : l;
  }, g.context = function(C) {
    return arguments.length ? (C == null ? o = c = null : c = l(o = C), g) : o;
  }, g;
}
const jve = {
  draw: function(e, t) {
    var r = Math.sqrt(t / pl);
    e.moveTo(r, 0), e.arc(0, 0, r, 0, rG);
  }
};
function Uve() {
  var e = ir(jve), t = ir(64), r = null;
  function n() {
    var i;
    if (r || (r = i = iu()), e.apply(this, arguments).draw(r, +t.apply(this, arguments)), i) return r = null, i + "" || null;
  }
  return n.type = function(i) {
    return arguments.length ? (e = typeof i == "function" ? i : ir(i), n) : e;
  }, n.size = function(i) {
    return arguments.length ? (t = typeof i == "function" ? i : ir(+i), n) : t;
  }, n.context = function(i) {
    return arguments.length ? (r = i ?? null, n) : r;
  }, n;
}
function $o() {
}
function lg(e, t, r) {
  e._context.bezierCurveTo(
    (2 * e._x0 + e._x1) / 3,
    (2 * e._y0 + e._y1) / 3,
    (e._x0 + 2 * e._x1) / 3,
    (e._y0 + 2 * e._y1) / 3,
    (e._x0 + 4 * e._x1 + t) / 6,
    (e._y0 + 4 * e._y1 + r) / 6
  );
}
function gb(e) {
  this._context = e;
}
gb.prototype = {
  areaStart: function() {
    this._line = 0;
  },
  areaEnd: function() {
    this._line = NaN;
  },
  lineStart: function() {
    this._x0 = this._x1 = this._y0 = this._y1 = NaN, this._point = 0;
  },
  lineEnd: function() {
    switch (this._point) {
      case 3:
        lg(this, this._x1, this._y1);
      case 2:
        this._context.lineTo(this._x1, this._y1);
        break;
    }
    (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
  },
  point: function(e, t) {
    switch (e = +e, t = +t, this._point) {
      case 0:
        this._point = 1, this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t);
        break;
      case 1:
        this._point = 2;
        break;
      case 2:
        this._point = 3, this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6);
      default:
        lg(this, e, t);
        break;
    }
    this._x0 = this._x1, this._x1 = e, this._y0 = this._y1, this._y1 = t;
  }
};
function qve(e) {
  return new gb(e);
}
function uG(e) {
  this._context = e;
}
uG.prototype = {
  areaStart: $o,
  areaEnd: $o,
  lineStart: function() {
    this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN, this._point = 0;
  },
  lineEnd: function() {
    switch (this._point) {
      case 1: {
        this._context.moveTo(this._x2, this._y2), this._context.closePath();
        break;
      }
      case 2: {
        this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3), this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3), this._context.closePath();
        break;
      }
      case 3: {
        this.point(this._x2, this._y2), this.point(this._x3, this._y3), this.point(this._x4, this._y4);
        break;
      }
    }
  },
  point: function(e, t) {
    switch (e = +e, t = +t, this._point) {
      case 0:
        this._point = 1, this._x2 = e, this._y2 = t;
        break;
      case 1:
        this._point = 2, this._x3 = e, this._y3 = t;
        break;
      case 2:
        this._point = 3, this._x4 = e, this._y4 = t, this._context.moveTo((this._x0 + 4 * this._x1 + e) / 6, (this._y0 + 4 * this._y1 + t) / 6);
        break;
      default:
        lg(this, e, t);
        break;
    }
    this._x0 = this._x1, this._x1 = e, this._y0 = this._y1, this._y1 = t;
  }
};
function zve(e) {
  return new uG(e);
}
function lG(e) {
  this._context = e;
}
lG.prototype = {
  areaStart: function() {
    this._line = 0;
  },
  areaEnd: function() {
    this._line = NaN;
  },
  lineStart: function() {
    this._x0 = this._x1 = this._y0 = this._y1 = NaN, this._point = 0;
  },
  lineEnd: function() {
    (this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line;
  },
  point: function(e, t) {
    switch (e = +e, t = +t, this._point) {
      case 0:
        this._point = 1;
        break;
      case 1:
        this._point = 2;
        break;
      case 2:
        this._point = 3;
        var r = (this._x0 + 4 * this._x1 + e) / 6, n = (this._y0 + 4 * this._y1 + t) / 6;
        this._line ? this._context.lineTo(r, n) : this._context.moveTo(r, n);
        break;
      case 3:
        this._point = 4;
      default:
        lg(this, e, t);
        break;
    }
    this._x0 = this._x1, this._x1 = e, this._y0 = this._y1, this._y1 = t;
  }
};
function Bve(e) {
  return new lG(e);
}
function cG(e, t) {
  this._basis = new gb(e), this._beta = t;
}
cG.prototype = {
  lineStart: function() {
    this._x = [], this._y = [], this._basis.lineStart();
  },
  lineEnd: function() {
    var e = this._x, t = this._y, r = e.length - 1;
    if (r > 0)
      for (var n = e[0], i = t[0], o = e[r] - n, l = t[r] - i, c = -1, g; ++c <= r; )
        g = c / r, this._basis.point(
          this._beta * e[c] + (1 - this._beta) * (n + g * o),
          this._beta * t[c] + (1 - this._beta) * (i + g * l)
        );
    this._x = this._y = null, this._basis.lineEnd();
  },
  point: function(e, t) {
    this._x.push(+e), this._y.push(+t);
  }
};
const Wve = function e(t) {
  function r(n) {
    return t === 1 ? new gb(n) : new cG(n, t);
  }
  return r.beta = function(n) {
    return e(+n);
  }, r;
}(0.85);
function cg(e, t, r) {
  e._context.bezierCurveTo(
    e._x1 + e._k * (e._x2 - e._x0),
    e._y1 + e._k * (e._y2 - e._y0),
    e._x2 + e._k * (e._x1 - t),
    e._y2 + e._k * (e._y1 - r),
    e._x2,
    e._y2
  );
}
function aR(e, t) {
  this._context = e, this._k = (1 - t) / 6;
}
aR.prototype = {
  areaStart: function() {
    this._line = 0;
  },
  areaEnd: function() {
    this._line = NaN;
  },
  lineStart: function() {
    this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._point = 0;
  },
  lineEnd: function() {
    switch (this._point) {
      case 2:
        this._context.lineTo(this._x2, this._y2);
        break;
      case 3:
        cg(this, this._x1, this._y1);
        break;
    }
    (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
  },
  point: function(e, t) {
    switch (e = +e, t = +t, this._point) {
      case 0:
        this._point = 1, this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t);
        break;
      case 1:
        this._point = 2, this._x1 = e, this._y1 = t;
        break;
      case 2:
        this._point = 3;
      default:
        cg(this, e, t);
        break;
    }
    this._x0 = this._x1, this._x1 = this._x2, this._x2 = e, this._y0 = this._y1, this._y1 = this._y2, this._y2 = t;
  }
};
const $ve = function e(t) {
  function r(n) {
    return new aR(n, t);
  }
  return r.tension = function(n) {
    return e(+n);
  }, r;
}(0);
function oR(e, t) {
  this._context = e, this._k = (1 - t) / 6;
}
oR.prototype = {
  areaStart: $o,
  areaEnd: $o,
  lineStart: function() {
    this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN, this._point = 0;
  },
  lineEnd: function() {
    switch (this._point) {
      case 1: {
        this._context.moveTo(this._x3, this._y3), this._context.closePath();
        break;
      }
      case 2: {
        this._context.lineTo(this._x3, this._y3), this._context.closePath();
        break;
      }
      case 3: {
        this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5);
        break;
      }
    }
  },
  point: function(e, t) {
    switch (e = +e, t = +t, this._point) {
      case 0:
        this._point = 1, this._x3 = e, this._y3 = t;
        break;
      case 1:
        this._point = 2, this._context.moveTo(this._x4 = e, this._y4 = t);
        break;
      case 2:
        this._point = 3, this._x5 = e, this._y5 = t;
        break;
      default:
        cg(this, e, t);
        break;
    }
    this._x0 = this._x1, this._x1 = this._x2, this._x2 = e, this._y0 = this._y1, this._y1 = this._y2, this._y2 = t;
  }
};
const Vve = function e(t) {
  function r(n) {
    return new oR(n, t);
  }
  return r.tension = function(n) {
    return e(+n);
  }, r;
}(0);
function sR(e, t) {
  this._context = e, this._k = (1 - t) / 6;
}
sR.prototype = {
  areaStart: function() {
    this._line = 0;
  },
  areaEnd: function() {
    this._line = NaN;
  },
  lineStart: function() {
    this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._point = 0;
  },
  lineEnd: function() {
    (this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line;
  },
  point: function(e, t) {
    switch (e = +e, t = +t, this._point) {
      case 0:
        this._point = 1;
        break;
      case 1:
        this._point = 2;
        break;
      case 2:
        this._point = 3, this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2);
        break;
      case 3:
        this._point = 4;
      default:
        cg(this, e, t);
        break;
    }
    this._x0 = this._x1, this._x1 = this._x2, this._x2 = e, this._y0 = this._y1, this._y1 = this._y2, this._y2 = t;
  }
};
const Hve = function e(t) {
  function r(n) {
    return new sR(n, t);
  }
  return r.tension = function(n) {
    return e(+n);
  }, r;
}(0);
function uR(e, t, r) {
  var n = e._x1, i = e._y1, o = e._x2, l = e._y2;
  if (e._l01_a > en) {
    var c = 2 * e._l01_2a + 3 * e._l01_a * e._l12_a + e._l12_2a, g = 3 * e._l01_a * (e._l01_a + e._l12_a);
    n = (n * c - e._x0 * e._l12_2a + e._x2 * e._l01_2a) / g, i = (i * c - e._y0 * e._l12_2a + e._y2 * e._l01_2a) / g;
  }
  if (e._l23_a > en) {
    var y = 2 * e._l23_2a + 3 * e._l23_a * e._l12_a + e._l12_2a, C = 3 * e._l23_a * (e._l23_a + e._l12_a);
    o = (o * y + e._x1 * e._l23_2a - t * e._l12_2a) / C, l = (l * y + e._y1 * e._l23_2a - r * e._l12_2a) / C;
  }
  e._context.bezierCurveTo(n, i, o, l, e._x2, e._y2);
}
function fG(e, t) {
  this._context = e, this._alpha = t;
}
fG.prototype = {
  areaStart: function() {
    this._line = 0;
  },
  areaEnd: function() {
    this._line = NaN;
  },
  lineStart: function() {
    this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0;
  },
  lineEnd: function() {
    switch (this._point) {
      case 2:
        this._context.lineTo(this._x2, this._y2);
        break;
      case 3:
        this.point(this._x2, this._y2);
        break;
    }
    (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
  },
  point: function(e, t) {
    if (e = +e, t = +t, this._point) {
      var r = this._x2 - e, n = this._y2 - t;
      this._l23_a = Math.sqrt(this._l23_2a = Math.pow(r * r + n * n, this._alpha));
    }
    switch (this._point) {
      case 0:
        this._point = 1, this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t);
        break;
      case 1:
        this._point = 2;
        break;
      case 2:
        this._point = 3;
      default:
        uR(this, e, t);
        break;
    }
    this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = e, this._y0 = this._y1, this._y1 = this._y2, this._y2 = t;
  }
};
const Yve = function e(t) {
  function r(n) {
    return t ? new fG(n, t) : new aR(n, 0);
  }
  return r.alpha = function(n) {
    return e(+n);
  }, r;
}(0.5);
function dG(e, t) {
  this._context = e, this._alpha = t;
}
dG.prototype = {
  areaStart: $o,
  areaEnd: $o,
  lineStart: function() {
    this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0;
  },
  lineEnd: function() {
    switch (this._point) {
      case 1: {
        this._context.moveTo(this._x3, this._y3), this._context.closePath();
        break;
      }
      case 2: {
        this._context.lineTo(this._x3, this._y3), this._context.closePath();
        break;
      }
      case 3: {
        this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5);
        break;
      }
    }
  },
  point: function(e, t) {
    if (e = +e, t = +t, this._point) {
      var r = this._x2 - e, n = this._y2 - t;
      this._l23_a = Math.sqrt(this._l23_2a = Math.pow(r * r + n * n, this._alpha));
    }
    switch (this._point) {
      case 0:
        this._point = 1, this._x3 = e, this._y3 = t;
        break;
      case 1:
        this._point = 2, this._context.moveTo(this._x4 = e, this._y4 = t);
        break;
      case 2:
        this._point = 3, this._x5 = e, this._y5 = t;
        break;
      default:
        uR(this, e, t);
        break;
    }
    this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = e, this._y0 = this._y1, this._y1 = this._y2, this._y2 = t;
  }
};
const Gve = function e(t) {
  function r(n) {
    return t ? new dG(n, t) : new oR(n, 0);
  }
  return r.alpha = function(n) {
    return e(+n);
  }, r;
}(0.5);
function pG(e, t) {
  this._context = e, this._alpha = t;
}
pG.prototype = {
  areaStart: function() {
    this._line = 0;
  },
  areaEnd: function() {
    this._line = NaN;
  },
  lineStart: function() {
    this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN, this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0;
  },
  lineEnd: function() {
    (this._line || this._line !== 0 && this._point === 3) && this._context.closePath(), this._line = 1 - this._line;
  },
  point: function(e, t) {
    if (e = +e, t = +t, this._point) {
      var r = this._x2 - e, n = this._y2 - t;
      this._l23_a = Math.sqrt(this._l23_2a = Math.pow(r * r + n * n, this._alpha));
    }
    switch (this._point) {
      case 0:
        this._point = 1;
        break;
      case 1:
        this._point = 2;
        break;
      case 2:
        this._point = 3, this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2);
        break;
      case 3:
        this._point = 4;
      default:
        uR(this, e, t);
        break;
    }
    this._l01_a = this._l12_a, this._l12_a = this._l23_a, this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a, this._x0 = this._x1, this._x1 = this._x2, this._x2 = e, this._y0 = this._y1, this._y1 = this._y2, this._y2 = t;
  }
};
const Kve = function e(t) {
  function r(n) {
    return t ? new pG(n, t) : new sR(n, 0);
  }
  return r.alpha = function(n) {
    return e(+n);
  }, r;
}(0.5);
function hG(e) {
  this._context = e;
}
hG.prototype = {
  areaStart: $o,
  areaEnd: $o,
  lineStart: function() {
    this._point = 0;
  },
  lineEnd: function() {
    this._point && this._context.closePath();
  },
  point: function(e, t) {
    e = +e, t = +t, this._point ? this._context.lineTo(e, t) : (this._point = 1, this._context.moveTo(e, t));
  }
};
function Xve(e) {
  return new hG(e);
}
function zz(e) {
  return e < 0 ? -1 : 1;
}
function Bz(e, t, r) {
  var n = e._x1 - e._x0, i = t - e._x1, o = (e._y1 - e._y0) / (n || i < 0 && -0), l = (r - e._y1) / (i || n < 0 && -0), c = (o * i + l * n) / (n + i);
  return (zz(o) + zz(l)) * Math.min(Math.abs(o), Math.abs(l), 0.5 * Math.abs(c)) || 0;
}
function Wz(e, t) {
  var r = e._x1 - e._x0;
  return r ? (3 * (e._y1 - e._y0) / r - t) / 2 : t;
}
function lC(e, t, r) {
  var n = e._x0, i = e._y0, o = e._x1, l = e._y1, c = (o - n) / 3;
  e._context.bezierCurveTo(n + c, i + c * t, o - c, l - c * r, o, l);
}
function fg(e) {
  this._context = e;
}
fg.prototype = {
  areaStart: function() {
    this._line = 0;
  },
  areaEnd: function() {
    this._line = NaN;
  },
  lineStart: function() {
    this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN, this._point = 0;
  },
  lineEnd: function() {
    switch (this._point) {
      case 2:
        this._context.lineTo(this._x1, this._y1);
        break;
      case 3:
        lC(this, this._t0, Wz(this, this._t0));
        break;
    }
    (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line = 1 - this._line;
  },
  point: function(e, t) {
    var r = NaN;
    if (e = +e, t = +t, !(e === this._x1 && t === this._y1)) {
      switch (this._point) {
        case 0:
          this._point = 1, this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t);
          break;
        case 1:
          this._point = 2;
          break;
        case 2:
          this._point = 3, lC(this, Wz(this, r = Bz(this, e, t)), r);
          break;
        default:
          lC(this, this._t0, r = Bz(this, e, t));
          break;
      }
      this._x0 = this._x1, this._x1 = e, this._y0 = this._y1, this._y1 = t, this._t0 = r;
    }
  }
};
function mG(e) {
  this._context = new vG(e);
}
(mG.prototype = Object.create(fg.prototype)).point = function(e, t) {
  fg.prototype.point.call(this, t, e);
};
function vG(e) {
  this._context = e;
}
vG.prototype = {
  moveTo: function(e, t) {
    this._context.moveTo(t, e);
  },
  closePath: function() {
    this._context.closePath();
  },
  lineTo: function(e, t) {
    this._context.lineTo(t, e);
  },
  bezierCurveTo: function(e, t, r, n, i, o) {
    this._context.bezierCurveTo(t, e, n, r, o, i);
  }
};
function Qve(e) {
  return new fg(e);
}
function Zve(e) {
  return new mG(e);
}
function gG(e) {
  this._context = e;
}
gG.prototype = {
  areaStart: function() {
    this._line = 0;
  },
  areaEnd: function() {
    this._line = NaN;
  },
  lineStart: function() {
    this._x = [], this._y = [];
  },
  lineEnd: function() {
    var e = this._x, t = this._y, r = e.length;
    if (r)
      if (this._line ? this._context.lineTo(e[0], t[0]) : this._context.moveTo(e[0], t[0]), r === 2)
        this._context.lineTo(e[1], t[1]);
      else
        for (var n = $z(e), i = $z(t), o = 0, l = 1; l < r; ++o, ++l)
          this._context.bezierCurveTo(n[0][o], i[0][o], n[1][o], i[1][o], e[l], t[l]);
    (this._line || this._line !== 0 && r === 1) && this._context.closePath(), this._line = 1 - this._line, this._x = this._y = null;
  },
  point: function(e, t) {
    this._x.push(+e), this._y.push(+t);
  }
};
function $z(e) {
  var t, r = e.length - 1, n, i = new Array(r), o = new Array(r), l = new Array(r);
  for (i[0] = 0, o[0] = 2, l[0] = e[0] + 2 * e[1], t = 1; t < r - 1; ++t) i[t] = 1, o[t] = 4, l[t] = 4 * e[t] + 2 * e[t + 1];
  for (i[r - 1] = 2, o[r - 1] = 7, l[r - 1] = 8 * e[r - 1] + e[r], t = 1; t < r; ++t) n = i[t] / o[t - 1], o[t] -= n, l[t] -= n * l[t - 1];
  for (i[r - 1] = l[r - 1] / o[r - 1], t = r - 2; t >= 0; --t) i[t] = (l[t] - i[t + 1]) / o[t];
  for (o[r - 1] = (e[r] + i[r - 1]) / 2, t = 0; t < r - 1; ++t) o[t] = 2 * e[t + 1] - i[t + 1];
  return [i, o];
}
function Jve(e) {
  return new gG(e);
}
function yb(e, t) {
  this._context = e, this._t = t;
}
yb.prototype = {
  areaStart: function() {
    this._line = 0;
  },
  areaEnd: function() {
    this._line = NaN;
  },
  lineStart: function() {
    this._x = this._y = NaN, this._point = 0;
  },
  lineEnd: function() {
    0 < this._t && this._t < 1 && this._point === 2 && this._context.lineTo(this._x, this._y), (this._line || this._line !== 0 && this._point === 1) && this._context.closePath(), this._line >= 0 && (this._t = 1 - this._t, this._line = 1 - this._line);
  },
  point: function(e, t) {
    switch (e = +e, t = +t, this._point) {
      case 0:
        this._point = 1, this._line ? this._context.lineTo(e, t) : this._context.moveTo(e, t);
        break;
      case 1:
        this._point = 2;
      default: {
        if (this._t <= 0)
          this._context.lineTo(this._x, t), this._context.lineTo(e, t);
        else {
          var r = this._x * (1 - this._t) + e * this._t;
          this._context.lineTo(r, this._y), this._context.lineTo(r, t);
        }
        break;
      }
    }
    this._x = e, this._y = t;
  }
};
function ege(e) {
  return new yb(e, 0.5);
}
function tge(e) {
  return new yb(e, 0);
}
function rge(e) {
  return new yb(e, 1);
}
var Vz = {
  basis: {
    curve: qve
  },
  "basis-closed": {
    curve: zve
  },
  "basis-open": {
    curve: Bve
  },
  bundle: {
    curve: Wve,
    tension: "beta",
    value: 0.85
  },
  cardinal: {
    curve: $ve,
    tension: "tension",
    value: 0
  },
  "cardinal-open": {
    curve: Hve,
    tension: "tension",
    value: 0
  },
  "cardinal-closed": {
    curve: Vve,
    tension: "tension",
    value: 0
  },
  "catmull-rom": {
    curve: Yve,
    tension: "alpha",
    value: 0.5
  },
  "catmull-rom-closed": {
    curve: Gve,
    tension: "alpha",
    value: 0.5
  },
  "catmull-rom-open": {
    curve: Kve,
    tension: "alpha",
    value: 0.5
  },
  linear: {
    curve: iR
  },
  "linear-closed": {
    curve: Xve
  },
  monotone: {
    horizontal: Zve,
    vertical: Qve
  },
  natural: {
    curve: Jve
  },
  step: {
    curve: ege
  },
  "step-after": {
    curve: rge
  },
  "step-before": {
    curve: tge
  }
};
function lR(e, t, r) {
  var n = Vz.hasOwnProperty(e) && Vz[e], i = null;
  return n && (i = n.curve || n[t || "vertical"], n.tension && r != null && (i = i[n.tension](r))), i;
}
var nge = { m: 2, l: 2, h: 1, v: 1, c: 6, s: 4, q: 4, t: 2, a: 7 }, yh = [/([MLHVCSQTAZmlhvcsqtaz])/g, /###/, /(\d)([-+])/g, /\s|,|###/];
function hl(e) {
  var t = [], r, n, i, o, l, c, g, y, C, D, x;
  for (r = e.slice().replace(yh[0], "###$1").split(yh[1]).slice(1), y = 0, D = r.length; y < D; ++y) {
    for (n = r[y], i = n.slice(1).trim().replace(yh[2], "$1###$2").split(yh[3]), c = n.charAt(0), o = [c], C = 0, x = i.length; C < x; ++C)
      (l = +i[C]) === l && o.push(l);
    if (g = nge[c.toLowerCase()], o.length - 1 > g)
      for (C = 1, x = o.length; C < x; C += g)
        t.push([c].concat(o.slice(C, C + g)));
    else
      t.push(o);
  }
  return t;
}
var cC = {}, fC = {}, yG = [].join;
function ige(e, t, r, n, i, o, l, c, g) {
  var y = yG.call(arguments);
  if (cC[y])
    return cC[y];
  var C = l * (Math.PI / 180), D = Math.sin(C), x = Math.cos(C);
  r = Math.abs(r), n = Math.abs(n);
  var M = x * (c - e) * 0.5 + D * (g - t) * 0.5, N = x * (g - t) * 0.5 - D * (c - e) * 0.5, F = M * M / (r * r) + N * N / (n * n);
  F > 1 && (F = Math.sqrt(F), r *= F, n *= F);
  var z = x / r, A = D / r, u = -D / n, a = x / n, s = z * c + A * g, h = u * c + a * g, E = z * e + A * t, f = u * e + a * t, S = (E - s) * (E - s) + (f - h) * (f - h), _ = 1 / S - 0.25;
  _ < 0 && (_ = 0);
  var d = Math.sqrt(_);
  o == i && (d = -d);
  var p = 0.5 * (s + E) - d * (f - h), b = 0.5 * (h + f) + d * (E - s), m = Math.atan2(h - b, s - p), v = Math.atan2(f - b, E - p), O = v - m;
  O < 0 && o === 1 ? O += 2 * Math.PI : O > 0 && o === 0 && (O -= 2 * Math.PI);
  for (var T = Math.ceil(Math.abs(O / (Math.PI * 0.5 + 1e-3))), w = [], P = 0; P < T; ++P) {
    var I = m + P * O / T, L = m + (P + 1) * O / T;
    w[P] = [p, b, I, L, r, n, D, x];
  }
  return cC[y] = w;
}
function age(e) {
  var t = yG.call(e);
  if (fC[t])
    return fC[t];
  var r = e[0], n = e[1], i = e[2], o = e[3], l = e[4], c = e[5], g = e[6], y = e[7], C = y * l, D = -g * c, x = g * l, M = y * c, N = Math.cos(i), F = Math.sin(i), z = Math.cos(o), A = Math.sin(o), u = 0.5 * (o - i), a = Math.sin(u * 0.5), s = 8 / 3 * a * a / Math.sin(u), h = r + N - s * F, E = n + F + s * N, f = r + z, S = n + A, _ = f + s * A, d = S - s * z;
  return fC[t] = [
    C * h + D * E,
    x * h + M * E,
    C * _ + D * d,
    x * _ + M * d,
    C * f + D * S,
    x * f + M * S
  ];
}
var sa = ["l", 0, 0, 0, 0, 0, 0, 0];
function oge(e, t) {
  var r = sa[0] = e[0];
  if (r === "a" || r === "A")
    sa[1] = t * e[1], sa[2] = t * e[2], sa[3] = e[3], sa[4] = e[4], sa[5] = e[5], sa[6] = t * e[6], sa[7] = t * e[7];
  else
    for (var n = 1, i = e.length; n < i; ++n)
      sa[n] = t * e[n];
  return sa;
}
function bb(e, t, r, n, i) {
  var o, l = null, c = 0, g = 0, y = 0, C = 0, D, x, M, N;
  r == null && (r = 0), n == null && (n = 0), i == null && (i = 1), e.beginPath && e.beginPath();
  for (var F = 0, z = t.length; F < z; ++F) {
    switch (o = t[F], i !== 1 && (o = oge(o, i)), o[0]) {
      case "l":
        c += o[1], g += o[2], e.lineTo(c + r, g + n);
        break;
      case "L":
        c = o[1], g = o[2], e.lineTo(c + r, g + n);
        break;
      case "h":
        c += o[1], e.lineTo(c + r, g + n);
        break;
      case "H":
        c = o[1], e.lineTo(c + r, g + n);
        break;
      case "v":
        g += o[1], e.lineTo(c + r, g + n);
        break;
      case "V":
        g = o[1], e.lineTo(c + r, g + n);
        break;
      case "m":
        c += o[1], g += o[2], e.moveTo(c + r, g + n);
        break;
      case "M":
        c = o[1], g = o[2], e.moveTo(c + r, g + n);
        break;
      case "c":
        D = c + o[5], x = g + o[6], y = c + o[3], C = g + o[4], e.bezierCurveTo(
          c + o[1] + r,
          // x1
          g + o[2] + n,
          // y1
          y + r,
          // x2
          C + n,
          // y2
          D + r,
          x + n
        ), c = D, g = x;
        break;
      case "C":
        c = o[5], g = o[6], y = o[3], C = o[4], e.bezierCurveTo(
          o[1] + r,
          o[2] + n,
          y + r,
          C + n,
          c + r,
          g + n
        );
        break;
      case "s":
        D = c + o[3], x = g + o[4], y = 2 * c - y, C = 2 * g - C, e.bezierCurveTo(
          y + r,
          C + n,
          c + o[1] + r,
          g + o[2] + n,
          D + r,
          x + n
        ), y = c + o[1], C = g + o[2], c = D, g = x;
        break;
      case "S":
        D = o[3], x = o[4], y = 2 * c - y, C = 2 * g - C, e.bezierCurveTo(
          y + r,
          C + n,
          o[1] + r,
          o[2] + n,
          D + r,
          x + n
        ), c = D, g = x, y = o[1], C = o[2];
        break;
      case "q":
        D = c + o[3], x = g + o[4], y = c + o[1], C = g + o[2], e.quadraticCurveTo(
          y + r,
          C + n,
          D + r,
          x + n
        ), c = D, g = x;
        break;
      case "Q":
        D = o[3], x = o[4], e.quadraticCurveTo(
          o[1] + r,
          o[2] + n,
          D + r,
          x + n
        ), c = D, g = x, y = o[1], C = o[2];
        break;
      case "t":
        D = c + o[1], x = g + o[2], l[0].match(/[QqTt]/) === null ? (y = c, C = g) : l[0] === "t" ? (y = 2 * c - M, C = 2 * g - N) : l[0] === "q" && (y = 2 * c - y, C = 2 * g - C), M = y, N = C, e.quadraticCurveTo(
          y + r,
          C + n,
          D + r,
          x + n
        ), c = D, g = x, y = c + o[1], C = g + o[2];
        break;
      case "T":
        D = o[1], x = o[2], y = 2 * c - y, C = 2 * g - C, e.quadraticCurveTo(
          y + r,
          C + n,
          D + r,
          x + n
        ), c = D, g = x;
        break;
      case "a":
        Hz(e, c + r, g + n, [
          o[1],
          o[2],
          o[3],
          o[4],
          o[5],
          o[6] + c + r,
          o[7] + g + n
        ]), c += o[6], g += o[7];
        break;
      case "A":
        Hz(e, c + r, g + n, [
          o[1],
          o[2],
          o[3],
          o[4],
          o[5],
          o[6] + r,
          o[7] + n
        ]), c = o[6], g = o[7];
        break;
      case "z":
      case "Z":
        e.closePath();
        break;
    }
    l = o;
  }
}
function Hz(e, t, r, n) {
  for (var i = ige(
    n[5],
    // end x
    n[6],
    // end y
    n[0],
    // radius x
    n[1],
    // radius y
    n[3],
    // large flag
    n[4],
    // sweep flag
    n[2],
    // rotation
    t,
    r
  ), o = 0; o < i.length; ++o) {
    var l = age(i[o]);
    e.bezierCurveTo(l[0], l[1], l[2], l[3], l[4], l[5]);
  }
}
var sge = 2 * Math.PI, bh = Math.sqrt(3) / 2, Yz = {
  circle: {
    draw: function(e, t) {
      var r = Math.sqrt(t) / 2;
      e.moveTo(r, 0), e.arc(0, 0, r, 0, sge);
    }
  },
  cross: {
    draw: function(e, t) {
      var r = Math.sqrt(t) / 2, n = r / 2.5;
      e.moveTo(-r, -n), e.lineTo(-r, n), e.lineTo(-n, n), e.lineTo(-n, r), e.lineTo(n, r), e.lineTo(n, n), e.lineTo(r, n), e.lineTo(r, -n), e.lineTo(n, -n), e.lineTo(n, -r), e.lineTo(-n, -r), e.lineTo(-n, -n), e.closePath();
    }
  },
  diamond: {
    draw: function(e, t) {
      var r = Math.sqrt(t) / 2;
      e.moveTo(-r, 0), e.lineTo(0, -r), e.lineTo(r, 0), e.lineTo(0, r), e.closePath();
    }
  },
  square: {
    draw: function(e, t) {
      var r = Math.sqrt(t), n = -r / 2;
      e.rect(n, n, r, r);
    }
  },
  "triangle-up": {
    draw: function(e, t) {
      var r = Math.sqrt(t) / 2, n = bh * r;
      e.moveTo(0, -n), e.lineTo(-r, n), e.lineTo(r, n), e.closePath();
    }
  },
  "triangle-down": {
    draw: function(e, t) {
      var r = Math.sqrt(t) / 2, n = bh * r;
      e.moveTo(0, n), e.lineTo(-r, -n), e.lineTo(r, -n), e.closePath();
    }
  },
  "triangle-right": {
    draw: function(e, t) {
      var r = Math.sqrt(t) / 2, n = bh * r;
      e.moveTo(n, 0), e.lineTo(-n, -r), e.lineTo(-n, r), e.closePath();
    }
  },
  "triangle-left": {
    draw: function(e, t) {
      var r = Math.sqrt(t) / 2, n = bh * r;
      e.moveTo(-n, 0), e.lineTo(n, -r), e.lineTo(n, r), e.closePath();
    }
  }
};
function bG(e) {
  return Yz.hasOwnProperty(e) ? Yz[e] : uge(e);
}
var dC = {};
function uge(e) {
  if (!dC.hasOwnProperty(e)) {
    var t = hl(e);
    dC[e] = {
      draw: function(r, n) {
        bb(r, t, 0, 0, Math.sqrt(n) / 2);
      }
    };
  }
  return dC[e];
}
function lge(e) {
  return e.x;
}
function cge(e) {
  return e.y;
}
function fge(e) {
  return e.width;
}
function dge(e) {
  return e.height;
}
function _u(e) {
  return function() {
    return e;
  };
}
function _G() {
  var e = lge, t = cge, r = fge, n = dge, i = _u(0), o = null;
  function l(c, g, y) {
    var C, D = g ?? +e.call(this, c), x = y ?? +t.call(this, c), M = +r.call(this, c), N = +n.call(this, c), F = +i.call(this, c);
    if (o || (o = C = iu()), F <= 0)
      o.rect(D, x, M, N);
    else {
      var z = D + M, A = x + N;
      o.moveTo(D + F, x), o.lineTo(z - F, x), o.quadraticCurveTo(z, x, z, x + F), o.lineTo(z, A - F), o.quadraticCurveTo(z, A, z - F, A), o.lineTo(D + F, A), o.quadraticCurveTo(D, A, D, A - F), o.lineTo(D, x + F), o.quadraticCurveTo(D, x, D + F, x), o.closePath();
    }
    if (C)
      return o = null, C + "" || null;
  }
  return l.x = function(c) {
    return arguments.length ? (e = typeof c == "function" ? c : _u(+c), l) : e;
  }, l.y = function(c) {
    return arguments.length ? (t = typeof c == "function" ? c : _u(+c), l) : t;
  }, l.width = function(c) {
    return arguments.length ? (r = typeof c == "function" ? c : _u(+c), l) : r;
  }, l.height = function(c) {
    return arguments.length ? (n = typeof c == "function" ? c : _u(+c), l) : n;
  }, l.cornerRadius = function(c) {
    return arguments.length ? (i = typeof c == "function" ? c : _u(+c), l) : i;
  }, l.context = function(c) {
    return arguments.length ? (o = c ?? null, l) : o;
  }, l;
}
var pC = Math.PI;
function EG() {
  var e, t, r, n, i = null, o, l, c, g;
  function y(D, x, M) {
    var N = M / 2;
    if (o) {
      var F = c - x, z = D - l;
      if (F || z) {
        var A = Math.sqrt(F * F + z * z), u = (F /= A) * g, a = (z /= A) * g, s = Math.atan2(z, F);
        i.moveTo(l - u, c - a), i.lineTo(D - F * N, x - z * N), i.arc(D, x, N, s - pC, s), i.lineTo(l + u, c + a), i.arc(l, c, g, s, s + pC);
      } else
        i.arc(D, x, N, 0, 2 * pC);
      i.closePath();
    } else
      o = 1;
    l = D, c = x, g = N;
  }
  function C(D) {
    var x, M = D.length, N, F = !1, z;
    for (i == null && (i = z = iu()), x = 0; x <= M; ++x)
      !(x < M && n(N = D[x], x, D)) === F && (F = !F) && (o = 0), F && y(+e(N, x, D), +t(N, x, D), +r(N, x, D));
    if (z)
      return i = null, z + "" || null;
  }
  return C.x = function(D) {
    return arguments.length ? (e = D, C) : e;
  }, C.y = function(D) {
    return arguments.length ? (t = D, C) : t;
  }, C.size = function(D) {
    return arguments.length ? (r = D, C) : r;
  }, C.defined = function(D) {
    return arguments.length ? (n = D, C) : n;
  }, C.context = function(D) {
    return arguments.length ? (D == null ? i = null : i = D, C) : i;
  }, C;
}
function xd(e) {
  return e.x || 0;
}
function Ad(e) {
  return e.y || 0;
}
function pge(e) {
  return e.width || 0;
}
function hge(e) {
  return e.size || 1;
}
function mge(e) {
  return e.height || 0;
}
function vge(e) {
  return (e.x || 0) + (e.width || 0);
}
function gge(e) {
  return (e.y || 0) + (e.height || 0);
}
function yge(e) {
  return e.startAngle || 0;
}
function bge(e) {
  return e.endAngle || 0;
}
function _ge(e) {
  return e.padAngle || 0;
}
function Ege(e) {
  return e.innerRadius || 0;
}
function Sge(e) {
  return e.outerRadius || 0;
}
function SG(e) {
  return e.cornerRadius || 0;
}
function _b(e) {
  return e.defined !== !1;
}
function wge(e) {
  return e.size == null ? 64 : e.size;
}
function Oge(e) {
  return bG(e.shape || "circle");
}
var Tge = Lve().startAngle(yge).endAngle(bge).padAngle(_ge).innerRadius(Ege).outerRadius(Sge).cornerRadius(SG), Cge = sG().x(xd).y1(Ad).y0(gge).defined(_b), xge = sG().y(Ad).x1(xd).x0(vge).defined(_b), Age = oG().x(xd).y(Ad).defined(_b), Dge = _G().x(xd).y(Ad).width(pge).height(mge).cornerRadius(SG), Pge = Uve().type(Oge).size(wge), kge = EG().x(xd).y(Ad).defined(_b).size(hge);
function Rge(e, t) {
  return Tge.context(e)(t);
}
function Mge(e, t) {
  var r = t[0], n = r.interpolate || "linear";
  return (r.orient === "horizontal" ? xge : Cge).curve(lR(n, r.orient, r.tension)).context(e)(t);
}
function Nge(e, t) {
  var r = t[0], n = r.interpolate || "linear";
  return Age.curve(lR(n, r.orient, r.tension)).context(e)(t);
}
function Eb(e, t, r, n) {
  return Dge.context(e)(t, r, n);
}
function Ige(e, t) {
  return (t.mark.shape || t.shape).context(e)(t);
}
function Fge(e, t) {
  return Pge.context(e)(t);
}
function Lge(e, t) {
  return kge.context(e)(t);
}
function po(e, t) {
  return t.stroke && t.opacity !== 0 && t.strokeOpacity !== 0 && e.expand(t.strokeWidth != null ? +t.strokeWidth : 1), e;
}
var wG, Os = Math.PI * 2, lc = Os / 4, jge = Os - 1e-8;
function qn(e) {
  return wG = e, qn;
}
function OG() {
}
function Xn(e, t) {
  wG.add(e, t);
}
qn.beginPath = OG;
qn.closePath = OG;
qn.moveTo = Xn;
qn.lineTo = Xn;
qn.rect = function(e, t, r, n) {
  Xn(e, t), Xn(e + r, t + n);
};
qn.quadraticCurveTo = function(e, t, r, n) {
  Xn(e, t), Xn(r, n);
};
qn.bezierCurveTo = function(e, t, r, n, i, o) {
  Xn(e, t), Xn(r, n), Xn(i, o);
};
qn.arc = function(e, t, r, n, i, o) {
  if (Math.abs(i - n) > jge) {
    Xn(e - r, t - r), Xn(e + r, t + r);
    return;
  }
  var l = 1 / 0, c = -1 / 0, g = 1 / 0, y = -1 / 0, C, D, x, M;
  function N(F) {
    x = r * Math.cos(F), M = r * Math.sin(F), x < l && (l = x), x > c && (c = x), M < g && (g = M), M > y && (y = M);
  }
  if (N(n), N(i), i !== n)
    if (n = n % Os, n < 0 && (n += Os), i = i % Os, i < 0 && (i += Os), i < n && (o = !o, C = n, n = i, i = C), o)
      for (i -= Os, C = n - n % lc, D = 0; D < 4 && C > i; ++D, C -= lc) N(C);
    else
      for (C = n - n % lc + lc, D = 0; D < 4 && C < i; ++D, C = C + lc) N(C);
  Xn(e + l, t + g), Xn(e + c, t + y);
};
function Uge(e, t, r) {
  for (var n = r.width(), i = r.height(), o = r.x1 + t.x1 * n, l = r.y1 + t.y1 * i, c = r.x1 + t.x2 * n, g = r.y1 + t.y2 * i, y = t.stops, C = 0, D = y.length, x = e.createLinearGradient(o, l, c, g); C < D; ++C)
    x.addColorStop(y[C].offset, y[C].color);
  return x;
}
function TG(e, t, r) {
  return r.id ? Uge(e, r, t.bounds) : r;
}
function cR(e, t, r) {
  return r *= t.fillOpacity == null ? 1 : t.fillOpacity, r > 0 ? (e.globalAlpha = r, e.fillStyle = TG(e, t, t.fill), !0) : !1;
}
var qge = [];
function Sb(e, t, r) {
  var n = (n = t.strokeWidth) != null ? n : 1;
  return n <= 0 ? !1 : (r *= t.strokeOpacity == null ? 1 : t.strokeOpacity, r > 0 ? (e.globalAlpha = r, e.strokeStyle = TG(e, t, t.stroke), e.lineWidth = n, e.lineCap = t.strokeCap || "butt", e.lineJoin = t.strokeJoin || "miter", e.miterLimit = t.strokeMiterLimit || 10, e.setLineDash && (e.setLineDash(t.strokeDash || qge), e.lineDashOffset = t.strokeDashOffset || 0), !0) : !1);
}
function zge(e, t) {
  return e.zindex - t.zindex || e.index - t.index;
}
function fR(e) {
  if (!e.zdirty) return e.zitems;
  var t = e.items, r = [], n, i, o;
  for (i = 0, o = t.length; i < o; ++i)
    n = t[i], n.index = i, n.zindex && r.push(n);
  return e.zdirty = !1, e.zitems = r.sort(zge);
}
function $i(e, t) {
  var r = e.items, n, i;
  if (!(!r || !r.length)) {
    var o = fR(e);
    if (o && o.length) {
      for (n = 0, i = r.length; n < i; ++n)
        r[n].zindex || t(r[n]);
      r = o;
    }
    for (n = 0, i = r.length; n < i; ++n)
      t(r[n]);
  }
}
function dg(e, t) {
  var r = e.items, n, i;
  if (!r || !r.length) return null;
  var o = fR(e);
  for (o && o.length && (r = o), i = r.length; --i >= 0; )
    if (n = t(r[i])) return n;
  if (r === o) {
    for (r = e.items, i = r.length; --i >= 0; )
      if (!r[i].zindex && (n = t(r[i])))
        return n;
  }
  return null;
}
function dR(e) {
  return function(t, r, n) {
    $i(r, function(i) {
      (!n || n.intersects(i.bounds)) && CG(e, t, i, i);
    });
  };
}
function Bge(e) {
  return function(t, r, n) {
    r.items.length && (!n || n.intersects(r.bounds)) && CG(e, t, r.items[0], r.items);
  };
}
function CG(e, t, r, n) {
  var i = r.opacity == null ? 1 : r.opacity;
  i !== 0 && (e(t, n) || (r.fill && cR(t, r, i) && t.fill(), r.stroke && Sb(t, r, i) && t.stroke()));
}
var Wge = function() {
  return !0;
};
function wb(e) {
  return e || (e = Wge), function(t, r, n, i, o, l) {
    return n *= t.pixelRatio, i *= t.pixelRatio, dg(r, function(c) {
      var g = c.bounds;
      if (!(g && !g.contains(o, l) || !g) && e(t, c, n, i, o, l))
        return c;
    });
  };
}
function pR(e, t) {
  return function(r, n, i, o) {
    var l = Array.isArray(n) ? n[0] : n, c = l.fill, g = l.stroke && r.isPointInStroke, y, C;
    return g && (y = l.strokeWidth, C = l.strokeCap, r.lineWidth = y ?? 1, r.lineCap = C ?? "butt"), e(r, n) ? !1 : c && r.isPointInPath(i, o) || g && r.isPointInStroke(i, o);
  };
}
function hR(e) {
  return wb(pR(e));
}
function Of(e, t) {
  return "translate(" + e + "," + t + ")";
}
function Ob(e) {
  return Of(e.x || 0, e.y || 0);
}
function mR(e, t) {
  function r(o, l) {
    o("transform", Ob(l)), o("d", t(null, l));
  }
  function n(o, l) {
    return t(qn(o), l), po(o, l).translate(l.x || 0, l.y || 0);
  }
  function i(o, l) {
    var c = l.x || 0, g = l.y || 0;
    o.translate(c, g), o.beginPath(), t(o, l), o.translate(-c, -g);
  }
  return {
    type: e,
    tag: "path",
    nested: !1,
    attr: r,
    bound: n,
    draw: dR(i),
    pick: hR(i)
  };
}
const $ge = mR("arc", Rge);
function Vge(e, t) {
  for (var r = e[0].orient === "horizontal" ? t[1] : t[0], n = e[0].orient === "horizontal" ? "y" : "x", i = e.length, o = 1 / 0, l, c; --i >= 0; )
    e[i].defined !== !1 && (c = Math.abs(e[i][n] - r), c < o && (o = c, l = e[i]));
  return l;
}
function Hge(e, t) {
  for (var r = Math.pow(e[0].strokeWidth || 1, 2), n = e.length, i, o, l; --n >= 0; )
    if (e[n].defined !== !1 && (i = e[n].x - t[0], o = e[n].y - t[1], l = i * i + o * o, l < r))
      return e[n];
  return null;
}
function Yge(e, t) {
  for (var r = e.length, n, i, o; --r >= 0; )
    if (e[r].defined !== !1 && (n = e[r].x - t[0], i = e[r].y - t[1], o = n * n + i * i, n = e[r].size || 1, o < n * n))
      return e[r];
  return null;
}
function vR(e, t, r) {
  function n(g, y) {
    var C = y.mark.items;
    C.length && g("d", t(null, C));
  }
  function i(g, y) {
    var C = y.items;
    return C.length === 0 ? g : (t(qn(g), C), po(g, C[0]));
  }
  function o(g, y) {
    g.beginPath(), t(g, y);
  }
  var l = pR(o);
  function c(g, y, C, D, x, M) {
    var N = y.items, F = y.bounds;
    return !N || !N.length || F && !F.contains(x, M) ? null : (C *= g.pixelRatio, D *= g.pixelRatio, l(g, N, C, D) ? N[0] : null);
  }
  return {
    type: e,
    tag: "path",
    nested: !0,
    attr: n,
    bound: i,
    draw: Bge(o),
    pick: c,
    tip: r
  };
}
const Gge = vR("area", Mge, Vge);
var xG = 1;
function Kge() {
  xG = 1;
}
function gR(e, t, r) {
  var n = t.clip, i = e._defs, o = t.clip_id || (t.clip_id = "clip" + xG++), l = i.clipping[o] || (i.clipping[o] = { id: o });
  return kt(n) ? l.path = n(null) : (l.width = r.width || 0, l.height = r.height || 0), "url(#" + o + ")";
}
var AG = 0.5;
function Xge(e, t) {
  e("transform", Ob(t));
}
function Qge(e, t) {
  var r = t.stroke ? AG : 0;
  e("class", "background"), e("d", Eb(null, t, r, r));
}
function Zge(e, t, r) {
  var n = t.clip ? gR(r, t, t) : null;
  e("clip-path", n);
}
function Jge(e, t) {
  if (!t.clip && t.items)
    for (var r = t.items, n = 0, i = r.length; n < i; ++n)
      e.union(r[n].bounds);
  return (t.clip || t.width || t.height) && !t.noBound && e.add(0, 0).add(t.width || 0, t.height || 0), po(e, t), e.translate(t.x || 0, t.y || 0);
}
function DG(e, t) {
  var r = t.stroke ? AG : 0;
  e.beginPath(), Eb(e, t, r, r);
}
var eye = pR(DG);
function tye(e, t, r) {
  var n = this;
  $i(t, function(i) {
    var o = i.x || 0, l = i.y || 0, c = i.width || 0, g = i.height || 0, y;
    e.save(), e.translate(o, l), (i.stroke || i.fill) && (y = i.opacity == null ? 1 : i.opacity, y > 0 && (DG(e, i), i.fill && cR(e, i, y) && e.fill(), i.stroke && Sb(e, i, y) && e.stroke())), i.clip && (e.beginPath(), e.rect(0, 0, c, g), e.clip()), r && r.translate(-o, -l), $i(i, function(C) {
      n.draw(e, C, r);
    }), r && r.translate(o, l), e.restore();
  });
}
function rye(e, t, r, n, i, o) {
  if (t.bounds && !t.bounds.contains(i, o) || !t.items)
    return null;
  var l = this, c = r * e.pixelRatio, g = n * e.pixelRatio;
  return dg(t, function(y) {
    var C, D, x, M;
    if (M = y.bounds, !(M && !M.contains(i, o)))
      return D = y.x || 0, x = y.y || 0, e.save(), e.translate(D, x), D = i - D, x = o - x, C = dg(y, function(N) {
        return nye(N, D, x) ? l.pick(N, r, n, D, x) : null;
      }), !C && t.interactive !== !1 && (y.fill || y.stroke) && eye(e, y, c, g) && (C = y), e.restore(), C || null;
  });
}
function nye(e, t, r) {
  return (e.interactive !== !1 || e.marktype === "group") && e.bounds && e.bounds.contains(t, r);
}
const iye = {
  type: "group",
  tag: "g",
  nested: !1,
  attr: Xge,
  bound: Jge,
  draw: tye,
  pick: rye,
  background: Qge,
  foreground: Zge
};
function yR(e, t) {
  var r = e.image;
  return (!r || r.url !== e.url) && (r = { loaded: !1, width: 0, height: 0 }, t.loadImage(e.url).then(function(n) {
    e.image = n, e.image.url = e.url;
  })), r;
}
function Tb(e, t) {
  return e === "center" ? t / 2 : e === "right" ? t : 0;
}
function Cb(e, t) {
  return e === "middle" ? t / 2 : e === "bottom" ? t : 0;
}
function aye(e, t, r) {
  var n = yR(t, r), i = t.x || 0, o = t.y || 0, l = (t.width != null ? t.width : n.width) || 0, c = (t.height != null ? t.height : n.height) || 0, g = t.aspect === !1 ? "none" : "xMidYMid";
  i -= Tb(t.align, l), o -= Cb(t.baseline, c), e("href", n.src || "", "http://www.w3.org/1999/xlink", "xlink:href"), e("transform", Of(i, o)), e("width", l), e("height", c), e("preserveAspectRatio", g);
}
function oye(e, t) {
  var r = t.image, n = t.x || 0, i = t.y || 0, o = (t.width != null ? t.width : r && r.width) || 0, l = (t.height != null ? t.height : r && r.height) || 0;
  return n -= Tb(t.align, o), i -= Cb(t.baseline, l), e.set(n, i, n + o, i + l);
}
function sye(e, t, r) {
  var n = this;
  $i(t, function(i) {
    if (!(r && !r.intersects(i.bounds))) {
      var o = yR(i, n), l = i.x || 0, c = i.y || 0, g = (i.width != null ? i.width : o.width) || 0, y = (i.height != null ? i.height : o.height) || 0, C, D, x, M;
      l -= Tb(i.align, g), c -= Cb(i.baseline, y), i.aspect !== !1 && (D = o.width / o.height, x = i.width / i.height, D === D && x === x && D !== x && (x < D ? (M = g / D, c += (y - M) / 2, y = M) : (M = y * D, l += (g - M) / 2, g = M))), o.loaded && (e.globalAlpha = (C = i.opacity) != null ? C : 1, e.drawImage(o, l, c, g, y));
    }
  });
}
const uye = {
  type: "image",
  tag: "image",
  nested: !1,
  attr: aye,
  bound: oye,
  draw: sye,
  pick: wb(),
  get: yR,
  xOffset: Tb,
  yOffset: Cb
}, lye = vR("line", Nge, Hge);
function cye(e, t) {
  e("transform", Ob(t)), e("d", t.path);
}
function jA(e, t) {
  var r = t.path;
  if (r == null) return !0;
  var n = t.pathCache;
  (!n || n.path !== r) && ((t.pathCache = n = hl(r)).path = r), bb(e, n, t.x, t.y);
}
function fye(e, t) {
  return jA(qn(e), t) ? e.set(0, 0, 0, 0) : po(e, t);
}
const dye = {
  type: "path",
  tag: "path",
  nested: !1,
  attr: cye,
  bound: fye,
  draw: dR(jA),
  pick: hR(jA)
};
function pye(e, t) {
  e("d", Eb(null, t));
}
function hye(e, t) {
  var r, n;
  return po(e.set(
    r = t.x || 0,
    n = t.y || 0,
    r + t.width || 0,
    n + t.height || 0
  ), t);
}
function Gz(e, t) {
  e.beginPath(), Eb(e, t);
}
const mye = {
  type: "rect",
  tag: "path",
  nested: !1,
  attr: pye,
  bound: hye,
  draw: dR(Gz),
  pick: hR(Gz)
};
function vye(e, t) {
  e("transform", Ob(t)), e("x2", t.x2 != null ? t.x2 - (t.x || 0) : 0), e("y2", t.y2 != null ? t.y2 - (t.y || 0) : 0);
}
function gye(e, t) {
  var r, n;
  return po(e.set(
    r = t.x || 0,
    n = t.y || 0,
    t.x2 != null ? t.x2 : r,
    t.y2 != null ? t.y2 : n
  ), t);
}
function PG(e, t, r) {
  var n, i, o, l;
  return t.stroke && Sb(e, t, r) ? (n = t.x || 0, i = t.y || 0, o = t.x2 != null ? t.x2 : n, l = t.y2 != null ? t.y2 : i, e.beginPath(), e.moveTo(n, i), e.lineTo(o, l), !0) : !1;
}
function yye(e, t, r) {
  $i(t, function(n) {
    if (!(r && !r.intersects(n.bounds))) {
      var i = n.opacity == null ? 1 : n.opacity;
      i && PG(e, n, i) && e.stroke();
    }
  });
}
function bye(e, t, r, n) {
  return e.isPointInStroke ? PG(e, t, 1) && e.isPointInStroke(r, n) : !1;
}
const _ye = {
  type: "rule",
  tag: "line",
  nested: !1,
  attr: vye,
  bound: gye,
  draw: yye,
  pick: wb(bye)
}, Eye = mR("shape", Ige), Sye = mR("symbol", Fge);
var Fo, bR, pg = {
  height: Qo,
  measureWidth: RG,
  estimateWidth: UA,
  width: UA,
  canvas: NG
};
NG(!0);
function UA(e) {
  return bR = Qo(e), kG(Dd(e));
}
function kG(e) {
  return ~~(0.8 * e.length * bR);
}
function RG(e) {
  return Fo.font = xb(e), MG(Dd(e));
}
function MG(e) {
  return Fo.measureText(e).width;
}
function Qo(e) {
  return e.fontSize != null ? e.fontSize : 11;
}
function NG(e) {
  Fo = e && (Fo = WD(1, 1)) ? Fo.getContext("2d") : null, pg.width = Fo ? RG : UA;
}
function Dd(e) {
  var t = e.text;
  return t == null ? "" : e.limit > 0 ? wye(e) : t + "";
}
function wye(e) {
  var t = +e.limit, r = e.text + "", n;
  if (Fo ? (Fo.font = xb(e), n = MG) : (bR = Qo(e), n = kG), n(r) < t) return r;
  var i = e.ellipsis || "…", o = e.dir === "rtl", l = 0, c = r.length, g;
  if (t -= n(i), o) {
    for (; l < c; )
      g = l + c >>> 1, n(r.slice(g)) > t ? l = g + 1 : c = g;
    return i + r.slice(l);
  } else {
    for (; l < c; )
      g = 1 + (l + c >>> 1), n(r.slice(0, g)) < t ? l = g : c = g - 1;
    return r.slice(0, l) + i;
  }
}
function Pd(e, t) {
  var r = e.font;
  return (t && r ? String(r).replace(/"/g, "'") : r) || "sans-serif";
}
function xb(e, t) {
  return (e.fontStyle ? e.fontStyle + " " : "") + (e.fontVariant ? e.fontVariant + " " : "") + (e.fontWeight ? e.fontWeight + " " : "") + Qo(e) + "px " + Pd(e, t);
}
function _R(e) {
  var t = e.baseline, r = Qo(e);
  return Math.round(
    t === "top" ? 0.79 * r : t === "middle" ? 0.3 * r : t === "bottom" ? -0.21 * r : 0
  );
}
var Oye = {
  left: "start",
  center: "middle",
  right: "end"
}, Tye = new Cn();
function Cye(e, t) {
  var r = t.dx || 0, n = (t.dy || 0) + _R(t), i = t.x || 0, o = t.y || 0, l = t.angle || 0, c = t.radius || 0, g;
  c && (g = (t.theta || 0) - Math.PI / 2, i += c * Math.cos(g), o += c * Math.sin(g)), e("text-anchor", Oye[t.align] || "start"), l ? (g = Of(i, o) + " rotate(" + l + ")", (r || n) && (g += " " + Of(r, n))) : g = Of(i + r, o + n), e("transform", g);
}
function IG(e, t, r) {
  var n = pg.height(t), i = t.align, o = t.radius || 0, l = t.x || 0, c = t.y || 0, g = t.dx || 0, y = (t.dy || 0) + _R(t) - Math.round(0.8 * n), C, D;
  return o && (D = (t.theta || 0) - Math.PI / 2, l += o * Math.cos(D), c += o * Math.sin(D)), C = pg.width(t), i === "center" ? g -= C / 2 : i === "right" && (g -= C), e.set(g += l, y += c, g + C, y + n), t.angle && !r && e.rotate(t.angle * Math.PI / 180, l, c), e.expand(r || !C ? 0 : 1);
}
function xye(e, t, r) {
  $i(t, function(n) {
    var i, o, l, c, g, y;
    r && !r.intersects(n.bounds) || (y = Dd(n)) && (i = n.opacity == null ? 1 : n.opacity, i !== 0 && (e.font = xb(n), e.textAlign = n.align || "left", o = n.x || 0, l = n.y || 0, (c = n.radius) && (g = (n.theta || 0) - Math.PI / 2, o += c * Math.cos(g), l += c * Math.sin(g)), n.angle && (e.save(), e.translate(o, l), e.rotate(n.angle * Math.PI / 180), o = l = 0), o += n.dx || 0, l += (n.dy || 0) + _R(n), n.fill && cR(e, n, i) && e.fillText(y, o, l), n.stroke && Sb(e, n, i) && e.strokeText(y, o, l), n.angle && e.restore()));
  });
}
function Aye(e, t, r, n, i, o) {
  if (t.fontSize <= 0) return !1;
  if (!t.angle) return !0;
  var l = IG(Tye, t, !0), c = -t.angle * Math.PI / 180, g = Math.cos(c), y = Math.sin(c), C = t.x, D = t.y, x = g * i - y * o + (C - C * g + D * y), M = y * i + g * o + (D - C * y - D * g);
  return l.contains(x, M);
}
const Dye = {
  type: "text",
  tag: "text",
  nested: !1,
  attr: Cye,
  bound: IG,
  draw: xye,
  pick: wb(Aye)
}, Pye = vR("trail", Lge, Yge), Na = {
  arc: $ge,
  area: Gge,
  group: iye,
  image: uye,
  line: lye,
  path: dye,
  rect: mye,
  rule: _ye,
  shape: Eye,
  symbol: Sye,
  text: Dye,
  trail: Pye
};
function qA(e, t, r) {
  var n = Na[e.mark.marktype], i = t || n.bound;
  return n.nested && (e = e.mark), i(e.bounds || (e.bounds = new Cn()), e, r);
}
var Kz = { mark: null };
function FG(e, t, r) {
  var n = Na[e.marktype], i = n.bound, o = e.items, l = o && o.length, c, g, y, C;
  if (n.nested)
    return l ? y = o[0] : (Kz.mark = e, y = Kz), C = qA(y, i, r), t = t && t.union(C) || C, t;
  if (t = t || e.bounds && e.bounds.clear() || new Cn(), l)
    for (c = 0, g = o.length; c < g; ++c)
      t.union(qA(o[c], i, r));
  return e.bounds = t;
}
var kye = [
  "marktype",
  "name",
  "role",
  "interactive",
  "clip",
  "items",
  "zindex",
  "x",
  "y",
  "width",
  "height",
  "align",
  "baseline",
  // layout
  "fill",
  "fillOpacity",
  "opacity",
  // fill
  "stroke",
  "strokeOpacity",
  "strokeWidth",
  "strokeCap",
  // stroke
  "strokeDash",
  "strokeDashOffset",
  // stroke dash
  "startAngle",
  "endAngle",
  "innerRadius",
  "outerRadius",
  // arc
  "cornerRadius",
  "padAngle",
  // arc, rect
  "interpolate",
  "tension",
  "orient",
  "defined",
  // area, line
  "url",
  // image
  "path",
  // path
  "x2",
  "y2",
  // rule
  "size",
  "shape",
  // symbol
  "text",
  "angle",
  "theta",
  "radius",
  "dx",
  "dy",
  // text
  "font",
  "fontSize",
  "fontWeight",
  "fontStyle",
  "fontVariant"
  // font
];
function LG(e, t) {
  return JSON.stringify(e, kye, t);
}
function jG(e) {
  var t = typeof e == "string" ? JSON.parse(e) : e;
  return UG(t);
}
function UG(e) {
  var t = e.marktype, r = e.items, n, i, o;
  if (r)
    for (i = 0, o = r.length; i < o; ++i)
      n = t ? "mark" : "group", r[i][n] = e, r[i].zindex && (r[i][n].zdirty = !0), (t || n) === "group" && UG(r[i]);
  return t && FG(e), e;
}
function ER(e) {
  arguments.length ? this.root = jG(e) : (this.root = zG({
    marktype: "group",
    name: "root",
    role: "frame"
  }), this.root.items = [new mb(this.root)]);
}
var qG = ER.prototype;
qG.toJSON = function(e) {
  return LG(this.root, e || 0);
};
qG.mark = function(e, t, r) {
  t = t || this.root.items[0];
  var n = zG(e, t);
  return t.items[r] = n, n.zindex && (n.group.zdirty = !0), n;
};
function zG(e, t) {
  return {
    bounds: new Cn(),
    clip: !!e.clip,
    group: t,
    interactive: e.interactive !== !1,
    items: [],
    marktype: e.marktype,
    name: e.name || void 0,
    role: e.role || void 0,
    zindex: e.zindex || 0
  };
}
function Ju(e, t, r) {
  return !e && typeof document < "u" && document.createElement && (e = document), e ? r ? e.createElementNS(r, t) : e.createElement(t) : null;
}
function SR(e, t) {
  t = t.toLowerCase();
  for (var r = e.childNodes, n = 0, i = r.length; n < i; ++n) if (r[n].tagName.toLowerCase() === t)
    return r[n];
}
function Ea(e, t, r, n) {
  var i = e.childNodes[t], o;
  return (!i || i.tagName.toLowerCase() !== r.toLowerCase()) && (o = i || null, i = Ju(e.ownerDocument, r, n), e.insertBefore(i, o)), i;
}
function no(e, t) {
  for (var r = e.childNodes, n = r.length; n > t; ) e.removeChild(r[--n]);
  return e;
}
function BG(e) {
  return "mark-" + e.marktype + (e.role ? " role-" + e.role : "") + (e.name ? " " + e.name : "");
}
function Ab(e, t) {
  var r = t.getBoundingClientRect();
  return [
    e.clientX - r.left - (t.clientLeft || 0),
    e.clientY - r.top - (t.clientTop || 0)
  ];
}
function Rye(e, t, r, n) {
  var i = e && e.mark, o, l;
  if (i && (o = Na[i.marktype]).tip) {
    for (l = Ab(t, r), l[0] -= n[0], l[1] -= n[1]; e = e.mark.group; )
      l[0] -= e.x || 0, l[1] -= e.y || 0;
    e = o.tip(i.items, l);
  }
  return e;
}
function Zo(e, t) {
  this._active = null, this._handlers = {}, this._loader = e || ub(), this._tooltip = t || Mye;
}
function Mye(e, t, r, n) {
  e.element().setAttribute("title", n || "");
}
var ni = Zo.prototype;
ni.initialize = function(e, t, r) {
  return this._el = e, this._obj = r || null, this.origin(t);
};
ni.element = function() {
  return this._el;
};
ni.canvas = function() {
  return this._el && this._el.firstChild;
};
ni.origin = function(e) {
  return arguments.length ? (this._origin = e || [0, 0], this) : this._origin.slice();
};
ni.scene = function(e) {
  return arguments.length ? (this._scene = e, this) : this._scene;
};
ni.on = function() {
};
ni.off = function() {
};
ni._handlerIndex = function(e, t, r) {
  for (var n = e ? e.length : 0; --n >= 0; )
    if (e[n].type === t && (!r || e[n].handler === r))
      return n;
  return -1;
};
ni.handlers = function(e) {
  var t = this._handlers, r = [], n;
  if (e)
    r.push.apply(r, t[this.eventName(e)]);
  else
    for (n in t)
      r.push.apply(r, t[n]);
  return r;
};
ni.eventName = function(e) {
  var t = e.indexOf(".");
  return t < 0 ? e : e.slice(0, t);
};
ni.handleHref = function(e, t, r) {
  this._loader.sanitize(r, { context: "href" }).then(function(n) {
    var i = new MouseEvent(e.type, e), o = Ju(null, "a");
    for (var l in n) o.setAttribute(l, n[l]);
    o.dispatchEvent(i);
  }).catch(function() {
  });
};
ni.handleTooltip = function(e, t, r) {
  if (t && t.tooltip != null) {
    t = Rye(t, e, this.canvas(), this._origin);
    var n = r && t && t.tooltip || null;
    this._tooltip.call(this._obj, this, e, t, n);
  }
};
ni.getItemBoundingClientRect = function(e) {
  if (t = this.canvas()) {
    for (var t, r = t.getBoundingClientRect(), n = this._origin, i = e.bounds, o = i.x1 + n[0] + r.left, l = i.y1 + n[1] + r.top, c = i.width(), g = i.height(); e.mark && (e = e.mark.group); )
      o += e.x || 0, l += e.y || 0;
    return {
      x: o,
      y: l,
      width: c,
      height: g,
      left: o,
      top: l,
      right: o + c,
      bottom: l + g
    };
  }
};
function Xi(e) {
  this._el = null, this._bgcolor = null, this._loader = new nR(e);
}
var Ti = Xi.prototype;
Ti.initialize = function(e, t, r, n, i) {
  return this._el = e, this.resize(t, r, n, i);
};
Ti.element = function() {
  return this._el;
};
Ti.canvas = function() {
  return this._el && this._el.firstChild;
};
Ti.background = function(e) {
  return arguments.length === 0 ? this._bgcolor : (this._bgcolor = e, this);
};
Ti.resize = function(e, t, r, n) {
  return this._width = e, this._height = t, this._origin = r || [0, 0], this._scale = n || 1, this;
};
Ti.dirty = function() {
};
Ti.render = function(e) {
  var t = this;
  return t._call = function() {
    t._render(e);
  }, t._call(), t._call = null, t;
};
Ti._render = function() {
};
Ti.renderAsync = function(e) {
  var t = this.render(e);
  return this._ready ? this._ready.then(function() {
    return t;
  }) : Promise.resolve(t);
};
Ti._load = function(e, t) {
  var r = this, n = r._loader[e](t);
  if (!r._ready) {
    var i = r._call;
    r._ready = r._loader.ready().then(function(o) {
      o && i(), r._ready = null;
    });
  }
  return n;
};
Ti.sanitizeURL = function(e) {
  return this._load("sanitizeURL", e);
};
Ti.loadImage = function(e) {
  return this._load("loadImage", e);
};
var Nye = [
  "keydown",
  "keypress",
  "keyup",
  "dragenter",
  "dragleave",
  "dragover",
  "mousedown",
  "mouseup",
  "mousemove",
  "mouseout",
  "mouseover",
  "click",
  "dblclick",
  "wheel",
  "mousewheel",
  "touchstart",
  "touchmove",
  "touchend"
], zA = "mousemove", Wf = "mouseout", BA = "click";
function kd(e, t) {
  Zo.call(this, e, t), this._down = null, this._touch = null, this._first = !0;
}
var _r = Ke(kd, Zo);
_r.initialize = function(e, t, r) {
  var n = this._canvas = e && SR(e, "canvas");
  if (n) {
    var i = this;
    this.events.forEach(function(o) {
      n.addEventListener(o, function(l) {
        _r[o] ? _r[o].call(i, l) : i.fire(o, l);
      });
    });
  }
  return Zo.prototype.initialize.call(this, e, t, r);
};
_r.canvas = function() {
  return this._canvas;
};
_r.context = function() {
  return this._canvas.getContext("2d");
};
_r.events = Nye;
_r.DOMMouseScroll = function(e) {
  this.fire("mousewheel", e);
};
function WG(e, t, r) {
  return function(n) {
    var i = this._active, o = this.pickEvent(n);
    o === i ? this.fire(e, n) : ((!i || !i.exit) && this.fire(r, n), this._active = o, this.fire(t, n), this.fire(e, n));
  };
}
function $G(e) {
  return function(t) {
    this.fire(e, t), this._active = null;
  };
}
_r.mousemove = WG("mousemove", "mouseover", "mouseout");
_r.dragover = WG("dragover", "dragenter", "dragleave");
_r.mouseout = $G("mouseout");
_r.dragleave = $G("dragleave");
_r.mousedown = function(e) {
  this._down = this._active, this.fire("mousedown", e);
};
_r.click = function(e) {
  this._down === this._active && (this.fire("click", e), this._down = null);
};
_r.touchstart = function(e) {
  this._touch = this.pickEvent(e.changedTouches[0]), this._first && (this._active = this._touch, this._first = !1), this.fire("touchstart", e, !0);
};
_r.touchmove = function(e) {
  this.fire("touchmove", e, !0);
};
_r.touchend = function(e) {
  this.fire("touchend", e, !0), this._touch = null;
};
_r.fire = function(e, t, r) {
  var n = r ? this._touch : this._active, i = this._handlers[e], o, l;
  if (t.vegaType = e, e === BA && n && n.href ? this.handleHref(t, n, n.href) : (e === zA || e === Wf) && this.handleTooltip(t, n, e !== Wf), i)
    for (o = 0, l = i.length; o < l; ++o)
      i[o].handler.call(this._obj, t, n);
};
_r.on = function(e, t) {
  var r = this.eventName(e), n = this._handlers, i = this._handlerIndex(n[r], e, t);
  return i < 0 && (n[r] || (n[r] = [])).push({
    type: e,
    handler: t
  }), this;
};
_r.off = function(e, t) {
  var r = this.eventName(e), n = this._handlers[r], i = this._handlerIndex(n, e, t);
  return i >= 0 && n.splice(i, 1), this;
};
_r.pickEvent = function(e) {
  var t = Ab(e, this._canvas), r = this._origin;
  return this.pick(this._scene, t[0], t[1], t[0] - r[0], t[1] - r[1]);
};
_r.pick = function(e, t, r, n, i) {
  var o = this.context(), l = Na[e.marktype];
  return l.pick.call(this, o, e, t, r, n, i);
};
function Iye(e, t) {
  var r = t.clip;
  if (e.save(), e.beginPath(), kt(r))
    r(e);
  else {
    var n = t.group;
    e.rect(0, 0, n.width || 0, n.height || 0);
  }
  e.clip();
}
function Fye() {
  return typeof window < "u" && window.devicePixelRatio || 1;
}
var Lye = Fye();
function jye(e, t, r, n, i) {
  var o = typeof HTMLElement < "u" && e instanceof HTMLElement && e.parentNode != null, l = e.getContext("2d"), c = o ? Lye : i;
  return e.width = t * c, e.height = r * c, o && c !== 1 && (e.style.width = t + "px", e.style.height = r + "px"), l.pixelRatio = c, l.setTransform(
    c,
    0,
    0,
    c,
    c * n[0],
    c * n[1]
  ), e;
}
function hg(e) {
  Xi.call(this, e), this._redraw = !1, this._dirty = new Cn();
}
var Jo = Ke(hg, Xi), VG = Xi.prototype, Uye = new Cn();
Jo.initialize = function(e, t, r, n, i) {
  return this._canvas = WD(1, 1), e && (no(e, 0).appendChild(this._canvas), this._canvas.setAttribute("class", "marks")), VG.initialize.call(this, e, t, r, n, i);
};
Jo.resize = function(e, t, r, n) {
  return VG.resize.call(this, e, t, r, n), jye(this._canvas, this._width, this._height, this._origin, this._scale), this._redraw = !0, this;
};
Jo.canvas = function() {
  return this._canvas;
};
Jo.context = function() {
  return this._canvas ? this._canvas.getContext("2d") : null;
};
Jo.dirty = function(e) {
  var t = zye(e.bounds, e.mark.group);
  this._dirty.union(t);
};
function qye(e, t, r) {
  return t.expand(1).round(), t.translate(-(r[0] % 1), -(r[1] % 1)), e.beginPath(), e.rect(t.x1, t.y1, t.width(), t.height()), e.clip(), t;
}
function zye(e, t) {
  if (t == null) return e;
  for (var r = Uye.clear().union(e); t != null; t = t.mark.group)
    r.translate(t.x || 0, t.y || 0);
  return r;
}
Jo._render = function(e) {
  var t = this.context(), r = this._origin, n = this._width, i = this._height, o = this._dirty;
  return t.save(), this._redraw || o.empty() ? (this._redraw = !1, o = null) : o = qye(t, o, r), this.clear(-r[0], -r[1], n, i), this.draw(t, e, o), t.restore(), this._dirty.clear(), this;
};
Jo.draw = function(e, t, r) {
  var n = Na[t.marktype];
  t.clip && Iye(e, t), n.draw.call(this, e, t, r), t.clip && e.restore();
};
Jo.clear = function(e, t, r, n) {
  var i = this.context();
  i.clearRect(e, t, r, n), this._bgcolor != null && (i.fillStyle = this._bgcolor, i.fillRect(e, t, r, n));
};
function wR(e, t) {
  Zo.call(this, e, t);
  var r = this;
  r._hrefHandler = WA(r, function(n, i) {
    i && i.href && r.handleHref(n, i, i.href);
  }), r._tooltipHandler = WA(r, function(n, i) {
    r.handleTooltip(n, i, n.type !== Wf);
  });
}
var Db = Ke(wR, Zo);
Db.initialize = function(e, t, r) {
  var n = this._svg;
  return n && (n.removeEventListener(BA, this._hrefHandler), n.removeEventListener(zA, this._tooltipHandler), n.removeEventListener(Wf, this._tooltipHandler)), this._svg = n = e && SR(e, "svg"), n && (n.addEventListener(BA, this._hrefHandler), n.addEventListener(zA, this._tooltipHandler), n.addEventListener(Wf, this._tooltipHandler)), Zo.prototype.initialize.call(this, e, t, r);
};
Db.canvas = function() {
  return this._svg;
};
function WA(e, t) {
  return function(r) {
    var n = r.target, i = n.__data__;
    r.vegaType = r.type, i = Array.isArray(i) ? i[0] : i, t.call(e._obj, r, i);
  };
}
Db.on = function(e, t) {
  var r = this.eventName(e), n = this._handlers, i = this._handlerIndex(n[r], e, t);
  if (i < 0) {
    var o = {
      type: e,
      handler: t,
      listener: WA(this, t)
    };
    (n[r] || (n[r] = [])).push(o), this._svg && this._svg.addEventListener(r, o.listener);
  }
  return this;
};
Db.off = function(e, t) {
  var r = this.eventName(e), n = this._handlers[r], i = this._handlerIndex(n, e, t);
  return i >= 0 && (this._svg && this._svg.removeEventListener(r, n[i].listener), n.splice(i, 1)), this;
};
function Br(e, t, r) {
  var n = "<" + e, i, o;
  if (t)
    for (i in t)
      o = t[i], o != null && (n += " " + i + '="' + o + '"');
  return r && (n += " " + r), n + ">";
}
function Wr(e) {
  return "</" + e + ">";
}
const $f = {
  version: "1.1",
  xmlns: "http://www.w3.org/2000/svg",
  "xmlns:xlink": "http://www.w3.org/1999/xlink"
};
var OR = {
  fill: "fill",
  fillOpacity: "fill-opacity",
  stroke: "stroke",
  strokeOpacity: "stroke-opacity",
  strokeWidth: "stroke-width",
  strokeCap: "stroke-linecap",
  strokeJoin: "stroke-linejoin",
  strokeDash: "stroke-dasharray",
  strokeDashOffset: "stroke-dashoffset",
  strokeMiterLimit: "stroke-miterlimit",
  opacity: "opacity"
}, mg = Object.keys(OR), vi = $f.xmlns;
function TR(e) {
  Xi.call(this, e), this._dirtyID = 1, this._dirty = [], this._svg = null, this._root = null, this._defs = null;
}
var zn = Ke(TR, Xi), CR = Xi.prototype;
zn.initialize = function(e, t, r, n) {
  return e && (this._svg = Ea(e, 0, "svg", vi), this._svg.setAttribute("class", "marks"), no(e, 1), this._root = Ea(this._svg, 0, "g", vi), no(this._svg, 1)), this._defs = {
    gradient: {},
    clipping: {}
  }, this.background(this._bgcolor), CR.initialize.call(this, e, t, r, n);
};
zn.background = function(e) {
  return arguments.length && this._svg && this._svg.style.setProperty("background-color", e), CR.background.apply(this, arguments);
};
zn.resize = function(e, t, r, n) {
  return CR.resize.call(this, e, t, r, n), this._svg && (this._svg.setAttribute("width", this._width * this._scale), this._svg.setAttribute("height", this._height * this._scale), this._svg.setAttribute("viewBox", "0 0 " + this._width + " " + this._height), this._root.setAttribute("transform", "translate(" + this._origin + ")")), this._dirty = [], this;
};
zn.canvas = function() {
  return this._svg;
};
zn.svg = function() {
  if (!this._svg) return null;
  var e = {
    class: "marks",
    width: this._width * this._scale,
    height: this._height * this._scale,
    viewBox: "0 0 " + this._width + " " + this._height
  };
  for (var t in $f)
    e[t] = $f[t];
  var r = this._bgcolor ? Br("rect", {
    width: this._width,
    height: this._height,
    style: "fill: " + this._bgcolor + ";"
  }) + Wr("rect") : "";
  return Br("svg", e) + r + this._svg.innerHTML + Wr("svg");
};
zn._render = function(e) {
  return this._dirtyCheck() && (this._dirtyAll && this._resetDefs(), this.draw(this._root, e), no(this._root, 1)), this.updateDefs(), this._dirty = [], ++this._dirtyID, this;
};
zn.updateDefs = function() {
  var e = this._svg, t = this._defs, r = t.el, n = 0, i;
  for (i in t.gradient)
    r || (t.el = r = Ea(e, 0, "defs", vi)), Bye(r, t.gradient[i], n++);
  for (i in t.clipping)
    r || (t.el = r = Ea(e, 0, "defs", vi)), Wye(r, t.clipping[i], n++);
  r && (n === 0 ? (e.removeChild(r), t.el = null) : no(r, n));
};
function Bye(e, t, r) {
  var n, i, o;
  for (e = Ea(e, r, "linearGradient", vi), e.setAttribute("id", t.id), e.setAttribute("x1", t.x1), e.setAttribute("x2", t.x2), e.setAttribute("y1", t.y1), e.setAttribute("y2", t.y2), n = 0, i = t.stops.length; n < i; ++n)
    o = Ea(e, n, "stop", vi), o.setAttribute("offset", t.stops[n].offset), o.setAttribute("stop-color", t.stops[n].color);
  no(e, n);
}
function Wye(e, t, r) {
  var n;
  e = Ea(e, r, "clipPath", vi), e.setAttribute("id", t.id), t.path ? (n = Ea(e, 0, "path", vi), n.setAttribute("d", t.path)) : (n = Ea(e, 0, "rect", vi), n.setAttribute("x", 0), n.setAttribute("y", 0), n.setAttribute("width", t.width), n.setAttribute("height", t.height));
}
zn._resetDefs = function() {
  var e = this._defs;
  e.gradient = {}, e.clipping = {};
};
zn.dirty = function(e) {
  e.dirty !== this._dirtyID && (e.dirty = this._dirtyID, this._dirty.push(e));
};
zn.isDirty = function(e) {
  return this._dirtyAll || !e._svg || e.dirty === this._dirtyID;
};
zn._dirtyCheck = function() {
  this._dirtyAll = !0;
  var e = this._dirty;
  if (!e.length) return !0;
  var t = ++this._dirtyID, r, n, i, o, l, c, g;
  for (l = 0, c = e.length; l < c; ++l)
    if (r = e[l], n = r.mark, n.marktype !== i && (i = n.marktype, o = Na[i]), n.zdirty && n.dirty !== t && (this._dirtyAll = !1, Xz(r, t), n.items.forEach(function(y) {
      y.dirty = t;
    })), !n.zdirty) {
      if (r.exit) {
        o.nested && n.items.length ? (g = n.items[0], g._svg && this._update(o, g._svg, g)) : r._svg && (g = r._svg.parentNode, g && g.removeChild(r._svg)), r._svg = null;
        continue;
      }
      r = o.nested ? n.items[0] : r, r._update !== t && (!r._svg || !r._svg.ownerSVGElement ? (this._dirtyAll = !1, Xz(r, t)) : this._update(o, r._svg, r), r._update = t);
    }
  return !this._dirtyAll;
};
function Xz(e, t) {
  for (; e && e.dirty !== t; e = e.mark.group)
    if (e.dirty = t, e.mark && e.mark.dirty !== t)
      e.mark.dirty = t;
    else return;
}
zn.draw = function(e, t, r) {
  if (!this.isDirty(t)) return t._svg;
  var n = this, i = this._svg, o = Na[t.marktype], l = t.interactive === !1 ? "none" : null, c = o.tag === "g", g = null, y = 0, C;
  C = Qz(t, e, r, "g", i), C.setAttribute("class", BG(t)), c || C.style.setProperty("pointer-events", l), t.clip ? C.setAttribute("clip-path", gR(n, t, t.group)) : C.removeAttribute("clip-path");
  function D(x) {
    var M = n.isDirty(x), N = Qz(x, C, g, o.tag, i);
    M && (n._update(o, N, x), c && $ye(n, N, x)), g = N, ++y;
  }
  return o.nested ? t.items.length && D(t.items[0]) : $i(t, D), no(C, y), C;
};
function $ye(e, t, r) {
  t = t.lastChild;
  var n, i = 0;
  $i(r, function(o) {
    n = e.draw(t, o, n), ++i;
  }), no(t, 1 + i);
}
function Qz(e, t, r, n, i) {
  var o = e._svg, l;
  if (!o && (l = t.ownerDocument, o = Ju(l, n, vi), e._svg = o, e.mark && (o.__data__ = e, o.__values__ = { fill: "default" }, n === "g"))) {
    var c = Ju(l, "path", vi);
    c.setAttribute("class", "background"), o.appendChild(c), c.__data__ = e;
    var g = Ju(l, "g", vi);
    o.appendChild(g), g.__data__ = e;
  }
  return (o.ownerSVGElement !== i || Vye(e) && o.previousSibling !== r) && t.insertBefore(o, r ? r.nextSibling : t.firstChild), o;
}
function Vye(e) {
  var t = e.mark || e.group;
  return t && t.items.length > 1;
}
var Ga = null, pi = null, Hye = {
  group: function(e, t, r) {
    pi = t.__values__, Ga = t.childNodes[1], e.foreground($A, r, this), Ga = t.childNodes[0], e.background($A, r, this);
    var n = r.mark.interactive === !1 ? "none" : null;
    n !== pi.events && (Ga.style.setProperty("pointer-events", n), pi.events = n);
  },
  text: function(e, t, r) {
    var n;
    n = Dd(r), n !== pi.text && (t.textContent = n, pi.text = n), cc(t, "font-family", Pd(r)), cc(t, "font-size", Qo(r) + "px"), cc(t, "font-style", r.fontStyle), cc(t, "font-variant", r.fontVariant), cc(t, "font-weight", r.fontWeight);
  }
};
function cc(e, t, r) {
  r !== pi[t] && (r == null ? e.style.removeProperty(t) : e.style.setProperty(t, r + ""), pi[t] = r);
}
zn._update = function(e, t, r) {
  Ga = t, pi = t.__values__, e.attr($A, r, this);
  var n = Hye[e.type];
  n && n.call(this, e, t, r), this.style(Ga, r);
};
function $A(e, t, r) {
  t !== pi[e] && (t != null ? r ? Ga.setAttributeNS(r, e, t) : Ga.setAttribute(e, t) : r ? Ga.removeAttributeNS(r, e) : Ga.removeAttribute(e), pi[e] = t);
}
zn.style = function(e, t) {
  if (t != null) {
    var r, n, i, o, l;
    for (r = 0, n = mg.length; r < n; ++r)
      i = mg[r], l = t[i], i === "font" && (l = Pd(t)), l !== pi[i] && (o = OR[i], l == null ? o === "fill" ? e.style.setProperty(o, "none") : e.style.removeProperty(o) : (l.id && (this._defs.gradient[l.id] = l, l = "url(" + Yye() + "#" + l.id + ")"), e.style.setProperty(o, l + "")), pi[i] = l);
  }
};
function Yye() {
  var e;
  return typeof window > "u" ? "" : (e = window.location).hash ? e.href.slice(0, -e.hash.length) : e.href;
}
function xR(e) {
  Xi.call(this, e), this._text = {
    head: "",
    bg: "",
    root: "",
    foot: "",
    defs: "",
    body: ""
  }, this._defs = {
    gradient: {},
    clipping: {}
  };
}
var ho = Ke(xR, Xi), HG = Xi.prototype;
ho.resize = function(e, t, r, n) {
  HG.resize.call(this, e, t, r, n);
  var i = this._origin, o = this._text, l = {
    class: "marks",
    width: this._width * this._scale,
    height: this._height * this._scale,
    viewBox: "0 0 " + this._width + " " + this._height
  };
  for (var c in $f)
    l[c] = $f[c];
  o.head = Br("svg", l);
  var g = this._bgcolor;
  return (g === "transparent" || g === "none") && (g = null), g ? o.bg = Br("rect", {
    width: this._width,
    height: this._height,
    style: "fill: " + g + ";"
  }) + Wr("rect") : o.bg = "", o.root = Br("g", {
    transform: "translate(" + i + ")"
  }), o.foot = Wr("g") + Wr("svg"), this;
};
ho.background = function() {
  var e = HG.background.apply(this, arguments);
  return arguments.length && this._text.head && this.resize(this._width, this._height, this._origin, this._scale), e;
};
ho.svg = function() {
  var e = this._text;
  return e.head + e.bg + e.defs + e.root + e.body + e.foot;
};
ho._render = function(e) {
  return this._text.body = this.mark(e), this._text.defs = this.buildDefs(), this;
};
ho.buildDefs = function() {
  var e = this._defs, t = "", r, n, i, o;
  for (n in e.gradient) {
    for (i = e.gradient[n], o = i.stops, t += Br("linearGradient", {
      id: n,
      x1: i.x1,
      x2: i.x2,
      y1: i.y1,
      y2: i.y2
    }), r = 0; r < o.length; ++r)
      t += Br("stop", {
        offset: o[r].offset,
        "stop-color": o[r].color
      }) + Wr("stop");
    t += Wr("linearGradient");
  }
  for (n in e.clipping)
    i = e.clipping[n], t += Br("clipPath", { id: n }), i.path ? t += Br("path", {
      d: i.path
    }) + Wr("path") : t += Br("rect", {
      x: 0,
      y: 0,
      width: i.width,
      height: i.height
    }) + Wr("rect"), t += Wr("clipPath");
  return t.length > 0 ? Br("defs") + t + Wr("defs") : "";
};
var VA;
function Gye(e, t, r, n) {
  VA[n || e] = t;
}
ho.attributes = function(e, t) {
  return VA = {}, e(Gye, t, this), VA;
};
ho.href = function(e) {
  var t = this, r = e.href, n;
  if (r) {
    if (n = t._hrefs && t._hrefs[r])
      return n;
    t.sanitizeURL(r).then(function(i) {
      i["xlink:href"] = i.href, i.href = null, (t._hrefs || (t._hrefs = {}))[r] = i;
    });
  }
  return null;
};
ho.mark = function(e) {
  var t = this, r = Na[e.marktype], n = r.tag, i = this._defs, o = "", l;
  n !== "g" && e.interactive === !1 && (l = 'style="pointer-events: none;"'), o += Br("g", {
    class: BG(e),
    "clip-path": e.clip ? gR(t, e, e.group) : null
  }, l);
  function c(g) {
    var y = t.href(g);
    y && (o += Br("a", y)), l = n !== "g" ? Zz(g, e, n, i) : null, o += Br(n, t.attributes(r.attr, g), l), n === "text" ? o += Kye(Dd(g)) : n === "g" && (o += Br(
      "path",
      t.attributes(r.background, g),
      Zz(g, e, "bgrect", i)
    ) + Wr("path"), o += Br("g", t.attributes(r.foreground, g)) + t.markGroup(g) + Wr("g")), o += Wr(n), y && (o += Wr("a"));
  }
  return r.nested ? e.items && e.items.length && c(e.items[0]) : $i(e, c), o + Wr("g");
};
ho.markGroup = function(e) {
  var t = this, r = "";
  return $i(e, function(n) {
    r += t.mark(n);
  }), r;
};
function Zz(e, t, r, n) {
  if (e == null) return "";
  var i, o, l, c, g, y = "";
  for (r === "bgrect" && t.interactive === !1 && (y += "pointer-events: none; "), r === "text" && (y += "font-family: " + Pd(e) + "; ", y += "font-size: " + Qo(e) + "px; ", e.fontStyle && (y += "font-style: " + e.fontStyle + "; "), e.fontVariant && (y += "font-variant: " + e.fontVariant + "; "), e.fontWeight && (y += "font-weight: " + e.fontWeight + "; ")), i = 0, o = mg.length; i < o; ++i)
    l = mg[i], c = OR[l], g = e[l], g == null ? c === "fill" && (y += "fill: none; ") : g === "transparent" && (c === "fill" || c === "stroke") ? y += c + ": none; " : (g.id && (n.gradient[g.id] = g, g = "url(#" + g.id + ")"), y += c + ": " + g + "; ");
  return y ? 'style="' + y.trim() + '"' : null;
}
function Kye(e) {
  return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
}
var YG = "canvas", GG = "png", KG = "svg", XG = "none", Lo = {
  Canvas: YG,
  PNG: GG,
  SVG: KG,
  None: XG
}, ml = {};
ml[YG] = ml[GG] = {
  renderer: hg,
  headless: hg,
  handler: kd
};
ml[KG] = {
  renderer: TR,
  headless: xR,
  handler: wR
};
ml[XG] = {};
function Pb(e, t) {
  return e = String(e || "").toLowerCase(), arguments.length > 1 ? (ml[e] = t, this) : ml[e];
}
var hC = new Cn();
function QG(e) {
  var t = e.clip;
  if (kt(t))
    t(qn(hC.clear()));
  else if (t)
    hC.set(0, 0, e.group.width, e.group.height);
  else return;
  e.bounds.intersect(hC);
}
var Xye = 1e-9;
function AR(e, t, r) {
  return e === t ? !0 : r === "path" ? ZG(e, t) : e instanceof Date && t instanceof Date ? +e == +t : Rs(e) && Rs(t) ? Math.abs(e - t) <= Xye : !e || !t || !Rt(e) && !Rt(t) ? e == t : e == null || t == null ? !1 : Qye(e, t);
}
function ZG(e, t) {
  return AR(hl(e), hl(t));
}
function Qye(e, t) {
  var r = Object.keys(e), n = Object.keys(t), i, o;
  if (r.length !== n.length) return !1;
  for (r.sort(), n.sort(), o = r.length - 1; o >= 0; o--)
    if (r[o] != n[o]) return !1;
  for (o = r.length - 1; o >= 0; o--)
    if (i = r[o], !AR(e[i], t[i], i)) return !1;
  return typeof e == typeof t;
}
function JG(e) {
  Ue.call(this, null, e);
}
var Zye = Ke(JG, Ue);
Zye.transform = function(e, t) {
  var r = t.dataflow, n = e.mark, i = n.marktype, o = Na[i], l = o.bound, c = n.bounds, g;
  return o.nested ? (n.items.length && r.dirty(n.items[0]), c = _h(n, l), n.items.forEach(function(y) {
    y.bounds.clear().union(c);
  })) : i === pb || e.modified() ? (t.visit(t.MOD, function(y) {
    r.dirty(y);
  }), c.clear(), n.items.forEach(function(y) {
    c.union(_h(y, l));
  }), n.role === rR && t.reflow()) : (g = t.changed(t.REM), t.visit(t.ADD, function(y) {
    c.union(_h(y, l));
  }), t.visit(t.MOD, function(y) {
    g = g || c.alignsWith(y.bounds), r.dirty(y), c.union(_h(y, l));
  }), g && (c.clear(), n.items.forEach(function(y) {
    c.union(y.bounds);
  }))), QG(n), t.modifies("bounds");
};
function _h(e, t, r) {
  return t(e.bounds.clear(), e, r);
}
var Jz = ":vega_identifier:";
function DR(e) {
  Ue.call(this, 0, e);
}
DR.Definition = {
  type: "Identifier",
  metadata: { modifies: !0 },
  params: [
    { name: "as", type: "string", required: !0 }
  ]
};
var Jye = Ke(DR, Ue);
Jye.transform = function(e, t) {
  var r = ebe(t.dataflow), n = r.value, i = e.as;
  return t.visit(t.ADD, function(o) {
    o[i] || (o[i] = ++n);
  }), r.set(this.value = n), t;
};
function ebe(e) {
  var t = e._signals[Jz];
  return t || (e._signals[Jz] = t = e.add(0)), t;
}
function eK(e) {
  Ue.call(this, null, e);
}
var tbe = Ke(eK, Ue);
tbe.transform = function(e, t) {
  var r = this.value;
  r || (r = t.dataflow.scenegraph().mark(e.markdef, rbe(e), e.index), r.group.context = e.context, e.context.group || (e.context.group = r.group), r.source = this, r.clip = e.clip, r.interactive = e.interactive, this.value = r);
  var n = r.marktype === pb ? mb : hb;
  return t.visit(t.ADD, function(i) {
    n.call(i, r);
  }), (e.modified("clip") || e.modified("interactive")) && (r.clip = e.clip, r.interactive = !!e.interactive, r.zdirty = !0, t.reflow()), r.items = t.source, t;
};
function rbe(e) {
  var t = e.groups, r = e.parent;
  return t && t.size === 1 ? t.get(Object.keys(t.object)[0]) : t && r ? t.lookup(r) : null;
}
function tK(e) {
  Ue.call(this, null, e);
}
var nbe = Ke(tK, Ue), e5 = {
  parity: function(e) {
    return e.filter(function(t, r) {
      return r % 2 ? t.opacity = 0 : 1;
    });
  },
  greedy: function(e) {
    var t;
    return e.filter(function(r, n) {
      return !n || !rK(t.bounds, r.bounds) ? (t = r, 1) : r.opacity = 0;
    });
  }
};
function rK(e, t) {
  return !(e.x2 - 1 < t.x1 || e.x1 + 1 > t.x2 || e.y2 - 1 < t.y1 || e.y1 + 1 > t.y2);
}
function t5(e) {
  for (var t = 1, r = e.length, n = e[0].bounds, i; t < r; n = i, ++t)
    if (rK(n, i = e[t].bounds)) return !0;
}
function ibe(e) {
  var t = e.bounds;
  return t.width() > 1 && t.height() > 1;
}
function abe(e, t, r) {
  var n = e.range(), i = new Cn();
  return t === fl || t === dl ? i.set(n[0], -1 / 0, n[1], 1 / 0) : i.set(-1 / 0, n[0], 1 / 0, n[1]), i.expand(r || 1), function(o) {
    return i.encloses(o.bounds);
  };
}
function r5(e) {
  return e.forEach(function(t) {
    t.opacity = 1;
  }), e;
}
function n5(e, t) {
  return e.reflow(t.modified()).modifies("opacity");
}
nbe.transform = function(e, t) {
  var r = e5[e.method] || e5.parity, n = t.materialize(t.SOURCE).source, i, o;
  if (n) {
    if (!e.method)
      return e.modified("method") && (r5(n), t = n5(t, e)), t;
    if (e.sort && (n = n.slice().sort(e.sort)), e.method === "greedy" && (n = n.filter(ibe)), i = r5(n), t = n5(t, e), i.length >= 3 && t5(i)) {
      do
        i = r(i);
      while (i.length >= 3 && t5(i));
      i.length < 3 && !$t(n).opacity && (i.length > 1 && ($t(i).opacity = 0), $t(n).opacity = 1);
    }
    return e.boundScale && e.boundTolerance >= 0 && (o = abe(e.boundScale, e.boundOrient, +e.boundTolerance), n.forEach(function(l) {
      o(l) || (l.opacity = 0);
    })), t;
  }
};
function nK(e) {
  Ue.call(this, null, e);
}
var obe = Ke(nK, Ue);
obe.transform = function(e, t) {
  var r = t.dataflow;
  if (t.visit(t.ALL, function(i) {
    r.dirty(i);
  }), t.fields && t.fields.zindex) {
    var n = t.source && t.source[0];
    n && (n.mark.zdirty = !0);
  }
};
function sbe(e) {
  for (var t = e.items, r = t.length, n = 0, i, o, l = {
    marks: [],
    rowheaders: [],
    rowfooters: [],
    colheaders: [],
    colfooters: [],
    rowtitle: null,
    coltitle: null
  }; n < r; ++n)
    if (i = t[n], o = i.items, i.marktype === pb)
      switch (i.role) {
        case HY:
        case rR:
          break;
        case YY:
          fc(o, l.rowheaders);
          break;
        case GY:
          fc(o, l.rowfooters);
          break;
        case XY:
          fc(o, l.colheaders);
          break;
        case QY:
          fc(o, l.colfooters);
          break;
        case KY:
          l.rowtitle = o[0];
          break;
        case ZY:
          l.coltitle = o[0];
          break;
        default:
          fc(o, l.marks);
      }
  return l;
}
function fc(e, t) {
  for (var r = 0, n = e.length; r < n; ++r)
    t.push(e[r]);
}
function ube(e) {
  return { x1: 0, y1: 0, x2: e.width || 0, y2: e.height || 0 };
}
function lbe(e) {
  var t = e.bounds.clone();
  return t.empty() ? t.set(0, 0, 0, 0) : t.translate(-(e.x || 0), -(e.y || 0));
}
function cbe(e, t) {
  return t === "x1" ? e.x || 0 : t === "y1" ? e.y || 0 : t === "x2" ? (e.x || 0) + (e.width || 0) : t === "y2" ? (e.y || 0) + (e.height || 0) : void 0;
}
function fbe(e, t) {
  return e.bounds[t];
}
function Mr(e, t, r) {
  var n = Rt(e) ? e[t] : e;
  return n ?? (r !== void 0 ? r : 0);
}
function i5(e) {
  return e < 0 ? Math.ceil(-e) : 0;
}
function dbe(e, t, r) {
  var n = sbe(t), i = n.marks, o = r.bounds === Cve, l = o ? ube : lbe, c = new Cn(0), g = Mr(r.align, yu), y = Mr(r.align, bu), C = Mr(r.padding, yu), D = Mr(r.padding, bu), x = r.offset, M = t.columns || r.columns || i.length, N = M < 0 ? 1 : Math.ceil(i.length / M), F = N * M, z = [], A = [], u = 0, a = 0, s = [], h = [], E = 0, f = 0, S = i.length, _, d, p, b, m, v, O, T, w, P, I, L;
  for (d = 0; d < M; ++d)
    A[d] = 0;
  for (d = 0; d < N; ++d)
    h[d] = 0;
  for (d = 0; d < S; ++d)
    m = l(i[d]), p = d % M, b = ~~(d / M), O = Math.ceil(l(i[d]).x2), T = Math.ceil(l(i[d]).y2), u = Math.max(u, O), E = Math.max(E, T), A[p] = Math.max(A[p], O), h[b] = Math.max(h[b], T), z.push(C + i5(m.x1)), s.push(D + i5(m.y1)), e.dirty(i[d]);
  for (d = 0; d < S; ++d)
    d % M === 0 && (z[d] = a), d < M && (s[d] = f);
  if (g === jz)
    for (p = 1; p < M; ++p) {
      for (L = 0, d = p; d < S; d += M)
        L < z[d] && (L = z[d]);
      for (d = p; d < S; d += M)
        z[d] = L + A[p - 1];
    }
  else if (g === vh) {
    for (L = 0, d = 0; d < S; ++d)
      d % M && L < z[d] && (L = z[d]);
    for (d = 0; d < S; ++d)
      d % M && (z[d] = L + u);
  } else
    for (g = !1, p = 1; p < M; ++p)
      for (d = p; d < S; d += M)
        z[d] += A[p - 1];
  if (y === jz)
    for (b = 1; b < N; ++b) {
      for (L = 0, d = b * M, _ = d + M; d < _; ++d)
        L < s[d] && (L = s[d]);
      for (d = b * M; d < _; ++d)
        s[d] = L + h[b - 1];
    }
  else if (y === vh) {
    for (L = 0, d = M; d < S; ++d)
      L < s[d] && (L = s[d]);
    for (d = M; d < S; ++d)
      s[d] = L + E;
  } else
    for (y = !1, b = 1; b < N; ++b)
      for (d = b * M, _ = d + M; d < _; ++d)
        s[d] += h[b - 1];
  for (w = 0, d = 0; d < S; ++d)
    v = i[d], O = v.x || 0, v.x = w = z[d] + (d % M ? w : 0), v.bounds.translate(w - O, 0);
  for (p = 0; p < M; ++p)
    for (P = 0, d = p; d < S; d += M)
      v = i[d], T = v.y || 0, v.y = P += s[d], v.bounds.translate(0, P - T);
  if (Mr(r.center, yu) && N > 1 && g)
    for (d = 0; d < S; ++d)
      v = i[d], m = g === vh ? u : A[d % M], w = m - l(v).x2, w > 0 && (v.x += O = w / 2, v.bounds.translate(O, 0));
  if (Mr(r.center, bu) && M !== 1 && y)
    for (d = 0; d < S; ++d)
      v = i[d], m = y === vh ? E : h[~~(d / M)], P = m - l(v).y2, P > 0 && (v.y += T = P / 2, v.bounds.translate(0, T));
  for (d = 0; d < S; ++d) i[d].mark.bounds.clear();
  for (d = 0; d < S; ++d)
    v = i[d], e.dirty(v), c.union(v.mark.bounds.union(v.bounds));
  function R(B, j) {
    return Math.floor(Math.min(B, j));
  }
  function q(B, j) {
    return Math.ceil(Math.max(B, j));
  }
  l = o ? cbe : fbe, I = Mr(r.headerBand, bu, null), w = Eh(e, n.rowheaders, i, M, N, -Mr(x, "rowHeader"), R, 0, l, "x1", 0, M, 1, I), I = Mr(r.headerBand, yu, null), P = Eh(e, n.colheaders, i, M, M, -Mr(x, "columnHeader"), R, 1, l, "y1", 0, 1, M, I), I = Mr(r.footerBand, bu, null), Eh(e, n.rowfooters, i, M, N, Mr(x, "rowFooter"), q, 0, l, "x2", M - 1, M, 1, I), I = Mr(r.footerBand, yu, null), Eh(e, n.colfooters, i, M, M, Mr(x, "columnFooter"), q, 1, l, "y2", F - M, 1, M, I), n.rowtitle && (L = w - Mr(x, "rowTitle"), I = Mr(r.titleBand, bu, 0.5), a5(e, n.rowtitle, L, 0, c, I)), n.coltitle && (L = P - Mr(x, "columnTitle"), I = Mr(r.titleBand, yu, 0.5), a5(e, n.coltitle, L, 1, c, I));
}
function Eh(e, t, r, n, i, o, l, c, g, y, C, D, x, M) {
  var N = r.length, F = 0, z = 0, A, u, a, s, h, E, f, S, _;
  if (!N) return F;
  for (A = C; A < N; A += D)
    r[A] && (F = l(F, g(r[A], y)));
  if (!t.length) return F;
  for (t.length > i && (e.warn("Grid headers exceed limit: " + i), t = t.slice(0, i)), F += o, u = 0, s = t.length; u < s; ++u)
    e.dirty(t[u]), t[u].mark.bounds.clear();
  for (A = C, u = 0, s = t.length; u < s; ++u, A += D) {
    for (E = t[u], h = E.mark.bounds, a = A; a >= 0 && (f = r[a]) == null; a -= x) ;
    c ? (S = M == null ? f.x : Math.round(f.bounds.x1 + M * f.bounds.width()), _ = F) : (S = F, _ = M == null ? f.y : Math.round(f.bounds.y1 + M * f.bounds.height())), h.union(E.bounds.translate(S - (E.x || 0), _ - (E.y || 0))), E.x = S, E.y = _, e.dirty(E), z = l(z, h[y]);
  }
  return z;
}
function a5(e, t, r, n, i, o) {
  if (t) {
    e.dirty(t);
    var l = r, c = r;
    n ? l = Math.round(i.x1 + o * i.width()) : c = Math.round(i.y1 + o * i.height()), t.bounds.translate(l - (t.x || 0), c - (t.y || 0)), t.mark.bounds.clear().union(t.bounds), t.x = l, t.y = c, e.dirty(t);
  }
}
var o5 = 0.5, Is = new Cn();
function iK(e) {
  Ue.call(this, null, e);
}
var pbe = Ke(iK, Ue);
pbe.transform = function(e, t) {
  var r = t.dataflow;
  return e.mark.items.forEach(function(n) {
    e.layout && dbe(r, n, e.layout), hbe(r, n, e);
  }), e.modified() && t.reflow(), t;
};
function hbe(e, t, r) {
  var n = t.items, i = Math.max(0, t.width || 0), o = Math.max(0, t.height || 0), l = new Cn().set(0, 0, i, o), c = l.clone(), g = l.clone(), y = [], C, D, x, M, N, F;
  for (N = 0, F = n.length; N < F; ++N)
    switch (D = n[N], D.role) {
      case HY:
        M = mbe(D) ? c : g, M.union(gbe(e, D, i, o));
        break;
      case gve:
        C = D;
        break;
      case rR:
        y.push(D);
        break;
      case yve:
      case bve:
      case YY:
      case GY:
      case KY:
      case XY:
      case QY:
      case ZY:
        c.union(D.bounds), g.union(D.bounds);
        break;
      default:
        l.union(D.bounds);
    }
  if (y.length)
    for (x = {
      leftWidth: bbe(e, y),
      margin: r.legendMargin || 8,
      left: 0,
      right: 0,
      top: 0,
      bottom: 0
    }, N = 0, F = y.length; N < F; ++N)
      if (M = Ebe(e, y[N], x, c, g, i, o), r.autosize && r.autosize.type === JY) {
        var z = y[N].items[0].datum.orient;
        z === _a || z === zo ? l.add(M.x1, 0).add(M.x2, 0) : (z === fl || z === dl) && l.add(0, M.y1).add(0, M.y2);
      } else
        l.union(M);
  l.union(c).union(g), C && l.union(ybe(e, C, i, o, l)), wbe(e, t, l, r);
}
function jo(e, t, r) {
  return e[t] === r ? 0 : (e[t] = r, 1);
}
function mbe(e) {
  var t = e.items[0].datum.orient;
  return t === _a || t === zo;
}
function vbe(e) {
  var t = +e.grid;
  return [
    e.ticks ? t++ : -1,
    // ticks index
    e.labels ? t++ : -1,
    // labels index
    t + +e.domain
    // title index
  ];
}
function gbe(e, t, r, n) {
  var i = t.items[0], o = i.datum, l = o.orient, c = vbe(o), g = i.range, y = i.offset, C = i.position, D = i.minExtent, x = i.maxExtent, M = o.title && i.items[c[2]].items[0], N = i.titlePadding, F = i.bounds, z = 0, A = 0, u, a;
  switch (Is.clear().union(F), F.clear(), (u = c[0]) > -1 && F.union(i.items[u].bounds), (u = c[1]) > -1 && F.union(i.items[u].bounds), l) {
    case fl:
      z = C || 0, A = -y, a = Math.max(D, Math.min(x, -F.y1)), M && (a = Sh(M, a, N, 0, -1, F)), F.add(0, -a).add(g, 0);
      break;
    case _a:
      z = -y, A = C || 0, a = Math.max(D, Math.min(x, -F.x1)), M && (a = Sh(M, a, N, 1, -1, F)), F.add(-a, 0).add(0, g);
      break;
    case zo:
      z = r + y, A = C || 0, a = Math.max(D, Math.min(x, F.x2)), M && (a = Sh(M, a, N, 1, 1, F)), F.add(0, 0).add(a, g);
      break;
    case dl:
      z = C || 0, A = n + y, a = Math.max(D, Math.min(x, F.y2)), M && (a = Sh(M, a, N, 0, 1, F)), F.add(0, 0).add(g, a);
      break;
    default:
      z = i.x, A = i.y;
  }
  return po(F.translate(z, A), i), jo(i, "x", z + o5) | jo(i, "y", A + o5) && (i.bounds = Is, e.dirty(i), i.bounds = F, e.dirty(i)), i.mark.bounds.clear().union(F);
}
function Sh(e, t, r, n, i, o) {
  var l = e.bounds, c = 0, g = 0;
  return e.auto ? (t += r, n ? c = (e.x || 0) - (e.x = i * t) : g = (e.y || 0) - (e.y = i * t), l.translate(-c, -g), e.mark.bounds.set(l.x1, l.y1, l.x2, l.y2), n ? (o.add(0, l.y1).add(0, l.y2), t += l.width()) : (o.add(l.x1, 0).add(l.x2, 0), t += l.height())) : o.union(l), t;
}
function ybe(e, t, r, n, i) {
  var o = t.items[0], l = o.orient, c = o.frame, g = o.anchor, y = o.offset, C = o.bounds, D = l === _a || l === zo, x = 0, M = D ? n : r, N = 0, F = 0, z;
  switch (c !== pb ? l === _a ? (x = i.y2, M = i.y1) : l === zo ? (x = i.y1, M = i.y2) : (x = i.x1, M = i.x2) : l === _a && (x = n, M = 0), z = g === mve ? x : g === vve ? M : (x + M) / 2, Is.clear().union(C), l) {
    case fl:
      N = z, F = i.y1 - y;
      break;
    case _a:
      N = i.x1 - y, F = z;
      break;
    case zo:
      N = i.x2 + y, F = z;
      break;
    case dl:
      N = z, F = i.y2 + y;
      break;
    default:
      N = o.x, F = o.y;
  }
  return C.translate(N - o.x, F - o.y), jo(o, "x", N) | jo(o, "y", F) && (o.bounds = Is, e.dirty(o), o.bounds = C, e.dirty(o)), t.bounds.clear().union(C);
}
function bbe(e, t) {
  return t.reduce(function(r, n) {
    var i = n.items[0];
    if (_be(e, i, i.items[0].items[0]), i.datum.orient === _a) {
      var o = Is.clear();
      i.items.forEach(function(l) {
        o.union(l.bounds);
      }), r = Math.max(r, Math.ceil(o.width() + 2 * i.padding - 1));
    }
    return r;
  }, 0);
}
function _be(e, t, r) {
  var n = t.padding - r.x, i = t.padding - r.y;
  if (t.datum.title) {
    var o = t.items[1].items[0];
    i += t.titlePadding + o.fontSize;
  }
  (n || i) && (r.x += n, r.y += i, r.bounds.translate(n, i), r.mark.bounds.translate(n, i), e.dirty(r));
}
function Ebe(e, t, r, n, i, o, l) {
  var c = t.items[0], g = c.datum, y = g.orient, C = c.offset, D = c.bounds, x = 0, M = 0, N, F, z;
  switch (y === fl || y === dl ? (z = i, x = r[y]) : (y === _a || y === zo) && (z = n, M = r[y]), Is.clear().union(D), D.clear(), c.items.forEach(function(A) {
    D.union(A.bounds);
  }), N = 2 * c.padding - 1, F = 2 * c.padding - 1, D.empty() || (N = Math.ceil(D.width() + N), F = Math.ceil(D.height() + F)), g.type === Eve && Sbe(c.items[0].items[0].items[0].items), y) {
    case _a:
      x -= r.leftWidth + C - Math.floor(z.x1), r.left += F + r.margin;
      break;
    case zo:
      x += C + Math.ceil(z.x2), r.right += F + r.margin;
      break;
    case fl:
      M -= F + C - Math.floor(z.y1), r.top += N + r.margin;
      break;
    case dl:
      M += C + Math.ceil(z.y2), r.bottom += N + r.margin;
      break;
    case fve:
      x += C, M += C;
      break;
    case dve:
      x += o - N - C, M += C;
      break;
    case pve:
      x += C, M += l - F - C;
      break;
    case hve:
      x += o - N - C, M += l - F - C;
      break;
    default:
      x = c.x, M = c.y;
  }
  return po(D.set(x, M, x + N, M + F), c), jo(c, "x", x) | jo(c, "width", N) | jo(c, "y", M) | jo(c, "height", F) && (c.bounds = Is, e.dirty(c), c.bounds = D, e.dirty(c)), c.mark.bounds.clear().union(D);
}
function Sbe(e) {
  var t = e.reduce(function(r, n) {
    return r[n.column] = Math.max(n.bounds.x2 - n.x, r[n.column] || 0), r;
  }, {});
  e.forEach(function(r) {
    r.width = t[r.column], r.height = r.bounds.y2 - r.y;
  });
}
function wbe(e, t, r, n) {
  var i = n.autosize || {}, o = i.type, l = e._width, c = e._height, g = e.padding();
  if (!(e._autosize < 1 || !o)) {
    var y = Math.max(0, t.width || 0), C = Math.max(0, Math.ceil(-r.x1)), D = Math.max(0, Math.ceil(r.x2 - y)), x = Math.max(0, t.height || 0), M = Math.max(0, Math.ceil(-r.y1)), N = Math.max(0, Math.ceil(r.y2 - x));
    i.contains === _ve && (l -= g.left + g.right, c -= g.top + g.bottom), o === Tve ? (C = 0, M = 0, y = l, x = c) : o === JY ? (y = Math.max(0, l - C - D), x = Math.max(0, c - M - N)) : o === Sve ? (y = Math.max(0, l - C - D), c = x + M + N) : o === wve ? (l = y + C + D, x = Math.max(0, c - M - N)) : o === Ove && (l = y + C + D, c = x + M + N), e._resizeView(
      l,
      c,
      y,
      x,
      [C, M],
      i.resize
    );
  }
}
const Obe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  bound: JG,
  identifier: DR,
  mark: eK,
  overlap: tK,
  render: nK,
  viewlayout: iK
}, Symbol.toStringTag, { value: "Module" }));
var kb = "log", PR = "pow", Tbe = "utc", kR = "sqrt", Cbe = "band", xbe = "time", s5 = "point", RR = "linear", aK = "ordinal", oK = "quantile", sK = "quantize", MR = "threshold", Abe = "bin-linear", uK = "bin-ordinal", lK = "sequential";
function NR(e, t, r) {
  var n = e - t + r * 2;
  return e ? n > 0 ? n : 1 : 0;
}
function Dbe(e) {
  return function(t) {
    var r = t[0], n = t[1], i;
    return n < r && (i = r, r = n, n = i), [
      e.invert(r),
      e.invert(n)
    ];
  };
}
function Pbe(e) {
  return function(t) {
    var r = e.range(), n = t[0], i = t[1], o = -1, l, c, g, y;
    for (i < n && (c = n, n = i, i = c), g = 0, y = r.length; g < y; ++g)
      r[g] >= n && r[g] <= i && (o < 0 && (o = g), l = g);
    if (!(o < 0))
      return n = e.invertExtent(r[o]), i = e.invertExtent(r[l]), [
        n[0] === void 0 ? n[1] : n[0],
        i[1] === void 0 ? i[0] : i[1]
      ];
  };
}
function IR(e, t) {
  return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN;
}
function cK(e) {
  return e.length === 1 && (e = kbe(e)), {
    left: function(t, r, n, i) {
      for (n == null && (n = 0), i == null && (i = t.length); n < i; ) {
        var o = n + i >>> 1;
        e(t[o], r) < 0 ? n = o + 1 : i = o;
      }
      return n;
    },
    right: function(t, r, n, i) {
      for (n == null && (n = 0), i == null && (i = t.length); n < i; ) {
        var o = n + i >>> 1;
        e(t[o], r) > 0 ? i = o : n = o + 1;
      }
      return n;
    }
  };
}
function kbe(e) {
  return function(t, r) {
    return IR(e(t), r);
  };
}
var Rbe = cK(IR), Rb = Rbe.right;
function Mbe(e) {
  return e === null ? NaN : +e;
}
var HA = Math.sqrt(50), YA = Math.sqrt(10), GA = Math.sqrt(2);
function fK(e, t, r) {
  var n, i = -1, o, l, c;
  if (t = +t, e = +e, r = +r, e === t && r > 0) return [e];
  if ((n = t < e) && (o = e, e = t, t = o), (c = Uv(e, t, r)) === 0 || !isFinite(c)) return [];
  if (c > 0)
    for (e = Math.ceil(e / c), t = Math.floor(t / c), l = new Array(o = Math.ceil(t - e + 1)); ++i < o; ) l[i] = (e + i) * c;
  else
    for (e = Math.floor(e * c), t = Math.ceil(t * c), l = new Array(o = Math.ceil(e - t + 1)); ++i < o; ) l[i] = (e - i) / c;
  return n && l.reverse(), l;
}
function Uv(e, t, r) {
  var n = (t - e) / Math.max(0, r), i = Math.floor(Math.log(n) / Math.LN10), o = n / Math.pow(10, i);
  return i >= 0 ? (o >= HA ? 10 : o >= YA ? 5 : o >= GA ? 2 : 1) * Math.pow(10, i) : -Math.pow(10, -i) / (o >= HA ? 10 : o >= YA ? 5 : o >= GA ? 2 : 1);
}
function KA(e, t, r) {
  var n = Math.abs(t - e) / Math.max(0, r), i = Math.pow(10, Math.floor(Math.log(n) / Math.LN10)), o = n / i;
  return o >= HA ? i *= 10 : o >= YA ? i *= 5 : o >= GA && (i *= 2), t < e ? -i : i;
}
function Nbe(e, t, r) {
  if (r == null && (r = Mbe), !!(n = e.length)) {
    if ((t = +t) <= 0 || n < 2) return +r(e[0], 0, e);
    if (t >= 1) return +r(e[n - 1], n - 1, e);
    var n, i = (n - 1) * t, o = Math.floor(i), l = +r(e[o], o, e), c = +r(e[o + 1], o + 1, e);
    return l + (c - l) * (i - o);
  }
}
function mo(e, t) {
  switch (arguments.length) {
    case 0:
      break;
    case 1:
      this.range(e);
      break;
    default:
      this.range(t).domain(e);
      break;
  }
  return this;
}
var ci = "$";
function vg() {
}
vg.prototype = Vo.prototype = {
  constructor: vg,
  has: function(e) {
    return ci + e in this;
  },
  get: function(e) {
    return this[ci + e];
  },
  set: function(e, t) {
    return this[ci + e] = t, this;
  },
  remove: function(e) {
    var t = ci + e;
    return t in this && delete this[t];
  },
  clear: function() {
    for (var e in this) e[0] === ci && delete this[e];
  },
  keys: function() {
    var e = [];
    for (var t in this) t[0] === ci && e.push(t.slice(1));
    return e;
  },
  values: function() {
    var e = [];
    for (var t in this) t[0] === ci && e.push(this[t]);
    return e;
  },
  entries: function() {
    var e = [];
    for (var t in this) t[0] === ci && e.push({ key: t.slice(1), value: this[t] });
    return e;
  },
  size: function() {
    var e = 0;
    for (var t in this) t[0] === ci && ++e;
    return e;
  },
  empty: function() {
    for (var e in this) if (e[0] === ci) return !1;
    return !0;
  },
  each: function(e) {
    for (var t in this) t[0] === ci && e(this[t], t.slice(1), this);
  }
};
function Vo(e, t) {
  var r = new vg();
  if (e instanceof vg) e.each(function(c, g) {
    r.set(g, c);
  });
  else if (Array.isArray(e)) {
    var n = -1, i = e.length, o;
    if (t == null) for (; ++n < i; ) r.set(n, e[n]);
    else for (; ++n < i; ) r.set(t(o = e[n], n, e), o);
  } else if (e) for (var l in e) r.set(l, e[l]);
  return r;
}
function Ibe() {
  var e = [], t = [], r, n, i;
  function o(c, g, y, C) {
    if (g >= e.length)
      return r != null && c.sort(r), n != null ? n(c) : c;
    for (var D = -1, x = c.length, M = e[g++], N, F, z = Vo(), A, u = y(); ++D < x; )
      (A = z.get(N = M(F = c[D]) + "")) ? A.push(F) : z.set(N, [F]);
    return z.each(function(a, s) {
      C(u, s, o(a, g, y, C));
    }), u;
  }
  function l(c, g) {
    if (++g > e.length) return c;
    var y, C = t[g - 1];
    return n != null && g >= e.length ? y = c.entries() : (y = [], c.each(function(D, x) {
      y.push({ key: x, values: l(D, g) });
    })), C != null ? y.sort(function(D, x) {
      return C(D.key, x.key);
    }) : y;
  }
  return i = {
    object: function(c) {
      return o(c, 0, Fbe, Lbe);
    },
    map: function(c) {
      return o(c, 0, u5, l5);
    },
    entries: function(c) {
      return l(o(c, 0, u5, l5), 0);
    },
    key: function(c) {
      return e.push(c), i;
    },
    sortKeys: function(c) {
      return t[e.length - 1] = c, i;
    },
    sortValues: function(c) {
      return r = c, i;
    },
    rollup: function(c) {
      return n = c, i;
    }
  };
}
function Fbe() {
  return {};
}
function Lbe(e, t, r) {
  e[t] = r;
}
function u5() {
  return Vo();
}
function l5(e, t, r) {
  e.set(t, r);
}
function c5() {
}
var cs = Vo.prototype;
c5.prototype = {
  constructor: c5,
  has: cs.has,
  add: function(e) {
    return e += "", this[ci + e] = e, this;
  },
  remove: cs.remove,
  clear: cs.clear,
  values: cs.keys,
  size: cs.size,
  empty: cs.empty,
  each: cs.each
};
var dK = Array.prototype, gg = dK.map, Fs = dK.slice, XA = { name: "implicit" };
function FR() {
  var e = Vo(), t = [], r = [], n = XA;
  function i(o) {
    var l = o + "", c = e.get(l);
    if (!c) {
      if (n !== XA) return n;
      e.set(l, c = t.push(o));
    }
    return r[(c - 1) % r.length];
  }
  return i.domain = function(o) {
    if (!arguments.length) return t.slice();
    t = [], e = Vo();
    for (var l = -1, c = o.length, g, y; ++l < c; ) e.has(y = (g = o[l]) + "") || e.set(y, t.push(g));
    return i;
  }, i.range = function(o) {
    return arguments.length ? (r = Fs.call(o), i) : r.slice();
  }, i.unknown = function(o) {
    return arguments.length ? (n = o, i) : n;
  }, i.copy = function() {
    return FR(t, r).unknown(n);
  }, mo.apply(i, arguments), i;
}
function zl(e, t, r) {
  e.prototype = t.prototype = r, r.constructor = e;
}
function Rd(e, t) {
  var r = Object.create(e.prototype);
  for (var n in t) r[n] = t[n];
  return r;
}
function es() {
}
var Ls = 0.7, vl = 1 / Ls, el = "\\s*([+-]?\\d+)\\s*", Vf = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*", Sa = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*", jbe = /^#([0-9a-f]{3,8})$/, Ube = new RegExp("^rgb\\(" + [el, el, el] + "\\)$"), qbe = new RegExp("^rgb\\(" + [Sa, Sa, Sa] + "\\)$"), zbe = new RegExp("^rgba\\(" + [el, el, el, Vf] + "\\)$"), Bbe = new RegExp("^rgba\\(" + [Sa, Sa, Sa, Vf] + "\\)$"), Wbe = new RegExp("^hsl\\(" + [Vf, Sa, Sa] + "\\)$"), $be = new RegExp("^hsla\\(" + [Vf, Sa, Sa, Vf] + "\\)$"), f5 = {
  aliceblue: 15792383,
  antiquewhite: 16444375,
  aqua: 65535,
  aquamarine: 8388564,
  azure: 15794175,
  beige: 16119260,
  bisque: 16770244,
  black: 0,
  blanchedalmond: 16772045,
  blue: 255,
  blueviolet: 9055202,
  brown: 10824234,
  burlywood: 14596231,
  cadetblue: 6266528,
  chartreuse: 8388352,
  chocolate: 13789470,
  coral: 16744272,
  cornflowerblue: 6591981,
  cornsilk: 16775388,
  crimson: 14423100,
  cyan: 65535,
  darkblue: 139,
  darkcyan: 35723,
  darkgoldenrod: 12092939,
  darkgray: 11119017,
  darkgreen: 25600,
  darkgrey: 11119017,
  darkkhaki: 12433259,
  darkmagenta: 9109643,
  darkolivegreen: 5597999,
  darkorange: 16747520,
  darkorchid: 10040012,
  darkred: 9109504,
  darksalmon: 15308410,
  darkseagreen: 9419919,
  darkslateblue: 4734347,
  darkslategray: 3100495,
  darkslategrey: 3100495,
  darkturquoise: 52945,
  darkviolet: 9699539,
  deeppink: 16716947,
  deepskyblue: 49151,
  dimgray: 6908265,
  dimgrey: 6908265,
  dodgerblue: 2003199,
  firebrick: 11674146,
  floralwhite: 16775920,
  forestgreen: 2263842,
  fuchsia: 16711935,
  gainsboro: 14474460,
  ghostwhite: 16316671,
  gold: 16766720,
  goldenrod: 14329120,
  gray: 8421504,
  green: 32768,
  greenyellow: 11403055,
  grey: 8421504,
  honeydew: 15794160,
  hotpink: 16738740,
  indianred: 13458524,
  indigo: 4915330,
  ivory: 16777200,
  khaki: 15787660,
  lavender: 15132410,
  lavenderblush: 16773365,
  lawngreen: 8190976,
  lemonchiffon: 16775885,
  lightblue: 11393254,
  lightcoral: 15761536,
  lightcyan: 14745599,
  lightgoldenrodyellow: 16448210,
  lightgray: 13882323,
  lightgreen: 9498256,
  lightgrey: 13882323,
  lightpink: 16758465,
  lightsalmon: 16752762,
  lightseagreen: 2142890,
  lightskyblue: 8900346,
  lightslategray: 7833753,
  lightslategrey: 7833753,
  lightsteelblue: 11584734,
  lightyellow: 16777184,
  lime: 65280,
  limegreen: 3329330,
  linen: 16445670,
  magenta: 16711935,
  maroon: 8388608,
  mediumaquamarine: 6737322,
  mediumblue: 205,
  mediumorchid: 12211667,
  mediumpurple: 9662683,
  mediumseagreen: 3978097,
  mediumslateblue: 8087790,
  mediumspringgreen: 64154,
  mediumturquoise: 4772300,
  mediumvioletred: 13047173,
  midnightblue: 1644912,
  mintcream: 16121850,
  mistyrose: 16770273,
  moccasin: 16770229,
  navajowhite: 16768685,
  navy: 128,
  oldlace: 16643558,
  olive: 8421376,
  olivedrab: 7048739,
  orange: 16753920,
  orangered: 16729344,
  orchid: 14315734,
  palegoldenrod: 15657130,
  palegreen: 10025880,
  paleturquoise: 11529966,
  palevioletred: 14381203,
  papayawhip: 16773077,
  peachpuff: 16767673,
  peru: 13468991,
  pink: 16761035,
  plum: 14524637,
  powderblue: 11591910,
  purple: 8388736,
  rebeccapurple: 6697881,
  red: 16711680,
  rosybrown: 12357519,
  royalblue: 4286945,
  saddlebrown: 9127187,
  salmon: 16416882,
  sandybrown: 16032864,
  seagreen: 3050327,
  seashell: 16774638,
  sienna: 10506797,
  silver: 12632256,
  skyblue: 8900331,
  slateblue: 6970061,
  slategray: 7372944,
  slategrey: 7372944,
  snow: 16775930,
  springgreen: 65407,
  steelblue: 4620980,
  tan: 13808780,
  teal: 32896,
  thistle: 14204888,
  tomato: 16737095,
  turquoise: 4251856,
  violet: 15631086,
  wheat: 16113331,
  white: 16777215,
  whitesmoke: 16119285,
  yellow: 16776960,
  yellowgreen: 10145074
};
zl(es, Hf, {
  copy: function(e) {
    return Object.assign(new this.constructor(), this, e);
  },
  displayable: function() {
    return this.rgb().displayable();
  },
  hex: d5,
  // Deprecated! Use color.formatHex.
  formatHex: d5,
  formatHsl: Vbe,
  formatRgb: p5,
  toString: p5
});
function d5() {
  return this.rgb().formatHex();
}
function Vbe() {
  return pK(this).formatHsl();
}
function p5() {
  return this.rgb().formatRgb();
}
function Hf(e) {
  var t, r;
  return e = (e + "").trim().toLowerCase(), (t = jbe.exec(e)) ? (r = t[1].length, t = parseInt(t[1], 16), r === 6 ? h5(t) : r === 3 ? new $r(t >> 8 & 15 | t >> 4 & 240, t >> 4 & 15 | t & 240, (t & 15) << 4 | t & 15, 1) : r === 8 ? wh(t >> 24 & 255, t >> 16 & 255, t >> 8 & 255, (t & 255) / 255) : r === 4 ? wh(t >> 12 & 15 | t >> 8 & 240, t >> 8 & 15 | t >> 4 & 240, t >> 4 & 15 | t & 240, ((t & 15) << 4 | t & 15) / 255) : null) : (t = Ube.exec(e)) ? new $r(t[1], t[2], t[3], 1) : (t = qbe.exec(e)) ? new $r(t[1] * 255 / 100, t[2] * 255 / 100, t[3] * 255 / 100, 1) : (t = zbe.exec(e)) ? wh(t[1], t[2], t[3], t[4]) : (t = Bbe.exec(e)) ? wh(t[1] * 255 / 100, t[2] * 255 / 100, t[3] * 255 / 100, t[4]) : (t = Wbe.exec(e)) ? g5(t[1], t[2] / 100, t[3] / 100, 1) : (t = $be.exec(e)) ? g5(t[1], t[2] / 100, t[3] / 100, t[4]) : f5.hasOwnProperty(e) ? h5(f5[e]) : e === "transparent" ? new $r(NaN, NaN, NaN, 0) : null;
}
function h5(e) {
  return new $r(e >> 16 & 255, e >> 8 & 255, e & 255, 1);
}
function wh(e, t, r, n) {
  return n <= 0 && (e = t = r = NaN), new $r(e, t, r, n);
}
function LR(e) {
  return e instanceof es || (e = Hf(e)), e ? (e = e.rgb(), new $r(e.r, e.g, e.b, e.opacity)) : new $r();
}
function gl(e, t, r, n) {
  return arguments.length === 1 ? LR(e) : new $r(e, t, r, n ?? 1);
}
function $r(e, t, r, n) {
  this.r = +e, this.g = +t, this.b = +r, this.opacity = +n;
}
zl($r, gl, Rd(es, {
  brighter: function(e) {
    return e = e == null ? vl : Math.pow(vl, e), new $r(this.r * e, this.g * e, this.b * e, this.opacity);
  },
  darker: function(e) {
    return e = e == null ? Ls : Math.pow(Ls, e), new $r(this.r * e, this.g * e, this.b * e, this.opacity);
  },
  rgb: function() {
    return this;
  },
  displayable: function() {
    return -0.5 <= this.r && this.r < 255.5 && -0.5 <= this.g && this.g < 255.5 && -0.5 <= this.b && this.b < 255.5 && 0 <= this.opacity && this.opacity <= 1;
  },
  hex: m5,
  // Deprecated! Use color.formatHex.
  formatHex: m5,
  formatRgb: v5,
  toString: v5
}));
function m5() {
  return "#" + mC(this.r) + mC(this.g) + mC(this.b);
}
function v5() {
  var e = this.opacity;
  return e = isNaN(e) ? 1 : Math.max(0, Math.min(1, e)), (e === 1 ? "rgb(" : "rgba(") + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + ", " + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + ", " + Math.max(0, Math.min(255, Math.round(this.b) || 0)) + (e === 1 ? ")" : ", " + e + ")");
}
function mC(e) {
  return e = Math.max(0, Math.min(255, Math.round(e) || 0)), (e < 16 ? "0" : "") + e.toString(16);
}
function g5(e, t, r, n) {
  return n <= 0 ? e = t = r = NaN : r <= 0 || r >= 1 ? e = t = NaN : t <= 0 && (e = NaN), new ya(e, t, r, n);
}
function pK(e) {
  if (e instanceof ya) return new ya(e.h, e.s, e.l, e.opacity);
  if (e instanceof es || (e = Hf(e)), !e) return new ya();
  if (e instanceof ya) return e;
  e = e.rgb();
  var t = e.r / 255, r = e.g / 255, n = e.b / 255, i = Math.min(t, r, n), o = Math.max(t, r, n), l = NaN, c = o - i, g = (o + i) / 2;
  return c ? (t === o ? l = (r - n) / c + (r < n) * 6 : r === o ? l = (n - t) / c + 2 : l = (t - r) / c + 4, c /= g < 0.5 ? o + i : 2 - o - i, l *= 60) : c = g > 0 && g < 1 ? 0 : l, new ya(l, c, g, e.opacity);
}
function yg(e, t, r, n) {
  return arguments.length === 1 ? pK(e) : new ya(e, t, r, n ?? 1);
}
function ya(e, t, r, n) {
  this.h = +e, this.s = +t, this.l = +r, this.opacity = +n;
}
zl(ya, yg, Rd(es, {
  brighter: function(e) {
    return e = e == null ? vl : Math.pow(vl, e), new ya(this.h, this.s, this.l * e, this.opacity);
  },
  darker: function(e) {
    return e = e == null ? Ls : Math.pow(Ls, e), new ya(this.h, this.s, this.l * e, this.opacity);
  },
  rgb: function() {
    var e = this.h % 360 + (this.h < 0) * 360, t = isNaN(e) || isNaN(this.s) ? 0 : this.s, r = this.l, n = r + (r < 0.5 ? r : 1 - r) * t, i = 2 * r - n;
    return new $r(
      vC(e >= 240 ? e - 240 : e + 120, i, n),
      vC(e, i, n),
      vC(e < 120 ? e + 240 : e - 120, i, n),
      this.opacity
    );
  },
  displayable: function() {
    return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && 0 <= this.l && this.l <= 1 && 0 <= this.opacity && this.opacity <= 1;
  },
  formatHsl: function() {
    var e = this.opacity;
    return e = isNaN(e) ? 1 : Math.max(0, Math.min(1, e)), (e === 1 ? "hsl(" : "hsla(") + (this.h || 0) + ", " + (this.s || 0) * 100 + "%, " + (this.l || 0) * 100 + "%" + (e === 1 ? ")" : ", " + e + ")");
  }
}));
function vC(e, t, r) {
  return (e < 60 ? t + (r - t) * e / 60 : e < 180 ? r : e < 240 ? t + (r - t) * (240 - e) / 60 : t) * 255;
}
var hK = Math.PI / 180, mK = 180 / Math.PI, bg = 18, vK = 0.96422, gK = 1, yK = 0.82521, bK = 4 / 29, tl = 6 / 29, _K = 3 * tl * tl, Hbe = tl * tl * tl;
function EK(e) {
  if (e instanceof wa) return new wa(e.l, e.a, e.b, e.opacity);
  if (e instanceof Ka) return SK(e);
  e instanceof $r || (e = LR(e));
  var t = _C(e.r), r = _C(e.g), n = _C(e.b), i = gC((0.2225045 * t + 0.7168786 * r + 0.0606169 * n) / gK), o, l;
  return t === r && r === n ? o = l = i : (o = gC((0.4360747 * t + 0.3850649 * r + 0.1430804 * n) / vK), l = gC((0.0139322 * t + 0.0971045 * r + 0.7141733 * n) / yK)), new wa(116 * i - 16, 500 * (o - i), 200 * (i - l), e.opacity);
}
function _g(e, t, r, n) {
  return arguments.length === 1 ? EK(e) : new wa(e, t, r, n ?? 1);
}
function wa(e, t, r, n) {
  this.l = +e, this.a = +t, this.b = +r, this.opacity = +n;
}
zl(wa, _g, Rd(es, {
  brighter: function(e) {
    return new wa(this.l + bg * (e ?? 1), this.a, this.b, this.opacity);
  },
  darker: function(e) {
    return new wa(this.l - bg * (e ?? 1), this.a, this.b, this.opacity);
  },
  rgb: function() {
    var e = (this.l + 16) / 116, t = isNaN(this.a) ? e : e + this.a / 500, r = isNaN(this.b) ? e : e - this.b / 200;
    return t = vK * yC(t), e = gK * yC(e), r = yK * yC(r), new $r(
      bC(3.1338561 * t - 1.6168667 * e - 0.4906146 * r),
      bC(-0.9787684 * t + 1.9161415 * e + 0.033454 * r),
      bC(0.0719453 * t - 0.2289914 * e + 1.4052427 * r),
      this.opacity
    );
  }
}));
function gC(e) {
  return e > Hbe ? Math.pow(e, 1 / 3) : e / _K + bK;
}
function yC(e) {
  return e > tl ? e * e * e : _K * (e - bK);
}
function bC(e) {
  return 255 * (e <= 31308e-7 ? 12.92 * e : 1.055 * Math.pow(e, 1 / 2.4) - 0.055);
}
function _C(e) {
  return (e /= 255) <= 0.04045 ? e / 12.92 : Math.pow((e + 0.055) / 1.055, 2.4);
}
function Ybe(e) {
  if (e instanceof Ka) return new Ka(e.h, e.c, e.l, e.opacity);
  if (e instanceof wa || (e = EK(e)), e.a === 0 && e.b === 0) return new Ka(NaN, 0 < e.l && e.l < 100 ? 0 : NaN, e.l, e.opacity);
  var t = Math.atan2(e.b, e.a) * mK;
  return new Ka(t < 0 ? t + 360 : t, Math.sqrt(e.a * e.a + e.b * e.b), e.l, e.opacity);
}
function Eg(e, t, r, n) {
  return arguments.length === 1 ? Ybe(e) : new Ka(e, t, r, n ?? 1);
}
function Ka(e, t, r, n) {
  this.h = +e, this.c = +t, this.l = +r, this.opacity = +n;
}
function SK(e) {
  if (isNaN(e.h)) return new wa(e.l, 0, 0, e.opacity);
  var t = e.h * hK;
  return new wa(e.l, Math.cos(t) * e.c, Math.sin(t) * e.c, e.opacity);
}
zl(Ka, Eg, Rd(es, {
  brighter: function(e) {
    return new Ka(this.h, this.c, this.l + bg * (e ?? 1), this.opacity);
  },
  darker: function(e) {
    return new Ka(this.h, this.c, this.l - bg * (e ?? 1), this.opacity);
  },
  rgb: function() {
    return SK(this).rgb();
  }
}));
var wK = -0.14861, jR = 1.78277, UR = -0.29227, Mb = -0.90649, Yf = 1.97294, y5 = Yf * Mb, b5 = Yf * jR, _5 = jR * UR - Mb * wK;
function Gbe(e) {
  if (e instanceof Ps) return new Ps(e.h, e.s, e.l, e.opacity);
  e instanceof $r || (e = LR(e));
  var t = e.r / 255, r = e.g / 255, n = e.b / 255, i = (_5 * n + y5 * t - b5 * r) / (_5 + y5 - b5), o = n - i, l = (Yf * (r - i) - UR * o) / Mb, c = Math.sqrt(l * l + o * o) / (Yf * i * (1 - i)), g = c ? Math.atan2(l, o) * mK - 120 : NaN;
  return new Ps(g < 0 ? g + 360 : g, c, i, e.opacity);
}
function Ta(e, t, r, n) {
  return arguments.length === 1 ? Gbe(e) : new Ps(e, t, r, n ?? 1);
}
function Ps(e, t, r, n) {
  this.h = +e, this.s = +t, this.l = +r, this.opacity = +n;
}
zl(Ps, Ta, Rd(es, {
  brighter: function(e) {
    return e = e == null ? vl : Math.pow(vl, e), new Ps(this.h, this.s, this.l * e, this.opacity);
  },
  darker: function(e) {
    return e = e == null ? Ls : Math.pow(Ls, e), new Ps(this.h, this.s, this.l * e, this.opacity);
  },
  rgb: function() {
    var e = isNaN(this.h) ? 0 : (this.h + 120) * hK, t = +this.l, r = isNaN(this.s) ? 0 : this.s * t * (1 - t), n = Math.cos(e), i = Math.sin(e);
    return new $r(
      255 * (t + r * (wK * n + jR * i)),
      255 * (t + r * (UR * n + Mb * i)),
      255 * (t + r * (Yf * n)),
      this.opacity
    );
  }
}));
function OK(e, t, r, n, i) {
  var o = e * e, l = o * e;
  return ((1 - 3 * e + 3 * o - l) * t + (4 - 6 * o + 3 * l) * r + (1 + 3 * e + 3 * o - 3 * l) * n + l * i) / 6;
}
function TK(e) {
  var t = e.length - 1;
  return function(r) {
    var n = r <= 0 ? r = 0 : r >= 1 ? (r = 1, t - 1) : Math.floor(r * t), i = e[n], o = e[n + 1], l = n > 0 ? e[n - 1] : 2 * i - o, c = n < t - 1 ? e[n + 2] : 2 * o - i;
    return OK((r - n / t) * t, l, i, o, c);
  };
}
function CK(e) {
  var t = e.length;
  return function(r) {
    var n = Math.floor(((r %= 1) < 0 ? ++r : r) * t), i = e[(n + t - 1) % t], o = e[n % t], l = e[(n + 1) % t], c = e[(n + 2) % t];
    return OK((r - n / t) * t, i, o, l, c);
  };
}
function Nb(e) {
  return function() {
    return e;
  };
}
function xK(e, t) {
  return function(r) {
    return e + r * t;
  };
}
function Kbe(e, t, r) {
  return e = Math.pow(e, r), t = Math.pow(t, r) - e, r = 1 / r, function(n) {
    return Math.pow(e + n * t, r);
  };
}
function Ib(e, t) {
  var r = t - e;
  return r ? xK(e, r > 180 || r < -180 ? r - 360 * Math.round(r / 360) : r) : Nb(isNaN(e) ? t : e);
}
function Xbe(e) {
  return (e = +e) == 1 ? Nr : function(t, r) {
    return r - t ? Kbe(t, r, e) : Nb(isNaN(t) ? r : t);
  };
}
function Nr(e, t) {
  var r = t - e;
  return r ? xK(e, r) : Nb(isNaN(e) ? t : e);
}
const QA = function e(t) {
  var r = Xbe(t);
  function n(i, o) {
    var l = r((i = gl(i)).r, (o = gl(o)).r), c = r(i.g, o.g), g = r(i.b, o.b), y = Nr(i.opacity, o.opacity);
    return function(C) {
      return i.r = l(C), i.g = c(C), i.b = g(C), i.opacity = y(C), i + "";
    };
  }
  return n.gamma = e, n;
}(1);
function AK(e) {
  return function(t) {
    var r = t.length, n = new Array(r), i = new Array(r), o = new Array(r), l, c;
    for (l = 0; l < r; ++l)
      c = gl(t[l]), n[l] = c.r || 0, i[l] = c.g || 0, o[l] = c.b || 0;
    return n = e(n), i = e(i), o = e(o), c.opacity = 1, function(g) {
      return c.r = n(g), c.g = i(g), c.b = o(g), c + "";
    };
  };
}
var Fb = AK(TK), Qbe = AK(CK);
function qR(e, t) {
  t || (t = []);
  var r = e ? Math.min(t.length, e.length) : 0, n = t.slice(), i;
  return function(o) {
    for (i = 0; i < r; ++i) n[i] = e[i] * (1 - o) + t[i] * o;
    return n;
  };
}
function DK(e) {
  return ArrayBuffer.isView(e) && !(e instanceof DataView);
}
function Zbe(e, t) {
  return (DK(t) ? qR : PK)(e, t);
}
function PK(e, t) {
  var r = t ? t.length : 0, n = e ? Math.min(r, e.length) : 0, i = new Array(n), o = new Array(r), l;
  for (l = 0; l < n; ++l) i[l] = Md(e[l], t[l]);
  for (; l < r; ++l) o[l] = t[l];
  return function(c) {
    for (l = 0; l < n; ++l) o[l] = i[l](c);
    return o;
  };
}
function kK(e, t) {
  var r = /* @__PURE__ */ new Date();
  return e = +e, t = +t, function(n) {
    return r.setTime(e * (1 - n) + t * n), r;
  };
}
function Ii(e, t) {
  return e = +e, t = +t, function(r) {
    return e * (1 - r) + t * r;
  };
}
function RK(e, t) {
  var r = {}, n = {}, i;
  (e === null || typeof e != "object") && (e = {}), (t === null || typeof t != "object") && (t = {});
  for (i in t)
    i in e ? r[i] = Md(e[i], t[i]) : n[i] = t[i];
  return function(o) {
    for (i in r) n[i] = r[i](o);
    return n;
  };
}
var ZA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, EC = new RegExp(ZA.source, "g");
function Jbe(e) {
  return function() {
    return e;
  };
}
function e_e(e) {
  return function(t) {
    return e(t) + "";
  };
}
function MK(e, t) {
  var r = ZA.lastIndex = EC.lastIndex = 0, n, i, o, l = -1, c = [], g = [];
  for (e = e + "", t = t + ""; (n = ZA.exec(e)) && (i = EC.exec(t)); )
    (o = i.index) > r && (o = t.slice(r, o), c[l] ? c[l] += o : c[++l] = o), (n = n[0]) === (i = i[0]) ? c[l] ? c[l] += i : c[++l] = i : (c[++l] = null, g.push({ i: l, x: Ii(n, i) })), r = EC.lastIndex;
  return r < t.length && (o = t.slice(r), c[l] ? c[l] += o : c[++l] = o), c.length < 2 ? g[0] ? e_e(g[0].x) : Jbe(t) : (t = g.length, function(y) {
    for (var C = 0, D; C < t; ++C) c[(D = g[C]).i] = D.x(y);
    return c.join("");
  });
}
function Md(e, t) {
  var r = typeof t, n;
  return t == null || r === "boolean" ? Nb(t) : (r === "number" ? Ii : r === "string" ? (n = Hf(t)) ? (t = n, QA) : MK : t instanceof Hf ? QA : t instanceof Date ? kK : DK(t) ? qR : Array.isArray(t) ? PK : typeof t.valueOf != "function" && typeof t.toString != "function" || isNaN(t) ? RK : Ii)(e, t);
}
function t_e(e) {
  var t = e.length;
  return function(r) {
    return e[Math.max(0, Math.min(t - 1, Math.floor(r * t)))];
  };
}
function r_e(e, t) {
  var r = Ib(+e, +t);
  return function(n) {
    var i = r(n);
    return i - 360 * Math.floor(i / 360);
  };
}
function zR(e, t) {
  return e = +e, t = +t, function(r) {
    return Math.round(e * (1 - r) + t * r);
  };
}
var E5 = 180 / Math.PI, JA = {
  translateX: 0,
  translateY: 0,
  rotate: 0,
  skewX: 0,
  scaleX: 1,
  scaleY: 1
};
function NK(e, t, r, n, i, o) {
  var l, c, g;
  return (l = Math.sqrt(e * e + t * t)) && (e /= l, t /= l), (g = e * r + t * n) && (r -= e * g, n -= t * g), (c = Math.sqrt(r * r + n * n)) && (r /= c, n /= c, g /= c), e * n < t * r && (e = -e, t = -t, g = -g, l = -l), {
    translateX: i,
    translateY: o,
    rotate: Math.atan2(t, e) * E5,
    skewX: Math.atan(g) * E5,
    scaleX: l,
    scaleY: c
  };
}
var dc, SC, S5, Oh;
function n_e(e) {
  return e === "none" ? JA : (dc || (dc = document.createElement("DIV"), SC = document.documentElement, S5 = document.defaultView), dc.style.transform = e, e = S5.getComputedStyle(SC.appendChild(dc), null).getPropertyValue("transform"), SC.removeChild(dc), e = e.slice(7, -1).split(","), NK(+e[0], +e[1], +e[2], +e[3], +e[4], +e[5]));
}
function i_e(e) {
  return e == null || (Oh || (Oh = document.createElementNS("http://www.w3.org/2000/svg", "g")), Oh.setAttribute("transform", e), !(e = Oh.transform.baseVal.consolidate())) ? JA : (e = e.matrix, NK(e.a, e.b, e.c, e.d, e.e, e.f));
}
function IK(e, t, r, n) {
  function i(y) {
    return y.length ? y.pop() + " " : "";
  }
  function o(y, C, D, x, M, N) {
    if (y !== D || C !== x) {
      var F = M.push("translate(", null, t, null, r);
      N.push({ i: F - 4, x: Ii(y, D) }, { i: F - 2, x: Ii(C, x) });
    } else (D || x) && M.push("translate(" + D + t + x + r);
  }
  function l(y, C, D, x) {
    y !== C ? (y - C > 180 ? C += 360 : C - y > 180 && (y += 360), x.push({ i: D.push(i(D) + "rotate(", null, n) - 2, x: Ii(y, C) })) : C && D.push(i(D) + "rotate(" + C + n);
  }
  function c(y, C, D, x) {
    y !== C ? x.push({ i: D.push(i(D) + "skewX(", null, n) - 2, x: Ii(y, C) }) : C && D.push(i(D) + "skewX(" + C + n);
  }
  function g(y, C, D, x, M, N) {
    if (y !== D || C !== x) {
      var F = M.push(i(M) + "scale(", null, ",", null, ")");
      N.push({ i: F - 4, x: Ii(y, D) }, { i: F - 2, x: Ii(C, x) });
    } else (D !== 1 || x !== 1) && M.push(i(M) + "scale(" + D + "," + x + ")");
  }
  return function(y, C) {
    var D = [], x = [];
    return y = e(y), C = e(C), o(y.translateX, y.translateY, C.translateX, C.translateY, D, x), l(y.rotate, C.rotate, D, x), c(y.skewX, C.skewX, D, x), g(y.scaleX, y.scaleY, C.scaleX, C.scaleY, D, x), y = C = null, function(M) {
      for (var N = -1, F = x.length, z; ++N < F; ) D[(z = x[N]).i] = z.x(M);
      return D.join("");
    };
  };
}
var a_e = IK(n_e, "px, ", "px)", "deg)"), o_e = IK(i_e, ", ", ")", ")"), pc = Math.SQRT2, wC = 2, w5 = 4, s_e = 1e-12;
function O5(e) {
  return ((e = Math.exp(e)) + 1 / e) / 2;
}
function u_e(e) {
  return ((e = Math.exp(e)) - 1 / e) / 2;
}
function l_e(e) {
  return ((e = Math.exp(2 * e)) - 1) / (e + 1);
}
function c_e(e, t) {
  var r = e[0], n = e[1], i = e[2], o = t[0], l = t[1], c = t[2], g = o - r, y = l - n, C = g * g + y * y, D, x;
  if (C < s_e)
    x = Math.log(c / i) / pc, D = function(u) {
      return [
        r + u * g,
        n + u * y,
        i * Math.exp(pc * u * x)
      ];
    };
  else {
    var M = Math.sqrt(C), N = (c * c - i * i + w5 * C) / (2 * i * wC * M), F = (c * c - i * i - w5 * C) / (2 * c * wC * M), z = Math.log(Math.sqrt(N * N + 1) - N), A = Math.log(Math.sqrt(F * F + 1) - F);
    x = (A - z) / pc, D = function(u) {
      var a = u * x, s = O5(z), h = i / (wC * M) * (s * l_e(pc * a + z) - u_e(z));
      return [
        r + h * g,
        n + h * y,
        i * s / O5(pc * a + z)
      ];
    };
  }
  return D.duration = x * 1e3, D;
}
function FK(e) {
  return function(t, r) {
    var n = e((t = yg(t)).h, (r = yg(r)).h), i = Nr(t.s, r.s), o = Nr(t.l, r.l), l = Nr(t.opacity, r.opacity);
    return function(c) {
      return t.h = n(c), t.s = i(c), t.l = o(c), t.opacity = l(c), t + "";
    };
  };
}
const f_e = FK(Ib);
var d_e = FK(Nr);
function p_e(e, t) {
  var r = Nr((e = _g(e)).l, (t = _g(t)).l), n = Nr(e.a, t.a), i = Nr(e.b, t.b), o = Nr(e.opacity, t.opacity);
  return function(l) {
    return e.l = r(l), e.a = n(l), e.b = i(l), e.opacity = o(l), e + "";
  };
}
function LK(e) {
  return function(t, r) {
    var n = e((t = Eg(t)).h, (r = Eg(r)).h), i = Nr(t.c, r.c), o = Nr(t.l, r.l), l = Nr(t.opacity, r.opacity);
    return function(c) {
      return t.h = n(c), t.c = i(c), t.l = o(c), t.opacity = l(c), t + "";
    };
  };
}
const h_e = LK(Ib);
var m_e = LK(Nr);
function jK(e) {
  return function t(r) {
    r = +r;
    function n(i, o) {
      var l = e((i = Ta(i)).h, (o = Ta(o)).h), c = Nr(i.s, o.s), g = Nr(i.l, o.l), y = Nr(i.opacity, o.opacity);
      return function(C) {
        return i.h = l(C), i.s = c(C), i.l = g(Math.pow(C, r)), i.opacity = y(C), i + "";
      };
    }
    return n.gamma = t, n;
  }(1);
}
const v_e = jK(Ib);
var Lb = jK(Nr);
function g_e(e, t) {
  for (var r = 0, n = t.length - 1, i = t[0], o = new Array(n < 0 ? 0 : n); r < n; ) o[r] = e(i, i = t[++r]);
  return function(l) {
    var c = Math.max(0, Math.min(n - 1, Math.floor(l *= n)));
    return o[c](l - c);
  };
}
function y_e(e, t) {
  for (var r = new Array(t), n = 0; n < t; ++n) r[n] = e(n / (t - 1));
  return r;
}
const b_e = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  interpolate: Md,
  interpolateArray: Zbe,
  interpolateBasis: TK,
  interpolateBasisClosed: CK,
  interpolateCubehelix: v_e,
  interpolateCubehelixLong: Lb,
  interpolateDate: kK,
  interpolateDiscrete: t_e,
  interpolateHcl: h_e,
  interpolateHclLong: m_e,
  interpolateHsl: f_e,
  interpolateHslLong: d_e,
  interpolateHue: r_e,
  interpolateLab: p_e,
  interpolateNumber: Ii,
  interpolateNumberArray: qR,
  interpolateObject: RK,
  interpolateRgb: QA,
  interpolateRgbBasis: Fb,
  interpolateRgbBasisClosed: Qbe,
  interpolateRound: zR,
  interpolateString: MK,
  interpolateTransformCss: a_e,
  interpolateTransformSvg: o_e,
  interpolateZoom: c_e,
  piecewise: g_e,
  quantize: y_e
}, Symbol.toStringTag, { value: "Module" }));
function E_e(e) {
  return function() {
    return e;
  };
}
function eD(e) {
  return +e;
}
var T5 = [0, 1];
function hi(e) {
  return e;
}
function tD(e, t) {
  return (t -= e = +e) ? function(r) {
    return (r - e) / t;
  } : E_e(isNaN(t) ? NaN : 0.5);
}
function C5(e) {
  var t = e[0], r = e[e.length - 1], n;
  return t > r && (n = t, t = r, r = n), function(i) {
    return Math.max(t, Math.min(r, i));
  };
}
function S_e(e, t, r) {
  var n = e[0], i = e[1], o = t[0], l = t[1];
  return i < n ? (n = tD(i, n), o = r(l, o)) : (n = tD(n, i), o = r(o, l)), function(c) {
    return o(n(c));
  };
}
function w_e(e, t, r) {
  var n = Math.min(e.length, t.length) - 1, i = new Array(n), o = new Array(n), l = -1;
  for (e[n] < e[0] && (e = e.slice().reverse(), t = t.slice().reverse()); ++l < n; )
    i[l] = tD(e[l], e[l + 1]), o[l] = r(t[l], t[l + 1]);
  return function(c) {
    var g = Rb(e, c, 1, n) - 1;
    return o[g](i[g](c));
  };
}
function jb(e, t) {
  return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown());
}
function BR() {
  var e = T5, t = T5, r = Md, n, i, o, l = hi, c, g, y;
  function C() {
    return c = Math.min(e.length, t.length) > 2 ? w_e : S_e, g = y = null, D;
  }
  function D(x) {
    return isNaN(x = +x) ? o : (g || (g = c(e.map(n), t, r)))(n(l(x)));
  }
  return D.invert = function(x) {
    return l(i((y || (y = c(t, e.map(n), Ii)))(x)));
  }, D.domain = function(x) {
    return arguments.length ? (e = gg.call(x, eD), l === hi || (l = C5(e)), C()) : e.slice();
  }, D.range = function(x) {
    return arguments.length ? (t = Fs.call(x), C()) : t.slice();
  }, D.rangeRound = function(x) {
    return t = Fs.call(x), r = zR, C();
  }, D.clamp = function(x) {
    return arguments.length ? (l = x ? C5(e) : hi, D) : l !== hi;
  }, D.interpolate = function(x) {
    return arguments.length ? (r = x, C()) : r;
  }, D.unknown = function(x) {
    return arguments.length ? (o = x, D) : o;
  }, function(x, M) {
    return n = x, i = M, C();
  };
}
function UK(e, t) {
  return BR()(e, t);
}
function O_e(e) {
  return Math.abs(e = Math.round(e)) >= 1e21 ? e.toLocaleString("en").replace(/,/g, "") : e.toString(10);
}
function Sg(e, t) {
  if ((r = (e = t ? e.toExponential(t - 1) : e.toExponential()).indexOf("e")) < 0) return null;
  var r, n = e.slice(0, r);
  return [
    n.length > 1 ? n[0] + n.slice(2) : n,
    +e.slice(r + 1)
  ];
}
function yl(e) {
  return e = Sg(Math.abs(e)), e ? e[1] : NaN;
}
function T_e(e, t) {
  return function(r, n) {
    for (var i = r.length, o = [], l = 0, c = e[0], g = 0; i > 0 && c > 0 && (g + c + 1 > n && (c = Math.max(1, n - g)), o.push(r.substring(i -= c, i + c)), !((g += c + 1) > n)); )
      c = e[l = (l + 1) % e.length];
    return o.reverse().join(t);
  };
}
function C_e(e) {
  return function(t) {
    return t.replace(/[0-9]/g, function(r) {
      return e[+r];
    });
  };
}
var x_e = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;
function Gf(e) {
  if (!(t = x_e.exec(e))) throw new Error("invalid format: " + e);
  var t;
  return new WR({
    fill: t[1],
    align: t[2],
    sign: t[3],
    symbol: t[4],
    zero: t[5],
    width: t[6],
    comma: t[7],
    precision: t[8] && t[8].slice(1),
    trim: t[9],
    type: t[10]
  });
}
Gf.prototype = WR.prototype;
function WR(e) {
  this.fill = e.fill === void 0 ? " " : e.fill + "", this.align = e.align === void 0 ? ">" : e.align + "", this.sign = e.sign === void 0 ? "-" : e.sign + "", this.symbol = e.symbol === void 0 ? "" : e.symbol + "", this.zero = !!e.zero, this.width = e.width === void 0 ? void 0 : +e.width, this.comma = !!e.comma, this.precision = e.precision === void 0 ? void 0 : +e.precision, this.trim = !!e.trim, this.type = e.type === void 0 ? "" : e.type + "";
}
WR.prototype.toString = function() {
  return this.fill + this.align + this.sign + this.symbol + (this.zero ? "0" : "") + (this.width === void 0 ? "" : Math.max(1, this.width | 0)) + (this.comma ? "," : "") + (this.precision === void 0 ? "" : "." + Math.max(0, this.precision | 0)) + (this.trim ? "~" : "") + this.type;
};
function A_e(e) {
  e: for (var t = e.length, r = 1, n = -1, i; r < t; ++r)
    switch (e[r]) {
      case ".":
        n = i = r;
        break;
      case "0":
        n === 0 && (n = r), i = r;
        break;
      default:
        if (!+e[r]) break e;
        n > 0 && (n = 0);
        break;
    }
  return n > 0 ? e.slice(0, n) + e.slice(i + 1) : e;
}
var qK;
function D_e(e, t) {
  var r = Sg(e, t);
  if (!r) return e + "";
  var n = r[0], i = r[1], o = i - (qK = Math.max(-8, Math.min(8, Math.floor(i / 3))) * 3) + 1, l = n.length;
  return o === l ? n : o > l ? n + new Array(o - l + 1).join("0") : o > 0 ? n.slice(0, o) + "." + n.slice(o) : "0." + new Array(1 - o).join("0") + Sg(e, Math.max(0, t + o - 1))[0];
}
function x5(e, t) {
  var r = Sg(e, t);
  if (!r) return e + "";
  var n = r[0], i = r[1];
  return i < 0 ? "0." + new Array(-i).join("0") + n : n.length > i + 1 ? n.slice(0, i + 1) + "." + n.slice(i + 1) : n + new Array(i - n.length + 2).join("0");
}
const A5 = {
  "%": function(e, t) {
    return (e * 100).toFixed(t);
  },
  b: function(e) {
    return Math.round(e).toString(2);
  },
  c: function(e) {
    return e + "";
  },
  d: O_e,
  e: function(e, t) {
    return e.toExponential(t);
  },
  f: function(e, t) {
    return e.toFixed(t);
  },
  g: function(e, t) {
    return e.toPrecision(t);
  },
  o: function(e) {
    return Math.round(e).toString(8);
  },
  p: function(e, t) {
    return x5(e * 100, t);
  },
  r: x5,
  s: D_e,
  X: function(e) {
    return Math.round(e).toString(16).toUpperCase();
  },
  x: function(e) {
    return Math.round(e).toString(16);
  }
};
function D5(e) {
  return e;
}
var P5 = Array.prototype.map, k5 = ["y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y"];
function P_e(e) {
  var t = e.grouping === void 0 || e.thousands === void 0 ? D5 : T_e(P5.call(e.grouping, Number), e.thousands + ""), r = e.currency === void 0 ? "" : e.currency[0] + "", n = e.currency === void 0 ? "" : e.currency[1] + "", i = e.decimal === void 0 ? "." : e.decimal + "", o = e.numerals === void 0 ? D5 : C_e(P5.call(e.numerals, String)), l = e.percent === void 0 ? "%" : e.percent + "", c = e.minus === void 0 ? "-" : e.minus + "", g = e.nan === void 0 ? "NaN" : e.nan + "";
  function y(D) {
    D = Gf(D);
    var x = D.fill, M = D.align, N = D.sign, F = D.symbol, z = D.zero, A = D.width, u = D.comma, a = D.precision, s = D.trim, h = D.type;
    h === "n" ? (u = !0, h = "g") : A5[h] || (a === void 0 && (a = 12), s = !0, h = "g"), (z || x === "0" && M === "=") && (z = !0, x = "0", M = "=");
    var E = F === "$" ? r : F === "#" && /[boxX]/.test(h) ? "0" + h.toLowerCase() : "", f = F === "$" ? n : /[%p]/.test(h) ? l : "", S = A5[h], _ = /[defgprs%]/.test(h);
    a = a === void 0 ? 6 : /[gprs]/.test(h) ? Math.max(1, Math.min(21, a)) : Math.max(0, Math.min(20, a));
    function d(p) {
      var b = E, m = f, v, O, T;
      if (h === "c")
        m = S(p) + m, p = "";
      else {
        p = +p;
        var w = p < 0 || 1 / p < 0;
        if (p = isNaN(p) ? g : S(Math.abs(p), a), s && (p = A_e(p)), w && +p == 0 && N !== "+" && (w = !1), b = (w ? N === "(" ? N : c : N === "-" || N === "(" ? "" : N) + b, m = (h === "s" ? k5[8 + qK / 3] : "") + m + (w && N === "(" ? ")" : ""), _) {
          for (v = -1, O = p.length; ++v < O; )
            if (T = p.charCodeAt(v), 48 > T || T > 57) {
              m = (T === 46 ? i + p.slice(v + 1) : p.slice(v)) + m, p = p.slice(0, v);
              break;
            }
        }
      }
      u && !z && (p = t(p, 1 / 0));
      var P = b.length + p.length + m.length, I = P < A ? new Array(A - P + 1).join(x) : "";
      switch (u && z && (p = t(I + p, I.length ? A - m.length : 1 / 0), I = ""), M) {
        case "<":
          p = b + p + m + I;
          break;
        case "=":
          p = b + I + p + m;
          break;
        case "^":
          p = I.slice(0, P = I.length >> 1) + b + p + m + I.slice(P);
          break;
        default:
          p = I + b + p + m;
          break;
      }
      return o(p);
    }
    return d.toString = function() {
      return D + "";
    }, d;
  }
  function C(D, x) {
    var M = y((D = Gf(D), D.type = "f", D)), N = Math.max(-8, Math.min(8, Math.floor(yl(x) / 3))) * 3, F = Math.pow(10, -N), z = k5[8 + N / 3];
    return function(A) {
      return M(F * A) + z;
    };
  }
  return {
    format: y,
    formatPrefix: C
  };
}
var Th, Bo, zK;
BK({
  decimal: ".",
  thousands: ",",
  grouping: [3],
  currency: ["$", ""],
  minus: "-"
});
function BK(e) {
  return Th = P_e(e), Bo = Th.format, zK = Th.formatPrefix, Th;
}
function k_e(e) {
  return Math.max(0, -yl(Math.abs(e)));
}
function R_e(e, t) {
  return Math.max(0, Math.max(-8, Math.min(8, Math.floor(yl(t) / 3))) * 3 - yl(Math.abs(e)));
}
function M_e(e, t) {
  return e = Math.abs(e), t = Math.abs(t) - e, Math.max(0, yl(t) - yl(e)) + 1;
}
function N_e(e, t, r, n) {
  var i = KA(e, t, r), o;
  switch (n = Gf(n ?? ",f"), n.type) {
    case "s": {
      var l = Math.max(Math.abs(e), Math.abs(t));
      return n.precision == null && !isNaN(o = R_e(i, l)) && (n.precision = o), zK(n, l);
    }
    case "":
    case "e":
    case "g":
    case "p":
    case "r": {
      n.precision == null && !isNaN(o = M_e(i, Math.max(Math.abs(e), Math.abs(t)))) && (n.precision = o - (n.type === "e"));
      break;
    }
    case "f":
    case "%": {
      n.precision == null && !isNaN(o = k_e(i)) && (n.precision = o - (n.type === "%") * 2);
      break;
    }
  }
  return Bo(n);
}
function Ub(e) {
  var t = e.domain;
  return e.ticks = function(r) {
    var n = t();
    return fK(n[0], n[n.length - 1], r ?? 10);
  }, e.tickFormat = function(r, n) {
    var i = t();
    return N_e(i[0], i[i.length - 1], r ?? 10, n);
  }, e.nice = function(r) {
    r == null && (r = 10);
    var n = t(), i = 0, o = n.length - 1, l = n[i], c = n[o], g;
    return c < l && (g = l, l = c, c = g, g = i, i = o, o = g), g = Uv(l, c, r), g > 0 ? (l = Math.floor(l / g) * g, c = Math.ceil(c / g) * g, g = Uv(l, c, r)) : g < 0 && (l = Math.ceil(l * g) / g, c = Math.floor(c * g) / g, g = Uv(l, c, r)), g > 0 ? (n[i] = Math.floor(l / g) * g, n[o] = Math.ceil(c / g) * g, t(n)) : g < 0 && (n[i] = Math.ceil(l * g) / g, n[o] = Math.floor(c * g) / g, t(n)), e;
  }, e;
}
function Nd() {
  var e = UK(hi, hi);
  return e.copy = function() {
    return jb(e, Nd());
  }, mo.apply(e, arguments), Ub(e);
}
function WK(e) {
  var t;
  function r(n) {
    return isNaN(n = +n) ? t : n;
  }
  return r.invert = r, r.domain = r.range = function(n) {
    return arguments.length ? (e = gg.call(n, eD), r) : e.slice();
  }, r.unknown = function(n) {
    return arguments.length ? (t = n, r) : t;
  }, r.copy = function() {
    return WK(e).unknown(t);
  }, e = arguments.length ? gg.call(e, eD) : [0, 1], Ub(r);
}
function $K(e, t) {
  e = e.slice();
  var r = 0, n = e.length - 1, i = e[r], o = e[n], l;
  return o < i && (l = r, r = n, n = l, l = i, i = o, o = l), e[r] = t.floor(i), e[n] = t.ceil(o), e;
}
function R5(e) {
  return Math.log(e);
}
function M5(e) {
  return Math.exp(e);
}
function I_e(e) {
  return -Math.log(-e);
}
function F_e(e) {
  return -Math.exp(-e);
}
function L_e(e) {
  return isFinite(e) ? +("1e" + e) : e < 0 ? 0 : e;
}
function j_e(e) {
  return e === 10 ? L_e : e === Math.E ? Math.exp : function(t) {
    return Math.pow(e, t);
  };
}
function U_e(e) {
  return e === Math.E ? Math.log : e === 10 && Math.log10 || e === 2 && Math.log2 || (e = Math.log(e), function(t) {
    return Math.log(t) / e;
  });
}
function N5(e) {
  return function(t) {
    return -e(-t);
  };
}
function q_e(e) {
  var t = e(R5, M5), r = t.domain, n = 10, i, o;
  function l() {
    return i = U_e(n), o = j_e(n), r()[0] < 0 ? (i = N5(i), o = N5(o), e(I_e, F_e)) : e(R5, M5), t;
  }
  return t.base = function(c) {
    return arguments.length ? (n = +c, l()) : n;
  }, t.domain = function(c) {
    return arguments.length ? (r(c), l()) : r();
  }, t.ticks = function(c) {
    var g = r(), y = g[0], C = g[g.length - 1], D;
    (D = C < y) && (x = y, y = C, C = x);
    var x = i(y), M = i(C), N, F, z, A = c == null ? 10 : +c, u = [];
    if (!(n % 1) && M - x < A) {
      if (x = Math.round(x) - 1, M = Math.round(M) + 1, y > 0) {
        for (; x < M; ++x)
          for (F = 1, N = o(x); F < n; ++F)
            if (z = N * F, !(z < y)) {
              if (z > C) break;
              u.push(z);
            }
      } else for (; x < M; ++x)
        for (F = n - 1, N = o(x); F >= 1; --F)
          if (z = N * F, !(z < y)) {
            if (z > C) break;
            u.push(z);
          }
    } else
      u = fK(x, M, Math.min(M - x, A)).map(o);
    return D ? u.reverse() : u;
  }, t.tickFormat = function(c, g) {
    if (g == null && (g = n === 10 ? ".0e" : ","), typeof g != "function" && (g = Bo(g)), c === 1 / 0) return g;
    c == null && (c = 10);
    var y = Math.max(1, n * c / t.ticks().length);
    return function(C) {
      var D = C / o(Math.round(i(C)));
      return D * n < n - 0.5 && (D *= n), D <= y ? g(C) : "";
    };
  }, t.nice = function() {
    return r($K(r(), {
      floor: function(c) {
        return o(Math.floor(i(c)));
      },
      ceil: function(c) {
        return o(Math.ceil(i(c)));
      }
    }));
  }, t;
}
function VK() {
  var e = q_e(BR()).domain([1, 10]);
  return e.copy = function() {
    return jb(e, VK()).base(e.base());
  }, mo.apply(e, arguments), e;
}
function I5(e) {
  return function(t) {
    return t < 0 ? -Math.pow(-t, e) : Math.pow(t, e);
  };
}
function z_e(e) {
  return e < 0 ? -Math.sqrt(-e) : Math.sqrt(e);
}
function B_e(e) {
  return e < 0 ? -e * e : e * e;
}
function W_e(e) {
  var t = e(hi, hi), r = 1;
  function n() {
    return r === 1 ? e(hi, hi) : r === 0.5 ? e(z_e, B_e) : e(I5(r), I5(1 / r));
  }
  return t.exponent = function(i) {
    return arguments.length ? (r = +i, n()) : r;
  }, Ub(t);
}
function $R() {
  var e = W_e(BR());
  return e.copy = function() {
    return jb(e, $R()).exponent(e.exponent());
  }, mo.apply(e, arguments), e;
}
function $_e() {
  return $R.apply(null, arguments).exponent(0.5);
}
function HK() {
  var e = [], t = [], r = [], n;
  function i() {
    var l = 0, c = Math.max(1, t.length);
    for (r = new Array(c - 1); ++l < c; ) r[l - 1] = Nbe(e, l / c);
    return o;
  }
  function o(l) {
    return isNaN(l = +l) ? n : t[Rb(r, l)];
  }
  return o.invertExtent = function(l) {
    var c = t.indexOf(l);
    return c < 0 ? [NaN, NaN] : [
      c > 0 ? r[c - 1] : e[0],
      c < r.length ? r[c] : e[e.length - 1]
    ];
  }, o.domain = function(l) {
    if (!arguments.length) return e.slice();
    e = [];
    for (var c = 0, g = l.length, y; c < g; ++c) y = l[c], y != null && !isNaN(y = +y) && e.push(y);
    return e.sort(IR), i();
  }, o.range = function(l) {
    return arguments.length ? (t = Fs.call(l), i()) : t.slice();
  }, o.unknown = function(l) {
    return arguments.length ? (n = l, o) : n;
  }, o.quantiles = function() {
    return r.slice();
  }, o.copy = function() {
    return HK().domain(e).range(t).unknown(n);
  }, mo.apply(o, arguments);
}
function YK() {
  var e = 0, t = 1, r = 1, n = [0.5], i = [0, 1], o;
  function l(g) {
    return g <= g ? i[Rb(n, g, 0, r)] : o;
  }
  function c() {
    var g = -1;
    for (n = new Array(r); ++g < r; ) n[g] = ((g + 1) * t - (g - r) * e) / (r + 1);
    return l;
  }
  return l.domain = function(g) {
    return arguments.length ? (e = +g[0], t = +g[1], c()) : [e, t];
  }, l.range = function(g) {
    return arguments.length ? (r = (i = Fs.call(g)).length - 1, c()) : i.slice();
  }, l.invertExtent = function(g) {
    var y = i.indexOf(g);
    return y < 0 ? [NaN, NaN] : y < 1 ? [e, n[0]] : y >= r ? [n[r - 1], t] : [n[y - 1], n[y]];
  }, l.unknown = function(g) {
    return arguments.length && (o = g), l;
  }, l.thresholds = function() {
    return n.slice();
  }, l.copy = function() {
    return YK().domain([e, t]).range(i).unknown(o);
  }, mo.apply(Ub(l), arguments);
}
function GK() {
  var e = [0.5], t = [0, 1], r, n = 1;
  function i(o) {
    return o <= o ? t[Rb(e, o, 0, n)] : r;
  }
  return i.domain = function(o) {
    return arguments.length ? (e = Fs.call(o), n = Math.min(e.length, t.length - 1), i) : e.slice();
  }, i.range = function(o) {
    return arguments.length ? (t = Fs.call(o), n = Math.min(e.length, t.length - 1), i) : t.slice();
  }, i.invertExtent = function(o) {
    var l = t.indexOf(o);
    return [e[l - 1], e[l]];
  }, i.unknown = function(o) {
    return arguments.length ? (r = o, i) : r;
  }, i.copy = function() {
    return GK().domain(e).range(t).unknown(r);
  }, mo.apply(i, arguments);
}
var lf = 1e3, cf = lf * 60, ff = cf * 60, Kf = ff * 24, V_e = Kf * 7, F5 = Kf * 30, OC = Kf * 365;
function H_e(e) {
  return new Date(e);
}
function Y_e(e) {
  return e instanceof Date ? +e : +/* @__PURE__ */ new Date(+e);
}
function VR(e, t, r, n, i, o, l, c, g) {
  var y = UK(hi, hi), C = y.invert, D = y.domain, x = g(".%L"), M = g(":%S"), N = g("%I:%M"), F = g("%I %p"), z = g("%a %d"), A = g("%b %d"), u = g("%B"), a = g("%Y"), s = [
    [l, 1, lf],
    [l, 5, 5 * lf],
    [l, 15, 15 * lf],
    [l, 30, 30 * lf],
    [o, 1, cf],
    [o, 5, 5 * cf],
    [o, 15, 15 * cf],
    [o, 30, 30 * cf],
    [i, 1, ff],
    [i, 3, 3 * ff],
    [i, 6, 6 * ff],
    [i, 12, 12 * ff],
    [n, 1, Kf],
    [n, 2, 2 * Kf],
    [r, 1, V_e],
    [t, 1, F5],
    [t, 3, 3 * F5],
    [e, 1, OC]
  ];
  function h(f) {
    return (l(f) < f ? x : o(f) < f ? M : i(f) < f ? N : n(f) < f ? F : t(f) < f ? r(f) < f ? z : A : e(f) < f ? u : a)(f);
  }
  function E(f, S, _, d) {
    if (f == null && (f = 10), typeof f == "number") {
      var p = Math.abs(_ - S) / f, b = cK(function(m) {
        return m[2];
      }).right(s, p);
      b === s.length ? (d = KA(S / OC, _ / OC, f), f = e) : b ? (b = s[p / s[b - 1][2] < s[b][2] / p ? b - 1 : b], d = b[1], f = b[0]) : (d = Math.max(KA(S, _, f), 1), f = c);
    }
    return d == null ? f : f.every(d);
  }
  return y.invert = function(f) {
    return new Date(C(f));
  }, y.domain = function(f) {
    return arguments.length ? D(gg.call(f, Y_e)) : D().map(H_e);
  }, y.ticks = function(f, S) {
    var _ = D(), d = _[0], p = _[_.length - 1], b = p < d, m;
    return b && (m = d, d = p, p = m), m = E(f, d, p, S), m = m ? m.range(d, p + 1) : [], b ? m.reverse() : m;
  }, y.tickFormat = function(f, S) {
    return S == null ? h : g(S);
  }, y.nice = function(f, S) {
    var _ = D();
    return (f = E(f, _[0], _[_.length - 1], S)) ? D($K(_, f)) : y;
  }, y.copy = function() {
    return jb(y, VR(e, t, r, n, i, o, l, c, g));
  }, y;
}
function G_e() {
  return mo.apply(VR(to, vk, lb, Sd, mk, hk, Ed, Ms, _k).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]), arguments);
}
function K_e() {
  return mo.apply(VR(ro, bk, cb, wd, yk, gk, Ed, Ms, Sk).domain([Date.UTC(2e3, 0, 1), Date.UTC(2e3, 0, 2)]), arguments);
}
function HR() {
  var e = FR().unknown(void 0), t = e.domain, r = e.range, n = [0, 1], i, o, l = !1, c = 0, g = 0, y = 0.5;
  delete e.unknown;
  function C() {
    var D = t().length, x = n[1] < n[0], M = n[x - 0], N = n[1 - x], F = NR(D, c, g);
    i = (N - M) / (F || 1), l && (i = Math.floor(i)), M += (N - M - i * (D - c)) * y, o = i * (1 - c), l && (M = Math.round(M), o = Math.round(o));
    var z = Cd(D).map(function(A) {
      return M + i * A;
    });
    return r(x ? z.reverse() : z);
  }
  return e.domain = function(D) {
    return arguments.length ? (t(D), C()) : t();
  }, e.range = function(D) {
    return arguments.length ? (n = [+D[0], +D[1]], C()) : n.slice();
  }, e.rangeRound = function(D) {
    return n = [+D[0], +D[1]], l = !0, C();
  }, e.bandwidth = function() {
    return o;
  }, e.step = function() {
    return i;
  }, e.round = function(D) {
    return arguments.length ? (l = !!D, C()) : l;
  }, e.padding = function(D) {
    return arguments.length ? (g = Math.max(0, Math.min(1, D)), c = g, C()) : c;
  }, e.paddingInner = function(D) {
    return arguments.length ? (c = Math.max(0, Math.min(1, D)), C()) : c;
  }, e.paddingOuter = function(D) {
    return arguments.length ? (g = Math.max(0, Math.min(1, D)), C()) : g;
  }, e.align = function(D) {
    return arguments.length ? (y = Math.max(0, Math.min(1, D)), C()) : y;
  }, e.invertRange = function(D) {
    if (!(D[0] == null || D[1] == null)) {
      var x = +D[0], M = +D[1], N = n[1] < n[0], F = N ? r().reverse() : r(), z = F.length - 1, A, u, a;
      if (!(x !== x || M !== M) && (M < x && (a = x, x = M, M = a), !(M < F[0] || x > n[1 - N])))
        return A = Math.max(0, sg(F, x) - 1), u = x === M ? A : sg(F, M) - 1, x - F[A] > o + 1e-10 && ++A, N && (a = A, A = z - u, u = z - a), A > u ? void 0 : t().slice(A, u + 1);
    }
  }, e.invert = function(D) {
    var x = e.invertRange([D, D]);
    return x && x[0];
  }, e.copy = function() {
    return HR().domain(t()).range(n).round(l).paddingInner(c).paddingOuter(g).align(y);
  }, C();
}
function KK(e) {
  var t = e.copy;
  return e.padding = e.paddingOuter, delete e.paddingInner, e.copy = function() {
    return KK(t());
  }, e;
}
function X_e() {
  return KK(HR().paddingInner(1));
}
var Q_e = Array.prototype.map, Z_e = Array.prototype.slice;
function XK(e) {
  return Q_e.call(e, function(t) {
    return +t;
  });
}
function QK() {
  var e = Nd(), t = [];
  function r(i) {
    return e(i);
  }
  function n(i) {
    t = XK(i), e.domain([t[0], $t(t)]);
  }
  return r.domain = function(i) {
    return arguments.length ? (n(i), r) : t.slice();
  }, r.range = function(i) {
    return arguments.length ? (e.range(i), r) : e.range();
  }, r.rangeRound = function(i) {
    return arguments.length ? (e.rangeRound(i), r) : e.rangeRound();
  }, r.interpolate = function(i) {
    return arguments.length ? (e.interpolate(i), r) : e.interpolate();
  }, r.invert = function(i) {
    return e.invert(i);
  }, r.ticks = function(i) {
    var o = t.length, l = ~~(o / (i || o));
    return l < 2 ? r.domain() : t.filter(function(c, g) {
      return !(g % l);
    });
  }, r.tickFormat = function() {
    return e.tickFormat.apply(e, arguments);
  }, r.copy = function() {
    return QK().domain(r.domain()).range(r.range());
  }, r;
}
function ZK() {
  var e = [], t = [];
  function r(n) {
    return n == null || n !== n ? void 0 : t[(sg(e, n) - 1) % t.length];
  }
  return r.domain = function(n) {
    return arguments.length ? (e = XK(n), r) : e.slice();
  }, r.range = function(n) {
    return arguments.length ? (t = Z_e.call(n), r) : t.slice();
  }, r.tickFormat = function() {
    var n = Nd().domain([e[0], $t(e)]);
    return n.tickFormat.apply(n, arguments);
  }, r.copy = function() {
    return ZK().domain(r.domain()).range(r.range());
  }, r;
}
function JK(e) {
  var t = Nd(), r = 0, n = 1, i = !1;
  function o() {
    var c = t.domain();
    r = c[0], n = $t(c) - r;
  }
  function l(c) {
    var g = (c - r) / n;
    return e(i ? Math.max(0, Math.min(1, g)) : g);
  }
  return l.clamp = function(c) {
    return arguments.length ? (i = !!c, l) : i;
  }, l.domain = function(c) {
    return arguments.length ? (t.domain(c), o(), l) : t.domain();
  }, l.interpolator = function(c) {
    return arguments.length ? (e = c, l) : e;
  }, l.copy = function() {
    return JK().domain(t.domain()).clamp(i).interpolator(e);
  }, l.ticks = function(c) {
    return t.ticks(c);
  }, l.tickFormat = function(c, g) {
    return t.tickFormat(c, g);
  }, l.nice = function(c) {
    return t.nice(c), o(), l;
  }, l;
}
function J_e(e, t) {
  return function() {
    var n = t();
    return n.invertRange || (n.invertRange = n.invert ? Dbe(n) : n.invertExtent ? Pbe(n) : void 0), n.type = e, n;
  };
}
function qb(e, t) {
  return arguments.length > 1 ? (Tf[e] = J_e(e, t), this) : Tf.hasOwnProperty(e) ? Tf[e] : void 0;
}
var Tf = {
  // base scale types
  identity: WK,
  linear: Nd,
  log: VK,
  ordinal: FR,
  pow: $R,
  sqrt: $_e,
  quantile: HK,
  quantize: YK,
  threshold: GK,
  time: G_e,
  utc: K_e,
  // extended scale types
  band: HR,
  point: X_e,
  sequential: JK,
  "bin-linear": QK,
  "bin-ordinal": ZK
};
for (var L5 in Tf)
  qb(L5, Tf[L5]);
function eX(e, t) {
  var r = t[0], n = $t(t) - r;
  return function(i) {
    return e(r + i * n);
  };
}
function tX(e, t, r) {
  var n = r - t;
  return !n || !isFinite(n) ? Wi(0) : e.type === "linear" || e.type === "sequential" ? function(i) {
    return (i - t) / n;
  } : e.copy().domain([t, r]).range([0, 1]).interpolate(e0e);
}
function e0e(e, t) {
  var r = t - e;
  return function(n) {
    return e + n * r;
  };
}
function rX(e, t) {
  var r = b_e[t0e(e)];
  return t != null && r && r.gamma ? r.gamma(t) : r;
}
function t0e(e) {
  return "interpolate" + e.toLowerCase().split("-").map(function(t) {
    return t[0].toUpperCase() + t.slice(1);
  }).join("");
}
function Bl(e) {
  for (var t = e.length / 6 | 0, r = new Array(t), n = 0; n < t; ) r[n] = "#" + e.slice(n * 6, ++n * 6);
  return r;
}
var r0e = Bl(
  "1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"
), n0e = Bl(
  "393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"
), i0e = Bl(
  "3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"
), a0e = Bl(
  "4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac"
), o0e = Bl(
  "4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5"
), nX = new Array(3).concat(
  "67a9cff7f7f7f1a340",
  "0571b092c5defdb863e66101",
  "0571b092c5def7f7f7fdb863e66101",
  "2166ac67a9cfd1e5f0fee0b6f1a340b35806",
  "2166ac67a9cfd1e5f0f7f7f7fee0b6f1a340b35806",
  "2166ac4393c392c5ded1e5f0fee0b6fdb863e08214b35806",
  "2166ac4393c392c5ded1e5f0f7f7f7fee0b6fdb863e08214b35806",
  "0530612166ac4393c392c5ded1e5f0fee0b6fdb863e08214b358067f3b08",
  "0530612166ac4393c392c5ded1e5f0f7f7f7fee0b6fdb863e08214b358067f3b08"
).map(Bl);
function ht(e) {
  for (var t = e.length / 6 | 0, r = new Array(t), n = 0; n < t; ) r[n] = "#" + e.slice(n * 6, ++n * 6);
  return r;
}
const iX = ht("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"), aX = ht("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"), oX = ht("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"), sX = ht("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"), uX = ht("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"), lX = ht("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"), cX = ht("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"), fX = ht("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"), dX = ht("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"), s0e = ht("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");
function tr(e) {
  return Fb(e[e.length - 1]);
}
var pX = new Array(3).concat(
  "d8b365f5f5f55ab4ac",
  "a6611adfc27d80cdc1018571",
  "a6611adfc27df5f5f580cdc1018571",
  "8c510ad8b365f6e8c3c7eae55ab4ac01665e",
  "8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e",
  "8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e",
  "8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e",
  "5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30",
  "5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30"
).map(ht);
const u0e = tr(pX);
var hX = new Array(3).concat(
  "af8dc3f7f7f77fbf7b",
  "7b3294c2a5cfa6dba0008837",
  "7b3294c2a5cff7f7f7a6dba0008837",
  "762a83af8dc3e7d4e8d9f0d37fbf7b1b7837",
  "762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837",
  "762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837",
  "762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837",
  "40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b",
  "40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b"
).map(ht);
const l0e = tr(hX);
var mX = new Array(3).concat(
  "e9a3c9f7f7f7a1d76a",
  "d01c8bf1b6dab8e1864dac26",
  "d01c8bf1b6daf7f7f7b8e1864dac26",
  "c51b7de9a3c9fde0efe6f5d0a1d76a4d9221",
  "c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221",
  "c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221",
  "c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221",
  "8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419",
  "8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419"
).map(ht);
const c0e = tr(mX);
var vX = new Array(3).concat(
  "998ec3f7f7f7f1a340",
  "5e3c99b2abd2fdb863e66101",
  "5e3c99b2abd2f7f7f7fdb863e66101",
  "542788998ec3d8daebfee0b6f1a340b35806",
  "542788998ec3d8daebf7f7f7fee0b6f1a340b35806",
  "5427888073acb2abd2d8daebfee0b6fdb863e08214b35806",
  "5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806",
  "2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08",
  "2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08"
).map(ht);
const f0e = tr(vX);
var gX = new Array(3).concat(
  "ef8a62f7f7f767a9cf",
  "ca0020f4a58292c5de0571b0",
  "ca0020f4a582f7f7f792c5de0571b0",
  "b2182bef8a62fddbc7d1e5f067a9cf2166ac",
  "b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac",
  "b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac",
  "b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac",
  "67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061",
  "67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061"
).map(ht);
const d0e = tr(gX);
var yX = new Array(3).concat(
  "ef8a62ffffff999999",
  "ca0020f4a582bababa404040",
  "ca0020f4a582ffffffbababa404040",
  "b2182bef8a62fddbc7e0e0e09999994d4d4d",
  "b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d",
  "b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d",
  "b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d",
  "67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a",
  "67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a"
).map(ht);
const p0e = tr(yX);
var bX = new Array(3).concat(
  "fc8d59ffffbf91bfdb",
  "d7191cfdae61abd9e92c7bb6",
  "d7191cfdae61ffffbfabd9e92c7bb6",
  "d73027fc8d59fee090e0f3f891bfdb4575b4",
  "d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4",
  "d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4",
  "d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4",
  "a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695",
  "a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695"
).map(ht);
const h0e = tr(bX);
var _X = new Array(3).concat(
  "fc8d59ffffbf91cf60",
  "d7191cfdae61a6d96a1a9641",
  "d7191cfdae61ffffbfa6d96a1a9641",
  "d73027fc8d59fee08bd9ef8b91cf601a9850",
  "d73027fc8d59fee08bffffbfd9ef8b91cf601a9850",
  "d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850",
  "d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850",
  "a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837",
  "a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837"
).map(ht);
const m0e = tr(_X);
var EX = new Array(3).concat(
  "fc8d59ffffbf99d594",
  "d7191cfdae61abdda42b83ba",
  "d7191cfdae61ffffbfabdda42b83ba",
  "d53e4ffc8d59fee08be6f59899d5943288bd",
  "d53e4ffc8d59fee08bffffbfe6f59899d5943288bd",
  "d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd",
  "d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd",
  "9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2",
  "9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2"
).map(ht);
const v0e = tr(EX);
var SX = new Array(3).concat(
  "e5f5f999d8c92ca25f",
  "edf8fbb2e2e266c2a4238b45",
  "edf8fbb2e2e266c2a42ca25f006d2c",
  "edf8fbccece699d8c966c2a42ca25f006d2c",
  "edf8fbccece699d8c966c2a441ae76238b45005824",
  "f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824",
  "f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b"
).map(ht);
const g0e = tr(SX);
var wX = new Array(3).concat(
  "e0ecf49ebcda8856a7",
  "edf8fbb3cde38c96c688419d",
  "edf8fbb3cde38c96c68856a7810f7c",
  "edf8fbbfd3e69ebcda8c96c68856a7810f7c",
  "edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b",
  "f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b",
  "f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b"
).map(ht);
const y0e = tr(wX);
var OX = new Array(3).concat(
  "e0f3dba8ddb543a2ca",
  "f0f9e8bae4bc7bccc42b8cbe",
  "f0f9e8bae4bc7bccc443a2ca0868ac",
  "f0f9e8ccebc5a8ddb57bccc443a2ca0868ac",
  "f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e",
  "f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e",
  "f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081"
).map(ht);
const b0e = tr(OX);
var TX = new Array(3).concat(
  "fee8c8fdbb84e34a33",
  "fef0d9fdcc8afc8d59d7301f",
  "fef0d9fdcc8afc8d59e34a33b30000",
  "fef0d9fdd49efdbb84fc8d59e34a33b30000",
  "fef0d9fdd49efdbb84fc8d59ef6548d7301f990000",
  "fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000",
  "fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000"
).map(ht);
const _0e = tr(TX);
var CX = new Array(3).concat(
  "ece2f0a6bddb1c9099",
  "f6eff7bdc9e167a9cf02818a",
  "f6eff7bdc9e167a9cf1c9099016c59",
  "f6eff7d0d1e6a6bddb67a9cf1c9099016c59",
  "f6eff7d0d1e6a6bddb67a9cf3690c002818a016450",
  "fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450",
  "fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636"
).map(ht);
const E0e = tr(CX);
var xX = new Array(3).concat(
  "ece7f2a6bddb2b8cbe",
  "f1eef6bdc9e174a9cf0570b0",
  "f1eef6bdc9e174a9cf2b8cbe045a8d",
  "f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d",
  "f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b",
  "fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b",
  "fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858"
).map(ht);
const S0e = tr(xX);
var AX = new Array(3).concat(
  "e7e1efc994c7dd1c77",
  "f1eef6d7b5d8df65b0ce1256",
  "f1eef6d7b5d8df65b0dd1c77980043",
  "f1eef6d4b9dac994c7df65b0dd1c77980043",
  "f1eef6d4b9dac994c7df65b0e7298ace125691003f",
  "f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f",
  "f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f"
).map(ht);
const w0e = tr(AX);
var DX = new Array(3).concat(
  "fde0ddfa9fb5c51b8a",
  "feebe2fbb4b9f768a1ae017e",
  "feebe2fbb4b9f768a1c51b8a7a0177",
  "feebe2fcc5c0fa9fb5f768a1c51b8a7a0177",
  "feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177",
  "fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177",
  "fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a"
).map(ht);
const O0e = tr(DX);
var PX = new Array(3).concat(
  "edf8b17fcdbb2c7fb8",
  "ffffcca1dab441b6c4225ea8",
  "ffffcca1dab441b6c42c7fb8253494",
  "ffffccc7e9b47fcdbb41b6c42c7fb8253494",
  "ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84",
  "ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84",
  "ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58"
).map(ht);
const T0e = tr(PX);
var kX = new Array(3).concat(
  "f7fcb9addd8e31a354",
  "ffffccc2e69978c679238443",
  "ffffccc2e69978c67931a354006837",
  "ffffccd9f0a3addd8e78c67931a354006837",
  "ffffccd9f0a3addd8e78c67941ab5d238443005a32",
  "ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32",
  "ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529"
).map(ht);
const C0e = tr(kX);
var RX = new Array(3).concat(
  "fff7bcfec44fd95f0e",
  "ffffd4fed98efe9929cc4c02",
  "ffffd4fed98efe9929d95f0e993404",
  "ffffd4fee391fec44ffe9929d95f0e993404",
  "ffffd4fee391fec44ffe9929ec7014cc4c028c2d04",
  "ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04",
  "ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506"
).map(ht);
const x0e = tr(RX);
var MX = new Array(3).concat(
  "ffeda0feb24cf03b20",
  "ffffb2fecc5cfd8d3ce31a1c",
  "ffffb2fecc5cfd8d3cf03b20bd0026",
  "ffffb2fed976feb24cfd8d3cf03b20bd0026",
  "ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026",
  "ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026",
  "ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026"
).map(ht);
const A0e = tr(MX);
var NX = new Array(3).concat(
  "deebf79ecae13182bd",
  "eff3ffbdd7e76baed62171b5",
  "eff3ffbdd7e76baed63182bd08519c",
  "eff3ffc6dbef9ecae16baed63182bd08519c",
  "eff3ffc6dbef9ecae16baed64292c62171b5084594",
  "f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594",
  "f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b"
).map(ht);
const D0e = tr(NX);
var IX = new Array(3).concat(
  "e5f5e0a1d99b31a354",
  "edf8e9bae4b374c476238b45",
  "edf8e9bae4b374c47631a354006d2c",
  "edf8e9c7e9c0a1d99b74c47631a354006d2c",
  "edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32",
  "f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32",
  "f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b"
).map(ht);
const P0e = tr(IX);
var FX = new Array(3).concat(
  "f0f0f0bdbdbd636363",
  "f7f7f7cccccc969696525252",
  "f7f7f7cccccc969696636363252525",
  "f7f7f7d9d9d9bdbdbd969696636363252525",
  "f7f7f7d9d9d9bdbdbd969696737373525252252525",
  "fffffff0f0f0d9d9d9bdbdbd969696737373525252252525",
  "fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000"
).map(ht);
const k0e = tr(FX);
var LX = new Array(3).concat(
  "efedf5bcbddc756bb1",
  "f2f0f7cbc9e29e9ac86a51a3",
  "f2f0f7cbc9e29e9ac8756bb154278f",
  "f2f0f7dadaebbcbddc9e9ac8756bb154278f",
  "f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486",
  "fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486",
  "fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d"
).map(ht);
const R0e = tr(LX);
var jX = new Array(3).concat(
  "fee0d2fc9272de2d26",
  "fee5d9fcae91fb6a4acb181d",
  "fee5d9fcae91fb6a4ade2d26a50f15",
  "fee5d9fcbba1fc9272fb6a4ade2d26a50f15",
  "fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d",
  "fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d",
  "fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d"
).map(ht);
const M0e = tr(jX);
var UX = new Array(3).concat(
  "fee6cefdae6be6550d",
  "feeddefdbe85fd8d3cd94701",
  "feeddefdbe85fd8d3ce6550da63603",
  "feeddefdd0a2fdae6bfd8d3ce6550da63603",
  "feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04",
  "fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04",
  "fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704"
).map(ht);
const N0e = tr(UX);
function I0e(e) {
  return e = Math.max(0, Math.min(1, e)), "rgb(" + Math.max(0, Math.min(255, Math.round(-4.54 - e * (35.34 - e * (2381.73 - e * (6402.7 - e * (7024.72 - e * 2710.57))))))) + ", " + Math.max(0, Math.min(255, Math.round(32.49 + e * (170.73 + e * (52.82 - e * (131.46 - e * (176.58 - e * 67.37))))))) + ", " + Math.max(0, Math.min(255, Math.round(81.24 + e * (442.36 - e * (2482.43 - e * (6167.24 - e * (6614.94 - e * 2475.67))))))) + ")";
}
const F0e = Lb(Ta(300, 0.5, 0), Ta(-240, 0.5, 1));
var L0e = Lb(Ta(-100, 0.75, 0.35), Ta(80, 1.5, 0.8)), j0e = Lb(Ta(260, 0.75, 0.35), Ta(80, 1.5, 0.8)), Ch = Ta();
function qX(e) {
  (e < 0 || e > 1) && (e -= Math.floor(e));
  var t = Math.abs(e - 0.5);
  return Ch.h = 360 * e - 100, Ch.s = 1.5 - 1.5 * t, Ch.l = 0.8 - 0.9 * t, Ch + "";
}
var xh = gl(), U0e = Math.PI / 3, q0e = Math.PI * 2 / 3;
function zX(e) {
  var t;
  return e = (0.5 - e) * Math.PI, xh.r = 255 * (t = Math.sin(e)) * t, xh.g = 255 * (t = Math.sin(e + U0e)) * t, xh.b = 255 * (t = Math.sin(e + q0e)) * t, xh + "";
}
function z0e(e) {
  return e = Math.max(0, Math.min(1, e)), "rgb(" + Math.max(0, Math.min(255, Math.round(34.61 + e * (1172.33 - e * (10793.56 - e * (33300.12 - e * (38394.49 - e * 14825.05))))))) + ", " + Math.max(0, Math.min(255, Math.round(23.31 + e * (557.33 + e * (1225.33 - e * (3574.96 - e * (1073.77 + e * 707.56))))))) + ", " + Math.max(0, Math.min(255, Math.round(27.2 + e * (3211.1 - e * (15327.97 - e * (27814 - e * (22569.18 - e * 6838.66))))))) + ")";
}
function zb(e) {
  var t = e.length;
  return function(r) {
    return e[Math.max(0, Math.min(t - 1, Math.floor(r * t)))];
  };
}
const BX = zb(ht("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));
var WX = zb(ht("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")), $X = zb(ht("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")), VX = zb(ht("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));
const j5 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  interpolateBlues: D0e,
  interpolateBrBG: u0e,
  interpolateBuGn: g0e,
  interpolateBuPu: y0e,
  interpolateCividis: I0e,
  interpolateCool: j0e,
  interpolateCubehelixDefault: F0e,
  interpolateGnBu: b0e,
  interpolateGreens: P0e,
  interpolateGreys: k0e,
  interpolateInferno: $X,
  interpolateMagma: WX,
  interpolateOrRd: _0e,
  interpolateOranges: N0e,
  interpolatePRGn: l0e,
  interpolatePiYG: c0e,
  interpolatePlasma: VX,
  interpolatePuBu: S0e,
  interpolatePuBuGn: E0e,
  interpolatePuOr: f0e,
  interpolatePuRd: w0e,
  interpolatePurples: R0e,
  interpolateRainbow: qX,
  interpolateRdBu: d0e,
  interpolateRdGy: p0e,
  interpolateRdPu: O0e,
  interpolateRdYlBu: h0e,
  interpolateRdYlGn: m0e,
  interpolateReds: M0e,
  interpolateSinebow: zX,
  interpolateSpectral: v0e,
  interpolateTurbo: z0e,
  interpolateViridis: BX,
  interpolateWarm: L0e,
  interpolateYlGn: C0e,
  interpolateYlGnBu: T0e,
  interpolateYlOrBr: x0e,
  interpolateYlOrRd: A0e,
  schemeAccent: aX,
  schemeBlues: NX,
  schemeBrBG: pX,
  schemeBuGn: SX,
  schemeBuPu: wX,
  schemeCategory10: iX,
  schemeDark2: oX,
  schemeGnBu: OX,
  schemeGreens: IX,
  schemeGreys: FX,
  schemeOrRd: TX,
  schemeOranges: UX,
  schemePRGn: hX,
  schemePaired: sX,
  schemePastel1: uX,
  schemePastel2: lX,
  schemePiYG: mX,
  schemePuBu: xX,
  schemePuBuGn: CX,
  schemePuOr: vX,
  schemePuRd: AX,
  schemePurples: LX,
  schemeRdBu: gX,
  schemeRdGy: yX,
  schemeRdPu: DX,
  schemeRdYlBu: bX,
  schemeRdYlGn: _X,
  schemeReds: jX,
  schemeSet1: cX,
  schemeSet2: fX,
  schemeSet3: dX,
  schemeSpectral: EX,
  schemeTableau10: s0e,
  schemeYlGn: kX,
  schemeYlGnBu: PX,
  schemeYlOrBr: RX,
  schemeYlOrRd: MX
}, Symbol.toStringTag, { value: "Module" }));
var rD = {
  blueorange: nX
}, qv = {
  // d3 categorical palettes
  category10: iX,
  accent: aX,
  dark2: oX,
  paired: sX,
  pastel1: uX,
  pastel2: lX,
  set1: cX,
  set2: fX,
  set3: dX,
  // additional categorical palettes
  category20: r0e,
  category20b: n0e,
  category20c: i0e,
  tableau10: a0e,
  tableau20: o0e,
  // sequential multi-hue interpolators
  viridis: BX,
  magma: WX,
  inferno: $X,
  plasma: VX,
  // cyclic interpolators
  rainbow: qX,
  sinebow: zX,
  // extended interpolators
  blueorange: Fb($t(nX))
};
function rr(e, t) {
  qv[e] = j5["interpolate" + t], rD[e] = j5["scheme" + t];
}
rr("blues", "Blues");
rr("greens", "Greens");
rr("greys", "Greys");
rr("purples", "Purples");
rr("reds", "Reds");
rr("oranges", "Oranges");
rr("brownbluegreen", "BrBG");
rr("purplegreen", "PRGn");
rr("pinkyellowgreen", "PiYG");
rr("purpleorange", "PuOr");
rr("redblue", "RdBu");
rr("redgrey", "RdGy");
rr("redyellowblue", "RdYlBu");
rr("redyellowgreen", "RdYlGn");
rr("spectral", "Spectral");
rr("bluegreen", "BuGn");
rr("bluepurple", "BuPu");
rr("greenblue", "GnBu");
rr("orangered", "OrRd");
rr("purplebluegreen", "PuBuGn");
rr("purpleblue", "PuBu");
rr("purplered", "PuRd");
rr("redpurple", "RdPu");
rr("yellowgreenblue", "YlGnBu");
rr("yellowgreen", "YlGn");
rr("yelloworangebrown", "YlOrBr");
rr("yelloworangered", "YlOrRd");
function nD(e, t) {
  if (arguments.length > 1)
    return qv[e] = t, this;
  var r = e.split("-");
  return e = r[0], r = +r[1] + 1, r && rD.hasOwnProperty(e) ? rD[e][r - 1] : !r && qv.hasOwnProperty(e) ? qv[e] : void 0;
}
var U5 = {
  millisecond: Ms,
  second: Ed,
  minute: hk,
  hour: mk,
  day: Sd,
  week: lb,
  month: vk,
  year: to
}, q5 = {
  millisecond: Ms,
  second: Ed,
  minute: gk,
  hour: yk,
  day: wd,
  week: cb,
  month: bk,
  year: ro
};
function HX(e) {
  return U5.hasOwnProperty(e) && U5[e];
}
function YX(e) {
  return q5.hasOwnProperty(e) && q5[e];
}
function YR(e, t) {
  var r;
  return Rt(t) && (r = t.step, t = t.interval), yr(t) && (t = e.type === "time" ? HX(t) : e.type === "utc" ? YX(t) : We("Only time and utc scales accept interval strings."), r && (t = t.every(r))), t;
}
function GX(e, t, r) {
  var n = e.range(), i = n[0], o = $t(n);
  if (i > o && (n = o, o = i, i = n), t = t.filter(function(c) {
    return c = e(c), !(c < i || c > o);
  }), r > 0 && t.length > 1) {
    for (var l = [t[0], $t(t)]; t.length > r && t.length >= 3; )
      t = t.filter(function(c, g) {
        return !(g % 2);
      });
    t.length < 3 && (t = l);
  }
  return t;
}
function KX(e, t) {
  return e.ticks ? e.ticks(t) : e.domain();
}
function XX(e, t, r) {
  var n = e.tickFormat ? e.tickFormat(t, r) : r ? Bo(r) : String;
  return e.type === kb ? B0e(n, W0e(r)) : n;
}
function B0e(e, t) {
  return function(r) {
    return e(r) ? t(r) : "";
  };
}
function W0e(e) {
  var t = Gf(e || ",");
  if (t.precision == null) {
    switch (t.precision = 12, t.type) {
      case "%":
        t.precision -= 2;
        break;
      case "e":
        t.precision -= 1;
        break;
    }
    return $0e(
      Bo(t),
      // number format
      Bo(".1f")(1)[1]
      // decimal point character
    );
  } else
    return Bo(t);
}
function $0e(e, t) {
  return function(r) {
    var n = e(r), i = n.indexOf(t), o, l;
    if (i < 0) return n;
    for (o = V0e(n, i), l = o < n.length ? n.slice(o) : ""; --o > i; ) if (n[o] !== "0") {
      ++o;
      break;
    }
    return n.slice(0, o) + l;
  };
}
function V0e(e, t) {
  var r = e.lastIndexOf("e"), n;
  if (r > 0) return r;
  for (r = e.length; --r > t; )
    if (n = e.charCodeAt(r), n >= 48 && n <= 57) return r + 1;
}
function QX(e) {
  Ue.call(this, null, e);
}
var H0e = Ke(QX, Ue);
H0e.transform = function(e, t) {
  if (this.value && !e.modified())
    return t.StopPropagation;
  var r = t.fork(t.NO_SOURCE | t.NO_FIELDS), n = this.value, i = e.scale, o = e.count == null ? e.values ? e.values.length : 10 : YR(i, e.count), l = e.format || XX(i, o, e.formatSpecifier), c = e.values ? GX(i, e.values, o) : KX(i, o);
  return n && (r.rem = n), n = c.map(function(g, y) {
    return gr({
      index: y / (c.length - 1),
      value: g,
      label: l(g)
    });
  }), e.extra && n.length && n.push(gr({
    index: -1,
    extra: { value: n[0].value },
    label: ""
  })), r.source = n, r.add = n, this.value = n, r;
};
function ZX(e) {
  Ue.call(this, null, e);
}
var Y0e = Ke(ZX, Ue);
function G0e() {
  return gr({});
}
function K0e(e) {
  return e.exit;
}
Y0e.transform = function(e, t) {
  var r = t.dataflow, n = t.fork(t.NO_SOURCE | t.NO_FIELDS), i = e.item || G0e, o = e.key || st, l = this.value;
  return Et(n.encode) && (n.encode = null), l && (e.modified("key") || t.modified(o)) && We("DataJoin does not support modified key function or fields."), l || (t = t.addAll(), this.value = l = Js().test(K0e), l.lookup = function(c) {
    return l.get(o(c));
  }), t.visit(t.ADD, function(c) {
    var g = o(c), y = l.get(g);
    y ? y.exit ? (l.empty--, n.add.push(y)) : n.mod.push(y) : (l.set(g, y = i(c)), n.add.push(y)), y.datum = c, y.exit = !1;
  }), t.visit(t.MOD, function(c) {
    var g = o(c), y = l.get(g);
    y && (y.datum = c, n.mod.push(y));
  }), t.visit(t.REM, function(c) {
    var g = o(c), y = l.get(g);
    c === y.datum && !y.exit && (n.rem.push(y), y.exit = !0, ++l.empty);
  }), t.changed(t.ADD_MOD) && n.modifies("datum"), e.clean && l.empty > r.cleanThreshold && r.runAfter(l.clean), n;
};
function JX(e) {
  Ue.call(this, null, e);
}
var X0e = Ke(JX, Ue);
X0e.transform = function(e, t) {
  var r = t.fork(t.ADD_REM), n = e.encoders, i = t.encode;
  if (Et(i))
    if (r.changed() || i.every(function(D) {
      return n[D];
    }))
      i = i[0], r.encode = null;
    else
      return t.StopPropagation;
  var o = i === "enter", l = n.update || ma, c = n.enter || ma, g = n.exit || ma, y = (i && !o ? n[i] : l) || ma;
  if (t.changed(t.ADD) && (t.visit(t.ADD, function(D) {
    c(D, e), l(D, e), y !== ma && y !== l && y(D, e);
  }), r.modifies(c.output), r.modifies(l.output), y !== ma && y !== l && r.modifies(y.output)), t.changed(t.REM) && g !== ma && (t.visit(t.REM, function(D) {
    g(D, e);
  }), r.modifies(g.output)), o || y !== ma) {
    var C = t.MOD | (e.modified() ? t.REFLOW : 0);
    o ? (t.visit(C, function(D) {
      var x = c(D, e);
      (y(D, e) || x) && r.mod.push(D);
    }), r.mod.length && r.modifies(c.output)) : t.visit(C, function(D) {
      y(D, e) && r.mod.push(D);
    }), r.mod.length && r.modifies(y.output);
  }
  return r.changed() ? r : t.StopPropagation;
};
var iD = "symbol", Q0e = "discrete", Z0e = "gradient", js = {};
js[oK] = t1e;
js[sK] = e1e;
js[MR] = r1e;
js[Abe] = js[uK] = n1e;
function J0e(e, t) {
  var r = js[e.type];
  return r ? r(e) : KX(e, t);
}
function e1e(e) {
  var t = e.domain(), r = t[0], n = $t(t), i = e.range().length, o = new Array(i), l = 0;
  for (o[0] = -1 / 0; ++l < i; ) o[l] = (l * n - (l - i) * r) / i;
  return o.max = 1 / 0, o;
}
function t1e(e) {
  var t = [-1 / 0].concat(e.quantiles());
  return t.max = 1 / 0, t;
}
function r1e(e) {
  var t = [-1 / 0].concat(e.domain());
  return t.max = 1 / 0, t;
}
function n1e(e) {
  var t = e.domain();
  return t.max = t.pop(), t;
}
function i1e(e, t, r) {
  return r === iD && js[e.type] ? a1e(t) : r === Q0e ? o1e(t) : s1e(t);
}
function a1e(e) {
  return function(t, r, n) {
    var i = n[r + 1] || n.max || 1 / 0, o = z5(t, e), l = z5(i, e);
    return o && l ? o + "–" + l : l ? "< " + l : "≥ " + o;
  };
}
function o1e(e) {
  return function(t, r) {
    return r ? e(t) : null;
  };
}
function s1e(e) {
  return function(t) {
    return e(t);
  };
}
function z5(e, t) {
  return isFinite(e) ? t(e) : null;
}
function u1e(e) {
  var t = e.domain(), r = t.length - 1, n = +t[0], i = +$t(t), o = i - n;
  if (e.type === MR) {
    var l = r ? o / r : 0.1;
    n -= l, i += l, o = i - n;
  }
  return function(c) {
    return (c - n) / o;
  };
}
function eQ(e) {
  Ue.call(this, [], e);
}
var l1e = Ke(eQ, Ue);
l1e.transform = function(e, t) {
  if (this.value != null && !e.modified())
    return t.StopPropagation;
  var r = t.fork(t.NO_SOURCE | t.NO_FIELDS), n = this.value, i = e.type || iD, o = e.scale, l = e.count == null ? 5 : YR(o, e.count), c = e.format || XX(o, l, e.formatSpecifier), g = e.values || J0e(o, l), y, C, D, x;
  return c = i1e(o, c, i), n && (r.rem = n), i === iD ? (kt(D = e.size) ? (!e.values && o(g[0]) === 0 && (g = g.slice(1)), x = g.reduce(function(M, N) {
    return Math.max(M, D(N, e));
  }, 0)) : D = Wi(x = D || 8), n = g.map(function(M, N) {
    return gr({
      index: N,
      label: c(M, N, g),
      value: M,
      offset: x,
      size: D(M, e)
    });
  })) : i === Z0e ? (y = o.domain(), C = tX(o, y[0], $t(y)), g.length < 3 && !e.values && y[0] !== $t(y) && (g = [y[0], $t(y)]), n = g.map(function(M, N) {
    return gr({
      index: N,
      label: c(M, N, g),
      value: M,
      perc: C(M)
    });
  })) : (D = g.length - 1, C = u1e(o), n = g.map(function(M, N) {
    return gr({
      index: N,
      label: c(M, N, g),
      value: M,
      perc: N ? C(M) : 0,
      perc2: N === D ? 1 : C(g[N + 1])
    });
  })), r.source = n, r.add = n, this.value = n, r;
};
var B5 = Js({
  line: tQ,
  "line-radial": m1e,
  arc: rQ,
  "arc-radial": v1e,
  curve: nQ,
  "curve-radial": g1e,
  "orthogonal-horizontal": y1e,
  "orthogonal-vertical": b1e,
  "orthogonal-radial": _1e,
  "diagonal-horizontal": E1e,
  "diagonal-vertical": S1e,
  "diagonal-radial": w1e
});
function c1e(e) {
  return e.source.x;
}
function f1e(e) {
  return e.source.y;
}
function d1e(e) {
  return e.target.x;
}
function p1e(e) {
  return e.target.y;
}
function GR(e) {
  Ue.call(this, {}, e);
}
GR.Definition = {
  type: "LinkPath",
  metadata: { modifies: !0 },
  params: [
    { name: "sourceX", type: "field", default: "source.x" },
    { name: "sourceY", type: "field", default: "source.y" },
    { name: "targetX", type: "field", default: "target.x" },
    { name: "targetY", type: "field", default: "target.y" },
    {
      name: "orient",
      type: "enum",
      default: "vertical",
      values: ["horizontal", "vertical", "radial"]
    },
    {
      name: "shape",
      type: "enum",
      default: "line",
      values: ["line", "arc", "curve", "diagonal", "orthogonal"]
    },
    { name: "require", type: "signal" },
    { name: "as", type: "string", default: "path" }
  ]
};
var h1e = Ke(GR, Ue);
h1e.transform = function(e, t) {
  var r = e.sourceX || c1e, n = e.sourceY || f1e, i = e.targetX || d1e, o = e.targetY || p1e, l = e.as || "path", c = e.orient || "vertical", g = e.shape || "line", y = B5.get(g + "-" + c) || B5.get(g);
  return y || We("LinkPath unsupported type: " + e.shape + (e.orient ? "-" + e.orient : "")), t.visit(t.SOURCE, function(C) {
    C[l] = y(r(C), n(C), i(C), o(C));
  }), t.reflow(e.modified()).modifies(l);
};
function tQ(e, t, r, n) {
  return "M" + e + "," + t + "L" + r + "," + n;
}
function m1e(e, t, r, n) {
  return tQ(
    t * Math.cos(e),
    t * Math.sin(e),
    n * Math.cos(r),
    n * Math.sin(r)
  );
}
function rQ(e, t, r, n) {
  var i = r - e, o = n - t, l = Math.sqrt(i * i + o * o) / 2, c = 180 * Math.atan2(o, i) / Math.PI;
  return "M" + e + "," + t + "A" + l + "," + l + " " + c + " 0 1 " + r + "," + n;
}
function v1e(e, t, r, n) {
  return rQ(
    t * Math.cos(e),
    t * Math.sin(e),
    n * Math.cos(r),
    n * Math.sin(r)
  );
}
function nQ(e, t, r, n) {
  var i = r - e, o = n - t, l = 0.2 * (i + o), c = 0.2 * (o - i);
  return "M" + e + "," + t + "C" + (e + l) + "," + (t + c) + " " + (r + c) + "," + (n - l) + " " + r + "," + n;
}
function g1e(e, t, r, n) {
  return nQ(
    t * Math.cos(e),
    t * Math.sin(e),
    n * Math.cos(r),
    n * Math.sin(r)
  );
}
function y1e(e, t, r, n) {
  return "M" + e + "," + t + "V" + n + "H" + r;
}
function b1e(e, t, r, n) {
  return "M" + e + "," + t + "H" + r + "V" + n;
}
function _1e(e, t, r, n) {
  var i = Math.cos(e), o = Math.sin(e), l = Math.cos(r), c = Math.sin(r), g = Math.abs(r - e) > Math.PI ? r <= e : r > e;
  return "M" + t * i + "," + t * o + "A" + t + "," + t + " 0 0," + (g ? 1 : 0) + " " + t * l + "," + t * c + "L" + n * l + "," + n * c;
}
function E1e(e, t, r, n) {
  var i = (e + r) / 2;
  return "M" + e + "," + t + "C" + i + "," + t + " " + i + "," + n + " " + r + "," + n;
}
function S1e(e, t, r, n) {
  var i = (t + n) / 2;
  return "M" + e + "," + t + "C" + e + "," + i + " " + r + "," + i + " " + r + "," + n;
}
function w1e(e, t, r, n) {
  var i = Math.cos(e), o = Math.sin(e), l = Math.cos(r), c = Math.sin(r), g = (t + n) / 2;
  return "M" + t * i + "," + t * o + "C" + g * i + "," + g * o + " " + g * l + "," + g * c + " " + n * l + "," + n * c;
}
function KR(e) {
  Ue.call(this, null, e);
}
KR.Definition = {
  type: "Pie",
  metadata: { modifies: !0 },
  params: [
    { name: "field", type: "field" },
    { name: "startAngle", type: "number", default: 0 },
    { name: "endAngle", type: "number", default: 6.283185307179586 },
    { name: "sort", type: "boolean", default: !1 },
    { name: "as", type: "string", array: !0, length: 2, default: ["startAngle", "endAngle"] }
  ]
};
var O1e = Ke(KR, Ue);
O1e.transform = function(e, t) {
  var r = e.as || ["startAngle", "endAngle"], n = r[0], i = r[1], o = e.field || _d, l = e.startAngle || 0, c = e.endAngle != null ? e.endAngle : 2 * Math.PI, g = t.source, y = g.map(o), C = y.length, D = l, x = (c - l) / wme(y), M = Cd(C), N, F, z;
  for (e.sort && M.sort(function(A, u) {
    return y[A] - y[u];
  }), N = 0; N < C; ++N)
    z = y[M[N]], F = g[M[N]], F[n] = D, F[i] = D += z * x;
  return this.value = y, t.reflow(e.modified()).modifies(r);
};
var T1e = 5, C1e = jn([RR, PR, kR]), iQ = jn([RR, kb, PR, kR, xbe, Tbe]), x1e = jn([
  "set",
  "modified",
  "clear",
  "type",
  "scheme",
  "schemeExtent",
  "schemeCount",
  "domain",
  "domainMin",
  "domainMid",
  "domainMax",
  "domainRaw",
  "domainImplicit",
  "nice",
  "zero",
  "range",
  "rangeStep",
  "round",
  "reverse",
  "interpolate",
  "interpolateGamma"
]);
function aQ(e) {
  Ue.call(this, null, e), this.modified(!0);
}
var A1e = Ke(aQ, Ue);
A1e.transform = function(e, t) {
  var r = t.dataflow, n = this.value, i;
  (!n || e.modified("type")) && (this.value = n = qb((e.type || RR).toLowerCase())());
  for (i in e) if (!x1e[i]) {
    if (i === "padding" && iQ[n.type]) continue;
    kt(n[i]) ? n[i](e[i]) : r.warn("Unsupported scale property: " + i);
  }
  return R1e(n, e, D1e(n, e, r)), t.fork(t.NO_SOURCE | t.NO_FIELDS);
};
function D1e(e, t, r) {
  var n = P1e(e, t.domainRaw, r);
  if (n > -1) return n;
  var i = t.domain, o = e.type, l = t.zero || t.zero === void 0 && C1e[o], c, g;
  return i ? (iQ[o] && t.padding && i[0] !== $t(i) && (i = k1e(o, i, t.range, t.padding, t.exponent)), (l || t.domainMin != null || t.domainMax != null || t.domainMid != null) && (c = (i = i.slice()).length - 1 || 1, l && (i[0] > 0 && (i[0] = 0), i[c] < 0 && (i[c] = 0)), t.domainMin != null && (i[0] = t.domainMin), t.domainMax != null && (i[c] = t.domainMax), t.domainMid != null && (g = t.domainMid, (g < i[0] || g > i[c]) && r.warn("Scale domainMid exceeds domain min or max.", g), i.splice(c, 0, g))), e.domain(oQ(o, i, r)), o === aK && e.unknown(t.domainImplicit ? XA : void 0), t.nice && e.nice && e.nice(t.nice !== !0 && YR(e, t.nice) || null), i.length) : 0;
}
function P1e(e, t, r) {
  return t ? (e.domain(oQ(e.type, t, r)), t.length) : -1;
}
function k1e(e, t, r, n, i) {
  var o = Math.abs($t(r) - r[0]), l = o / (o - 2 * n), c = e === kb ? Xy(t, null, l) : e === kR ? zf(t, null, l, 0.5) : e === PR ? zf(t, null, l, i) : Ky(t, null, l);
  return t = t.slice(), t[0] = c[0], t[t.length - 1] = c[1], t;
}
function oQ(e, t, r) {
  if (e === kb) {
    var n = Math.abs(t.reduce(function(i, o) {
      return i + (o < 0 ? -1 : o > 0 ? 1 : 0);
    }, 0));
    n !== t.length && r.warn("Log scale domain includes zero: " + at(t));
  }
  return t;
}
function R1e(e, t, r) {
  var n = t.round || !1, i = t.range;
  if (t.rangeStep != null)
    i = M1e(e.type, t, r);
  else if (t.scheme) {
    if (i = N1e(e.type, t, r), kt(i)) return e.interpolator(i);
  } else if (i && e.type === lK)
    return e.interpolator(Fb(aD(i, t.reverse)));
  i && t.interpolate && e.interpolate ? e.interpolate(rX(t.interpolate, t.interpolateGamma)) : kt(e.round) ? e.round(n) : kt(e.rangeRound) && e.interpolate(n ? zR : Md), i && e.range(aD(i, t.reverse));
}
function M1e(e, t, r) {
  e !== Cbe && e !== s5 && We("Only band and point scales support rangeStep.");
  var n = (t.paddingOuter != null ? t.paddingOuter : t.padding) || 0, i = e === s5 ? 1 : (t.paddingInner != null ? t.paddingInner : t.padding) || 0;
  return [0, t.rangeStep * NR(r, i, n)];
}
function N1e(e, t, r) {
  var n = t.scheme.toLowerCase(), i = nD(n), o = t.schemeExtent, l;
  return i || We("Unrecognized scheme name: " + t.scheme), r = e === MR ? r + 1 : e === uK ? r - 1 : e === oK || e === sK ? +t.schemeCount || T1e : r, e === lK ? W5(i, o, t.reverse) : !o && (l = nD(n + "-" + r)) ? l : kt(i) ? I1e(W5(i, o), r) : e === aK ? i : i.slice(0, r);
}
function W5(e, t, r) {
  return kt(e) && (t || r) ? eX(e, aD(t || [0, 1], r)) : e;
}
function aD(e, t) {
  return t ? e.slice().reverse() : e;
}
function I1e(e, t) {
  for (var r = new Array(t), n = t + 1, i = 0; i < t; ) r[i] = e(++i / n);
  return r;
}
function sQ(e) {
  Ue.call(this, null, e);
}
var F1e = Ke(sQ, Ue);
F1e.transform = function(e, t) {
  var r = e.modified("sort") || t.changed(t.ADD) || t.modified(e.sort.fields) || t.modified("datum");
  return r && t.source.sort(e.sort), this.modified(r), t;
};
var $5 = "zero", uQ = "center", lQ = "normalize", cQ = ["y0", "y1"];
function XR(e) {
  Ue.call(this, null, e);
}
XR.Definition = {
  type: "Stack",
  metadata: { modifies: !0 },
  params: [
    { name: "field", type: "field" },
    { name: "groupby", type: "field", array: !0 },
    { name: "sort", type: "compare" },
    { name: "offset", type: "enum", default: $5, values: [$5, uQ, lQ] },
    { name: "as", type: "string", array: !0, length: 2, default: cQ }
  ]
};
var L1e = Ke(XR, Ue);
L1e.transform = function(e, t) {
  var r = e.as || cQ, n = r[0], i = r[1], o = e.field || _d, l = e.offset === uQ ? j1e : e.offset === lQ ? U1e : q1e, c, g, y, C;
  for (c = z1e(t.source, e.groupby, e.sort, o), g = 0, y = c.length, C = c.max; g < y; ++g)
    l(c[g], C, o, n, i);
  return t.reflow(e.modified()).modifies(r);
};
function j1e(e, t, r, n, i) {
  for (var o = (t - e.sum) / 2, l = e.length, c = 0, g; c < l; ++c)
    g = e[c], g[n] = o, g[i] = o += Math.abs(r(g));
}
function U1e(e, t, r, n, i) {
  for (var o = 1 / e.sum, l = 0, c = e.length, g = 0, y = 0, C; g < c; ++g)
    C = e[g], C[n] = l, C[i] = l = o * (y += Math.abs(r(C)));
}
function q1e(e, t, r, n, i) {
  for (var o = 0, l = 0, c = e.length, g = 0, y, C; g < c; ++g)
    C = e[g], y = r(C), y < 0 ? (C[n] = l, C[i] = l += y) : (C[n] = o, C[i] = o += y);
}
function z1e(e, t, r, n) {
  var i = [], o = function(F) {
    return F(C);
  }, l, c, g, y, C, D, x, M, N;
  if (t == null)
    i.push(e.slice());
  else
    for (l = {}, c = 0, g = e.length; c < g; ++c)
      C = e[c], D = t.map(o), x = l[D], x || (l[D] = x = [], i.push(x)), x.push(C);
  for (D = 0, N = 0, y = i.length; D < y; ++D) {
    for (x = i[D], c = 0, M = 0, g = x.length; c < g; ++c)
      M += Math.abs(n(x[c]));
    x.sum = M, M > N && (N = M), r && x.sort(r);
  }
  return i.max = N, i;
}
const B1e = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  axisticks: QX,
  datajoin: ZX,
  encode: JX,
  legendentries: eQ,
  linkpath: GR,
  pie: KR,
  scale: aQ,
  sortitems: sQ,
  stack: XR,
  validTicks: GX
}, Symbol.toStringTag, { value: "Module" }));
function fQ(e, t) {
  return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN;
}
function W1e(e) {
  return e.length === 1 && (e = $1e(e)), {
    left: function(t, r, n, i) {
      for (n == null && (n = 0), i == null && (i = t.length); n < i; ) {
        var o = n + i >>> 1;
        e(t[o], r) < 0 ? n = o + 1 : i = o;
      }
      return n;
    },
    right: function(t, r, n, i) {
      for (n == null && (n = 0), i == null && (i = t.length); n < i; ) {
        var o = n + i >>> 1;
        e(t[o], r) > 0 ? i = o : n = o + 1;
      }
      return n;
    }
  };
}
function $1e(e) {
  return function(t, r) {
    return fQ(e(t), r);
  };
}
W1e(fQ);
function V1e(e, t) {
  for (var r = e.length, n = -1, i, o, l; ++n < r; )
    if ((i = e[n]) != null && i >= i)
      for (o = l = i; ++n < r; )
        (i = e[n]) != null && (o > i && (o = i), l < i && (l = i));
  return [o, l];
}
function dQ(e, t, r) {
  e = +e, t = +t, r = (i = arguments.length) < 2 ? (t = e, e = 0, 1) : i < 3 ? 1 : +r;
  for (var n = -1, i = Math.max(0, Math.ceil((t - e) / r)) | 0, o = new Array(i); ++n < i; )
    o[n] = e + n * r;
  return o;
}
var H1e = Math.sqrt(50), Y1e = Math.sqrt(10), G1e = Math.sqrt(2);
function pQ(e, t, r) {
  var n = Math.abs(t - e) / Math.max(0, r), i = Math.pow(10, Math.floor(Math.log(n) / Math.LN10)), o = n / i;
  return o >= H1e ? i *= 10 : o >= Y1e ? i *= 5 : o >= G1e && (i *= 2), t < e ? -i : i;
}
function K1e(e) {
  return Math.ceil(Math.log(e.length) / Math.LN2) + 1;
}
function X1e(e, t) {
  for (var r = e.length, n = -1, i, o; ++n < r; )
    if ((i = e[n]) != null && i >= i)
      for (o = i; ++n < r; )
        (i = e[n]) != null && i > o && (o = i);
  return o;
}
var Q1e = Array.prototype, hQ = Q1e.slice;
function Z1e(e, t) {
  return e - t;
}
function J1e(e) {
  for (var t = 0, r = e.length, n = e[r - 1][1] * e[0][0] - e[r - 1][0] * e[0][1]; ++t < r; ) n += e[t - 1][1] * e[t][0] - e[t - 1][0] * e[t][1];
  return n;
}
function Ro(e) {
  return function() {
    return e;
  };
}
function eEe(e, t) {
  for (var r = -1, n = t.length, i; ++r < n; ) if (i = tEe(e, t[r])) return i;
  return 0;
}
function tEe(e, t) {
  for (var r = t[0], n = t[1], i = -1, o = 0, l = e.length, c = l - 1; o < l; c = o++) {
    var g = e[o], y = g[0], C = g[1], D = e[c], x = D[0], M = D[1];
    if (rEe(g, D, t)) return 0;
    C > n != M > n && r < (x - y) * (n - C) / (M - C) + y && (i = -i);
  }
  return i;
}
function rEe(e, t, r) {
  var n;
  return nEe(e, t, r) && iEe(e[n = +(e[0] === t[0])], r[n], t[n]);
}
function nEe(e, t, r) {
  return (t[0] - e[0]) * (r[1] - e[1]) === (r[0] - e[0]) * (t[1] - e[1]);
}
function iEe(e, t, r) {
  return e <= t && t <= r || r <= t && t <= e;
}
function aEe() {
}
var Ua = [
  [],
  [[[1, 1.5], [0.5, 1]]],
  [[[1.5, 1], [1, 1.5]]],
  [[[1.5, 1], [0.5, 1]]],
  [[[1, 0.5], [1.5, 1]]],
  [[[1, 1.5], [0.5, 1]], [[1, 0.5], [1.5, 1]]],
  [[[1, 0.5], [1, 1.5]]],
  [[[1, 0.5], [0.5, 1]]],
  [[[0.5, 1], [1, 0.5]]],
  [[[1, 1.5], [1, 0.5]]],
  [[[0.5, 1], [1, 0.5]], [[1.5, 1], [1, 1.5]]],
  [[[1.5, 1], [1, 0.5]]],
  [[[0.5, 1], [1.5, 1]]],
  [[[1, 1.5], [1.5, 1]]],
  [[[0.5, 1], [1, 1.5]]],
  []
];
function mQ() {
  var e = 1, t = 1, r = K1e, n = g;
  function i(y) {
    var C = r(y);
    if (Array.isArray(C))
      C = C.slice().sort(Z1e);
    else {
      var D = V1e(y), x = D[0], M = D[1];
      C = pQ(x, M, C), C = dQ(Math.floor(x / C) * C, Math.floor(M / C) * C, C);
    }
    return C.map(function(N) {
      return o(y, N);
    });
  }
  function o(y, C) {
    var D = [], x = [];
    return l(y, C, function(M) {
      n(M, y, C), J1e(M) > 0 ? D.push([M]) : x.push(M);
    }), x.forEach(function(M) {
      for (var N = 0, F = D.length, z; N < F; ++N)
        if (eEe((z = D[N])[0], M) !== -1) {
          z.push(M);
          return;
        }
    }), {
      type: "MultiPolygon",
      value: C,
      coordinates: D
    };
  }
  function l(y, C, D) {
    var x = new Array(), M = new Array(), N, F, z, A, u, a;
    for (N = F = -1, A = y[0] >= C, Ua[A << 1].forEach(s); ++N < e - 1; )
      z = A, A = y[N + 1] >= C, Ua[z | A << 1].forEach(s);
    for (Ua[A << 0].forEach(s); ++F < t - 1; ) {
      for (N = -1, A = y[F * e + e] >= C, u = y[F * e] >= C, Ua[A << 1 | u << 2].forEach(s); ++N < e - 1; )
        z = A, A = y[F * e + e + N + 1] >= C, a = u, u = y[F * e + N + 1] >= C, Ua[z | A << 1 | u << 2 | a << 3].forEach(s);
      Ua[A | u << 3].forEach(s);
    }
    for (N = -1, u = y[F * e] >= C, Ua[u << 2].forEach(s); ++N < e - 1; )
      a = u, u = y[F * e + N + 1] >= C, Ua[u << 2 | a << 3].forEach(s);
    Ua[u << 3].forEach(s);
    function s(h) {
      var E = [h[0][0] + N, h[0][1] + F], f = [h[1][0] + N, h[1][1] + F], S = c(E), _ = c(f), d, p;
      (d = M[S]) ? (p = x[_]) ? (delete M[d.end], delete x[p.start], d === p ? (d.ring.push(f), D(d.ring)) : x[d.start] = M[p.end] = { start: d.start, end: p.end, ring: d.ring.concat(p.ring) }) : (delete M[d.end], d.ring.push(f), M[d.end = _] = d) : (d = x[_]) ? (p = M[S]) ? (delete x[d.start], delete M[p.end], d === p ? (d.ring.push(f), D(d.ring)) : x[p.start] = M[d.end] = { start: p.start, end: d.end, ring: p.ring.concat(d.ring) }) : (delete x[d.start], d.ring.unshift(E), x[d.start = S] = d) : x[S] = M[_] = { start: S, end: _, ring: [E, f] };
    }
  }
  function c(y) {
    return y[0] * 2 + y[1] * (e + 1) * 4;
  }
  function g(y, C, D) {
    y.forEach(function(x) {
      var M = x[0], N = x[1], F = M | 0, z = N | 0, A, u = C[z * e + F];
      M > 0 && M < e && F === M && (A = C[z * e + F - 1], x[0] = M + (D - A) / (u - A) - 0.5), N > 0 && N < t && z === N && (A = C[(z - 1) * e + F], x[1] = N + (D - A) / (u - A) - 0.5);
    });
  }
  return i.contour = o, i.size = function(y) {
    if (!arguments.length) return [e, t];
    var C = Math.ceil(y[0]), D = Math.ceil(y[1]);
    if (!(C > 0) || !(D > 0)) throw new Error("invalid size");
    return e = C, t = D, i;
  }, i.thresholds = function(y) {
    return arguments.length ? (r = typeof y == "function" ? y : Array.isArray(y) ? Ro(hQ.call(y)) : Ro(y), i) : r;
  }, i.smooth = function(y) {
    return arguments.length ? (n = y ? g : aEe, i) : n === g;
  }, i;
}
function TC(e, t, r) {
  for (var n = e.width, i = e.height, o = (r << 1) + 1, l = 0; l < i; ++l)
    for (var c = 0, g = 0; c < n + r; ++c)
      c < n && (g += e.data[c + l * n]), c >= r && (c >= o && (g -= e.data[c - o + l * n]), t.data[c - r + l * n] = g / Math.min(c + 1, n - 1 + o - c, o));
}
function CC(e, t, r) {
  for (var n = e.width, i = e.height, o = (r << 1) + 1, l = 0; l < n; ++l)
    for (var c = 0, g = 0; c < i + r; ++c)
      c < i && (g += e.data[l + c * n]), c >= r && (c >= o && (g -= e.data[l + (c - o) * n]), t.data[l + (c - r) * n] = g / Math.min(c + 1, i - 1 + o - c, o));
}
function oEe(e) {
  return e[0];
}
function sEe(e) {
  return e[1];
}
function uEe() {
  return 1;
}
function lEe() {
  var e = oEe, t = sEe, r = uEe, n = 960, i = 500, o = 20, l = 2, c = o * 3, g = n + c * 2 >> l, y = i + c * 2 >> l, C = Ro(20);
  function D(A) {
    var u = new Float32Array(g * y), a = new Float32Array(g * y);
    A.forEach(function(E, f, S) {
      var _ = +e(E, f, S) + c >> l, d = +t(E, f, S) + c >> l, p = +r(E, f, S);
      _ >= 0 && _ < g && d >= 0 && d < y && (u[_ + d * g] += p);
    }), TC({ width: g, height: y, data: u }, { width: g, height: y, data: a }, o >> l), CC({ width: g, height: y, data: a }, { width: g, height: y, data: u }, o >> l), TC({ width: g, height: y, data: u }, { width: g, height: y, data: a }, o >> l), CC({ width: g, height: y, data: a }, { width: g, height: y, data: u }, o >> l), TC({ width: g, height: y, data: u }, { width: g, height: y, data: a }, o >> l), CC({ width: g, height: y, data: a }, { width: g, height: y, data: u }, o >> l);
    var s = C(u);
    if (!Array.isArray(s)) {
      var h = X1e(u);
      s = pQ(0, h, s), s = dQ(0, Math.floor(h / s) * s, s), s.shift();
    }
    return mQ().thresholds(s).size([g, y])(u).map(x);
  }
  function x(A) {
    return A.value *= Math.pow(2, -2 * l), A.coordinates.forEach(M), A;
  }
  function M(A) {
    A.forEach(N);
  }
  function N(A) {
    A.forEach(F);
  }
  function F(A) {
    A[0] = A[0] * Math.pow(2, l) - c, A[1] = A[1] * Math.pow(2, l) - c;
  }
  function z() {
    return c = o * 3, g = n + c * 2 >> l, y = i + c * 2 >> l, D;
  }
  return D.x = function(A) {
    return arguments.length ? (e = typeof A == "function" ? A : Ro(+A), D) : e;
  }, D.y = function(A) {
    return arguments.length ? (t = typeof A == "function" ? A : Ro(+A), D) : t;
  }, D.weight = function(A) {
    return arguments.length ? (r = typeof A == "function" ? A : Ro(+A), D) : r;
  }, D.size = function(A) {
    if (!arguments.length) return [n, i];
    var u = Math.ceil(A[0]), a = Math.ceil(A[1]);
    if (!(u >= 0) && !(u >= 0)) throw new Error("invalid size");
    return n = u, i = a, z();
  }, D.cellSize = function(A) {
    if (!arguments.length) return 1 << l;
    if (!((A = +A) >= 1)) throw new Error("invalid cell size");
    return l = Math.floor(Math.log(A) / Math.LN2), z();
  }, D.thresholds = function(A) {
    return arguments.length ? (C = typeof A == "function" ? A : Array.isArray(A) ? Ro(hQ.call(A)) : Ro(A), D) : C;
  }, D.bandwidth = function(A) {
    if (!arguments.length) return Math.sqrt(o * (o + 1));
    if (!((A = +A) >= 0)) throw new Error("invalid bandwidth");
    return o = Math.round((Math.sqrt(4 * A * A + 1) - 1) / 2), z();
  }, D;
}
var cEe = ["size", "smooth"], fEe = ["x", "y", "weight", "size", "cellSize", "bandwidth"];
function QR(e) {
  Ue.call(this, null, e);
}
QR.Definition = {
  type: "Contour",
  metadata: { generates: !0 },
  params: [
    { name: "size", type: "number", array: !0, length: 2, required: !0 },
    { name: "values", type: "number", array: !0 },
    { name: "x", type: "field" },
    { name: "y", type: "field" },
    { name: "weight", type: "field" },
    { name: "cellSize", type: "number" },
    { name: "bandwidth", type: "number" },
    { name: "count", type: "number" },
    { name: "smooth", type: "boolean" },
    { name: "nice", type: "boolean", default: !1 },
    { name: "thresholds", type: "number", array: !0 }
  ]
};
var dEe = Ke(QR, Ue);
dEe.transform = function(e, t) {
  if (this.value && !t.changed() && !e.modified())
    return t.StopPropagation;
  var r = t.fork(t.NO_SOURCE | t.NO_FIELDS), n = e.count || 10, i, o, l;
  return e.values ? (i = mQ(), o = cEe, l = e.values) : (i = lEe(), o = fEe, l = t.materialize(t.SOURCE).source), i.thresholds(e.thresholds || (e.nice ? n : pEe(n))), o.forEach(function(c) {
    e[c] != null && i[c](e[c]);
  }), this.value && (r.rem = this.value), l = l && l.length ? i(l).map(gr) : [], this.value = r.source = r.add = l, r;
};
function pEe(e) {
  return function(t) {
    for (var r = TY(t), n = r[0], i = r[1] - n, o = [], l = 1; l <= e; ++l) o.push(n + i * l / (e + 1));
    return o;
  };
}
var hEe = "Feature", oD = "FeatureCollection", mEe = "MultiPoint";
function ZR(e) {
  Ue.call(this, null, e);
}
ZR.Definition = {
  type: "GeoJSON",
  metadata: {},
  params: [
    { name: "fields", type: "field", array: !0, length: 2 },
    { name: "geojson", type: "field" }
  ]
};
var vEe = Ke(ZR, Ue);
vEe.transform = function(e, t) {
  var r = this._features, n = this._points, i = e.fields, o = i && i[0], l = i && i[1], c = e.geojson, g = t.ADD, y;
  y = e.modified() || t.changed(t.REM) || t.modified(bn(c)) || o && t.modified(bn(o)) || l && t.modified(bn(l)), (!this.value || y) && (g = t.SOURCE, this._features = r = [], this._points = n = []), c && t.visit(g, function(C) {
    r.push(c(C));
  }), o && l && (t.visit(g, function(C) {
    var D = o(C), x = l(C);
    D != null && x != null && (D = +D) === D && (x = +x) === x && n.push([D, x]);
  }), r = r.concat({
    type: hEe,
    geometry: {
      type: mEe,
      coordinates: n
    }
  })), this.value = {
    type: oD,
    features: r
  };
};
function JR(e) {
  Ue.call(this, null, e);
}
JR.Definition = {
  type: "GeoPath",
  metadata: { modifies: !0 },
  params: [
    { name: "projection", type: "projection" },
    { name: "field", type: "field" },
    { name: "pointRadius", type: "number", expr: !0 },
    { name: "as", type: "string", default: "path" }
  ]
};
var gEe = Ke(JR, Ue);
gEe.transform = function(e, t) {
  var r = t.fork(t.ALL), n = this.value, i = e.field || Bi, o = e.as || "path", l = r.SOURCE;
  function c(y) {
    y[o] = n(i(y));
  }
  !n || e.modified() ? (this.value = n = aV(e.projection), r.materialize().reflow()) : l = i === Bi || t.modified(i.fields) ? r.ADD_MOD : r.ADD;
  var g = yEe(n, e.pointRadius);
  return r.visit(l, c), n.pointRadius(g), r.modifies(o);
};
function yEe(e, t) {
  var r = e.pointRadius();
  return e.context(null), t != null && e.pointRadius(t), r;
}
function eM(e) {
  Ue.call(this, null, e);
}
eM.Definition = {
  type: "GeoPoint",
  metadata: { modifies: !0 },
  params: [
    { name: "projection", type: "projection", required: !0 },
    { name: "fields", type: "field", array: !0, required: !0, length: 2 },
    { name: "as", type: "string", array: !0, length: 2, default: ["x", "y"] }
  ]
};
var bEe = Ke(eM, Ue);
bEe.transform = function(e, t) {
  var r = e.projection, n = e.fields[0], i = e.fields[1], o = e.as || ["x", "y"], l = o[0], c = o[1], g;
  function y(C) {
    var D = r([n(C), i(C)]);
    D ? (C[l] = D[0], C[c] = D[1]) : (C[l] = void 0, C[c] = void 0);
  }
  return e.modified() ? t = t.materialize().reflow(!0).visit(t.SOURCE, y) : (g = t.modified(n.fields) || t.modified(i.fields), t.visit(g ? t.ADD_MOD : t.ADD, y)), t.modifies(o);
};
function tM(e) {
  Ue.call(this, null, e);
}
tM.Definition = {
  type: "GeoShape",
  metadata: { modifies: !0 },
  params: [
    { name: "projection", type: "projection" },
    { name: "field", type: "field", default: "datum" },
    { name: "pointRadius", type: "number", expr: !0 },
    { name: "as", type: "string", default: "shape" }
  ]
};
var _Ee = Ke(tM, Ue);
_Ee.transform = function(e, t) {
  var r = t.fork(t.ALL), n = this.value, i = e.field || Jn("datum"), o = e.as || "shape", l = r.ADD_MOD;
  return (!n || e.modified()) && (this.value = n = EEe(
    aV(e.projection),
    i,
    e.pointRadius
  ), r.materialize().reflow(), l = r.SOURCE), r.visit(l, function(c) {
    c[o] = n;
  }), r.modifies(o);
};
function EEe(e, t, r) {
  var n = r == null ? function(i) {
    return e(t(i));
  } : function(i) {
    var o = e.pointRadius(), l = e.pointRadius(r)(t(i));
    return e.pointRadius(o), l;
  };
  return n.context = function(i) {
    return e.context(i), n;
  }, n;
}
function rM() {
  return new wg();
}
function wg() {
  this.reset();
}
wg.prototype = {
  constructor: wg,
  reset: function() {
    this.s = // rounded value
    this.t = 0;
  },
  add: function(e) {
    V5(Ah, e, this.t), V5(this, Ah.s, this.s), this.s ? this.t += Ah.t : this.s = Ah.t;
  },
  valueOf: function() {
    return this.s;
  }
};
var Ah = new wg();
function V5(e, t, r) {
  var n = e.s = t + r, i = n - t, o = n - i;
  e.t = t - o + (r - i);
}
var di = 1e-6, H5 = 1e-12, Id = Math.PI, Y5 = Id / 2, vQ = Id / 4, G5 = Id * 2, Cf = 180 / Id, un = Id / 180, Xf = Math.abs, Bb = Math.atan2, En = Math.cos, Dh = Math.ceil, Sn = Math.sin, Wb = Math.sqrt;
function nM(e) {
  return e > 1 ? Y5 : e < -1 ? -Y5 : Math.asin(e);
}
function df() {
}
function Og(e, t) {
  e && X5.hasOwnProperty(e.type) && X5[e.type](e, t);
}
var K5 = {
  Feature: function(e, t) {
    Og(e.geometry, t);
  },
  FeatureCollection: function(e, t) {
    for (var r = e.features, n = -1, i = r.length; ++n < i; ) Og(r[n].geometry, t);
  }
}, X5 = {
  Sphere: function(e, t) {
    t.sphere();
  },
  Point: function(e, t) {
    e = e.coordinates, t.point(e[0], e[1], e[2]);
  },
  MultiPoint: function(e, t) {
    for (var r = e.coordinates, n = -1, i = r.length; ++n < i; ) e = r[n], t.point(e[0], e[1], e[2]);
  },
  LineString: function(e, t) {
    sD(e.coordinates, t, 0);
  },
  MultiLineString: function(e, t) {
    for (var r = e.coordinates, n = -1, i = r.length; ++n < i; ) sD(r[n], t, 0);
  },
  Polygon: function(e, t) {
    Q5(e.coordinates, t);
  },
  MultiPolygon: function(e, t) {
    for (var r = e.coordinates, n = -1, i = r.length; ++n < i; ) Q5(r[n], t);
  },
  GeometryCollection: function(e, t) {
    for (var r = e.geometries, n = -1, i = r.length; ++n < i; ) Og(r[n], t);
  }
};
function sD(e, t, r) {
  var n = -1, i = e.length - r, o;
  for (t.lineStart(); ++n < i; ) o = e[n], t.point(o[0], o[1], o[2]);
  t.lineEnd();
}
function Q5(e, t) {
  var r = -1, n = e.length;
  for (t.polygonStart(); ++r < n; ) sD(e[r], t, 1);
  t.polygonEnd();
}
function iM(e, t) {
  e && K5.hasOwnProperty(e.type) ? K5[e.type](e, t) : Og(e, t);
}
var Tg = rM(), Cg = rM(), gQ, yQ, uD, lD, cD, Ca = {
  point: df,
  lineStart: df,
  lineEnd: df,
  polygonStart: function() {
    Tg.reset(), Ca.lineStart = SEe, Ca.lineEnd = wEe;
  },
  polygonEnd: function() {
    var e = +Tg;
    Cg.add(e < 0 ? G5 + e : e), this.lineStart = this.lineEnd = this.point = df;
  },
  sphere: function() {
    Cg.add(G5);
  }
};
function SEe() {
  Ca.point = OEe;
}
function wEe() {
  bQ(gQ, yQ);
}
function OEe(e, t) {
  Ca.point = bQ, gQ = e, yQ = t, e *= un, t *= un, uD = e, lD = En(t = t / 2 + vQ), cD = Sn(t);
}
function bQ(e, t) {
  e *= un, t *= un, t = t / 2 + vQ;
  var r = e - uD, n = r >= 0 ? 1 : -1, i = n * r, o = En(t), l = Sn(t), c = cD * l, g = lD * o + c * En(i), y = c * n * Sn(i);
  Tg.add(Bb(y, g)), uD = e, lD = o, cD = l;
}
function TEe(e) {
  return Cg.reset(), iM(e, Ca), Cg * 2;
}
function CEe(e) {
  return [Bb(e[1], e[0]), nM(e[2])];
}
function xEe(e) {
  var t = e[0], r = e[1], n = En(r);
  return [n * En(t), n * Sn(t), Sn(r)];
}
function Z5(e, t) {
  return [e[1] * t[2] - e[2] * t[1], e[2] * t[0] - e[0] * t[2], e[0] * t[1] - e[1] * t[0]];
}
function AEe(e) {
  var t = Wb(e[0] * e[0] + e[1] * e[1] + e[2] * e[2]);
  e[0] /= t, e[1] /= t, e[2] /= t;
}
var hr, Fn, vr, Gn, ws, _Q, EQ, rl, xf = rM(), Mo, io, $a = {
  point: fD,
  lineStart: J5,
  lineEnd: eB,
  polygonStart: function() {
    $a.point = wQ, $a.lineStart = DEe, $a.lineEnd = PEe, xf.reset(), Ca.polygonStart();
  },
  polygonEnd: function() {
    Ca.polygonEnd(), $a.point = fD, $a.lineStart = J5, $a.lineEnd = eB, Tg < 0 ? (hr = -(vr = 180), Fn = -(Gn = 90)) : xf > di ? Gn = 90 : xf < -di && (Fn = -90), io[0] = hr, io[1] = vr;
  },
  sphere: function() {
    hr = -(vr = 180), Fn = -(Gn = 90);
  }
};
function fD(e, t) {
  Mo.push(io = [hr = e, vr = e]), t < Fn && (Fn = t), t > Gn && (Gn = t);
}
function SQ(e, t) {
  var r = xEe([e * un, t * un]);
  if (rl) {
    var n = Z5(rl, r), i = [n[1], -n[0], 0], o = Z5(i, n);
    AEe(o), o = CEe(o);
    var l = e - ws, c = l > 0 ? 1 : -1, g = o[0] * Cf * c, y, C = Xf(l) > 180;
    C ^ (c * ws < g && g < c * e) ? (y = o[1] * Cf, y > Gn && (Gn = y)) : (g = (g + 360) % 360 - 180, C ^ (c * ws < g && g < c * e) ? (y = -o[1] * Cf, y < Fn && (Fn = y)) : (t < Fn && (Fn = t), t > Gn && (Gn = t))), C ? e < ws ? Yn(hr, e) > Yn(hr, vr) && (vr = e) : Yn(e, vr) > Yn(hr, vr) && (hr = e) : vr >= hr ? (e < hr && (hr = e), e > vr && (vr = e)) : e > ws ? Yn(hr, e) > Yn(hr, vr) && (vr = e) : Yn(e, vr) > Yn(hr, vr) && (hr = e);
  } else
    Mo.push(io = [hr = e, vr = e]);
  t < Fn && (Fn = t), t > Gn && (Gn = t), rl = r, ws = e;
}
function J5() {
  $a.point = SQ;
}
function eB() {
  io[0] = hr, io[1] = vr, $a.point = fD, rl = null;
}
function wQ(e, t) {
  if (rl) {
    var r = e - ws;
    xf.add(Xf(r) > 180 ? r + (r > 0 ? 360 : -360) : r);
  } else
    _Q = e, EQ = t;
  Ca.point(e, t), SQ(e, t);
}
function DEe() {
  Ca.lineStart();
}
function PEe() {
  wQ(_Q, EQ), Ca.lineEnd(), Xf(xf) > di && (hr = -(vr = 180)), io[0] = hr, io[1] = vr, rl = null;
}
function Yn(e, t) {
  return (t -= e) < 0 ? t + 360 : t;
}
function kEe(e, t) {
  return e[0] - t[0];
}
function tB(e, t) {
  return e[0] <= e[1] ? e[0] <= t && t <= e[1] : t < e[0] || e[1] < t;
}
function REe(e) {
  var t, r, n, i, o, l, c;
  if (Gn = vr = -(hr = Fn = 1 / 0), Mo = [], iM(e, $a), r = Mo.length) {
    for (Mo.sort(kEe), t = 1, n = Mo[0], o = [n]; t < r; ++t)
      i = Mo[t], tB(n, i[0]) || tB(n, i[1]) ? (Yn(n[0], i[1]) > Yn(n[0], n[1]) && (n[1] = i[1]), Yn(i[0], n[1]) > Yn(n[0], n[1]) && (n[0] = i[0])) : o.push(n = i);
    for (l = -1 / 0, r = o.length - 1, t = 0, n = o[r]; t <= r; n = i, ++t)
      i = o[t], (c = Yn(n[1], i[0])) > l && (l = c, hr = i[0], vr = n[1]);
  }
  return Mo = io = null, hr === 1 / 0 || Fn === 1 / 0 ? [[NaN, NaN], [NaN, NaN]] : [[hr, Fn], [vr, Gn]];
}
var pf, xg, Ag, Dg, Pg, kg, Rg, Mg, dD, pD, hD, OQ, TQ, hn, mn, vn, Li = {
  sphere: df,
  point: aM,
  lineStart: rB,
  lineEnd: nB,
  polygonStart: function() {
    Li.lineStart = IEe, Li.lineEnd = FEe;
  },
  polygonEnd: function() {
    Li.lineStart = rB, Li.lineEnd = nB;
  }
};
function aM(e, t) {
  e *= un, t *= un;
  var r = En(t);
  Fd(r * En(e), r * Sn(e), Sn(t));
}
function Fd(e, t, r) {
  ++pf, Ag += (e - Ag) / pf, Dg += (t - Dg) / pf, Pg += (r - Pg) / pf;
}
function rB() {
  Li.point = MEe;
}
function MEe(e, t) {
  e *= un, t *= un;
  var r = En(t);
  hn = r * En(e), mn = r * Sn(e), vn = Sn(t), Li.point = NEe, Fd(hn, mn, vn);
}
function NEe(e, t) {
  e *= un, t *= un;
  var r = En(t), n = r * En(e), i = r * Sn(e), o = Sn(t), l = Bb(Wb((l = mn * o - vn * i) * l + (l = vn * n - hn * o) * l + (l = hn * i - mn * n) * l), hn * n + mn * i + vn * o);
  xg += l, kg += l * (hn + (hn = n)), Rg += l * (mn + (mn = i)), Mg += l * (vn + (vn = o)), Fd(hn, mn, vn);
}
function nB() {
  Li.point = aM;
}
function IEe() {
  Li.point = LEe;
}
function FEe() {
  CQ(OQ, TQ), Li.point = aM;
}
function LEe(e, t) {
  OQ = e, TQ = t, e *= un, t *= un, Li.point = CQ;
  var r = En(t);
  hn = r * En(e), mn = r * Sn(e), vn = Sn(t), Fd(hn, mn, vn);
}
function CQ(e, t) {
  e *= un, t *= un;
  var r = En(t), n = r * En(e), i = r * Sn(e), o = Sn(t), l = mn * o - vn * i, c = vn * n - hn * o, g = hn * i - mn * n, y = Wb(l * l + c * c + g * g), C = nM(y), D = y && -C / y;
  dD += D * l, pD += D * c, hD += D * g, xg += C, kg += C * (hn + (hn = n)), Rg += C * (mn + (mn = i)), Mg += C * (vn + (vn = o)), Fd(hn, mn, vn);
}
function jEe(e) {
  pf = xg = Ag = Dg = Pg = kg = Rg = Mg = dD = pD = hD = 0, iM(e, Li);
  var t = dD, r = pD, n = hD, i = t * t + r * r + n * n;
  return i < H5 && (t = kg, r = Rg, n = Mg, xg < di && (t = Ag, r = Dg, n = Pg), i = t * t + r * r + n * n, i < H5) ? [NaN, NaN] : [Bb(r, t) * Cf, nM(n / Wb(i)) * Cf];
}
function xQ(e, t) {
  return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN;
}
function UEe(e) {
  return e.length === 1 && (e = qEe(e)), {
    left: function(t, r, n, i) {
      for (n == null && (n = 0), i == null && (i = t.length); n < i; ) {
        var o = n + i >>> 1;
        e(t[o], r) < 0 ? n = o + 1 : i = o;
      }
      return n;
    },
    right: function(t, r, n, i) {
      for (n == null && (n = 0), i == null && (i = t.length); n < i; ) {
        var o = n + i >>> 1;
        e(t[o], r) > 0 ? i = o : n = o + 1;
      }
      return n;
    }
  };
}
function qEe(e) {
  return function(t, r) {
    return xQ(e(t), r);
  };
}
UEe(xQ);
function Yu(e, t, r) {
  e = +e, t = +t, r = (i = arguments.length) < 2 ? (t = e, e = 0, 1) : i < 3 ? 1 : +r;
  for (var n = -1, i = Math.max(0, Math.ceil((t - e) / r)) | 0, o = new Array(i); ++n < i; )
    o[n] = e + n * r;
  return o;
}
function iB(e, t, r) {
  var n = Yu(e, t - di, r).concat(t);
  return function(i) {
    return n.map(function(o) {
      return [i, o];
    });
  };
}
function aB(e, t, r) {
  var n = Yu(e, t - di, r).concat(t);
  return function(i) {
    return n.map(function(o) {
      return [o, i];
    });
  };
}
function zEe() {
  var e, t, r, n, i, o, l, c, g = 10, y = g, C = 90, D = 360, x, M, N, F, z = 2.5;
  function A() {
    return { type: "MultiLineString", coordinates: u() };
  }
  function u() {
    return Yu(Dh(n / C) * C, r, C).map(N).concat(Yu(Dh(c / D) * D, l, D).map(F)).concat(Yu(Dh(t / g) * g, e, g).filter(function(a) {
      return Xf(a % C) > di;
    }).map(x)).concat(Yu(Dh(o / y) * y, i, y).filter(function(a) {
      return Xf(a % D) > di;
    }).map(M));
  }
  return A.lines = function() {
    return u().map(function(a) {
      return { type: "LineString", coordinates: a };
    });
  }, A.outline = function() {
    return {
      type: "Polygon",
      coordinates: [
        N(n).concat(
          F(l).slice(1),
          N(r).reverse().slice(1),
          F(c).reverse().slice(1)
        )
      ]
    };
  }, A.extent = function(a) {
    return arguments.length ? A.extentMajor(a).extentMinor(a) : A.extentMinor();
  }, A.extentMajor = function(a) {
    return arguments.length ? (n = +a[0][0], r = +a[1][0], c = +a[0][1], l = +a[1][1], n > r && (a = n, n = r, r = a), c > l && (a = c, c = l, l = a), A.precision(z)) : [[n, c], [r, l]];
  }, A.extentMinor = function(a) {
    return arguments.length ? (t = +a[0][0], e = +a[1][0], o = +a[0][1], i = +a[1][1], t > e && (a = t, t = e, e = a), o > i && (a = o, o = i, i = a), A.precision(z)) : [[t, o], [e, i]];
  }, A.step = function(a) {
    return arguments.length ? A.stepMajor(a).stepMinor(a) : A.stepMinor();
  }, A.stepMajor = function(a) {
    return arguments.length ? (C = +a[0], D = +a[1], A) : [C, D];
  }, A.stepMinor = function(a) {
    return arguments.length ? (g = +a[0], y = +a[1], A) : [g, y];
  }, A.precision = function(a) {
    return arguments.length ? (z = +a, x = iB(o, i, 90), M = aB(t, e, z), N = iB(c, l, 90), F = aB(n, r, z), A) : z;
  }, A.extentMajor([[-180, -90 + di], [180, 90 - di]]).extentMinor([[-180, -80 - di], [180, 80 + di]]);
}
function oM(e) {
  Ue.call(this, [], e), this.generator = zEe();
}
oM.Definition = {
  type: "Graticule",
  metadata: { changes: !0 },
  params: [
    {
      name: "extent",
      type: "array",
      array: !0,
      length: 2,
      content: { type: "number", array: !0, length: 2 }
    },
    {
      name: "extentMajor",
      type: "array",
      array: !0,
      length: 2,
      content: { type: "number", array: !0, length: 2 }
    },
    {
      name: "extentMinor",
      type: "array",
      array: !0,
      length: 2,
      content: { type: "number", array: !0, length: 2 }
    },
    { name: "step", type: "number", array: !0, length: 2 },
    { name: "stepMajor", type: "number", array: !0, length: 2, default: [90, 360] },
    { name: "stepMinor", type: "number", array: !0, length: 2, default: [10, 10] },
    { name: "precision", type: "number", default: 2.5 }
  ]
};
var BEe = Ke(oM, Ue);
BEe.transform = function(e, t) {
  var r = this.value, n = this.generator, i;
  if (!r.length || e.modified())
    for (var o in e)
      kt(n[o]) && n[o](e[o]);
  return i = n(), r.length ? t.mod.push(BH(r[0], i)) : t.add.push(gr(i)), r[0] = i, t;
};
function AQ(e) {
  Ue.call(this, null, e), this.modified(!0);
}
var WEe = Ke(AQ, Ue);
WEe.transform = function(e, t) {
  var r = this.value;
  return !r || e.modified("type") ? (this.value = r = VEe(e.type), XN.forEach(function(n) {
    e[n] != null && oB(r, n, e[n]);
  })) : XN.forEach(function(n) {
    e.modified(n) && oB(r, n, e[n]);
  }), e.pointRadius != null && r.path.pointRadius(e.pointRadius), e.fit && $Ee(r, e), t.fork(t.NO_SOURCE | t.NO_FIELDS);
};
function $Ee(e, t) {
  var r = HEe(t.fit);
  t.extent ? e.fitExtent(t.extent, r) : t.size && e.fitSize(t.size, r);
}
function VEe(e) {
  var t = oV((e || "mercator").toLowerCase());
  return t || We("Unrecognized projection type: " + e), t();
}
function oB(e, t, r) {
  kt(e[t]) && e[t](r);
}
function HEe(e) {
  return e = mt(e), e.length === 1 ? e[0] : {
    type: oD,
    features: e.reduce(function(t, r) {
      return r && r.type === oD ? t.push.apply(t, r.features) : Et(r) ? t.push.apply(t, r) : t.push(r), t;
    }, [])
  };
}
const YEe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  contour: QR,
  geojson: ZR,
  geopath: JR,
  geopoint: eM,
  geoshape: tM,
  graticule: oM,
  projection: AQ
}, Symbol.toStringTag, { value: "Module" }));
function GEe(e, t) {
  var r;
  e == null && (e = 0), t == null && (t = 0);
  function n() {
    var i, o = r.length, l, c = 0, g = 0;
    for (i = 0; i < o; ++i)
      l = r[i], c += l.x, g += l.y;
    for (c = c / o - e, g = g / o - t, i = 0; i < o; ++i)
      l = r[i], l.x -= c, l.y -= g;
  }
  return n.initialize = function(i) {
    r = i;
  }, n.x = function(i) {
    return arguments.length ? (e = +i, n) : e;
  }, n.y = function(i) {
    return arguments.length ? (t = +i, n) : t;
  }, n;
}
function yn(e) {
  return function() {
    return e;
  };
}
function Uo() {
  return (Math.random() - 0.5) * 1e-6;
}
function KEe(e) {
  var t = +this._x.call(null, e), r = +this._y.call(null, e);
  return DQ(this.cover(t, r), t, r, e);
}
function DQ(e, t, r, n) {
  if (isNaN(t) || isNaN(r)) return e;
  var i, o = e._root, l = { data: n }, c = e._x0, g = e._y0, y = e._x1, C = e._y1, D, x, M, N, F, z, A, u;
  if (!o) return e._root = l, e;
  for (; o.length; )
    if ((F = t >= (D = (c + y) / 2)) ? c = D : y = D, (z = r >= (x = (g + C) / 2)) ? g = x : C = x, i = o, !(o = o[A = z << 1 | F])) return i[A] = l, e;
  if (M = +e._x.call(null, o.data), N = +e._y.call(null, o.data), t === M && r === N) return l.next = o, i ? i[A] = l : e._root = l, e;
  do
    i = i ? i[A] = new Array(4) : e._root = new Array(4), (F = t >= (D = (c + y) / 2)) ? c = D : y = D, (z = r >= (x = (g + C) / 2)) ? g = x : C = x;
  while ((A = z << 1 | F) === (u = (N >= x) << 1 | M >= D));
  return i[u] = o, i[A] = l, e;
}
function XEe(e) {
  var t, r, n = e.length, i, o, l = new Array(n), c = new Array(n), g = 1 / 0, y = 1 / 0, C = -1 / 0, D = -1 / 0;
  for (r = 0; r < n; ++r)
    isNaN(i = +this._x.call(null, t = e[r])) || isNaN(o = +this._y.call(null, t)) || (l[r] = i, c[r] = o, i < g && (g = i), i > C && (C = i), o < y && (y = o), o > D && (D = o));
  if (g > C || y > D) return this;
  for (this.cover(g, y).cover(C, D), r = 0; r < n; ++r)
    DQ(this, l[r], c[r], e[r]);
  return this;
}
function QEe(e, t) {
  if (isNaN(e = +e) || isNaN(t = +t)) return this;
  var r = this._x0, n = this._y0, i = this._x1, o = this._y1;
  if (isNaN(r))
    i = (r = Math.floor(e)) + 1, o = (n = Math.floor(t)) + 1;
  else {
    for (var l = i - r, c = this._root, g, y; r > e || e >= i || n > t || t >= o; )
      switch (y = (t < n) << 1 | e < r, g = new Array(4), g[y] = c, c = g, l *= 2, y) {
        case 0:
          i = r + l, o = n + l;
          break;
        case 1:
          r = i - l, o = n + l;
          break;
        case 2:
          i = r + l, n = o - l;
          break;
        case 3:
          r = i - l, n = o - l;
          break;
      }
    this._root && this._root.length && (this._root = c);
  }
  return this._x0 = r, this._y0 = n, this._x1 = i, this._y1 = o, this;
}
function ZEe() {
  var e = [];
  return this.visit(function(t) {
    if (!t.length) do
      e.push(t.data);
    while (t = t.next);
  }), e;
}
function JEe(e) {
  return arguments.length ? this.cover(+e[0][0], +e[0][1]).cover(+e[1][0], +e[1][1]) : isNaN(this._x0) ? void 0 : [[this._x0, this._y0], [this._x1, this._y1]];
}
function gn(e, t, r, n, i) {
  this.node = e, this.x0 = t, this.y0 = r, this.x1 = n, this.y1 = i;
}
function eSe(e, t, r) {
  var n, i = this._x0, o = this._y0, l, c, g, y, C = this._x1, D = this._y1, x = [], M = this._root, N, F;
  for (M && x.push(new gn(M, i, o, C, D)), r == null ? r = 1 / 0 : (i = e - r, o = t - r, C = e + r, D = t + r, r *= r); N = x.pop(); )
    if (!(!(M = N.node) || (l = N.x0) > C || (c = N.y0) > D || (g = N.x1) < i || (y = N.y1) < o))
      if (M.length) {
        var z = (l + g) / 2, A = (c + y) / 2;
        x.push(
          new gn(M[3], z, A, g, y),
          new gn(M[2], l, A, z, y),
          new gn(M[1], z, c, g, A),
          new gn(M[0], l, c, z, A)
        ), (F = (t >= A) << 1 | e >= z) && (N = x[x.length - 1], x[x.length - 1] = x[x.length - 1 - F], x[x.length - 1 - F] = N);
      } else {
        var u = e - +this._x.call(null, M.data), a = t - +this._y.call(null, M.data), s = u * u + a * a;
        if (s < r) {
          var h = Math.sqrt(r = s);
          i = e - h, o = t - h, C = e + h, D = t + h, n = M.data;
        }
      }
  return n;
}
function tSe(e) {
  if (isNaN(C = +this._x.call(null, e)) || isNaN(D = +this._y.call(null, e))) return this;
  var t, r = this._root, n, i, o, l = this._x0, c = this._y0, g = this._x1, y = this._y1, C, D, x, M, N, F, z, A;
  if (!r) return this;
  if (r.length) for (; ; ) {
    if ((N = C >= (x = (l + g) / 2)) ? l = x : g = x, (F = D >= (M = (c + y) / 2)) ? c = M : y = M, t = r, !(r = r[z = F << 1 | N])) return this;
    if (!r.length) break;
    (t[z + 1 & 3] || t[z + 2 & 3] || t[z + 3 & 3]) && (n = t, A = z);
  }
  for (; r.data !== e; ) if (i = r, !(r = r.next)) return this;
  return (o = r.next) && delete r.next, i ? (o ? i.next = o : delete i.next, this) : t ? (o ? t[z] = o : delete t[z], (r = t[0] || t[1] || t[2] || t[3]) && r === (t[3] || t[2] || t[1] || t[0]) && !r.length && (n ? n[A] = r : this._root = r), this) : (this._root = o, this);
}
function rSe(e) {
  for (var t = 0, r = e.length; t < r; ++t) this.remove(e[t]);
  return this;
}
function nSe() {
  return this._root;
}
function iSe() {
  var e = 0;
  return this.visit(function(t) {
    if (!t.length) do
      ++e;
    while (t = t.next);
  }), e;
}
function aSe(e) {
  var t = [], r, n = this._root, i, o, l, c, g;
  for (n && t.push(new gn(n, this._x0, this._y0, this._x1, this._y1)); r = t.pop(); )
    if (!e(n = r.node, o = r.x0, l = r.y0, c = r.x1, g = r.y1) && n.length) {
      var y = (o + c) / 2, C = (l + g) / 2;
      (i = n[3]) && t.push(new gn(i, y, C, c, g)), (i = n[2]) && t.push(new gn(i, o, C, y, g)), (i = n[1]) && t.push(new gn(i, y, l, c, C)), (i = n[0]) && t.push(new gn(i, o, l, y, C));
    }
  return this;
}
function oSe(e) {
  var t = [], r = [], n;
  for (this._root && t.push(new gn(this._root, this._x0, this._y0, this._x1, this._y1)); n = t.pop(); ) {
    var i = n.node;
    if (i.length) {
      var o, l = n.x0, c = n.y0, g = n.x1, y = n.y1, C = (l + g) / 2, D = (c + y) / 2;
      (o = i[0]) && t.push(new gn(o, l, c, C, D)), (o = i[1]) && t.push(new gn(o, C, c, g, D)), (o = i[2]) && t.push(new gn(o, l, D, C, y)), (o = i[3]) && t.push(new gn(o, C, D, g, y));
    }
    r.push(n);
  }
  for (; n = r.pop(); )
    e(n.node, n.x0, n.y0, n.x1, n.y1);
  return this;
}
function sSe(e) {
  return e[0];
}
function uSe(e) {
  return arguments.length ? (this._x = e, this) : this._x;
}
function lSe(e) {
  return e[1];
}
function cSe(e) {
  return arguments.length ? (this._y = e, this) : this._y;
}
function sM(e, t, r) {
  var n = new uM(t ?? sSe, r ?? lSe, NaN, NaN, NaN, NaN);
  return e == null ? n : n.addAll(e);
}
function uM(e, t, r, n, i, o) {
  this._x = e, this._y = t, this._x0 = r, this._y0 = n, this._x1 = i, this._y1 = o, this._root = void 0;
}
function sB(e) {
  for (var t = { data: e.data }, r = t; e = e.next; ) r = r.next = { data: e.data };
  return t;
}
var xn = sM.prototype = uM.prototype;
xn.copy = function() {
  var e = new uM(this._x, this._y, this._x0, this._y0, this._x1, this._y1), t = this._root, r, n;
  if (!t) return e;
  if (!t.length) return e._root = sB(t), e;
  for (r = [{ source: t, target: e._root = new Array(4) }]; t = r.pop(); )
    for (var i = 0; i < 4; ++i)
      (n = t.source[i]) && (n.length ? r.push({ source: n, target: t.target[i] = new Array(4) }) : t.target[i] = sB(n));
  return e;
};
xn.add = KEe;
xn.addAll = XEe;
xn.cover = QEe;
xn.data = ZEe;
xn.extent = JEe;
xn.find = eSe;
xn.remove = tSe;
xn.removeAll = rSe;
xn.root = nSe;
xn.size = iSe;
xn.visit = aSe;
xn.visitAfter = oSe;
xn.x = uSe;
xn.y = cSe;
function fSe(e) {
  return e.x + e.vx;
}
function dSe(e) {
  return e.y + e.vy;
}
function pSe(e) {
  var t, r, n = 1, i = 1;
  typeof e != "function" && (e = yn(e == null ? 1 : +e));
  function o() {
    for (var g, y = t.length, C, D, x, M, N, F, z = 0; z < i; ++z)
      for (C = sM(t, fSe, dSe).visitAfter(l), g = 0; g < y; ++g)
        D = t[g], N = r[D.index], F = N * N, x = D.x + D.vx, M = D.y + D.vy, C.visit(A);
    function A(u, a, s, h, E) {
      var f = u.data, S = u.r, _ = N + S;
      if (f) {
        if (f.index > D.index) {
          var d = x - f.x - f.vx, p = M - f.y - f.vy, b = d * d + p * p;
          b < _ * _ && (d === 0 && (d = Uo(), b += d * d), p === 0 && (p = Uo(), b += p * p), b = (_ - (b = Math.sqrt(b))) / b * n, D.vx += (d *= b) * (_ = (S *= S) / (F + S)), D.vy += (p *= b) * _, f.vx -= d * (_ = 1 - _), f.vy -= p * _);
        }
        return;
      }
      return a > x + _ || h < x - _ || s > M + _ || E < M - _;
    }
  }
  function l(g) {
    if (g.data) return g.r = r[g.data.index];
    for (var y = g.r = 0; y < 4; ++y)
      g[y] && g[y].r > g.r && (g.r = g[y].r);
  }
  function c() {
    if (t) {
      var g, y = t.length, C;
      for (r = new Array(y), g = 0; g < y; ++g) C = t[g], r[C.index] = +e(C, g, t);
    }
  }
  return o.initialize = function(g) {
    t = g, c();
  }, o.iterations = function(g) {
    return arguments.length ? (i = +g, o) : i;
  }, o.strength = function(g) {
    return arguments.length ? (n = +g, o) : n;
  }, o.radius = function(g) {
    return arguments.length ? (e = typeof g == "function" ? g : yn(+g), c(), o) : e;
  }, o;
}
function hSe(e) {
  return e.index;
}
function uB(e, t) {
  var r = e.get(t);
  if (!r) throw new Error("missing: " + t);
  return r;
}
function mSe(e) {
  var t = hSe, r = C, n, i = yn(30), o, l, c, g, y = 1;
  e == null && (e = []);
  function C(F) {
    return 1 / Math.min(c[F.source.index], c[F.target.index]);
  }
  function D(F) {
    for (var z = 0, A = e.length; z < y; ++z)
      for (var u = 0, a, s, h, E, f, S, _; u < A; ++u)
        a = e[u], s = a.source, h = a.target, E = h.x + h.vx - s.x - s.vx || Uo(), f = h.y + h.vy - s.y - s.vy || Uo(), S = Math.sqrt(E * E + f * f), S = (S - o[u]) / S * F * n[u], E *= S, f *= S, h.vx -= E * (_ = g[u]), h.vy -= f * _, s.vx += E * (_ = 1 - _), s.vy += f * _;
  }
  function x() {
    if (l) {
      var F, z = l.length, A = e.length, u = Vo(l, t), a;
      for (F = 0, c = new Array(z); F < A; ++F)
        a = e[F], a.index = F, typeof a.source != "object" && (a.source = uB(u, a.source)), typeof a.target != "object" && (a.target = uB(u, a.target)), c[a.source.index] = (c[a.source.index] || 0) + 1, c[a.target.index] = (c[a.target.index] || 0) + 1;
      for (F = 0, g = new Array(A); F < A; ++F)
        a = e[F], g[F] = c[a.source.index] / (c[a.source.index] + c[a.target.index]);
      n = new Array(A), M(), o = new Array(A), N();
    }
  }
  function M() {
    if (l)
      for (var F = 0, z = e.length; F < z; ++F)
        n[F] = +r(e[F], F, e);
  }
  function N() {
    if (l)
      for (var F = 0, z = e.length; F < z; ++F)
        o[F] = +i(e[F], F, e);
  }
  return D.initialize = function(F) {
    l = F, x();
  }, D.links = function(F) {
    return arguments.length ? (e = F, x(), D) : e;
  }, D.id = function(F) {
    return arguments.length ? (t = F, D) : t;
  }, D.iterations = function(F) {
    return arguments.length ? (y = +F, D) : y;
  }, D.strength = function(F) {
    return arguments.length ? (r = typeof F == "function" ? F : yn(+F), M(), D) : r;
  }, D.distance = function(F) {
    return arguments.length ? (i = typeof F == "function" ? F : yn(+F), N(), D) : i;
  }, D;
}
var vSe = { value: function() {
} };
function PQ() {
  for (var e = 0, t = arguments.length, r = {}, n; e < t; ++e) {
    if (!(n = arguments[e] + "") || n in r || /[\s.]/.test(n)) throw new Error("illegal type: " + n);
    r[n] = [];
  }
  return new zv(r);
}
function zv(e) {
  this._ = e;
}
function gSe(e, t) {
  return e.trim().split(/^|\s+/).map(function(r) {
    var n = "", i = r.indexOf(".");
    if (i >= 0 && (n = r.slice(i + 1), r = r.slice(0, i)), r && !t.hasOwnProperty(r)) throw new Error("unknown type: " + r);
    return { type: r, name: n };
  });
}
zv.prototype = PQ.prototype = {
  constructor: zv,
  on: function(e, t) {
    var r = this._, n = gSe(e + "", r), i, o = -1, l = n.length;
    if (arguments.length < 2) {
      for (; ++o < l; ) if ((i = (e = n[o]).type) && (i = ySe(r[i], e.name))) return i;
      return;
    }
    if (t != null && typeof t != "function") throw new Error("invalid callback: " + t);
    for (; ++o < l; )
      if (i = (e = n[o]).type) r[i] = lB(r[i], e.name, t);
      else if (t == null) for (i in r) r[i] = lB(r[i], e.name, null);
    return this;
  },
  copy: function() {
    var e = {}, t = this._;
    for (var r in t) e[r] = t[r].slice();
    return new zv(e);
  },
  call: function(e, t) {
    if ((i = arguments.length - 2) > 0) for (var r = new Array(i), n = 0, i, o; n < i; ++n) r[n] = arguments[n + 2];
    if (!this._.hasOwnProperty(e)) throw new Error("unknown type: " + e);
    for (o = this._[e], n = 0, i = o.length; n < i; ++n) o[n].value.apply(t, r);
  },
  apply: function(e, t, r) {
    if (!this._.hasOwnProperty(e)) throw new Error("unknown type: " + e);
    for (var n = this._[e], i = 0, o = n.length; i < o; ++i) n[i].value.apply(t, r);
  }
};
function ySe(e, t) {
  for (var r = 0, n = e.length, i; r < n; ++r)
    if ((i = e[r]).name === t)
      return i.value;
}
function lB(e, t, r) {
  for (var n = 0, i = e.length; n < i; ++n)
    if (e[n].name === t) {
      e[n] = vSe, e = e.slice(0, n).concat(e.slice(n + 1));
      break;
    }
  return r != null && e.push({ name: t, value: r }), e;
}
var bl = 0, hf = 0, hc = 0, kQ = 1e3, Ng, mf, Ig = 0, Us = 0, $b = 0, Qf = typeof performance == "object" && performance.now ? performance : Date, RQ = typeof window == "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(e) {
  setTimeout(e, 17);
};
function lM() {
  return Us || (RQ(bSe), Us = Qf.now() + $b);
}
function bSe() {
  Us = 0;
}
function Fg() {
  this._call = this._time = this._next = null;
}
Fg.prototype = MQ.prototype = {
  constructor: Fg,
  restart: function(e, t, r) {
    if (typeof e != "function") throw new TypeError("callback is not a function");
    r = (r == null ? lM() : +r) + (t == null ? 0 : +t), !this._next && mf !== this && (mf ? mf._next = this : Ng = this, mf = this), this._call = e, this._time = r, mD();
  },
  stop: function() {
    this._call && (this._call = null, this._time = 1 / 0, mD());
  }
};
function MQ(e, t, r) {
  var n = new Fg();
  return n.restart(e, t, r), n;
}
function _Se() {
  lM(), ++bl;
  for (var e = Ng, t; e; )
    (t = Us - e._time) >= 0 && e._call.call(null, t), e = e._next;
  --bl;
}
function cB() {
  Us = (Ig = Qf.now()) + $b, bl = hf = 0;
  try {
    _Se();
  } finally {
    bl = 0, SSe(), Us = 0;
  }
}
function ESe() {
  var e = Qf.now(), t = e - Ig;
  t > kQ && ($b -= t, Ig = e);
}
function SSe() {
  for (var e, t = Ng, r, n = 1 / 0; t; )
    t._call ? (n > t._time && (n = t._time), e = t, t = t._next) : (r = t._next, t._next = null, t = e ? e._next = r : Ng = r);
  mf = e, mD(n);
}
function mD(e) {
  if (!bl) {
    hf && (hf = clearTimeout(hf));
    var t = e - Us;
    t > 24 ? (e < 1 / 0 && (hf = setTimeout(cB, e - Qf.now() - $b)), hc && (hc = clearInterval(hc))) : (hc || (Ig = Qf.now(), hc = setInterval(ESe, kQ)), bl = 1, RQ(cB));
  }
}
function wSe(e, t, r) {
  var n = new Fg(), i = t;
  return t == null ? (n.restart(e, t, r), n) : (t = +t, r = r == null ? lM() : +r, n.restart(function o(l) {
    l += i, n.restart(o, i += t, r), e(l);
  }, t, r), n);
}
function OSe(e) {
  return e.x;
}
function TSe(e) {
  return e.y;
}
var CSe = 10, xSe = Math.PI * (3 - Math.sqrt(5));
function ASe(e) {
  var t, r = 1, n = 1e-3, i = 1 - Math.pow(n, 1 / 300), o = 0, l = 0.6, c = Vo(), g = MQ(C), y = PQ("tick", "end");
  e == null && (e = []);
  function C() {
    D(), y.call("tick", t), r < n && (g.stop(), y.call("end", t));
  }
  function D(N) {
    var F, z = e.length, A;
    N === void 0 && (N = 1);
    for (var u = 0; u < N; ++u)
      for (r += (o - r) * i, c.each(function(a) {
        a(r);
      }), F = 0; F < z; ++F)
        A = e[F], A.fx == null ? A.x += A.vx *= l : (A.x = A.fx, A.vx = 0), A.fy == null ? A.y += A.vy *= l : (A.y = A.fy, A.vy = 0);
    return t;
  }
  function x() {
    for (var N = 0, F = e.length, z; N < F; ++N) {
      if (z = e[N], z.index = N, z.fx != null && (z.x = z.fx), z.fy != null && (z.y = z.fy), isNaN(z.x) || isNaN(z.y)) {
        var A = CSe * Math.sqrt(N), u = N * xSe;
        z.x = A * Math.cos(u), z.y = A * Math.sin(u);
      }
      (isNaN(z.vx) || isNaN(z.vy)) && (z.vx = z.vy = 0);
    }
  }
  function M(N) {
    return N.initialize && N.initialize(e), N;
  }
  return x(), t = {
    tick: D,
    restart: function() {
      return g.restart(C), t;
    },
    stop: function() {
      return g.stop(), t;
    },
    nodes: function(N) {
      return arguments.length ? (e = N, x(), c.each(M), t) : e;
    },
    alpha: function(N) {
      return arguments.length ? (r = +N, t) : r;
    },
    alphaMin: function(N) {
      return arguments.length ? (n = +N, t) : n;
    },
    alphaDecay: function(N) {
      return arguments.length ? (i = +N, t) : +i;
    },
    alphaTarget: function(N) {
      return arguments.length ? (o = +N, t) : o;
    },
    velocityDecay: function(N) {
      return arguments.length ? (l = 1 - N, t) : 1 - l;
    },
    force: function(N, F) {
      return arguments.length > 1 ? (F == null ? c.remove(N) : c.set(N, M(F)), t) : c.get(N);
    },
    find: function(N, F, z) {
      var A = 0, u = e.length, a, s, h, E, f;
      for (z == null ? z = 1 / 0 : z *= z, A = 0; A < u; ++A)
        E = e[A], a = N - E.x, s = F - E.y, h = a * a + s * s, h < z && (f = E, z = h);
      return f;
    },
    on: function(N, F) {
      return arguments.length > 1 ? (y.on(N, F), t) : y.on(N);
    }
  };
}
function DSe() {
  var e, t, r, n = yn(-30), i, o = 1, l = 1 / 0, c = 0.81;
  function g(x) {
    var M, N = e.length, F = sM(e, OSe, TSe).visitAfter(C);
    for (r = x, M = 0; M < N; ++M) t = e[M], F.visit(D);
  }
  function y() {
    if (e) {
      var x, M = e.length, N;
      for (i = new Array(M), x = 0; x < M; ++x) N = e[x], i[N.index] = +n(N, x, e);
    }
  }
  function C(x) {
    var M = 0, N, F, z = 0, A, u, a;
    if (x.length) {
      for (A = u = a = 0; a < 4; ++a)
        (N = x[a]) && (F = Math.abs(N.value)) && (M += N.value, z += F, A += F * N.x, u += F * N.y);
      x.x = A / z, x.y = u / z;
    } else {
      N = x, N.x = N.data.x, N.y = N.data.y;
      do
        M += i[N.data.index];
      while (N = N.next);
    }
    x.value = M;
  }
  function D(x, M, N, F) {
    if (!x.value) return !0;
    var z = x.x - t.x, A = x.y - t.y, u = F - M, a = z * z + A * A;
    if (u * u / c < a)
      return a < l && (z === 0 && (z = Uo(), a += z * z), A === 0 && (A = Uo(), a += A * A), a < o && (a = Math.sqrt(o * a)), t.vx += z * x.value * r / a, t.vy += A * x.value * r / a), !0;
    if (x.length || a >= l) return;
    (x.data !== t || x.next) && (z === 0 && (z = Uo(), a += z * z), A === 0 && (A = Uo(), a += A * A), a < o && (a = Math.sqrt(o * a)));
    do
      x.data !== t && (u = i[x.data.index] * r / a, t.vx += z * u, t.vy += A * u);
    while (x = x.next);
  }
  return g.initialize = function(x) {
    e = x, y();
  }, g.strength = function(x) {
    return arguments.length ? (n = typeof x == "function" ? x : yn(+x), y(), g) : n;
  }, g.distanceMin = function(x) {
    return arguments.length ? (o = x * x, g) : Math.sqrt(o);
  }, g.distanceMax = function(x) {
    return arguments.length ? (l = x * x, g) : Math.sqrt(l);
  }, g.theta = function(x) {
    return arguments.length ? (c = x * x, g) : Math.sqrt(c);
  }, g;
}
function PSe(e) {
  var t = yn(0.1), r, n, i;
  typeof e != "function" && (e = yn(e == null ? 0 : +e));
  function o(c) {
    for (var g = 0, y = r.length, C; g < y; ++g)
      C = r[g], C.vx += (i[g] - C.x) * n[g] * c;
  }
  function l() {
    if (r) {
      var c, g = r.length;
      for (n = new Array(g), i = new Array(g), c = 0; c < g; ++c)
        n[c] = isNaN(i[c] = +e(r[c], c, r)) ? 0 : +t(r[c], c, r);
    }
  }
  return o.initialize = function(c) {
    r = c, l();
  }, o.strength = function(c) {
    return arguments.length ? (t = typeof c == "function" ? c : yn(+c), l(), o) : t;
  }, o.x = function(c) {
    return arguments.length ? (e = typeof c == "function" ? c : yn(+c), l(), o) : e;
  }, o;
}
function kSe(e) {
  var t = yn(0.1), r, n, i;
  typeof e != "function" && (e = yn(e == null ? 0 : +e));
  function o(c) {
    for (var g = 0, y = r.length, C; g < y; ++g)
      C = r[g], C.vy += (i[g] - C.y) * n[g] * c;
  }
  function l() {
    if (r) {
      var c, g = r.length;
      for (n = new Array(g), i = new Array(g), c = 0; c < g; ++c)
        n[c] = isNaN(i[c] = +e(r[c], c, r)) ? 0 : +t(r[c], c, r);
    }
  }
  return o.initialize = function(c) {
    r = c, l();
  }, o.strength = function(c) {
    return arguments.length ? (t = typeof c == "function" ? c : yn(+c), l(), o) : t;
  }, o.y = function(c) {
    return arguments.length ? (e = typeof c == "function" ? c : yn(+c), l(), o) : e;
  }, o;
}
var fB = {
  center: GEe,
  collide: pSe,
  nbody: DSe,
  link: mSe,
  x: PSe,
  y: kSe
}, vf = "forces", vD = [
  "alpha",
  "alphaMin",
  "alphaTarget",
  "velocityDecay",
  "forces"
], RSe = ["static", "iterations"], NQ = ["x", "y", "vx", "vy"];
function cM(e) {
  Ue.call(this, null, e);
}
cM.Definition = {
  type: "Force",
  metadata: { modifies: !0 },
  params: [
    { name: "static", type: "boolean", default: !1 },
    { name: "restart", type: "boolean", default: !1 },
    { name: "iterations", type: "number", default: 300 },
    { name: "alpha", type: "number", default: 1 },
    { name: "alphaMin", type: "number", default: 1e-3 },
    { name: "alphaTarget", type: "number", default: 0 },
    { name: "velocityDecay", type: "number", default: 0.4 },
    {
      name: "forces",
      type: "param",
      array: !0,
      params: [
        {
          key: { force: "center" },
          params: [
            { name: "x", type: "number", default: 0 },
            { name: "y", type: "number", default: 0 }
          ]
        },
        {
          key: { force: "collide" },
          params: [
            { name: "radius", type: "number", expr: !0 },
            { name: "strength", type: "number", default: 0.7 },
            { name: "iterations", type: "number", default: 1 }
          ]
        },
        {
          key: { force: "nbody" },
          params: [
            { name: "strength", type: "number", default: -30 },
            { name: "theta", type: "number", default: 0.9 },
            { name: "distanceMin", type: "number", default: 1 },
            { name: "distanceMax", type: "number" }
          ]
        },
        {
          key: { force: "link" },
          params: [
            { name: "links", type: "data" },
            { name: "id", type: "field" },
            { name: "distance", type: "number", default: 30, expr: !0 },
            { name: "strength", type: "number", expr: !0 },
            { name: "iterations", type: "number", default: 1 }
          ]
        },
        {
          key: { force: "x" },
          params: [
            { name: "strength", type: "number", default: 0.1 },
            { name: "x", type: "field" }
          ]
        },
        {
          key: { force: "y" },
          params: [
            { name: "strength", type: "number", default: 0.1 },
            { name: "y", type: "field" }
          ]
        }
      ]
    },
    {
      name: "as",
      type: "string",
      array: !0,
      modify: !1,
      default: NQ
    }
  ]
};
var IQ = Ke(cM, Ue);
IQ.transform = function(e, t) {
  var r = this.value, n = t.changed(t.ADD_REM), i = e.modified(vD), o = e.iterations || 300;
  if (r ? (n && (t.modifies("index"), r.nodes(t.source)), (i || t.changed(t.MOD)) && FQ(r, e, 0, t)) : (this.value = r = NSe(t.source, e), r.on("tick", MSe(t.dataflow, this)), e.static || (n = !0, r.tick()), t.modifies("index")), i || n || e.modified(RSe) || t.changed() && e.restart) {
    if (r.alpha(Math.max(r.alpha(), e.alpha || 1)).alphaDecay(1 - Math.pow(r.alphaMin(), 1 / o)), e.static)
      for (r.stop(); --o >= 0; ) r.tick();
    else if (r.stopped() && r.restart(), !n) return t.StopPropagation;
  }
  return this.finish(e, t);
};
IQ.finish = function(e, t) {
  for (var r = t.dataflow, n = this._argops, i = 0, o = n.length, l; i < o; ++i)
    if (l = n[i], !(l.name !== vf || l.op._argval.force !== "link")) {
      for (var c = l.op._argops, g = 0, y = c.length, C; g < y; ++g)
        if (c[g].name === "links" && (C = c[g].op.source)) {
          r.pulse(C, r.changeset().reflow());
          break;
        }
    }
  return t.reflow(e.modified()).modifies(NQ);
};
function MSe(e, t) {
  return function() {
    e.touch(t).run();
  };
}
function NSe(e, t) {
  var r = ASe(e), n = !1, i = r.stop, o = r.restart;
  return r.stopped = function() {
    return n;
  }, r.restart = function() {
    return n = !1, o();
  }, r.stop = function() {
    return n = !0, i();
  }, FQ(r, t, !0).on("end", function() {
    n = !0;
  });
}
function FQ(e, t, r, n) {
  var i = mt(t.forces), o, l, c, g;
  for (o = 0, l = vD.length; o < l; ++o)
    c = vD[o], c !== vf && t.modified(c) && e[c](t[c]);
  for (o = 0, l = i.length; o < l; ++o)
    g = vf + o, c = r || t.modified(vf, o) ? FSe(i[o]) : n && ISe(i[o], n) ? e.force(g) : null, c && e.force(g, c);
  for (l = e.numForces || 0; o < l; ++o)
    e.force(vf + o, null);
  return e.numForces = i.length, e;
}
function ISe(e, t) {
  var r, n;
  for (r in e)
    if (kt(n = e[r]) && t.modified(bn(n)))
      return 1;
  return 0;
}
function FSe(e) {
  var t, r;
  fB.hasOwnProperty(e.force) || We("Unrecognized force: " + e.force), t = fB[e.force]();
  for (r in e)
    kt(t[r]) && LSe(t[r], e[r], e);
  return t;
}
function LSe(e, t, r) {
  e(kt(t) ? function(n) {
    return t(n, r);
  } : t);
}
const jSe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  force: cM
}, Symbol.toStringTag, { value: "Module" }));
function gD(e, t, r) {
  var n = {};
  return e.each(function(i) {
    var o = i.data;
    r(o) && (n[t(o)] = i);
  }), e.lookup = n, e;
}
function USe(e, t) {
  return e.parent === t.parent ? 1 : 2;
}
function qSe(e) {
  return e.reduce(zSe, 0) / e.length;
}
function zSe(e, t) {
  return e + t.x;
}
function BSe(e) {
  return 1 + e.reduce(WSe, 0);
}
function WSe(e, t) {
  return Math.max(e, t.y);
}
function $Se(e) {
  for (var t; t = e.children; ) e = t[0];
  return e;
}
function VSe(e) {
  for (var t; t = e.children; ) e = t[t.length - 1];
  return e;
}
function HSe() {
  var e = USe, t = 1, r = 1, n = !1;
  function i(o) {
    var l, c = 0;
    o.eachAfter(function(x) {
      var M = x.children;
      M ? (x.x = qSe(M), x.y = BSe(M)) : (x.x = l ? c += e(x, l) : 0, x.y = 0, l = x);
    });
    var g = $Se(o), y = VSe(o), C = g.x - e(g, y) / 2, D = y.x + e(y, g) / 2;
    return o.eachAfter(n ? function(x) {
      x.x = (x.x - o.x) * t, x.y = (o.y - x.y) * r;
    } : function(x) {
      x.x = (x.x - C) / (D - C) * t, x.y = (1 - (o.y ? x.y / o.y : 1)) * r;
    });
  }
  return i.separation = function(o) {
    return arguments.length ? (e = o, i) : e;
  }, i.size = function(o) {
    return arguments.length ? (n = !1, t = +o[0], r = +o[1], i) : n ? null : [t, r];
  }, i.nodeSize = function(o) {
    return arguments.length ? (n = !0, t = +o[0], r = +o[1], i) : n ? [t, r] : null;
  }, i;
}
function YSe(e) {
  var t = 0, r = e.children, n = r && r.length;
  if (!n) t = 1;
  else for (; --n >= 0; ) t += r[n].value;
  e.value = t;
}
function GSe() {
  return this.eachAfter(YSe);
}
function KSe(e) {
  var t = this, r, n = [t], i, o, l;
  do
    for (r = n.reverse(), n = []; t = r.pop(); )
      if (e(t), i = t.children, i) for (o = 0, l = i.length; o < l; ++o)
        n.push(i[o]);
  while (n.length);
  return this;
}
function XSe(e) {
  for (var t = this, r = [t], n, i; t = r.pop(); )
    if (e(t), n = t.children, n) for (i = n.length - 1; i >= 0; --i)
      r.push(n[i]);
  return this;
}
function QSe(e) {
  for (var t = this, r = [t], n = [], i, o, l; t = r.pop(); )
    if (n.push(t), i = t.children, i) for (o = 0, l = i.length; o < l; ++o)
      r.push(i[o]);
  for (; t = n.pop(); )
    e(t);
  return this;
}
function ZSe(e) {
  return this.eachAfter(function(t) {
    for (var r = +e(t.data) || 0, n = t.children, i = n && n.length; --i >= 0; ) r += n[i].value;
    t.value = r;
  });
}
function JSe(e) {
  return this.eachBefore(function(t) {
    t.children && t.children.sort(e);
  });
}
function ewe(e) {
  for (var t = this, r = twe(t, e), n = [t]; t !== r; )
    t = t.parent, n.push(t);
  for (var i = n.length; e !== r; )
    n.splice(i, 0, e), e = e.parent;
  return n;
}
function twe(e, t) {
  if (e === t) return e;
  var r = e.ancestors(), n = t.ancestors(), i = null;
  for (e = r.pop(), t = n.pop(); e === t; )
    i = e, e = r.pop(), t = n.pop();
  return i;
}
function rwe() {
  for (var e = this, t = [e]; e = e.parent; )
    t.push(e);
  return t;
}
function nwe() {
  var e = [];
  return this.each(function(t) {
    e.push(t);
  }), e;
}
function iwe() {
  var e = [];
  return this.eachBefore(function(t) {
    t.children || e.push(t);
  }), e;
}
function awe() {
  var e = this, t = [];
  return e.each(function(r) {
    r !== e && t.push({ source: r.parent, target: r });
  }), t;
}
function fM(e, t) {
  var r = new _l(e), n = +e.value && (r.value = e.value), i, o = [r], l, c, g, y;
  for (t == null && (t = swe); i = o.pop(); )
    if (n && (i.value = +i.data.value), (c = t(i.data)) && (y = c.length))
      for (i.children = new Array(y), g = y - 1; g >= 0; --g)
        o.push(l = i.children[g] = new _l(c[g])), l.parent = i, l.depth = i.depth + 1;
  return r.eachBefore(LQ);
}
function owe() {
  return fM(this).eachBefore(uwe);
}
function swe(e) {
  return e.children;
}
function uwe(e) {
  e.data = e.data.data;
}
function LQ(e) {
  var t = 0;
  do
    e.height = t;
  while ((e = e.parent) && e.height < ++t);
}
function _l(e) {
  this.data = e, this.depth = this.height = 0, this.parent = null;
}
_l.prototype = fM.prototype = {
  constructor: _l,
  count: GSe,
  each: KSe,
  eachAfter: QSe,
  eachBefore: XSe,
  sum: ZSe,
  sort: JSe,
  path: ewe,
  ancestors: rwe,
  descendants: nwe,
  leaves: iwe,
  links: awe,
  copy: owe
};
var lwe = Array.prototype.slice;
function cwe(e) {
  for (var t = e.length, r, n; t; )
    n = Math.random() * t-- | 0, r = e[t], e[t] = e[n], e[n] = r;
  return e;
}
function fwe(e) {
  for (var t = 0, r = (e = cwe(lwe.call(e))).length, n = [], i, o; t < r; )
    i = e[t], o && jQ(o, i) ? ++t : (o = pwe(n = dwe(n, i)), t = 0);
  return o;
}
function dwe(e, t) {
  var r, n;
  if (xC(t, e)) return [t];
  for (r = 0; r < e.length; ++r)
    if (Ph(t, e[r]) && xC(gf(e[r], t), e))
      return [e[r], t];
  for (r = 0; r < e.length - 1; ++r)
    for (n = r + 1; n < e.length; ++n)
      if (Ph(gf(e[r], e[n]), t) && Ph(gf(e[r], t), e[n]) && Ph(gf(e[n], t), e[r]) && xC(UQ(e[r], e[n], t), e))
        return [e[r], e[n], t];
  throw new Error();
}
function Ph(e, t) {
  var r = e.r - t.r, n = t.x - e.x, i = t.y - e.y;
  return r < 0 || r * r < n * n + i * i;
}
function jQ(e, t) {
  var r = e.r - t.r + 1e-6, n = t.x - e.x, i = t.y - e.y;
  return r > 0 && r * r > n * n + i * i;
}
function xC(e, t) {
  for (var r = 0; r < t.length; ++r)
    if (!jQ(e, t[r]))
      return !1;
  return !0;
}
function pwe(e) {
  switch (e.length) {
    case 1:
      return hwe(e[0]);
    case 2:
      return gf(e[0], e[1]);
    case 3:
      return UQ(e[0], e[1], e[2]);
  }
}
function hwe(e) {
  return {
    x: e.x,
    y: e.y,
    r: e.r
  };
}
function gf(e, t) {
  var r = e.x, n = e.y, i = e.r, o = t.x, l = t.y, c = t.r, g = o - r, y = l - n, C = c - i, D = Math.sqrt(g * g + y * y);
  return {
    x: (r + o + g / D * C) / 2,
    y: (n + l + y / D * C) / 2,
    r: (D + i + c) / 2
  };
}
function UQ(e, t, r) {
  var n = e.x, i = e.y, o = e.r, l = t.x, c = t.y, g = t.r, y = r.x, C = r.y, D = r.r, x = n - l, M = n - y, N = i - c, F = i - C, z = g - o, A = D - o, u = n * n + i * i - o * o, a = u - l * l - c * c + g * g, s = u - y * y - C * C + D * D, h = M * N - x * F, E = (N * s - F * a) / (h * 2) - n, f = (F * z - N * A) / h, S = (M * a - x * s) / (h * 2) - i, _ = (x * A - M * z) / h, d = f * f + _ * _ - 1, p = 2 * (o + E * f + S * _), b = E * E + S * S - o * o, m = -(d ? (p + Math.sqrt(p * p - 4 * d * b)) / (2 * d) : b / p);
  return {
    x: n + E + f * m,
    y: i + S + _ * m,
    r: m
  };
}
function dB(e, t, r) {
  var n = e.x - t.x, i, o, l = e.y - t.y, c, g, y = n * n + l * l;
  y ? (o = t.r + r.r, o *= o, g = e.r + r.r, g *= g, o > g ? (i = (y + g - o) / (2 * y), c = Math.sqrt(Math.max(0, g / y - i * i)), r.x = e.x - i * n - c * l, r.y = e.y - i * l + c * n) : (i = (y + o - g) / (2 * y), c = Math.sqrt(Math.max(0, o / y - i * i)), r.x = t.x + i * n - c * l, r.y = t.y + i * l + c * n)) : (r.x = t.x + r.r, r.y = t.y);
}
function pB(e, t) {
  var r = e.r + t.r - 1e-6, n = t.x - e.x, i = t.y - e.y;
  return r > 0 && r * r > n * n + i * i;
}
function hB(e) {
  var t = e._, r = e.next._, n = t.r + r.r, i = (t.x * r.r + r.x * t.r) / n, o = (t.y * r.r + r.y * t.r) / n;
  return i * i + o * o;
}
function kh(e) {
  this._ = e, this.next = null, this.previous = null;
}
function mwe(e) {
  if (!(i = e.length)) return 0;
  var t, r, n, i, o, l, c, g, y, C, D;
  if (t = e[0], t.x = 0, t.y = 0, !(i > 1)) return t.r;
  if (r = e[1], t.x = -r.r, r.x = t.r, r.y = 0, !(i > 2)) return t.r + r.r;
  dB(r, t, n = e[2]), t = new kh(t), r = new kh(r), n = new kh(n), t.next = n.previous = r, r.next = t.previous = n, n.next = r.previous = t;
  e: for (c = 3; c < i; ++c) {
    dB(t._, r._, n = e[c]), n = new kh(n), g = r.next, y = t.previous, C = r._.r, D = t._.r;
    do
      if (C <= D) {
        if (pB(g._, n._)) {
          r = g, t.next = r, r.previous = t, --c;
          continue e;
        }
        C += g._.r, g = g.next;
      } else {
        if (pB(y._, n._)) {
          t = y, t.next = r, r.previous = t, --c;
          continue e;
        }
        D += y._.r, y = y.previous;
      }
    while (g !== y.next);
    for (n.previous = t, n.next = r, t.next = r.previous = r = n, o = hB(t); (n = n.next) !== r; )
      (l = hB(n)) < o && (t = n, o = l);
    r = t.next;
  }
  for (t = [r._], n = r; (n = n.next) !== r; ) t.push(n._);
  for (n = fwe(t), c = 0; c < i; ++c) t = e[c], t.x -= n.x, t.y -= n.y;
  return n.r;
}
function vwe(e) {
  return e == null ? null : Lg(e);
}
function Lg(e) {
  if (typeof e != "function") throw new Error();
  return e;
}
function Ts() {
  return 0;
}
function Wu(e) {
  return function() {
    return e;
  };
}
function gwe(e) {
  return Math.sqrt(e.value);
}
function ywe() {
  var e = null, t = 1, r = 1, n = Ts;
  function i(o) {
    return o.x = t / 2, o.y = r / 2, e ? o.eachBefore(mB(e)).eachAfter(AC(n, 0.5)).eachBefore(vB(1)) : o.eachBefore(mB(gwe)).eachAfter(AC(Ts, 1)).eachAfter(AC(n, o.r / Math.min(t, r))).eachBefore(vB(Math.min(t, r) / (2 * o.r))), o;
  }
  return i.radius = function(o) {
    return arguments.length ? (e = vwe(o), i) : e;
  }, i.size = function(o) {
    return arguments.length ? (t = +o[0], r = +o[1], i) : [t, r];
  }, i.padding = function(o) {
    return arguments.length ? (n = typeof o == "function" ? o : Wu(+o), i) : n;
  }, i;
}
function mB(e) {
  return function(t) {
    t.children || (t.r = Math.max(0, +e(t) || 0));
  };
}
function AC(e, t) {
  return function(r) {
    if (n = r.children) {
      var n, i, o = n.length, l = e(r) * t || 0, c;
      if (l) for (i = 0; i < o; ++i) n[i].r += l;
      if (c = mwe(n), l) for (i = 0; i < o; ++i) n[i].r -= l;
      r.r = c + l;
    }
  };
}
function vB(e) {
  return function(t) {
    var r = t.parent;
    t.r *= e, r && (t.x = r.x + e * t.x, t.y = r.y + e * t.y);
  };
}
function qQ(e) {
  e.x0 = Math.round(e.x0), e.y0 = Math.round(e.y0), e.x1 = Math.round(e.x1), e.y1 = Math.round(e.y1);
}
function Ld(e, t, r, n, i) {
  for (var o = e.children, l, c = -1, g = o.length, y = e.value && (n - t) / e.value; ++c < g; )
    l = o[c], l.y0 = r, l.y1 = i, l.x0 = t, l.x1 = t += l.value * y;
}
function bwe() {
  var e = 1, t = 1, r = 0, n = !1;
  function i(l) {
    var c = l.height + 1;
    return l.x0 = l.y0 = r, l.x1 = e, l.y1 = t / c, l.eachBefore(o(t, c)), n && l.eachBefore(qQ), l;
  }
  function o(l, c) {
    return function(g) {
      g.children && Ld(g, g.x0, l * (g.depth + 1) / c, g.x1, l * (g.depth + 2) / c);
      var y = g.x0, C = g.y0, D = g.x1 - r, x = g.y1 - r;
      D < y && (y = D = (y + D) / 2), x < C && (C = x = (C + x) / 2), g.x0 = y, g.y0 = C, g.x1 = D, g.y1 = x;
    };
  }
  return i.round = function(l) {
    return arguments.length ? (n = !!l, i) : n;
  }, i.size = function(l) {
    return arguments.length ? (e = +l[0], t = +l[1], i) : [e, t];
  }, i.padding = function(l) {
    return arguments.length ? (r = +l, i) : r;
  }, i;
}
var gB = "$", _we = { depth: -1 }, yB = {};
function Ewe(e) {
  return e.id;
}
function Swe(e) {
  return e.parentId;
}
function bB() {
  var e = Ewe, t = Swe;
  function r(n) {
    var i, o, l = n.length, c, g, y, C = new Array(l), D, x, M = {};
    for (o = 0; o < l; ++o)
      i = n[o], y = C[o] = new _l(i), (D = e(i, o, n)) != null && (D += "") && (x = gB + (y.id = D), M[x] = x in M ? yB : y);
    for (o = 0; o < l; ++o)
      if (y = C[o], D = t(n[o], o, n), D == null || !(D += "")) {
        if (c) throw new Error("multiple roots");
        c = y;
      } else {
        if (g = M[gB + D], !g) throw new Error("missing: " + D);
        if (g === yB) throw new Error("ambiguous: " + D);
        g.children ? g.children.push(y) : g.children = [y], y.parent = g;
      }
    if (!c) throw new Error("no root");
    if (c.parent = _we, c.eachBefore(function(N) {
      N.depth = N.parent.depth + 1, --l;
    }).eachBefore(LQ), c.parent = null, l > 0) throw new Error("cycle");
    return c;
  }
  return r.id = function(n) {
    return arguments.length ? (e = Lg(n), r) : e;
  }, r.parentId = function(n) {
    return arguments.length ? (t = Lg(n), r) : t;
  }, r;
}
function wwe(e, t) {
  return e.parent === t.parent ? 1 : 2;
}
function DC(e) {
  var t = e.children;
  return t ? t[0] : e.t;
}
function PC(e) {
  var t = e.children;
  return t ? t[t.length - 1] : e.t;
}
function Owe(e, t, r) {
  var n = r / (t.i - e.i);
  t.c -= n, t.s += r, e.c += n, t.z += r, t.m += r;
}
function Twe(e) {
  for (var t = 0, r = 0, n = e.children, i = n.length, o; --i >= 0; )
    o = n[i], o.z += t, o.m += t, t += o.s + (r += o.c);
}
function Cwe(e, t, r) {
  return e.a.parent === t.parent ? e.a : r;
}
function Bv(e, t) {
  this._ = e, this.parent = null, this.children = null, this.A = null, this.a = this, this.z = 0, this.m = 0, this.c = 0, this.s = 0, this.t = null, this.i = t;
}
Bv.prototype = Object.create(_l.prototype);
function xwe(e) {
  for (var t = new Bv(e, 0), r, n = [t], i, o, l, c; r = n.pop(); )
    if (o = r._.children)
      for (r.children = new Array(c = o.length), l = c - 1; l >= 0; --l)
        n.push(i = r.children[l] = new Bv(o[l], l)), i.parent = r;
  return (t.parent = new Bv(null, 0)).children = [t], t;
}
function Awe() {
  var e = wwe, t = 1, r = 1, n = null;
  function i(y) {
    var C = xwe(y);
    if (C.eachAfter(o), C.parent.m = -C.z, C.eachBefore(l), n) y.eachBefore(g);
    else {
      var D = y, x = y, M = y;
      y.eachBefore(function(u) {
        u.x < D.x && (D = u), u.x > x.x && (x = u), u.depth > M.depth && (M = u);
      });
      var N = D === x ? 1 : e(D, x) / 2, F = N - D.x, z = t / (x.x + N + F), A = r / (M.depth || 1);
      y.eachBefore(function(u) {
        u.x = (u.x + F) * z, u.y = u.depth * A;
      });
    }
    return y;
  }
  function o(y) {
    var C = y.children, D = y.parent.children, x = y.i ? D[y.i - 1] : null;
    if (C) {
      Twe(y);
      var M = (C[0].z + C[C.length - 1].z) / 2;
      x ? (y.z = x.z + e(y._, x._), y.m = y.z - M) : y.z = M;
    } else x && (y.z = x.z + e(y._, x._));
    y.parent.A = c(y, x, y.parent.A || D[0]);
  }
  function l(y) {
    y._.x = y.z + y.parent.m, y.m += y.parent.m;
  }
  function c(y, C, D) {
    if (C) {
      for (var x = y, M = y, N = C, F = x.parent.children[0], z = x.m, A = M.m, u = N.m, a = F.m, s; N = PC(N), x = DC(x), N && x; )
        F = DC(F), M = PC(M), M.a = y, s = N.z + u - x.z - z + e(N._, x._), s > 0 && (Owe(Cwe(N, y, D), y, s), z += s, A += s), u += N.m, z += x.m, a += F.m, A += M.m;
      N && !PC(M) && (M.t = N, M.m += u - A), x && !DC(F) && (F.t = x, F.m += z - a, D = y);
    }
    return D;
  }
  function g(y) {
    y.x *= t, y.y = y.depth * r;
  }
  return i.separation = function(y) {
    return arguments.length ? (e = y, i) : e;
  }, i.size = function(y) {
    return arguments.length ? (n = !1, t = +y[0], r = +y[1], i) : n ? null : [t, r];
  }, i.nodeSize = function(y) {
    return arguments.length ? (n = !0, t = +y[0], r = +y[1], i) : n ? [t, r] : null;
  }, i;
}
function Vb(e, t, r, n, i) {
  for (var o = e.children, l, c = -1, g = o.length, y = e.value && (i - r) / e.value; ++c < g; )
    l = o[c], l.x0 = t, l.x1 = n, l.y0 = r, l.y1 = r += l.value * y;
}
var zQ = (1 + Math.sqrt(5)) / 2;
function BQ(e, t, r, n, i, o) {
  for (var l = [], c = t.children, g, y, C = 0, D = 0, x = c.length, M, N, F = t.value, z, A, u, a, s, h, E; C < x; ) {
    M = i - r, N = o - n;
    do
      z = c[D++].value;
    while (!z && D < x);
    for (A = u = z, h = Math.max(N / M, M / N) / (F * e), E = z * z * h, s = Math.max(u / E, E / A); D < x; ++D) {
      if (z += y = c[D].value, y < A && (A = y), y > u && (u = y), E = z * z * h, a = Math.max(u / E, E / A), a > s) {
        z -= y;
        break;
      }
      s = a;
    }
    l.push(g = { value: z, dice: M < N, children: c.slice(C, D) }), g.dice ? Ld(g, r, n, i, F ? n += N * z / F : o) : Vb(g, r, n, F ? r += M * z / F : i, o), F -= z, C = D;
  }
  return l;
}
const WQ = function e(t) {
  function r(n, i, o, l, c) {
    BQ(t, n, i, o, l, c);
  }
  return r.ratio = function(n) {
    return e((n = +n) > 1 ? n : 1);
  }, r;
}(zQ);
function Dwe() {
  var e = WQ, t = !1, r = 1, n = 1, i = [0], o = Ts, l = Ts, c = Ts, g = Ts, y = Ts;
  function C(x) {
    return x.x0 = x.y0 = 0, x.x1 = r, x.y1 = n, x.eachBefore(D), i = [0], t && x.eachBefore(qQ), x;
  }
  function D(x) {
    var M = i[x.depth], N = x.x0 + M, F = x.y0 + M, z = x.x1 - M, A = x.y1 - M;
    z < N && (N = z = (N + z) / 2), A < F && (F = A = (F + A) / 2), x.x0 = N, x.y0 = F, x.x1 = z, x.y1 = A, x.children && (M = i[x.depth + 1] = o(x) / 2, N += y(x) - M, F += l(x) - M, z -= c(x) - M, A -= g(x) - M, z < N && (N = z = (N + z) / 2), A < F && (F = A = (F + A) / 2), e(x, N, F, z, A));
  }
  return C.round = function(x) {
    return arguments.length ? (t = !!x, C) : t;
  }, C.size = function(x) {
    return arguments.length ? (r = +x[0], n = +x[1], C) : [r, n];
  }, C.tile = function(x) {
    return arguments.length ? (e = Lg(x), C) : e;
  }, C.padding = function(x) {
    return arguments.length ? C.paddingInner(x).paddingOuter(x) : C.paddingInner();
  }, C.paddingInner = function(x) {
    return arguments.length ? (o = typeof x == "function" ? x : Wu(+x), C) : o;
  }, C.paddingOuter = function(x) {
    return arguments.length ? C.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x) : C.paddingTop();
  }, C.paddingTop = function(x) {
    return arguments.length ? (l = typeof x == "function" ? x : Wu(+x), C) : l;
  }, C.paddingRight = function(x) {
    return arguments.length ? (c = typeof x == "function" ? x : Wu(+x), C) : c;
  }, C.paddingBottom = function(x) {
    return arguments.length ? (g = typeof x == "function" ? x : Wu(+x), C) : g;
  }, C.paddingLeft = function(x) {
    return arguments.length ? (y = typeof x == "function" ? x : Wu(+x), C) : y;
  }, C;
}
function Pwe(e, t, r, n, i) {
  var o = e.children, l, c = o.length, g, y = new Array(c + 1);
  for (y[0] = g = l = 0; l < c; ++l)
    y[l + 1] = g += o[l].value;
  C(0, c, e.value, t, r, n, i);
  function C(D, x, M, N, F, z, A) {
    if (D >= x - 1) {
      var u = o[D];
      u.x0 = N, u.y0 = F, u.x1 = z, u.y1 = A;
      return;
    }
    for (var a = y[D], s = M / 2 + a, h = D + 1, E = x - 1; h < E; ) {
      var f = h + E >>> 1;
      y[f] < s ? h = f + 1 : E = f;
    }
    s - y[h - 1] < y[h] - s && D + 1 < h && --h;
    var S = y[h] - a, _ = M - S;
    if (z - N > A - F) {
      var d = (N * _ + z * S) / M;
      C(D, h, S, N, F, d, A), C(h, x, _, d, F, z, A);
    } else {
      var p = (F * _ + A * S) / M;
      C(D, h, S, N, F, z, p), C(h, x, _, N, p, z, A);
    }
  }
}
function kwe(e, t, r, n, i) {
  (e.depth & 1 ? Vb : Ld)(e, t, r, n, i);
}
const Rwe = function e(t) {
  function r(n, i, o, l, c) {
    if ((g = n._squarify) && g.ratio === t)
      for (var g, y, C, D, x = -1, M, N = g.length, F = n.value; ++x < N; ) {
        for (y = g[x], C = y.children, D = y.value = 0, M = C.length; D < M; ++D) y.value += C[D].value;
        y.dice ? Ld(y, i, o, l, o += (c - o) * y.value / F) : Vb(y, i, o, i += (l - i) * y.value / F, c), F -= y.value;
      }
    else
      n._squarify = g = BQ(t, n, i, o, l, c), g.ratio = t;
  }
  return r.ratio = function(n) {
    return e((n = +n) > 1 ? n : 1);
  }, r;
}(zQ);
function dM(e) {
  Ue.call(this, null, e);
}
dM.Definition = {
  type: "Nest",
  metadata: { treesource: !0, changes: !0 },
  params: [
    { name: "keys", type: "field", array: !0 },
    { name: "generate", type: "boolean" }
  ]
};
var Mwe = Ke(dM, Ue);
function Nwe(e) {
  return e.values;
}
Mwe.transform = function(e, t) {
  t.source || We("Nest transform requires an upstream data source.");
  var r = e.generate, n = e.modified(), i = t.clone(), o = this.value;
  return (!o || n || t.changed()) && (o && o.each(function(l) {
    l.children && ib(l.data) && i.rem.push(l.data);
  }), this.value = o = fM({
    values: mt(e.keys).reduce(function(l, c) {
      return l.key(c), l;
    }, Ibe()).entries(i.source)
  }, Nwe), r && o.each(function(l) {
    l.children && (l = gr(l.data), i.add.push(l), i.source.push(l));
  }), gD(o, st, st)), i.source.root = o, i;
};
function vo(e) {
  Ue.call(this, null, e);
}
var Iwe = Ke(vo, Ue);
Iwe.transform = function(e, t) {
  (!t.source || !t.source.root) && We(this.constructor.name + " transform requires a backing tree data source.");
  var r = this.layout(e.method), n = this.fields, i = t.source.root, o = e.as || n;
  e.field && i.sum(e.field), e.sort && i.sort(e.sort), Fwe(r, this.params, e), r.separation && r.separation(e.separation !== !1 ? jwe : _d);
  try {
    this.value = r(i);
  } catch (l) {
    We(l);
  }
  return i.each(function(l) {
    Lwe(l, n, o);
  }), t.reflow(e.modified()).modifies(o).modifies("leaf");
};
function Fwe(e, t, r) {
  for (var n, i = 0, o = t.length; i < o; ++i)
    n = t[i], n in r && e[n](r[n]);
}
function Lwe(e, t, r) {
  for (var n = e.data, i = 0, o = t.length - 1; i < o; ++i)
    n[r[i]] = e[t[i]];
  n[r[o]] = e.children ? e.children.length : 0;
}
function jwe(e, t) {
  return e.parent === t.parent ? 1 : 2;
}
var yD = ["x", "y", "r", "depth", "children"];
function pM(e) {
  vo.call(this, e);
}
pM.Definition = {
  type: "Pack",
  metadata: { tree: !0, modifies: !0 },
  params: [
    { name: "field", type: "field" },
    { name: "sort", type: "compare" },
    { name: "padding", type: "number", default: 0 },
    { name: "radius", type: "field", default: null },
    { name: "size", type: "number", array: !0, length: 2 },
    { name: "as", type: "string", array: !0, length: yD.length, default: yD }
  ]
};
var hM = Ke(pM, vo);
hM.layout = ywe;
hM.params = ["size", "padding"];
hM.fields = yD;
var bD = ["x0", "y0", "x1", "y1", "depth", "children"];
function mM(e) {
  vo.call(this, e);
}
mM.Definition = {
  type: "Partition",
  metadata: { tree: !0, modifies: !0 },
  params: [
    { name: "field", type: "field" },
    { name: "sort", type: "compare" },
    { name: "padding", type: "number", default: 0 },
    { name: "round", type: "boolean", default: !1 },
    { name: "size", type: "number", array: !0, length: 2 },
    { name: "as", type: "string", array: !0, length: bD.length, default: bD }
  ]
};
var vM = Ke(mM, vo);
vM.layout = bwe;
vM.params = ["size", "round", "padding"];
vM.fields = bD;
function gM(e) {
  Ue.call(this, null, e);
}
gM.Definition = {
  type: "Stratify",
  metadata: { treesource: !0 },
  params: [
    { name: "key", type: "field", required: !0 },
    { name: "parentKey", type: "field", required: !0 }
  ]
};
var Uwe = Ke(gM, Ue);
Uwe.transform = function(e, t) {
  t.source || We("Stratify transform requires an upstream data source.");
  var r = this.value, n = e.modified(), i = t.fork(t.ALL).materialize(t.SOURCE), o = !this.value || n || t.changed(t.ADD_REM) || t.modified(e.key.fields) || t.modified(e.parentKey.fields);
  return i.source = i.source.slice(), o && (i.source.length ? r = gD(
    bB().id(e.key).parentId(e.parentKey)(i.source),
    e.key,
    co
  ) : r = gD(bB()([{}]), e.key, e.key)), i.source.root = this.value = r, i;
};
var _B = {
  tidy: Awe,
  cluster: HSe
}, _D = ["x", "y", "depth", "children"];
function yM(e) {
  vo.call(this, e);
}
yM.Definition = {
  type: "Tree",
  metadata: { tree: !0, modifies: !0 },
  params: [
    { name: "field", type: "field" },
    { name: "sort", type: "compare" },
    { name: "method", type: "enum", default: "tidy", values: ["tidy", "cluster"] },
    { name: "size", type: "number", array: !0, length: 2 },
    { name: "nodeSize", type: "number", array: !0, length: 2 },
    { name: "separation", type: "boolean", default: !0 },
    { name: "as", type: "string", array: !0, length: _D.length, default: _D }
  ]
};
var bM = Ke(yM, vo);
bM.layout = function(e) {
  var t = e || "tidy";
  if (_B.hasOwnProperty(t)) return _B[t]();
  We("Unrecognized Tree layout method: " + t);
};
bM.params = ["size", "nodeSize"];
bM.fields = _D;
function _M(e) {
  Ue.call(this, [], e);
}
_M.Definition = {
  type: "TreeLinks",
  metadata: { tree: !0, generates: !0, changes: !0 },
  params: []
};
var qwe = Ke(_M, Ue);
qwe.transform = function(e, t) {
  var r = this.value, n = t.source && t.source.root, i = t.fork(t.NO_SOURCE), o = {};
  return n || We("TreeLinks transform requires a tree data source."), t.changed(t.ADD_REM) ? (i.rem = r, t.visit(t.SOURCE, function(l) {
    o[st(l)] = 1;
  }), n.each(function(l) {
    var c = l.data, g = l.parent && l.parent.data;
    g && o[st(c)] && o[st(g)] && i.add.push(gr({ source: g, target: c }));
  }), this.value = i.add) : t.changed(t.MOD) && (t.visit(t.MOD, function(l) {
    o[st(l)] = 1;
  }), r.forEach(function(l) {
    (o[st(l.source)] || o[st(l.target)]) && i.mod.push(l);
  })), i;
};
var EB = {
  binary: Pwe,
  dice: Ld,
  slice: Vb,
  slicedice: kwe,
  squarify: WQ,
  resquarify: Rwe
}, ED = ["x0", "y0", "x1", "y1", "depth", "children"];
function EM(e) {
  vo.call(this, e);
}
EM.Definition = {
  type: "Treemap",
  metadata: { tree: !0, modifies: !0 },
  params: [
    { name: "field", type: "field" },
    { name: "sort", type: "compare" },
    {
      name: "method",
      type: "enum",
      default: "squarify",
      values: ["squarify", "resquarify", "binary", "dice", "slice", "slicedice"]
    },
    { name: "padding", type: "number", default: 0 },
    { name: "paddingInner", type: "number", default: 0 },
    { name: "paddingOuter", type: "number", default: 0 },
    { name: "paddingTop", type: "number", default: 0 },
    { name: "paddingRight", type: "number", default: 0 },
    { name: "paddingBottom", type: "number", default: 0 },
    { name: "paddingLeft", type: "number", default: 0 },
    { name: "ratio", type: "number", default: 1.618033988749895 },
    { name: "round", type: "boolean", default: !1 },
    { name: "size", type: "number", array: !0, length: 2 },
    { name: "as", type: "string", array: !0, length: ED.length, default: ED }
  ]
};
var SM = Ke(EM, vo);
SM.layout = function() {
  var e = Dwe();
  return e.ratio = function(t) {
    var r = e.tile();
    r.ratio && e.tile(r.ratio(t));
  }, e.method = function(t) {
    EB.hasOwnProperty(t) ? e.tile(EB[t]) : We("Unrecognized Treemap layout method: " + t);
  }, e;
};
SM.params = [
  "method",
  "ratio",
  "size",
  "round",
  "padding",
  "paddingInner",
  "paddingOuter",
  "paddingTop",
  "paddingRight",
  "paddingBottom",
  "paddingLeft"
];
SM.fields = ED;
const zwe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  nest: dM,
  pack: pM,
  partition: mM,
  stratify: gM,
  tree: yM,
  treelinks: _M,
  treemap: EM
}, Symbol.toStringTag, { value: "Module" }));
function SB(e) {
  return function() {
    return e;
  };
}
function Bwe(e) {
  return e[0];
}
function Wwe(e) {
  return e[1];
}
function jg() {
  this._ = null;
}
function Hb(e) {
  e.U = // parent node
  e.C = // color - true for red, false for black
  e.L = // left node
  e.R = // right node
  e.P = // previous node
  e.N = null;
}
jg.prototype = {
  constructor: jg,
  insert: function(e, t) {
    var r, n, i;
    if (e) {
      if (t.P = e, t.N = e.N, e.N && (e.N.P = t), e.N = t, e.R) {
        for (e = e.R; e.L; ) e = e.L;
        e.L = t;
      } else
        e.R = t;
      r = e;
    } else this._ ? (e = wB(this._), t.P = null, t.N = e, e.P = e.L = t, r = e) : (t.P = t.N = null, this._ = t, r = null);
    for (t.L = t.R = null, t.U = r, t.C = !0, e = t; r && r.C; )
      n = r.U, r === n.L ? (i = n.R, i && i.C ? (r.C = i.C = !1, n.C = !0, e = n) : (e === r.R && (mc(this, r), e = r, r = e.U), r.C = !1, n.C = !0, vc(this, n))) : (i = n.L, i && i.C ? (r.C = i.C = !1, n.C = !0, e = n) : (e === r.L && (vc(this, r), e = r, r = e.U), r.C = !1, n.C = !0, mc(this, n))), r = e.U;
    this._.C = !1;
  },
  remove: function(e) {
    e.N && (e.N.P = e.P), e.P && (e.P.N = e.N), e.N = e.P = null;
    var t = e.U, r, n = e.L, i = e.R, o, l;
    if (n ? i ? o = wB(i) : o = n : o = i, t ? t.L === e ? t.L = o : t.R = o : this._ = o, n && i ? (l = o.C, o.C = e.C, o.L = n, n.U = o, o !== i ? (t = o.U, o.U = e.U, e = o.R, t.L = e, o.R = i, i.U = o) : (o.U = t, t = o, e = o.R)) : (l = e.C, e = o), e && (e.U = t), !l) {
      if (e && e.C) {
        e.C = !1;
        return;
      }
      do {
        if (e === this._) break;
        if (e === t.L) {
          if (r = t.R, r.C && (r.C = !1, t.C = !0, mc(this, t), r = t.R), r.L && r.L.C || r.R && r.R.C) {
            (!r.R || !r.R.C) && (r.L.C = !1, r.C = !0, vc(this, r), r = t.R), r.C = t.C, t.C = r.R.C = !1, mc(this, t), e = this._;
            break;
          }
        } else if (r = t.L, r.C && (r.C = !1, t.C = !0, vc(this, t), r = t.L), r.L && r.L.C || r.R && r.R.C) {
          (!r.L || !r.L.C) && (r.R.C = !1, r.C = !0, mc(this, r), r = t.L), r.C = t.C, t.C = r.L.C = !1, vc(this, t), e = this._;
          break;
        }
        r.C = !0, e = t, t = t.U;
      } while (!e.C);
      e && (e.C = !1);
    }
  }
};
function mc(e, t) {
  var r = t, n = t.R, i = r.U;
  i ? i.L === r ? i.L = n : i.R = n : e._ = n, n.U = i, r.U = n, r.R = n.L, r.R && (r.R.U = r), n.L = r;
}
function vc(e, t) {
  var r = t, n = t.L, i = r.U;
  i ? i.L === r ? i.L = n : i.R = n : e._ = n, n.U = i, r.U = n, r.L = n.R, r.L && (r.L.U = r), n.R = r;
}
function wB(e) {
  for (; e.L; ) e = e.L;
  return e;
}
function yf(e, t, r, n) {
  var i = [null, null], o = tn.push(i) - 1;
  return i.left = e, i.right = t, r && Ug(i, e, t, r), n && Ug(i, t, e, n), Kn[e.index].halfedges.push(o), Kn[t.index].halfedges.push(o), i;
}
function gc(e, t, r) {
  var n = [t, r];
  return n.left = e, n;
}
function Ug(e, t, r, n) {
  !e[0] && !e[1] ? (e[0] = n, e.left = t, e.right = r) : e.left === r ? e[1] = n : e[0] = n;
}
function $we(e, t, r, n, i) {
  var o = e[0], l = e[1], c = o[0], g = o[1], y = l[0], C = l[1], D = 0, x = 1, M = y - c, N = C - g, F;
  if (F = t - c, !(!M && F > 0)) {
    if (F /= M, M < 0) {
      if (F < D) return;
      F < x && (x = F);
    } else if (M > 0) {
      if (F > x) return;
      F > D && (D = F);
    }
    if (F = n - c, !(!M && F < 0)) {
      if (F /= M, M < 0) {
        if (F > x) return;
        F > D && (D = F);
      } else if (M > 0) {
        if (F < D) return;
        F < x && (x = F);
      }
      if (F = r - g, !(!N && F > 0)) {
        if (F /= N, N < 0) {
          if (F < D) return;
          F < x && (x = F);
        } else if (N > 0) {
          if (F > x) return;
          F > D && (D = F);
        }
        if (F = i - g, !(!N && F < 0)) {
          if (F /= N, N < 0) {
            if (F > x) return;
            F > D && (D = F);
          } else if (N > 0) {
            if (F < D) return;
            F < x && (x = F);
          }
          return !(D > 0) && !(x < 1) || (D > 0 && (e[0] = [c + D * M, g + D * N]), x < 1 && (e[1] = [c + x * M, g + x * N])), !0;
        }
      }
    }
  }
}
function Vwe(e, t, r, n, i) {
  var o = e[1];
  if (o) return !0;
  var l = e[0], c = e.left, g = e.right, y = c[0], C = c[1], D = g[0], x = g[1], M = (y + D) / 2, N = (C + x) / 2, F, z;
  if (x === C) {
    if (M < t || M >= n) return;
    if (y > D) {
      if (!l) l = [M, r];
      else if (l[1] >= i) return;
      o = [M, i];
    } else {
      if (!l) l = [M, i];
      else if (l[1] < r) return;
      o = [M, r];
    }
  } else if (F = (y - D) / (x - C), z = N - F * M, F < -1 || F > 1)
    if (y > D) {
      if (!l) l = [(r - z) / F, r];
      else if (l[1] >= i) return;
      o = [(i - z) / F, i];
    } else {
      if (!l) l = [(i - z) / F, i];
      else if (l[1] < r) return;
      o = [(r - z) / F, r];
    }
  else if (C < x) {
    if (!l) l = [t, F * t + z];
    else if (l[0] >= n) return;
    o = [n, F * n + z];
  } else {
    if (!l) l = [n, F * n + z];
    else if (l[0] < t) return;
    o = [t, F * t + z];
  }
  return e[0] = l, e[1] = o, !0;
}
function Hwe(e, t, r, n) {
  for (var i = tn.length, o; i--; )
    (!Vwe(o = tn[i], e, t, r, n) || !$we(o, e, t, r, n) || !(Math.abs(o[0][0] - o[1][0]) > Gt || Math.abs(o[0][1] - o[1][1]) > Gt)) && delete tn[i];
}
function Ywe(e) {
  return Kn[e.index] = {
    site: e,
    halfedges: []
  };
}
function Gwe(e, t) {
  var r = e.site, n = t.left, i = t.right;
  return r === i && (i = n, n = r), i ? Math.atan2(i[1] - n[1], i[0] - n[0]) : (r === n ? (n = t[1], i = t[0]) : (n = t[0], i = t[1]), Math.atan2(n[0] - i[0], i[1] - n[1]));
}
function $Q(e, t) {
  return t[+(t.left !== e.site)];
}
function Kwe(e, t) {
  return t[+(t.left === e.site)];
}
function Xwe() {
  for (var e = 0, t = Kn.length, r, n, i, o; e < t; ++e)
    if ((r = Kn[e]) && (o = (n = r.halfedges).length)) {
      var l = new Array(o), c = new Array(o);
      for (i = 0; i < o; ++i) l[i] = i, c[i] = Gwe(r, tn[n[i]]);
      for (l.sort(function(g, y) {
        return c[y] - c[g];
      }), i = 0; i < o; ++i) c[i] = n[l[i]];
      for (i = 0; i < o; ++i) n[i] = c[i];
    }
}
function Qwe(e, t, r, n) {
  var i = Kn.length, o, l, c, g, y, C, D, x, M, N, F, z, A = !0;
  for (o = 0; o < i; ++o)
    if (l = Kn[o]) {
      for (c = l.site, y = l.halfedges, g = y.length; g--; )
        tn[y[g]] || y.splice(g, 1);
      for (g = 0, C = y.length; g < C; )
        N = Kwe(l, tn[y[g]]), F = N[0], z = N[1], D = $Q(l, tn[y[++g % C]]), x = D[0], M = D[1], (Math.abs(F - x) > Gt || Math.abs(z - M) > Gt) && (y.splice(g, 0, tn.push(gc(
          c,
          N,
          Math.abs(F - e) < Gt && n - z > Gt ? [e, Math.abs(x - e) < Gt ? M : n] : Math.abs(z - n) < Gt && r - F > Gt ? [Math.abs(M - n) < Gt ? x : r, n] : Math.abs(F - r) < Gt && z - t > Gt ? [r, Math.abs(x - r) < Gt ? M : t] : Math.abs(z - t) < Gt && F - e > Gt ? [Math.abs(M - t) < Gt ? x : e, t] : null
        )) - 1), ++C);
      C && (A = !1);
    }
  if (A) {
    var u, a, s, h = 1 / 0;
    for (o = 0, A = null; o < i; ++o)
      (l = Kn[o]) && (c = l.site, u = c[0] - e, a = c[1] - t, s = u * u + a * a, s < h && (h = s, A = l));
    if (A) {
      var E = [e, t], f = [e, n], S = [r, n], _ = [r, t];
      A.halfedges.push(
        tn.push(gc(c = A.site, E, f)) - 1,
        tn.push(gc(c, f, S)) - 1,
        tn.push(gc(c, S, _)) - 1,
        tn.push(gc(c, _, E)) - 1
      );
    }
  }
  for (o = 0; o < i; ++o)
    (l = Kn[o]) && (l.halfedges.length || delete Kn[o]);
}
var VQ = [], wM;
function Zwe() {
  Hb(this), this.x = this.y = this.arc = this.site = this.cy = null;
}
function Gu(e) {
  var t = e.P, r = e.N;
  if (!(!t || !r)) {
    var n = t.site, i = e.site, o = r.site;
    if (n !== o) {
      var l = i[0], c = i[1], g = n[0] - l, y = n[1] - c, C = o[0] - l, D = o[1] - c, x = 2 * (g * D - y * C);
      if (!(x >= -nOe)) {
        var M = g * g + y * y, N = C * C + D * D, F = (D * M - y * N) / x, z = (g * N - C * M) / x, A = VQ.pop() || new Zwe();
        A.arc = e, A.site = i, A.x = F + l, A.y = (A.cy = z + c) + Math.sqrt(F * F + z * z), e.circle = A;
        for (var u = null, a = Zf._; a; )
          if (A.y < a.y || A.y === a.y && A.x <= a.x)
            if (a.L) a = a.L;
            else {
              u = a.P;
              break;
            }
          else if (a.R) a = a.R;
          else {
            u = a;
            break;
          }
        Zf.insert(u, A), u || (wM = A);
      }
    }
  }
}
function nl(e) {
  var t = e.circle;
  t && (t.P || (wM = t.N), Zf.remove(t), VQ.push(t), Hb(t), e.circle = null);
}
var HQ = [];
function Jwe() {
  Hb(this), this.edge = this.site = this.circle = null;
}
function OB(e) {
  var t = HQ.pop() || new Jwe();
  return t.site = e, t;
}
function kC(e) {
  nl(e), il.remove(e), HQ.push(e), Hb(e);
}
function eOe(e) {
  var t = e.circle, r = t.x, n = t.cy, i = [r, n], o = e.P, l = e.N, c = [e];
  kC(e);
  for (var g = o; g.circle && Math.abs(r - g.circle.x) < Gt && Math.abs(n - g.circle.cy) < Gt; )
    o = g.P, c.unshift(g), kC(g), g = o;
  c.unshift(g), nl(g);
  for (var y = l; y.circle && Math.abs(r - y.circle.x) < Gt && Math.abs(n - y.circle.cy) < Gt; )
    l = y.N, c.push(y), kC(y), y = l;
  c.push(y), nl(y);
  var C = c.length, D;
  for (D = 1; D < C; ++D)
    y = c[D], g = c[D - 1], Ug(y.edge, g.site, y.site, i);
  g = c[0], y = c[C - 1], y.edge = yf(g.site, y.site, null, i), Gu(g), Gu(y);
}
function tOe(e) {
  for (var t = e[0], r = e[1], n, i, o, l, c = il._; c; )
    if (o = YQ(c, r) - t, o > Gt) c = c.L;
    else if (l = t - rOe(c, r), l > Gt) {
      if (!c.R) {
        n = c;
        break;
      }
      c = c.R;
    } else {
      o > -Gt ? (n = c.P, i = c) : l > -Gt ? (n = c, i = c.N) : n = i = c;
      break;
    }
  Ywe(e);
  var g = OB(e);
  if (il.insert(n, g), !(!n && !i)) {
    if (n === i) {
      nl(n), i = OB(n.site), il.insert(g, i), g.edge = i.edge = yf(n.site, g.site), Gu(n), Gu(i);
      return;
    }
    if (!i) {
      g.edge = yf(n.site, g.site);
      return;
    }
    nl(n), nl(i);
    var y = n.site, C = y[0], D = y[1], x = e[0] - C, M = e[1] - D, N = i.site, F = N[0] - C, z = N[1] - D, A = 2 * (x * z - M * F), u = x * x + M * M, a = F * F + z * z, s = [(z * u - M * a) / A + C, (x * a - F * u) / A + D];
    Ug(i.edge, y, N, s), g.edge = yf(y, e, null, s), i.edge = yf(e, N, null, s), Gu(n), Gu(i);
  }
}
function YQ(e, t) {
  var r = e.site, n = r[0], i = r[1], o = i - t;
  if (!o) return n;
  var l = e.P;
  if (!l) return -1 / 0;
  r = l.site;
  var c = r[0], g = r[1], y = g - t;
  if (!y) return c;
  var C = c - n, D = 1 / o - 1 / y, x = C / y;
  return D ? (-x + Math.sqrt(x * x - 2 * D * (C * C / (-2 * y) - g + y / 2 + i - o / 2))) / D + n : (n + c) / 2;
}
function rOe(e, t) {
  var r = e.N;
  if (r) return YQ(r, t);
  var n = e.site;
  return n[1] === t ? n[0] : 1 / 0;
}
var Gt = 1e-6, nOe = 1e-12, il, Kn, Zf, tn;
function iOe(e, t, r) {
  return (e[0] - r[0]) * (t[1] - e[1]) - (e[0] - t[0]) * (r[1] - e[1]);
}
function aOe(e, t) {
  return t[1] - e[1] || t[0] - e[0];
}
function SD(e, t) {
  var r = e.sort(aOe).pop(), n, i, o;
  for (tn = [], Kn = new Array(e.length), il = new jg(), Zf = new jg(); ; )
    if (o = wM, r && (!o || r[1] < o.y || r[1] === o.y && r[0] < o.x))
      (r[0] !== n || r[1] !== i) && (tOe(r), n = r[0], i = r[1]), r = e.pop();
    else if (o)
      eOe(o.arc);
    else
      break;
  if (Xwe(), t) {
    var l = +t[0][0], c = +t[0][1], g = +t[1][0], y = +t[1][1];
    Hwe(l, c, g, y), Qwe(l, c, g, y);
  }
  this.edges = tn, this.cells = Kn, il = Zf = tn = Kn = null;
}
SD.prototype = {
  constructor: SD,
  polygons: function() {
    var e = this.edges;
    return this.cells.map(function(t) {
      var r = t.halfedges.map(function(n) {
        return $Q(t, e[n]);
      });
      return r.data = t.site.data, r;
    });
  },
  triangles: function() {
    var e = [], t = this.edges;
    return this.cells.forEach(function(r, n) {
      if (c = (o = r.halfedges).length)
        for (var i = r.site, o, l = -1, c, g, y = t[o[c - 1]], C = y.left === i ? y.right : y.left; ++l < c; )
          g = C, y = t[o[l]], C = y.left === i ? y.right : y.left, g && C && n < g.index && n < C.index && iOe(i, g, C) < 0 && e.push([i.data, g.data, C.data]);
    }), e;
  },
  links: function() {
    return this.edges.filter(function(e) {
      return e.right;
    }).map(function(e) {
      return {
        source: e.left.data,
        target: e.right.data
      };
    });
  },
  find: function(e, t, r) {
    for (var n = this, i, o = n._found || 0, l = n.cells.length, c; !(c = n.cells[o]); ) if (++o >= l) return null;
    var g = e - c.site[0], y = t - c.site[1], C = g * g + y * y;
    do
      c = n.cells[i = o], o = null, c.halfedges.forEach(function(D) {
        var x = n.edges[D], M = x.left;
        if (!((M === c.site || !M) && !(M = x.right))) {
          var N = e - M[0], F = t - M[1], z = N * N + F * F;
          z < C && (C = z, o = M.index);
        }
      });
    while (o !== null);
    return n._found = i, r == null || C <= r * r ? c.site : null;
  }
};
function oOe() {
  var e = Bwe, t = Wwe, r = null;
  function n(i) {
    return new SD(i.map(function(o, l) {
      var c = [Math.round(e(o, l, i) / Gt) * Gt, Math.round(t(o, l, i) / Gt) * Gt];
      return c.index = l, c.data = o, c;
    }), r);
  }
  return n.polygons = function(i) {
    return n(i).polygons();
  }, n.links = function(i) {
    return n(i).links();
  }, n.triangles = function(i) {
    return n(i).triangles();
  }, n.x = function(i) {
    return arguments.length ? (e = typeof i == "function" ? i : SB(+i), n) : e;
  }, n.y = function(i) {
    return arguments.length ? (t = typeof i == "function" ? i : SB(+i), n) : t;
  }, n.extent = function(i) {
    return arguments.length ? (r = i == null ? null : [[+i[0][0], +i[0][1]], [+i[1][0], +i[1][1]]], n) : r && [[r[0][0], r[0][1]], [r[1][0], r[1][1]]];
  }, n.size = function(i) {
    return arguments.length ? (r = i == null ? null : [[0, 0], [+i[0], +i[1]]], n) : r && [r[1][0] - r[0][0], r[1][1] - r[0][1]];
  }, n;
}
function OM(e) {
  Ue.call(this, null, e);
}
OM.Definition = {
  type: "Voronoi",
  metadata: { modifies: !0 },
  params: [
    { name: "x", type: "field", required: !0 },
    { name: "y", type: "field", required: !0 },
    { name: "size", type: "number", array: !0, length: 2 },
    {
      name: "extent",
      type: "array",
      array: !0,
      length: 2,
      default: [[-1e5, -1e5], [1e5, 1e5]],
      content: { type: "number", array: !0, length: 2 }
    },
    { name: "as", type: "string", default: "path" }
  ]
};
var sOe = Ke(OM, Ue), uOe = [[-1e5, -1e5], [1e5, 1e5]];
sOe.transform = function(e, t) {
  var r = e.as || "path", n = t.source, i, o, l, c;
  for (i = oOe().x(e.x).y(e.y), e.size ? i.size(e.size) : i.extent(e.extent || uOe), this.value = i = i(n), o = i.polygons(), l = 0, c = n.length; l < c; ++l)
    n[l][r] = o[l] ? "M" + o[l].join("L") + "Z" : null;
  return t.reflow(e.modified()).modifies(r);
};
const lOe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  voronoi: OM
}, Symbol.toStringTag, { value: "Module" }));
var RC = Math.PI / 180, bf = 64, Wv = 2048;
function cOe() {
  var e = [256, 256], t, r, n, i, o, l, c, g = GQ, y = [], C = Math.random, D = {};
  D.layout = function() {
    for (var N = x(WD()), F = vOe((e[0] >> 5) * e[1]), z = null, A = y.length, u = -1, a = [], s = y.map(function(E) {
      return {
        text: t(E),
        font: r(E),
        style: i(E),
        weight: o(E),
        rotate: l(E),
        size: ~~n(E),
        padding: c(E),
        xoff: 0,
        yoff: 0,
        x1: 0,
        y1: 0,
        x0: 0,
        y0: 0,
        hasText: !1,
        sprite: null,
        datum: E
      };
    }).sort(function(E, f) {
      return f.size - E.size;
    }); ++u < A; ) {
      var h = s[u];
      h.x = e[0] * (C() + 0.5) >> 1, h.y = e[1] * (C() + 0.5) >> 1, fOe(N, h, s, u), h.hasText && M(F, h, z) && (a.push(h), z ? pOe(z, h) : z = [{ x: h.x + h.x0, y: h.y + h.y0 }, { x: h.x + h.x1, y: h.y + h.y1 }], h.x -= e[0] >> 1, h.y -= e[1] >> 1);
    }
    return a;
  };
  function x(N) {
    N.width = N.height = 1;
    var F = Math.sqrt(N.getContext("2d").getImageData(0, 0, 1, 1).data.length >> 2);
    N.width = (bf << 5) / F, N.height = Wv / F;
    var z = N.getContext("2d");
    return z.fillStyle = z.strokeStyle = "red", z.textAlign = "center", { context: z, ratio: F };
  }
  function M(N, F, z) {
    for (var A = F.x, u = F.y, a = Math.sqrt(e[0] * e[0] + e[1] * e[1]), s = g(e), h = C() < 0.5 ? 1 : -1, E = -h, f, S, _; (f = s(E += h)) && (S = ~~f[0], _ = ~~f[1], !(Math.min(Math.abs(S), Math.abs(_)) >= a)); )
      if (F.x = A + S, F.y = u + _, !(F.x + F.x0 < 0 || F.y + F.y0 < 0 || F.x + F.x1 > e[0] || F.y + F.y1 > e[1]) && (!z || !dOe(F, N, e[0])) && (!z || hOe(F, z))) {
        for (var d = F.sprite, p = F.width >> 5, b = e[0] >> 5, m = F.x - (p << 4), v = m & 127, O = 32 - v, T = F.y1 - F.y0, w = (F.y + F.y0) * b + (m >> 5), P, I = 0; I < T; I++) {
          P = 0;
          for (var L = 0; L <= p; L++)
            N[w + L] |= P << O | (L < p ? (P = d[I * p + L]) >>> v : 0);
          w += b;
        }
        return F.sprite = null, !0;
      }
    return !1;
  }
  return D.words = function(N) {
    return arguments.length ? (y = N, D) : y;
  }, D.size = function(N) {
    return arguments.length ? (e = [+N[0], +N[1]], D) : e;
  }, D.font = function(N) {
    return arguments.length ? (r = fs(N), D) : r;
  }, D.fontStyle = function(N) {
    return arguments.length ? (i = fs(N), D) : i;
  }, D.fontWeight = function(N) {
    return arguments.length ? (o = fs(N), D) : o;
  }, D.rotate = function(N) {
    return arguments.length ? (l = fs(N), D) : l;
  }, D.text = function(N) {
    return arguments.length ? (t = fs(N), D) : t;
  }, D.spiral = function(N) {
    return arguments.length ? (g = gOe[N] || N, D) : g;
  }, D.fontSize = function(N) {
    return arguments.length ? (n = fs(N), D) : n;
  }, D.padding = function(N) {
    return arguments.length ? (c = fs(N), D) : c;
  }, D.random = function(N) {
    return arguments.length ? (C = N, D) : C;
  }, D;
}
function fOe(e, t, r, n) {
  if (!t.sprite) {
    var i = e.context, o = e.ratio;
    i.clearRect(0, 0, (bf << 5) / o, Wv / o);
    var l = 0, c = 0, g = 0, y = r.length, C, D, x, M, N;
    for (--n; ++n < y; ) {
      if (t = r[n], i.save(), i.font = t.style + " " + t.weight + " " + ~~((t.size + 1) / o) + "px " + t.font, C = i.measureText(t.text + "m").width * o, x = t.size << 1, t.rotate) {
        var F = Math.sin(t.rotate * RC), z = Math.cos(t.rotate * RC), A = C * z, u = C * F, a = x * z, s = x * F;
        C = Math.max(Math.abs(A + s), Math.abs(A - s)) + 31 >> 5 << 5, x = ~~Math.max(Math.abs(u + a), Math.abs(u - a));
      } else
        C = C + 31 >> 5 << 5;
      if (x > g && (g = x), l + C >= bf << 5 && (l = 0, c += g, g = 0), c + x >= Wv) break;
      i.translate((l + (C >> 1)) / o, (c + (x >> 1)) / o), t.rotate && i.rotate(t.rotate * RC), i.fillText(t.text, 0, 0), t.padding && (i.lineWidth = 2 * t.padding, i.strokeText(t.text, 0, 0)), i.restore(), t.width = C, t.height = x, t.xoff = l, t.yoff = c, t.x1 = C >> 1, t.y1 = x >> 1, t.x0 = -t.x1, t.y0 = -t.y1, t.hasText = !0, l += C;
    }
    for (var h = i.getImageData(0, 0, (bf << 5) / o, Wv / o).data, E = []; --n >= 0; )
      if (t = r[n], !!t.hasText) {
        for (C = t.width, D = C >> 5, x = t.y1 - t.y0, M = 0; M < x * D; M++) E[M] = 0;
        if (l = t.xoff, l == null) return;
        c = t.yoff;
        var f = 0, S = -1;
        for (N = 0; N < x; N++) {
          for (M = 0; M < C; M++) {
            var _ = D * N + (M >> 5), d = h[(c + N) * (bf << 5) + (l + M) << 2] ? 1 << 31 - M % 32 : 0;
            E[_] |= d, f |= d;
          }
          f ? S = N : (t.y0++, x--, N--, c++);
        }
        t.y1 = t.y0 + S, t.sprite = E.slice(0, (t.y1 - t.y0) * D);
      }
  }
}
function dOe(e, t, r) {
  r >>= 5;
  for (var n = e.sprite, i = e.width >> 5, o = e.x - (i << 4), l = o & 127, c = 32 - l, g = e.y1 - e.y0, y = (e.y + e.y0) * r + (o >> 5), C, D = 0; D < g; D++) {
    C = 0;
    for (var x = 0; x <= i; x++)
      if ((C << c | (x < i ? (C = n[D * i + x]) >>> l : 0)) & t[y + x]) return !0;
    y += r;
  }
  return !1;
}
function pOe(e, t) {
  var r = e[0], n = e[1];
  t.x + t.x0 < r.x && (r.x = t.x + t.x0), t.y + t.y0 < r.y && (r.y = t.y + t.y0), t.x + t.x1 > n.x && (n.x = t.x + t.x1), t.y + t.y1 > n.y && (n.y = t.y + t.y1);
}
function hOe(e, t) {
  return e.x + e.x1 > t[0].x && e.x + e.x0 < t[1].x && e.y + e.y1 > t[0].y && e.y + e.y0 < t[1].y;
}
function GQ(e) {
  var t = e[0] / e[1];
  return function(r) {
    return [t * (r *= 0.1) * Math.cos(r), r * Math.sin(r)];
  };
}
function mOe(e) {
  var t = 4, r = t * e[0] / e[1], n = 0, i = 0;
  return function(o) {
    var l = o < 0 ? -1 : 1;
    switch (Math.sqrt(1 + 4 * l * o) - l & 3) {
      case 0:
        n += r;
        break;
      case 1:
        i += t;
        break;
      case 2:
        n -= r;
        break;
      default:
        i -= t;
        break;
    }
    return [n, i];
  };
}
function vOe(e) {
  for (var t = [], r = -1; ++r < e; ) t[r] = 0;
  return t;
}
function fs(e) {
  return typeof e == "function" ? e : function() {
    return e;
  };
}
var gOe = {
  archimedean: GQ,
  rectangular: mOe
}, KQ = ["x", "y", "font", "fontSize", "fontStyle", "fontWeight", "angle"], yOe = ["text", "font", "rotate", "fontSize", "fontStyle", "fontWeight"];
function TM(e) {
  Ue.call(this, cOe(), e);
}
TM.Definition = {
  type: "Wordcloud",
  metadata: { modifies: !0 },
  params: [
    { name: "size", type: "number", array: !0, length: 2 },
    { name: "font", type: "string", expr: !0, default: "sans-serif" },
    { name: "fontStyle", type: "string", expr: !0, default: "normal" },
    { name: "fontWeight", type: "string", expr: !0, default: "normal" },
    { name: "fontSize", type: "number", expr: !0, default: 14 },
    { name: "fontSizeRange", type: "number", array: "nullable", default: [10, 50] },
    { name: "rotate", type: "number", expr: !0, default: 0 },
    { name: "text", type: "field" },
    { name: "spiral", type: "string", values: ["archimedean", "rectangular"] },
    { name: "padding", type: "number", expr: !0 },
    { name: "as", type: "string", array: !0, length: 7, default: KQ }
  ]
};
var bOe = Ke(TM, Ue);
bOe.transform = function(e, t) {
  function r(a) {
    var s = e[a];
    return kt(s) && t.modified(s.fields);
  }
  var n = e.modified();
  if (n || t.changed(t.ADD_REM) || yOe.some(r)) {
    var i = t.materialize(t.SOURCE).source, o = this.value, l = e.as || KQ, c = e.fontSize || 14, g;
    if (kt(c) ? g = e.fontSizeRange : c = Wi(c), g) {
      var y = c, C = qb("sqrt")().domain(_Oe(y, i)).range(g);
      c = function(a) {
        return C(y(a));
      };
    }
    i.forEach(function(a) {
      a[l[0]] = NaN, a[l[1]] = NaN, a[l[3]] = 0;
    });
    for (var D = o.words(i).text(e.text).size(e.size || [500, 500]).padding(e.padding || 1).spiral(e.spiral || "archimedean").rotate(e.rotate || 0).font(e.font || "sans-serif").fontStyle(e.fontStyle || "normal").fontWeight(e.fontWeight || "normal").fontSize(c).random(fy).layout(), x = o.size(), M = x[0] >> 1, N = x[1] >> 1, F = 0, z = D.length, A, u; F < z; ++F)
      A = D[F], u = A.datum, u[l[0]] = A.x + M, u[l[1]] = A.y + N, u[l[2]] = A.font, u[l[3]] = A.size, u[l[4]] = A.style, u[l[5]] = A.weight, u[l[6]] = A.rotate;
    return t.reflow(n).modifies(l);
  }
};
function _Oe(e, t) {
  for (var r = 1 / 0, n = -1 / 0, i = 0, o = t.length, l; i < o; ++i)
    l = e(t[i]), l < r && (r = l), l > n && (n = l);
  return [r, n];
}
const EOe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  wordcloud: TM
}, Symbol.toStringTag, { value: "Module" }));
function SOe(e) {
  return new Uint8Array(e);
}
function wOe(e) {
  return new Uint16Array(e);
}
function Af(e) {
  return new Uint32Array(e);
}
function OOe() {
  var e = 8, t = [], r = Af(0), n = Rh(0, e), i = Rh(0, e);
  return {
    data: function() {
      return t;
    },
    seen: function() {
      return r = TOe(r, t.length);
    },
    add: function(o) {
      for (var l = 0, c = t.length, g = o.length, y; l < g; ++l)
        y = o[l], y._index = c++, t.push(y);
    },
    remove: function(o, l) {
      var c = t.length, g = Array(c - o), y = t, C, D, x;
      for (D = 0; !l[D] && D < c; ++D)
        g[D] = t[D], y[D] = D;
      for (x = D; D < c; ++D)
        C = t[D], l[D] ? y[D] = -1 : (y[D] = x, n[x] = n[D], i[x] = i[D], g[x] = C, C._index = x++), n[D] = 0;
      return t = g, y;
    },
    size: function() {
      return t.length;
    },
    curr: function() {
      return n;
    },
    prev: function() {
      return i;
    },
    reset: function(o) {
      i[o] = n[o];
    },
    all: function() {
      return e < 257 ? 255 : e < 65537 ? 65535 : 4294967295;
    },
    set: function(o, l) {
      n[o] |= l;
    },
    clear: function(o, l) {
      n[o] &= ~l;
    },
    resize: function(o, l) {
      var c = n.length;
      (o > c || l > e) && (e = Math.max(l, e), n = Rh(o, e, n), i = Rh(o, e));
    }
  };
}
function TOe(e, t, r) {
  return e.length >= t ? e : (r = r || new e.constructor(t), r.set(e), r);
}
function Rh(e, t, r) {
  var n = (t < 257 ? SOe : t < 65537 ? wOe : Af)(e);
  return r && n.set(r), n;
}
function XQ(e, t, r) {
  var n = 1 << t;
  return {
    one: n,
    zero: ~n,
    range: r.slice(),
    bisect: e.bisect,
    index: e.index,
    size: e.size,
    onAdd: function(i, o) {
      var l = this, c = l.bisect(l.range, i.value), g = i.index, y = c[0], C = c[1], D = g.length, x;
      for (x = 0; x < y; ++x) o[g[x]] |= n;
      for (x = C; x < D; ++x) o[g[x]] |= n;
      return l;
    }
  };
}
function QQ() {
  var e = Af(0), t = [], r = 0;
  function n(c, g, y) {
    if (!g.length) return [];
    var C = r, D = g.length, x = Array(D), M = Af(D), N, F, z;
    for (z = 0; z < D; ++z)
      x[z] = c(g[z]), M[z] = z;
    if (x = COe(x, M), C)
      N = t, F = e, t = Array(C + D), e = Af(C + D), xOe(y, N, F, C, x, M, D, t, e);
    else {
      if (y > 0) for (z = 0; z < D; ++z)
        M[z] += y;
      t = x, e = M;
    }
    return r = C + D, { index: M, value: x };
  }
  function i(c, g) {
    var y = r, C, D, x;
    for (D = 0; !g[e[D]] && D < y; ++D) ;
    for (x = D; D < y; ++D)
      g[C = e[D]] || (e[x] = C, t[x] = t[D], ++x);
    r = y - c;
  }
  function o(c) {
    for (var g = 0, y = r; g < y; ++g)
      e[g] = c[e[g]];
  }
  function l(c, g) {
    var y;
    return g ? y = g.length : (g = t, y = r), [
      hme(g, c[0], 0, y),
      sg(g, c[1], 0, y)
    ];
  }
  return {
    insert: n,
    remove: i,
    bisect: l,
    reindex: o,
    index: function() {
      return e;
    },
    size: function() {
      return r;
    }
  };
}
function COe(e, t) {
  return e.sort.call(t, function(r, n) {
    var i = e[r], o = e[n];
    return i < o ? -1 : i > o ? 1 : 0;
  }), mme(e, t);
}
function xOe(e, t, r, n, i, o, l, c, g) {
  var y = 0, C = 0, D;
  for (D = 0; y < n && C < l; ++D)
    t[y] < i[C] ? (c[D] = t[y], g[D] = r[y++]) : (c[D] = i[C], g[D] = o[C++] + e);
  for (; y < n; ++y, ++D)
    c[D] = t[y], g[D] = r[y];
  for (; C < l; ++C, ++D)
    c[D] = i[C], g[D] = o[C] + e;
}
function CM(e) {
  Ue.call(this, OOe(), e), this._indices = null, this._dims = null;
}
CM.Definition = {
  type: "CrossFilter",
  metadata: {},
  params: [
    { name: "fields", type: "field", array: !0, required: !0 },
    {
      name: "query",
      type: "array",
      array: !0,
      required: !0,
      content: { type: "number", array: !0, length: 2 }
    }
  ]
};
var Qi = Ke(CM, Ue);
Qi.transform = function(e, t) {
  if (this._dims) {
    var r = e.modified("fields") || e.fields.some(function(n) {
      return t.modified(n.fields);
    });
    return r ? this.reinit(e, t) : this.eval(e, t);
  } else
    return this.init(e, t);
};
Qi.init = function(e, t) {
  for (var r = e.fields, n = e.query, i = this._indices = {}, o = this._dims = [], l = n.length, c = 0, g, y; c < l; ++c)
    g = r[c].fname, y = i[g] || (i[g] = QQ()), o.push(XQ(y, c, n[c]));
  return this.eval(e, t);
};
Qi.reinit = function(e, t) {
  var r = t.materialize().fork(), n = e.fields, i = e.query, o = this._indices, l = this._dims, c = this.value, g = c.curr(), y = c.prev(), C = c.all(), D = r.rem = r.add, x = r.mod, M = i.length, N = {}, F, z, A, u, a, s, h, E, f;
  if (y.set(g), t.rem.length && (a = this.remove(e, t, r)), t.add.length && c.add(t.add), t.mod.length)
    for (s = {}, u = t.mod, h = 0, E = u.length; h < E; ++h)
      s[u[h]._index] = 1;
  for (h = 0; h < M; ++h)
    f = n[h], (!l[h] || e.modified("fields", h) || t.modified(f.fields)) && (A = f.fname, (F = N[A]) || (o[A] = z = QQ(), N[A] = F = z.insert(f, t.source, 0)), l[h] = XQ(z, h, i[h]).onAdd(F, g));
  for (h = 0, E = c.data().length; h < E; ++h)
    a[h] || (y[h] !== g[h] ? D.push(h) : s[h] && g[h] !== C && x.push(h));
  return c.mask = (1 << M) - 1, r;
};
Qi.eval = function(e, t) {
  var r = t.materialize().fork(), n = this._dims.length, i = 0;
  return t.rem.length && (this.remove(e, t, r), i |= (1 << n) - 1), e.modified("query") && !e.modified("fields") && (i |= this.update(e, t, r)), t.add.length && (this.insert(e, t, r), i |= (1 << n) - 1), t.mod.length && (this.modify(t, r), i |= (1 << n) - 1), this.value.mask = i, r;
};
Qi.insert = function(e, t, r) {
  var n = t.add, i = this.value, o = this._dims, l = this._indices, c = e.fields, g = {}, y = r.add, C = i.size(), D = C + n.length, x = o.length, M, N, F;
  i.resize(D, x), i.add(n);
  var z = i.curr(), A = i.prev(), u = i.all();
  for (M = 0; M < x; ++M)
    N = c[M].fname, F = g[N] || (g[N] = l[N].insert(c[M], n, C)), o[M].onAdd(F, z);
  for (; C < D; ++C)
    A[C] = u, z[C] !== u && y.push(C);
};
Qi.modify = function(e, t) {
  var r = t.mod, n = this.value, i = n.curr(), o = n.all(), l = e.mod, c, g, y;
  for (c = 0, g = l.length; c < g; ++c)
    y = l[c]._index, i[y] !== o && r.push(y);
};
Qi.remove = function(e, t, r) {
  var n = this._indices, i = this.value, o = i.curr(), l = i.prev(), c = i.all(), g = {}, y = r.rem, C = t.rem, D, x, M, N;
  for (D = 0, x = C.length; D < x; ++D)
    M = C[D]._index, g[M] = 1, l[M] = N = o[M], o[M] = c, N !== c && y.push(M);
  for (M in n)
    n[M].remove(x, g);
  return this.reindex(t, x, g), g;
};
Qi.reindex = function(e, t, r) {
  var n = this._indices, i = this.value;
  e.runAfter(function() {
    var o = i.remove(t, r);
    for (var l in n) n[l].reindex(o);
  });
};
Qi.update = function(e, t, r) {
  var n = this._dims, i = e.query, o = t.stamp, l = n.length, c = 0, g, y;
  for (r.filters = 0, y = 0; y < l; ++y)
    e.modified("query", y) && (g = y, ++c);
  if (c === 1)
    c = n[g].one, this.incrementOne(n[g], i[g], r.add, r.rem);
  else
    for (y = 0, c = 0; y < l; ++y)
      e.modified("query", y) && (c |= n[y].one, this.incrementAll(n[y], i[y], o, r.add), r.rem = r.add);
  return c;
};
Qi.incrementAll = function(e, t, r, n) {
  var i = this.value, o = i.seen(), l = i.curr(), c = i.prev(), g = e.index(), y = e.bisect(e.range), C = e.bisect(t), D = C[0], x = C[1], M = y[0], N = y[1], F = e.one, z, A, u;
  if (D < M)
    for (z = D, A = Math.min(M, x); z < A; ++z)
      u = g[z], o[u] !== r && (c[u] = l[u], o[u] = r, n.push(u)), l[u] ^= F;
  else if (D > M)
    for (z = M, A = Math.min(D, N); z < A; ++z)
      u = g[z], o[u] !== r && (c[u] = l[u], o[u] = r, n.push(u)), l[u] ^= F;
  if (x > N)
    for (z = Math.max(D, N), A = x; z < A; ++z)
      u = g[z], o[u] !== r && (c[u] = l[u], o[u] = r, n.push(u)), l[u] ^= F;
  else if (x < N)
    for (z = Math.max(M, x), A = N; z < A; ++z)
      u = g[z], o[u] !== r && (c[u] = l[u], o[u] = r, n.push(u)), l[u] ^= F;
  e.range = t.slice();
};
Qi.incrementOne = function(e, t, r, n) {
  var i = this.value, o = i.curr(), l = e.index(), c = e.bisect(e.range), g = e.bisect(t), y = g[0], C = g[1], D = c[0], x = c[1], M = e.one, N, F, z;
  if (y < D)
    for (N = y, F = Math.min(D, C); N < F; ++N)
      z = l[N], o[z] ^= M, r.push(z);
  else if (y > D)
    for (N = D, F = Math.min(y, x); N < F; ++N)
      z = l[N], o[z] ^= M, n.push(z);
  if (C > x)
    for (N = Math.max(y, x), F = C; N < F; ++N)
      z = l[N], o[z] ^= M, r.push(z);
  else if (C < x)
    for (N = Math.max(D, C), F = x; N < F; ++N)
      z = l[N], o[z] ^= M, n.push(z);
  e.range = t.slice();
};
function xM(e) {
  Ue.call(this, null, e);
}
xM.Definition = {
  type: "ResolveFilter",
  metadata: {},
  params: [
    {
      name: "ignore",
      type: "number",
      required: !0,
      description: "A bit mask indicating which filters to ignore."
    },
    {
      name: "filter",
      type: "object",
      required: !0,
      description: "Per-tuple filter bitmaps from a CrossFilter transform."
    }
  ]
};
var AOe = Ke(xM, Ue);
AOe.transform = function(e, t) {
  var r = ~(e.ignore || 0), n = e.filter, i = n.mask;
  if (!(i & r)) return t.StopPropagation;
  var o = t.fork(t.ALL), l = n.data(), c = n.curr(), g = n.prev(), y = function(C) {
    return c[C] & r ? null : l[C];
  };
  return o.filter(o.MOD, y), i & i - 1 ? (o.filter(o.ADD, function(C) {
    var D = c[C] & r, x = !D && D ^ g[C] & r;
    return x ? l[C] : null;
  }), o.filter(o.REM, function(C) {
    var D = c[C] & r, x = D && !(D ^ (D ^ g[C] & r));
    return x ? l[C] : null;
  })) : (o.filter(o.ADD, y), o.filter(o.REM, function(C) {
    return (c[C] & r) === i ? l[C] : null;
  })), o.filter(o.SOURCE, function(C) {
    return y(C._index);
  });
};
const DOe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  crossfilter: CM,
  resolvefilter: xM
}, Symbol.toStringTag, { value: "Module" })), POe = "4.0.0";
var MC = "default";
function kOe(e) {
  var t = e._signals.cursor;
  t || (e._signals.cursor = t = e.add({ user: MC, item: null })), e.on(
    e.events("view", "mousemove"),
    t,
    function(r, n) {
      var i = t.value, o = i ? yr(i) ? i : i.user : MC, l = n.item && n.item.cursor || null;
      return i && o === i.user && l == i.item ? i : { user: o, item: l };
    }
  ), e.add(null, function(r) {
    var n = r.cursor, i = this.value;
    return yr(n) || (i = n.item, n = n.user), ROe(n && n !== MC ? n : i || n), i;
  }, { cursor: t });
}
function ROe(e) {
  typeof document < "u" && document.body && (document.body.style.cursor = e);
}
function Yb(e, t) {
  var r = e._runtime.data;
  return r.hasOwnProperty(t) || We("Unrecognized data set: " + t), r[t];
}
function MOe(e) {
  return Yb(this, e).values.value;
}
function AM(e, t) {
  WH(t) || We("Second argument to changes must be a changeset.");
  var r = Yb(this, e);
  return r.modified = !0, this.pulse(r.input, t);
}
function NOe(e, t) {
  return AM.call(this, e, Ll().insert(t));
}
function IOe(e, t) {
  return AM.call(this, e, Ll().remove(t));
}
function ZQ(e) {
  var t = e.padding();
  return Math.max(0, e._viewWidth + t.left + t.right);
}
function JQ(e) {
  var t = e.padding();
  return Math.max(0, e._viewHeight + t.top + t.bottom);
}
function Gb(e) {
  var t = e.padding(), r = e._origin;
  return [
    t.left + r[0],
    t.top + r[1]
  ];
}
function FOe(e) {
  var t = Gb(e), r = ZQ(e), n = JQ(e);
  e._renderer.background(e._background), e._renderer.resize(r, n, t), e._handler.origin(t), e._resizeListeners.forEach(function(i) {
    try {
      i(r, n);
    } catch (o) {
      e.error(o);
    }
  });
}
function LOe(e, t, r) {
  var n = e._renderer.canvas(), i, o, l;
  return n && (l = Gb(e), o = t.changedTouches ? t.changedTouches[0] : t, i = Ab(o, n), i[0] -= l[0], i[1] -= l[1]), t.dataflow = e, t.vega = jOe(e, r, i), t.item = r, t;
}
function jOe(e, t, r) {
  var n = t ? t.mark.marktype === "group" ? t : t.mark.group : null;
  function i(l) {
    var c = n, g;
    if (l) {
      for (g = t; g; g = g.mark.group)
        if (g.mark.name === l) {
          c = g;
          break;
        }
    }
    return c && c.mark && c.mark.interactive ? c : {};
  }
  function o(l) {
    if (!l) return r;
    yr(l) && (l = i(l));
    for (var c = r.slice(); l; )
      c[0] -= l.x || 0, c[1] -= l.y || 0, l = l.mark && l.mark.group;
    return c;
  }
  return {
    view: Wi(e),
    item: Wi(t || {}),
    group: i,
    xy: o,
    x: function(l) {
      return o(l)[0];
    },
    y: function(l) {
      return o(l)[1];
    }
  };
}
var TB = "view", UOe = "timer", qOe = "window", zOe = { trap: !1 };
function BOe(e) {
  e = Vt({}, e);
  var t = e.defaults;
  return t && (Et(t.prevent) && (t.prevent = jn(t.prevent)), Et(t.allow) && (t.allow = jn(t.allow))), e;
}
function WOe(e, t) {
  var r = e._eventConfig.defaults, n = r && r.prevent, i = r && r.allow;
  return n === !1 || i === !0 ? !1 : n === !0 || i === !1 ? !0 : n ? n[t] : i ? !i[t] : e.preventDefault();
}
function $Oe(e, t, r) {
  var n = this, i = new sb(r), o = function(y, C) {
    e === TB && WOe(n, t) && y.preventDefault();
    try {
      i.receive(LOe(n, y, C));
    } catch (D) {
      n.error(D);
    } finally {
      n.run();
    }
  }, l;
  if (e === UOe)
    n.timer(o, t);
  else if (e === TB)
    n.addEventListener(t, o, zOe);
  else if (e === qOe ? typeof window < "u" && (l = [window]) : typeof document < "u" && (l = document.querySelectorAll(e)), !l)
    n.warn("Can not resolve event source: " + e);
  else {
    for (var c = 0, g = l.length; c < g; ++c)
      l[c].addEventListener(t, o);
    n._eventListeners.push({
      type: t,
      sources: l,
      handler: o
    });
  }
  return i;
}
function CB(e) {
  return e.item;
}
function xB(e) {
  var t = e.item.mark.source;
  return t.source || t;
}
function AB(e) {
  return function(t, r) {
    return r.vega.view().changeset().encode(r.item, e);
  };
}
function VOe(e, t) {
  return e = [e || "hover"], t = [t || "update", e[0]], this.on(
    this.events("view", "mouseover", CB),
    xB,
    AB(e)
  ), this.on(
    this.events("view", "mouseout", CB),
    xB,
    AB(t)
  ), this;
}
function HOe() {
  var e = this._tooltip, t = this._timers, r = this._eventListeners, n, i, o;
  for (n = t.length; --n >= 0; )
    t[n].stop();
  for (n = r.length; --n >= 0; )
    for (o = r[n], i = o.sources.length; --i >= 0; )
      o.sources[i].removeEventListener(o.type, o.handler);
  return e && e.call(this, this._handler, null, null, null), this;
}
function gi(e, t, r) {
  var n = document.createElement(e);
  for (var i in t) n.setAttribute(i, t[i]);
  return r != null && (n.textContent = r), n;
}
var YOe = "vega-bind", GOe = "vega-bind-name", KOe = "vega-bind-radio", XOe = "vega-option-";
function QOe(e, t, r) {
  if (t) {
    var n = r.param, i = r.state;
    return i || (i = r.state = {
      elements: null,
      active: !1,
      set: null,
      update: function(o) {
        o !== e.signal(n.signal) && (i.source = !0, e.signal(n.signal, o).run());
      }
    }, n.debounce && (i.update = Zy(n.debounce, i.update))), ZOe(i, t, n, e.signal(n.signal)), i.active || (e.on(e._signals[n.signal], null, function() {
      i.source ? i.source = !1 : i.set(e.signal(n.signal));
    }), i.active = !0), i;
  }
}
function ZOe(e, t, r, n) {
  var i = gi("div", { class: YOe });
  i.appendChild(gi(
    "span",
    { class: GOe },
    r.name || r.signal
  )), t.appendChild(i);
  var o = JOe;
  switch (r.input) {
    case "checkbox":
      o = eTe;
      break;
    case "select":
      o = tTe;
      break;
    case "radio":
      o = rTe;
      break;
    case "range":
      o = nTe;
      break;
  }
  o(e, i, r, n);
}
function JOe(e, t, r, n) {
  var i = gi("input");
  for (var o in r)
    o !== "signal" && o !== "element" && i.setAttribute(o === "input" ? "type" : o, r[o]);
  i.setAttribute("name", r.signal), i.value = n, t.appendChild(i), i.addEventListener("input", function() {
    e.update(i.value);
  }), e.elements = [i], e.set = function(l) {
    i.value = l;
  };
}
function eTe(e, t, r, n) {
  var i = { type: "checkbox", name: r.signal };
  n && (i.checked = !0);
  var o = gi("input", i);
  t.appendChild(o), o.addEventListener("change", function() {
    e.update(o.checked);
  }), e.elements = [o], e.set = function(l) {
    o.checked = !!l || null;
  };
}
function tTe(e, t, r, n) {
  var i = gi("select", { name: r.signal });
  r.options.forEach(function(o) {
    var l = { value: o };
    qg(o, n) && (l.selected = !0), i.appendChild(gi("option", l, o + ""));
  }), t.appendChild(i), i.addEventListener("change", function() {
    e.update(r.options[i.selectedIndex]);
  }), e.elements = [i], e.set = function(o) {
    for (var l = 0, c = r.options.length; l < c; ++l)
      if (qg(r.options[l], o)) {
        i.selectedIndex = l;
        return;
      }
  };
}
function rTe(e, t, r, n) {
  var i = gi("span", { class: KOe });
  t.appendChild(i), e.elements = r.options.map(function(o) {
    var l = XOe + r.signal + "-" + o, c = {
      id: l,
      type: "radio",
      name: r.signal,
      value: o
    };
    qg(o, n) && (c.checked = !0);
    var g = gi("input", c);
    return g.addEventListener("change", function() {
      e.update(o);
    }), i.appendChild(g), i.appendChild(gi("label", { for: l }, o + "")), g;
  }), e.set = function(o) {
    for (var l = e.elements, c = 0, g = l.length; c < g; ++c)
      qg(l[c].value, o) && (l[c].checked = !0);
  };
}
function nTe(e, t, r, n) {
  n = n !== void 0 ? n : (+r.max + +r.min) / 2;
  var i = r.min || Math.min(0, +n) || 0, o = r.max || Math.max(100, +n) || 100, l = r.step || bme(i, o, 100), c = gi("input", {
    type: "range",
    name: r.signal,
    min: i,
    max: o,
    step: l
  });
  c.value = n;
  var g = gi("label", {}, +n);
  t.appendChild(c), t.appendChild(g);
  function y() {
    g.textContent = c.value, e.update(+c.value);
  }
  c.addEventListener("input", y), c.addEventListener("change", y), e.elements = [c], e.set = function(C) {
    c.value = C, g.textContent = C;
  };
}
function qg(e, t) {
  return e === t || e + "" == t + "";
}
function eZ(e, t, r, n, i) {
  return t = t || new n(e.loader()), t.initialize(r, ZQ(e), JQ(e), Gb(e), i).background(e._background);
}
function DM(e, t) {
  return t ? function() {
    try {
      t.apply(this, arguments);
    } catch (r) {
      e.error(r);
    }
  } : null;
}
function iTe(e, t, r, n) {
  var i = new n(e.loader(), DM(e, e.tooltip())).scene(e.scenegraph().root).initialize(r, Gb(e), e);
  return t && t.handlers().forEach(function(o) {
    i.on(o.type, o.handler);
  }), i;
}
function aTe(e, t) {
  var r = this, n = r._renderType, i = Pb(n), o, l;
  return e = r._el = e ? NC(r, e) : null, i || r.error("Unrecognized renderer type: " + n), o = i.handler || kd, l = e ? i.renderer : i.headless, r._renderer = l ? eZ(r, r._renderer, e, l) : null, r._handler = iTe(r, r._handler, e, o), r._redraw = !0, e && (t = t ? NC(r, t) : e.appendChild(gi("div", { class: "vega-bindings" })), r._bind.forEach(function(c) {
    c.param.element && (c.element = NC(r, c.param.element));
  }), r._bind.forEach(function(c) {
    QOe(r, c.element || t, c);
  })), r;
}
function NC(e, t) {
  if (typeof t == "string")
    if (typeof document < "u") {
      if (t = document.querySelector(t), !t)
        return e.error("Signal bind element not found: " + t), null;
    } else
      return e.error("DOM document instance not found."), null;
  if (t)
    try {
      t.innerHTML = "";
    } catch (r) {
      t = null, e.error(r);
    }
  return t;
}
function PM(e, t, r) {
  var n = Pb(t), i = n && n.headless;
  return i ? e.runAsync().then(function() {
    return eZ(e, null, null, i, r).renderAsync(e._scenegraph.root);
  }) : Promise.reject("Unrecognized renderer type: " + t);
}
function oTe(e, t) {
  return e !== Lo.Canvas && e !== Lo.SVG && e !== Lo.PNG ? Promise.reject("Unrecognized image type: " + e) : PM(this, e, t).then(function(r) {
    return e === Lo.SVG ? sTe(r.svg(), "image/svg+xml") : r.canvas().toDataURL("image/png");
  });
}
function sTe(e, t) {
  var r = new Blob([e], { type: t });
  return window.URL.createObjectURL(r);
}
function uTe(e) {
  return PM(this, Lo.Canvas, e).then(function(t) {
    return t.canvas();
  });
}
function lTe(e) {
  return PM(this, Lo.SVG, e).then(function(t) {
    return t.svg();
  });
}
function cTe(e, t) {
  return e = e || t.autosize, Rt(e) ? e : (e = e || "pad", { type: e });
}
function fTe(e, t) {
  return e = e || t.padding, Rt(e) ? {
    top: yc(e.top),
    bottom: yc(e.bottom),
    left: yc(e.left),
    right: yc(e.right)
  } : dTe(yc(e));
}
function yc(e) {
  return +e || 0;
}
function dTe(e) {
  return { top: e, bottom: e, left: e, right: e };
}
var pTe = "outer", hTe = ["value", "update", "init", "react", "bind"];
function DB(e, t) {
  We(e + ' for "outer" push: ' + at(t));
}
function tZ(e, t) {
  var r = e.name;
  if (e.push === pTe)
    t.signals[r] || DB("No prior signal definition", r), hTe.forEach(function(i) {
      e[i] !== void 0 && DB("Invalid property ", i);
    });
  else {
    var n = t.addSignal(r, e.value);
    e.react === !1 && (n.react = !1), e.bind && t.addBinding(r, e.bind);
  }
}
const mTe = "RawCode", vTe = "Literal", gTe = "Property", yTe = "Identifier", bTe = "ArrayExpression", _Te = "BinaryExpression", ETe = "CallExpression", STe = "ConditionalExpression", wTe = "LogicalExpression", OTe = "MemberExpression", TTe = "ObjectExpression", CTe = "UnaryExpression";
function Zi(e) {
  this.type = e;
}
Zi.prototype.visit = function(e) {
  let t, r, n;
  if (e(this)) return 1;
  for (t = xTe(this), r = 0, n = t.length; r < n; ++r)
    if (t[r].visit(e)) return 1;
};
function xTe(e) {
  switch (e.type) {
    case bTe:
      return e.elements;
    case _Te:
    case wTe:
      return [e.left, e.right];
    case ETe:
      return [e.callee].concat(e.arguments);
    case STe:
      return [e.test, e.consequent, e.alternate];
    case OTe:
      return [e.object, e.property];
    case TTe:
      return e.properties;
    case gTe:
      return [e.key, e.value];
    case CTe:
      return [e.argument];
    case yTe:
    case vTe:
    case mTe:
    default:
      return [];
  }
}
var Ia, rt, Fe, on, Wt, Kb = 1, jd = 2, qs = 3, ts = 4, Xb = 5, au = 6, In = 7, Ud = 8, ATe = 9;
Ia = {};
Ia[Kb] = "Boolean";
Ia[jd] = "<end>";
Ia[qs] = "Identifier";
Ia[ts] = "Keyword";
Ia[Xb] = "Null";
Ia[au] = "Numeric";
Ia[In] = "Punctuator";
Ia[Ud] = "String";
Ia[ATe] = "RegularExpression";
var DTe = "ArrayExpression", PTe = "BinaryExpression", kTe = "CallExpression", RTe = "ConditionalExpression", rZ = "Identifier", MTe = "Literal", NTe = "LogicalExpression", ITe = "MemberExpression", FTe = "ObjectExpression", LTe = "Property", jTe = "UnaryExpression", Vr = "Unexpected token %0", UTe = "Unexpected number", qTe = "Unexpected string", zTe = "Unexpected identifier", BTe = "Unexpected reserved word", WTe = "Unexpected end of input", wD = "Invalid regular expression", IC = "Invalid regular expression: missing /", nZ = "Octal literals are not allowed in strict mode.", $Te = "Duplicate data property in object literal not allowed in strict mode", rn = "ILLEGAL", Jf = "Disabled.", VTe = new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"), HTe = new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");
function Qb(e, t) {
  if (!e)
    throw new Error("ASSERT: " + t);
}
function Va(e) {
  return e >= 48 && e <= 57;
}
function kM(e) {
  return "0123456789abcdefABCDEF".indexOf(e) >= 0;
}
function Df(e) {
  return "01234567".indexOf(e) >= 0;
}
function YTe(e) {
  return e === 32 || e === 9 || e === 11 || e === 12 || e === 160 || e >= 5760 && [5760, 6158, 8192, 8193, 8194, 8195, 8196, 8197, 8198, 8199, 8200, 8201, 8202, 8239, 8287, 12288, 65279].indexOf(e) >= 0;
}
function ed(e) {
  return e === 10 || e === 13 || e === 8232 || e === 8233;
}
function qd(e) {
  return e === 36 || e === 95 || // $ (dollar) and _ (underscore)
  e >= 65 && e <= 90 || // A..Z
  e >= 97 && e <= 122 || // a..z
  e === 92 || // \ (backslash)
  e >= 128 && VTe.test(String.fromCharCode(e));
}
function zg(e) {
  return e === 36 || e === 95 || // $ (dollar) and _ (underscore)
  e >= 65 && e <= 90 || // A..Z
  e >= 97 && e <= 122 || // a..z
  e >= 48 && e <= 57 || // 0..9
  e === 92 || // \ (backslash)
  e >= 128 && HTe.test(String.fromCharCode(e));
}
var GTe = {
  if: 1,
  in: 1,
  do: 1,
  var: 1,
  for: 1,
  new: 1,
  try: 1,
  let: 1,
  this: 1,
  else: 1,
  case: 1,
  void: 1,
  with: 1,
  enum: 1,
  while: 1,
  break: 1,
  catch: 1,
  throw: 1,
  const: 1,
  yield: 1,
  class: 1,
  super: 1,
  return: 1,
  typeof: 1,
  delete: 1,
  switch: 1,
  export: 1,
  import: 1,
  public: 1,
  static: 1,
  default: 1,
  finally: 1,
  extends: 1,
  package: 1,
  private: 1,
  function: 1,
  continue: 1,
  debugger: 1,
  interface: 1,
  protected: 1,
  instanceof: 1,
  implements: 1
};
function iZ() {
  for (var e; Fe < on && (e = rt.charCodeAt(Fe), YTe(e) || ed(e)); )
    ++Fe;
}
function OD(e) {
  var t, r, n, i = 0;
  for (r = e === "u" ? 4 : 2, t = 0; t < r; ++t)
    Fe < on && kM(rt[Fe]) ? (n = rt[Fe++], i = i * 16 + "0123456789abcdef".indexOf(n.toLowerCase())) : Lt({}, Vr, rn);
  return String.fromCharCode(i);
}
function KTe() {
  var e, t, r, n;
  for (e = rt[Fe], t = 0, e === "}" && Lt({}, Vr, rn); Fe < on && (e = rt[Fe++], !!kM(e)); )
    t = t * 16 + "0123456789abcdef".indexOf(e.toLowerCase());
  return (t > 1114111 || e !== "}") && Lt({}, Vr, rn), t <= 65535 ? String.fromCharCode(t) : (r = (t - 65536 >> 10) + 55296, n = (t - 65536 & 1023) + 56320, String.fromCharCode(r, n));
}
function aZ() {
  var e, t;
  for (e = rt.charCodeAt(Fe++), t = String.fromCharCode(e), e === 92 && (rt.charCodeAt(Fe) !== 117 && Lt({}, Vr, rn), ++Fe, e = OD("u"), (!e || e === "\\" || !qd(e.charCodeAt(0))) && Lt({}, Vr, rn), t = e); Fe < on && (e = rt.charCodeAt(Fe), !!zg(e)); )
    ++Fe, t += String.fromCharCode(e), e === 92 && (t = t.substr(0, t.length - 1), rt.charCodeAt(Fe) !== 117 && Lt({}, Vr, rn), ++Fe, e = OD("u"), (!e || e === "\\" || !zg(e.charCodeAt(0))) && Lt({}, Vr, rn), t += e);
  return t;
}
function XTe() {
  var e, t;
  for (e = Fe++; Fe < on; ) {
    if (t = rt.charCodeAt(Fe), t === 92)
      return Fe = e, aZ();
    if (zg(t))
      ++Fe;
    else
      break;
  }
  return rt.slice(e, Fe);
}
function QTe() {
  var e, t, r;
  return e = Fe, t = rt.charCodeAt(Fe) === 92 ? aZ() : XTe(), t.length === 1 ? r = qs : GTe.hasOwnProperty(t) ? r = ts : t === "null" ? r = Xb : t === "true" || t === "false" ? r = Kb : r = qs, {
    type: r,
    value: t,
    start: e,
    end: Fe
  };
}
function FC() {
  var e = Fe, t = rt.charCodeAt(Fe), r, n = rt[Fe], i, o, l;
  switch (t) {
    case 46:
    case 40:
    case 41:
    case 59:
    case 44:
    case 123:
    case 125:
    case 91:
    case 93:
    case 58:
    case 63:
    case 126:
      return ++Fe, {
        type: In,
        value: String.fromCharCode(t),
        start: e,
        end: Fe
      };
    default:
      if (r = rt.charCodeAt(Fe + 1), r === 61)
        switch (t) {
          case 43:
          case 45:
          case 47:
          case 60:
          case 62:
          case 94:
          case 124:
          case 37:
          case 38:
          case 42:
            return Fe += 2, {
              type: In,
              value: String.fromCharCode(t) + String.fromCharCode(r),
              start: e,
              end: Fe
            };
          case 33:
          case 61:
            return Fe += 2, rt.charCodeAt(Fe) === 61 && ++Fe, {
              type: In,
              value: rt.slice(e, Fe),
              start: e,
              end: Fe
            };
        }
  }
  if (l = rt.substr(Fe, 4), l === ">>>=")
    return Fe += 4, {
      type: In,
      value: l,
      start: e,
      end: Fe
    };
  if (o = l.substr(0, 3), o === ">>>" || o === "<<=" || o === ">>=")
    return Fe += 3, {
      type: In,
      value: o,
      start: e,
      end: Fe
    };
  if (i = o.substr(0, 2), n === i[1] && "+-<>&|".indexOf(n) >= 0 || i === "=>")
    return Fe += 2, {
      type: In,
      value: i,
      start: e,
      end: Fe
    };
  if ("<>=!+-*%&|^/".indexOf(n) >= 0)
    return ++Fe, {
      type: In,
      value: n,
      start: e,
      end: Fe
    };
  Lt({}, Vr, rn);
}
function ZTe(e) {
  for (var t = ""; Fe < on && kM(rt[Fe]); )
    t += rt[Fe++];
  return t.length === 0 && Lt({}, Vr, rn), qd(rt.charCodeAt(Fe)) && Lt({}, Vr, rn), {
    type: au,
    value: parseInt("0x" + t, 16),
    start: e,
    end: Fe
  };
}
function JTe(e) {
  for (var t = "0" + rt[Fe++]; Fe < on && Df(rt[Fe]); )
    t += rt[Fe++];
  return (qd(rt.charCodeAt(Fe)) || Va(rt.charCodeAt(Fe))) && Lt({}, Vr, rn), {
    type: au,
    value: parseInt(t, 8),
    octal: !0,
    start: e,
    end: Fe
  };
}
function PB() {
  var e, t, r;
  if (r = rt[Fe], Qb(
    Va(r.charCodeAt(0)) || r === ".",
    "Numeric literal must start with a decimal digit or a decimal point"
  ), t = Fe, e = "", r !== ".") {
    if (e = rt[Fe++], r = rt[Fe], e === "0") {
      if (r === "x" || r === "X")
        return ++Fe, ZTe(t);
      if (Df(r))
        return JTe(t);
      r && Va(r.charCodeAt(0)) && Lt({}, Vr, rn);
    }
    for (; Va(rt.charCodeAt(Fe)); )
      e += rt[Fe++];
    r = rt[Fe];
  }
  if (r === ".") {
    for (e += rt[Fe++]; Va(rt.charCodeAt(Fe)); )
      e += rt[Fe++];
    r = rt[Fe];
  }
  if (r === "e" || r === "E")
    if (e += rt[Fe++], r = rt[Fe], (r === "+" || r === "-") && (e += rt[Fe++]), Va(rt.charCodeAt(Fe)))
      for (; Va(rt.charCodeAt(Fe)); )
        e += rt[Fe++];
    else
      Lt({}, Vr, rn);
  return qd(rt.charCodeAt(Fe)) && Lt({}, Vr, rn), {
    type: au,
    value: parseFloat(e),
    start: t,
    end: Fe
  };
}
function eCe() {
  var e = "", t, r, n, i, o = !1;
  for (t = rt[Fe], Qb(
    t === "'" || t === '"',
    "String literal must starts with a quote"
  ), r = Fe, ++Fe; Fe < on; )
    if (n = rt[Fe++], n === t) {
      t = "";
      break;
    } else if (n === "\\")
      if (n = rt[Fe++], !n || !ed(n.charCodeAt(0)))
        switch (n) {
          case "u":
          case "x":
            rt[Fe] === "{" ? (++Fe, e += KTe()) : e += OD(n);
            break;
          case "n":
            e += `
`;
            break;
          case "r":
            e += "\r";
            break;
          case "t":
            e += "	";
            break;
          case "b":
            e += "\b";
            break;
          case "f":
            e += "\f";
            break;
          case "v":
            e += "\v";
            break;
          default:
            Df(n) ? (i = "01234567".indexOf(n), i !== 0 && (o = !0), Fe < on && Df(rt[Fe]) && (o = !0, i = i * 8 + "01234567".indexOf(rt[Fe++]), "0123".indexOf(n) >= 0 && Fe < on && Df(rt[Fe]) && (i = i * 8 + "01234567".indexOf(rt[Fe++]))), e += String.fromCharCode(i)) : e += n;
            break;
        }
      else
        n === "\r" && rt[Fe] === `
` && ++Fe;
    else {
      if (ed(n.charCodeAt(0)))
        break;
      e += n;
    }
  return t !== "" && Lt({}, Vr, rn), {
    type: Ud,
    value: e,
    octal: o,
    start: r,
    end: Fe
  };
}
function tCe(e, t) {
  var r = e;
  t.indexOf("u") >= 0 && (r = r.replace(/\\u\{([0-9a-fA-F]+)\}/g, (n, i) => {
    if (parseInt(i, 16) <= 1114111)
      return "x";
    Lt({}, wD);
  }).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, "x"));
  try {
    new RegExp(r);
  } catch {
    Lt({}, wD);
  }
  try {
    return new RegExp(e, t);
  } catch {
    return null;
  }
}
function rCe() {
  var e, t, r, n, i;
  for (e = rt[Fe], Qb(e === "/", "Regular expression literal must start with a slash"), t = rt[Fe++], r = !1, n = !1; Fe < on; )
    if (e = rt[Fe++], t += e, e === "\\")
      e = rt[Fe++], ed(e.charCodeAt(0)) && Lt({}, IC), t += e;
    else if (ed(e.charCodeAt(0)))
      Lt({}, IC);
    else if (r)
      e === "]" && (r = !1);
    else if (e === "/") {
      n = !0;
      break;
    } else e === "[" && (r = !0);
  return n || Lt({}, IC), i = t.substr(1, t.length - 2), {
    value: i,
    literal: t
  };
}
function nCe() {
  var e, t, r;
  for (t = "", r = ""; Fe < on && (e = rt[Fe], !!zg(e.charCodeAt(0))); )
    ++Fe, e === "\\" && Fe < on ? Lt({}, Vr, rn) : (r += e, t += e);
  return r.search(/[^gimuy]/g) >= 0 && Lt({}, wD, r), {
    value: r,
    literal: t
  };
}
function iCe() {
  var e, t, r, n;
  return Wt = null, iZ(), e = Fe, t = rCe(), r = nCe(), n = tCe(t.value, r.value), {
    literal: t.literal + r.literal,
    value: n,
    regex: {
      pattern: t.value,
      flags: r.value
    },
    start: e,
    end: Fe
  };
}
function aCe(e) {
  return e.type === qs || e.type === ts || e.type === Kb || e.type === Xb;
}
function oZ() {
  var e;
  return iZ(), Fe >= on ? {
    type: jd,
    start: Fe,
    end: Fe
  } : (e = rt.charCodeAt(Fe), qd(e) ? QTe() : e === 40 || e === 41 || e === 59 ? FC() : e === 39 || e === 34 ? eCe() : e === 46 ? Va(rt.charCodeAt(Fe + 1)) ? PB() : FC() : Va(e) ? PB() : FC());
}
function Ln() {
  var e;
  return e = Wt, Fe = e.end, Wt = oZ(), Fe = e.end, e;
}
function sZ() {
  var e;
  e = Fe, Wt = oZ(), Fe = e;
}
function oCe(e) {
  var t = new Zi(DTe);
  return t.elements = e, t;
}
function kB(e, t, r) {
  var n = new Zi(e === "||" || e === "&&" ? NTe : PTe);
  return n.operator = e, n.left = t, n.right = r, n;
}
function sCe(e, t) {
  var r = new Zi(kTe);
  return r.callee = e, r.arguments = t, r;
}
function uCe(e, t, r) {
  var n = new Zi(RTe);
  return n.test = e, n.consequent = t, n.alternate = r, n;
}
function RM(e) {
  var t = new Zi(rZ);
  return t.name = e, t;
}
function _f(e) {
  var t = new Zi(MTe);
  return t.value = e.value, t.raw = rt.slice(e.start, e.end), e.regex && (t.raw === "//" && (t.raw = "/(?:)/"), t.regex = e.regex), t;
}
function RB(e, t, r) {
  var n = new Zi(ITe);
  return n.computed = e === "[", n.object = t, n.property = r, n.computed || (r.member = !0), n;
}
function lCe(e) {
  var t = new Zi(FTe);
  return t.properties = e, t;
}
function MB(e, t, r) {
  var n = new Zi(LTe);
  return n.key = t, n.value = r, n.kind = e, n;
}
function cCe(e, t) {
  var r = new Zi(jTe);
  return r.operator = e, r.argument = t, r.prefix = !0, r;
}
function Lt(e, t) {
  var r, n = Array.prototype.slice.call(arguments, 2), i = t.replace(
    /%(\d)/g,
    (o, l) => (Qb(l < n.length, "Message reference must be in range"), n[l])
  );
  throw r = new Error(i), r.index = Fe, r.description = i, r;
}
function Zb(e) {
  e.type === jd && Lt(e, WTe), e.type === au && Lt(e, UTe), e.type === Ud && Lt(e, qTe), e.type === qs && Lt(e, zTe), e.type === ts && Lt(e, BTe), Lt(e, Vr, e.value);
}
function sn(e) {
  var t = Ln();
  (t.type !== In || t.value !== e) && Zb(t);
}
function ar(e) {
  return Wt.type === In && Wt.value === e;
}
function LC(e) {
  return Wt.type === ts && Wt.value === e;
}
function fCe() {
  var e = [];
  for (Fe = Wt.start, sn("["); !ar("]"); )
    ar(",") ? (Ln(), e.push(null)) : (e.push(zs()), ar("]") || sn(","));
  return Ln(), oCe(e);
}
function NB() {
  var e;
  return Fe = Wt.start, e = Ln(), e.type === Ud || e.type === au ? (e.octal && Lt(e, nZ), _f(e)) : RM(e.value);
}
function dCe() {
  var e, t, r, n;
  if (Fe = Wt.start, e = Wt, e.type === qs)
    return r = NB(), sn(":"), n = zs(), MB("init", r, n);
  if (e.type === jd || e.type === In)
    Zb(e);
  else
    return t = NB(), sn(":"), n = zs(), MB("init", t, n);
}
function pCe() {
  var e = [], t, r, n, i = {}, o = String;
  for (Fe = Wt.start, sn("{"); !ar("}"); )
    t = dCe(), t.key.type === rZ ? r = t.key.name : r = o(t.key.value), n = "$" + r, Object.prototype.hasOwnProperty.call(i, n) ? Lt({}, $Te) : i[n] = !0, e.push(t), ar("}") || sn(",");
  return sn("}"), lCe(e);
}
function hCe() {
  var e;
  return sn("("), e = MM(), sn(")"), e;
}
var mCe = {
  if: 1
};
function vCe() {
  var e, t, r;
  if (ar("("))
    return hCe();
  if (ar("["))
    return fCe();
  if (ar("{"))
    return pCe();
  if (e = Wt.type, Fe = Wt.start, e === qs || mCe[Wt.value])
    r = RM(Ln().value);
  else if (e === Ud || e === au)
    Wt.octal && Lt(Wt, nZ), r = _f(Ln());
  else {
    if (e === ts)
      throw new Error(Jf);
    e === Kb ? (t = Ln(), t.value = t.value === "true", r = _f(t)) : e === Xb ? (t = Ln(), t.value = null, r = _f(t)) : ar("/") || ar("/=") ? (r = _f(iCe()), sZ()) : Zb(Ln());
  }
  return r;
}
function gCe() {
  var e = [];
  if (sn("("), !ar(")"))
    for (; Fe < on && (e.push(zs()), !ar(")")); )
      sn(",");
  return sn(")"), e;
}
function yCe() {
  var e;
  return Fe = Wt.start, e = Ln(), aCe(e) || Zb(e), RM(e.value);
}
function bCe() {
  return sn("."), yCe();
}
function _Ce() {
  var e;
  return sn("["), e = MM(), sn("]"), e;
}
function ECe() {
  var e, t, r;
  for (e = vCe(); ; )
    if (ar("."))
      r = bCe(), e = RB(".", e, r);
    else if (ar("("))
      t = gCe(), e = sCe(e, t);
    else if (ar("["))
      r = _Ce(), e = RB("[", e, r);
    else
      break;
  return e;
}
function IB() {
  var e = ECe();
  if (Wt.type === In && (ar("++") || ar("--")))
    throw new Error(Jf);
  return e;
}
function $v() {
  var e, t;
  if (Wt.type !== In && Wt.type !== ts)
    t = IB();
  else {
    if (ar("++") || ar("--"))
      throw new Error(Jf);
    if (ar("+") || ar("-") || ar("~") || ar("!"))
      e = Ln(), t = $v(), t = cCe(e.value, t);
    else {
      if (LC("delete") || LC("void") || LC("typeof"))
        throw new Error(Jf);
      t = IB();
    }
  }
  return t;
}
function FB(e) {
  var t = 0;
  if (e.type !== In && e.type !== ts)
    return 0;
  switch (e.value) {
    case "||":
      t = 1;
      break;
    case "&&":
      t = 2;
      break;
    case "|":
      t = 3;
      break;
    case "^":
      t = 4;
      break;
    case "&":
      t = 5;
      break;
    case "==":
    case "!=":
    case "===":
    case "!==":
      t = 6;
      break;
    case "<":
    case ">":
    case "<=":
    case ">=":
    case "instanceof":
    case "in":
      t = 7;
      break;
    case "<<":
    case ">>":
    case ">>>":
      t = 8;
      break;
    case "+":
    case "-":
      t = 9;
      break;
    case "*":
    case "/":
    case "%":
      t = 11;
      break;
  }
  return t;
}
function SCe() {
  var e, t, r, n, i, o, l, c, g, y;
  if (e = Wt, g = $v(), n = Wt, i = FB(n), i === 0)
    return g;
  for (n.prec = i, Ln(), t = [e, Wt], l = $v(), o = [g, n, l]; (i = FB(Wt)) > 0; ) {
    for (; o.length > 2 && i <= o[o.length - 2].prec; )
      l = o.pop(), c = o.pop().value, g = o.pop(), t.pop(), r = kB(c, g, l), o.push(r);
    n = Ln(), n.prec = i, o.push(n), t.push(Wt), r = $v(), o.push(r);
  }
  for (y = o.length - 1, r = o[y], t.pop(); y > 1; )
    t.pop(), r = kB(o[y - 1].value, o[y - 2], r), y -= 2;
  return r;
}
function zs() {
  var e, t, r;
  return e = SCe(), ar("?") && (Ln(), t = zs(), sn(":"), r = zs(), e = uCe(e, t, r)), e;
}
function MM() {
  var e = zs();
  if (ar(","))
    throw new Error(Jf);
  return e;
}
function wCe(e) {
  rt = e, Fe = 0, on = rt.length, Wt = null, sZ();
  var t = MM();
  if (Wt.type !== jd)
    throw new Error("Unexpect token after expression.");
  return t;
}
const uZ = {
  NaN: "NaN",
  E: "Math.E",
  LN2: "Math.LN2",
  LN10: "Math.LN10",
  LOG2E: "Math.LOG2E",
  LOG10E: "Math.LOG10E",
  PI: "Math.PI",
  SQRT1_2: "Math.SQRT1_2",
  SQRT2: "Math.SQRT2",
  MIN_VALUE: "Number.MIN_VALUE",
  MAX_VALUE: "Number.MAX_VALUE"
};
function Wl(e, t, r) {
  return e.fields = t || [], e.fname = r, e;
}
function OCe(e) {
  return e.length === 1 ? TCe(e[0]) : CCe(e);
}
const TCe = (e) => function(t) {
  return t[e];
}, CCe = (e) => {
  const t = e.length;
  return function(r) {
    for (let n = 0; n < t; ++n)
      r = r[e[n]];
    return r;
  };
};
function ji(e) {
  throw Error(e);
}
function xCe(e) {
  const t = [], r = e.length;
  let n = null, i = 0, o = "", l, c, g;
  e = e + "";
  function y() {
    t.push(o + e.substring(l, c)), o = "", l = c + 1;
  }
  for (l = c = 0; c < r; ++c)
    if (g = e[c], g === "\\")
      o += e.substring(l, c++), l = c;
    else if (g === n)
      y(), n = null, i = -1;
    else {
      if (n)
        continue;
      l === i && g === '"' || l === i && g === "'" ? (l = c + 1, n = g) : g === "." && !i ? c > l ? y() : l = c + 1 : g === "[" ? (c > l && y(), i = l = c + 1) : g === "]" && (i || ji("Access path missing open bracket: " + e), i > 0 && y(), i = 0, l = c + 1);
    }
  return i && ji("Access path missing closing bracket: " + e), n && ji("Access path missing closing quote: " + e), c > l && (c++, y()), t;
}
function ACe(e, t, r) {
  const n = xCe(e);
  return e = n.length === 1 ? n[0] : e, Wl(OCe(n), [e], e);
}
ACe("id");
Wl((e) => e, [], "identity");
Wl(() => 0, [], "zero");
Wl(() => 1, [], "one");
Wl(() => !0, [], "true");
Wl(() => !1, [], "false");
function LB(e) {
  return typeof e == "function";
}
const DCe = Object.prototype.hasOwnProperty;
function Mh(e, t) {
  return DCe.call(e, t);
}
function PCe(e) {
  return typeof e == "string";
}
function jB(e) {
  const t = {}, r = e.length;
  for (let n = 0; n < r; ++n) t[e[n]] = !0;
  return t;
}
function lZ(e) {
  function t(l, c, g, y) {
    let C = e(c[0]);
    return g && (C = g + "(" + C + ")", g.lastIndexOf("new ", 0) === 0 && (C = "(" + C + ")")), C + "." + l + (y < 0 ? "" : y === 0 ? "()" : "(" + c.slice(1).map(e).join(",") + ")");
  }
  function r(l, c, g) {
    return (y) => t(l, y, c, g);
  }
  const n = "new Date", i = "String", o = "RegExp";
  return {
    // MATH functions
    isNaN: "Number.isNaN",
    isFinite: "Number.isFinite",
    abs: "Math.abs",
    acos: "Math.acos",
    asin: "Math.asin",
    atan: "Math.atan",
    atan2: "Math.atan2",
    ceil: "Math.ceil",
    cos: "Math.cos",
    exp: "Math.exp",
    floor: "Math.floor",
    log: "Math.log",
    max: "Math.max",
    min: "Math.min",
    pow: "Math.pow",
    random: "Math.random",
    round: "Math.round",
    sin: "Math.sin",
    sqrt: "Math.sqrt",
    tan: "Math.tan",
    clamp: function(l) {
      l.length < 3 && ji("Missing arguments to clamp function."), l.length > 3 && ji("Too many arguments to clamp function.");
      const c = l.map(e);
      return "Math.max(" + c[1] + ", Math.min(" + c[2] + "," + c[0] + "))";
    },
    // DATE functions
    now: "Date.now",
    utc: "Date.UTC",
    datetime: n,
    date: r("getDate", n, 0),
    day: r("getDay", n, 0),
    year: r("getFullYear", n, 0),
    month: r("getMonth", n, 0),
    hours: r("getHours", n, 0),
    minutes: r("getMinutes", n, 0),
    seconds: r("getSeconds", n, 0),
    milliseconds: r("getMilliseconds", n, 0),
    time: r("getTime", n, 0),
    timezoneoffset: r("getTimezoneOffset", n, 0),
    utcdate: r("getUTCDate", n, 0),
    utcday: r("getUTCDay", n, 0),
    utcyear: r("getUTCFullYear", n, 0),
    utcmonth: r("getUTCMonth", n, 0),
    utchours: r("getUTCHours", n, 0),
    utcminutes: r("getUTCMinutes", n, 0),
    utcseconds: r("getUTCSeconds", n, 0),
    utcmilliseconds: r("getUTCMilliseconds", n, 0),
    // sequence functions
    length: r("length", null, -1),
    join: r("join", null),
    indexof: r("indexOf", null),
    lastindexof: r("lastIndexOf", null),
    slice: r("slice", null),
    reverse: function(l) {
      return "(" + e(l[0]) + ").slice().reverse()";
    },
    // STRING functions
    parseFloat: "parseFloat",
    parseInt: "parseInt",
    upper: r("toUpperCase", i, 0),
    lower: r("toLowerCase", i, 0),
    substring: r("substring", i),
    split: r("split", i),
    replace: r("replace", i),
    trim: r("trim", i, 0),
    // REGEXP functions
    regexp: o,
    test: r("test", o),
    // Control Flow functions
    if: function(l) {
      l.length < 3 && ji("Missing arguments to if function."), l.length > 3 && ji("Too many arguments to if function.");
      const c = l.map(e);
      return "(" + c[0] + "?" + c[1] + ":" + c[2] + ")";
    }
  };
}
function kCe(e) {
  const t = e && e.length - 1;
  return t && (e[0] === '"' && e[t] === '"' || e[0] === "'" && e[t] === "'") ? e.slice(1, -1) : e;
}
function RCe(e) {
  e = e || {};
  const t = e.whitelist ? jB(e.whitelist) : {}, r = e.blacklist ? jB(e.blacklist) : {}, n = e.constants || uZ, i = (e.functions || lZ)(D), o = e.globalvar, l = e.fieldvar, c = LB(o) ? o : (N) => `${o}["${N}"]`;
  let g = {}, y = {}, C = 0;
  function D(N) {
    if (PCe(N)) return N;
    const F = x[N.type];
    return F == null && ji("Unsupported type: " + N.type), F(N);
  }
  const x = {
    Literal: (N) => N.raw,
    Identifier: (N) => {
      const F = N.name;
      return C > 0 ? F : Mh(r, F) ? ji("Illegal identifier: " + F) : Mh(n, F) ? n[F] : Mh(t, F) ? F : (g[F] = 1, c(F));
    },
    MemberExpression: (N) => {
      const F = !N.computed, z = D(N.object);
      F && (C += 1);
      const A = D(N.property);
      return z === l && (y[kCe(A)] = 1), F && (C -= 1), z + (F ? "." + A : "[" + A + "]");
    },
    CallExpression: (N) => {
      N.callee.type !== "Identifier" && ji("Illegal callee type: " + N.callee.type);
      const F = N.callee.name, z = N.arguments, A = Mh(i, F) && i[F];
      return A || ji("Unrecognized function: " + F), LB(A) ? A(z) : A + "(" + z.map(D).join(",") + ")";
    },
    ArrayExpression: (N) => "[" + N.elements.map(D).join(",") + "]",
    BinaryExpression: (N) => "(" + D(N.left) + N.operator + D(N.right) + ")",
    UnaryExpression: (N) => "(" + N.operator + D(N.argument) + ")",
    ConditionalExpression: (N) => "(" + D(N.test) + "?" + D(N.consequent) + ":" + D(N.alternate) + ")",
    LogicalExpression: (N) => "(" + D(N.left) + N.operator + D(N.right) + ")",
    ObjectExpression: (N) => "{" + N.properties.map(D).join(",") + "}",
    Property: (N) => {
      C += 1;
      const F = D(N.key);
      return C -= 1, F + ":" + D(N.value);
    }
  };
  function M(N) {
    const F = {
      code: D(N),
      globals: Object.keys(g),
      fields: Object.keys(y)
    };
    return g = {}, y = {}, F;
  }
  return M.functions = i, M.constants = n, M;
}
var UB = {};
function zd(e, t, r) {
  var n = e + ":" + r, i = UB[n];
  return (!i || i[0] !== t) && (UB[n] = i = [t, t(r)]), i[1];
}
function MCe(e, t) {
  return zd("format", Bo, t)(e);
}
function cZ(e, t) {
  return zd("timeFormat", _k, t)(e);
}
function NCe(e, t) {
  return zd("utcFormat", Sk, t)(e);
}
function ICe(e, t) {
  return zd("timeParse", Ek, t)(e);
}
function FCe(e, t) {
  return zd("utcParse", wk, t)(e);
}
var jC = new Date(2e3, 0, 1);
function Jb(e, t, r) {
  return jC.setMonth(e), jC.setDate(t), cZ(jC, r);
}
function LCe(e) {
  return Jb(e, 1, "%B");
}
function jCe(e) {
  return Jb(e, 1, "%b");
}
function UCe(e) {
  return Jb(0, 2 + e, "%A");
}
function qCe(e) {
  return Jb(0, 2 + e, "%a");
}
function zCe(e) {
  var t = 0, r, n, i, o;
  if (e && (r = e.length)) {
    for (n = e[t]; n == null || n !== n; n = e[++t]) ;
    for (i = o = n; t < r; ++t)
      n = e[t], n != null && (n < i && (i = n), n > o && (o = n));
  }
  return [i, o];
}
function As(e, t, r, n) {
  var i = t[0], o = t[t.length - 1], l;
  return i > o && (l = i, i = o, o = l), r = r === void 0 || r, n = n === void 0 || n, (r ? i <= e : i < e) && (n ? e <= o : e < o);
}
function BCe(e, t, r) {
  var n = e[0], i = e[1], o;
  return i < n && (o = i, i = n, n = o), o = i - n, o >= r - t ? [t, r] : [
    n = Math.min(Math.max(n, t), r - o),
    n + o
  ];
}
function WCe(e) {
  return e[e.length - 1] - e[0] || 0;
}
function $Ce(e) {
  return 1 + ~~(new Date(e).getMonth() / 3);
}
function VCe(e) {
  return 1 + ~~(new Date(e).getUTCMonth() / 3);
}
function NM(e, t, r) {
  try {
    e[t].apply(e, ["EXPRESSION"].concat([].slice.call(r)));
  } catch (n) {
    e.warn(n);
  }
  return r[r.length - 1];
}
function HCe() {
  return NM(this.context.dataflow, "warn", arguments);
}
function YCe() {
  return NM(this.context.dataflow, "info", arguments);
}
function GCe() {
  return NM(this.context.dataflow, "debug", arguments);
}
function KCe(e) {
  var t = this.context.group, r = !1;
  if (t) for (; e; ) {
    if (e === t) {
      r = !0;
      break;
    }
    e = e.mark.group;
  }
  return r;
}
function XCe(e) {
  var t = e.touches, r = t[0].clientX - t[1].clientX, n = t[0].clientY - t[1].clientY;
  return Math.sqrt(r * r + n * n);
}
function QCe(e) {
  var t = e.touches;
  return Math.atan2(
    t[0].clientY - t[1].clientY,
    t[0].clientX - t[1].clientX
  );
}
var Pf = typeof window < "u" && window || null;
function ZCe() {
  return Pf ? Pf.screen : {};
}
function JCe() {
  return Pf ? [Pf.innerWidth, Pf.innerHeight] : [void 0, void 0];
}
function exe() {
  var e = this.context.dataflow, t = e.container && e.container();
  return t ? [t.clientWidth, t.clientHeight] : [void 0, void 0];
}
function txe(e, t, r, n, i, o) {
  if (!r && r !== 0) return o;
  var l = e[0], c = $t(e), g = +r, y, C;
  return c < l && (y = l, l = c, c = y), y = Math.abs(t - l), C = Math.abs(c - t), y < C && y <= g ? n : C <= g ? i : o;
}
function rxe() {
  var e = [].slice.call(arguments);
  return e.unshift({}), Vt.apply(null, e);
}
var El = "Literal", nxe = "Identifier", IM = "@", Vv = "%", ixe = ":";
function go(e, t) {
  var r;
  return kt(e) ? e : yr(e) ? (r = t.scales[e]) && r.value : void 0;
}
function qB(e, t, r) {
  var n = Vv + r;
  if (!t.hasOwnProperty(n))
    try {
      t[n] = e.scaleRef(r);
    } catch {
    }
}
function Ji(e, t, r, n) {
  if (t[0].type === El)
    qB(r, n, t[0].value);
  else if (t[0].type === nxe)
    for (e in r.scales)
      qB(r, n, e);
}
function axe(e, t) {
  var r = go(e, (t || this).context);
  return r && r.range ? r.range() : [];
}
function oxe(e, t) {
  var r = go(e, (t || this).context);
  return r ? r.domain() : [];
}
function sxe(e, t) {
  var r = go(e, (t || this).context);
  return r && r.bandwidth ? r.bandwidth() : 0;
}
function uxe(e, t, r) {
  return NR(e || 0, t || 0, r || 0);
}
function lxe(e, t) {
  var r = go(e, (t || this).context);
  return r ? r.copy() : void 0;
}
function cxe(e, t, r) {
  var n = go(e, (r || this).context);
  return n ? n(t) : void 0;
}
function fxe(e, t, r) {
  var n = go(e, (r || this).context);
  return n ? Et(t) ? (n.invertRange || n.invert)(t) : (n.invert || n.invertExtent)(t) : void 0;
}
function dxe(e, t, r, n, i) {
  e = go(e, (i || this).context);
  var o = eG(t, r), l = e.domain(), c = l[0], g = $t(l), y = tX(e, c, g);
  e.ticks && (l = e.ticks(+n || 15), c !== l[0] && l.unshift(c), g !== $t(l) && l.push(g));
  for (var C = 0, D = l.length; C < D; ++C)
    o.stop(y(l[C]), e(l[C]));
  return o;
}
function FM(e, t) {
  return function(r, n, i) {
    if (r) {
      var o = go(r, (i || this).context);
      return o && o.path[e](n);
    } else
      return t(n);
  };
}
var pxe = FM("area", TEe), hxe = FM("bounds", REe), mxe = FM("centroid", jEe);
function vxe(e, t, r) {
  var n = go(e, (r || this).context);
  return function(i) {
    return n ? n.path.context(i)(t) : "";
  };
}
function gxe(e) {
  var t = null;
  return function(r) {
    return r ? bb(r, t = t || hl(e)) : e;
  };
}
function fZ(e) {
  var t = this.context.data[e];
  return t ? t.values.value : [];
}
function yo(e, t, r, n) {
  t[0].type !== El && We("First argument to data functions must be a string literal.");
  var i = t[0].value, o = ixe + i;
  n.hasOwnProperty(o) || (n[o] = r.getData(i).tuplesRef());
}
function yxe(e, t, r) {
  var n = this.context.data[e]["index:" + t], i = n ? n.value.get(r) : void 0;
  return i && i.count;
}
function bxe(e, t, r, n) {
  t[0].type !== El && We("First argument to indata must be a string literal."), t[1].type !== El && We("Second argument to indata must be a string literal.");
  var i = t[0].value, o = t[1].value, l = IM + o;
  n.hasOwnProperty(l) || (n[l] = r.getData(i).indataRef(r, o));
}
function _xe(e, t) {
  var r = this.context.dataflow, n = this.context.data[e], i = n.input;
  return r.pulse(i, r.changeset().remove(co).insert(t)), 1;
}
var Exe = {};
function dZ(e) {
  return e.data;
}
function pZ(e, t) {
  var r = fZ.call(t, e);
  return r.root && r.root.lookup || Exe;
}
function Sxe(e, t, r) {
  var n = pZ(e, this), i = n[t], o = n[r];
  return i && o ? i.path(o).map(dZ) : void 0;
}
function wxe(e, t) {
  var r = pZ(e, this)[t];
  return r ? r.ancestors().map(dZ) : void 0;
}
function Oxe(e, t, r) {
  if (e) {
    var n = this.context.dataflow, i = e.mark.source;
    n.pulse(i, n.changeset().encode(e, t));
  }
  return r !== void 0 ? r : e;
}
function hZ(e, t) {
  return e === t || e !== e && t !== t ? !0 : Et(e) && Et(t) && e.length === t.length ? Txe(e, t) : !1;
}
function Txe(e, t) {
  for (var r = 0, n = e.length; r < n; ++r)
    if (!hZ(e[r], t[r])) return !1;
  return !0;
}
function zB(e) {
  return function(t) {
    for (var r in e)
      if (!hZ(t[r], e[r])) return !1;
    return !0;
  };
}
function Cxe(e, t, r, n, i, o) {
  var l = this.context.dataflow, c = this.context.data[e], g = c.input, y = c.changes, C = l.stamp(), D, x;
  if (l._trigger === !1 || !(g.value.length || t || n))
    return 0;
  if ((!y || y.stamp < C) && (c.changes = y = l.changeset(), y.stamp = C, l.runAfter(function() {
    c.modified = !0, l.pulse(g, y).run();
  }, !0, 1)), r && (D = r === !0 ? co : Et(r) || ib(r) ? r : zB(r), y.remove(D)), t && y.insert(t), n && (D = zB(n), g.value.some(D) ? y.remove(D) : y.insert(n)), i)
    for (x in o)
      y.modify(i, x, o[x]);
  return 1;
}
var xxe = "E", Axe = "R", Dxe = "R-E", Pxe = "R-LE", kxe = "R-RE", mZ = "intersect", Rxe = "union", BB = "index:unit";
function WB(e, t) {
  for (var r = t.fields, n = t.values, i = r.length, o = 0, l, c; o < i; ++o)
    if (c = r[o], c.getter = Jn.getter || Jn(c.field), l = c.getter(e), _n(l) && (l = wr(l)), _n(n[o]) && (n[o] = wr(n[o])), _n(n[o][0]) && (n[o] = n[o].map(wr)), c.type === xxe) {
      if (Et(n[o]) ? n[o].indexOf(l) < 0 : l !== n[o])
        return !1;
    } else if (c.type === Axe) {
      if (!As(l, n[o])) return !1;
    } else if (c.type === kxe) {
      if (!As(l, n[o], !0, !1)) return !1;
    } else if (c.type === Dxe) {
      if (!As(l, n[o], !1, !1)) return !1;
    } else if (c.type === Pxe && !As(l, n[o], !1, !0))
      return !1;
  return !0;
}
function Mxe(e, t, r) {
  for (var n = this.context.data[e], i = n ? n.values.value : [], o = n ? n[BB] && n[BB].value : void 0, l = r === mZ, c = i.length, g = 0, y, C, D, x, M; g < c; ++g)
    if (y = i[g], o && l) {
      if (C = C || {}, D = C[x = y.unit] || 0, D === -1) continue;
      if (M = WB(t, y), C[x] = M ? -1 : ++D, M && o.size === 1) return !0;
      if (!M && D === o.get(x).count) return !1;
    } else if (M = WB(t, y), l ^ M) return M;
  return c && l;
}
function vZ(e, t, r, n) {
  t[0].type !== El && We("First argument to indata must be a string literal.");
  var i = t[0].value, o = t.length >= 2 && t[t.length - 1].value, l = "unit", c = IM + l;
  o === mZ && !n.hasOwnProperty(c) && (n[c] = r.getData(i).indataRef(r, l)), yo(e, t, r, n);
}
function Nxe(e, t) {
  for (var r = this.context.data[e], n = r ? r.values.value : [], i = {}, o = {}, l, c, g, y, C, D, x, M, N, F = n.length, z = 0, A, u; z < F; ++z)
    for (l = n[z], y = l.unit, c = l.fields, g = l.values, A = 0, u = c.length; A < u; ++A)
      C = c[A], D = i[C.field] || (i[C.field] = {}), x = D[y] || (D[y] = []), o[C.field] = M = C.type.charAt(0), N = $B[M + "_union"], D[y] = N(x, mt(g[A]));
  return t = t || Rxe, Object.keys(i).forEach(function(a) {
    i[a] = Object.keys(i[a]).map(function(s) {
      return i[a][s];
    }).reduce(function(s, h) {
      return s === void 0 ? h : $B[o[a] + "_" + t](s, h);
    });
  }), i;
}
var $B = {
  E_union: function(e, t) {
    if (!e.length) return t;
    for (var r = 0, n = t.length; r < n; ++r) e.indexOf(t[r]) < 0 && e.push(t[r]);
    return e;
  },
  E_intersect: function(e, t) {
    return e.length ? e.filter(function(r) {
      return t.indexOf(r) >= 0;
    }) : t;
  },
  R_union: function(e, t) {
    var r = wr(t[0]), n = wr(t[1]);
    return r > n && (r = t[1], n = t[0]), e.length ? (e[0] > r && (e[0] = r), e[1] < n && (e[1] = n), e) : [r, n];
  },
  R_intersect: function(e, t) {
    var r = wr(t[0]), n = wr(t[1]);
    return r > n && (r = t[1], n = t[0]), e.length ? n < e[0] || e[1] < r ? [] : (e[0] < r && (e[0] = r), e[1] > n && (e[1] = n), e) : [r, n];
  }
}, gZ = "bin_", Bd = "intersect", UC = "union", Bg = "index:unit";
function Ixe(e, t) {
  for (var r = t.fields, n = t.values, i = t.getter || (t.getter = []), o = r.length, l = 0, c; l < o; ++l)
    if (i[l] = i[l] || Jn(r[l]), c = i[l](e), _n(c) && (c = wr(c)), _n(n[l]) && (n[l] = wr(n[l])), t[gZ + r[l]]) {
      if (_n(n[l][0]) && (n[l] = n[l].map(wr)), !As(c, n[l], !0, !1)) return !1;
    } else if (c !== n[l])
      return !1;
  return !0;
}
function Fxe(e, t) {
  for (var r = t.intervals, n = r.length, i = 0, o, l, c; i < n; ++i) {
    if (l = r[i].extent, o = r[i].getter || (r[i].getter = Jn(r[i].field)), c = o(e), !l || l[0] === l[1] || (_n(c) && (c = wr(c)), _n(l[0]) && (l = r[i].extent = l.map(wr)), Rs(l[0]) && !As(c, l))) return !1;
    if (yr(l[0]) && l.indexOf(c) < 0) return !1;
  }
  return !0;
}
function yZ(e, t, r, n) {
  for (var i = this.context.data[e], o = i ? i.values.value : [], l = i ? i[Bg] && i[Bg].value : void 0, c = r === Bd, g = o.length, y = 0, C, D, x, M, N; y < g; ++y)
    if (C = o[y], l && c) {
      if (D = D || {}, x = D[M = C.unit] || 0, x === -1) continue;
      if (N = n(t, C), D[M] = N ? -1 : ++x, N && l.size === 1) return !0;
      if (!N && x === l.get(M).count) return !1;
    } else if (N = n(t, C), c ^ N) return N;
  return g && c;
}
function bZ(e, t, r) {
  return yZ.call(this, e, t, r, Ixe);
}
function Lxe(e, t, r) {
  return yZ.call(this, e, t, r, Fxe);
}
function _Z(e, t, r, n) {
  t[0].type !== El && We("First argument to indata must be a string literal.");
  var i = t[0].value, o = t.length >= 2 && t[t.length - 1].value, l = "unit", c = IM + l;
  o === Bd && !n.hasOwnProperty(c) && (n[c] = r.getData(i).indataRef(r, l)), yo(e, t, r, n);
}
function EZ(e, t, r, n) {
  var i = this.context.data[e], o = i ? i.values.value : [], l = i ? i[Bg] && i[Bg].value : void 0, c = o[0], g = 0, y, C, D, x, M;
  if (c) {
    for (y = t ? c.encodings.length : c.fields.length; g < y; ++g)
      if (t && c.encodings[g] === t || r && c.fields[g] === r) {
        C = g, x = c[gZ + c.fields[g]];
        break;
      }
    return l && l.size === 1 && (n = UC), l && n === Bd ? (M = o.reduce(function(N, F) {
      var z = N[F.unit] || (N[F.unit] = []);
      return z.push({ unit: F.unit, value: F.values[C] }), N;
    }, {}), D = Object.keys(M).map(function(N) {
      return {
        unit: N,
        value: x ? CD(M[N], UC) : TD(M[N], UC)
      };
    })) : D = o.map(function(N) {
      return { unit: N.unit, value: N.values[C] };
    }), x ? CD(D, n) : TD(D, n);
  }
}
function jxe(e, t, r, n) {
  var i = this.context.data[e], o = i ? i.values.value : [], l = o[0], c = 0, g, y, C, D, x;
  if (l) {
    for (g = l.intervals.length; c < g; ++c)
      if (y = l.intervals[c], t && y.encoding === t || r && y.field === r) {
        if (!y.extent) return;
        C = c, x = y.extent.length > 2;
        break;
      }
    return D = o.reduce(function(M, N) {
      var F = N.intervals[C].extent, z = x ? F.map(function(A) {
        return { unit: N.unit, value: A };
      }) : { unit: N.unit, value: F };
      return x ? M.push.apply(M, z) : M.push(z), M;
    }, []), x ? TD(D, n) : CD(D, n);
  }
}
function TD(e, t) {
  for (var r = {}, n = 0, i = {}, o = [], l = 0, c = e.length, g, y, C, D; l < c; ++l)
    g = e[l], y = g.unit, D = g.value, r[y] || (r[y] = ++n), (C = i[D]) || (i[D] = C = { value: D, units: {}, count: 0 }), C.units[y] || (C.units[y] = ++C.count);
  for (D in i)
    C = i[D], !(t === Bd && C.count !== n) && o.push(C.value);
  return o.length ? o : void 0;
}
function CD(e, t) {
  for (var r = t === Bd ? qxe : Uxe, n = 0, i = e.length, o, l, c, g; n < i; ++n)
    o = e[n].value, _n(o[0]) && (o = o.map(wr)), c = o[0], g = o[1], c > g && (g = o[0], c = o[1]), l = l ? r(l, c, g) : [c, g];
  return l && l.length && +l[0] != +l[1] ? l : void 0;
}
function Uxe(e, t, r) {
  return e[0] > t && (e[0] = t), e[1] < r && (e[1] = r), e;
}
function qxe(e, t, r) {
  return r < e[0] || e[1] < t ? [] : (e[0] < t && (e[0] = t), e[1] > r && (e[1] = r), e);
}
var Wg = {
  random: function() {
    return fy();
  },
  // override default
  isArray: Et,
  isBoolean: ok,
  isDate: _n,
  isNumber: Rs,
  isObject: Rt,
  isRegExp: sk,
  isString: yr,
  isTuple: ib,
  toBoolean: eb,
  toDate: tb,
  toNumber: wr,
  toString: rb,
  pad: lk,
  peek: $t,
  truncate: ck,
  rgb: gl,
  lab: _g,
  hcl: Eg,
  hsl: yg,
  sequence: Cd,
  format: MCe,
  utcFormat: NCe,
  utcParse: FCe,
  timeFormat: cZ,
  timeParse: ICe,
  monthFormat: LCe,
  monthAbbrevFormat: jCe,
  dayFormat: UCe,
  dayAbbrevFormat: qCe,
  quarter: $Ce,
  utcquarter: VCe,
  warn: HCe,
  info: YCe,
  debug: GCe,
  extent: zCe,
  inScope: KCe,
  clampRange: BCe,
  pinchDistance: XCe,
  pinchAngle: QCe,
  screen: ZCe,
  containerSize: exe,
  windowSize: JCe,
  span: WCe,
  merge: rxe,
  flush: txe,
  bandspace: uxe,
  inrange: As,
  setdata: _xe,
  pathShape: gxe,
  panLinear: tk,
  panLog: rk,
  panPow: nk,
  zoomLinear: Ky,
  zoomLog: Xy,
  zoomPow: zf,
  encode: Oxe,
  modify: Cxe
}, zxe = ["view", "item", "group", "xy", "x", "y"], Bxe = "event.vega.", SZ = "this.", wZ = {};
function fr(e, t, r) {
  return arguments.length === 1 ? Wg[e] : (Wg[e] = t, r && (wZ[e] = r), xD && (xD.functions[e] = SZ + e), this);
}
fr("bandwidth", sxe, Ji);
fr("copy", lxe, Ji);
fr("domain", oxe, Ji);
fr("range", axe, Ji);
fr("invert", fxe, Ji);
fr("scale", cxe, Ji);
fr("gradient", dxe, Ji);
fr("geoArea", pxe, Ji);
fr("geoBounds", hxe, Ji);
fr("geoCentroid", mxe, Ji);
fr("geoShape", vxe, Ji);
fr("indata", yxe, bxe);
fr("data", fZ, yo);
fr("treePath", Sxe, yo);
fr("treeAncestors", wxe, yo);
fr("vlSelectionTest", Mxe, vZ);
fr("vlSelectionResolve", Nxe, vZ);
fr("vlSingle", bZ, yo);
fr("vlSingleDomain", EZ, yo);
fr("vlMulti", bZ, _Z);
fr("vlMultiDomain", EZ, _Z);
fr("vlInterval", Lxe, yo);
fr("vlIntervalDomain", jxe, yo);
function Wxe(e) {
  var t = lZ(e);
  zxe.forEach(function(n) {
    t[n] = Bxe + n;
  });
  for (var r in Wg)
    t[r] = SZ + r;
  return t;
}
var OZ = {
  blacklist: ["_"],
  whitelist: ["datum", "event", "item"],
  fieldvar: "datum",
  globalvar: function(e) {
    return "_[" + at("$" + e) + "]";
  },
  functions: Wxe,
  constants: uZ,
  visitors: wZ
}, xD = RCe(OZ), $xe = "$";
function xa(e, t, r) {
  var n = {}, i, o;
  try {
    e = yr(e) ? e : at(e) + "", i = wCe(e);
  } catch {
    We("Expression parse error: " + e);
  }
  return i.visit(function(c) {
    if (c.type === "CallExpression") {
      var g = c.callee.name, y = OZ.visitors[g];
      y && y(g, c.arguments, t, n);
    }
  }), o = xD(i), o.globals.forEach(function(l) {
    var c = $xe + l;
    !n.hasOwnProperty(c) && t.getSignal(l) && (n[c] = t.signalRef(l));
  }), {
    $expr: r ? r + "return(" + o.code + ");" : o.code,
    $fields: o.fields,
    $params: n
  };
}
function LM(e, t, r, n) {
  this.id = -1, this.type = e, this.value = t, this.params = r, n && (this.parent = n);
}
function e_(e, t, r, n) {
  return new LM(e, t, r, n);
}
function t_(e, t) {
  return e_("operator", e, t);
}
function it(e) {
  var t = { $ref: e.id };
  return e.id < 0 && (e.refs = e.refs || []).push(t), t;
}
var TZ = {
  $tupleid: 1,
  toString: function() {
    return ":_tupleid_:";
  }
};
function td(e, t) {
  return t ? { $field: e, $name: t } : { $field: e };
}
var AD = td("key");
function CZ(e, t) {
  return { $compare: e, $order: t };
}
function Vxe(e, t) {
  var r = { $key: e };
  return t && (r.$flat = !0), r;
}
var Hxe = "ascending", Yxe = "descending";
function Gxe(e) {
  return Rt(e) ? (e.order === Yxe ? "-" : "+") + jM(e.op, e.field) : "";
}
function jM(e, t) {
  return (e && e.signal ? "$" + e.signal : e || "") + (e && t ? "_" : "") + (t && t.signal ? "$" + t.signal : t || "");
}
var UM = "scope", DD = "view";
function Bs(e) {
  return e && e.signal;
}
function PD(e) {
  if (Bs(e)) return !0;
  if (Rt(e)) {
    for (var t in e)
      if (PD(e[t])) return !0;
  }
  return !1;
}
function Ui(e, t) {
  return e ?? t;
}
function ks(e) {
  return e && e.signal || e;
}
var VB = "timer";
function rd(e, t) {
  var r = e.merge ? Xxe : e.stream ? Qxe : e.type ? Zxe : We("Invalid stream specification: " + at(e));
  return r(e, t);
}
function Kxe(e) {
  return e === UM ? DD : e || DD;
}
function Xxe(e, t) {
  var r = e.merge.map(function(i) {
    return rd(i, t);
  }), n = qM({ merge: r }, e, t);
  return t.addStream(n).id;
}
function Qxe(e, t) {
  var r = rd(e.stream, t), n = qM({ stream: r }, e, t);
  return t.addStream(n).id;
}
function Zxe(e, t) {
  var r, n;
  return e.type === VB ? (r = t.event(VB, e.throttle), e = { between: e.between, filter: e.filter }) : r = t.event(Kxe(e.source), e.type), n = qM({ stream: r }, e, t), Object.keys(n).length === 1 ? r : t.addStream(n).id;
}
function qM(e, t, r) {
  var n = t.between;
  return n && (n.length !== 2 && We('Stream "between" parameter must have 2 entries: ' + at(t)), e.between = [
    rd(n[0], r),
    rd(n[1], r)
  ]), n = t.filter ? mt(t.filter) : [], (t.marktype || t.markname || t.markrole) && n.push(Jxe(t.marktype, t.markname, t.markrole)), t.source === UM && n.push("inScope(event.item)"), n.length && (e.filter = xa("(" + n.join(")&&(") + ")").$expr), (n = t.throttle) != null && (e.throttle = +n), (n = t.debounce) != null && (e.debounce = +n), t.consume && (e.consume = !0), e;
}
function Jxe(e, t, r) {
  var n = "event.item";
  return n + (e && e !== "*" ? "&&" + n + ".mark.marktype==='" + e + "'" : "") + (r ? "&&" + n + ".mark.role==='" + r + "'" : "") + (t ? "&&" + n + ".mark.name==='" + t + "'" : "");
}
const eAe = "view", $g = "[", Vg = "]", xZ = "{", AZ = "}", tAe = ":", DZ = ",", rAe = "@", nAe = ">", iAe = /[[\]{}]/, aAe = {
  "*": 1,
  arc: 1,
  area: 1,
  group: 1,
  image: 1,
  line: 1,
  path: 1,
  rect: 1,
  rule: 1,
  shape: 1,
  symbol: 1,
  text: 1,
  trail: 1
};
let PZ, kZ;
function oAe(e, t, r) {
  return PZ = t || eAe, kZ = aAe, RZ(e.trim()).map(kD);
}
function sAe(e) {
  return kZ[e];
}
function kf(e, t, r, n, i) {
  const o = e.length;
  let l = 0, c;
  for (; t < o; ++t) {
    if (c = e[t], !l && c === r) return t;
    i && i.indexOf(c) >= 0 ? --l : n && n.indexOf(c) >= 0 && ++l;
  }
  return t;
}
function RZ(e) {
  const t = [], r = e.length;
  let n = 0, i = 0;
  for (; i < r; )
    i = kf(e, i, DZ, $g + xZ, Vg + AZ), t.push(e.substring(n, i).trim()), n = ++i;
  if (t.length === 0)
    throw "Empty event selector: " + e;
  return t;
}
function kD(e) {
  return e[0] === "[" ? uAe(e) : lAe(e);
}
function uAe(e) {
  const t = e.length;
  let r = 1, n;
  if (r = kf(e, r, Vg, $g, Vg), r === t)
    throw "Empty between selector: " + e;
  if (n = RZ(e.substring(1, r)), n.length !== 2)
    throw "Between selector must have two elements: " + e;
  if (e = e.slice(r + 1).trim(), e[0] !== nAe)
    throw "Expected '>' after between selector: " + e;
  n = n.map(kD);
  const i = kD(e.slice(1).trim());
  return i.between ? {
    between: n,
    stream: i
  } : (i.between = n, i);
}
function lAe(e) {
  const t = {
    source: PZ
  }, r = [];
  let n = [0, 0], i = 0, o = 0, l = e.length, c = 0, g, y;
  if (e[l - 1] === AZ) {
    if (c = e.lastIndexOf(xZ), c >= 0) {
      try {
        n = cAe(e.substring(c + 1, l - 1));
      } catch {
        throw "Invalid throttle specification: " + e;
      }
      e = e.slice(0, c).trim(), l = e.length;
    } else throw "Unmatched right brace: " + e;
    c = 0;
  }
  if (!l) throw e;
  if (e[0] === rAe && (i = ++c), g = kf(e, c, tAe), g < l && (r.push(e.substring(o, g).trim()), o = c = ++g), c = kf(e, c, $g), c === l)
    r.push(e.substring(o, l).trim());
  else if (r.push(e.substring(o, c).trim()), y = [], o = ++c, o === l) throw "Unmatched left bracket: " + e;
  for (; c < l; ) {
    if (c = kf(e, c, Vg), c === l) throw "Unmatched left bracket: " + e;
    if (y.push(e.substring(o, c).trim()), c < l - 1 && e[++c] !== $g) throw "Expected left bracket: " + e;
    o = ++c;
  }
  if (!(l = r.length) || iAe.test(r[l - 1]))
    throw "Invalid event selector: " + e;
  return l > 1 ? (t.type = r[1], i ? t.markname = r[0].slice(1) : sAe(r[0]) ? t.marktype = r[0] : t.source = r[0]) : t.type = r[0], t.type.slice(-1) === "!" && (t.consume = !0, t.type = t.type.slice(0, -1)), y != null && (t.filter = y), n[0] && (t.throttle = n[0]), n[1] && (t.debounce = n[1]), t;
}
function cAe(e) {
  const t = e.split(DZ);
  if (!e.length || t.length > 2) throw e;
  return t.map((r) => {
    const n = +r;
    if (n !== n) throw e;
    return n;
  });
}
var HB = "var datum=event.item&&event.item.datum;";
function fAe(e, t, r) {
  var n = e.events, i = e.update, o = e.encode, l = [], c = "", g;
  n || We("Signal update missing events specification."), yr(n) && (n = oAe(n, t.isSubscope() ? UM : DD)), n = mt(n).filter(function(y) {
    return y.signal || y.scale ? (l.push(y), 0) : 1;
  }), n.length && l.push(n.length > 1 ? { merge: n } : n[0]), o != null && (i && We("Signal encode and update are mutually exclusive."), i = "encode(item()," + at(o) + ")"), c = yr(i) ? xa(i, t, HB) : i.expr != null ? xa(i.expr, t, HB) : i.value != null ? i.value : i.signal != null ? {
    $expr: "_.value",
    $params: { value: t.signalRef(i.signal) }
  } : We("Invalid signal update specification."), g = {
    target: r,
    update: c
  }, e.force && (g.options = { force: !0 }), l.forEach(function(y) {
    t.addUpdate(Vt(dAe(y, t), g));
  });
}
function dAe(e, t) {
  return {
    source: e.signal ? t.signalRef(e.signal) : e.scale ? t.scaleRef(e.scale) : rd(e, t)
  };
}
function pAe(e, t) {
  var r = t.getSignal(e.name), n = e.update;
  e.init && (n ? We("Signals can not include both init and update expressions.") : (n = e.init, r.initonly = !0)), n && (n = xa(n, t), r.update = n.$expr, r.params = n.$params), e.on && e.on.forEach(function(i) {
    fAe(i, t, r.id);
  });
}
function Xt(e) {
  return function(t, r, n) {
    return e_(e, r, t || void 0, n);
  };
}
var MZ = Xt("aggregate"), hAe = Xt("axisticks"), NZ = Xt("bound"), ea = Xt("collect"), IZ = Xt("compare"), mAe = Xt("datajoin"), FZ = Xt("encode"), vAe = Xt("expression"), gAe = Xt("facet"), yAe = Xt("field"), bAe = Xt("key"), _Ae = Xt("legendentries"), EAe = Xt("load"), SAe = Xt("mark"), wAe = Xt("multiextent"), OAe = Xt("multivalues"), TAe = Xt("overlap"), CAe = Xt("params"), LZ = Xt("prefacet"), xAe = Xt("projection"), AAe = Xt("proxy"), DAe = Xt("relay"), jZ = Xt("render"), PAe = Xt("scale"), ou = Xt("sieve"), kAe = Xt("sortitems"), UZ = Xt("viewlayout"), RAe = Xt("values"), MAe = 0, r_ = [
  "identity",
  "ordinal",
  "band",
  "point",
  "bin-linear",
  "bin-ordinal",
  "quantize",
  "quantile",
  "threshold",
  "linear",
  "pow",
  "sqrt",
  "log",
  "sequential",
  "time",
  "utc"
], NAe = jn(r_), IAe = jn(r_.slice(4, 9)), FAe = jn(r_.slice(9)), LAe = jn(r_.slice(1, 6));
function Hg(e) {
  return LAe.hasOwnProperty(e);
}
function YB(e) {
  return IAe.hasOwnProperty(e);
}
function jAe(e) {
  return FAe.hasOwnProperty(e);
}
function qZ(e) {
  return e === "quantile";
}
function UAe(e, t) {
  var r = e.type || "linear";
  NAe.hasOwnProperty(r) || We("Unrecognized scale type: " + at(r)), t.addScale(e.name, {
    type: r,
    domain: void 0
  });
}
function qAe(e, t) {
  var r = t.getScale(e.name).params, n;
  r.domain = zZ(e.domain, e, t), e.range != null && (r.range = WZ(e, t, r)), e.interpolate != null && XAe(e.interpolate, r), e.nice != null && KAe(e.nice, r);
  for (n in e)
    r.hasOwnProperty(n) || n === "name" || (r[n] = mi(e[n], t));
}
function mi(e, t) {
  return Rt(e) ? e.signal ? t.signalRef(e.signal) : We("Unsupported object: " + at(e)) : e;
}
function zAe(e, t) {
  return e.signal ? t.signalRef(e.signal) : e.map(function(r) {
    return mi(r, t);
  });
}
function n_(e) {
  We("Can not find data set: " + at(e));
}
function zZ(e, t, r) {
  if (!e) {
    (t.domainMin != null || t.domainMax != null) && We("No scale domain defined for domainMin/domainMax to override.");
    return;
  }
  return e.signal ? r.signalRef(e.signal) : (Et(e) ? BAe : e.fields ? $Ae : WAe)(e, t, r);
}
function BAe(e, t, r) {
  return e.map(function(n) {
    return mi(n, r);
  });
}
function WAe(e, t, r) {
  var n = r.getData(e.data);
  return n || n_(e.data), Hg(t.type) ? n.valuesRef(r, e.field, BZ(e.sort, !1)) : qZ(t.type) ? n.domainRef(r, e.field) : n.extentRef(r, e.field);
}
function $Ae(e, t, r) {
  var n = e.data, i = e.fields.reduce(function(o, l) {
    return l = yr(l) ? { data: n, field: l } : Et(l) || l.signal ? VAe(l, r) : l, o.push(l), o;
  }, []);
  return (Hg(t.type) ? HAe : qZ(t.type) ? YAe : GAe)(e, r, i);
}
function VAe(e, t) {
  var r = "_:vega:_" + MAe++, n = ea({});
  if (Et(e))
    n.value = { $ingest: e };
  else if (e.signal) {
    var i = "setdata(" + at(r) + "," + e.signal + ")";
    n.params.input = t.signalRef(i);
  }
  return t.addDataPipeline(r, [n, ou({})]), { data: r, field: "data" };
}
function HAe(e, t, r) {
  var n, i, o, l;
  return n = r.map(function(c) {
    var g = t.getData(c.data);
    return g || n_(c.data), g.countsRef(t, c.field);
  }), i = t.add(MZ({
    groupby: AD,
    ops: ["sum"],
    fields: [t.fieldRef("count")],
    as: ["count"],
    pulse: n
  })), o = t.add(ea({ pulse: it(i) })), l = t.add(RAe({
    field: AD,
    sort: t.sortRef(BZ(e.sort, !0)),
    pulse: it(o)
  })), it(l);
}
function BZ(e, t) {
  return e && (!e.field && !e.op ? Rt(e) ? e.field = "key" : e = { field: "key" } : !e.field && e.op !== "count" ? We("No field provided for sort aggregate op: " + e.op) : t && e.field ? We("Multiple domain scales can not sort by field.") : t && e.op && e.op !== "count" && We("Multiple domain scales support op count only.")), e;
}
function YAe(e, t, r) {
  var n = r.map(function(i) {
    var o = t.getData(i.data);
    return o || n_(i.data), o.domainRef(t, i.field);
  });
  return it(t.add(OAe({ values: n })));
}
function GAe(e, t, r) {
  var n = r.map(function(i) {
    var o = t.getData(i.data);
    return o || n_(i.data), o.extentRef(t, i.field);
  });
  return it(t.add(wAe({ extents: n })));
}
function KAe(e, t) {
  t.nice = Rt(e) ? {
    interval: mi(e.interval),
    step: mi(e.step)
  } : mi(e);
}
function XAe(e, t) {
  t.interpolate = mi(e.type || e), e.gamma != null && (t.interpolateGamma = mi(e.gamma));
}
function WZ(e, t, r) {
  var n = e.range, i = t.config.range;
  if (n.signal)
    return t.signalRef(n.signal);
  if (yr(n)) {
    if (i && i.hasOwnProperty(n))
      return e = Vt({}, e, { range: i[n] }), WZ(e, t, r);
    n === "width" ? n = [0, { signal: "width" }] : n === "height" ? n = Hg(e.type) ? [0, { signal: "height" }] : [{ signal: "height" }, 0] : We("Unrecognized scale range value: " + at(n));
  } else if (n.scheme) {
    r.scheme = mi(n.scheme, t), n.extent && (r.schemeExtent = zAe(n.extent, t)), n.count && (r.schemeCount = mi(n.count, t));
    return;
  } else if (n.step) {
    r.rangeStep = mi(n.step, t);
    return;
  } else {
    if (Hg(e.type) && !Et(n))
      return zZ(n, e, t);
    Et(n) || We("Unsupported range type: " + at(n));
  }
  return n.map(function(o) {
    return mi(o, t);
  });
}
function QAe(e, t) {
  var r = {};
  for (var n in e)
    n !== "name" && (r[n] = $Z(e[n], n, t));
  t.addProjection(e.name, r);
}
function $Z(e, t, r) {
  return Et(e) ? e.map(function(n) {
    return $Z(n, t, r);
  }) : Rt(e) ? e.signal ? r.signalRef(e.signal) : t === "fit" ? e : We("Unsupported parameter object: " + at(e)) : e;
}
var nn = "top", su = "left", zM = "right", Ja = "bottom", ZAe = "center", JAe = "vertical", eDe = "start", tDe = "end", RD = "index", BM = "label", rDe = "offset", Sl = "perc", nDe = "perc2", GB = "size", yi = "value", i_ = "guide-label", VZ = "guide-title", iDe = "group-title", KB = "symbol", Hv = "gradient", MD = "discrete", WM = [
  "size",
  "shape",
  "fill",
  "stroke",
  "strokeDash",
  "opacity"
], a_ = {
  name: 1,
  interactive: 1
}, aDe = jn(["rule"]), XB = jn(["group", "image", "rect"]);
function oDe(e, t) {
  var r = "";
  return aDe[t] || (e.x2 && (e.x ? (XB[t] && (r += "if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;"), r += "o.width=o.x2-o.x;") : r += "o.x=o.x2-(o.width||0);"), e.xc && (r += "o.x=o.xc-(o.width||0)/2;"), e.y2 && (e.y ? (XB[t] && (r += "if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;"), r += "o.height=o.y2-o.y;") : r += "o.y=o.y2-(o.height||0);"), e.yc && (r += "o.y=o.yc-(o.height||0)/2;")), r;
}
function sDe(e, t, r, n) {
  function i(o, l, c, g) {
    var y = al(null, l, t, r, n), C = al(null, c, t, r, n), D = al(null, g, t, r, n);
    return "this." + o + "(" + [y, C, D].join(",") + ").toString()";
  }
  return e.c ? i("hcl", e.h, e.c, e.l) : e.h || e.s ? i("hsl", e.h, e.s, e.l) : e.l || e.a ? i("lab", e.l, e.a, e.b) : e.r || e.g || e.b ? i("rgb", e.r, e.g, e.b) : null;
}
function o_(e, t, r, n) {
  var i = xa(e, t);
  return i.$fields.forEach(function(o) {
    n[o] = 1;
  }), Vt(r, i.$params), i.$expr;
}
function HZ(e, t, r, n) {
  return YZ(Rt(e) ? e : { datum: e }, t, r, n);
}
function YZ(e, t, r, n) {
  var i, o, l;
  if (e.signal)
    i = "datum", l = o_(e.signal, t, r, n);
  else if (e.group || e.parent) {
    for (o = Math.max(1, e.level || 1), i = "item"; o-- > 0; )
      i += ".mark.group";
    e.parent ? (l = e.parent, i += ".datum") : l = e.group;
  } else e.datum ? (i = "datum", l = e.datum) : We("Invalid field reference: " + at(e));
  return e.signal || (yr(l) ? (n[l] = 1, l = Il(l).map(at).join("][")) : l = YZ(l, t, r, n)), i + "[" + l + "]";
}
function uDe(e, t, r, n, i) {
  var o = GZ(e.scale, r, n, i), l, c, g;
  return e.range != null ? (l = +e.range, c = o + ".range()", t = l === 0 ? c + "[0]" : "($=" + c + "," + (l === 1 ? "$[$.length-1]" : "$[0]+" + l + "*($[$.length-1]-$[0])") + ")") : (t !== void 0 && (t = o + "(" + t + ")"), e.band && (g = lDe(e.scale, r)) && (c = o + ".bandwidth", l = +e.band, l = c + "()" + (l === 1 ? "" : "*" + l), g < 0 && (l = "(" + c + "?" + l + ":0)"), t = (t ? t + "+" : "") + l, e.extra && (t = "(datum.extra?" + o + "(datum.extra.value):" + t + ")")), t == null && (t = "0")), t;
}
function lDe(e, t) {
  if (!yr(e)) return -1;
  var r = t.scaleType(e);
  return r === "band" || r === "point" ? 1 : 0;
}
function GZ(e, t, r, n) {
  var i;
  if (yr(e))
    i = Vv + e, r.hasOwnProperty(i) || (r[i] = t.scaleRef(e)), i = at(i);
  else {
    for (i in t.scales)
      r[Vv + i] = t.scaleRef(i);
    i = at(Vv) + "+" + (e.signal ? "(" + o_(e.signal, t, r, n) + ")" : HZ(e, t, r, n));
  }
  return "_[" + i + "]";
}
function cDe(e, t, r, n) {
  return "this.gradient(" + GZ(e.gradient, t, r, n) + "," + at(e.start) + "," + at(e.stop) + "," + at(e.count) + ")";
}
function qC(e, t, r, n) {
  return Rt(e) ? "(" + al(null, e, t, r, n) + ")" : e;
}
function al(e, t, r, n, i) {
  if (t.gradient != null)
    return cDe(t, r, n, i);
  var o = t.signal ? o_(t.signal, r, n, i) : t.color ? sDe(t.color, r, n, i) : t.field != null ? HZ(t.field, r, n, i) : t.value !== void 0 ? at(t.value) : void 0;
  return t.scale != null && (o = uDe(t, o, r, n, i)), o === void 0 && (o = null), t.exponent != null && (o = "Math.pow(" + o + "," + qC(t.exponent, r, n, i) + ")"), t.mult != null && (o += "*" + qC(t.mult, r, n, i)), t.offset != null && (o += "+" + qC(t.offset, r, n, i)), t.round && (o = "Math.round(" + o + ")"), o;
}
function KZ(e, t, r) {
  return e + "[" + at(t) + "]=" + r + ";";
}
function fDe(e, t, r, n, i) {
  var o = "";
  return t.forEach(function(l) {
    var c = al(e, l, r, n, i);
    o += l.test ? o_(l.test, r, n, i) + "?" + c + ":" : c;
  }), $t(o) === ":" && (o += "null"), KZ("o", e, o);
}
function dDe(e, t, r, n) {
  var i = {}, o = "var o=item,datum=o.datum,$;", l, c, g;
  for (l in e)
    c = e[l], Et(c) ? o += fDe(l, c, n, r, i) : (g = al(l, c, n, r, i), o += KZ("o", l, g));
  return o += oDe(e, t), o += "return 1;", {
    $expr: o,
    $fields: Object.keys(i),
    $output: Object.keys(e)
  };
}
var $M = "mark", VM = "frame", HM = "scope", pDe = "axis", hDe = "axis-domain", mDe = "axis-grid", vDe = "axis-label", gDe = "axis-tick", yDe = "axis-title", bDe = "legend", _De = "legend-band", EDe = "legend-entry", SDe = "legend-gradient", XZ = "legend-label", wDe = "legend-symbol", ODe = "legend-title", TDe = "title";
function Sr(e) {
  return Rt(e) ? Vt({}, e) : { value: e };
}
function Ge(e, t, r, n) {
  return r != null ? (Rt(r) && !Et(r) ? e.update[t] = r : e[n || "enter"][t] = { value: r }, 1) : 0;
}
function Wd(e, t, r) {
  for (var n in t)
    r && r.hasOwnProperty(n) || (e[n] = Vt(e[n] || {}, t[n]));
  return e;
}
function QZ(e, t, r, n, i, o) {
  var l, c;
  o = o || {}, o.encoders = { $encode: l = {} }, e = CDe(e, t, r, n, i.config);
  for (c in e)
    l[c] = dDe(e[c], t, o, i);
  return o;
}
function CDe(e, t, r, n, i) {
  var o = {}, l, c, g;
  (r == "legend" || String(r).indexOf("axis") === 0) && (r = null), g = r === VM ? i.group : r === $M ? Vt({}, i.mark, i[t]) : null;
  for (l in g)
    c = Ku(l, e) || (l === "fill" || l === "stroke") && (Ku("fill", e) || Ku("stroke", e)), c || (o[l] = QB(g[l]));
  return mt(n).forEach(function(y) {
    var C = i.style && i.style[y];
    for (var D in C)
      Ku(D, e) || (o[D] = QB(C[D]));
  }), e = Vt({}, e), e.enter = Vt(o, e.enter), e;
}
function QB(e) {
  return e && e.signal ? { signal: e.signal } : { value: e };
}
function Ku(e, t) {
  return t && (t.enter && t.enter[e] || t.update && t.update[e]);
}
function bi(e, t, r, n, i, o, l) {
  return {
    type: e,
    name: l ? l.name : void 0,
    role: t,
    style: l && l.style || r,
    key: n,
    from: i,
    interactive: !!(l && l.interactive),
    encode: Wd(o, l, a_)
  };
}
function qe(e, t, r) {
  return Ui(t[e], r[e]);
}
function $d(e, t) {
  return Ui(e.direction, t) === JAe;
}
function s_(e, t) {
  return Ui(
    e.gradientLength,
    t.gradientLength || t.gradientWidth
  );
}
function YM(e, t) {
  return Ui(
    e.gradientThickness,
    t.gradientThickness || t.gradientHeight
  );
}
function xDe(e, t) {
  return Ui(
    e.columns,
    Ui(t.columns, +$d(e, t.symbolDirection))
  );
}
function ND(e, t) {
  var r = t && (t.update && t.update[e] || t.enter && t.enter[e]);
  return r && r.signal ? r : r ? r.value : null;
}
function ADe(e, t, r) {
  var n = t.config.style[r];
  return n && n[e];
}
var u_ = "group", ZZ = "rect", GM = "rule", DDe = "symbol", $l = "text";
function PDe(e, t, r, n) {
  var i = { value: 0 }, o = $d(e, r.gradientDirection), l = YM(e, r), c = s_(e, r), g, y, C, D, x, M;
  return o ? (C = [0, 1], D = [0, 0], x = l, M = c) : (C = [0, 0], D = [1, 0], x = c, M = l), g = {
    enter: y = {
      opacity: i,
      x: i,
      y: i,
      width: Sr(x),
      height: Sr(M)
    },
    update: Vt({}, y, {
      opacity: { value: 1 },
      fill: { gradient: t, start: C, stop: D }
    }),
    exit: {
      opacity: i
    }
  }, Ge(g, "stroke", qe("gradientStrokeColor", e, r)), Ge(g, "strokeWidth", qe("gradientStrokeWidth", e, r)), Ge(g, "opacity", qe("gradientOpacity", e, r), "update"), bi(ZZ, SDe, null, void 0, void 0, g, n);
}
function kDe(e, t, r, n, i) {
  var o = { value: 0 }, l = $d(e, r.gradientDirection), c = YM(e, r), g = s_(e, r), y, C, D, x, M, N, F = "";
  return l ? (D = "y", M = "y2", x = "x", N = "width", F = "1-") : (D = "x", M = "x2", x = "y", N = "height"), C = {
    opacity: o,
    fill: { scale: t, field: yi }
  }, C[D] = { signal: F + "datum." + Sl, mult: g }, C[x] = o, C[M] = { signal: F + "datum." + nDe, mult: g }, C[N] = Sr(c), y = {
    enter: C,
    update: Vt({}, C, { opacity: { value: 1 } }),
    exit: { opacity: o }
  }, Ge(y, "stroke", qe("gradientStrokeColor", e, r)), Ge(y, "strokeWidth", qe("gradientStrokeWidth", e, r)), Ge(y, "opacity", qe("gradientOpacity", e, r), "update"), bi(ZZ, _De, null, yi, i, y, n);
}
var RDe = "datum." + Sl + '<=0?"left":datum.' + Sl + '>=1?"right":"center"', MDe = "datum." + Sl + '<=0?"bottom":datum.' + Sl + '>=1?"top":"middle"';
function ZB(e, t, r, n) {
  var i = { value: 0 }, o = $d(e, t.gradientDirection), l = Sr(YM(e, t)), c = s_(e, t), g = qe("labelOverlap", e, t), y, C, D, x, M, N = "";
  return y = {
    enter: C = {
      opacity: i
    },
    update: D = {
      opacity: { value: 1 },
      text: { field: BM }
    },
    exit: {
      opacity: i
    }
  }, Ge(y, "fill", qe("labelColor", e, t)), Ge(y, "font", qe("labelFont", e, t)), Ge(y, "fontSize", qe("labelFontSize", e, t)), Ge(y, "fontWeight", qe("labelFontWeight", e, t)), Ge(y, "fillOpacity", qe("labelOpacity", e, t)), Ge(y, "limit", Ui(e.labelLimit, t.gradientLabelLimit)), o ? (C.align = { value: "left" }, C.baseline = D.baseline = { signal: MDe }, x = "y", M = "x", N = "1-") : (C.align = D.align = { signal: RDe }, C.baseline = { value: "top" }, x = "x", M = "y"), C[x] = D[x] = { signal: N + "datum." + Sl, mult: c }, C[M] = D[M] = l, l.offset = Ui(e.labelOffset, t.gradientLabelOffset) || 0, e = bi($l, XZ, i_, yi, n, y, r), g && (e.overlap = { method: g, order: "datum." + RD }), e;
}
function Yg(e, t, r, n, i, o, l, c) {
  return {
    type: u_,
    name: r,
    role: e,
    style: t,
    from: n,
    interactive: i || !1,
    encode: o,
    marks: l,
    layout: c
  };
}
var _o = { value: 0 };
function NDe(e, t, r, n, i) {
  var o = r.entries, l = !!(o && o.interactive), c = o ? o.name : void 0, g = qe("clipHeight", e, t), y = qe("symbolOffset", e, t), C = { data: "value" }, D = {}, x = i + "?datum." + rDe + ":datum." + GB, M = g ? Sr(g) : { field: GB }, N = "datum." + RD, F = "max(1," + i + ")", z, A, u, a, s, h, E;
  return M.mult = 0.5, D = {
    enter: z = {
      opacity: _o,
      x: { signal: x, mult: 0.5, offset: y },
      y: M
    },
    update: A = {
      opacity: { value: 1 },
      x: z.x,
      y: z.y
    },
    exit: {
      opacity: _o
    }
  }, e.fill || (Ge(D, "fill", t.symbolBaseFillColor), Ge(D, "stroke", t.symbolBaseStrokeColor)), Ge(D, "shape", qe("symbolType", e, t)), Ge(D, "size", qe("symbolSize", e, t)), Ge(D, "strokeWidth", qe("symbolStrokeWidth", e, t)), Ge(D, "fill", qe("symbolFillColor", e, t)), Ge(D, "stroke", qe("symbolStrokeColor", e, t)), Ge(D, "opacity", qe("symbolOpacity", e, t), "update"), WM.forEach(function(f) {
    e[f] && (A[f] = z[f] = { scale: e[f], field: yi });
  }), a = bi(
    DDe,
    wDe,
    null,
    yi,
    C,
    D,
    r.symbols
  ), g && (a.clip = !0), u = Sr(y), u.offset = qe("labelOffset", e, t), D = {
    enter: z = {
      opacity: _o,
      x: { signal: x, offset: u },
      y: M
    },
    update: A = {
      opacity: { value: 1 },
      text: { field: BM },
      x: z.x,
      y: z.y
    },
    exit: {
      opacity: _o
    }
  }, Ge(D, "align", qe("labelAlign", e, t)), Ge(D, "baseline", qe("labelBaseline", e, t)), Ge(D, "fill", qe("labelColor", e, t)), Ge(D, "font", qe("labelFont", e, t)), Ge(D, "fontSize", qe("labelFontSize", e, t)), Ge(D, "fontWeight", qe("labelFontWeight", e, t)), Ge(D, "limit", qe("labelLimit", e, t)), Ge(D, "fillOpacity", qe("labelOpacity", e, t)), s = bi(
    $l,
    XZ,
    i_,
    yi,
    C,
    D,
    r.labels
  ), D = {
    enter: {
      noBound: { value: !0 },
      // ignore width/height in bounds calc
      width: _o,
      height: g ? Sr(g) : _o,
      opacity: _o
    },
    exit: { opacity: _o },
    update: A = {
      opacity: { value: 1 },
      row: { signal: null },
      column: { signal: null }
    }
  }, $d(e, t.symbolDirection) ? (h = "ceil(item.mark.items.length/" + F + ")", A.row.signal = N + "%" + h, A.column.signal = "floor(" + N + "/" + h + ")", E = { field: ["row", N] }) : (A.row.signal = "floor(" + N + "/" + F + ")", A.column.signal = N + "%" + F, E = { field: N }), A.column.signal = i + "?" + A.column.signal + ":" + N, n = { facet: { data: n, name: "value", groupby: RD } }, e = Yg(
    HM,
    null,
    c,
    n,
    l,
    Wd(D, o, a_),
    [a, s]
  ), e.sort = E, e;
}
function IDe(e, t) {
  return {
    align: qe("gridAlign", e, t),
    center: { row: !0, column: !1 },
    columns: xDe(e, t),
    padding: {
      row: qe("rowPadding", e, t),
      column: qe("columnPadding", e, t)
    }
  };
}
function FDe(e, t, r, n) {
  var i = { value: 0 }, o, l;
  return o = {
    enter: l = {
      opacity: i,
      x: { field: { group: "padding" } },
      y: { field: { group: "padding" } }
    },
    update: {
      opacity: { value: 1 },
      text: Sr(e.title),
      x: l.x,
      y: l.y
    },
    exit: {
      opacity: i
    }
  }, Ge(o, "align", qe("titleAlign", e, t)), Ge(o, "baseline", qe("titleBaseline", e, t)), Ge(o, "fill", qe("titleColor", e, t)), Ge(o, "font", qe("titleFont", e, t)), Ge(o, "fontSize", qe("titleFontSize", e, t)), Ge(o, "fontWeight", qe("titleFontWeight", e, t)), Ge(o, "limit", qe("titleLimit", e, t)), Ge(o, "fillOpacity", qe("titleOpacity", e, t)), bi($l, ODe, VZ, null, n, o, r);
}
function LDe(e, t) {
  var r;
  return Rt(e) && (e.signal ? r = e.signal : e.path ? r = "pathShape(" + JB(e.path) + ")" : e.sphere && (r = "geoShape(" + JB(e.sphere) + ', {type: "Sphere"})')), r ? t.signalRef(r) : !!e;
}
function JB(e) {
  return Rt(e) && e.signal ? e.signal : at(e);
}
function JZ(e) {
  var t = e.role || "";
  return !t.indexOf("axis") || !t.indexOf("legend") ? t : e.type === u_ ? HM : t || $M;
}
function jDe(e) {
  return {
    marktype: e.type,
    name: e.name || void 0,
    role: e.role || JZ(e),
    zindex: +e.zindex || void 0
  };
}
function UDe(e, t) {
  return e && e.signal ? t.signalRef(e.signal) : e !== !1;
}
function KM(e, t) {
  var r = hY(e.type);
  r || We("Unrecognized transform type: " + at(e.type));
  var n = e_(r.type.toLowerCase(), null, eJ(r, e, t));
  return e.signal && t.addSignal(e.signal, t.proxy(n)), n.metadata = r.metadata || {}, n;
}
function eJ(e, t, r) {
  var n = {}, i, o, l;
  for (o = 0, l = e.params.length; o < l; ++o)
    i = e.params[o], n[i.name] = qDe(i, t, r);
  return n;
}
function qDe(e, t, r) {
  var n = e.type, i = t[e.name];
  if (n === "index")
    return zDe(e, t, r);
  if (i === void 0) {
    e.required && We("Missing required " + at(t.type) + " parameter: " + at(e.name));
    return;
  } else {
    if (n === "param")
      return BDe(e, t, r);
    if (n === "projection")
      return r.projectionRef(t[e.name]);
  }
  return e.array && !Bs(i) ? i.map(function(o) {
    return e6(e, o, r);
  }) : e6(e, i, r);
}
function e6(e, t, r) {
  var n = e.type;
  if (Bs(t))
    return r6(n) ? We("Expression references can not be signals.") : zC(n) ? r.fieldRef(t) : n6(n) ? r.compareRef(t) : r.signalRef(t.signal);
  var i = e.expr || zC(n);
  return i && WDe(t) ? r.exprRef(t.expr, t.as) : i && $De(t) ? td(t.field, t.as) : r6(n) ? xa(t, r) : VDe(n) ? it(r.getData(t).values) : zC(n) ? td(t) : n6(n) ? r.compareRef(t) : t;
}
function zDe(e, t, r) {
  return yr(t.from) || We('Lookup "from" parameter must be a string literal.'), r.getData(t.from).lookupRef(r, t.key);
}
function BDe(e, t, r) {
  var n = t[e.name];
  return e.array ? (Et(n) || We("Expected an array of sub-parameters. Instead: " + at(n)), n.map(function(i) {
    return t6(e, i, r);
  })) : t6(e, n, r);
}
function t6(e, t, r) {
  var n, i, o, l, c;
  for (l = 0, c = e.params.length; l < c; ++l) {
    i = e.params[l];
    for (o in i.key)
      if (i.key[o] !== t[o]) {
        i = null;
        break;
      }
    if (i) break;
  }
  return i || We("Unsupported parameter: " + at(t)), n = Vt(eJ(i, t, r), i.key), it(r.add(CAe(n)));
}
function WDe(e) {
  return e && e.expr;
}
function $De(e) {
  return e && e.field;
}
function VDe(e) {
  return e === "data";
}
function r6(e) {
  return e === "expr";
}
function zC(e) {
  return e === "field";
}
function n6(e) {
  return e === "compare";
}
function HDe(e, t, r) {
  var n, i, o, l, c;
  return e ? (n = e.facet) && (t || We("Only group marks can be faceted."), n.field != null ? l = c = Yv(n, r) : (e.data ? c = it(r.getData(e.data).aggregate) : (o = KM(Vt({
    type: "aggregate",
    groupby: mt(n.groupby)
  }, n.aggregate), r), o.params.key = r.keyRef(n.groupby), o.params.pulse = Yv(n, r), l = c = it(r.add(o))), i = r.keyRef(n.groupby, !0))) : l = it(r.add(ea(null, [{}]))), l || (l = Yv(e, r)), {
    key: i,
    pulse: l,
    parent: c
  };
}
function Yv(e, t) {
  return e.$ref ? e : e.data && e.data.$ref ? e.data : it(t.getData(e.data).output);
}
function Ws(e, t, r, n, i) {
  this.scope = e, this.input = t, this.output = r, this.values = n, this.aggregate = i, this.index = {};
}
Ws.fromEntries = function(e, t) {
  var r = t.length, n = 1, i = t[0], o = t[r - 1], l = t[r - 2], c = null;
  for (e.add(t[0]); n < r; ++n)
    t[n].params.pulse = it(t[n - 1]), e.add(t[n]), t[n].type === "aggregate" && (c = t[n]);
  return new Ws(e, i, l, o, c);
};
var uu = Ws.prototype;
uu.countsRef = function(e, t, r) {
  var n = this, i = n.counts || (n.counts = {}), o = tJ(t), l, c, g;
  return o != null && (e = n.scope, l = i[o]), l ? r && r.field && i6(e, l.agg.params, r) : (g = {
    groupby: e.fieldRef(t, "key"),
    pulse: it(n.output)
  }, r && r.field && i6(e, g, r), c = e.add(MZ(g)), l = e.add(ea({ pulse: it(c) })), l = { agg: c, ref: it(l) }, o != null && (i[o] = l)), l.ref;
};
function tJ(e) {
  return yr(e) ? e : null;
}
function i6(e, t, r) {
  var n = jM(r.op, r.field), i;
  if (t.ops) {
    for (var o = 0, l = t.as.length; o < l; ++o)
      if (t.as[o] === n) return;
  } else
    t.ops = ["count"], t.fields = [null], t.as = ["count"];
  r.op && (t.ops.push((i = r.op.signal) ? e.signalRef(i) : r.op), t.fields.push(e.fieldRef(r.field)), t.as.push(n));
}
function Vd(e, t, r, n, i, o, l) {
  var c = t[r] || (t[r] = {}), g = Gxe(o), y = tJ(i), C, D;
  if (y != null && (e = t.scope, y = y + (g ? "|" + g : ""), C = c[y]), !C) {
    var x = o ? { field: AD, pulse: t.countsRef(e, i, o) } : { field: e.fieldRef(i), pulse: it(t.output) };
    g && (x.sort = e.sortRef(o)), D = e.add(e_(n, void 0, x)), l && (t.index[i] = D), C = it(D), y != null && (c[y] = C);
  }
  return C;
}
uu.tuplesRef = function() {
  return it(this.values);
};
uu.extentRef = function(e, t) {
  return Vd(e, this, "extent", "extent", t, !1);
};
uu.domainRef = function(e, t) {
  return Vd(e, this, "domain", "values", t, !1);
};
uu.valuesRef = function(e, t, r) {
  return Vd(e, this, "vals", "values", t, r || !0);
};
uu.lookupRef = function(e, t) {
  return Vd(e, this, "lookup", "tupleindex", t, !1);
};
uu.indataRef = function(e, t) {
  return Vd(e, this, "indata", "tupleindex", t, !0, !0);
};
function YDe(e, t, r) {
  var n = e.from.facet, i = n.name, o = Yv(n, t), l, c, g, y;
  n.name || We("Facet must have a name: " + at(n)), n.data || We("Facet must reference a data set: " + at(n)), n.field ? y = t.add(LZ({
    field: t.fieldRef(n.field),
    pulse: o
  })) : n.groupby ? y = t.add(gAe({
    key: t.keyRef(n.groupby),
    group: it(t.proxy(r.parent)),
    pulse: o
  })) : We("Facet must specify groupby or field: " + at(n)), l = t.fork(), c = l.add(ea()), g = l.add(ou({ pulse: it(c) })), l.addData(i, new Ws(l, c, c, g)), l.addSignal("parent", null), y.params.subflow = {
    $subflow: c_(e, l).toRuntime()
  };
}
function GDe(e, t, r) {
  var n = t.add(LZ({ pulse: r.pulse })), i = t.fork();
  i.add(ou()), i.addSignal("parent", null), n.params.subflow = {
    $subflow: c_(e, i).toRuntime()
  };
}
function rJ(e, t, r) {
  var n = e.remove, i = e.insert, o = e.toggle, l = e.modify, c = e.values, g = t.add(t_()), y, C;
  y = "if(" + e.trigger + ',modify("' + r + '",' + [i, n, o, l, c].map(function(D) {
    return D ?? "null";
  }).join(",") + "),0)", C = xa(y, t), g.update = C.$expr, g.params = C.$params;
}
function l_(e, t) {
  var r = JZ(e), n = e.type === u_, i = e.from && e.from.facet, o = e.layout || r === HM || r === VM, l = r === $M || o || i, c = e.overlap, g, y, C, D, x, M, N, F, z, A, u, a, s;
  C = HDe(e.from, n, t), y = t.add(mAe({
    key: C.key || (e.key ? td(e.key) : void 0),
    pulse: C.pulse,
    clean: !n
  })), z = it(y), y = D = t.add(ea({ pulse: z })), y = t.add(SAe({
    markdef: jDe(e),
    interactive: UDe(e.interactive, t),
    clip: LDe(e.clip, t),
    context: { $context: !0 },
    groups: t.lookup(),
    parent: t.signals.parent ? t.signalRef("parent") : null,
    index: t.markpath(),
    pulse: it(y)
  })), A = it(y), y = t.add(FZ(
    QZ(e.encode, e.type, r, e.style, t, { pulse: A })
  )), y.params.parent = t.encode(), e.transform && e.transform.forEach(function(h) {
    var E = KM(h, t);
    (E.metadata.generates || E.metadata.changes) && We("Mark transforms should not generate new data."), E.params.pulse = it(y), t.add(y = E);
  }), e.sort && (y = t.add(kAe({
    sort: t.compareRef(e.sort, !0),
    // stable sort
    pulse: it(y)
  }))), u = it(y), (i || o) && (o = t.add(UZ({
    layout: t.objectProperty(e.layout),
    legendMargin: t.config.legendMargin,
    mark: A,
    pulse: u
  })), a = it(o)), x = t.add(NZ({ mark: A, pulse: a || u })), s = it(x), n && (l && (g = t.operators, g.pop(), o && g.pop()), t.pushState(u, a || s, z), i ? YDe(e, t, C) : l ? GDe(e, t, C) : c_(e, t), t.popState(), l && (o && g.push(o), g.push(x))), c && (s = KDe(c, s, t)), M = t.add(jZ({ pulse: s })), N = t.add(ou({ pulse: it(M) }, void 0, t.parent())), e.name != null && (F = e.name, t.addData(F, new Ws(t, D, M, N)), e.on && e.on.forEach(function(h) {
    (h.insert || h.remove || h.toggle) && We("Marks only support modify triggers."), rJ(h, t, F);
  }));
}
function KDe(e, t, r) {
  var n = e.method, i = e.bound, o, l = {
    method: Bs(n) ? r.signalRef(n.signal) : n,
    pulse: t
  };
  return e.order && (l.sort = r.compareRef({ field: e.order })), i && (o = i.tolerance, l.boundTolerance = Bs(o) ? r.signalRef(o.signal) : +o, l.boundScale = r.scaleRef(i.scale), l.boundOrient = i.orient), it(r.add(TAe(l)));
}
function XDe(e, t) {
  var r = t.config.legend, n = e.encode || {}, i = n.legend || {}, o = i.name || void 0, l = i.interactive, c = i.style, g, y, C, D, x, M, N, F, z, A = WM.reduce(function(u, a) {
    return u || e[a];
  }, 0);
  return A || We("Missing valid scale for legend."), x = QDe(e, t.scaleType(A)), M = {
    orient: qe("orient", e, r),
    title: e.title != null,
    type: x
  }, N = it(t.add(ea(null, [M]))), i = Wd(
    JDe(e, r),
    i,
    a_
  ), g = { enter: { x: { value: 0 }, y: { value: 0 } } }, F = it(t.add(_Ae(C = {
    type: x,
    scale: t.scaleRef(A),
    count: t.objectProperty(e.tickCount),
    values: t.objectProperty(e.values),
    formatSpecifier: t.property(e.format)
  }))), x === Hv ? (D = [
    PDe(e, A, r, n.gradient),
    ZB(e, r, n.labels, F)
  ], C.count = C.count || t.signalRef(
    "max(2,2*floor((" + ks(s_(e, r)) + ")/100))"
  )) : x === MD ? D = [
    kDe(e, A, r, n.gradient, F),
    ZB(e, r, n.labels, F)
  ] : (y = IDe(e, r), D = [
    NDe(e, r, n, F, ks(y.columns))
  ], C.size = ePe(e, t, D[0].marks)), D = [
    Yg(
      EDe,
      null,
      null,
      N,
      l,
      g,
      D,
      y
    )
  ], M.title && D.push(FDe(e, r, n.title, N)), z = Yg(bDe, c, o, N, l, i, D), e.zindex && (z.zindex = e.zindex), l_(z, t);
}
function QDe(e, t) {
  var r = e.type || KB;
  return !e.type && ZDe(e) === 1 && (e.fill || e.stroke) && (r = jAe(t) ? Hv : YB(t) ? MD : KB), r !== Hv ? r : YB(t) ? MD : Hv;
}
function ZDe(e) {
  return WM.reduce(function(t, r) {
    return t + (e[r] ? 1 : 0);
  }, 0);
}
function JDe(e, t) {
  var r = { enter: {}, update: {} };
  return Ge(r, "offset", qe("offset", e, t)), Ge(r, "padding", qe("padding", e, t)), Ge(r, "titlePadding", qe("titlePadding", e, t)), Ge(r, "fill", qe("fillColor", e, t)), Ge(r, "stroke", qe("strokeColor", e, t)), Ge(r, "strokeWidth", qe("strokeWidth", e, t)), Ge(r, "cornerRadius", qe("cornerRadius", e, t)), Ge(r, "strokeDash", t.strokeDash), r;
}
function ePe(e, t, r) {
  var n, i, o, l;
  return o = ND("strokeWidth", r[0].encode), i = e.size ? 'scale("' + e.size + '",datum)' : ND("size", r[0].encode), n = tPe(r[1].encode, t, i_), l = "max(ceil(sqrt(" + ks(i) + ")+" + ks(o) + ")," + ks(n) + ")", xa(l, t);
}
function tPe(e, t, r) {
  return ND("fontSize", e) || ADe("fontSize", t, r);
}
function nJ(e, t, r) {
  return 'item.anchor==="' + eDe + '"?' + e + ':item.anchor==="' + tDe + '"?' + t + ":" + r;
}
var rPe = nJ(
  at(su),
  at(zM),
  at(ZAe)
), nPe = nJ(
  '+(item.orient==="' + zM + '")',
  '+(item.orient!=="' + su + '")',
  "0.5"
);
function iPe(e, t) {
  e = yr(e) ? { text: e } : e;
  var r = t.config.title, n = Vt({}, e.encode), i, o, l;
  return i = {
    orient: qe("orient", e, r)
  }, o = it(t.add(ea(null, [i]))), n.name = e.name, n.interactive = e.interactive, l = aPe(e, r, n, o), e.zindex && (l.zindex = e.zindex), l_(l, t);
}
function aPe(e, t, r, n) {
  var i = { value: 0 }, o = e.text, l = qe("orient", e, t), c = qe("anchor", e, t), g = l === su || l === nn ? -1 : 1, y = l === nn || l === Ja, C = { group: y ? "width" : "height" }, D, x, M, N, F;
  return N = { field: C, mult: { signal: nPe } }, F = g < 0 ? i : y ? { field: { group: "height" } } : { field: { group: "width" } }, D = {
    enter: x = {
      opacity: i
    },
    update: M = {
      opacity: { value: 1 },
      text: Sr(o),
      anchor: Sr(c),
      orient: Sr(l),
      extent: { field: C },
      align: { signal: rPe }
    },
    exit: {
      opacity: i
    }
  }, y ? (M.x = N, M.y = F, x.angle = i, x.baseline = { value: l === nn ? Ja : nn }) : (M.x = F, M.y = N, x.angle = { value: g * 90 }, x.baseline = { value: Ja }), Ge(D, "align", qe("align", e, t), "update"), Ge(D, "angle", qe("angle", e, t)), Ge(D, "baseline", qe("baseline", e, t)), Ge(D, "fill", qe("color", e, t)), Ge(D, "font", qe("font", e, t)), Ge(D, "fontSize", qe("fontSize", e, t)), Ge(D, "fontWeight", qe("fontWeight", e, t)), Ge(D, "frame", qe("frame", e, t)), Ge(D, "limit", qe("limit", e, t)), Ge(D, "offset", qe("offset", e, t) || 0), bi(
    $l,
    TDe,
    e.style || iDe,
    null,
    n,
    D,
    r
  );
}
function oPe(e, t) {
  var r = [];
  e.transform && e.transform.forEach(function(n) {
    r.push(KM(n, t));
  }), e.on && e.on.forEach(function(n) {
    rJ(n, t, e.name);
  }), t.addDataPipeline(e.name, sPe(e, t, r));
}
function sPe(e, t, r) {
  var n = [], i = null, o = !1, l = !1, c, g, y, C, D;
  for (e.values ? n.push(i = bc({
    $ingest: e.values,
    $format: e.format
  })) : e.url ? (i = PD(e.url) || PD(e.format) ? { $load: it(t.add(uPe(t, e))) } : { $request: e.url, $format: e.format }, n.push(i = bc(i))) : e.source && (i = c = mt(e.source).map(function(x) {
    return it(t.getData(x).output);
  }), n.push(null)), g = 0, y = r.length; g < y; ++g)
    C = r[g], D = C.metadata, !i && !D.source && n.push(i = bc()), n.push(C), D.generates && (l = !0), D.modifies && !l && (o = !0), D.source ? i = C : D.changes && (i = null);
  return c && (y = c.length - 1, n[0] = DAe({
    derive: o,
    pulse: y ? c : c[0]
  }), (o || y) && n.splice(1, 0, bc())), i || n.push(bc()), n.push(ou({})), n;
}
function bc(e) {
  var t = ea({}, e);
  return t.metadata = { source: !0 }, t;
}
function uPe(e, t) {
  return EAe({
    url: e.property(t.url),
    format: e.objectProperty(t.format)
  });
}
function lPe(e, t) {
  var r = t.config, n = e.orient, i = n === nn || n === Ja ? r.axisX : r.axisY, o = r["axis" + n[0].toUpperCase() + n.slice(1)], l = t.scaleType(e.scale) === "band" && r.axisBand;
  return i || o || l ? Vt({}, r.axis, i, o, l) : r.axis;
}
function cPe(e, t, r, n) {
  var i = e.orient, o = { value: 0 }, l, c, g, y, C, D;
  return l = {
    enter: c = {
      opacity: o
    },
    update: g = {
      opacity: { value: 1 }
    },
    exit: {
      opacity: o
    }
  }, Ge(l, "stroke", qe("domainColor", e, t)), Ge(l, "strokeWidth", qe("domainWidth", e, t)), Ge(l, "strokeOpacity", qe("domainOpacity", e, t)), i === nn || i === Ja ? (y = "x", D = "y") : (y = "y", D = "x"), C = y + "2", c[D] = o, g[y] = c[y] = a6(e, 0), g[C] = c[C] = a6(e, 1), bi(GM, hDe, null, null, n, l, r);
}
function a6(e, t) {
  return { scale: e.scale, range: t };
}
function fPe(e, t, r, n) {
  var i = e.orient, o = e.gridScale, l = i === su || i === nn ? 1 : -1, c = l * e.offset || 0, g = { value: 0 }, y, C, D, x, M, N, F, z, A;
  return y = {
    enter: C = {
      opacity: g
    },
    update: x = {
      opacity: { value: 1 }
    },
    exit: D = {
      opacity: g
    }
  }, Ge(y, "stroke", qe("gridColor", e, t)), Ge(y, "strokeDash", qe("gridDash", e, t)), Ge(y, "strokeOpacity", qe("gridOpacity", e, t)), Ge(y, "strokeWidth", qe("gridWidth", e, t)), M = {
    scale: e.scale,
    field: yi,
    band: qe("bandPosition", e, t),
    round: qe("tickRound", e, t),
    extra: qe("tickExtra", e, t),
    offset: qe("tickOffset", e, t)
  }, i === nn || i === Ja ? (N = "x", F = "y", A = "height") : (N = "y", F = "x", A = "width"), z = F + "2", x[N] = C[N] = D[N] = M, o ? (C[F] = { scale: o, range: 0, mult: l, offset: c }, x[z] = C[z] = { scale: o, range: 1, mult: l, offset: c }) : (C[F] = { value: c }, x[z] = C[z] = { signal: A, mult: l, offset: c }), bi(GM, mDe, null, yi, n, y, r);
}
function dPe(e, t, r, n, i) {
  var o = e.orient, l = o === su || o === nn ? -1 : 1, c = { value: 0 }, g, y, C, D, x, M;
  return g = {
    enter: y = {
      opacity: c
    },
    update: D = {
      opacity: { value: 1 }
    },
    exit: C = {
      opacity: c
    }
  }, Ge(g, "stroke", qe("tickColor", e, t)), Ge(g, "strokeOpacity", qe("tickOpacity", e, t)), Ge(g, "strokeWidth", qe("tickWidth", e, t)), x = Sr(i), x.mult = l, M = {
    scale: e.scale,
    field: yi,
    band: qe("bandPosition", e, t),
    round: qe("tickRound", e, t),
    extra: qe("tickExtra", e, t),
    offset: qe("tickOffset", e, t)
  }, o === nn || o === Ja ? (D.y = y.y = c, D.y2 = y.y2 = x, D.x = y.x = C.x = M) : (D.x = y.x = c, D.x2 = y.x2 = x, D.y = y.y = C.y = M), bi(GM, gDe, null, yi, n, g, r);
}
function BC(e, t, r, n, i) {
  return {
    signal: 'flush(range("' + e + '"), scale("' + e + '", datum.value), ' + t + "," + r + "," + n + "," + i + ")"
  };
}
function pPe(e, t, r, n, i) {
  var o = e.orient, l = o === su || o === nn ? -1 : 1, c = o === nn || o === Ja, g = e.scale, y = ks(qe("labelFlush", e, t)), C = ks(qe("labelFlushOffset", e, t)), D = y === 0 || !!y, x = qe("labelAlign", e, t), M = qe("labelBaseline", e, t), N = { value: 0 }, F, z, A, u, a, s, h, E, f;
  return A = Sr(i), A.mult = l, A.offset = Sr(qe("labelPadding", e, t) || 0), A.offset.mult = l, u = {
    scale: g,
    field: yi,
    band: 0.5,
    offset: qe("tickOffset", e, t)
  }, c ? (a = x || (D ? BC(g, y, '"left"', '"right"', '"center"') : "center"), s = M || (o === nn ? "bottom" : "top"), h = !x) : (a = x || (o === zM ? "left" : "right"), s = M || (D ? BC(g, y, '"top"', '"bottom"', '"middle"') : "middle"), h = !M), h = h && D && C ? BC(g, y, "-" + C, C, 0) : null, F = {
    enter: z = {
      opacity: N,
      x: c ? u : A,
      y: c ? A : u
    },
    update: {
      opacity: { value: 1 },
      text: { field: BM },
      x: z.x,
      y: z.y
    },
    exit: {
      opacity: N,
      x: z.x,
      y: z.y
    }
  }, Ge(F, c ? "dx" : "dy", h), Ge(F, "align", a), Ge(F, "baseline", s), Ge(F, "angle", qe("labelAngle", e, t)), Ge(F, "fill", qe("labelColor", e, t)), Ge(F, "font", qe("labelFont", e, t)), Ge(F, "fontSize", qe("labelFontSize", e, t)), Ge(F, "fontWeight", qe("labelFontWeight", e, t)), Ge(F, "limit", qe("labelLimit", e, t)), Ge(F, "fillOpacity", qe("labelOpacity", e, t)), E = qe("labelBound", e, t), f = qe("labelOverlap", e, t), e = bi($l, vDe, i_, yi, n, F, r), (f || E) && (e.overlap = {
    method: f,
    order: "datum.index",
    bound: E ? { scale: g, orient: o, tolerance: E } : null
  }), e;
}
function hPe(e, t, r, n) {
  var i = e.orient, o = i === su || i === nn ? -1 : 1, l = i === nn || i === Ja, c = { value: 0 }, g, y, C, D;
  return g = {
    enter: y = {
      opacity: c
    },
    update: C = {
      opacity: { value: 1 },
      text: Sr(e.title)
    },
    exit: {
      opacity: c
    }
  }, D = {
    scale: e.scale,
    range: 0.5
  }, l ? (C.x = D, y.angle = { value: 0 }, y.baseline = { value: i === nn ? "bottom" : "top" }) : (C.y = D, y.angle = { value: o * 90 }, y.baseline = { value: "bottom" }), Ge(g, "align", qe("titleAlign", e, t)), Ge(g, "angle", qe("titleAngle", e, t)), Ge(g, "baseline", qe("titleBaseline", e, t)), Ge(g, "fill", qe("titleColor", e, t)), Ge(g, "font", qe("titleFont", e, t)), Ge(g, "fontSize", qe("titleFontSize", e, t)), Ge(g, "fontWeight", qe("titleFontWeight", e, t)), Ge(g, "limit", qe("titleLimit", e, t)), Ge(g, "fillOpacity", qe("titleOpacity", e, t)), !Ge(g, "x", qe("titleX", e, t), "update") && l && !Ku("x", r) && (g.enter.auto = { value: !0 }), !Ge(g, "y", qe("titleY", e, t), "update") && !l && !Ku("y", r) && (g.enter.auto = { value: !0 }), bi($l, yDe, VZ, null, n, g, r);
}
function mPe(e, t) {
  var r = lPe(e, t), n = e.encode || {}, i = n.axis || {}, o = i.name || void 0, l = i.interactive, c = i.style, g, y, C, D, x, M;
  return g = {
    orient: e.orient,
    ticks: !!qe("ticks", e, r),
    labels: !!qe("labels", e, r),
    grid: !!qe("grid", e, r),
    domain: !!qe("domain", e, r),
    title: !!Ui(e.title, !1)
  }, y = it(t.add(ea({}, [g]))), i = Wd({
    update: {
      range: { signal: 'abs(span(range("' + e.scale + '")))' },
      offset: Sr(Ui(e.offset, 0)),
      position: Sr(Ui(e.position, 0)),
      titlePadding: Sr(qe("titlePadding", e, r)),
      minExtent: Sr(qe("minExtent", e, r)),
      maxExtent: Sr(qe("maxExtent", e, r))
    }
  }, n.axis, a_), C = it(t.add(hAe({
    scale: t.scaleRef(e.scale),
    extra: t.property(qe("tickExtra", e, r)),
    count: t.objectProperty(e.tickCount),
    values: t.objectProperty(e.values),
    formatSpecifier: t.property(e.format)
  }))), M = [], g.grid && M.push(fPe(e, r, n.grid, C)), g.ticks && (D = qe("tickSize", e, r), M.push(dPe(e, r, n.ticks, C, D))), g.labels && (D = g.ticks ? D : 0, M.push(pPe(e, r, n.labels, C, D))), g.domain && M.push(cPe(e, r, n.domain, y)), g.title && M.push(hPe(e, r, n.title, y)), x = Yg(pDe, c, o, y, l, i, M), e.zindex && (x.zindex = e.zindex), l_(x, t);
}
function c_(e, t, r) {
  var n = mt(e.signals), i = mt(e.scales);
  return r || n.forEach(function(o) {
    tZ(o, t);
  }), mt(e.projections).forEach(function(o) {
    QAe(o, t);
  }), i.forEach(function(o) {
    UAe(o, t);
  }), mt(e.data).forEach(function(o) {
    oPe(o, t);
  }), i.forEach(function(o) {
    qAe(o, t);
  }), n.forEach(function(o) {
    pAe(o, t);
  }), mt(e.axes).forEach(function(o) {
    mPe(o, t);
  }), mt(e.marks).forEach(function(o) {
    l_(o, t);
  }), mt(e.legends).forEach(function(o) {
    XDe(o, t);
  }), e.title && iPe(e.title, t), t.parseLambdas(), t;
}
var vPe = jn(["width", "height", "padding", "autosize"]);
function gPe(e, t) {
  var r = t.config, n, i, o, l, c;
  return t.background = e.background || r.background, t.eventConfig = r.events, c = it(t.root = t.add(t_())), t.addSignal("width", e.width || 0), t.addSignal("height", e.height || 0), t.addSignal("padding", fTe(e.padding, r)), t.addSignal("autosize", cTe(e.autosize, r)), mt(e.signals).forEach(function(g) {
    vPe[g.name] || tZ(g, t);
  }), i = t.add(ea()), o = Wd({
    enter: { x: { value: 0 }, y: { value: 0 } },
    update: { width: { signal: "width" }, height: { signal: "height" } }
  }, e.encode), o = t.add(
    FZ(
      QZ(o, u_, VM, e.style, t, { pulse: it(i) })
    )
  ), l = t.add(UZ({
    layout: t.objectProperty(e.layout),
    legendMargin: r.legendMargin,
    autosize: t.signalRef("autosize"),
    mark: c,
    pulse: it(o)
  })), t.operators.pop(), t.pushState(it(o), it(l), null), c_(e, t, !0), t.operators.push(l), n = t.add(NZ({ mark: c, pulse: it(l) })), n = t.add(jZ({ pulse: it(n) })), n = t.add(ou({ pulse: it(n) })), t.addData("root", new Ws(t, i, i, n)), t;
}
function iJ(e) {
  this.config = e, this.bindings = [], this.field = {}, this.signals = {}, this.lambdas = {}, this.scales = {}, this.events = {}, this.data = {}, this.streams = [], this.updates = [], this.operators = [], this.background = null, this.eventConfig = null, this._id = 0, this._subid = 0, this._nextsub = [0], this._parent = [], this._encode = [], this._lookup = [], this._markpath = [];
}
function aJ(e) {
  this.config = e.config, this.field = Object.create(e.field), this.signals = Object.create(e.signals), this.lambdas = Object.create(e.lambdas), this.scales = Object.create(e.scales), this.events = Object.create(e.events), this.data = Object.create(e.data), this.streams = [], this.updates = [], this.operators = [], this._id = 0, this._subid = ++e._nextsub[0], this._nextsub = e._nextsub, this._parent = e._parent.slice(), this._encode = e._encode.slice(), this._lookup = e._lookup.slice(), this._markpath = e._markpath;
}
var gt = iJ.prototype = aJ.prototype;
gt.fork = function() {
  return new aJ(this);
};
gt.isSubscope = function() {
  return this._subid > 0;
};
gt.toRuntime = function() {
  return this.finish(), {
    background: this.background,
    operators: this.operators,
    streams: this.streams,
    updates: this.updates,
    bindings: this.bindings,
    eventConfig: this.eventConfig
  };
};
gt.id = function() {
  return (this._subid ? this._subid + ":" : 0) + this._id++;
};
gt.add = function(e) {
  return this.operators.push(e), e.id = this.id(), e.refs && (e.refs.forEach(function(t) {
    t.$ref = e.id;
  }), e.refs = null), e;
};
gt.proxy = function(e) {
  var t = e instanceof LM ? it(e) : e;
  return this.add(AAe({ value: t }));
};
gt.addStream = function(e) {
  return this.streams.push(e), e.id = this.id(), e;
};
gt.addUpdate = function(e) {
  return this.updates.push(e), e;
};
gt.finish = function() {
  var e, t;
  this.root && (this.root.root = !0);
  for (e in this.signals)
    this.signals[e].signal = e;
  for (e in this.scales)
    this.scales[e].scale = e;
  function r(i, o, l) {
    var c, g;
    i && (c = i.data || (i.data = {}), g = c[o] || (c[o] = []), g.push(l));
  }
  for (e in this.data) {
    t = this.data[e], r(t.input, e, "input"), r(t.output, e, "output"), r(t.values, e, "values");
    for (var n in t.index)
      r(t.index[n], e, "index:" + n);
  }
  return this;
};
gt.pushState = function(e, t, r) {
  this._encode.push(it(this.add(ou({ pulse: e })))), this._parent.push(t), this._lookup.push(r ? it(this.proxy(r)) : null), this._markpath.push(-1);
};
gt.popState = function() {
  this._encode.pop(), this._parent.pop(), this._lookup.pop(), this._markpath.pop();
};
gt.parent = function() {
  return $t(this._parent);
};
gt.encode = function() {
  return $t(this._encode);
};
gt.lookup = function() {
  return $t(this._lookup);
};
gt.markpath = function() {
  var e = this._markpath;
  return ++e[e.length - 1];
};
gt.fieldRef = function(e, t) {
  if (yr(e)) return td(e, t);
  e.signal || We("Unsupported field reference: " + at(e));
  var r = e.signal, n = this.field[r], i;
  return n || (i = { name: this.signalRef(r) }, t && (i.as = t), this.field[r] = n = it(this.add(yAe(i)))), n;
};
gt.compareRef = function(e, t) {
  function r(c) {
    return Bs(c) ? (i = !0, n.signalRef(c.signal)) : c;
  }
  var n = this, i = !1, o = mt(e.field).map(r), l = mt(e.order).map(r);
  return t && o.push(TZ), i ? it(this.add(IZ({ fields: o, orders: l }))) : CZ(o, l);
};
gt.keyRef = function(e, t) {
  function r(o) {
    return Bs(o) ? (i = !0, it(n[o.signal])) : o;
  }
  var n = this.signals, i = !1;
  return e = mt(e).map(r), i ? it(this.add(bAe({ fields: e, flat: t }))) : Vxe(e, t);
};
gt.sortRef = function(e) {
  if (!e) return e;
  var t = [jM(e.op, e.field), TZ], r = e.order || Hxe;
  return r.signal ? it(this.add(IZ({
    fields: t,
    orders: [r = this.signalRef(r.signal), r]
  }))) : CZ(t, [r, r]);
};
gt.event = function(e, t) {
  var r = e + ":" + t;
  if (!this.events[r]) {
    var n = this.id();
    this.streams.push({
      id: n,
      source: e,
      type: t
    }), this.events[r] = n;
  }
  return this.events[r];
};
gt.addSignal = function(e, t) {
  this.signals.hasOwnProperty(e) && We("Duplicate signal name: " + at(e));
  var r = t instanceof LM ? t : this.add(t_(t));
  return this.signals[e] = r;
};
gt.getSignal = function(e) {
  return this.signals[e] || We("Unrecognized signal name: " + at(e)), this.signals[e];
};
gt.signalRef = function(e) {
  return this.signals[e] ? it(this.signals[e]) : (this.lambdas.hasOwnProperty(e) || (this.lambdas[e] = this.add(t_(null))), it(this.lambdas[e]));
};
gt.parseLambdas = function() {
  for (var e = Object.keys(this.lambdas), t = 0, r = e.length; t < r; ++t) {
    var n = e[t], i = xa(n, this), o = this.lambdas[n];
    o.params = i.$params, o.update = i.$expr;
  }
};
gt.property = function(e) {
  return e && e.signal ? this.signalRef(e.signal) : e;
};
gt.objectProperty = function(e) {
  return !e || !Rt(e) ? e : this.signalRef(e.signal || XM(e));
};
function XM(e) {
  return (Et(e) ? yPe : bPe)(e);
}
function yPe(e) {
  for (var t = "[", r = 0, n = e.length, i; r < n; ++r)
    i = e[r], t += (r > 0 ? "," : "") + (Rt(i) ? i.signal || XM(i) : at(i));
  return t + "]";
}
function bPe(e) {
  var t = "{", r = 0, n, i;
  for (n in e)
    i = e[n], t += (++r > 1 ? "," : "") + at(n) + ":" + (Rt(i) ? i.signal || XM(i) : at(i));
  return t + "}";
}
gt.exprRef = function(e, t) {
  var r = { expr: xa(e, this) };
  return t && (r.expr.$name = t), it(this.add(vAe(r)));
};
gt.addBinding = function(e, t) {
  this.bindings || We("Nested signals do not support binding: " + at(e)), this.bindings.push(Vt({ signal: e }, t));
};
gt.addScaleProj = function(e, t) {
  this.scales.hasOwnProperty(e) && We("Duplicate scale or projection name: " + at(e)), this.scales[e] = this.add(t);
};
gt.addScale = function(e, t) {
  this.addScaleProj(e, PAe(t));
};
gt.addProjection = function(e, t) {
  this.addScaleProj(e, xAe(t));
};
gt.getScale = function(e) {
  return this.scales[e] || We("Unrecognized scale name: " + at(e)), this.scales[e];
};
gt.projectionRef = gt.scaleRef = function(e) {
  return it(this.getScale(e));
};
gt.projectionType = gt.scaleType = function(e) {
  return this.getScale(e).params.type;
};
gt.addData = function(e, t) {
  return this.data.hasOwnProperty(e) && We("Duplicate data set name: " + at(e)), this.data[e] = t;
};
gt.getData = function(e) {
  return this.data[e] || We("Undefined data set name: " + at(e)), this.data[e];
};
gt.addDataPipeline = function(e, t) {
  return this.data.hasOwnProperty(e) && We("Duplicate data set name: " + at(e)), this.addData(e, Ws.fromEntries(this, t));
};
function _Pe(e) {
  var t = EPe();
  return (e || []).forEach(function(r) {
    var n, i, o;
    if (r)
      for (n in r)
        if (n === "style") {
          o = t.style || (t.style = {});
          for (n in r.style)
            o[n] = Vt(o[n] || {}, r.style[n]);
        } else
          i = r[n], t[n] = Rt(i) && !Et(i) ? Vt(Rt(t[n]) ? t[n] : {}, i) : i;
  }), t;
}
var Nh = "sans-serif", WC = 30, Ih = 2, ds = "#4c78a8", _c = "#000", $C = "#888", VC = "#ddd";
function EPe() {
  return {
    // default padding around visualization
    padding: 0,
    // default for automatic sizing; options: "none", "pad", "fit"
    // or provide an object (e.g., {"type": "pad", "resize": true})
    autosize: "pad",
    // default view background color
    // covers the entire view component
    background: null,
    // default event handling configuration
    // preventDefault for view-sourced event types except 'wheel'
    events: {
      defaults: { allow: ["wheel"] }
    },
    // defaults for top-level group marks
    // accepts mark properties (fill, stroke, etc)
    // covers the data rectangle within group width/height
    group: null,
    // defaults for basic mark types
    // each subset accepts mark properties (fill, stroke, etc)
    mark: null,
    arc: { fill: ds },
    area: { fill: ds },
    image: null,
    line: {
      stroke: ds,
      strokeWidth: Ih
    },
    path: { stroke: ds },
    rect: { fill: ds },
    rule: { stroke: _c },
    shape: { stroke: ds },
    symbol: {
      fill: ds,
      size: 64
    },
    text: {
      fill: _c,
      font: Nh,
      fontSize: 11
    },
    // style definitions
    style: {
      // axis & legend labels
      "guide-label": {
        fill: _c,
        font: Nh,
        fontSize: 10
      },
      // axis & legend titles
      "guide-title": {
        fill: _c,
        font: Nh,
        fontSize: 11,
        fontWeight: "bold"
      },
      // headers, including chart title
      "group-title": {
        fill: _c,
        font: Nh,
        fontSize: 13,
        fontWeight: "bold"
      },
      // defaults for styled point marks in Vega-Lite
      point: {
        size: WC,
        strokeWidth: Ih,
        shape: "circle"
      },
      circle: {
        size: WC,
        strokeWidth: Ih
      },
      square: {
        size: WC,
        strokeWidth: Ih,
        shape: "square"
      },
      // defaults for styled group marks in Vega-Lite
      cell: {
        fill: "transparent",
        stroke: VC
      }
    },
    // defaults for axes
    axis: {
      minExtent: 0,
      maxExtent: 200,
      bandPosition: 0.5,
      domain: !0,
      domainWidth: 1,
      domainColor: $C,
      grid: !1,
      gridWidth: 1,
      gridColor: VC,
      labels: !0,
      labelAngle: 0,
      labelLimit: 180,
      labelPadding: 2,
      ticks: !0,
      tickColor: $C,
      tickOffset: 0,
      tickRound: !0,
      tickSize: 5,
      tickWidth: 1,
      titleAlign: "center",
      titlePadding: 4
    },
    // correction for centering bias
    axisBand: {
      tickOffset: -1
    },
    // defaults for legends
    legend: {
      orient: "right",
      offset: 18,
      padding: 0,
      gridAlign: "each",
      columnPadding: 10,
      rowPadding: 2,
      symbolDirection: "vertical",
      gradientDirection: "vertical",
      gradientLength: 200,
      gradientThickness: 16,
      gradientStrokeColor: VC,
      gradientStrokeWidth: 0,
      gradientLabelOffset: 2,
      labelAlign: "left",
      labelBaseline: "middle",
      labelLimit: 160,
      labelOffset: 4,
      labelOverlap: !0,
      symbolType: "circle",
      symbolSize: 100,
      symbolOffset: 0,
      symbolStrokeWidth: 1.5,
      symbolBaseFillColor: "transparent",
      symbolBaseStrokeColor: $C,
      titleAlign: "left",
      titleBaseline: "top",
      titleLimit: 180,
      titlePadding: 5
    },
    // defaults for group title
    title: {
      orient: "top",
      anchor: "middle",
      offset: 4
    },
    // defaults for scale ranges
    range: {
      category: {
        scheme: "tableau10"
      },
      ordinal: {
        scheme: "blues",
        extent: [0.2, 1]
      },
      heatmap: {
        scheme: "viridis"
      },
      ramp: {
        scheme: "blues",
        extent: [0.2, 1]
      },
      diverging: {
        scheme: "blueorange"
      },
      symbol: [
        "circle",
        "square",
        "triangle-up",
        "cross",
        "diamond",
        "triangle-right",
        "triangle-down",
        "triangle-left"
      ]
    }
  };
}
function SPe(e, t) {
  return Rt(e) || We("Input Vega specification must be an object."), gPe(e, new iJ(_Pe([t, e.config]))).toRuntime();
}
function Hd(e, t, r) {
  t[t.length - 1] !== ";" && (t = "return(" + t + ");");
  var n = Function.apply(null, e.concat(t));
  return r && r.functions ? n.bind(r.functions) : n;
}
function wPe(e, t) {
  return Hd(["_"], e, t);
}
function OPe(e, t) {
  return Hd(["datum", "_"], e, t);
}
function oJ(e, t) {
  return Hd(["event"], e, t);
}
function TPe(e, t) {
  return Hd(["_", "event"], e, t);
}
function CPe(e, t) {
  return Hd(["item", "_"], e, t);
}
function QM(e, t, r) {
  r = r || {};
  var n, i;
  for (n in e)
    i = e[n], r[n] = Et(i) ? i.map(function(o) {
      return o6(o, t, r);
    }) : o6(i, t, r);
  return r;
}
function o6(e, t, r) {
  if (!e || !Rt(e)) return e;
  for (var n = 0, i = s6.length, o; n < i; ++n)
    if (o = s6[n], e.hasOwnProperty(o.key))
      return o.parse(e, t, r);
  return e;
}
var s6 = [
  { key: "$ref", parse: xPe },
  { key: "$key", parse: DPe },
  { key: "$expr", parse: APe },
  { key: "$field", parse: PPe },
  { key: "$encode", parse: RPe },
  { key: "$compare", parse: kPe },
  { key: "$context", parse: MPe },
  { key: "$subflow", parse: NPe },
  { key: "$tupleid", parse: IPe }
];
function xPe(e, t) {
  return t.get(e.$ref) || We("Operator not defined: " + e.$ref);
}
function APe(e, t, r) {
  e.$params && QM(e.$params, t, r);
  var n = "e:" + e.$expr + "_" + e.$name;
  return t.fn[n] || (t.fn[n] = Tn(OPe(e.$expr, t), e.$fields, e.$name));
}
function DPe(e, t) {
  var r = "k:" + e.$key + "_" + !!e.$flat;
  return t.fn[r] || (t.fn[r] = Jy(e.$key, e.$flat));
}
function PPe(e, t) {
  if (!e.$field) return null;
  var r = "f:" + e.$field + "_" + e.$name;
  return t.fn[r] || (t.fn[r] = Jn(e.$field, e.$name));
}
function kPe(e, t) {
  var r = "c:" + e.$compare + "_" + e.$order, n = mt(e.$compare).map(function(i) {
    return i && i.$tupleid ? st : i;
  });
  return t.fn[r] || (t.fn[r] = Qy(n, e.$order));
}
function RPe(e, t) {
  var r = e.$encode, n = {}, i, o;
  for (i in r)
    o = r[i], n[i] = Tn(CPe(o.$expr, t), o.$fields), n[i].output = o.$output;
  return n;
}
function MPe(e, t) {
  return t;
}
function NPe(e, t) {
  var r = e.$subflow;
  return function(n, i, o) {
    var l = JM(r, t.fork()), c = l.get(r.operators[0].id), g = l.signals.parent;
    return g && g.set(o), c;
  };
}
function IPe() {
  return st;
}
function ZM(e) {
  return (e + "").toLowerCase();
}
function FPe(e) {
  return ZM(e) === "operator";
}
function LPe(e) {
  return ZM(e) === "collect";
}
function jPe(e, t) {
  FPe(e.type) || !e.type ? t.operator(
    e,
    e.update ? wPe(e.update, t) : null
  ) : t.transform(e, e.type);
}
function UPe(e, t) {
  if (e.params) {
    var r = t.get(e.id);
    r || We("Invalid operator id: " + e.id), t.dataflow.connect(r, r.parameters(
      QM(e.params, t),
      e.react,
      e.initonly
    ));
  }
}
function qPe(e, t) {
  var r = e.filter != null ? oJ(e.filter, t) : void 0, n = e.stream != null ? t.get(e.stream) : void 0, i;
  e.source ? n = t.events(e.source, e.type, r) : e.merge && (i = e.merge.map(t.get.bind(t)), n = i[0].merge.apply(i[0], i.slice(1))), e.between && (i = e.between.map(t.get.bind(t)), n = n.between(i[0], i[1])), e.filter && (n = n.filter(r)), e.throttle != null && (n = n.throttle(+e.throttle)), e.debounce != null && (n = n.debounce(+e.debounce)), n == null && We("Invalid stream definition: " + JSON.stringify(e)), e.consume && n.consume(!0), t.stream(e, n);
}
function zPe(e, t) {
  var r = Rt(r = e.source) ? r.$ref : r, n = t.get(r), i = null, o = e.update, l = void 0;
  n || We("Source not defined: " + e.source), e.target && e.target.$expr ? i = oJ(e.target.$expr, t) : i = t.get(e.target), o && o.$expr && (o.$params && (l = QM(o.$params, t)), o = TPe(o.$expr, t)), t.update(e, n, i, o, l);
}
function JM(e, t) {
  var r = e.operators || [];
  return e.background && (t.background = e.background), e.eventConfig && (t.eventConfig = e.eventConfig), r.forEach(function(n) {
    jPe(n, t);
  }), r.forEach(function(n) {
    UPe(n, t);
  }), (e.streams || []).forEach(function(n) {
    qPe(n, t);
  }), (e.updates || []).forEach(function(n) {
    zPe(n, t);
  }), t.resolve();
}
var BPe = { skip: !0 };
function WPe(e) {
  var t = this, r = {};
  if (e.signals) {
    var n = r.signals = {};
    Object.keys(t.signals).forEach(function(o) {
      var l = t.signals[o];
      e.signals(o, l) && (n[o] = l.value);
    });
  }
  if (e.data) {
    var i = r.data = {};
    Object.keys(t.data).forEach(function(o) {
      var l = t.data[o];
      e.data(o, l) && (i[o] = l.input.value);
    });
  }
  return t.subcontext && e.recurse !== !1 && (r.subcontext = t.subcontext.map(function(o) {
    return o.getState(e);
  })), r;
}
function $Pe(e) {
  var t = this, r = t.dataflow, n = e.data, i = e.signals;
  Object.keys(i || {}).forEach(function(o) {
    r.update(t.signals[o], i[o], BPe);
  }), Object.keys(n || {}).forEach(function(o) {
    r.pulse(
      t.data[o].input,
      r.changeset().remove(co).insert(n[o])
    );
  }), (e.subcontext || []).forEach(function(o, l) {
    var c = t.subcontext[l];
    c && c.setState(o);
  });
}
function sJ(e, t, r) {
  return new uJ(e, t, r);
}
function uJ(e, t, r) {
  this.dataflow = e, this.transforms = t, this.events = e.events.bind(e), this.signals = {}, this.scales = {}, this.nodes = {}, this.data = {}, this.fn = {}, r && (this.functions = Object.create(r), this.functions.context = this);
}
function u6(e) {
  this.dataflow = e.dataflow, this.transforms = e.transforms, this.functions = e.functions, this.events = e.events, this.signals = Object.create(e.signals), this.scales = Object.create(e.scales), this.nodes = Object.create(e.nodes), this.data = Object.create(e.data), this.fn = Object.create(e.fn), e.functions && (this.functions = Object.create(e.functions), this.functions.context = this);
}
uJ.prototype = u6.prototype = {
  fork: function() {
    var e = new u6(this);
    return (this.subcontext || (this.subcontext = [])).push(e), e;
  },
  get: function(e) {
    return this.nodes[e];
  },
  set: function(e, t) {
    return this.nodes[e] = t;
  },
  add: function(e, t) {
    var r = this, n = r.dataflow, i;
    if (r.set(e.id, t), LPe(e.type) && (i = e.value) && (i.$ingest ? n.ingest(t, i.$ingest, i.$format) : i.$load ? r.get(i.$load.$ref).target = t : i.$request ? n.request(t, i.$request, i.$format) : n.pulse(t, n.changeset().insert(i))), e.root && (r.root = t), e.parent) {
      var o = r.get(e.parent.$ref);
      o ? (n.connect(o, [t]), t.targets().add(o)) : (r.unresolved = r.unresolved || []).push(function() {
        o = r.get(e.parent.$ref), n.connect(o, [t]), t.targets().add(o);
      });
    }
    if (e.signal && (r.signals[e.signal] = t), e.scale && (r.scales[e.scale] = t), e.data)
      for (var l in e.data)
        i = r.data[l] || (r.data[l] = {}), e.data[l].forEach(function(c) {
          i[c] = t;
        });
  },
  resolve: function() {
    return (this.unresolved || []).forEach(function(e) {
      e();
    }), delete this.unresolved, this;
  },
  operator: function(e, t) {
    this.add(e, this.dataflow.add(e.value, t));
  },
  transform: function(e, t) {
    this.add(e, this.dataflow.add(this.transforms[ZM(t)]));
  },
  stream: function(e, t) {
    this.set(e.id, t);
  },
  update: function(e, t, r, n, i) {
    this.dataflow.on(t, r, n, i, e.options);
  },
  getState: WPe,
  setState: $Pe
};
function VPe(e, t, r) {
  var n = r || Wg;
  return JM(t, sJ(e, cl, n));
}
function HPe(e) {
  var t = this._runtime.scales;
  return t.hasOwnProperty(e) || We("Unrecognized scale or projection: " + e), t[e].value;
}
var lJ = "width", cJ = "height", eN = "padding", l6 = { skip: !0 };
function fJ(e, t) {
  var r = e.autosize(), n = e.padding();
  return t - (r && r.contains === eN ? n.left + n.right : 0);
}
function dJ(e, t) {
  var r = e.autosize(), n = e.padding();
  return t - (r && r.contains === eN ? n.top + n.bottom : 0);
}
function YPe(e) {
  var t = e._signals, r = t[lJ], n = t[cJ], i = t[eN];
  function o() {
    e._autosize = e._resize = 1;
  }
  e._resizeWidth = e.add(
    null,
    function(c) {
      e._width = c.size, e._viewWidth = fJ(e, c.size), o();
    },
    { size: r }
  ), e._resizeHeight = e.add(
    null,
    function(c) {
      e._height = c.size, e._viewHeight = dJ(e, c.size), o();
    },
    { size: n }
  );
  var l = e.add(null, o, { pad: i });
  e._resizeWidth.rank = r.rank + 1, e._resizeHeight.rank = n.rank + 1, l.rank = i.rank + 1;
}
function GPe(e, t, r, n, i, o) {
  this.runAfter(function(l) {
    var c = 0;
    l._autosize = 0, l.width() !== r && (c = 1, l.signal(lJ, r, l6), l._resizeWidth.skip(!0)), l.height() !== n && (c = 1, l.signal(cJ, n, l6), l._resizeHeight.skip(!0)), l._viewWidth !== e && (l._resize = 1, l._viewWidth = e), l._viewHeight !== t && (l._resize = 1, l._viewHeight = t), (l._origin[0] !== i[0] || l._origin[1] !== i[1]) && (l._resize = 1, l._origin = i), c && l.run("enter"), o && l.runAfter(function() {
      l.resize();
    });
  }, !1, 1);
}
function KPe(e) {
  return this._runtime.getState(e || {
    data: XPe,
    signals: QPe,
    recurse: !0
  });
}
function XPe(e, t) {
  return t.modified && Et(t.input.value) && e.indexOf("_:vega:_");
}
function QPe(e, t) {
  return !(e === "parent" || t instanceof cl.proxy);
}
function ZPe(e) {
  var t = this;
  return t.runAfter(function() {
    t._trigger = !1, t._runtime.setState(e), t.run().runAfter(function() {
      t._trigger = !0;
    });
  }), this;
}
function JPe(e, t) {
  function r(n) {
    e({ timestamp: Date.now(), elapsed: n });
  }
  this._timers.push(wSe(r, t));
}
function eke(e, t, r, n) {
  var i = e.element();
  i && i.setAttribute("title", tke(n));
}
function tke(e) {
  return e == null ? "" : Et(e) ? pJ(e) : Rt(e) && !_n(e) ? rke(e) : e + "";
}
function rke(e) {
  return Object.keys(e).map(function(t) {
    var r = e[t];
    return t + ": " + (Et(r) ? pJ(r) : hJ(r));
  }).join(`
`);
}
function pJ(e) {
  return "[" + e.map(hJ).join(", ") + "]";
}
function hJ(e) {
  return Et(e) ? "[…]" : Rt(e) && !_n(e) ? "{…}" : e;
}
function mJ(e, t) {
  var r = this;
  t = t || {}, Ul.call(r), r.loader(t.loader || r._loader), r.logLevel(t.logLevel || 0), r._el = null, r._renderType = t.renderer || Lo.Canvas, r._scenegraph = new ER();
  var n = r._scenegraph.root;
  r._renderer = null, r._tooltip = t.tooltip || eke, r._redraw = !0, r._handler = new kd().scene(n), r._preventDefault = !1, r._timers = [], r._eventListeners = [], r._resizeListeners = [];
  var i = VPe(r, e, t.functions);
  r._runtime = i, r._signals = i.signals, r._bind = (e.bindings || []).map(function(o) {
    return {
      state: null,
      param: Vt({}, o)
    };
  }), i.root && i.root.set(n), n.source = i.data.root.input, r.pulse(
    i.data.root.input,
    r.changeset().insert(n.items)
  ), r._background = i.background || null, r._eventConfig = BOe(i.eventConfig), r._width = r.width(), r._height = r.height(), r._viewWidth = fJ(r, r._width), r._viewHeight = dJ(r, r._height), r._origin = [0, 0], r._resize = 0, r._autosize = 1, YPe(r), kOe(r);
}
var ft = Ke(mJ, Ul);
ft.run = function(e) {
  if (Ul.prototype.run.call(this, e), this._pending)
    this.resize();
  else if (this._redraw || this._resize)
    try {
      this.render();
    } catch (t) {
      this.error(t);
    }
  return this;
};
ft.render = function() {
  return this._renderer && (this._resize && (this._resize = 0, FOe(this)), this._renderer.render(this._scenegraph.root)), this._redraw = !1, this;
};
ft.dirty = function(e) {
  this._redraw = !0, this._renderer && this._renderer.dirty(e);
};
ft.container = function() {
  return this._el;
};
ft.scenegraph = function() {
  return this._scenegraph;
};
ft.origin = function() {
  return this._origin.slice();
};
function f_(e, t) {
  return e._signals.hasOwnProperty(t) ? e._signals[t] : We("Unrecognized signal name: " + at(t));
}
ft.signal = function(e, t, r) {
  var n = f_(this, e);
  return arguments.length === 1 ? n.value : this.update(n, t, r);
};
ft.background = function(e) {
  return arguments.length ? (this._background = e, this._resize = 1, this) : this._background;
};
ft.width = function(e) {
  return arguments.length ? this.signal("width", e) : this.signal("width");
};
ft.height = function(e) {
  return arguments.length ? this.signal("height", e) : this.signal("height");
};
ft.padding = function(e) {
  return arguments.length ? this.signal("padding", e) : this.signal("padding");
};
ft.autosize = function(e) {
  return arguments.length ? this.signal("autosize", e) : this.signal("autosize");
};
ft.renderer = function(e) {
  return arguments.length ? (Pb(e) || We("Unrecognized renderer type: " + e), e !== this._renderType && (this._renderType = e, this._resetRenderer()), this) : this._renderType;
};
ft.tooltip = function(e) {
  return arguments.length ? (e !== this._tooltip && (this._tooltip = e, this._resetRenderer()), this) : this._tooltip;
};
ft.loader = function(e) {
  return arguments.length ? (e !== this._loader && (Ul.prototype.loader.call(this, e), this._resetRenderer()), this) : this._loader;
};
ft.resize = function() {
  return this._autosize = 1, this.touch(f_(this, "autosize"));
};
ft._resetRenderer = function() {
  this._renderer && (this._renderer = null, this.initialize(this._el));
};
ft._resizeView = GPe;
ft.addEventListener = function(e, t, r) {
  var n = t;
  return r && r.trap === !1 || (n = DM(this, t), n.raw = t), this._handler.on(e, n), this;
};
ft.removeEventListener = function(e, t) {
  for (var r = this._handler.handlers(e), n = r.length, i, o; --n >= 0; )
    if (o = r[n].type, i = r[n].handler, e === o && (t === i || t === i.raw)) {
      this._handler.off(o, i);
      break;
    }
  return this;
};
ft.addResizeListener = function(e) {
  var t = this._resizeListeners;
  return t.indexOf(e) < 0 && t.push(e), this;
};
ft.removeResizeListener = function(e) {
  var t = this._resizeListeners, r = t.indexOf(e);
  return r >= 0 && t.splice(r, 1), this;
};
function vJ(e, t) {
  var r = e._targets || [], n = r.filter(function(i) {
    var o = i._update;
    return o && o.handler === t;
  });
  return n.length ? n[0] : null;
}
function gJ(e, t, r, n) {
  var i = vJ(r, n);
  return i || (i = DM(this, function() {
    n(t, r.value);
  }), i.handler = n, e.on(r, null, i)), e;
}
function yJ(e, t, r) {
  var n = vJ(t, r);
  return n && t._targets.remove(n), e;
}
ft.addSignalListener = function(e, t) {
  return gJ(this, e, f_(this, e), t);
};
ft.removeSignalListener = function(e, t) {
  return yJ(this, f_(this, e), t);
};
ft.addDataListener = function(e, t) {
  return gJ(this, e, Yb(this, e).values, t);
};
ft.removeDataListener = function(e, t) {
  return yJ(this, Yb(this, e).values, t);
};
ft.preventDefault = function(e) {
  return arguments.length ? (this._preventDefault = e, this) : this._preventDefault;
};
ft.timer = JPe;
ft.events = $Oe;
ft.finalize = HOe;
ft.hover = VOe;
ft.data = MOe;
ft.change = AM;
ft.insert = NOe;
ft.remove = IOe;
ft.scale = HPe;
ft.initialize = aTe;
ft.toImageURL = oTe;
ft.toCanvas = uTe;
ft.toSVG = lTe;
ft.getState = KPe;
ft.setState = ZPe;
Vt(cl, cve, Obe, B1e, YEe, jSe, zwe, lOe, EOe, DOe);
const nke = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  Bounds: Cn,
  CanvasHandler: kd,
  CanvasRenderer: hg,
  Dataflow: Ul,
  Debug: Gy,
  Error: Yy,
  EventStream: sb,
  Gradient: eG,
  GroupItem: mb,
  Handler: Zo,
  Info: qf,
  Item: hb,
  Marks: Na,
  MultiPulse: Tk,
  None: QP,
  Operator: Jt,
  Parameters: ob,
  Pulse: Xo,
  RenderType: Lo,
  Renderer: Xi,
  ResourceLoader: nR,
  SVGHandler: wR,
  SVGRenderer: TR,
  SVGStringRenderer: xR,
  Scenegraph: ER,
  Transform: Ue,
  View: mJ,
  Warn: ZP,
  accessor: Tn,
  accessorFields: bn,
  accessorName: Qn,
  array: mt,
  bandwidthNRD: Xte,
  bin: eV,
  bootstrapCI: J$,
  boundClip: QG,
  boundContext: qn,
  boundItem: qA,
  boundMark: FG,
  boundStroke: po,
  changeset: Ll,
  closeTag: Wr,
  compare: Qy,
  constant: Wi,
  cumulativeLogNormal: Qte,
  cumulativeNormal: Zte,
  cumulativeUniform: Jte,
  debounce: Zy,
  definition: hY,
  densityLogNormal: ere,
  densityNormal: tre,
  densityUniform: rre,
  domChild: Ea,
  domClear: no,
  domCreate: Ju,
  domFind: SR,
  dotbin: nre,
  error: We,
  expressionFunction: fr,
  extend: Vt,
  extentIndex: ak,
  falsy: ma,
  fastmap: Js,
  field: Jn,
  font: xb,
  fontFamily: Pd,
  fontSize: Qo,
  format: jv,
  formatLocale: BK,
  formats: ZH,
  id: Fl,
  identity: Bi,
  inferType: HH,
  inferTypes: YH,
  ingest: gr,
  inherits: Ke,
  interpolate: rX,
  interpolateRange: eX,
  isArray: Et,
  isBoolean: ok,
  isDate: _n,
  isFunction: kt,
  isNumber: Rs,
  isObject: Rt,
  isRegExp: sk,
  isString: yr,
  isTuple: ib,
  key: Jy,
  loader: ub,
  logger: JP,
  merge: uk,
  one: _d,
  openTag: Br,
  pad: lk,
  panLinear: tk,
  panLog: rk,
  panPow: nk,
  parse: SPe,
  pathCurves: lR,
  pathEqual: ZG,
  pathParse: hl,
  pathRectangle: _G,
  pathRender: bb,
  pathSymbols: bG,
  pathTrail: EG,
  peek: $t,
  point: Ab,
  projection: oV,
  quantileLogNormal: ire,
  quantileNormal: are,
  quantileUniform: ore,
  quantiles: sre,
  quartiles: Z$,
  get random() {
    return fy;
  },
  randomInteger: ure,
  randomKDE: tV,
  randomLCG: lre,
  randomLogNormal: cre,
  randomMixture: rV,
  randomNormal: nV,
  randomUniform: iV,
  read: Ok,
  regressionConstant: fre,
  regressionExp: dre,
  regressionLinear: pre,
  regressionLoess: hre,
  regressionLog: mre,
  regressionPoly: vre,
  regressionPow: gre,
  regressionQuad: yre,
  renderModule: Pb,
  repeat: Vu,
  resetSVGClipId: Kge,
  runtime: JM,
  runtimeContext: sJ,
  sampleCurve: bre,
  sampleLogNormal: _re,
  sampleNormal: Ere,
  sampleUniform: Sre,
  scale: qb,
  sceneEqual: AR,
  sceneFromJSON: jG,
  scenePickVisit: dg,
  sceneToJSON: LG,
  sceneVisit: $i,
  sceneZOrder: fR,
  scheme: nD,
  setRandom: wre,
  splitAccessPath: Il,
  stringValue: at,
  textMetrics: pg,
  timeFormatLocale: aY,
  timeInterval: HX,
  toBoolean: eb,
  toDate: tb,
  toNumber: wr,
  toSet: jn,
  toString: rb,
  transform: mY,
  transforms: cl,
  truncate: ck,
  truthy: co,
  tupleid: st,
  typeParsers: kA,
  utcInterval: YX,
  version: POe,
  visitArray: Wa,
  zero: XP,
  zoomLinear: Ky,
  zoomLog: Xy,
  zoomPow: zf
}, Symbol.toStringTag, { value: "Module" })), ike = /* @__PURE__ */ On(nke);
var c6 = {}, f6;
function ake() {
  return f6 || (f6 = 1), c6;
}
var Eo = {}, Fh = {}, HC, d6;
function oke() {
  if (d6) return HC;
  d6 = 1;
  function e(t) {
    var r = [];
    if (t != null)
      for (var n in Object(t))
        r.push(n);
    return r;
  }
  return HC = e, HC;
}
var YC, p6;
function ske() {
  if (p6) return YC;
  p6 = 1;
  var e = Vi(), t = QD(), r = oke(), n = Object.prototype, i = n.hasOwnProperty;
  function o(l) {
    if (!e(l))
      return r(l);
    var c = t(l), g = [];
    for (var y in l)
      y == "constructor" && (c || !i.call(l, y)) || g.push(y);
    return g;
  }
  return YC = o, YC;
}
var GC, h6;
function uke() {
  if (h6) return GC;
  h6 = 1;
  var e = EV(), t = ske(), r = Gs();
  function n(i) {
    return r(i) ? e(i, !0) : t(i);
  }
  return GC = n, GC;
}
var KC, m6;
function lke() {
  if (m6) return KC;
  m6 = 1;
  var e = Al(), t = ld(), r = $V(), n = uke(), i = Object.prototype, o = i.hasOwnProperty, l = e(function(c, g) {
    c = Object(c);
    var y = -1, C = g.length, D = C > 2 ? g[2] : void 0;
    for (D && r(g[0], g[1], D) && (C = 1); ++y < C; )
      for (var x = g[y], M = n(x), N = -1, F = M.length; ++N < F; ) {
        var z = M[N], A = c[z];
        (A === void 0 || t(A, i[z]) && !o.call(c, z)) && (c[z] = x[z]);
      }
    return c;
  });
  return KC = l, KC;
}
var Lh = {}, v6;
function cke() {
  if (v6) return Lh;
  v6 = 1, Object.defineProperty(Lh, "__esModule", {
    value: !0
  }), Lh.default = e;
  function e(t, r) {
    if (t === r)
      return !0;
    var n = Object.keys(t), i = Object.keys(r);
    if (n.length !== i.length)
      return !1;
    for (var o = Object.prototype.hasOwnProperty, l = 0; l < n.length; l += 1) {
      if (!o.call(r, n[l]) || t[n[l]] !== r[n[l]])
        return !1;
      var c = t[n[l]], g = r[n[l]];
      if (c !== g)
        return !1;
    }
    return !0;
  }
  return Lh;
}
var jh = {}, XC, g6;
function fke() {
  if (g6) return XC;
  g6 = 1;
  var e = P7(), t = Al(), r = R7(), n = My(), i = t(function(o) {
    return r(e(o, 1, n, !0));
  });
  return XC = i, XC;
}
var y6;
function dke() {
  if (y6) return jh;
  y6 = 1, Object.defineProperty(jh, "__esModule", {
    value: !0
  });
  var e = /* @__PURE__ */ function() {
    function g(y, C) {
      for (var D = 0; D < C.length; D++) {
        var x = C[D];
        x.enumerable = x.enumerable || !1, x.configurable = !0, "value" in x && (x.writable = !0), Object.defineProperty(y, x.key, x);
      }
    }
    return function(y, C, D) {
      return C && g(y.prototype, C), D && g(y, D), y;
    };
  }(), t = fke(), r = o(t), n = D7(), i = o(n);
  function o(g) {
    return g && g.__esModule ? g : { default: g };
  }
  function l(g, y) {
    if (!(g instanceof y))
      throw new TypeError("Cannot call a class as a function");
  }
  var c = function() {
    function g() {
      l(this, g), this.entered = [];
    }
    return e(g, [{
      key: "enter",
      value: function(C) {
        var D = this.entered.length, x = function(N) {
          return document.documentElement.contains(N) && (!N.contains || N.contains(C));
        };
        return this.entered = (0, r.default)(this.entered.filter(x), [C]), D === 0 && this.entered.length > 0;
      }
    }, {
      key: "leave",
      value: function(C) {
        var D = this.entered.length;
        return this.entered = (0, i.default)(this.entered.filter(function(x) {
          return document.documentElement.contains(x);
        }), C), D > 0 && this.entered.length === 0;
      }
    }, {
      key: "reset",
      value: function() {
        this.entered = [];
      }
    }]), g;
  }();
  return jh.default = c, jh;
}
var ps = {}, b6;
function bJ() {
  if (b6) return ps;
  b6 = 1, Object.defineProperty(ps, "__esModule", {
    value: !0
  }), ps.isSafari = ps.isFirefox = void 0;
  var e = MV(), t = r(e);
  function r(n) {
    return n && n.__esModule ? n : { default: n };
  }
  return ps.isFirefox = (0, t.default)(function() {
    return /firefox/i.test(navigator.userAgent);
  }), ps.isSafari = (0, t.default)(function() {
    return !!window.safari;
  }), ps;
}
var Eu = {}, Uh = {}, _6;
function pke() {
  if (_6) return Uh;
  _6 = 1, Object.defineProperty(Uh, "__esModule", {
    value: !0
  });
  var e = /* @__PURE__ */ function() {
    function n(i, o) {
      for (var l = 0; l < o.length; l++) {
        var c = o[l];
        c.enumerable = c.enumerable || !1, c.configurable = !0, "value" in c && (c.writable = !0), Object.defineProperty(i, c.key, c);
      }
    }
    return function(i, o, l) {
      return o && n(i.prototype, o), l && n(i, l), i;
    };
  }();
  function t(n, i) {
    if (!(n instanceof i))
      throw new TypeError("Cannot call a class as a function");
  }
  var r = function() {
    function n(i, o) {
      t(this, n);
      for (var l = i.length, c = [], g = 0; g < l; g++)
        c.push(g);
      c.sort(function(p, b) {
        return i[p] < i[b] ? -1 : 1;
      });
      for (var y = [], C = [], D = void 0, x = void 0, M = 0; M < l - 1; M++)
        D = i[M + 1] - i[M], x = o[M + 1] - o[M], y.push(D), C.push(x / D);
      for (var N = [C[0]], F = 0; F < y.length - 1; F++) {
        var z = C[F], A = C[F + 1];
        if (z * A <= 0)
          N.push(0);
        else {
          D = y[F];
          var u = y[F + 1], a = D + u;
          N.push(3 * a / ((a + u) / z + (a + D) / A));
        }
      }
      N.push(C[C.length - 1]);
      for (var s = [], h = [], E = void 0, f = 0; f < N.length - 1; f++) {
        E = C[f];
        var S = N[f], _ = 1 / y[f], d = S + N[f + 1] - E - E;
        s.push((E - S - d) * _), h.push(d * _ * _);
      }
      this.xs = i, this.ys = o, this.c1s = N, this.c2s = s, this.c3s = h;
    }
    return e(n, [{
      key: "interpolate",
      value: function(o) {
        var l = this.xs, c = this.ys, g = this.c1s, y = this.c2s, C = this.c3s, D = l.length - 1;
        if (o === l[D])
          return c[D];
        for (var x = 0, M = C.length - 1, N = void 0; x <= M; ) {
          N = Math.floor(0.5 * (x + M));
          var F = l[N];
          if (F < o)
            x = N + 1;
          else if (F > o)
            M = N - 1;
          else
            return c[N];
        }
        D = Math.max(0, M);
        var z = o - l[D], A = z * z;
        return c[D] + g[D] * z + y[D] * A + C[D] * z * A;
      }
    }]), n;
  }();
  return Uh.default = r, Uh;
}
var E6;
function hke() {
  if (E6) return Eu;
  E6 = 1, Object.defineProperty(Eu, "__esModule", {
    value: !0
  }), Eu.getNodeClientOffset = o, Eu.getEventClientOffset = l, Eu.getDragPreviewOffset = y;
  var e = bJ(), t = pke(), r = n(t);
  function n(C) {
    return C && C.__esModule ? C : { default: C };
  }
  var i = 1;
  function o(C) {
    var D = C.nodeType === i ? C : C.parentElement;
    if (!D)
      return null;
    var x = D.getBoundingClientRect(), M = x.top, N = x.left;
    return { x: N, y: M };
  }
  function l(C) {
    return {
      x: C.clientX,
      y: C.clientY
    };
  }
  function c(C) {
    return C.nodeName === "IMG" && ((0, e.isFirefox)() || !document.documentElement.contains(C));
  }
  function g(C, D, x, M) {
    var N = C ? D.width : x, F = C ? D.height : M;
    return (0, e.isSafari)() && C && (F /= window.devicePixelRatio, N /= window.devicePixelRatio), { dragPreviewWidth: N, dragPreviewHeight: F };
  }
  function y(C, D, x, M, N) {
    var F = c(D), z = F ? C : D, A = o(z), u = {
      x: x.x - A.x,
      y: x.y - A.y
    }, a = C.offsetWidth, s = C.offsetHeight, h = M.anchorX, E = M.anchorY, f = g(F, D, a, s), S = f.dragPreviewWidth, _ = f.dragPreviewHeight, d = function() {
      var w = new r.default([0, 0.5, 1], [
        // Dock to the top
        u.y,
        // Align at the center
        u.y / s * _,
        // Dock to the bottom
        u.y + _ - s
      ]), P = w.interpolate(E);
      return (0, e.isSafari)() && F && (P += (window.devicePixelRatio - 1) * _), P;
    }, p = function() {
      var w = new r.default([0, 0.5, 1], [
        // Dock to the left
        u.x,
        // Align at the center
        u.x / a * S,
        // Dock to the right
        u.x + S - a
      ]);
      return w.interpolate(h);
    }, b = N.offsetX, m = N.offsetY, v = b === 0 || b, O = m === 0 || m;
    return {
      x: v ? b : p(),
      y: O ? m : d()
    };
  }
  return Eu;
}
var Ec = {}, Su = {}, S6;
function tN() {
  return S6 || (S6 = 1, Object.defineProperty(Su, "__esModule", {
    value: !0
  }), Su.FILE = "__NATIVE_FILE__", Su.URL = "__NATIVE_URL__", Su.TEXT = "__NATIVE_TEXT__"), Su;
}
var w6;
function mke() {
  if (w6) return Ec;
  w6 = 1, Object.defineProperty(Ec, "__esModule", {
    value: !0
  });
  var e = /* @__PURE__ */ function() {
    function x(M, N) {
      for (var F = 0; F < N.length; F++) {
        var z = N[F];
        z.enumerable = z.enumerable || !1, z.configurable = !0, "value" in z && (z.writable = !0), Object.defineProperty(M, z.key, z);
      }
    }
    return function(M, N, F) {
      return N && x(M.prototype, N), F && x(M, F), M;
    };
  }(), t;
  Ec.createNativeDragSource = C, Ec.matchNativeItemType = D;
  var r = tN(), n = i(r);
  function i(x) {
    if (x && x.__esModule)
      return x;
    var M = {};
    if (x != null)
      for (var N in x)
        Object.prototype.hasOwnProperty.call(x, N) && (M[N] = x[N]);
    return M.default = x, M;
  }
  function o(x, M) {
    for (var N in M) {
      var F = M[N];
      F.configurable = F.enumerable = !0, "value" in F && (F.writable = !0), Object.defineProperty(x, N, F);
    }
    return x;
  }
  function l(x, M) {
    if (!(x instanceof M))
      throw new TypeError("Cannot call a class as a function");
  }
  function c(x, M, N) {
    return M in x ? Object.defineProperty(x, M, { value: N, enumerable: !0, configurable: !0, writable: !0 }) : x[M] = N, x;
  }
  function g(x, M, N) {
    var F = M.reduce(function(z, A) {
      return z || x.getData(A);
    }, null);
    return F ?? N;
  }
  var y = (t = {}, c(t, n.FILE, {
    exposeProperty: "files",
    matchesTypes: ["Files"],
    getData: function(M) {
      return Array.prototype.slice.call(M.files);
    }
  }), c(t, n.URL, {
    exposeProperty: "urls",
    matchesTypes: ["Url", "text/uri-list"],
    getData: function(M, N) {
      return g(M, N, "").split(`
`);
    }
  }), c(t, n.TEXT, {
    exposeProperty: "text",
    matchesTypes: ["Text", "text/plain"],
    getData: function(M, N) {
      return g(M, N, "");
    }
  }), t);
  function C(x) {
    var M = y[x], N = M.exposeProperty, F = M.matchesTypes, z = M.getData;
    return function() {
      function A() {
        var u, a;
        l(this, A), this.item = (u = {}, a = {}, a[N] = a[N] || {}, a[N].get = function() {
          return console.warn(`Browser doesn't allow reading "` + N + '" until the drop event.'), null;
        }, o(u, a), u);
      }
      return e(A, [{
        key: "mutateItemByReadingDataTransfer",
        value: function(a) {
          delete this.item[N], this.item[N] = z(a, F);
        }
      }, {
        key: "canDrag",
        value: function() {
          return !0;
        }
      }, {
        key: "beginDrag",
        value: function() {
          return this.item;
        }
      }, {
        key: "isDragging",
        value: function(a, s) {
          return s === a.getSourceId();
        }
      }, {
        key: "endDrag",
        value: function() {
        }
      }]), A;
    }();
  }
  function D(x) {
    var M = Array.prototype.slice.call(x.types || []);
    return Object.keys(y).filter(function(N) {
      var F = y[N].matchesTypes;
      return F.some(function(z) {
        return M.indexOf(z) > -1;
      });
    })[0] || null;
  }
  return Ec;
}
var O6;
function vke() {
  if (O6) return Fh;
  O6 = 1, Object.defineProperty(Fh, "__esModule", {
    value: !0
  });
  var e = /* @__PURE__ */ function() {
    function z(A, u) {
      for (var a = 0; a < u.length; a++) {
        var s = u[a];
        s.enumerable = s.enumerable || !1, s.configurable = !0, "value" in s && (s.writable = !0), Object.defineProperty(A, s.key, s);
      }
    }
    return function(A, u, a) {
      return u && z(A.prototype, u), a && z(A, a), A;
    };
  }(), t = lke(), r = M(t), n = cke(), i = M(n), o = dke(), l = M(o), c = bJ(), g = hke(), y = mke(), C = tN(), D = x(C);
  function x(z) {
    if (z && z.__esModule)
      return z;
    var A = {};
    if (z != null)
      for (var u in z)
        Object.prototype.hasOwnProperty.call(z, u) && (A[u] = z[u]);
    return A.default = z, A;
  }
  function M(z) {
    return z && z.__esModule ? z : { default: z };
  }
  function N(z, A) {
    if (!(z instanceof A))
      throw new TypeError("Cannot call a class as a function");
  }
  var F = function() {
    function z(A) {
      N(this, z), this.actions = A.getActions(), this.monitor = A.getMonitor(), this.registry = A.getRegistry(), this.context = A.getContext(), this.sourcePreviewNodes = {}, this.sourcePreviewNodeOptions = {}, this.sourceNodes = {}, this.sourceNodeOptions = {}, this.enterLeaveCounter = new l.default(), this.dragStartSourceIds = [], this.dropTargetIds = [], this.dragEnterTargetIds = [], this.currentNativeSource = null, this.currentNativeHandle = null, this.currentDragSourceNode = null, this.currentDragSourceNodeOffset = null, this.currentDragSourceNodeOffsetChanged = !1, this.altKeyPressed = !1, this.mouseMoveTimeoutTimer = null, this.getSourceClientOffset = this.getSourceClientOffset.bind(this), this.handleTopDragStart = this.handleTopDragStart.bind(this), this.handleTopDragStartCapture = this.handleTopDragStartCapture.bind(this), this.handleTopDragEndCapture = this.handleTopDragEndCapture.bind(this), this.handleTopDragEnter = this.handleTopDragEnter.bind(this), this.handleTopDragEnterCapture = this.handleTopDragEnterCapture.bind(this), this.handleTopDragLeaveCapture = this.handleTopDragLeaveCapture.bind(this), this.handleTopDragOver = this.handleTopDragOver.bind(this), this.handleTopDragOverCapture = this.handleTopDragOverCapture.bind(this), this.handleTopDrop = this.handleTopDrop.bind(this), this.handleTopDropCapture = this.handleTopDropCapture.bind(this), this.handleSelectStart = this.handleSelectStart.bind(this), this.endDragIfSourceWasRemovedFromDOM = this.endDragIfSourceWasRemovedFromDOM.bind(this), this.endDragNativeItem = this.endDragNativeItem.bind(this), this.asyncEndDragNativeItem = this.asyncEndDragNativeItem.bind(this), this.isNodeInDocument = this.isNodeInDocument.bind(this);
    }
    return e(z, [{
      key: "setup",
      value: function() {
        if (this.window !== void 0) {
          if (this.window.__isReactDndBackendSetUp)
            throw new Error("Cannot have two HTML5 backends at the same time.");
          this.window.__isReactDndBackendSetUp = !0, this.addEventListeners(this.window);
        }
      }
    }, {
      key: "teardown",
      value: function() {
        this.window !== void 0 && (this.window.__isReactDndBackendSetUp = !1, this.removeEventListeners(this.window), this.clearCurrentDragSourceNode(), this.asyncEndDragFrameId && this.window.cancelAnimationFrame(this.asyncEndDragFrameId));
      }
    }, {
      key: "addEventListeners",
      value: function(u) {
        u.addEventListener && (u.addEventListener("dragstart", this.handleTopDragStart), u.addEventListener("dragstart", this.handleTopDragStartCapture, !0), u.addEventListener("dragend", this.handleTopDragEndCapture, !0), u.addEventListener("dragenter", this.handleTopDragEnter), u.addEventListener("dragenter", this.handleTopDragEnterCapture, !0), u.addEventListener("dragleave", this.handleTopDragLeaveCapture, !0), u.addEventListener("dragover", this.handleTopDragOver), u.addEventListener("dragover", this.handleTopDragOverCapture, !0), u.addEventListener("drop", this.handleTopDrop), u.addEventListener("drop", this.handleTopDropCapture, !0));
      }
    }, {
      key: "removeEventListeners",
      value: function(u) {
        u.removeEventListener && (u.removeEventListener("dragstart", this.handleTopDragStart), u.removeEventListener("dragstart", this.handleTopDragStartCapture, !0), u.removeEventListener("dragend", this.handleTopDragEndCapture, !0), u.removeEventListener("dragenter", this.handleTopDragEnter), u.removeEventListener("dragenter", this.handleTopDragEnterCapture, !0), u.removeEventListener("dragleave", this.handleTopDragLeaveCapture, !0), u.removeEventListener("dragover", this.handleTopDragOver), u.removeEventListener("dragover", this.handleTopDragOverCapture, !0), u.removeEventListener("drop", this.handleTopDrop), u.removeEventListener("drop", this.handleTopDropCapture, !0));
      }
    }, {
      key: "connectDragPreview",
      value: function(u, a, s) {
        var h = this;
        return this.sourcePreviewNodeOptions[u] = s, this.sourcePreviewNodes[u] = a, function() {
          delete h.sourcePreviewNodes[u], delete h.sourcePreviewNodeOptions[u];
        };
      }
    }, {
      key: "connectDragSource",
      value: function(u, a, s) {
        var h = this;
        this.sourceNodes[u] = a, this.sourceNodeOptions[u] = s;
        var E = function(_) {
          return h.handleDragStart(_, u);
        }, f = function(_) {
          return h.handleSelectStart(_, u);
        };
        return a.setAttribute("draggable", !0), a.addEventListener("dragstart", E), a.addEventListener("selectstart", f), function() {
          delete h.sourceNodes[u], delete h.sourceNodeOptions[u], a.removeEventListener("dragstart", E), a.removeEventListener("selectstart", f), a.setAttribute("draggable", !1);
        };
      }
    }, {
      key: "connectDropTarget",
      value: function(u, a) {
        var s = this, h = function(_) {
          return s.handleDragEnter(_, u);
        }, E = function(_) {
          return s.handleDragOver(_, u);
        }, f = function(_) {
          return s.handleDrop(_, u);
        };
        return a.addEventListener("dragenter", h), a.addEventListener("dragover", E), a.addEventListener("drop", f), function() {
          a.removeEventListener("dragenter", h), a.removeEventListener("dragover", E), a.removeEventListener("drop", f);
        };
      }
    }, {
      key: "getCurrentSourceNodeOptions",
      value: function() {
        var u = this.monitor.getSourceId(), a = this.sourceNodeOptions[u];
        return (0, r.default)(a || {}, {
          dropEffect: this.altKeyPressed ? "copy" : "move"
        });
      }
    }, {
      key: "getCurrentDropEffect",
      value: function() {
        return this.isDraggingNativeItem() ? "copy" : this.getCurrentSourceNodeOptions().dropEffect;
      }
    }, {
      key: "getCurrentSourcePreviewNodeOptions",
      value: function() {
        var u = this.monitor.getSourceId(), a = this.sourcePreviewNodeOptions[u];
        return (0, r.default)(a || {}, {
          anchorX: 0.5,
          anchorY: 0.5,
          captureDraggingState: !1
        });
      }
    }, {
      key: "getSourceClientOffset",
      value: function(u) {
        return (0, g.getNodeClientOffset)(this.sourceNodes[u]);
      }
    }, {
      key: "isDraggingNativeItem",
      value: function() {
        var u = this.monitor.getItemType();
        return Object.keys(D).some(function(a) {
          return D[a] === u;
        });
      }
    }, {
      key: "beginDragNativeItem",
      value: function(u) {
        this.clearCurrentDragSourceNode();
        var a = (0, y.createNativeDragSource)(u);
        this.currentNativeSource = new a(), this.currentNativeHandle = this.registry.addSource(u, this.currentNativeSource), this.actions.beginDrag([this.currentNativeHandle]);
      }
    }, {
      key: "asyncEndDragNativeItem",
      value: function() {
        this.asyncEndDragFrameId = this.window.requestAnimationFrame(this.endDragNativeItem);
      }
    }, {
      key: "endDragNativeItem",
      value: function() {
        this.isDraggingNativeItem() && (this.actions.endDrag(), this.registry.removeSource(this.currentNativeHandle), this.currentNativeHandle = null, this.currentNativeSource = null);
      }
    }, {
      key: "isNodeInDocument",
      value: function(u) {
        return document.body.contains(u) || this.window ? this.window.document.body.contains(u) : !1;
      }
    }, {
      key: "endDragIfSourceWasRemovedFromDOM",
      value: function() {
        var u = this.currentDragSourceNode;
        this.isNodeInDocument(u) || this.clearCurrentDragSourceNode() && this.actions.endDrag();
      }
    }, {
      key: "setCurrentDragSourceNode",
      value: function(u) {
        var a = this;
        this.clearCurrentDragSourceNode(), this.currentDragSourceNode = u, this.currentDragSourceNodeOffset = (0, g.getNodeClientOffset)(u), this.currentDragSourceNodeOffsetChanged = !1;
        var s = 1e3;
        this.mouseMoveTimeoutTimer = setTimeout(function() {
          return a.mouseMoveTimeoutId = null, a.window.addEventListener("mousemove", a.endDragIfSourceWasRemovedFromDOM, !0);
        }, s);
      }
    }, {
      key: "clearCurrentDragSourceNode",
      value: function() {
        return this.currentDragSourceNode ? (this.currentDragSourceNode = null, this.currentDragSourceNodeOffset = null, this.currentDragSourceNodeOffsetChanged = !1, this.window.clearTimeout(this.mouseMoveTimeoutTimer), this.window.removeEventListener("mousemove", this.endDragIfSourceWasRemovedFromDOM, !0), this.mouseMoveTimeoutTimer = null, !0) : !1;
      }
    }, {
      key: "checkIfCurrentDragSourceRectChanged",
      value: function() {
        var u = this.currentDragSourceNode;
        return u ? this.currentDragSourceNodeOffsetChanged ? !0 : (this.currentDragSourceNodeOffsetChanged = !(0, i.default)((0, g.getNodeClientOffset)(u), this.currentDragSourceNodeOffset), this.currentDragSourceNodeOffsetChanged) : !1;
      }
    }, {
      key: "handleTopDragStartCapture",
      value: function() {
        this.clearCurrentDragSourceNode(), this.dragStartSourceIds = [];
      }
    }, {
      key: "handleDragStart",
      value: function(u, a) {
        this.dragStartSourceIds.unshift(a);
      }
    }, {
      key: "handleTopDragStart",
      value: function(u) {
        var a = this, s = this.dragStartSourceIds;
        this.dragStartSourceIds = null;
        var h = (0, g.getEventClientOffset)(u);
        this.monitor.isDragging() && this.actions.endDrag(), this.actions.beginDrag(s, {
          publishSource: !1,
          getSourceClientOffset: this.getSourceClientOffset,
          clientOffset: h
        });
        var E = u.dataTransfer, f = (0, y.matchNativeItemType)(E);
        if (this.monitor.isDragging()) {
          if (typeof E.setDragImage == "function") {
            var S = this.monitor.getSourceId(), _ = this.sourceNodes[S], d = this.sourcePreviewNodes[S] || _, p = this.getCurrentSourcePreviewNodeOptions(), b = p.anchorX, m = p.anchorY, v = p.offsetX, O = p.offsetY, T = { anchorX: b, anchorY: m }, w = { offsetX: v, offsetY: O }, P = (0, g.getDragPreviewOffset)(_, d, h, T, w);
            E.setDragImage(d, P.x, P.y);
          }
          try {
            E.setData("application/json", {});
          } catch {
          }
          this.setCurrentDragSourceNode(u.target);
          var I = this.getCurrentSourcePreviewNodeOptions(), L = I.captureDraggingState;
          L ? this.actions.publishDragSource() : setTimeout(function() {
            return a.actions.publishDragSource();
          });
        } else if (f)
          this.beginDragNativeItem(f);
        else {
          if (!E.types && (!u.target.hasAttribute || !u.target.hasAttribute("draggable")))
            return;
          u.preventDefault();
        }
      }
    }, {
      key: "handleTopDragEndCapture",
      value: function() {
        this.clearCurrentDragSourceNode() && this.actions.endDrag();
      }
    }, {
      key: "handleTopDragEnterCapture",
      value: function(u) {
        this.dragEnterTargetIds = [];
        var a = this.enterLeaveCounter.enter(u.target);
        if (!(!a || this.monitor.isDragging())) {
          var s = u.dataTransfer, h = (0, y.matchNativeItemType)(s);
          h && this.beginDragNativeItem(h);
        }
      }
    }, {
      key: "handleDragEnter",
      value: function(u, a) {
        this.dragEnterTargetIds.unshift(a);
      }
    }, {
      key: "handleTopDragEnter",
      value: function(u) {
        var a = this, s = this.dragEnterTargetIds;
        if (this.dragEnterTargetIds = [], !!this.monitor.isDragging()) {
          this.altKeyPressed = u.altKey, (0, c.isFirefox)() || this.actions.hover(s, {
            clientOffset: (0, g.getEventClientOffset)(u)
          });
          var h = s.some(function(E) {
            return a.monitor.canDropOnTarget(E);
          });
          h && (u.preventDefault(), u.dataTransfer.dropEffect = this.getCurrentDropEffect());
        }
      }
    }, {
      key: "handleTopDragOverCapture",
      value: function() {
        this.dragOverTargetIds = [];
      }
    }, {
      key: "handleDragOver",
      value: function(u, a) {
        this.dragOverTargetIds.unshift(a);
      }
    }, {
      key: "handleTopDragOver",
      value: function(u) {
        var a = this, s = this.dragOverTargetIds;
        if (this.dragOverTargetIds = [], !this.monitor.isDragging()) {
          u.preventDefault(), u.dataTransfer.dropEffect = "none";
          return;
        }
        this.altKeyPressed = u.altKey, this.actions.hover(s, {
          clientOffset: (0, g.getEventClientOffset)(u)
        });
        var h = s.some(function(E) {
          return a.monitor.canDropOnTarget(E);
        });
        h ? (u.preventDefault(), u.dataTransfer.dropEffect = this.getCurrentDropEffect()) : this.isDraggingNativeItem() ? (u.preventDefault(), u.dataTransfer.dropEffect = "none") : this.checkIfCurrentDragSourceRectChanged() && (u.preventDefault(), u.dataTransfer.dropEffect = "move");
      }
    }, {
      key: "handleTopDragLeaveCapture",
      value: function(u) {
        this.isDraggingNativeItem() && u.preventDefault();
        var a = this.enterLeaveCounter.leave(u.target);
        a && this.isDraggingNativeItem() && this.endDragNativeItem();
      }
    }, {
      key: "handleTopDropCapture",
      value: function(u) {
        this.dropTargetIds = [], u.preventDefault(), this.isDraggingNativeItem() && this.currentNativeSource.mutateItemByReadingDataTransfer(u.dataTransfer), this.enterLeaveCounter.reset();
      }
    }, {
      key: "handleDrop",
      value: function(u, a) {
        this.dropTargetIds.unshift(a);
      }
    }, {
      key: "handleTopDrop",
      value: function(u) {
        var a = this.dropTargetIds;
        this.dropTargetIds = [], this.actions.hover(a, {
          clientOffset: (0, g.getEventClientOffset)(u)
        }), this.actions.drop({ dropEffect: this.getCurrentDropEffect() }), this.isDraggingNativeItem() ? this.endDragNativeItem() : this.endDragIfSourceWasRemovedFromDOM();
      }
    }, {
      key: "handleSelectStart",
      value: function(u) {
        var a = u.target;
        typeof a.dragDrop == "function" && (a.tagName === "INPUT" || a.tagName === "SELECT" || a.tagName === "TEXTAREA" || a.isContentEditable || (u.preventDefault(), a.dragDrop()));
      }
    }, {
      key: "window",
      get: function() {
        if (this.context && this.context.window)
          return this.context.window;
        if (typeof window < "u")
          return window;
      }
    }]), z;
  }();
  return Fh.default = F, Fh;
}
var qh = {}, T6;
function gke() {
  if (T6) return qh;
  T6 = 1, Object.defineProperty(qh, "__esModule", {
    value: !0
  }), qh.default = t;
  var e = void 0;
  function t() {
    return e || (e = new Image(), e.src = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="), e;
  }
  return qh;
}
var C6;
function yke() {
  if (C6) return Eo;
  C6 = 1, Object.defineProperty(Eo, "__esModule", {
    value: !0
  }), Eo.getEmptyImage = Eo.NativeTypes = void 0, Eo.default = g;
  var e = vke(), t = c(e), r = gke(), n = c(r), i = tN(), o = l(i);
  function l(y) {
    if (y && y.__esModule)
      return y;
    var C = {};
    if (y != null)
      for (var D in y)
        Object.prototype.hasOwnProperty.call(y, D) && (C[D] = y[D]);
    return C.default = y, C;
  }
  function c(y) {
    return y && y.__esModule ? y : { default: y };
  }
  Eo.NativeTypes = o, Eo.getEmptyImage = n.default;
  function g(y) {
    return new t.default(y);
  }
  return Eo;
}
function _J(e) {
  var t = function(n) {
    var i = n.dispatch, o = n.getState;
    return function(l) {
      return function(c) {
        return typeof c == "function" ? c(i, o, e) : l(c);
      };
    };
  };
  return t;
}
var EJ = _J();
EJ.withExtraArgument = _J;
const bke = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  default: EJ
}, Symbol.toStringTag, { value: "Module" })), _ke = /* @__PURE__ */ On(bke);
var Zt = {}, QC = {};
const dt = /* @__PURE__ */ On(epe);
var ZC = {}, zh = {}, JC, x6;
function Eke() {
  if (x6) return JC;
  x6 = 1;
  var e, t, r = {
    '"': '"',
    "\\": "\\",
    "/": "/",
    b: "\b",
    f: "\f",
    n: `
`,
    r: "\r",
    t: "	"
  }, n;
  function i(M) {
    throw {
      name: "SyntaxError",
      message: M,
      at: e,
      text: n
    };
  }
  function o(M) {
    return M && M !== t && i("Expected '" + M + "' instead of '" + t + "'"), t = n.charAt(e), e += 1, t;
  }
  function l() {
    var M, N = "";
    for (t === "-" && (N = "-", o("-")); t >= "0" && t <= "9"; )
      N += t, o();
    if (t === ".")
      for (N += "."; o() && t >= "0" && t <= "9"; )
        N += t;
    if (t === "e" || t === "E")
      for (N += t, o(), (t === "-" || t === "+") && (N += t, o()); t >= "0" && t <= "9"; )
        N += t, o();
    return M = Number(N), isFinite(M) || i("Bad number"), M;
  }
  function c() {
    var M, N, F = "", z;
    if (t === '"')
      for (; o(); ) {
        if (t === '"')
          return o(), F;
        if (t === "\\")
          if (o(), t === "u") {
            for (z = 0, N = 0; N < 4 && (M = parseInt(o(), 16), !!isFinite(M)); N += 1)
              z = z * 16 + M;
            F += String.fromCharCode(z);
          } else if (typeof r[t] == "string")
            F += r[t];
          else
            break;
        else
          F += t;
      }
    i("Bad string");
  }
  function g() {
    for (; t && t <= " "; )
      o();
  }
  function y() {
    switch (t) {
      case "t":
        return o("t"), o("r"), o("u"), o("e"), !0;
      case "f":
        return o("f"), o("a"), o("l"), o("s"), o("e"), !1;
      case "n":
        return o("n"), o("u"), o("l"), o("l"), null;
      default:
        i("Unexpected '" + t + "'");
    }
  }
  function C() {
    var M = [];
    if (t === "[") {
      if (o("["), g(), t === "]")
        return o("]"), M;
      for (; t; ) {
        if (M.push(x()), g(), t === "]")
          return o("]"), M;
        o(","), g();
      }
    }
    i("Bad array");
  }
  function D() {
    var M, N = {};
    if (t === "{") {
      if (o("{"), g(), t === "}")
        return o("}"), N;
      for (; t; ) {
        if (M = c(), g(), o(":"), Object.prototype.hasOwnProperty.call(N, M) && i('Duplicate key "' + M + '"'), N[M] = x(), g(), t === "}")
          return o("}"), N;
        o(","), g();
      }
    }
    i("Bad object");
  }
  function x() {
    switch (g(), t) {
      case "{":
        return D();
      case "[":
        return C();
      case '"':
        return c();
      case "-":
        return l();
      default:
        return t >= "0" && t <= "9" ? l() : y();
    }
  }
  return JC = function(M, N) {
    var F;
    return n = M, e = 0, t = " ", F = x(), g(), t && i("Syntax error"), typeof N == "function" ? function z(A, u) {
      var a, s, h = A[u];
      if (h && typeof h == "object")
        for (a in x)
          Object.prototype.hasOwnProperty.call(h, a) && (s = z(h, a), typeof s > "u" ? delete h[a] : h[a] = s);
      return N.call(A, u, h);
    }({ "": F }, "") : F;
  }, JC;
}
var ex, A6;
function Ske() {
  if (A6) return ex;
  A6 = 1;
  var e = /[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, t, r, n = {
    // table of character substitutions
    "\b": "\\b",
    "	": "\\t",
    "\n": "\\n",
    "\f": "\\f",
    "\r": "\\r",
    '"': '\\"',
    "\\": "\\\\"
  }, i;
  function o(c) {
    return e.lastIndex = 0, e.test(c) ? '"' + c.replace(e, function(g) {
      var y = n[g];
      return typeof y == "string" ? y : "\\u" + ("0000" + g.charCodeAt(0).toString(16)).slice(-4);
    }) + '"' : '"' + c + '"';
  }
  function l(c, g) {
    var y, C, D, x, M = t, N, F = g[c];
    switch (F && typeof F == "object" && typeof F.toJSON == "function" && (F = F.toJSON(c)), typeof i == "function" && (F = i.call(g, c, F)), typeof F) {
      case "string":
        return o(F);
      case "number":
        return isFinite(F) ? String(F) : "null";
      case "boolean":
      case "null":
        return String(F);
      case "object":
        if (!F)
          return "null";
        if (t += r, N = [], Object.prototype.toString.apply(F) === "[object Array]") {
          for (x = F.length, y = 0; y < x; y += 1)
            N[y] = l(y, F) || "null";
          return D = N.length === 0 ? "[]" : t ? `[
` + t + N.join(`,
` + t) + `
` + M + "]" : "[" + N.join(",") + "]", t = M, D;
        }
        if (i && typeof i == "object")
          for (x = i.length, y = 0; y < x; y += 1)
            C = i[y], typeof C == "string" && (D = l(C, F), D && N.push(o(C) + (t ? ": " : ":") + D));
        else
          for (C in F)
            Object.prototype.hasOwnProperty.call(F, C) && (D = l(C, F), D && N.push(o(C) + (t ? ": " : ":") + D));
        return D = N.length === 0 ? "{}" : t ? `{
` + t + N.join(`,
` + t) + `
` + M + "}" : "{" + N.join(",") + "}", t = M, D;
    }
  }
  return ex = function(c, g, y) {
    var C;
    if (t = "", r = "", typeof y == "number")
      for (C = 0; C < y; C += 1)
        r += " ";
    else typeof y == "string" && (r = y);
    if (i = g, g && typeof g != "function" && (typeof g != "object" || typeof g.length != "number"))
      throw new Error("JSON.stringify");
    return l("", { "": c });
  }, ex;
}
var D6;
function wke() {
  return D6 || (D6 = 1, zh.parse = Eke(), zh.stringify = Ske()), zh;
}
var tx, P6;
function Oke() {
  if (P6) return tx;
  P6 = 1;
  var e = {}.toString;
  return tx = Array.isArray || function(t) {
    return e.call(t) == "[object Array]";
  }, tx;
}
var rx, k6;
function SJ() {
  if (k6) return rx;
  k6 = 1;
  var e = Object.prototype.toString;
  return rx = function(r) {
    var n = e.call(r), i = n === "[object Arguments]";
    return i || (i = n !== "[object Array]" && r !== null && typeof r == "object" && typeof r.length == "number" && r.length >= 0 && e.call(r.callee) === "[object Function]"), i;
  }, rx;
}
var nx, R6;
function Tke() {
  if (R6) return nx;
  R6 = 1;
  var e;
  if (!Object.keys) {
    var t = Object.prototype.hasOwnProperty, r = Object.prototype.toString, n = SJ(), i = Object.prototype.propertyIsEnumerable, o = !i.call({ toString: null }, "toString"), l = i.call(function() {
    }, "prototype"), c = [
      "toString",
      "toLocaleString",
      "valueOf",
      "hasOwnProperty",
      "isPrototypeOf",
      "propertyIsEnumerable",
      "constructor"
    ], g = function(x) {
      var M = x.constructor;
      return M && M.prototype === x;
    }, y = {
      $applicationCache: !0,
      $console: !0,
      $external: !0,
      $frame: !0,
      $frameElement: !0,
      $frames: !0,
      $innerHeight: !0,
      $innerWidth: !0,
      $onmozfullscreenchange: !0,
      $onmozfullscreenerror: !0,
      $outerHeight: !0,
      $outerWidth: !0,
      $pageXOffset: !0,
      $pageYOffset: !0,
      $parent: !0,
      $scrollLeft: !0,
      $scrollTop: !0,
      $scrollX: !0,
      $scrollY: !0,
      $self: !0,
      $webkitIndexedDB: !0,
      $webkitStorageInfo: !0,
      $window: !0
    }, C = function() {
      if (typeof window > "u")
        return !1;
      for (var x in window)
        try {
          if (!y["$" + x] && t.call(window, x) && window[x] !== null && typeof window[x] == "object")
            try {
              g(window[x]);
            } catch {
              return !0;
            }
        } catch {
          return !0;
        }
      return !1;
    }(), D = function(x) {
      if (typeof window > "u" || !C)
        return g(x);
      try {
        return g(x);
      } catch {
        return !1;
      }
    };
    e = function(M) {
      var N = M !== null && typeof M == "object", F = r.call(M) === "[object Function]", z = n(M), A = N && r.call(M) === "[object String]", u = [];
      if (!N && !F && !z)
        throw new TypeError("Object.keys called on a non-object");
      var a = l && F;
      if (A && M.length > 0 && !t.call(M, 0))
        for (var s = 0; s < M.length; ++s)
          u.push(String(s));
      if (z && M.length > 0)
        for (var h = 0; h < M.length; ++h)
          u.push(String(h));
      else
        for (var E in M)
          !(a && E === "prototype") && t.call(M, E) && u.push(String(E));
      if (o)
        for (var f = D(M), S = 0; S < c.length; ++S)
          !(f && c[S] === "constructor") && t.call(M, c[S]) && u.push(c[S]);
      return u;
    };
  }
  return nx = e, nx;
}
var ix, M6;
function Cke() {
  if (M6) return ix;
  M6 = 1;
  var e = Array.prototype.slice, t = SJ(), r = Object.keys, n = r ? function(l) {
    return r(l);
  } : Tke(), i = Object.keys;
  return n.shim = function() {
    if (Object.keys) {
      var l = function() {
        var c = Object.keys(arguments);
        return c && c.length === arguments.length;
      }(1, 2);
      l || (Object.keys = function(g) {
        return t(g) ? i(e.call(g)) : i(g);
      });
    } else
      Object.keys = n;
    return Object.keys || n;
  }, ix = n, ix;
}
var ax = { exports: {} }, ox, N6;
function xke() {
  if (N6) return ox;
  N6 = 1;
  var e = "Function.prototype.bind called on incompatible ", t = Object.prototype.toString, r = Math.max, n = "[object Function]", i = function(g, y) {
    for (var C = [], D = 0; D < g.length; D += 1)
      C[D] = g[D];
    for (var x = 0; x < y.length; x += 1)
      C[x + g.length] = y[x];
    return C;
  }, o = function(g, y) {
    for (var C = [], D = y, x = 0; D < g.length; D += 1, x += 1)
      C[x] = g[D];
    return C;
  }, l = function(c, g) {
    for (var y = "", C = 0; C < c.length; C += 1)
      y += c[C], C + 1 < c.length && (y += g);
    return y;
  };
  return ox = function(g) {
    var y = this;
    if (typeof y != "function" || t.apply(y) !== n)
      throw new TypeError(e + y);
    for (var C = o(arguments, 1), D, x = function() {
      if (this instanceof D) {
        var A = y.apply(
          this,
          i(C, arguments)
        );
        return Object(A) === A ? A : this;
      }
      return y.apply(
        g,
        i(C, arguments)
      );
    }, M = r(0, y.length - C.length), N = [], F = 0; F < M; F++)
      N[F] = "$" + F;
    if (D = Function("binder", "return function (" + l(N, ",") + "){ return binder.apply(this,arguments); }")(x), y.prototype) {
      var z = function() {
      };
      z.prototype = y.prototype, D.prototype = new z(), z.prototype = null;
    }
    return D;
  }, ox;
}
var sx, I6;
function rN() {
  if (I6) return sx;
  I6 = 1;
  var e = xke();
  return sx = Function.prototype.bind || e, sx;
}
var ux, F6;
function Ake() {
  return F6 || (F6 = 1, ux = Error), ux;
}
var lx, L6;
function Dke() {
  return L6 || (L6 = 1, lx = EvalError), lx;
}
var cx, j6;
function Pke() {
  return j6 || (j6 = 1, cx = RangeError), cx;
}
var fx, U6;
function kke() {
  return U6 || (U6 = 1, fx = ReferenceError), fx;
}
var dx, q6;
function wJ() {
  return q6 || (q6 = 1, dx = SyntaxError), dx;
}
var px, z6;
function d_() {
  return z6 || (z6 = 1, px = TypeError), px;
}
var hx, B6;
function Rke() {
  return B6 || (B6 = 1, hx = URIError), hx;
}
var mx, W6;
function Mke() {
  return W6 || (W6 = 1, mx = function() {
    if (typeof Symbol != "function" || typeof Object.getOwnPropertySymbols != "function")
      return !1;
    if (typeof Symbol.iterator == "symbol")
      return !0;
    var t = {}, r = Symbol("test"), n = Object(r);
    if (typeof r == "string" || Object.prototype.toString.call(r) !== "[object Symbol]" || Object.prototype.toString.call(n) !== "[object Symbol]")
      return !1;
    var i = 42;
    t[r] = i;
    for (r in t)
      return !1;
    if (typeof Object.keys == "function" && Object.keys(t).length !== 0 || typeof Object.getOwnPropertyNames == "function" && Object.getOwnPropertyNames(t).length !== 0)
      return !1;
    var o = Object.getOwnPropertySymbols(t);
    if (o.length !== 1 || o[0] !== r || !Object.prototype.propertyIsEnumerable.call(t, r))
      return !1;
    if (typeof Object.getOwnPropertyDescriptor == "function") {
      var l = Object.getOwnPropertyDescriptor(t, r);
      if (l.value !== i || l.enumerable !== !0)
        return !1;
    }
    return !0;
  }), mx;
}
var vx, $6;
function Nke() {
  if ($6) return vx;
  $6 = 1;
  var e = typeof Symbol < "u" && Symbol, t = Mke();
  return vx = function() {
    return typeof e != "function" || typeof Symbol != "function" || typeof e("foo") != "symbol" || typeof Symbol("bar") != "symbol" ? !1 : t();
  }, vx;
}
var gx, V6;
function Ike() {
  if (V6) return gx;
  V6 = 1;
  var e = {
    __proto__: null,
    foo: {}
  }, t = Object;
  return gx = function() {
    return { __proto__: e }.foo === e.foo && !(e instanceof t);
  }, gx;
}
var yx, H6;
function Fke() {
  if (H6) return yx;
  H6 = 1;
  var e = Function.prototype.call, t = Object.prototype.hasOwnProperty, r = rN();
  return yx = r.call(e, t), yx;
}
var bx, Y6;
function Yd() {
  if (Y6) return bx;
  Y6 = 1;
  var e, t = Ake(), r = Dke(), n = Pke(), i = kke(), o = wJ(), l = d_(), c = Rke(), g = Function, y = function(w) {
    try {
      return g('"use strict"; return (' + w + ").constructor;")();
    } catch {
    }
  }, C = Object.getOwnPropertyDescriptor;
  if (C)
    try {
      C({}, "");
    } catch {
      C = null;
    }
  var D = function() {
    throw new l();
  }, x = C ? function() {
    try {
      return arguments.callee, D;
    } catch {
      try {
        return C(arguments, "callee").get;
      } catch {
        return D;
      }
    }
  }() : D, M = Nke()(), N = Ike()(), F = Object.getPrototypeOf || (N ? function(w) {
    return w.__proto__;
  } : null), z = {}, A = typeof Uint8Array > "u" || !F ? e : F(Uint8Array), u = {
    __proto__: null,
    "%AggregateError%": typeof AggregateError > "u" ? e : AggregateError,
    "%Array%": Array,
    "%ArrayBuffer%": typeof ArrayBuffer > "u" ? e : ArrayBuffer,
    "%ArrayIteratorPrototype%": M && F ? F([][Symbol.iterator]()) : e,
    "%AsyncFromSyncIteratorPrototype%": e,
    "%AsyncFunction%": z,
    "%AsyncGenerator%": z,
    "%AsyncGeneratorFunction%": z,
    "%AsyncIteratorPrototype%": z,
    "%Atomics%": typeof Atomics > "u" ? e : Atomics,
    "%BigInt%": typeof BigInt > "u" ? e : BigInt,
    "%BigInt64Array%": typeof BigInt64Array > "u" ? e : BigInt64Array,
    "%BigUint64Array%": typeof BigUint64Array > "u" ? e : BigUint64Array,
    "%Boolean%": Boolean,
    "%DataView%": typeof DataView > "u" ? e : DataView,
    "%Date%": Date,
    "%decodeURI%": decodeURI,
    "%decodeURIComponent%": decodeURIComponent,
    "%encodeURI%": encodeURI,
    "%encodeURIComponent%": encodeURIComponent,
    "%Error%": t,
    "%eval%": eval,
    // eslint-disable-line no-eval
    "%EvalError%": r,
    "%Float32Array%": typeof Float32Array > "u" ? e : Float32Array,
    "%Float64Array%": typeof Float64Array > "u" ? e : Float64Array,
    "%FinalizationRegistry%": typeof FinalizationRegistry > "u" ? e : FinalizationRegistry,
    "%Function%": g,
    "%GeneratorFunction%": z,
    "%Int8Array%": typeof Int8Array > "u" ? e : Int8Array,
    "%Int16Array%": typeof Int16Array > "u" ? e : Int16Array,
    "%Int32Array%": typeof Int32Array > "u" ? e : Int32Array,
    "%isFinite%": isFinite,
    "%isNaN%": isNaN,
    "%IteratorPrototype%": M && F ? F(F([][Symbol.iterator]())) : e,
    "%JSON%": typeof JSON == "object" ? JSON : e,
    "%Map%": typeof Map > "u" ? e : Map,
    "%MapIteratorPrototype%": typeof Map > "u" || !M || !F ? e : F((/* @__PURE__ */ new Map())[Symbol.iterator]()),
    "%Math%": Math,
    "%Number%": Number,
    "%Object%": Object,
    "%parseFloat%": parseFloat,
    "%parseInt%": parseInt,
    "%Promise%": typeof Promise > "u" ? e : Promise,
    "%Proxy%": typeof Proxy > "u" ? e : Proxy,
    "%RangeError%": n,
    "%ReferenceError%": i,
    "%Reflect%": typeof Reflect > "u" ? e : Reflect,
    "%RegExp%": RegExp,
    "%Set%": typeof Set > "u" ? e : Set,
    "%SetIteratorPrototype%": typeof Set > "u" || !M || !F ? e : F((/* @__PURE__ */ new Set())[Symbol.iterator]()),
    "%SharedArrayBuffer%": typeof SharedArrayBuffer > "u" ? e : SharedArrayBuffer,
    "%String%": String,
    "%StringIteratorPrototype%": M && F ? F(""[Symbol.iterator]()) : e,
    "%Symbol%": M ? Symbol : e,
    "%SyntaxError%": o,
    "%ThrowTypeError%": x,
    "%TypedArray%": A,
    "%TypeError%": l,
    "%Uint8Array%": typeof Uint8Array > "u" ? e : Uint8Array,
    "%Uint8ClampedArray%": typeof Uint8ClampedArray > "u" ? e : Uint8ClampedArray,
    "%Uint16Array%": typeof Uint16Array > "u" ? e : Uint16Array,
    "%Uint32Array%": typeof Uint32Array > "u" ? e : Uint32Array,
    "%URIError%": c,
    "%WeakMap%": typeof WeakMap > "u" ? e : WeakMap,
    "%WeakRef%": typeof WeakRef > "u" ? e : WeakRef,
    "%WeakSet%": typeof WeakSet > "u" ? e : WeakSet
  };
  if (F)
    try {
      null.error;
    } catch (w) {
      var a = F(F(w));
      u["%Error.prototype%"] = a;
    }
  var s = function w(P) {
    var I;
    if (P === "%AsyncFunction%")
      I = y("async function () {}");
    else if (P === "%GeneratorFunction%")
      I = y("function* () {}");
    else if (P === "%AsyncGeneratorFunction%")
      I = y("async function* () {}");
    else if (P === "%AsyncGenerator%") {
      var L = w("%AsyncGeneratorFunction%");
      L && (I = L.prototype);
    } else if (P === "%AsyncIteratorPrototype%") {
      var R = w("%AsyncGenerator%");
      R && F && (I = F(R.prototype));
    }
    return u[P] = I, I;
  }, h = {
    __proto__: null,
    "%ArrayBufferPrototype%": ["ArrayBuffer", "prototype"],
    "%ArrayPrototype%": ["Array", "prototype"],
    "%ArrayProto_entries%": ["Array", "prototype", "entries"],
    "%ArrayProto_forEach%": ["Array", "prototype", "forEach"],
    "%ArrayProto_keys%": ["Array", "prototype", "keys"],
    "%ArrayProto_values%": ["Array", "prototype", "values"],
    "%AsyncFunctionPrototype%": ["AsyncFunction", "prototype"],
    "%AsyncGenerator%": ["AsyncGeneratorFunction", "prototype"],
    "%AsyncGeneratorPrototype%": ["AsyncGeneratorFunction", "prototype", "prototype"],
    "%BooleanPrototype%": ["Boolean", "prototype"],
    "%DataViewPrototype%": ["DataView", "prototype"],
    "%DatePrototype%": ["Date", "prototype"],
    "%ErrorPrototype%": ["Error", "prototype"],
    "%EvalErrorPrototype%": ["EvalError", "prototype"],
    "%Float32ArrayPrototype%": ["Float32Array", "prototype"],
    "%Float64ArrayPrototype%": ["Float64Array", "prototype"],
    "%FunctionPrototype%": ["Function", "prototype"],
    "%Generator%": ["GeneratorFunction", "prototype"],
    "%GeneratorPrototype%": ["GeneratorFunction", "prototype", "prototype"],
    "%Int8ArrayPrototype%": ["Int8Array", "prototype"],
    "%Int16ArrayPrototype%": ["Int16Array", "prototype"],
    "%Int32ArrayPrototype%": ["Int32Array", "prototype"],
    "%JSONParse%": ["JSON", "parse"],
    "%JSONStringify%": ["JSON", "stringify"],
    "%MapPrototype%": ["Map", "prototype"],
    "%NumberPrototype%": ["Number", "prototype"],
    "%ObjectPrototype%": ["Object", "prototype"],
    "%ObjProto_toString%": ["Object", "prototype", "toString"],
    "%ObjProto_valueOf%": ["Object", "prototype", "valueOf"],
    "%PromisePrototype%": ["Promise", "prototype"],
    "%PromiseProto_then%": ["Promise", "prototype", "then"],
    "%Promise_all%": ["Promise", "all"],
    "%Promise_reject%": ["Promise", "reject"],
    "%Promise_resolve%": ["Promise", "resolve"],
    "%RangeErrorPrototype%": ["RangeError", "prototype"],
    "%ReferenceErrorPrototype%": ["ReferenceError", "prototype"],
    "%RegExpPrototype%": ["RegExp", "prototype"],
    "%SetPrototype%": ["Set", "prototype"],
    "%SharedArrayBufferPrototype%": ["SharedArrayBuffer", "prototype"],
    "%StringPrototype%": ["String", "prototype"],
    "%SymbolPrototype%": ["Symbol", "prototype"],
    "%SyntaxErrorPrototype%": ["SyntaxError", "prototype"],
    "%TypedArrayPrototype%": ["TypedArray", "prototype"],
    "%TypeErrorPrototype%": ["TypeError", "prototype"],
    "%Uint8ArrayPrototype%": ["Uint8Array", "prototype"],
    "%Uint8ClampedArrayPrototype%": ["Uint8ClampedArray", "prototype"],
    "%Uint16ArrayPrototype%": ["Uint16Array", "prototype"],
    "%Uint32ArrayPrototype%": ["Uint32Array", "prototype"],
    "%URIErrorPrototype%": ["URIError", "prototype"],
    "%WeakMapPrototype%": ["WeakMap", "prototype"],
    "%WeakSetPrototype%": ["WeakSet", "prototype"]
  }, E = rN(), f = Fke(), S = E.call(Function.call, Array.prototype.concat), _ = E.call(Function.apply, Array.prototype.splice), d = E.call(Function.call, String.prototype.replace), p = E.call(Function.call, String.prototype.slice), b = E.call(Function.call, RegExp.prototype.exec), m = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g, v = /\\(\\)?/g, O = function(P) {
    var I = p(P, 0, 1), L = p(P, -1);
    if (I === "%" && L !== "%")
      throw new o("invalid intrinsic syntax, expected closing `%`");
    if (L === "%" && I !== "%")
      throw new o("invalid intrinsic syntax, expected opening `%`");
    var R = [];
    return d(P, m, function(q, B, j, k) {
      R[R.length] = j ? d(k, v, "$1") : B || q;
    }), R;
  }, T = function(P, I) {
    var L = P, R;
    if (f(h, L) && (R = h[L], L = "%" + R[0] + "%"), f(u, L)) {
      var q = u[L];
      if (q === z && (q = s(L)), typeof q > "u" && !I)
        throw new l("intrinsic " + P + " exists, but is not available. Please file an issue!");
      return {
        alias: R,
        name: L,
        value: q
      };
    }
    throw new o("intrinsic " + P + " does not exist!");
  };
  return bx = function(P, I) {
    if (typeof P != "string" || P.length === 0)
      throw new l("intrinsic name must be a non-empty string");
    if (arguments.length > 1 && typeof I != "boolean")
      throw new l('"allowMissing" argument must be a boolean');
    if (b(/^%?[^%]*%?$/, P) === null)
      throw new o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");
    var L = O(P), R = L.length > 0 ? L[0] : "", q = T("%" + R + "%", I), B = q.name, j = q.value, k = !1, U = q.alias;
    U && (R = U[0], _(L, S([0, 1], U)));
    for (var W = 1, $ = !0; W < L.length; W += 1) {
      var V = L[W], G = p(V, 0, 1), X = p(V, -1);
      if ((G === '"' || G === "'" || G === "`" || X === '"' || X === "'" || X === "`") && G !== X)
        throw new o("property names with quotes must have matching quotes");
      if ((V === "constructor" || !$) && (k = !0), R += "." + V, B = "%" + R + "%", f(u, B))
        j = u[B];
      else if (j != null) {
        if (!(V in j)) {
          if (!I)
            throw new l("base intrinsic for " + P + " exists, but the property is not available.");
          return;
        }
        if (C && W + 1 >= L.length) {
          var K = C(j, V);
          $ = !!K, $ && "get" in K && !("originalValue" in K.get) ? j = K.get : j = j[V];
        } else
          $ = f(j, V), j = j[V];
        $ && !k && (u[B] = j);
      }
    }
    return j;
  }, bx;
}
var _x, G6;
function nN() {
  if (G6) return _x;
  G6 = 1;
  var e = Yd(), t = e("%Object.defineProperty%", !0) || !1;
  if (t)
    try {
      t({}, "a", { value: 1 });
    } catch {
      t = !1;
    }
  return _x = t, _x;
}
var Ex, K6;
function OJ() {
  if (K6) return Ex;
  K6 = 1;
  var e = Yd(), t = e("%Object.getOwnPropertyDescriptor%", !0);
  if (t)
    try {
      t([], "length");
    } catch {
      t = null;
    }
  return Ex = t, Ex;
}
var Sx, X6;
function Lke() {
  if (X6) return Sx;
  X6 = 1;
  var e = nN(), t = wJ(), r = d_(), n = OJ();
  return Sx = function(o, l, c) {
    if (!o || typeof o != "object" && typeof o != "function")
      throw new r("`obj` must be an object or a function`");
    if (typeof l != "string" && typeof l != "symbol")
      throw new r("`property` must be a string or a symbol`");
    if (arguments.length > 3 && typeof arguments[3] != "boolean" && arguments[3] !== null)
      throw new r("`nonEnumerable`, if provided, must be a boolean or null");
    if (arguments.length > 4 && typeof arguments[4] != "boolean" && arguments[4] !== null)
      throw new r("`nonWritable`, if provided, must be a boolean or null");
    if (arguments.length > 5 && typeof arguments[5] != "boolean" && arguments[5] !== null)
      throw new r("`nonConfigurable`, if provided, must be a boolean or null");
    if (arguments.length > 6 && typeof arguments[6] != "boolean")
      throw new r("`loose`, if provided, must be a boolean");
    var g = arguments.length > 3 ? arguments[3] : null, y = arguments.length > 4 ? arguments[4] : null, C = arguments.length > 5 ? arguments[5] : null, D = arguments.length > 6 ? arguments[6] : !1, x = !!n && n(o, l);
    if (e)
      e(o, l, {
        configurable: C === null && x ? x.configurable : !C,
        enumerable: g === null && x ? x.enumerable : !g,
        value: c,
        writable: y === null && x ? x.writable : !y
      });
    else if (D || !g && !y && !C)
      o[l] = c;
    else
      throw new t("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");
  }, Sx;
}
var wx, Q6;
function jke() {
  if (Q6) return wx;
  Q6 = 1;
  var e = nN(), t = function() {
    return !!e;
  };
  return t.hasArrayLengthDefineBug = function() {
    if (!e)
      return null;
    try {
      return e([], "length", { value: 1 }).length !== 1;
    } catch {
      return !0;
    }
  }, wx = t, wx;
}
var Ox, Z6;
function Uke() {
  if (Z6) return Ox;
  Z6 = 1;
  var e = Yd(), t = Lke(), r = jke()(), n = OJ(), i = d_(), o = e("%Math.floor%");
  return Ox = function(c, g) {
    if (typeof c != "function")
      throw new i("`fn` is not a function");
    if (typeof g != "number" || g < 0 || g > 4294967295 || o(g) !== g)
      throw new i("`length` must be a positive 32-bit integer");
    var y = arguments.length > 2 && !!arguments[2], C = !0, D = !0;
    if ("length" in c && n) {
      var x = n(c, "length");
      x && !x.configurable && (C = !1), x && !x.writable && (D = !1);
    }
    return (C || D || !y) && (r ? t(
      /** @type {Parameters<define>[0]} */
      c,
      "length",
      g,
      !0,
      !0
    ) : t(
      /** @type {Parameters<define>[0]} */
      c,
      "length",
      g
    )), c;
  }, Ox;
}
var J6;
function TJ() {
  return J6 || (J6 = 1, function(e) {
    var t = rN(), r = Yd(), n = Uke(), i = d_(), o = r("%Function.prototype.apply%"), l = r("%Function.prototype.call%"), c = r("%Reflect.apply%", !0) || t.call(l, o), g = nN(), y = r("%Math.max%");
    e.exports = function(x) {
      if (typeof x != "function")
        throw new i("a function is required");
      var M = c(t, l, arguments);
      return n(
        M,
        1 + y(0, x.length - (arguments.length - 1)),
        !0
      );
    };
    var C = function() {
      return c(t, o, arguments);
    };
    g ? g(e.exports, "apply", { value: C }) : e.exports.apply = C;
  }(ax)), ax.exports;
}
var Tx, e4;
function qke() {
  if (e4) return Tx;
  e4 = 1;
  var e = Yd(), t = TJ(), r = t(e("String.prototype.indexOf"));
  return Tx = function(i, o) {
    var l = e(i, !!o);
    return typeof l == "function" && r(i, ".prototype.") > -1 ? t(l) : l;
  }, Tx;
}
var Cx, t4;
function CJ() {
  if (t4) return Cx;
  t4 = 1;
  var e = (typeof JSON < "u" ? JSON : wke()).stringify, t = Oke(), r = Cke(), n = TJ(), i = qke(), o = i("Array.prototype.join"), l = i("Array.prototype.push"), c = function(C, D) {
    for (var x = "", M = 0; M < C; M += 1)
      x += D;
    return x;
  }, g = function(y, C, D) {
    return D;
  };
  return Cx = function(C) {
    var D = arguments.length > 1 ? arguments[1] : void 0, x = D && D.space || "";
    typeof x == "number" && (x = c(x, " "));
    var M = !!D && typeof D.cycles == "boolean" && D.cycles, N = D && D.replacer ? n(D.replacer) : g, F = typeof D == "function" ? D : D && D.cmp, z = F && function(u) {
      var a = F.length > 2 && function(h) {
        return u[h];
      };
      return function(s, h) {
        return F(
          { key: s, value: u[s] },
          { key: h, value: u[h] },
          a ? { __proto__: null, get: a } : void 0
        );
      };
    }, A = [];
    return function u(a, s, h, E) {
      var f = x ? `
` + c(E, x) : "", S = x ? ": " : ":";
      if (h && h.toJSON && typeof h.toJSON == "function" && (h = h.toJSON()), h = N(a, s, h), h !== void 0) {
        if (typeof h != "object" || h === null)
          return e(h);
        if (t(h)) {
          for (var b = [], _ = 0; _ < h.length; _++) {
            var d = u(h, _, h[_], E + 1) || e(null);
            l(b, f + x + d);
          }
          return "[" + o(b, ",") + f + "]";
        }
        if (A.indexOf(h) !== -1) {
          if (M)
            return e("__cycle__");
          throw new TypeError("Converting circular structure to JSON");
        } else
          l(A, h);
        for (var p = r(h).sort(z && z(h)), b = [], _ = 0; _ < p.length; _++) {
          var s = p[_], m = u(h, s, h[s], E + 1);
          if (m) {
            var v = e(s) + S + m;
            l(b, f + x + v);
          }
        }
        return A.splice(A.indexOf(h), 1), "{" + o(b, ",") + f + "}";
      }
    }({ "": C }, "", C, 0);
  }, Cx;
}
var So = {}, r4;
function iN() {
  if (r4) return So;
  r4 = 1, Object.defineProperty(So, "__esModule", { value: !0 });
  function e(o) {
    return !!o.or;
  }
  So.isLogicalOr = e;
  function t(o) {
    return !!o.and;
  }
  So.isLogicalAnd = t;
  function r(o) {
    return !!o.not;
  }
  So.isLogicalNot = r;
  function n(o, l) {
    if (r(o))
      n(o.not, l);
    else if (t(o))
      for (var c = 0, g = o.and; c < g.length; c++) {
        var y = g[c];
        n(y, l);
      }
    else if (e(o))
      for (var C = 0, D = o.or; C < D.length; C++) {
        var y = D[C];
        n(y, l);
      }
    else
      l(o);
  }
  So.forEachLeave = n;
  function i(o, l) {
    return r(o) ? { not: i(o.not, l) } : t(o) ? { and: o.and.map(function(c) {
      return i(c, l);
    }) } : e(o) ? { or: o.or.map(function(c) {
      return i(c, l);
    }) } : l(o);
  }
  return So.normalizeLogicalOperand = i, So;
}
var n4;
function Xe() {
  return n4 || (n4 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = CJ(), r = dt, n = iN(), i = t.default || t;
    function o(v, O) {
      for (var T = {}, w = 0, P = O; w < P.length; w++) {
        var I = P[w];
        v.hasOwnProperty(I) && (T[I] = v[I]);
      }
      return T;
    }
    e.pick = o;
    function l(v, O) {
      for (var T = f(v), w = 0, P = O; w < P.length; w++) {
        var I = P[w];
        delete T[I];
      }
      return T;
    }
    e.omit = l, e.stringify = i;
    function c(v) {
      if (r.isNumber(v))
        return v;
      var O = r.isString(v) ? v : i(v);
      if (O.length < 100)
        return O;
      for (var T = 0, w = 0; w < O.length; w++) {
        var P = O.charCodeAt(w);
        T = (T << 5) - T + P, T = T & T;
      }
      return T;
    }
    e.hash = c;
    function g(v, O) {
      return v.indexOf(O) > -1;
    }
    e.contains = g;
    function y(v, O) {
      return v.filter(function(T) {
        return !g(O, T);
      });
    }
    e.without = y;
    function C(v, O) {
      return v.concat(y(O, v));
    }
    e.union = C;
    function D(v, O) {
      for (var T = 0, w = 0; w < v.length; w++)
        if (O(v[w], w, T++))
          return !0;
      return !1;
    }
    e.some = D;
    function x(v, O) {
      for (var T = 0, w = 0; w < v.length; w++)
        if (!O(v[w], w, T++))
          return !1;
      return !0;
    }
    e.every = x;
    function M(v) {
      return [].concat.apply([], v);
    }
    e.flatten = M;
    function N(v) {
      for (var O = [], T = 1; T < arguments.length; T++)
        O[T - 1] = arguments[T];
      for (var w = 0, P = O; w < P.length; w++) {
        var I = P[w];
        v = F(v, I);
      }
      return v;
    }
    e.mergeDeep = N;
    function F(v, O) {
      if (typeof O != "object" || O === null)
        return v;
      for (var T in O)
        O.hasOwnProperty(T) && O[T] !== void 0 && (typeof O[T] != "object" || r.isArray(O[T]) || O[T] === null ? v[T] = O[T] : typeof v[T] != "object" || v[T] === null ? v[T] = N(r.isArray(O[T].constructor) ? [] : {}, O[T]) : N(v[T], O[T]));
      return v;
    }
    function z(v, O) {
      for (var T = [], w = {}, P, I = 0, L = v; I < L.length; I++) {
        var R = L[I];
        P = O(R), !(P in w) && (w[P] = 1, T.push(R));
      }
      return T;
    }
    e.unique = z;
    function A(v, O) {
      for (var T in v)
        if (v.hasOwnProperty(T) && O[T] && v[T] && O[T] !== v[T])
          return !0;
      return !1;
    }
    e.differ = A;
    function u(v, O) {
      for (var T in v)
        if (T in O)
          return !0;
      return !1;
    }
    e.hasIntersection = u;
    function a(v) {
      return !isNaN(v);
    }
    e.isNumeric = a;
    function s(v, O) {
      if (v.length !== O.length)
        return !0;
      v.sort(), O.sort();
      for (var T = 0; T < v.length; T++)
        if (O[T] !== v[T])
          return !0;
      return !1;
    }
    e.differArray = s, e.keys = Object.keys;
    function h(v) {
      var O = [];
      for (var T in v)
        v.hasOwnProperty(T) && O.push(v[T]);
      return O;
    }
    e.vals = h;
    function E(v) {
      return e.keys(v);
    }
    e.flagKeys = E;
    function f(v) {
      return JSON.parse(JSON.stringify(v));
    }
    e.duplicate = f;
    function S(v) {
      return v === !0 || v === !1;
    }
    e.isBoolean = S;
    function _(v) {
      var O = v.replace(/\W/g, "_");
      return (v.match(/^\d+/) ? "_" : "") + O;
    }
    e.varName = _;
    function d(v, O) {
      return n.isLogicalNot(v) ? "!(" + d(v.not, O) + ")" : n.isLogicalAnd(v) ? "(" + v.and.map(function(T) {
        return d(T, O);
      }).join(") && (") + ")" : n.isLogicalOr(v) ? "(" + v.or.map(function(T) {
        return d(T, O);
      }).join(") || (") + ")" : O(v);
    }
    e.logicalExpr = d;
    function p(v, O) {
      if (O.length === 0)
        return !0;
      var T = O.shift();
      return p(v[T], O) && delete v[T], Object.keys(v).length === 0;
    }
    e.deleteNestedProperty = p;
    function b(v) {
      return v.charAt(0).toUpperCase() + v.substr(1);
    }
    e.titlecase = b;
    function m(v) {
      return "[" + r.splitAccessPath(v).map(r.stringValue).join("][") + "]";
    }
    e.accessPath = m;
  }(ZC)), ZC;
}
var i4;
function Gd() {
  return i4 || (i4 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = dt, r = Xe(), n = {
      argmax: 1,
      argmin: 1,
      average: 1,
      count: 1,
      distinct: 1,
      max: 1,
      mean: 1,
      median: 1,
      min: 1,
      missing: 1,
      q1: 1,
      q3: 1,
      ci0: 1,
      ci1: 1,
      stderr: 1,
      stdev: 1,
      stdevp: 1,
      sum: 1,
      valid: 1,
      values: 1,
      variance: 1,
      variancep: 1
    };
    e.AGGREGATE_OPS = r.flagKeys(n);
    function i(l) {
      return !!n[l];
    }
    e.isAggregateOp = i, e.COUNTING_OPS = ["count", "valid", "missing", "distinct"];
    function o(l) {
      return l && r.contains(e.COUNTING_OPS, l);
    }
    e.isCountingAggregateOp = o, e.SUM_OPS = [
      "count",
      "sum",
      "distinct",
      "valid",
      "missing"
    ], e.SHARED_DOMAIN_OPS = [
      "mean",
      "average",
      "median",
      "q1",
      "q3",
      "min",
      "max"
    ], e.SHARED_DOMAIN_OP_INDEX = t.toSet(e.SHARED_DOMAIN_OPS);
  }(QC)), QC;
}
var wo = {};
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
var ID = function(e, t) {
  return ID = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(r, n) {
    r.__proto__ = n;
  } || function(r, n) {
    for (var i in n) n.hasOwnProperty(i) && (r[i] = n[i]);
  }, ID(e, t);
};
function zke(e, t) {
  ID(e, t);
  function r() {
    this.constructor = e;
  }
  e.prototype = t === null ? Object.create(t) : (r.prototype = t.prototype, new r());
}
var FD = function() {
  return FD = Object.assign || function(t) {
    for (var r, n = 1, i = arguments.length; n < i; n++) {
      r = arguments[n];
      for (var o in r) Object.prototype.hasOwnProperty.call(r, o) && (t[o] = r[o]);
    }
    return t;
  }, FD.apply(this, arguments);
};
function Bke(e, t) {
  var r = {};
  for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (r[n] = e[n]);
  if (e != null && typeof Object.getOwnPropertySymbols == "function")
    for (var i = 0, n = Object.getOwnPropertySymbols(e); i < n.length; i++)
      t.indexOf(n[i]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[i]) && (r[n[i]] = e[n[i]]);
  return r;
}
function Wke(e, t, r, n) {
  var i = arguments.length, o = i < 3 ? t : n === null ? n = Object.getOwnPropertyDescriptor(t, r) : n, l;
  if (typeof Reflect == "object" && typeof Reflect.decorate == "function") o = Reflect.decorate(e, t, r, n);
  else for (var c = e.length - 1; c >= 0; c--) (l = e[c]) && (o = (i < 3 ? l(o) : i > 3 ? l(t, r, o) : l(t, r)) || o);
  return i > 3 && o && Object.defineProperty(t, r, o), o;
}
function $ke(e, t) {
  return function(r, n) {
    t(r, n, e);
  };
}
function Vke(e, t) {
  if (typeof Reflect == "object" && typeof Reflect.metadata == "function") return Reflect.metadata(e, t);
}
function Hke(e, t, r, n) {
  function i(o) {
    return o instanceof r ? o : new r(function(l) {
      l(o);
    });
  }
  return new (r || (r = Promise))(function(o, l) {
    function c(C) {
      try {
        y(n.next(C));
      } catch (D) {
        l(D);
      }
    }
    function g(C) {
      try {
        y(n.throw(C));
      } catch (D) {
        l(D);
      }
    }
    function y(C) {
      C.done ? o(C.value) : i(C.value).then(c, g);
    }
    y((n = n.apply(e, t || [])).next());
  });
}
function Yke(e, t) {
  var r = { label: 0, sent: function() {
    if (o[0] & 1) throw o[1];
    return o[1];
  }, trys: [], ops: [] }, n, i, o, l;
  return l = { next: c(0), throw: c(1), return: c(2) }, typeof Symbol == "function" && (l[Symbol.iterator] = function() {
    return this;
  }), l;
  function c(y) {
    return function(C) {
      return g([y, C]);
    };
  }
  function g(y) {
    if (n) throw new TypeError("Generator is already executing.");
    for (; r; ) try {
      if (n = 1, i && (o = y[0] & 2 ? i.return : y[0] ? i.throw || ((o = i.return) && o.call(i), 0) : i.next) && !(o = o.call(i, y[1])).done) return o;
      switch (i = 0, o && (y = [y[0] & 2, o.value]), y[0]) {
        case 0:
        case 1:
          o = y;
          break;
        case 4:
          return r.label++, { value: y[1], done: !1 };
        case 5:
          r.label++, i = y[1], y = [0];
          continue;
        case 7:
          y = r.ops.pop(), r.trys.pop();
          continue;
        default:
          if (o = r.trys, !(o = o.length > 0 && o[o.length - 1]) && (y[0] === 6 || y[0] === 2)) {
            r = 0;
            continue;
          }
          if (y[0] === 3 && (!o || y[1] > o[0] && y[1] < o[3])) {
            r.label = y[1];
            break;
          }
          if (y[0] === 6 && r.label < o[1]) {
            r.label = o[1], o = y;
            break;
          }
          if (o && r.label < o[2]) {
            r.label = o[2], r.ops.push(y);
            break;
          }
          o[2] && r.ops.pop(), r.trys.pop();
          continue;
      }
      y = t.call(e, r);
    } catch (C) {
      y = [6, C], i = 0;
    } finally {
      n = o = 0;
    }
    if (y[0] & 5) throw y[1];
    return { value: y[0] ? y[1] : void 0, done: !0 };
  }
}
function Gke(e, t, r, n) {
  n === void 0 && (n = r), e[n] = t[r];
}
function Kke(e, t) {
  for (var r in e) r !== "default" && !t.hasOwnProperty(r) && (t[r] = e[r]);
}
function LD(e) {
  var t = typeof Symbol == "function" && Symbol.iterator, r = t && e[t], n = 0;
  if (r) return r.call(e);
  if (e && typeof e.length == "number") return {
    next: function() {
      return e && n >= e.length && (e = void 0), { value: e && e[n++], done: !e };
    }
  };
  throw new TypeError(t ? "Object is not iterable." : "Symbol.iterator is not defined.");
}
function xJ(e, t) {
  var r = typeof Symbol == "function" && e[Symbol.iterator];
  if (!r) return e;
  var n = r.call(e), i, o = [], l;
  try {
    for (; (t === void 0 || t-- > 0) && !(i = n.next()).done; ) o.push(i.value);
  } catch (c) {
    l = { error: c };
  } finally {
    try {
      i && !i.done && (r = n.return) && r.call(n);
    } finally {
      if (l) throw l.error;
    }
  }
  return o;
}
function Xke() {
  for (var e = [], t = 0; t < arguments.length; t++)
    e = e.concat(xJ(arguments[t]));
  return e;
}
function Qke() {
  for (var e = 0, t = 0, r = arguments.length; t < r; t++) e += arguments[t].length;
  for (var n = Array(e), i = 0, t = 0; t < r; t++)
    for (var o = arguments[t], l = 0, c = o.length; l < c; l++, i++)
      n[i] = o[l];
  return n;
}
function nd(e) {
  return this instanceof nd ? (this.v = e, this) : new nd(e);
}
function Zke(e, t, r) {
  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
  var n = r.apply(e, t || []), i, o = [];
  return i = {}, l("next"), l("throw"), l("return"), i[Symbol.asyncIterator] = function() {
    return this;
  }, i;
  function l(x) {
    n[x] && (i[x] = function(M) {
      return new Promise(function(N, F) {
        o.push([x, M, N, F]) > 1 || c(x, M);
      });
    });
  }
  function c(x, M) {
    try {
      g(n[x](M));
    } catch (N) {
      D(o[0][3], N);
    }
  }
  function g(x) {
    x.value instanceof nd ? Promise.resolve(x.value.v).then(y, C) : D(o[0][2], x);
  }
  function y(x) {
    c("next", x);
  }
  function C(x) {
    c("throw", x);
  }
  function D(x, M) {
    x(M), o.shift(), o.length && c(o[0][0], o[0][1]);
  }
}
function Jke(e) {
  var t, r;
  return t = {}, n("next"), n("throw", function(i) {
    throw i;
  }), n("return"), t[Symbol.iterator] = function() {
    return this;
  }, t;
  function n(i, o) {
    t[i] = e[i] ? function(l) {
      return (r = !r) ? { value: nd(e[i](l)), done: i === "return" } : o ? o(l) : l;
    } : o;
  }
}
function eRe(e) {
  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
  var t = e[Symbol.asyncIterator], r;
  return t ? t.call(e) : (e = typeof LD == "function" ? LD(e) : e[Symbol.iterator](), r = {}, n("next"), n("throw"), n("return"), r[Symbol.asyncIterator] = function() {
    return this;
  }, r);
  function n(o) {
    r[o] = e[o] && function(l) {
      return new Promise(function(c, g) {
        l = e[o](l), i(c, g, l.done, l.value);
      });
    };
  }
  function i(o, l, c, g) {
    Promise.resolve(g).then(function(y) {
      o({ value: y, done: c });
    }, l);
  }
}
function tRe(e, t) {
  return Object.defineProperty ? Object.defineProperty(e, "raw", { value: t }) : e.raw = t, e;
}
function rRe(e) {
  if (e && e.__esModule) return e;
  var t = {};
  if (e != null) for (var r in e) Object.hasOwnProperty.call(e, r) && (t[r] = e[r]);
  return t.default = e, t;
}
function nRe(e) {
  return e && e.__esModule ? e : { default: e };
}
function iRe(e, t) {
  if (!t.has(e))
    throw new TypeError("attempted to get private field on non-instance");
  return t.get(e);
}
function aRe(e, t, r) {
  if (!t.has(e))
    throw new TypeError("attempted to set private field on non-instance");
  return t.set(e, r), r;
}
const oRe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  get __assign() {
    return FD;
  },
  __asyncDelegator: Jke,
  __asyncGenerator: Zke,
  __asyncValues: eRe,
  __await: nd,
  __awaiter: Hke,
  __classPrivateFieldGet: iRe,
  __classPrivateFieldSet: aRe,
  __createBinding: Gke,
  __decorate: Wke,
  __exportStar: Kke,
  __extends: zke,
  __generator: Yke,
  __importDefault: nRe,
  __importStar: rRe,
  __makeTemplateObject: tRe,
  __metadata: Vke,
  __param: $ke,
  __read: xJ,
  __rest: Bke,
  __spread: Xke,
  __spreadArrays: Qke,
  __values: LD
}, Symbol.toStringTag, { value: "Module" })), Pe = /* @__PURE__ */ On(oRe);
var a4;
function aN() {
  if (a4) return wo;
  a4 = 1, Object.defineProperty(wo, "__esModule", { value: !0 });
  var e = Pe, t = Xe();
  wo.AXIS_PARTS = ["domain", "grid", "labels", "ticks", "title"], wo.AXIS_PROPERTY_TYPE = {
    grid: "grid",
    gridScale: "grid",
    domain: "main",
    labels: "main",
    labelFlush: "main",
    labelOverlap: "main",
    minExtent: "main",
    maxExtent: "main",
    offset: "main",
    ticks: "main",
    title: "main",
    values: "both",
    scale: "both",
    zindex: "both"
    // this is actually set afterward, so it doesn't matter
  };
  var r = {
    orient: 1,
    domain: 1,
    format: 1,
    grid: 1,
    labelBound: 1,
    labelFlush: 1,
    labelPadding: 1,
    labels: 1,
    labelOverlap: 1,
    maxExtent: 1,
    minExtent: 1,
    offset: 1,
    position: 1,
    tickCount: 1,
    ticks: 1,
    tickSize: 1,
    title: 1,
    titlePadding: 1,
    values: 1,
    zindex: 1
  }, n = e.__assign({}, r, { encoding: 1, labelAngle: 1, titleMaxLength: 1 }), i = e.__assign({ scale: 1 }, r, { gridScale: 1, encode: 1 });
  function o(l) {
    return !!n[l];
  }
  return wo.isAxisProperty = o, wo.VG_AXIS_PROPERTIES = t.flagKeys(i), wo.AXIS_PROPERTIES = t.flagKeys(n), wo;
}
var Sc = {}, xx = {}, o4;
function St() {
  return o4 || (o4 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = Xe(), n;
    (function(u) {
      u.ROW = "row", u.COLUMN = "column", u.X = "x", u.Y = "y", u.X2 = "x2", u.Y2 = "y2", u.LATITUDE = "latitude", u.LONGITUDE = "longitude", u.LATITUDE2 = "latitude2", u.LONGITUDE2 = "longitude2", u.COLOR = "color", u.FILL = "fill", u.STROKE = "stroke", u.SHAPE = "shape", u.SIZE = "size", u.OPACITY = "opacity", u.TEXT = "text", u.ORDER = "order", u.DETAIL = "detail", u.KEY = "key", u.TOOLTIP = "tooltip", u.HREF = "href";
    })(n = e.Channel || (e.Channel = {})), e.X = n.X, e.Y = n.Y, e.X2 = n.X2, e.Y2 = n.Y2, e.LATITUDE = n.LATITUDE, e.LATITUDE2 = n.LATITUDE2, e.LONGITUDE = n.LONGITUDE, e.LONGITUDE2 = n.LONGITUDE2, e.ROW = n.ROW, e.COLUMN = n.COLUMN, e.SHAPE = n.SHAPE, e.SIZE = n.SIZE, e.COLOR = n.COLOR, e.FILL = n.FILL, e.STROKE = n.STROKE, e.TEXT = n.TEXT, e.DETAIL = n.DETAIL, e.KEY = n.KEY, e.ORDER = n.ORDER, e.OPACITY = n.OPACITY, e.TOOLTIP = n.TOOLTIP, e.HREF = n.HREF, e.GEOPOSITION_CHANNEL_INDEX = {
      longitude: 1,
      longitude2: 1,
      latitude: 1,
      latitude2: 1
    }, e.GEOPOSITION_CHANNELS = r.flagKeys(e.GEOPOSITION_CHANNEL_INDEX);
    var i = t.__assign({
      // position
      x: 1,
      y: 1,
      x2: 1,
      y2: 1
    }, e.GEOPOSITION_CHANNEL_INDEX, {
      // color
      color: 1,
      fill: 1,
      stroke: 1,
      // other non-position with scale
      opacity: 1,
      size: 1,
      shape: 1,
      // channels without scales
      order: 1,
      text: 1,
      detail: 1,
      key: 1,
      tooltip: 1,
      href: 1
    });
    function o(u) {
      return u === "color" || u === "fill" || u === "stroke";
    }
    e.isColorChannel = o;
    var l = {
      row: 1,
      column: 1
    }, c = t.__assign({}, i, l);
    e.CHANNELS = r.flagKeys(c), c.order, c.detail;
    var g = t.__rest(c, ["order", "detail"]);
    e.SINGLE_DEF_CHANNELS = r.flagKeys(g);
    function y(u) {
      return !!c[u];
    }
    e.isChannel = y, e.UNIT_CHANNELS = r.flagKeys(i), i.x, i.y, i.x2, i.y2, i.latitude, i.longitude, i.latitude2, i.longitude2;
    var C = t.__rest(i, ["x", "y", "x2", "y2", "latitude", "longitude", "latitude2", "longitude2"]);
    e.NONPOSITION_CHANNELS = r.flagKeys(C);
    var D = { x: 1, y: 1 };
    e.POSITION_SCALE_CHANNELS = r.flagKeys(D), C.text, C.tooltip, C.href, C.detail, C.key, C.order;
    var x = t.__rest(C, ["text", "tooltip", "href", "detail", "key", "order"]);
    e.NONPOSITION_SCALE_CHANNELS = r.flagKeys(x);
    var M = t.__assign({}, D, x);
    e.SCALE_CHANNELS = r.flagKeys(M);
    function N(u) {
      return !!M[u];
    }
    e.isScaleChannel = N;
    function F(u, a) {
      return a in z(u);
    }
    e.supportMark = F;
    function z(u) {
      switch (u) {
        case e.COLOR:
        case e.FILL:
        case e.STROKE:
        case e.DETAIL:
        case e.KEY:
        case e.TOOLTIP:
        case e.HREF:
        case e.ORDER:
        case e.OPACITY:
        case e.ROW:
        case e.COLUMN:
          return {
            point: !0,
            tick: !0,
            rule: !0,
            circle: !0,
            square: !0,
            bar: !0,
            rect: !0,
            line: !0,
            trail: !0,
            area: !0,
            text: !0,
            geoshape: !0
          };
        case e.X:
        case e.Y:
        case e.LATITUDE:
        case e.LONGITUDE:
          return {
            point: !0,
            tick: !0,
            rule: !0,
            circle: !0,
            square: !0,
            bar: !0,
            rect: !0,
            line: !0,
            trail: !0,
            area: !0,
            text: !0
          };
        case e.X2:
        case e.Y2:
        case e.LATITUDE2:
        case e.LONGITUDE2:
          return {
            rule: !0,
            bar: !0,
            rect: !0,
            area: !0
          };
        case e.SIZE:
          return {
            point: !0,
            tick: !0,
            rule: !0,
            circle: !0,
            square: !0,
            bar: !0,
            text: !0,
            line: !0,
            trail: !0
          };
        case e.SHAPE:
          return { point: !0, geoshape: !0 };
        case e.TEXT:
          return { text: !0 };
      }
    }
    e.getSupportedMark = z;
    function A(u) {
      switch (u) {
        case e.X:
        case e.Y:
        case e.SIZE:
        case e.OPACITY:
        case e.X2:
        case e.Y2:
          return "continuous";
        case e.ROW:
        case e.COLUMN:
        case e.SHAPE:
        case e.TEXT:
        case e.TOOLTIP:
        case e.HREF:
          return "discrete";
        case e.COLOR:
        case e.FILL:
        case e.STROKE:
          return "flexible";
        case e.LATITUDE:
        case e.LONGITUDE:
        case e.LATITUDE2:
        case e.LONGITUDE2:
        case e.DETAIL:
        case e.KEY:
        case e.ORDER:
          return;
      }
      throw new Error("rangeType not implemented for " + u);
    }
    e.rangeType = A;
  }(xx)), xx;
}
var s4;
function Kd() {
  if (s4) return Sc;
  s4 = 1, Object.defineProperty(Sc, "__esModule", { value: !0 });
  var e = dt, t = St(), r = Xe();
  function n(o) {
    return e.isBoolean(o) ? "bin" : "bin" + r.keys(o).map(function(l) {
      return r.varName("_" + l + "_" + o[l]);
    }).join("");
  }
  Sc.binToString = n;
  function i(o) {
    switch (o) {
      case t.ROW:
      case t.COLUMN:
      case t.SIZE:
      case t.COLOR:
      case t.FILL:
      case t.STROKE:
      case t.OPACITY:
      case t.SHAPE:
        return 6;
      default:
        return 10;
    }
  }
  return Sc.autoMaxBins = i, Sc;
}
var Oo = {}, Ax = {}, u4;
function Hr() {
  return u4 || (u4 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = dt, r = Xe(), n;
    (function(C) {
      C.AREA = "area", C.BAR = "bar", C.LINE = "line", C.POINT = "point", C.RECT = "rect", C.RULE = "rule", C.TEXT = "text", C.TICK = "tick", C.TRAIL = "trail", C.CIRCLE = "circle", C.SQUARE = "square", C.GEOSHAPE = "geoshape";
    })(n = e.Mark || (e.Mark = {})), e.AREA = n.AREA, e.BAR = n.BAR, e.LINE = n.LINE, e.POINT = n.POINT, e.TEXT = n.TEXT, e.TICK = n.TICK, e.TRAIL = n.TRAIL, e.RECT = n.RECT, e.RULE = n.RULE, e.GEOSHAPE = n.GEOSHAPE, e.CIRCLE = n.CIRCLE, e.SQUARE = n.SQUARE;
    var i = {
      area: 1,
      bar: 1,
      line: 1,
      point: 1,
      text: 1,
      tick: 1,
      trail: 1,
      rect: 1,
      geoshape: 1,
      rule: 1,
      circle: 1,
      square: 1
    };
    function o(C) {
      return !!i[C];
    }
    e.isMark = o;
    function l(C) {
      return r.contains(["line", "area", "trail"], C);
    }
    e.isPathMark = l, e.PRIMITIVE_MARKS = r.flagKeys(i);
    function c(C) {
      return C.type;
    }
    e.isMarkDef = c;
    var g = t.toSet(e.PRIMITIVE_MARKS);
    function y(C) {
      var D = c(C) ? C.type : C;
      return D in g;
    }
    e.isPrimitiveMark = y, e.STROKE_CONFIG = [
      "stroke",
      "strokeWidth",
      "strokeDash",
      "strokeDashOffset",
      "strokeOpacity"
    ], e.FILL_CONFIG = ["fill", "fillOpacity"], e.FILL_STROKE_CONFIG = [].concat(e.STROKE_CONFIG, e.FILL_CONFIG), e.VL_ONLY_MARK_CONFIG_PROPERTIES = ["filled", "color"], e.VL_ONLY_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX = {
      area: ["line", "point"],
      bar: ["binSpacing", "continuousBandSize", "discreteBandSize"],
      line: ["point"],
      text: ["shortTimeLabels"],
      tick: ["bandSize", "thickness"]
    }, e.defaultMarkConfig = {
      color: "#4c78a8"
    }, e.defaultBarConfig = {
      binSpacing: 1,
      continuousBandSize: 5
    }, e.defaultTickConfig = {
      thickness: 1
    };
  }(Ax)), Ax;
}
var Dx = {}, ua = {}, Px = {}, kx = {}, l4;
function bt() {
  return l4 || (l4 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = dt, r = Xe(), n = t.logger(t.Warn), i = n, o = (
      /** @class */
      function() {
        function x() {
          this.warns = [], this.infos = [], this.debugs = [];
        }
        return x.prototype.level = function() {
          return this;
        }, x.prototype.warn = function() {
          for (var M = [], N = 0; N < arguments.length; N++)
            M[N] = arguments[N];
          return (F = this.warns).push.apply(F, M), this;
          var F;
        }, x.prototype.info = function() {
          for (var M = [], N = 0; N < arguments.length; N++)
            M[N] = arguments[N];
          return (F = this.infos).push.apply(F, M), this;
          var F;
        }, x.prototype.debug = function() {
          for (var M = [], N = 0; N < arguments.length; N++)
            M[N] = arguments[N];
          return (F = this.debugs).push.apply(F, M), this;
          var F;
        }, x;
      }()
    );
    e.LocalLogger = o;
    function l(x) {
      return function() {
        i = new o(), x(i), g();
      };
    }
    e.wrap = l;
    function c(x) {
      return i = x, i;
    }
    e.set = c;
    function g() {
      return i = n, i;
    }
    e.reset = g;
    function y() {
      i.warn.apply(i, arguments);
    }
    e.warn = y;
    function C() {
      i.info.apply(i, arguments);
    }
    e.info = C;
    function D() {
      i.debug.apply(i, arguments);
    }
    e.debug = D, function(x) {
      x.INVALID_SPEC = "Invalid spec", x.FIT_NON_SINGLE = 'Autosize "fit" only works for single views and layered views.', x.CANNOT_FIX_RANGE_STEP_WITH_FIT = 'Cannot use a fixed value of "rangeStep" when "autosize" is "fit".';
      function M(ae) {
        return 'Cannot project a selection on encoding channel "' + ae + '", which has no field.';
      }
      x.cannotProjectOnChannelWithoutField = M;
      function N(ae) {
        return 'The "nearest" transform is not supported for ' + ae + " marks.";
      }
      x.nearestNotSupportForContinuous = N;
      function F(ae) {
        return 'Cannot find a selection named "' + ae + '"';
      }
      x.selectionNotFound = F, x.SCALE_BINDINGS_CONTINUOUS = "Scale bindings are currently only supported for scales with unbinned, continuous domains.";
      function z(ae) {
        return 'Unknown repeated value "' + ae + '".';
      }
      x.noSuchRepeatedValue = z, x.CONCAT_CANNOT_SHARE_AXIS = "Axes cannot be shared in concatenated views.", x.REPEAT_CANNOT_SHARE_AXIS = "Axes cannot be shared in repeated views.";
      function A(ae) {
        return 'Cannot set title "anchor" for a ' + ae + " spec";
      }
      x.cannotSetTitleAnchor = A;
      function u(ae) {
        return 'Unrecognized parse "' + ae + '".';
      }
      x.unrecognizedParse = u;
      function a(ae, ce, pe) {
        return 'An ancestor parsed field "' + ae + '" as ' + pe + " but a child wants to parse the field as " + ce + ".";
      }
      x.differentParse = a;
      function s(ae) {
        return "Ignoring an invalid transform: " + r.stringify(ae) + ".";
      }
      x.invalidTransformIgnored = s, x.NO_FIELDS_NEEDS_AS = 'If "from.fields" is not specified, "as" has to be a string that specifies the key to be used for the data from the secondary source.';
      function h(ae) {
        return "Layer's shared " + ae.join(",") + " channel " + (ae.length === 1 ? "is" : "are") + " overriden";
      }
      x.encodingOverridden = h;
      function E(ae) {
        var ce = ae.parentProjection, pe = ae.projection;
        return "Layer's shared projection " + r.stringify(ce) + " is overridden by a child projection " + r.stringify(pe) + ".";
      }
      x.projectionOverridden = E;
      function f(ae, ce, pe) {
        return "Channel " + ae + " is a " + ce + ". Converted to {value: " + r.stringify(pe) + "}.";
      }
      x.primitiveChannelDef = f;
      function S(ae) {
        return 'Invalid field type "' + ae + '"';
      }
      x.invalidFieldType = S;
      function _(ae, ce, pe) {
        var de = pe.scaleType ? pe.scaleType + " scale" : pe.zeroFalse ? "scale with zero=false" : "scale with custom domain that excludes zero";
        return "A " + de + " is used with " + ae + " mark. This can be misleading as the " + (ce === "x" ? "width" : "height") + " of the " + ae + " can be arbitrary based on the scale domain. You may want to use point mark instead.";
      }
      x.nonZeroScaleUsedWithLengthMark = _;
      function d(ae, ce) {
        return 'Invalid field type "' + ae + '" for aggregate: "' + ce + '", using "quantitative" instead.';
      }
      x.invalidFieldTypeForCountAggregate = d;
      function p(ae) {
        return 'Invalid aggregation operator "' + ae + '"';
      }
      x.invalidAggregate = p;
      function b(ae, ce, pe) {
        return 'Invalid field type "' + ae + '" for channel "' + ce + '", using "' + pe + '" instead.';
      }
      x.emptyOrInvalidFieldType = b;
      function m(ae, ce) {
        var pe = ce.fill, de = ce.stroke;
        return "Dropping color " + ae + " as the plot also has " + (pe && de ? "fill and stroke" : pe ? "fill" : "stroke");
      }
      x.droppingColor = m;
      function v(ae, ce) {
        return "Dropping " + r.stringify(ae) + ' from channel "' + ce + '" since it does not contain data field or value.';
      }
      x.emptyFieldDef = v;
      function O(ae, ce, pe) {
        return ae + "-encoding with type " + ce + " is deprecated. Replacing with " + pe + "-encoding.";
      }
      x.latLongDeprecated = O, x.LINE_WITH_VARYING_SIZE = "Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.";
      function T(ae, ce, pe) {
        return ae + ' dropped as it is incompatible with "' + ce + '"' + (pe ? " when " + pe : "") + ".";
      }
      x.incompatibleChannel = T;
      function w(ae) {
        return ae + "-encoding is dropped as " + ae + " is not a valid encoding channel.";
      }
      x.invalidEncodingChannel = w;
      function P(ae) {
        return ae + " encoding should be discrete (ordinal / nominal / binned).";
      }
      x.facetChannelShouldBeDiscrete = P;
      function I(ae, ce) {
        return 'Using discrete channel "' + ae + '" to encode "' + ce + '" field can be misleading as it does not encode ' + (ce === "ordinal" ? "order" : "magnitude") + ".";
      }
      x.discreteChannelCannotEncode = I, x.BAR_WITH_POINT_SCALE_AND_RANGESTEP_NULL = "Bar mark should not be used with point scale when rangeStep is null. Please use band scale instead.";
      function L(ae, ce) {
        var pe = ae && ce ? "x2 and y2" : ae ? "x2" : "y2";
        return "Line mark is for continuous lines and thus cannot be used with " + pe + ". We will use the rule mark (line segments) instead.";
      }
      x.lineWithRange = L;
      function R(ae) {
        return 'Cannot clearly determine orientation for "' + ae + '" since both x and y channel encode continuous fields. In this case, we use vertical by default';
      }
      x.unclearOrientContinuous = R;
      function q(ae) {
        return 'Cannot clearly determine orientation for "' + ae + '" since both x and y channel encode discrete or empty fields.';
      }
      x.unclearOrientDiscreteOrEmpty = q;
      function B(ae, ce) {
        return 'Specified orient "' + ae + '" overridden with "' + ce + '"';
      }
      x.orientOverridden = B, x.CANNOT_UNION_CUSTOM_DOMAIN_WITH_FIELD_DOMAIN = "custom domain scale cannot be unioned with default field-based domain";
      function j(ae) {
        return 'Cannot use the scale property "' + ae + '" with non-color channel.';
      }
      x.cannotUseScalePropertyWithNonColor = j;
      function k(ae) {
        return "Using unaggregated domain with raw field has no effect (" + r.stringify(ae) + ").";
      }
      x.unaggregateDomainHasNoEffectForRawField = k;
      function U(ae) {
        return 'Unaggregated domain not applicable for "' + ae + '" since it produces values outside the origin domain of the source data.';
      }
      x.unaggregateDomainWithNonSharedDomainOp = U;
      function W(ae) {
        return "Unaggregated domain is currently unsupported for log scale (" + r.stringify(ae) + ").";
      }
      x.unaggregatedDomainWithLogScale = W;
      function $(ae) {
        return "Using size field when " + ae + "-channel has a band scale is not supported.";
      }
      x.cannotUseSizeFieldWithBandSize = $;
      function V(ae) {
        return 'Cannot apply size to non-oriented mark "' + ae + '".';
      }
      x.cannotApplySizeToNonOrientedMark = V;
      function G(ae) {
        return 'rangeStep for "' + ae + '" is dropped as top-level ' + (ae === "x" ? "width" : "height") + " is provided.";
      }
      x.rangeStepDropped = G;
      function X(ae, ce, pe) {
        return 'Channel "' + ae + '" does not work with "' + ce + '" scale. We are using "' + pe + '" scale instead.';
      }
      x.scaleTypeNotWorkWithChannel = X;
      function K(ae, ce) {
        return 'FieldDef does not work with "' + ae + '" scale. We are using "' + ce + '" scale instead.';
      }
      x.scaleTypeNotWorkWithFieldDef = K;
      function H(ae, ce, pe) {
        return pe + `-scale's "` + ce + '" is dropped as it does not work with ' + ae + " scale.";
      }
      x.scalePropertyNotWorkWithScaleType = H;
      function Y(ae, ce) {
        return 'Scale type "' + ce + '" does not work with mark "' + ae + '".';
      }
      x.scaleTypeNotWorkWithMark = Y;
      function Q(ae, ce, pe, de) {
        return "Conflicting " + ce + ' property "' + ae + '" (' + r.stringify(pe) + " and " + r.stringify(de) + ").  Using " + r.stringify(pe) + ".";
      }
      x.mergeConflictingProperty = Q;
      function Z(ae) {
        return 'Setting the scale to be independent for "' + ae + '" means we also have to set the guide (axis or legend) to be independent.';
      }
      x.independentScaleMeansIndependentGuide = Z;
      function J(ae) {
        return "Cannot set " + ae + `-scale's "domain" as it is binned. Please use "bin"'s "extent" instead.`;
      }
      x.conflictedDomain = J;
      function ne(ae) {
        return "Dropping sort property " + r.stringify(ae) + " as unioned domains only support boolean or op 'count'.";
      }
      x.domainSortDropped = ne, x.UNABLE_TO_MERGE_DOMAINS = "Unable to merge domains", x.MORE_THAN_ONE_SORT = "Domains that should be unioned has conflicting sort properties. Sort will be set to true.", x.INVALID_CHANNEL_FOR_AXIS = "Invalid channel for axis.";
      function ie(ae) {
        return 'Cannot stack "' + ae + '" if there is already "' + ae + '2"';
      }
      x.cannotStackRangedMark = ie;
      function re(ae) {
        return "Cannot stack non-linear scale (" + ae + ")";
      }
      x.cannotStackNonLinearScale = re;
      function ee(ae) {
        return 'Stacking is applied even though the aggregate function is non-summative ("' + ae + '")';
      }
      x.stackNonSummativeAggregate = ee;
      function te(ae, ce) {
        return "Invalid " + ae + ": " + r.stringify(ce);
      }
      x.invalidTimeUnit = te;
      function ue(ae) {
        return 'Time unit "' + ae + '" is not supported. We are replacing it with ' + ae.replace("day", "date") + ".";
      }
      x.dayReplacedWithDate = ue;
      function le(ae) {
        return "Dropping day from datetime " + r.stringify(ae) + " as day cannot be combined with other units.";
      }
      x.droppedDay = le;
    }(e.message || (e.message = {}));
  }(kx)), kx;
}
var Rx = {}, Mx = {}, c4;
function lu() {
  return c4 || (c4 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = dt, r = bt(), n = Xe(), i = 2006;
    function o(C) {
      return !!C && (!!C.year || !!C.quarter || !!C.month || !!C.date || !!C.day || !!C.hours || !!C.minutes || !!C.seconds || !!C.milliseconds);
    }
    e.isDateTime = o, e.MONTHS = ["january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"], e.SHORT_MONTHS = e.MONTHS.map(function(C) {
      return C.substr(0, 3);
    }), e.DAYS = ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"], e.SHORT_DAYS = e.DAYS.map(function(C) {
      return C.substr(0, 3);
    });
    function l(C) {
      if (t.isNumber(C))
        return C > 4 && r.warn(r.message.invalidTimeUnit("quarter", C)), C - 1 + "";
      throw new Error(r.message.invalidTimeUnit("quarter", C));
    }
    function c(C) {
      if (t.isNumber(C))
        return C - 1 + "";
      var D = C.toLowerCase(), x = e.MONTHS.indexOf(D);
      if (x !== -1)
        return x + "";
      var M = D.substr(0, 3), N = e.SHORT_MONTHS.indexOf(M);
      if (N !== -1)
        return N + "";
      throw new Error(r.message.invalidTimeUnit("month", C));
    }
    function g(C) {
      if (t.isNumber(C))
        return C % 7 + "";
      var D = C.toLowerCase(), x = e.DAYS.indexOf(D);
      if (x !== -1)
        return x + "";
      var M = D.substr(0, 3), N = e.SHORT_DAYS.indexOf(M);
      if (N !== -1)
        return N + "";
      throw new Error(r.message.invalidTimeUnit("day", C));
    }
    function y(C, D) {
      D === void 0 && (D = !1);
      var x = [];
      if (D && C.day !== void 0 && n.keys(C).length > 1 && (r.warn(r.message.droppedDay(C)), C = n.duplicate(C), delete C.day), C.year !== void 0 ? x.push(C.year) : C.day !== void 0 ? x.push(i) : x.push(0), C.month !== void 0) {
        var M = D ? c(C.month) : C.month;
        x.push(M);
      } else if (C.quarter !== void 0) {
        var N = D ? l(C.quarter) : C.quarter;
        x.push(N + "*3");
      } else
        x.push(0);
      if (C.date !== void 0)
        x.push(C.date);
      else if (C.day !== void 0) {
        var F = D ? g(C.day) : C.day;
        x.push(F + "+1");
      } else
        x.push(1);
      for (var z = 0, A = ["hours", "minutes", "seconds", "milliseconds"]; z < A.length; z++) {
        var u = A[z];
        C[u] !== void 0 ? x.push(C[u]) : x.push(0);
      }
      return C.utc ? "utc(" + x.join(", ") + ")" : "datetime(" + x.join(", ") + ")";
    }
    e.dateTimeExpr = y;
  }(Mx)), Mx;
}
var f4;
function Xd() {
  return f4 || (f4 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = lu(), n = bt(), i = Xe(), o;
    (function(_) {
      _.YEAR = "year", _.MONTH = "month", _.DAY = "day", _.DATE = "date", _.HOURS = "hours", _.MINUTES = "minutes", _.SECONDS = "seconds", _.MILLISECONDS = "milliseconds", _.YEARMONTH = "yearmonth", _.YEARMONTHDATE = "yearmonthdate", _.YEARMONTHDATEHOURS = "yearmonthdatehours", _.YEARMONTHDATEHOURSMINUTES = "yearmonthdatehoursminutes", _.YEARMONTHDATEHOURSMINUTESSECONDS = "yearmonthdatehoursminutesseconds", _.MONTHDATE = "monthdate", _.HOURSMINUTES = "hoursminutes", _.HOURSMINUTESSECONDS = "hoursminutesseconds", _.MINUTESSECONDS = "minutesseconds", _.SECONDSMILLISECONDS = "secondsmilliseconds", _.QUARTER = "quarter", _.YEARQUARTER = "yearquarter", _.QUARTERMONTH = "quartermonth", _.YEARQUARTERMONTH = "yearquartermonth", _.UTCYEAR = "utcyear", _.UTCMONTH = "utcmonth", _.UTCDAY = "utcday", _.UTCDATE = "utcdate", _.UTCHOURS = "utchours", _.UTCMINUTES = "utcminutes", _.UTCSECONDS = "utcseconds", _.UTCMILLISECONDS = "utcmilliseconds", _.UTCYEARMONTH = "utcyearmonth", _.UTCYEARMONTHDATE = "utcyearmonthdate", _.UTCYEARMONTHDATEHOURS = "utcyearmonthdatehours", _.UTCYEARMONTHDATEHOURSMINUTES = "utcyearmonthdatehoursminutes", _.UTCYEARMONTHDATEHOURSMINUTESSECONDS = "utcyearmonthdatehoursminutesseconds", _.UTCMONTHDATE = "utcmonthdate", _.UTCHOURSMINUTES = "utchoursminutes", _.UTCHOURSMINUTESSECONDS = "utchoursminutesseconds", _.UTCMINUTESSECONDS = "utcminutesseconds", _.UTCSECONDSMILLISECONDS = "utcsecondsmilliseconds", _.UTCQUARTER = "utcquarter", _.UTCYEARQUARTER = "utcyearquarter", _.UTCQUARTERMONTH = "utcquartermonth", _.UTCYEARQUARTERMONTH = "utcyearquartermonth";
    })(o = e.TimeUnit || (e.TimeUnit = {}));
    var l = {
      year: 1,
      quarter: 1,
      month: 1,
      day: 1,
      date: 1,
      hours: 1,
      minutes: 1,
      seconds: 1,
      milliseconds: 1
    };
    e.TIMEUNIT_PARTS = i.flagKeys(l);
    function c(_) {
      return !!l[_];
    }
    e.isLocalSingleTimeUnit = c;
    var g = {
      utcyear: 1,
      utcquarter: 1,
      utcmonth: 1,
      utcday: 1,
      utcdate: 1,
      utchours: 1,
      utcminutes: 1,
      utcseconds: 1,
      utcmilliseconds: 1
    };
    function y(_) {
      return !!g[_];
    }
    e.isUtcSingleTimeUnit = y;
    var C = {
      yearquarter: 1,
      yearquartermonth: 1,
      yearmonth: 1,
      yearmonthdate: 1,
      yearmonthdatehours: 1,
      yearmonthdatehoursminutes: 1,
      yearmonthdatehoursminutesseconds: 1,
      quartermonth: 1,
      monthdate: 1,
      hoursminutes: 1,
      hoursminutesseconds: 1,
      minutesseconds: 1,
      secondsmilliseconds: 1
    }, D = {
      utcyearquarter: 1,
      utcyearquartermonth: 1,
      utcyearmonth: 1,
      utcyearmonthdate: 1,
      utcyearmonthdatehours: 1,
      utcyearmonthdatehoursminutes: 1,
      utcyearmonthdatehoursminutesseconds: 1,
      utcquartermonth: 1,
      utcmonthdate: 1,
      utchoursminutes: 1,
      utchoursminutesseconds: 1,
      utcminutesseconds: 1,
      utcsecondsmilliseconds: 1
    }, x = t.__assign({}, g, D);
    function M(_) {
      return !!x[_];
    }
    e.isUTCTimeUnit = M;
    function N(_) {
      return _.substr(3);
    }
    e.getLocalTimeUnit = N;
    var F = t.__assign({}, l, g, C, D);
    e.TIMEUNITS = i.flagKeys(F);
    function z(_) {
      return !!F[_];
    }
    e.isTimeUnit = z;
    var A = {
      year: "setFullYear",
      month: "setMonth",
      date: "setDate",
      hours: "setHours",
      minutes: "setMinutes",
      seconds: "setSeconds",
      milliseconds: "setMilliseconds",
      // Day and quarter have their own special cases
      quarter: null,
      day: null
    };
    function u(_, d) {
      for (var p = M(_), b = p ? (
        // start with uniform date
        new Date(Date.UTC(0, 0, 1, 0, 0, 0, 0))
      ) : new Date(0, 0, 1, 0, 0, 0, 0), m = 0, v = e.TIMEUNIT_PARTS; m < v.length; m++) {
        var O = v[m];
        if (h(_, O))
          switch (O) {
            case o.DAY:
              throw new Error("Cannot convert to TimeUnits containing 'day'");
            case o.QUARTER: {
              var T = a("month", p), w = T.getDateMethod, P = T.setDateMethod;
              b[P](Math.floor(d[w]() / 3) * 3);
              break;
            }
            default:
              var I = a(O, p), L = I.getDateMethod, R = I.setDateMethod;
              b[R](d[L]());
          }
      }
      return b;
    }
    e.convert = u;
    function a(_, d) {
      var p = A[_], b = d ? "setUTC" + p.substr(3) : p, m = "get" + (d ? "UTC" : "") + p.substr(3);
      return { setDateMethod: b, getDateMethod: m };
    }
    function s(_) {
      return e.TIMEUNIT_PARTS.reduce(function(d, p) {
        return h(_, p) ? d.concat(p) : d;
      }, []);
    }
    e.getTimeUnitParts = s;
    function h(_, d) {
      var p = _.indexOf(d);
      return p > -1 && (d !== o.SECONDS || p === 0 || _.charAt(p - 1) !== "i");
    }
    e.containsTimeUnit = h;
    function E(_, d) {
      var p = "datum" + i.accessPath(d), b = M(_) ? "utc" : "";
      function m(O) {
        return O === o.QUARTER ? "(" + b + "quarter(" + p + ")-1)" : "" + b + O + "(" + p + ")";
      }
      var v = e.TIMEUNIT_PARTS.reduce(function(O, T) {
        return h(_, T) && (O[T] = m(T)), O;
      }, {});
      return r.dateTimeExpr(v);
    }
    e.fieldExpr = E;
    function f(_, d, p, b) {
      if (_) {
        var m = [], v = "", O = h(_, o.YEAR);
        h(_, o.QUARTER) && (v = "'Q' + quarter(" + d + ")"), h(_, o.MONTH) && m.push(p !== !1 ? "%b" : "%B"), h(_, o.DAY) ? m.push(p ? "%a" : "%A") : h(_, o.DATE) && m.push("%d" + (O ? "," : "")), O && m.push(p ? "%y" : "%Y");
        var T = [];
        h(_, o.HOURS) && T.push("%H"), h(_, o.MINUTES) && T.push("%M"), h(_, o.SECONDS) && T.push("%S"), h(_, o.MILLISECONDS) && T.push("%L");
        var w = [];
        return m.length > 0 && w.push(m.join(" ")), T.length > 0 && w.push(T.join(":")), w.length > 0 && (v && (v += " + ' ' + "), b ? v += "utcFormat(" + d + ", '" + w.join(" ") + "')" : v += "timeFormat(" + d + ", '" + w.join(" ") + "')"), v || void 0;
      }
    }
    e.formatExpression = f;
    function S(_) {
      return _ !== "day" && _.indexOf("day") >= 0 ? (n.warn(n.message.dayReplacedWithDate(_)), _.replace("day", "date")) : _;
    }
    e.normalizeTimeUnit = S;
  }(Rx)), Rx;
}
var Nx = {}, d4;
function An() {
  return d4 || (d4 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t;
    (function(o) {
      o.QUANTITATIVE = "quantitative", o.ORDINAL = "ordinal", o.TEMPORAL = "temporal", o.NOMINAL = "nominal", o.LATITUDE = "latitude", o.LONGITUDE = "longitude", o.GEOJSON = "geojson";
    })(t = e.Type || (e.Type = {}));
    var r = {
      quantitative: 1,
      ordinal: 1,
      temporal: 1,
      nominal: 1,
      latitude: 1,
      longitude: 1,
      geojson: 1
    };
    function n(o) {
      return !!r[o];
    }
    e.isType = n, e.QUANTITATIVE = t.QUANTITATIVE, e.ORDINAL = t.ORDINAL, e.TEMPORAL = t.TEMPORAL, e.NOMINAL = t.NOMINAL, e.GEOJSON = t.GEOJSON;
    function i(o) {
      if (o)
        switch (o = o.toLowerCase(), o) {
          case "q":
          case e.QUANTITATIVE:
            return "quantitative";
          case "t":
          case e.TEMPORAL:
            return "temporal";
          case "o":
          case e.ORDINAL:
            return "ordinal";
          case "n":
          case e.NOMINAL:
            return "nominal";
          case t.LATITUDE:
            return "latitude";
          case t.LONGITUDE:
            return "longitude";
          case e.GEOJSON:
            return "geojson";
        }
    }
    e.getFullName = i;
  }(Nx)), Nx;
}
var p4;
function At() {
  return p4 || (p4 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = dt, n = Gd(), i = Kd(), o = St(), l = bt(), c = Xd(), g = An(), y = Xe();
    function C(B) {
      return B.selection;
    }
    e.isConditionalSelection = C;
    function D(B) {
      return B && !r.isString(B) && "repeat" in B;
    }
    e.isRepeatRef = D;
    function x(B) {
      var j = B.field, k = B.timeUnit, U = B.bin, W = B.aggregate;
      return t.__assign({}, k ? { timeUnit: k } : {}, U ? { bin: U } : {}, W ? { aggregate: W } : {}, { field: j });
    }
    e.toFieldDefBase = x;
    function M(B) {
      return !!B && !!B.condition;
    }
    e.isConditionalDef = M;
    function N(B) {
      return !!B && !!B.condition && !r.isArray(B.condition) && z(B.condition);
    }
    e.hasConditionalFieldDef = N;
    function F(B) {
      return !!B && !!B.condition && (r.isArray(B.condition) || u(B.condition));
    }
    e.hasConditionalValueDef = F;
    function z(B) {
      return !!B && (!!B.field || B.aggregate === "count");
    }
    e.isFieldDef = z;
    function A(B) {
      return z(B) && r.isString(B.field);
    }
    e.isStringFieldDef = A;
    function u(B) {
      return B && "value" in B && B.value !== void 0;
    }
    e.isValueDef = u;
    function a(B) {
      return !!B && (!!B.scale || !!B.sort);
    }
    e.isScaleFieldDef = a;
    function s(B, j) {
      j === void 0 && (j = {});
      var k = B.field, U = j.prefix, W = j.suffix;
      if (f(B))
        k = "count_*";
      else {
        var $ = void 0;
        j.nofn || (B.bin ? ($ = i.binToString(B.bin), W = j.binSuffix || "") : B.aggregate ? $ = String(j.aggregate || B.aggregate) : B.timeUnit && ($ = String(B.timeUnit))), $ && (k = $ + "_" + k);
      }
      return W && (k = k + "_" + W), U && (k = U + "_" + k), j.expr && (k = "" + j.expr + y.accessPath(k)), k;
    }
    e.vgField = s;
    function h(B) {
      switch (B.type) {
        case "nominal":
        case "ordinal":
        case "geojson":
          return !0;
        case "quantitative":
          return !!B.bin;
        case "latitude":
        case "longitude":
        case "temporal":
          return !1;
      }
      throw new Error(l.message.invalidFieldType(B.type));
    }
    e.isDiscrete = h;
    function E(B) {
      return !h(B);
    }
    e.isContinuous = E;
    function f(B) {
      return B.aggregate === "count";
    }
    e.isCount = f;
    function S(B, j) {
      var k = B.field, U = B.bin, W = B.timeUnit, $ = B.aggregate;
      if ($ === "count")
        return j.countTitle;
      if (U)
        return k + " (binned)";
      if (W) {
        var V = c.getTimeUnitParts(W).join("-");
        return k + " (" + V + ")";
      } else if ($)
        return y.titlecase($) + " of " + k;
      return k;
    }
    e.verbalTitleFormatter = S;
    function _(B, j) {
      var k = B.aggregate || B.timeUnit || B.bin && "bin";
      return k ? k.toUpperCase() + "(" + B.field + ")" : B.field;
    }
    e.functionalTitleFormatter = _, e.defaultTitleFormatter = function(B, j) {
      switch (j.fieldTitle) {
        case "plain":
          return B.field;
        case "functional":
          return _(B);
        default:
          return S(B, j);
      }
    };
    var d = e.defaultTitleFormatter;
    function p(B) {
      d = B;
    }
    e.setTitleFormatter = p;
    function b() {
      p(e.defaultTitleFormatter);
    }
    e.resetTitleFormatter = b;
    function m(B, j) {
      return d(B, j);
    }
    e.title = m;
    function v(B, j) {
      if (B.timeUnit)
        return "temporal";
      if (B.bin)
        return "quantitative";
      switch (o.rangeType(j)) {
        case "continuous":
          return "quantitative";
        case "discrete":
          return "nominal";
        case "flexible":
          return "nominal";
        default:
          return "quantitative";
      }
    }
    e.defaultType = v;
    function O(B) {
      if (z(B))
        return B;
      if (N(B))
        return B.condition;
    }
    e.getFieldDef = O;
    function T(B, j) {
      if (r.isString(B) || r.isNumber(B) || r.isBoolean(B)) {
        var k = r.isString(B) ? "string" : r.isNumber(B) ? "number" : "boolean";
        return l.warn(l.message.primitiveChannelDef(j, k, B)), { value: B };
      }
      return z(B) ? w(B, j) : N(B) ? t.__assign({}, B, {
        // Need to cast as normalizeFieldDef normally return FieldDef, but here we know that it is definitely Condition<FieldDef>
        condition: w(B.condition, j)
      }) : B;
    }
    e.normalize = T;
    function w(B, j) {
      if (B.aggregate && !n.isAggregateOp(B.aggregate)) {
        B.aggregate;
        var k = t.__rest(B, ["aggregate"]);
        l.warn(l.message.invalidAggregate(B.aggregate)), B = k;
      }
      if (B.timeUnit && (B = t.__assign({}, B, { timeUnit: c.normalizeTimeUnit(B.timeUnit) })), B.bin && (B = t.__assign({}, B, { bin: P(B.bin, j) })), B.type) {
        var U = g.getFullName(B.type);
        B.type !== U && (B = t.__assign({}, B, { type: U })), B.type !== "quantitative" && n.isCountingAggregateOp(B.aggregate) && (l.warn(l.message.invalidFieldTypeForCountAggregate(B.type, B.aggregate)), B = t.__assign({}, B, { type: "quantitative" }));
      } else {
        var W = v(B, j);
        l.warn(l.message.emptyOrInvalidFieldType(B.type, j, W)), B = t.__assign({}, B, { type: W });
      }
      var $ = L(B, j), V = $.compatible, G = $.warning;
      return V || l.warn(G), B;
    }
    e.normalizeFieldDef = w;
    function P(B, j) {
      return r.isBoolean(B) ? { maxbins: i.autoMaxBins(j) } : !B.maxbins && !B.step ? t.__assign({}, B, { maxbins: i.autoMaxBins(j) }) : B;
    }
    e.normalizeBin = P;
    var I = { compatible: !0 };
    function L(B, j) {
      switch (j) {
        case "row":
        case "column":
          return E(B) && !B.timeUnit ? {
            compatible: !1,
            warning: l.message.facetChannelShouldBeDiscrete(j)
          } : I;
        case "x":
        case "y":
        case "color":
        case "fill":
        case "stroke":
        case "text":
        case "detail":
        case "key":
        case "tooltip":
        case "href":
          return I;
        case "longitude":
        case "longitude2":
        case "latitude":
        case "latitude2":
          return B.type !== g.QUANTITATIVE ? {
            compatible: !1,
            warning: "Channel " + j + " should not be used with " + B.type + " field."
          } : I;
        case "opacity":
        case "size":
        case "x2":
        case "y2":
          return h(B) && !B.bin ? {
            compatible: !1,
            warning: "Channel " + j + " should not be used with discrete field."
          } : I;
        case "shape":
          return B.type !== "nominal" && B.type !== "geojson" ? {
            compatible: !1,
            warning: "Shape channel should be used with nominal data or geojson only"
          } : I;
        case "order":
          return B.type === "nominal" ? {
            compatible: !1,
            warning: "Channel order is inappropriate for nominal field, which has no inherent order."
          } : I;
      }
      throw new Error("channelCompatability not implemented for channel " + j);
    }
    e.channelCompatibility = L;
    function R(B) {
      return B.type === "quantitative" || !!B.bin;
    }
    e.isNumberFieldDef = R;
    function q(B) {
      return B.type === "temporal" || !!B.timeUnit;
    }
    e.isTimeFieldDef = q;
  }(Px)), Px;
}
var h4;
function ei() {
  if (h4) return ua;
  h4 = 1, Object.defineProperty(ua, "__esModule", { value: !0 });
  var e = Pe, t = dt, r = St(), n = At(), i = bt(), o = An(), l = Xe();
  function c(N, F) {
    var z = N && N[F];
    return z ? t.isArray(z) ? l.some(z, function(A) {
      return !!A.field;
    }) : n.isFieldDef(z) || n.hasConditionalFieldDef(z) : !1;
  }
  ua.channelHasField = c;
  function g(N) {
    return l.some(r.CHANNELS, function(F) {
      if (c(N, F)) {
        var z = N[F];
        if (t.isArray(z))
          return l.some(z, function(u) {
            return !!u.aggregate;
          });
        var A = n.getFieldDef(z);
        return A && !!A.aggregate;
      }
      return !1;
    });
  }
  ua.isAggregate = g;
  function y(N, F) {
    return l.keys(N).reduce(function(z, A) {
      if (!r.isChannel(A))
        return i.warn(i.message.invalidEncodingChannel(A)), z;
      if (!r.supportMark(A, F))
        return i.warn(i.message.incompatibleChannel(A, F)), z;
      if (A === "size" && F === "line") {
        var u = n.getFieldDef(N[A]);
        if (u && u.aggregate)
          return i.warn(i.message.LINE_WITH_VARYING_SIZE), z;
      }
      if (A === "color" && ("fill" in N || "stroke" in N))
        return i.warn(i.message.droppingColor("encoding", { fill: "fill" in N, stroke: "stroke" in N })), z;
      if (A === "detail" || A === "order" || A === "tooltip" && t.isArray(N[A])) {
        var a = N[A];
        a && (z[A] = (t.isArray(a) ? a : [a]).reduce(function(S, _) {
          return n.isFieldDef(_) ? S.push(n.normalizeFieldDef(_, A)) : i.warn(i.message.emptyFieldDef(_, A)), S;
        }, []));
      } else {
        var a = N[A], u = n.getFieldDef(N[A]);
        if (u && l.contains([o.Type.LATITUDE, o.Type.LONGITUDE], u.type)) {
          var s = A;
          z[s];
          var h = e.__rest(z, [typeof s == "symbol" ? s : s + ""]), E = A === "x" ? "longitude" : A === "y" ? "latitude" : A === "x2" ? "longitude2" : A === "y2" ? "latitude2" : void 0;
          return i.warn(i.message.latLongDeprecated(A, u.type, E)), e.__assign({}, h, (f = {}, f[E] = e.__assign({}, n.normalize(u, A), { type: "quantitative" }), f));
        }
        if (!n.isFieldDef(a) && !n.isValueDef(a) && !n.isConditionalDef(a))
          return i.warn(i.message.emptyFieldDef(a, A)), z;
        z[A] = n.normalize(a, A);
      }
      return z;
      var f;
    }, {});
  }
  ua.normalizeEncoding = y;
  function C(N) {
    return N && (!!N.x && !!N.x2 || !!N.y && !!N.y2);
  }
  ua.isRanged = C;
  function D(N) {
    var F = [];
    return r.CHANNELS.forEach(function(z) {
      if (c(N, z)) {
        var A = N[z];
        (t.isArray(A) ? A : [A]).forEach(function(u) {
          n.isFieldDef(u) ? F.push(u) : n.hasConditionalFieldDef(u) && F.push(u.condition);
        });
      }
    }), F;
  }
  ua.fieldDefs = D;
  function x(N, F, z) {
    if (N)
      for (var A = function(h) {
        t.isArray(N[h]) ? N[h].forEach(function(E) {
          F.call(z, E, h);
        }) : F.call(z, N[h], h);
      }, u = 0, a = l.keys(N); u < a.length; u++) {
        var s = a[u];
        A(s);
      }
  }
  ua.forEach = x;
  function M(N, F, z, A) {
    return N ? l.keys(N).reduce(function(u, a) {
      var s = N[a];
      return t.isArray(s) ? s.reduce(function(h, E) {
        return F.call(A, h, E, a);
      }, u) : F.call(A, u, s, a);
    }, z) : z;
  }
  return ua.reduce = M, ua;
}
var Bh = {}, m4;
function sRe() {
  if (m4) return Bh;
  m4 = 1, Object.defineProperty(Bh, "__esModule", { value: !0 });
  function e(t, r) {
    var n = t[r];
    return n !== void 0 ? (i = {}, i[r] = { value: n }, i) : {};
    var i;
  }
  return Bh.getMarkSpecificConfigMixins = e, Bh;
}
var v4;
function uRe() {
  return v4 || (v4 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = dt, n = ei(), i = ei(), o = At(), l = bt(), c = sRe();
    e.BOXPLOT = "box-plot";
    function g(F) {
      return !!F.type;
    }
    e.isBoxPlotDef = g, e.BOXPLOT_STYLES = ["boxWhisker", "box", "boxMid"], e.VL_ONLY_BOXPLOT_CONFIG_PROPERTY_INDEX = {
      box: ["size", "color", "extent"],
      boxWhisker: ["color"],
      boxMid: ["color"]
    };
    var y = ["x", "y", "color", "detail", "opacity", "size"];
    function C(F) {
      return t.__assign({}, F, { encoding: n.reduce(F.encoding, function(z, A, u) {
        return y.indexOf(u) > -1 ? z[u] = A : l.warn(l.message.incompatibleChannel(u, e.BOXPLOT)), z;
      }, {}) });
    }
    e.filterUnsupportedChannels = C;
    function D(F, z) {
      F = C(F);
      var A = F.mark;
      F.encoding;
      var u = F.selection;
      F.projection;
      var a = t.__rest(F, ["mark", "encoding", "selection", "projection"]), s = void 0;
      r.isNumber(z.box.extent) && (s = z.box.extent), g(A) && A.extent && A.extent === "min-max" && (s = void 0);
      var h = x(F), E = N(F, h, s), f = E.transform, S = E.continuousAxisChannelDef, _ = E.continuousAxis, d = E.encodingWithoutContinuousAxis;
      d.color;
      var p = d.size, b = t.__rest(d, ["color", "size"]), m = p ? { size: p } : c.getMarkSpecificConfigMixins(z.box, "size"), v = {};
      return S.scale && (v.scale = S.scale), S.axis && (v.axis = S.axis), t.__assign({}, a, { transform: f, layer: [
        {
          mark: {
            type: "rule",
            style: "boxWhisker"
          },
          encoding: t.__assign((O = {}, O[_] = t.__assign({ field: "lower_whisker_" + S.field, type: S.type }, v), O[_ + "2"] = {
            field: "lower_box_" + S.field,
            type: S.type
          }, O), b, c.getMarkSpecificConfigMixins(z.boxWhisker, "color"))
        },
        {
          mark: {
            type: "rule",
            style: "boxWhisker"
          },
          encoding: t.__assign((T = {}, T[_] = {
            field: "upper_box_" + S.field,
            type: S.type
          }, T[_ + "2"] = {
            field: "upper_whisker_" + S.field,
            type: S.type
          }, T), b, c.getMarkSpecificConfigMixins(z.boxWhisker, "color"))
        },
        t.__assign({}, u ? { selection: u } : {}, { mark: {
          type: "bar",
          style: "box"
        }, encoding: t.__assign((w = {}, w[_] = {
          field: "lower_box_" + S.field,
          type: S.type
        }, w[_ + "2"] = {
          field: "upper_box_" + S.field,
          type: S.type
        }, w), d, d.color ? {} : c.getMarkSpecificConfigMixins(z.box, "color"), m) }),
        {
          mark: {
            type: "tick",
            style: "boxMid"
          },
          encoding: t.__assign((P = {}, P[_] = {
            field: "mid_box_" + S.field,
            type: S.type
          }, P), b, c.getMarkSpecificConfigMixins(z.boxMid, "color"), m)
        }
      ] });
      var O, T, w, P;
    }
    e.normalizeBoxPlot = D;
    function x(F) {
      var z = F.mark, A = F.encoding;
      if (F.projection, t.__rest(F, ["mark", "encoding", "projection"]), o.isFieldDef(A.x) && o.isContinuous(A.x)) {
        if (o.isFieldDef(A.y) && o.isContinuous(A.y)) {
          if (A.x.aggregate === void 0 && A.y.aggregate === e.BOXPLOT)
            return "vertical";
          if (A.y.aggregate === void 0 && A.x.aggregate === e.BOXPLOT)
            return "horizontal";
          if (A.x.aggregate === e.BOXPLOT && A.y.aggregate === e.BOXPLOT)
            throw new Error("Both x and y cannot have aggregate");
          return g(z) && z.orient ? z.orient : "vertical";
        }
        return "horizontal";
      } else {
        if (o.isFieldDef(A.y) && o.isContinuous(A.y))
          return "vertical";
        throw new Error("Need a valid continuous axis for boxplots");
      }
    }
    function M(F, z) {
      F.mark;
      var A = F.encoding;
      F.projection, t.__rest(F, ["mark", "encoding", "projection"]);
      var u, a;
      if (z === "vertical" ? (a = "y", u = A.y) : (a = "x", u = A.x), u && u.aggregate) {
        var s = u.aggregate, h = t.__rest(u, ["aggregate"]);
        s !== e.BOXPLOT && l.warn("Continuous axis should not have customized aggregation function " + s), u = h;
      }
      return {
        continuousAxisChannelDef: u,
        continuousAxis: a
      };
    }
    function N(F, z, A) {
      var u = M(F, z), a = u.continuousAxisChannelDef, s = u.continuousAxis, h = F.encoding, E = A === void 0, f = [
        {
          op: "q1",
          field: a.field,
          as: "lower_box_" + a.field
        },
        {
          op: "q3",
          field: a.field,
          as: "upper_box_" + a.field
        },
        {
          op: "median",
          field: a.field,
          as: "mid_box_" + a.field
        }
      ], S = [];
      f.push({
        op: "min",
        field: a.field,
        as: (E ? "lower_whisker_" : "min_") + a.field
      }), f.push({
        op: "max",
        field: a.field,
        as: (E ? "upper_whisker_" : "max_") + a.field
      }), E || (S = [
        {
          calculate: "datum.upper_box_" + a.field + " - datum.lower_box_" + a.field,
          as: "iqr_" + a.field
        },
        {
          calculate: "min(datum.upper_box_" + a.field + " + datum.iqr_" + a.field + " * " + A + ", datum.max_" + a.field + ")",
          as: "upper_whisker_" + a.field
        },
        {
          calculate: "max(datum.lower_box_" + a.field + " - datum.iqr_" + a.field + " * " + A + ", datum.min_" + a.field + ")",
          as: "lower_whisker_" + a.field
        }
      ]);
      var _ = [], d = [], p = [], b = {};
      return i.forEach(h, function(m, v) {
        if (v !== s)
          if (o.isFieldDef(m)) {
            if (m.aggregate && m.aggregate !== e.BOXPLOT)
              f.push({
                op: m.aggregate,
                field: m.field,
                as: o.vgField(m)
              });
            else if (m.aggregate === void 0) {
              var O = o.vgField(m), T = m.bin;
              if (T) {
                var w = m.field;
                d.push({ bin: T, field: w, as: O });
              } else if (m.timeUnit) {
                var P = m.timeUnit, w = m.field;
                p.push({ timeUnit: P, field: w, as: O });
              }
              _.push(O);
            }
            b[v] = {
              field: o.vgField(m),
              type: m.type
            };
          } else
            b[v] = h[v];
      }), {
        transform: [].concat(d, p, [{ aggregate: f, groupby: _ }], S),
        continuousAxisChannelDef: a,
        continuousAxis: s,
        encodingWithoutContinuousAxis: b
      };
    }
  }(Dx)), Dx;
}
var wc = {}, g4;
function lRe() {
  if (g4) return wc;
  g4 = 1, Object.defineProperty(wc, "__esModule", { value: !0 });
  var e = Pe;
  wc.ERRORBAR = "error-bar";
  function t(r) {
    r.mark, r.selection, r.projection;
    var n = r.encoding, i = e.__rest(r, ["mark", "selection", "projection", "encoding"]);
    n.size;
    var o = e.__rest(n, ["size"]);
    n.x2, n.y2;
    var l = e.__rest(n, ["x2", "y2"]);
    l.x, l.y;
    var c = e.__rest(l, ["x", "y"]);
    if (!n.x2 && !n.y2)
      throw new Error("Neither x2 or y2 provided");
    return e.__assign({}, i, { layer: [
      {
        mark: "rule",
        encoding: o
      },
      {
        mark: "tick",
        encoding: l
      },
      {
        mark: "tick",
        encoding: n.x2 ? e.__assign({ x: n.x2, y: n.y }, c) : e.__assign({ x: n.x, y: n.y2 }, c)
      }
    ] });
  }
  return wc.normalizeErrorBar = t, wc;
}
var y4;
function Gg() {
  if (y4) return Oo;
  y4 = 1, Object.defineProperty(Oo, "__esModule", { value: !0 });
  var e = Pe, t = Hr(), r = uRe(), n = lRe(), i = {};
  function o(g, y) {
    i[g] = y;
  }
  Oo.add = o;
  function l(g) {
    delete i[g];
  }
  Oo.remove = l, Oo.COMPOSITE_MARK_STYLES = r.BOXPLOT_STYLES, Oo.VL_ONLY_COMPOSITE_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX = e.__assign({}, r.VL_ONLY_BOXPLOT_CONFIG_PROPERTY_INDEX), o(r.BOXPLOT, r.normalizeBoxPlot), o(n.ERRORBAR, n.normalizeErrorBar);
  function c(g, y) {
    var C = t.isMarkDef(g.mark) ? g.mark.type : g.mark, D = i[C];
    if (D)
      return D(g, y);
    throw new Error('Invalid mark type "' + C + '"');
  }
  return Oo.normalize = c, Oo;
}
var Wh = {}, Ix = {}, $h = {}, b4;
function cRe() {
  return b4 || (b4 = 1, Object.defineProperty($h, "__esModule", { value: !0 }), $h.VL_ONLY_GUIDE_CONFIG = ["shortTimeLabels"]), $h;
}
var wu = {}, _4;
function oN() {
  if (_4) return wu;
  _4 = 1, Object.defineProperty(wu, "__esModule", { value: !0 });
  var e = Pe, t = Xe();
  wu.defaultLegendConfig = {};
  var r = {
    entryPadding: 1,
    format: 1,
    offset: 1,
    orient: 1,
    padding: 1,
    tickCount: 1,
    title: 1,
    type: 1,
    values: 1,
    zindex: 1
  }, n = e.__assign({}, r, {
    // channel scales
    opacity: 1,
    shape: 1,
    stroke: 1,
    fill: 1,
    size: 1,
    // encode
    encode: 1
  });
  return wu.LEGEND_PROPERTIES = t.flagKeys(r), wu.VG_LEGEND_PROPERTIES = t.flagKeys(n), wu;
}
var Fx = {}, E4;
function er() {
  return E4 || (E4 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = dt, n = St(), i = bt(), o = Xe();
    (function(_) {
      _.LINEAR = "linear", _.BIN_LINEAR = "bin-linear", _.LOG = "log", _.POW = "pow", _.SQRT = "sqrt", _.TIME = "time", _.UTC = "utc", _.SEQUENTIAL = "sequential", _.QUANTILE = "quantile", _.QUANTIZE = "quantize", _.THRESHOLD = "threshold", _.ORDINAL = "ordinal", _.BIN_ORDINAL = "bin-ordinal", _.POINT = "point", _.BAND = "band";
    })(e.ScaleType || (e.ScaleType = {}));
    var l = {
      linear: "numeric",
      log: "numeric",
      pow: "numeric",
      sqrt: "numeric",
      "bin-linear": "bin-linear",
      time: "time",
      utc: "time",
      sequential: "sequential",
      ordinal: "ordinal",
      "bin-ordinal": "bin-ordinal",
      point: "ordinal-position",
      band: "ordinal-position"
    };
    e.SCALE_TYPES = o.keys(l);
    function c(_, d) {
      var p = l[_], b = l[d];
      return p === b || p === "ordinal-position" && b === "time" || b === "ordinal-position" && p === "time";
    }
    e.scaleCompatible = c;
    var g = {
      // numeric
      linear: 0,
      log: 1,
      pow: 1,
      sqrt: 1,
      // time
      time: 0,
      utc: 0,
      // ordinal-position -- these have higher precedence than continuous scales as they support more types of data
      point: 10,
      band: 11,
      // non grouped types
      "bin-linear": 0,
      sequential: 0,
      ordinal: 0,
      "bin-ordinal": 0
    };
    function y(_) {
      return g[_];
    }
    e.scaleTypePrecedence = y, e.CONTINUOUS_TO_CONTINUOUS_SCALES = ["linear", "bin-linear", "log", "pow", "sqrt", "time", "utc"];
    var C = r.toSet(e.CONTINUOUS_TO_CONTINUOUS_SCALES);
    e.CONTINUOUS_DOMAIN_SCALES = e.CONTINUOUS_TO_CONTINUOUS_SCALES.concat([
      "sequential"
      /* TODO add 'quantile', 'quantize', 'threshold'*/
    ]);
    var D = r.toSet(e.CONTINUOUS_DOMAIN_SCALES);
    e.DISCRETE_DOMAIN_SCALES = ["ordinal", "bin-ordinal", "point", "band"];
    var x = r.toSet(e.DISCRETE_DOMAIN_SCALES), M = r.toSet(["bin-linear", "bin-ordinal"]);
    e.TIME_SCALE_TYPES = ["time", "utc"];
    function N(_) {
      return _ in x;
    }
    e.hasDiscreteDomain = N;
    function F(_) {
      return _ in M;
    }
    e.isBinScale = F;
    function z(_) {
      return _ in D;
    }
    e.hasContinuousDomain = z;
    function A(_) {
      return _ in C;
    }
    e.isContinuousToContinuous = A, e.defaultScaleConfig = {
      textXRangeStep: 90,
      rangeStep: 21,
      pointPadding: 0.5,
      bandPaddingInner: 0.1,
      facetSpacing: 16,
      minBandSize: 2,
      minFontSize: 8,
      maxFontSize: 40,
      minOpacity: 0.3,
      maxOpacity: 0.8,
      // FIXME: revise if these *can* become ratios of rangeStep
      minSize: 9,
      minStrokeWidth: 1,
      maxStrokeWidth: 4
    };
    function u(_) {
      return _ && !!_.name;
    }
    e.isExtendedScheme = u;
    function a(_) {
      return _ && _.selection;
    }
    e.isSelectionDomain = a;
    var s = {
      type: 1,
      domain: 1,
      range: 1,
      rangeStep: 1,
      scheme: 1,
      // Other properties
      reverse: 1,
      round: 1,
      // quantitative / time
      clamp: 1,
      nice: 1,
      // quantitative
      base: 1,
      exponent: 1,
      interpolate: 1,
      zero: 1,
      // band/point
      padding: 1,
      paddingInner: 1,
      paddingOuter: 1
    };
    e.SCALE_PROPERTIES = o.flagKeys(s), s.type, s.domain, s.range, s.rangeStep, s.scheme;
    var h = t.__rest(s, ["type", "domain", "range", "rangeStep", "scheme"]);
    e.NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES = o.flagKeys(h);
    function E(_, d) {
      switch (d) {
        case "type":
        case "domain":
        case "reverse":
        case "range":
          return !0;
        case "scheme":
          return o.contains(["sequential", "ordinal", "bin-ordinal", "quantile", "quantize"], _);
        case "interpolate":
          return o.contains(["linear", "bin-linear", "pow", "log", "sqrt", "utc", "time"], _);
        case "round":
          return A(_) || _ === "band" || _ === "point";
        case "padding":
          return A(_) || o.contains(["point", "band"], _);
        case "paddingOuter":
        case "rangeStep":
          return o.contains(["point", "band"], _);
        case "paddingInner":
          return _ === "band";
        case "clamp":
          return A(_) || _ === "sequential";
        case "nice":
          return A(_) || _ === "sequential" || _ === "quantize";
        case "exponent":
          return _ === "pow";
        case "base":
          return _ === "log";
        case "zero":
          return z(_) && !o.contains([
            "log",
            "time",
            "utc",
            "bin-linear",
            "threshold",
            "quantile"
            // quantile depends on distribution so zero does not matter
          ], _);
      }
      throw new Error("Invalid scale property " + d + ".");
    }
    e.scaleTypeSupportProperty = E;
    function f(_, d) {
      switch (d) {
        case "interpolate":
        case "scheme":
          return n.isColorChannel(_) ? void 0 : i.message.cannotUseScalePropertyWithNonColor(_);
        case "type":
        case "domain":
        case "range":
        case "base":
        case "exponent":
        case "nice":
        case "padding":
        case "paddingInner":
        case "paddingOuter":
        case "rangeStep":
        case "reverse":
        case "round":
        case "clamp":
        case "zero":
          return;
      }
      throw new Error('Invalid scale property "' + d + '".');
    }
    e.channelScalePropertyIncompatability = f;
    function S(_, d) {
      switch (_) {
        case n.Channel.X:
        case n.Channel.Y:
        case n.Channel.SIZE:
        case n.Channel.OPACITY:
          return A(d) || o.contains(["band", "point"], d);
        case n.Channel.COLOR:
        case n.Channel.FILL:
        case n.Channel.STROKE:
          return d !== "band";
        case n.Channel.SHAPE:
          return d === "ordinal";
      }
      return !1;
    }
    e.channelSupportScaleType = S;
  }(Fx)), Fx;
}
var Lx = {}, S4;
function sN() {
  return S4 || (S4 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 }), e.SELECTION_ID = "_vgsid_", e.defaultConfig = {
      single: {
        on: "click",
        fields: [e.SELECTION_ID],
        resolve: "global",
        empty: "all"
      },
      multi: {
        on: "click",
        fields: [e.SELECTION_ID],
        toggle: "event.shiftKey",
        resolve: "global",
        empty: "all"
      },
      interval: {
        on: "[mousedown, window:mouseup] > window:mousemove!",
        encodings: ["x", "y"],
        translate: "[mousedown, window:mouseup] > window:mousemove!",
        zoom: "wheel!",
        mark: { fill: "#333", fillOpacity: 0.125, stroke: "white" },
        resolve: "global"
      }
    };
  }(Lx)), Lx;
}
var Vh = {}, w4;
function AJ() {
  if (w4) return Vh;
  w4 = 1, Object.defineProperty(Vh, "__esModule", { value: !0 });
  var e = Pe;
  function t(r) {
    var n = r.anchor, i = r.offset, o = r.orient, l = r.color, c = e.__rest(r, ["anchor", "offset", "orient", "color"]), g = e.__assign({}, c, l ? { fill: l } : {}), y = e.__assign({}, n ? { anchor: n } : {}, i ? { offset: i } : {}, o ? { orient: o } : {});
    return { mark: g, nonMark: y };
  }
  return Vh.extractTitleConfig = t, Vh;
}
var O4;
function DJ() {
  return O4 || (O4 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = dt, n = Gg(), i = Gg(), o = cRe(), l = oN(), c = Hr(), g = Hr(), y = er(), C = sN(), D = AJ(), x = Xe();
    e.defaultViewConfig = {
      width: 200,
      height: 200
    }, e.defaultConfig = {
      padding: 5,
      timeFormat: "%b %d, %Y",
      countTitle: "Number of Records",
      invalidValues: "filter",
      view: e.defaultViewConfig,
      mark: g.defaultMarkConfig,
      area: {},
      bar: g.defaultBarConfig,
      circle: {},
      geoshape: {},
      line: {},
      point: {},
      rect: {},
      rule: { color: "black" },
      square: {},
      text: { color: "black" },
      tick: g.defaultTickConfig,
      trail: {},
      box: { size: 14, extent: 1.5 },
      boxWhisker: {},
      boxMid: { color: "white" },
      scale: y.defaultScaleConfig,
      projection: {},
      axis: {},
      axisX: {},
      axisY: { minExtent: 30 },
      axisLeft: {},
      axisRight: {},
      axisTop: {},
      axisBottom: {},
      axisBand: {},
      legend: l.defaultLegendConfig,
      selection: C.defaultConfig,
      style: {},
      title: {}
    };
    function M(a) {
      return x.mergeDeep(x.duplicate(e.defaultConfig), a);
    }
    e.initConfig = M;
    var N = ["view"].concat(c.PRIMITIVE_MARKS, n.COMPOSITE_MARK_STYLES), F = [
      "padding",
      "numberFormat",
      "timeFormat",
      "countTitle",
      "stack",
      "scale",
      "selection",
      "invalidValues",
      "overlay"
      // FIXME: Redesign and unhide this
    ], z = t.__assign({ view: ["width", "height"] }, c.VL_ONLY_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX, i.VL_ONLY_COMPOSITE_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX);
    function A(a) {
      a = x.duplicate(a);
      for (var s = 0, h = F; s < h.length; s++) {
        var E = h[s];
        delete a[E];
      }
      if (a.axis)
        for (var f = 0, S = o.VL_ONLY_GUIDE_CONFIG; f < S.length; f++) {
          var E = S[f];
          delete a.axis[E];
        }
      if (a.legend)
        for (var _ = 0, d = o.VL_ONLY_GUIDE_CONFIG; _ < d.length; _++) {
          var E = d[_];
          delete a.legend[E];
        }
      if (a.mark)
        for (var p = 0, b = c.VL_ONLY_MARK_CONFIG_PROPERTIES; p < b.length; p++) {
          var E = b[p];
          delete a.mark[E];
        }
      for (var m = 0, v = N; m < v.length; m++) {
        for (var O = v[m], T = 0, w = c.VL_ONLY_MARK_CONFIG_PROPERTIES; T < w.length; T++) {
          var E = w[T];
          delete a[O][E];
        }
        var P = z[O];
        if (P)
          for (var I = 0, L = P; I < L.length; I++) {
            var E = L[I];
            delete a[O][E];
          }
        u(a, O);
      }
      u(a, "title", "group-title");
      for (var E in a)
        r.isObject(a[E]) && x.keys(a[E]).length === 0 && delete a[E];
      return x.keys(a).length > 0 ? a : void 0;
    }
    e.stripAndRedirectConfig = A;
    function u(a, s, h) {
      var E = s === "title" ? D.extractTitleConfig(a.title).mark : a[s];
      s === "view" && (h = "cell");
      var f = t.__assign({}, E, a.style[s]);
      x.keys(f).length > 0 && (a.style[h || s] = f), delete a[s];
    }
  }(Ix)), Ix;
}
var $n = {}, jx = {}, T4;
function uN() {
  return T4 || (T4 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = dt, r = Gd(), n = St(), i = ei(), o = At(), l = bt(), c = Hr(), g = er(), y = Xe(), C = {
      zero: 1,
      center: 1,
      normalize: 1
    };
    function D(N) {
      return !!C[N];
    }
    e.isStackOffset = D, e.STACKABLE_MARKS = [c.BAR, c.AREA, c.RULE, c.POINT, c.CIRCLE, c.SQUARE, c.LINE, c.TEXT, c.TICK], e.STACK_BY_DEFAULT_MARKS = [c.BAR, c.AREA];
    function x(N) {
      var F = N.x, z = N.y;
      if (o.isFieldDef(F) && o.isFieldDef(z))
        if (F.type === "quantitative" && z.type === "quantitative") {
          if (F.stack)
            return "x";
          if (z.stack)
            return "y";
          if (!!F.aggregate != !!z.aggregate)
            return F.aggregate ? "x" : "y";
        } else {
          if (F.type === "quantitative")
            return "x";
          if (z.type === "quantitative")
            return "y";
        }
      else {
        if (o.isFieldDef(F) && F.type === "quantitative")
          return "x";
        if (o.isFieldDef(z) && z.type === "quantitative")
          return "y";
      }
    }
    function M(N, F, z) {
      var A = c.isMarkDef(N) ? N.type : N;
      if (!y.contains(e.STACKABLE_MARKS, A))
        return null;
      var u = x(F);
      if (!u)
        return null;
      var a = F[u], s = o.isStringFieldDef(a) ? o.vgField(a, {}) : void 0, h = u === "x" ? "y" : "x", E = F[h], f = o.isStringFieldDef(E) ? o.vgField(E, {}) : void 0, S = n.NONPOSITION_CHANNELS.reduce(function(d, p) {
        if (i.channelHasField(F, p)) {
          var b = F[p];
          (t.isArray(b) ? b : [b]).forEach(function(m) {
            var v = o.getFieldDef(m);
            if (!v.aggregate) {
              var O = o.isStringFieldDef(v) ? o.vgField(v, {}) : void 0;
              // if fielddef is a repeat, just include it in the stack by
              (!O || // otherwise, the field must be different from x and y fields.
              O !== f && O !== s) && d.push({ channel: p, fieldDef: v });
            }
          });
        }
        return d;
      }, []);
      if (S.length === 0)
        return null;
      var _ = void 0;
      return a.stack !== void 0 ? _ = a.stack : y.contains(e.STACK_BY_DEFAULT_MARKS, A) ? _ = z === void 0 ? "zero" : z : _ = z, !_ || !D(_) ? null : a.scale && a.scale.type && a.scale.type !== g.ScaleType.LINEAR ? (l.warn(l.message.cannotStackNonLinearScale(a.scale.type)), null) : i.channelHasField(F, u === n.X ? n.X2 : n.Y2) ? (l.warn(l.message.cannotStackRangedMark(u)), null) : (a.aggregate && !y.contains(r.SUM_OPS, a.aggregate) && l.warn(l.message.stackNonSummativeAggregate(a.aggregate)), {
        groupbyChannel: E ? h : void 0,
        fieldChannel: u,
        impute: c.isPathMark(A),
        stackBy: S,
        offset: _
      });
    }
    e.stack = M;
  }(jx)), jx;
}
var C4;
function Vl() {
  if (C4) return $n;
  C4 = 1, Object.defineProperty($n, "__esModule", { value: !0 });
  var e = Pe, t = dt, r = St(), n = Gg(), i = ei(), o = ei(), l = bt(), c = Hr(), g = uN(), y = Xe();
  function C(R) {
    return R.facet !== void 0;
  }
  $n.isFacetSpec = C;
  function D(R) {
    return !!R.mark;
  }
  $n.isUnitSpec = D;
  function x(R) {
    return R.layer !== void 0;
  }
  $n.isLayerSpec = x;
  function M(R) {
    return R.repeat !== void 0;
  }
  $n.isRepeatSpec = M;
  function N(R) {
    return F(R) || z(R);
  }
  $n.isConcatSpec = N;
  function F(R) {
    return R.vconcat !== void 0;
  }
  $n.isVConcatSpec = F;
  function z(R) {
    return R.hconcat !== void 0;
  }
  $n.isHConcatSpec = z;
  function A(R, q) {
    if (C(R))
      return u(R, q);
    if (x(R))
      return h(R, q);
    if (M(R))
      return E(R, q);
    if (F(R))
      return f(R, q);
    if (z(R))
      return S(R, q);
    if (D(R)) {
      var B = i.channelHasField(R.encoding, r.ROW), j = i.channelHasField(R.encoding, r.COLUMN);
      return B || j ? _(R, q) : m(R, q);
    }
    throw new Error(l.message.INVALID_SPEC);
  }
  $n.normalize = A;
  function u(R, q) {
    var B = R.spec, j = e.__rest(R, ["spec"]);
    return e.__assign({}, j, {
      // TODO: remove "any" once we support all facet listed in https://github.com/vega/vega-lite/issues/2760
      spec: A(B, q)
    });
  }
  function a(R) {
    var q = R.parentEncoding, B = R.encoding;
    if (q && B) {
      var j = y.keys(q).reduce(function(U, W) {
        return B[W] && U.push(W), U;
      }, []);
      j.length > 0 && l.warn(l.message.encodingOverridden(j));
    }
    var k = e.__assign({}, q || {}, B || {});
    return y.keys(k).length > 0 ? k : void 0;
  }
  function s(R) {
    var q = R.parentProjection, B = R.projection;
    return q && B && l.warn(l.message.projectionOverridden({ parentProjection: q, projection: B })), B || q;
  }
  function h(R, q, B, j) {
    var k = R.layer, U = R.encoding, W = R.projection, $ = e.__rest(R, ["layer", "encoding", "projection"]), V = a({ parentEncoding: B, encoding: U }), G = s({ parentProjection: j, projection: W });
    return e.__assign({}, $, { layer: k.map(function(X) {
      return x(X) ? h(X, q, V, G) : m(X, q, V, G);
    }) });
  }
  function E(R, q) {
    var B = R.spec, j = e.__rest(R, ["spec"]);
    return e.__assign({}, j, { spec: A(B, q) });
  }
  function f(R, q) {
    var B = R.vconcat, j = e.__rest(R, ["vconcat"]);
    return e.__assign({}, j, { vconcat: B.map(function(k) {
      return A(k, q);
    }) });
  }
  function S(R, q) {
    var B = R.hconcat, j = e.__rest(R, ["hconcat"]);
    return e.__assign({}, j, { hconcat: B.map(function(k) {
      return A(k, q);
    }) });
  }
  function _(R, q) {
    var B = R.encoding, j = B.row, k = B.column, U = e.__rest(B, ["row", "column"]), W = R.mark, $ = R.width, V = R.projection, G = R.height, X = R.selection;
    R.encoding;
    var K = e.__rest(R, ["mark", "width", "projection", "height", "selection", "encoding"]);
    return e.__assign({}, K, { facet: e.__assign({}, j ? { row: j } : {}, k ? { column: k } : {}), spec: m(e.__assign({}, V ? { projection: V } : {}, { mark: W }, $ ? { width: $ } : {}, G ? { height: G } : {}, { encoding: U }, X ? { selection: X } : {}), q) });
  }
  function d(R) {
    return c.isPrimitiveMark(R.mark);
  }
  function p(R, q, B) {
    return R.point === "transparent" ? { opacity: 0 } : R.point ? t.isObject(R.point) ? R.point : {} : R.point !== void 0 ? null : q.point || B.shape ? t.isObject(q.point) ? q.point : {} : null;
  }
  function b(R, q) {
    return R.line ? R.line === !0 ? {} : R.line : R.line !== void 0 ? null : q.line ? q.line === !0 ? {} : q.line : null;
  }
  function m(R, q, B, j) {
    var k = R.encoding, U = R.projection, W = c.isMarkDef(R.mark) ? R.mark.type : R.mark;
    if (B || j) {
      var $ = s({ parentProjection: j, projection: U }), V = a({ parentEncoding: B, encoding: k });
      return m(e.__assign({}, R, $ ? { projection: $ } : {}, V ? { encoding: V } : {}), q);
    }
    return d(R) ? i.isRanged(k) ? v(R) : W === "line" && (k.x2 || k.y2) ? (l.warn(l.message.lineWithRange(!!k.x2, !!k.y2)), m(e.__assign({ mark: "rule" }, R), q, B, j)) : c.isPathMark(W) ? T(R, q) : R : n.normalize(R, q);
  }
  function v(R) {
    var q = i.channelHasField(R.encoding, r.X), B = i.channelHasField(R.encoding, r.Y), j = i.channelHasField(R.encoding, r.X2), k = i.channelHasField(R.encoding, r.Y2);
    if (j && !q || k && !B) {
      var U = y.duplicate(R);
      return j && !q && (U.encoding.x = U.encoding.x2, delete U.encoding.x2), k && !B && (U.encoding.y = U.encoding.y2, delete U.encoding.y2), U;
    }
    return R;
  }
  function O(R) {
    R.point, R.line;
    var q = e.__rest(R, ["point", "line"]);
    return y.keys(q).length > 1 ? q : q.type;
  }
  function T(R, q) {
    q === void 0 && (q = {});
    var B = R.selection, j = R.projection, k = R.encoding, U = R.mark, W = e.__rest(R, ["selection", "projection", "encoding", "mark"]), $ = c.isMarkDef(U) ? U : { type: U }, V = p($, q[$.type], k), G = $.type === "area" && b($, q[$.type]);
    if (!V && !G)
      return e.__assign({}, R, {
        // Do not include point / line overlay in the normalize spec
        mark: O($)
      });
    var X = [{
      // Do not include point / line overlay in the normalize spec
      mark: O(e.__assign({}, $, $.type === "area" ? { opacity: 0.7 } : {})),
      encoding: k
    }], K = g.stack($, k, q ? q.stack : void 0), H = k;
    if (K) {
      var Y = K.fieldChannel, Q = K.offset;
      H = e.__assign({}, k, (Z = {}, Z[Y] = e.__assign({}, k[Y], Q ? { stack: Q } : {}), Z));
    }
    return G && X.push(e.__assign({}, j ? { projection: j } : {}, { mark: e.__assign({ type: "line" }, G) }, B ? { selection: B } : {}, { encoding: H })), V && X.push(e.__assign({}, j ? { projection: j } : {}, { mark: e.__assign({ type: "point", opacity: 1, filled: !0 }, V) }, B ? { selection: B } : {}, { encoding: H })), e.__assign({}, W, { layer: X });
    var Z;
  }
  function w(R, q) {
    return q.forEach(function(B) {
      var j = ["field", "type", "value", "timeUnit", "bin", "aggregate"].reduce(function(U, W) {
        return B[W] !== void 0 && (U[W] = B[W]), U;
      }, {}), k = y.hash(j);
      R[k] = R[k] || B;
    }), R;
  }
  function P(R, q) {
    if (q === void 0 && (q = {}), x(R))
      R.layer.forEach(function(j) {
        D(j) ? w(q, o.fieldDefs(j.encoding)) : P(j, q);
      });
    else if (C(R))
      w(q, o.fieldDefs(R.facet)), P(R.spec, q);
    else if (M(R))
      P(R.spec, q);
    else if (N(R)) {
      var B = F(R) ? R.vconcat : R.hconcat;
      B.forEach(function(j) {
        return P(j, q);
      });
    } else
      w(q, o.fieldDefs(R.encoding));
    return q;
  }
  function I(R) {
    return y.vals(P(R));
  }
  $n.fieldDefs = I;
  function L(R, q) {
    return q = q || R.config, c.isPrimitiveMark(R.mark) ? g.stack(R.mark, R.encoding, q ? q.stack : void 0) !== null : !1;
  }
  return $n.isStacked = L, $n;
}
var Oc = {}, x4;
function fRe() {
  if (x4) return Oc;
  x4 = 1, Object.defineProperty(Oc, "__esModule", { value: !0 });
  var e = Pe, t = dt, r = bt();
  function n(c) {
    return t.isString(c) ? { type: c } : c || {};
  }
  function i(c, g, y) {
    y === void 0 && (y = !0);
    var C = e.__assign({ type: "pad" }, n(g), n(c));
    return C.type === "fit" && (y || (r.warn(r.message.FIT_NON_SINGLE), C.type = "pad")), C;
  }
  Oc.normalizeAutoSize = i;
  var o = [
    "background",
    "padding",
    "datasets"
    // We do not include "autosize" here as it is supported by only unit and layer specs and thus need to be normalized
  ];
  function l(c) {
    return o.reduce(function(g, y) {
      return c && c[y] !== void 0 && (g[y] = c[y]), g;
    }, {});
  }
  return Oc.extractTopLevelProperties = l, Oc;
}
var Hh = {}, Yh = {}, Gh = {}, Tc = {}, To = {}, A4;
function rs() {
  if (A4) return To;
  A4 = 1, Object.defineProperty(To, "__esModule", { value: !0 });
  function e(n) {
    return !!n.url;
  }
  To.isUrlData = e;
  function t(n) {
    return !!n.values;
  }
  To.isInlineData = t;
  function r(n) {
    return !!n.name;
  }
  return To.isNamedData = r, To.MAIN = "main", To.RAW = "raw", To;
}
var Ai = {}, Ux = {};
const dRe = "view", Kg = "[", Xg = "]", PJ = "{", kJ = "}", pRe = ":", RJ = ",", hRe = "@", mRe = ">", vRe = /[[\]{}]/, gRe = {
  "*": 1,
  arc: 1,
  area: 1,
  group: 1,
  image: 1,
  line: 1,
  path: 1,
  rect: 1,
  rule: 1,
  shape: 1,
  symbol: 1,
  text: 1,
  trail: 1
};
let MJ, NJ;
function yRe(e, t, r) {
  return MJ = t || dRe, NJ = r || gRe, IJ(e.trim()).map(jD);
}
function bRe(e) {
  return NJ[e];
}
function Rf(e, t, r, n, i) {
  const o = e.length;
  let l = 0, c;
  for (; t < o; ++t) {
    if (c = e[t], !l && c === r) return t;
    i && i.indexOf(c) >= 0 ? --l : n && n.indexOf(c) >= 0 && ++l;
  }
  return t;
}
function IJ(e) {
  const t = [], r = e.length;
  let n = 0, i = 0;
  for (; i < r; )
    i = Rf(e, i, RJ, Kg + PJ, Xg + kJ), t.push(e.substring(n, i).trim()), n = ++i;
  if (t.length === 0)
    throw "Empty event selector: " + e;
  return t;
}
function jD(e) {
  return e[0] === "[" ? _Re(e) : ERe(e);
}
function _Re(e) {
  const t = e.length;
  let r = 1, n;
  if (r = Rf(e, r, Xg, Kg, Xg), r === t)
    throw "Empty between selector: " + e;
  if (n = IJ(e.substring(1, r)), n.length !== 2)
    throw "Between selector must have two elements: " + e;
  if (e = e.slice(r + 1).trim(), e[0] !== mRe)
    throw "Expected '>' after between selector: " + e;
  n = n.map(jD);
  const i = jD(e.slice(1).trim());
  return i.between ? {
    between: n,
    stream: i
  } : (i.between = n, i);
}
function ERe(e) {
  const t = {
    source: MJ
  }, r = [];
  let n = [0, 0], i = 0, o = 0, l = e.length, c = 0, g, y;
  if (e[l - 1] === kJ) {
    if (c = e.lastIndexOf(PJ), c >= 0) {
      try {
        n = SRe(e.substring(c + 1, l - 1));
      } catch {
        throw "Invalid throttle specification: " + e;
      }
      e = e.slice(0, c).trim(), l = e.length;
    } else throw "Unmatched right brace: " + e;
    c = 0;
  }
  if (!l) throw e;
  if (e[0] === hRe && (i = ++c), g = Rf(e, c, pRe), g < l && (r.push(e.substring(o, g).trim()), o = c = ++g), c = Rf(e, c, Kg), c === l)
    r.push(e.substring(o, l).trim());
  else if (r.push(e.substring(o, c).trim()), y = [], o = ++c, o === l) throw "Unmatched left bracket: " + e;
  for (; c < l; ) {
    if (c = Rf(e, c, Xg), c === l) throw "Unmatched left bracket: " + e;
    if (y.push(e.substring(o, c).trim()), c < l - 1 && e[++c] !== Kg) throw "Expected left bracket: " + e;
    o = ++c;
  }
  if (!(l = r.length) || vRe.test(r[l - 1]))
    throw "Invalid event selector: " + e;
  return l > 1 ? (t.type = r[1], i ? t.markname = r[0].slice(1) : bRe(r[0]) ? t.marktype = r[0] : t.source = r[0]) : t.type = r[0], t.type.slice(-1) === "!" && (t.consume = !0, t.type = t.type.slice(0, -1)), y != null && (t.filter = y), n[0] && (t.throttle = n[0]), n[1] && (t.debounce = n[1]), t;
}
function SRe(e) {
  const t = e.split(RJ);
  if (!e.length || t.length > 2) throw e;
  return t.map((r) => {
    const n = +r;
    if (n !== n) throw e;
    return n;
  });
}
const wRe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  selector: yRe
}, Symbol.toStringTag, { value: "Module" })), lN = /* @__PURE__ */ On(wRe);
var Di = {}, Pi = {}, D4;
function p_() {
  if (D4) return Pi;
  D4 = 1, Object.defineProperty(Pi, "__esModule", { value: !0 });
  var e = iN(), t = Jd();
  function r(C) {
    return C.filter !== void 0;
  }
  Pi.isFilter = r;
  function n(C) {
    return C.lookup !== void 0;
  }
  Pi.isLookup = n;
  function i(C) {
    return C.window !== void 0;
  }
  Pi.isWindow = i;
  function o(C) {
    return C.calculate !== void 0;
  }
  Pi.isCalculate = o;
  function l(C) {
    return !!C.bin;
  }
  Pi.isBin = l;
  function c(C) {
    return C.timeUnit !== void 0;
  }
  Pi.isTimeUnit = c;
  function g(C) {
    return C.aggregate !== void 0;
  }
  Pi.isAggregate = g;
  function y(C) {
    return C.map(function(D) {
      return r(D) ? {
        filter: e.normalizeLogicalOperand(D.filter, t.normalizePredicate)
      } : D;
    });
  }
  return Pi.normalizeTransform = y, Pi;
}
var la = {}, P4;
function ti() {
  if (P4) return la;
  P4 = 1, Object.defineProperty(la, "__esModule", { value: !0 });
  var e = dt, t = Xe();
  function r(y) {
    return !!y.signal;
  }
  la.isVgSignalRef = r;
  function n(y) {
    return !!y.step;
  }
  la.isVgRangeStep = n;
  function i(y) {
    return e.isArray(y) ? !1 : "fields" in y && !("data" in y);
  }
  la.isDataRefUnionedDomain = i;
  function o(y) {
    return e.isArray(y) ? !1 : "fields" in y && "data" in y;
  }
  la.isFieldRefUnionDomain = o;
  function l(y) {
    return e.isArray(y) ? !1 : "field" in y && "data" in y;
  }
  la.isDataRefDomain = l;
  function c(y) {
    return e.isArray(y) ? !1 : "signal" in y;
  }
  la.isSignalRefDomain = c;
  var g = {
    opacity: 1,
    fill: 1,
    fillOpacity: 1,
    stroke: 1,
    strokeCap: 1,
    strokeWidth: 1,
    strokeOpacity: 1,
    strokeDash: 1,
    strokeDashOffset: 1,
    size: 1,
    shape: 1,
    interpolate: 1,
    tension: 1,
    orient: 1,
    align: 1,
    baseline: 1,
    text: 1,
    limit: 1,
    dx: 1,
    dy: 1,
    radius: 1,
    theta: 1,
    angle: 1,
    font: 1,
    fontSize: 1,
    fontWeight: 1,
    fontStyle: 1,
    cursor: 1,
    href: 1
  };
  return la.VG_MARK_CONFIGS = t.flagKeys(g), la;
}
var Cc = {}, k4;
function FJ() {
  if (k4) return Cc;
  k4 = 1, Object.defineProperty(Cc, "__esModule", { value: !0 });
  var e = Pe, t = dt, r = aN(), n = At(), i = Xe();
  function o(g, y) {
    return t.isArray(g) ? g.map(function(C) {
      return n.title(C, y);
    }).join(", ") : g;
  }
  function l(g, y, C, D) {
    D === void 0 && (D = { header: !1 });
    var x = g.combine(), M = x.orient, N = x.scale, F = x.title, z = x.zindex, A = e.__rest(x, ["orient", "scale", "title", "zindex"]);
    if (i.keys(A).forEach(function(f) {
      var S = r.AXIS_PROPERTY_TYPE[f];
      S && S !== y && S !== "both" && delete A[f];
    }), y === "grid") {
      if (!A.grid)
        return;
      if (A.encode) {
        var u = A.encode.grid;
        A.encode = e.__assign({}, u ? { grid: u } : {}), i.keys(A.encode).length === 0 && delete A.encode;
      }
      return e.__assign({
        scale: N,
        orient: M
      }, A, {
        domain: !1,
        labels: !1,
        // Always set min/maxExtent to 0 to ensure that `config.axis*.minExtent` and `config.axis*.maxExtent`
        // would not affect gridAxis
        maxExtent: 0,
        minExtent: 0,
        ticks: !1,
        zindex: z !== void 0 ? z : 0
        // put grid behind marks by default
      });
    } else {
      if (!D.header && g.mainExtracted)
        return;
      if (A.encode) {
        for (var a = 0, s = r.AXIS_PARTS; a < s.length; a++) {
          var h = s[a];
          g.hasAxisPart(h) || delete A.encode[h];
        }
        i.keys(A.encode).length === 0 && delete A.encode;
      }
      var E = o(F, C);
      return e.__assign({
        scale: N,
        orient: M
      }, E ? { title: E } : {}, A, {
        zindex: z !== void 0 ? z : 1
        // put axis line above marks by default
      });
    }
  }
  Cc.assembleAxis = l;
  function c(g, y) {
    var C = g.x, D = C === void 0 ? [] : C, x = g.y, M = x === void 0 ? [] : x;
    return D.map(function(N) {
      return l(N, "main", y);
    }).concat(D.map(function(N) {
      return l(N, "grid", y);
    }), M.map(function(N) {
      return l(N, "main", y);
    }), M.map(function(N) {
      return l(N, "grid", y);
    })).filter(function(N) {
      return N;
    });
  }
  return Cc.assembleAxes = c, Cc;
}
var qx = {}, zr = {}, R4;
function Dn() {
  if (R4) return zr;
  R4 = 1, Object.defineProperty(zr, "__esModule", { value: !0 });
  var e = dt, t = St(), r = At(), n = er(), i = Xd(), o = An(), l = Xe();
  function c(E, f, S) {
    for (var _ = 0, d = S; _ < d.length; _++) {
      var p = d[_], b = f[p];
      b !== void 0 && (E[p] = { value: b });
    }
    return E;
  }
  zr.applyConfig = c;
  function g(E, f, S) {
    for (var _ = 0, d = S; _ < d.length; _++) {
      var p = d[_], b = C(p, f.markDef, f.config);
      b !== void 0 && (E[p] = { value: b });
    }
    return E;
  }
  zr.applyMarkConfig = g;
  function y(E) {
    return [].concat(E.type, E.style || []);
  }
  zr.getStyles = y;
  function C(E, f, S) {
    var _ = S.mark[E], d = S[f.type];
    d[E] !== void 0 && (_ = d[E]);
    for (var p = y(f), b = 0, m = p; b < m.length; b++) {
      var v = m[b], O = S.style[v], T = E;
      O && O[T] !== void 0 && (_ = O[T]);
    }
    return _;
  }
  zr.getMarkConfig = C;
  function D(E, f, S, _) {
    var d = M(E, f, _);
    if (E.bin) {
      var p = r.vgField(E, { expr: S }), b = r.vgField(E, { expr: S, binSuffix: "end" });
      return {
        signal: z(p, b, d, _)
      };
    } else {
      if (E.type === "quantitative")
        return {
          signal: "" + N(r.vgField(E, { expr: S, binSuffix: "range" }), d)
        };
      if (r.isTimeFieldDef(E)) {
        var m = r.isScaleFieldDef(E) && E.scale && E.scale.type === n.ScaleType.UTC;
        return {
          signal: A(r.vgField(E, { expr: S }), E.timeUnit, f, _.text.shortTimeLabels, _.timeFormat, m)
        };
      } else
        return {
          signal: "''+" + r.vgField(E, { expr: S })
        };
    }
  }
  zr.formatSignalRef = D;
  function x(E, f) {
    return E !== void 0 ? E : f;
  }
  zr.getSpecifiedOrDefaultValue = x;
  function M(E, f, S) {
    if (E.type === o.QUANTITATIVE)
      return f || S.numberFormat;
  }
  zr.numberFormat = M;
  function N(E, f) {
    return "format(" + E + ', "' + (f || "") + '")';
  }
  function F(E, f, S) {
    return N(E, f || S.numberFormat);
  }
  zr.numberFormatExpr = F;
  function z(E, f, S, _) {
    return E + " === null || isNaN(" + E + ') ? "null" : ' + F(E, S, _) + ' + " - " + ' + F(f, S, _);
  }
  zr.binFormatExpression = z;
  function A(E, f, S, _, d, p) {
    if (!f || S) {
      var b = S || d;
      return p ? "utcFormat(" + E + ", '" + b + "')" : "timeFormat(" + E + ", '" + b + "')";
    } else
      return i.formatExpression(f, E, _, p);
  }
  zr.timeFormatExpression = A;
  function u(E, f) {
    return (e.isArray(E) ? E : [E]).reduce(function(S, _) {
      return S.field.push(r.vgField(_, f)), S.order.push(_.sort || "ascending"), S;
    }, { field: [], order: [] });
  }
  zr.sortParams = u;
  function a(E, f) {
    var S = E.slice();
    return f.forEach(function(_) {
      for (var d = 0, p = S; d < p.length; d++) {
        var b = p[d];
        if (l.stringify(b) === l.stringify(_))
          return;
      }
      S.push(_);
    }), S;
  }
  zr.mergeTitleFieldDefs = a;
  function s(E, f) {
    if (e.isArray(E.value) && e.isArray(f.value))
      return {
        explicit: E.explicit,
        value: a(E.value, f.value)
      };
    if (!e.isArray(E.value) && !e.isArray(f.value))
      return {
        explicit: E.explicit,
        value: E.value === f.value ? E.value : (
          // if title is the same just use one of them
          E.value + ", " + f.value
        )
        // join title with comma if different
      };
    throw new Error("It should never reach here");
  }
  zr.titleMerger = s;
  function h(E, f) {
    return E.bin ? t.isScaleChannel(f) && l.contains(["ordinal", "nominal"], E.type) : (console.warn("Only use this method with binned field defs"), !1);
  }
  return zr.binRequiresRange = h, zr;
}
var M4;
function LJ() {
  return M4 || (M4 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = At(), n = Xe(), i = Dn();
    e.HEADER_CHANNELS = ["row", "column"], e.HEADER_TYPES = ["header", "footer"];
    function o(D) {
      return D === "top" || D === "left" ? "header" : "footer";
    }
    e.getHeaderType = o;
    function l(D, x) {
      var M = D.component.layoutHeaders[x].title, N = x === "row" ? "vertical" : void 0, F = t.__assign({ align: { value: "center" }, text: { value: M } }, N === "vertical" ? { angle: { value: 270 } } : {});
      return {
        name: D.getName(x + "_title"),
        role: x + "-title",
        type: "group",
        marks: [t.__assign({ type: "text", role: x + "-title-text", style: "guide-title" }, n.keys(F).length > 0 ? { encode: { update: F } } : {})]
      };
    }
    e.getTitleGroup = l;
    function c(D, x) {
      for (var M = D.component.layoutHeaders[x], N = [], F = 0, z = e.HEADER_TYPES; F < z.length; F++) {
        var A = z[F];
        if (M[A])
          for (var u = 0, a = M[A]; u < a.length; u++) {
            var s = a[u];
            N.push(C(D, x, A, M, s));
          }
      }
      return N;
    }
    e.getHeaderGroups = c;
    function g(D) {
      return D = (D % 360 + 360) % 360, (D + 90) % 180 === 0 ? {} : D < 90 || 270 < D ? { align: { value: "right" } } : 135 <= D && D < 225 ? { align: { value: "left" } } : {};
    }
    e.labelAlign = g;
    function y(D) {
      return D = (D % 360 + 360) % 360, 45 <= D && D <= 135 ? { baseline: { value: "top" } } : {};
    }
    e.labelBaseline = y;
    function C(D, x, M, N, F) {
      if (F) {
        var z = null, A = N.facetFieldDef;
        if (A && F.labels) {
          var u = A.header, a = u === void 0 ? {} : u, s = a.format, h = a.labelAngle, E = t.__assign({}, h !== void 0 ? { angle: { value: h } } : {}, g(h), y(h));
          z = t.__assign({ text: i.formatSignalRef(A, s, "parent", D.config), offset: 10, orient: x === "row" ? "left" : "top", style: "guide-label" }, n.keys(E).length > 0 ? { encode: { update: E } } : {});
        }
        var f = F.axes, S = f && f.length > 0;
        if (z || S) {
          var _ = x === "row" ? "height" : "width";
          return t.__assign({ name: D.getName(x + "_" + M), type: "group", role: x + "-" + M }, N.facetFieldDef ? {
            from: { data: D.getName(x + "_domain") },
            sort: {
              field: r.vgField(A, { expr: "datum" }),
              order: A.sort || "ascending"
            }
          } : {}, z ? { title: z } : {}, F.sizeSignal ? {
            encode: {
              update: (d = {}, d[_] = F.sizeSignal, d)
            }
          } : {}, S ? { axes: f } : {});
        }
      }
      return null;
      var d;
    }
  }(qx)), qx;
}
var Ou = {}, N4;
function h_() {
  if (N4) return Ou;
  N4 = 1, Object.defineProperty(Ou, "__esModule", { value: !0 });
  var e = er(), t = ti(), r = jr();
  function n(c) {
    return [].concat(i(c, "width"), i(c, "height"));
  }
  Ou.assembleLayoutSignals = n;
  function i(c, g) {
    var y = g === "width" ? "x" : "y", C = c.component.layoutSize.get(g);
    if (!C || C === "merged")
      return [];
    var D = c.getSizeSignalRef(g).signal;
    if (C === "range-step") {
      var x = c.getScaleComponent(y);
      if (x) {
        var M = x.get("type"), N = x.get("range");
        if (e.hasDiscreteDomain(M) && t.isVgRangeStep(N)) {
          var F = c.scaleName(y);
          if (r.isFacetModel(c.parent)) {
            var z = c.parent.component.resolve;
            if (z.scale[y] === "independent")
              return [o(F, N)];
          }
          return [
            o(F, N),
            {
              name: D,
              update: l(F, x, "domain('" + F + "').length")
            }
          ];
        }
      }
      throw new Error("layout size is range step although there is no rangeStep.");
    } else
      return [{
        name: D,
        value: C
      }];
  }
  Ou.sizeSignals = i;
  function o(c, g) {
    return {
      name: c + "_step",
      value: g.step
    };
  }
  function l(c, g, y) {
    var C = g.get("type"), D = g.get("padding"), x = g.get("paddingOuter");
    x = x !== void 0 ? x : D;
    var M = g.get("paddingInner");
    return M = C === "band" ? (
      // only band has real paddingInner
      M !== void 0 ? M : D
    ) : (
      // For point, as calculated in https://github.com/vega/vega-scale/blob/master/src/band.js#L128,
      // it's equivalent to have paddingInner = 1 since there is only n-1 steps between n points.
      1
    ), "bandspace(" + y + ", " + M + ", " + x + ") * " + c + "_step";
  }
  return Ou.sizeExpr = l, Ou;
}
var Kh = {}, Tu = {}, xc = {}, I4;
function m_() {
  if (I4) return xc;
  I4 = 1, Object.defineProperty(xc, "__esModule", { value: !0 });
  var e = St(), t = bt(), r = Xe(), n = jr();
  function i(l, c) {
    if (n.isLayerModel(c) || n.isFacetModel(c))
      return "shared";
    if (n.isConcatModel(c) || n.isRepeatModel(c))
      return r.contains(e.POSITION_SCALE_CHANNELS, l) ? "independent" : "shared";
    throw new Error("invalid model type for resolve");
  }
  xc.defaultScaleResolve = i;
  function o(l, c) {
    var g = l.scale[c], y = r.contains(e.POSITION_SCALE_CHANNELS, c) ? "axis" : "legend";
    return g === "independent" ? (l[y][c] === "shared" && t.warn(t.message.independentScaleMeansIndependentGuide(c)), "independent") : l[y][c] || "shared";
  }
  return xc.parseGuideResolve = o, xc;
}
var qa = {}, F4;
function _i() {
  if (F4) return qa;
  F4 = 1, Object.defineProperty(qa, "__esModule", { value: !0 });
  var e = Pe, t = bt(), r = Xe(), n = (
    /** @class */
    function() {
      function y(C, D) {
        C === void 0 && (C = {}), D === void 0 && (D = {}), this.explicit = C, this.implicit = D;
      }
      return y.prototype.clone = function() {
        return new y(r.duplicate(this.explicit), r.duplicate(this.implicit));
      }, y.prototype.combine = function() {
        return e.__assign({}, this.explicit, this.implicit);
      }, y.prototype.get = function(C) {
        return this.explicit[C] !== void 0 ? this.explicit[C] : this.implicit[C];
      }, y.prototype.getWithExplicit = function(C) {
        return this.explicit[C] !== void 0 ? { explicit: !0, value: this.explicit[C] } : this.implicit[C] !== void 0 ? { explicit: !1, value: this.implicit[C] } : { explicit: !1, value: void 0 };
      }, y.prototype.setWithExplicit = function(C, D) {
        D.value !== void 0 && this.set(C, D.value, D.explicit);
      }, y.prototype.set = function(C, D, x) {
        return delete this[x ? "implicit" : "explicit"][C], this[x ? "explicit" : "implicit"][C] = D, this;
      }, y.prototype.copyKeyFromSplit = function(C, D) {
        D.explicit[C] !== void 0 ? this.set(C, D.explicit[C], !0) : D.implicit[C] !== void 0 && this.set(C, D.implicit[C], !1);
      }, y.prototype.copyKeyFromObject = function(C, D) {
        D[C] !== void 0 && this.set(C, D[C], !0);
      }, y;
    }()
  );
  qa.Split = n;
  function i(y) {
    return {
      explicit: !0,
      value: y
    };
  }
  qa.makeExplicit = i;
  function o(y) {
    return {
      explicit: !1,
      value: y
    };
  }
  qa.makeImplicit = o;
  function l(y) {
    return function(C, D, x, M) {
      var N = y(C.value, D.value);
      return N > 0 ? C : N < 0 ? D : c(C, D, x, M);
    };
  }
  qa.tieBreakByComparing = l;
  function c(y, C, D, x) {
    return y.explicit && C.explicit && t.warn(t.message.mergeConflictingProperty(D, x, y.value, C.value)), y;
  }
  qa.defaultTieBreaker = c;
  function g(y, C, D, x, M) {
    return M === void 0 && (M = c), y === void 0 || y.value === void 0 ? C : y.explicit && !C.explicit ? y : C.explicit && !y.explicit ? C : r.stringify(y.value) === r.stringify(C.value) ? y : M(y, C, D, x);
  }
  return qa.mergeValuesWithExplicit = g, qa;
}
var Xh = {}, L4;
function ORe() {
  if (L4) return Xh;
  L4 = 1, Object.defineProperty(Xh, "__esModule", { value: !0 });
  var e = Pe, t = _i(), r = (
    /** @class */
    function(n) {
      e.__extends(i, n);
      function i() {
        return n !== null && n.apply(this, arguments) || this;
      }
      return i;
    }(t.Split)
  );
  return Xh.LegendComponent = r, Xh;
}
var Cu = {}, dn = {}, oi = {}, j4;
function cu() {
  if (j4) return oi;
  j4 = 1, Object.defineProperty(oi, "__esModule", { value: !0 });
  var e = Pe, t = dt, r = St(), n = At(), i = bt(), o = er(), l = An(), c = Xe(), g = Dn();
  function y(s, h, E, f, S, _) {
    return n.isFieldDef(h) && S && s === S.fieldChannel ? x(h, E, { suffix: "end" }) : F(s, h, E, f, S, _);
  }
  oi.stackable = y;
  function C(s, h, E, f, S, _, d) {
    return n.isFieldDef(h) && _ && // If fieldChannel is X and channel is X2 (or Y and Y2)
    s.charAt(0) === _.fieldChannel.charAt(0) ? x(h, f, { suffix: "start" }) : F(s, E, f, S, _, d);
  }
  oi.stackable2 = C;
  function D(s, h, E, f) {
    var S = E === "start" ? void 0 : "end";
    return x(s, h, { binSuffix: S }, f ? { offset: f } : {});
  }
  oi.bin = D;
  function x(s, h, E, f) {
    var S = e.__assign({}, h ? { scale: h } : {}, { field: n.vgField(s, E) });
    return f ? e.__assign({}, S, f) : S;
  }
  oi.fieldRef = x;
  function M(s, h) {
    return h === void 0 && (h = !0), {
      scale: s,
      band: h
    };
  }
  oi.bandRef = M;
  function N(s, h) {
    return {
      signal: "(" + ('scale("' + h + '", ' + n.vgField(s, { expr: "datum" }) + ")") + " + " + ('scale("' + h + '", ' + n.vgField(s, { binSuffix: "end", expr: "datum" }) + ")") + ")/2"
    };
  }
  function F(s, h, E, f, S, _) {
    if (h) {
      if (n.isFieldDef(h)) {
        if (h.bin)
          return c.contains([r.X, r.Y], s) && h.type === l.QUANTITATIVE ? S && S.impute ? x(h, E, { binSuffix: "mid" }) : N(h, E) : x(h, E, g.binRequiresRange(h, s) ? { binSuffix: "range" } : {});
        if (f) {
          var d = f.get("type");
          if (o.hasDiscreteDomain(d))
            return d === "band" ? x(h, E, { binSuffix: "range" }, { band: 0.5 }) : x(h, E, { binSuffix: "range" });
        }
        return x(h, E, {});
      } else if (n.isValueDef(h))
        return { value: h.value };
    }
    return _;
  }
  oi.midPoint = F;
  function z(s, h) {
    if (s) {
      if (n.isFieldDef(s))
        return g.formatSignalRef(s, s.format, "datum", h);
      if (n.isValueDef(s))
        return { value: s.value };
    }
  }
  oi.text = z;
  function A(s) {
    return e.__assign({}, s, { mult: 0.5 });
  }
  oi.mid = A;
  function u(s) {
    if (s.get("zero") !== !1)
      return !0;
    var h = s.domains;
    return t.isArray(h) ? c.some(h, function(E) {
      return t.isArray(E) && E.length === 2 && E[0] <= 0 && E[1] >= 0;
    }) : !1;
  }
  function a(s, h, E, f, S) {
    if (t.isString(s)) {
      if (E) {
        var _ = f.get("type");
        if (c.contains([o.ScaleType.LOG, o.ScaleType.TIME, o.ScaleType.UTC], _))
          (S === "bar" || S === "area") && i.warn(i.message.nonZeroScaleUsedWithLengthMark(S, h, { scaleType: _ }));
        else {
          if (u(f))
            return {
              scale: E,
              value: 0
            };
          (S === "bar" || S === "area") && i.warn(i.message.nonZeroScaleUsedWithLengthMark(S, h, { zeroFalse: f.explicit.zero === !1 }));
        }
      }
      return s === "zeroOrMin" ? h === "x" ? { value: 0 } : { field: { group: "height" } } : h === "x" ? { field: { group: "width" } } : { value: 0 };
    }
    return s;
  }
  return oi.getDefaultRef = a, oi;
}
var U4;
function Fa() {
  if (U4) return dn;
  U4 = 1, Object.defineProperty(dn, "__esModule", { value: !0 });
  var e = Pe, t = dt, r = At(), n = bt(), i = Jd(), o = er(), l = Xe(), c = ti(), g = Dn(), y = cn(), C = cu();
  function D(p, b) {
    var m = p.markDef, v = p.encoding, O = p.config, T = m.filled, w = m.type, P = {
      fill: g.getMarkConfig("fill", m, O),
      stroke: g.getMarkConfig("stroke", m, O),
      color: g.getMarkConfig("color", m, O)
    }, I = l.contains(["bar", "point", "circle", "square", "geoshape"], w) ? "transparent" : void 0, L = {
      fill: m.fill || P.fill || // If there is no fill, always fill symbols, bar, geoshape
      // with transparent fills https://github.com/vega/vega-lite/issues/1316
      I,
      stroke: m.stroke || P.stroke
    }, R = T ? "fill" : "stroke", q = e.__assign({}, L.fill ? {
      fill: { value: L.fill }
    } : {}, L.stroke ? {
      stroke: { value: L.stroke }
    } : {});
    if (v.fill || v.stroke)
      return m.color && n.warn(n.message.droppingColor("property", { fill: "fill" in v, stroke: "stroke" in v })), e.__assign({}, A("fill", p, { defaultValue: L.fill || I }), A("stroke", p, { defaultValue: L.stroke }));
    if (v.color)
      return e.__assign({}, q, A("color", p, {
        vgChannel: R,
        // apply default fill/stroke first, then color config, then transparent if needed.
        defaultValue: m[R] || m.color || P[R] || P.color || (T ? I : void 0)
      }));
    if (m.fill || m.stroke)
      return m.color && n.warn(n.message.droppingColor("property", { fill: "fill" in m, stroke: "stroke" in m })), q;
    if (m.color)
      return e.__assign({}, q, (B = {}, B[R] = { value: m.color }, B));
    if (P.fill || P.stroke)
      return q;
    if (P.color)
      return e.__assign({}, I ? { fill: { value: "transparent" } } : {}, (j = {}, j[R] = { value: P.color }, j));
    return {};
    var B, j;
  }
  dn.color = D;
  function x(p, b) {
    return e.__assign({}, M(p.markDef, b), D(p), A("opacity", p), a(p), s(p, "href"));
  }
  dn.baseEncodeEntry = x;
  function M(p, b) {
    return c.VG_MARK_CONFIGS.reduce(function(m, v) {
      return p[v] !== void 0 && b[v] !== "ignore" && (m[v] = { value: p[v] }), m;
    }, {});
  }
  function N(p, b) {
    if (b !== void 0)
      return m = {}, m[p] = { value: b }, m;
    return;
    var m;
  }
  dn.valueIfDefined = N;
  function F(p) {
    return p + " !== null && !isNaN(" + p + ")";
  }
  function z(p) {
    if (p.config.invalidValues === "filter") {
      var b = ["x", "y"].map(function(m) {
        var v = p.getScaleComponent(m);
        if (v) {
          var O = v.get("type");
          if (o.hasContinuousDomain(O))
            return p.vgField(m, { expr: "datum" });
        }
      }).filter(function(m) {
        return !!m;
      }).map(F);
      if (b.length > 0)
        return {
          defined: { signal: b.join(" && ") }
        };
    }
    return {};
  }
  dn.defined = z;
  function A(p, b, m) {
    m === void 0 && (m = {});
    var v = m.defaultValue, O = m.vgChannel, T = m.defaultRef || (v !== void 0 ? { value: v } : void 0), w = b.encoding[p];
    return u(b, w, O || p, function(P) {
      return C.midPoint(
        p,
        P,
        b.scaleName(p),
        b.getScaleComponent(p),
        null,
        // No need to provide stack for non-position as it does not affect mid point
        T
      );
    });
  }
  dn.nonPosition = A;
  function u(p, b, m, v) {
    var O = b && b.condition, T = v(b);
    if (O) {
      var w = t.isArray(O) ? O : [O], P = w.map(function(R) {
        var q = v(R), B = r.isConditionalSelection(R) ? y.selectionPredicate(p, R.selection) : i.expression(p, R.test);
        return e.__assign({ test: B }, q);
      });
      return I = {}, I[m] = P.concat(T !== void 0 ? [T] : []), I;
    } else
      return T !== void 0 ? (L = {}, L[m] = T, L) : {};
    var I, L;
  }
  function a(p) {
    var b = "tooltip", m = p.encoding[b];
    if (t.isArray(m)) {
      var v = m.map(function(O) {
        var T = O.title !== void 0 ? O.title : r.vgField(O, { binSuffix: "range" }), w = C.text(O, p.config).signal;
        return '"' + T + '": ' + w;
      });
      return { tooltip: { signal: "{" + v.join(", ") + "}" } };
    } else
      return h(p, b, m);
  }
  dn.tooltip = a;
  function s(p, b) {
    b === void 0 && (b = "text");
    var m = p.encoding[b];
    return h(p, b, m);
  }
  dn.text = s;
  function h(p, b, m) {
    return u(p, m, b, function(v) {
      return C.text(v, p.config);
    });
  }
  function E(p, b, m) {
    var v = m.scaleName(b), O = b === "x" ? "width" : "height";
    if (m.encoding.size || m.markDef.size !== void 0) {
      var T = m.markDef.orient;
      if (T) {
        var w = (P = {}, // Use xc/yc and place the mark at the middle of the band
        // This way we never have to deal with size's condition for x/y position.
        P[b + "c"] = C.fieldRef(p, v, {}, { band: 0.5 }), P);
        if (r.getFieldDef(m.encoding.size))
          n.warn(n.message.cannotUseSizeFieldWithBandSize(b));
        else {
          if (r.isValueDef(m.encoding.size))
            return e.__assign({}, w, A("size", m, { vgChannel: O }));
          if (m.markDef.size !== void 0)
            return e.__assign({}, w, (I = {}, I[O] = { value: m.markDef.size }, I));
        }
      } else
        n.warn(n.message.cannotApplySizeToNonOrientedMark(m.markDef.type));
    }
    return L = {}, L[b] = C.fieldRef(p, v, { binSuffix: "range" }), L[O] = C.bandRef(v), L;
    var P, I, L;
  }
  dn.bandPosition = E;
  function f(p, b, m, v) {
    var O = p === "x" ? "xc" : "yc", T = p === "x" ? "width" : "height";
    return e.__assign({}, _(p, b, m, O), A("size", b, { defaultRef: v, vgChannel: T }));
  }
  dn.centeredBandPosition = f;
  function S(p, b, m, v, O) {
    return b === "x" ? {
      x2: C.bin(p, m, "start", O ? 0 : v),
      x: C.bin(p, m, "end", O ? v : 0)
    } : {
      y2: C.bin(p, m, "start", O ? v : 0),
      y: C.bin(p, m, "end", O ? 0 : v)
    };
  }
  dn.binnedPosition = S;
  function _(p, b, m, v) {
    var O = b.encoding, T = b.mark, w = b.stack, P = O[p], I = b.scaleName(p), L = b.getScaleComponent(p), R = !P && (O.latitude || O.longitude) ? (
      // use geopoint output if there are lat/long and there is no point position overriding lat/long.
      { field: b.getName(p) }
    ) : C.stackable(p, O[p], I, L, w, C.getDefaultRef(m, p, I, L, T));
    return q = {}, q[v || p] = R, q;
    var q;
  }
  dn.pointPosition = _;
  function d(p, b, m) {
    var v = p.encoding, O = p.mark, T = p.markDef, w = p.stack;
    m = m || (T.orient === "horizontal" ? "x2" : "y2");
    var P = m === "x2" ? "x" : "y", I = v[P], L = p.scaleName(P), R = p.getScaleComponent(P), q = !I && (v.latitude || v.longitude) ? (
      // use geopoint output if there are lat2/long2 and there is no point position2 overriding lat2/long2.
      { field: p.getName(m) }
    ) : C.stackable2(m, I, v[m], L, R, w, C.getDefaultRef(b, P, L, R, O));
    return B = {}, B[m] = q, B;
    var B;
  }
  return dn.pointPosition2 = d, dn;
}
var q4;
function TRe() {
  if (q4) return Cu;
  q4 = 1, Object.defineProperty(Cu, "__esModule", { value: !0 });
  var e = Pe, t = dt, r = St(), n = At(), i = Hr(), o = er(), l = Xe(), c = Dn(), g = Fa();
  function y(F, z, A, u, a) {
    if (a !== "gradient") {
      var s = e.__assign({}, c.applyMarkConfig({}, A, i.FILL_STROKE_CONFIG), g.color(A));
      switch (A.mark) {
        case i.BAR:
        case i.TICK:
        case i.TEXT:
          s.shape = { value: "square" };
          break;
        case i.CIRCLE:
        case i.SQUARE:
          s.shape = { value: A.mark };
          break;
        case i.POINT:
        case i.LINE:
        case i.GEOSHAPE:
        case i.AREA:
          break;
      }
      var h = A.markDef, E = A.encoding, f = h.filled;
      if (s.fill) {
        if (u === "fill" || f && u === r.COLOR)
          delete s.fill;
        else if (s.fill.field)
          delete s.fill;
        else if (t.isArray(s.fill)) {
          var S = M(E.fill || E.color) || h.fill || f && h.color;
          S && (s.fill = { value: S });
        }
      }
      if (s.stroke) {
        if (u === "stroke" || !f && u === r.COLOR)
          delete s.stroke;
        else if (s.stroke.field)
          delete s.stroke;
        else if (t.isArray(s.stroke)) {
          var _ = M(E.stroke || E.color) || h.stroke || !f && h.color;
          _ && (s.stroke = { value: _ });
        }
      }
      if (s.fill && s.fill.value !== "transparent" && !s.stroke && (s.stroke = { value: "transparent" }), u !== r.SHAPE) {
        var d = M(E.shape) || h.shape;
        d && (s.shape = { value: d });
      }
      if (u !== r.OPACITY) {
        var p = x(E.opacity) || h.opacity;
        p && (s.opacity = { value: p });
      }
      return s = e.__assign({}, s, z), l.keys(s).length > 0 ? s : void 0;
    }
  }
  Cu.symbols = y;
  function C(F, z, A, u, a) {
    var s = {};
    if (a === "gradient") {
      var h = x(A.encoding.opacity) || A.markDef.opacity;
      h && (s.opacity = { value: h });
    }
    return s = e.__assign({}, s, z), l.keys(s).length > 0 ? s : void 0;
  }
  Cu.gradient = C;
  function D(F, z, A, u, a) {
    var s = A.legend(u), h = A.config, E = {};
    if (n.isTimeFieldDef(F)) {
      var f = A.getScaleComponent(u).get("type") === o.ScaleType.UTC;
      z = e.__assign({ text: {
        signal: c.timeFormatExpression("datum.value", F.timeUnit, s.format, h.legend.shortTimeLabels, h.timeFormat, f)
      } }, z);
    }
    return E = e.__assign({}, E, z), l.keys(E).length > 0 ? E : void 0;
  }
  Cu.labels = D;
  function x(F) {
    return N(F, function(z, A) {
      return Math.max(z, A.value);
    });
  }
  function M(F) {
    return N(F, function(z, A) {
      return z !== void 0 ? z : A.value;
    });
  }
  function N(F, z) {
    if (n.hasConditionalValueDef(F))
      return (t.isArray(F.condition) ? F.condition : [F.condition]).reduce(z, F.value);
    if (n.isValueDef(F))
      return F.value;
  }
  return Cu;
}
var Ac = {}, z4;
function CRe() {
  if (z4) return Ac;
  z4 = 1, Object.defineProperty(Ac, "__esModule", { value: !0 });
  var e = St(), t = lu(), r = er(), n = Xe();
  function i(l) {
    var c = l.values;
    return c && t.isDateTime(c[0]) ? c.map(function(g) {
      return { signal: t.dateTimeExpr(g, !0) };
    }) : c;
  }
  Ac.values = i;
  function o(l, c, g) {
    if (e.isColorChannel(c) && (l === "quantitative" && !r.isBinScale(g) || l === "temporal" && n.contains(["time", "utc"], g)))
      return "gradient";
  }
  return Ac.type = o, Ac;
}
var B4;
function jJ() {
  if (B4) return Tu;
  B4 = 1, Object.defineProperty(Tu, "__esModule", { value: !0 });
  var e = St(), t = At(), r = oN(), n = An(), i = Xe(), o = Dn(), l = jr(), c = m_(), g = _i(), y = _i(), C = ORe(), D = TRe(), x = CRe();
  function M(s) {
    l.isUnitModel(s) ? s.component.legends = N(s) : s.component.legends = u(s);
  }
  Tu.parseLegend = M;
  function N(s) {
    var h = s.encoding;
    return [e.COLOR, e.FILL, e.STROKE, e.SIZE, e.SHAPE, e.OPACITY].reduce(function(E, f) {
      var S = h[f];
      return s.legend(f) && s.getScaleComponent(f) && !(t.isFieldDef(S) && f === e.SHAPE && S.type === n.GEOJSON) && (E[f] = z(s, f)), E;
    }, {});
  }
  function F(s, h) {
    switch (h) {
      case e.COLOR:
        var E = s.scaleName(e.COLOR);
        return s.markDef.filled ? { fill: E } : { stroke: E };
      case e.FILL:
      case e.STROKE:
      case e.SIZE:
      case e.SHAPE:
      case e.OPACITY:
        return f = {}, f[h] = s.scaleName(h), f;
    }
    var f;
  }
  function z(s, h) {
    var E = s.fieldDef(h), f = s.legend(h), S = new C.LegendComponent({}, F(s, h));
    r.LEGEND_PROPERTIES.forEach(function(p) {
      var b = A(p, f, h, s);
      if (b !== void 0) {
        var m = p === "values" ? !!f.values : (
          // specified legend.values is already respected, but may get transformed.
          b === f[p]
        );
        (m || s.config.legend[p] === void 0) && S.set(p, b, m);
      }
    });
    var _ = f.encoding || {}, d = ["labels", "legend", "title", "symbols", "gradient"].reduce(function(p, b) {
      var m = D[b] ? (
        // TODO: replace legendCmpt with type is sufficient
        D[b](E, _[b], s, h, S.get("type"))
      ) : (
        // apply rule
        _[b]
      );
      return m !== void 0 && i.keys(m).length > 0 && (p[b] = { update: m }), p;
    }, {});
    return i.keys(d).length > 0 && S.set("encode", d, !!f.encoding), S;
  }
  Tu.parseLegendForChannel = z;
  function A(s, h, E, f) {
    var S = f.fieldDef(E);
    switch (s) {
      case "format":
        return o.numberFormat(S, h.format, f.config);
      case "title":
        var _ = S.title !== void 0 ? S.title : h.title || (h.title === void 0 ? void 0 : null);
        return o.getSpecifiedOrDefaultValue(_, t.title(S, f.config)) || void 0;
      case "values":
        return x.values(h);
      case "type":
        return o.getSpecifiedOrDefaultValue(h.type, x.type(S.type, E, f.getScaleComponent(E).get("type")));
    }
    return h[s];
  }
  function u(s) {
    for (var h = s.component, E = h.legends, f = h.resolve, S = function(b) {
      M(b), i.keys(b.component.legends).forEach(function(m) {
        f.legend[m] = c.parseGuideResolve(s.component.resolve, m), f.legend[m] === "shared" && (E[m] = a(E[m], b.component.legends[m]), E[m] || (f.legend[m] = "independent", delete E[m]));
      });
    }, _ = 0, d = s.children; _ < d.length; _++) {
      var p = d[_];
      S(p);
    }
    return i.keys(E).forEach(function(b) {
      for (var m = 0, v = s.children; m < v.length; m++) {
        var O = v[m];
        O.component.legends[b] && f.legend[b] === "shared" && delete O.component.legends[b];
      }
    }), E;
  }
  function a(s, h) {
    if (!s)
      return h.clone();
    var E = s.getWithExplicit("orient"), f = h.getWithExplicit("orient");
    if (!(E.explicit && f.explicit && E.value !== f.value)) {
      for (var S = !1, _ = function(m) {
        var v = y.mergeValuesWithExplicit(
          s.getWithExplicit(m),
          h.getWithExplicit(m),
          m,
          "legend",
          // Tie breaker function
          function(O, T) {
            switch (m) {
              case "title":
                return o.titleMerger(O, T);
              case "type":
                return S = !0, g.makeImplicit("symbol");
            }
            return y.defaultTieBreaker(O, T, m, "legend");
          }
        );
        s.setWithExplicit(m, v);
      }, d = 0, p = r.VG_LEGEND_PROPERTIES; d < p.length; d++) {
        var b = p[d];
        _(b);
      }
      return S && (((s.implicit || {}).encode || {}).gradient && i.deleteNestedProperty(s.implicit, ["encode", "gradient"]), ((s.explicit || {}).encode || {}).gradient && i.deleteNestedProperty(s.explicit, ["encode", "gradient"])), s;
    }
  }
  return Tu.mergeLegendComponent = a, Tu;
}
var W4;
function UJ() {
  if (W4) return Kh;
  W4 = 1, Object.defineProperty(Kh, "__esModule", { value: !0 });
  var e = Xe(), t = jJ();
  function r(n) {
    for (var i = n.component.legends, o = {}, l = 0, c = e.keys(i); l < c.length; l++) {
      var g = c[l], y = n.getScaleComponent(g), C = e.stringify(y.domains);
      if (o[C])
        for (var D = 0, x = o[C]; D < x.length; D++) {
          var M = x[D], N = t.mergeLegendComponent(M, i[g]);
          N || o[C].push(i[g]);
        }
      else
        o[C] = [i[g].clone()];
    }
    return e.flatten(e.vals(o)).map(function(F) {
      return F.combine();
    });
  }
  return Kh.assembleLegends = r, Kh;
}
var xu = {}, $4;
function xRe() {
  if ($4) return xu;
  $4 = 1, Object.defineProperty(xu, "__esModule", { value: !0 });
  var e = Pe, t = Xe(), r = ti(), n = jr();
  function i(c) {
    return n.isLayerModel(c) || n.isConcatModel(c) || n.isRepeatModel(c) ? o(c) : l(c);
  }
  xu.assembleProjections = i;
  function o(c) {
    return c.children.reduce(function(g, y) {
      return g.concat(y.assembleProjections());
    }, l(c));
  }
  xu.assembleProjectionsForModelAndChildren = o;
  function l(c) {
    var g = c.component.projection;
    if (!g || g.merged)
      return [];
    var y = g.combine(), C = y.name, D = e.__rest(y, ["name"]), x = {
      signal: "[" + g.size.map(function(N) {
        return N.signal;
      }).join(", ") + "]"
    }, M = g.data.reduce(function(N, F) {
      var z = r.isVgSignalRef(F) ? F.signal : "data('" + c.lookupDataSource(F) + "')";
      return t.contains(N, z) || N.push(z), N;
    }, []);
    if (M.length <= 0)
      throw new Error("Projection's fit didn't find any data sources");
    return [e.__assign({
      name: C,
      size: x,
      fit: {
        signal: M.length > 1 ? "[" + M.join(", ") + "]" : M[0]
      }
    }, D)];
  }
  return xu.assembleProjectionForModel = l, xu;
}
var Qh = {}, Zh = {}, V4;
function ARe() {
  return V4 || (V4 = 1, Object.defineProperty(Zh, "__esModule", { value: !0 }), Zh.PROJECTION_PROPERTIES = [
    "type",
    "clipAngle",
    "clipExtent",
    "center",
    "rotate",
    "precision",
    "coefficient",
    "distance",
    "fraction",
    "lobes",
    "parallel",
    "radius",
    "ratio",
    "spacing",
    "tilt"
  ]), Zh;
}
var Jh = {}, H4;
function DRe() {
  if (H4) return Jh;
  H4 = 1, Object.defineProperty(Jh, "__esModule", { value: !0 });
  var e = Pe, t = _i(), r = (
    /** @class */
    function(n) {
      e.__extends(i, n);
      function i(o, l, c, g) {
        var y = n.call(
          this,
          e.__assign({}, l),
          // all explicit properties of projection
          { name: o }
          // name as initial implicit property
        ) || this;
        return y.specifiedProjection = l, y.size = c, y.data = g, y.merged = !1, y;
      }
      return i;
    }(t.Split)
  );
  return Jh.ProjectionComponent = r, Jh;
}
var Y4;
function PRe() {
  if (Y4) return Qh;
  Y4 = 1, Object.defineProperty(Qh, "__esModule", { value: !0 });
  var e = Pe, t = St(), r = rs(), n = At(), i = Hr(), o = ARe(), l = An(), c = Xe(), g = jr(), y = DRe();
  function C(N) {
    g.isUnitModel(N) ? N.component.projection = D(N) : N.component.projection = M(N);
  }
  Qh.parseProjection = C;
  function D(N) {
    var F = N.specifiedProjection, z = N.markDef, A = N.config, u = N.encoding, a = z && z.type === i.GEOSHAPE, s = u && t.GEOPOSITION_CHANNELS.some(function(E) {
      return n.isFieldDef(u[E]);
    });
    if (a || s) {
      var h = [];
      return [[t.LONGITUDE, t.LATITUDE], [t.LONGITUDE2, t.LATITUDE2]].forEach(function(E) {
        (N.channelHasField(E[0]) || N.channelHasField(E[1])) && h.push({
          signal: N.getName("geojson_" + h.length)
        });
      }), N.channelHasField(t.SHAPE) && N.fieldDef(t.SHAPE).type === l.GEOJSON && h.push({
        signal: N.getName("geojson_" + h.length)
      }), h.length === 0 && h.push(N.requestDataName(r.MAIN)), new y.ProjectionComponent(N.projectionName(!0), e.__assign({}, A.projection || {}, F || {}), [N.getSizeSignalRef("width"), N.getSizeSignalRef("height")], h);
    }
  }
  function x(N, F) {
    var z = c.every(o.PROJECTION_PROPERTIES, function(u) {
      return !!(!N.explicit.hasOwnProperty(u) && !F.explicit.hasOwnProperty(u) || N.explicit.hasOwnProperty(u) && F.explicit.hasOwnProperty(u) && // some properties might be signals or objects and require hashing for comparison
      c.stringify(N.get(u)) === c.stringify(F.get(u)));
    }), A = c.stringify(N.size) === c.stringify(F.size);
    if (A) {
      if (z)
        return N;
      if (c.stringify(N.explicit) === c.stringify({}))
        return F;
      if (c.stringify(F.explicit) === c.stringify({}))
        return N;
    }
    return null;
  }
  function M(N) {
    if (N.children.length !== 0) {
      var F, z = c.every(N.children, function(a) {
        C(a);
        var s = a.component.projection;
        if (s)
          if (F) {
            var h = x(F, s);
            return h && (F = h), !!h;
          } else
            return F = s, !0;
        else return !0;
      });
      if (F && z) {
        var A = N.projectionName(!0), u = new y.ProjectionComponent(A, F.specifiedProjection, F.size, c.duplicate(F.data));
        return N.children.forEach(function(a) {
          a.component.projection && (u.data = u.data.concat(a.component.projection.data), a.renameProjection(a.component.projection.get("name"), A), a.component.projection.merged = !0);
        }), u;
      }
    }
  }
  return Qh;
}
var Au = {}, ca = {}, Dc = {}, G4;
function Qd() {
  if (G4) return Dc;
  G4 = 1, Object.defineProperty(Dc, "__esModule", { value: !0 });
  var e = dt;
  function t(n) {
    return !!n && (n.op === "count" || !!n.field) && !!n.op;
  }
  Dc.isSortField = t;
  function r(n) {
    return !!n && e.isArray(n) && n.every(function(i) {
      return e.isString(i);
    });
  }
  return Dc.isSortArray = r, Dc;
}
var Pc = {}, kc = {}, K4;
function Ar() {
  if (K4) return kc;
  K4 = 1, Object.defineProperty(kc, "__esModule", { value: !0 });
  var e = Pe, t = (
    /** @class */
    function() {
      function n(i, o) {
        this.debugName = o, this._children = [], this._parent = null, i && (this.parent = i);
      }
      return n.prototype.clone = function() {
        throw new Error("Cannot clone node");
      }, n.prototype.producedFields = function() {
        return {};
      }, n.prototype.dependentFields = function() {
        return {};
      }, Object.defineProperty(n.prototype, "parent", {
        get: function() {
          return this._parent;
        },
        /**
         * Set the parent of the node and also add this not to the parent's children.
         */
        set: function(i) {
          this._parent = i, i.addChild(this);
        },
        enumerable: !0,
        configurable: !0
      }), Object.defineProperty(n.prototype, "children", {
        get: function() {
          return this._children;
        },
        enumerable: !0,
        configurable: !0
      }), n.prototype.numChildren = function() {
        return this._children.length;
      }, n.prototype.addChild = function(i) {
        this._children.push(i);
      }, n.prototype.removeChild = function(i) {
        this._children.splice(this._children.indexOf(i), 1);
      }, n.prototype.remove = function() {
        for (var i = 0, o = this._children; i < o.length; i++) {
          var l = o[i];
          l.parent = this._parent;
        }
        this._parent.removeChild(this);
      }, n.prototype.insertAsParentOf = function(i) {
        var o = i.parent;
        o.removeChild(this), this.parent = o, i.parent = this;
      }, n.prototype.swapWithParent = function() {
        for (var i = this._parent, o = i.parent, l = 0, c = this._children; l < c.length; l++) {
          var g = c[l];
          g.parent = i;
        }
        this._children = [], i.removeChild(this), i.parent.removeChild(i), this.parent = o, i.parent = this;
      }, n;
    }()
  );
  kc.DataFlowNode = t;
  var r = (
    /** @class */
    function(n) {
      e.__extends(i, n);
      function i(o, l, c, g) {
        var y = n.call(this, o, l) || this;
        return y.type = c, y.refCounts = g, y._source = y._name = l, y.refCounts && !(y._name in y.refCounts) && (y.refCounts[y._name] = 0), y;
      }
      return i.prototype.clone = function() {
        var o = new this.constructor();
        return o.debugName = "clone_" + this.debugName, o._source = this._source, o._name = "clone_" + this._name, o.type = this.type, o.refCounts = this.refCounts, o.refCounts[o._name] = 0, o;
      }, i.prototype.getSource = function() {
        return this.refCounts[this._name]++, this._source;
      }, i.prototype.isRequired = function() {
        return !!this.refCounts[this._name];
      }, i.prototype.setSource = function(o) {
        this._source = o;
      }, i;
    }(t)
  );
  return kc.OutputNode = r, kc;
}
var X4;
function cN() {
  if (X4) return Pc;
  X4 = 1, Object.defineProperty(Pc, "__esModule", { value: !0 });
  var e = Pe, t = At(), r = Qd(), n = Xe(), i = Ar(), o = (
    /** @class */
    function(c) {
      e.__extends(g, c);
      function g(y, C) {
        var D = c.call(this, y) || this;
        return D.transform = C, D;
      }
      return g.prototype.clone = function() {
        return new g(null, n.duplicate(this.transform));
      }, g.parseAllForSortIndex = function(y, C) {
        return C.forEachFieldDef(function(D, x) {
          if (t.isScaleFieldDef(D) && r.isSortArray(D.sort)) {
            var M = {
              calculate: g.calculateExpressionFromSortField(D.field, D.sort),
              as: l(C, x)
            };
            y = new g(y, M);
          }
        }), y;
      }, g.calculateExpressionFromSortField = function(y, C) {
        var D = "", x;
        for (x = 0; x < C.length; x++)
          D += "datum." + y + " === '" + C[x] + "' ? " + x + " : ";
        return D += x, D;
      }, g.prototype.producedFields = function() {
        var y = {};
        return y[this.transform.as] = !0, y;
      }, g.prototype.assemble = function() {
        return {
          type: "formula",
          expr: this.transform.calculate,
          as: this.transform.as
        };
      }, g;
    }(i.DataFlowNode)
  );
  Pc.CalculateNode = o;
  function l(c, g) {
    var y = c.fieldDef(g);
    return g + "_" + t.vgField(y) + "_sort_index";
  }
  return Pc.sortArrayIndexField = l, Pc;
}
var zx = {}, em = {}, Q4;
function fN() {
  if (Q4) return em;
  Q4 = 1, Object.defineProperty(em, "__esModule", { value: !0 });
  var e = Pe, t = St(), r = At(), n = bt(), i = Xe(), o = Dn(), l = Ar();
  function c(C, D, x) {
    return x.bin ? (C[r.vgField(x, {})] = !0, C[r.vgField(x, { binSuffix: "end" })] = !0, o.binRequiresRange(x, D) && (C[r.vgField(x, { binSuffix: "range" })] = !0)) : C[r.vgField(x)] = !0, C;
  }
  function g(C, D) {
    for (var x in D)
      if (D.hasOwnProperty(x)) {
        var M = D[x];
        for (var N in M)
          M.hasOwnProperty(N) && (x in C ? C[x][N] = M[N] : C[x] = { op: M[N] });
      }
  }
  var y = (
    /** @class */
    function(C) {
      e.__extends(D, C);
      function D(x, M, N) {
        var F = C.call(this, x) || this;
        return F.dimensions = M, F.measures = N, F;
      }
      return D.prototype.clone = function() {
        return new D(null, e.__assign({}, this.dimensions), i.duplicate(this.measures));
      }, D.makeFromEncoding = function(x, M) {
        var N = !1;
        M.forEachFieldDef(function(A) {
          A.aggregate && (N = !0);
        });
        var F = {}, z = {};
        return !N || (M.forEachFieldDef(function(A, u) {
          A.aggregate ? A.aggregate === "count" ? (F["*"] = F["*"] || {}, F["*"].count = r.vgField(A, { aggregate: "count" })) : (F[A.field] = F[A.field] || {}, F[A.field][A.aggregate] = r.vgField(A), t.isScaleChannel(u) && M.scaleDomain(u) === "unaggregated" && (F[A.field].min = r.vgField(A, { aggregate: "min" }), F[A.field].max = r.vgField(A, { aggregate: "max" }))) : c(z, u, A);
        }), i.keys(z).length + i.keys(F).length === 0) ? null : new D(x, z, F);
      }, D.makeFromTransform = function(x, M) {
        for (var N = {}, F = {}, z = 0, A = M.aggregate; z < A.length; z++) {
          var u = A[z];
          u.op && (u.op === "count" ? (F["*"] = F["*"] || {}, F["*"].count = u.as || r.vgField(u)) : (F[u.field] = F[u.field] || {}, F[u.field][u.op] = u.as || r.vgField(u)));
        }
        for (var a = 0, s = M.groupby || []; a < s.length; a++) {
          var u = s[a];
          N[u] = !0;
        }
        return i.keys(N).length + i.keys(F).length === 0 ? null : new D(x, N, F);
      }, D.prototype.merge = function(x) {
        i.differ(this.dimensions, x.dimensions) ? n.debug("different dimensions, cannot merge") : (g(this.measures, x.measures), x.remove());
      }, D.prototype.addDimensions = function(x) {
        var M = this;
        x.forEach(function(N) {
          return M.dimensions[N] = !0;
        });
      }, D.prototype.dependentFields = function() {
        var x = {};
        return i.keys(this.dimensions).forEach(function(M) {
          return x[M] = !0;
        }), i.keys(this.measures).forEach(function(M) {
          return x[M] = !0;
        }), x;
      }, D.prototype.producedFields = function() {
        var x = this, M = {};
        return i.keys(this.measures).forEach(function(N) {
          i.keys(x.measures[N]).forEach(function(F) {
            M[F + "_" + N] = !0;
          });
        }), M;
      }, D.prototype.assemble = function() {
        for (var x = [], M = [], N = [], F = 0, z = i.keys(this.measures); F < z.length; F++)
          for (var A = z[F], u = 0, a = i.keys(this.measures[A]); u < a.length; u++) {
            var s = a[u];
            N.push(this.measures[A][s]), x.push(s), M.push(A);
          }
        var h = {
          type: "aggregate",
          groupby: i.keys(this.dimensions),
          ops: x,
          fields: M,
          as: N
        };
        return h;
      }, D;
    }(l.DataFlowNode)
  );
  return em.AggregateNode = y, em;
}
var tm = {}, Z4;
function v_() {
  if (Z4) return tm;
  Z4 = 1, Object.defineProperty(tm, "__esModule", { value: !0 });
  var e = Pe, t = St(), r = bt(), n = er(), i = ti(), o = Zd(), l = Ar(), c = (
    /** @class */
    function(g) {
      e.__extends(y, g);
      function y(C, D, x, M) {
        var N = g.call(this, C) || this;
        return N.model = D, N.name = x, N.data = M, D.facet.column && (N.columnFields = [D.vgField(t.COLUMN)], N.columnName = D.getName("column_domain"), D.fieldDef(t.COLUMN).bin && N.columnFields.push(D.vgField(t.COLUMN, { binSuffix: "end" }))), D.facet.row && (N.rowFields = [D.vgField(t.ROW)], N.rowName = D.getName("row_domain"), D.fieldDef(t.ROW).bin && N.rowFields.push(D.vgField(t.ROW, { binSuffix: "end" }))), N.childModel = D.child, N;
      }
      return Object.defineProperty(y.prototype, "fields", {
        get: function() {
          var C = [];
          return this.columnFields && (C = C.concat(this.columnFields)), this.rowFields && (C = C.concat(this.rowFields)), C;
        },
        enumerable: !0,
        configurable: !0
      }), y.prototype.getSource = function() {
        return this.name;
      }, y.prototype.getChildIndependentFieldsWithStep = function() {
        for (var C = {}, D = 0, x = ["x", "y"]; D < x.length; D++) {
          var M = x[D], N = this.childModel.component.scales[M];
          if (N && !N.merged) {
            var F = N.get("type"), z = N.get("range");
            if (n.hasDiscreteDomain(F) && i.isVgRangeStep(z)) {
              var A = o.assembleDomain(this.childModel, M), u = o.getFieldFromDomain(A);
              u ? C[M] = u : r.warn("Unknown field for ${channel}.  Cannot calculate view size.");
            }
          }
        }
        return C;
      }, y.prototype.assembleRowColumnData = function(C, D, x) {
        var M = {}, N = C === "row" ? "y" : "x";
        return x[N] && (D ? M = {
          // If there is a crossed data, calculate max
          fields: ["distinct_" + x[N]],
          ops: ["max"],
          // Although it is technically a max, just name it distinct so it's easier to refer to it
          as: ["distinct_" + x[N]]
        } : M = {
          // If there is no crossed data, just calculate distinct
          fields: [x[N]],
          ops: ["distinct"]
        }), {
          name: C === "row" ? this.rowName : this.columnName,
          // Use data from the crossed one if it exist
          source: D || this.data,
          transform: [e.__assign({ type: "aggregate", groupby: C === "row" ? this.rowFields : this.columnFields }, M)]
        };
      }, y.prototype.assemble = function() {
        var C = [], D = null, x = this.getChildIndependentFieldsWithStep();
        if (this.columnName && this.rowName && (x.x || x.y)) {
          D = "cross_" + this.columnName + "_" + this.rowName;
          var M = [].concat(x.x ? [x.x] : [], x.y ? [x.y] : []), N = M.map(function() {
            return "distinct";
          });
          C.push({
            name: D,
            source: this.data,
            transform: [{
              type: "aggregate",
              groupby: this.columnFields.concat(this.rowFields),
              fields: M,
              ops: N
            }]
          });
        }
        return this.columnName && C.push(this.assembleRowColumnData("column", D, x)), this.rowName && C.push(this.assembleRowColumnData("row", D, x)), C;
      }, y;
    }(l.DataFlowNode)
  );
  return tm.FacetNode = c, tm;
}
var rm = {}, J4;
function dN() {
  if (J4) return rm;
  J4 = 1, Object.defineProperty(rm, "__esModule", { value: !0 });
  var e = Pe, t = St(), r = At(), n = Hr(), i = er(), o = Xe(), l = Ar(), c = (
    /** @class */
    function(g) {
      e.__extends(y, g);
      function y(C, D) {
        var x = g.call(this, C) || this;
        return x.fieldDefs = D, x;
      }
      return y.prototype.clone = function() {
        return new y(null, e.__assign({}, this.fieldDefs));
      }, y.make = function(C, D) {
        var x = D.config, M = D.mark;
        if (x.invalidValues !== "filter")
          return null;
        var N = D.reduceFieldDef(function(F, z, A) {
          var u = t.isScaleChannel(A) && D.getScaleComponent(A);
          if (u) {
            var a = u.get("type");
            i.hasContinuousDomain(a) && !z.aggregate && !n.isPathMark(M) && (F[z.field] = z);
          }
          return F;
        }, {});
        return o.keys(N).length ? new y(C, N) : null;
      }, Object.defineProperty(y.prototype, "filter", {
        get: function() {
          return this.fieldDefs;
        },
        enumerable: !0,
        configurable: !0
      }), y.prototype.assemble = function() {
        var C = this, D = o.keys(this.filter).reduce(function(x, M) {
          var N = C.fieldDefs[M], F = r.vgField(N, { expr: "datum" });
          return N !== null && (x.push(F + " !== null"), x.push("!isNaN(" + F + ")")), x;
        }, []);
        return D.length > 0 ? {
          type: "filter",
          expr: D.join(" && ")
        } : null;
      }, y;
    }(l.DataFlowNode)
  );
  return rm.FilterInvalidNode = c, rm;
}
var hs = {}, nm = {}, eW;
function pN() {
  if (eW) return nm;
  eW = 1, Object.defineProperty(nm, "__esModule", { value: !0 });
  var e = Pe, t = dt, r = Gd(), n = At(), i = bt(), o = iN(), l = Jd(), c = p_(), g = Xe(), y = jr(), C = Ar();
  function D(M, N) {
    var F = "datum" + g.accessPath(M);
    if (N === "number")
      return "toNumber(" + F + ")";
    if (N === "boolean")
      return "toBoolean(" + F + ")";
    if (N === "string")
      return "toString(" + F + ")";
    if (N === "date")
      return "toDate(" + F + ")";
    if (N.indexOf("date:") === 0) {
      var z = N.slice(5, N.length);
      return "timeParse(" + F + "," + z + ")";
    } else if (N.indexOf("utc:") === 0) {
      var z = N.slice(4, N.length);
      return "utcParse(" + F + "," + z + ")";
    } else
      return i.warn(i.message.unrecognizedParse(N)), null;
  }
  var x = (
    /** @class */
    function(M) {
      e.__extends(N, M);
      function N(F, z) {
        var A = M.call(this, F) || this;
        return A._parse = {}, A._parse = z, A;
      }
      return N.prototype.clone = function() {
        return new N(null, g.duplicate(this.parse));
      }, N.make = function(F, z) {
        var A = {}, u = {};
        (z.transforms || []).forEach(function(E) {
          c.isCalculate(E) ? u[E.as] = !0 : c.isFilter(E) && o.forEachLeave(E.filter, function(f) {
            l.isFieldPredicate(f) && f.timeUnit && (A[f.field] = "date");
          });
        }, {}), (y.isUnitModel(z) || y.isFacetModel(z)) && z.forEachFieldDef(function(E) {
          if (n.isTimeFieldDef(E))
            A[E.field] = "date";
          else if (n.isNumberFieldDef(E)) {
            if (u[E.field] || r.isCountingAggregateOp(E.aggregate))
              return;
            A[E.field] = "number";
          }
        });
        var a = z.data;
        if (a && a.format && a.format.parse) {
          var s = a.format.parse;
          g.keys(s).forEach(function(E) {
            A[E] = s[E];
          });
        }
        var h = z.component.data.ancestorParse;
        return g.keys(h).forEach(function(E) {
          A[E] !== h[E] ? i.warn(i.message.differentParse(E, A[E], h[E])) : delete A[E];
        }), g.keys(A).length === 0 ? null : new N(F, A);
      }, Object.defineProperty(N.prototype, "parse", {
        get: function() {
          return this._parse;
        },
        enumerable: !0,
        configurable: !0
      }), N.prototype.merge = function(F) {
        this._parse = e.__assign({}, this._parse, F.parse), F.remove();
      }, N.prototype.assembleFormatParse = function() {
        return this._parse;
      }, N.prototype.producedFields = function() {
        return t.toSet(g.keys(this.parse));
      }, N.prototype.dependentFields = function() {
        return t.toSet(g.keys(this.parse));
      }, N.prototype.assembleTransforms = function() {
        var F = this;
        return g.keys(this._parse).map(function(z) {
          var A = D(z, F._parse[z]);
          if (!A)
            return null;
          var u = {
            type: "formula",
            expr: A,
            as: z
          };
          return u;
        }).filter(function(z) {
          return z !== null;
        });
      }, N;
    }(C.DataFlowNode)
  );
  return nm.ParseNode = x, nm;
}
var im = {}, tW;
function g_() {
  if (tW) return im;
  tW = 1, Object.defineProperty(im, "__esModule", { value: !0 });
  var e = Pe, t = rs(), r = Xe(), n = Ar(), i = (
    /** @class */
    function(o) {
      e.__extends(l, o);
      function l(c) {
        var g = o.call(this, null) || this;
        if (c = c || { name: "source" }, t.isInlineData(c))
          g._data = { values: c.values };
        else if (t.isUrlData(c)) {
          if (g._data = { url: c.url }, c.format || (c.format = {}), !c.format || !c.format.type) {
            var y = /(?:\.([^.]+))?$/.exec(c.url)[1];
            r.contains(["json", "csv", "tsv", "topojson"], y) || (y = "json"), c.format.type = y;
          }
        } else t.isNamedData(c) && (g._name = c.name, g._data = {});
        if (!t.isNamedData(c) && c.format) {
          var C = c.format;
          C.parse;
          var D = e.__rest(C, ["parse"]);
          g._data.format = D;
        }
        return g;
      }
      return Object.defineProperty(l.prototype, "data", {
        get: function() {
          return this._data;
        },
        enumerable: !0,
        configurable: !0
      }), l.prototype.hasName = function() {
        return !!this._name;
      }, Object.defineProperty(l.prototype, "dataName", {
        get: function() {
          return this._name;
        },
        set: function(c) {
          this._name = c;
        },
        enumerable: !0,
        configurable: !0
      }), Object.defineProperty(l.prototype, "parent", {
        set: function(c) {
          throw new Error("Source nodes have to be roots.");
        },
        enumerable: !0,
        configurable: !0
      }), l.prototype.remove = function() {
        throw new Error("Source nodes are roots and cannot be removed.");
      }, l.prototype.hash = function() {
        return t.isInlineData(this._data) ? (this._hash || (this._hash = r.hash(this._data)), this._hash) : t.isUrlData(this._data) ? r.hash([this._data.url, this._data.format]) : this._name;
      }, l.prototype.assemble = function() {
        return e.__assign({ name: this._name }, this._data, { transform: [] });
      }, l;
    }(n.DataFlowNode)
  );
  return im.SourceNode = i, im;
}
var am = {}, rW;
function y_() {
  if (rW) return am;
  rW = 1, Object.defineProperty(am, "__esModule", { value: !0 });
  var e = Pe, t = At(), r = Xd(), n = Xe(), i = Ar(), o = (
    /** @class */
    function(l) {
      e.__extends(c, l);
      function c(g, y) {
        var C = l.call(this, g) || this;
        return C.formula = y, C;
      }
      return c.prototype.clone = function() {
        return new c(null, n.duplicate(this.formula));
      }, c.makeFromEncoding = function(g, y) {
        var C = y.reduceFieldDef(function(D, x) {
          if (x.timeUnit) {
            var M = t.vgField(x);
            D[M] = {
              as: M,
              timeUnit: x.timeUnit,
              field: x.field
            };
          }
          return D;
        }, {});
        return n.keys(C).length === 0 ? null : new c(g, C);
      }, c.makeFromTransform = function(g, y) {
        return new c(g, (C = {}, C[y.field] = {
          as: y.as,
          timeUnit: y.timeUnit,
          field: y.field
        }, C));
        var C;
      }, c.prototype.merge = function(g) {
        this.formula = e.__assign({}, this.formula, g.formula), g.remove();
      }, c.prototype.producedFields = function() {
        var g = {};
        return n.vals(this.formula).forEach(function(y) {
          g[y.as] = !0;
        }), g;
      }, c.prototype.dependentFields = function() {
        var g = {};
        return n.vals(this.formula).forEach(function(y) {
          g[y.field] = !0;
        }), g;
      }, c.prototype.assemble = function() {
        return n.vals(this.formula).map(function(g) {
          return {
            type: "formula",
            as: g.as,
            expr: r.fieldExpr(g.timeUnit, g.field)
          };
        });
      }, c;
    }(i.DataFlowNode)
  );
  return am.TimeUnitNode = o, am;
}
var nW;
function kRe() {
  if (nW) return hs;
  nW = 1, Object.defineProperty(hs, "__esModule", { value: !0 });
  var e = Pe, t = Xe(), r = Ar(), n = v_(), i = pN(), o = g_(), l = y_();
  function c(D) {
    function x(M) {
      if (!(M instanceof o.SourceNode)) {
        var N = M.parent;
        D(M) && x(N);
      }
    }
    return x;
  }
  hs.iterateFromLeaves = c;
  function g(D) {
    var x = D.parent;
    if (D instanceof i.ParseNode) {
      if (x instanceof o.SourceNode)
        return !1;
      if (x.numChildren() > 1)
        return !0;
      if (x instanceof i.ParseNode)
        x.merge(D);
      else {
        if (t.hasIntersection(x.producedFields(), D.dependentFields()))
          return !0;
        D.swapWithParent();
      }
    }
    return !0;
  }
  hs.moveParseUp = g;
  function y(D) {
    return D instanceof r.OutputNode || D.numChildren() > 0 || D instanceof n.FacetNode ? !1 : (D.remove(), !0);
  }
  hs.removeUnusedSubtrees = y;
  function C(D) {
    var x = {};
    return c(function(M) {
      if (M instanceof l.TimeUnitNode) {
        var N = M.producedFields(), F = t.keys(N).every(function(z) {
          return !!x[z];
        });
        F ? M.remove() : x = e.__assign({}, x, N);
      }
      return !0;
    })(D);
  }
  return hs.removeDuplicateTimeUnits = C, hs;
}
var om = {}, iW;
function hN() {
  if (iW) return om;
  iW = 1, Object.defineProperty(om, "__esModule", { value: !0 });
  var e = Pe, t = dt, r = At(), n = Xe(), i = Dn(), o = Ar();
  function l(g) {
    return g.stack.stackBy.reduce(function(y, C) {
      var D = C.fieldDef, x = r.vgField(D);
      return x && y.push(x), y;
    }, []);
  }
  var c = (
    /** @class */
    function(g) {
      e.__extends(y, g);
      function y(C, D) {
        var x = g.call(this, C) || this;
        return x._stack = D, x;
      }
      return y.prototype.clone = function() {
        return new y(null, n.duplicate(this._stack));
      }, y.make = function(C, D) {
        var x = D.stack;
        if (!x)
          return null;
        var M;
        x.groupbyChannel && (M = D.fieldDef(x.groupbyChannel));
        var N = l(D), F = D.encoding.order, z;
        return F ? z = i.sortParams(F) : z = N.reduce(function(A, u) {
          return A.field.push(u), A.order.push("descending"), A;
        }, { field: [], order: [] }), new y(C, {
          dimensionFieldDef: M,
          field: D.vgField(x.fieldChannel),
          facetby: [],
          stackby: N,
          sort: z,
          offset: x.offset,
          impute: x.impute
        });
      }, Object.defineProperty(y.prototype, "stack", {
        get: function() {
          return this._stack;
        },
        enumerable: !0,
        configurable: !0
      }), y.prototype.addDimensions = function(C) {
        this._stack.facetby = this._stack.facetby.concat(C);
      }, y.prototype.dependentFields = function() {
        var C = {};
        C[this._stack.field] = !0, this.getGroupbyFields().forEach(function(x) {
          return C[x] = !0;
        }), this._stack.facetby.forEach(function(x) {
          return C[x] = !0;
        });
        var D = this._stack.sort.field;
        return t.isArray(D) ? D.forEach(function(x) {
          return C[x] = !0;
        }) : C[D] = !0, C;
      }, y.prototype.producedFields = function() {
        var C = {};
        return C[this._stack.field + "_start"] = !0, C[this._stack.field + "_end"] = !0, C;
      }, y.prototype.getGroupbyFields = function() {
        var C = this._stack, D = C.dimensionFieldDef, x = C.impute;
        return D ? D.bin ? x ? [r.vgField(D, { binSuffix: "mid" })] : [
          // For binned group by field without impute, we need both bin (start) and bin_end
          r.vgField(D, {}),
          r.vgField(D, { binSuffix: "end" })
        ] : [r.vgField(D)] : [];
      }, y.prototype.assemble = function() {
        var C = [], D = this._stack, x = D.facetby, M = D.field, N = D.dimensionFieldDef, F = D.impute, z = D.offset, A = D.sort, u = D.stackby;
        if (F && N) {
          var a = N ? r.vgField(N, { binSuffix: "mid" }) : void 0;
          N.bin && C.push({
            type: "formula",
            expr: "(" + r.vgField(N, { expr: "datum" }) + "+" + r.vgField(N, { expr: "datum", binSuffix: "end" }) + ")/2",
            as: a
          }), C.push({
            type: "impute",
            field: M,
            groupby: u,
            key: a,
            method: "value",
            value: 0
          });
        }
        return C.push({
          type: "stack",
          groupby: this.getGroupbyFields().concat(x),
          field: M,
          sort: A,
          as: [
            M + "_start",
            M + "_end"
          ],
          offset: z
        }), C;
      }, y;
    }(o.DataFlowNode)
  );
  return om.StackNode = c, om;
}
var aW;
function qJ() {
  return aW || (aW = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = rs(), r = Xe(), n = fN(), i = Ar(), o = v_(), l = dN(), c = kRe(), g = hN();
    e.FACET_SCALE_PREFIX = "scale_";
    function y(F) {
      function z(A) {
        if (!(A instanceof o.FacetNode)) {
          var u = A.clone();
          if (u instanceof i.OutputNode) {
            var a = e.FACET_SCALE_PREFIX + u.getSource();
            u.setSource(a), F.model.component.data.outputNodes[a] = u;
          } else (u instanceof n.AggregateNode || u instanceof g.StackNode) && u.addDimensions(F.fields);
          return r.flatten(A.children.map(z)).forEach(function(s) {
            return s.parent = u;
          }), [u];
        }
        return r.flatten(A.children.map(z));
      }
      return z;
    }
    function C(F) {
      if (F instanceof o.FacetNode)
        if (F.numChildren() === 1 && !(F.children[0] instanceof i.OutputNode)) {
          var z = F.children[0];
          (z instanceof n.AggregateNode || z instanceof g.StackNode) && z.addDimensions(F.fields), z.swapWithParent(), C(F);
        } else {
          D(F.model.component.data.main);
          var A = r.flatten(F.children.map(y(F)));
          A.forEach(function(u) {
            return u.parent = F.model.component.data.main;
          });
        }
      else
        F.children.forEach(C);
    }
    function D(F) {
      if (F instanceof i.OutputNode && F.type === t.MAIN && F.numChildren() === 1) {
        var z = F.children[0];
        z instanceof o.FacetNode || (z.swapWithParent(), D(F));
      }
    }
    function x(F) {
      F instanceof l.FilterInvalidNode && r.every(r.vals(F.filter), function(z) {
        return z === null;
      }) && F.remove(), F instanceof i.OutputNode && !F.isRequired() && F.remove(), F.children.forEach(x);
    }
    function M(F) {
      var z = [];
      function A(u) {
        u.numChildren() === 0 ? z.push(u) : u.children.forEach(A);
      }
      return F.forEach(A), z;
    }
    function N(F) {
      var z = r.vals(F.sources);
      z.forEach(x), z = z.filter(function(A) {
        return A.numChildren() > 0;
      }), M(z).forEach(c.iterateFromLeaves(c.removeUnusedSubtrees)), z = z.filter(function(A) {
        return A.numChildren() > 0;
      }), M(z).forEach(c.iterateFromLeaves(c.moveParseUp)), M(z).forEach(c.removeDuplicateTimeUnits), z.forEach(C), r.keys(F.sources).forEach(function(A) {
        F.sources[A].numChildren() === 0 && delete F.sources[A];
      });
    }
    e.optimizeDataflow = N;
  }(zx)), zx;
}
var oW;
function Zd() {
  if (oW) return ca;
  oW = 1, Object.defineProperty(ca, "__esModule", { value: !0 });
  var e = Pe, t = dt, r = Gd(), n = Kd(), i = St(), o = rs(), l = lu(), c = bt(), g = er(), y = Qd(), C = Xe(), D = Xe(), x = ti(), M = ti(), N = Dn(), F = cN(), z = qJ(), A = jr(), u = cn();
  function a(v) {
    A.isUnitModel(v) ? s(v) : h(v);
  }
  ca.parseScaleDomain = a;
  function s(v) {
    var O = v.specifiedScales, T = v.component.scales;
    D.keys(T).forEach(function(w) {
      var P = O[w], I = P ? P.domain : void 0, L = f(v, w), R = T[w];
      if (R.domains = L, g.isSelectionDomain(I) && R.set("domainRaw", {
        signal: u.SELECTION_DOMAIN + C.hash(I)
      }, !0), v.component.data.isFaceted) {
        for (var q = v; !A.isFacetModel(q) && q.parent; )
          q = q.parent;
        var B = q.component.resolve.scale[w];
        if (B === "shared")
          for (var j = 0, k = L; j < k.length; j++) {
            var U = k[j];
            M.isDataRefDomain(U) && (U.data = z.FACET_SCALE_PREFIX + U.data.replace(z.FACET_SCALE_PREFIX, ""));
          }
      }
    });
  }
  function h(v) {
    for (var O = 0, T = v.children; O < T.length; O++) {
      var w = T[O];
      a(w);
    }
    var P = v.component.scales;
    D.keys(P).forEach(function(I) {
      for (var L, R = null, q = 0, B = v.children; q < B.length; q++) {
        var j = B[q], k = j.component.scales[I];
        if (k) {
          L === void 0 ? L = k.domains : L = L.concat(k.domains);
          var U = k.get("domainRaw");
          R && U && R.signal !== U.signal && c.warn("The same selection must be used to override scale domains in a layered view."), R = U;
        }
      }
      P[I].domains = L, R && P[I].set("domainRaw", R, !0);
    });
  }
  function E(v, O, T, w) {
    if (v === "unaggregated") {
      var P = d(O, T), I = P.valid, L = P.reason;
      if (!I) {
        c.warn(L);
        return;
      }
    } else if (v === void 0 && w.useUnaggregatedDomain) {
      var I = d(O, T).valid;
      if (I)
        return "unaggregated";
    }
    return v;
  }
  function f(v, O) {
    var T = v.getScaleComponent(O).get("type"), w = E(v.scaleDomain(O), v.fieldDef(O), T, v.config.scale);
    return w !== v.scaleDomain(O) && (v.specifiedScales[O] = e.__assign({}, v.specifiedScales[O], { domain: w })), O === "x" && v.channelHasField("x2") ? v.channelHasField("x") ? S(T, w, v, "x").concat(S(T, w, v, "x2")) : S(T, w, v, "x2") : O === "y" && v.channelHasField("y2") ? v.channelHasField("y") ? S(T, w, v, "y").concat(S(T, w, v, "y2")) : S(T, w, v, "y2") : S(T, w, v, O);
  }
  ca.parseDomainForChannel = f;
  function S(v, O, T, w) {
    var P = T.fieldDef(w);
    if (O && O !== "unaggregated" && !g.isSelectionDomain(O))
      if (P.bin)
        c.warn(c.message.conflictedDomain(w));
      else
        return l.isDateTime(O[0]) ? O.map(function(B) {
          return { signal: "{data: " + l.dateTimeExpr(B, !0) + "}" };
        }) : [O];
    var I = T.stack;
    if (I && w === I.fieldChannel) {
      if (I.offset === "normalize")
        return [[0, 1]];
      var L = T.requestDataName(o.MAIN);
      return [{
        data: L,
        field: T.vgField(w, { suffix: "start" })
      }, {
        data: L,
        field: T.vgField(w, { suffix: "end" })
      }];
    }
    var R = i.isScaleChannel(w) ? _(T, w, v) : void 0;
    if (O === "unaggregated") {
      var L = T.requestDataName(o.MAIN);
      return [{
        data: L,
        field: T.vgField(w, { aggregate: "min" })
      }, {
        data: L,
        field: T.vgField(w, { aggregate: "max" })
      }];
    } else if (P.bin) {
      if (g.isBinScale(v)) {
        var q = T.getName(n.binToString(P.bin) + "_" + P.field + "_bins");
        return [{ signal: "sequence(" + q + ".start, " + q + ".stop + " + q + ".step, " + q + ".step)" }];
      }
      if (g.hasDiscreteDomain(v))
        return [{
          // If sort by aggregation of a specified sort field, we need to use RAW table,
          // so we can aggregate values for the scale independently from the main aggregation.
          data: D.isBoolean(R) ? T.requestDataName(o.MAIN) : T.requestDataName(o.RAW),
          // Use range if we added it and the scale does not support computing a range as a signal.
          field: T.vgField(w, N.binRequiresRange(P, w) ? { binSuffix: "range" } : {}),
          // we have to use a sort object if sort = true to make the sort correct by bin start
          sort: R === !0 || !y.isSortField(R) ? {
            field: T.vgField(w, {}),
            op: "min"
            // min or max doesn't matter since we sort by the start of the bin range
          } : R
        }];
      if (w === "x" || w === "y") {
        var L = T.requestDataName(o.MAIN);
        return [{
          data: L,
          field: T.vgField(w, {})
        }, {
          data: L,
          field: T.vgField(w, { binSuffix: "end" })
        }];
      } else
        return [{
          data: T.requestDataName(o.MAIN),
          field: T.vgField(w, {})
        }];
    } else return R ? [{
      // If sort by aggregation of a specified sort field, we need to use RAW table,
      // so we can aggregate values for the scale independently from the main aggregation.
      data: D.isBoolean(R) ? T.requestDataName(o.MAIN) : T.requestDataName(o.RAW),
      field: T.vgField(w),
      sort: R
    }] : [{
      data: T.requestDataName(o.MAIN),
      field: T.vgField(w)
    }];
  }
  function _(v, O, T) {
    if (g.hasDiscreteDomain(T)) {
      var w = v.sort(O);
      if (y.isSortArray(w))
        return {
          op: "min",
          field: F.sortArrayIndexField(v, O),
          order: "ascending"
        };
      if (y.isSortField(w))
        return w;
      if (w === "descending")
        return {
          op: "min",
          field: v.vgField(O),
          order: "descending"
        };
      if (D.contains([
        "ascending",
        void 0
        /* default =ascending*/
      ], w))
        return !0;
    }
  }
  ca.domainSort = _;
  function d(v, O) {
    return v.aggregate ? r.SHARED_DOMAIN_OP_INDEX[v.aggregate] ? v.type === "quantitative" && O === "log" ? {
      valid: !1,
      reason: c.message.unaggregatedDomainWithLogScale(v)
    } : { valid: !0 } : {
      valid: !1,
      reason: c.message.unaggregateDomainWithNonSharedDomainOp(v.aggregate)
    } : {
      valid: !1,
      reason: c.message.unaggregateDomainHasNoEffectForRawField(v)
    };
  }
  ca.canUseUnaggregatedDomain = d;
  function p(v) {
    var O = D.unique(v.map(function(q) {
      if (M.isDataRefDomain(q)) {
        q.sort;
        var B = e.__rest(q, ["sort"]);
        return B;
      }
      return q;
    }), D.hash), T = D.unique(v.map(function(q) {
      if (M.isDataRefDomain(q)) {
        var B = q.sort;
        return B !== void 0 && !D.isBoolean(B) && (B.op === "count" && delete B.field, B.order === "ascending" && delete B.order), B;
      }
    }).filter(function(q) {
      return q !== void 0;
    }), D.hash);
    if (O.length === 1) {
      var w = v[0];
      if (M.isDataRefDomain(w) && T.length > 0) {
        var P = T[0];
        return T.length > 1 && (c.warn(c.message.MORE_THAN_ONE_SORT), P = !0), e.__assign({}, w, { sort: P });
      }
      return w;
    }
    var I = D.unique(T.map(function(q) {
      return q === !0 || q.op === "count" ? q : (c.warn(c.message.domainSortDropped(q)), !0);
    }), D.hash), L = void 0;
    I.length === 1 ? L = I[0] : I.length > 1 && (c.warn(c.message.MORE_THAN_ONE_SORT), L = !0);
    var R = D.unique(v.map(function(q) {
      return M.isDataRefDomain(q) ? q.data : null;
    }), function(q) {
      return q;
    });
    if (R.length === 1 && R[0] !== null) {
      var w = e.__assign({ data: R[0], fields: O.map(function(B) {
        return B.field;
      }) }, L ? { sort: L } : {});
      return w;
    }
    return e.__assign({ fields: O }, L ? { sort: L } : {});
  }
  ca.mergeDomains = p;
  function b(v) {
    if (M.isDataRefDomain(v) && t.isString(v.field))
      return v.field;
    if (x.isDataRefUnionedDomain(v)) {
      for (var O = void 0, T = 0, w = v.fields; T < w.length; T++) {
        var P = w[T];
        if (M.isDataRefDomain(P) && t.isString(P.field)) {
          if (!O)
            O = P.field;
          else if (O !== P.field)
            return c.warn("Detected faceted independent scales that union domain of multiple fields from different data sources.  We will use the first field.  The result view size may be incorrect."), O;
        }
      }
      return c.warn("Detected faceted independent scales that union domain of identical fields from different source detected.  We will assume that this is the same field from a different fork of the same data source.  However, if this is not case, the result view size maybe incorrect."), O;
    } else if (x.isFieldRefUnionDomain(v)) {
      c.warn("Detected faceted independent scales that union domain of multiple fields from the same data source.  We will use the first field.  The result view size may be incorrect.");
      var O = v.fields[0];
      return t.isString(O) ? O : void 0;
    }
  }
  ca.getFieldFromDomain = b;
  function m(v, O) {
    var T = v.component.scales[O], w = T.domains.map(function(P) {
      return M.isDataRefDomain(P) && (P.data = v.lookupDataSource(P.data)), P;
    });
    return p(w);
  }
  return ca.assembleDomain = m, ca;
}
var sW;
function RRe() {
  if (sW) return Au;
  sW = 1, Object.defineProperty(Au, "__esModule", { value: !0 });
  var e = Pe, t = dt, r = Xe(), n = ti(), i = jr(), o = cn(), l = Zd();
  function c(C) {
    return i.isLayerModel(C) || i.isConcatModel(C) || i.isRepeatModel(C) ? C.children.reduce(function(D, x) {
      return D.concat(c(x));
    }, g(C)) : g(C);
  }
  Au.assembleScales = c;
  function g(C) {
    return r.keys(C.component.scales).reduce(function(D, x) {
      var M = C.component.scales[x];
      if (M.merged)
        return D;
      var N = M.combine(), F = N.domainRaw, z = N.range, A = N.name, u = N.type;
      N.domainRaw, N.range;
      var a = e.__rest(N, ["name", "type", "domainRaw", "range"]);
      return z = y(z, A, C, x), F && o.isRawSelectionDomain(F) && (F = o.selectionScaleDomain(C, F)), D.push(e.__assign({
        name: A,
        type: u,
        domain: l.assembleDomain(C, x)
      }, F ? { domainRaw: F } : {}, { range: z }, a)), D;
    }, []);
  }
  Au.assembleScalesForModel = g;
  function y(C, D, x, M) {
    if (M === "x" || M === "y") {
      if (n.isVgRangeStep(C))
        return {
          step: { signal: D + "_step" }
        };
      if (t.isArray(C) && C.length === 2) {
        var N = C[0], F = C[1];
        if (N === 0 && n.isVgSignalRef(F))
          return [0, { signal: x.getSizeName(F.signal) }];
        if (n.isVgSignalRef(N) && F === 0)
          return [{ signal: x.getSizeName(N.signal) }, 0];
      }
    }
    return C;
  }
  return Au.assembleScaleRange = y, Au;
}
var Rc = {}, sm = {}, uW;
function MRe() {
  if (uW) return sm;
  uW = 1, Object.defineProperty(sm, "__esModule", { value: !0 });
  var e = Pe, t = _i(), r = (
    /** @class */
    function(n) {
      e.__extends(i, n);
      function i(o, l) {
        var c = n.call(
          this,
          {},
          // no initial explicit property
          { name: o }
          // name as initial implicit property
        ) || this;
        return c.merged = !1, c.domains = [], c.setWithExplicit("type", l), c;
      }
      return i;
    }(t.Split)
  );
  return sm.ScaleComponent = r, sm;
}
var si = {}, Bx = {}, lW;
function zJ() {
  return lW || (lW = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = dt, r = St(), n = bt(), i = er(), o = er(), l = Xe(), c = ti(), g = jr(), y = _i(), C = BJ();
    e.RANGE_PROPERTIES = ["range", "rangeStep", "scheme"];
    function D(s) {
      g.isUnitModel(s) ? x(s) : C.parseNonUnitScaleProperty(s, "range");
    }
    e.parseScaleRange = D;
    function x(s) {
      var h = s.component.scales;
      r.SCALE_CHANNELS.forEach(function(E) {
        var f = h[E];
        if (f) {
          var S = s.getScaleComponent(E), _ = s.specifiedScales[E], d = s.fieldDef(E), p = E === "x" ? "width" : E === "y" ? "height" : void 0, b = p ? !!s.component.layoutSize.get(p) : void 0, m = S.get("type"), v = l.contains(["point", "band"], m) || !!_.rangeStep;
          p && s.fit && !b && v && (n.warn(n.message.CANNOT_FIX_RANGE_STEP_WITH_FIT), b = !0);
          var O = M(s), T = N(E, m, d.type, _, s.config, f.get("zero"), s.mark, b, s.getName(p), O);
          f.setWithExplicit("range", T);
        }
      });
    }
    function M(s) {
      var h = [], E = s.getScaleComponent("x"), f = E && E.get("range");
      f && c.isVgRangeStep(f) && t.isNumber(f.step) && h.push(f.step);
      var S = s.getScaleComponent("y"), _ = S && S.get("range");
      return _ && c.isVgRangeStep(_) && t.isNumber(_.step) && h.push(_.step), h;
    }
    function N(s, h, E, f, S, _, d, p, b, m) {
      for (var v = p || f.rangeStep === null, O = 0, T = e.RANGE_PROPERTIES; O < T.length; O++) {
        var w = T[O];
        if (f[w] !== void 0) {
          var P = i.scaleTypeSupportProperty(h, w), I = i.channelScalePropertyIncompatability(s, w);
          if (!P)
            n.warn(n.message.scalePropertyNotWorkWithScaleType(h, w, s));
          else if (I)
            n.warn(I);
          else
            switch (w) {
              case "range":
                return y.makeExplicit(f[w]);
              case "scheme":
                return y.makeExplicit(F(f[w]));
              case "rangeStep":
                var L = f[w];
                if (L !== null)
                  if (p)
                    n.warn(n.message.rangeStepDropped(s));
                  else
                    return y.makeExplicit({ step: L });
            }
        }
      }
      return y.makeImplicit(z(s, h, E, S, _, d, b, m, v));
    }
    e.parseRangeForChannel = N;
    function F(s) {
      if (i.isExtendedScheme(s)) {
        var h = { scheme: s.name };
        return s.count && (h.count = s.count), s.extent && (h.extent = s.extent), h;
      }
      return { scheme: s };
    }
    function z(s, h, E, f, S, _, d, p, b) {
      switch (s) {
        case r.X:
        case r.Y:
          if (l.contains(["point", "band"], h) && !b) {
            if (s === r.X && _ === "text") {
              if (f.scale.textXRangeStep)
                return { step: f.scale.textXRangeStep };
            } else if (f.scale.rangeStep)
              return { step: f.scale.rangeStep };
          }
          return s === r.Y && o.hasContinuousDomain(h) ? [{ signal: d }, 0] : [0, { signal: d }];
        case r.SIZE:
          var m = A(_, S, f), v = u(_, p, f);
          return [m, v];
        case r.SHAPE:
          return "symbol";
        case r.COLOR:
        case r.FILL:
        case r.STROKE:
          return h === "ordinal" ? E === "nominal" ? "category" : "ordinal" : _ === "rect" || _ === "geoshape" ? "heatmap" : "ramp";
        case r.OPACITY:
          return [f.scale.minOpacity, f.scale.maxOpacity];
      }
      throw new Error("Scale range undefined for channel " + s);
    }
    e.defaultRange = z;
    function A(s, h, E) {
      if (h)
        return 0;
      switch (s) {
        case "bar":
        case "tick":
          return E.scale.minBandSize;
        case "line":
        case "trail":
        case "rule":
          return E.scale.minStrokeWidth;
        case "text":
          return E.scale.minFontSize;
        case "point":
        case "square":
        case "circle":
          return E.scale.minSize;
      }
      throw new Error(n.message.incompatibleChannel("size", s));
    }
    function u(s, h, E) {
      var f = E.scale;
      switch (s) {
        case "bar":
        case "tick":
          return E.scale.maxBandSize !== void 0 ? E.scale.maxBandSize : a(h, E.scale) - 1;
        case "line":
        case "trail":
        case "rule":
          return E.scale.maxStrokeWidth;
        case "text":
          return E.scale.maxFontSize;
        case "point":
        case "square":
        case "circle":
          if (E.scale.maxSize)
            return E.scale.maxSize;
          var S = a(h, f);
          return (S - 2) * (S - 2);
      }
      throw new Error(n.message.incompatibleChannel("size", s));
    }
    function a(s, h) {
      return s.length > 0 ? Math.min.apply(null, s) : h.rangeStep ? h.rangeStep : 21;
    }
  }(Bx)), Bx;
}
var cW;
function BJ() {
  if (cW) return si;
  cW = 1, Object.defineProperty(si, "__esModule", { value: !0 });
  var e = St(), t = bt(), r = er(), n = Xe(), i = Xe(), o = jr(), l = _i(), c = zJ();
  function g(u, a) {
    o.isUnitModel(u) ? y(u, a) : D(u, a);
  }
  si.parseScaleProperty = g;
  function y(u, a) {
    var s = u.component.scales;
    n.keys(s).forEach(function(h) {
      var E = u.specifiedScales[h], f = s[h], S = u.getScaleComponent(h), _ = u.fieldDef(h), d = u.sort(h), p = u.config, b = E[a], m = S.get("type"), v = r.scaleTypeSupportProperty(m, a), O = r.channelScalePropertyIncompatability(h, a);
      if (b !== void 0 && (v ? O && t.warn(O) : t.warn(t.message.scalePropertyNotWorkWithScaleType(m, a, h))), v && O === void 0)
        if (b !== void 0)
          f.copyKeyFromObject(a, E);
        else {
          var T = C(a, h, _, d, S.get("type"), S.get("padding"), S.get("paddingInner"), E.domain, u.markDef, p);
          T !== void 0 && f.set(a, T, !1);
        }
    });
  }
  function C(u, a, s, h, E, f, S, _, d, p) {
    var b = p.scale;
    switch (u) {
      case "nice":
        return x(E, a, s);
      case "padding":
        return M(a, E, b, s, d, p.bar);
      case "paddingInner":
        return N(f, a, b);
      case "paddingOuter":
        return F(f, a, E, S, b);
      case "reverse":
        return z(E, h);
      case "zero":
        return A(a, s, _, d);
    }
    return b[u];
  }
  si.getDefaultValue = C;
  function D(u, a) {
    for (var s = u.component.scales, h = 0, E = u.children; h < E.length; h++) {
      var f = E[h];
      a === "range" ? c.parseScaleRange(f) : g(f, a);
    }
    n.keys(s).forEach(function(S) {
      for (var _, d = 0, p = u.children; d < p.length; d++) {
        var b = p[d], m = b.component.scales[S];
        if (m) {
          var v = m.getWithExplicit(a);
          _ = l.mergeValuesWithExplicit(_, v, a, "scale", l.tieBreakByComparing(function(O, T) {
            switch (a) {
              case "range":
                return O.step && T.step ? O.step - T.step : 0;
            }
            return 0;
          }));
        }
      }
      s[S].setWithExplicit(a, _);
    });
  }
  si.parseNonUnitScaleProperty = D;
  function x(u, a, s) {
    if (!(s.bin || i.contains([r.ScaleType.TIME, r.ScaleType.UTC], u)))
      return i.contains([e.X, e.Y], a);
  }
  si.nice = x;
  function M(u, a, s, h, E, f) {
    if (i.contains([e.X, e.Y], u)) {
      if (r.isContinuousToContinuous(a)) {
        if (s.continuousPadding !== void 0)
          return s.continuousPadding;
        var S = E.type, _ = E.orient;
        if (S === "bar" && !h.bin && (_ === "vertical" && u === "x" || _ === "horizontal" && u === "y"))
          return f.continuousBandSize;
      }
      if (a === r.ScaleType.POINT)
        return s.pointPadding;
    }
  }
  si.padding = M;
  function N(u, a, s) {
    if (u === void 0 && i.contains([e.X, e.Y], a))
      return s.bandPaddingInner;
  }
  si.paddingInner = N;
  function F(u, a, s, h, E) {
    if (u === void 0 && i.contains([e.X, e.Y], a) && s === r.ScaleType.BAND)
      return E.bandPaddingOuter !== void 0 ? E.bandPaddingOuter : h / 2;
  }
  si.paddingOuter = F;
  function z(u, a) {
    if (r.hasContinuousDomain(u) && a === "descending")
      return !0;
  }
  si.reverse = z;
  function A(u, a, s, h) {
    if (u === "size" && a.type === "quantitative")
      return !0;
    var E = !!s && s !== "unaggregated";
    if (!E && !a.bin && i.contains([e.X, e.Y], u)) {
      var f = h.orient, S = h.type;
      return !(n.contains(["bar", "area", "line", "trail"], S) && (f === "horizontal" && u === "y" || f === "vertical" && u === "x"));
    }
    return !1;
  }
  return si.zero = A, si;
}
var Mc = {}, fW;
function NRe() {
  if (fW) return Mc;
  fW = 1, Object.defineProperty(Mc, "__esModule", { value: !0 });
  var e = St(), t = bt(), r = er(), n = er(), i = An(), o = Xe(), l = Xe();
  function c(C, D, x, M, N) {
    var F = g(D, x, M);
    return e.isScaleChannel(D) ? C !== void 0 ? r.channelSupportScaleType(D, C) ? y(C, x) ? C : (t.warn(t.message.scaleTypeNotWorkWithFieldDef(C, F)), F) : (t.warn(t.message.scaleTypeNotWorkWithChannel(D, C, F)), F) : F : null;
  }
  Mc.scaleType = c;
  function g(C, D, x, M) {
    switch (D.type) {
      case "nominal":
      case "ordinal":
        return e.isColorChannel(C) || e.rangeType(C) === "discrete" ? (C === "shape" && D.type === "ordinal" && t.warn(t.message.discreteChannelCannotEncode(C, "ordinal")), "ordinal") : o.contains(["x", "y"], C) && (o.contains(["rect", "bar", "rule"], x) || x === "bar") ? "band" : "point";
      case "temporal":
        return e.isColorChannel(C) ? "sequential" : e.rangeType(C) === "discrete" ? (t.warn(t.message.discreteChannelCannotEncode(C, "temporal")), "ordinal") : "time";
      case "quantitative":
        return e.isColorChannel(C) ? D.bin ? "bin-ordinal" : "sequential" : e.rangeType(C) === "discrete" ? (t.warn(t.message.discreteChannelCannotEncode(C, "quantitative")), "ordinal") : D.bin && C !== "x" && C !== "y" ? "bin-linear" : "linear";
      case "latitude":
      case "longitude":
      case "geojson":
        return;
    }
    throw new Error(t.message.invalidFieldType(D.type));
  }
  function y(C, D) {
    var x = D.type;
    return l.contains([i.Type.ORDINAL, i.Type.NOMINAL], x) ? C === void 0 || n.hasDiscreteDomain(C) : x === i.Type.TEMPORAL ? l.contains([r.ScaleType.TIME, r.ScaleType.UTC, r.ScaleType.SEQUENTIAL, void 0], C) : x === i.Type.QUANTITATIVE ? D.bin ? l.contains([r.ScaleType.BIN_LINEAR, r.ScaleType.BIN_ORDINAL, r.ScaleType.LINEAR], C) : l.contains([r.ScaleType.LOG, r.ScaleType.POW, r.ScaleType.SQRT, r.ScaleType.QUANTILE, r.ScaleType.QUANTIZE, r.ScaleType.LINEAR, r.ScaleType.SEQUENTIAL, void 0], C) : !0;
  }
  return Mc.fieldDefMatchScaleType = y, Mc;
}
var dW;
function IRe() {
  if (dW) return Rc;
  dW = 1, Object.defineProperty(Rc, "__esModule", { value: !0 });
  var e = St(), t = At(), r = Hr(), n = er(), i = An(), o = Xe(), l = jr(), c = m_(), g = _i(), y = MRe(), C = Zd(), D = BJ(), x = zJ(), M = NRe();
  function N(a) {
    F(a), C.parseScaleDomain(a);
    for (var s = 0, h = n.NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES; s < h.length; s++) {
      var E = h[s];
      D.parseScaleProperty(a, E);
    }
    x.parseScaleRange(a);
  }
  Rc.parseScale = N;
  function F(a) {
    l.isUnitModel(a) ? a.component.scales = z(a) : a.component.scales = u(a);
  }
  Rc.parseScaleCore = F;
  function z(a) {
    var s = a.encoding, h = a.config, E = a.mark;
    return e.SCALE_CHANNELS.reduce(function(f, S) {
      var _, d = void 0, p = s[S];
      if (t.isFieldDef(p) && E === r.GEOSHAPE && S === e.SHAPE && p.type === i.GEOJSON)
        return f;
      if (t.isFieldDef(p) ? (_ = p, d = p.scale) : t.hasConditionalFieldDef(p) ? (_ = p.condition, d = p.condition.scale) : S === e.X ? _ = t.getFieldDef(s.x2) : S === e.Y && (_ = t.getFieldDef(s.y2)), _ && d !== null && d !== !1) {
        d = d || {};
        var b = d.type, m = M.scaleType(d.type, S, _, E, h.scale);
        f[S] = new y.ScaleComponent(a.scaleName(S + "", !0), { value: m, explicit: b === m });
      }
      return f;
    }, {});
  }
  var A = g.tieBreakByComparing(function(a, s) {
    return n.scaleTypePrecedence(a) - n.scaleTypePrecedence(s);
  });
  function u(a) {
    for (var s = a.component.scales = {}, h = {}, E = a.component.resolve, f = function(p) {
      F(p), o.keys(p.component.scales).forEach(function(b) {
        if (E.scale[b] = E.scale[b] || c.defaultScaleResolve(b, a), E.scale[b] === "shared") {
          var m = h[b], v = p.component.scales[b].getWithExplicit("type");
          m ? n.scaleCompatible(m.value, v.value) ? h[b] = g.mergeValuesWithExplicit(m, v, "type", "scale", A) : (E.scale[b] = "independent", delete h[b]) : h[b] = v;
        }
      });
    }, S = 0, _ = a.children; S < _.length; S++) {
      var d = _[S];
      f(d);
    }
    return o.keys(h).forEach(function(p) {
      var b = a.scaleName(p, !0), m = h[p];
      s[p] = new y.ScaleComponent(b, m);
      for (var v = 0, O = a.children; v < O.length; v++) {
        var T = O[v], w = T.component.scales[p];
        w && (T.renameScale(w.get("name"), b), w.merged = !0);
      }
    }), s;
  }
  return Rc;
}
var pW;
function jr() {
  if (pW) return Di;
  pW = 1, Object.defineProperty(Di, "__esModule", { value: !0 });
  var e = Pe, t = dt, r = St(), n = ei(), i = At(), o = bt(), l = er(), c = Vl(), g = AJ(), y = p_(), C = Xe(), D = ti(), x = FJ(), M = LJ(), N = h_(), F = UJ(), z = jJ(), A = xRe(), u = PRe(), a = RRe(), s = Zd(), h = IRe(), E = _i(), f = (
    /** @class */
    function() {
      function O() {
        this.nameMap = {};
      }
      return O.prototype.rename = function(T, w) {
        this.nameMap[T] = w;
      }, O.prototype.has = function(T) {
        return this.nameMap[T] !== void 0;
      }, O.prototype.get = function(T) {
        for (; this.nameMap[T] && T !== this.nameMap[T]; )
          T = this.nameMap[T];
        return T;
      }, O;
    }()
  );
  Di.NameMap = f;
  function S(O) {
    return O && O.type === "unit";
  }
  Di.isUnitModel = S;
  function _(O) {
    return O && O.type === "facet";
  }
  Di.isFacetModel = _;
  function d(O) {
    return O && O.type === "repeat";
  }
  Di.isRepeatModel = d;
  function p(O) {
    return O && O.type === "concat";
  }
  Di.isConcatModel = p;
  function b(O) {
    return O && O.type === "layer";
  }
  Di.isLayerModel = b;
  var m = (
    /** @class */
    function() {
      function O(T, w, P, I, L, R) {
        var q = this;
        this.children = [], this.correctDataNames = function(B) {
          return B.from && B.from.data && (B.from.data = q.lookupDataSource(B.from.data)), B.from && B.from.facet && B.from.facet.data && (B.from.facet.data = q.lookupDataSource(B.from.facet.data)), B;
        }, this.parent = w, this.config = I, this.repeater = L, this.name = T.name || P, this.title = t.isString(T.title) ? { text: T.title } : T.title, this.scaleNameMap = w ? w.scaleNameMap : new f(), this.projectionNameMap = w ? w.projectionNameMap : new f(), this.layoutSizeNameMap = w ? w.layoutSizeNameMap : new f(), this.data = T.data, this.description = T.description, this.transforms = y.normalizeTransform(T.transform || []), this.component = {
          data: {
            sources: w ? w.component.data.sources : {},
            outputNodes: w ? w.component.data.outputNodes : {},
            outputNodeRefCounts: w ? w.component.data.outputNodeRefCounts : {},
            ancestorParse: w ? e.__assign({}, w.component.data.ancestorParse) : {},
            // data is faceted if the spec is a facet spec or the parent has faceted data and no data is defined
            isFaceted: c.isFacetSpec(T) || w && w.component.data.isFaceted && !T.data
          },
          layoutSize: new E.Split(),
          layoutHeaders: { row: {}, column: {} },
          mark: null,
          resolve: e.__assign({ scale: {}, axis: {}, legend: {} }, R || {}),
          selection: null,
          scales: null,
          projection: null,
          axes: {},
          legends: {}
        };
      }
      return Object.defineProperty(O.prototype, "width", {
        get: function() {
          return this.getSizeSignalRef("width");
        },
        enumerable: !0,
        configurable: !0
      }), Object.defineProperty(O.prototype, "height", {
        get: function() {
          return this.getSizeSignalRef("height");
        },
        enumerable: !0,
        configurable: !0
      }), O.prototype.initSize = function(T) {
        var w = T.width, P = T.height;
        w && this.component.layoutSize.set("width", w, !0), P && this.component.layoutSize.set("height", P, !0);
      }, O.prototype.parse = function() {
        this.parseScale(), this.parseLayoutSize(), this.renameTopLevelLayoutSize(), this.parseSelection(), this.parseProjection(), this.parseData(), this.parseAxisAndHeader(), this.parseLegend(), this.parseMarkGroup();
      }, O.prototype.parseScale = function() {
        h.parseScale(this);
      }, O.prototype.parseProjection = function() {
        u.parseProjection(this);
      }, O.prototype.renameTopLevelLayoutSize = function() {
        this.getName("width") !== "width" && this.renameLayoutSize(this.getName("width"), "width"), this.getName("height") !== "height" && this.renameLayoutSize(this.getName("height"), "height");
      }, O.prototype.parseLegend = function() {
        z.parseLegend(this);
      }, O.prototype.assembleGroupStyle = function() {
        if (this.type === "unit" || this.type === "layer")
          return "cell";
      }, O.prototype.assembleLayoutSize = function() {
        if (this.type === "unit" || this.type === "layer")
          return {
            width: this.getSizeSignalRef("width"),
            height: this.getSizeSignalRef("height")
          };
      }, O.prototype.assembleHeaderMarks = function() {
        for (var T = this.component.layoutHeaders, w = [], P = 0, I = M.HEADER_CHANNELS; P < I.length; P++) {
          var L = I[P];
          T[L].title && w.push(M.getTitleGroup(this, L));
        }
        for (var R = 0, q = M.HEADER_CHANNELS; R < q.length; R++) {
          var L = q[R];
          w = w.concat(M.getHeaderGroups(this, L));
        }
        return w;
      }, O.prototype.assembleAxes = function() {
        return x.assembleAxes(this.component.axes, this.config);
      }, O.prototype.assembleLegends = function() {
        return F.assembleLegends(this);
      }, O.prototype.assembleProjections = function() {
        return A.assembleProjections(this);
      }, O.prototype.assembleTitle = function() {
        var T = e.__assign({}, g.extractTitleConfig(this.config.title).nonMark, this.title);
        if (T.text)
          return C.contains(["unit", "layer"], this.type) || (T.anchor && T.anchor !== "start" && o.warn(o.message.cannotSetTitleAnchor(this.type)), T.anchor = "start"), C.keys(T).length > 0 ? T : void 0;
      }, O.prototype.assembleGroup = function(T) {
        T === void 0 && (T = []);
        var w = {};
        T = T.concat(this.assembleSelectionSignals()), T.length > 0 && (w.signals = T);
        var P = this.assembleLayout();
        P && (w.layout = P), w.marks = [].concat(this.assembleHeaderMarks(), this.assembleMarks());
        var I = !this.parent || _(this.parent) ? a.assembleScales(this) : [];
        I.length > 0 && (w.scales = I);
        var L = this.assembleAxes();
        L.length > 0 && (w.axes = L);
        var R = this.assembleLegends();
        return R.length > 0 && (w.legends = R), w;
      }, O.prototype.hasDescendantWithFieldOnChannel = function(T) {
        for (var w = 0, P = this.children; w < P.length; w++) {
          var I = P[w];
          if (S(I)) {
            if (I.channelHasField(T))
              return !0;
          } else if (I.hasDescendantWithFieldOnChannel(T))
            return !0;
        }
        return !1;
      }, O.prototype.getName = function(T) {
        return C.varName((this.name ? this.name + "_" : "") + T);
      }, O.prototype.requestDataName = function(T) {
        var w = this.getName(T), P = this.component.data.outputNodeRefCounts;
        return P[w] = (P[w] || 0) + 1, w;
      }, O.prototype.getSizeSignalRef = function(T) {
        if (_(this.parent)) {
          var w = T === "width" ? "x" : "y", P = this.component.scales[w];
          if (P && !P.merged) {
            var I = P.get("type"), L = P.get("range");
            if (l.hasDiscreteDomain(I) && D.isVgRangeStep(L)) {
              var R = P.get("name"), q = s.assembleDomain(this, w), B = s.getFieldFromDomain(q);
              if (B) {
                var j = i.vgField({ aggregate: "distinct", field: B }, { expr: "datum" });
                return {
                  signal: N.sizeExpr(R, P, j)
                };
              } else
                return o.warn("Unknown field for ${channel}.  Cannot calculate view size."), null;
            }
          }
        }
        return {
          signal: this.layoutSizeNameMap.get(this.getName(T))
        };
      }, O.prototype.lookupDataSource = function(T) {
        var w = this.component.data.outputNodes[T];
        return w ? w.getSource() : T;
      }, O.prototype.getSizeName = function(T) {
        return this.layoutSizeNameMap.get(T);
      }, O.prototype.renameLayoutSize = function(T, w) {
        this.layoutSizeNameMap.rename(T, w);
      }, O.prototype.renameScale = function(T, w) {
        this.scaleNameMap.rename(T, w);
      }, O.prototype.renameProjection = function(T, w) {
        this.projectionNameMap.rename(T, w);
      }, O.prototype.scaleName = function(T, w) {
        if (w)
          return this.getName(T);
        if (
          // If there is a scale for the channel, there should be a local scale component for it
          r.isChannel(T) && r.isScaleChannel(T) && this.component.scales[T] || // in the scale name map (the scale get merged by its parent)
          this.scaleNameMap.has(this.getName(T))
        )
          return this.scaleNameMap.get(this.getName(T));
      }, O.prototype.projectionName = function(T) {
        if (T)
          return this.getName("projection");
        if (this.component.projection && !this.component.projection.merged || this.projectionNameMap.has(this.getName("projection")))
          return this.projectionNameMap.get(this.getName("projection"));
      }, O.prototype.getScaleComponent = function(T) {
        if (!this.component.scales)
          throw new Error("getScaleComponent cannot be called before parseScale().  Make sure you have called parseScale or use parseUnitModelWithScale().");
        var w = this.component.scales[T];
        return w && !w.merged ? w : this.parent ? this.parent.getScaleComponent(T) : void 0;
      }, O.prototype.getSelectionComponent = function(T, w) {
        var P = this.component.selection[T];
        if (!P && this.parent && (P = this.parent.getSelectionComponent(T, w)), !P)
          throw new Error(o.message.selectionNotFound(w));
        return P;
      }, O;
    }()
  );
  Di.Model = m;
  var v = (
    /** @class */
    function(O) {
      e.__extends(T, O);
      function T() {
        return O !== null && O.apply(this, arguments) || this;
      }
      return T.prototype.vgField = function(w, P) {
        P === void 0 && (P = {});
        var I = this.fieldDef(w);
        if (I)
          return i.vgField(I, P);
      }, T.prototype.reduceFieldDef = function(w, P, I) {
        return n.reduce(this.getMapping(), function(L, R, q) {
          var B = i.getFieldDef(R);
          return B ? w(L, B, q) : L;
        }, P, I);
      }, T.prototype.forEachFieldDef = function(w, P) {
        n.forEach(this.getMapping(), function(I, L) {
          var R = i.getFieldDef(I);
          R && w(R, L);
        }, P);
      }, T;
    }(m)
  );
  return Di.ModelWithField = v, Di;
}
var Wx = {}, Nc = {}, hW;
function b_() {
  if (hW) return Nc;
  hW = 1, Object.defineProperty(Nc, "__esModule", { value: !0 });
  var e = dt, t = St(), r = bt(), n = er(), i = cn(), o = {
    has: function(c) {
      return c.type === "interval" && c.resolve === "global" && c.bind && c.bind === "scales";
    },
    parse: function(c, g, y) {
      var C = y.scales = [];
      y.project.forEach(function(D) {
        var x = D.channel, M = c.getScaleComponent(x), N = M ? M.get("type") : void 0;
        if (!M || !n.hasContinuousDomain(N) || n.isBinScale(N)) {
          r.warn(r.message.SCALE_BINDINGS_CONTINUOUS);
          return;
        }
        if (M.set("domainRaw", { signal: i.channelSignalName(y, x, "data") }, !0), C.push(x), c.repeater && c.repeater.row === c.repeater.column) {
          var F = c.getScaleComponent(x === t.X ? t.Y : t.X);
          F.set("domainRaw", { signal: i.channelSignalName(y, x, "data") }, !0);
        }
      });
    },
    topLevelSignals: function(c, g, y) {
      if (!c.parent)
        return y;
      var C = g.scales.filter(function(D) {
        return !y.filter(function(x) {
          return x.name === i.channelSignalName(g, D, "data");
        }).length;
      });
      return y.concat(C.map(function(D) {
        return { name: i.channelSignalName(g, D, "data") };
      }));
    },
    signals: function(c, g, y) {
      return c.parent && g.scales.forEach(function(C) {
        var D = y.filter(function(x) {
          return x.name === i.channelSignalName(g, C, "data");
        })[0];
        D.push = "outer", delete D.value, delete D.update;
      }), y;
    }
  };
  Nc.default = o;
  function l(c, g) {
    var y = e.stringValue(c.scaleName(g));
    return "domain(" + y + ")";
  }
  return Nc.domain = l, Nc;
}
var mW;
function mN() {
  return mW || (mW = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = dt, n = St(), i = bt(), o = er(), l = Xe(), c = cn(), g = b_();
    e.BRUSH = "_brush", e.SCALE_TRIGGER = "_scale_trigger";
    var y = {
      predicate: "vlInterval",
      scaleDomain: "vlIntervalDomain",
      signals: function(x, M) {
        var N = M.name, F = g.default.has(M), z = [], A = [], u = [], a = [];
        if (M.translate && !F) {
          var s = "!event.item || event.item.mark.name !== " + r.stringValue(N + e.BRUSH);
          D(M, function(h, E) {
            var f = E.between[0].filter || (E.between[0].filter = []);
            f.indexOf(s) < 0 && f.push(s);
          });
        }
        return M.project.forEach(function(h) {
          var E = h.channel;
          if (E !== n.X && E !== n.Y) {
            i.warn("Interval selections only support x and y encoding channels.");
            return;
          }
          var f = C(x, M, E), S = c.channelSignalName(M, E, "data"), _ = c.channelSignalName(M, E, "visual"), d = r.stringValue(x.scaleName(E)), p = x.getScaleComponent(E).get("type"), b = o.hasContinuousDomain(p) ? "+" : "";
          z.push.apply(z, f), u.push(S), A.push("{encoding: " + r.stringValue(E) + ", " + ("field: " + r.stringValue(h.field) + ", extent: " + S + "}")), a.push({
            scaleName: x.scaleName(E),
            expr: "(!isArray(" + S + ") || " + ("(" + b + "invert(" + d + ", " + _ + ")[0] === " + b + S + "[0] && ") + (b + "invert(" + d + ", " + _ + ")[1] === " + b + S + "[1]))")
          });
        }), F || z.push({
          name: N + e.SCALE_TRIGGER,
          update: a.map(function(h) {
            return h.expr;
          }).join(" && ") + (" ? " + (N + e.SCALE_TRIGGER) + " : {}")
        }), z.concat({
          name: N + c.TUPLE,
          on: [{
            events: u.map(function(h) {
              return { signal: h };
            }),
            update: u.join(" && ") + (" ? {unit: " + c.unitName(x) + ", intervals: [" + A.join(", ") + "]} : null")
          }]
        });
      },
      modifyExpr: function(x, M) {
        var N = M.name + c.TUPLE;
        return N + ", " + (M.resolve === "global" ? "true" : "{unit: " + c.unitName(x) + "}");
      },
      marks: function(x, M, N) {
        var F = M.name, z = c.positionalProjections(M), A = z.xi, u = z.yi, a = "data(" + r.stringValue(M.name + c.STORE) + ")";
        if (g.default.has(M))
          return N;
        var s = {
          x: A !== null ? { signal: F + "_x[0]" } : { value: 0 },
          y: u !== null ? { signal: F + "_y[0]" } : { value: 0 },
          x2: A !== null ? { signal: F + "_x[1]" } : { field: { group: "width" } },
          y2: u !== null ? { signal: F + "_y[1]" } : { field: { group: "height" } }
        };
        if (M.resolve === "global")
          for (var h = 0, E = l.keys(s); h < E.length; h++) {
            var f = E[h];
            s[f] = [t.__assign({ test: a + ".length && " + a + "[0].unit === " + c.unitName(x) }, s[f]), { value: 0 }];
          }
        var S = M.mark, _ = S.fill, d = S.fillOpacity, p = t.__rest(S, ["fill", "fillOpacity"]), b = l.keys(p).reduce(function(m, v) {
          return m[v] = [{
            test: [
              A !== null && F + "_x[0] !== " + F + "_x[1]",
              u != null && F + "_y[0] !== " + F + "_y[1]"
            ].filter(function(O) {
              return O;
            }).join(" && "),
            value: p[v]
          }, { value: null }], m;
        }, {});
        return [{
          name: F + e.BRUSH + "_bg",
          type: "rect",
          clip: !0,
          encode: {
            enter: {
              fill: { value: _ },
              fillOpacity: { value: d }
            },
            update: s
          }
        }].concat(N, {
          name: F + e.BRUSH,
          type: "rect",
          clip: !0,
          encode: {
            enter: {
              fill: { value: "transparent" }
            },
            update: t.__assign({}, s, b)
          }
        });
      }
    };
    e.default = y;
    function C(x, M, N) {
      var F = c.channelSignalName(M, N, "visual"), z = c.channelSignalName(M, N, "data"), A = g.default.has(M), u = x.scaleName(N), a = r.stringValue(u), s = x.getScaleComponent(N), h = s ? s.get("type") : void 0, E = x.getSizeSignalRef(N === n.X ? "width" : "height").signal, f = N + "(unit)", S = D(M, function(_, d) {
        return _.concat(
          { events: d.between[0], update: "[" + f + ", " + f + "]" },
          // Brush Start
          { events: d, update: "[" + F + "[0], clamp(" + f + ", 0, " + E + ")]" }
          // Brush End
        );
      });
      return S.push({
        events: { signal: M.name + e.SCALE_TRIGGER },
        update: o.hasContinuousDomain(h) && !o.isBinScale(h) ? "[scale(" + a + ", " + z + "[0]), scale(" + a + ", " + z + "[1])]" : "[0, 0]"
      }), A ? [{ name: z, on: [] }] : [{
        name: F,
        value: [],
        on: S
      }, {
        name: z,
        on: [{ events: { signal: F }, update: F + "[0] === " + F + "[1] ? null : invert(" + a + ", " + F + ")" }]
      }];
    }
    function D(x, M) {
      return x.events.reduce(function(N, F) {
        return F.between ? M(N, F) : (i.warn(F + " is not an ordered event stream for interval selections"), N);
      }, []);
    }
  }(Wx)), Wx;
}
var Ic = {}, um = {}, vW;
function vN() {
  if (vW) return um;
  vW = 1, Object.defineProperty(um, "__esModule", { value: !0 });
  var e = bt(), t = Hr(), r = cn(), n = "voronoi", i = {
    has: function(o) {
      return o.type !== "interval" && o.nearest;
    },
    marks: function(o, l, c) {
      var g = r.positionalProjections(l), y = g.x, C = g.y, D = o.mark;
      if (t.isPathMark(D))
        return e.warn(e.message.nearestNotSupportForContinuous(D)), c;
      var x = {
        name: o.getName(n),
        type: "path",
        from: { data: o.getName("marks") },
        encode: {
          enter: {
            fill: { value: "transparent" },
            strokeWidth: { value: 0.35 },
            stroke: { value: "transparent" },
            isVoronoi: { value: !0 }
          }
        },
        transform: [{
          type: "voronoi",
          x: { expr: y || !y && !C ? "datum.datum.x || 0" : "0" },
          y: { expr: C || !y && !C ? "datum.datum.y || 0" : "0" },
          size: [o.getSizeSignalRef("width"), o.getSizeSignalRef("height")]
        }]
      }, M = 0, N = !1;
      return c.forEach(function(F, z) {
        var A = F.name || "";
        A === o.component.mark[0].name ? M = z : A.indexOf(n) >= 0 && (N = !0);
      }), N || c.splice(M + 1, 0, x), c;
    }
  };
  return um.default = i, um;
}
var gW;
function WJ() {
  if (gW) return Ic;
  gW = 1, Object.defineProperty(Ic, "__esModule", { value: !0 });
  var e = dt, t = Xe(), r = cn(), n = vN();
  function i(l, c) {
    var g = c.project, y = n.default.has(c) ? "(item().isVoronoi ? datum.datum : datum)" : "datum", C = [], D = g.map(function(N) {
      return e.stringValue(N.channel);
    }).filter(function(N) {
      return N;
    }).join(", "), x = g.map(function(N) {
      return e.stringValue(N.field);
    }).join(", "), M = g.map(function(N) {
      var F = N.channel, z = l.fieldDef(F);
      return z && z.bin ? (C.push(N.field), "[" + y + t.accessPath(l.vgField(F, {})) + ", " + ("" + y + t.accessPath(l.vgField(F, { binSuffix: "end" })) + "]")) : "" + y + t.accessPath(N.field);
    }).join(", ");
    return [{
      name: c.name + r.TUPLE,
      value: {},
      on: [{
        events: c.events,
        update: "datum && item().mark.marktype !== 'group' ? " + ("{unit: " + r.unitName(l) + ", encodings: [" + D + "], ") + ("fields: [" + x + "], values: [" + M + "]") + (C.length ? ", " + C.map(function(N) {
          return e.stringValue("bin_" + N) + ": 1";
        }).join(", ") : "") + "} : null",
        force: !0
      }]
    }];
  }
  Ic.signals = i;
  var o = {
    predicate: "vlMulti",
    scaleDomain: "vlMultiDomain",
    signals: i,
    modifyExpr: function(l, c) {
      var g = c.name + r.TUPLE;
      return g + ", " + (c.resolve === "global" ? "null" : "{unit: " + r.unitName(l) + "}");
    }
  };
  return Ic.default = o, Ic;
}
var lm = {}, yW;
function FRe() {
  if (yW) return lm;
  yW = 1, Object.defineProperty(lm, "__esModule", { value: !0 });
  var e = dt, t = WJ(), r = cn(), n = {
    predicate: "vlSingle",
    scaleDomain: "vlSingleDomain",
    signals: t.signals,
    topLevelSignals: function(i, o, l) {
      var c = l.filter(function(C) {
        return C.name === o.name;
      }), g = "data(" + e.stringValue(o.name + r.STORE) + ")", y = g + "[0].values";
      return c.length ? l : l.concat({
        name: o.name,
        update: g + ".length && {" + o.project.map(function(C, D) {
          return C.field + ": " + y + "[" + D + "]";
        }).join(", ") + "}"
      });
    },
    modifyExpr: function(i, o) {
      var l = o.name + r.TUPLE;
      return l + ", " + (o.resolve === "global" ? "true" : "{unit: " + r.unitName(i) + "}");
    }
  };
  return lm.default = n, lm;
}
var cm = {}, fm = {}, bW;
function LRe() {
  if (bW) return fm;
  bW = 1, Object.defineProperty(fm, "__esModule", { value: !0 });
  var e = dt, t = Xe(), r = cn(), n = vN(), i = {
    has: function(o) {
      return o.type === "single" && o.resolve === "global" && o.bind && o.bind !== "scales";
    },
    topLevelSignals: function(o, l, c) {
      var g = l.name, y = l.project, C = l.bind, D = n.default.has(l) ? "(item().isVoronoi ? datum.datum : datum)" : "datum";
      return y.forEach(function(x) {
        var M = t.varName(g + "_" + x.field), N = c.filter(function(F) {
          return F.name === M;
        });
        N.length || c.unshift({
          name: M,
          value: "",
          on: [{
            events: l.events,
            update: "datum && item().mark.marktype !== 'group' ? " + D + t.accessPath(x.field) + " : null"
          }],
          bind: C[x.field] || C[x.channel] || C
        });
      }), c;
    },
    signals: function(o, l, c) {
      var g = l.name, y = l.project, C = c.filter(function(M) {
        return M.name === g + r.TUPLE;
      })[0], D = y.map(function(M) {
        return e.stringValue(M.field);
      }).join(", "), x = y.map(function(M) {
        return t.varName(g + "_" + M.field);
      });
      return x.length && (C.update = x.join(" && ") + " ? {fields: [" + D + "], values: [" + x.join(", ") + "]} : null"), delete C.value, delete C.on, c;
    }
  };
  return fm.default = i, fm;
}
var dm = {}, _W;
function jRe() {
  if (_W) return dm;
  _W = 1, Object.defineProperty(dm, "__esModule", { value: !0 });
  var e = bt(), t = Xe(), r = y_(), n = {
    has: function(i) {
      var o = i;
      return o.fields !== void 0 || o.encodings !== void 0;
    },
    parse: function(i, o, l) {
      var c = {}, g = {};
      (o.fields || []).forEach(function(x) {
        return c[x] = null;
      }), (o.encodings || []).forEach(function(x) {
        var M = i.fieldDef(x);
        if (M)
          if (M.timeUnit) {
            var N = i.vgField(x);
            c[N] = x, g[N] = {
              as: N,
              field: M.field,
              timeUnit: M.timeUnit
            };
          } else
            c[M.field] = x;
        else
          e.warn(e.message.cannotProjectOnChannelWithoutField(x));
      });
      var y = l.project || (l.project = []);
      for (var C in c)
        c.hasOwnProperty(C) && y.push({ field: C, channel: c[C] });
      var D = l.fields || (l.fields = {});
      y.filter(function(x) {
        return x.channel;
      }).forEach(function(x) {
        return D[x.channel] = x.field;
      }), t.keys(g).length && (l.timeUnit = new r.TimeUnitNode(null, g));
    }
  };
  return dm.default = n, dm;
}
var pm = {}, EW;
function URe() {
  if (EW) return pm;
  EW = 1, Object.defineProperty(pm, "__esModule", { value: !0 });
  var e = cn(), t = "_toggle", r = {
    has: function(n) {
      return n.type === "multi" && n.toggle;
    },
    signals: function(n, i, o) {
      return o.concat({
        name: i.name + t,
        value: !1,
        on: [{ events: i.events, update: i.toggle }]
      });
    },
    modifyExpr: function(n, i, o) {
      var l = i.name + e.TUPLE, c = i.name + t;
      return c + " ? null : " + l + ", " + (i.resolve === "global" ? c + " ? null : true, " : c + " ? null : {unit: " + e.unitName(n) + "}, ") + (c + " ? " + l + " : null");
    }
  };
  return pm.default = r, pm;
}
var hm = {}, SW;
function qRe() {
  if (SW) return hm;
  SW = 1, Object.defineProperty(hm, "__esModule", { value: !0 });
  var e = lN, t = St(), r = mN(), n = cn(), i = b_(), o = "_translate_anchor", l = "_translate_delta", c = {
    has: function(y) {
      return y.type === "interval" && y.translate;
    },
    signals: function(y, C, D) {
      var x = C.name, M = i.default.has(C), N = x + o, F = n.positionalProjections(C), z = F.x, A = F.y, u = e.selector(C.translate, "scope");
      return M || (u = u.map(function(a) {
        return a.between[0].markname = x + r.BRUSH, a;
      })), D.push({
        name: N,
        value: {},
        on: [{
          events: u.map(function(a) {
            return a.between[0];
          }),
          update: "{x: x(unit), y: y(unit)" + (z !== null ? ", extent_x: " + (M ? i.domain(y, t.X) : "slice(" + n.channelSignalName(C, "x", "visual") + ")") : "") + (A !== null ? ", extent_y: " + (M ? i.domain(y, t.Y) : "slice(" + n.channelSignalName(C, "y", "visual") + ")") : "") + "}"
        }]
      }, {
        name: x + l,
        value: {},
        on: [{
          events: u,
          update: "{x: " + N + ".x - x(unit), y: " + N + ".y - y(unit)}"
        }]
      }), z !== null && g(y, C, t.X, "width", D), A !== null && g(y, C, t.Y, "height", D), D;
    }
  };
  hm.default = c;
  function g(y, C, D, x, M) {
    var N = C.name, F = i.default.has(C), z = M.filter(function(p) {
      return p.name === n.channelSignalName(C, D, F ? "data" : "visual");
    })[0], A = N + o, u = N + l, a = y.getSizeSignalRef(x).signal, s = y.getScaleComponent(D), h = s.get("type"), E = F && D === t.X ? "-" : "", f = A + ".extent_" + D, S = "" + E + u + "." + D + " / " + (F ? "" + a : "span(" + f + ")"), _ = F ? h === "log" ? "panLog" : h === "pow" ? "panPow" : "panLinear" : "panLinear", d = _ + "(" + f + ", " + S + (F && h === "pow" ? ", " + (s.get("exponent") || 1) : "") + ")";
    z.on.push({
      events: { signal: u },
      update: F ? d : "clampRange(" + d + ", 0, " + a + ")"
    });
  }
  return hm;
}
var mm = {}, wW;
function zRe() {
  if (wW) return mm;
  wW = 1, Object.defineProperty(mm, "__esModule", { value: !0 });
  var e = lN, t = dt, r = St(), n = mN(), i = cn(), o = b_(), l = "_zoom_anchor", c = "_zoom_delta", g = {
    has: function(C) {
      return C.type === "interval" && C.zoom;
    },
    signals: function(C, D, x) {
      var M = D.name, N = o.default.has(D), F = M + c, z = i.positionalProjections(D), A = z.x, u = z.y, a = t.stringValue(C.scaleName(r.X)), s = t.stringValue(C.scaleName(r.Y)), h = e.selector(D.zoom, "scope");
      return N || (h = h.map(function(E) {
        return E.markname = M + n.BRUSH, E;
      })), x.push({
        name: M + l,
        on: [{
          events: h,
          update: N ? "{" + [
            a ? "x: invert(" + a + ", x(unit))" : "",
            s ? "y: invert(" + s + ", y(unit))" : ""
          ].filter(function(E) {
            return !!E;
          }).join(", ") + "}" : "{x: x(unit), y: y(unit)}"
        }]
      }, {
        name: F,
        on: [{
          events: h,
          force: !0,
          update: "pow(1.001, event.deltaY * pow(16, event.deltaMode))"
        }]
      }), A !== null && y(C, D, "x", "width", x), u !== null && y(C, D, "y", "height", x), x;
    }
  };
  mm.default = g;
  function y(C, D, x, M, N) {
    var F = D.name, z = o.default.has(D), A = N.filter(function(d) {
      return d.name === i.channelSignalName(D, x, z ? "data" : "visual");
    })[0], u = C.getSizeSignalRef(M).signal, a = C.getScaleComponent(x), s = a.get("type"), h = z ? o.domain(C, x) : A.name, E = F + c, f = "" + F + l + "." + x, S = z ? s === "log" ? "zoomLog" : s === "pow" ? "zoomPow" : "zoomLinear" : "zoomLinear", _ = S + "(" + h + ", " + f + ", " + E + (z && s === "pow" ? ", " + (a.get("exponent") || 1) : "") + ")";
    A.on.push({
      events: { signal: E },
      update: z ? _ : "clampRange(" + _ + ", 0, " + u + ")"
    });
  }
  return mm;
}
var OW;
function BRe() {
  if (OW) return cm;
  OW = 1, Object.defineProperty(cm, "__esModule", { value: !0 });
  var e = LRe(), t = vN(), r = jRe(), n = b_(), i = URe(), o = qRe(), l = zRe(), c = {
    project: r.default,
    toggle: i.default,
    scales: n.default,
    translate: o.default,
    zoom: l.default,
    inputs: e.default,
    nearest: t.default
  };
  function g(y, C) {
    for (var D in c)
      c[D].has(y) && C(c[D]);
  }
  return cm.forEachTransform = g, cm;
}
var TW;
function cn() {
  return TW || (TW = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = lN, n = dt, i = St(), o = bt(), l = sN(), c = Xe(), g = jr(), y = mN(), C = WJ(), D = FRe(), x = BRe();
    e.STORE = "_store", e.TUPLE = "_tuple", e.MODIFY = "_modify", e.SELECTION_DOMAIN = "_selection_domain_";
    function M(m, v) {
      var O = {}, T = m.config.selection, w = function(I) {
        if (!v.hasOwnProperty(I))
          return "continue";
        var L = v[I], R = T[L.type];
        for (var q in R)
          q === "encodings" && L.fields || q === "fields" && L.encodings || (q === "mark" && (L[q] = t.__assign({}, R[q], L[q])), (L[q] === void 0 || L[q] === !0) && (L[q] = R[q] || L[q]));
        I = c.varName(I);
        var B = O[I] = t.__assign({}, L, { name: I, events: n.isString(L.on) ? r.selector(L.on, "scope") : L.on });
        x.forEachTransform(B, function(j) {
          j.parse && j.parse(m, L, B);
        });
      };
      for (var P in v)
        w(P);
      return O;
    }
    e.parseUnitSelection = M;
    function N(m, v) {
      E(m, function(w, P) {
        var I = w.name, L = P.modifyExpr(m, w);
        v.push.apply(v, P.signals(m, w)), x.forEachTransform(w, function(R) {
          R.signals && (v = R.signals(m, w, v)), R.modifyExpr && (L = R.modifyExpr(m, w, L));
        }), v.push({
          name: I + e.MODIFY,
          on: [{
            events: { signal: I + e.TUPLE },
            update: "modify(" + n.stringValue(w.name + e.STORE) + ", " + L + ")"
          }]
        });
      });
      var O = S(m);
      if (v.length && O) {
        var T = n.stringValue(O.getName("cell"));
        v.unshift({
          name: "facet",
          value: {},
          on: [{
            events: r.selector("mousemove", "scope"),
            update: "isTuple(facet) ? facet : group(" + T + ").datum"
          }]
        });
      }
      return v;
    }
    e.assembleUnitSelectionSignals = N;
    function F(m, v) {
      var O = !1;
      if (E(m, function(w, P) {
        P.topLevelSignals && (v = P.topLevelSignals(m, w, v)), x.forEachTransform(w, function(I) {
          I.topLevelSignals && (v = I.topLevelSignals(m, w, v));
        }), O = !0;
      }), O) {
        var T = v.filter(function(w) {
          return w.name === "unit";
        });
        T.length || v.unshift({
          name: "unit",
          value: {},
          on: [{ events: "mousemove", update: "isTuple(group()) ? group() : unit" }]
        });
      }
      return v;
    }
    e.assembleTopLevelSignals = F;
    function z(m, v) {
      return E(m, function(O) {
        var T = v.filter(function(w) {
          return w.name === O.name + e.STORE;
        });
        T.length || v.push({ name: O.name + e.STORE });
      }), v;
    }
    e.assembleUnitSelectionData = z;
    function A(m, v) {
      return E(m, function(O, T) {
        v = T.marks ? T.marks(m, O, v) : v, x.forEachTransform(O, function(w) {
          w.marks && (v = w.marks(m, O, v));
        });
      }), v;
    }
    e.assembleUnitSelectionMarks = A;
    function u(m, v) {
      return m.children.forEach(function(O) {
        g.isUnitModel(O) && (v = A(O, v));
      }), v;
    }
    e.assembleLayerSelectionMarks = u;
    function a(m, v, O) {
      var T = [];
      function w(I) {
        var L = c.varName(I), R = m.getSelectionComponent(L, I), q = n.stringValue(L + e.STORE);
        if (R.timeUnit) {
          var B = O || m.component.data.raw, j = R.timeUnit.clone();
          B.parent ? j.insertAsParentOf(B) : B.parent = j;
        }
        return R.empty !== "none" && T.push(q), f(R.type).predicate + ("(" + q + ", datum") + (R.resolve === "global" ? ")" : ", " + n.stringValue(R.resolve) + ")");
      }
      var P = c.logicalExpr(v, w);
      return (T.length ? "!(" + T.map(function(I) {
        return "length(data(" + I + "))";
      }).join(" || ") + ") || " : "") + ("(" + P + ")");
    }
    e.selectionPredicate = a;
    function s(m) {
      return m.signal.indexOf(e.SELECTION_DOMAIN) >= 0;
    }
    e.isRawSelectionDomain = s;
    function h(m, v) {
      var O = JSON.parse(v.signal.replace(e.SELECTION_DOMAIN, "")), T = c.varName(O.selection), w = m.component.selection && m.component.selection[T];
      if (w)
        o.warn('Use "bind": "scales" to setup a binding for scales and selections within the same view.');
      else
        return w = m.getSelectionComponent(T, O.selection), !O.encoding && !O.field && (O.field = w.project[0].field, w.project.length > 1 && o.warn('A "field" or "encoding" must be specified when using a selection as a scale domain. ' + ('Using "field": ' + n.stringValue(O.field) + "."))), {
          signal: f(w.type).scaleDomain + ("(" + n.stringValue(T + e.STORE) + ", " + n.stringValue(O.encoding || null) + ", ") + n.stringValue(O.field || null) + (w.resolve === "global" ? ")" : ", " + n.stringValue(w.resolve) + ")")
        };
      return { signal: "null" };
    }
    e.selectionScaleDomain = h;
    function E(m, v) {
      var O = m.component.selection;
      for (var T in O)
        if (O.hasOwnProperty(T)) {
          var w = O[T];
          v(w, f(w.type));
        }
    }
    function f(m) {
      switch (m) {
        case "single":
          return D.default;
        case "multi":
          return C.default;
        case "interval":
          return y.default;
      }
      return null;
    }
    function S(m) {
      for (var v = m.parent; v && !g.isFacetModel(v); )
        v = v.parent;
      return v;
    }
    function _(m) {
      var v = n.stringValue(m.name), O = S(m);
      return O && (v += (O.facet.row ? " + '_' + facet" + c.accessPath(O.vgField("row")) : "") + (O.facet.column ? " + '_' + facet" + c.accessPath(O.vgField("column")) : "")), v;
    }
    e.unitName = _;
    function d(m) {
      var v = !1;
      return E(m, function(O) {
        v = v || O.project.some(function(T) {
          return T.field === l.SELECTION_ID;
        });
      }), v;
    }
    e.requiresSelectionId = d;
    function p(m, v, O) {
      var T = m._signalNames || (m._signalNames = {});
      if (T[v] && T[v][O])
        return T[v][O];
      T[v] = T[v] || {};
      for (var w = c.varName(m.name + "_" + (O === "visual" ? v : m.fields[v])), P = w, I = 1; T[P]; )
        P = w + "_" + I++;
      return T[P] = T[v][O] = P;
    }
    e.channelSignalName = p;
    function b(m) {
      var v = null, O = null, T = null, w = null;
      return m.project.forEach(function(P, I) {
        P.channel === i.X ? (v = P, O = I) : P.channel === i.Y && (T = P, w = I);
      }), { x: v, xi: O, y: T, yi: w };
    }
    e.positionalProjections = b;
  }(Ux)), Ux;
}
var CW;
function Jd() {
  if (CW) return Ai;
  CW = 1, Object.defineProperty(Ai, "__esModule", { value: !0 });
  var e = Pe, t = dt, r = cn(), n = lu(), i = At(), o = Xd(), l = Xe();
  function c(z) {
    return z && z.selection;
  }
  Ai.isSelectionPredicate = c;
  function g(z) {
    return z && !!z.field && z.equal !== void 0;
  }
  Ai.isFieldEqualPredicate = g;
  function y(z) {
    return !!(z && z.field && t.isArray(z.range) && z.range.length === 2);
  }
  Ai.isFieldRangePredicate = y;
  function C(z) {
    return z && !!z.field && (t.isArray(z.oneOf) || t.isArray(z.in));
  }
  Ai.isFieldOneOfPredicate = C;
  function D(z) {
    return C(z) || g(z) || y(z);
  }
  Ai.isFieldPredicate = D;
  function x(z, A, u) {
    return l.logicalExpr(A, function(a) {
      return t.isString(a) ? a : c(a) ? r.selectionPredicate(z, a.selection, u) : M(a);
    });
  }
  Ai.expression = x;
  function M(z, A) {
    A === void 0 && (A = !0);
    var u = z.timeUnit ? (
      // For timeUnit, cast into integer with time() so we can use ===, inrange, indexOf to compare values directly.
      // TODO: We calculate timeUnit on the fly here. Consider if we would like to consolidate this with timeUnit pipeline
      // TODO: support utc
      "time(" + o.fieldExpr(z.timeUnit, z.field) + ")"
    ) : i.vgField(z, { expr: "datum" });
    if (g(z))
      return u + "===" + N(z.equal, z.timeUnit);
    if (C(z)) {
      var a = z.oneOf || z.in;
      return "indexof([" + a.map(function(f) {
        return N(f, z.timeUnit);
      }).join(",") + "], " + u + ") !== -1";
    } else if (y(z)) {
      var s = z.range[0], h = z.range[1];
      if (s !== null && h !== null && A)
        return "inrange(" + u + ", [" + N(s, z.timeUnit) + ", " + N(h, z.timeUnit) + "])";
      var E = [];
      return s !== null && E.push(u + " >= " + N(s, z.timeUnit)), h !== null && E.push(u + " <= " + N(h, z.timeUnit)), E.length > 0 ? E.join(" && ") : "true";
    }
    throw new Error("Invalid field predicate: " + JSON.stringify(z));
  }
  Ai.fieldFilterExpression = M;
  function N(z, A) {
    if (n.isDateTime(z)) {
      var u = n.dateTimeExpr(z, !0);
      return "time(" + u + ")";
    }
    if (o.isLocalSingleTimeUnit(A)) {
      var a = {};
      a[A] = z;
      var u = n.dateTimeExpr(a, !0);
      return "time(" + u + ")";
    } else if (o.isUtcSingleTimeUnit(A))
      return N(z, o.getLocalTimeUnit(A));
    return JSON.stringify(z);
  }
  function F(z) {
    return D(z) && z.timeUnit ? e.__assign({}, z, { timeUnit: o.normalizeTimeUnit(z.timeUnit) }) : z;
  }
  return Ai.normalizePredicate = F, Ai;
}
var vm = {}, xW;
function $J() {
  if (xW) return vm;
  xW = 1, Object.defineProperty(vm, "__esModule", { value: !0 });
  var e = Pe, t = Kd(), r = At(), n = Xe(), i = Dn(), o = jr(), l = Ar();
  function c(M, N, F, z) {
    if (i.binRequiresRange(N, F)) {
      var A = o.isUnitModel(M) ? M.axis(F) || M.legend(F) || {} : {}, u = r.vgField(N, { expr: "datum" }), a = r.vgField(N, { expr: "datum", binSuffix: "end" });
      return {
        formulaAs: r.vgField(N, { binSuffix: "range" }),
        formula: i.binFormatExpression(u, a, A.format, z)
      };
    }
    return {};
  }
  function g(M, N) {
    return t.binToString(M) + "_" + N;
  }
  function y(M, N) {
    return {
      signal: M.getName(N + "_bins"),
      extentSignal: M.getName(N + "_extent")
    };
  }
  function C(M) {
    return "as" in M;
  }
  function D(M, N) {
    var F;
    C(M) ? F = [M.as, M.as + "_end"] : F = [r.vgField(M, {}), r.vgField(M, { binSuffix: "end" })];
    var z = r.normalizeBin(M.bin, void 0) || {}, A = g(z, M.field), u = y(N, A), a = u.signal, s = u.extentSignal, h = e.__assign({ bin: z, field: M.field, as: F }, a ? { signal: a } : {}, s ? { extentSignal: s } : {});
    return { key: A, binComponent: h };
  }
  var x = (
    /** @class */
    function(M) {
      e.__extends(N, M);
      function N(F, z) {
        var A = M.call(this, F) || this;
        return A.bins = z, A;
      }
      return N.prototype.clone = function() {
        return new N(null, n.duplicate(this.bins));
      }, N.makeFromEncoding = function(F, z) {
        var A = z.reduceFieldDef(function(u, a, s) {
          if (a.bin) {
            var h = D(a, z), E = h.key, f = h.binComponent;
            u[E] = e.__assign({}, f, u[E], c(z, a, s, z.config));
          }
          return u;
        }, {});
        return n.keys(A).length === 0 ? null : new N(F, A);
      }, N.makeFromTransform = function(F, z, A) {
        var u = D(z, A), a = u.key, s = u.binComponent;
        return new N(F, (h = {}, h[a] = s, h));
        var h;
      }, N.prototype.merge = function(F) {
        this.bins = e.__assign({}, this.bins, F.bins), F.remove();
      }, N.prototype.producedFields = function() {
        var F = {};
        return n.vals(this.bins).forEach(function(z) {
          z.as.forEach(function(A) {
            return F[A] = !0;
          });
        }), F;
      }, N.prototype.dependentFields = function() {
        var F = {};
        return n.vals(this.bins).forEach(function(z) {
          F[z.field] = !0;
        }), F;
      }, N.prototype.assemble = function() {
        return n.flatten(n.vals(this.bins).map(function(F) {
          var z = [], A = e.__assign({ type: "bin", field: F.field, as: F.as, signal: F.signal }, F.bin);
          return !F.bin.extent && F.extentSignal && (z.push({
            type: "extent",
            field: F.field,
            signal: F.extentSignal
          }), A.extent = { signal: F.extentSignal }), z.push(A), F.formula && z.push({
            type: "formula",
            expr: F.formula,
            as: F.formulaAs
          }), z;
        }));
      }, N;
    }(l.DataFlowNode)
  );
  return vm.BinNode = x, vm;
}
var gm = {}, AW;
function VJ() {
  if (AW) return gm;
  AW = 1, Object.defineProperty(gm, "__esModule", { value: !0 });
  var e = Pe, t = Jd(), r = Xe(), n = Ar(), i = (
    /** @class */
    function(o) {
      e.__extends(l, o);
      function l(c, g, y) {
        var C = o.call(this, c) || this;
        return C.model = g, C.filter = y, C.expr = t.expression(C.model, C.filter, C), C;
      }
      return l.prototype.clone = function() {
        return new l(null, this.model, r.duplicate(this.filter));
      }, l.prototype.assemble = function() {
        return {
          type: "filter",
          expr: this.expr
        };
      }, l;
    }(n.DataFlowNode)
  );
  return gm.FilterNode = i, gm;
}
var ym = {}, DW;
function HJ() {
  if (DW) return ym;
  DW = 1, Object.defineProperty(ym, "__esModule", { value: !0 });
  var e = Pe, t = St(), r = An(), n = Xe(), i = Ar(), o = (
    /** @class */
    function(l) {
      e.__extends(c, l);
      function c(g, y, C, D) {
        var x = l.call(this, g) || this;
        return x.fields = y, x.geojson = C, x.signal = D, x;
      }
      return c.prototype.clone = function() {
        return new c(null, n.duplicate(this.fields), this.geojson, this.signal);
      }, c.parseAll = function(g, y) {
        var C = 0;
        if ([[t.LONGITUDE, t.LATITUDE], [t.LONGITUDE2, t.LATITUDE2]].forEach(function(x) {
          var M = x.map(function(N) {
            return y.channelHasField(N) ? y.fieldDef(N).field : void 0;
          });
          (M[0] || M[1]) && (g = new c(g, M, null, y.getName("geojson_" + C++)));
        }), y.channelHasField(t.SHAPE)) {
          var D = y.fieldDef(t.SHAPE);
          D.type === r.GEOJSON && (g = new c(g, null, D.field, y.getName("geojson_" + C++)));
        }
        return g;
      }, c.prototype.assemble = function() {
        return e.__assign({ type: "geojson" }, this.fields ? { fields: this.fields } : {}, this.geojson ? { geojson: this.geojson } : {}, { signal: this.signal });
      }, c;
    }(i.DataFlowNode)
  );
  return ym.GeoJSONNode = o, ym;
}
var bm = {}, PW;
function YJ() {
  if (PW) return bm;
  PW = 1, Object.defineProperty(bm, "__esModule", { value: !0 });
  var e = Pe, t = St(), r = Xe(), n = Ar(), i = (
    /** @class */
    function(o) {
      e.__extends(l, o);
      function l(c, g, y, C) {
        var D = o.call(this, c) || this;
        return D.projection = g, D.fields = y, D.as = C, D;
      }
      return l.prototype.clone = function() {
        return new l(null, this.projection, r.duplicate(this.fields), r.duplicate(this.as));
      }, l.parseAll = function(c, g) {
        return g.projectionName() && [[t.LONGITUDE, t.LATITUDE], [t.LONGITUDE2, t.LATITUDE2]].forEach(function(y) {
          var C = y.map(function(x) {
            return g.channelHasField(x) ? g.fieldDef(x).field : void 0;
          }), D = y[0] === t.LONGITUDE2 ? "2" : "";
          (C[0] || C[1]) && (c = new l(c, g.projectionName(), C, [g.getName("x" + D), g.getName("y" + D)]));
        }), c;
      }, l.prototype.assemble = function() {
        return {
          type: "geopoint",
          projection: this.projection,
          fields: this.fields,
          as: this.as
        };
      }, l;
    }(n.DataFlowNode)
  );
  return bm.GeoPointNode = i, bm;
}
var _m = {}, kW;
function GJ() {
  if (kW) return _m;
  kW = 1, Object.defineProperty(_m, "__esModule", { value: !0 });
  var e = Pe, t = sN(), r = Ar(), n = (
    /** @class */
    function(i) {
      e.__extends(o, i);
      function o(l) {
        return i.call(this, l) || this;
      }
      return o.prototype.clone = function() {
        return new o(null);
      }, o.prototype.producedFields = function() {
        return l = {}, l[t.SELECTION_ID] = !0, l;
        var l;
      }, o.prototype.assemble = function() {
        return { type: "identifier", as: t.SELECTION_ID };
      }, o;
    }(r.DataFlowNode)
  );
  return _m.IdentifierNode = n, _m;
}
var Em = {}, RW;
function KJ() {
  if (RW) return Em;
  RW = 1, Object.defineProperty(Em, "__esModule", { value: !0 });
  var e = Pe, t = dt, r = bt(), n = Ar(), i = g_(), o = (
    /** @class */
    function(l) {
      e.__extends(c, l);
      function c(g, y, C) {
        var D = l.call(this, g) || this;
        return D.transform = y, D.secondary = C, D;
      }
      return c.make = function(g, y, C, D) {
        var x = y.component.data.sources, M = new i.SourceNode(C.from.data), N = x[M.hash()];
        N || (x[M.hash()] = M, N = M);
        var F = y.getName("lookup_" + D), z = new n.OutputNode(N, F, "lookup", y.component.data.outputNodeRefCounts);
        return y.component.data.outputNodes[F] = z, new c(g, C, z.getSource());
      }, c.prototype.producedFields = function() {
        return t.toSet(this.transform.from.fields || (this.transform.as instanceof Array ? this.transform.as : [this.transform.as]));
      }, c.prototype.assemble = function() {
        var g;
        if (this.transform.from.fields)
          g = e.__assign({ values: this.transform.from.fields }, this.transform.as ? { as: this.transform.as instanceof Array ? this.transform.as : [this.transform.as] } : {});
        else {
          var y = this.transform.as;
          t.isString(y) || (r.warn(r.message.NO_FIELDS_NEEDS_AS), y = "_lookup"), g = {
            as: [y]
          };
        }
        return e.__assign({ type: "lookup", from: this.secondary, key: this.transform.from.key, fields: [this.transform.lookup] }, g, this.transform.default ? { default: this.transform.default } : {});
      }, c;
    }(n.DataFlowNode)
  );
  return Em.LookupNode = o, Em;
}
var Sm = {}, MW;
function XJ() {
  if (MW) return Sm;
  MW = 1, Object.defineProperty(Sm, "__esModule", { value: !0 });
  var e = Pe, t = Xe(), r = Ar(), n = (
    /** @class */
    function(i) {
      e.__extends(o, i);
      function o(l, c) {
        var g = i.call(this, l) || this;
        return g.transform = c, g;
      }
      return o.prototype.clone = function() {
        return new o(this.parent, t.duplicate(this.transform));
      }, o.prototype.producedFields = function() {
        var l = this, c = {};
        return this.transform.window.forEach(function(g) {
          c[l.getDefaultName(g)] = !0;
        }), c;
      }, o.prototype.getDefaultName = function(l) {
        return l.as === void 0 ? String(l.op) + "_field" : l.as;
      }, o.prototype.assemble = function() {
        for (var l = [], c = [], g = [], y = [], C = 0, D = this.transform.window; C < D.length; C++) {
          var x = D[C];
          c.push(x.op), g.push(this.getDefaultName(x)), y.push(x.param === void 0 ? null : x.param), l.push(x.field === void 0 ? null : x.field);
        }
        var M = this.transform.frame, N = this.transform.groupby, F = [], z = [];
        if (this.transform.sort !== void 0)
          for (var A = 0, u = this.transform.sort; A < u.length; A++) {
            var a = u[A];
            F.push(a.field), z.push(a.order === void 0 ? null : a.order);
          }
        var s = {
          field: F,
          order: z
        }, h = this.transform.ignorePeers, E = {
          type: "window",
          params: y,
          as: g,
          ops: c,
          fields: l,
          sort: s
        };
        return h !== void 0 && (E.ignorePeers = h), N !== void 0 && (E.groupby = N), M !== void 0 && (E.frame = M), E;
      }, o;
    }(r.DataFlowNode)
  );
  return Sm.WindowTransformNode = n, Sm;
}
var NW;
function __() {
  if (NW) return Tc;
  NW = 1, Object.defineProperty(Tc, "__esModule", { value: !0 });
  var e = Pe, t = dt, r = rs(), n = lu(), i = bt(), o = Jd(), l = p_(), c = Xe(), g = jr(), y = cn(), C = fN(), D = $J(), x = cN(), M = Ar(), N = v_(), F = VJ(), z = dN(), A = pN(), u = HJ(), a = YJ(), s = GJ(), h = KJ(), E = g_(), f = hN(), S = y_(), _ = XJ();
  function d(m, v) {
    if (m.data || !m.parent) {
      var O = new E.SourceNode(m.data), T = O.hash();
      return T in v ? v[T] : (v[T] = O, O);
    } else
      return m.parent.component.data.facetRoot ? m.parent.component.data.facetRoot : m.parent.component.data.main;
  }
  function p(m, v) {
    var O = 0;
    return v.transforms.forEach(function(T) {
      if (l.isCalculate(T))
        m = new x.CalculateNode(m, T);
      else if (l.isFilter(T)) {
        var w = {}, P = T.filter, I = null;
        o.isFieldEqualPredicate(P) ? I = P.equal : o.isFieldRangePredicate(P) ? I = P.range[0] : o.isFieldOneOfPredicate(P) && (I = (P.oneOf || P.in)[0]), I && (n.isDateTime(I) ? w[P.field] = "date" : t.isNumber(I) ? w[P.field] = "number" : t.isString(I) && (w[P.field] = "string")), c.keys(w).length > 0 && (m = new A.ParseNode(m, w)), m = new F.FilterNode(m, v, T.filter);
      } else if (l.isBin(T))
        m = D.BinNode.makeFromTransform(m, T, v);
      else if (l.isTimeUnit(T))
        m = S.TimeUnitNode.makeFromTransform(m, T);
      else if (l.isAggregate(T))
        m = C.AggregateNode.makeFromTransform(m, T), y.requiresSelectionId(v) && (m = new s.IdentifierNode(m));
      else if (l.isLookup(T))
        m = h.LookupNode.make(m, v, T, O++);
      else if (l.isWindow(T))
        m = new _.WindowTransformNode(m, T);
      else {
        i.warn(i.message.invalidTransformIgnored(T));
        return;
      }
    }), m;
  }
  Tc.parseTransformArray = p;
  function b(m) {
    var v = d(m, m.component.data.sources), O = m.component.data.outputNodes, T = m.component.data.outputNodeRefCounts;
    y.requiresSelectionId(m) && (g.isUnitModel(m) || g.isLayerModel(m)) && (v = new s.IdentifierNode(v));
    var w = m.parent && g.isLayerModel(m.parent);
    (g.isUnitModel(m) || g.isFacetModel(m)) && w && (v = D.BinNode.makeFromEncoding(v, m) || v), m.transforms.length > 0 && (v = p(v, m));
    var P = A.ParseNode.make(v, m);
    P && (v = P), g.isUnitModel(m) && (v = u.GeoJSONNode.parseAll(v, m), v = a.GeoPointNode.parseAll(v, m)), (g.isUnitModel(m) || g.isFacetModel(m)) && (w || (v = D.BinNode.makeFromEncoding(v, m) || v), v = S.TimeUnitNode.makeFromEncoding(v, m) || v, v = x.CalculateNode.parseAllForSortIndex(v, m));
    var I = m.getName(r.RAW), L = new M.OutputNode(v, I, r.RAW, T);
    if (O[I] = L, v = L, g.isUnitModel(m)) {
      var R = C.AggregateNode.makeFromEncoding(v, m);
      R && (v = R, y.requiresSelectionId(m) && (v = new s.IdentifierNode(v))), v = f.StackNode.make(v, m) || v;
    }
    g.isUnitModel(m) && (v = z.FilterInvalidNode.make(v, m) || v);
    var q = m.getName(r.MAIN), B = new M.OutputNode(v, q, r.MAIN, T);
    O[q] = B, v = B;
    var j = null;
    if (g.isFacetModel(m)) {
      var k = m.getName("facet");
      j = new N.FacetNode(v, m, k, B.getSource()), O[k] = j, v = j;
    }
    var U = e.__assign({}, m.component.data.ancestorParse, P ? P.parse : {});
    return e.__assign({}, m.component.data, {
      outputNodes: O,
      outputNodeRefCounts: T,
      raw: L,
      main: B,
      facetRoot: j,
      ancestorParse: U
    });
  }
  return Tc.parseData = b, Tc;
}
var IW;
function QJ() {
  if (IW) return Gh;
  IW = 1, Object.defineProperty(Gh, "__esModule", { value: !0 });
  var e = Pe, t = Xe(), r = __(), n = h_(), i = jr(), o = (
    /** @class */
    function(l) {
      e.__extends(c, l);
      function c(g, y, C, D, x, M) {
        return l.call(this, g, y, C, D, x, M) || this;
      }
      return c.prototype.parseData = function() {
        this.component.data = r.parseData(this), this.children.forEach(function(g) {
          g.parseData();
        });
      }, c.prototype.parseSelection = function() {
        var g = this;
        this.component.selection = {};
        for (var y = function(M) {
          M.parseSelection(), t.keys(M.component.selection).forEach(function(N) {
            g.component.selection[N] = M.component.selection[N];
          });
        }, C = 0, D = this.children; C < D.length; C++) {
          var x = D[C];
          y(x);
        }
      }, c.prototype.parseMarkGroup = function() {
        for (var g = 0, y = this.children; g < y.length; g++) {
          var C = y[g];
          C.parseMarkGroup();
        }
      }, c.prototype.parseAxisAndHeader = function() {
        for (var g = 0, y = this.children; g < y.length; g++) {
          var C = y[g];
          C.parseAxisAndHeader();
        }
      }, c.prototype.assembleSelectionTopLevelSignals = function(g) {
        return this.children.reduce(function(y, C) {
          return C.assembleSelectionTopLevelSignals(y);
        }, g);
      }, c.prototype.assembleSelectionSignals = function() {
        return this.children.forEach(function(g) {
          return g.assembleSelectionSignals();
        }), [];
      }, c.prototype.assembleLayoutSignals = function() {
        return this.children.reduce(function(g, y) {
          return g.concat(y.assembleLayoutSignals());
        }, n.assembleLayoutSignals(this));
      }, c.prototype.assembleSelectionData = function(g) {
        return this.children.reduce(function(y, C) {
          return C.assembleSelectionData(y);
        }, g);
      }, c.prototype.assembleMarks = function() {
        return this.children.map(function(g) {
          var y = g.assembleTitle(), C = g.assembleGroupStyle(), D = g.assembleLayoutSize();
          return e.__assign({ type: "group", name: g.getName("group") }, y ? { title: y } : {}, C ? { style: C } : {}, D ? {
            encode: {
              update: D
            }
          } : {}, g.assembleGroup());
        });
      }, c;
    }(i.Model)
  );
  return Gh.BaseConcatModel = o, Gh;
}
var Co = {}, FW;
function ep() {
  if (FW) return Co;
  FW = 1, Object.defineProperty(Co, "__esModule", { value: !0 });
  var e = er(), t = ti(), r = _i();
  function n(y) {
    o(y);
    var C = y.component.layoutSize;
    C.setWithExplicit("width", l(y, "width")), C.setWithExplicit("height", l(y, "height"));
  }
  Co.parseLayerLayoutSize = n, Co.parseRepeatLayoutSize = n;
  function i(y) {
    o(y);
    var C = y.component.layoutSize, D = y.isVConcat ? "width" : "height";
    C.setWithExplicit(D, l(y, D));
  }
  Co.parseConcatLayoutSize = i;
  function o(y) {
    for (var C = 0, D = y.children; C < D.length; C++) {
      var x = D[C];
      x.parseLayoutSize();
    }
  }
  Co.parseChildrenLayoutSize = o;
  function l(y, C) {
    for (var D = C === "width" ? "x" : "y", x = y.component.resolve, M, N = 0, F = y.children; N < F.length; N++) {
      var z = F[N], A = z.component.layoutSize.getWithExplicit(C), u = x.scale[D];
      if (u === "independent" && A.value === "range-step") {
        M = void 0;
        break;
      }
      if (M) {
        if (u === "independent" && M.value !== A.value) {
          M = void 0;
          break;
        }
        M = r.mergeValuesWithExplicit(M, A, C, "");
      } else
        M = A;
    }
    if (M) {
      for (var a = 0, s = y.children; a < s.length; a++) {
        var z = s[a];
        y.renameLayoutSize(z.getName(C), y.getName(C)), z.component.layoutSize.set(C, "merged", !1);
      }
      return M;
    } else
      return {
        explicit: !1,
        value: void 0
      };
  }
  function c(y) {
    var C = y.component.layoutSize;
    if (!C.explicit.width) {
      var D = g(y, "width");
      C.set("width", D, !1);
    }
    if (!C.explicit.height) {
      var x = g(y, "height");
      C.set("height", x, !1);
    }
  }
  Co.parseUnitLayoutSize = c;
  function g(y, C) {
    var D = C === "width" ? "x" : "y", x = y.config, M = y.getScaleComponent(D);
    if (M) {
      var N = M.get("type"), F = M.get("range");
      return e.hasDiscreteDomain(N) && t.isVgRangeStep(F) ? "range-step" : x.view[C];
    } else
      return C === "width" && y.mark === "text" ? x.scale.textXRangeStep : x.scale.rangeStep || e.defaultScaleConfig.rangeStep;
  }
  return Co;
}
var LW;
function WRe() {
  if (LW) return Yh;
  LW = 1, Object.defineProperty(Yh, "__esModule", { value: !0 });
  var e = Pe, t = bt(), r = Vl(), n = QJ(), i = E_(), o = ep(), l = (
    /** @class */
    function(c) {
      e.__extends(g, c);
      function g(y, C, D, x, M) {
        var N = c.call(this, y, C, D, M, x, y.resolve) || this;
        return N.type = "concat", y.resolve && y.resolve.axis && (y.resolve.axis.x === "shared" || y.resolve.axis.y === "shared") && t.warn(t.message.CONCAT_CANNOT_SHARE_AXIS), N.isVConcat = r.isVConcatSpec(y), N.children = (r.isVConcatSpec(y) ? y.vconcat : y.hconcat).map(function(F, z) {
          return i.buildModel(F, N, N.getName("concat_" + z), void 0, x, M, !1);
        }), N;
      }
      return g.prototype.parseLayoutSize = function() {
        o.parseConcatLayoutSize(this);
      }, g.prototype.parseAxisGroup = function() {
        return null;
      }, g.prototype.assembleLayout = function() {
        return e.__assign({ padding: { row: 10, column: 10 }, offset: 10 }, this.isVConcat ? { columns: 1 } : {}, {
          bounds: "full",
          // Use align each so it can work with multiple plots with different size
          align: "each"
        });
      }, g;
    }(n.BaseConcatModel)
  );
  return Yh.ConcatModel = l, Yh;
}
var wm = {}, Fc = {}, jW;
function ZJ() {
  if (jW) return Fc;
  jW = 1, Object.defineProperty(Fc, "__esModule", { value: !0 });
  var e = Pe, t = rs(), r = Xe(), n = fN(), i = $J(), o = cN(), l = Ar(), c = v_(), g = VJ(), y = dN(), C = pN(), D = HJ(), x = YJ(), M = GJ(), N = KJ(), F = g_(), z = hN(), A = y_(), u = XJ();
  function a(E) {
    var f = 0;
    function S(_, d) {
      if (_ instanceof F.SourceNode && !t.isUrlData(_.data)) {
        E.push(d);
        var p = {
          name: null,
          source: d.name,
          transform: []
        };
        d = p;
      }
      if (_ instanceof C.ParseNode && (_.parent instanceof F.SourceNode && !d.source ? d.format = e.__assign({}, d.format || {}, { parse: _.assembleFormatParse() }) : d.transform = d.transform.concat(_.assembleTransforms())), _ instanceof c.FacetNode) {
        d.name || (d.name = "data_" + f++), !d.source || d.transform.length > 0 ? (E.push(d), _.data = d.name) : _.data = d.source, _.assemble().forEach(function(m) {
          return E.push(m);
        });
        return;
      }
      if ((_ instanceof g.FilterNode || _ instanceof o.CalculateNode || _ instanceof x.GeoPointNode || _ instanceof D.GeoJSONNode || _ instanceof n.AggregateNode || _ instanceof N.LookupNode || _ instanceof u.WindowTransformNode || _ instanceof M.IdentifierNode) && d.transform.push(_.assemble()), (_ instanceof y.FilterInvalidNode || _ instanceof i.BinNode || _ instanceof A.TimeUnitNode || _ instanceof z.StackNode) && (d.transform = d.transform.concat(_.assemble())), _ instanceof n.AggregateNode && (d.name || (d.name = "data_" + f++)), _ instanceof l.OutputNode) {
        if (d.source && d.transform.length === 0)
          _.setSource(d.source);
        else if (_.parent instanceof l.OutputNode)
          _.setSource(d.name);
        else if (d.name || (d.name = "data_" + f++), _.setSource(d.name), _.numChildren() === 1) {
          E.push(d);
          var p = {
            name: null,
            source: d.name,
            transform: []
          };
          d = p;
        }
      }
      switch (_.numChildren()) {
        case 0:
          _ instanceof l.OutputNode && (!d.source || d.transform.length > 0) && E.push(d);
          break;
        case 1:
          S(_.children[0], d);
          break;
        default:
          d.name || (d.name = "data_" + f++);
          var b = d.name;
          !d.source || d.transform.length > 0 ? E.push(d) : b = d.source, _.children.forEach(function(m) {
            var v = {
              name: null,
              source: b,
              transform: []
            };
            S(m, v);
          });
          break;
      }
    }
    return S;
  }
  function s(E) {
    var f = [], S = a(f);
    return E.children.forEach(function(_) {
      return S(_, {
        source: E.name,
        name: null,
        transform: []
      });
    }), f;
  }
  Fc.assembleFacetData = s;
  function h(E, f) {
    var S = r.vals(E.sources), _ = [], d = a(_), p = 0;
    S.forEach(function(q) {
      q.hasName() || (q.dataName = "source_" + p++);
      var B = q.assemble();
      d(q, B);
    }), _.forEach(function(q) {
      q.transform.length === 0 && delete q.transform;
    });
    for (var b = 0, m = 0; m < _.length; m++) {
      var v = _[m];
      (v.transform || []).length === 0 && !v.source && _.splice(b++, 0, _.splice(m, 1)[0]);
    }
    for (var O = 0, T = _; O < T.length; O++)
      for (var v = T[O], w = 0, P = v.transform || []; w < P.length; w++) {
        var I = P[w];
        I.type === "lookup" && (I.from = E.outputNodes[I.from].getSource());
      }
    for (var L = 0, R = _; L < R.length; L++) {
      var v = R[L];
      v.name in f && (v.values = f[v.name]);
    }
    return _;
  }
  return Fc.assembleRootData = h, Fc;
}
var Lc = {}, UW;
function JJ() {
  if (UW) return Lc;
  UW = 1, Object.defineProperty(Lc, "__esModule", { value: !0 });
  var e = Pe, t = dt, r = At(), n = bt(), i = Qd();
  function o(D, x) {
    return C(D, x);
  }
  Lc.replaceRepeaterInFacet = o;
  function l(D, x) {
    return C(D, x);
  }
  Lc.replaceRepeaterInEncoding = l;
  function c(D, x) {
    if (r.isRepeatRef(D.field)) {
      if (D.field.repeat in x)
        return e.__assign({}, D, { field: x[D.field.repeat] });
      n.warn(n.message.noSuchRepeatedValue(D.field.repeat));
      return;
    }
    return D;
  }
  function g(D, x) {
    if (D = c(D, x), D !== void 0) {
      if (D.sort && i.isSortField(D.sort)) {
        var M = c(D.sort, x);
        D = e.__assign({}, D, M ? { sort: M } : {});
      }
      return D;
    }
  }
  function y(D, x) {
    if (r.isFieldDef(D)) {
      var M = g(D, x);
      if (M)
        return M;
      if (r.isConditionalDef(D))
        return { condition: D.condition };
    } else {
      if (r.hasConditionalFieldDef(D)) {
        var M = g(D.condition, x);
        if (M)
          return e.__assign({}, D, { condition: M });
        D.condition;
        var N = e.__rest(D, ["condition"]);
        return N;
      }
      return D;
    }
  }
  function C(D, x) {
    var M = {};
    for (var N in D)
      if (D.hasOwnProperty(N)) {
        var F = D[N];
        if (t.isArray(F))
          M[N] = F.map(function(A) {
            return y(A, x);
          }).filter(function(A) {
            return A;
          });
        else {
          var z = y(F, x);
          z && (M[N] = z);
        }
      }
    return M;
  }
  return Lc;
}
var qW;
function $Re() {
  if (qW) return wm;
  qW = 1, Object.defineProperty(wm, "__esModule", { value: !0 });
  var e = Pe, t = St(), r = ei(), n = At(), i = bt(), o = er(), l = Xe(), c = ti(), g = FJ(), y = E_(), C = ZJ(), D = __(), x = LJ(), M = ep(), N = jr(), F = JJ(), z = m_(), A = Zd(), u = (
    /** @class */
    function(a) {
      e.__extends(s, a);
      function s(h, E, f, S, _) {
        var d = a.call(this, h, E, f, _, S, h.resolve) || this;
        d.type = "facet", d.child = y.buildModel(h.spec, d, d.getName("child"), void 0, S, _, !1), d.children = [d.child];
        var p = F.replaceRepeaterInFacet(h.facet, S);
        return d.facet = d.initFacet(p), d;
      }
      return s.prototype.initFacet = function(h) {
        return r.reduce(h, function(E, f, S) {
          return l.contains([t.ROW, t.COLUMN], S) ? f.field === void 0 ? (i.warn(i.message.emptyFieldDef(f, S)), E) : (E[S] = n.normalize(f, S), E) : (i.warn(i.message.incompatibleChannel(S, "facet")), E);
        }, {});
      }, s.prototype.channelHasField = function(h) {
        return !!this.facet[h];
      }, s.prototype.fieldDef = function(h) {
        return this.facet[h];
      }, s.prototype.parseData = function() {
        this.component.data = D.parseData(this), this.child.parseData();
      }, s.prototype.parseLayoutSize = function() {
        M.parseChildrenLayoutSize(this);
      }, s.prototype.parseSelection = function() {
        this.child.parseSelection(), this.component.selection = this.child.component.selection;
      }, s.prototype.parseMarkGroup = function() {
        this.child.parseMarkGroup();
      }, s.prototype.parseAxisAndHeader = function() {
        this.child.parseAxisAndHeader(), this.parseHeader("column"), this.parseHeader("row"), this.mergeChildAxis("x"), this.mergeChildAxis("y");
      }, s.prototype.parseHeader = function(h) {
        if (this.channelHasField(h)) {
          var E = this.facet[h], f = E.header || {}, S = E.title !== void 0 ? E.title : f.title !== void 0 ? f.title : n.title(E, this.config);
          this.child.component.layoutHeaders[h].title && (S += " / " + this.child.component.layoutHeaders[h].title, this.child.component.layoutHeaders[h].title = null), this.component.layoutHeaders[h] = {
            title: S,
            facetFieldDef: E,
            // TODO: support adding label to footer as well
            header: [this.makeHeaderComponent(h, !0)]
          };
        }
      }, s.prototype.makeHeaderComponent = function(h, E) {
        var f = h === "row" ? "height" : "width";
        return {
          labels: E,
          sizeSignal: this.child.component.layoutSize.get(f) ? this.child.getSizeSignalRef(f) : void 0,
          axes: []
        };
      }, s.prototype.mergeChildAxis = function(h) {
        var E = this.child;
        if (E.component.axes[h]) {
          var f = this.component, S = f.layoutHeaders, _ = f.resolve;
          if (_.axis[h] = z.parseGuideResolve(_, h), _.axis[h] === "shared")
            for (var d = h === "x" ? "column" : "row", p = S[d], b = 0, m = E.component.axes[h]; b < m.length; b++) {
              var v = m[b], O = x.getHeaderType(v.get("orient"));
              p[O] = p[O] || [this.makeHeaderComponent(d, !1)];
              var T = g.assembleAxis(v, "main", this.config, { header: !0 });
              p[O][0].axes.push(T), v.mainExtracted = !0;
            }
        }
      }, s.prototype.assembleSelectionTopLevelSignals = function(h) {
        return this.child.assembleSelectionTopLevelSignals(h);
      }, s.prototype.assembleSelectionSignals = function() {
        return this.child.assembleSelectionSignals(), [];
      }, s.prototype.assembleSelectionData = function(h) {
        return this.child.assembleSelectionData(h);
      }, s.prototype.getLayoutBandMixins = function(h) {
        for (var E = {}, f = h === "header" ? "headerBand" : "footerBand", S = 0, _ = ["row", "column"]; S < _.length; S++) {
          var d = _[S], p = this.component.layoutHeaders[d], b = p[h];
          if (b && b[0]) {
            var m = d === "row" ? "height" : "width";
            this.child.component.layoutSize.get(m) || (E[f] = E[f] || {}, E[f][d] = 0.5);
          }
        }
        return E;
      }, s.prototype.assembleLayout = function() {
        var h = this.channelHasField("column") ? this.columnDistinctSignal() : 1;
        return e.__assign({ padding: { row: 10, column: 10 } }, this.getLayoutBandMixins("header"), this.getLayoutBandMixins("footer"), {
          // TODO: support offset for rowHeader/rowFooter/rowTitle/columnHeader/columnFooter/columnTitle
          offset: 10,
          columns: h,
          bounds: "full",
          align: "all"
        });
      }, s.prototype.assembleLayoutSignals = function() {
        return this.child.assembleLayoutSignals();
      }, s.prototype.columnDistinctSignal = function() {
        if (!(this.parent && this.parent instanceof s)) {
          var h = this.getName("column_domain");
          return { signal: "length(data('" + h + "'))" };
        }
      }, s.prototype.assembleGroup = function(h) {
        return this.parent && this.parent instanceof s ? e.__assign({}, this.channelHasField("column") ? {
          encode: {
            update: {
              // TODO(https://github.com/vega/vega-lite/issues/2759):
              // Correct the signal for facet of concat of facet_column
              columns: { field: n.vgField(this.facet.column, { prefix: "distinct" }) }
            }
          }
        } : {}, a.prototype.assembleGroup.call(this, h)) : a.prototype.assembleGroup.call(this, h);
      }, s.prototype.getCardinalityAggregateForChild = function() {
        var h = [], E = [];
        if (this.child instanceof s)
          this.child.channelHasField("column") && (h.push(n.vgField(this.child.facet.column)), E.push("distinct"));
        else
          for (var f = 0, S = ["x", "y"]; f < S.length; f++) {
            var _ = S[f], d = this.child.component.scales[_];
            if (d && !d.merged) {
              var p = d.get("type"), b = d.get("range");
              if (o.hasDiscreteDomain(p) && c.isVgRangeStep(b)) {
                var m = A.assembleDomain(this.child, _), v = A.getFieldFromDomain(m);
                v ? (h.push(v), E.push("distinct")) : i.warn("Unknown field for ${channel}.  Cannot calculate view size.");
              }
            }
          }
        return h.length ? { fields: h, ops: E } : void 0;
      }, s.prototype.assembleMarks = function() {
        var h = this, E = h.child, f = h.facet, S = this.component.data.facetRoot, _ = C.assembleFacetData(S), d = this.channelHasField(t.ROW), p = this.channelHasField(t.COLUMN), b = E.assembleLayoutSize(), m = {};
        d && p && (m.aggregate = { cross: !0 });
        var v = this.getCardinalityAggregateForChild();
        v && (m.aggregate = e.__assign({}, m.aggregate, v));
        var O = E.assembleTitle(), T = E.assembleGroupStyle(), w = e.__assign({ name: this.getName("cell"), type: "group" }, O ? { title: O } : {}, T ? { style: T } : {}, { from: {
          facet: e.__assign({ name: S.name, data: S.data, groupby: [].concat(d ? [this.vgField(t.ROW)] : [], p ? [this.vgField(t.COLUMN)] : []) }, m)
        }, sort: {
          field: [].concat(d ? [this.vgField(t.ROW, { expr: "datum" })] : [], p ? [this.vgField(t.COLUMN, { expr: "datum" })] : []),
          order: [].concat(d ? [f.row.sort || "ascending"] : [], p ? [f.column.sort || "ascending"] : [])
        } }, _.length > 0 ? { data: _ } : {}, b ? { encode: { update: b } } : {}, E.assembleGroup());
        return [w];
      }, s.prototype.getMapping = function() {
        return this.facet;
      }, s;
    }(N.ModelWithField)
  );
  return wm.FacetModel = u, wm;
}
var Om = {}, jc = {}, Tm = {}, zW;
function VRe() {
  if (zW) return Tm;
  zW = 1, Object.defineProperty(Tm, "__esModule", { value: !0 });
  var e = Pe, t = Xe(), r = _i();
  function n(o) {
    return o === !1 || o === null;
  }
  var i = (
    /** @class */
    function(o) {
      e.__extends(l, o);
      function l(c, g, y) {
        c === void 0 && (c = {}), g === void 0 && (g = {}), y === void 0 && (y = !1);
        var C = o.call(this) || this;
        return C.explicit = c, C.implicit = g, C.mainExtracted = y, C;
      }
      return l.prototype.clone = function() {
        return new l(t.duplicate(this.explicit), t.duplicate(this.implicit), this.mainExtracted);
      }, l.prototype.hasAxisPart = function(c) {
        return c === "axis" ? !0 : c === "grid" || c === "title" ? !!this.get(c) : !n(this.get(c));
      }, l;
    }(r.Split)
  );
  return Tm.AxisComponent = i, Tm;
}
var Cm = {}, BW;
function eee() {
  if (BW) return Cm;
  BW = 1, Object.defineProperty(Cm, "__esModule", { value: !0 });
  function e(t, r, n, i, o) {
    i === void 0 && (i = "");
    for (var l = (o === "band" ? ["axisBand"] : []).concat([
      n === "x" ? "axisX" : "axisY",
      "axis" + i.substr(0, 1).toUpperCase() + i.substr(1),
      "axis"
    ]), c = 0, g = l; c < g.length; c++) {
      var y = g[c];
      if (r[y] && r[y][t] !== void 0)
        return r[y][t];
    }
  }
  return Cm.getAxisConfig = e, Cm;
}
var ms = {}, WW;
function HRe() {
  if (WW) return ms;
  WW = 1, Object.defineProperty(ms, "__esModule", { value: !0 });
  var e = Pe, t = St(), r = At(), n = er(), i = An(), o = Xe(), l = Dn(), c = eee();
  function g(x, M, N, F) {
    var z = x.fieldDef(M) || (M === "x" ? x.fieldDef("x2") : M === "y" ? x.fieldDef("y2") : void 0), A = x.axis(M), u = x.config, a = {};
    if (r.isTimeFieldDef(z)) {
      var s = x.getScaleComponent(M).get("type") === n.ScaleType.UTC;
      a.text = {
        signal: l.timeFormatExpression("datum.value", z.timeUnit, A.format, u.axis.shortTimeLabels, u.timeFormat, s)
      };
    }
    var h = c.getAxisConfig("labelAngle", x.config, M, F, x.getScaleComponent(M).get("type"));
    if (h === void 0 && (h = C(A, M, z), h && (a.angle = { value: h })), h !== void 0) {
      var E = D(h, F);
      E && (a.align = { value: E }), a.baseline = y(h, F);
    }
    return a = e.__assign({}, a, N), o.keys(a).length === 0 ? void 0 : a;
  }
  ms.labels = g;
  function y(x, M) {
    return M === "top" || M === "bottom" ? x <= 45 || 315 <= x ? { value: M === "top" ? "bottom" : "top" } : 135 <= x && x <= 225 ? { value: M === "top" ? "top" : "bottom" } : { value: "middle" } : x <= 45 || 315 <= x || 135 <= x && x <= 225 ? { value: "middle" } : 45 <= x && x <= 135 ? { value: M === "left" ? "top" : "bottom" } : { value: M === "left" ? "bottom" : "top" };
  }
  ms.labelBaseline = y;
  function C(x, M, N) {
    if (x.labelAngle !== void 0)
      return (x.labelAngle % 360 + 360) % 360;
    if (M === t.X && o.contains([i.NOMINAL, i.ORDINAL], N.type))
      return 270;
  }
  ms.labelAngle = C;
  function D(x, M) {
    return x = (x % 360 + 360) % 360, M === "top" || M === "bottom" ? x % 180 === 0 ? "center" : 0 < x && x < 180 ? M === "top" ? "right" : "left" : M === "top" ? "left" : "right" : (x + 90) % 180 === 0 ? "center" : 90 <= x && x < 270 ? M === "left" ? "left" : "right" : M === "left" ? "right" : "left";
  }
  return ms.labelAlign = D, ms;
}
var ki = {}, $W;
function YRe() {
  if ($W) return ki;
  $W = 1, Object.defineProperty(ki, "__esModule", { value: !0 });
  var e = dt, t = Kd(), r = St(), n = lu(), i = At(), o = bt(), l = er(), c = An(), g = Xe();
  function y(A, u) {
    return !l.hasDiscreteDomain(A) && !u.bin;
  }
  ki.grid = y;
  function C(A, u) {
    var a = u === "x" ? "y" : "x";
    if (A.getScaleComponent(a))
      return A.scaleName(a);
  }
  ki.gridScale = C;
  function D(A, u, a) {
    if (a.labelFlush !== void 0)
      return a.labelFlush;
    if (u === "x" && g.contains(["quantitative", "temporal"], A.type))
      return !0;
  }
  ki.labelFlush = D;
  function x(A, u, a, s) {
    if (u.labelOverlap !== void 0)
      return u.labelOverlap;
    if (A.type !== "nominal")
      return s === "log" ? "greedy" : !0;
  }
  ki.labelOverlap = x;
  function M(A) {
    switch (A) {
      case r.X:
        return "bottom";
      case r.Y:
        return "left";
    }
    throw new Error(o.message.INVALID_CHANNEL_FOR_AXIS);
  }
  ki.orient = M;
  function N(A, u, a, s) {
    if (!l.hasDiscreteDomain(a) && a !== "log" && !g.contains(["month", "hours", "day", "quarter"], u.timeUnit))
      return u.bin ? { signal: "ceil(" + s.signal + "/20)" } : { signal: "ceil(" + s.signal + "/40)" };
  }
  ki.tickCount = N;
  function F(A, u, a) {
    var s = i.title(u, a);
    return A ? e.truncate(s, A) : s;
  }
  ki.title = F;
  function z(A, u, a) {
    var s = A.values;
    if (A.values && n.isDateTime(s[0]))
      return s.map(function(E) {
        return { signal: n.dateTimeExpr(E, !0) };
      });
    if (!s && a.bin && a.type === c.QUANTITATIVE) {
      var h = u.getName(t.binToString(a.bin) + "_" + a.field + "_bins");
      return { signal: "sequence(" + h + ".start, " + h + ".stop + " + h + ".step, " + h + ".step)" };
    }
    return s;
  }
  return ki.values = z, ki;
}
var VW;
function tee() {
  if (VW) return jc;
  VW = 1, Object.defineProperty(jc, "__esModule", { value: !0 });
  var e = aN(), t = St(), r = At(), n = Xe(), i = Dn(), o = m_(), l = _i(), c = VRe(), g = eee(), y = HRe(), C = YRe();
  function D(u) {
    return t.POSITION_SCALE_CHANNELS.reduce(function(a, s) {
      return u.component.scales[s] && u.axis(s) && (a[s] = [z(s, u)]), a;
    }, {});
  }
  jc.parseUnitAxis = D;
  var x = {
    bottom: "top",
    top: "bottom",
    left: "right",
    right: "left"
  };
  function M(u) {
    for (var a = u.component, s = a.axes, h = a.resolve, E = { top: 0, bottom: 0, right: 0, left: 0 }, f = 0, S = u.children; f < S.length; f++) {
      var _ = S[f];
      _.parseAxisAndHeader();
      for (var d = 0, p = n.keys(_.component.axes); d < p.length; d++) {
        var b = p[d];
        h.axis[b] = o.parseGuideResolve(u.component.resolve, b), h.axis[b] === "shared" && (s[b] = N(s[b], _.component.axes[b]), s[b] || (h.axis[b] = "independent", delete s[b]));
      }
    }
    for (var m = 0, v = [t.X, t.Y]; m < v.length; m++)
      for (var b = v[m], O = 0, T = u.children; O < T.length; O++) {
        var _ = T[O];
        if (_.component.axes[b]) {
          if (h.axis[b] === "independent") {
            s[b] = (s[b] || []).concat(_.component.axes[b]);
            for (var w = 0, P = _.component.axes[b]; w < P.length; w++) {
              var I = P[w], L = I.getWithExplicit("orient"), R = L.value, q = L.explicit;
              if (E[R] > 0 && !q) {
                var B = x[R];
                E[R] > E[B] && I.set("orient", B, !1);
              }
              E[R]++;
            }
          }
          delete _.component.axes[b];
        }
      }
  }
  jc.parseLayerAxis = M;
  function N(u, a) {
    if (u) {
      if (u.length !== a.length)
        return;
      for (var s = u.length, h = 0; h < s; h++) {
        var E = u[h], f = a[h];
        if (!!E != !!f)
          return;
        if (E && f) {
          var S = E.getWithExplicit("orient"), _ = f.getWithExplicit("orient");
          if (S.explicit && _.explicit && S.value !== _.value)
            return;
          u[h] = F(E, f);
        }
      }
    } else
      return a.map(function(d) {
        return d.clone();
      });
    return u;
  }
  function F(u, a) {
    for (var s = function(S) {
      var _ = l.mergeValuesWithExplicit(
        u.getWithExplicit(S),
        a.getWithExplicit(S),
        S,
        "axis",
        // Tie breaker function
        function(d, p) {
          switch (S) {
            case "title":
              return i.titleMerger(d, p);
            case "gridScale":
              return {
                explicit: d.explicit,
                value: d.value || p.value
              };
          }
          return l.defaultTieBreaker(d, p, S, "axis");
        }
      );
      u.setWithExplicit(S, _);
    }, h = 0, E = e.VG_AXIS_PROPERTIES; h < E.length; h++) {
      var f = E[h];
      s(f);
    }
    return u;
  }
  function z(u, a) {
    var s = a.axis(u), h = new c.AxisComponent();
    e.VG_AXIS_PROPERTIES.forEach(function(S) {
      var _ = A(S, s, u, a);
      if (_ !== void 0) {
        var d = (
          // specified axis.values is already respected, but may get transformed.
          S === "values" ? !!s.values : (
            // both VL axis.encoding and axis.labelAngle affect VG axis.encode
            S === "encode" ? !!s.encoding || !!s.labelAngle : _ === s[S]
          )
        ), p = g.getAxisConfig(S, a.config, u, h.get("orient"), a.getScaleComponent(u).get("type"));
        (d || p === void 0) && h.set(S, _, d);
      }
    });
    var E = s.encoding || {}, f = e.AXIS_PARTS.reduce(function(S, _) {
      if (!h.hasAxisPart(_))
        return S;
      var d = _ === "labels" ? y.labels(a, u, E.labels || {}, h.get("orient")) : E[_] || {};
      return d !== void 0 && n.keys(d).length > 0 && (S[_] = { update: d }), S;
    }, {});
    return n.keys(f).length > 0 && h.set("encode", f, !!s.encoding || s.labelAngle !== void 0), h;
  }
  function A(u, a, s, h) {
    var E = h.fieldDef(s);
    switch (u) {
      case "scale":
        return h.scaleName(s);
      case "gridScale":
        return C.gridScale(h, s);
      case "format":
        return i.numberFormat(E, a.format, h.config);
      case "grid": {
        var f = h.getScaleComponent(s).get("type");
        return i.getSpecifiedOrDefaultValue(a.grid, C.grid(f, E));
      }
      case "labelFlush":
        return C.labelFlush(E, s, a);
      case "labelOverlap": {
        var f = h.getScaleComponent(s).get("type");
        return C.labelOverlap(E, a, s, f);
      }
      case "orient":
        return i.getSpecifiedOrDefaultValue(a.orient, C.orient(s));
      case "tickCount": {
        var f = h.getScaleComponent(s).get("type"), S = s === "x" ? "width" : s === "y" ? "height" : void 0, _ = S ? h.getSizeSignalRef(S) : void 0;
        return i.getSpecifiedOrDefaultValue(a.tickCount, C.tickCount(s, E, f, _));
      }
      case "title":
        var d = s === "x" ? "x2" : "y2", p = h.fieldDef(d), b = E.title !== void 0 ? E.title : a.title === void 0 ? void 0 : a.title;
        return i.getSpecifiedOrDefaultValue(
          b,
          // If title not specified, store base parts of fieldDef (and fieldDef2 if exists)
          i.mergeTitleFieldDefs([r.toFieldDefBase(E)], p ? [r.toFieldDefBase(p)] : [])
        );
      case "values":
        return C.values(a, h, E);
    }
    return e.isAxisProperty(u) ? a[u] : void 0;
  }
  return jc;
}
var xm = {}, Am = {}, HW;
function GRe() {
  if (HW) return Am;
  HW = 1, Object.defineProperty(Am, "__esModule", { value: !0 });
  var e = Pe, t = ei(), r = At(), n = bt(), i = Hr(), o = An(), l = Xe(), c = Dn();
  function g(x, M, N) {
    var F = i.isMarkDef(x) ? e.__assign({}, x) : { type: x }, z = F.orient || c.getMarkConfig("orient", F, N);
    F.orient = D(F.type, M, z), z !== void 0 && z !== F.orient && n.warn(n.message.orientOverridden(F.orient, z));
    var A = F.opacity !== void 0 ? F.opacity : c.getMarkConfig("opacity", F, N);
    A === void 0 && (F.opacity = y(F.type, M));
    var u = F.filled;
    return u === void 0 && (F.filled = C(F, N)), F;
  }
  Am.normalizeMarkDef = g;
  function y(x, M) {
    if (l.contains([i.POINT, i.TICK, i.CIRCLE, i.SQUARE], x) && !t.isAggregate(M))
      return 0.7;
  }
  function C(x, M) {
    var N = c.getMarkConfig("filled", x, M), F = x.type;
    return N !== void 0 ? N : F !== i.POINT && F !== i.LINE && F !== i.RULE;
  }
  function D(x, M, N) {
    switch (x) {
      case i.POINT:
      case i.CIRCLE:
      case i.SQUARE:
      case i.TEXT:
      case i.RECT:
        return;
    }
    var F = M.y2, z = M.x2;
    switch (x) {
      case i.RULE:
        if (z && F)
          return;
      case i.BAR:
      case i.AREA:
        if (F)
          return "vertical";
        if (z)
          return "horizontal";
        if (x === i.RULE) {
          if (M.x && !M.y)
            return "vertical";
          if (M.y && !M.x)
            return "horizontal";
        }
      case i.LINE:
      case i.TICK:
        var A = r.isFieldDef(M.x) && r.isContinuous(M.x), u = r.isFieldDef(M.y) && r.isContinuous(M.y);
        if (A && !u)
          return x !== "tick" ? "horizontal" : "vertical";
        if (!A && u)
          return x !== "tick" ? "vertical" : "horizontal";
        if (A && u) {
          var a = M.x, s = M.y, h = a.type === o.TEMPORAL, E = s.type === o.TEMPORAL;
          return h && !E ? x !== "tick" ? "vertical" : "horizontal" : !h && E ? x !== "tick" ? "horizontal" : "vertical" : !a.aggregate && s.aggregate ? x !== "tick" ? "vertical" : "horizontal" : a.aggregate && !s.aggregate ? x !== "tick" ? "horizontal" : "vertical" : N || (x === i.LINE && M.order || n.warn(n.message.unclearOrientContinuous(x)), "vertical");
        } else {
          n.warn(n.message.unclearOrientDiscreteOrEmpty(x));
          return;
        }
    }
    return "vertical";
  }
  return Am;
}
var Du = {}, Dm = {}, YW;
function KRe() {
  if (YW) return Dm;
  YW = 1, Object.defineProperty(Dm, "__esModule", { value: !0 });
  var e = Pe, t = Fa();
  return Dm.area = {
    vgMark: "area",
    encodeEntry: function(r) {
      return e.__assign({}, t.baseEncodeEntry(r, { size: "ignore", orient: "include" }), t.pointPosition("x", r, "zeroOrMin"), t.pointPosition("y", r, "zeroOrMin"), t.pointPosition2(r, "zeroOrMin"), t.defined(r));
    }
  }, Dm;
}
var Pm = {}, GW;
function XRe() {
  if (GW) return Pm;
  GW = 1, Object.defineProperty(Pm, "__esModule", { value: !0 });
  var e = Pe, t = dt, r = St(), n = At(), i = bt(), o = er(), l = ti(), c = Fa(), g = cu();
  Pm.bar = {
    vgMark: "rect",
    encodeEntry: function(x) {
      return e.__assign({}, c.baseEncodeEntry(x, { size: "ignore", orient: "ignore" }), y(x), C(x));
    }
  };
  function y(x) {
    var M = x.config, N = x.encoding, F = x.markDef, z = x.width, A = F.orient, u = N.size, a = N.x, s = x.scaleName(r.X), h = x.getScaleComponent(r.X);
    if (A === "horizontal")
      return e.__assign({}, c.pointPosition("x", x, "zeroOrMin"), c.pointPosition2(x, "zeroOrMin"));
    if (n.isFieldDef(a)) {
      var E = h.get("type");
      if (a.bin && !u && !o.hasDiscreteDomain(E))
        return c.binnedPosition(a, "x", x.scaleName("x"), F.binSpacing === void 0 ? M.bar.binSpacing : F.binSpacing, h.get("reverse"));
      if (E === o.ScaleType.BAND)
        return c.bandPosition(a, "x", x);
    }
    return c.centeredBandPosition("x", x, e.__assign({}, g.mid(z)), D(F, s, h, M));
  }
  function C(x) {
    var M = x.config, N = x.encoding, F = x.height, z = x.markDef, A = z.orient, u = N.size, a = N.y, s = x.scaleName(r.Y), h = x.getScaleComponent(r.Y);
    if (A === "vertical")
      return e.__assign({}, c.pointPosition("y", x, "zeroOrMin"), c.pointPosition2(x, "zeroOrMin"));
    if (n.isFieldDef(a)) {
      var E = h.get("type");
      if (a.bin && !u && !o.hasDiscreteDomain(E))
        return c.binnedPosition(a, "y", x.scaleName("y"), z.binSpacing === void 0 ? M.bar.binSpacing : z.binSpacing, h.get("reverse"));
      if (E === o.ScaleType.BAND)
        return c.bandPosition(a, "y", x);
    }
    return c.centeredBandPosition("y", x, g.mid(F), D(z, s, h, M));
  }
  function D(x, M, N, F) {
    if (x.size !== void 0)
      return { value: x.size };
    if (F.bar.discreteBandSize)
      return { value: F.bar.discreteBandSize };
    if (N) {
      var z = N.get("type");
      if (z === o.ScaleType.POINT) {
        var A = N.get("range");
        if (l.isVgRangeStep(A) && t.isNumber(A.step))
          return { value: A.step - 1 };
        i.warn(i.message.BAR_WITH_POINT_SCALE_AND_RANGESTEP_NULL);
      } else return z === o.ScaleType.BAND ? g.bandRef(M) : { value: F.bar.continuousBandSize };
    } else if (F.scale.rangeStep && F.scale.rangeStep !== null)
      return { value: F.scale.rangeStep - 1 };
    return { value: 20 };
  }
  return Pm;
}
var km = {}, KW;
function QRe() {
  if (KW) return km;
  KW = 1, Object.defineProperty(km, "__esModule", { value: !0 });
  var e = Pe, t = Fa(), r = At(), n = An();
  return km.geoshape = {
    vgMark: "shape",
    encodeEntry: function(i) {
      return e.__assign({}, t.baseEncodeEntry(i, { size: "ignore", orient: "ignore" }));
    },
    postEncodingTransform: function(i) {
      var o = i.encoding, l = o.shape, c = e.__assign({ type: "geoshape", projection: i.projectionName() }, l && r.isFieldDef(l) && l.type === n.GEOJSON ? { field: r.vgField(l, { expr: "datum" }) } : {});
      return [c];
    }
  }, km;
}
var Uc = {}, XW;
function ZRe() {
  if (XW) return Uc;
  XW = 1, Object.defineProperty(Uc, "__esModule", { value: !0 });
  var e = Pe, t = Fa(), r = cu();
  return Uc.line = {
    vgMark: "line",
    encodeEntry: function(n) {
      var i = n.width, o = n.height;
      return e.__assign({}, t.baseEncodeEntry(n, { size: "ignore", orient: "ignore" }), t.pointPosition("x", n, r.mid(i)), t.pointPosition("y", n, r.mid(o)), t.nonPosition("size", n, {
        vgChannel: "strokeWidth"
        // VL's line size is strokeWidth
      }), t.defined(n));
    }
  }, Uc.trail = {
    vgMark: "trail",
    encodeEntry: function(n) {
      var i = n.width, o = n.height;
      return e.__assign({}, t.baseEncodeEntry(n, { size: "include", orient: "ignore" }), t.pointPosition("x", n, r.mid(i)), t.pointPosition("y", n, r.mid(o)), t.nonPosition("size", n), t.defined(n));
    }
  }, Uc;
}
var vs = {}, QW;
function JRe() {
  if (QW) return vs;
  QW = 1, Object.defineProperty(vs, "__esModule", { value: !0 });
  var e = Pe, t = Dn(), r = Fa(), n = cu();
  function i(l, c) {
    var g = l.config, y = l.width, C = l.height;
    return e.__assign({}, r.baseEncodeEntry(l, { size: "include", orient: "ignore" }), r.pointPosition("x", l, n.mid(y)), r.pointPosition("y", l, n.mid(C)), r.nonPosition("size", l), o(l, g, c));
  }
  function o(l, c, g) {
    return g ? { shape: { value: g } } : r.nonPosition("shape", l, { defaultValue: t.getMarkConfig("shape", l.markDef, c) });
  }
  return vs.shapeMixins = o, vs.point = {
    vgMark: "symbol",
    encodeEntry: function(l) {
      return i(l);
    }
  }, vs.circle = {
    vgMark: "symbol",
    encodeEntry: function(l) {
      return i(l, "circle");
    }
  }, vs.square = {
    vgMark: "symbol",
    encodeEntry: function(l) {
      return i(l, "square");
    }
  }, vs;
}
var Rm = {}, ZW;
function eMe() {
  if (ZW) return Rm;
  ZW = 1, Object.defineProperty(Rm, "__esModule", { value: !0 });
  var e = Pe, t = St(), r = At(), n = bt(), i = Hr(), o = er(), l = Fa();
  Rm.rect = {
    vgMark: "rect",
    encodeEntry: function(y) {
      return e.__assign({}, l.baseEncodeEntry(y, { size: "ignore", orient: "ignore" }), c(y), g(y));
    }
  };
  function c(y) {
    var C = y.encoding.x, D = y.encoding.x2, x = y.getScaleComponent(t.X), M = x ? x.get("type") : void 0;
    if (r.isFieldDef(C) && C.bin && !D)
      return l.binnedPosition(C, "x", y.scaleName("x"), 0, x.get("reverse"));
    if (r.isFieldDef(C) && x && o.hasDiscreteDomain(M)) {
      if (M === o.ScaleType.BAND)
        return l.bandPosition(C, "x", y);
      throw new Error(n.message.scaleTypeNotWorkWithMark(i.RECT, M));
    } else
      return e.__assign({}, l.pointPosition("x", y, "zeroOrMax"), l.pointPosition2(y, "zeroOrMin", "x2"));
  }
  function g(y) {
    var C = y.encoding.y, D = y.encoding.y2, x = y.getScaleComponent(t.Y), M = x ? x.get("type") : void 0;
    if (r.isFieldDef(C) && C.bin && !D)
      return l.binnedPosition(C, "y", y.scaleName("y"), 0, x.get("reverse"));
    if (r.isFieldDef(C) && x && o.hasDiscreteDomain(M)) {
      if (M === o.ScaleType.BAND)
        return l.bandPosition(C, "y", y);
      throw new Error(n.message.scaleTypeNotWorkWithMark(i.RECT, M));
    } else
      return e.__assign({}, l.pointPosition("y", y, "zeroOrMax"), l.pointPosition2(y, "zeroOrMin", "y2"));
  }
  return Rm;
}
var Mm = {}, JW;
function tMe() {
  if (JW) return Mm;
  JW = 1, Object.defineProperty(Mm, "__esModule", { value: !0 });
  var e = Pe, t = Fa(), r = cu();
  return Mm.rule = {
    vgMark: "rule",
    encodeEntry: function(n) {
      n.config;
      var i = n.markDef, o = n.width, l = n.height, c = i.orient;
      return !n.encoding.x && !n.encoding.y && !n.encoding.latitude && !n.encoding.longitude ? {} : e.__assign({}, t.baseEncodeEntry(n, { size: "ignore", orient: "ignore" }), t.pointPosition("x", n, c === "horizontal" ? "zeroOrMin" : r.mid(o)), t.pointPosition("y", n, c === "vertical" ? "zeroOrMin" : r.mid(l)), c !== "vertical" ? t.pointPosition2(n, "zeroOrMax", "x2") : {}, c !== "horizontal" ? t.pointPosition2(n, "zeroOrMax", "y2") : {}, t.nonPosition("size", n, {
        vgChannel: "strokeWidth",
        defaultValue: i.size
      }));
    }
  }, Mm;
}
var Nm = {}, e9;
function rMe() {
  if (e9) return Nm;
  e9 = 1, Object.defineProperty(Nm, "__esModule", { value: !0 });
  var e = Pe, t = St(), r = ei(), n = At(), i = An(), o = Dn(), l = Fa(), c = cu();
  Nm.text = {
    vgMark: "text",
    encodeEntry: function(C) {
      var D = C.config, x = C.encoding, M = C.height, N = C.markDef, F = x.text;
      return e.__assign({}, l.baseEncodeEntry(C, { size: "ignore", orient: "ignore" }), l.pointPosition("x", C, g(D, F)), l.pointPosition("y", C, c.mid(M)), l.text(C), l.nonPosition("size", C, e.__assign({}, N.size ? { defaultValue: N.size } : {}, {
        vgChannel: "fontSize"
        // VL's text size is fontSize
      })), l.valueIfDefined("align", y(C.markDef, x, D)));
    }
  };
  function g(C, D) {
    return n.isFieldDef(D) && D.type === i.QUANTITATIVE ? { field: { group: "width" }, offset: -5 } : { value: C.scale.textXRangeStep / 2 };
  }
  function y(C, D, x) {
    var M = C.align || o.getMarkConfig("align", C, x);
    if (M === void 0)
      return r.channelHasField(D, t.X) || r.channelHasField(D, t.LONGITUDE) ? "center" : "right";
  }
  return Nm;
}
var Im = {}, t9;
function nMe() {
  if (t9) return Im;
  t9 = 1, Object.defineProperty(Im, "__esModule", { value: !0 });
  var e = Pe, t = ti(), r = Fa(), n = cu();
  Im.tick = {
    vgMark: "rect",
    encodeEntry: function(o) {
      var l = o.config, c = o.markDef, g = o.width, y = o.height, C = c.orient, D = C === "horizontal" ? "width" : "height", x = C === "horizontal" ? "height" : "width";
      return e.__assign({}, r.baseEncodeEntry(o, { size: "ignore", orient: "ignore" }), r.pointPosition("x", o, n.mid(g), "xc"), r.pointPosition("y", o, n.mid(y), "yc"), r.nonPosition("size", o, {
        defaultValue: i(o),
        vgChannel: D
      }), (M = {}, M[x] = { value: l.tick.thickness }, M));
      var M;
    }
  };
  function i(o) {
    var l = o.config, c = o.markDef, g = c.orient, y = o.getScaleComponent(g === "horizontal" ? "x" : "y");
    if (c.size !== void 0)
      return c.size;
    if (l.tick.bandSize !== void 0)
      return l.tick.bandSize;
    var C = y ? y.get("range") : void 0, D = C && t.isVgRangeStep(C) ? C.step : l.scale.rangeStep;
    if (typeof D != "number")
      throw new Error("Function does not handle non-numeric rangeStep");
    return D / 1.5;
  }
  return Im;
}
var r9;
function iMe() {
  if (r9) return Du;
  r9 = 1, Object.defineProperty(Du, "__esModule", { value: !0 });
  var e = Pe, t = dt, r = rs(), n = ei(), i = At(), o = Hr(), l = Qd(), c = Xe(), g = Dn(), y = KRe(), C = XRe(), D = QRe(), x = ZRe(), M = JRe(), N = eMe(), F = tMe(), z = rMe(), A = nMe(), u = {
    area: y.area,
    bar: C.bar,
    circle: M.circle,
    geoshape: D.geoshape,
    line: x.line,
    point: M.point,
    rect: N.rect,
    rule: F.rule,
    square: M.square,
    text: z.text,
    tick: A.tick,
    trail: x.trail
  };
  function a(d) {
    return c.contains([o.LINE, o.AREA, o.TRAIL], d.mark) ? h(d) : f(d);
  }
  Du.parseMarkGroup = a;
  var s = "faceted_path_";
  function h(d) {
    var p = S(d.mark, d.encoding), b = f(d, {
      // If has subfacet for line/area group, need to use faceted data from below.
      fromPrefix: p.length > 0 ? s : ""
    });
    return p.length > 0 ? [{
      name: d.getName("pathgroup"),
      type: "group",
      from: {
        facet: {
          name: s + d.requestDataName(r.MAIN),
          data: d.requestDataName(r.MAIN),
          groupby: p
        }
      },
      encode: {
        update: {
          width: { field: { group: "width" } },
          height: { field: { group: "height" } }
        }
      },
      marks: b
    }] : b;
  }
  function E(d) {
    if (d.channelHasField("order") && !d.stack)
      return g.sortParams(d.encoding.order, { expr: "datum" });
    if (o.isPathMark(d.mark)) {
      var p = d.markDef.orient === "horizontal" ? "y" : "x", b = d.sort(p), m = l.isSortField(b) ? i.vgField({
        // FIXME: this op might not already exist?
        // FIXME: what if dimensionChannel (x or y) contains custom domain?
        aggregate: n.isAggregate(d.encoding) ? b.op : void 0,
        field: b.field
      }, { expr: "datum" }) : d.vgField(p, {
        // For stack with imputation, we only have bin_mid
        binSuffix: d.stack && d.stack.impute ? "mid" : void 0,
        expr: "datum"
      });
      return m ? {
        field: m,
        order: "descending"
      } : void 0;
    }
  }
  Du.getSort = E;
  function f(d, p) {
    p === void 0 && (p = { fromPrefix: "" });
    var b = d.mark, m = d.markDef.clip !== void 0 ? !!d.markDef.clip : _(d), v = g.getStyles(d.markDef), O = d.encoding.key, T = E(d), w = u[b].postEncodingTransform ? u[b].postEncodingTransform(d) : null;
    return [e.__assign({ name: d.getName("marks"), type: u[b].vgMark }, m ? { clip: !0 } : {}, v ? { style: v } : {}, O ? { key: { field: O.field } } : {}, T ? { sort: T } : {}, { from: { data: p.fromPrefix + d.requestDataName(r.MAIN) }, encode: {
      update: u[b].encodeEntry(d)
    } }, w ? {
      transform: w
    } : {})];
  }
  function S(d, p) {
    return c.keys(p).reduce(function(b, m) {
      switch (m) {
        case "x":
        case "y":
        case "order":
        case "tooltip":
        case "href":
        case "x2":
        case "y2":
        case "latitude":
        case "longitude":
        case "latitude2":
        case "longitude2":
        case "text":
        case "shape":
          return b;
        case "detail":
        case "key":
          var v = p[m];
          return v && (t.isArray(v) ? v : [v]).forEach(function(T) {
            T.aggregate || b.push(i.vgField(T, {}));
          }), b;
        case "size":
          if (d === "trail")
            return b;
        case "color":
        case "fill":
        case "stroke":
        case "opacity":
          var O = i.getFieldDef(p[m]);
          return O && !O.aggregate && b.push(i.vgField(O, {})), b;
        default:
          throw new Error("Bug: Channel " + m + " unimplemented for line mark");
      }
    }, []);
  }
  Du.pathGroupingFields = S;
  function _(d) {
    var p = d.getScaleComponent("x"), b = d.getScaleComponent("y");
    return !!(p && p.get("domainRaw") || b && b.get("domainRaw"));
  }
  return Du;
}
var n9;
function ree() {
  if (n9) return xm;
  n9 = 1, Object.defineProperty(xm, "__esModule", { value: !0 });
  var e = Pe, t = St(), r = ei(), n = ei(), i = At(), o = Hr(), l = uN(), c = Xe(), g = tee(), y = __(), C = h_(), D = ep(), x = GRe(), M = iMe(), N = jr(), F = JJ(), z = cn(), A = (
    /** @class */
    function(u) {
      e.__extends(a, u);
      function a(s, h, E, f, S, _, d) {
        f === void 0 && (f = {});
        var p = u.call(this, s, h, E, _, S, void 0) || this;
        p.fit = d, p.type = "unit", p.specifiedScales = {}, p.specifiedAxes = {}, p.specifiedLegends = {}, p.specifiedProjection = {}, p.selection = {}, p.children = [], p.initSize(e.__assign({}, f, s.width ? { width: s.width } : {}, s.height ? { height: s.height } : {}));
        var b = o.isMarkDef(s.mark) ? s.mark.type : s.mark, m = p.encoding = n.normalizeEncoding(F.replaceRepeaterInEncoding(s.encoding || {}, S), b);
        return p.markDef = x.normalizeMarkDef(s.mark, m, _), p.stack = l.stack(b, m, p.config.stack), p.specifiedScales = p.initScales(b, m), p.specifiedAxes = p.initAxes(m), p.specifiedLegends = p.initLegend(m), p.specifiedProjection = s.projection, p.selection = s.selection, p;
      }
      return a.prototype.scaleDomain = function(s) {
        var h = this.specifiedScales[s];
        return h ? h.domain : void 0;
      }, a.prototype.sort = function(s) {
        return (this.getMapping()[s] || {}).sort;
      }, a.prototype.axis = function(s) {
        return this.specifiedAxes[s];
      }, a.prototype.legend = function(s) {
        return this.specifiedLegends[s];
      }, a.prototype.initScales = function(s, h) {
        return t.SCALE_CHANNELS.reduce(function(E, f) {
          var S, _, d = h[f];
          return i.isFieldDef(d) ? (S = d, _ = d.scale) : i.hasConditionalFieldDef(d) ? (S = d.condition, _ = d.condition.scale) : f === "x" ? S = i.getFieldDef(h.x2) : f === "y" && (S = i.getFieldDef(h.y2)), S && (E[f] = _ || {}), E;
        }, {});
      }, a.prototype.initAxes = function(s) {
        return [t.X, t.Y].reduce(function(h, E) {
          var f = s[E];
          if (i.isFieldDef(f) || E === t.X && i.isFieldDef(s.x2) || E === t.Y && i.isFieldDef(s.y2)) {
            var S = i.isFieldDef(f) ? f.axis : null;
            S !== null && S !== !1 && (h[E] = e.__assign({}, S));
          }
          return h;
        }, {});
      }, a.prototype.initLegend = function(s) {
        return t.NONPOSITION_SCALE_CHANNELS.reduce(function(h, E) {
          var f = s[E];
          if (f) {
            var S = i.isFieldDef(f) ? f.legend : i.hasConditionalFieldDef(f) ? f.condition.legend : null;
            S !== null && S !== !1 && (h[E] = e.__assign({}, S));
          }
          return h;
        }, {});
      }, a.prototype.parseData = function() {
        this.component.data = y.parseData(this);
      }, a.prototype.parseLayoutSize = function() {
        D.parseUnitLayoutSize(this);
      }, a.prototype.parseSelection = function() {
        this.component.selection = z.parseUnitSelection(this, this.selection);
      }, a.prototype.parseMarkGroup = function() {
        this.component.mark = M.parseMarkGroup(this);
      }, a.prototype.parseAxisAndHeader = function() {
        this.component.axes = g.parseUnitAxis(this);
      }, a.prototype.assembleSelectionTopLevelSignals = function(s) {
        return z.assembleTopLevelSignals(this, s);
      }, a.prototype.assembleSelectionSignals = function() {
        return z.assembleUnitSelectionSignals(this, []);
      }, a.prototype.assembleSelectionData = function(s) {
        return z.assembleUnitSelectionData(this, s);
      }, a.prototype.assembleLayout = function() {
        return null;
      }, a.prototype.assembleLayoutSignals = function() {
        return C.assembleLayoutSignals(this);
      }, a.prototype.assembleMarks = function() {
        var s = this.component.mark || [];
        return (!this.parent || !N.isLayerModel(this.parent)) && (s = z.assembleUnitSelectionMarks(this, s)), s.map(this.correctDataNames);
      }, a.prototype.assembleLayoutSize = function() {
        return {
          width: this.getSizeSignalRef("width"),
          height: this.getSizeSignalRef("height")
        };
      }, a.prototype.getMapping = function() {
        return this.encoding;
      }, a.prototype.toSpec = function(s, h) {
        var E = c.duplicate(this.encoding), f;
        return f = {
          mark: this.markDef,
          encoding: E
        }, s || (f.config = c.duplicate(this.config)), h || (f.data = c.duplicate(this.data)), f;
      }, Object.defineProperty(a.prototype, "mark", {
        get: function() {
          return this.markDef.type;
        },
        enumerable: !0,
        configurable: !0
      }), a.prototype.channelHasField = function(s) {
        return r.channelHasField(this.encoding, s);
      }, a.prototype.fieldDef = function(s) {
        var h = this.encoding[s];
        return i.getFieldDef(h);
      }, a;
    }(N.ModelWithField)
  );
  return xm.UnitModel = A, xm;
}
var i9;
function aMe() {
  if (i9) return Om;
  i9 = 1, Object.defineProperty(Om, "__esModule", { value: !0 });
  var e = Pe, t = bt(), r = Vl(), n = Xe(), i = tee(), o = __(), l = h_(), c = ep(), g = UJ(), y = jr(), C = cn(), D = ree(), x = (
    /** @class */
    function(M) {
      e.__extends(N, M);
      function N(F, z, A, u, a, s, h) {
        var E = M.call(this, F, z, A, s, a, F.resolve) || this;
        E.type = "layer";
        var f = e.__assign({}, u, F.width ? { width: F.width } : {}, F.height ? { height: F.height } : {});
        return E.initSize(f), E.children = F.layer.map(function(S, _) {
          if (r.isLayerSpec(S))
            return new N(S, E, E.getName("layer_" + _), f, a, s, h);
          if (r.isUnitSpec(S))
            return new D.UnitModel(S, E, E.getName("layer_" + _), f, a, s, h);
          throw new Error(t.message.INVALID_SPEC);
        }), E;
      }
      return N.prototype.parseData = function() {
        this.component.data = o.parseData(this);
        for (var F = 0, z = this.children; F < z.length; F++) {
          var A = z[F];
          A.parseData();
        }
      }, N.prototype.parseLayoutSize = function() {
        c.parseLayerLayoutSize(this);
      }, N.prototype.parseSelection = function() {
        var F = this;
        this.component.selection = {};
        for (var z = function(s) {
          s.parseSelection(), n.keys(s.component.selection).forEach(function(h) {
            F.component.selection[h] = s.component.selection[h];
          });
        }, A = 0, u = this.children; A < u.length; A++) {
          var a = u[A];
          z(a);
        }
      }, N.prototype.parseMarkGroup = function() {
        for (var F = 0, z = this.children; F < z.length; F++) {
          var A = z[F];
          A.parseMarkGroup();
        }
      }, N.prototype.parseAxisAndHeader = function() {
        i.parseLayerAxis(this);
      }, N.prototype.assembleSelectionTopLevelSignals = function(F) {
        return this.children.reduce(function(z, A) {
          return A.assembleSelectionTopLevelSignals(z);
        }, F);
      }, N.prototype.assembleSelectionSignals = function() {
        return this.children.reduce(function(F, z) {
          return F.concat(z.assembleSelectionSignals());
        }, []);
      }, N.prototype.assembleLayoutSignals = function() {
        return this.children.reduce(function(F, z) {
          return F.concat(z.assembleLayoutSignals());
        }, l.assembleLayoutSignals(this));
      }, N.prototype.assembleSelectionData = function(F) {
        return this.children.reduce(function(z, A) {
          return A.assembleSelectionData(z);
        }, F);
      }, N.prototype.assembleTitle = function() {
        var F = M.prototype.assembleTitle.call(this);
        if (F)
          return F;
        for (var z = 0, A = this.children; z < A.length; z++) {
          var u = A[z];
          if (F = u.assembleTitle(), F)
            return F;
        }
      }, N.prototype.assembleLayout = function() {
        return null;
      }, N.prototype.assembleMarks = function() {
        return C.assembleLayerSelectionMarks(this, n.flatten(this.children.map(function(F) {
          return F.assembleMarks();
        })));
      }, N.prototype.assembleLegends = function() {
        return this.children.reduce(function(F, z) {
          return F.concat(z.assembleLegends());
        }, g.assembleLegends(this));
      }, N;
    }(y.Model)
  );
  return Om.LayerModel = x, Om;
}
var Fm = {}, a9;
function oMe() {
  if (a9) return Fm;
  a9 = 1, Object.defineProperty(Fm, "__esModule", { value: !0 });
  var e = Pe, t = bt(), r = QJ(), n = E_(), i = ep(), o = (
    /** @class */
    function(l) {
      e.__extends(c, l);
      function c(g, y, C, D, x) {
        var M = l.call(this, g, y, C, x, D, g.resolve) || this;
        return M.type = "repeat", g.resolve && g.resolve.axis && (g.resolve.axis.x === "shared" || g.resolve.axis.y === "shared") && t.warn(t.message.REPEAT_CANNOT_SHARE_AXIS), M.repeat = g.repeat, M.children = M._initChildren(g, M.repeat, D, x), M;
      }
      return c.prototype._initChildren = function(g, y, C, D) {
        for (var x = [], M = y.row || [C ? C.row : null], N = y.column || [C ? C.column : null], F = 0, z = M; F < z.length; F++)
          for (var A = z[F], u = 0, a = N; u < a.length; u++) {
            var s = a[u], h = (A ? "_" + A : "") + (s ? "_" + s : ""), E = {
              row: A,
              column: s
            };
            x.push(n.buildModel(g.spec, this, this.getName("child" + h), void 0, E, D, !1));
          }
        return x;
      }, c.prototype.parseLayoutSize = function() {
        i.parseRepeatLayoutSize(this);
      }, c.prototype.assembleLayout = function() {
        return {
          padding: { row: 10, column: 10 },
          offset: 10,
          columns: this.repeat && this.repeat.column ? this.repeat.column.length : 1,
          bounds: "full",
          align: "all"
        };
      }, c;
    }(r.BaseConcatModel)
  );
  return Fm.RepeatModel = o, Fm;
}
var o9;
function E_() {
  if (o9) return Hh;
  o9 = 1, Object.defineProperty(Hh, "__esModule", { value: !0 });
  var e = bt(), t = Vl(), r = WRe(), n = $Re(), i = aMe(), o = oMe(), l = ree();
  function c(g, y, C, D, x, M, N) {
    if (t.isFacetSpec(g))
      return new n.FacetModel(g, y, C, x, M);
    if (t.isLayerSpec(g))
      return new i.LayerModel(g, y, C, D, x, M, N);
    if (t.isUnitSpec(g))
      return new l.UnitModel(g, y, C, D, x, M, N);
    if (t.isRepeatSpec(g))
      return new o.RepeatModel(g, y, C, x, M);
    if (t.isConcatSpec(g))
      return new r.ConcatModel(g, y, C, x, M);
    throw new Error(e.message.INVALID_SPEC);
  }
  return Hh.buildModel = c, Hh;
}
var s9;
function sMe() {
  if (s9) return Wh;
  s9 = 1, Object.defineProperty(Wh, "__esModule", { value: !0 });
  var e = Pe, t = DJ(), r = At(), n = bt(), i = Vl(), o = fRe(), l = Xe(), c = E_(), g = ZJ(), y = qJ();
  function C(M, N) {
    N === void 0 && (N = {}), N.logger && n.set(N.logger), N.fieldTitle && r.setTitleFormatter(N.fieldTitle);
    try {
      var F = t.initConfig(l.mergeDeep({}, N.config, M.config)), z = i.normalize(M, F), A = o.normalizeAutoSize(M.autosize, F.autosize, i.isLayerSpec(z) || i.isUnitSpec(z)), u = c.buildModel(z, null, "", void 0, void 0, F, A.type === "fit");
      return u.parse(), y.optimizeDataflow(u.component.data), x(u, D(M, F, A));
    } finally {
      N.logger && n.reset(), N.fieldTitle && r.resetTitleFormatter();
    }
  }
  Wh.compile = C;
  function D(M, N, F) {
    return e.__assign({ autosize: l.keys(F).length === 1 && F.type ? F.type : F }, o.extractTopLevelProperties(N), o.extractTopLevelProperties(M));
  }
  function x(M, N) {
    var F = M.config ? t.stripAndRedirectConfig(M.config) : void 0, z = [].concat(
      M.assembleSelectionData([]),
      // only assemble data in the root
      g.assembleRootData(M.component.data, N.datasets || {})
    );
    delete N.datasets;
    var A = M.assembleProjections(), u = M.assembleTitle(), a = M.assembleGroupStyle(), s = M.assembleLayoutSignals();
    s = s.filter(function(E) {
      return (E.name === "width" || E.name === "height") && E.value !== void 0 ? (N[E.name] = +E.value, !1) : !0;
    });
    var h = e.__assign({ $schema: "https://vega.github.io/schema/vega/v3.0.json" }, M.description ? { description: M.description } : {}, N, u ? { title: u } : {}, a ? { style: a } : {}, { data: z }, A.length > 0 ? { projections: A } : {}, M.assembleGroup(s.concat(M.assembleSelectionTopLevelSignals([]))), F ? { config: F } : {});
    return {
      spec: h
      // TODO: add warning / errors here
    };
  }
  return Wh;
}
var $x = {}, u9;
function uMe() {
  return u9 || (u9 = 1, Object.defineProperty($x, "__esModule", { value: !0 })), $x;
}
var Vx = {}, l9;
function lMe() {
  return l9 || (l9 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = dt, r = Hr(), n = Hr();
    e.DEFAULT_REQUIRED_CHANNEL_MAP = {
      text: ["text"],
      line: ["x", "y"],
      trail: ["x", "y"],
      area: ["x", "y"]
    }, e.DEFAULT_SUPPORTED_CHANNEL_TYPE = {
      bar: t.toSet(["row", "column", "x", "y", "size", "color", "fill", "stroke", "detail"]),
      line: t.toSet(["row", "column", "x", "y", "color", "fill", "stroke", "color", "detail"]),
      trail: t.toSet(["row", "column", "x", "y", "color", "fill", "stroke", "color", "detail", "size"]),
      area: t.toSet(["row", "column", "x", "y", "color", "fill", "stroke", "detail"]),
      tick: t.toSet(["row", "column", "x", "y", "color", "fill", "stroke", "detail"]),
      circle: t.toSet(["row", "column", "x", "y", "color", "fill", "stroke", "size", "detail"]),
      square: t.toSet(["row", "column", "x", "y", "color", "fill", "stroke", "size", "detail"]),
      point: t.toSet(["row", "column", "x", "y", "color", "fill", "stroke", "size", "detail", "shape"]),
      geoshape: t.toSet(["row", "column", "color", "fill", "stroke", "detail", "shape"]),
      text: t.toSet(["row", "column", "size", "color", "fill", "stroke", "text"])
      // TODO(#724) revise
    };
    function i(o, l, c) {
      l === void 0 && (l = e.DEFAULT_REQUIRED_CHANNEL_MAP), c === void 0 && (c = e.DEFAULT_SUPPORTED_CHANNEL_TYPE);
      var g = r.isMarkDef(o.mark) ? o.mark.type : o.mark, y = o.encoding, C = l[g], D = c[g];
      for (var x in C)
        if (!(C[x] in y))
          return 'Missing encoding channel "' + C[x] + '" for mark "' + g + '"';
      for (var M in y)
        if (!D[M])
          return 'Encoding channel "' + M + '" is not supported by mark type "' + g + '"';
      return g === n.BAR && !y.x && !y.y ? "Missing both x and y for bar" : null;
    }
    e.getEncodingMappingError = i;
  }(Vx)), Vx;
}
const cMe = "vega-lite", fMe = 'Jeffrey Heer, Dominik Moritz, Kanit "Ham" Wongsuphasawat', dMe = "2.4.0", pMe = [
  "Kanit Wongsuphasawat <kanitw@gmail.com> (http://kanitw.yellowpigz.com)",
  "Dominik Moritz <domoritz@cs.washington.edu> (https://www.domoritz.de)",
  "Jeffrey Heer <jheer@uw.edu> (http://jheer.org)"
], hMe = "https://vega.github.io/vega-lite/", mMe = "Vega-Lite is a concise high-level language for interactive visualization.", vMe = "build/vega-lite.js", gMe = "build/vega-lite.min.js", yMe = "build/vega-lite.min.js", bMe = "build/src/index", _Me = "build/src/index.d.ts", EMe = {
  vl2png: "./bin/vl2png",
  vl2svg: "./bin/vl2svg",
  vl2vg: "./bin/vl2vg"
}, SMe = {
  test: "test"
}, wMe = {
  prebuild: "mkdir -p build/src",
  build: "npm run build:only",
  "build:only": "tsc && cp package.json build/src/ && rollup -c",
  postbuild: "uglifyjs build/vega-lite.js -cm --source-map content=build/vega-lite.js.map,filename=build/vega-lite.min.js.map -o build/vega-lite.min.js && npm run schema",
  "build:examples": "npm run data && TZ=America/Los_Angeles scripts/build-examples.sh",
  "build:examples-full": "TZ=America/Los_Angeles scripts/build-examples.sh 1",
  "build:example": "TZ=America/Los_Angeles scripts/build-example.sh",
  "build:toc": "bundle exec jekyll build -q && scripts/generate-toc",
  "build:site": "tsc -p site && webpack --config site/webpack.config.js",
  "build:versions": "scripts/update-version.sh",
  "check:examples": "scripts/check-examples.sh",
  "check:schema": "scripts/check-schema.sh",
  clean: "rm -rf build && rm -f examples/compiled/*.png && find site/examples ! -name 'index.md' -type f -delete",
  data: "rsync -r node_modules/vega-datasets/data/* data",
  deploy: "scripts/deploy.sh",
  "deploy:gh": "scripts/deploy-gh.sh",
  "deploy:schema": "scripts/deploy-schema.sh",
  preschema: "npm run prebuild",
  schema: "ts-json-schema-generator --path tsconfig.json --type TopLevelSpec > build/vega-lite-schema.json && npm run renameschema && cp build/vega-lite-schema.json _data/",
  renameschema: "scripts/rename-schema.sh",
  presite: "npm run prebuild && npm run data && npm run build:site && npm run build:toc && npm run build:versions && scripts/create-example-pages",
  site: "bundle exec jekyll serve --incremental",
  lint: "tslint -p .",
  test: "npm run lint && jest test/ && npm run schema && jest examples/ && npm run test:runtime",
  "test:runtime": `TZ=America/Los_Angeles TS_NODE_COMPILER_OPTIONS='{"module":"commonjs"}' wdio wdio.conf.js`,
  "test:runtime:generate": "rm -Rf test-runtime/resources && VL_GENERATE_TESTS=true npm run test:runtime",
  "watch:build": "npm run build:only && concurrently --kill-others -n Typescript,Rollup 'tsc -w' 'rollup -c -w'",
  "watch:test": "jest --watch"
}, OMe = {
  type: "git",
  url: "https://github.com/vega/vega-lite.git"
}, TMe = "BSD-3-Clause", CMe = {
  url: "https://github.com/vega/vega-lite/issues"
}, xMe = {
  "@types/chai": "^4.1.3",
  "@types/d3": "^4.13.0",
  "@types/highlight.js": "^9.12.2",
  "@types/mkdirp": "^0.5.2",
  "@types/mocha": "^5.2.0",
  "@types/node": "^9.6.6",
  "@types/webdriverio": "^4.10.1",
  ajv: "^6.4.0",
  chai: "^4.1.2",
  cheerio: "^1.0.0-rc.2",
  chromedriver: "^2.38.0",
  codecov: "^3.0.0",
  concurrently: "^3.5.1",
  d3: "^4.13.0",
  "highlight.js": "^9.12.0",
  jest: "^22.4.3",
  mkdirp: "^0.5.1",
  rollup: "^0.58.2",
  "rollup-plugin-commonjs": "^9.1.0",
  "rollup-plugin-json": "^2.3.0",
  "rollup-plugin-node-resolve": "^3.3.0",
  "source-map-support": "^0.5.4",
  "svg2png-many": "^0.0.7",
  "ts-jest": "^22.4.4",
  "ts-json-schema-generator": "^0.24.6",
  "ts-node": "^6.0.0",
  tslint: "5.9.1",
  "tslint-eslint-rules": "^5.1.0",
  typescript: "^2.8.3",
  "uglify-js": "^3.3.22",
  vega: "^3.3.1",
  "vega-datasets": "^1.18.0",
  "vega-embed": "^3.7.1",
  "vega-tooltip": "^0.9.12",
  "wdio-chromedriver-service": "^0.1.3",
  "wdio-dot-reporter": "0.0.9",
  "wdio-mocha-framework": "^0.5.13",
  "wdio-static-server-service": "^1.0.1",
  webdriverio: "^4.12.0",
  webpack: "^4.6.0",
  "webpack-cli": "^2.0.15",
  "yaml-front-matter": "^4.0.0"
}, AMe = {
  "@types/json-stable-stringify": "^1.0.32",
  "json-stable-stringify": "^1.0.1",
  tslib: "^1.9.0",
  "vega-event-selector": "^2.0.0",
  "vega-typings": "^0.2.15",
  "vega-util": "^1.7.0",
  yargs: "^11.0.0"
}, DMe = {
  transform: {
    "^.+\\.tsx?$": "ts-jest"
  },
  testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
  moduleFileExtensions: [
    "ts",
    "tsx",
    "js",
    "jsx",
    "json",
    "node"
  ],
  testPathIgnorePatterns: [
    "node_modules",
    "test-runtime",
    "<rootDir>/build",
    "_site",
    "src"
  ],
  coverageDirectory: "./coverage/",
  collectCoverage: !1
}, PMe = {
  name: cMe,
  author: fMe,
  version: dMe,
  collaborators: pMe,
  homepage: hMe,
  description: mMe,
  main: vMe,
  unpkg: gMe,
  jsdelivr: yMe,
  module: bMe,
  types: _Me,
  bin: EMe,
  directories: SMe,
  scripts: wMe,
  repository: OMe,
  license: TMe,
  bugs: CMe,
  devDependencies: xMe,
  dependencies: AMe,
  jest: DMe
};
var c9;
function kMe() {
  if (c9) return Zt;
  c9 = 1, Object.defineProperty(Zt, "__esModule", { value: !0 });
  var e = Gd();
  Zt.aggregate = e;
  var t = aN();
  Zt.axis = t;
  var r = Kd();
  Zt.bin = r;
  var n = St();
  Zt.channel = n;
  var i = Gg();
  Zt.compositeMark = i;
  var o = sMe();
  Zt.compile = o.compile;
  var l = DJ();
  Zt.config = l;
  var c = rs();
  Zt.data = c;
  var g = lu();
  Zt.datetime = g;
  var y = ei();
  Zt.encoding = y;
  var C = uMe();
  Zt.facet = C;
  var D = At();
  Zt.fieldDef = D;
  var x = oN();
  Zt.legend = x;
  var M = Hr();
  Zt.mark = M;
  var N = er();
  Zt.scale = N;
  var F = Qd();
  Zt.sort = F;
  var z = Vl();
  Zt.spec = z;
  var A = uN();
  Zt.stack = A;
  var u = Xd();
  Zt.timeUnit = u;
  var a = p_();
  Zt.transform = a;
  var s = An();
  Zt.type = s;
  var h = Xe();
  Zt.util = h;
  var E = lMe();
  Zt.validate = E;
  var f = PMe;
  return Zt.version = f.version, Zt;
}
var qc = {}, UD = "http://www.w3.org/1999/xhtml";
const qD = {
  svg: "http://www.w3.org/2000/svg",
  xhtml: UD,
  xlink: "http://www.w3.org/1999/xlink",
  xml: "http://www.w3.org/XML/1998/namespace",
  xmlns: "http://www.w3.org/2000/xmlns/"
};
function gN(e) {
  var t = e += "", r = t.indexOf(":");
  return r >= 0 && (t = e.slice(0, r)) !== "xmlns" && (e = e.slice(r + 1)), qD.hasOwnProperty(t) ? { space: qD[t], local: e } : e;
}
function RMe(e) {
  return function() {
    var t = this.ownerDocument, r = this.namespaceURI;
    return r === UD && t.documentElement.namespaceURI === UD ? t.createElement(e) : t.createElementNS(r, e);
  };
}
function MMe(e) {
  return function() {
    return this.ownerDocument.createElementNS(e.space, e.local);
  };
}
function S_(e) {
  var t = gN(e);
  return (t.local ? MMe : RMe)(t);
}
function NMe() {
}
function yN(e) {
  return e == null ? NMe : function() {
    return this.querySelector(e);
  };
}
function IMe(e) {
  typeof e != "function" && (e = yN(e));
  for (var t = this._groups, r = t.length, n = new Array(r), i = 0; i < r; ++i)
    for (var o = t[i], l = o.length, c = n[i] = new Array(l), g, y, C = 0; C < l; ++C)
      (g = o[C]) && (y = e.call(g, g.__data__, C, o)) && ("__data__" in g && (y.__data__ = g.__data__), c[C] = y);
  return new wn(n, this._parents);
}
function FMe() {
  return [];
}
function nee(e) {
  return e == null ? FMe : function() {
    return this.querySelectorAll(e);
  };
}
function LMe(e) {
  typeof e != "function" && (e = nee(e));
  for (var t = this._groups, r = t.length, n = [], i = [], o = 0; o < r; ++o)
    for (var l = t[o], c = l.length, g, y = 0; y < c; ++y)
      (g = l[y]) && (n.push(e.call(g, g.__data__, y, l)), i.push(g));
  return new wn(n, i);
}
function iee(e) {
  return function() {
    return this.matches(e);
  };
}
function jMe(e) {
  typeof e != "function" && (e = iee(e));
  for (var t = this._groups, r = t.length, n = new Array(r), i = 0; i < r; ++i)
    for (var o = t[i], l = o.length, c = n[i] = [], g, y = 0; y < l; ++y)
      (g = o[y]) && e.call(g, g.__data__, y, o) && c.push(g);
  return new wn(n, this._parents);
}
function aee(e) {
  return new Array(e.length);
}
function UMe() {
  return new wn(this._enter || this._groups.map(aee), this._parents);
}
function Qg(e, t) {
  this.ownerDocument = e.ownerDocument, this.namespaceURI = e.namespaceURI, this._next = null, this._parent = e, this.__data__ = t;
}
Qg.prototype = {
  constructor: Qg,
  appendChild: function(e) {
    return this._parent.insertBefore(e, this._next);
  },
  insertBefore: function(e, t) {
    return this._parent.insertBefore(e, t);
  },
  querySelector: function(e) {
    return this._parent.querySelector(e);
  },
  querySelectorAll: function(e) {
    return this._parent.querySelectorAll(e);
  }
};
function qMe(e) {
  return function() {
    return e;
  };
}
var f9 = "$";
function zMe(e, t, r, n, i, o) {
  for (var l = 0, c, g = t.length, y = o.length; l < y; ++l)
    (c = t[l]) ? (c.__data__ = o[l], n[l] = c) : r[l] = new Qg(e, o[l]);
  for (; l < g; ++l)
    (c = t[l]) && (i[l] = c);
}
function BMe(e, t, r, n, i, o, l) {
  var c, g, y = {}, C = t.length, D = o.length, x = new Array(C), M;
  for (c = 0; c < C; ++c)
    (g = t[c]) && (x[c] = M = f9 + l.call(g, g.__data__, c, t), M in y ? i[c] = g : y[M] = g);
  for (c = 0; c < D; ++c)
    M = f9 + l.call(e, o[c], c, o), (g = y[M]) ? (n[c] = g, g.__data__ = o[c], y[M] = null) : r[c] = new Qg(e, o[c]);
  for (c = 0; c < C; ++c)
    (g = t[c]) && y[x[c]] === g && (i[c] = g);
}
function WMe(e, t) {
  if (!e)
    return M = new Array(this.size()), y = -1, this.each(function(E) {
      M[++y] = E;
    }), M;
  var r = t ? BMe : zMe, n = this._parents, i = this._groups;
  typeof e != "function" && (e = qMe(e));
  for (var o = i.length, l = new Array(o), c = new Array(o), g = new Array(o), y = 0; y < o; ++y) {
    var C = n[y], D = i[y], x = D.length, M = e.call(C, C && C.__data__, y, n), N = M.length, F = c[y] = new Array(N), z = l[y] = new Array(N), A = g[y] = new Array(x);
    r(C, D, F, z, A, M, t);
    for (var u = 0, a = 0, s, h; u < N; ++u)
      if (s = F[u]) {
        for (u >= a && (a = u + 1); !(h = z[a]) && ++a < N; ) ;
        s._next = h || null;
      }
  }
  return l = new wn(l, n), l._enter = c, l._exit = g, l;
}
function $Me() {
  return new wn(this._exit || this._groups.map(aee), this._parents);
}
function VMe(e, t, r) {
  var n = this.enter(), i = this, o = this.exit();
  return n = typeof e == "function" ? e(n) : n.append(e + ""), t != null && (i = t(i)), r == null ? o.remove() : r(o), n && i ? n.merge(i).order() : i;
}
function HMe(e) {
  for (var t = this._groups, r = e._groups, n = t.length, i = r.length, o = Math.min(n, i), l = new Array(n), c = 0; c < o; ++c)
    for (var g = t[c], y = r[c], C = g.length, D = l[c] = new Array(C), x, M = 0; M < C; ++M)
      (x = g[M] || y[M]) && (D[M] = x);
  for (; c < n; ++c)
    l[c] = t[c];
  return new wn(l, this._parents);
}
function YMe() {
  for (var e = this._groups, t = -1, r = e.length; ++t < r; )
    for (var n = e[t], i = n.length - 1, o = n[i], l; --i >= 0; )
      (l = n[i]) && (o && l.compareDocumentPosition(o) ^ 4 && o.parentNode.insertBefore(l, o), o = l);
  return this;
}
function GMe(e) {
  e || (e = KMe);
  function t(D, x) {
    return D && x ? e(D.__data__, x.__data__) : !D - !x;
  }
  for (var r = this._groups, n = r.length, i = new Array(n), o = 0; o < n; ++o) {
    for (var l = r[o], c = l.length, g = i[o] = new Array(c), y, C = 0; C < c; ++C)
      (y = l[C]) && (g[C] = y);
    g.sort(t);
  }
  return new wn(i, this._parents).order();
}
function KMe(e, t) {
  return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN;
}
function XMe() {
  var e = arguments[0];
  return arguments[0] = this, e.apply(null, arguments), this;
}
function QMe() {
  var e = new Array(this.size()), t = -1;
  return this.each(function() {
    e[++t] = this;
  }), e;
}
function ZMe() {
  for (var e = this._groups, t = 0, r = e.length; t < r; ++t)
    for (var n = e[t], i = 0, o = n.length; i < o; ++i) {
      var l = n[i];
      if (l) return l;
    }
  return null;
}
function JMe() {
  var e = 0;
  return this.each(function() {
    ++e;
  }), e;
}
function eNe() {
  return !this.node();
}
function tNe(e) {
  for (var t = this._groups, r = 0, n = t.length; r < n; ++r)
    for (var i = t[r], o = 0, l = i.length, c; o < l; ++o)
      (c = i[o]) && e.call(c, c.__data__, o, i);
  return this;
}
function rNe(e) {
  return function() {
    this.removeAttribute(e);
  };
}
function nNe(e) {
  return function() {
    this.removeAttributeNS(e.space, e.local);
  };
}
function iNe(e, t) {
  return function() {
    this.setAttribute(e, t);
  };
}
function aNe(e, t) {
  return function() {
    this.setAttributeNS(e.space, e.local, t);
  };
}
function oNe(e, t) {
  return function() {
    var r = t.apply(this, arguments);
    r == null ? this.removeAttribute(e) : this.setAttribute(e, r);
  };
}
function sNe(e, t) {
  return function() {
    var r = t.apply(this, arguments);
    r == null ? this.removeAttributeNS(e.space, e.local) : this.setAttributeNS(e.space, e.local, r);
  };
}
function uNe(e, t) {
  var r = gN(e);
  if (arguments.length < 2) {
    var n = this.node();
    return r.local ? n.getAttributeNS(r.space, r.local) : n.getAttribute(r);
  }
  return this.each((t == null ? r.local ? nNe : rNe : typeof t == "function" ? r.local ? sNe : oNe : r.local ? aNe : iNe)(r, t));
}
function bN(e) {
  return e.ownerDocument && e.ownerDocument.defaultView || e.document && e || e.defaultView;
}
function lNe(e) {
  return function() {
    this.style.removeProperty(e);
  };
}
function cNe(e, t, r) {
  return function() {
    this.style.setProperty(e, t, r);
  };
}
function fNe(e, t, r) {
  return function() {
    var n = t.apply(this, arguments);
    n == null ? this.style.removeProperty(e) : this.style.setProperty(e, n, r);
  };
}
function dNe(e, t, r) {
  return arguments.length > 1 ? this.each((t == null ? lNe : typeof t == "function" ? fNe : cNe)(e, t, r ?? "")) : oee(this.node(), e);
}
function oee(e, t) {
  return e.style.getPropertyValue(t) || bN(e).getComputedStyle(e, null).getPropertyValue(t);
}
function pNe(e) {
  return function() {
    delete this[e];
  };
}
function hNe(e, t) {
  return function() {
    this[e] = t;
  };
}
function mNe(e, t) {
  return function() {
    var r = t.apply(this, arguments);
    r == null ? delete this[e] : this[e] = r;
  };
}
function vNe(e, t) {
  return arguments.length > 1 ? this.each((t == null ? pNe : typeof t == "function" ? mNe : hNe)(e, t)) : this.node()[e];
}
function see(e) {
  return e.trim().split(/^|\s+/);
}
function _N(e) {
  return e.classList || new uee(e);
}
function uee(e) {
  this._node = e, this._names = see(e.getAttribute("class") || "");
}
uee.prototype = {
  add: function(e) {
    var t = this._names.indexOf(e);
    t < 0 && (this._names.push(e), this._node.setAttribute("class", this._names.join(" ")));
  },
  remove: function(e) {
    var t = this._names.indexOf(e);
    t >= 0 && (this._names.splice(t, 1), this._node.setAttribute("class", this._names.join(" ")));
  },
  contains: function(e) {
    return this._names.indexOf(e) >= 0;
  }
};
function lee(e, t) {
  for (var r = _N(e), n = -1, i = t.length; ++n < i; ) r.add(t[n]);
}
function cee(e, t) {
  for (var r = _N(e), n = -1, i = t.length; ++n < i; ) r.remove(t[n]);
}
function gNe(e) {
  return function() {
    lee(this, e);
  };
}
function yNe(e) {
  return function() {
    cee(this, e);
  };
}
function bNe(e, t) {
  return function() {
    (t.apply(this, arguments) ? lee : cee)(this, e);
  };
}
function _Ne(e, t) {
  var r = see(e + "");
  if (arguments.length < 2) {
    for (var n = _N(this.node()), i = -1, o = r.length; ++i < o; ) if (!n.contains(r[i])) return !1;
    return !0;
  }
  return this.each((typeof t == "function" ? bNe : t ? gNe : yNe)(r, t));
}
function ENe() {
  this.textContent = "";
}
function SNe(e) {
  return function() {
    this.textContent = e;
  };
}
function wNe(e) {
  return function() {
    var t = e.apply(this, arguments);
    this.textContent = t ?? "";
  };
}
function ONe(e) {
  return arguments.length ? this.each(e == null ? ENe : (typeof e == "function" ? wNe : SNe)(e)) : this.node().textContent;
}
function TNe() {
  this.innerHTML = "";
}
function CNe(e) {
  return function() {
    this.innerHTML = e;
  };
}
function xNe(e) {
  return function() {
    var t = e.apply(this, arguments);
    this.innerHTML = t ?? "";
  };
}
function ANe(e) {
  return arguments.length ? this.each(e == null ? TNe : (typeof e == "function" ? xNe : CNe)(e)) : this.node().innerHTML;
}
function DNe() {
  this.nextSibling && this.parentNode.appendChild(this);
}
function PNe() {
  return this.each(DNe);
}
function kNe() {
  this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild);
}
function RNe() {
  return this.each(kNe);
}
function MNe(e) {
  var t = typeof e == "function" ? e : S_(e);
  return this.select(function() {
    return this.appendChild(t.apply(this, arguments));
  });
}
function NNe() {
  return null;
}
function INe(e, t) {
  var r = typeof e == "function" ? e : S_(e), n = t == null ? NNe : typeof t == "function" ? t : yN(t);
  return this.select(function() {
    return this.insertBefore(r.apply(this, arguments), n.apply(this, arguments) || null);
  });
}
function FNe() {
  var e = this.parentNode;
  e && e.removeChild(this);
}
function LNe() {
  return this.each(FNe);
}
function jNe() {
  var e = this.cloneNode(!1), t = this.parentNode;
  return t ? t.insertBefore(e, this.nextSibling) : e;
}
function UNe() {
  var e = this.cloneNode(!0), t = this.parentNode;
  return t ? t.insertBefore(e, this.nextSibling) : e;
}
function qNe(e) {
  return this.select(e ? UNe : jNe);
}
function zNe(e) {
  return arguments.length ? this.property("__data__", e) : this.node().__data__;
}
var fee = {}, Xa = null;
if (typeof document < "u") {
  var BNe = document.documentElement;
  "onmouseenter" in BNe || (fee = { mouseenter: "mouseover", mouseleave: "mouseout" });
}
function WNe(e, t, r) {
  return e = dee(e, t, r), function(n) {
    var i = n.relatedTarget;
    (!i || i !== this && !(i.compareDocumentPosition(this) & 8)) && e.call(this, n);
  };
}
function dee(e, t, r) {
  return function(n) {
    var i = Xa;
    Xa = n;
    try {
      e.call(this, this.__data__, t, r);
    } finally {
      Xa = i;
    }
  };
}
function $Ne(e) {
  return e.trim().split(/^|\s+/).map(function(t) {
    var r = "", n = t.indexOf(".");
    return n >= 0 && (r = t.slice(n + 1), t = t.slice(0, n)), { type: t, name: r };
  });
}
function VNe(e) {
  return function() {
    var t = this.__on;
    if (t) {
      for (var r = 0, n = -1, i = t.length, o; r < i; ++r)
        o = t[r], (!e.type || o.type === e.type) && o.name === e.name ? this.removeEventListener(o.type, o.listener, o.capture) : t[++n] = o;
      ++n ? t.length = n : delete this.__on;
    }
  };
}
function HNe(e, t, r) {
  var n = fee.hasOwnProperty(e.type) ? WNe : dee;
  return function(i, o, l) {
    var c = this.__on, g, y = n(t, o, l);
    if (c) {
      for (var C = 0, D = c.length; C < D; ++C)
        if ((g = c[C]).type === e.type && g.name === e.name) {
          this.removeEventListener(g.type, g.listener, g.capture), this.addEventListener(g.type, g.listener = y, g.capture = r), g.value = t;
          return;
        }
    }
    this.addEventListener(e.type, y, r), g = { type: e.type, name: e.name, value: t, listener: y, capture: r }, c ? c.push(g) : this.__on = [g];
  };
}
function YNe(e, t, r) {
  var n = $Ne(e + ""), i, o = n.length, l;
  if (arguments.length < 2) {
    var c = this.node().__on;
    if (c) {
      for (var g = 0, y = c.length, C; g < y; ++g)
        for (i = 0, C = c[g]; i < o; ++i)
          if ((l = n[i]).type === C.type && l.name === C.name)
            return C.value;
    }
    return;
  }
  for (c = t ? HNe : VNe, r == null && (r = !1), i = 0; i < o; ++i) this.each(c(n[i], t, r));
  return this;
}
function GNe(e, t, r, n) {
  var i = Xa;
  e.sourceEvent = Xa, Xa = e;
  try {
    return t.apply(r, n);
  } finally {
    Xa = i;
  }
}
function pee(e, t, r) {
  var n = bN(e), i = n.CustomEvent;
  typeof i == "function" ? i = new i(t, r) : (i = n.document.createEvent("Event"), r ? (i.initEvent(t, r.bubbles, r.cancelable), i.detail = r.detail) : i.initEvent(t, !1, !1)), e.dispatchEvent(i);
}
function KNe(e, t) {
  return function() {
    return pee(this, e, t);
  };
}
function XNe(e, t) {
  return function() {
    return pee(this, e, t.apply(this, arguments));
  };
}
function QNe(e, t) {
  return this.each((typeof t == "function" ? XNe : KNe)(e, t));
}
var EN = [null];
function wn(e, t) {
  this._groups = e, this._parents = t;
}
function hee() {
  return new wn([[document.documentElement]], EN);
}
wn.prototype = hee.prototype = {
  constructor: wn,
  select: IMe,
  selectAll: LMe,
  filter: jMe,
  data: WMe,
  enter: UMe,
  exit: $Me,
  join: VMe,
  merge: HMe,
  order: YMe,
  sort: GMe,
  call: XMe,
  nodes: QMe,
  node: ZMe,
  size: JMe,
  empty: eNe,
  each: tNe,
  attr: uNe,
  style: dNe,
  property: vNe,
  classed: _Ne,
  text: ONe,
  html: ANe,
  raise: PNe,
  lower: RNe,
  append: MNe,
  insert: INe,
  remove: LNe,
  clone: qNe,
  datum: zNe,
  on: YNe,
  dispatch: QNe
};
function mee(e) {
  return typeof e == "string" ? new wn([[document.querySelector(e)]], [document.documentElement]) : new wn([[e]], EN);
}
function ZNe(e) {
  return mee(S_(e).call(document.documentElement));
}
var JNe = 0;
function vee() {
  return new zD();
}
function zD() {
  this._ = "@" + (++JNe).toString(36);
}
zD.prototype = vee.prototype = {
  constructor: zD,
  get: function(e) {
    for (var t = this._; !(t in e); ) if (!(e = e.parentNode)) return;
    return e[t];
  },
  set: function(e, t) {
    return e[this._] = t;
  },
  remove: function(e) {
    return this._ in e && delete e[this._];
  },
  toString: function() {
    return this._;
  }
};
function SN() {
  for (var e = Xa, t; t = e.sourceEvent; ) e = t;
  return e;
}
function w_(e, t) {
  var r = e.ownerSVGElement || e;
  if (r.createSVGPoint) {
    var n = r.createSVGPoint();
    return n.x = t.clientX, n.y = t.clientY, n = n.matrixTransform(e.getScreenCTM().inverse()), [n.x, n.y];
  }
  var i = e.getBoundingClientRect();
  return [t.clientX - i.left - e.clientLeft, t.clientY - i.top - e.clientTop];
}
function eIe(e) {
  var t = SN();
  return t.changedTouches && (t = t.changedTouches[0]), w_(e, t);
}
function tIe(e) {
  return typeof e == "string" ? new wn([document.querySelectorAll(e)], [document.documentElement]) : new wn([e ?? []], EN);
}
function rIe(e, t, r) {
  arguments.length < 3 && (r = t, t = SN().changedTouches);
  for (var n = 0, i = t ? t.length : 0, o; n < i; ++n)
    if ((o = t[n]).identifier === r)
      return w_(e, o);
  return null;
}
function nIe(e, t) {
  t == null && (t = SN().touches);
  for (var r = 0, n = t ? t.length : 0, i = new Array(n); r < n; ++r)
    i[r] = w_(e, t[r]);
  return i;
}
const iIe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  clientPoint: w_,
  create: ZNe,
  creator: S_,
  customEvent: GNe,
  get event() {
    return Xa;
  },
  local: vee,
  matcher: iee,
  mouse: eIe,
  namespace: gN,
  namespaces: qD,
  select: mee,
  selectAll: tIe,
  selection: hee,
  selector: yN,
  selectorAll: nee,
  style: oee,
  touch: rIe,
  touches: nIe,
  window: bN
}, Symbol.toStringTag, { value: "Module" })), gee = /* @__PURE__ */ On(iIe);
var Lm = {}, d9;
function aIe() {
  return d9 || (d9 = 1, Object.defineProperty(Lm, "__esModule", { value: !0 }), Lm.DELAY = 100), Lm;
}
var Ri = {}, gs = {};
function oIe(e) {
  return Math.abs(e = Math.round(e)) >= 1e21 ? e.toLocaleString("en").replace(/,/g, "") : e.toString(10);
}
function Zg(e, t) {
  if ((r = (e = t ? e.toExponential(t - 1) : e.toExponential()).indexOf("e")) < 0) return null;
  var r, n = e.slice(0, r);
  return [
    n.length > 1 ? n[0] + n.slice(2) : n,
    +e.slice(r + 1)
  ];
}
function wl(e) {
  return e = Zg(Math.abs(e)), e ? e[1] : NaN;
}
function sIe(e, t) {
  return function(r, n) {
    for (var i = r.length, o = [], l = 0, c = e[0], g = 0; i > 0 && c > 0 && (g + c + 1 > n && (c = Math.max(1, n - g)), o.push(r.substring(i -= c, i + c)), !((g += c + 1) > n)); )
      c = e[l = (l + 1) % e.length];
    return o.reverse().join(t);
  };
}
function uIe(e) {
  return function(t) {
    return t.replace(/[0-9]/g, function(r) {
      return e[+r];
    });
  };
}
var lIe = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;
function Jg(e) {
  if (!(t = lIe.exec(e))) throw new Error("invalid format: " + e);
  var t;
  return new O_({
    fill: t[1],
    align: t[2],
    sign: t[3],
    symbol: t[4],
    zero: t[5],
    width: t[6],
    comma: t[7],
    precision: t[8] && t[8].slice(1),
    trim: t[9],
    type: t[10]
  });
}
Jg.prototype = O_.prototype;
function O_(e) {
  this.fill = e.fill === void 0 ? " " : e.fill + "", this.align = e.align === void 0 ? ">" : e.align + "", this.sign = e.sign === void 0 ? "-" : e.sign + "", this.symbol = e.symbol === void 0 ? "" : e.symbol + "", this.zero = !!e.zero, this.width = e.width === void 0 ? void 0 : +e.width, this.comma = !!e.comma, this.precision = e.precision === void 0 ? void 0 : +e.precision, this.trim = !!e.trim, this.type = e.type === void 0 ? "" : e.type + "";
}
O_.prototype.toString = function() {
  return this.fill + this.align + this.sign + this.symbol + (this.zero ? "0" : "") + (this.width === void 0 ? "" : Math.max(1, this.width | 0)) + (this.comma ? "," : "") + (this.precision === void 0 ? "" : "." + Math.max(0, this.precision | 0)) + (this.trim ? "~" : "") + this.type;
};
function cIe(e) {
  e: for (var t = e.length, r = 1, n = -1, i; r < t; ++r)
    switch (e[r]) {
      case ".":
        n = i = r;
        break;
      case "0":
        n === 0 && (n = r), i = r;
        break;
      default:
        if (!+e[r]) break e;
        n > 0 && (n = 0);
        break;
    }
  return n > 0 ? e.slice(0, n) + e.slice(i + 1) : e;
}
var yee;
function fIe(e, t) {
  var r = Zg(e, t);
  if (!r) return e + "";
  var n = r[0], i = r[1], o = i - (yee = Math.max(-8, Math.min(8, Math.floor(i / 3))) * 3) + 1, l = n.length;
  return o === l ? n : o > l ? n + new Array(o - l + 1).join("0") : o > 0 ? n.slice(0, o) + "." + n.slice(o) : "0." + new Array(1 - o).join("0") + Zg(e, Math.max(0, t + o - 1))[0];
}
function p9(e, t) {
  var r = Zg(e, t);
  if (!r) return e + "";
  var n = r[0], i = r[1];
  return i < 0 ? "0." + new Array(-i).join("0") + n : n.length > i + 1 ? n.slice(0, i + 1) + "." + n.slice(i + 1) : n + new Array(i - n.length + 2).join("0");
}
const h9 = {
  "%": function(e, t) {
    return (e * 100).toFixed(t);
  },
  b: function(e) {
    return Math.round(e).toString(2);
  },
  c: function(e) {
    return e + "";
  },
  d: oIe,
  e: function(e, t) {
    return e.toExponential(t);
  },
  f: function(e, t) {
    return e.toFixed(t);
  },
  g: function(e, t) {
    return e.toPrecision(t);
  },
  o: function(e) {
    return Math.round(e).toString(8);
  },
  p: function(e, t) {
    return p9(e * 100, t);
  },
  r: p9,
  s: fIe,
  X: function(e) {
    return Math.round(e).toString(16).toUpperCase();
  },
  x: function(e) {
    return Math.round(e).toString(16);
  }
};
function m9(e) {
  return e;
}
var v9 = Array.prototype.map, g9 = ["y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y"];
function bee(e) {
  var t = e.grouping === void 0 || e.thousands === void 0 ? m9 : sIe(v9.call(e.grouping, Number), e.thousands + ""), r = e.currency === void 0 ? "" : e.currency[0] + "", n = e.currency === void 0 ? "" : e.currency[1] + "", i = e.decimal === void 0 ? "." : e.decimal + "", o = e.numerals === void 0 ? m9 : uIe(v9.call(e.numerals, String)), l = e.percent === void 0 ? "%" : e.percent + "", c = e.minus === void 0 ? "-" : e.minus + "", g = e.nan === void 0 ? "NaN" : e.nan + "";
  function y(D) {
    D = Jg(D);
    var x = D.fill, M = D.align, N = D.sign, F = D.symbol, z = D.zero, A = D.width, u = D.comma, a = D.precision, s = D.trim, h = D.type;
    h === "n" ? (u = !0, h = "g") : h9[h] || (a === void 0 && (a = 12), s = !0, h = "g"), (z || x === "0" && M === "=") && (z = !0, x = "0", M = "=");
    var E = F === "$" ? r : F === "#" && /[boxX]/.test(h) ? "0" + h.toLowerCase() : "", f = F === "$" ? n : /[%p]/.test(h) ? l : "", S = h9[h], _ = /[defgprs%]/.test(h);
    a = a === void 0 ? 6 : /[gprs]/.test(h) ? Math.max(1, Math.min(21, a)) : Math.max(0, Math.min(20, a));
    function d(p) {
      var b = E, m = f, v, O, T;
      if (h === "c")
        m = S(p) + m, p = "";
      else {
        p = +p;
        var w = p < 0 || 1 / p < 0;
        if (p = isNaN(p) ? g : S(Math.abs(p), a), s && (p = cIe(p)), w && +p == 0 && N !== "+" && (w = !1), b = (w ? N === "(" ? N : c : N === "-" || N === "(" ? "" : N) + b, m = (h === "s" ? g9[8 + yee / 3] : "") + m + (w && N === "(" ? ")" : ""), _) {
          for (v = -1, O = p.length; ++v < O; )
            if (T = p.charCodeAt(v), 48 > T || T > 57) {
              m = (T === 46 ? i + p.slice(v + 1) : p.slice(v)) + m, p = p.slice(0, v);
              break;
            }
        }
      }
      u && !z && (p = t(p, 1 / 0));
      var P = b.length + p.length + m.length, I = P < A ? new Array(A - P + 1).join(x) : "";
      switch (u && z && (p = t(I + p, I.length ? A - m.length : 1 / 0), I = ""), M) {
        case "<":
          p = b + p + m + I;
          break;
        case "=":
          p = b + I + p + m;
          break;
        case "^":
          p = I.slice(0, P = I.length >> 1) + b + p + m + I.slice(P);
          break;
        default:
          p = I + b + p + m;
          break;
      }
      return o(p);
    }
    return d.toString = function() {
      return D + "";
    }, d;
  }
  function C(D, x) {
    var M = y((D = Jg(D), D.type = "f", D)), N = Math.max(-8, Math.min(8, Math.floor(wl(x) / 3))) * 3, F = Math.pow(10, -N), z = g9[8 + N / 3];
    return function(A) {
      return M(F * A) + z;
    };
  }
  return {
    format: y,
    formatPrefix: C
  };
}
var jm, _ee, Eee;
See({
  decimal: ".",
  thousands: ",",
  grouping: [3],
  currency: ["$", ""],
  minus: "-"
});
function See(e) {
  return jm = bee(e), _ee = jm.format, Eee = jm.formatPrefix, jm;
}
function dIe(e) {
  return Math.max(0, -wl(Math.abs(e)));
}
function pIe(e, t) {
  return Math.max(0, Math.max(-8, Math.min(8, Math.floor(wl(t) / 3))) * 3 - wl(Math.abs(e)));
}
function hIe(e, t) {
  return e = Math.abs(e), t = Math.abs(t) - e, Math.max(0, wl(t) - wl(e)) + 1;
}
const mIe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  FormatSpecifier: O_,
  get format() {
    return _ee;
  },
  formatDefaultLocale: See,
  formatLocale: bee,
  get formatPrefix() {
    return Eee;
  },
  formatSpecifier: Jg,
  precisionFixed: dIe,
  precisionPrefix: pIe,
  precisionRound: hIe
}, Symbol.toStringTag, { value: "Module" })), vIe = /* @__PURE__ */ On(mIe);
var Hx = /* @__PURE__ */ new Date(), Yx = /* @__PURE__ */ new Date();
function Dr(e, t, r, n) {
  function i(o) {
    return e(o = arguments.length === 0 ? /* @__PURE__ */ new Date() : /* @__PURE__ */ new Date(+o)), o;
  }
  return i.floor = function(o) {
    return e(o = /* @__PURE__ */ new Date(+o)), o;
  }, i.ceil = function(o) {
    return e(o = new Date(o - 1)), t(o, 1), e(o), o;
  }, i.round = function(o) {
    var l = i(o), c = i.ceil(o);
    return o - l < c - o ? l : c;
  }, i.offset = function(o, l) {
    return t(o = /* @__PURE__ */ new Date(+o), l == null ? 1 : Math.floor(l)), o;
  }, i.range = function(o, l, c) {
    var g = [], y;
    if (o = i.ceil(o), c = c == null ? 1 : Math.floor(c), !(o < l) || !(c > 0)) return g;
    do
      g.push(y = /* @__PURE__ */ new Date(+o)), t(o, c), e(o);
    while (y < o && o < l);
    return g;
  }, i.filter = function(o) {
    return Dr(function(l) {
      if (l >= l) for (; e(l), !o(l); ) l.setTime(l - 1);
    }, function(l, c) {
      if (l >= l)
        if (c < 0) for (; ++c <= 0; )
          for (; t(l, -1), !o(l); )
            ;
        else for (; --c >= 0; )
          for (; t(l, 1), !o(l); )
            ;
    });
  }, r && (i.count = function(o, l) {
    return Hx.setTime(+o), Yx.setTime(+l), e(Hx), e(Yx), Math.floor(r(Hx, Yx));
  }, i.every = function(o) {
    return o = Math.floor(o), !isFinite(o) || !(o > 0) ? null : o > 1 ? i.filter(n ? function(l) {
      return n(l) % o === 0;
    } : function(l) {
      return i.count(0, l) % o === 0;
    }) : i;
  }), i;
}
var ey = Dr(function() {
}, function(e, t) {
  e.setTime(+e + t);
}, function(e, t) {
  return t - e;
});
ey.every = function(e) {
  return e = Math.floor(e), !isFinite(e) || !(e > 0) ? null : e > 1 ? Dr(function(t) {
    t.setTime(Math.floor(t / e) * e);
  }, function(t, r) {
    t.setTime(+t + r * e);
  }, function(t, r) {
    return (r - t) / e;
  }) : ey;
};
const y9 = ey;
var b9 = ey.range, ty = 1e3, $s = 6e4, ry = 36e5, wee = 864e5, Oee = 6048e5, Tee = Dr(function(e) {
  e.setTime(e - e.getMilliseconds());
}, function(e, t) {
  e.setTime(+e + t * ty);
}, function(e, t) {
  return (t - e) / ty;
}, function(e) {
  return e.getUTCSeconds();
});
const _9 = Tee;
var E9 = Tee.range, Cee = Dr(function(e) {
  e.setTime(e - e.getMilliseconds() - e.getSeconds() * ty);
}, function(e, t) {
  e.setTime(+e + t * $s);
}, function(e, t) {
  return (t - e) / $s;
}, function(e) {
  return e.getMinutes();
});
const gIe = Cee;
var yIe = Cee.range, xee = Dr(function(e) {
  e.setTime(e - e.getMilliseconds() - e.getSeconds() * ty - e.getMinutes() * $s);
}, function(e, t) {
  e.setTime(+e + t * ry);
}, function(e, t) {
  return (t - e) / ry;
}, function(e) {
  return e.getHours();
});
const bIe = xee;
var _Ie = xee.range, Aee = Dr(function(e) {
  e.setHours(0, 0, 0, 0);
}, function(e, t) {
  e.setDate(e.getDate() + t);
}, function(e, t) {
  return (t - e - (t.getTimezoneOffset() - e.getTimezoneOffset()) * $s) / wee;
}, function(e) {
  return e.getDate() - 1;
});
const wN = Aee;
var EIe = Aee.range;
function fu(e) {
  return Dr(function(t) {
    t.setDate(t.getDate() - (t.getDay() + 7 - e) % 7), t.setHours(0, 0, 0, 0);
  }, function(t, r) {
    t.setDate(t.getDate() + r * 7);
  }, function(t, r) {
    return (r - t - (r.getTimezoneOffset() - t.getTimezoneOffset()) * $s) / Oee;
  });
}
var ny = fu(0), id = fu(1), Dee = fu(2), Pee = fu(3), Vs = fu(4), kee = fu(5), Ree = fu(6), S9 = ny.range, SIe = id.range, wIe = Dee.range, OIe = Pee.range, TIe = Vs.range, CIe = kee.range, xIe = Ree.range, Mee = Dr(function(e) {
  e.setDate(1), e.setHours(0, 0, 0, 0);
}, function(e, t) {
  e.setMonth(e.getMonth() + t);
}, function(e, t) {
  return t.getMonth() - e.getMonth() + (t.getFullYear() - e.getFullYear()) * 12;
}, function(e) {
  return e.getMonth();
});
const AIe = Mee;
var DIe = Mee.range, ON = Dr(function(e) {
  e.setMonth(0, 1), e.setHours(0, 0, 0, 0);
}, function(e, t) {
  e.setFullYear(e.getFullYear() + t);
}, function(e, t) {
  return t.getFullYear() - e.getFullYear();
}, function(e) {
  return e.getFullYear();
});
ON.every = function(e) {
  return !isFinite(e = Math.floor(e)) || !(e > 0) ? null : Dr(function(t) {
    t.setFullYear(Math.floor(t.getFullYear() / e) * e), t.setMonth(0, 1), t.setHours(0, 0, 0, 0);
  }, function(t, r) {
    t.setFullYear(t.getFullYear() + r * e);
  });
};
const Ol = ON;
var PIe = ON.range, Nee = Dr(function(e) {
  e.setUTCSeconds(0, 0);
}, function(e, t) {
  e.setTime(+e + t * $s);
}, function(e, t) {
  return (t - e) / $s;
}, function(e) {
  return e.getUTCMinutes();
});
const kIe = Nee;
var RIe = Nee.range, Iee = Dr(function(e) {
  e.setUTCMinutes(0, 0, 0);
}, function(e, t) {
  e.setTime(+e + t * ry);
}, function(e, t) {
  return (t - e) / ry;
}, function(e) {
  return e.getUTCHours();
});
const MIe = Iee;
var NIe = Iee.range, Fee = Dr(function(e) {
  e.setUTCHours(0, 0, 0, 0);
}, function(e, t) {
  e.setUTCDate(e.getUTCDate() + t);
}, function(e, t) {
  return (t - e) / wee;
}, function(e) {
  return e.getUTCDate() - 1;
});
const TN = Fee;
var IIe = Fee.range;
function du(e) {
  return Dr(function(t) {
    t.setUTCDate(t.getUTCDate() - (t.getUTCDay() + 7 - e) % 7), t.setUTCHours(0, 0, 0, 0);
  }, function(t, r) {
    t.setUTCDate(t.getUTCDate() + r * 7);
  }, function(t, r) {
    return (r - t) / Oee;
  });
}
var iy = du(0), ad = du(1), Lee = du(2), jee = du(3), Hs = du(4), Uee = du(5), qee = du(6), w9 = iy.range, FIe = ad.range, LIe = Lee.range, jIe = jee.range, UIe = Hs.range, qIe = Uee.range, zIe = qee.range, zee = Dr(function(e) {
  e.setUTCDate(1), e.setUTCHours(0, 0, 0, 0);
}, function(e, t) {
  e.setUTCMonth(e.getUTCMonth() + t);
}, function(e, t) {
  return t.getUTCMonth() - e.getUTCMonth() + (t.getUTCFullYear() - e.getUTCFullYear()) * 12;
}, function(e) {
  return e.getUTCMonth();
});
const BIe = zee;
var WIe = zee.range, CN = Dr(function(e) {
  e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0);
}, function(e, t) {
  e.setUTCFullYear(e.getUTCFullYear() + t);
}, function(e, t) {
  return t.getUTCFullYear() - e.getUTCFullYear();
}, function(e) {
  return e.getUTCFullYear();
});
CN.every = function(e) {
  return !isFinite(e = Math.floor(e)) || !(e > 0) ? null : Dr(function(t) {
    t.setUTCFullYear(Math.floor(t.getUTCFullYear() / e) * e), t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0);
  }, function(t, r) {
    t.setUTCFullYear(t.getUTCFullYear() + r * e);
  });
};
const Tl = CN;
var $Ie = CN.range;
const VIe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  timeDay: wN,
  timeDays: EIe,
  timeFriday: kee,
  timeFridays: CIe,
  timeHour: bIe,
  timeHours: _Ie,
  timeInterval: Dr,
  timeMillisecond: y9,
  timeMilliseconds: b9,
  timeMinute: gIe,
  timeMinutes: yIe,
  timeMonday: id,
  timeMondays: SIe,
  timeMonth: AIe,
  timeMonths: DIe,
  timeSaturday: Ree,
  timeSaturdays: xIe,
  timeSecond: _9,
  timeSeconds: E9,
  timeSunday: ny,
  timeSundays: S9,
  timeThursday: Vs,
  timeThursdays: TIe,
  timeTuesday: Dee,
  timeTuesdays: wIe,
  timeWednesday: Pee,
  timeWednesdays: OIe,
  timeWeek: ny,
  timeWeeks: S9,
  timeYear: Ol,
  timeYears: PIe,
  utcDay: TN,
  utcDays: IIe,
  utcFriday: Uee,
  utcFridays: qIe,
  utcHour: MIe,
  utcHours: NIe,
  utcMillisecond: y9,
  utcMilliseconds: b9,
  utcMinute: kIe,
  utcMinutes: RIe,
  utcMonday: ad,
  utcMondays: FIe,
  utcMonth: BIe,
  utcMonths: WIe,
  utcSaturday: qee,
  utcSaturdays: zIe,
  utcSecond: _9,
  utcSeconds: E9,
  utcSunday: iy,
  utcSundays: w9,
  utcThursday: Hs,
  utcThursdays: UIe,
  utcTuesday: Lee,
  utcTuesdays: LIe,
  utcWednesday: jee,
  utcWednesdays: jIe,
  utcWeek: iy,
  utcWeeks: w9,
  utcYear: Tl,
  utcYears: $Ie
}, Symbol.toStringTag, { value: "Module" })), HIe = /* @__PURE__ */ On(VIe);
function Gx(e) {
  if (0 <= e.y && e.y < 100) {
    var t = new Date(-1, e.m, e.d, e.H, e.M, e.S, e.L);
    return t.setFullYear(e.y), t;
  }
  return new Date(e.y, e.m, e.d, e.H, e.M, e.S, e.L);
}
function Kx(e) {
  if (0 <= e.y && e.y < 100) {
    var t = new Date(Date.UTC(-1, e.m, e.d, e.H, e.M, e.S, e.L));
    return t.setUTCFullYear(e.y), t;
  }
  return new Date(Date.UTC(e.y, e.m, e.d, e.H, e.M, e.S, e.L));
}
function zc(e, t, r) {
  return { y: e, m: t, d: r, H: 0, M: 0, S: 0, L: 0 };
}
function Bee(e) {
  var t = e.dateTime, r = e.date, n = e.time, i = e.periods, o = e.days, l = e.shortDays, c = e.months, g = e.shortMonths, y = Bc(i), C = Wc(i), D = Bc(o), x = Wc(o), M = Bc(l), N = Wc(l), F = Bc(c), z = Wc(c), A = Bc(g), u = Wc(g), a = {
    a: w,
    A: P,
    b: I,
    B: L,
    c: null,
    d: D9,
    e: D9,
    f: mFe,
    g: TFe,
    G: xFe,
    H: dFe,
    I: pFe,
    j: hFe,
    L: Wee,
    m: vFe,
    M: gFe,
    p: R,
    q,
    Q: R9,
    s: M9,
    S: yFe,
    u: bFe,
    U: _Fe,
    V: EFe,
    w: SFe,
    W: wFe,
    x: null,
    X: null,
    y: OFe,
    Y: CFe,
    Z: AFe,
    "%": k9
  }, s = {
    a: B,
    A: j,
    b: k,
    B: U,
    c: null,
    d: P9,
    e: P9,
    f: RFe,
    g: BFe,
    G: $Fe,
    H: DFe,
    I: PFe,
    j: kFe,
    L: Vee,
    m: MFe,
    M: NFe,
    p: W,
    q: $,
    Q: R9,
    s: M9,
    S: IFe,
    u: FFe,
    U: LFe,
    V: jFe,
    w: UFe,
    W: qFe,
    x: null,
    X: null,
    y: zFe,
    Y: WFe,
    Z: VFe,
    "%": k9
  }, h = {
    a: d,
    A: p,
    b,
    B: m,
    c: v,
    d: x9,
    e: x9,
    f: uFe,
    g: C9,
    G: T9,
    H: A9,
    I: A9,
    j: iFe,
    L: sFe,
    m: nFe,
    M: aFe,
    p: _,
    q: rFe,
    Q: cFe,
    s: fFe,
    S: oFe,
    u: QIe,
    U: ZIe,
    V: JIe,
    w: XIe,
    W: eFe,
    x: O,
    X: T,
    y: C9,
    Y: T9,
    Z: tFe,
    "%": lFe
  };
  a.x = E(r, a), a.X = E(n, a), a.c = E(t, a), s.x = E(r, s), s.X = E(n, s), s.c = E(t, s);
  function E(V, G) {
    return function(X) {
      var K = [], H = -1, Y = 0, Q = V.length, Z, J, ne;
      for (X instanceof Date || (X = /* @__PURE__ */ new Date(+X)); ++H < Q; )
        V.charCodeAt(H) === 37 && (K.push(V.slice(Y, H)), (J = O9[Z = V.charAt(++H)]) != null ? Z = V.charAt(++H) : J = Z === "e" ? " " : "0", (ne = G[Z]) && (Z = ne(X, J)), K.push(Z), Y = H + 1);
      return K.push(V.slice(Y, H)), K.join("");
    };
  }
  function f(V, G) {
    return function(X) {
      var K = zc(1900, void 0, 1), H = S(K, V, X += "", 0), Y, Q;
      if (H != X.length) return null;
      if ("Q" in K) return new Date(K.Q);
      if ("s" in K) return new Date(K.s * 1e3 + ("L" in K ? K.L : 0));
      if (G && !("Z" in K) && (K.Z = 0), "p" in K && (K.H = K.H % 12 + K.p * 12), K.m === void 0 && (K.m = "q" in K ? K.q : 0), "V" in K) {
        if (K.V < 1 || K.V > 53) return null;
        "w" in K || (K.w = 1), "Z" in K ? (Y = Kx(zc(K.y, 0, 1)), Q = Y.getUTCDay(), Y = Q > 4 || Q === 0 ? ad.ceil(Y) : ad(Y), Y = TN.offset(Y, (K.V - 1) * 7), K.y = Y.getUTCFullYear(), K.m = Y.getUTCMonth(), K.d = Y.getUTCDate() + (K.w + 6) % 7) : (Y = Gx(zc(K.y, 0, 1)), Q = Y.getDay(), Y = Q > 4 || Q === 0 ? id.ceil(Y) : id(Y), Y = wN.offset(Y, (K.V - 1) * 7), K.y = Y.getFullYear(), K.m = Y.getMonth(), K.d = Y.getDate() + (K.w + 6) % 7);
      } else ("W" in K || "U" in K) && ("w" in K || (K.w = "u" in K ? K.u % 7 : "W" in K ? 1 : 0), Q = "Z" in K ? Kx(zc(K.y, 0, 1)).getUTCDay() : Gx(zc(K.y, 0, 1)).getDay(), K.m = 0, K.d = "W" in K ? (K.w + 6) % 7 + K.W * 7 - (Q + 5) % 7 : K.w + K.U * 7 - (Q + 6) % 7);
      return "Z" in K ? (K.H += K.Z / 100 | 0, K.M += K.Z % 100, Kx(K)) : Gx(K);
    };
  }
  function S(V, G, X, K) {
    for (var H = 0, Y = G.length, Q = X.length, Z, J; H < Y; ) {
      if (K >= Q) return -1;
      if (Z = G.charCodeAt(H++), Z === 37) {
        if (Z = G.charAt(H++), J = h[Z in O9 ? G.charAt(H++) : Z], !J || (K = J(V, X, K)) < 0) return -1;
      } else if (Z != X.charCodeAt(K++))
        return -1;
    }
    return K;
  }
  function _(V, G, X) {
    var K = y.exec(G.slice(X));
    return K ? (V.p = C[K[0].toLowerCase()], X + K[0].length) : -1;
  }
  function d(V, G, X) {
    var K = M.exec(G.slice(X));
    return K ? (V.w = N[K[0].toLowerCase()], X + K[0].length) : -1;
  }
  function p(V, G, X) {
    var K = D.exec(G.slice(X));
    return K ? (V.w = x[K[0].toLowerCase()], X + K[0].length) : -1;
  }
  function b(V, G, X) {
    var K = A.exec(G.slice(X));
    return K ? (V.m = u[K[0].toLowerCase()], X + K[0].length) : -1;
  }
  function m(V, G, X) {
    var K = F.exec(G.slice(X));
    return K ? (V.m = z[K[0].toLowerCase()], X + K[0].length) : -1;
  }
  function v(V, G, X) {
    return S(V, t, G, X);
  }
  function O(V, G, X) {
    return S(V, r, G, X);
  }
  function T(V, G, X) {
    return S(V, n, G, X);
  }
  function w(V) {
    return l[V.getDay()];
  }
  function P(V) {
    return o[V.getDay()];
  }
  function I(V) {
    return g[V.getMonth()];
  }
  function L(V) {
    return c[V.getMonth()];
  }
  function R(V) {
    return i[+(V.getHours() >= 12)];
  }
  function q(V) {
    return 1 + ~~(V.getMonth() / 3);
  }
  function B(V) {
    return l[V.getUTCDay()];
  }
  function j(V) {
    return o[V.getUTCDay()];
  }
  function k(V) {
    return g[V.getUTCMonth()];
  }
  function U(V) {
    return c[V.getUTCMonth()];
  }
  function W(V) {
    return i[+(V.getUTCHours() >= 12)];
  }
  function $(V) {
    return 1 + ~~(V.getUTCMonth() / 3);
  }
  return {
    format: function(V) {
      var G = E(V += "", a);
      return G.toString = function() {
        return V;
      }, G;
    },
    parse: function(V) {
      var G = f(V += "", !1);
      return G.toString = function() {
        return V;
      }, G;
    },
    utcFormat: function(V) {
      var G = E(V += "", s);
      return G.toString = function() {
        return V;
      }, G;
    },
    utcParse: function(V) {
      var G = f(V += "", !0);
      return G.toString = function() {
        return V;
      }, G;
    }
  };
}
var O9 = { "-": "", _: " ", 0: "0" }, Ur = /^\s*\d+/, YIe = /^%/, GIe = /[\\^$*+?|[\]().{}]/g;
function It(e, t, r) {
  var n = e < 0 ? "-" : "", i = (n ? -e : e) + "", o = i.length;
  return n + (o < r ? new Array(r - o + 1).join(t) + i : i);
}
function KIe(e) {
  return e.replace(GIe, "\\$&");
}
function Bc(e) {
  return new RegExp("^(?:" + e.map(KIe).join("|") + ")", "i");
}
function Wc(e) {
  for (var t = {}, r = -1, n = e.length; ++r < n; ) t[e[r].toLowerCase()] = r;
  return t;
}
function XIe(e, t, r) {
  var n = Ur.exec(t.slice(r, r + 1));
  return n ? (e.w = +n[0], r + n[0].length) : -1;
}
function QIe(e, t, r) {
  var n = Ur.exec(t.slice(r, r + 1));
  return n ? (e.u = +n[0], r + n[0].length) : -1;
}
function ZIe(e, t, r) {
  var n = Ur.exec(t.slice(r, r + 2));
  return n ? (e.U = +n[0], r + n[0].length) : -1;
}
function JIe(e, t, r) {
  var n = Ur.exec(t.slice(r, r + 2));
  return n ? (e.V = +n[0], r + n[0].length) : -1;
}
function eFe(e, t, r) {
  var n = Ur.exec(t.slice(r, r + 2));
  return n ? (e.W = +n[0], r + n[0].length) : -1;
}
function T9(e, t, r) {
  var n = Ur.exec(t.slice(r, r + 4));
  return n ? (e.y = +n[0], r + n[0].length) : -1;
}
function C9(e, t, r) {
  var n = Ur.exec(t.slice(r, r + 2));
  return n ? (e.y = +n[0] + (+n[0] > 68 ? 1900 : 2e3), r + n[0].length) : -1;
}
function tFe(e, t, r) {
  var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r, r + 6));
  return n ? (e.Z = n[1] ? 0 : -(n[2] + (n[3] || "00")), r + n[0].length) : -1;
}
function rFe(e, t, r) {
  var n = Ur.exec(t.slice(r, r + 1));
  return n ? (e.q = n[0] * 3 - 3, r + n[0].length) : -1;
}
function nFe(e, t, r) {
  var n = Ur.exec(t.slice(r, r + 2));
  return n ? (e.m = n[0] - 1, r + n[0].length) : -1;
}
function x9(e, t, r) {
  var n = Ur.exec(t.slice(r, r + 2));
  return n ? (e.d = +n[0], r + n[0].length) : -1;
}
function iFe(e, t, r) {
  var n = Ur.exec(t.slice(r, r + 3));
  return n ? (e.m = 0, e.d = +n[0], r + n[0].length) : -1;
}
function A9(e, t, r) {
  var n = Ur.exec(t.slice(r, r + 2));
  return n ? (e.H = +n[0], r + n[0].length) : -1;
}
function aFe(e, t, r) {
  var n = Ur.exec(t.slice(r, r + 2));
  return n ? (e.M = +n[0], r + n[0].length) : -1;
}
function oFe(e, t, r) {
  var n = Ur.exec(t.slice(r, r + 2));
  return n ? (e.S = +n[0], r + n[0].length) : -1;
}
function sFe(e, t, r) {
  var n = Ur.exec(t.slice(r, r + 3));
  return n ? (e.L = +n[0], r + n[0].length) : -1;
}
function uFe(e, t, r) {
  var n = Ur.exec(t.slice(r, r + 6));
  return n ? (e.L = Math.floor(n[0] / 1e3), r + n[0].length) : -1;
}
function lFe(e, t, r) {
  var n = YIe.exec(t.slice(r, r + 1));
  return n ? r + n[0].length : -1;
}
function cFe(e, t, r) {
  var n = Ur.exec(t.slice(r));
  return n ? (e.Q = +n[0], r + n[0].length) : -1;
}
function fFe(e, t, r) {
  var n = Ur.exec(t.slice(r));
  return n ? (e.s = +n[0], r + n[0].length) : -1;
}
function D9(e, t) {
  return It(e.getDate(), t, 2);
}
function dFe(e, t) {
  return It(e.getHours(), t, 2);
}
function pFe(e, t) {
  return It(e.getHours() % 12 || 12, t, 2);
}
function hFe(e, t) {
  return It(1 + wN.count(Ol(e), e), t, 3);
}
function Wee(e, t) {
  return It(e.getMilliseconds(), t, 3);
}
function mFe(e, t) {
  return Wee(e, t) + "000";
}
function vFe(e, t) {
  return It(e.getMonth() + 1, t, 2);
}
function gFe(e, t) {
  return It(e.getMinutes(), t, 2);
}
function yFe(e, t) {
  return It(e.getSeconds(), t, 2);
}
function bFe(e) {
  var t = e.getDay();
  return t === 0 ? 7 : t;
}
function _Fe(e, t) {
  return It(ny.count(Ol(e) - 1, e), t, 2);
}
function $ee(e) {
  var t = e.getDay();
  return t >= 4 || t === 0 ? Vs(e) : Vs.ceil(e);
}
function EFe(e, t) {
  return e = $ee(e), It(Vs.count(Ol(e), e) + (Ol(e).getDay() === 4), t, 2);
}
function SFe(e) {
  return e.getDay();
}
function wFe(e, t) {
  return It(id.count(Ol(e) - 1, e), t, 2);
}
function OFe(e, t) {
  return It(e.getFullYear() % 100, t, 2);
}
function TFe(e, t) {
  return e = $ee(e), It(e.getFullYear() % 100, t, 2);
}
function CFe(e, t) {
  return It(e.getFullYear() % 1e4, t, 4);
}
function xFe(e, t) {
  var r = e.getDay();
  return e = r >= 4 || r === 0 ? Vs(e) : Vs.ceil(e), It(e.getFullYear() % 1e4, t, 4);
}
function AFe(e) {
  var t = e.getTimezoneOffset();
  return (t > 0 ? "-" : (t *= -1, "+")) + It(t / 60 | 0, "0", 2) + It(t % 60, "0", 2);
}
function P9(e, t) {
  return It(e.getUTCDate(), t, 2);
}
function DFe(e, t) {
  return It(e.getUTCHours(), t, 2);
}
function PFe(e, t) {
  return It(e.getUTCHours() % 12 || 12, t, 2);
}
function kFe(e, t) {
  return It(1 + TN.count(Tl(e), e), t, 3);
}
function Vee(e, t) {
  return It(e.getUTCMilliseconds(), t, 3);
}
function RFe(e, t) {
  return Vee(e, t) + "000";
}
function MFe(e, t) {
  return It(e.getUTCMonth() + 1, t, 2);
}
function NFe(e, t) {
  return It(e.getUTCMinutes(), t, 2);
}
function IFe(e, t) {
  return It(e.getUTCSeconds(), t, 2);
}
function FFe(e) {
  var t = e.getUTCDay();
  return t === 0 ? 7 : t;
}
function LFe(e, t) {
  return It(iy.count(Tl(e) - 1, e), t, 2);
}
function Hee(e) {
  var t = e.getUTCDay();
  return t >= 4 || t === 0 ? Hs(e) : Hs.ceil(e);
}
function jFe(e, t) {
  return e = Hee(e), It(Hs.count(Tl(e), e) + (Tl(e).getUTCDay() === 4), t, 2);
}
function UFe(e) {
  return e.getUTCDay();
}
function qFe(e, t) {
  return It(ad.count(Tl(e) - 1, e), t, 2);
}
function zFe(e, t) {
  return It(e.getUTCFullYear() % 100, t, 2);
}
function BFe(e, t) {
  return e = Hee(e), It(e.getUTCFullYear() % 100, t, 2);
}
function WFe(e, t) {
  return It(e.getUTCFullYear() % 1e4, t, 4);
}
function $Fe(e, t) {
  var r = e.getUTCDay();
  return e = r >= 4 || r === 0 ? Hs(e) : Hs.ceil(e), It(e.getUTCFullYear() % 1e4, t, 4);
}
function VFe() {
  return "+0000";
}
function k9() {
  return "%";
}
function R9(e) {
  return +e;
}
function M9(e) {
  return Math.floor(+e / 1e3);
}
var Pu, Yee, Gee, xN, AN;
Kee({
  dateTime: "%x, %X",
  date: "%-m/%-d/%Y",
  time: "%-I:%M:%S %p",
  periods: ["AM", "PM"],
  days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
  shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
  months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
  shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
});
function Kee(e) {
  return Pu = Bee(e), Yee = Pu.format, Gee = Pu.parse, xN = Pu.utcFormat, AN = Pu.utcParse, Pu;
}
var Xee = "%Y-%m-%dT%H:%M:%S.%LZ";
function HFe(e) {
  return e.toISOString();
}
var YFe = Date.prototype.toISOString ? HFe : xN(Xee);
const GFe = YFe;
function KFe(e) {
  var t = new Date(e);
  return isNaN(t) ? null : t;
}
var XFe = +/* @__PURE__ */ new Date("2000-01-01T00:00:00.000Z") ? KFe : AN(Xee);
const QFe = XFe, ZFe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  isoFormat: GFe,
  isoParse: QFe,
  get timeFormat() {
    return Yee;
  },
  timeFormatDefaultLocale: Kee,
  timeFormatLocale: Bee,
  get timeParse() {
    return Gee;
  },
  get utcFormat() {
    return xN;
  },
  get utcParse() {
    return AN;
  }
}, Symbol.toStringTag, { value: "Module" })), JFe = /* @__PURE__ */ On(ZFe);
var N9;
function e2e() {
  if (N9) return gs;
  N9 = 1, Object.defineProperty(gs, "__esModule", { value: !0 });
  var e = vIe, t = HIe, r = JFe;
  function n(c, g, y) {
    if (c != null && g)
      switch (g) {
        case "time":
          return y ? r.timeFormat(y)(c) : l(c);
        case "number":
          return y ? e.format(y)(c) : o(c);
        case "string":
        default:
          return c;
      }
  }
  gs.customFormat = n;
  function i(c) {
    return typeof c == "number" ? o(c) : c instanceof Date ? l(c) : c;
  }
  gs.autoFormat = i;
  function o(c) {
    return c % 1 === 0 ? e.format(",")(c) : e.format(",.2f")(c);
  }
  gs.autoNumberFormat = o;
  function l(c) {
    var g = r.timeFormat(".%L"), y = r.timeFormat(":%S"), C = r.timeFormat("%I:%M"), D = r.timeFormat("%I %p"), x = r.timeFormat("%a %d"), M = r.timeFormat("%b %d"), N = r.timeFormat("%B"), F = r.timeFormat("%Y");
    return (t.timeSecond(c) < c ? g : t.timeMinute(c) < c ? y : t.timeHour(c) < c ? C : t.timeDay(c) < c ? D : t.timeMonth(c) < c ? t.timeWeek(c) < c ? x : M : t.timeYear(c) < c ? N : F)(c);
  }
  return gs.autoTimeFormat = l, gs;
}
var I9;
function t2e() {
  if (I9) return Ri;
  I9 = 1, Object.defineProperty(Ri, "__esModule", { value: !0 });
  var e = e2e();
  function t(y, C) {
    if (y.mark.marktype !== "group") {
      var D, x = {};
      for (var M in y.datum)
        y.datum.hasOwnProperty(M) && (x[M] = y.datum[M]);
      var N = [
        "_id",
        "_prev",
        "width",
        "height",
        "count_start",
        "count_end",
        "layout_start",
        "layout_mid",
        "layout_end",
        "layout_path",
        "layout_x",
        "layout_y"
      ];
      return o(x, N), l(x, C.fields), c(x, C.fields), g(y.mark.marktype, x), C.showAllFields === !0 ? D = i(x, C) : D = r(x, C), D;
    }
  }
  Ri.getTooltipData = t;
  function r(y, C) {
    var D = [];
    return C.fields.forEach(function(x) {
      var M = x.title ? x.title : x.field, N = n(y, x.field);
      if (N !== void 0) {
        var F = e.customFormat(N, x.formatType, x.format) || e.autoFormat(N);
        D.push({ title: M, value: F });
      }
    }), D;
  }
  Ri.prepareCustomFieldsData = r;
  function n(y, C) {
    var D, x = C.split("."), M = x[0];
    if (x.shift(), y[M] && (D = y[M], x.forEach(function(N) {
      D = D, D[N] && (D = D[N]);
    })), D === void 0) {
      console.warn("[Tooltip] Cannot find field " + C + " in data.");
      return;
    } else
      return D;
  }
  Ri.getValue = n;
  function i(y, C) {
    var D = [], x = {};
    if (C && C.fields)
      for (var M = 0, N = C.fields; M < N.length; M++) {
        var F = N[M];
        x[F.field] = F;
      }
    for (var z in y)
      if (y.hasOwnProperty(z)) {
        var A = y[z], u = void 0;
        x[z] && x[z].title ? u = x[z].title : u = z;
        var a = void 0, s = void 0;
        x[z] && (a = x[z].formatType, s = x[z].format);
        var h = e.customFormat(A, a, s) || e.autoFormat(A);
        D.push({ title: u, value: h });
      }
    return D;
  }
  Ri.prepareAllFieldsData = i;
  function o(y, C) {
    C.forEach(function(D) {
      delete y[D];
    });
  }
  Ri.removeFields = o;
  function l(y, C) {
    C && C.forEach(function(D) {
      D.removeOriginalTemporalField && o(y, [D.removeOriginalTemporalField]);
    });
  }
  Ri.removeDuplicateTimeFields = l;
  function c(y, C) {
    if (C)
      return C.forEach(function(D) {
        if (D.bin === !0) {
          var x = D.field, M = x.concat("_start"), N = x.concat("_mid"), F = x.concat("_end"), z = y[M], A = y[F];
          if (z !== void 0 && A !== void 0) {
            var u = z + "-" + A;
            y[x] = u;
          }
          var a = [];
          a.push(M, N, F), o(y, a);
        }
      }), y;
  }
  Ri.combineBinFields = c;
  function g(y, C) {
    if (y === "line" || y === "area") {
      var D = [];
      for (var x in C)
        if (C.hasOwnProperty(x)) {
          var M = C[x];
          M instanceof Date && D.push(x);
        }
      o(C, D);
    }
  }
  return Ri.dropFieldsForLineArea = g, Ri;
}
var ys = {}, Yt = {}, Xx = {};
function bo(e, t, r) {
  return e.fields = t || [], e.fname = r, e;
}
function r2e(e) {
  return e == null ? null : e.fname;
}
function Qee(e) {
  return e == null ? null : e.fields;
}
function Zee(e) {
  return e.length === 1 ? n2e(e[0]) : i2e(e);
}
const n2e = (e) => function(t) {
  return t[e];
}, i2e = (e) => {
  const t = e.length;
  return function(r) {
    for (let n = 0; n < t; ++n)
      r = r[e[n]];
    return r;
  };
};
function Gv(e) {
  throw Error(e);
}
function DN(e) {
  const t = [], r = e.length;
  let n = null, i = 0, o = "", l, c, g;
  e = e + "";
  function y() {
    t.push(o + e.substring(l, c)), o = "", l = c + 1;
  }
  for (l = c = 0; c < r; ++c)
    if (g = e[c], g === "\\")
      o += e.substring(l, c++), l = c;
    else if (g === n)
      y(), n = null, i = -1;
    else {
      if (n)
        continue;
      l === i && g === '"' || l === i && g === "'" ? (l = c + 1, n = g) : g === "." && !i ? c > l ? y() : l = c + 1 : g === "[" ? (c > l && y(), i = l = c + 1) : g === "]" && (i || Gv("Access path missing open bracket: " + e), i > 0 && y(), i = 0, l = c + 1);
    }
  return i && Gv("Access path missing closing bracket: " + e), n && Gv("Access path missing closing quote: " + e), c > l && (c++, y()), t;
}
function PN(e, t, r) {
  const n = DN(e);
  return e = n.length === 1 ? n[0] : e, bo((r && r.get || Zee)(n), [e], t || e);
}
const a2e = PN("id"), kN = bo((e) => e, [], "identity"), o2e = bo(() => 0, [], "zero"), s2e = bo(() => 1, [], "one"), u2e = bo(() => !0, [], "true"), l2e = bo(() => !1, [], "false");
function c2e(e, t, r) {
  const n = [t].concat([].slice.call(r));
  console[e].apply(console, n);
}
const Jee = 0, ete = 1, tte = 2, rte = 3, nte = 4;
function f2e(e, t) {
  let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : c2e, n = e || Jee;
  return {
    level(i) {
      return arguments.length ? (n = +i, this) : n;
    },
    error() {
      return n >= ete && r(t || "error", "ERROR", arguments), this;
    },
    warn() {
      return n >= tte && r(t || "warn", "WARN", arguments), this;
    },
    info() {
      return n >= rte && r(t || "log", "INFO", arguments), this;
    },
    debug() {
      return n >= nte && r(t || "log", "DEBUG", arguments), this;
    }
  };
}
var T_ = Array.isArray;
function ay(e) {
  return e === Object(e);
}
const F9 = (e) => e !== "__proto__";
function d2e() {
  for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++)
    t[r] = arguments[r];
  return t.reduce((n, i) => {
    for (const o in i)
      if (o === "signals")
        n.signals = p2e(n.signals, i.signals);
      else {
        const l = o === "legend" ? {
          layout: 1
        } : o === "style" ? !0 : null;
        RN(n, o, i[o], l);
      }
    return n;
  }, {});
}
function RN(e, t, r, n) {
  if (!F9(t)) return;
  let i, o;
  if (ay(r) && !T_(r)) {
    o = ay(e[t]) ? e[t] : e[t] = {};
    for (i in r)
      n && (n === !0 || n[i]) ? RN(o, i, r[i]) : F9(i) && (o[i] = r[i]);
  } else
    e[t] = r;
}
function p2e(e, t) {
  if (e == null) return t;
  const r = {}, n = [];
  function i(o) {
    r[o.name] || (r[o.name] = 1, n.push(o));
  }
  return t.forEach(i), e.forEach(i), n;
}
function Hl(e) {
  return e[e.length - 1];
}
function MN(e) {
  return e == null || e === "" ? null : +e;
}
const ite = (e) => (t) => e * Math.exp(t), ate = (e) => (t) => Math.log(e * t), ote = (e) => (t) => Math.sign(t) * Math.log1p(Math.abs(t / e)), ste = (e) => (t) => Math.sign(t) * Math.expm1(Math.abs(t)) * e, oy = (e) => (t) => t < 0 ? -Math.pow(-t, e) : Math.pow(t, e);
function C_(e, t, r, n) {
  const i = r(e[0]), o = r(Hl(e)), l = (o - i) * t;
  return [n(i - l), n(o - l)];
}
function h2e(e, t) {
  return C_(e, t, MN, kN);
}
function m2e(e, t) {
  var r = Math.sign(e[0]);
  return C_(e, t, ate(r), ite(r));
}
function v2e(e, t, r) {
  return C_(e, t, oy(r), oy(1 / r));
}
function g2e(e, t, r) {
  return C_(e, t, ote(r), ste(r));
}
function x_(e, t, r, n, i) {
  const o = n(e[0]), l = n(Hl(e)), c = t != null ? n(t) : (o + l) / 2;
  return [i(c + (o - c) * r), i(c + (l - c) * r)];
}
function y2e(e, t, r) {
  return x_(e, t, r, MN, kN);
}
function b2e(e, t, r) {
  const n = Math.sign(e[0]);
  return x_(e, t, r, ate(n), ite(n));
}
function _2e(e, t, r, n) {
  return x_(e, t, r, oy(n), oy(1 / n));
}
function E2e(e, t, r, n) {
  return x_(e, t, r, ote(n), ste(n));
}
function S2e(e) {
  return 1 + ~~(new Date(e).getMonth() / 3);
}
function w2e(e) {
  return 1 + ~~(new Date(e).getUTCMonth() / 3);
}
function od(e) {
  return e != null ? T_(e) ? e : [e] : [];
}
function O2e(e, t, r) {
  let n = e[0], i = e[1], o;
  return i < n && (o = i, i = n, n = o), o = i - n, o >= r - t ? [t, r] : [n = Math.min(Math.max(n, t), r - o), n + o];
}
function A_(e) {
  return typeof e == "function";
}
const T2e = "descending";
function C2e(e, t, r) {
  r = r || {}, t = od(t) || [];
  const n = [], i = [], o = {}, l = r.comparator || x2e;
  return od(e).forEach((c, g) => {
    c != null && (n.push(t[g] === T2e ? -1 : 1), i.push(c = A_(c) ? c : PN(c, null, r)), (Qee(c) || []).forEach((y) => o[y] = 1));
  }), i.length === 0 ? null : bo(l(i, n), Object.keys(o));
}
const NN = (e, t) => (e < t || e == null) && t != null ? -1 : (e > t || t == null) && e != null ? 1 : (t = t instanceof Date ? +t : t, (e = e instanceof Date ? +e : e) !== e && t === t ? -1 : t !== t && e === e ? 1 : 0), x2e = (e, t) => e.length === 1 ? A2e(e[0], t[0]) : D2e(e, t, e.length), A2e = (e, t) => function(r, n) {
  return NN(e(r), e(n)) * t;
}, D2e = (e, t, r) => (t.push(0), function(n, i) {
  let o, l = 0, c = -1;
  for (; l === 0 && ++c < r; )
    o = e[c], l = NN(o(n), o(i));
  return l * t[c];
});
function P2e(e) {
  return A_(e) ? e : () => e;
}
function k2e(e, t) {
  let r;
  return (n) => {
    r && clearTimeout(r), r = setTimeout(() => (t(n), r = null), e);
  };
}
function ute(e) {
  for (let t, r, n = 1, i = arguments.length; n < i; ++n) {
    t = arguments[n];
    for (r in t)
      e[r] = t[r];
  }
  return e;
}
function R2e(e, t) {
  let r = 0, n, i, o, l;
  if (e && (n = e.length))
    if (t == null) {
      for (i = e[r]; r < n && (i == null || i !== i); i = e[++r]) ;
      for (o = l = i; r < n; ++r)
        i = e[r], i != null && (i < o && (o = i), i > l && (l = i));
    } else {
      for (i = t(e[r]); r < n && (i == null || i !== i); i = t(e[++r])) ;
      for (o = l = i; r < n; ++r)
        i = t(e[r]), i != null && (i < o && (o = i), i > l && (l = i));
    }
  return [o, l];
}
function M2e(e, t) {
  const r = e.length;
  let n = -1, i, o, l, c, g;
  if (t == null) {
    for (; ++n < r; )
      if (o = e[n], o != null && o >= o) {
        i = l = o;
        break;
      }
    if (n === r) return [-1, -1];
    for (c = g = n; ++n < r; )
      o = e[n], o != null && (i > o && (i = o, c = n), l < o && (l = o, g = n));
  } else {
    for (; ++n < r; )
      if (o = t(e[n], n, e), o != null && o >= o) {
        i = l = o;
        break;
      }
    if (n === r) return [-1, -1];
    for (c = g = n; ++n < r; )
      o = t(e[n], n, e), o != null && (i > o && (i = o, c = n), l < o && (l = o, g = n));
  }
  return [c, g];
}
const N2e = Object.prototype.hasOwnProperty;
function Cs(e, t) {
  return N2e.call(e, t);
}
const Um = {};
function I2e(e) {
  let t = {}, r;
  function n(o) {
    return Cs(t, o) && t[o] !== Um;
  }
  const i = {
    size: 0,
    empty: 0,
    object: t,
    has: n,
    get(o) {
      return n(o) ? t[o] : void 0;
    },
    set(o, l) {
      return n(o) || (++i.size, t[o] === Um && --i.empty), t[o] = l, this;
    },
    delete(o) {
      return n(o) && (--i.size, ++i.empty, t[o] = Um), this;
    },
    clear() {
      i.size = i.empty = 0, i.object = t = {};
    },
    test(o) {
      return arguments.length ? (r = o, i) : r;
    },
    clean() {
      const o = {};
      let l = 0;
      for (const c in t) {
        const g = t[c];
        g !== Um && (!r || !r(g)) && (o[c] = g, ++l);
      }
      i.size = l, i.empty = 0, i.object = t = o;
    }
  };
  return e && Object.keys(e).forEach((o) => {
    i.set(o, e[o]);
  }), i;
}
function F2e(e, t, r, n, i, o) {
  if (!r && r !== 0) return o;
  const l = +r;
  let c = e[0], g = Hl(e), y;
  g < c && (y = c, c = g, g = y), y = Math.abs(t - c);
  const C = Math.abs(g - t);
  return y < C && y <= l ? n : C <= l ? i : o;
}
function L2e(e, t, r) {
  const n = e.prototype = Object.create(t.prototype);
  return Object.defineProperty(n, "constructor", {
    value: e,
    writable: !0,
    enumerable: !0,
    configurable: !0
  }), ute(n, r);
}
function j2e(e, t, r, n) {
  let i = t[0], o = t[t.length - 1], l;
  return i > o && (l = i, i = o, o = l), r = r === void 0 || r, n = n === void 0 || n, (r ? i <= e : i < e) && (n ? e <= o : e < o);
}
function U2e(e) {
  return typeof e == "boolean";
}
function lte(e) {
  return Object.prototype.toString.call(e) === "[object Date]";
}
function q2e(e) {
  return e && A_(e[Symbol.iterator]);
}
function cte(e) {
  return typeof e == "number";
}
function z2e(e) {
  return Object.prototype.toString.call(e) === "[object RegExp]";
}
function fte(e) {
  return typeof e == "string";
}
function B2e(e, t, r) {
  e && (e = t ? od(e).map((c) => c.replace(/\\(.)/g, "$1")) : od(e));
  const n = e && e.length, i = r && r.get || Zee, o = (c) => i(t ? [c] : DN(c));
  let l;
  if (!n)
    l = function() {
      return "";
    };
  else if (n === 1) {
    const c = o(e[0]);
    l = function(g) {
      return "" + c(g);
    };
  } else {
    const c = e.map(o);
    l = function(g) {
      let y = "" + c[0](g), C = 0;
      for (; ++C < n; ) y += "|" + c[C](g);
      return y;
    };
  }
  return bo(l, e, "key");
}
function W2e(e, t) {
  const r = e[0], n = Hl(e), i = +t;
  return i ? i === 1 ? n : r + i * (n - r) : r;
}
const $2e = 1e4;
function V2e(e) {
  e = +e || $2e;
  let t, r, n;
  const i = () => {
    t = {}, r = {}, n = 0;
  }, o = (l, c) => (++n > e && (r = t, t = {}, n = 1), t[l] = c);
  return i(), {
    clear: i,
    has: (l) => Cs(t, l) || Cs(r, l),
    get: (l) => Cs(t, l) ? t[l] : Cs(r, l) ? o(l, r[l]) : void 0,
    set: (l, c) => Cs(t, l) ? t[l] = c : o(l, c)
  };
}
function H2e(e, t, r, n) {
  const i = t.length, o = r.length;
  if (!o) return t;
  if (!i) return r;
  const l = n || new t.constructor(i + o);
  let c = 0, g = 0, y = 0;
  for (; c < i && g < o; ++y)
    l[y] = e(t[c], r[g]) > 0 ? r[g++] : t[c++];
  for (; c < i; ++c, ++y)
    l[y] = t[c];
  for (; g < o; ++g, ++y)
    l[y] = r[g];
  return l;
}
function Ef(e, t) {
  let r = "";
  for (; --t >= 0; ) r += e;
  return r;
}
function Y2e(e, t, r, n) {
  const i = r || " ", o = e + "", l = t - o.length;
  return l <= 0 ? o : n === "left" ? Ef(i, l) + o : n === "center" ? Ef(i, ~~(l / 2)) + o + Ef(i, Math.ceil(l / 2)) : o + Ef(i, l);
}
function G2e(e) {
  return e && Hl(e) - e[0] || 0;
}
function dte(e) {
  return T_(e) ? "[" + e.map(dte) + "]" : ay(e) || fte(e) ? (
    // Output valid JSON and JS source strings.
    // See http://timelessrepo.com/json-isnt-a-javascript-subset
    JSON.stringify(e).replace("\u2028", "\\u2028").replace("\u2029", "\\u2029")
  ) : e;
}
function K2e(e) {
  return e == null || e === "" ? null : !e || e === "false" || e === "0" ? !1 : !!e;
}
const X2e = (e) => cte(e) || lte(e) ? e : Date.parse(e);
function Q2e(e, t) {
  return t = t || X2e, e == null || e === "" ? null : t(e);
}
function Z2e(e) {
  return e == null || e === "" ? null : e + "";
}
function J2e(e) {
  const t = {}, r = e.length;
  for (let n = 0; n < r; ++n) t[e[n]] = !0;
  return t;
}
function eLe(e, t, r, n) {
  const i = n ?? "…", o = e + "", l = o.length, c = Math.max(0, t - i.length);
  return l <= t ? o : r === "left" ? i + o.slice(l - c) : r === "center" ? o.slice(0, Math.ceil(c / 2)) + i + o.slice(l - ~~(c / 2)) : o.slice(0, c) + i;
}
function tLe(e, t, r) {
  if (e)
    if (t) {
      const n = e.length;
      for (let i = 0; i < n; ++i) {
        const o = t(e[i]);
        o && r(o, i, e);
      }
    } else
      e.forEach(r);
}
const rLe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  Debug: nte,
  Error: ete,
  Info: rte,
  None: Jee,
  Warn: tte,
  accessor: bo,
  accessorFields: Qee,
  accessorName: r2e,
  array: od,
  ascending: NN,
  clampRange: O2e,
  compare: C2e,
  constant: P2e,
  debounce: k2e,
  error: Gv,
  extend: ute,
  extent: R2e,
  extentIndex: M2e,
  falsy: l2e,
  fastmap: I2e,
  field: PN,
  flush: F2e,
  hasOwnProperty: Cs,
  id: a2e,
  identity: kN,
  inherits: L2e,
  inrange: j2e,
  isArray: T_,
  isBoolean: U2e,
  isDate: lte,
  isFunction: A_,
  isIterable: q2e,
  isNumber: cte,
  isObject: ay,
  isRegExp: z2e,
  isString: fte,
  key: B2e,
  lerp: W2e,
  logger: f2e,
  lruCache: V2e,
  merge: H2e,
  mergeConfig: d2e,
  one: s2e,
  pad: Y2e,
  panLinear: h2e,
  panLog: m2e,
  panPow: v2e,
  panSymlog: g2e,
  peek: Hl,
  quarter: S2e,
  repeat: Ef,
  span: G2e,
  splitAccessPath: DN,
  stringValue: dte,
  toBoolean: K2e,
  toDate: Q2e,
  toNumber: MN,
  toSet: J2e,
  toString: Z2e,
  truncate: eLe,
  truthy: u2e,
  utcquarter: w2e,
  visitArray: tLe,
  writeConfig: RN,
  zero: o2e,
  zoomLinear: y2e,
  zoomLog: b2e,
  zoomPow: _2e,
  zoomSymlog: E2e
}, Symbol.toStringTag, { value: "Module" })), lt = /* @__PURE__ */ On(rLe);
var Qx = {}, xo = {}, L9;
function IN() {
  if (L9) return xo;
  L9 = 1, Object.defineProperty(xo, "__esModule", { value: !0 });
  function e(o) {
    return !!o.or;
  }
  xo.isLogicalOr = e;
  function t(o) {
    return !!o.and;
  }
  xo.isLogicalAnd = t;
  function r(o) {
    return !!o.not;
  }
  xo.isLogicalNot = r;
  function n(o, l) {
    if (r(o))
      n(o.not, l);
    else if (t(o))
      for (var c = 0, g = o.and; c < g.length; c++) {
        var y = g[c];
        n(y, l);
      }
    else if (e(o))
      for (var C = 0, D = o.or; C < D.length; C++) {
        var y = D[C];
        n(y, l);
      }
    else
      l(o);
  }
  xo.forEachLeaf = n;
  function i(o, l) {
    return r(o) ? { not: i(o.not, l) } : t(o) ? { and: o.and.map(function(c) {
      return i(c, l);
    }) } : e(o) ? { or: o.or.map(function(c) {
      return i(c, l);
    }) } : l(o);
  }
  return xo.normalizeLogicalOperand = i, xo;
}
var j9;
function Ze() {
  return j9 || (j9 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = t.__importDefault(CJ()), n = lt, i = IN();
    function o(P, I) {
      for (var L = {}, R = 0, q = I; R < q.length; R++) {
        var B = q[R];
        P.hasOwnProperty(B) && (L[B] = P[B]);
      }
      return L;
    }
    e.pick = o;
    function l(P, I) {
      for (var L = t.__assign({}, P), R = 0, q = I; R < q.length; R++) {
        var B = q[R];
        delete L[B];
      }
      return L;
    }
    e.omit = l, e.stringify = r.default;
    function c(P) {
      if (n.isNumber(P))
        return P;
      var I = n.isString(P) ? P : r.default(P);
      if (I.length < 100)
        return I;
      for (var L = 0, R = 0; R < I.length; R++) {
        var q = I.charCodeAt(R);
        L = (L << 5) - L + q, L = L & L;
      }
      return L;
    }
    e.hash = c;
    function g(P, I) {
      return P.indexOf(I) > -1;
    }
    e.contains = g;
    function y(P, I) {
      return P.filter(function(L) {
        return !g(I, L);
      });
    }
    e.without = y;
    function C(P, I) {
      return P.concat(y(I, P));
    }
    e.union = C;
    function D(P, I) {
      for (var L = 0, R = 0; R < P.length; R++)
        if (I(P[R], R, L++))
          return !0;
      return !1;
    }
    e.some = D;
    function x(P, I) {
      for (var L = 0, R = 0; R < P.length; R++)
        if (!I(P[R], R, L++))
          return !1;
      return !0;
    }
    e.every = x;
    function M(P) {
      return [].concat.apply([], P);
    }
    e.flatten = M;
    function N(P) {
      for (var I = [], L = 1; L < arguments.length; L++)
        I[L - 1] = arguments[L];
      for (var R = 0, q = I; R < q.length; R++) {
        var B = q[R];
        P = F(P, B);
      }
      return P;
    }
    e.mergeDeep = N;
    function F(P, I) {
      if (typeof I != "object" || I === null)
        return P;
      for (var L in I)
        I.hasOwnProperty(L) && I[L] !== void 0 && (typeof I[L] != "object" || n.isArray(I[L]) || I[L] === null ? P[L] = I[L] : typeof P[L] != "object" || P[L] === null ? P[L] = N(n.isArray(I[L].constructor) ? [] : {}, I[L]) : N(P[L], I[L]));
      return P;
    }
    function z(P, I) {
      for (var L = [], R = {}, q, B = 0, j = P; B < j.length; B++) {
        var k = j[B];
        q = I(k), !(q in R) && (R[q] = 1, L.push(k));
      }
      return L;
    }
    e.unique = z;
    function A(P, I) {
      for (var L in P)
        if (P.hasOwnProperty(L) && I[L] && P[L] && I[L] !== P[L])
          return !0;
      return !1;
    }
    e.differ = A;
    function u(P, I) {
      for (var L in P)
        if (L in I)
          return !0;
      return !1;
    }
    e.hasIntersection = u;
    function a(P) {
      return !isNaN(P);
    }
    e.isNumeric = a;
    function s(P, I) {
      if (P.length !== I.length)
        return !0;
      P.sort(), I.sort();
      for (var L = 0; L < P.length; L++)
        if (I[L] !== P[L])
          return !0;
      return !1;
    }
    e.differArray = s, e.keys = Object.keys;
    function h(P) {
      var I = [];
      for (var L in P)
        P.hasOwnProperty(L) && I.push(P[L]);
      return I;
    }
    e.vals = h;
    function E(P) {
      return e.keys(P);
    }
    e.flagKeys = E;
    function f(P) {
      return JSON.parse(JSON.stringify(P));
    }
    e.duplicate = f;
    function S(P) {
      return P === !0 || P === !1;
    }
    e.isBoolean = S;
    function _(P) {
      var I = P.replace(/\W/g, "_");
      return (P.match(/^\d+/) ? "_" : "") + I;
    }
    e.varName = _;
    function d(P, I) {
      return i.isLogicalNot(P) ? "!(" + d(P.not, I) + ")" : i.isLogicalAnd(P) ? "(" + P.and.map(function(L) {
        return d(L, I);
      }).join(") && (") + ")" : i.isLogicalOr(P) ? "(" + P.or.map(function(L) {
        return d(L, I);
      }).join(") || (") + ")" : I(P);
    }
    e.logicalExpr = d;
    function p(P, I) {
      if (I.length === 0)
        return !0;
      var L = I.shift();
      return p(P[L], I) && delete P[L], Object.keys(P).length === 0;
    }
    e.deleteNestedProperty = p;
    function b(P) {
      return P.charAt(0).toUpperCase() + P.substr(1);
    }
    e.titlecase = b;
    function m(P, I) {
      I === void 0 && (I = "datum");
      for (var L = n.splitAccessPath(P), R = [], q = 1; q <= L.length; q++) {
        var B = "[" + L.slice(0, q).map(n.stringValue).join("][") + "]";
        R.push("" + I + B);
      }
      return R.join(" && ");
    }
    e.accessPathWithDatum = m;
    function v(P, I) {
      return I === void 0 && (I = "datum"), I + "[" + n.stringValue(n.splitAccessPath(P).join(".")) + "]";
    }
    e.flatAccessWithDatum = v;
    function O(P) {
      return "" + n.splitAccessPath(P).map(function(I) {
        return I.replace(".", "\\.");
      }).join("\\.");
    }
    e.replacePathInField = O;
    function T(P) {
      return "" + n.splitAccessPath(P).join(".");
    }
    e.removePathFromField = T;
    function w(P) {
      return P ? n.splitAccessPath(P).length : 0;
    }
    e.accessPathDepth = w;
  }(Qx)), Qx;
}
var U9;
function tp() {
  return U9 || (U9 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = lt, r = Ze(), n = {
      argmax: 1,
      argmin: 1,
      average: 1,
      count: 1,
      distinct: 1,
      max: 1,
      mean: 1,
      median: 1,
      min: 1,
      missing: 1,
      q1: 1,
      q3: 1,
      ci0: 1,
      ci1: 1,
      stderr: 1,
      stdev: 1,
      stdevp: 1,
      sum: 1,
      valid: 1,
      values: 1,
      variance: 1,
      variancep: 1
    };
    e.AGGREGATE_OPS = r.flagKeys(n);
    function i(l) {
      return !!n[l];
    }
    e.isAggregateOp = i, e.COUNTING_OPS = ["count", "valid", "missing", "distinct"];
    function o(l) {
      return l && r.contains(e.COUNTING_OPS, l);
    }
    e.isCountingAggregateOp = o, e.SUM_OPS = [
      "count",
      "sum",
      "distinct",
      "valid",
      "missing"
    ], e.SHARED_DOMAIN_OPS = [
      "mean",
      "average",
      "median",
      "q1",
      "q3",
      "min",
      "max"
    ], e.SHARED_DOMAIN_OP_INDEX = t.toSet(e.SHARED_DOMAIN_OPS);
  }(Xx)), Xx;
}
var Ao = {}, q9;
function FN() {
  if (q9) return Ao;
  q9 = 1, Object.defineProperty(Ao, "__esModule", { value: !0 });
  var e = Pe, t = Ze();
  Ao.AXIS_PARTS = ["domain", "grid", "labels", "ticks", "title"], Ao.AXIS_PROPERTY_TYPE = {
    grid: "grid",
    gridScale: "grid",
    domain: "main",
    labels: "main",
    labelFlush: "main",
    labelOverlap: "main",
    minExtent: "main",
    maxExtent: "main",
    offset: "main",
    ticks: "main",
    title: "main",
    values: "both",
    scale: "both",
    zindex: "both"
    // this is actually set afterward, so it doesn't matter
  };
  var r = {
    orient: 1,
    domain: 1,
    format: 1,
    grid: 1,
    labelBound: 1,
    labelFlush: 1,
    labelPadding: 1,
    labels: 1,
    labelOverlap: 1,
    maxExtent: 1,
    minExtent: 1,
    offset: 1,
    position: 1,
    tickCount: 1,
    ticks: 1,
    tickSize: 1,
    title: 1,
    titlePadding: 1,
    values: 1,
    zindex: 1
  }, n = e.__assign({}, r, { encoding: 1, labelAngle: 1, titleMaxLength: 1 }), i = e.__assign({ scale: 1 }, r, { gridScale: 1, encode: 1 });
  function o(l) {
    return !!n[l];
  }
  return Ao.isAxisProperty = o, Ao.VG_AXIS_PROPERTIES = t.flagKeys(i), Ao.AXIS_PROPERTIES = t.flagKeys(n), Ao;
}
var ku = {}, Zx = {}, z9;
function wt() {
  return z9 || (z9 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = Ze(), n;
    (function(u) {
      u.ROW = "row", u.COLUMN = "column", u.X = "x", u.Y = "y", u.X2 = "x2", u.Y2 = "y2", u.LATITUDE = "latitude", u.LONGITUDE = "longitude", u.LATITUDE2 = "latitude2", u.LONGITUDE2 = "longitude2", u.COLOR = "color", u.FILL = "fill", u.STROKE = "stroke", u.SHAPE = "shape", u.SIZE = "size", u.OPACITY = "opacity", u.TEXT = "text", u.ORDER = "order", u.DETAIL = "detail", u.KEY = "key", u.TOOLTIP = "tooltip", u.HREF = "href";
    })(n = e.Channel || (e.Channel = {})), e.X = n.X, e.Y = n.Y, e.X2 = n.X2, e.Y2 = n.Y2, e.LATITUDE = n.LATITUDE, e.LATITUDE2 = n.LATITUDE2, e.LONGITUDE = n.LONGITUDE, e.LONGITUDE2 = n.LONGITUDE2, e.ROW = n.ROW, e.COLUMN = n.COLUMN, e.SHAPE = n.SHAPE, e.SIZE = n.SIZE, e.COLOR = n.COLOR, e.FILL = n.FILL, e.STROKE = n.STROKE, e.TEXT = n.TEXT, e.DETAIL = n.DETAIL, e.KEY = n.KEY, e.ORDER = n.ORDER, e.OPACITY = n.OPACITY, e.TOOLTIP = n.TOOLTIP, e.HREF = n.HREF, e.GEOPOSITION_CHANNEL_INDEX = {
      longitude: 1,
      longitude2: 1,
      latitude: 1,
      latitude2: 1
    }, e.GEOPOSITION_CHANNELS = r.flagKeys(e.GEOPOSITION_CHANNEL_INDEX);
    var i = t.__assign({
      // position
      x: 1,
      y: 1,
      x2: 1,
      y2: 1
    }, e.GEOPOSITION_CHANNEL_INDEX, {
      // color
      color: 1,
      fill: 1,
      stroke: 1,
      // other non-position with scale
      opacity: 1,
      size: 1,
      shape: 1,
      // channels without scales
      order: 1,
      text: 1,
      detail: 1,
      key: 1,
      tooltip: 1,
      href: 1
    });
    function o(u) {
      return u === "color" || u === "fill" || u === "stroke";
    }
    e.isColorChannel = o;
    var l = {
      row: 1,
      column: 1
    }, c = t.__assign({}, i, l);
    e.CHANNELS = r.flagKeys(c), c.order, c.detail;
    var g = t.__rest(c, ["order", "detail"]);
    e.SINGLE_DEF_CHANNELS = r.flagKeys(g);
    function y(u) {
      return !!c[u];
    }
    e.isChannel = y, e.UNIT_CHANNELS = r.flagKeys(i), i.x, i.y, i.x2, i.y2, i.latitude, i.longitude, i.latitude2, i.longitude2;
    var C = t.__rest(i, ["x", "y", "x2", "y2", "latitude", "longitude", "latitude2", "longitude2"]);
    e.NONPOSITION_CHANNELS = r.flagKeys(C);
    var D = { x: 1, y: 1 };
    e.POSITION_SCALE_CHANNELS = r.flagKeys(D), C.text, C.tooltip, C.href, C.detail, C.key, C.order;
    var x = t.__rest(C, ["text", "tooltip", "href", "detail", "key", "order"]);
    e.NONPOSITION_SCALE_CHANNELS = r.flagKeys(x);
    var M = t.__assign({}, D, x);
    e.SCALE_CHANNELS = r.flagKeys(M);
    function N(u) {
      return !!M[u];
    }
    e.isScaleChannel = N;
    function F(u, a) {
      return a in z(u);
    }
    e.supportMark = F;
    function z(u) {
      switch (u) {
        case e.COLOR:
        case e.FILL:
        case e.STROKE:
        case e.DETAIL:
        case e.KEY:
        case e.TOOLTIP:
        case e.HREF:
        case e.ORDER:
        case e.OPACITY:
        case e.ROW:
        case e.COLUMN:
          return {
            point: !0,
            tick: !0,
            rule: !0,
            circle: !0,
            square: !0,
            bar: !0,
            rect: !0,
            line: !0,
            trail: !0,
            area: !0,
            text: !0,
            geoshape: !0
          };
        case e.X:
        case e.Y:
        case e.LATITUDE:
        case e.LONGITUDE:
          return {
            point: !0,
            tick: !0,
            rule: !0,
            circle: !0,
            square: !0,
            bar: !0,
            rect: !0,
            line: !0,
            trail: !0,
            area: !0,
            text: !0
          };
        case e.X2:
        case e.Y2:
        case e.LATITUDE2:
        case e.LONGITUDE2:
          return {
            rule: !0,
            bar: !0,
            rect: !0,
            area: !0
          };
        case e.SIZE:
          return {
            point: !0,
            tick: !0,
            rule: !0,
            circle: !0,
            square: !0,
            bar: !0,
            text: !0,
            line: !0,
            trail: !0
          };
        case e.SHAPE:
          return { point: !0, geoshape: !0 };
        case e.TEXT:
          return { text: !0 };
      }
    }
    e.getSupportedMark = z;
    function A(u) {
      switch (u) {
        case e.X:
        case e.Y:
        case e.SIZE:
        case e.OPACITY:
        case e.X2:
        case e.Y2:
          return "continuous";
        case e.ROW:
        case e.COLUMN:
        case e.SHAPE:
        case e.TEXT:
        case e.TOOLTIP:
        case e.HREF:
          return "discrete";
        case e.COLOR:
        case e.FILL:
        case e.STROKE:
          return "flexible";
        case e.LATITUDE:
        case e.LONGITUDE:
        case e.LATITUDE2:
        case e.LONGITUDE2:
        case e.DETAIL:
        case e.KEY:
        case e.ORDER:
          return;
      }
      throw new Error("rangeType not implemented for " + u);
    }
    e.rangeType = A;
  }(Zx)), Zx;
}
var B9;
function rp() {
  if (B9) return ku;
  B9 = 1, Object.defineProperty(ku, "__esModule", { value: !0 });
  var e = lt, t = wt(), r = Ze();
  function n(l) {
    return e.isBoolean(l) ? "bin" : "bin" + r.keys(l).map(function(c) {
      return r.varName("_" + c + "_" + l[c]);
    }).join("");
  }
  ku.binToString = n;
  function i(l) {
    return l && !e.isBoolean(l);
  }
  ku.isBinParams = i;
  function o(l) {
    switch (l) {
      case t.ROW:
      case t.COLUMN:
      case t.SIZE:
      case t.COLOR:
      case t.FILL:
      case t.STROKE:
      case t.OPACITY:
      case t.SHAPE:
        return 6;
      default:
        return 10;
    }
  }
  return ku.autoMaxBins = o, ku;
}
var Do = {}, Jx = {}, W9;
function ln() {
  return W9 || (W9 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = lt, r = Ze(), n;
    (function(C) {
      C.AREA = "area", C.BAR = "bar", C.LINE = "line", C.POINT = "point", C.RECT = "rect", C.RULE = "rule", C.TEXT = "text", C.TICK = "tick", C.TRAIL = "trail", C.CIRCLE = "circle", C.SQUARE = "square", C.GEOSHAPE = "geoshape";
    })(n = e.Mark || (e.Mark = {})), e.AREA = n.AREA, e.BAR = n.BAR, e.LINE = n.LINE, e.POINT = n.POINT, e.TEXT = n.TEXT, e.TICK = n.TICK, e.TRAIL = n.TRAIL, e.RECT = n.RECT, e.RULE = n.RULE, e.GEOSHAPE = n.GEOSHAPE, e.CIRCLE = n.CIRCLE, e.SQUARE = n.SQUARE;
    var i = {
      area: 1,
      bar: 1,
      line: 1,
      point: 1,
      text: 1,
      tick: 1,
      trail: 1,
      rect: 1,
      geoshape: 1,
      rule: 1,
      circle: 1,
      square: 1
    };
    function o(C) {
      return !!i[C];
    }
    e.isMark = o;
    function l(C) {
      return r.contains(["line", "area", "trail"], C);
    }
    e.isPathMark = l, e.PRIMITIVE_MARKS = r.flagKeys(i);
    function c(C) {
      return C.type;
    }
    e.isMarkDef = c;
    var g = t.toSet(e.PRIMITIVE_MARKS);
    function y(C) {
      var D = c(C) ? C.type : C;
      return D in g;
    }
    e.isPrimitiveMark = y, e.STROKE_CONFIG = [
      "stroke",
      "strokeWidth",
      "strokeDash",
      "strokeDashOffset",
      "strokeOpacity",
      "strokeJoin",
      "strokeMiterLimit"
    ], e.FILL_CONFIG = ["fill", "fillOpacity"], e.FILL_STROKE_CONFIG = [].concat(e.STROKE_CONFIG, e.FILL_CONFIG), e.VL_ONLY_MARK_CONFIG_PROPERTIES = ["filled", "color"], e.VL_ONLY_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX = {
      area: ["line", "point"],
      bar: ["binSpacing", "continuousBandSize", "discreteBandSize"],
      line: ["point"],
      text: ["shortTimeLabels"],
      tick: ["bandSize", "thickness"]
    }, e.defaultMarkConfig = {
      color: "#4c78a8"
    }, e.defaultBarConfig = {
      binSpacing: 1,
      continuousBandSize: 5
    }, e.defaultTickConfig = {
      thickness: 1
    };
  }(Jx)), Jx;
}
var eA = {}, fa = {}, tA = {}, rA = {}, nA = {}, $9;
function _t() {
  return $9 || ($9 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = lt, r = Ze(), n = t.logger(t.Warn), i = n, o = (
      /** @class */
      function() {
        function x() {
          this.warns = [], this.infos = [], this.debugs = [];
        }
        return x.prototype.level = function() {
          return this;
        }, x.prototype.warn = function() {
          for (var M = [], N = 0; N < arguments.length; N++)
            M[N] = arguments[N];
          var F;
          return (F = this.warns).push.apply(F, M), this;
        }, x.prototype.info = function() {
          for (var M = [], N = 0; N < arguments.length; N++)
            M[N] = arguments[N];
          var F;
          return (F = this.infos).push.apply(F, M), this;
        }, x.prototype.debug = function() {
          for (var M = [], N = 0; N < arguments.length; N++)
            M[N] = arguments[N];
          var F;
          return (F = this.debugs).push.apply(F, M), this;
        }, x.prototype.error = function() {
          for (var M = [], N = 0; N < arguments.length; N++)
            M[N] = arguments[N];
          throw Error.apply(void 0, M);
        }, x;
      }()
    );
    e.LocalLogger = o;
    function l(x) {
      return function() {
        i = new o(), x(i), g();
      };
    }
    e.wrap = l;
    function c(x) {
      return i = x, i;
    }
    e.set = c;
    function g() {
      return i = n, i;
    }
    e.reset = g;
    function y() {
      i.warn.apply(i, arguments);
    }
    e.warn = y;
    function C() {
      i.info.apply(i, arguments);
    }
    e.info = C;
    function D() {
      i.debug.apply(i, arguments);
    }
    e.debug = D, function(x) {
      x.INVALID_SPEC = "Invalid spec", x.FIT_NON_SINGLE = 'Autosize "fit" only works for single views and layered views.', x.CANNOT_FIX_RANGE_STEP_WITH_FIT = 'Cannot use a fixed value of "rangeStep" when "autosize" is "fit".';
      function M(ee) {
        return 'Cannot project a selection on encoding channel "' + ee + '", which has no field.';
      }
      x.cannotProjectOnChannelWithoutField = M;
      function N(ee) {
        return 'The "nearest" transform is not supported for ' + ee + " marks.";
      }
      x.nearestNotSupportForContinuous = N;
      function F(ee) {
        return 'Cannot find a selection named "' + ee + '"';
      }
      x.selectionNotFound = F, x.SCALE_BINDINGS_CONTINUOUS = "Scale bindings are currently only supported for scales with unbinned, continuous domains.";
      function z(ee) {
        return 'Unknown repeated value "' + ee + '".';
      }
      x.noSuchRepeatedValue = z, x.CONCAT_CANNOT_SHARE_AXIS = "Axes cannot be shared in concatenated views.", x.REPEAT_CANNOT_SHARE_AXIS = "Axes cannot be shared in repeated views.";
      function A(ee) {
        return 'Cannot set title "anchor" for a ' + ee + " spec";
      }
      x.cannotSetTitleAnchor = A;
      function u(ee) {
        return 'Unrecognized parse "' + ee + '".';
      }
      x.unrecognizedParse = u;
      function a(ee, te, ue) {
        return 'An ancestor parsed field "' + ee + '" as ' + ue + " but a child wants to parse the field as " + te + ".";
      }
      x.differentParse = a;
      function s(ee) {
        return "Ignoring an invalid transform: " + r.stringify(ee) + ".";
      }
      x.invalidTransformIgnored = s, x.NO_FIELDS_NEEDS_AS = 'If "from.fields" is not specified, "as" has to be a string that specifies the key to be used for the data from the secondary source.';
      function h(ee) {
        return "Layer's shared " + ee.join(",") + " channel " + (ee.length === 1 ? "is" : "are") + " overriden";
      }
      x.encodingOverridden = h;
      function E(ee) {
        var te = ee.parentProjection, ue = ee.projection;
        return "Layer's shared projection " + r.stringify(te) + " is overridden by a child projection " + r.stringify(ue) + ".";
      }
      x.projectionOverridden = E;
      function f(ee, te, ue) {
        return "Channel " + ee + " is a " + te + ". Converted to {value: " + r.stringify(ue) + "}.";
      }
      x.primitiveChannelDef = f;
      function S(ee) {
        return 'Invalid field type "' + ee + '"';
      }
      x.invalidFieldType = S;
      function _(ee, te, ue) {
        var le = ue.scaleType ? ue.scaleType + " scale" : ue.zeroFalse ? "scale with zero=false" : "scale with custom domain that excludes zero";
        return "A " + le + " is used to encode " + ee + "'s " + te + ". This can be misleading as the " + (te === "x" ? "width" : "height") + " of the " + ee + " can be arbitrary based on the scale domain. You may want to use point mark instead.";
      }
      x.nonZeroScaleUsedWithLengthMark = _;
      function d(ee, te) {
        return 'Invalid field type "' + ee + '" for aggregate: "' + te + '", using "quantitative" instead.';
      }
      x.invalidFieldTypeForCountAggregate = d;
      function p(ee) {
        return 'Invalid aggregation operator "' + ee + '"';
      }
      x.invalidAggregate = p;
      function b(ee, te, ue) {
        return 'Invalid field type "' + ee + '" for channel "' + te + '", using "' + ue + '" instead.';
      }
      x.emptyOrInvalidFieldType = b;
      function m(ee, te) {
        var ue = te.fill, le = te.stroke;
        return "Dropping color " + ee + " as the plot also has " + (ue && le ? "fill and stroke" : ue ? "fill" : "stroke");
      }
      x.droppingColor = m;
      function v(ee, te) {
        return "Dropping " + r.stringify(ee) + ' from channel "' + te + '" since it does not contain data field or value.';
      }
      x.emptyFieldDef = v;
      function O(ee, te, ue) {
        return ee + "-encoding with type " + te + " is deprecated. Replacing with " + ue + "-encoding.";
      }
      x.latLongDeprecated = O, x.LINE_WITH_VARYING_SIZE = "Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.";
      function T(ee, te, ue) {
        return ee + ' dropped as it is incompatible with "' + te + '"' + (ue ? " when " + ue : "") + ".";
      }
      x.incompatibleChannel = T;
      function w(ee) {
        return ee + "-encoding is dropped as " + ee + " is not a valid encoding channel.";
      }
      x.invalidEncodingChannel = w;
      function P(ee) {
        return ee + " encoding should be discrete (ordinal / nominal / binned).";
      }
      x.facetChannelShouldBeDiscrete = P;
      function I(ee, te) {
        return 'Using discrete channel "' + ee + '" to encode "' + te + '" field can be misleading as it does not encode ' + (te === "ordinal" ? "order" : "magnitude") + ".";
      }
      x.discreteChannelCannotEncode = I, x.BAR_WITH_POINT_SCALE_AND_RANGESTEP_NULL = "Bar mark should not be used with point scale when rangeStep is null. Please use band scale instead.";
      function L(ee, te) {
        var ue = ee && te ? "x2 and y2" : ee ? "x2" : "y2";
        return "Line mark is for continuous lines and thus cannot be used with " + ue + ". We will use the rule mark (line segments) instead.";
      }
      x.lineWithRange = L;
      function R(ee, te) {
        return 'Specified orient "' + ee + '" overridden with "' + te + '"';
      }
      x.orientOverridden = R, x.CANNOT_UNION_CUSTOM_DOMAIN_WITH_FIELD_DOMAIN = "custom domain scale cannot be unioned with default field-based domain";
      function q(ee) {
        return 'Cannot use the scale property "' + ee + '" with non-color channel.';
      }
      x.cannotUseScalePropertyWithNonColor = q;
      function B(ee) {
        return "Using unaggregated domain with raw field has no effect (" + r.stringify(ee) + ").";
      }
      x.unaggregateDomainHasNoEffectForRawField = B;
      function j(ee) {
        return 'Unaggregated domain not applicable for "' + ee + '" since it produces values outside the origin domain of the source data.';
      }
      x.unaggregateDomainWithNonSharedDomainOp = j;
      function k(ee) {
        return "Unaggregated domain is currently unsupported for log scale (" + r.stringify(ee) + ").";
      }
      x.unaggregatedDomainWithLogScale = k;
      function U(ee) {
        return 'Cannot apply size to non-oriented mark "' + ee + '".';
      }
      x.cannotApplySizeToNonOrientedMark = U;
      function W(ee) {
        return 'rangeStep for "' + ee + '" is dropped as top-level ' + (ee === "x" ? "width" : "height") + " is provided.";
      }
      x.rangeStepDropped = W;
      function $(ee, te, ue) {
        return 'Channel "' + ee + '" does not work with "' + te + '" scale. We are using "' + ue + '" scale instead.';
      }
      x.scaleTypeNotWorkWithChannel = $;
      function V(ee, te) {
        return 'FieldDef does not work with "' + ee + '" scale. We are using "' + te + '" scale instead.';
      }
      x.scaleTypeNotWorkWithFieldDef = V;
      function G(ee, te, ue) {
        return ue + `-scale's "` + te + '" is dropped as it does not work with ' + ee + " scale.";
      }
      x.scalePropertyNotWorkWithScaleType = G;
      function X(ee, te) {
        return 'Scale type "' + te + '" does not work with mark "' + ee + '".';
      }
      x.scaleTypeNotWorkWithMark = X;
      function K(ee, te, ue, le) {
        return "Conflicting " + te.toString() + ' property "' + ee.toString() + '" (' + r.stringify(ue) + " and " + r.stringify(le) + ").  Using " + r.stringify(ue) + ".";
      }
      x.mergeConflictingProperty = K;
      function H(ee) {
        return 'Setting the scale to be independent for "' + ee + '" means we also have to set the guide (axis or legend) to be independent.';
      }
      x.independentScaleMeansIndependentGuide = H;
      function Y(ee) {
        return "Dropping sort property " + r.stringify(ee) + " as unioned domains only support boolean or op 'count'.";
      }
      x.domainSortDropped = Y, x.UNABLE_TO_MERGE_DOMAINS = "Unable to merge domains", x.MORE_THAN_ONE_SORT = "Domains that should be unioned has conflicting sort properties. Sort will be set to true.", x.INVALID_CHANNEL_FOR_AXIS = "Invalid channel for axis.";
      function Q(ee) {
        return 'Cannot stack "' + ee + '" if there is already "' + ee + '2"';
      }
      x.cannotStackRangedMark = Q;
      function Z(ee) {
        return "Cannot stack non-linear scale (" + ee + ")";
      }
      x.cannotStackNonLinearScale = Z;
      function J(ee) {
        return 'Stacking is applied even though the aggregate function is non-summative ("' + ee + '")';
      }
      x.stackNonSummativeAggregate = J;
      function ne(ee, te) {
        return "Invalid " + ee + ": " + r.stringify(te);
      }
      x.invalidTimeUnit = ne;
      function ie(ee) {
        return 'Time unit "' + ee + '" is not supported. We are replacing it with ' + ee.replace("day", "date") + ".";
      }
      x.dayReplacedWithDate = ie;
      function re(ee) {
        return "Dropping day from datetime " + r.stringify(ee) + " as day cannot be combined with other units.";
      }
      x.droppedDay = re;
    }(e.message || (e.message = {}));
  }(nA)), nA;
}
var V9;
function D_() {
  return V9 || (V9 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = lt, n = t.__importStar(_t()), i = Ze(), o = 2006;
    function l(D) {
      return !!D && (!!D.year || !!D.quarter || !!D.month || !!D.date || !!D.day || !!D.hours || !!D.minutes || !!D.seconds || !!D.milliseconds);
    }
    e.isDateTime = l, e.MONTHS = ["january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"], e.SHORT_MONTHS = e.MONTHS.map(function(D) {
      return D.substr(0, 3);
    }), e.DAYS = ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"], e.SHORT_DAYS = e.DAYS.map(function(D) {
      return D.substr(0, 3);
    });
    function c(D) {
      if (r.isNumber(D))
        return D > 4 && n.warn(n.message.invalidTimeUnit("quarter", D)), D - 1 + "";
      throw new Error(n.message.invalidTimeUnit("quarter", D));
    }
    function g(D) {
      if (r.isNumber(D))
        return D - 1 + "";
      var x = D.toLowerCase(), M = e.MONTHS.indexOf(x);
      if (M !== -1)
        return M + "";
      var N = x.substr(0, 3), F = e.SHORT_MONTHS.indexOf(N);
      if (F !== -1)
        return F + "";
      throw new Error(n.message.invalidTimeUnit("month", D));
    }
    function y(D) {
      if (r.isNumber(D))
        return D % 7 + "";
      var x = D.toLowerCase(), M = e.DAYS.indexOf(x);
      if (M !== -1)
        return M + "";
      var N = x.substr(0, 3), F = e.SHORT_DAYS.indexOf(N);
      if (F !== -1)
        return F + "";
      throw new Error(n.message.invalidTimeUnit("day", D));
    }
    function C(D, x) {
      x === void 0 && (x = !1);
      var M = [];
      if (x && D.day !== void 0 && i.keys(D).length > 1 && (n.warn(n.message.droppedDay(D)), D = i.duplicate(D), delete D.day), D.year !== void 0 ? M.push(D.year) : D.day !== void 0 ? M.push(o) : M.push(0), D.month !== void 0) {
        var N = x ? g(D.month) : D.month;
        M.push(N);
      } else if (D.quarter !== void 0) {
        var F = x ? c(D.quarter) : D.quarter;
        M.push(F + "*3");
      } else
        M.push(0);
      if (D.date !== void 0)
        M.push(D.date);
      else if (D.day !== void 0) {
        var z = x ? y(D.day) : D.day;
        M.push(z + "+1");
      } else
        M.push(1);
      for (var A = 0, u = ["hours", "minutes", "seconds", "milliseconds"]; A < u.length; A++) {
        var a = u[A];
        D[a] !== void 0 ? M.push(D[a]) : M.push(0);
      }
      return D.utc ? "utc(" + M.join(", ") + ")" : "datetime(" + M.join(", ") + ")";
    }
    e.dateTimeExpr = C;
  }(rA)), rA;
}
var iA = {}, H9;
function np() {
  return H9 || (H9 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = D_(), n = t.__importStar(_t()), i = Ze(), o;
    (function(_) {
      _.YEAR = "year", _.MONTH = "month", _.DAY = "day", _.DATE = "date", _.HOURS = "hours", _.MINUTES = "minutes", _.SECONDS = "seconds", _.MILLISECONDS = "milliseconds", _.YEARMONTH = "yearmonth", _.YEARMONTHDATE = "yearmonthdate", _.YEARMONTHDATEHOURS = "yearmonthdatehours", _.YEARMONTHDATEHOURSMINUTES = "yearmonthdatehoursminutes", _.YEARMONTHDATEHOURSMINUTESSECONDS = "yearmonthdatehoursminutesseconds", _.MONTHDATE = "monthdate", _.HOURSMINUTES = "hoursminutes", _.HOURSMINUTESSECONDS = "hoursminutesseconds", _.MINUTESSECONDS = "minutesseconds", _.SECONDSMILLISECONDS = "secondsmilliseconds", _.QUARTER = "quarter", _.YEARQUARTER = "yearquarter", _.QUARTERMONTH = "quartermonth", _.YEARQUARTERMONTH = "yearquartermonth", _.UTCYEAR = "utcyear", _.UTCMONTH = "utcmonth", _.UTCDAY = "utcday", _.UTCDATE = "utcdate", _.UTCHOURS = "utchours", _.UTCMINUTES = "utcminutes", _.UTCSECONDS = "utcseconds", _.UTCMILLISECONDS = "utcmilliseconds", _.UTCYEARMONTH = "utcyearmonth", _.UTCYEARMONTHDATE = "utcyearmonthdate", _.UTCYEARMONTHDATEHOURS = "utcyearmonthdatehours", _.UTCYEARMONTHDATEHOURSMINUTES = "utcyearmonthdatehoursminutes", _.UTCYEARMONTHDATEHOURSMINUTESSECONDS = "utcyearmonthdatehoursminutesseconds", _.UTCMONTHDATE = "utcmonthdate", _.UTCHOURSMINUTES = "utchoursminutes", _.UTCHOURSMINUTESSECONDS = "utchoursminutesseconds", _.UTCMINUTESSECONDS = "utcminutesseconds", _.UTCSECONDSMILLISECONDS = "utcsecondsmilliseconds", _.UTCQUARTER = "utcquarter", _.UTCYEARQUARTER = "utcyearquarter", _.UTCQUARTERMONTH = "utcquartermonth", _.UTCYEARQUARTERMONTH = "utcyearquartermonth";
    })(o = e.TimeUnit || (e.TimeUnit = {}));
    var l = {
      year: 1,
      quarter: 1,
      month: 1,
      day: 1,
      date: 1,
      hours: 1,
      minutes: 1,
      seconds: 1,
      milliseconds: 1
    };
    e.TIMEUNIT_PARTS = i.flagKeys(l);
    function c(_) {
      return !!l[_];
    }
    e.isLocalSingleTimeUnit = c;
    var g = {
      utcyear: 1,
      utcquarter: 1,
      utcmonth: 1,
      utcday: 1,
      utcdate: 1,
      utchours: 1,
      utcminutes: 1,
      utcseconds: 1,
      utcmilliseconds: 1
    };
    function y(_) {
      return !!g[_];
    }
    e.isUtcSingleTimeUnit = y;
    var C = {
      yearquarter: 1,
      yearquartermonth: 1,
      yearmonth: 1,
      yearmonthdate: 1,
      yearmonthdatehours: 1,
      yearmonthdatehoursminutes: 1,
      yearmonthdatehoursminutesseconds: 1,
      quartermonth: 1,
      monthdate: 1,
      hoursminutes: 1,
      hoursminutesseconds: 1,
      minutesseconds: 1,
      secondsmilliseconds: 1
    }, D = {
      utcyearquarter: 1,
      utcyearquartermonth: 1,
      utcyearmonth: 1,
      utcyearmonthdate: 1,
      utcyearmonthdatehours: 1,
      utcyearmonthdatehoursminutes: 1,
      utcyearmonthdatehoursminutesseconds: 1,
      utcquartermonth: 1,
      utcmonthdate: 1,
      utchoursminutes: 1,
      utchoursminutesseconds: 1,
      utcminutesseconds: 1,
      utcsecondsmilliseconds: 1
    }, x = t.__assign({}, g, D);
    function M(_) {
      return !!x[_];
    }
    e.isUTCTimeUnit = M;
    function N(_) {
      return _.substr(3);
    }
    e.getLocalTimeUnit = N;
    var F = t.__assign({}, l, g, C, D);
    e.TIMEUNITS = i.flagKeys(F);
    function z(_) {
      return !!F[_];
    }
    e.isTimeUnit = z;
    var A = {
      year: "setFullYear",
      month: "setMonth",
      date: "setDate",
      hours: "setHours",
      minutes: "setMinutes",
      seconds: "setSeconds",
      milliseconds: "setMilliseconds",
      // Day and quarter have their own special cases
      quarter: null,
      day: null
    };
    function u(_, d) {
      for (var p = M(_), b = p ? (
        // start with uniform date
        new Date(Date.UTC(0, 0, 1, 0, 0, 0, 0))
      ) : new Date(0, 0, 1, 0, 0, 0, 0), m = 0, v = e.TIMEUNIT_PARTS; m < v.length; m++) {
        var O = v[m];
        if (h(_, O))
          switch (O) {
            case o.DAY:
              throw new Error("Cannot convert to TimeUnits containing 'day'");
            case o.QUARTER: {
              var T = a("month", p), w = T.getDateMethod, P = T.setDateMethod;
              b[P](Math.floor(d[w]() / 3) * 3);
              break;
            }
            default:
              var I = a(O, p), L = I.getDateMethod, R = I.setDateMethod;
              b[R](d[L]());
          }
      }
      return b;
    }
    e.convert = u;
    function a(_, d) {
      var p = A[_], b = d ? "setUTC" + p.substr(3) : p, m = "get" + (d ? "UTC" : "") + p.substr(3);
      return { setDateMethod: b, getDateMethod: m };
    }
    function s(_) {
      return e.TIMEUNIT_PARTS.reduce(function(d, p) {
        return h(_, p) ? d.concat(p) : d;
      }, []);
    }
    e.getTimeUnitParts = s;
    function h(_, d) {
      var p = _.indexOf(d);
      return p > -1 && (d !== o.SECONDS || p === 0 || _.charAt(p - 1) !== "i");
    }
    e.containsTimeUnit = h;
    function E(_, d) {
      var p = i.accessPathWithDatum(d), b = M(_) ? "utc" : "";
      function m(O) {
        return O === o.QUARTER ? "(" + b + "quarter(" + p + ")-1)" : "" + b + O + "(" + p + ")";
      }
      var v = e.TIMEUNIT_PARTS.reduce(function(O, T) {
        return h(_, T) && (O[T] = m(T)), O;
      }, {});
      return r.dateTimeExpr(v);
    }
    e.fieldExpr = E;
    function f(_, d, p, b) {
      if (_) {
        var m = [], v = "", O = h(_, o.YEAR);
        h(_, o.QUARTER) && (v = "'Q' + quarter(" + d + ")"), h(_, o.MONTH) && m.push(p !== !1 ? "%b" : "%B"), h(_, o.DAY) ? m.push(p ? "%a" : "%A") : h(_, o.DATE) && m.push("%d" + (O ? "," : "")), O && m.push(p ? "%y" : "%Y");
        var T = [];
        h(_, o.HOURS) && T.push("%H"), h(_, o.MINUTES) && T.push("%M"), h(_, o.SECONDS) && T.push("%S"), h(_, o.MILLISECONDS) && T.push("%L");
        var w = [];
        return m.length > 0 && w.push(m.join(" ")), T.length > 0 && w.push(T.join(":")), w.length > 0 && (v && (v += " + ' ' + "), b ? v += "utcFormat(" + d + ", '" + w.join(" ") + "')" : v += "timeFormat(" + d + ", '" + w.join(" ") + "')"), v || void 0;
      }
    }
    e.formatExpression = f;
    function S(_) {
      return _ !== "day" && _.indexOf("day") >= 0 ? (n.warn(n.message.dayReplacedWithDate(_)), _.replace("day", "date")) : _;
    }
    e.normalizeTimeUnit = S;
  }(iA)), iA;
}
var aA = {}, Y9;
function Pn() {
  return Y9 || (Y9 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t;
    (function(i) {
      i.QUANTITATIVE = "quantitative", i.ORDINAL = "ordinal", i.TEMPORAL = "temporal", i.NOMINAL = "nominal", i.LATITUDE = "latitude", i.LONGITUDE = "longitude", i.GEOJSON = "geojson";
    })(t = e.Type || (e.Type = {})), e.TYPE_INDEX = {
      quantitative: 1,
      ordinal: 1,
      temporal: 1,
      nominal: 1,
      latitude: 1,
      longitude: 1,
      geojson: 1
    };
    function r(i) {
      return !!e.TYPE_INDEX[i];
    }
    e.isType = r, e.QUANTITATIVE = t.QUANTITATIVE, e.ORDINAL = t.ORDINAL, e.TEMPORAL = t.TEMPORAL, e.NOMINAL = t.NOMINAL, e.GEOJSON = t.GEOJSON;
    function n(i) {
      if (i)
        switch (i = i.toLowerCase(), i) {
          case "q":
          case e.QUANTITATIVE:
            return "quantitative";
          case "t":
          case e.TEMPORAL:
            return "temporal";
          case "o":
          case e.ORDINAL:
            return "ordinal";
          case "n":
          case e.NOMINAL:
            return "nominal";
          case t.LATITUDE:
            return "latitude";
          case t.LONGITUDE:
            return "longitude";
          case e.GEOJSON:
            return "geojson";
        }
    }
    e.getFullName = n;
  }(aA)), aA;
}
var G9;
function Ot() {
  return G9 || (G9 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = lt, n = tp(), i = rp(), o = wt(), l = D_(), c = t.__importStar(_t()), g = np(), y = Pn(), C = Ze();
    function D(W) {
      return W.selection;
    }
    e.isConditionalSelection = D;
    function x(W) {
      return W && !r.isString(W) && "repeat" in W;
    }
    e.isRepeatRef = x;
    function M(W) {
      var $ = W.field, V = W.timeUnit, G = W.bin, X = W.aggregate;
      return t.__assign({}, V ? { timeUnit: V } : {}, G ? { bin: G } : {}, X ? { aggregate: X } : {}, { field: $ });
    }
    e.toFieldDefBase = M;
    function N(W) {
      return !!W && !!W.condition;
    }
    e.isConditionalDef = N;
    function F(W) {
      return !!W && !!W.condition && !r.isArray(W.condition) && A(W.condition);
    }
    e.hasConditionalFieldDef = F;
    function z(W) {
      return !!W && !!W.condition && (r.isArray(W.condition) || a(W.condition));
    }
    e.hasConditionalValueDef = z;
    function A(W) {
      return !!W && (!!W.field || W.aggregate === "count");
    }
    e.isFieldDef = A;
    function u(W) {
      return A(W) && r.isString(W.field);
    }
    e.isStringFieldDef = u;
    function a(W) {
      return W && "value" in W && W.value !== void 0;
    }
    e.isValueDef = a;
    function s(W) {
      return !!W && (!!W.scale || !!W.sort);
    }
    e.isScaleFieldDef = s;
    function h(W) {
      return !!W.op;
    }
    function E(W, $) {
      $ === void 0 && ($ = {});
      var V = W.field, G = $.prefix, X = $.suffix;
      if (_(W))
        V = "count_*";
      else {
        var K = void 0;
        $.nofn || (h(W) ? K = W.op : W.bin ? (K = i.binToString(W.bin), X = $.binSuffix || "") : W.aggregate ? K = String(W.aggregate) : W.timeUnit && (K = String(W.timeUnit))), K && (V = V ? K + "_" + V : K);
      }
      return X && (V = V + "_" + X), G && (V = G + "_" + V), $.expr ? C.flatAccessWithDatum(V, $.expr) : C.replacePathInField(V);
    }
    e.vgField = E;
    function f(W) {
      switch (W.type) {
        case "nominal":
        case "ordinal":
        case "geojson":
          return !0;
        case "quantitative":
          return !!W.bin;
        case "latitude":
        case "longitude":
        case "temporal":
          return !1;
      }
      throw new Error(c.message.invalidFieldType(W.type));
    }
    e.isDiscrete = f;
    function S(W) {
      return !f(W);
    }
    e.isContinuous = S;
    function _(W) {
      return W.aggregate === "count";
    }
    e.isCount = _;
    function d(W, $) {
      var V = W.field, G = W.bin, X = W.timeUnit, K = W.aggregate;
      if (K === "count")
        return $.countTitle;
      if (G)
        return V + " (binned)";
      if (X) {
        var H = g.getTimeUnitParts(X).join("-");
        return V + " (" + H + ")";
      } else if (K)
        return C.titlecase(K) + " of " + V;
      return V;
    }
    e.verbalTitleFormatter = d;
    function p(W, $) {
      var V = W.aggregate || W.timeUnit || W.bin && "bin";
      return V ? V.toUpperCase() + "(" + W.field + ")" : W.field;
    }
    e.functionalTitleFormatter = p, e.defaultTitleFormatter = function(W, $) {
      switch ($.fieldTitle) {
        case "plain":
          return W.field;
        case "functional":
          return p(W);
        default:
          return d(W, $);
      }
    };
    var b = e.defaultTitleFormatter;
    function m(W) {
      b = W;
    }
    e.setTitleFormatter = m;
    function v() {
      m(e.defaultTitleFormatter);
    }
    e.resetTitleFormatter = v;
    function O(W, $) {
      return b(W, $);
    }
    e.title = O;
    function T(W, $) {
      if (W.timeUnit)
        return "temporal";
      if (W.bin)
        return "quantitative";
      switch (o.rangeType($)) {
        case "continuous":
          return "quantitative";
        case "discrete":
          return "nominal";
        case "flexible":
          return "nominal";
        default:
          return "quantitative";
      }
    }
    e.defaultType = T;
    function w(W) {
      if (A(W))
        return W;
      if (F(W))
        return W.condition;
    }
    e.getFieldDef = w;
    function P(W, $) {
      if (r.isString(W) || r.isNumber(W) || r.isBoolean(W)) {
        var V = r.isString(W) ? "string" : r.isNumber(W) ? "number" : "boolean";
        return c.warn(c.message.primitiveChannelDef($, V, W)), { value: W };
      }
      return A(W) ? I(W, $) : F(W) ? t.__assign({}, W, {
        // Need to cast as normalizeFieldDef normally return FieldDef, but here we know that it is definitely Condition<FieldDef>
        condition: I(W.condition, $)
      }) : W;
    }
    e.normalize = P;
    function I(W, $) {
      if (W.aggregate && !n.isAggregateOp(W.aggregate)) {
        W.aggregate;
        var V = t.__rest(W, ["aggregate"]);
        c.warn(c.message.invalidAggregate(W.aggregate)), W = V;
      }
      if (W.timeUnit && (W = t.__assign({}, W, { timeUnit: g.normalizeTimeUnit(W.timeUnit) })), W.bin && (W = t.__assign({}, W, { bin: L(W.bin, $) })), W.type) {
        var G = y.getFullName(W.type);
        W.type !== G && (W = t.__assign({}, W, { type: G })), W.type !== "quantitative" && n.isCountingAggregateOp(W.aggregate) && (c.warn(c.message.invalidFieldTypeForCountAggregate(W.type, W.aggregate)), W = t.__assign({}, W, { type: "quantitative" }));
      } else {
        var X = T(W, $);
        c.warn(c.message.emptyOrInvalidFieldType(W.type, $, X)), W = t.__assign({}, W, { type: X });
      }
      var K = q(W, $), H = K.compatible, Y = K.warning;
      return H || c.warn(Y), W;
    }
    e.normalizeFieldDef = I;
    function L(W, $) {
      return r.isBoolean(W) ? { maxbins: i.autoMaxBins($) } : !W.maxbins && !W.step ? t.__assign({}, W, { maxbins: i.autoMaxBins($) }) : W;
    }
    e.normalizeBin = L;
    var R = { compatible: !0 };
    function q(W, $) {
      var V = W.type;
      switch ($) {
        case "row":
        case "column":
          return S(W) ? {
            compatible: !1,
            warning: c.message.facetChannelShouldBeDiscrete($)
          } : R;
        case "x":
        case "y":
        case "color":
        case "fill":
        case "stroke":
        case "text":
        case "detail":
        case "key":
        case "tooltip":
        case "href":
          return R;
        case "longitude":
        case "longitude2":
        case "latitude":
        case "latitude2":
          return V !== y.QUANTITATIVE ? {
            compatible: !1,
            warning: "Channel " + $ + " should be used with a quantitative field only, not " + W.type + " field."
          } : R;
        case "opacity":
        case "size":
        case "x2":
        case "y2":
          return V === "nominal" && !W.sort || V === "geojson" ? {
            compatible: !1,
            warning: "Channel " + $ + " should not be used with an unsorted discrete field."
          } : R;
        case "shape":
          return W.type !== "nominal" && W.type !== "geojson" ? {
            compatible: !1,
            warning: "Shape channel should be used with only either nominal or geojson data"
          } : R;
        case "order":
          return W.type === "nominal" && !("sort" in W) ? {
            compatible: !1,
            warning: "Channel order is inappropriate for nominal field, which has no inherent order."
          } : R;
      }
      throw new Error("channelCompatability not implemented for channel " + $);
    }
    e.channelCompatibility = q;
    function B(W) {
      return W.type === "quantitative" || !!W.bin;
    }
    e.isNumberFieldDef = B;
    function j(W) {
      return W.type === "temporal" || !!W.timeUnit;
    }
    e.isTimeFieldDef = j;
    function k(W, $) {
      var V = $.timeUnit, G = $.type, X = $.time, K = $.undefinedIfExprNotRequired, H, Y = void 0;
      return l.isDateTime(W) ? Y = l.dateTimeExpr(W, !0) : (r.isString(W) || r.isNumber(W)) && (V || G === "temporal") && (g.isLocalSingleTimeUnit(V) ? Y = l.dateTimeExpr((H = {}, H[V] = W, H), !0) : g.isUtcSingleTimeUnit(V) ? Y = k(W, { timeUnit: g.getLocalTimeUnit(V) }) : Y = "datetime(" + JSON.stringify(W) + ")"), Y ? X ? "time(" + Y + ")" : Y : K ? void 0 : JSON.stringify(W);
    }
    e.valueExpr = k;
    function U(W, $) {
      var V = W.timeUnit, G = W.type;
      return $.map(function(X) {
        var K = k(X, { timeUnit: V, type: G, undefinedIfExprNotRequired: !0 });
        return K !== void 0 ? { signal: K } : X;
      });
    }
    e.valueArray = U;
  }(tA)), tA;
}
var K9;
function Ei() {
  if (K9) return fa;
  K9 = 1, Object.defineProperty(fa, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = wt(), n = Ot(), i = e.__importStar(_t()), o = Pn(), l = Ze();
  function c(N, F) {
    var z = N && N[F];
    return z ? t.isArray(z) ? l.some(z, function(A) {
      return !!A.field;
    }) : n.isFieldDef(z) || n.hasConditionalFieldDef(z) : !1;
  }
  fa.channelHasField = c;
  function g(N) {
    return l.some(r.CHANNELS, function(F) {
      if (c(N, F)) {
        var z = N[F];
        if (t.isArray(z))
          return l.some(z, function(u) {
            return !!u.aggregate;
          });
        var A = n.getFieldDef(z);
        return A && !!A.aggregate;
      }
      return !1;
    });
  }
  fa.isAggregate = g;
  function y(N, F) {
    return l.keys(N).reduce(function(z, A) {
      var u;
      if (!r.isChannel(A))
        return i.warn(i.message.invalidEncodingChannel(A)), z;
      if (!r.supportMark(A, F))
        return i.warn(i.message.incompatibleChannel(A, F)), z;
      if (A === "size" && F === "line") {
        var a = n.getFieldDef(N[A]);
        if (a && a.aggregate)
          return i.warn(i.message.LINE_WITH_VARYING_SIZE), z;
      }
      if (A === "color" && ("fill" in N || "stroke" in N))
        return i.warn(i.message.droppingColor("encoding", { fill: "fill" in N, stroke: "stroke" in N })), z;
      var s = N[A];
      if (A === "detail" || A === "order" && !t.isArray(s) && !n.isValueDef(s) || A === "tooltip" && t.isArray(s))
        s && (z[A] = (t.isArray(s) ? s : [s]).reduce(function(S, _) {
          return n.isFieldDef(_) ? S.push(n.normalizeFieldDef(_, A)) : i.warn(i.message.emptyFieldDef(_, A)), S;
        }, []));
      else {
        var a = n.getFieldDef(N[A]);
        if (a && l.contains([o.Type.LATITUDE, o.Type.LONGITUDE], a.type)) {
          var h = A;
          z[h];
          var E = e.__rest(z, [typeof h == "symbol" ? h : h + ""]), f = A === "x" ? "longitude" : A === "y" ? "latitude" : A === "x2" ? "longitude2" : A === "y2" ? "latitude2" : void 0;
          return i.warn(i.message.latLongDeprecated(A, a.type, f)), e.__assign({}, E, (u = {}, u[f] = e.__assign({}, n.normalize(a, A), { type: "quantitative" }), u));
        }
        if (!n.isFieldDef(s) && !n.isValueDef(s) && !n.isConditionalDef(s))
          return i.warn(i.message.emptyFieldDef(s, A)), z;
        z[A] = n.normalize(s, A);
      }
      return z;
    }, {});
  }
  fa.normalizeEncoding = y;
  function C(N) {
    return N && (!!N.x && !!N.x2 || !!N.y && !!N.y2);
  }
  fa.isRanged = C;
  function D(N) {
    var F = [];
    return r.CHANNELS.forEach(function(z) {
      if (c(N, z)) {
        var A = N[z];
        (t.isArray(A) ? A : [A]).forEach(function(u) {
          n.isFieldDef(u) ? F.push(u) : n.hasConditionalFieldDef(u) && F.push(u.condition);
        });
      }
    }), F;
  }
  fa.fieldDefs = D;
  function x(N, F, z) {
    if (N)
      for (var A = function(h) {
        t.isArray(N[h]) ? N[h].forEach(function(E) {
          F.call(z, E, h);
        }) : F.call(z, N[h], h);
      }, u = 0, a = l.keys(N); u < a.length; u++) {
        var s = a[u];
        A(s);
      }
  }
  fa.forEach = x;
  function M(N, F, z, A) {
    return N ? l.keys(N).reduce(function(u, a) {
      var s = N[a];
      return t.isArray(s) ? s.reduce(function(h, E) {
        return F.call(A, h, E, a);
      }, u) : F.call(A, u, s, a);
    }, z) : z;
  }
  return fa.reduce = M, fa;
}
var qm = {}, X9;
function nLe() {
  if (X9) return qm;
  X9 = 1, Object.defineProperty(qm, "__esModule", { value: !0 });
  function e(t, r) {
    var n, i = t[r];
    return i !== void 0 ? (n = {}, n[r] = { value: i }, n) : {};
  }
  return qm.getMarkSpecificConfigMixins = e, qm;
}
var Q9;
function Z9() {
  return Q9 || (Q9 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = lt, n = Ei(), i = Ei(), o = Ot(), l = t.__importStar(_t()), c = nLe();
    e.BOXPLOT = "box-plot";
    function g(F) {
      return !!F.type;
    }
    e.isBoxPlotDef = g, e.BOXPLOT_STYLES = ["boxWhisker", "box", "boxMid"], e.VL_ONLY_BOXPLOT_CONFIG_PROPERTY_INDEX = {
      box: ["size", "color", "extent"],
      boxWhisker: ["color"],
      boxMid: ["color"]
    };
    var y = ["x", "y", "color", "detail", "opacity", "size"];
    function C(F) {
      return t.__assign({}, F, { encoding: n.reduce(F.encoding, function(z, A, u) {
        return y.indexOf(u) > -1 ? z[u] = A : l.warn(l.message.incompatibleChannel(u, e.BOXPLOT)), z;
      }, {}) });
    }
    e.filterUnsupportedChannels = C;
    function D(F, z) {
      var A, u, a, s;
      F = C(F);
      var h = F.mark;
      F.encoding;
      var E = F.selection;
      F.projection;
      var f = t.__rest(F, ["mark", "encoding", "selection", "projection"]), S = void 0;
      r.isNumber(z.box.extent) && (S = z.box.extent), g(h) && h.extent && h.extent === "min-max" && (S = void 0);
      var _ = x(F), d = N(F, _, S), p = d.transform, b = d.continuousAxisChannelDef, m = d.continuousAxis, v = d.encodingWithoutContinuousAxis;
      v.color;
      var O = v.size, T = t.__rest(v, ["color", "size"]), w = O ? { size: O } : c.getMarkSpecificConfigMixins(z.box, "size"), P = {};
      return b.scale && (P.scale = b.scale), b.axis && (P.axis = b.axis), t.__assign({}, f, { transform: p, layer: [
        {
          mark: {
            type: "rule",
            style: "boxWhisker"
          },
          encoding: t.__assign((A = {}, A[m] = t.__assign({ field: "lower_whisker_" + b.field, type: b.type }, P), A[m + "2"] = {
            field: "lower_box_" + b.field,
            type: b.type
          }, A), T, c.getMarkSpecificConfigMixins(z.boxWhisker, "color"))
        },
        {
          mark: {
            type: "rule",
            style: "boxWhisker"
          },
          encoding: t.__assign((u = {}, u[m] = {
            field: "upper_box_" + b.field,
            type: b.type
          }, u[m + "2"] = {
            field: "upper_whisker_" + b.field,
            type: b.type
          }, u), T, c.getMarkSpecificConfigMixins(z.boxWhisker, "color"))
        },
        t.__assign({}, E ? { selection: E } : {}, { mark: {
          type: "bar",
          style: "box"
        }, encoding: t.__assign((a = {}, a[m] = {
          field: "lower_box_" + b.field,
          type: b.type
        }, a[m + "2"] = {
          field: "upper_box_" + b.field,
          type: b.type
        }, a), v, v.color ? {} : c.getMarkSpecificConfigMixins(z.box, "color"), w) }),
        {
          mark: {
            type: "tick",
            style: "boxMid"
          },
          encoding: t.__assign((s = {}, s[m] = {
            field: "mid_box_" + b.field,
            type: b.type
          }, s), T, c.getMarkSpecificConfigMixins(z.boxMid, "color"), w)
        }
      ] });
    }
    e.normalizeBoxPlot = D;
    function x(F) {
      var z = F.mark, A = F.encoding;
      if (F.projection, t.__rest(F, ["mark", "encoding", "projection"]), o.isFieldDef(A.x) && o.isContinuous(A.x)) {
        if (o.isFieldDef(A.y) && o.isContinuous(A.y)) {
          if (A.x.aggregate === void 0 && A.y.aggregate === e.BOXPLOT)
            return "vertical";
          if (A.y.aggregate === void 0 && A.x.aggregate === e.BOXPLOT)
            return "horizontal";
          if (A.x.aggregate === e.BOXPLOT && A.y.aggregate === e.BOXPLOT)
            throw new Error("Both x and y cannot have aggregate");
          return g(z) && z.orient ? z.orient : "vertical";
        }
        return "horizontal";
      } else {
        if (o.isFieldDef(A.y) && o.isContinuous(A.y))
          return "vertical";
        throw new Error("Need a valid continuous axis for boxplots");
      }
    }
    function M(F, z) {
      F.mark;
      var A = F.encoding;
      F.projection, t.__rest(F, ["mark", "encoding", "projection"]);
      var u, a;
      if (z === "vertical" ? (a = "y", u = A.y) : (a = "x", u = A.x), u && u.aggregate) {
        var s = u.aggregate, h = t.__rest(u, ["aggregate"]);
        s !== e.BOXPLOT && l.warn("Continuous axis should not have customized aggregation function " + s), u = h;
      }
      return {
        continuousAxisChannelDef: u,
        continuousAxis: a
      };
    }
    function N(F, z, A) {
      var u = M(F, z), a = u.continuousAxisChannelDef, s = u.continuousAxis, h = F.encoding, E = A === void 0, f = [
        {
          op: "q1",
          field: a.field,
          as: "lower_box_" + a.field
        },
        {
          op: "q3",
          field: a.field,
          as: "upper_box_" + a.field
        },
        {
          op: "median",
          field: a.field,
          as: "mid_box_" + a.field
        }
      ], S = [];
      f.push({
        op: "min",
        field: a.field,
        as: (E ? "lower_whisker_" : "min_") + a.field
      }), f.push({
        op: "max",
        field: a.field,
        as: (E ? "upper_whisker_" : "max_") + a.field
      }), E || (S = [
        {
          calculate: "datum.upper_box_" + a.field + " - datum.lower_box_" + a.field,
          as: "iqr_" + a.field
        },
        {
          calculate: "min(datum.upper_box_" + a.field + " + datum.iqr_" + a.field + " * " + A + ", datum.max_" + a.field + ")",
          as: "upper_whisker_" + a.field
        },
        {
          calculate: "max(datum.lower_box_" + a.field + " - datum.iqr_" + a.field + " * " + A + ", datum.min_" + a.field + ")",
          as: "lower_whisker_" + a.field
        }
      ]);
      var _ = [], d = [], p = [], b = {};
      return i.forEach(h, function(m, v) {
        if (v !== s)
          if (o.isFieldDef(m)) {
            if (m.aggregate && m.aggregate !== e.BOXPLOT)
              f.push({
                op: m.aggregate,
                field: m.field,
                as: o.vgField(m)
              });
            else if (m.aggregate === void 0) {
              var O = o.vgField(m), T = m.bin;
              if (T) {
                var w = m.field;
                d.push({ bin: T, field: w, as: O });
              } else if (m.timeUnit) {
                var P = m.timeUnit, w = m.field;
                p.push({ timeUnit: P, field: w, as: O });
              }
              _.push(O);
            }
            b[v] = {
              field: o.vgField(m),
              type: m.type
            };
          } else
            b[v] = h[v];
      }), {
        transform: [].concat(d, p, [{ aggregate: f, groupby: _ }], S),
        continuousAxisChannelDef: a,
        continuousAxis: s,
        encodingWithoutContinuousAxis: b
      };
    }
  }(eA)), eA;
}
var $c = {}, J9;
function iLe() {
  if (J9) return $c;
  J9 = 1, Object.defineProperty($c, "__esModule", { value: !0 });
  var e = Pe;
  $c.ERRORBAR = "error-bar";
  function t(r) {
    r.mark, r.selection, r.projection;
    var n = r.encoding, i = e.__rest(r, ["mark", "selection", "projection", "encoding"]);
    n.size;
    var o = e.__rest(n, ["size"]);
    n.x2, n.y2;
    var l = e.__rest(n, ["x2", "y2"]);
    l.x, l.y;
    var c = e.__rest(l, ["x", "y"]);
    if (!n.x2 && !n.y2)
      throw new Error("Neither x2 or y2 provided");
    return e.__assign({}, i, { layer: [
      {
        mark: "rule",
        encoding: o
      },
      {
        mark: "tick",
        encoding: l
      },
      {
        mark: "tick",
        encoding: n.x2 ? e.__assign({ x: n.x2, y: n.y }, c) : e.__assign({ x: n.x, y: n.y2 }, c)
      }
    ] });
  }
  return $c.normalizeErrorBar = t, $c;
}
var e8;
function sy() {
  if (e8) return Do;
  e8 = 1, Object.defineProperty(Do, "__esModule", { value: !0 });
  var e = Pe, t = ln(), r = Z9(), n = iLe(), i = e.__importStar(Z9()), o = {};
  function l(y, C) {
    o[y] = C;
  }
  Do.add = l;
  function c(y) {
    delete o[y];
  }
  Do.remove = c, Do.COMPOSITE_MARK_STYLES = i.BOXPLOT_STYLES, Do.VL_ONLY_COMPOSITE_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX = e.__assign({}, r.VL_ONLY_BOXPLOT_CONFIG_PROPERTY_INDEX), l(r.BOXPLOT, r.normalizeBoxPlot), l(n.ERRORBAR, n.normalizeErrorBar);
  function g(y, C) {
    var D = t.isMarkDef(y.mark) ? y.mark.type : y.mark, x = o[D];
    if (x)
      return x(y, C);
    throw new Error('Invalid mark type "' + D + '"');
  }
  return Do.normalize = g, Do;
}
var zm = {}, oA = {}, Bm = {}, t8;
function aLe() {
  return t8 || (t8 = 1, Object.defineProperty(Bm, "__esModule", { value: !0 }), Bm.VL_ONLY_GUIDE_CONFIG = ["shortTimeLabels"]), Bm;
}
var Ru = {}, r8;
function LN() {
  if (r8) return Ru;
  r8 = 1, Object.defineProperty(Ru, "__esModule", { value: !0 });
  var e = Pe, t = Ze();
  Ru.defaultLegendConfig = {};
  var r = {
    entryPadding: 1,
    format: 1,
    offset: 1,
    orient: 1,
    padding: 1,
    tickCount: 1,
    title: 1,
    type: 1,
    values: 1,
    zindex: 1
  }, n = e.__assign({}, r, {
    // channel scales
    opacity: 1,
    shape: 1,
    stroke: 1,
    fill: 1,
    size: 1,
    // encode
    encode: 1
  });
  return Ru.LEGEND_PROPERTIES = t.flagKeys(r), Ru.VG_LEGEND_PROPERTIES = t.flagKeys(n), Ru;
}
var sA = {}, n8;
function nr() {
  return n8 || (n8 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = lt, n = wt(), i = t.__importStar(_t()), o = Pn(), l = Ze(), c;
    (function(O) {
      O.LINEAR = "linear", O.BIN_LINEAR = "bin-linear", O.LOG = "log", O.POW = "pow", O.SQRT = "sqrt", O.TIME = "time", O.UTC = "utc", O.SEQUENTIAL = "sequential", O.QUANTILE = "quantile", O.QUANTIZE = "quantize", O.THRESHOLD = "threshold", O.ORDINAL = "ordinal", O.BIN_ORDINAL = "bin-ordinal", O.POINT = "point", O.BAND = "band";
    })(c = e.ScaleType || (e.ScaleType = {}));
    var g = {
      linear: "numeric",
      log: "numeric",
      pow: "numeric",
      sqrt: "numeric",
      "bin-linear": "bin-linear",
      time: "time",
      utc: "time",
      sequential: "sequential",
      ordinal: "ordinal",
      "bin-ordinal": "bin-ordinal",
      point: "ordinal-position",
      band: "ordinal-position"
    };
    e.SCALE_TYPES = l.keys(g);
    function y(O, T) {
      var w = g[O], P = g[T];
      return w === P || w === "ordinal-position" && P === "time" || P === "ordinal-position" && w === "time";
    }
    e.scaleCompatible = y;
    var C = {
      // numeric
      linear: 0,
      log: 1,
      pow: 1,
      sqrt: 1,
      // time
      time: 0,
      utc: 0,
      // ordinal-position -- these have higher precedence than continuous scales as they support more types of data
      point: 10,
      band: 11,
      // non grouped types
      "bin-linear": 0,
      sequential: 0,
      ordinal: 0,
      "bin-ordinal": 0
    };
    function D(O) {
      return C[O];
    }
    e.scaleTypePrecedence = D, e.CONTINUOUS_TO_CONTINUOUS_SCALES = ["linear", "bin-linear", "log", "pow", "sqrt", "time", "utc"];
    var x = r.toSet(e.CONTINUOUS_TO_CONTINUOUS_SCALES);
    e.CONTINUOUS_DOMAIN_SCALES = e.CONTINUOUS_TO_CONTINUOUS_SCALES.concat([
      "sequential"
      /* TODO add 'quantile', 'quantize', 'threshold'*/
    ]);
    var M = r.toSet(e.CONTINUOUS_DOMAIN_SCALES);
    e.DISCRETE_DOMAIN_SCALES = ["ordinal", "bin-ordinal", "point", "band"];
    var N = r.toSet(e.DISCRETE_DOMAIN_SCALES), F = r.toSet(["bin-linear", "bin-ordinal"]);
    e.TIME_SCALE_TYPES = ["time", "utc"];
    function z(O) {
      return O in N;
    }
    e.hasDiscreteDomain = z;
    function A(O) {
      return O in F;
    }
    e.isBinScale = A;
    function u(O) {
      return O in M;
    }
    e.hasContinuousDomain = u;
    function a(O) {
      return O in x;
    }
    e.isContinuousToContinuous = a, e.defaultScaleConfig = {
      textXRangeStep: 90,
      rangeStep: 21,
      pointPadding: 0.5,
      bandPaddingInner: 0.1,
      facetSpacing: 16,
      minBandSize: 2,
      minFontSize: 8,
      maxFontSize: 40,
      minOpacity: 0.3,
      maxOpacity: 0.8,
      // FIXME: revise if these *can* become ratios of rangeStep
      minSize: 9,
      minStrokeWidth: 1,
      maxStrokeWidth: 4
    };
    function s(O) {
      return O && !!O.name;
    }
    e.isExtendedScheme = s;
    function h(O) {
      return O && O.selection;
    }
    e.isSelectionDomain = h;
    var E = {
      type: 1,
      domain: 1,
      range: 1,
      rangeStep: 1,
      scheme: 1,
      // Other properties
      reverse: 1,
      round: 1,
      // quantitative / time
      clamp: 1,
      nice: 1,
      // quantitative
      base: 1,
      exponent: 1,
      interpolate: 1,
      zero: 1,
      // band/point
      padding: 1,
      paddingInner: 1,
      paddingOuter: 1
    };
    e.SCALE_PROPERTIES = l.flagKeys(E), E.type, E.domain, E.range, E.rangeStep, E.scheme;
    var f = t.__rest(E, ["type", "domain", "range", "rangeStep", "scheme"]);
    e.NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES = l.flagKeys(f), e.SCALE_TYPE_INDEX = m();
    function S(O, T) {
      switch (T) {
        case "type":
        case "domain":
        case "reverse":
        case "range":
          return !0;
        case "scheme":
          return l.contains(["sequential", "ordinal", "bin-ordinal", "quantile", "quantize"], O);
        case "interpolate":
          return l.contains(["linear", "bin-linear", "pow", "log", "sqrt", "utc", "time"], O);
        case "round":
          return a(O) || O === "band" || O === "point";
        case "padding":
          return a(O) || l.contains(["point", "band"], O);
        case "paddingOuter":
        case "rangeStep":
          return l.contains(["point", "band"], O);
        case "paddingInner":
          return O === "band";
        case "clamp":
          return a(O) || O === "sequential";
        case "nice":
          return a(O) || O === "sequential" || O === "quantize";
        case "exponent":
          return O === "pow";
        case "base":
          return O === "log";
        case "zero":
          return u(O) && !l.contains([
            "log",
            "time",
            "utc",
            "bin-linear",
            "threshold",
            "quantile"
            // quantile depends on distribution so zero does not matter
          ], O);
      }
      throw new Error("Invalid scale property " + T + ".");
    }
    e.scaleTypeSupportProperty = S;
    function _(O, T) {
      switch (T) {
        case "interpolate":
        case "scheme":
          return n.isColorChannel(O) ? void 0 : i.message.cannotUseScalePropertyWithNonColor(O);
        case "type":
        case "domain":
        case "range":
        case "base":
        case "exponent":
        case "nice":
        case "padding":
        case "paddingInner":
        case "paddingOuter":
        case "rangeStep":
        case "reverse":
        case "round":
        case "clamp":
        case "zero":
          return;
      }
      throw new Error('Invalid scale property "' + T + '".');
    }
    e.channelScalePropertyIncompatability = _;
    function d(O, T, w) {
      return l.contains([o.Type.ORDINAL, o.Type.NOMINAL], T) ? O === void 0 || z(O) : T === o.Type.TEMPORAL ? l.contains([c.TIME, c.UTC, c.SEQUENTIAL, void 0], O) : T === o.Type.QUANTITATIVE ? w ? l.contains([c.BIN_LINEAR, c.BIN_ORDINAL, c.LINEAR], O) : l.contains([c.LOG, c.POW, c.SQRT, c.QUANTILE, c.QUANTIZE, c.LINEAR, c.SEQUENTIAL, void 0], O) : !0;
    }
    e.scaleTypeSupportDataType = d;
    function p(O, T) {
      switch (O) {
        case n.Channel.X:
        case n.Channel.Y:
        case n.Channel.SIZE:
        case n.Channel.OPACITY:
          return a(T) || l.contains(["band", "point"], T);
        case n.Channel.COLOR:
        case n.Channel.FILL:
        case n.Channel.STROKE:
          return T !== "band";
        case n.Channel.SHAPE:
          return T === "ordinal";
      }
      return !1;
    }
    e.channelSupportScaleType = p;
    function b(O, T, w) {
      return e.SCALE_TYPE_INDEX[v(O, T, w)];
    }
    e.getSupportedScaleType = b;
    function m() {
      for (var O = {}, T = 0, w = n.CHANNELS; T < w.length; T++)
        for (var P = w[T], I = 0, L = l.keys(o.TYPE_INDEX); I < L.length; I++)
          for (var R = L[I], q = 0, B = e.SCALE_TYPES; q < B.length; q++)
            for (var j = B[q], k = 0, U = [!1, !0]; k < U.length; k++) {
              var W = U[k], $ = v(P, R, W);
              p(P, j) && d(j, R, W) && (O[$] = O[$] || [], O[$].push(j));
            }
      return O;
    }
    function v(O, T, w) {
      var P = O + "_" + T;
      return w ? P + "_bin" : P;
    }
  }(sA)), sA;
}
var uA = {}, i8;
function jN() {
  return i8 || (i8 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 }), e.SELECTION_ID = "_vgsid_", e.defaultConfig = {
      single: {
        on: "click",
        fields: [e.SELECTION_ID],
        resolve: "global",
        empty: "all"
      },
      multi: {
        on: "click",
        fields: [e.SELECTION_ID],
        toggle: "event.shiftKey",
        resolve: "global",
        empty: "all"
      },
      interval: {
        on: "[mousedown, window:mouseup] > window:mousemove!",
        encodings: ["x", "y"],
        translate: "[mousedown, window:mouseup] > window:mousemove!",
        zoom: "wheel!",
        mark: { fill: "#333", fillOpacity: 0.125, stroke: "white" },
        resolve: "global"
      }
    };
  }(uA)), uA;
}
var Wm = {}, a8;
function pte() {
  if (a8) return Wm;
  a8 = 1, Object.defineProperty(Wm, "__esModule", { value: !0 });
  var e = Pe;
  function t(r) {
    var n = r.anchor, i = r.offset, o = r.orient, l = r.color, c = e.__rest(r, ["anchor", "offset", "orient", "color"]), g = e.__assign({}, c, l ? { fill: l } : {}), y = e.__assign({}, n ? { anchor: n } : {}, i ? { offset: i } : {}, o ? { orient: o } : {});
    return { mark: g, nonMark: y };
  }
  return Wm.extractTitleConfig = t, Wm;
}
var o8;
function hte() {
  return o8 || (o8 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = lt, n = sy(), i = sy(), o = aLe(), l = LN(), c = t.__importStar(ln()), g = ln(), y = nr(), C = jN(), D = pte(), x = Ze();
    e.defaultViewConfig = {
      width: 200,
      height: 200
    }, e.defaultConfig = {
      padding: 5,
      timeFormat: "",
      countTitle: "Number of Records",
      invalidValues: "filter",
      view: e.defaultViewConfig,
      mark: c.defaultMarkConfig,
      area: {},
      bar: c.defaultBarConfig,
      circle: {},
      geoshape: {},
      line: {},
      point: {},
      rect: {},
      rule: { color: "black" },
      square: {},
      text: { color: "black" },
      tick: c.defaultTickConfig,
      trail: {},
      box: { size: 14, extent: 1.5 },
      boxWhisker: {},
      boxMid: { color: "white" },
      scale: y.defaultScaleConfig,
      projection: {},
      axis: {},
      axisX: {},
      axisY: { minExtent: 30 },
      axisLeft: {},
      axisRight: {},
      axisTop: {},
      axisBottom: {},
      axisBand: {},
      legend: l.defaultLegendConfig,
      selection: C.defaultConfig,
      style: {},
      title: {}
    };
    function M(a) {
      return x.mergeDeep(x.duplicate(e.defaultConfig), a);
    }
    e.initConfig = M;
    var N = ["view"].concat(g.PRIMITIVE_MARKS, n.COMPOSITE_MARK_STYLES), F = [
      "padding",
      "numberFormat",
      "timeFormat",
      "countTitle",
      "stack",
      "scale",
      "selection",
      "invalidValues",
      "overlay"
      // FIXME: Redesign and unhide this
    ], z = t.__assign({ view: ["width", "height"] }, g.VL_ONLY_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX, i.VL_ONLY_COMPOSITE_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX);
    function A(a) {
      a = x.duplicate(a);
      for (var s = 0, h = F; s < h.length; s++) {
        var E = h[s];
        delete a[E];
      }
      if (a.axis)
        for (var f = 0, S = o.VL_ONLY_GUIDE_CONFIG; f < S.length; f++) {
          var E = S[f];
          delete a.axis[E];
        }
      if (a.legend)
        for (var _ = 0, d = o.VL_ONLY_GUIDE_CONFIG; _ < d.length; _++) {
          var E = d[_];
          delete a.legend[E];
        }
      if (a.mark)
        for (var p = 0, b = g.VL_ONLY_MARK_CONFIG_PROPERTIES; p < b.length; p++) {
          var E = b[p];
          delete a.mark[E];
        }
      for (var m = 0, v = N; m < v.length; m++) {
        for (var O = v[m], T = 0, w = g.VL_ONLY_MARK_CONFIG_PROPERTIES; T < w.length; T++) {
          var E = w[T];
          delete a[O][E];
        }
        var P = z[O];
        if (P)
          for (var I = 0, L = P; I < L.length; I++) {
            var E = L[I];
            delete a[O][E];
          }
        u(a, O);
      }
      u(a, "title", "group-title");
      for (var E in a)
        r.isObject(a[E]) && x.keys(a[E]).length === 0 && delete a[E];
      return x.keys(a).length > 0 ? a : void 0;
    }
    e.stripAndRedirectConfig = A;
    function u(a, s, h) {
      var E = s === "title" ? D.extractTitleConfig(a.title).mark : a[s];
      s === "view" && (h = "cell");
      var f = t.__assign({}, E, a.style[s]);
      x.keys(f).length > 0 && (a.style[h || s] = f), delete a[s];
    }
  }(oA)), oA;
}
var Vn = {}, lA = {}, s8;
function UN() {
  return s8 || (s8 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = lt, n = tp(), i = wt(), o = Ei(), l = Ot(), c = t.__importStar(_t()), g = ln(), y = nr(), C = Ze(), D = {
      zero: 1,
      center: 1,
      normalize: 1
    };
    function x(F) {
      return !!D[F];
    }
    e.isStackOffset = x, e.STACKABLE_MARKS = [g.BAR, g.AREA, g.RULE, g.POINT, g.CIRCLE, g.SQUARE, g.LINE, g.TEXT, g.TICK], e.STACK_BY_DEFAULT_MARKS = [g.BAR, g.AREA];
    function M(F) {
      var z = F.x, A = F.y;
      if (l.isFieldDef(z) && l.isFieldDef(A))
        if (z.type === "quantitative" && A.type === "quantitative") {
          if (z.stack)
            return "x";
          if (A.stack)
            return "y";
          if (!!z.aggregate != !!A.aggregate)
            return z.aggregate ? "x" : "y";
        } else {
          if (z.type === "quantitative")
            return "x";
          if (A.type === "quantitative")
            return "y";
        }
      else {
        if (l.isFieldDef(z) && z.type === "quantitative")
          return "x";
        if (l.isFieldDef(A) && A.type === "quantitative")
          return "y";
      }
    }
    function N(F, z, A) {
      var u = g.isMarkDef(F) ? F.type : F;
      if (!C.contains(e.STACKABLE_MARKS, u))
        return null;
      var a = M(z);
      if (!a)
        return null;
      var s = z[a], h = l.isStringFieldDef(s) ? l.vgField(s, {}) : void 0, E = a === "x" ? "y" : "x", f = z[E], S = l.isStringFieldDef(f) ? l.vgField(f, {}) : void 0, _ = i.NONPOSITION_CHANNELS.reduce(function(p, b) {
        if (o.channelHasField(z, b)) {
          var m = z[b];
          (r.isArray(m) ? m : [m]).forEach(function(v) {
            var O = l.getFieldDef(v);
            if (!O.aggregate) {
              var T = l.isStringFieldDef(O) ? l.vgField(O, {}) : void 0;
              // if fielddef is a repeat, just include it in the stack by
              (!T || // otherwise, the field must be different from x and y fields.
              T !== S && T !== h) && p.push({ channel: b, fieldDef: O });
            }
          });
        }
        return p;
      }, []);
      if (_.length === 0)
        return null;
      var d = void 0;
      return s.stack !== void 0 ? d = s.stack : C.contains(e.STACK_BY_DEFAULT_MARKS, u) ? d = A === void 0 ? "zero" : A : d = A, !d || !x(d) ? null : (s.scale && s.scale.type && s.scale.type !== y.ScaleType.LINEAR && c.warn(c.message.cannotStackNonLinearScale(s.scale.type)), o.channelHasField(z, a === i.X ? i.X2 : i.Y2) ? (s.stack !== void 0 && c.warn(c.message.cannotStackRangedMark(a)), null) : (s.aggregate && !C.contains(n.SUM_OPS, s.aggregate) && c.warn(c.message.stackNonSummativeAggregate(s.aggregate)), {
        groupbyChannel: f ? E : void 0,
        fieldChannel: a,
        impute: g.isPathMark(u),
        stackBy: _,
        offset: d
      }));
    }
    e.stack = N;
  }(lA)), lA;
}
var u8;
function Yl() {
  if (u8) return Vn;
  u8 = 1, Object.defineProperty(Vn, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = wt(), n = e.__importStar(sy()), i = e.__importStar(Ei()), o = Ei(), l = e.__importStar(_t()), c = ln(), g = UN(), y = Ze();
  function C(R) {
    return R.facet !== void 0;
  }
  Vn.isFacetSpec = C;
  function D(R) {
    return !!R.mark;
  }
  Vn.isUnitSpec = D;
  function x(R) {
    return R.layer !== void 0;
  }
  Vn.isLayerSpec = x;
  function M(R) {
    return R.repeat !== void 0;
  }
  Vn.isRepeatSpec = M;
  function N(R) {
    return F(R) || z(R);
  }
  Vn.isConcatSpec = N;
  function F(R) {
    return R.vconcat !== void 0;
  }
  Vn.isVConcatSpec = F;
  function z(R) {
    return R.hconcat !== void 0;
  }
  Vn.isHConcatSpec = z;
  function A(R, q) {
    if (C(R))
      return u(R, q);
    if (x(R))
      return h(R, q);
    if (M(R))
      return E(R, q);
    if (F(R))
      return f(R, q);
    if (z(R))
      return S(R, q);
    if (D(R)) {
      var B = o.channelHasField(R.encoding, r.ROW), j = o.channelHasField(R.encoding, r.COLUMN);
      return B || j ? _(R, q) : m(R, q);
    }
    throw new Error(l.message.INVALID_SPEC);
  }
  Vn.normalize = A;
  function u(R, q) {
    var B = R.spec, j = e.__rest(R, ["spec"]);
    return e.__assign({}, j, {
      // TODO: remove "any" once we support all facet listed in https://github.com/vega/vega-lite/issues/2760
      spec: A(B, q)
    });
  }
  function a(R) {
    var q = R.parentEncoding, B = R.encoding;
    if (q && B) {
      var j = y.keys(q).reduce(function(U, W) {
        return B[W] && U.push(W), U;
      }, []);
      j.length > 0 && l.warn(l.message.encodingOverridden(j));
    }
    var k = e.__assign({}, q || {}, B || {});
    return y.keys(k).length > 0 ? k : void 0;
  }
  function s(R) {
    var q = R.parentProjection, B = R.projection;
    return q && B && l.warn(l.message.projectionOverridden({ parentProjection: q, projection: B })), B || q;
  }
  function h(R, q, B, j) {
    var k = R.layer, U = R.encoding, W = R.projection, $ = e.__rest(R, ["layer", "encoding", "projection"]), V = a({ parentEncoding: B, encoding: U }), G = s({ parentProjection: j, projection: W });
    return e.__assign({}, $, { layer: k.map(function(X) {
      return x(X) ? h(X, q, V, G) : m(X, q, V, G);
    }) });
  }
  function E(R, q) {
    var B = R.spec, j = e.__rest(R, ["spec"]);
    return e.__assign({}, j, { spec: A(B, q) });
  }
  function f(R, q) {
    var B = R.vconcat, j = e.__rest(R, ["vconcat"]);
    return e.__assign({}, j, { vconcat: B.map(function(k) {
      return A(k, q);
    }) });
  }
  function S(R, q) {
    var B = R.hconcat, j = e.__rest(R, ["hconcat"]);
    return e.__assign({}, j, { hconcat: B.map(function(k) {
      return A(k, q);
    }) });
  }
  function _(R, q) {
    var B = R.encoding, j = B.row, k = B.column, U = e.__rest(B, ["row", "column"]), W = R.mark, $ = R.width, V = R.projection, G = R.height, X = R.selection;
    R.encoding;
    var K = e.__rest(R, ["mark", "width", "projection", "height", "selection", "encoding"]);
    return e.__assign({}, K, { facet: e.__assign({}, j ? { row: j } : {}, k ? { column: k } : {}), spec: m(e.__assign({}, V ? { projection: V } : {}, { mark: W }, $ ? { width: $ } : {}, G ? { height: G } : {}, { encoding: U }, X ? { selection: X } : {}), q) });
  }
  function d(R) {
    return c.isPrimitiveMark(R.mark);
  }
  function p(R, q, B) {
    return R.point === "transparent" ? { opacity: 0 } : R.point ? t.isObject(R.point) ? R.point : {} : R.point !== void 0 ? null : q.point || B.shape ? t.isObject(q.point) ? q.point : {} : null;
  }
  function b(R, q) {
    return R.line ? R.line === !0 ? {} : R.line : R.line !== void 0 ? null : q.line ? q.line === !0 ? {} : q.line : null;
  }
  function m(R, q, B, j) {
    var k = R.encoding, U = R.projection, W = c.isMarkDef(R.mark) ? R.mark.type : R.mark;
    if (B || j) {
      var $ = s({ parentProjection: j, projection: U }), V = a({ parentEncoding: B, encoding: k });
      return m(e.__assign({}, R, $ ? { projection: $ } : {}, V ? { encoding: V } : {}), q);
    }
    return d(R) ? o.isRanged(k) ? v(R) : W === "line" && (k.x2 || k.y2) ? (l.warn(l.message.lineWithRange(!!k.x2, !!k.y2)), m(e.__assign({ mark: "rule" }, R), q, B, j)) : c.isPathMark(W) ? T(R, q) : R : n.normalize(R, q);
  }
  function v(R) {
    var q = o.channelHasField(R.encoding, r.X), B = o.channelHasField(R.encoding, r.Y), j = o.channelHasField(R.encoding, r.X2), k = o.channelHasField(R.encoding, r.Y2);
    if (j && !q || k && !B) {
      var U = y.duplicate(R);
      return j && !q && (U.encoding.x = U.encoding.x2, delete U.encoding.x2), k && !B && (U.encoding.y = U.encoding.y2, delete U.encoding.y2), U;
    }
    return R;
  }
  function O(R) {
    R.point, R.line;
    var q = e.__rest(R, ["point", "line"]);
    return y.keys(q).length > 1 ? q : q.type;
  }
  function T(R, q) {
    q === void 0 && (q = {});
    var B, j = R.selection, k = R.projection, U = R.encoding, W = R.mark, $ = e.__rest(R, ["selection", "projection", "encoding", "mark"]), V = c.isMarkDef(W) ? W : { type: W }, G = p(V, q[V.type], U), X = V.type === "area" && b(V, q[V.type]);
    if (!G && !X)
      return e.__assign({}, R, {
        // Do not include point / line overlay in the normalize spec
        mark: O(V)
      });
    var K = [e.__assign({}, j ? { selection: j } : {}, {
      // Do not include point / line overlay in the normalize spec
      mark: O(e.__assign({}, V, V.type === "area" ? { opacity: 0.7 } : {})),
      // drop shape from encoding as this might be used to trigger point overlay
      encoding: y.omit(U, ["shape"])
    })], H = g.stack(V, U, q ? q.stack : void 0), Y = U;
    if (H) {
      var Q = H.fieldChannel, Z = H.offset;
      Y = e.__assign({}, U, (B = {}, B[Q] = e.__assign({}, U[Q], Z ? { stack: Z } : {}), B));
    }
    return X && K.push(e.__assign({}, k ? { projection: k } : {}, { mark: e.__assign({ type: "line" }, y.pick(V, ["clip", "interpolate"]), X), encoding: Y })), G && K.push(e.__assign({}, k ? { projection: k } : {}, { mark: e.__assign({ type: "point", opacity: 1, filled: !0 }, y.pick(V, ["clip"]), G), encoding: Y })), e.__assign({}, $, { layer: K });
  }
  function w(R, q) {
    return q.forEach(function(B) {
      var j = ["field", "type", "value", "timeUnit", "bin", "aggregate"].reduce(function(U, W) {
        return B[W] !== void 0 && (U[W] = B[W]), U;
      }, {}), k = y.hash(j);
      R[k] = R[k] || B;
    }), R;
  }
  function P(R, q) {
    if (q === void 0 && (q = {}), x(R))
      R.layer.forEach(function(j) {
        D(j) ? w(q, i.fieldDefs(j.encoding)) : P(j, q);
      });
    else if (C(R))
      w(q, i.fieldDefs(R.facet)), P(R.spec, q);
    else if (M(R))
      P(R.spec, q);
    else if (N(R)) {
      var B = F(R) ? R.vconcat : R.hconcat;
      B.forEach(function(j) {
        return P(j, q);
      });
    } else
      w(q, i.fieldDefs(R.encoding));
    return q;
  }
  function I(R) {
    return y.vals(P(R));
  }
  Vn.fieldDefs = I;
  function L(R, q) {
    return q = q || R.config, c.isPrimitiveMark(R.mark) ? g.stack(R.mark, R.encoding, q ? q.stack : void 0) !== null : !1;
  }
  return Vn.isStacked = L, Vn;
}
var Mu = {}, l8;
function mte() {
  if (l8) return Mu;
  l8 = 1, Object.defineProperty(Mu, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = e.__importStar(_t());
  function n(g) {
    var y = g || {}, C = y.align, D = C === void 0 ? void 0 : C, x = y.center, M = x === void 0 ? void 0 : x, N = y.bounds, F = N === void 0 ? void 0 : N, z = y.spacing, A = z === void 0 ? void 0 : z;
    return { align: D, bounds: F, center: M, spacing: A };
  }
  Mu.extractCompositionLayout = n;
  function i(g) {
    return t.isString(g) ? { type: g } : g || {};
  }
  function o(g, y, C) {
    C === void 0 && (C = !0);
    var D = e.__assign({ type: "pad" }, i(y), i(g));
    return D.type === "fit" && (C || (r.warn(r.message.FIT_NON_SINGLE), D.type = "pad")), D;
  }
  Mu.normalizeAutoSize = o;
  var l = [
    "background",
    "padding",
    "datasets"
    // We do not include "autosize" here as it is supported by only unit and layer specs and thus need to be normalized
  ];
  function c(g) {
    return l.reduce(function(y, C) {
      return g && g[C] !== void 0 && (y[C] = g[C]), y;
    }, {});
  }
  return Mu.extractTopLevelProperties = c, Mu;
}
var $m = {}, Vm = {}, Hm = {}, Vc = {}, Po = {}, c8;
function ns() {
  if (c8) return Po;
  c8 = 1, Object.defineProperty(Po, "__esModule", { value: !0 });
  function e(n) {
    return !!n.url;
  }
  Po.isUrlData = e;
  function t(n) {
    return !!n.values;
  }
  Po.isInlineData = t;
  function r(n) {
    return !!n.name && !e(n) && !t(n);
  }
  return Po.isNamedData = r, Po.MAIN = "main", Po.RAW = "raw", Po;
}
var ui = {}, pn = {}, cA = {};
const oLe = "view", uy = "[", ly = "]", vte = "{", gte = "}", sLe = ":", yte = ",", uLe = "@", lLe = ">", cLe = /[[\]{}]/, fLe = {
  "*": 1,
  arc: 1,
  area: 1,
  group: 1,
  image: 1,
  line: 1,
  path: 1,
  rect: 1,
  rule: 1,
  shape: 1,
  symbol: 1,
  text: 1,
  trail: 1
};
let bte, _te;
function dLe(e, t, r) {
  return bte = t || oLe, _te = r || fLe, Ete(e.trim()).map(BD);
}
function pLe(e) {
  return _te[e];
}
function Mf(e, t, r, n, i) {
  const o = e.length;
  let l = 0, c;
  for (; t < o; ++t) {
    if (c = e[t], !l && c === r) return t;
    i && i.indexOf(c) >= 0 ? --l : n && n.indexOf(c) >= 0 && ++l;
  }
  return t;
}
function Ete(e) {
  const t = [], r = e.length;
  let n = 0, i = 0;
  for (; i < r; )
    i = Mf(e, i, yte, uy + vte, ly + gte), t.push(e.substring(n, i).trim()), n = ++i;
  if (t.length === 0)
    throw "Empty event selector: " + e;
  return t;
}
function BD(e) {
  return e[0] === "[" ? hLe(e) : mLe(e);
}
function hLe(e) {
  const t = e.length;
  let r = 1, n;
  if (r = Mf(e, r, ly, uy, ly), r === t)
    throw "Empty between selector: " + e;
  if (n = Ete(e.substring(1, r)), n.length !== 2)
    throw "Between selector must have two elements: " + e;
  if (e = e.slice(r + 1).trim(), e[0] !== lLe)
    throw "Expected '>' after between selector: " + e;
  n = n.map(BD);
  const i = BD(e.slice(1).trim());
  return i.between ? {
    between: n,
    stream: i
  } : (i.between = n, i);
}
function mLe(e) {
  const t = {
    source: bte
  }, r = [];
  let n = [0, 0], i = 0, o = 0, l = e.length, c = 0, g, y;
  if (e[l - 1] === gte) {
    if (c = e.lastIndexOf(vte), c >= 0) {
      try {
        n = vLe(e.substring(c + 1, l - 1));
      } catch {
        throw "Invalid throttle specification: " + e;
      }
      e = e.slice(0, c).trim(), l = e.length;
    } else throw "Unmatched right brace: " + e;
    c = 0;
  }
  if (!l) throw e;
  if (e[0] === uLe && (i = ++c), g = Mf(e, c, sLe), g < l && (r.push(e.substring(o, g).trim()), o = c = ++g), c = Mf(e, c, uy), c === l)
    r.push(e.substring(o, l).trim());
  else if (r.push(e.substring(o, c).trim()), y = [], o = ++c, o === l) throw "Unmatched left bracket: " + e;
  for (; c < l; ) {
    if (c = Mf(e, c, ly), c === l) throw "Unmatched left bracket: " + e;
    if (y.push(e.substring(o, c).trim()), c < l - 1 && e[++c] !== uy) throw "Expected left bracket: " + e;
    o = ++c;
  }
  if (!(l = r.length) || cLe.test(r[l - 1]))
    throw "Invalid event selector: " + e;
  return l > 1 ? (t.type = r[1], i ? t.markname = r[0].slice(1) : pLe(r[0]) ? t.marktype = r[0] : t.source = r[0]) : t.type = r[0], t.type.slice(-1) === "!" && (t.consume = !0, t.type = t.type.slice(0, -1)), y != null && (t.filter = y), n[0] && (t.throttle = n[0]), n[1] && (t.debounce = n[1]), t;
}
function vLe(e) {
  const t = e.split(yte);
  if (!e.length || t.length > 2) throw e;
  return t.map((r) => {
    const n = +r;
    if (n !== n) throw e;
    return n;
  });
}
const gLe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  selector: dLe
}, Symbol.toStringTag, { value: "Module" })), qN = /* @__PURE__ */ On(gLe);
var Mi = {}, da = {}, f8;
function Ci() {
  if (f8) return da;
  f8 = 1, Object.defineProperty(da, "__esModule", { value: !0 });
  var e = lt, t = Ze();
  function r(y) {
    return !!y.signal;
  }
  da.isVgSignalRef = r;
  function n(y) {
    return !!y.step;
  }
  da.isVgRangeStep = n;
  function i(y) {
    return e.isArray(y) ? !1 : "fields" in y && !("data" in y);
  }
  da.isDataRefUnionedDomain = i;
  function o(y) {
    return e.isArray(y) ? !1 : "fields" in y && "data" in y;
  }
  da.isFieldRefUnionDomain = o;
  function l(y) {
    return e.isArray(y) ? !1 : "field" in y && "data" in y;
  }
  da.isDataRefDomain = l;
  function c(y) {
    return e.isArray(y) ? !1 : "signal" in y;
  }
  da.isSignalRefDomain = c;
  var g = {
    opacity: 1,
    fill: 1,
    fillOpacity: 1,
    stroke: 1,
    strokeCap: 1,
    strokeWidth: 1,
    strokeOpacity: 1,
    strokeDash: 1,
    strokeDashOffset: 1,
    strokeJoin: 1,
    strokeMiterLimit: 1,
    size: 1,
    shape: 1,
    interpolate: 1,
    tension: 1,
    orient: 1,
    align: 1,
    baseline: 1,
    text: 1,
    dir: 1,
    dx: 1,
    dy: 1,
    ellipsis: 1,
    limit: 1,
    radius: 1,
    theta: 1,
    angle: 1,
    font: 1,
    fontSize: 1,
    fontWeight: 1,
    fontStyle: 1,
    cursor: 1,
    href: 1,
    tooltip: 1,
    cornerRadius: 1
  };
  return da.VG_MARK_CONFIGS = t.flagKeys(g), da;
}
var Hc = {}, d8;
function Ste() {
  if (d8) return Hc;
  d8 = 1, Object.defineProperty(Hc, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = FN(), n = Ot(), i = Ze();
  function o(g, y) {
    return t.isArray(g) ? g.map(function(C) {
      return n.title(C, y);
    }).join(", ") : g;
  }
  function l(g, y, C, D) {
    D === void 0 && (D = { header: !1 });
    var x = g.combine(), M = x.orient, N = x.scale, F = x.title, z = x.zindex, A = e.__rest(x, ["orient", "scale", "title", "zindex"]);
    if (i.keys(A).forEach(function(f) {
      var S = r.AXIS_PROPERTY_TYPE[f];
      S && S !== y && S !== "both" && delete A[f];
    }), y === "grid") {
      if (!A.grid)
        return;
      if (A.encode) {
        var u = A.encode.grid;
        A.encode = e.__assign({}, u ? { grid: u } : {}), i.keys(A.encode).length === 0 && delete A.encode;
      }
      return e.__assign({
        scale: N,
        orient: M
      }, A, {
        domain: !1,
        labels: !1,
        // Always set min/maxExtent to 0 to ensure that `config.axis*.minExtent` and `config.axis*.maxExtent`
        // would not affect gridAxis
        maxExtent: 0,
        minExtent: 0,
        ticks: !1,
        zindex: z !== void 0 ? z : 0
        // put grid behind marks by default
      });
    } else {
      if (!D.header && g.mainExtracted)
        return;
      if (A.encode) {
        for (var a = 0, s = r.AXIS_PARTS; a < s.length; a++) {
          var h = s[a];
          g.hasAxisPart(h) || delete A.encode[h];
        }
        i.keys(A.encode).length === 0 && delete A.encode;
      }
      var E = o(F, C);
      return e.__assign({
        scale: N,
        orient: M,
        grid: !1
      }, E ? { title: E } : {}, A, {
        zindex: z !== void 0 ? z : 1
        // put axis line above marks by default
      });
    }
  }
  Hc.assembleAxis = l;
  function c(g, y) {
    var C = g.x, D = C === void 0 ? [] : C, x = g.y, M = x === void 0 ? [] : x;
    return D.map(function(N) {
      return l(N, "main", y);
    }).concat(D.map(function(N) {
      return l(N, "grid", y);
    }), M.map(function(N) {
      return l(N, "main", y);
    }), M.map(function(N) {
      return l(N, "grid", y);
    })).filter(function(N) {
      return N;
    });
  }
  return Hc.assembleAxes = c, Hc;
}
var fA = {}, dA = {}, p8;
function wte() {
  return p8 || (p8 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 }), e.HEADER_TITLE_PROPERTIES_MAP = {
      titleAnchor: "anchor",
      titleAngle: "angle",
      titleBaseline: "baseline",
      titleColor: "color",
      titleFont: "font",
      titleFontSize: "fontSize",
      titleFontWeight: "fontWeight",
      titleLimit: "limit"
    }, e.HEADER_LABEL_PROPERTIES_MAP = {
      labelAngle: "angle",
      labelColor: "color",
      labelFont: "font",
      labelFontSize: "fontSize",
      labelLimit: "limit"
    }, e.HEADER_TITLE_PROPERTIES = Object.keys(e.HEADER_TITLE_PROPERTIES_MAP), e.HEADER_LABEL_PROPERTIES = Object.keys(e.HEADER_LABEL_PROPERTIES_MAP);
  }(dA)), dA;
}
var Yc = {}, h8;
function La() {
  if (h8) return Yc;
  h8 = 1, Object.defineProperty(Yc, "__esModule", { value: !0 });
  var e = lt;
  function t(n) {
    return !!n && (n.op === "count" || !!n.field) && !!n.op;
  }
  Yc.isSortField = t;
  function r(n) {
    return !!n && e.isArray(n);
  }
  return Yc.isSortArray = r, Yc;
}
var Cr = {}, Jr = {}, Hn = {}, m8;
function pu() {
  if (m8) return Hn;
  m8 = 1, Object.defineProperty(Hn, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = wt(), n = Ot(), i = e.__importStar(_t()), o = nr(), l = Pn(), c = Ze(), g = kn();
  function y(h, E, f, S, _, d) {
    return n.isFieldDef(E) && _ && h === _.fieldChannel ? M(E, f, { suffix: "end" }) : z(h, E, f, S, _, d);
  }
  Hn.position = y;
  function C(h, E, f, S, _, d, p) {
    return n.isFieldDef(E) && d && // If fieldChannel is X and channel is X2 (or Y and Y2)
    h.charAt(0) === d.fieldChannel.charAt(0) ? M(E, S, { suffix: "start" }) : z(h, f, S, _, d, p);
  }
  Hn.position2 = C;
  function D(h, E) {
    var f = h + "Offset", S = E[f];
    if (S)
      return S;
  }
  Hn.getOffset = D;
  function x(h, E, f, S) {
    var _ = f === "start" ? void 0 : "end";
    return M(h, E, { binSuffix: _ }, S ? { offset: S } : {});
  }
  Hn.bin = x;
  function M(h, E, f, S) {
    var _ = e.__assign({}, E ? { scale: E } : {}, { field: n.vgField(h, f) });
    return S ? e.__assign({}, _, S) : _;
  }
  Hn.fieldRef = M;
  function N(h, E) {
    return E === void 0 && (E = !0), {
      scale: h,
      band: E
    };
  }
  Hn.bandRef = N;
  function F(h, E) {
    return {
      signal: "(" + ('scale("' + E + '", ' + n.vgField(h, { expr: "datum" }) + ")") + " + " + ('scale("' + E + '", ' + n.vgField(h, { binSuffix: "end", expr: "datum" }) + ")") + ")/2"
    };
  }
  function z(h, E, f, S, _, d) {
    if (E) {
      if (n.isFieldDef(E)) {
        if (E.bin)
          return c.contains([r.X, r.Y], h) && E.type === l.QUANTITATIVE ? _ && _.impute ? M(E, f, { binSuffix: "mid" }) : F(E, f) : M(E, f, g.binRequiresRange(E, h) ? { binSuffix: "range" } : {});
        if (S) {
          var p = S.get("type");
          if (o.hasDiscreteDomain(p))
            return p === "band" ? M(E, f, { binSuffix: "range" }, { band: 0.5 }) : M(E, f, { binSuffix: "range" });
        }
        return M(E, f, {});
      } else if (n.isValueDef(E)) {
        var b = E.value;
        return c.contains(["x", "x2"], h) && b === "width" ? { field: { group: "width" } } : c.contains(["y", "y2"], h) && b === "height" ? { field: { group: "height" } } : { value: b };
      }
    }
    return t.isFunction(d) ? d() : d;
  }
  Hn.midPoint = z;
  function A(h, E) {
    if (h) {
      if (n.isFieldDef(h))
        return g.formatSignalRef(h, h.format, "datum", E);
      if (n.isValueDef(h))
        return { value: h.value };
    }
  }
  Hn.text = A;
  function u(h) {
    return e.__assign({}, h, { mult: 0.5 });
  }
  Hn.mid = u;
  function a(h) {
    if (h.get("zero") !== !1)
      return !0;
    var E = h.domains;
    return t.isArray(E) ? c.some(E, function(f) {
      return t.isArray(f) && f.length === 2 && f[0] <= 0 && f[1] >= 0;
    }) : !1;
  }
  function s(h, E, f, S, _) {
    return function() {
      if (t.isString(h)) {
        if (f) {
          var d = S.get("type");
          if (c.contains([o.ScaleType.LOG, o.ScaleType.TIME, o.ScaleType.UTC], d))
            (_ === "bar" || _ === "area") && i.warn(i.message.nonZeroScaleUsedWithLengthMark(_, E, { scaleType: d }));
          else {
            if (a(S))
              return {
                scale: f,
                value: 0
              };
            (_ === "bar" || _ === "area") && i.warn(i.message.nonZeroScaleUsedWithLengthMark(_, E, { zeroFalse: S.explicit.zero === !1 }));
          }
        }
        return h === "zeroOrMin" ? E === "x" ? { value: 0 } : { field: { group: "height" } } : E === "x" ? { field: { group: "width" } } : { value: 0 };
      }
      return h;
    };
  }
  return Hn.getDefaultRef = s, Hn;
}
var v8;
function ta() {
  if (v8) return Jr;
  v8 = 1, Object.defineProperty(Jr, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = Ot(), n = e.__importStar(_t()), i = ap(), o = nr(), l = Ze(), c = Ci(), g = kn(), y = fn(), C = e.__importStar(pu());
  function D(p, b) {
    var m, v, O = p.markDef, T = p.encoding, w = p.config, P = O.filled, I = O.type, L = {
      fill: g.getMarkConfig("fill", O, w),
      stroke: g.getMarkConfig("stroke", O, w),
      color: g.getMarkConfig("color", O, w)
    }, R = l.contains(["bar", "point", "circle", "square", "geoshape"], I) ? "transparent" : void 0, q = {
      fill: O.fill || L.fill || // If there is no fill, always fill symbols, bar, geoshape
      // with transparent fills https://github.com/vega/vega-lite/issues/1316
      R,
      stroke: O.stroke || L.stroke
    }, B = P ? "fill" : "stroke", j = e.__assign({}, q.fill ? {
      fill: { value: q.fill }
    } : {}, q.stroke ? {
      stroke: { value: q.stroke }
    } : {});
    return T.fill || T.stroke ? (O.color && n.warn(n.message.droppingColor("property", { fill: "fill" in T, stroke: "stroke" in T })), e.__assign({}, A("fill", p, { defaultValue: q.fill || R }), A("stroke", p, { defaultValue: q.stroke }))) : T.color ? e.__assign({}, j, A("color", p, {
      vgChannel: B,
      // apply default fill/stroke first, then color config, then transparent if needed.
      defaultValue: O[B] || O.color || L[B] || L.color || (P ? R : void 0)
    })) : O.fill || O.stroke ? (O.color && n.warn(n.message.droppingColor("property", { fill: "fill" in O, stroke: "stroke" in O })), j) : O.color ? e.__assign({}, j, (m = {}, m[B] = { value: O.color }, m)) : L.fill || L.stroke ? j : L.color ? e.__assign({}, R ? { fill: { value: "transparent" } } : {}, (v = {}, v[B] = { value: L.color }, v)) : {};
  }
  Jr.color = D;
  function x(p, b) {
    return e.__assign({}, M(p.markDef, b), D(p), A("opacity", p), a(p), s(p, "href"));
  }
  Jr.baseEncodeEntry = x;
  function M(p, b) {
    return c.VG_MARK_CONFIGS.reduce(function(m, v) {
      return p[v] !== void 0 && b[v] !== "ignore" && (m[v] = { value: p[v] }), m;
    }, {});
  }
  function N(p, b) {
    var m;
    if (b !== void 0)
      return m = {}, m[p] = { value: b }, m;
  }
  Jr.valueIfDefined = N;
  function F(p) {
    return p + " !== null && !isNaN(" + p + ")";
  }
  function z(p) {
    if (p.config.invalidValues === "filter") {
      var b = ["x", "y"].map(function(m) {
        var v = p.getScaleComponent(m);
        if (v) {
          var O = v.get("type");
          if (o.hasContinuousDomain(O))
            return p.vgField(m, { expr: "datum" });
        }
      }).filter(function(m) {
        return !!m;
      }).map(F);
      if (b.length > 0)
        return {
          defined: { signal: b.join(" && ") }
        };
    }
    return {};
  }
  Jr.defined = z;
  function A(p, b, m) {
    m === void 0 && (m = {});
    var v = m.defaultValue, O = m.vgChannel, T = m.defaultRef || (v !== void 0 ? { value: v } : void 0), w = b.encoding[p];
    return u(b, w, O || p, function(P) {
      return C.midPoint(
        p,
        P,
        b.scaleName(p),
        b.getScaleComponent(p),
        null,
        // No need to provide stack for non-position as it does not affect mid point
        T
      );
    });
  }
  Jr.nonPosition = A;
  function u(p, b, m, v) {
    var O, T, w = b && b.condition, P = v(b);
    if (w) {
      var I = t.isArray(w) ? w : [w], L = I.map(function(R) {
        var q = v(R), B = r.isConditionalSelection(R) ? y.selectionPredicate(p, R.selection) : i.expression(p, R.test);
        return e.__assign({ test: B }, q);
      });
      return O = {}, O[m] = L.concat(P !== void 0 ? [P] : []), O;
    } else
      return P !== void 0 ? (T = {}, T[m] = P, T) : {};
  }
  Jr.wrapCondition = u;
  function a(p) {
    var b = "tooltip", m = p.encoding[b];
    if (t.isArray(m)) {
      var v = m.map(function(O) {
        var T = O.title !== void 0 ? O.title : r.vgField(O, { binSuffix: "range" }), w = C.text(O, p.config).signal;
        return '"' + T + '": ' + w;
      });
      return { tooltip: { signal: "{" + v.join(", ") + "}" } };
    } else
      return h(p, b, m);
  }
  Jr.tooltip = a;
  function s(p, b) {
    b === void 0 && (b = "text");
    var m = p.encoding[b];
    return h(p, b, m);
  }
  Jr.text = s;
  function h(p, b, m) {
    return u(p, m, b, function(v) {
      return C.text(v, p.config);
    });
  }
  function E(p, b, m) {
    var v, O, T, w = m.scaleName(b), P = b === "x" ? "width" : "height";
    if (m.encoding.size || m.markDef.size !== void 0) {
      var I = m.markDef.orient;
      if (I) {
        var L = (v = {}, // Use xc/yc and place the mark at the middle of the band
        // This way we never have to deal with size's condition for x/y position.
        v[b + "c"] = C.fieldRef(p, w, {}, { band: 0.5 }), v);
        if (r.getFieldDef(m.encoding.size))
          return e.__assign({}, L, A("size", m, { vgChannel: P }));
        if (r.isValueDef(m.encoding.size))
          return e.__assign({}, L, A("size", m, { vgChannel: P }));
        if (m.markDef.size !== void 0)
          return e.__assign({}, L, (O = {}, O[P] = { value: m.markDef.size }, O));
      } else
        n.warn(n.message.cannotApplySizeToNonOrientedMark(m.markDef.type));
    }
    return T = {}, T[b] = C.fieldRef(p, w, { binSuffix: "range" }), T[P] = C.bandRef(w), T;
  }
  Jr.bandPosition = E;
  function f(p, b, m, v) {
    var O = p === "x" ? "xc" : "yc", T = p === "x" ? "width" : "height";
    return e.__assign({}, _(p, b, m, O), A("size", b, { defaultRef: v, vgChannel: T }));
  }
  Jr.centeredBandPosition = f;
  function S(p, b, m, v, O) {
    return b === "x" ? {
      x2: C.bin(p, m, "start", O ? 0 : v),
      x: C.bin(p, m, "end", O ? v : 0)
    } : {
      y2: C.bin(p, m, "start", O ? v : 0),
      y: C.bin(p, m, "end", O ? 0 : v)
    };
  }
  Jr.binnedPosition = S;
  function _(p, b, m, v) {
    var O, T = b.encoding, w = b.mark, P = b.stack, I = T[p], L = b.scaleName(p), R = b.getScaleComponent(p), q = C.getOffset(p, b.markDef), B = !I && (T.latitude || T.longitude) ? (
      // use geopoint output if there are lat/long and there is no point position overriding lat/long.
      { field: b.getName(p) }
    ) : e.__assign({}, C.position(p, T[p], L, R, P, C.getDefaultRef(m, p, L, R, w)), q ? { offset: q } : {});
    return O = {}, O[v || p] = B, O;
  }
  Jr.pointPosition = _;
  function d(p, b, m) {
    var v, O = p.encoding, T = p.mark, w = p.stack, P = m === "x2" ? "x" : "y", I = O[P], L = p.scaleName(P), R = p.getScaleComponent(P), q = C.getOffset(m, p.markDef), B = !I && (O.latitude || O.longitude) ? (
      // use geopoint output if there are lat2/long2 and there is no point position2 overriding lat2/long2.
      { field: p.getName(m) }
    ) : e.__assign({}, C.position2(m, I, O[m], L, R, w, C.getDefaultRef(b, P, L, R, T)), q ? { offset: q } : {});
    return v = {}, v[m] = B, v;
  }
  return Jr.pointPosition2 = d, Jr;
}
var g8;
function kn() {
  if (g8) return Cr;
  g8 = 1, Object.defineProperty(Cr, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = wt(), n = Ot(), i = nr(), o = np(), l = Pn(), c = Ze(), g = ta();
  function y(d, p, b) {
    for (var m = 0, v = b; m < v.length; m++) {
      var O = v[m], T = p[O];
      T !== void 0 && (d[O] = { value: T });
    }
    return d;
  }
  Cr.applyConfig = y;
  function C(d, p, b) {
    for (var m = 0, v = b; m < v.length; m++) {
      var O = v[m], T = x(O, p.markDef, p.config);
      T !== void 0 && (d[O] = { value: T });
    }
    return d;
  }
  Cr.applyMarkConfig = C;
  function D(d) {
    return [].concat(d.type, d.style || []);
  }
  Cr.getStyles = D;
  function x(d, p, b) {
    var m = b.mark[d], v = b[p.type];
    v[d] !== void 0 && (m = v[d]);
    for (var O = D(p), T = 0, w = O; T < w.length; T++) {
      var P = w[T], I = b.style[P], L = d;
      I && I[L] !== void 0 && (m = I[L]);
    }
    return m;
  }
  Cr.getMarkConfig = x;
  function M(d, p, b, m) {
    var v = F(d, p, m);
    if (d.bin) {
      var O = n.vgField(d, { expr: b }), T = n.vgField(d, { expr: b, binSuffix: "end" });
      return {
        signal: u(O, T, v, m)
      };
    } else {
      if (d.type === "quantitative")
        return {
          signal: "" + z(n.vgField(d, { expr: b, binSuffix: "range" }), v)
        };
      if (n.isTimeFieldDef(d)) {
        var w = n.isScaleFieldDef(d) && d.scale && d.scale.type === i.ScaleType.UTC;
        return {
          signal: a(n.vgField(d, { expr: b }), d.timeUnit, p, m.text.shortTimeLabels, m.timeFormat, w, !0)
        };
      } else
        return {
          signal: "''+" + n.vgField(d, { expr: b })
        };
    }
  }
  Cr.formatSignalRef = M;
  function N(d, p) {
    return d !== void 0 ? d : p;
  }
  Cr.getSpecifiedOrDefaultValue = N;
  function F(d, p, b) {
    if (d.type === l.QUANTITATIVE)
      return p || b.numberFormat;
  }
  Cr.numberFormat = F;
  function z(d, p) {
    return "format(" + d + ', "' + (p || "") + '")';
  }
  function A(d, p, b) {
    return z(d, p || b.numberFormat);
  }
  Cr.numberFormatExpr = A;
  function u(d, p, b, m) {
    return d + " === null || isNaN(" + d + ') ? "null" : ' + A(d, b, m) + ' + " - " + ' + A(p, b, m);
  }
  Cr.binFormatExpression = u;
  function a(d, p, b, m, v, O, T) {
    return T === void 0 && (T = !1), !p || b ? (b = b || v, b || T ? (O ? "utc" : "time") + "Format(" + d + ", '" + b + "')" : void 0) : o.formatExpression(p, d, m, O);
  }
  Cr.timeFormatExpression = a;
  function s(d, p) {
    return (t.isArray(d) ? d : [d]).reduce(function(b, m) {
      return b.field.push(n.vgField(m, p)), b.order.push(m.sort || "ascending"), b;
    }, { field: [], order: [] });
  }
  Cr.sortParams = s;
  function h(d, p) {
    var b = d.slice();
    return p.forEach(function(m) {
      for (var v = 0, O = b; v < O.length; v++) {
        var T = O[v];
        if (c.stringify(T) === c.stringify(m))
          return;
      }
      b.push(m);
    }), b;
  }
  Cr.mergeTitleFieldDefs = h;
  function E(d, p) {
    return d === p ? d : (
      // if title is the same just use one of them
      d + ", " + p
    );
  }
  Cr.mergeTitle = E;
  function f(d, p) {
    if (t.isArray(d.value) && t.isArray(p.value))
      return {
        explicit: d.explicit,
        value: h(d.value, p.value)
      };
    if (!t.isArray(d.value) && !t.isArray(p.value))
      return {
        explicit: d.explicit,
        value: E(d.value, p.value)
      };
    throw new Error("It should never reach here");
  }
  Cr.mergeTitleComponent = f;
  function S(d, p) {
    return d.bin ? r.isScaleChannel(p) && c.contains(["ordinal", "nominal"], d.type) : (console.warn("Only use this method with binned field defs"), !1);
  }
  Cr.binRequiresRange = S;
  function _(d, p) {
    return c.keys(d).reduce(function(b, m) {
      var v = d[m];
      return e.__assign({}, b, g.wrapCondition(p, v, m, function(O) {
        return { value: O.value };
      }));
    }, {});
  }
  return Cr.guideEncodeEntry = _, Cr;
}
var Gc = {}, Kc = {}, y8;
function Pr() {
  if (y8) return Kc;
  y8 = 1, Object.defineProperty(Kc, "__esModule", { value: !0 });
  var e = Pe, t = (
    /** @class */
    function() {
      function n(i, o) {
        this.debugName = o, this._children = [], this._parent = null, i && (this.parent = i);
      }
      return n.prototype.clone = function() {
        throw new Error("Cannot clone node");
      }, n.prototype.producedFields = function() {
        return {};
      }, n.prototype.dependentFields = function() {
        return {};
      }, Object.defineProperty(n.prototype, "parent", {
        get: function() {
          return this._parent;
        },
        /**
         * Set the parent of the node and also add this not to the parent's children.
         */
        set: function(i) {
          this._parent = i, i.addChild(this);
        },
        enumerable: !0,
        configurable: !0
      }), Object.defineProperty(n.prototype, "children", {
        get: function() {
          return this._children;
        },
        enumerable: !0,
        configurable: !0
      }), n.prototype.numChildren = function() {
        return this._children.length;
      }, n.prototype.addChild = function(i) {
        this._children.push(i);
      }, n.prototype.removeChild = function(i) {
        this._children.splice(this._children.indexOf(i), 1);
      }, n.prototype.remove = function() {
        for (var i = 0, o = this._children; i < o.length; i++) {
          var l = o[i];
          l.parent = this._parent;
        }
        this._parent.removeChild(this);
      }, n.prototype.insertAsParentOf = function(i) {
        var o = i.parent;
        o.removeChild(this), this.parent = o, i.parent = this;
      }, n.prototype.swapWithParent = function() {
        for (var i = this._parent, o = i.parent, l = 0, c = this._children; l < c.length; l++) {
          var g = c[l];
          g.parent = i;
        }
        this._children = [], i.removeChild(this), i.parent.removeChild(i), this.parent = o, i.parent = this;
      }, n;
    }()
  );
  Kc.DataFlowNode = t;
  var r = (
    /** @class */
    function(n) {
      e.__extends(i, n);
      function i(o, l, c, g) {
        var y = n.call(this, o, l) || this;
        return y.type = c, y.refCounts = g, y._source = y._name = l, y.refCounts && !(y._name in y.refCounts) && (y.refCounts[y._name] = 0), y;
      }
      return i.prototype.clone = function() {
        var o = new this.constructor();
        return o.debugName = "clone_" + this.debugName, o._source = this._source, o._name = "clone_" + this._name, o.type = this.type, o.refCounts = this.refCounts, o.refCounts[o._name] = 0, o;
      }, i.prototype.getSource = function() {
        return this.refCounts[this._name]++, this._source;
      }, i.prototype.isRequired = function() {
        return !!this.refCounts[this._name];
      }, i.prototype.setSource = function(o) {
        this._source = o;
      }, i;
    }(t)
  );
  return Kc.OutputNode = r, Kc;
}
var b8;
function Gl() {
  if (b8) return Gc;
  b8 = 1, Object.defineProperty(Gc, "__esModule", { value: !0 });
  var e = Pe, t = Ot(), r = ap(), n = La(), i = Ze(), o = Pr(), l = (
    /** @class */
    function(g) {
      e.__extends(y, g);
      function y(C, D) {
        var x = g.call(this, C) || this;
        return x.transform = D, x;
      }
      return y.prototype.clone = function() {
        return new y(null, i.duplicate(this.transform));
      }, y.parseAllForSortIndex = function(C, D) {
        return D.forEachFieldDef(function(x, M) {
          if (t.isScaleFieldDef(x) && n.isSortArray(x.sort)) {
            var N = x.field, F = x.timeUnit, z = x.sort, A = z.map(function(u, a) {
              return r.fieldFilterExpression({ field: N, timeUnit: F, equal: u }) + " ? " + a + " : ";
            }).join("") + z.length;
            C = new y(C, {
              calculate: A,
              as: c(x, M)
            });
          }
        }), C;
      }, y.prototype.producedFields = function() {
        var C = {};
        return C[this.transform.as] = !0, C;
      }, y.prototype.assemble = function() {
        return {
          type: "formula",
          expr: this.transform.calculate,
          as: this.transform.as
        };
      }, y;
    }(o.DataFlowNode)
  );
  Gc.CalculateNode = l;
  function c(g, y, C) {
    return t.vgField(g, { prefix: y, suffix: "sort_index", expr: C });
  }
  return Gc.sortArrayIndexField = c, Gc;
}
var _8;
function Ote() {
  return _8 || (_8 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = lt, n = Ot(), i = wte(), o = La(), l = Ze(), c = kn(), g = Gl();
    e.HEADER_CHANNELS = ["row", "column"], e.HEADER_TYPES = ["header", "footer"];
    function y(A) {
      return A === "top" || A === "left" ? "header" : "footer";
    }
    e.getHeaderType = y;
    function C(A, u) {
      var a = A.component.layoutHeaders[u].title, s = u === "row" ? "left" : void 0, h = A.config ? A.config : void 0, E = A.component.layoutHeaders[u].facetFieldDef ? A.component.layoutHeaders[u].facetFieldDef : void 0;
      return {
        name: u + "-title",
        type: "group",
        role: u + "-title",
        title: t.__assign({ text: a, offset: 10, orient: s, style: "guide-title" }, z(h, E, i.HEADER_TITLE_PROPERTIES, i.HEADER_TITLE_PROPERTIES_MAP))
      };
    }
    e.getTitleGroup = C;
    function D(A, u) {
      for (var a = A.component.layoutHeaders[u], s = [], h = 0, E = e.HEADER_TYPES; h < E.length; h++) {
        var f = E[h];
        if (a[f])
          for (var S = 0, _ = a[f]; S < _.length; S++) {
            var d = _[S];
            s.push(F(A, u, f, a, d));
          }
      }
      return s;
    }
    e.getHeaderGroups = D;
    function x(A) {
      return A = (A % 360 + 360) % 360, (A + 90) % 180 === 0 ? {} : A < 90 || 270 < A ? { align: { value: "right" } } : 135 <= A && A < 225 ? { align: { value: "left" } } : {};
    }
    e.labelAlign = x;
    function M(A) {
      return A = (A % 360 + 360) % 360, 45 <= A && A <= 135 ? { baseline: "top" } : { baseline: "middle" };
    }
    e.labelBaseline = M;
    function N(A, u) {
      var a = A.sort;
      return o.isSortField(a) ? {
        field: n.vgField(a, { expr: "datum" }),
        order: a.order || "ascending"
      } : r.isArray(a) ? {
        field: g.sortArrayIndexField(A, u, "datum"),
        order: "ascending"
      } : {
        field: n.vgField(A, { expr: "datum" }),
        order: a || "ascending"
      };
    }
    function F(A, u, a, s, h) {
      var E;
      if (h) {
        var f = null, S = s.facetFieldDef;
        if (S && h.labels) {
          var _ = S.header, d = _ === void 0 ? {} : _, p = d.format, b = d.labelAngle, m = A.config ? A.config : void 0, v = t.__assign({}, x(b));
          f = t.__assign({ text: c.formatSignalRef(S, p, "parent", A.config), offset: 10, orient: u === "row" ? "left" : "top", style: "guide-label" }, z(m, S, i.HEADER_LABEL_PROPERTIES, i.HEADER_LABEL_PROPERTIES_MAP), l.keys(v).length > 0 ? { encode: { update: v } } : {});
        }
        var O = h.axes, T = O && O.length > 0;
        if (f || T) {
          var w = u === "row" ? "height" : "width";
          return t.__assign({ name: A.getName(u + "_" + a), type: "group", role: u + "-" + a }, s.facetFieldDef ? {
            from: { data: A.getName(u + "_domain") },
            sort: N(S, u)
          } : {}, f ? { title: f } : {}, h.sizeSignal ? {
            encode: {
              update: (E = {}, E[w] = h.sizeSignal, E)
            }
          } : {}, T ? { axes: O } : {});
        }
      }
      return null;
    }
    e.getHeaderGroup = F;
    function z(A, u, a, s) {
      for (var h = {}, E = 0, f = a; E < f.length; E++) {
        var S = f[E];
        A && A.header && A.header[S] && (h[s[S]] = A.header[S]), u && u.header && u.header[S] && (h[s[S]] = u.header[S]);
      }
      return h;
    }
    e.getHeaderProperties = z;
  }(fA)), fA;
}
var Nu = {}, E8;
function P_() {
  if (E8) return Nu;
  E8 = 1, Object.defineProperty(Nu, "__esModule", { value: !0 });
  var e = nr(), t = Ci(), r = qr();
  function n(c) {
    return [].concat(i(c, "width"), i(c, "height"));
  }
  Nu.assembleLayoutSignals = n;
  function i(c, g) {
    var y = g === "width" ? "x" : "y", C = c.component.layoutSize.get(g);
    if (!C || C === "merged")
      return [];
    var D = c.getSizeSignalRef(g).signal;
    if (C === "range-step") {
      var x = c.getScaleComponent(y);
      if (x) {
        var M = x.get("type"), N = x.get("range");
        if (e.hasDiscreteDomain(M) && t.isVgRangeStep(N)) {
          var F = c.scaleName(y);
          if (r.isFacetModel(c.parent)) {
            var z = c.parent.component.resolve;
            if (z.scale[y] === "independent")
              return [o(F, N)];
          }
          return [
            o(F, N),
            {
              name: D,
              update: l(F, x, "domain('" + F + "').length")
            }
          ];
        }
      }
      throw new Error("layout size is range step although there is no rangeStep.");
    } else
      return [{
        name: D,
        value: C
      }];
  }
  Nu.sizeSignals = i;
  function o(c, g) {
    return {
      name: c + "_step",
      value: g.step
    };
  }
  function l(c, g, y) {
    var C = g.get("type"), D = g.get("padding"), x = g.get("paddingOuter");
    x = x !== void 0 ? x : D;
    var M = g.get("paddingInner");
    return M = C === "band" ? (
      // only band has real paddingInner
      M !== void 0 ? M : D
    ) : (
      // For point, as calculated in https://github.com/vega/vega-scale/blob/master/src/band.js#L128,
      // it's equivalent to have paddingInner = 1 since there is only n-1 steps between n points.
      1
    ), "bandspace(" + y + ", " + M + ", " + x + ") * " + c + "_step";
  }
  return Nu.sizeExpr = l, Nu;
}
var Ym = {}, Iu = {}, Xc = {}, S8;
function k_() {
  if (S8) return Xc;
  S8 = 1, Object.defineProperty(Xc, "__esModule", { value: !0 });
  var e = Pe, t = wt(), r = e.__importStar(_t()), n = Ze(), i = qr();
  function o(c, g) {
    if (i.isLayerModel(g) || i.isFacetModel(g))
      return "shared";
    if (i.isConcatModel(g) || i.isRepeatModel(g))
      return n.contains(t.POSITION_SCALE_CHANNELS, c) ? "independent" : "shared";
    throw new Error("invalid model type for resolve");
  }
  Xc.defaultScaleResolve = o;
  function l(c, g) {
    var y = c.scale[g], C = n.contains(t.POSITION_SCALE_CHANNELS, g) ? "axis" : "legend";
    return y === "independent" ? (c[C][g] === "shared" && r.warn(r.message.independentScaleMeansIndependentGuide(g)), "independent") : c[C][g] || "shared";
  }
  return Xc.parseGuideResolve = l, Xc;
}
var za = {}, w8;
function ii() {
  if (w8) return za;
  w8 = 1, Object.defineProperty(za, "__esModule", { value: !0 });
  var e = Pe, t = e.__importStar(_t()), r = Ze(), n = (
    /** @class */
    function() {
      function y(C, D) {
        C === void 0 && (C = {}), D === void 0 && (D = {}), this.explicit = C, this.implicit = D;
      }
      return y.prototype.clone = function() {
        return new y(r.duplicate(this.explicit), r.duplicate(this.implicit));
      }, y.prototype.combine = function() {
        return e.__assign({}, this.explicit, this.implicit);
      }, y.prototype.get = function(C) {
        return this.explicit[C] !== void 0 ? this.explicit[C] : this.implicit[C];
      }, y.prototype.getWithExplicit = function(C) {
        return this.explicit[C] !== void 0 ? { explicit: !0, value: this.explicit[C] } : this.implicit[C] !== void 0 ? { explicit: !1, value: this.implicit[C] } : { explicit: !1, value: void 0 };
      }, y.prototype.setWithExplicit = function(C, D) {
        D.value !== void 0 && this.set(C, D.value, D.explicit);
      }, y.prototype.set = function(C, D, x) {
        return delete this[x ? "implicit" : "explicit"][C], this[x ? "explicit" : "implicit"][C] = D, this;
      }, y.prototype.copyKeyFromSplit = function(C, D) {
        D.explicit[C] !== void 0 ? this.set(C, D.explicit[C], !0) : D.implicit[C] !== void 0 && this.set(C, D.implicit[C], !1);
      }, y.prototype.copyKeyFromObject = function(C, D) {
        D[C] !== void 0 && this.set(C, D[C], !0);
      }, y.prototype.copyAll = function(C) {
        for (var D = 0, x = r.keys(C.combine()); D < x.length; D++) {
          var M = x[D], N = C.getWithExplicit(M);
          this.setWithExplicit(M, N);
        }
      }, y;
    }()
  );
  za.Split = n;
  function i(y) {
    return {
      explicit: !0,
      value: y
    };
  }
  za.makeExplicit = i;
  function o(y) {
    return {
      explicit: !1,
      value: y
    };
  }
  za.makeImplicit = o;
  function l(y) {
    return function(C, D, x, M) {
      var N = y(C.value, D.value);
      return N > 0 ? C : N < 0 ? D : c(C, D, x, M);
    };
  }
  za.tieBreakByComparing = l;
  function c(y, C, D, x) {
    return y.explicit && C.explicit && t.warn(t.message.mergeConflictingProperty(D, x, y.value, C.value)), y;
  }
  za.defaultTieBreaker = c;
  function g(y, C, D, x, M) {
    return M === void 0 && (M = c), y === void 0 || y.value === void 0 ? C : y.explicit && !C.explicit ? y : C.explicit && !y.explicit ? C : r.stringify(y.value) === r.stringify(C.value) ? y : M(y, C, D, x);
  }
  return za.mergeValuesWithExplicit = g, za;
}
var Gm = {}, O8;
function yLe() {
  if (O8) return Gm;
  O8 = 1, Object.defineProperty(Gm, "__esModule", { value: !0 });
  var e = Pe, t = ii(), r = (
    /** @class */
    function(n) {
      e.__extends(i, n);
      function i() {
        return n !== null && n.apply(this, arguments) || this;
      }
      return i;
    }(t.Split)
  );
  return Gm.LegendComponent = r, Gm;
}
var Fu = {}, T8;
function bLe() {
  if (T8) return Fu;
  T8 = 1, Object.defineProperty(Fu, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = wt(), n = Ot(), i = ln(), o = nr(), l = Ze(), c = kn(), g = e.__importStar(ta());
  function y(F, z, A, u, a) {
    if (a !== "gradient") {
      var s = e.__assign({}, c.applyMarkConfig({}, A, i.FILL_STROKE_CONFIG), g.color(A));
      switch (A.mark) {
        case i.BAR:
        case i.TICK:
        case i.TEXT:
          s.shape = { value: "square" };
          break;
        case i.CIRCLE:
        case i.SQUARE:
          s.shape = { value: A.mark };
          break;
        case i.POINT:
        case i.LINE:
        case i.GEOSHAPE:
        case i.AREA:
          break;
      }
      var h = A.markDef, E = A.encoding, f = h.filled;
      if (s.fill) {
        if (u === "fill" || f && u === r.COLOR)
          delete s.fill;
        else if (s.fill.field)
          delete s.fill;
        else if (t.isArray(s.fill)) {
          var S = M(E.fill || E.color) || h.fill || f && h.color;
          S && (s.fill = { value: S });
        }
      }
      if (s.stroke) {
        if (u === "stroke" || !f && u === r.COLOR)
          delete s.stroke;
        else if (s.stroke.field)
          delete s.stroke;
        else if (t.isArray(s.stroke)) {
          var _ = M(E.stroke || E.color) || h.stroke || !f && h.color;
          _ && (s.stroke = { value: _ });
        }
      }
      if (s.fill && s.fill.value !== "transparent" && !s.stroke && (s.stroke = { value: "transparent" }), u !== r.SHAPE) {
        var d = M(E.shape) || h.shape;
        d && (s.shape = { value: d });
      }
      if (u !== r.OPACITY) {
        var p = x(E.opacity) || h.opacity;
        p && (s.opacity = { value: p });
      }
      return s = e.__assign({}, s, z), l.keys(s).length > 0 ? s : void 0;
    }
  }
  Fu.symbols = y;
  function C(F, z, A, u, a) {
    var s = {};
    if (a === "gradient") {
      var h = x(A.encoding.opacity) || A.markDef.opacity;
      h && (s.opacity = { value: h });
    }
    return s = e.__assign({}, s, z), l.keys(s).length > 0 ? s : void 0;
  }
  Fu.gradient = C;
  function D(F, z, A, u, a) {
    var s = A.legend(u), h = A.config, E = {};
    if (n.isTimeFieldDef(F)) {
      var f = A.getScaleComponent(u).get("type") === o.ScaleType.UTC, S = c.timeFormatExpression("datum.value", F.timeUnit, s.format, h.legend.shortTimeLabels, h.timeFormat, f);
      z = e.__assign({}, S ? { text: { signal: S } } : {}, z);
    }
    return E = e.__assign({}, E, z), l.keys(E).length > 0 ? E : void 0;
  }
  Fu.labels = D;
  function x(F) {
    return N(F, function(z, A) {
      return Math.max(z, A.value);
    });
  }
  function M(F) {
    return N(F, function(z, A) {
      return z !== void 0 ? z : A.value;
    });
  }
  function N(F, z) {
    if (n.hasConditionalValueDef(F))
      return (t.isArray(F.condition) ? F.condition : [F.condition]).reduce(z, F.value);
    if (n.isValueDef(F))
      return F.value;
  }
  return Fu;
}
var Qc = {}, C8;
function _Le() {
  if (C8) return Qc;
  C8 = 1, Object.defineProperty(Qc, "__esModule", { value: !0 });
  var e = wt(), t = Ot(), r = nr(), n = Ze();
  function i(l, c) {
    var g = l.values;
    if (g)
      return t.valueArray(c, g);
  }
  Qc.values = i;
  function o(l, c, g) {
    if (e.isColorChannel(c) && (l === "quantitative" && !r.isBinScale(g) || l === "temporal" && n.contains(["time", "utc"], g)))
      return "gradient";
  }
  return Qc.type = o, Qc;
}
var x8;
function Tte() {
  if (x8) return Iu;
  x8 = 1, Object.defineProperty(Iu, "__esModule", { value: !0 });
  var e = Pe, t = wt(), r = Ot(), n = LN(), i = Pn(), o = Ze(), l = kn(), c = qr(), g = k_(), y = ii(), C = yLe(), D = e.__importStar(bLe()), x = e.__importStar(_Le());
  function M(s) {
    c.isUnitModel(s) ? s.component.legends = N(s) : s.component.legends = u(s);
  }
  Iu.parseLegend = M;
  function N(s) {
    var h = s.encoding;
    return [t.COLOR, t.FILL, t.STROKE, t.SIZE, t.SHAPE, t.OPACITY].reduce(function(E, f) {
      var S = h[f];
      return s.legend(f) && s.getScaleComponent(f) && !(r.isFieldDef(S) && f === t.SHAPE && S.type === i.GEOJSON) && (E[f] = z(s, f)), E;
    }, {});
  }
  function F(s, h) {
    var E;
    switch (h) {
      case t.COLOR:
        var f = s.scaleName(t.COLOR);
        return s.markDef.filled ? { fill: f } : { stroke: f };
      case t.FILL:
      case t.STROKE:
      case t.SIZE:
      case t.SHAPE:
      case t.OPACITY:
        return E = {}, E[h] = s.scaleName(h), E;
    }
  }
  function z(s, h) {
    var E = s.fieldDef(h), f = s.legend(h), S = new C.LegendComponent({}, F(s, h));
    n.LEGEND_PROPERTIES.forEach(function(p) {
      var b = A(p, f, h, s);
      if (b !== void 0) {
        var m = (
          // specified legend.values is already respected, but may get transformed.
          p === "values" ? !!f.values : (
            // title can be explicit if fieldDef.title is set
            p === "title" && b === s.fieldDef(h).title ? !0 : (
              // Otherwise, things are explicit if the returned value matches the specified property
              b === f[p]
            )
          )
        );
        (m || s.config.legend[p] === void 0) && S.set(p, b, m);
      }
    });
    var _ = f.encoding || {}, d = ["labels", "legend", "title", "symbols", "gradient"].reduce(function(p, b) {
      var m = l.guideEncodeEntry(_[b] || {}, s), v = D[b] ? (
        // TODO: replace legendCmpt with type is sufficient
        D[b](E, m, s, h, S.get("type"))
      ) : (
        // apply rule
        m
      );
      return v !== void 0 && o.keys(v).length > 0 && (p[b] = { update: v }), p;
    }, {});
    return o.keys(d).length > 0 && S.set("encode", d, !!f.encoding), S;
  }
  Iu.parseLegendForChannel = z;
  function A(s, h, E, f) {
    var S = f.fieldDef(E);
    switch (s) {
      case "format":
        return l.numberFormat(S, h.format, f.config);
      case "title":
        var _ = S.title !== void 0 ? S.title : h.title || (h.title === void 0 ? void 0 : null);
        return l.getSpecifiedOrDefaultValue(_, r.title(S, f.config)) || void 0;
      case "values":
        return x.values(h, S);
      case "type":
        return l.getSpecifiedOrDefaultValue(h.type, x.type(S.type, E, f.getScaleComponent(E).get("type")));
    }
    return h[s];
  }
  function u(s) {
    for (var h = s.component, E = h.legends, f = h.resolve, S = function(b) {
      M(b), o.keys(b.component.legends).forEach(function(m) {
        f.legend[m] = g.parseGuideResolve(s.component.resolve, m), f.legend[m] === "shared" && (E[m] = a(E[m], b.component.legends[m]), E[m] || (f.legend[m] = "independent", delete E[m]));
      });
    }, _ = 0, d = s.children; _ < d.length; _++) {
      var p = d[_];
      S(p);
    }
    return o.keys(E).forEach(function(b) {
      for (var m = 0, v = s.children; m < v.length; m++) {
        var O = v[m];
        O.component.legends[b] && f.legend[b] === "shared" && delete O.component.legends[b];
      }
    }), E;
  }
  function a(s, h) {
    if (!s)
      return h.clone();
    var E = s.getWithExplicit("orient"), f = h.getWithExplicit("orient");
    if (!(E.explicit && f.explicit && E.value !== f.value)) {
      for (var S = !1, _ = function(m) {
        var v = y.mergeValuesWithExplicit(
          s.getWithExplicit(m),
          h.getWithExplicit(m),
          m,
          "legend",
          // Tie breaker function
          function(O, T) {
            switch (m) {
              case "title":
                return l.mergeTitleComponent(O, T);
              case "type":
                return S = !0, y.makeImplicit("symbol");
            }
            return y.defaultTieBreaker(O, T, m, "legend");
          }
        );
        s.setWithExplicit(m, v);
      }, d = 0, p = n.VG_LEGEND_PROPERTIES; d < p.length; d++) {
        var b = p[d];
        _(b);
      }
      return S && (((s.implicit || {}).encode || {}).gradient && o.deleteNestedProperty(s.implicit, ["encode", "gradient"]), ((s.explicit || {}).encode || {}).gradient && o.deleteNestedProperty(s.explicit, ["encode", "gradient"])), s;
    }
  }
  return Iu.mergeLegendComponent = a, Iu;
}
var A8;
function Cte() {
  if (A8) return Ym;
  A8 = 1, Object.defineProperty(Ym, "__esModule", { value: !0 });
  var e = Ze(), t = Tte();
  function r(n) {
    for (var i = n.component.legends, o = {}, l = 0, c = e.keys(i); l < c.length; l++) {
      var g = c[l], y = n.getScaleComponent(g), C = e.stringify(y.domains);
      if (o[C])
        for (var D = 0, x = o[C]; D < x.length; D++) {
          var M = x[D], N = t.mergeLegendComponent(M, i[g]);
          N || o[C].push(i[g]);
        }
      else
        o[C] = [i[g].clone()];
    }
    return e.flatten(e.vals(o)).map(function(F) {
      return F.combine();
    });
  }
  return Ym.assembleLegends = r, Ym;
}
var Lu = {}, D8;
function ELe() {
  if (D8) return Lu;
  D8 = 1, Object.defineProperty(Lu, "__esModule", { value: !0 });
  var e = Pe, t = Ze(), r = Ci(), n = qr();
  function i(c) {
    return n.isLayerModel(c) || n.isConcatModel(c) || n.isRepeatModel(c) ? o(c) : l(c);
  }
  Lu.assembleProjections = i;
  function o(c) {
    return c.children.reduce(function(g, y) {
      return g.concat(y.assembleProjections());
    }, l(c));
  }
  Lu.assembleProjectionsForModelAndChildren = o;
  function l(c) {
    var g = c.component.projection;
    if (!g || g.merged)
      return [];
    var y = g.combine(), C = y.name, D = e.__rest(y, ["name"]), x = {
      signal: "[" + g.size.map(function(N) {
        return N.signal;
      }).join(", ") + "]"
    }, M = g.data.reduce(function(N, F) {
      var z = r.isVgSignalRef(F) ? F.signal : "data('" + c.lookupDataSource(F) + "')";
      return t.contains(N, z) || N.push(z), N;
    }, []);
    if (M.length <= 0)
      throw new Error("Projection's fit didn't find any data sources");
    return [e.__assign({
      name: C,
      size: x,
      fit: {
        signal: M.length > 1 ? "[" + M.join(", ") + "]" : M[0]
      }
    }, D)];
  }
  return Lu.assembleProjectionForModel = l, Lu;
}
var Km = {}, Xm = {}, P8;
function SLe() {
  return P8 || (P8 = 1, Object.defineProperty(Xm, "__esModule", { value: !0 }), Xm.PROJECTION_PROPERTIES = [
    "type",
    "clipAngle",
    "clipExtent",
    "center",
    "rotate",
    "precision",
    "coefficient",
    "distance",
    "fraction",
    "lobes",
    "parallel",
    "radius",
    "ratio",
    "spacing",
    "tilt"
  ]), Xm;
}
var Qm = {}, k8;
function wLe() {
  if (k8) return Qm;
  k8 = 1, Object.defineProperty(Qm, "__esModule", { value: !0 });
  var e = Pe, t = ii(), r = (
    /** @class */
    function(n) {
      e.__extends(i, n);
      function i(o, l, c, g) {
        var y = n.call(
          this,
          e.__assign({}, l),
          // all explicit properties of projection
          { name: o }
          // name as initial implicit property
        ) || this;
        return y.specifiedProjection = l, y.size = c, y.data = g, y.merged = !1, y;
      }
      return i;
    }(t.Split)
  );
  return Qm.ProjectionComponent = r, Qm;
}
var R8;
function OLe() {
  if (R8) return Km;
  R8 = 1, Object.defineProperty(Km, "__esModule", { value: !0 });
  var e = Pe, t = wt(), r = ns(), n = SLe(), i = Pn(), o = Ze(), l = qr(), c = wLe();
  function g(x) {
    l.isUnitModel(x) ? x.component.projection = y(x) : x.component.projection = D(x);
  }
  Km.parseProjection = g;
  function y(x) {
    var M = x.specifiedProjection, N = x.config, F = x.hasProjection;
    if (F) {
      var z = [];
      return [[t.LONGITUDE, t.LATITUDE], [t.LONGITUDE2, t.LATITUDE2]].forEach(function(A) {
        (x.channelHasField(A[0]) || x.channelHasField(A[1])) && z.push({
          signal: x.getName("geojson_" + z.length)
        });
      }), x.channelHasField(t.SHAPE) && x.fieldDef(t.SHAPE).type === i.GEOJSON && z.push({
        signal: x.getName("geojson_" + z.length)
      }), z.length === 0 && z.push(x.requestDataName(r.MAIN)), new c.ProjectionComponent(x.projectionName(!0), e.__assign({}, N.projection || {}, M || {}), [x.getSizeSignalRef("width"), x.getSizeSignalRef("height")], z);
    }
  }
  function C(x, M) {
    var N = o.every(n.PROJECTION_PROPERTIES, function(z) {
      return !!(!x.explicit.hasOwnProperty(z) && !M.explicit.hasOwnProperty(z) || x.explicit.hasOwnProperty(z) && M.explicit.hasOwnProperty(z) && // some properties might be signals or objects and require hashing for comparison
      o.stringify(x.get(z)) === o.stringify(M.get(z)));
    }), F = o.stringify(x.size) === o.stringify(M.size);
    if (F) {
      if (N)
        return x;
      if (o.stringify(x.explicit) === o.stringify({}))
        return M;
      if (o.stringify(M.explicit) === o.stringify({}))
        return x;
    }
    return null;
  }
  function D(x) {
    if (x.children.length !== 0) {
      var M, N = o.every(x.children, function(A) {
        g(A);
        var u = A.component.projection;
        if (u)
          if (M) {
            var a = C(M, u);
            return a && (M = a), !!a;
          } else
            return M = u, !0;
        else return !0;
      });
      if (M && N) {
        var F = x.projectionName(!0), z = new c.ProjectionComponent(F, M.specifiedProjection, M.size, o.duplicate(M.data));
        return x.children.forEach(function(A) {
          A.component.projection && (z.data = z.data.concat(A.component.projection.data), A.renameProjection(A.component.projection.get("name"), F), A.component.projection.merged = !0);
        }), z;
      }
    }
  }
  return Km;
}
var ju = {}, pa = {}, pA = {}, Zm = {}, M8;
function zN() {
  if (M8) return Zm;
  M8 = 1, Object.defineProperty(Zm, "__esModule", { value: !0 });
  var e = Pe, t = wt(), r = Ot(), n = e.__importStar(_t()), i = Ze(), o = kn(), l = Pr();
  function c(C, D, x) {
    return x.bin ? (C[r.vgField(x, {})] = !0, C[r.vgField(x, { binSuffix: "end" })] = !0, o.binRequiresRange(x, D) && (C[r.vgField(x, { binSuffix: "range" })] = !0)) : C[r.vgField(x)] = !0, C;
  }
  function g(C, D) {
    for (var x in D)
      if (D.hasOwnProperty(x)) {
        var M = D[x];
        for (var N in M)
          M.hasOwnProperty(N) && (x in C ? C[x][N] = M[N] : C[x] = { op: M[N] });
      }
  }
  var y = (
    /** @class */
    function(C) {
      e.__extends(D, C);
      function D(x, M, N) {
        var F = C.call(this, x) || this;
        return F.dimensions = M, F.measures = N, F;
      }
      return D.prototype.clone = function() {
        return new D(null, e.__assign({}, this.dimensions), i.duplicate(this.measures));
      }, D.makeFromEncoding = function(x, M) {
        var N = !1;
        M.forEachFieldDef(function(A) {
          A.aggregate && (N = !0);
        });
        var F = {}, z = {};
        return !N || (M.forEachFieldDef(function(A, u) {
          var a = A.aggregate, s = A.field;
          a ? a === "count" ? (F["*"] = F["*"] || {}, F["*"].count = r.vgField(A)) : (F[s] = F[s] || {}, F[s][a] = r.vgField(A), t.isScaleChannel(u) && M.scaleDomain(u) === "unaggregated" && (F[s].min = r.vgField({ field: s, aggregate: "min" }), F[s].max = r.vgField({ field: s, aggregate: "max" }))) : c(z, u, A);
        }), i.keys(z).length + i.keys(F).length === 0) ? null : new D(x, z, F);
      }, D.makeFromTransform = function(x, M) {
        for (var N = {}, F = {}, z = 0, A = M.aggregate; z < A.length; z++) {
          var u = A[z], a = u.op, s = u.field, h = u.as;
          a && (a === "count" ? (F["*"] = F["*"] || {}, F["*"].count = h || r.vgField(u)) : (F[s] = F[s] || {}, F[s][a] = h || r.vgField(u)));
        }
        for (var E = 0, f = M.groupby || []; E < f.length; E++) {
          var u = f[E];
          N[u] = !0;
        }
        return i.keys(N).length + i.keys(F).length === 0 ? null : new D(x, N, F);
      }, D.prototype.merge = function(x) {
        i.differ(this.dimensions, x.dimensions) ? n.debug("different dimensions, cannot merge") : (g(this.measures, x.measures), x.remove());
      }, D.prototype.addDimensions = function(x) {
        var M = this;
        x.forEach(function(N) {
          return M.dimensions[N] = !0;
        });
      }, D.prototype.dependentFields = function() {
        var x = {};
        return i.keys(this.dimensions).forEach(function(M) {
          return x[M] = !0;
        }), i.keys(this.measures).forEach(function(M) {
          return x[M] = !0;
        }), x;
      }, D.prototype.producedFields = function() {
        var x = this, M = {};
        return i.keys(this.measures).forEach(function(N) {
          i.keys(x.measures[N]).forEach(function(F) {
            M[F + "_" + N] = !0;
          });
        }), M;
      }, D.prototype.assemble = function() {
        for (var x = [], M = [], N = [], F = 0, z = i.keys(this.measures); F < z.length; F++)
          for (var A = z[F], u = 0, a = i.keys(this.measures[A]); u < a.length; u++) {
            var s = a[u];
            N.push(this.measures[A][s]), x.push(s), M.push(A);
          }
        var h = {
          type: "aggregate",
          groupby: i.keys(this.dimensions),
          ops: x,
          fields: M,
          as: N
        };
        return h;
      }, D;
    }(l.DataFlowNode)
  );
  return Zm.AggregateNode = y, Zm;
}
var Jm = {}, N8;
function R_() {
  if (N8) return Jm;
  N8 = 1, Object.defineProperty(Jm, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = wt(), n = Ot(), i = e.__importStar(_t()), o = nr(), l = La(), c = Ci(), g = ip(), y = Gl(), C = Pr(), D = (
    /** @class */
    function(x) {
      e.__extends(M, x);
      function M(N, F, z, A) {
        var u = x.call(this, N) || this;
        u.model = F, u.name = z, u.data = A;
        for (var a = 0, s = [r.COLUMN, r.ROW]; a < s.length; a++) {
          var h = s[a], E = F.facet[h];
          if (E) {
            var f = E.bin, S = E.sort;
            u[h] = e.__assign({ name: F.getName(h + "_domain"), fields: [
              n.vgField(E)
            ].concat(f ? [n.vgField(E, { binSuffix: "end" })] : []) }, l.isSortField(S) ? { sortField: S } : t.isArray(S) ? { sortIndexField: y.sortArrayIndexField(E, h) } : {});
          }
        }
        return u.childModel = F.child, u;
      }
      return Object.defineProperty(M.prototype, "fields", {
        get: function() {
          return (this.column && this.column.fields || []).concat(this.row && this.row.fields || []);
        },
        enumerable: !0,
        configurable: !0
      }), M.prototype.getSource = function() {
        return this.name;
      }, M.prototype.getChildIndependentFieldsWithStep = function() {
        for (var N = {}, F = 0, z = ["x", "y"]; F < z.length; F++) {
          var A = z[F], u = this.childModel.component.scales[A];
          if (u && !u.merged) {
            var a = u.get("type"), s = u.get("range");
            if (o.hasDiscreteDomain(a) && c.isVgRangeStep(s)) {
              var h = g.assembleDomain(this.childModel, A), E = g.getFieldFromDomain(h);
              E ? N[A] = E : i.warn("Unknown field for ${channel}.  Cannot calculate view size.");
            }
          }
        }
        return N;
      }, M.prototype.assembleRowColumnData = function(N, F, z) {
        var A = N === "row" ? "y" : "x", u = [], a = [], s = [];
        z[A] && (F ? (u.push("distinct_" + z[A]), a.push("max")) : (u.push(z[A]), a.push("distinct")), s.push("distinct_" + z[A]));
        var h = this[N], E = h.sortField, f = h.sortIndexField;
        if (E) {
          var S = E.op, _ = E.field;
          u.push(_), a.push(S), s.push(n.vgField(E));
        } else f && (u.push(f), a.push("max"), s.push(f));
        return {
          name: this[N].name,
          // Use data from the crossed one if it exist
          source: F || this.data,
          transform: [e.__assign({ type: "aggregate", groupby: this[N].fields }, u.length ? {
            fields: u,
            ops: a,
            as: s
          } : {})]
        };
      }, M.prototype.assemble = function() {
        var N = [], F = null, z = this.getChildIndependentFieldsWithStep();
        if (this.column && this.row && (z.x || z.y)) {
          F = "cross_" + this.column.name + "_" + this.row.name;
          var A = [].concat(z.x ? [z.x] : [], z.y ? [z.y] : []), u = A.map(function() {
            return "distinct";
          });
          N.push({
            name: F,
            source: this.data,
            transform: [{
              type: "aggregate",
              groupby: this.column.fields.concat(this.row.fields),
              fields: A,
              ops: u
            }]
          });
        }
        for (var a = 0, s = [r.COLUMN, r.ROW]; a < s.length; a++) {
          var h = s[a];
          this[h] && N.push(this.assembleRowColumnData(h, F, z));
        }
        return N;
      }, M;
    }(C.DataFlowNode)
  );
  return Jm.FacetNode = D, Jm;
}
var ev = {}, I8;
function BN() {
  if (I8) return ev;
  I8 = 1, Object.defineProperty(ev, "__esModule", { value: !0 });
  var e = Pe, t = wt(), r = Ot(), n = ln(), i = nr(), o = Ze(), l = Pr(), c = (
    /** @class */
    function(g) {
      e.__extends(y, g);
      function y(C, D) {
        var x = g.call(this, C) || this;
        return x.fieldDefs = D, x;
      }
      return y.prototype.clone = function() {
        return new y(null, e.__assign({}, this.fieldDefs));
      }, y.make = function(C, D) {
        var x = D.config, M = D.mark;
        if (x.invalidValues !== "filter")
          return null;
        var N = D.reduceFieldDef(function(F, z, A) {
          var u = t.isScaleChannel(A) && D.getScaleComponent(A);
          if (u) {
            var a = u.get("type");
            i.hasContinuousDomain(a) && !z.aggregate && !n.isPathMark(M) && (F[z.field] = z);
          }
          return F;
        }, {});
        return o.keys(N).length ? new y(C, N) : null;
      }, Object.defineProperty(y.prototype, "filter", {
        get: function() {
          return this.fieldDefs;
        },
        enumerable: !0,
        configurable: !0
      }), y.prototype.assemble = function() {
        var C = this, D = o.keys(this.filter).reduce(function(x, M) {
          var N = C.fieldDefs[M], F = r.vgField(N, { expr: "datum" });
          return N !== null && (x.push(F + " !== null"), x.push("!isNaN(" + F + ")")), x;
        }, []);
        return D.length > 0 ? {
          type: "filter",
          expr: D.join(" && ")
        } : null;
      }, y;
    }(l.DataFlowNode)
  );
  return ev.FilterInvalidNode = c, ev;
}
var bs = {}, tv = {}, F8;
function WN() {
  if (F8) return tv;
  F8 = 1, Object.defineProperty(tv, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = tp(), n = D_(), i = Ot(), o = e.__importStar(_t()), l = IN(), c = ap(), g = La(), y = Ze(), C = qr(), D = ii(), x = Pr();
  function M(F, z) {
    var A = y.accessPathWithDatum(F);
    if (z === "number")
      return "toNumber(" + A + ")";
    if (z === "boolean")
      return "toBoolean(" + A + ")";
    if (z === "string")
      return "toString(" + A + ")";
    if (z === "date")
      return "toDate(" + A + ")";
    if (z === "flatten")
      return A;
    if (z.indexOf("date:") === 0) {
      var u = z.slice(5, z.length);
      return "timeParse(" + A + "," + u + ")";
    } else if (z.indexOf("utc:") === 0) {
      var u = z.slice(4, z.length);
      return "utcParse(" + A + "," + u + ")";
    } else
      return o.warn(o.message.unrecognizedParse(z)), null;
  }
  var N = (
    /** @class */
    function(F) {
      e.__extends(z, F);
      function z(A, u) {
        var a = F.call(this, A) || this;
        return a._parse = u, a;
      }
      return z.prototype.clone = function() {
        return new z(null, y.duplicate(this._parse));
      }, z.makeExplicit = function(A, u, a) {
        var s = {}, h = u.data;
        return h && h.format && h.format.parse && (s = h.format.parse), this.makeWithAncestors(A, s, {}, a);
      }, z.makeImplicitFromFilterTransform = function(A, u, a) {
        var s = {};
        return l.forEachLeaf(u.filter, function(h) {
          if (c.isFieldPredicate(h)) {
            var E = null;
            c.isFieldEqualPredicate(h) ? E = h.equal : c.isFieldRangePredicate(h) ? E = h.range[0] : c.isFieldOneOfPredicate(h) && (E = (h.oneOf || h.in)[0]), E && (n.isDateTime(E) ? s[h.field] = "date" : t.isNumber(E) ? s[h.field] = "number" : t.isString(E) && (s[h.field] = "string")), h.timeUnit && (s[h.field] = "date");
          }
        }), y.keys(s).length === 0 ? null : this.makeWithAncestors(A, {}, s, a);
      }, z.makeImplicitFromEncoding = function(A, u, a) {
        var s = {};
        return (C.isUnitModel(u) || C.isFacetModel(u)) && u.forEachFieldDef(function(h) {
          i.isTimeFieldDef(h) ? s[h.field] = "date" : i.isNumberFieldDef(h) ? r.isCountingAggregateOp(h.aggregate) || (s[h.field] = "number") : y.accessPathDepth(h.field) > 1 ? h.field in s || (s[h.field] = "flatten") : i.isScaleFieldDef(h) && g.isSortField(h.sort) && y.accessPathDepth(h.sort.field) > 1 && (h.sort.field in s || (s[h.sort.field] = "flatten"));
        }), this.makeWithAncestors(A, {}, s, a);
      }, z.makeWithAncestors = function(A, u, a, s) {
        for (var h = 0, E = y.keys(a); h < E.length; h++) {
          var f = E[h], S = s.getWithExplicit(f);
          S.value !== void 0 && (S.explicit || S.value === a[f] || S.value === "derived" || a[f] === "flatten" ? delete a[f] : o.warn(o.message.differentParse(f, a[f], S.value)));
        }
        for (var _ = 0, d = y.keys(u); _ < d.length; _++) {
          var f = d[_], S = s.get(f);
          S !== void 0 && (S === u[f] ? delete u[f] : o.warn(o.message.differentParse(f, u[f], S)));
        }
        var p = new D.Split(u, a);
        s.copyAll(p);
        for (var b = {}, m = 0, v = y.keys(p.combine()); m < v.length; m++) {
          var O = v[m], T = p.get(O);
          T !== null && (b[O] = T);
        }
        return y.keys(b).length === 0 || s.parseNothing ? null : new z(A, b);
      }, Object.defineProperty(z.prototype, "parse", {
        get: function() {
          return this._parse;
        },
        enumerable: !0,
        configurable: !0
      }), z.prototype.merge = function(A) {
        this._parse = e.__assign({}, this._parse, A.parse), A.remove();
      }, z.prototype.assembleFormatParse = function() {
        for (var A = {}, u = 0, a = y.keys(this._parse); u < a.length; u++) {
          var s = a[u], h = this._parse[s];
          y.accessPathDepth(s) === 1 && (A[s] = h);
        }
        return A;
      }, z.prototype.producedFields = function() {
        return t.toSet(y.keys(this._parse));
      }, z.prototype.dependentFields = function() {
        return t.toSet(y.keys(this._parse));
      }, z.prototype.assembleTransforms = function(A) {
        var u = this;
        return A === void 0 && (A = !1), y.keys(this._parse).filter(function(a) {
          return A ? y.accessPathDepth(a) > 1 : !0;
        }).map(function(a) {
          var s = M(a, u._parse[a]);
          if (!s)
            return null;
          var h = {
            type: "formula",
            expr: s,
            as: y.removePathFromField(a)
            // Vega output is always flattened
          };
          return h;
        }).filter(function(a) {
          return a !== null;
        });
      }, z;
    }(x.DataFlowNode)
  );
  return tv.ParseNode = N, tv;
}
var rv = {}, L8;
function M_() {
  if (L8) return rv;
  L8 = 1, Object.defineProperty(rv, "__esModule", { value: !0 });
  var e = Pe, t = ns(), r = Ze(), n = Pr(), i = (
    /** @class */
    function(o) {
      e.__extends(l, o);
      function l(c) {
        var g = o.call(this, null) || this;
        if (c = c || { name: "source" }, t.isInlineData(c))
          g._data = { values: c.values };
        else if (t.isUrlData(c)) {
          if (g._data = { url: c.url }, c.format || (c.format = {}), !c.format || !c.format.type) {
            var y = /(?:\.([^.]+))?$/.exec(c.url)[1];
            r.contains(["json", "csv", "tsv", "dsv", "topojson"], y) || (y = "json"), c.format.type = y;
          }
        } else t.isNamedData(c) && (g._data = {});
        if (c.name && (g._name = c.name), c.format) {
          var C = c.format;
          C.parse;
          var D = e.__rest(C, ["parse"]);
          g._data.format = D;
        }
        return g;
      }
      return Object.defineProperty(l.prototype, "data", {
        get: function() {
          return this._data;
        },
        enumerable: !0,
        configurable: !0
      }), l.prototype.hasName = function() {
        return !!this._name;
      }, Object.defineProperty(l.prototype, "dataName", {
        get: function() {
          return this._name;
        },
        set: function(c) {
          this._name = c;
        },
        enumerable: !0,
        configurable: !0
      }), Object.defineProperty(l.prototype, "parent", {
        set: function(c) {
          throw new Error("Source nodes have to be roots.");
        },
        enumerable: !0,
        configurable: !0
      }), l.prototype.remove = function() {
        throw new Error("Source nodes are roots and cannot be removed.");
      }, l.prototype.hash = function() {
        return t.isInlineData(this._data) ? (this._hash || (this._hash = r.hash(this._data)), this._hash) : t.isUrlData(this._data) ? r.hash([this._data.url, this._data.format]) : this._name;
      }, l.prototype.assemble = function() {
        return e.__assign({ name: this._name }, this._data, { transform: [] });
      }, l;
    }(n.DataFlowNode)
  );
  return rv.SourceNode = i, rv;
}
var nv = {}, j8;
function N_() {
  if (j8) return nv;
  j8 = 1, Object.defineProperty(nv, "__esModule", { value: !0 });
  var e = Pe, t = Ot(), r = np(), n = Ze(), i = Pr(), o = (
    /** @class */
    function(l) {
      e.__extends(c, l);
      function c(g, y) {
        var C = l.call(this, g) || this;
        return C.formula = y, C;
      }
      return c.prototype.clone = function() {
        return new c(null, n.duplicate(this.formula));
      }, c.makeFromEncoding = function(g, y) {
        var C = y.reduceFieldDef(function(D, x) {
          if (x.timeUnit) {
            var M = t.vgField(x);
            D[M] = {
              as: M,
              timeUnit: x.timeUnit,
              field: x.field
            };
          }
          return D;
        }, {});
        return n.keys(C).length === 0 ? null : new c(g, C);
      }, c.makeFromTransform = function(g, y) {
        var C;
        return new c(g, (C = {}, C[y.field] = {
          as: y.as,
          timeUnit: y.timeUnit,
          field: y.field
        }, C));
      }, c.prototype.merge = function(g) {
        this.formula = e.__assign({}, this.formula, g.formula), g.remove();
      }, c.prototype.producedFields = function() {
        var g = {};
        return n.vals(this.formula).forEach(function(y) {
          g[y.as] = !0;
        }), g;
      }, c.prototype.dependentFields = function() {
        var g = {};
        return n.vals(this.formula).forEach(function(y) {
          g[y.field] = !0;
        }), g;
      }, c.prototype.assemble = function() {
        return n.vals(this.formula).map(function(g) {
          return {
            type: "formula",
            as: g.as,
            expr: r.fieldExpr(g.timeUnit, g.field)
          };
        });
      }, c;
    }(i.DataFlowNode)
  );
  return nv.TimeUnitNode = o, nv;
}
var U8;
function TLe() {
  if (U8) return bs;
  U8 = 1, Object.defineProperty(bs, "__esModule", { value: !0 });
  var e = Pe, t = Ze(), r = Pr(), n = R_(), i = WN(), o = M_(), l = N_();
  function c(D) {
    function x(M) {
      if (!(M instanceof o.SourceNode)) {
        var N = M.parent;
        D(M) && x(N);
      }
    }
    return x;
  }
  bs.iterateFromLeaves = c;
  function g(D) {
    var x = D.parent;
    if (D instanceof i.ParseNode) {
      if (x instanceof o.SourceNode)
        return !1;
      if (x.numChildren() > 1)
        return !0;
      if (x instanceof i.ParseNode)
        x.merge(D);
      else {
        if (t.hasIntersection(x.producedFields(), D.dependentFields()))
          return !0;
        D.swapWithParent();
      }
    }
    return !0;
  }
  bs.moveParseUp = g;
  function y(D) {
    return D instanceof r.OutputNode || D.numChildren() > 0 || D instanceof n.FacetNode ? !1 : (D.remove(), !0);
  }
  bs.removeUnusedSubtrees = y;
  function C(D) {
    var x = {};
    return c(function(M) {
      if (M instanceof l.TimeUnitNode) {
        var N = M.producedFields(), F = t.keys(N).every(function(z) {
          return !!x[z];
        });
        F ? M.remove() : x = e.__assign({}, x, N);
      }
      return !0;
    })(D);
  }
  return bs.removeDuplicateTimeUnits = C, bs;
}
var iv = {}, q8;
function $N() {
  if (q8) return iv;
  q8 = 1, Object.defineProperty(iv, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = Ot(), n = Ze(), i = kn(), o = Pr();
  function l(y) {
    return y.stack.stackBy.reduce(function(C, D) {
      var x = D.fieldDef, M = r.vgField(x);
      return M && C.push(M), C;
    }, []);
  }
  function c(y) {
    return t.isArray(y) && y.every(function(C) {
      return t.isString(C);
    }) && y.length > 1;
  }
  var g = (
    /** @class */
    function(y) {
      e.__extends(C, y);
      function C(D, x) {
        var M = y.call(this, D) || this;
        return M._stack = x, M;
      }
      return C.prototype.clone = function() {
        return new C(null, n.duplicate(this._stack));
      }, C.makeFromTransform = function(D, x) {
        var M = x.stack, N = x.groupby, F = x.as, z = x.offset, A = z === void 0 ? "zero" : z, u = [], a = [];
        if (x.sort !== void 0)
          for (var s = 0, h = x.sort; s < h.length; s++) {
            var E = h[s];
            u.push(E.field), a.push(E.order === void 0 ? "ascending" : E.order);
          }
        var f = {
          field: u,
          order: a
        }, S;
        return c(F) ? S = F : t.isString(F) ? S = [F, F + "_end"] : S = [x.stack + "_start", x.stack + "_end"], new C(D, {
          stackField: M,
          groupby: N,
          offset: A,
          sort: f,
          facetby: [],
          as: S
        });
      }, C.makeFromEncoding = function(D, x) {
        var M = x.stack;
        if (!M)
          return null;
        var N;
        M.groupbyChannel && (N = x.fieldDef(M.groupbyChannel));
        var F = l(x), z = x.encoding.order, A;
        t.isArray(z) || r.isFieldDef(z) ? A = i.sortParams(z) : A = F.reduce(function(a, s) {
          return a.field.push(s), a.order.push("descending"), a;
        }, { field: [], order: [] });
        var u = x.vgField(M.fieldChannel);
        return new C(D, {
          dimensionFieldDef: N,
          stackField: u,
          facetby: [],
          stackby: F,
          sort: A,
          offset: M.offset,
          impute: M.impute,
          as: [u + "_start", u + "_end"]
        });
      }, Object.defineProperty(C.prototype, "stack", {
        get: function() {
          return this._stack;
        },
        enumerable: !0,
        configurable: !0
      }), C.prototype.addDimensions = function(D) {
        this._stack.facetby = this._stack.facetby.concat(D);
      }, C.prototype.dependentFields = function() {
        var D = {};
        D[this._stack.stackField] = !0, this.getGroupbyFields().forEach(function(M) {
          return D[M] = !0;
        }), this._stack.facetby.forEach(function(M) {
          return D[M] = !0;
        });
        var x = this._stack.sort.field;
        return t.isArray(x) ? x.forEach(function(M) {
          return D[M] = !0;
        }) : D[x] = !0, D;
      }, C.prototype.producedFields = function() {
        return this._stack.as.reduce(function(D, x) {
          return D[x] = !0, D;
        }, {});
      }, C.prototype.getGroupbyFields = function() {
        var D = this._stack, x = D.dimensionFieldDef, M = D.impute, N = D.groupby;
        return x ? x.bin ? M ? [r.vgField(x, { binSuffix: "mid" })] : [
          // For binned group by field without impute, we need both bin (start) and bin_end
          r.vgField(x, {}),
          r.vgField(x, { binSuffix: "end" })
        ] : [r.vgField(x)] : N || [];
      }, C.prototype.assemble = function() {
        var D = [], x = this._stack, M = x.facetby, N = x.dimensionFieldDef, F = x.stackField, z = x.stackby, A = x.sort, u = x.offset, a = x.impute, s = x.as;
        if (a && N) {
          var h = N ? r.vgField(N, { binSuffix: "mid" }) : void 0;
          N.bin && D.push({
            type: "formula",
            expr: "(" + r.vgField(N, { expr: "datum" }) + "+" + r.vgField(N, { expr: "datum", binSuffix: "end" }) + ")/2",
            as: h
          }), D.push({
            type: "impute",
            field: F,
            groupby: z,
            key: h,
            method: "value",
            value: 0
          });
        }
        return D.push({
          type: "stack",
          groupby: this.getGroupbyFields().concat(M),
          field: F,
          sort: A,
          as: s,
          offset: u
        }), D;
      }, C;
    }(o.DataFlowNode)
  );
  return iv.StackNode = g, iv;
}
var z8;
function xte() {
  return z8 || (z8 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = ns(), n = Ze(), i = zN(), o = Pr(), l = R_(), c = BN(), g = t.__importStar(TLe()), y = $N();
    e.FACET_SCALE_PREFIX = "scale_";
    function C(z) {
      function A(u) {
        if (!(u instanceof l.FacetNode)) {
          var a = u.clone();
          if (a instanceof o.OutputNode) {
            var s = e.FACET_SCALE_PREFIX + a.getSource();
            a.setSource(s), z.model.component.data.outputNodes[s] = a;
          } else (a instanceof i.AggregateNode || a instanceof y.StackNode) && a.addDimensions(z.fields);
          return n.flatten(u.children.map(A)).forEach(function(h) {
            return h.parent = a;
          }), [a];
        }
        return n.flatten(u.children.map(A));
      }
      return A;
    }
    function D(z) {
      if (z instanceof l.FacetNode)
        if (z.numChildren() === 1 && !(z.children[0] instanceof o.OutputNode)) {
          var A = z.children[0];
          (A instanceof i.AggregateNode || A instanceof y.StackNode) && A.addDimensions(z.fields), A.swapWithParent(), D(z);
        } else {
          x(z.model.component.data.main);
          var u = n.flatten(z.children.map(C(z)));
          u.forEach(function(a) {
            return a.parent = z.model.component.data.main;
          });
        }
      else
        z.children.forEach(D);
    }
    function x(z) {
      if (z instanceof o.OutputNode && z.type === r.MAIN && z.numChildren() === 1) {
        var A = z.children[0];
        A instanceof l.FacetNode || (A.swapWithParent(), x(z));
      }
    }
    function M(z) {
      z instanceof c.FilterInvalidNode && n.every(n.vals(z.filter), function(A) {
        return A === null;
      }) && z.remove(), z instanceof o.OutputNode && !z.isRequired() && z.remove(), z.children.forEach(M);
    }
    function N(z) {
      var A = [];
      function u(a) {
        a.numChildren() === 0 ? A.push(a) : a.children.forEach(u);
      }
      return z.forEach(u), A;
    }
    function F(z) {
      var A = n.vals(z.sources);
      A.forEach(M), A = A.filter(function(u) {
        return u.numChildren() > 0;
      }), N(A).forEach(g.iterateFromLeaves(g.removeUnusedSubtrees)), A = A.filter(function(u) {
        return u.numChildren() > 0;
      }), N(A).forEach(g.iterateFromLeaves(g.moveParseUp)), N(A).forEach(g.removeDuplicateTimeUnits), A.forEach(D), n.keys(z.sources).forEach(function(u) {
        z.sources[u].numChildren() === 0 && delete z.sources[u];
      });
    }
    e.optimizeDataflow = F;
  }(pA)), pA;
}
var B8;
function ip() {
  if (B8) return pa;
  B8 = 1, Object.defineProperty(pa, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = tp(), n = rp(), i = wt(), o = ns(), l = Ot(), c = e.__importStar(_t()), g = nr(), y = La(), C = e.__importStar(Ze()), D = Ci(), x = kn(), M = Gl(), N = xte(), F = qr(), z = fn();
  function A(m) {
    F.isUnitModel(m) ? u(m) : a(m);
  }
  pa.parseScaleDomain = A;
  function u(m) {
    var v = m.specifiedScales, O = m.component.scales;
    C.keys(O).forEach(function(T) {
      var w = v[T], P = w ? w.domain : void 0, I = h(m, T), L = O[T];
      if (L.domains = I, g.isSelectionDomain(P) && L.set("domainRaw", {
        signal: z.SELECTION_DOMAIN + C.hash(P)
      }, !0), m.component.data.isFaceted) {
        for (var R = m; !F.isFacetModel(R) && R.parent; )
          R = R.parent;
        var q = R.component.resolve.scale[T];
        if (q === "shared")
          for (var B = 0, j = I; B < j.length; B++) {
            var k = j[B];
            D.isDataRefDomain(k) && (k.data = N.FACET_SCALE_PREFIX + k.data.replace(N.FACET_SCALE_PREFIX, ""));
          }
      }
    });
  }
  function a(m) {
    for (var v = 0, O = m.children; v < O.length; v++) {
      var T = O[v];
      A(T);
    }
    var w = m.component.scales;
    C.keys(w).forEach(function(P) {
      for (var I, L = null, R = 0, q = m.children; R < q.length; R++) {
        var B = q[R], j = B.component.scales[P];
        if (j) {
          I === void 0 ? I = j.domains : I = I.concat(j.domains);
          var k = j.get("domainRaw");
          L && k && L.signal !== k.signal && c.warn("The same selection must be used to override scale domains in a layered view."), L = k;
        }
      }
      w[P].domains = I, L && w[P].set("domainRaw", L, !0);
    });
  }
  function s(m, v, O, T) {
    if (m === "unaggregated") {
      var w = _(v, O), P = w.valid, I = w.reason;
      if (!P) {
        c.warn(I);
        return;
      }
    } else if (m === void 0 && T.useUnaggregatedDomain) {
      var P = _(v, O).valid;
      if (P)
        return "unaggregated";
    }
    return m;
  }
  function h(m, v) {
    var O = m.getScaleComponent(v).get("type"), T = s(m.scaleDomain(v), m.fieldDef(v), O, m.config.scale);
    return T !== m.scaleDomain(v) && (m.specifiedScales[v] = e.__assign({}, m.specifiedScales[v], { domain: T })), v === "x" && m.channelHasField("x2") ? m.channelHasField("x") ? f(O, T, m, "x").concat(f(O, T, m, "x2")) : f(O, T, m, "x2") : v === "y" && m.channelHasField("y2") ? m.channelHasField("y") ? f(O, T, m, "y").concat(f(O, T, m, "y2")) : f(O, T, m, "y2") : f(O, T, m, v);
  }
  pa.parseDomainForChannel = h;
  function E(m, v, O) {
    return m.map(function(T) {
      var w = l.valueExpr(T, { timeUnit: O, type: v });
      return { signal: "{data: " + w + "}" };
    });
  }
  function f(m, v, O, T) {
    var w = O.fieldDef(T);
    if (v && v !== "unaggregated" && !g.isSelectionDomain(v)) {
      var P = w.type, I = w.timeUnit;
      return P === "temporal" || I ? E(v, P, I) : [v];
    }
    var L = O.stack;
    if (L && T === L.fieldChannel) {
      if (L.offset === "normalize")
        return [[0, 1]];
      var R = O.requestDataName(o.MAIN);
      return [{
        data: R,
        field: O.vgField(T, { suffix: "start" })
      }, {
        data: R,
        field: O.vgField(T, { suffix: "end" })
      }];
    }
    var q = i.isScaleChannel(T) ? S(O, T, m) : void 0;
    if (v === "unaggregated") {
      var R = O.requestDataName(o.MAIN), B = w.field;
      return [{
        data: R,
        field: l.vgField({ field: B, aggregate: "min" })
      }, {
        data: R,
        field: l.vgField({ field: B, aggregate: "max" })
      }];
    } else if (w.bin) {
      if (g.isBinScale(m)) {
        var j = O.getName(n.binToString(w.bin) + "_" + w.field + "_bins");
        return [{ signal: "sequence(" + j + ".start, " + j + ".stop + " + j + ".step, " + j + ".step)" }];
      }
      if (g.hasDiscreteDomain(m))
        return [{
          // If sort by aggregation of a specified sort field, we need to use RAW table,
          // so we can aggregate values for the scale independently from the main aggregation.
          data: C.isBoolean(q) ? O.requestDataName(o.MAIN) : O.requestDataName(o.RAW),
          // Use range if we added it and the scale does not support computing a range as a signal.
          field: O.vgField(T, x.binRequiresRange(w, T) ? { binSuffix: "range" } : {}),
          // we have to use a sort object if sort = true to make the sort correct by bin start
          sort: q === !0 || !y.isSortField(q) ? {
            field: O.vgField(T, {}),
            op: "min"
            // min or max doesn't matter since we sort by the start of the bin range
          } : q
        }];
      if (T === "x" || T === "y") {
        if (n.isBinParams(w.bin) && w.bin.extent)
          return [w.bin.extent];
        var R = O.requestDataName(o.MAIN);
        return [{
          data: R,
          field: O.vgField(T, {})
        }, {
          data: R,
          field: O.vgField(T, { binSuffix: "end" })
        }];
      } else
        return [{
          data: O.requestDataName(o.MAIN),
          field: O.vgField(T, {})
        }];
    } else return q ? [{
      // If sort by aggregation of a specified sort field, we need to use RAW table,
      // so we can aggregate values for the scale independently from the main aggregation.
      data: C.isBoolean(q) ? O.requestDataName(o.MAIN) : O.requestDataName(o.RAW),
      field: O.vgField(T),
      sort: q
    }] : [{
      data: O.requestDataName(o.MAIN),
      field: O.vgField(T)
    }];
  }
  function S(m, v, O) {
    if (g.hasDiscreteDomain(O)) {
      var T = m.fieldDef(v), w = T.sort;
      if (y.isSortArray(w))
        return {
          op: "min",
          field: M.sortArrayIndexField(T, v),
          order: "ascending"
        };
      if (y.isSortField(w))
        return e.__assign({}, w, w.field ? { field: C.replacePathInField(w.field) } : {});
      if (w === "descending")
        return {
          op: "min",
          field: m.vgField(v),
          order: "descending"
        };
      if (C.contains([
        "ascending",
        void 0
        /* default =ascending*/
      ], w))
        return !0;
    }
  }
  pa.domainSort = S;
  function _(m, v) {
    return m.aggregate ? r.SHARED_DOMAIN_OP_INDEX[m.aggregate] ? m.type === "quantitative" && v === "log" ? {
      valid: !1,
      reason: c.message.unaggregatedDomainWithLogScale(m)
    } : { valid: !0 } : {
      valid: !1,
      reason: c.message.unaggregateDomainWithNonSharedDomainOp(m.aggregate)
    } : {
      valid: !1,
      reason: c.message.unaggregateDomainHasNoEffectForRawField(m)
    };
  }
  pa.canUseUnaggregatedDomain = _;
  function d(m) {
    var v = C.unique(m.map(function(R) {
      if (D.isDataRefDomain(R)) {
        R.sort;
        var q = e.__rest(R, ["sort"]);
        return q;
      }
      return R;
    }), C.hash), O = C.unique(m.map(function(R) {
      if (D.isDataRefDomain(R)) {
        var q = R.sort;
        return q !== void 0 && !C.isBoolean(q) && (q.op === "count" && delete q.field, q.order === "ascending" && delete q.order), q;
      }
    }).filter(function(R) {
      return R !== void 0;
    }), C.hash);
    if (v.length === 1) {
      var T = m[0];
      if (D.isDataRefDomain(T) && O.length > 0) {
        var w = O[0];
        return O.length > 1 && (c.warn(c.message.MORE_THAN_ONE_SORT), w = !0), e.__assign({}, T, { sort: w });
      }
      return T;
    }
    var P = C.unique(O.map(function(R) {
      return R === !0 || R.op === "count" ? R : (c.warn(c.message.domainSortDropped(R)), !0);
    }), C.hash), I = void 0;
    P.length === 1 ? I = P[0] : P.length > 1 && (c.warn(c.message.MORE_THAN_ONE_SORT), I = !0);
    var L = C.unique(m.map(function(R) {
      return D.isDataRefDomain(R) ? R.data : null;
    }), function(R) {
      return R;
    });
    if (L.length === 1 && L[0] !== null) {
      var T = e.__assign({ data: L[0], fields: v.map(function(q) {
        return q.field;
      }) }, I ? { sort: I } : {});
      return T;
    }
    return e.__assign({ fields: v }, I ? { sort: I } : {});
  }
  pa.mergeDomains = d;
  function p(m) {
    if (D.isDataRefDomain(m) && t.isString(m.field))
      return m.field;
    if (D.isDataRefUnionedDomain(m)) {
      for (var v = void 0, O = 0, T = m.fields; O < T.length; O++) {
        var w = T[O];
        if (D.isDataRefDomain(w) && t.isString(w.field)) {
          if (!v)
            v = w.field;
          else if (v !== w.field)
            return c.warn("Detected faceted independent scales that union domain of multiple fields from different data sources.  We will use the first field.  The result view size may be incorrect."), v;
        }
      }
      return c.warn("Detected faceted independent scales that union domain of identical fields from different source detected.  We will assume that this is the same field from a different fork of the same data source.  However, if this is not case, the result view size maybe incorrect."), v;
    } else if (D.isFieldRefUnionDomain(m)) {
      c.warn("Detected faceted independent scales that union domain of multiple fields from the same data source.  We will use the first field.  The result view size may be incorrect.");
      var v = m.fields[0];
      return t.isString(v) ? v : void 0;
    }
  }
  pa.getFieldFromDomain = p;
  function b(m, v) {
    var O = m.component.scales[v], T = O.domains.map(function(w) {
      return D.isDataRefDomain(w) && (w.data = m.lookupDataSource(w.data)), w;
    });
    return d(T);
  }
  return pa.assembleDomain = b, pa;
}
var W8;
function CLe() {
  if (W8) return ju;
  W8 = 1, Object.defineProperty(ju, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = Ze(), n = Ci(), i = qr(), o = fn(), l = ip();
  function c(C) {
    return i.isLayerModel(C) || i.isConcatModel(C) || i.isRepeatModel(C) ? C.children.reduce(function(D, x) {
      return D.concat(c(x));
    }, g(C)) : g(C);
  }
  ju.assembleScales = c;
  function g(C) {
    return r.keys(C.component.scales).reduce(function(D, x) {
      var M = C.component.scales[x];
      if (M.merged)
        return D;
      var N = M.combine(), F = N.domainRaw, z = N.range, A = N.name, u = N.type;
      N.domainRaw, N.range;
      var a = e.__rest(N, ["name", "type", "domainRaw", "range"]);
      return z = y(z, A, C, x), F && o.isRawSelectionDomain(F) && (F = o.selectionScaleDomain(C, F)), D.push(e.__assign({
        name: A,
        type: u,
        domain: l.assembleDomain(C, x)
      }, F ? { domainRaw: F } : {}, { range: z }, a)), D;
    }, []);
  }
  ju.assembleScalesForModel = g;
  function y(C, D, x, M) {
    if (M === "x" || M === "y") {
      if (n.isVgRangeStep(C))
        return {
          step: { signal: D + "_step" }
        };
      if (t.isArray(C) && C.length === 2) {
        var N = C[0], F = C[1];
        if (N === 0 && n.isVgSignalRef(F))
          return [0, { signal: x.getSizeName(F.signal) }];
        if (n.isVgSignalRef(N) && F === 0)
          return [{ signal: x.getSizeName(N.signal) }, 0];
      }
    }
    return C;
  }
  return ju.assembleScaleRange = y, ju;
}
var Zc = {}, av = {}, $8;
function xLe() {
  if ($8) return av;
  $8 = 1, Object.defineProperty(av, "__esModule", { value: !0 });
  var e = Pe, t = ii(), r = (
    /** @class */
    function(n) {
      e.__extends(i, n);
      function i(o, l) {
        var c = n.call(
          this,
          {},
          // no initial explicit property
          { name: o }
          // name as initial implicit property
        ) || this;
        return c.merged = !1, c.domains = [], c.setWithExplicit("type", l), c;
      }
      return i;
    }(t.Split)
  );
  return av.ScaleComponent = r, av;
}
var li = {}, hA = {}, V8;
function Ate() {
  return V8 || (V8 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = lt, n = wt(), i = t.__importStar(_t()), o = nr(), l = nr(), c = t.__importStar(Ze()), g = Ci(), y = qr(), C = ii(), D = Dte();
    e.RANGE_PROPERTIES = ["range", "rangeStep", "scheme"];
    function x(h) {
      y.isUnitModel(h) ? M(h) : D.parseNonUnitScaleProperty(h, "range");
    }
    e.parseScaleRange = x;
    function M(h) {
      var E = h.component.scales;
      n.SCALE_CHANNELS.forEach(function(f) {
        var S = E[f];
        if (S) {
          var _ = h.getScaleComponent(f), d = h.specifiedScales[f], p = h.fieldDef(f), b = f === "x" ? "width" : f === "y" ? "height" : void 0, m = b ? !!h.component.layoutSize.get(b) : void 0, v = _.get("type"), O = c.contains(["point", "band"], v) || !!d.rangeStep;
          b && h.fit && !m && O && (i.warn(i.message.CANNOT_FIX_RANGE_STEP_WITH_FIT), m = !0);
          var T = N(h), w = F(f, v, p.type, d, h.config, S.get("zero"), h.mark, m, h.getName(b), T);
          S.setWithExplicit("range", w);
        }
      });
    }
    function N(h) {
      var E = [], f = h.getScaleComponent("x"), S = f && f.get("range");
      S && g.isVgRangeStep(S) && r.isNumber(S.step) && E.push(S.step);
      var _ = h.getScaleComponent("y"), d = _ && _.get("range");
      return d && g.isVgRangeStep(d) && r.isNumber(d.step) && E.push(d.step), E;
    }
    function F(h, E, f, S, _, d, p, b, m, v) {
      for (var O = b || S.rangeStep === null, T = 0, w = e.RANGE_PROPERTIES; T < w.length; T++) {
        var P = w[T];
        if (S[P] !== void 0) {
          var I = o.scaleTypeSupportProperty(E, P), L = o.channelScalePropertyIncompatability(h, P);
          if (!I)
            i.warn(i.message.scalePropertyNotWorkWithScaleType(E, P, h));
          else if (L)
            i.warn(L);
          else
            switch (P) {
              case "range":
                return C.makeExplicit(S[P]);
              case "scheme":
                return C.makeExplicit(z(S[P]));
              case "rangeStep":
                var R = S[P];
                if (R !== null)
                  if (b)
                    i.warn(i.message.rangeStepDropped(h));
                  else
                    return C.makeExplicit({ step: R });
            }
        }
      }
      return C.makeImplicit(A(h, E, f, _, d, p, m, v, O));
    }
    e.parseRangeForChannel = F;
    function z(h) {
      if (o.isExtendedScheme(h)) {
        var E = { scheme: h.name };
        return h.count && (E.count = h.count), h.extent && (E.extent = h.extent), E;
      }
      return { scheme: h };
    }
    function A(h, E, f, S, _, d, p, b, m) {
      switch (h) {
        case n.X:
        case n.Y:
          if (c.contains(["point", "band"], E) && !m) {
            if (h === n.X && d === "text") {
              if (S.scale.textXRangeStep)
                return { step: S.scale.textXRangeStep };
            } else if (S.scale.rangeStep)
              return { step: S.scale.rangeStep };
          }
          return h === n.Y && l.hasContinuousDomain(E) ? [{ signal: p }, 0] : [0, { signal: p }];
        case n.SIZE:
          var v = u(d, _, S), O = a(d, b, S);
          return [v, O];
        case n.SHAPE:
          return "symbol";
        case n.COLOR:
        case n.FILL:
        case n.STROKE:
          return E === "ordinal" ? f === "nominal" ? "category" : "ordinal" : d === "rect" || d === "geoshape" ? "heatmap" : "ramp";
        case n.OPACITY:
          return [S.scale.minOpacity, S.scale.maxOpacity];
      }
      throw new Error("Scale range undefined for channel " + h);
    }
    e.defaultRange = A;
    function u(h, E, f) {
      if (E)
        return 0;
      switch (h) {
        case "bar":
        case "tick":
          return f.scale.minBandSize;
        case "line":
        case "trail":
        case "rule":
          return f.scale.minStrokeWidth;
        case "text":
          return f.scale.minFontSize;
        case "point":
        case "square":
        case "circle":
          return f.scale.minSize;
      }
      throw new Error(i.message.incompatibleChannel("size", h));
    }
    function a(h, E, f) {
      var S = f.scale;
      switch (h) {
        case "bar":
        case "tick":
          return f.scale.maxBandSize !== void 0 ? f.scale.maxBandSize : s(E, f.scale) - 1;
        case "line":
        case "trail":
        case "rule":
          return f.scale.maxStrokeWidth;
        case "text":
          return f.scale.maxFontSize;
        case "point":
        case "square":
        case "circle":
          if (f.scale.maxSize)
            return f.scale.maxSize;
          var _ = s(E, S);
          return (_ - 2) * (_ - 2);
      }
      throw new Error(i.message.incompatibleChannel("size", h));
    }
    function s(h, E) {
      return h.length > 0 ? Math.min.apply(null, h) : E.rangeStep ? E.rangeStep : 21;
    }
  }(hA)), hA;
}
var H8;
function Dte() {
  if (H8) return li;
  H8 = 1, Object.defineProperty(li, "__esModule", { value: !0 });
  var e = Pe, t = wt(), r = e.__importStar(_t()), n = nr(), i = e.__importStar(Ze()), o = Ze(), l = qr(), c = ii(), g = Ate();
  function y(a, s) {
    l.isUnitModel(a) ? C(a, s) : x(a, s);
  }
  li.parseScaleProperty = y;
  function C(a, s) {
    var h = a.component.scales;
    o.keys(h).forEach(function(E) {
      var f = a.specifiedScales[E], S = h[E], _ = a.getScaleComponent(E), d = a.fieldDef(E), p = a.config, b = f[s], m = _.get("type"), v = n.scaleTypeSupportProperty(m, s), O = n.channelScalePropertyIncompatability(E, s);
      if (b !== void 0 && (v ? O && r.warn(O) : r.warn(r.message.scalePropertyNotWorkWithScaleType(m, s, E))), v && O === void 0)
        if (b !== void 0)
          S.copyKeyFromObject(s, f);
        else {
          var T = D(s, E, d, _.get("type"), _.get("padding"), _.get("paddingInner"), f.domain, a.markDef, p);
          T !== void 0 && S.set(s, T, !1);
        }
    });
  }
  function D(a, s, h, E, f, S, _, d, p) {
    var b = p.scale;
    switch (a) {
      case "nice":
        return M(E, s, h);
      case "padding":
        return N(s, E, b, h, d, p.bar);
      case "paddingInner":
        return F(f, s, b);
      case "paddingOuter":
        return z(f, s, E, S, b);
      case "reverse":
        return A(E, h.sort);
      case "zero":
        return u(s, h, _, d);
    }
    return b[a];
  }
  li.getDefaultValue = D;
  function x(a, s) {
    for (var h = a.component.scales, E = 0, f = a.children; E < f.length; E++) {
      var S = f[E];
      s === "range" ? g.parseScaleRange(S) : y(S, s);
    }
    o.keys(h).forEach(function(_) {
      for (var d, p = 0, b = a.children; p < b.length; p++) {
        var m = b[p], v = m.component.scales[_];
        if (v) {
          var O = v.getWithExplicit(s);
          d = c.mergeValuesWithExplicit(d, O, s, "scale", c.tieBreakByComparing(function(T, w) {
            switch (s) {
              case "range":
                return T.step && w.step ? T.step - w.step : 0;
            }
            return 0;
          }));
        }
      }
      h[_].setWithExplicit(s, d);
    });
  }
  li.parseNonUnitScaleProperty = x;
  function M(a, s, h) {
    if (!(h.bin || i.contains([n.ScaleType.TIME, n.ScaleType.UTC], a)))
      return i.contains([t.X, t.Y], s);
  }
  li.nice = M;
  function N(a, s, h, E, f, S) {
    if (i.contains([t.X, t.Y], a)) {
      if (n.isContinuousToContinuous(s)) {
        if (h.continuousPadding !== void 0)
          return h.continuousPadding;
        var _ = f.type, d = f.orient;
        if (_ === "bar" && !E.bin && (d === "vertical" && a === "x" || d === "horizontal" && a === "y"))
          return S.continuousBandSize;
      }
      if (s === n.ScaleType.POINT)
        return h.pointPadding;
    }
  }
  li.padding = N;
  function F(a, s, h) {
    if (a === void 0 && i.contains([t.X, t.Y], s))
      return h.bandPaddingInner;
  }
  li.paddingInner = F;
  function z(a, s, h, E, f) {
    if (a === void 0 && i.contains([t.X, t.Y], s) && h === n.ScaleType.BAND)
      return f.bandPaddingOuter !== void 0 ? f.bandPaddingOuter : E / 2;
  }
  li.paddingOuter = z;
  function A(a, s) {
    if (n.hasContinuousDomain(a) && s === "descending")
      return !0;
  }
  li.reverse = A;
  function u(a, s, h, E) {
    var f = !!h && h !== "unaggregated";
    if (f)
      return !1;
    if (a === "size" && s.type === "quantitative")
      return !0;
    if (!s.bin && i.contains([t.X, t.Y], a)) {
      var S = E.orient, _ = E.type;
      return !(o.contains(["bar", "area", "line", "trail"], _) && (S === "horizontal" && a === "y" || S === "vertical" && a === "x"));
    }
    return !1;
  }
  return li.zero = u, li;
}
var ov = {}, Y8;
function ALe() {
  if (Y8) return ov;
  Y8 = 1, Object.defineProperty(ov, "__esModule", { value: !0 });
  var e = Pe, t = wt(), r = e.__importStar(_t()), n = nr(), i = e.__importStar(Ze());
  function o(c, g, y, C, D) {
    var x = l(g, y, C);
    return t.isScaleChannel(g) ? c !== void 0 ? n.channelSupportScaleType(g, c) ? n.scaleTypeSupportDataType(c, y.type, y.bin) ? c : (r.warn(r.message.scaleTypeNotWorkWithFieldDef(c, x)), x) : (r.warn(r.message.scaleTypeNotWorkWithChannel(g, c, x)), x) : x : null;
  }
  ov.scaleType = o;
  function l(c, g, y, C) {
    switch (g.type) {
      case "nominal":
      case "ordinal":
        return t.isColorChannel(c) || t.rangeType(c) === "discrete" ? (c === "shape" && g.type === "ordinal" && r.warn(r.message.discreteChannelCannotEncode(c, "ordinal")), "ordinal") : i.contains(["x", "y"], c) && (i.contains(["rect", "bar", "rule"], y) || y === "bar") ? "band" : "point";
      case "temporal":
        return t.isColorChannel(c) ? "sequential" : t.rangeType(c) === "discrete" ? (r.warn(r.message.discreteChannelCannotEncode(c, "temporal")), "ordinal") : "time";
      case "quantitative":
        return t.isColorChannel(c) ? g.bin ? "bin-ordinal" : "sequential" : t.rangeType(c) === "discrete" ? (r.warn(r.message.discreteChannelCannotEncode(c, "quantitative")), "ordinal") : g.bin && c !== "x" && c !== "y" ? "bin-linear" : "linear";
      case "latitude":
      case "longitude":
      case "geojson":
        return;
    }
    throw new Error(r.message.invalidFieldType(g.type));
  }
  return ov;
}
var G8;
function DLe() {
  if (G8) return Zc;
  G8 = 1, Object.defineProperty(Zc, "__esModule", { value: !0 });
  var e = wt(), t = Ot(), r = ln(), n = nr(), i = Pn(), o = Ze(), l = qr(), c = k_(), g = ii(), y = xLe(), C = ip(), D = Dte(), x = Ate(), M = ALe();
  function N(a) {
    F(a), C.parseScaleDomain(a);
    for (var s = 0, h = n.NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES; s < h.length; s++) {
      var E = h[s];
      D.parseScaleProperty(a, E);
    }
    x.parseScaleRange(a);
  }
  Zc.parseScale = N;
  function F(a) {
    l.isUnitModel(a) ? a.component.scales = z(a) : a.component.scales = u(a);
  }
  Zc.parseScaleCore = F;
  function z(a) {
    var s = a.encoding, h = a.config, E = a.mark;
    return e.SCALE_CHANNELS.reduce(function(f, S) {
      var _, d = void 0, p = s[S];
      if (t.isFieldDef(p) && E === r.GEOSHAPE && S === e.SHAPE && p.type === i.GEOJSON)
        return f;
      if (t.isFieldDef(p) ? (_ = p, d = p.scale) : t.hasConditionalFieldDef(p) ? (_ = p.condition, d = p.condition.scale) : S === e.X ? _ = t.getFieldDef(s.x2) : S === e.Y && (_ = t.getFieldDef(s.y2)), _ && d !== null && d !== !1) {
        d = d || {};
        var b = d.type, m = M.scaleType(d.type, S, _, E, h.scale);
        f[S] = new y.ScaleComponent(a.scaleName(S + "", !0), { value: m, explicit: b === m });
      }
      return f;
    }, {});
  }
  var A = g.tieBreakByComparing(function(a, s) {
    return n.scaleTypePrecedence(a) - n.scaleTypePrecedence(s);
  });
  function u(a) {
    for (var s = a.component.scales = {}, h = {}, E = a.component.resolve, f = function(p) {
      F(p), o.keys(p.component.scales).forEach(function(b) {
        if (E.scale[b] = E.scale[b] || c.defaultScaleResolve(b, a), E.scale[b] === "shared") {
          var m = h[b], v = p.component.scales[b].getWithExplicit("type");
          m ? n.scaleCompatible(m.value, v.value) ? h[b] = g.mergeValuesWithExplicit(m, v, "type", "scale", A) : (E.scale[b] = "independent", delete h[b]) : h[b] = v;
        }
      });
    }, S = 0, _ = a.children; S < _.length; S++) {
      var d = _[S];
      f(d);
    }
    return o.keys(h).forEach(function(p) {
      var b = a.scaleName(p, !0), m = h[p];
      s[p] = new y.ScaleComponent(b, m);
      for (var v = 0, O = a.children; v < O.length; v++) {
        var T = O[v], w = T.component.scales[p];
        w && (T.renameScale(w.get("name"), b), w.merged = !0);
      }
    }), s;
  }
  return Zc;
}
var K8;
function qr() {
  if (K8) return Mi;
  K8 = 1, Object.defineProperty(Mi, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = wt(), n = Ei(), i = Ot(), o = e.__importStar(_t()), l = nr(), c = Yl(), g = pte(), y = mte(), C = YN(), D = Ze(), x = Ci(), M = Ste(), N = Ote(), F = P_(), z = Cte(), A = Tte(), u = ELe(), a = OLe(), s = CLe(), h = ip(), E = DLe(), f = ii(), S = (
    /** @class */
    function() {
      function T() {
        this.nameMap = {};
      }
      return T.prototype.rename = function(w, P) {
        this.nameMap[w] = P;
      }, T.prototype.has = function(w) {
        return this.nameMap[w] !== void 0;
      }, T.prototype.get = function(w) {
        for (; this.nameMap[w] && w !== this.nameMap[w]; )
          w = this.nameMap[w];
        return w;
      }, T;
    }()
  );
  Mi.NameMap = S;
  function _(T) {
    return T && T.type === "unit";
  }
  Mi.isUnitModel = _;
  function d(T) {
    return T && T.type === "facet";
  }
  Mi.isFacetModel = d;
  function p(T) {
    return T && T.type === "repeat";
  }
  Mi.isRepeatModel = p;
  function b(T) {
    return T && T.type === "concat";
  }
  Mi.isConcatModel = b;
  function m(T) {
    return T && T.type === "layer";
  }
  Mi.isLayerModel = m;
  var v = (
    /** @class */
    function() {
      function T(w, P, I, L, R, q) {
        var B = this;
        this.children = [], this.correctDataNames = function(j) {
          return j.from && j.from.data && (j.from.data = B.lookupDataSource(j.from.data)), j.from && j.from.facet && j.from.facet.data && (j.from.facet.data = B.lookupDataSource(j.from.facet.data)), j;
        }, this.parent = P, this.config = L, this.repeater = R, this.name = w.name || I, this.title = t.isString(w.title) ? { text: w.title } : w.title, this.scaleNameMap = P ? P.scaleNameMap : new S(), this.projectionNameMap = P ? P.projectionNameMap : new S(), this.layoutSizeNameMap = P ? P.layoutSizeNameMap : new S(), this.data = w.data, this.description = w.description, this.transforms = C.normalizeTransform(w.transform || []), this.layout = c.isUnitSpec(w) || c.isLayerSpec(w) ? void 0 : y.extractCompositionLayout(w), this.component = {
          data: {
            sources: P ? P.component.data.sources : {},
            outputNodes: P ? P.component.data.outputNodes : {},
            outputNodeRefCounts: P ? P.component.data.outputNodeRefCounts : {},
            // data is faceted if the spec is a facet spec or the parent has faceted data and no data is defined
            isFaceted: c.isFacetSpec(w) || P && P.component.data.isFaceted && !w.data
          },
          layoutSize: new f.Split(),
          layoutHeaders: { row: {}, column: {} },
          mark: null,
          resolve: e.__assign({ scale: {}, axis: {}, legend: {} }, q || {}),
          selection: null,
          scales: null,
          projection: null,
          axes: {},
          legends: {}
        };
      }
      return Object.defineProperty(T.prototype, "width", {
        get: function() {
          return this.getSizeSignalRef("width");
        },
        enumerable: !0,
        configurable: !0
      }), Object.defineProperty(T.prototype, "height", {
        get: function() {
          return this.getSizeSignalRef("height");
        },
        enumerable: !0,
        configurable: !0
      }), T.prototype.initSize = function(w) {
        var P = w.width, I = w.height;
        P && this.component.layoutSize.set("width", P, !0), I && this.component.layoutSize.set("height", I, !0);
      }, T.prototype.parse = function() {
        this.parseScale(), this.parseLayoutSize(), this.renameTopLevelLayoutSize(), this.parseSelection(), this.parseProjection(), this.parseData(), this.parseAxisAndHeader(), this.parseLegend(), this.parseMarkGroup();
      }, T.prototype.parseScale = function() {
        E.parseScale(this);
      }, T.prototype.parseProjection = function() {
        a.parseProjection(this);
      }, T.prototype.renameTopLevelLayoutSize = function() {
        this.getName("width") !== "width" && this.renameLayoutSize(this.getName("width"), "width"), this.getName("height") !== "height" && this.renameLayoutSize(this.getName("height"), "height");
      }, T.prototype.parseLegend = function() {
        A.parseLegend(this);
      }, T.prototype.assembleGroupStyle = function() {
        if (this.type === "unit" || this.type === "layer")
          return "cell";
      }, T.prototype.assembleLayoutSize = function() {
        if (this.type === "unit" || this.type === "layer")
          return {
            width: this.getSizeSignalRef("width"),
            height: this.getSizeSignalRef("height")
          };
      }, T.prototype.assembleLayout = function() {
        if (this.layout) {
          var w = this.layout, P = w.align, I = w.bounds, L = w.center, R = w.spacing, q = R === void 0 ? {} : R;
          return e.__assign({ padding: t.isNumber(q) ? q : {
            row: q.row || 10,
            column: q.column || 10
          } }, this.assembleDefaultLayout(), P ? { align: P } : {}, I ? { bounds: I } : {}, L ? { center: L } : {});
        }
      }, T.prototype.assembleDefaultLayout = function() {
        return {};
      }, T.prototype.assembleHeaderMarks = function() {
        for (var w = this.component.layoutHeaders, P = [], I = 0, L = N.HEADER_CHANNELS; I < L.length; I++) {
          var R = L[I];
          w[R].title && P.push(N.getTitleGroup(this, R));
        }
        for (var q = 0, B = N.HEADER_CHANNELS; q < B.length; q++) {
          var R = B[q];
          P = P.concat(N.getHeaderGroups(this, R));
        }
        return P;
      }, T.prototype.assembleAxes = function() {
        return M.assembleAxes(this.component.axes, this.config);
      }, T.prototype.assembleLegends = function() {
        return z.assembleLegends(this);
      }, T.prototype.assembleProjections = function() {
        return u.assembleProjections(this);
      }, T.prototype.assembleTitle = function() {
        var w = e.__assign({}, g.extractTitleConfig(this.config.title).nonMark, this.title);
        if (w.text)
          return D.contains(["unit", "layer"], this.type) || (w.anchor && w.anchor !== "start" && o.warn(o.message.cannotSetTitleAnchor(this.type)), w.anchor = "start"), D.keys(w).length > 0 ? w : void 0;
      }, T.prototype.assembleGroup = function(w) {
        w === void 0 && (w = []);
        var P = {};
        w = w.concat(this.assembleSelectionSignals()), w.length > 0 && (P.signals = w);
        var I = this.assembleLayout();
        I && (P.layout = I), P.marks = [].concat(this.assembleHeaderMarks(), this.assembleMarks());
        var L = !this.parent || d(this.parent) ? s.assembleScales(this) : [];
        L.length > 0 && (P.scales = L);
        var R = this.assembleAxes();
        R.length > 0 && (P.axes = R);
        var q = this.assembleLegends();
        return q.length > 0 && (P.legends = q), P;
      }, T.prototype.hasDescendantWithFieldOnChannel = function(w) {
        for (var P = 0, I = this.children; P < I.length; P++) {
          var L = I[P];
          if (_(L)) {
            if (L.channelHasField(w))
              return !0;
          } else if (L.hasDescendantWithFieldOnChannel(w))
            return !0;
        }
        return !1;
      }, T.prototype.getName = function(w) {
        return D.varName((this.name ? this.name + "_" : "") + w);
      }, T.prototype.requestDataName = function(w) {
        var P = this.getName(w), I = this.component.data.outputNodeRefCounts;
        return I[P] = (I[P] || 0) + 1, P;
      }, T.prototype.getSizeSignalRef = function(w) {
        if (d(this.parent)) {
          var P = w === "width" ? "x" : "y", I = this.component.scales[P];
          if (I && !I.merged) {
            var L = I.get("type"), R = I.get("range");
            if (l.hasDiscreteDomain(L) && x.isVgRangeStep(R)) {
              var q = I.get("name"), B = h.assembleDomain(this, P), j = h.getFieldFromDomain(B);
              if (j) {
                var k = i.vgField({ aggregate: "distinct", field: j }, { expr: "datum" });
                return {
                  signal: F.sizeExpr(q, I, k)
                };
              } else
                return o.warn("Unknown field for ${channel}.  Cannot calculate view size."), null;
            }
          }
        }
        return {
          signal: this.layoutSizeNameMap.get(this.getName(w))
        };
      }, T.prototype.lookupDataSource = function(w) {
        var P = this.component.data.outputNodes[w];
        return P ? P.getSource() : w;
      }, T.prototype.getSizeName = function(w) {
        return this.layoutSizeNameMap.get(w);
      }, T.prototype.renameLayoutSize = function(w, P) {
        this.layoutSizeNameMap.rename(w, P);
      }, T.prototype.renameScale = function(w, P) {
        this.scaleNameMap.rename(w, P);
      }, T.prototype.renameProjection = function(w, P) {
        this.projectionNameMap.rename(w, P);
      }, T.prototype.scaleName = function(w, P) {
        if (P)
          return this.getName(w);
        if (
          // If there is a scale for the channel, there should be a local scale component for it
          r.isChannel(w) && r.isScaleChannel(w) && this.component.scales[w] || // in the scale name map (the scale get merged by its parent)
          this.scaleNameMap.has(this.getName(w))
        )
          return this.scaleNameMap.get(this.getName(w));
      }, T.prototype.projectionName = function(w) {
        if (w)
          return this.getName("projection");
        if (this.component.projection && !this.component.projection.merged || this.projectionNameMap.has(this.getName("projection")))
          return this.projectionNameMap.get(this.getName("projection"));
      }, T.prototype.getScaleComponent = function(w) {
        if (!this.component.scales)
          throw new Error("getScaleComponent cannot be called before parseScale().  Make sure you have called parseScale or use parseUnitModelWithScale().");
        var P = this.component.scales[w];
        return P && !P.merged ? P : this.parent ? this.parent.getScaleComponent(w) : void 0;
      }, T.prototype.getSelectionComponent = function(w, P) {
        var I = this.component.selection[w];
        if (!I && this.parent && (I = this.parent.getSelectionComponent(w, P)), !I)
          throw new Error(o.message.selectionNotFound(P));
        return I;
      }, T;
    }()
  );
  Mi.Model = v;
  var O = (
    /** @class */
    function(T) {
      e.__extends(w, T);
      function w() {
        return T !== null && T.apply(this, arguments) || this;
      }
      return w.prototype.vgField = function(P, I) {
        I === void 0 && (I = {});
        var L = this.fieldDef(P);
        if (L)
          return i.vgField(L, I);
      }, w.prototype.reduceFieldDef = function(P, I, L) {
        return n.reduce(this.getMapping(), function(R, q, B) {
          var j = i.getFieldDef(q);
          return j ? P(R, j, B) : R;
        }, I, L);
      }, w.prototype.forEachFieldDef = function(P, I) {
        n.forEach(this.getMapping(), function(L, R) {
          var q = i.getFieldDef(L);
          q && P(q, R);
        }, I);
      }, w;
    }(v)
  );
  return Mi.ModelWithField = O, Mi;
}
var mA = {}, Jc = {}, X8;
function I_() {
  if (X8) return Jc;
  X8 = 1, Object.defineProperty(Jc, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = wt(), n = e.__importStar(_t()), i = nr(), o = fn(), l = {
    has: function(g) {
      return g.type === "interval" && g.resolve === "global" && g.bind && g.bind === "scales";
    },
    parse: function(g, y, C) {
      var D = C.scales = [];
      C.project.forEach(function(x) {
        var M = x.channel, N = g.getScaleComponent(M), F = N ? N.get("type") : void 0;
        if (!N || !i.hasContinuousDomain(F) || i.isBinScale(F)) {
          n.warn(n.message.SCALE_BINDINGS_CONTINUOUS);
          return;
        }
        if (N.set("domainRaw", { signal: o.channelSignalName(C, M, "data") }, !0), D.push(M), g.repeater && g.repeater.row === g.repeater.column) {
          var z = g.getScaleComponent(M === r.X ? r.Y : r.X);
          z.set("domainRaw", { signal: o.channelSignalName(C, M, "data") }, !0);
        }
      });
    },
    topLevelSignals: function(g, y, C) {
      if (!g.parent)
        return C;
      var D = y.scales.filter(function(x) {
        return !C.filter(function(M) {
          return M.name === o.channelSignalName(y, x, "data");
        }).length;
      });
      return C.concat(D.map(function(x) {
        return { name: o.channelSignalName(y, x, "data") };
      }));
    },
    signals: function(g, y, C) {
      return g.parent && y.scales.forEach(function(D) {
        var x = C.filter(function(M) {
          return M.name === o.channelSignalName(y, D, "data");
        })[0];
        x.push = "outer", delete x.value, delete x.update;
      }), C;
    }
  };
  Jc.default = l;
  function c(g, y) {
    var C = t.stringValue(g.scaleName(y));
    return "domain(" + C + ")";
  }
  return Jc.domain = c, Jc;
}
var Q8;
function VN() {
  return Q8 || (Q8 = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = lt, n = wt(), i = _t(), o = nr(), l = Ze(), c = fn(), g = t.__importDefault(I_());
    e.BRUSH = "_brush", e.SCALE_TRIGGER = "_scale_trigger";
    var y = {
      predicate: "vlInterval",
      scaleDomain: "vlIntervalDomain",
      signals: function(x, M) {
        var N = M.name, F = g.default.has(M), z = [], A = [], u = [], a = [];
        if (M.translate && !F) {
          var s = "!event.item || event.item.mark.name !== " + r.stringValue(N + e.BRUSH);
          D(M, function(h, E) {
            var f = E.between[0].filter || (E.between[0].filter = []);
            f.indexOf(s) < 0 && f.push(s);
          });
        }
        return M.project.forEach(function(h) {
          var E = h.channel;
          if (E !== n.X && E !== n.Y) {
            i.warn("Interval selections only support x and y encoding channels.");
            return;
          }
          var f = C(x, M, E), S = c.channelSignalName(M, E, "data"), _ = c.channelSignalName(M, E, "visual"), d = r.stringValue(x.scaleName(E)), p = x.getScaleComponent(E).get("type"), b = o.hasContinuousDomain(p) ? "+" : "";
          z.push.apply(z, f), u.push(S), A.push("{encoding: " + r.stringValue(E) + ", " + ("field: " + r.stringValue(h.field) + ", extent: " + S + "}")), a.push({
            scaleName: x.scaleName(E),
            expr: "(!isArray(" + S + ") || " + ("(" + b + "invert(" + d + ", " + _ + ")[0] === " + b + S + "[0] && ") + (b + "invert(" + d + ", " + _ + ")[1] === " + b + S + "[1]))")
          });
        }), F || z.push({
          name: N + e.SCALE_TRIGGER,
          update: a.map(function(h) {
            return h.expr;
          }).join(" && ") + (" ? " + (N + e.SCALE_TRIGGER) + " : {}")
        }), z.concat({
          name: N + c.TUPLE,
          on: [{
            events: u.map(function(h) {
              return { signal: h };
            }),
            update: u.join(" && ") + (" ? {unit: " + c.unitName(x) + ", intervals: [" + A.join(", ") + "]} : null")
          }]
        });
      },
      modifyExpr: function(x, M) {
        var N = M.name + c.TUPLE;
        return N + ", " + (M.resolve === "global" ? "true" : "{unit: " + c.unitName(x) + "}");
      },
      marks: function(x, M, N) {
        var F = M.name, z = c.positionalProjections(M), A = z.xi, u = z.yi, a = "data(" + r.stringValue(M.name + c.STORE) + ")";
        if (g.default.has(M))
          return N;
        var s = {
          x: A !== null ? { signal: F + "_x[0]" } : { value: 0 },
          y: u !== null ? { signal: F + "_y[0]" } : { value: 0 },
          x2: A !== null ? { signal: F + "_x[1]" } : { field: { group: "width" } },
          y2: u !== null ? { signal: F + "_y[1]" } : { field: { group: "height" } }
        };
        if (M.resolve === "global")
          for (var h = 0, E = l.keys(s); h < E.length; h++) {
            var f = E[h];
            s[f] = [t.__assign({ test: a + ".length && " + a + "[0].unit === " + c.unitName(x) }, s[f]), { value: 0 }];
          }
        var S = M.mark, _ = S.fill, d = S.fillOpacity, p = t.__rest(S, ["fill", "fillOpacity"]), b = l.keys(p).reduce(function(m, v) {
          return m[v] = [{
            test: [
              A !== null && F + "_x[0] !== " + F + "_x[1]",
              u != null && F + "_y[0] !== " + F + "_y[1]"
            ].filter(function(O) {
              return O;
            }).join(" && "),
            value: p[v]
          }, { value: null }], m;
        }, {});
        return [{
          name: F + e.BRUSH + "_bg",
          type: "rect",
          clip: !0,
          encode: {
            enter: {
              fill: { value: _ },
              fillOpacity: { value: d }
            },
            update: s
          }
        }].concat(N, {
          name: F + e.BRUSH,
          type: "rect",
          clip: !0,
          encode: {
            enter: {
              fill: { value: "transparent" }
            },
            update: t.__assign({}, s, b)
          }
        });
      }
    };
    e.default = y;
    function C(x, M, N) {
      var F = c.channelSignalName(M, N, "visual"), z = c.channelSignalName(M, N, "data"), A = g.default.has(M), u = x.scaleName(N), a = r.stringValue(u), s = x.getScaleComponent(N), h = s ? s.get("type") : void 0, E = x.getSizeSignalRef(N === n.X ? "width" : "height").signal, f = N + "(unit)", S = D(M, function(_, d) {
        return _.concat(
          { events: d.between[0], update: "[" + f + ", " + f + "]" },
          // Brush Start
          { events: d, update: "[" + F + "[0], clamp(" + f + ", 0, " + E + ")]" }
          // Brush End
        );
      });
      return S.push({
        events: { signal: M.name + e.SCALE_TRIGGER },
        update: o.hasContinuousDomain(h) && !o.isBinScale(h) ? "[scale(" + a + ", " + z + "[0]), scale(" + a + ", " + z + "[1])]" : "[0, 0]"
      }), A ? [{ name: z, on: [] }] : [{
        name: F,
        value: [],
        on: S
      }, {
        name: z,
        on: [{ events: { signal: F }, update: F + "[0] === " + F + "[1] ? null : invert(" + a + ", " + F + ")" }]
      }];
    }
    function D(x, M) {
      return x.events.reduce(function(N, F) {
        return F.between ? M(N, F) : (i.warn(F + " is not an ordered event stream for interval selections"), N);
      }, []);
    }
  }(mA)), mA;
}
var ef = {}, sv = {}, Z8;
function HN() {
  if (Z8) return sv;
  Z8 = 1, Object.defineProperty(sv, "__esModule", { value: !0 });
  var e = Pe, t = e.__importStar(_t()), r = ln(), n = fn(), i = "voronoi", o = {
    has: function(l) {
      return l.type !== "interval" && l.nearest;
    },
    marks: function(l, c, g) {
      var y = n.positionalProjections(c), C = y.x, D = y.y, x = l.mark;
      if (r.isPathMark(x))
        return t.warn(t.message.nearestNotSupportForContinuous(x)), g;
      var M = {
        name: l.getName(i),
        type: "path",
        from: { data: l.getName("marks") },
        encode: {
          enter: {
            fill: { value: "transparent" },
            strokeWidth: { value: 0.35 },
            stroke: { value: "transparent" },
            isVoronoi: { value: !0 }
          }
        },
        transform: [{
          type: "voronoi",
          x: { expr: C || !C && !D ? "datum.datum.x || 0" : "0" },
          y: { expr: D || !C && !D ? "datum.datum.y || 0" : "0" },
          size: [l.getSizeSignalRef("width"), l.getSizeSignalRef("height")]
        }]
      }, N = 0, F = !1;
      return g.forEach(function(z, A) {
        var u = z.name || "";
        u === l.component.mark[0].name ? N = A : u.indexOf(i) >= 0 && (F = !0);
      }), F || g.splice(N + 1, 0, M), g;
    }
  };
  return sv.default = o, sv;
}
var J8;
function Pte() {
  if (J8) return ef;
  J8 = 1, Object.defineProperty(ef, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = Ze(), n = fn(), i = e.__importDefault(HN());
  function o(c, g) {
    var y = g.project, C = i.default.has(g) ? "(item().isVoronoi ? datum.datum : datum)" : "datum", D = [], x = y.map(function(F) {
      return t.stringValue(F.channel);
    }).filter(function(F) {
      return F;
    }).join(", "), M = y.map(function(F) {
      return t.stringValue(F.field);
    }).join(", "), N = y.map(function(F) {
      var z = F.channel, A = c.fieldDef(z);
      return A && A.bin ? (D.push(F.field), "[" + r.accessPathWithDatum(c.vgField(z, {}), C) + ", " + (r.accessPathWithDatum(c.vgField(z, { binSuffix: "end" }), C) + "]")) : "" + r.accessPathWithDatum(F.field, C);
    }).join(", ");
    return [{
      name: g.name + n.TUPLE,
      value: {},
      on: [{
        events: g.events,
        update: "datum && item().mark.marktype !== 'group' ? " + ("{unit: " + n.unitName(c) + ", encodings: [" + x + "], ") + ("fields: [" + M + "], values: [" + N + "]") + (D.length ? ", " + D.map(function(F) {
          return t.stringValue("bin_" + F) + ": 1";
        }).join(", ") : "") + "} : null",
        force: !0
      }]
    }];
  }
  ef.signals = o;
  var l = {
    predicate: "vlMulti",
    scaleDomain: "vlMultiDomain",
    signals: o,
    modifyExpr: function(c, g) {
      var y = g.name + n.TUPLE;
      return y + ", " + (g.resolve === "global" ? "null" : "{unit: " + n.unitName(c) + "}");
    }
  };
  return ef.default = l, ef;
}
var uv = {}, e$;
function PLe() {
  if (e$) return uv;
  e$ = 1, Object.defineProperty(uv, "__esModule", { value: !0 });
  var e = lt, t = Pte(), r = fn(), n = {
    predicate: "vlSingle",
    scaleDomain: "vlSingleDomain",
    signals: t.signals,
    topLevelSignals: function(i, o, l) {
      var c = l.filter(function(C) {
        return C.name === o.name;
      }), g = "data(" + e.stringValue(o.name + r.STORE) + ")", y = g + "[0].values";
      return c.length ? l : l.concat({
        name: o.name,
        update: g + ".length && {" + o.project.map(function(C, D) {
          return C.field + ": " + y + "[" + D + "]";
        }).join(", ") + "}"
      });
    },
    modifyExpr: function(i, o) {
      var l = o.name + r.TUPLE;
      return l + ", " + (o.resolve === "global" ? "true" : "{unit: " + r.unitName(i) + "}");
    }
  };
  return uv.default = n, uv;
}
var lv = {}, cv = {}, t$;
function kLe() {
  if (t$) return cv;
  t$ = 1, Object.defineProperty(cv, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = Ze(), n = fn(), i = e.__importDefault(HN()), o = {
    has: function(l) {
      return l.type === "single" && l.resolve === "global" && l.bind && l.bind !== "scales";
    },
    topLevelSignals: function(l, c, g) {
      var y = c.name, C = c.project, D = c.bind, x = i.default.has(c) ? "(item().isVoronoi ? datum.datum : datum)" : "datum";
      return C.forEach(function(M) {
        var N = r.varName(y + "_" + M.field), F = g.filter(function(z) {
          return z.name === N;
        });
        F.length || g.unshift({
          name: N,
          value: "",
          on: [{
            events: c.events,
            update: "datum && item().mark.marktype !== 'group' ? " + r.accessPathWithDatum(M.field, x) + " : null"
          }],
          bind: D[M.field] || D[M.channel] || D
        });
      }), g;
    },
    signals: function(l, c, g) {
      var y = c.name, C = c.project, D = g.filter(function(N) {
        return N.name === y + n.TUPLE;
      })[0], x = C.map(function(N) {
        return t.stringValue(N.field);
      }).join(", "), M = C.map(function(N) {
        return r.varName(y + "_" + N.field);
      });
      return M.length && (D.update = M.join(" && ") + " ? {fields: [" + x + "], values: [" + M.join(", ") + "]} : null"), delete D.value, delete D.on, g;
    }
  };
  return cv.default = o, cv;
}
var fv = {}, r$;
function RLe() {
  if (r$) return fv;
  r$ = 1, Object.defineProperty(fv, "__esModule", { value: !0 });
  var e = Pe, t = e.__importStar(_t()), r = Ze(), n = N_(), i = {
    has: function(o) {
      var l = o;
      return l.fields !== void 0 || l.encodings !== void 0;
    },
    parse: function(o, l, c) {
      var g = {}, y = {};
      (l.fields || []).forEach(function(M) {
        return g[M] = null;
      }), (l.encodings || []).forEach(function(M) {
        var N = o.fieldDef(M);
        if (N)
          if (N.timeUnit) {
            var F = o.vgField(M);
            g[F] = M, y[F] = {
              as: F,
              field: N.field,
              timeUnit: N.timeUnit
            };
          } else
            g[N.field] = M;
        else
          t.warn(t.message.cannotProjectOnChannelWithoutField(M));
      });
      var C = c.project || (c.project = []);
      for (var D in g)
        g.hasOwnProperty(D) && C.push({ field: D, channel: g[D] });
      var x = c.fields || (c.fields = {});
      C.filter(function(M) {
        return M.channel;
      }).forEach(function(M) {
        return x[M.channel] = M.field;
      }), r.keys(y).length && (c.timeUnit = new n.TimeUnitNode(null, y));
    }
  };
  return fv.default = i, fv;
}
var dv = {}, n$;
function MLe() {
  if (n$) return dv;
  n$ = 1, Object.defineProperty(dv, "__esModule", { value: !0 });
  var e = fn(), t = "_toggle", r = {
    has: function(n) {
      return n.type === "multi" && n.toggle;
    },
    signals: function(n, i, o) {
      return o.concat({
        name: i.name + t,
        value: !1,
        on: [{ events: i.events, update: i.toggle }]
      });
    },
    modifyExpr: function(n, i, o) {
      var l = i.name + e.TUPLE, c = i.name + t;
      return c + " ? null : " + l + ", " + (i.resolve === "global" ? c + " ? null : true, " : c + " ? null : {unit: " + e.unitName(n) + "}, ") + (c + " ? " + l + " : null");
    }
  };
  return dv.default = r, dv;
}
var pv = {}, i$;
function NLe() {
  if (i$) return pv;
  i$ = 1, Object.defineProperty(pv, "__esModule", { value: !0 });
  var e = Pe, t = qN, r = wt(), n = VN(), i = fn(), o = e.__importStar(I_()), l = "_translate_anchor", c = "_translate_delta", g = {
    has: function(C) {
      return C.type === "interval" && C.translate;
    },
    signals: function(C, D, x) {
      var M = D.name, N = o.default.has(D), F = M + l, z = i.positionalProjections(D), A = z.x, u = z.y, a = t.selector(D.translate, "scope");
      return N || (a = a.map(function(s) {
        return s.between[0].markname = M + n.BRUSH, s;
      })), x.push({
        name: F,
        value: {},
        on: [{
          events: a.map(function(s) {
            return s.between[0];
          }),
          update: "{x: x(unit), y: y(unit)" + (A !== null ? ", extent_x: " + (N ? o.domain(C, r.X) : "slice(" + i.channelSignalName(D, "x", "visual") + ")") : "") + (u !== null ? ", extent_y: " + (N ? o.domain(C, r.Y) : "slice(" + i.channelSignalName(D, "y", "visual") + ")") : "") + "}"
        }]
      }, {
        name: M + c,
        value: {},
        on: [{
          events: a,
          update: "{x: " + F + ".x - x(unit), y: " + F + ".y - y(unit)}"
        }]
      }), A !== null && y(C, D, r.X, "width", x), u !== null && y(C, D, r.Y, "height", x), x;
    }
  };
  pv.default = g;
  function y(C, D, x, M, N) {
    var F = D.name, z = o.default.has(D), A = N.filter(function(b) {
      return b.name === i.channelSignalName(D, x, z ? "data" : "visual");
    })[0], u = F + l, a = F + c, s = C.getSizeSignalRef(M).signal, h = C.getScaleComponent(x), E = h.get("type"), f = z && x === r.X ? "-" : "", S = u + ".extent_" + x, _ = "" + f + a + "." + x + " / " + (z ? "" + s : "span(" + S + ")"), d = z ? E === "log" ? "panLog" : E === "pow" ? "panPow" : "panLinear" : "panLinear", p = d + "(" + S + ", " + _ + (z && E === "pow" ? ", " + (h.get("exponent") || 1) : "") + ")";
    A.on.push({
      events: { signal: a },
      update: z ? p : "clampRange(" + p + ", 0, " + s + ")"
    });
  }
  return pv;
}
var hv = {}, a$;
function ILe() {
  if (a$) return hv;
  a$ = 1, Object.defineProperty(hv, "__esModule", { value: !0 });
  var e = Pe, t = qN, r = lt, n = wt(), i = VN(), o = fn(), l = e.__importStar(I_()), c = "_zoom_anchor", g = "_zoom_delta", y = {
    has: function(D) {
      return D.type === "interval" && D.zoom;
    },
    signals: function(D, x, M) {
      var N = x.name, F = l.default.has(x), z = N + g, A = o.positionalProjections(x), u = A.x, a = A.y, s = r.stringValue(D.scaleName(n.X)), h = r.stringValue(D.scaleName(n.Y)), E = t.selector(x.zoom, "scope");
      return F || (E = E.map(function(f) {
        return f.markname = N + i.BRUSH, f;
      })), M.push({
        name: N + c,
        on: [{
          events: E,
          update: F ? "{" + [
            s ? "x: invert(" + s + ", x(unit))" : "",
            h ? "y: invert(" + h + ", y(unit))" : ""
          ].filter(function(f) {
            return !!f;
          }).join(", ") + "}" : "{x: x(unit), y: y(unit)}"
        }]
      }, {
        name: z,
        on: [{
          events: E,
          force: !0,
          update: "pow(1.001, event.deltaY * pow(16, event.deltaMode))"
        }]
      }), u !== null && C(D, x, "x", "width", M), a !== null && C(D, x, "y", "height", M), M;
    }
  };
  hv.default = y;
  function C(D, x, M, N, F) {
    var z = x.name, A = l.default.has(x), u = F.filter(function(p) {
      return p.name === o.channelSignalName(x, M, A ? "data" : "visual");
    })[0], a = D.getSizeSignalRef(N).signal, s = D.getScaleComponent(M), h = s.get("type"), E = A ? l.domain(D, M) : u.name, f = z + g, S = "" + z + c + "." + M, _ = A ? h === "log" ? "zoomLog" : h === "pow" ? "zoomPow" : "zoomLinear" : "zoomLinear", d = _ + "(" + E + ", " + S + ", " + f + (A && h === "pow" ? ", " + (s.get("exponent") || 1) : "") + ")";
    u.on.push({
      events: { signal: f },
      update: A ? d : "clampRange(" + d + ", 0, " + a + ")"
    });
  }
  return hv;
}
var o$;
function FLe() {
  if (o$) return lv;
  o$ = 1, Object.defineProperty(lv, "__esModule", { value: !0 });
  var e = Pe, t = e.__importDefault(kLe()), r = e.__importDefault(HN()), n = e.__importDefault(RLe()), i = e.__importDefault(I_()), o = e.__importDefault(MLe()), l = e.__importDefault(NLe()), c = e.__importDefault(ILe()), g = {
    project: n.default,
    toggle: o.default,
    scales: i.default,
    translate: l.default,
    zoom: c.default,
    inputs: t.default,
    nearest: r.default
  };
  function y(C, D) {
    for (var x in g)
      g[x].has(C) && D(g[x]);
  }
  return lv.forEachTransform = y, lv;
}
var s$;
function fn() {
  return s$ || (s$ = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = Pe, r = qN, n = lt, i = wt(), o = _t(), l = jN(), c = Ze(), g = qr(), y = t.__importDefault(VN()), C = t.__importDefault(Pte()), D = t.__importDefault(PLe()), x = FLe();
    e.STORE = "_store", e.TUPLE = "_tuple", e.MODIFY = "_modify", e.SELECTION_DOMAIN = "_selection_domain_";
    function M(m, v) {
      var O = {}, T = m.config.selection, w = function(I) {
        if (!v.hasOwnProperty(I))
          return "continue";
        var L = v[I], R = T[L.type];
        for (var q in R)
          q === "encodings" && L.fields || q === "fields" && L.encodings || (q === "mark" && (L[q] = t.__assign({}, R[q], L[q])), (L[q] === void 0 || L[q] === !0) && (L[q] = R[q] || L[q]));
        I = c.varName(I);
        var B = O[I] = t.__assign({}, L, { name: I, events: n.isString(L.on) ? r.selector(L.on, "scope") : L.on });
        x.forEachTransform(B, function(j) {
          j.parse && j.parse(m, L, B);
        });
      };
      for (var P in v)
        w(P);
      return O;
    }
    e.parseUnitSelection = M;
    function N(m, v) {
      E(m, function(w, P) {
        var I = w.name, L = P.modifyExpr(m, w);
        v.push.apply(v, P.signals(m, w)), x.forEachTransform(w, function(R) {
          R.signals && (v = R.signals(m, w, v)), R.modifyExpr && (L = R.modifyExpr(m, w, L));
        }), v.push({
          name: I + e.MODIFY,
          on: [{
            events: { signal: I + e.TUPLE },
            update: "modify(" + n.stringValue(w.name + e.STORE) + ", " + L + ")"
          }]
        });
      });
      var O = S(m);
      if (v.length && O) {
        var T = n.stringValue(O.getName("cell"));
        v.unshift({
          name: "facet",
          value: {},
          on: [{
            events: r.selector("mousemove", "scope"),
            update: "isTuple(facet) ? facet : group(" + T + ").datum"
          }]
        });
      }
      return v;
    }
    e.assembleUnitSelectionSignals = N;
    function F(m, v) {
      var O = !1;
      if (E(m, function(w, P) {
        P.topLevelSignals && (v = P.topLevelSignals(m, w, v)), x.forEachTransform(w, function(I) {
          I.topLevelSignals && (v = I.topLevelSignals(m, w, v));
        }), O = !0;
      }), O) {
        var T = v.filter(function(w) {
          return w.name === "unit";
        });
        T.length || v.unshift({
          name: "unit",
          value: {},
          on: [{ events: "mousemove", update: "isTuple(group()) ? group() : unit" }]
        });
      }
      return v;
    }
    e.assembleTopLevelSignals = F;
    function z(m, v) {
      return E(m, function(O) {
        var T = v.filter(function(w) {
          return w.name === O.name + e.STORE;
        });
        T.length || v.push({ name: O.name + e.STORE });
      }), v;
    }
    e.assembleUnitSelectionData = z;
    function A(m, v) {
      return E(m, function(O, T) {
        v = T.marks ? T.marks(m, O, v) : v, x.forEachTransform(O, function(w) {
          w.marks && (v = w.marks(m, O, v));
        });
      }), v;
    }
    e.assembleUnitSelectionMarks = A;
    function u(m, v) {
      return m.children.forEach(function(O) {
        g.isUnitModel(O) && (v = A(O, v));
      }), v;
    }
    e.assembleLayerSelectionMarks = u;
    function a(m, v, O) {
      var T = [];
      function w(I) {
        var L = c.varName(I), R = m.getSelectionComponent(L, I), q = n.stringValue(L + e.STORE);
        if (R.timeUnit) {
          var B = O || m.component.data.raw, j = R.timeUnit.clone();
          B.parent ? j.insertAsParentOf(B) : B.parent = j;
        }
        return R.empty !== "none" && T.push(q), f(R.type).predicate + ("(" + q + ", datum") + (R.resolve === "global" ? ")" : ", " + n.stringValue(R.resolve) + ")");
      }
      var P = c.logicalExpr(v, w);
      return (T.length ? "!(" + T.map(function(I) {
        return "length(data(" + I + "))";
      }).join(" || ") + ") || " : "") + ("(" + P + ")");
    }
    e.selectionPredicate = a;
    function s(m) {
      return m.signal.indexOf(e.SELECTION_DOMAIN) >= 0;
    }
    e.isRawSelectionDomain = s;
    function h(m, v) {
      var O = JSON.parse(v.signal.replace(e.SELECTION_DOMAIN, "")), T = c.varName(O.selection), w = m.component.selection && m.component.selection[T];
      if (w)
        o.warn('Use "bind": "scales" to setup a binding for scales and selections within the same view.');
      else
        return w = m.getSelectionComponent(T, O.selection), !O.encoding && !O.field && (O.field = w.project[0].field, w.project.length > 1 && o.warn('A "field" or "encoding" must be specified when using a selection as a scale domain. ' + ('Using "field": ' + n.stringValue(O.field) + "."))), {
          signal: f(w.type).scaleDomain + ("(" + n.stringValue(T + e.STORE) + ", " + n.stringValue(O.encoding || null) + ", ") + n.stringValue(O.field || null) + (w.resolve === "global" ? ")" : ", " + n.stringValue(w.resolve) + ")")
        };
      return { signal: "null" };
    }
    e.selectionScaleDomain = h;
    function E(m, v) {
      var O = m.component.selection;
      for (var T in O)
        if (O.hasOwnProperty(T)) {
          var w = O[T];
          v(w, f(w.type));
        }
    }
    function f(m) {
      switch (m) {
        case "single":
          return D.default;
        case "multi":
          return C.default;
        case "interval":
          return y.default;
      }
      return null;
    }
    function S(m) {
      for (var v = m.parent; v && !g.isFacetModel(v); )
        v = v.parent;
      return v;
    }
    function _(m) {
      var v = n.stringValue(m.name), O = S(m);
      return O && (v += (O.facet.row ? " + '_' + (" + c.accessPathWithDatum(O.vgField("row"), "facet") + ")" : "") + (O.facet.column ? " + '_' + (" + c.accessPathWithDatum(O.vgField("column"), "facet") + ")" : "")), v;
    }
    e.unitName = _;
    function d(m) {
      var v = !1;
      return E(m, function(O) {
        v = v || O.project.some(function(T) {
          return T.field === l.SELECTION_ID;
        });
      }), v;
    }
    e.requiresSelectionId = d;
    function p(m, v, O) {
      var T = m._signalNames || (m._signalNames = {});
      if (T[v] && T[v][O])
        return T[v][O];
      T[v] = T[v] || {};
      for (var w = c.varName(m.name + "_" + (O === "visual" ? v : m.fields[v])), P = w, I = 1; T[P]; )
        P = w + "_" + I++;
      return T[P] = T[v][O] = P;
    }
    e.channelSignalName = p;
    function b(m) {
      var v = null, O = null, T = null, w = null;
      return m.project.forEach(function(P, I) {
        P.channel === i.X ? (v = P, O = I) : P.channel === i.Y && (T = P, w = I);
      }), { x: v, xi: O, y: T, yi: w };
    }
    e.positionalProjections = b;
  }(cA)), cA;
}
var u$;
function ap() {
  if (u$) return pn;
  u$ = 1, Object.defineProperty(pn, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = fn(), n = Ot(), i = np(), o = Ze();
  function l(s) {
    return s && s.selection;
  }
  pn.isSelectionPredicate = l;
  function c(s) {
    return s && !!s.field && s.equal !== void 0;
  }
  pn.isFieldEqualPredicate = c;
  function g(s) {
    return s && !!s.field && s.lt !== void 0;
  }
  pn.isFieldLTPredicate = g;
  function y(s) {
    return s && !!s.field && s.lte !== void 0;
  }
  pn.isFieldLTEPredicate = y;
  function C(s) {
    return s && !!s.field && s.gt !== void 0;
  }
  pn.isFieldGTPredicate = C;
  function D(s) {
    return s && !!s.field && s.gte !== void 0;
  }
  pn.isFieldGTEPredicate = D;
  function x(s) {
    return !!(s && s.field && t.isArray(s.range) && s.range.length === 2);
  }
  pn.isFieldRangePredicate = x;
  function M(s) {
    return s && !!s.field && (t.isArray(s.oneOf) || t.isArray(s.in));
  }
  pn.isFieldOneOfPredicate = M;
  function N(s) {
    return M(s) || c(s) || x(s) || g(s) || C(s) || y(s) || D(s);
  }
  pn.isFieldPredicate = N;
  function F(s, h, E) {
    return o.logicalExpr(h, function(f) {
      return t.isString(f) ? f : l(f) ? r.selectionPredicate(s, f.selection, E) : u(f);
    });
  }
  pn.expression = F;
  function z(s, h) {
    return n.valueExpr(s, { timeUnit: h, time: !0 });
  }
  function A(s, h) {
    return s.map(function(E) {
      return z(E, h);
    });
  }
  function u(s, h) {
    h === void 0 && (h = !0);
    var E = s.field, f = s.timeUnit, S = f ? (
      // For timeUnit, cast into integer with time() so we can use ===, inrange, indexOf to compare values directly.
      // TODO: We calculate timeUnit on the fly here. Consider if we would like to consolidate this with timeUnit pipeline
      // TODO: support utc
      "time(" + i.fieldExpr(f, E) + ")"
    ) : n.vgField(s, { expr: "datum" });
    if (c(s))
      return S + "===" + z(s.equal, f);
    if (g(s)) {
      var _ = s.lt;
      return S + "<" + z(_, f);
    } else if (C(s)) {
      var d = s.gt;
      return S + ">" + z(d, f);
    } else if (y(s)) {
      var _ = s.lte;
      return S + "<=" + z(_, f);
    } else if (D(s)) {
      var d = s.gte;
      return S + ">=" + z(d, f);
    } else if (M(s)) {
      var p = s.oneOf;
      return p = p || s.in, "indexof([" + A(p, f).join(",") + "], " + S + ") !== -1";
    } else if (x(s)) {
      var d = s.range[0], _ = s.range[1];
      if (d !== null && _ !== null && h)
        return "inrange(" + S + ", [" + z(d, f) + ", " + z(_, f) + "])";
      var b = [];
      return d !== null && b.push(S + " >= " + z(d, f)), _ !== null && b.push(S + " <= " + z(_, f)), b.length > 0 ? b.join(" && ") : "true";
    }
    throw new Error("Invalid field predicate: " + JSON.stringify(s));
  }
  pn.fieldFilterExpression = u;
  function a(s) {
    return N(s) && s.timeUnit ? e.__assign({}, s, { timeUnit: i.normalizeTimeUnit(s.timeUnit) }) : s;
  }
  return pn.normalizePredicate = a, pn;
}
var l$;
function YN() {
  if (l$) return ui;
  l$ = 1, Object.defineProperty(ui, "__esModule", { value: !0 });
  var e = IN(), t = ap();
  function r(D) {
    return D.filter !== void 0;
  }
  ui.isFilter = r;
  function n(D) {
    return D.lookup !== void 0;
  }
  ui.isLookup = n;
  function i(D) {
    return D.window !== void 0;
  }
  ui.isWindow = i;
  function o(D) {
    return D.calculate !== void 0;
  }
  ui.isCalculate = o;
  function l(D) {
    return !!D.bin;
  }
  ui.isBin = l;
  function c(D) {
    return D.timeUnit !== void 0;
  }
  ui.isTimeUnit = c;
  function g(D) {
    return D.aggregate !== void 0;
  }
  ui.isAggregate = g;
  function y(D) {
    return D.stack !== void 0;
  }
  ui.isStack = y;
  function C(D) {
    return D.map(function(x) {
      return r(x) ? {
        filter: e.normalizeLogicalOperand(x.filter, t.normalizePredicate)
      } : x;
    });
  }
  return ui.normalizeTransform = C, ui;
}
var mv = {}, c$;
function kte() {
  if (c$) return mv;
  c$ = 1, Object.defineProperty(mv, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = rp(), n = Ot(), i = Ze(), o = kn(), l = qr(), c = Pr();
  function g(N, F, z, A) {
    if (o.binRequiresRange(F, z)) {
      var u = l.isUnitModel(N) ? N.axis(z) || N.legend(z) || {} : {}, a = n.vgField(F, { expr: "datum" }), s = n.vgField(F, { expr: "datum", binSuffix: "end" });
      return {
        formulaAs: n.vgField(F, { binSuffix: "range" }),
        formula: o.binFormatExpression(a, s, u.format, A)
      };
    }
    return {};
  }
  function y(N, F) {
    return r.binToString(N) + "_" + F;
  }
  function C(N, F) {
    return {
      signal: N.getName(F + "_bins"),
      extentSignal: N.getName(F + "_extent")
    };
  }
  function D(N) {
    return "as" in N;
  }
  function x(N, F) {
    var z;
    D(N) ? z = t.isString(N.as) ? [N.as, N.as + "_end"] : [N.as[0], N.as[1]] : z = [n.vgField(N, {}), n.vgField(N, { binSuffix: "end" })];
    var A = n.normalizeBin(N.bin, void 0) || {}, u = y(A, N.field), a = C(F, u), s = a.signal, h = a.extentSignal, E = e.__assign({ bin: A, field: N.field, as: z }, s ? { signal: s } : {}, h ? { extentSignal: h } : {});
    return { key: u, binComponent: E };
  }
  var M = (
    /** @class */
    function(N) {
      e.__extends(F, N);
      function F(z, A) {
        var u = N.call(this, z) || this;
        return u.bins = A, u;
      }
      return F.prototype.clone = function() {
        return new F(null, i.duplicate(this.bins));
      }, F.makeFromEncoding = function(z, A) {
        var u = A.reduceFieldDef(function(a, s, h) {
          if (s.bin) {
            var E = x(s, A), f = E.key, S = E.binComponent;
            a[f] = e.__assign({}, S, a[f], g(A, s, h, A.config));
          }
          return a;
        }, {});
        return i.keys(u).length === 0 ? null : new F(z, u);
      }, F.makeFromTransform = function(z, A, u) {
        var a, s = x(A, u), h = s.key, E = s.binComponent;
        return new F(z, (a = {}, a[h] = E, a));
      }, F.prototype.merge = function(z) {
        this.bins = e.__assign({}, this.bins, z.bins), z.remove();
      }, F.prototype.producedFields = function() {
        var z = {};
        return i.vals(this.bins).forEach(function(A) {
          A.as.forEach(function(u) {
            return z[u] = !0;
          });
        }), z;
      }, F.prototype.dependentFields = function() {
        var z = {};
        return i.vals(this.bins).forEach(function(A) {
          z[A.field] = !0;
        }), z;
      }, F.prototype.assemble = function() {
        return i.flatten(i.vals(this.bins).map(function(z) {
          var A = [], u = e.__assign({ type: "bin", field: z.field, as: z.as, signal: z.signal }, z.bin);
          return !z.bin.extent && z.extentSignal && (A.push({
            type: "extent",
            field: z.field,
            signal: z.extentSignal
          }), u.extent = { signal: z.extentSignal }), A.push(u), z.formula && A.push({
            type: "formula",
            expr: z.formula,
            as: z.formulaAs
          }), A;
        }));
      }, F;
    }(c.DataFlowNode)
  );
  return mv.BinNode = M, mv;
}
var vv = {}, f$;
function Rte() {
  if (f$) return vv;
  f$ = 1, Object.defineProperty(vv, "__esModule", { value: !0 });
  var e = Pe, t = ap(), r = Ze(), n = Pr(), i = (
    /** @class */
    function(o) {
      e.__extends(l, o);
      function l(c, g, y) {
        var C = o.call(this, c) || this;
        return C.model = g, C.filter = y, C.expr = t.expression(C.model, C.filter, C), C;
      }
      return l.prototype.clone = function() {
        return new l(null, this.model, r.duplicate(this.filter));
      }, l.prototype.assemble = function() {
        return {
          type: "filter",
          expr: this.expr
        };
      }, l;
    }(n.DataFlowNode)
  );
  return vv.FilterNode = i, vv;
}
var gv = {}, d$;
function Mte() {
  if (d$) return gv;
  d$ = 1, Object.defineProperty(gv, "__esModule", { value: !0 });
  var e = Pe, t = wt(), r = Pn(), n = Ze(), i = Pr(), o = (
    /** @class */
    function(l) {
      e.__extends(c, l);
      function c(g, y, C, D) {
        var x = l.call(this, g) || this;
        return x.fields = y, x.geojson = C, x.signal = D, x;
      }
      return c.prototype.clone = function() {
        return new c(null, n.duplicate(this.fields), this.geojson, this.signal);
      }, c.parseAll = function(g, y) {
        var C = 0;
        if ([[t.LONGITUDE, t.LATITUDE], [t.LONGITUDE2, t.LATITUDE2]].forEach(function(x) {
          var M = x.map(function(N) {
            return y.channelHasField(N) ? y.fieldDef(N).field : void 0;
          });
          (M[0] || M[1]) && (g = new c(g, M, null, y.getName("geojson_" + C++)));
        }), y.channelHasField(t.SHAPE)) {
          var D = y.fieldDef(t.SHAPE);
          D.type === r.GEOJSON && (g = new c(g, null, D.field, y.getName("geojson_" + C++)));
        }
        return g;
      }, c.prototype.assemble = function() {
        return e.__assign({ type: "geojson" }, this.fields ? { fields: this.fields } : {}, this.geojson ? { geojson: this.geojson } : {}, { signal: this.signal });
      }, c;
    }(i.DataFlowNode)
  );
  return gv.GeoJSONNode = o, gv;
}
var yv = {}, p$;
function Nte() {
  if (p$) return yv;
  p$ = 1, Object.defineProperty(yv, "__esModule", { value: !0 });
  var e = Pe, t = wt(), r = Ze(), n = Pr(), i = (
    /** @class */
    function(o) {
      e.__extends(l, o);
      function l(c, g, y, C) {
        var D = o.call(this, c) || this;
        return D.projection = g, D.fields = y, D.as = C, D;
      }
      return l.prototype.clone = function() {
        return new l(null, this.projection, r.duplicate(this.fields), r.duplicate(this.as));
      }, l.parseAll = function(c, g) {
        return g.projectionName() && [[t.LONGITUDE, t.LATITUDE], [t.LONGITUDE2, t.LATITUDE2]].forEach(function(y) {
          var C = y.map(function(x) {
            return g.channelHasField(x) ? g.fieldDef(x).field : void 0;
          }), D = y[0] === t.LONGITUDE2 ? "2" : "";
          (C[0] || C[1]) && (c = new l(c, g.projectionName(), C, [g.getName("x" + D), g.getName("y" + D)]));
        }), c;
      }, l.prototype.assemble = function() {
        return {
          type: "geopoint",
          projection: this.projection,
          fields: this.fields,
          as: this.as
        };
      }, l;
    }(n.DataFlowNode)
  );
  return yv.GeoPointNode = i, yv;
}
var bv = {}, h$;
function Ite() {
  if (h$) return bv;
  h$ = 1, Object.defineProperty(bv, "__esModule", { value: !0 });
  var e = Pe, t = jN(), r = Pr(), n = (
    /** @class */
    function(i) {
      e.__extends(o, i);
      function o(l) {
        return i.call(this, l) || this;
      }
      return o.prototype.clone = function() {
        return new o(null);
      }, o.prototype.producedFields = function() {
        var l;
        return l = {}, l[t.SELECTION_ID] = !0, l;
      }, o.prototype.assemble = function() {
        return { type: "identifier", as: t.SELECTION_ID };
      }, o;
    }(r.DataFlowNode)
  );
  return bv.IdentifierNode = n, bv;
}
var _v = {}, m$;
function LLe() {
  if (m$) return _v;
  m$ = 1, Object.defineProperty(_v, "__esModule", { value: !0 });
  var e = Pe, t = ii(), r = (
    /** @class */
    function(n) {
      e.__extends(i, n);
      function i(o, l, c) {
        o === void 0 && (o = {}), l === void 0 && (l = {}), c === void 0 && (c = !1);
        var g = n.call(this, o, l) || this;
        return g.explicit = o, g.implicit = l, g.parseNothing = c, g;
      }
      return i.prototype.clone = function() {
        var o = n.prototype.clone.call(this);
        return o.parseNothing = this.parseNothing, o;
      }, i;
    }(t.Split)
  );
  return _v.AncestorParse = r, _v;
}
var Ev = {}, v$;
function Fte() {
  if (v$) return Ev;
  v$ = 1, Object.defineProperty(Ev, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = e.__importStar(_t()), n = Pr(), i = M_(), o = (
    /** @class */
    function(l) {
      e.__extends(c, l);
      function c(g, y, C) {
        var D = l.call(this, g) || this;
        return D.transform = y, D.secondary = C, D;
      }
      return c.make = function(g, y, C, D) {
        var x = y.component.data.sources, M = new i.SourceNode(C.from.data), N = x[M.hash()];
        N || (x[M.hash()] = M, N = M);
        var F = y.getName("lookup_" + D), z = new n.OutputNode(N, F, "lookup", y.component.data.outputNodeRefCounts);
        return y.component.data.outputNodes[F] = z, new c(g, C, z.getSource());
      }, c.prototype.producedFields = function() {
        return t.toSet(this.transform.from.fields || (this.transform.as instanceof Array ? this.transform.as : [this.transform.as]));
      }, c.prototype.assemble = function() {
        var g;
        if (this.transform.from.fields)
          g = e.__assign({ values: this.transform.from.fields }, this.transform.as ? { as: this.transform.as instanceof Array ? this.transform.as : [this.transform.as] } : {});
        else {
          var y = this.transform.as;
          t.isString(y) || (r.warn(r.message.NO_FIELDS_NEEDS_AS), y = "_lookup"), g = {
            as: [y]
          };
        }
        return e.__assign({ type: "lookup", from: this.secondary, key: this.transform.from.key, fields: [this.transform.lookup] }, g, this.transform.default ? { default: this.transform.default } : {});
      }, c;
    }(n.DataFlowNode)
  );
  return Ev.LookupNode = o, Ev;
}
var Sv = {}, tf = {}, rf = {}, g$;
function Lte() {
  if (g$) return rf;
  g$ = 1, Object.defineProperty(rf, "__esModule", { value: !0 });
  var e = Pe, t = ns(), r = Ze(), n = zN(), i = kte(), o = Gl(), l = Pr(), c = R_(), g = Rte(), y = BN(), C = WN(), D = Mte(), x = Nte(), M = Ite(), N = Fte(), F = M_(), z = $N(), A = N_(), u = qte();
  function a(E) {
    var f = 0;
    function S(_, d) {
      if (_ instanceof F.SourceNode && !t.isUrlData(_.data)) {
        E.push(d);
        var p = {
          name: null,
          source: d.name,
          transform: []
        };
        d = p;
      }
      if (_ instanceof C.ParseNode && (_.parent instanceof F.SourceNode && !d.source ? (d.format = e.__assign({}, d.format || {}, { parse: _.assembleFormatParse() }), d.transform = d.transform.concat(_.assembleTransforms(!0))) : d.transform = d.transform.concat(_.assembleTransforms())), _ instanceof c.FacetNode) {
        d.name || (d.name = "data_" + f++), !d.source || d.transform.length > 0 ? (E.push(d), _.data = d.name) : _.data = d.source, _.assemble().forEach(function(m) {
          return E.push(m);
        });
        return;
      }
      if ((_ instanceof g.FilterNode || _ instanceof o.CalculateNode || _ instanceof x.GeoPointNode || _ instanceof D.GeoJSONNode || _ instanceof n.AggregateNode || _ instanceof N.LookupNode || _ instanceof u.WindowTransformNode || _ instanceof M.IdentifierNode) && d.transform.push(_.assemble()), (_ instanceof y.FilterInvalidNode || _ instanceof i.BinNode || _ instanceof A.TimeUnitNode || _ instanceof z.StackNode) && (d.transform = d.transform.concat(_.assemble())), _ instanceof n.AggregateNode && (d.name || (d.name = "data_" + f++)), _ instanceof l.OutputNode) {
        if (d.source && d.transform.length === 0)
          _.setSource(d.source);
        else if (_.parent instanceof l.OutputNode)
          _.setSource(d.name);
        else if (d.name || (d.name = "data_" + f++), _.setSource(d.name), _.numChildren() === 1) {
          E.push(d);
          var p = {
            name: null,
            source: d.name,
            transform: []
          };
          d = p;
        }
      }
      switch (_.numChildren()) {
        case 0:
          _ instanceof l.OutputNode && (!d.source || d.transform.length > 0) && E.push(d);
          break;
        case 1:
          S(_.children[0], d);
          break;
        default:
          d.name || (d.name = "data_" + f++);
          var b = d.name;
          !d.source || d.transform.length > 0 ? E.push(d) : b = d.source, _.children.forEach(function(m) {
            var v = {
              name: null,
              source: b,
              transform: []
            };
            S(m, v);
          });
          break;
      }
    }
    return S;
  }
  function s(E) {
    var f = [], S = a(f);
    return E.children.forEach(function(_) {
      return S(_, {
        source: E.name,
        name: null,
        transform: []
      });
    }), f;
  }
  rf.assembleFacetData = s;
  function h(E, f) {
    var S = r.vals(E.sources), _ = [], d = a(_), p = 0;
    S.forEach(function(q) {
      q.hasName() || (q.dataName = "source_" + p++);
      var B = q.assemble();
      d(q, B);
    }), _.forEach(function(q) {
      q.transform.length === 0 && delete q.transform;
    });
    for (var b = 0, m = 0; m < _.length; m++) {
      var v = _[m];
      (v.transform || []).length === 0 && !v.source && _.splice(b++, 0, _.splice(m, 1)[0]);
    }
    for (var O = 0, T = _; O < T.length; O++)
      for (var v = T[O], w = 0, P = v.transform || []; w < P.length; w++) {
        var I = P[w];
        I.type === "lookup" && (I.from = E.outputNodes[I.from].getSource());
      }
    for (var L = 0, R = _; L < R.length; L++) {
      var v = R[L];
      v.name in f && (v.values = f[v.name]);
    }
    return _;
  }
  return rf.assembleRootData = h, rf;
}
var ko = {}, y$;
function op() {
  if (y$) return ko;
  y$ = 1, Object.defineProperty(ko, "__esModule", { value: !0 });
  var e = nr(), t = Ci(), r = ii();
  function n(y) {
    o(y);
    var C = y.component.layoutSize;
    C.setWithExplicit("width", l(y, "width")), C.setWithExplicit("height", l(y, "height"));
  }
  ko.parseLayerLayoutSize = n, ko.parseRepeatLayoutSize = n;
  function i(y) {
    o(y);
    var C = y.component.layoutSize, D = y.isVConcat ? "width" : "height";
    C.setWithExplicit(D, l(y, D));
  }
  ko.parseConcatLayoutSize = i;
  function o(y) {
    for (var C = 0, D = y.children; C < D.length; C++) {
      var x = D[C];
      x.parseLayoutSize();
    }
  }
  ko.parseChildrenLayoutSize = o;
  function l(y, C) {
    for (var D = C === "width" ? "x" : "y", x = y.component.resolve, M, N = 0, F = y.children; N < F.length; N++) {
      var z = F[N], A = z.component.layoutSize.getWithExplicit(C), u = x.scale[D];
      if (u === "independent" && A.value === "range-step") {
        M = void 0;
        break;
      }
      if (M) {
        if (u === "independent" && M.value !== A.value) {
          M = void 0;
          break;
        }
        M = r.mergeValuesWithExplicit(M, A, C, "");
      } else
        M = A;
    }
    if (M) {
      for (var a = 0, s = y.children; a < s.length; a++) {
        var z = s[a];
        y.renameLayoutSize(z.getName(C), y.getName(C)), z.component.layoutSize.set(C, "merged", !1);
      }
      return M;
    } else
      return {
        explicit: !1,
        value: void 0
      };
  }
  function c(y) {
    var C = y.component.layoutSize;
    if (!C.explicit.width) {
      var D = g(y, "width");
      C.set("width", D, !1);
    }
    if (!C.explicit.height) {
      var x = g(y, "height");
      C.set("height", x, !1);
    }
  }
  ko.parseUnitLayoutSize = c;
  function g(y, C) {
    var D = C === "width" ? "x" : "y", x = y.config, M = y.getScaleComponent(D);
    if (M) {
      var N = M.get("type"), F = M.get("range");
      return e.hasDiscreteDomain(N) && t.isVgRangeStep(F) ? "range-step" : x.view[C];
    } else return y.hasProjection ? x.view[C] : C === "width" && y.mark === "text" ? x.scale.textXRangeStep : x.scale.rangeStep || e.defaultScaleConfig.rangeStep;
  }
  return ko;
}
var nf = {}, b$;
function jte() {
  if (b$) return nf;
  b$ = 1, Object.defineProperty(nf, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = Ot(), n = e.__importStar(_t()), i = La();
  function o(D, x) {
    return C(D, x);
  }
  nf.replaceRepeaterInFacet = o;
  function l(D, x) {
    return C(D, x);
  }
  nf.replaceRepeaterInEncoding = l;
  function c(D, x) {
    if (r.isRepeatRef(D.field)) {
      if (D.field.repeat in x)
        return e.__assign({}, D, { field: x[D.field.repeat] });
      n.warn(n.message.noSuchRepeatedValue(D.field.repeat));
      return;
    }
    return D;
  }
  function g(D, x) {
    if (D = c(D, x), D !== void 0) {
      if (D.sort && i.isSortField(D.sort)) {
        var M = c(D.sort, x);
        D = e.__assign({}, D, M ? { sort: M } : {});
      }
      return D;
    }
  }
  function y(D, x) {
    if (r.isFieldDef(D)) {
      var M = g(D, x);
      if (M)
        return M;
      if (r.isConditionalDef(D))
        return { condition: D.condition };
    } else {
      if (r.hasConditionalFieldDef(D)) {
        var M = g(D.condition, x);
        if (M)
          return e.__assign({}, D, { condition: M });
        D.condition;
        var N = e.__rest(D, ["condition"]);
        return N;
      }
      return D;
    }
  }
  function C(D, x) {
    var M = {};
    for (var N in D)
      if (D.hasOwnProperty(N)) {
        var F = D[N];
        if (t.isArray(F))
          M[N] = F.map(function(A) {
            return y(A, x);
          }).filter(function(A) {
            return A;
          });
        else {
          var z = y(F, x);
          z && (M[N] = z);
        }
      }
    return M;
  }
  return nf;
}
var _$;
function Ute() {
  if (_$) return tf;
  _$ = 1, Object.defineProperty(tf, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = wt(), n = Ei(), i = Ot(), o = e.__importStar(_t()), l = nr(), c = La(), g = Ze(), y = Ci(), C = Ste(), D = L_(), x = Lte(), M = Gl(), N = F_(), F = Ote(), z = op(), A = qr(), u = jte(), a = k_(), s = ip();
  function h(f, S, _) {
    return i.vgField(S, { expr: _, suffix: "by_" + i.vgField(f) });
  }
  tf.facetSortFieldName = h;
  var E = (
    /** @class */
    function(f) {
      e.__extends(S, f);
      function S(_, d, p, b, m) {
        var v = f.call(this, _, d, p, m, b, _.resolve) || this;
        v.type = "facet", v.child = D.buildModel(_.spec, v, v.getName("child"), void 0, b, m, !1), v.children = [v.child];
        var O = u.replaceRepeaterInFacet(_.facet, b);
        return v.facet = v.initFacet(O), v;
      }
      return S.prototype.initFacet = function(_) {
        return n.reduce(_, function(d, p, b) {
          return g.contains([r.ROW, r.COLUMN], b) ? p.field === void 0 ? (o.warn(o.message.emptyFieldDef(p, b)), d) : (d[b] = i.normalize(p, b), d) : (o.warn(o.message.incompatibleChannel(b, "facet")), d);
        }, {});
      }, S.prototype.channelHasField = function(_) {
        return !!this.facet[_];
      }, S.prototype.fieldDef = function(_) {
        return this.facet[_];
      }, S.prototype.parseData = function() {
        this.component.data = N.parseData(this), this.child.parseData();
      }, S.prototype.parseLayoutSize = function() {
        z.parseChildrenLayoutSize(this);
      }, S.prototype.parseSelection = function() {
        this.child.parseSelection(), this.component.selection = this.child.component.selection;
      }, S.prototype.parseMarkGroup = function() {
        this.child.parseMarkGroup();
      }, S.prototype.parseAxisAndHeader = function() {
        this.child.parseAxisAndHeader(), this.parseHeader("column"), this.parseHeader("row"), this.mergeChildAxis("x"), this.mergeChildAxis("y");
      }, S.prototype.parseHeader = function(_) {
        if (this.channelHasField(_)) {
          var d = this.facet[_], p = d.header || {}, b = d.title !== void 0 ? d.title : p.title !== void 0 ? p.title : i.title(d, this.config);
          this.child.component.layoutHeaders[_].title && (b += " / " + this.child.component.layoutHeaders[_].title, this.child.component.layoutHeaders[_].title = null), this.component.layoutHeaders[_] = {
            title: b,
            facetFieldDef: d,
            // TODO: support adding label to footer as well
            header: [this.makeHeaderComponent(_, !0)]
          };
        }
      }, S.prototype.makeHeaderComponent = function(_, d) {
        var p = _ === "row" ? "height" : "width";
        return {
          labels: d,
          sizeSignal: this.child.component.layoutSize.get(p) ? this.child.getSizeSignalRef(p) : void 0,
          axes: []
        };
      }, S.prototype.mergeChildAxis = function(_) {
        var d = this.child;
        if (d.component.axes[_]) {
          var p = this.component, b = p.layoutHeaders, m = p.resolve;
          if (m.axis[_] = a.parseGuideResolve(m, _), m.axis[_] === "shared")
            for (var v = _ === "x" ? "column" : "row", O = b[v], T = 0, w = d.component.axes[_]; T < w.length; T++) {
              var P = w[T], I = F.getHeaderType(P.get("orient"));
              O[I] = O[I] || [this.makeHeaderComponent(v, !1)];
              var L = C.assembleAxis(P, "main", this.config, { header: !0 });
              O[I][0].axes.push(L), P.mainExtracted = !0;
            }
        }
      }, S.prototype.assembleSelectionTopLevelSignals = function(_) {
        return this.child.assembleSelectionTopLevelSignals(_);
      }, S.prototype.assembleSelectionSignals = function() {
        return this.child.assembleSelectionSignals(), [];
      }, S.prototype.assembleSelectionData = function(_) {
        return this.child.assembleSelectionData(_);
      }, S.prototype.getHeaderLayoutMixins = function() {
        var _ = this, d = {};
        return ["row", "column"].forEach(function(p) {
          ["header", "footer"].forEach(function(b) {
            var m = _.component.layoutHeaders[p], v = m[b];
            if (v && v[0]) {
              var O = p === "row" ? "height" : "width", T = b === "header" ? "headerBand" : "footerBand";
              _.child.component.layoutSize.get(O) || (d[T] = d[T] || {}, d[T][p] = 0.5), m.title && (d.offset = d.offset || {}, d.offset[p === "row" ? "rowTitle" : "columnTitle"] = 10);
            }
          });
        }), d;
      }, S.prototype.assembleDefaultLayout = function() {
        var _ = this.channelHasField("column") ? this.columnDistinctSignal() : 1;
        return e.__assign({}, this.getHeaderLayoutMixins(), { columns: _, bounds: "full", align: "all" });
      }, S.prototype.assembleLayoutSignals = function() {
        return this.child.assembleLayoutSignals();
      }, S.prototype.columnDistinctSignal = function() {
        if (!(this.parent && this.parent instanceof S)) {
          var _ = this.getName("column_domain");
          return { signal: "length(data('" + _ + "'))" };
        }
      }, S.prototype.assembleGroup = function(_) {
        return this.parent && this.parent instanceof S ? e.__assign({}, this.channelHasField("column") ? {
          encode: {
            update: {
              // TODO(https://github.com/vega/vega-lite/issues/2759):
              // Correct the signal for facet of concat of facet_column
              columns: { field: i.vgField(this.facet.column, { prefix: "distinct" }) }
            }
          }
        } : {}, f.prototype.assembleGroup.call(this, _)) : f.prototype.assembleGroup.call(this, _);
      }, S.prototype.getCardinalityAggregateForChild = function() {
        var _ = [], d = [], p = [];
        if (this.child instanceof S) {
          if (this.child.channelHasField("column")) {
            var b = i.vgField(this.child.facet.column);
            _.push(b), d.push("distinct"), p.push("distinct_" + b);
          }
        } else
          for (var m = 0, v = ["x", "y"]; m < v.length; m++) {
            var O = v[m], T = this.child.component.scales[O];
            if (T && !T.merged) {
              var w = T.get("type"), P = T.get("range");
              if (l.hasDiscreteDomain(w) && y.isVgRangeStep(P)) {
                var I = s.assembleDomain(this.child, O), b = s.getFieldFromDomain(I);
                b ? (_.push(b), d.push("distinct"), p.push("distinct_" + b)) : o.warn("Unknown field for ${channel}.  Cannot calculate view size.");
              }
            }
          }
        return { fields: _, ops: d, as: p };
      }, S.prototype.assembleFacet = function() {
        var _ = this, d = this.component.data.facetRoot, p = d.name, b = d.data, m = this.facet, v = m.row, O = m.column, T = this.getCardinalityAggregateForChild(), w = T.fields, P = T.ops, I = T.as, L = [];
        ["row", "column"].forEach(function(q) {
          var B = _.facet[q];
          if (B) {
            L.push(i.vgField(B));
            var j = B.sort;
            if (c.isSortField(j)) {
              var k = j.field, U = j.op, W = h(B, j);
              v && O ? (w.push(W), P.push("max"), I.push(W)) : (w.push(k), P.push(U), I.push(W));
            } else if (t.isArray(j)) {
              var W = M.sortArrayIndexField(B, q);
              w.push(W), P.push("max"), I.push(W);
            }
          }
        });
        var R = !!v && !!O;
        return e.__assign({
          name: p,
          data: b,
          groupby: L
        }, R || w.length ? {
          aggregate: e.__assign({}, R ? { cross: R } : {}, w.length ? { fields: w, ops: P, as: I } : {})
        } : {});
      }, S.prototype.headerSortFields = function(_) {
        var d = this.facet, p = d[_];
        return p ? c.isSortField(p.sort) ? [h(p, p.sort, "datum")] : t.isArray(p.sort) ? [M.sortArrayIndexField(p, _, "datum")] : [i.vgField(p, { expr: "datum" })] : [];
      }, S.prototype.headerSortOrder = function(_) {
        var d = this.facet, p = d[_];
        if (p) {
          var b = p.sort, m = (c.isSortField(b) ? b.order : !t.isArray(b) && b) || "ascending";
          return [m];
        }
        return [];
      }, S.prototype.assembleMarks = function() {
        var _ = this.child, d = this.component.data.facetRoot, p = x.assembleFacetData(d), b = _.assembleLayoutSize(), m = _.assembleTitle(), v = _.assembleGroupStyle(), O = e.__assign({ name: this.getName("cell"), type: "group" }, m ? { title: m } : {}, v ? { style: v } : {}, {
          from: {
            facet: this.assembleFacet()
          },
          // TODO: move this to after data
          sort: {
            field: this.headerSortFields("row").concat(this.headerSortFields("column")),
            order: this.headerSortOrder("row").concat(this.headerSortOrder("column"))
          }
        }, p.length > 0 ? { data: p } : {}, b ? { encode: { update: b } } : {}, _.assembleGroup());
        return [O];
      }, S.prototype.getMapping = function() {
        return this.facet;
      }, S;
    }(A.ModelWithField)
  );
  return tf.FacetModel = E, tf;
}
var E$;
function qte() {
  if (E$) return Sv;
  E$ = 1, Object.defineProperty(Sv, "__esModule", { value: !0 });
  var e = Pe, t = Ot(), r = La(), n = Ze(), i = Ute(), o = Pr(), l = (
    /** @class */
    function(c) {
      e.__extends(g, c);
      function g(y, C) {
        var D = c.call(this, y) || this;
        return D.transform = C, D;
      }
      return g.makeFromFacet = function(y, C) {
        var D = C.row, x = C.column;
        if (D && x) {
          for (var M = null, N = 0, F = [D, x]; N < F.length; N++) {
            var z = F[N];
            if (r.isSortField(z.sort)) {
              var A = z.sort, u = A.field, a = A.op;
              y = M = new g(y, {
                window: [{
                  op: a,
                  field: u,
                  as: i.facetSortFieldName(z, z.sort)
                }],
                groupby: [t.vgField(z)],
                frame: [null, null]
              });
            }
          }
          return M;
        }
        return null;
      }, g.prototype.clone = function() {
        return new g(this.parent, n.duplicate(this.transform));
      }, g.prototype.producedFields = function() {
        var y = this, C = {};
        return this.transform.window.forEach(function(D) {
          C[y.getDefaultName(D)] = !0;
        }), C;
      }, g.prototype.getDefaultName = function(y) {
        return y.as || t.vgField(y);
      }, g.prototype.assemble = function() {
        for (var y = [], C = [], D = [], x = [], M = 0, N = this.transform.window; M < N.length; M++) {
          var F = N[M];
          C.push(F.op), D.push(this.getDefaultName(F)), x.push(F.param === void 0 ? null : F.param), y.push(F.field === void 0 ? null : F.field);
        }
        var z = this.transform.frame, A = this.transform.groupby, u = [], a = [];
        if (this.transform.sort !== void 0)
          for (var s = 0, h = this.transform.sort; s < h.length; s++) {
            var E = h[s];
            u.push(E.field), a.push(E.order || "ascending");
          }
        var f = {
          field: u,
          order: a
        }, S = this.transform.ignorePeers, _ = {
          type: "window",
          params: x,
          as: D,
          ops: C,
          fields: y,
          sort: f
        };
        return S !== void 0 && (_.ignorePeers = S), A !== void 0 && (_.groupby = A), z !== void 0 && (_.frame = z), _;
      }, g;
    }(o.DataFlowNode)
  );
  return Sv.WindowTransformNode = l, Sv;
}
var S$;
function F_() {
  if (S$) return Vc;
  S$ = 1, Object.defineProperty(Vc, "__esModule", { value: !0 });
  var e = Pe, t = ns(), r = e.__importStar(_t()), n = YN(), i = Ze(), o = qr(), l = fn(), c = zN(), g = kte(), y = Gl(), C = Pr(), D = R_(), x = Rte(), M = BN(), N = WN(), F = Mte(), z = Nte(), A = Ite(), u = LLe(), a = Fte(), s = M_(), h = $N(), E = N_(), f = qte();
  function S(p, b) {
    if (p.data || !p.parent) {
      var m = new s.SourceNode(p.data), v = m.hash();
      return v in b ? b[v] : (b[v] = m, m);
    } else
      return p.parent.component.data.facetRoot ? p.parent.component.data.facetRoot : p.parent.component.data.main;
  }
  function _(p, b, m) {
    var v = 0;
    return b.transforms.forEach(function(O) {
      if (n.isCalculate(O))
        p = new y.CalculateNode(p, O), m.set(O.as, "derived", !1);
      else if (n.isFilter(O))
        p = N.ParseNode.makeImplicitFromFilterTransform(p, O, m) || p, p = new x.FilterNode(p, b, O.filter);
      else if (n.isBin(O))
        for (var T = p = g.BinNode.makeFromTransform(p, O, b), w = 0, P = i.keys(T.producedFields()); w < P.length; w++) {
          var I = P[w];
          m.set(I, "number", !1);
        }
      else if (n.isTimeUnit(O))
        p = E.TimeUnitNode.makeFromTransform(p, O), m.set(O.as, "date", !1);
      else if (n.isAggregate(O)) {
        var L = p = c.AggregateNode.makeFromTransform(p, O);
        l.requiresSelectionId(b) && (p = new A.IdentifierNode(p));
        for (var R = 0, q = i.keys(L.producedFields()); R < q.length; R++) {
          var I = q[R];
          m.set(I, "derived", !1);
        }
      } else if (n.isLookup(O))
        for (var B = p = a.LookupNode.make(p, b, O, v++), j = 0, k = i.keys(B.producedFields()); j < k.length; j++) {
          var I = k[j];
          m.set(I, "derived", !1);
        }
      else if (n.isWindow(O))
        for (var U = p = new f.WindowTransformNode(p, O), W = 0, $ = i.keys(U.producedFields()); W < $.length; W++) {
          var I = $[W];
          m.set(I, "derived", !1);
        }
      else if (n.isStack(O))
        for (var V = p = h.StackNode.makeFromTransform(p, O), G = 0, X = i.keys(V.producedFields()); G < X.length; G++) {
          var I = X[G];
          m.set(I, "derived", !1);
        }
      else {
        r.warn(r.message.invalidTransformIgnored(O));
        return;
      }
    }), p;
  }
  Vc.parseTransformArray = _;
  function d(p) {
    var b = S(p, p.component.data.sources), m = p.component.data, v = m.outputNodes, O = m.outputNodeRefCounts, T = p.parent ? p.parent.component.data.ancestorParse.clone() : new u.AncestorParse();
    p.data && p.data.format && p.data.format.parse === null && (T.parseNothing = !0), b = N.ParseNode.makeExplicit(b, p, T) || b, l.requiresSelectionId(p) && (o.isUnitModel(p) || o.isLayerModel(p)) && (b = new A.IdentifierNode(b));
    var w = p.parent && o.isLayerModel(p.parent);
    (o.isUnitModel(p) || o.isFacetModel(p)) && w && (b = g.BinNode.makeFromEncoding(b, p) || b), p.transforms.length > 0 && (b = _(b, p, T)), b = N.ParseNode.makeImplicitFromEncoding(b, p, T) || b, o.isUnitModel(p) && (b = F.GeoJSONNode.parseAll(b, p), b = z.GeoPointNode.parseAll(b, p)), (o.isUnitModel(p) || o.isFacetModel(p)) && (w || (b = g.BinNode.makeFromEncoding(b, p) || b), b = E.TimeUnitNode.makeFromEncoding(b, p) || b, b = y.CalculateNode.parseAllForSortIndex(b, p));
    var P = p.getName(t.RAW), I = new C.OutputNode(b, P, t.RAW, O);
    if (v[P] = I, b = I, o.isUnitModel(p)) {
      var L = c.AggregateNode.makeFromEncoding(b, p);
      L && (b = L, l.requiresSelectionId(p) && (b = new A.IdentifierNode(b))), b = h.StackNode.makeFromEncoding(b, p) || b;
    }
    o.isUnitModel(p) && (b = M.FilterInvalidNode.make(b, p) || b);
    var R = p.getName(t.MAIN), q = new C.OutputNode(b, R, t.MAIN, O);
    v[R] = q, b = q;
    var B = null;
    if (o.isFacetModel(p)) {
      var j = p.getName("facet");
      b = y.CalculateNode.parseAllForSortIndex(b, p), b = f.WindowTransformNode.makeFromFacet(b, p.facet) || b, B = new D.FacetNode(b, p, j, q.getSource()), v[j] = B, b = B;
    }
    return e.__assign({}, p.component.data, {
      outputNodes: v,
      outputNodeRefCounts: O,
      raw: I,
      main: q,
      facetRoot: B,
      ancestorParse: T
    });
  }
  return Vc.parseData = d, Vc;
}
var w$;
function zte() {
  if (w$) return Hm;
  w$ = 1, Object.defineProperty(Hm, "__esModule", { value: !0 });
  var e = Pe, t = Ze(), r = F_(), n = P_(), i = qr(), o = (
    /** @class */
    function(l) {
      e.__extends(c, l);
      function c(g, y, C, D, x, M) {
        return l.call(this, g, y, C, D, x, M) || this;
      }
      return c.prototype.parseData = function() {
        this.component.data = r.parseData(this), this.children.forEach(function(g) {
          g.parseData();
        });
      }, c.prototype.parseSelection = function() {
        var g = this;
        this.component.selection = {};
        for (var y = function(M) {
          M.parseSelection(), t.keys(M.component.selection).forEach(function(N) {
            g.component.selection[N] = M.component.selection[N];
          });
        }, C = 0, D = this.children; C < D.length; C++) {
          var x = D[C];
          y(x);
        }
      }, c.prototype.parseMarkGroup = function() {
        for (var g = 0, y = this.children; g < y.length; g++) {
          var C = y[g];
          C.parseMarkGroup();
        }
      }, c.prototype.parseAxisAndHeader = function() {
        for (var g = 0, y = this.children; g < y.length; g++) {
          var C = y[g];
          C.parseAxisAndHeader();
        }
      }, c.prototype.assembleSelectionTopLevelSignals = function(g) {
        return this.children.reduce(function(y, C) {
          return C.assembleSelectionTopLevelSignals(y);
        }, g);
      }, c.prototype.assembleSelectionSignals = function() {
        return this.children.forEach(function(g) {
          return g.assembleSelectionSignals();
        }), [];
      }, c.prototype.assembleLayoutSignals = function() {
        return this.children.reduce(function(g, y) {
          return g.concat(y.assembleLayoutSignals());
        }, n.assembleLayoutSignals(this));
      }, c.prototype.assembleSelectionData = function(g) {
        return this.children.reduce(function(y, C) {
          return C.assembleSelectionData(y);
        }, g);
      }, c.prototype.assembleMarks = function() {
        return this.children.map(function(g) {
          var y = g.assembleTitle(), C = g.assembleGroupStyle(), D = g.assembleLayoutSize();
          return e.__assign({ type: "group", name: g.getName("group") }, y ? { title: y } : {}, C ? { style: C } : {}, D ? {
            encode: {
              update: D
            }
          } : {}, g.assembleGroup());
        });
      }, c;
    }(i.Model)
  );
  return Hm.BaseConcatModel = o, Hm;
}
var O$;
function jLe() {
  if (O$) return Vm;
  O$ = 1, Object.defineProperty(Vm, "__esModule", { value: !0 });
  var e = Pe, t = e.__importStar(_t()), r = Yl(), n = zte(), i = L_(), o = op(), l = (
    /** @class */
    function(c) {
      e.__extends(g, c);
      function g(y, C, D, x, M) {
        var N = c.call(this, y, C, D, M, x, y.resolve) || this;
        return N.type = "concat", y.resolve && y.resolve.axis && (y.resolve.axis.x === "shared" || y.resolve.axis.y === "shared") && t.warn(t.message.CONCAT_CANNOT_SHARE_AXIS), N.isVConcat = r.isVConcatSpec(y), N.children = (r.isVConcatSpec(y) ? y.vconcat : y.hconcat).map(function(F, z) {
          return i.buildModel(F, N, N.getName("concat_" + z), void 0, x, M, !1);
        }), N;
      }
      return g.prototype.parseLayoutSize = function() {
        o.parseConcatLayoutSize(this);
      }, g.prototype.parseAxisGroup = function() {
        return null;
      }, g.prototype.assembleDefaultLayout = function() {
        return e.__assign({}, this.isVConcat ? { columns: 1 } : {}, {
          bounds: "full",
          // Use align each so it can work with multiple plots with different size
          align: "each"
        });
      }, g;
    }(n.BaseConcatModel)
  );
  return Vm.ConcatModel = l, Vm;
}
var wv = {}, af = {}, Ov = {}, T$;
function ULe() {
  if (T$) return Ov;
  T$ = 1, Object.defineProperty(Ov, "__esModule", { value: !0 });
  var e = Pe, t = Ze(), r = ii();
  function n(o) {
    return o === !1 || o === null;
  }
  var i = (
    /** @class */
    function(o) {
      e.__extends(l, o);
      function l(c, g, y) {
        c === void 0 && (c = {}), g === void 0 && (g = {}), y === void 0 && (y = !1);
        var C = o.call(this) || this;
        return C.explicit = c, C.implicit = g, C.mainExtracted = y, C;
      }
      return l.prototype.clone = function() {
        return new l(t.duplicate(this.explicit), t.duplicate(this.implicit), this.mainExtracted);
      }, l.prototype.hasAxisPart = function(c) {
        return c === "axis" ? !0 : c === "grid" || c === "title" ? !!this.get(c) : !n(this.get(c));
      }, l;
    }(r.Split)
  );
  return Ov.AxisComponent = i, Ov;
}
var Tv = {}, C$;
function Bte() {
  if (C$) return Tv;
  C$ = 1, Object.defineProperty(Tv, "__esModule", { value: !0 });
  function e(t, r, n, i, o) {
    i === void 0 && (i = "");
    for (var l = (o === "band" ? ["axisBand"] : []).concat([
      n === "x" ? "axisX" : "axisY",
      "axis" + i.substr(0, 1).toUpperCase() + i.substr(1),
      "axis"
    ]), c = 0, g = l; c < g.length; c++) {
      var y = g[c];
      if (r[y] && r[y][t] !== void 0)
        return r[y][t];
    }
  }
  return Tv.getAxisConfig = e, Tv;
}
var _s = {}, x$;
function qLe() {
  if (x$) return _s;
  x$ = 1, Object.defineProperty(_s, "__esModule", { value: !0 });
  var e = Pe, t = wt(), r = Ot(), n = nr(), i = Pn(), o = Ze(), l = kn(), c = Bte();
  function g(x, M, N, F) {
    var z = x.fieldDef(M) || (M === "x" ? x.fieldDef("x2") : M === "y" ? x.fieldDef("y2") : void 0), A = x.axis(M), u = x.config, a = {};
    if (r.isTimeFieldDef(z)) {
      var s = x.getScaleComponent(M).get("type") === n.ScaleType.UTC, h = l.timeFormatExpression("datum.value", z.timeUnit, A.format, u.axis.shortTimeLabels, u.timeFormat, s);
      h && (a.text = { signal: h });
    }
    var E = c.getAxisConfig("labelAngle", x.config, M, F, x.getScaleComponent(M).get("type"));
    if (E === void 0 && (E = C(A, M, z), E && (a.angle = { value: E })), E !== void 0) {
      var f = D(E, F);
      f && (a.align = { value: f }), a.baseline = y(E, F);
    }
    return a = e.__assign({}, a, N), o.keys(a).length === 0 ? void 0 : a;
  }
  _s.labels = g;
  function y(x, M) {
    return M === "top" || M === "bottom" ? x <= 45 || 315 <= x ? { value: M === "top" ? "bottom" : "top" } : 135 <= x && x <= 225 ? { value: M === "top" ? "top" : "bottom" } : { value: "middle" } : x <= 45 || 315 <= x || 135 <= x && x <= 225 ? { value: "middle" } : 45 <= x && x <= 135 ? { value: M === "left" ? "top" : "bottom" } : { value: M === "left" ? "bottom" : "top" };
  }
  _s.labelBaseline = y;
  function C(x, M, N) {
    if (x.labelAngle !== void 0)
      return (x.labelAngle % 360 + 360) % 360;
    if (M === t.X && o.contains([i.NOMINAL, i.ORDINAL], N.type))
      return 270;
  }
  _s.labelAngle = C;
  function D(x, M) {
    return x = (x % 360 + 360) % 360, M === "top" || M === "bottom" ? x % 180 === 0 ? "center" : 0 < x && x < 180 ? M === "top" ? "right" : "left" : M === "top" ? "left" : "right" : (x + 90) % 180 === 0 ? "center" : 90 <= x && x < 270 ? M === "left" ? "left" : "right" : M === "left" ? "right" : "left";
  }
  return _s.labelAlign = D, _s;
}
var Ni = {}, A$;
function zLe() {
  if (A$) return Ni;
  A$ = 1, Object.defineProperty(Ni, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = rp(), n = wt(), i = Ot(), o = e.__importStar(_t()), l = nr(), c = Pn(), g = Ze();
  function y(A, u) {
    return !l.hasDiscreteDomain(A) && !u.bin;
  }
  Ni.grid = y;
  function C(A, u) {
    var a = u === "x" ? "y" : "x";
    if (A.getScaleComponent(a))
      return A.scaleName(a);
  }
  Ni.gridScale = C;
  function D(A, u, a) {
    if (a.labelFlush !== void 0)
      return a.labelFlush;
    if (u === "x" && g.contains(["quantitative", "temporal"], A.type))
      return !0;
  }
  Ni.labelFlush = D;
  function x(A, u, a, s) {
    if (u.labelOverlap !== void 0)
      return u.labelOverlap;
    if (A.type !== "nominal")
      return s === "log" ? "greedy" : !0;
  }
  Ni.labelOverlap = x;
  function M(A) {
    switch (A) {
      case n.X:
        return "bottom";
      case n.Y:
        return "left";
    }
    throw new Error(o.message.INVALID_CHANNEL_FOR_AXIS);
  }
  Ni.orient = M;
  function N(A, u, a, s) {
    if (!l.hasDiscreteDomain(a) && a !== "log" && !g.contains(["month", "hours", "day", "quarter"], u.timeUnit))
      return u.bin ? { signal: "ceil(" + s.signal + "/20)" } : { signal: "ceil(" + s.signal + "/40)" };
  }
  Ni.tickCount = N;
  function F(A, u, a) {
    var s = i.title(u, a);
    return A ? t.truncate(s, A) : s;
  }
  Ni.title = F;
  function z(A, u, a, s) {
    var h = A.values;
    if (h)
      return i.valueArray(a, h);
    if (a.bin && a.type === c.QUANTITATIVE) {
      var E = u.scaleDomain(s);
      if (E && E !== "unaggregated" && !l.isSelectionDomain(E))
        return;
      var f = u.getName(r.binToString(a.bin) + "_" + a.field + "_bins");
      return { signal: "sequence(" + f + ".start, " + f + ".stop + " + f + ".step, " + f + ".step)" };
    }
  }
  return Ni.values = z, Ni;
}
var D$;
function Wte() {
  if (D$) return af;
  D$ = 1, Object.defineProperty(af, "__esModule", { value: !0 });
  var e = Pe, t = FN(), r = wt(), n = Ot(), i = Ze(), o = kn(), l = k_(), c = ii(), g = ULe(), y = Bte(), C = e.__importStar(qLe()), D = e.__importStar(zLe());
  function x(s) {
    return r.POSITION_SCALE_CHANNELS.reduce(function(h, E) {
      return s.component.scales[E] && s.axis(E) && (h[E] = [u(E, s)]), h;
    }, {});
  }
  af.parseUnitAxis = x;
  var M = {
    bottom: "top",
    top: "bottom",
    left: "right",
    right: "left"
  };
  function N(s) {
    for (var h = s.component, E = h.axes, f = h.resolve, S = { top: 0, bottom: 0, right: 0, left: 0 }, _ = 0, d = s.children; _ < d.length; _++) {
      var p = d[_];
      p.parseAxisAndHeader();
      for (var b = 0, m = i.keys(p.component.axes); b < m.length; b++) {
        var v = m[b];
        f.axis[v] = l.parseGuideResolve(s.component.resolve, v), f.axis[v] === "shared" && (E[v] = F(E[v], p.component.axes[v]), E[v] || (f.axis[v] = "independent", delete E[v]));
      }
    }
    for (var O = 0, T = [r.X, r.Y]; O < T.length; O++)
      for (var v = T[O], w = 0, P = s.children; w < P.length; w++) {
        var p = P[w];
        if (p.component.axes[v]) {
          if (f.axis[v] === "independent") {
            E[v] = (E[v] || []).concat(p.component.axes[v]);
            for (var I = 0, L = p.component.axes[v]; I < L.length; I++) {
              var R = L[I], q = R.getWithExplicit("orient"), B = q.value, j = q.explicit;
              if (S[B] > 0 && !j) {
                var k = M[B];
                S[B] > S[k] && R.set("orient", k, !1);
              }
              S[B]++;
            }
          }
          delete p.component.axes[v];
        }
      }
  }
  af.parseLayerAxis = N;
  function F(s, h) {
    if (s) {
      if (s.length !== h.length)
        return;
      for (var E = s.length, f = 0; f < E; f++) {
        var S = s[f], _ = h[f];
        if (!!S != !!_)
          return;
        if (S && _) {
          var d = S.getWithExplicit("orient"), p = _.getWithExplicit("orient");
          if (d.explicit && p.explicit && d.value !== p.value)
            return;
          s[f] = z(S, _);
        }
      }
    } else
      return h.map(function(b) {
        return b.clone();
      });
    return s;
  }
  function z(s, h) {
    for (var E = function(d) {
      var p = c.mergeValuesWithExplicit(
        s.getWithExplicit(d),
        h.getWithExplicit(d),
        d,
        "axis",
        // Tie breaker function
        function(b, m) {
          switch (d) {
            case "title":
              return o.mergeTitleComponent(b, m);
            case "gridScale":
              return {
                explicit: b.explicit,
                value: b.value || m.value
              };
          }
          return c.defaultTieBreaker(b, m, d, "axis");
        }
      );
      s.setWithExplicit(d, p);
    }, f = 0, S = t.VG_AXIS_PROPERTIES; f < S.length; f++) {
      var _ = S[f];
      E(_);
    }
    return s;
  }
  function A(s, h) {
    var E = h === "x" ? "x2" : "y2", f = s.fieldDef(h), S = s.fieldDef(E), _ = f ? f.title : void 0, d = S ? S.title : void 0;
    if (_ && d)
      return o.mergeTitle(_, d);
    if (_)
      return _;
    if (d)
      return d;
    if (_ !== void 0)
      return _;
    if (d !== void 0)
      return d;
  }
  function u(s, h) {
    var E = h.axis(s), f = new g.AxisComponent();
    t.VG_AXIS_PROPERTIES.forEach(function(d) {
      var p = a(d, E, s, h);
      if (p !== void 0) {
        var b = (
          // specified axis.values is already respected, but may get transformed.
          d === "values" ? !!E.values : (
            // both VL axis.encoding and axis.labelAngle affect VG axis.encode
            d === "encode" ? !!E.encoding || !!E.labelAngle : (
              // title can be explicit if fieldDef.title is set
              d === "title" && p === A(h, s) ? !0 : (
                // Otherwise, things are explicit if the returned value matches the specified property
                p === E[d]
              )
            )
          )
        ), m = y.getAxisConfig(d, h.config, s, f.get("orient"), h.getScaleComponent(s).get("type"));
        b || m === void 0 ? f.set(d, p, b) : d === "grid" && m && f.set(d, m, !1);
      }
    });
    var S = E.encoding || {}, _ = t.AXIS_PARTS.reduce(function(d, p) {
      if (!f.hasAxisPart(p))
        return d;
      var b = o.guideEncodeEntry(S[p] || {}, h), m = p === "labels" ? C.labels(h, s, b, f.get("orient")) : b;
      return m !== void 0 && i.keys(m).length > 0 && (d[p] = { update: m }), d;
    }, {});
    return i.keys(_).length > 0 && f.set("encode", _, !!E.encoding || E.labelAngle !== void 0), f;
  }
  function a(s, h, E, f) {
    var S = f.fieldDef(E);
    switch (s) {
      case "scale":
        return f.scaleName(E);
      case "gridScale":
        return D.gridScale(f, E);
      case "format":
        return o.numberFormat(S, h.format, f.config);
      case "grid": {
        var _ = f.getScaleComponent(E).get("type");
        return o.getSpecifiedOrDefaultValue(h.grid, D.grid(_, S));
      }
      case "labelFlush":
        return D.labelFlush(S, E, h);
      case "labelOverlap": {
        var _ = f.getScaleComponent(E).get("type");
        return D.labelOverlap(S, h, E, _);
      }
      case "orient":
        return o.getSpecifiedOrDefaultValue(h.orient, D.orient(E));
      case "tickCount": {
        var _ = f.getScaleComponent(E).get("type"), d = E === "x" ? "width" : E === "y" ? "height" : void 0, p = d ? f.getSizeSignalRef(d) : void 0;
        return o.getSpecifiedOrDefaultValue(h.tickCount, D.tickCount(E, S, _, p));
      }
      case "title":
        var b = E === "x" ? "x2" : "y2", m = f.fieldDef(b), v = A(f, E), O = v !== void 0 ? v : h.title === void 0 ? void 0 : h.title;
        return o.getSpecifiedOrDefaultValue(
          O,
          // If title not specified, store base parts of fieldDef (and fieldDef2 if exists)
          o.mergeTitleFieldDefs([n.toFieldDefBase(S)], m ? [n.toFieldDefBase(m)] : [])
        );
      case "values":
        return D.values(h, f, S, E);
    }
    return t.isAxisProperty(s) ? h[s] : void 0;
  }
  return af;
}
var Cv = {}, xv = {}, P$;
function BLe() {
  if (P$) return xv;
  P$ = 1, Object.defineProperty(xv, "__esModule", { value: !0 });
  var e = Pe, t = Ei(), r = Ot(), n = e.__importStar(_t()), i = ln(), o = Pn(), l = Ze(), c = kn();
  function g(M, N, F) {
    var z = i.isMarkDef(M) ? e.__assign({}, M) : { type: M }, A = z.orient || c.getMarkConfig("orient", z, F);
    z.orient = x(z.type, N, A), A !== void 0 && A !== z.orient && n.warn(n.message.orientOverridden(z.orient, A));
    var u = z.opacity !== void 0 ? z.opacity : c.getMarkConfig("opacity", z, F);
    u === void 0 && (z.opacity = C(z.type, N));
    var a = z.filled;
    a === void 0 && (z.filled = D(z, F));
    var s = z.cursor || c.getMarkConfig("cursor", z, F);
    return s === void 0 && (z.cursor = y(z, N, F)), z;
  }
  xv.normalizeMarkDef = g;
  function y(M, N, F) {
    return N.href || M.href || c.getMarkConfig("href", M, F) ? "pointer" : M.cursor;
  }
  function C(M, N) {
    if (l.contains([i.POINT, i.TICK, i.CIRCLE, i.SQUARE], M) && !t.isAggregate(N))
      return 0.7;
  }
  function D(M, N) {
    var F = c.getMarkConfig("filled", M, N), z = M.type;
    return F !== void 0 ? F : z !== i.POINT && z !== i.LINE && z !== i.RULE;
  }
  function x(M, N, F) {
    switch (M) {
      case i.POINT:
      case i.CIRCLE:
      case i.SQUARE:
      case i.TEXT:
      case i.RECT:
        return;
    }
    var z = N.y2, A = N.x2;
    switch (M) {
      case i.BAR:
        if (z || A) {
          if (F)
            return F;
          var u = N.x;
          if (!A && r.isFieldDef(u) && u.type === o.QUANTITATIVE && !u.bin)
            return "horizontal";
          var a = N.y;
          if (!z && r.isFieldDef(a) && a.type === o.QUANTITATIVE && !a.bin)
            return "vertical";
        }
      case i.RULE:
        if (A && z)
          return;
      case i.AREA:
        if (z)
          return "vertical";
        if (A)
          return "horizontal";
        if (M === i.RULE) {
          if (N.x && !N.y)
            return "vertical";
          if (N.y && !N.x)
            return "horizontal";
        }
      case i.LINE:
      case i.TICK:
        var s = r.isFieldDef(N.x) && r.isContinuous(N.x), h = r.isFieldDef(N.y) && r.isContinuous(N.y);
        if (s && !h)
          return M !== "tick" ? "horizontal" : "vertical";
        if (!s && h)
          return M !== "tick" ? "vertical" : "horizontal";
        if (s && h) {
          var u = N.x, a = N.y, E = u.type === o.TEMPORAL, f = a.type === o.TEMPORAL;
          return E && !f ? M !== "tick" ? "vertical" : "horizontal" : !E && f ? M !== "tick" ? "horizontal" : "vertical" : !u.aggregate && a.aggregate ? M !== "tick" ? "vertical" : "horizontal" : u.aggregate && !a.aggregate ? M !== "tick" ? "horizontal" : "vertical" : F || "vertical";
        } else
          return F || void 0;
    }
    return "vertical";
  }
  return xv;
}
var Uu = {}, Av = {}, k$;
function WLe() {
  if (k$) return Av;
  k$ = 1, Object.defineProperty(Av, "__esModule", { value: !0 });
  var e = Pe, t = e.__importStar(ta());
  return Av.area = {
    vgMark: "area",
    encodeEntry: function(r) {
      return e.__assign({}, t.baseEncodeEntry(r, { size: "ignore", orient: "include" }), t.pointPosition("x", r, "zeroOrMin"), t.pointPosition("y", r, "zeroOrMin"), t.pointPosition2(r, "zeroOrMin", r.markDef.orient === "horizontal" ? "x2" : "y2"), t.defined(r));
    }
  }, Av;
}
var Dv = {}, R$;
function $Le() {
  if (R$) return Dv;
  R$ = 1, Object.defineProperty(Dv, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = wt(), n = Ot(), i = e.__importStar(_t()), o = nr(), l = Ci(), c = e.__importStar(ta()), g = e.__importStar(pu());
  Dv.bar = {
    vgMark: "rect",
    encodeEntry: function(x) {
      return e.__assign({}, c.baseEncodeEntry(x, { size: "ignore", orient: "ignore" }), y(x), C(x));
    }
  };
  function y(x) {
    var M = x.config, N = x.encoding, F = x.markDef, z = x.width, A = F.orient, u = N.size, a = N.x, s = N.x2, h = x.scaleName(r.X), E = x.getScaleComponent(r.X);
    if (A === "horizontal" || s)
      return e.__assign({}, c.pointPosition("x", x, "zeroOrMin"), c.pointPosition2(x, "zeroOrMin", "x2"));
    if (n.isFieldDef(a)) {
      var f = E.get("type");
      if (a.bin && !u && !o.hasDiscreteDomain(f))
        return c.binnedPosition(a, "x", x.scaleName("x"), F.binSpacing === void 0 ? M.bar.binSpacing : F.binSpacing, E.get("reverse"));
      if (f === o.ScaleType.BAND)
        return c.bandPosition(a, "x", x);
    }
    return c.centeredBandPosition("x", x, e.__assign({}, g.mid(z)), D(F, h, E, M));
  }
  function C(x) {
    var M = x.config, N = x.encoding, F = x.height, z = x.markDef, A = z.orient, u = N.size, a = N.y, s = N.y2, h = x.scaleName(r.Y), E = x.getScaleComponent(r.Y);
    if (A === "vertical" || s)
      return e.__assign({}, c.pointPosition("y", x, "zeroOrMin"), c.pointPosition2(x, "zeroOrMin", "y2"));
    if (n.isFieldDef(a)) {
      var f = E.get("type");
      if (a.bin && !u && !o.hasDiscreteDomain(f))
        return c.binnedPosition(a, "y", x.scaleName("y"), z.binSpacing === void 0 ? M.bar.binSpacing : z.binSpacing, E.get("reverse"));
      if (f === o.ScaleType.BAND)
        return c.bandPosition(a, "y", x);
    }
    return c.centeredBandPosition("y", x, g.mid(F), D(z, h, E, M));
  }
  function D(x, M, N, F) {
    if (x.size !== void 0)
      return { value: x.size };
    if (F.bar.discreteBandSize)
      return { value: F.bar.discreteBandSize };
    if (N) {
      var z = N.get("type");
      if (z === o.ScaleType.POINT) {
        var A = N.get("range");
        if (l.isVgRangeStep(A) && t.isNumber(A.step))
          return { value: A.step - 1 };
        i.warn(i.message.BAR_WITH_POINT_SCALE_AND_RANGESTEP_NULL);
      } else return z === o.ScaleType.BAND ? g.bandRef(M) : { value: F.bar.continuousBandSize };
    } else if (F.scale.rangeStep && F.scale.rangeStep !== null)
      return { value: F.scale.rangeStep - 1 };
    return { value: 20 };
  }
  return Dv;
}
var Pv = {}, M$;
function VLe() {
  if (M$) return Pv;
  M$ = 1, Object.defineProperty(Pv, "__esModule", { value: !0 });
  var e = Pe, t = e.__importStar(ta()), r = Ot(), n = Pn();
  return Pv.geoshape = {
    vgMark: "shape",
    encodeEntry: function(i) {
      return e.__assign({}, t.baseEncodeEntry(i, { size: "ignore", orient: "ignore" }));
    },
    postEncodingTransform: function(i) {
      var o = i.encoding, l = o.shape, c = e.__assign({ type: "geoshape", projection: i.projectionName() }, l && r.isFieldDef(l) && l.type === n.GEOJSON ? { field: r.vgField(l, { expr: "datum" }) } : {});
      return [c];
    }
  }, Pv;
}
var of = {}, N$;
function HLe() {
  if (N$) return of;
  N$ = 1, Object.defineProperty(of, "__esModule", { value: !0 });
  var e = Pe, t = e.__importStar(ta()), r = e.__importStar(pu());
  return of.line = {
    vgMark: "line",
    encodeEntry: function(n) {
      var i = n.width, o = n.height;
      return e.__assign({}, t.baseEncodeEntry(n, { size: "ignore", orient: "ignore" }), t.pointPosition("x", n, r.mid(i)), t.pointPosition("y", n, r.mid(o)), t.nonPosition("size", n, {
        vgChannel: "strokeWidth"
        // VL's line size is strokeWidth
      }), t.defined(n));
    }
  }, of.trail = {
    vgMark: "trail",
    encodeEntry: function(n) {
      var i = n.width, o = n.height;
      return e.__assign({}, t.baseEncodeEntry(n, { size: "include", orient: "ignore" }), t.pointPosition("x", n, r.mid(i)), t.pointPosition("y", n, r.mid(o)), t.nonPosition("size", n), t.defined(n));
    }
  }, of;
}
var Es = {}, I$;
function YLe() {
  if (I$) return Es;
  I$ = 1, Object.defineProperty(Es, "__esModule", { value: !0 });
  var e = Pe, t = kn(), r = e.__importStar(ta()), n = e.__importStar(pu());
  function i(l, c) {
    var g = l.config, y = l.width, C = l.height;
    return e.__assign({}, r.baseEncodeEntry(l, { size: "include", orient: "ignore" }), r.pointPosition("x", l, n.mid(y)), r.pointPosition("y", l, n.mid(C)), r.nonPosition("size", l), o(l, g, c));
  }
  function o(l, c, g) {
    return g ? { shape: { value: g } } : r.nonPosition("shape", l, { defaultValue: t.getMarkConfig("shape", l.markDef, c) });
  }
  return Es.shapeMixins = o, Es.point = {
    vgMark: "symbol",
    encodeEntry: function(l) {
      return i(l);
    }
  }, Es.circle = {
    vgMark: "symbol",
    encodeEntry: function(l) {
      return i(l, "circle");
    }
  }, Es.square = {
    vgMark: "symbol",
    encodeEntry: function(l) {
      return i(l, "square");
    }
  }, Es;
}
var qu = {}, F$;
function GLe() {
  if (F$) return qu;
  F$ = 1, Object.defineProperty(qu, "__esModule", { value: !0 });
  var e = Pe, t = wt(), r = Ot(), n = e.__importStar(_t()), i = ln(), o = nr(), l = e.__importStar(ta());
  qu.rect = {
    vgMark: "rect",
    encodeEntry: function(y) {
      return e.__assign({}, l.baseEncodeEntry(y, { size: "ignore", orient: "ignore" }), c(y), g(y));
    }
  };
  function c(y) {
    var C = y.encoding.x, D = y.encoding.x2, x = y.getScaleComponent(t.X), M = x ? x.get("type") : void 0;
    if (r.isFieldDef(C) && C.bin && !D)
      return l.binnedPosition(C, "x", y.scaleName("x"), 0, x.get("reverse"));
    if (r.isFieldDef(C) && x && o.hasDiscreteDomain(M)) {
      if (M === o.ScaleType.BAND)
        return l.bandPosition(C, "x", y);
      throw new Error(n.message.scaleTypeNotWorkWithMark(i.RECT, M));
    } else
      return e.__assign({}, l.pointPosition("x", y, "zeroOrMax"), l.pointPosition2(y, "zeroOrMin", "x2"));
  }
  qu.x = c;
  function g(y) {
    var C = y.encoding.y, D = y.encoding.y2, x = y.getScaleComponent(t.Y), M = x ? x.get("type") : void 0;
    if (r.isFieldDef(C) && C.bin && !D)
      return l.binnedPosition(C, "y", y.scaleName("y"), 0, x.get("reverse"));
    if (r.isFieldDef(C) && x && o.hasDiscreteDomain(M)) {
      if (M === o.ScaleType.BAND)
        return l.bandPosition(C, "y", y);
      throw new Error(n.message.scaleTypeNotWorkWithMark(i.RECT, M));
    } else
      return e.__assign({}, l.pointPosition("y", y, "zeroOrMax"), l.pointPosition2(y, "zeroOrMin", "y2"));
  }
  return qu.y = g, qu;
}
var kv = {}, L$;
function KLe() {
  if (L$) return kv;
  L$ = 1, Object.defineProperty(kv, "__esModule", { value: !0 });
  var e = Pe, t = e.__importStar(ta()), r = e.__importStar(pu());
  return kv.rule = {
    vgMark: "rule",
    encodeEntry: function(n) {
      n.config;
      var i = n.markDef, o = n.width, l = n.height, c = i.orient;
      return !n.encoding.x && !n.encoding.y && !n.encoding.latitude && !n.encoding.longitude ? {} : e.__assign({}, t.baseEncodeEntry(n, { size: "ignore", orient: "ignore" }), t.pointPosition("x", n, c === "horizontal" ? "zeroOrMin" : r.mid(o)), t.pointPosition("y", n, c === "vertical" ? "zeroOrMin" : r.mid(l)), c !== "vertical" ? t.pointPosition2(n, "zeroOrMax", "x2") : {}, c !== "horizontal" ? t.pointPosition2(n, "zeroOrMax", "y2") : {}, t.nonPosition("size", n, {
        vgChannel: "strokeWidth",
        defaultValue: i.size
      }));
    }
  }, kv;
}
var Rv = {}, j$;
function XLe() {
  if (j$) return Rv;
  j$ = 1, Object.defineProperty(Rv, "__esModule", { value: !0 });
  var e = Pe, t = kn(), r = e.__importStar(ta()), n = e.__importStar(pu());
  Rv.text = {
    vgMark: "text",
    encodeEntry: function(o) {
      var l = o.config, c = o.encoding, g = o.width, y = o.height, C = o.markDef;
      return e.__assign({}, r.baseEncodeEntry(o, { size: "ignore", orient: "ignore" }), r.pointPosition("x", o, n.mid(g)), r.pointPosition("y", o, n.mid(y)), r.text(o), r.nonPosition("size", o, e.__assign({}, C.size ? { defaultValue: C.size } : {}, {
        vgChannel: "fontSize"
        // VL's text size is fontSize
      })), r.valueIfDefined("align", i(o.markDef, c, l)));
    }
  };
  function i(o, l, c) {
    var g = o.align || t.getMarkConfig("align", o, c);
    if (g === void 0)
      return "center";
  }
  return Rv;
}
var Mv = {}, U$;
function QLe() {
  if (U$) return Mv;
  U$ = 1, Object.defineProperty(Mv, "__esModule", { value: !0 });
  var e = Pe, t = Ci(), r = e.__importStar(ta()), n = e.__importStar(pu());
  Mv.tick = {
    vgMark: "rect",
    encodeEntry: function(o) {
      var l, c = o.config, g = o.markDef, y = o.width, C = o.height, D = g.orient, x = D === "horizontal" ? "width" : "height", M = D === "horizontal" ? "height" : "width";
      return e.__assign({}, r.baseEncodeEntry(o, { size: "ignore", orient: "ignore" }), r.pointPosition("x", o, n.mid(y), "xc"), r.pointPosition("y", o, n.mid(C), "yc"), r.nonPosition("size", o, {
        defaultValue: i(o),
        vgChannel: x
      }), (l = {}, l[M] = { value: g.thickness || c.tick.thickness }, l));
    }
  };
  function i(o) {
    var l = o.config, c = o.markDef, g = c.orient, y = o.getScaleComponent(g === "horizontal" ? "x" : "y");
    if (c.size !== void 0)
      return c.size;
    if (l.tick.bandSize !== void 0)
      return l.tick.bandSize;
    var C = y ? y.get("range") : void 0, D = C && t.isVgRangeStep(C) ? C.step : l.scale.rangeStep;
    if (typeof D != "number")
      throw new Error("Function does not handle non-numeric rangeStep");
    return D / 1.5;
  }
  return Mv;
}
var q$;
function ZLe() {
  if (q$) return Uu;
  q$ = 1, Object.defineProperty(Uu, "__esModule", { value: !0 });
  var e = Pe, t = lt, r = ns(), n = Ei(), i = Ot(), o = ln(), l = La(), c = Ze(), g = kn(), y = WLe(), C = $Le(), D = VLe(), x = HLe(), M = YLe(), N = GLe(), F = KLe(), z = XLe(), A = QLe(), u = {
    area: y.area,
    bar: C.bar,
    circle: M.circle,
    geoshape: D.geoshape,
    line: x.line,
    point: M.point,
    rect: N.rect,
    rule: F.rule,
    square: M.square,
    text: z.text,
    tick: A.tick,
    trail: x.trail
  };
  function a(d) {
    return c.contains([o.LINE, o.AREA, o.TRAIL], d.mark) ? h(d) : f(d);
  }
  Uu.parseMarkGroup = a;
  var s = "faceted_path_";
  function h(d) {
    var p = S(d.mark, d.encoding), b = f(d, {
      // If has subfacet for line/area group, need to use faceted data from below.
      fromPrefix: p.length > 0 ? s : ""
    });
    return p.length > 0 ? [{
      name: d.getName("pathgroup"),
      type: "group",
      from: {
        facet: {
          name: s + d.requestDataName(r.MAIN),
          data: d.requestDataName(r.MAIN),
          groupby: p
        }
      },
      encode: {
        update: {
          width: { field: { group: "width" } },
          height: { field: { group: "height" } }
        }
      },
      marks: b
    }] : b;
  }
  function E(d) {
    var p = d.encoding, b = d.stack, m = d.mark, v = d.markDef, O = p.order;
    if (!(!t.isArray(O) && i.isValueDef(O))) {
      if ((t.isArray(O) || i.isFieldDef(O)) && !b)
        return g.sortParams(O, { expr: "datum" });
      if (o.isPathMark(m)) {
        var T = p[v.orient === "horizontal" ? "y" : "x"];
        if (i.isFieldDef(T)) {
          var w = T.sort, P = l.isSortField(w) ? i.vgField({
            // FIXME: this op might not already exist?
            // FIXME: what if dimensionChannel (x or y) contains custom domain?
            aggregate: n.isAggregate(d.encoding) ? w.op : void 0,
            field: w.field
          }, { expr: "datum" }) : i.vgField(T, {
            // For stack with imputation, we only have bin_mid
            binSuffix: d.stack && d.stack.impute ? "mid" : void 0,
            expr: "datum"
          });
          return {
            field: P,
            order: "descending"
          };
        }
        return;
      }
    }
  }
  Uu.getSort = E;
  function f(d, p) {
    p === void 0 && (p = { fromPrefix: "" });
    var b = d.mark, m = d.markDef.clip !== void 0 ? !!d.markDef.clip : _(d), v = g.getStyles(d.markDef), O = d.encoding.key, T = E(d), w = u[b].postEncodingTransform ? u[b].postEncodingTransform(d) : null;
    return [e.__assign({ name: d.getName("marks"), type: u[b].vgMark }, m ? { clip: !0 } : {}, v ? { style: v } : {}, O ? { key: { field: O.field } } : {}, T ? { sort: T } : {}, { from: { data: p.fromPrefix + d.requestDataName(r.MAIN) }, encode: {
      update: u[b].encodeEntry(d)
    } }, w ? {
      transform: w
    } : {})];
  }
  function S(d, p) {
    return c.keys(p).reduce(function(b, m) {
      switch (m) {
        case "x":
        case "y":
        case "order":
        case "tooltip":
        case "href":
        case "x2":
        case "y2":
        case "latitude":
        case "longitude":
        case "latitude2":
        case "longitude2":
        case "text":
        case "shape":
          return b;
        case "detail":
        case "key":
          var v = p[m];
          return v && (t.isArray(v) ? v : [v]).forEach(function(T) {
            T.aggregate || b.push(i.vgField(T, {}));
          }), b;
        case "size":
          if (d === "trail")
            return b;
        case "color":
        case "fill":
        case "stroke":
        case "opacity":
          var O = i.getFieldDef(p[m]);
          return O && !O.aggregate && b.push(i.vgField(O, {})), b;
        default:
          throw new Error("Bug: Channel " + m + " unimplemented for line mark");
      }
    }, []);
  }
  Uu.pathGroupingFields = S;
  function _(d) {
    var p = d.getScaleComponent("x"), b = d.getScaleComponent("y");
    return !!(p && p.get("domainRaw") || b && b.get("domainRaw"));
  }
  return Uu;
}
var z$;
function $te() {
  if (z$) return Cv;
  z$ = 1, Object.defineProperty(Cv, "__esModule", { value: !0 });
  var e = Pe, t = wt(), r = e.__importStar(Ei()), n = Ei(), i = Ot(), o = ln(), l = UN(), c = Ze(), g = Wte(), y = F_(), C = P_(), D = op(), x = BLe(), M = ZLe(), N = qr(), F = jte(), z = fn(), A = (
    /** @class */
    function(u) {
      e.__extends(a, u);
      function a(s, h, E, f, S, _, d) {
        f === void 0 && (f = {});
        var p = u.call(this, s, h, E, _, S, void 0) || this;
        p.fit = d, p.type = "unit", p.specifiedScales = {}, p.specifiedAxes = {}, p.specifiedLegends = {}, p.specifiedProjection = {}, p.selection = {}, p.children = [], p.initSize(e.__assign({}, f, s.width ? { width: s.width } : {}, s.height ? { height: s.height } : {}));
        var b = o.isMarkDef(s.mark) ? s.mark.type : s.mark, m = p.encoding = n.normalizeEncoding(F.replaceRepeaterInEncoding(s.encoding || {}, S), b);
        return p.markDef = x.normalizeMarkDef(s.mark, m, _), p.stack = l.stack(b, m, p.config.stack), p.specifiedScales = p.initScales(b, m), p.specifiedAxes = p.initAxes(m), p.specifiedLegends = p.initLegend(m), p.specifiedProjection = s.projection, p.selection = s.selection, p;
      }
      return Object.defineProperty(a.prototype, "hasProjection", {
        get: function() {
          var s = this.encoding, h = this.mark === o.GEOSHAPE, E = s && t.GEOPOSITION_CHANNELS.some(function(f) {
            return i.isFieldDef(s[f]);
          });
          return h || E;
        },
        enumerable: !0,
        configurable: !0
      }), a.prototype.scaleDomain = function(s) {
        var h = this.specifiedScales[s];
        return h ? h.domain : void 0;
      }, a.prototype.axis = function(s) {
        return this.specifiedAxes[s];
      }, a.prototype.legend = function(s) {
        return this.specifiedLegends[s];
      }, a.prototype.initScales = function(s, h) {
        return t.SCALE_CHANNELS.reduce(function(E, f) {
          var S, _, d = h[f];
          return i.isFieldDef(d) ? (S = d, _ = d.scale) : i.hasConditionalFieldDef(d) ? (S = d.condition, _ = d.condition.scale) : f === "x" ? S = i.getFieldDef(h.x2) : f === "y" && (S = i.getFieldDef(h.y2)), S && (E[f] = _ || {}), E;
        }, {});
      }, a.prototype.initAxes = function(s) {
        return [t.X, t.Y].reduce(function(h, E) {
          var f = s[E];
          if (i.isFieldDef(f) || E === t.X && i.isFieldDef(s.x2) || E === t.Y && i.isFieldDef(s.y2)) {
            var S = i.isFieldDef(f) ? f.axis : null;
            S !== null && S !== !1 && (h[E] = e.__assign({}, S));
          }
          return h;
        }, {});
      }, a.prototype.initLegend = function(s) {
        return t.NONPOSITION_SCALE_CHANNELS.reduce(function(h, E) {
          var f = s[E];
          if (f) {
            var S = i.isFieldDef(f) ? f.legend : i.hasConditionalFieldDef(f) ? f.condition.legend : null;
            S !== null && S !== !1 && (h[E] = e.__assign({}, S));
          }
          return h;
        }, {});
      }, a.prototype.parseData = function() {
        this.component.data = y.parseData(this);
      }, a.prototype.parseLayoutSize = function() {
        D.parseUnitLayoutSize(this);
      }, a.prototype.parseSelection = function() {
        this.component.selection = z.parseUnitSelection(this, this.selection);
      }, a.prototype.parseMarkGroup = function() {
        this.component.mark = M.parseMarkGroup(this);
      }, a.prototype.parseAxisAndHeader = function() {
        this.component.axes = g.parseUnitAxis(this);
      }, a.prototype.assembleSelectionTopLevelSignals = function(s) {
        return z.assembleTopLevelSignals(this, s);
      }, a.prototype.assembleSelectionSignals = function() {
        return z.assembleUnitSelectionSignals(this, []);
      }, a.prototype.assembleSelectionData = function(s) {
        return z.assembleUnitSelectionData(this, s);
      }, a.prototype.assembleLayout = function() {
        return null;
      }, a.prototype.assembleLayoutSignals = function() {
        return C.assembleLayoutSignals(this);
      }, a.prototype.assembleMarks = function() {
        var s = this.component.mark || [];
        return (!this.parent || !N.isLayerModel(this.parent)) && (s = z.assembleUnitSelectionMarks(this, s)), s.map(this.correctDataNames);
      }, a.prototype.assembleLayoutSize = function() {
        return {
          width: this.getSizeSignalRef("width"),
          height: this.getSizeSignalRef("height")
        };
      }, a.prototype.getMapping = function() {
        return this.encoding;
      }, a.prototype.toSpec = function(s, h) {
        var E = c.duplicate(this.encoding), f;
        return f = {
          mark: this.markDef,
          encoding: E
        }, s || (f.config = c.duplicate(this.config)), h || (f.data = c.duplicate(this.data)), f;
      }, Object.defineProperty(a.prototype, "mark", {
        get: function() {
          return this.markDef.type;
        },
        enumerable: !0,
        configurable: !0
      }), a.prototype.channelHasField = function(s) {
        return r.channelHasField(this.encoding, s);
      }, a.prototype.fieldDef = function(s) {
        var h = this.encoding[s];
        return i.getFieldDef(h);
      }, a;
    }(N.ModelWithField)
  );
  return Cv.UnitModel = A, Cv;
}
var B$;
function JLe() {
  if (B$) return wv;
  B$ = 1, Object.defineProperty(wv, "__esModule", { value: !0 });
  var e = Pe, t = e.__importStar(_t()), r = Yl(), n = Ze(), i = Wte(), o = F_(), l = P_(), c = op(), g = Cte(), y = qr(), C = fn(), D = $te(), x = (
    /** @class */
    function(M) {
      e.__extends(N, M);
      function N(F, z, A, u, a, s, h) {
        var E = M.call(this, F, z, A, s, a, F.resolve) || this;
        E.type = "layer";
        var f = e.__assign({}, u, F.width ? { width: F.width } : {}, F.height ? { height: F.height } : {});
        return E.initSize(f), E.children = F.layer.map(function(S, _) {
          if (r.isLayerSpec(S))
            return new N(S, E, E.getName("layer_" + _), f, a, s, h);
          if (r.isUnitSpec(S))
            return new D.UnitModel(S, E, E.getName("layer_" + _), f, a, s, h);
          throw new Error(t.message.INVALID_SPEC);
        }), E;
      }
      return N.prototype.parseData = function() {
        this.component.data = o.parseData(this);
        for (var F = 0, z = this.children; F < z.length; F++) {
          var A = z[F];
          A.parseData();
        }
      }, N.prototype.parseLayoutSize = function() {
        c.parseLayerLayoutSize(this);
      }, N.prototype.parseSelection = function() {
        var F = this;
        this.component.selection = {};
        for (var z = function(s) {
          s.parseSelection(), n.keys(s.component.selection).forEach(function(h) {
            F.component.selection[h] = s.component.selection[h];
          });
        }, A = 0, u = this.children; A < u.length; A++) {
          var a = u[A];
          z(a);
        }
      }, N.prototype.parseMarkGroup = function() {
        for (var F = 0, z = this.children; F < z.length; F++) {
          var A = z[F];
          A.parseMarkGroup();
        }
      }, N.prototype.parseAxisAndHeader = function() {
        i.parseLayerAxis(this);
      }, N.prototype.assembleSelectionTopLevelSignals = function(F) {
        return this.children.reduce(function(z, A) {
          return A.assembleSelectionTopLevelSignals(z);
        }, F);
      }, N.prototype.assembleSelectionSignals = function() {
        return this.children.reduce(function(F, z) {
          return F.concat(z.assembleSelectionSignals());
        }, []);
      }, N.prototype.assembleLayoutSignals = function() {
        return this.children.reduce(function(F, z) {
          return F.concat(z.assembleLayoutSignals());
        }, l.assembleLayoutSignals(this));
      }, N.prototype.assembleSelectionData = function(F) {
        return this.children.reduce(function(z, A) {
          return A.assembleSelectionData(z);
        }, F);
      }, N.prototype.assembleTitle = function() {
        var F = M.prototype.assembleTitle.call(this);
        if (F)
          return F;
        for (var z = 0, A = this.children; z < A.length; z++) {
          var u = A[z];
          if (F = u.assembleTitle(), F)
            return F;
        }
      }, N.prototype.assembleLayout = function() {
        return null;
      }, N.prototype.assembleMarks = function() {
        return C.assembleLayerSelectionMarks(this, n.flatten(this.children.map(function(F) {
          return F.assembleMarks();
        })));
      }, N.prototype.assembleLegends = function() {
        return this.children.reduce(function(F, z) {
          return F.concat(z.assembleLegends());
        }, g.assembleLegends(this));
      }, N;
    }(y.Model)
  );
  return wv.LayerModel = x, wv;
}
var Nv = {}, W$;
function eje() {
  if (W$) return Nv;
  W$ = 1, Object.defineProperty(Nv, "__esModule", { value: !0 });
  var e = Pe, t = e.__importStar(_t()), r = zte(), n = L_(), i = op(), o = (
    /** @class */
    function(l) {
      e.__extends(c, l);
      function c(g, y, C, D, x) {
        var M = l.call(this, g, y, C, x, D, g.resolve) || this;
        return M.type = "repeat", g.resolve && g.resolve.axis && (g.resolve.axis.x === "shared" || g.resolve.axis.y === "shared") && t.warn(t.message.REPEAT_CANNOT_SHARE_AXIS), M.repeat = g.repeat, M.children = M._initChildren(g, M.repeat, D, x), M;
      }
      return c.prototype._initChildren = function(g, y, C, D) {
        for (var x = [], M = y.row || [C ? C.row : null], N = y.column || [C ? C.column : null], F = 0, z = M; F < z.length; F++)
          for (var A = z[F], u = 0, a = N; u < a.length; u++) {
            var s = a[u], h = (A ? "_" + A : "") + (s ? "_" + s : ""), E = {
              row: A,
              column: s
            };
            x.push(n.buildModel(g.spec, this, this.getName("child" + h), void 0, E, D, !1));
          }
        return x;
      }, c.prototype.parseLayoutSize = function() {
        i.parseRepeatLayoutSize(this);
      }, c.prototype.assembleDefaultLayout = function() {
        return {
          columns: this.repeat && this.repeat.column ? this.repeat.column.length : 1,
          bounds: "full",
          align: "all"
        };
      }, c;
    }(r.BaseConcatModel)
  );
  return Nv.RepeatModel = o, Nv;
}
var $$;
function L_() {
  if ($$) return $m;
  $$ = 1, Object.defineProperty($m, "__esModule", { value: !0 });
  var e = Pe, t = e.__importStar(_t()), r = Yl(), n = jLe(), i = Ute(), o = JLe(), l = eje(), c = $te();
  function g(y, C, D, x, M, N, F) {
    if (r.isFacetSpec(y))
      return new i.FacetModel(y, C, D, M, N);
    if (r.isLayerSpec(y))
      return new o.LayerModel(y, C, D, x, M, N, F);
    if (r.isUnitSpec(y))
      return new c.UnitModel(y, C, D, x, M, N, F);
    if (r.isRepeatSpec(y))
      return new l.RepeatModel(y, C, D, M, N);
    if (r.isConcatSpec(y))
      return new n.ConcatModel(y, C, D, M, N);
    throw new Error(t.message.INVALID_SPEC);
  }
  return $m.buildModel = g, $m;
}
var V$;
function tje() {
  if (V$) return zm;
  V$ = 1, Object.defineProperty(zm, "__esModule", { value: !0 });
  var e = Pe, t = hte(), r = e.__importStar(Ot()), n = e.__importStar(_t()), i = Yl(), o = mte(), l = Ze(), c = L_(), g = Lte(), y = xte();
  function C(M, N) {
    N === void 0 && (N = {}), N.logger && n.set(N.logger), N.fieldTitle && r.setTitleFormatter(N.fieldTitle);
    try {
      var F = t.initConfig(l.mergeDeep({}, N.config, M.config)), z = i.normalize(M, F), A = o.normalizeAutoSize(M.autosize, F.autosize, i.isLayerSpec(z) || i.isUnitSpec(z)), u = c.buildModel(z, null, "", void 0, void 0, F, A.type === "fit");
      return u.parse(), y.optimizeDataflow(u.component.data), x(u, D(M, F, A));
    } finally {
      N.logger && n.reset(), N.fieldTitle && r.resetTitleFormatter();
    }
  }
  zm.compile = C;
  function D(M, N, F) {
    return e.__assign({ autosize: l.keys(F).length === 1 && F.type ? F.type : F }, o.extractTopLevelProperties(N), o.extractTopLevelProperties(M));
  }
  function x(M, N) {
    var F = M.config ? t.stripAndRedirectConfig(M.config) : void 0, z = [].concat(
      M.assembleSelectionData([]),
      // only assemble data in the root
      g.assembleRootData(M.component.data, N.datasets || {})
    );
    delete N.datasets;
    var A = M.assembleProjections(), u = M.assembleTitle(), a = M.assembleGroupStyle(), s = M.assembleLayoutSignals();
    s = s.filter(function(E) {
      return (E.name === "width" || E.name === "height") && E.value !== void 0 ? (N[E.name] = +E.value, !1) : !0;
    });
    var h = e.__assign({ $schema: "https://vega.github.io/schema/vega/v4.json" }, M.description ? { description: M.description } : {}, N, u ? { title: u } : {}, a ? { style: a } : {}, { data: z }, A.length > 0 ? { projections: A } : {}, M.assembleGroup(s.concat(M.assembleSelectionTopLevelSignals([]))), F ? { config: F } : {});
    return {
      spec: h
      // TODO: add warning / errors here
    };
  }
  return zm;
}
var vA = {}, H$;
function rje() {
  return H$ || (H$ = 1, Object.defineProperty(vA, "__esModule", { value: !0 })), vA;
}
var gA = {}, Y$;
function nje() {
  return Y$ || (Y$ = 1, function(e) {
    Object.defineProperty(e, "__esModule", { value: !0 });
    var t = lt, r = ln(), n = ln();
    e.DEFAULT_REQUIRED_CHANNEL_MAP = {
      text: ["text"],
      line: ["x", "y"],
      trail: ["x", "y"],
      area: ["x", "y"]
    }, e.DEFAULT_SUPPORTED_CHANNEL_TYPE = {
      bar: t.toSet(["row", "column", "x", "y", "size", "color", "fill", "stroke", "detail"]),
      line: t.toSet(["row", "column", "x", "y", "color", "fill", "stroke", "color", "detail"]),
      trail: t.toSet(["row", "column", "x", "y", "color", "fill", "stroke", "color", "detail", "size"]),
      area: t.toSet(["row", "column", "x", "y", "color", "fill", "stroke", "detail"]),
      tick: t.toSet(["row", "column", "x", "y", "color", "fill", "stroke", "detail"]),
      circle: t.toSet(["row", "column", "x", "y", "color", "fill", "stroke", "size", "detail"]),
      square: t.toSet(["row", "column", "x", "y", "color", "fill", "stroke", "size", "detail"]),
      point: t.toSet(["row", "column", "x", "y", "color", "fill", "stroke", "size", "detail", "shape"]),
      geoshape: t.toSet(["row", "column", "color", "fill", "stroke", "detail", "shape"]),
      text: t.toSet(["row", "column", "size", "color", "fill", "stroke", "text"])
      // TODO(#724) revise
    };
    function i(o, l, c) {
      l === void 0 && (l = e.DEFAULT_REQUIRED_CHANNEL_MAP), c === void 0 && (c = e.DEFAULT_SUPPORTED_CHANNEL_TYPE);
      var g = r.isMarkDef(o.mark) ? o.mark.type : o.mark, y = o.encoding, C = l[g], D = c[g];
      for (var x in C)
        if (!(C[x] in y))
          return 'Missing encoding channel "' + C[x] + '" for mark "' + g + '"';
      for (var M in y)
        if (!D[M])
          return 'Encoding channel "' + M + '" is not supported by mark type "' + g + '"';
      return g === n.BAR && !y.x && !y.y ? "Missing both x and y for bar" : null;
    }
    e.getEncodingMappingError = i;
  }(gA)), gA;
}
const ije = "vega-lite", aje = 'Jeffrey Heer, Dominik Moritz, Kanit "Ham" Wongsuphasawat', oje = "2.7.0", sje = [
  "Kanit Wongsuphasawat <kanitw@gmail.com> (http://kanitw.yellowpigz.com)",
  "Dominik Moritz <domoritz@cs.washington.edu> (https://www.domoritz.de)",
  "Jeffrey Heer <jheer@uw.edu> (http://jheer.org)"
], uje = "https://vega.github.io/vega-lite/", lje = "Vega-Lite is a concise high-level language for interactive visualization.", cje = "build/vega-lite.js", fje = "build/vega-lite.min.js", dje = "build/vega-lite.min.js", pje = "build/src/index", hje = "build/src/index.d.ts", mje = {
  vl2png: "./bin/vl2png",
  vl2svg: "./bin/vl2svg",
  vl2vg: "./bin/vl2vg"
}, vje = {
  test: "test"
}, gje = {
  prebuild: "mkdir -p build/src",
  build: "npm run build:only",
  "build:only": "tsc && rollup -c",
  postbuild: "uglifyjs build/vega-lite.js -cm --source-map content=build/vega-lite.js.map,filename=build/vega-lite.min.js.map -o build/vega-lite.min.js && npm run schema",
  "build:examples": "npm run data && TZ=America/Los_Angeles scripts/build-examples.sh",
  "build:examples-full": "TZ=America/Los_Angeles scripts/build-examples.sh 1",
  "build:example": "TZ=America/Los_Angeles scripts/build-example.sh",
  "build:toc": "bundle exec jekyll build -q && scripts/generate-toc",
  "build:site": "tsc -p site && webpack --config site/webpack.config.js",
  "build:versions": "scripts/update-version.sh",
  "check:examples": "scripts/check-examples.sh",
  "check:schema": "scripts/check-schema.sh",
  clean: "rm -rf build && rm -f examples/compiled/*.png && find site/examples ! -name 'index.md' -type f -delete",
  data: "rsync -r node_modules/vega-datasets/data/* data",
  deploy: "scripts/deploy.sh",
  "deploy:gh": "scripts/deploy-gh.sh",
  "deploy:schema": "scripts/deploy-schema.sh",
  preschema: "npm run prebuild",
  schema: "node --stack-size=1200 ./node_modules/.bin/ts-json-schema-generator --path tsconfig.json --type TopLevelSpec > build/vega-lite-schema.json && npm run renameschema && cp build/vega-lite-schema.json _data/",
  renameschema: "scripts/rename-schema.sh",
  presite: "npm run prebuild && npm run data && npm run build:site && npm run build:toc && npm run build:versions && scripts/create-example-pages",
  site: "bundle exec jekyll serve --incremental",
  lint: "tslint -p . -e 'package.json'",
  test: "jest test/ && npm run lint && npm run schema && jest examples/ && npm run test:runtime",
  "test:inspect": "node --inspect-brk ./node_modules/.bin/jest --runInBand test",
  "test:runtime": `TZ=America/Los_Angeles TS_NODE_COMPILER_OPTIONS='{"module":"commonjs"}' wdio wdio.conf.js`,
  "test:runtime:generate": "rm -Rf test-runtime/resources && VL_GENERATE_TESTS=true npm run test:runtime",
  "watch:build": "npm run build:only && concurrently --kill-others -n Typescript,Rollup 'tsc -w' 'rollup -c -w'",
  "watch:site": "concurrently --kill-others -n Typescript,Webpack 'tsc -p site --watch' 'webpack --config site/webpack.config.js --mode development --watch'",
  "watch:test": "jest --watch"
}, yje = {
  type: "git",
  url: "https://github.com/vega/vega-lite.git"
}, bje = "BSD-3-Clause", _je = {
  url: "https://github.com/vega/vega-lite/issues"
}, Eje = {
  "@types/chai": "^4.1.4",
  "@types/d3": "^5.0.0",
  "@types/highlight.js": "^9.12.3",
  "@types/jest": "^23.1.1",
  "@types/mkdirp": "^0.5.2",
  "@types/node": "^9.0.0",
  "@types/webdriverio": "^4.10.2",
  ajv: "^6.5.1",
  chai: "^4.1.2",
  cheerio: "^1.0.0-rc.2",
  chromedriver: "^2.40.0",
  codecov: "^3.0.2",
  concurrently: "^3.6.0",
  d3: "^5.5.0",
  "highlight.js": "^9.12.0",
  jest: "^23.1.0",
  mkdirp: "^0.5.1",
  rollup: "^0.59.4",
  "rollup-plugin-commonjs": "^9.1.3",
  "rollup-plugin-json": "^3.0.0",
  "rollup-plugin-node-resolve": "^3.3.0",
  "rollup-plugin-sourcemaps": "^0.4.2",
  "source-map-support": "^0.5.6",
  "svg2png-many": "^0.0.7",
  "ts-jest": "^22.4.6",
  "ts-json-schema-generator": "^0.28.0",
  "ts-node": "^6.1.1",
  tslint: "5.10.0",
  "tslint-eslint-rules": "^5.3.1",
  typescript: "^2.9.2",
  "uglify-js": "^3.4.1",
  vega: "^4.0.0",
  "vega-datasets": "^1.19.0",
  "vega-embed": "^3.16.0",
  "vega-tooltip": "^0.11.0",
  "wdio-chromedriver-service": "^0.1.3",
  "wdio-dot-reporter": "0.0.9",
  "wdio-mocha-framework": "^0.5.13",
  "wdio-static-server-service": "^1.0.1",
  webdriverio: "^4.13.0",
  webpack: "^4.12.0",
  "webpack-cli": "^3.0.8",
  "yaml-front-matter": "^4.0.0"
}, Sje = {
  "@types/json-stable-stringify": "^1.0.32",
  "json-stable-stringify": "^1.0.1",
  tslib: "^1.9.2",
  "vega-event-selector": "^2.0.0",
  "vega-typings": "^0.3.17",
  "vega-util": "^1.10.0",
  yargs: "^11.0.0"
}, wje = {
  vega: "^3.0.0 || ^4.0.0"
}, Oje = {
  transform: {
    "^.+\\.tsx?$": "ts-jest"
  },
  testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
  moduleFileExtensions: [
    "ts",
    "tsx",
    "js",
    "jsx",
    "json",
    "node"
  ],
  testPathIgnorePatterns: [
    "node_modules",
    "test-runtime",
    "<rootDir>/build",
    "_site",
    "src"
  ],
  coverageDirectory: "./coverage/",
  collectCoverage: !1
}, Tje = {
  name: ije,
  author: aje,
  version: oje,
  collaborators: sje,
  homepage: uje,
  description: lje,
  main: cje,
  unpkg: fje,
  jsdelivr: dje,
  module: pje,
  types: hje,
  bin: mje,
  directories: vje,
  scripts: gje,
  repository: yje,
  license: bje,
  bugs: _je,
  devDependencies: Eje,
  dependencies: Sje,
  peerDependencies: wje,
  jest: Oje
};
var G$;
function Cje() {
  if (G$) return Yt;
  G$ = 1, Object.defineProperty(Yt, "__esModule", { value: !0 });
  var e = Pe, t = e.__importStar(tp());
  Yt.aggregate = t;
  var r = e.__importStar(FN());
  Yt.axis = r;
  var n = e.__importStar(rp());
  Yt.bin = n;
  var i = e.__importStar(wt());
  Yt.channel = i;
  var o = e.__importStar(sy());
  Yt.compositeMark = o;
  var l = tje();
  Yt.compile = l.compile;
  var c = e.__importStar(hte());
  Yt.config = c;
  var g = e.__importStar(ns());
  Yt.data = g;
  var y = e.__importStar(D_());
  Yt.datetime = y;
  var C = e.__importStar(Ei());
  Yt.encoding = C;
  var D = e.__importStar(rje());
  Yt.facet = D;
  var x = e.__importStar(Ot());
  Yt.fieldDef = x;
  var M = e.__importStar(wte());
  Yt.header = M;
  var N = e.__importStar(LN());
  Yt.legend = N;
  var F = e.__importStar(ln());
  Yt.mark = F;
  var z = e.__importStar(nr());
  Yt.scale = z;
  var A = e.__importStar(La());
  Yt.sort = A;
  var u = e.__importStar(Yl());
  Yt.spec = u;
  var a = e.__importStar(UN());
  Yt.stack = a;
  var s = e.__importStar(np());
  Yt.timeUnit = s;
  var h = e.__importStar(YN());
  Yt.transform = h;
  var E = e.__importStar(Pn());
  Yt.type = E;
  var f = e.__importStar(Ze());
  Yt.util = f;
  var S = e.__importStar(nje());
  Yt.validate = S;
  var _ = e.__importDefault(Tje), d = _.default.version;
  return Yt.version = d, Yt;
}
var K$;
function xje() {
  if (K$) return ys;
  K$ = 1;
  var e = ba && ba.__assign || Object.assign || function(g) {
    for (var y, C = 1, D = arguments.length; C < D; C++) {
      y = arguments[C];
      for (var x in y) Object.prototype.hasOwnProperty.call(y, x) && (g[x] = y[x]);
    }
    return g;
  };
  Object.defineProperty(ys, "__esModule", { value: !0 });
  var t = Cje(), r = Pn(), n = {
    quantitative: "number",
    temporal: "time",
    ordinal: void 0,
    nominal: void 0
  };
  function i(g, y) {
    var C = [];
    return g.showAllFields !== !1 ? t.spec.fieldDefs(y).forEach(function(D) {
      var x = o(g.fields, D), M = c(x, D, y);
      C.push(M);
    }) : g.fields && g.fields.forEach(function(D) {
      var x = l(t.spec.fieldDefs(y), D), M = c(D, x, y);
      C.push(M);
    }), g.fields = C, g;
  }
  ys.supplementOptions = i;
  function o(g, y) {
    if (!(!y || !g || g.length <= 0))
      if (y.aggregate) {
        for (var C = 0, D = g; C < D.length; C++) {
          var x = D[C];
          if (x.field === y.field && x.aggregate === y.aggregate)
            return x;
        }
        for (var M = 0, N = g; M < N.length; M++) {
          var x = N[M];
          if (x.field === y.field && !x.aggregate)
            return x;
        }
        return;
      } else {
        for (var F = 0, z = g; F < z.length; F++) {
          var x = z[F];
          if (x.field === y.field)
            return x;
        }
        return;
      }
  }
  ys.getFieldOption = o;
  function l(g, y) {
    if (!(!y || !y.field || !g))
      for (var C = 0, D = g; C < D.length; C++) {
        var x = D[C];
        if (x.field === y.field)
          if (x.aggregate) {
            if (x.aggregate === y.aggregate || !y.aggregate)
              return x;
          } else
            return x;
      }
  }
  ys.getFieldDef = l;
  function c(g, y, C) {
    var D = e({}, C.config);
    if (!g && !y) {
      console.error("[Tooltip] Cannot supplement a field when field and fieldDef are both empty.");
      return;
    }
    !g && y && (g = {}), g && !y && (y = {});
    var x = {};
    if (x.field = y.field ? t.fieldDef.field(y) : g.field, y.type === r.TEMPORAL && y.timeUnit) {
      var M = y.field;
      x.removeOriginalTemporalField = M;
      for (var N = t.spec.fieldDefs(C), F = 0, z = N; F < z.length; F++) {
        var A = z[F];
        if (A.field === M && !A.timeUnit) {
          x.removeOriginalTemporalField = void 0;
          break;
        }
      }
    }
    if (D.countTitle || (D.countTitle = t.config.defaultConfig.countTitle), x.title = g.title ? g.title : t.fieldDef.title(y, D), x.formatType = g.formatType ? g.formatType : n[y.type], g.format)
      x.format = g.format;
    else
      switch (x.formatType) {
        case "time":
          x.format = y.timeUnit ? (
            // TODO(zening): use template for all time fields, to be consistent with Vega-Lite
            t.timeUnit.formatExpression(y.timeUnit, "", !1, !1).split("'")[1]
          ) : D.timeFormat || t.config.defaultConfig.timeFormat;
          break;
        case "number":
          x.format = D.numberFormat;
          break;
      }
    return y.bin && (x.field = x.field.replace("_start", "_range"), x.bin = !0, x.formatType = "string"), x;
  }
  return ys.supplementFieldOption = c, ys;
}
var ha = {}, X$;
function Aje() {
  if (X$) return ha;
  X$ = 1, Object.defineProperty(ha, "__esModule", { value: !0 });
  var e = gee;
  function t() {
    var g;
    return e.select("#vis-tooltip").empty() ? g = e.select("body").append("div").attr("id", "vis-tooltip").attr("class", "vg-tooltip") : g = e.select("#vis-tooltip"), g;
  }
  ha.getTooltipPlaceholder = t;
  function r(g, y) {
    g.selectAll("table").remove();
    var C = g.append("table").selectAll(".tooltip-row").data(y);
    C.exit().remove();
    var D = C.enter().append("tr").attr("class", "tooltip-row");
    D.append("td").attr("class", "key").text(function(x) {
      return x.title + ":";
    }), D.append("td").attr("class", "value").text(function(x) {
      return x.value;
    });
  }
  ha.bindData = r;
  function n() {
    e.select("#vis-tooltip").selectAll(".tooltip-row").data([]).exit().remove();
  }
  ha.clearData = n;
  function i(g, y) {
    var C = 10, D = 10;
    y && y.offset && y.offset.x !== void 0 && y.offset.x !== null && (C = y.offset.x), y && y.offset && y.offset.y !== void 0 && y.offset.y !== null && (D = y.offset.y), e.select("#vis-tooltip").style("top", function() {
      var x = this.getBoundingClientRect().height;
      return g.clientY + x + D < window.innerHeight ? "" + (g.clientY + D) + "px" : "" + (g.clientY - x - D) + "px";
    }).style("left", function() {
      var x = this.getBoundingClientRect().width;
      return g.clientX + x + C < window.innerWidth ? "" + (g.clientX + C) + "px" : "" + (g.clientX - x - C) + "px";
    });
  }
  ha.updatePosition = i;
  function o() {
    e.select("#vis-tooltip").style("top", "-9999px").style("left", "-9999px");
  }
  ha.clearPosition = o;
  function l(g) {
    c(), g && g.colorTheme === "dark" ? e.select("#vis-tooltip").classed("dark-theme", !0) : e.select("#vis-tooltip").classed("light-theme", !0);
  }
  ha.updateColorTheme = l;
  function c() {
    e.select("#vis-tooltip").classed("dark-theme light-theme", !1);
  }
  return ha.clearColorTheme = c, ha;
}
var Q$;
function Dje() {
  if (Q$) return qc;
  Q$ = 1, Object.defineProperty(qc, "__esModule", { value: !0 });
  var e = gee, t = aIe(), r = t2e(), n = xje(), i = Aje(), o = void 0, l = !1;
  function c(z, A) {
    return A === void 0 && (A = { showAllFields: !0 }), y(z, F(A)), {
      destroy: function() {
        z.removeEventListener("mouseover.tooltipInit"), z.removeEventListener("mousemove.tooltipUpdate"), z.removeEventListener("mouseout.tooltipRemove"), C();
      }
    };
  }
  qc.vega = c;
  function g(z, A, u) {
    return u === void 0 && (u = { showAllFields: !0 }), u = n.supplementOptions(F(u), A), y(z, u), {
      destroy: function() {
        z.removeEventListener("mouseover.tooltipInit"), z.removeEventListener("mousemove.tooltipUpdate"), z.removeEventListener("mouseout.tooltipRemove"), C();
      }
    };
  }
  qc.vegaLite = g;
  function y(z, A) {
    z.addEventListener("mouseover.tooltipInit", function(u, a) {
      N(a) && (C(), o = window.setTimeout(function() {
        D(u, a, A);
      }, A.delay || t.DELAY));
    }), z.addEventListener("mousemove.tooltipUpdate", function(u, a) {
      N(a) && l && x(u, a, A);
    }), z.addEventListener("mouseout.tooltipRemove", function(u, a) {
      N(a) && (C(), l && M(u, a, A));
    });
  }
  function C() {
    window.clearTimeout(o), o = void 0;
  }
  function D(z, A, u) {
    var a = i.getTooltipPlaceholder(), s = r.getTooltipData(A, u);
    !s || s.length === 0 || (i.bindData(a, s), i.updatePosition(z, u), i.updateColorTheme(u), e.select("#vis-tooltip").style("visibility", "visible"), l = !0, u.onAppear && u.onAppear(z, A));
  }
  function x(z, A, u) {
    N(A) && (i.updatePosition(z, u), u.onMove && u.onMove(z, A));
  }
  function M(z, A, u) {
    N(A) && (e.select("#vis-tooltip").style("visibility", "hidden"), l = !1, i.clearData(), i.clearColorTheme(), i.clearPosition(), u.onDisappear && u.onDisappear(z, A));
  }
  function N(z) {
    return !(!z || !z.datum || z.datum._facetID);
  }
  function F(z) {
    var A = {};
    for (var u in z)
      z.hasOwnProperty(u) && (A[u] = z[u]);
    return A;
  }
  return qc;
}
(function(e, t) {
  (function(r, n) {
    e.exports = n(gV(), Hie(), Yae, T7(), xse(), gue(), Yue, Xue(), Zde, ike, ake(), yke(), _ke, kMe(), Dje());
  })(ba, function(r, n, i, o, l, c, g, y, C, D, x, M, N, F, z) {
    return function(A) {
      function u(s) {
        if (a[s]) return a[s].exports;
        var h = a[s] = { i: s, l: !1, exports: {} };
        return A[s].call(h.exports, h, h.exports, u), h.l = !0, h.exports;
      }
      var a = {};
      return u.m = A, u.c = a, u.i = function(s) {
        return s;
      }, u.d = function(s, h, E) {
        u.o(s, h) || Object.defineProperty(s, h, { configurable: !1, enumerable: !0, get: E });
      }, u.n = function(s) {
        var h = s && s.__esModule ? function() {
          return s.default;
        } : function() {
          return s;
        };
        return u.d(h, "a", h), h;
      }, u.o = function(s, h) {
        return Object.prototype.hasOwnProperty.call(s, h);
      }, u.p = "/build/", u(u.s = 705);
    }([function(A, u) {
      A.exports = r;
    }, function(A, u, a) {
      var s = typeof Symbol == "function" && Symbol.for && Symbol.for("react.element") || 60103, h = function(E) {
        return typeof E == "object" && E !== null && E.$$typeof === s;
      };
      A.exports = a(484)(h, !0);
    }, function(A, u, a) {
      function s(H, Y) {
        for (var Q = {}, Z = 0, J = Y; Z < J.length; Z++) {
          var ne = J[Z];
          H.hasOwnProperty(ne) && (Q[ne] = H[ne]);
        }
        return Q;
      }
      function h(H, Y) {
        for (var Q = q(H), Z = 0, J = Y; Z < J.length; Z++)
          delete Q[J[Z]];
        return Q;
      }
      function E(H) {
        if (G.isNumber(H)) return H;
        var Y = G.isString(H) ? H : K(H);
        if (Y.length < 100) return Y;
        for (var Q = 0, Z = 0; Z < Y.length; Z++)
          Q = (Q << 5) - Q + Y.charCodeAt(Z), Q &= Q;
        return Q;
      }
      function f(H, Y) {
        return H.indexOf(Y) > -1;
      }
      function S(H, Y) {
        return H.filter(function(Q) {
          return !f(Y, Q);
        });
      }
      function _(H, Y) {
        return H.concat(S(Y, H));
      }
      function d(H, Y) {
        for (var Q = 0, Z = 0; Z < H.length; Z++) if (Y(H[Z], Z, Q++)) return !0;
        return !1;
      }
      function p(H, Y) {
        for (var Q = 0, Z = 0; Z < H.length; Z++) if (!Y(H[Z], Z, Q++)) return !1;
        return !0;
      }
      function b(H) {
        return [].concat.apply([], H);
      }
      function m(H) {
        for (var Y = [], Q = 1; Q < arguments.length; Q++) Y[Q - 1] = arguments[Q];
        for (var Z = 0, J = Y; Z < J.length; Z++)
          H = v(H, J[Z]);
        return H;
      }
      function v(H, Y) {
        if (typeof Y != "object" || Y === null) return H;
        for (var Q in Y) Y.hasOwnProperty(Q) && Y[Q] !== void 0 && (typeof Y[Q] != "object" || G.isArray(Y[Q]) || Y[Q] === null ? H[Q] = Y[Q] : typeof H[Q] != "object" || H[Q] === null ? H[Q] = m(G.isArray(Y[Q].constructor) ? [] : {}, Y[Q]) : m(H[Q], Y[Q]));
        return H;
      }
      function O(H, Y) {
        for (var Q, Z = [], J = {}, ne = 0, ie = H; ne < ie.length; ne++) {
          var re = ie[ne];
          Q = Y(re), Q in J || (J[Q] = 1, Z.push(re));
        }
        return Z;
      }
      function T(H, Y) {
        for (var Q in H) if (H.hasOwnProperty(Q) && Y[Q] && H[Q] && Y[Q] !== H[Q]) return !0;
        return !1;
      }
      function w(H, Y) {
        for (var Q in H) if (Q in Y) return !0;
        return !1;
      }
      function P(H) {
        return !isNaN(H);
      }
      function I(H, Y) {
        if (H.length !== Y.length) return !0;
        H.sort(), Y.sort();
        for (var Q = 0; Q < H.length; Q++) if (Y[Q] !== H[Q]) return !0;
        return !1;
      }
      function L(H) {
        var Y = [];
        for (var Q in H) H.hasOwnProperty(Q) && Y.push(H[Q]);
        return Y;
      }
      function R(H) {
        return u.keys(H);
      }
      function q(H) {
        return JSON.parse(JSON.stringify(H));
      }
      function B(H) {
        return H === !0 || H === !1;
      }
      function j(H) {
        var Y = H.replace(/\W/g, "_");
        return (H.match(/^\d+/) ? "_" : "") + Y;
      }
      function k(H, Y) {
        return X.isLogicalNot(H) ? "!(" + k(H.not, Y) + ")" : X.isLogicalAnd(H) ? "(" + H.and.map(function(Q) {
          return k(Q, Y);
        }).join(") && (") + ")" : X.isLogicalOr(H) ? "(" + H.or.map(function(Q) {
          return k(Q, Y);
        }).join(") || (") + ")" : Y(H);
      }
      function U(H, Y) {
        if (Y.length === 0) return !0;
        var Q = Y.shift();
        return U(H[Q], Y) && delete H[Q], Object.keys(H).length === 0;
      }
      function W(H) {
        return H.charAt(0).toUpperCase() + H.substr(1);
      }
      function $(H) {
        return "[" + G.splitAccessPath(H).map(G.stringValue).join("][") + "]";
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var V = a(82), G = a(4), X = a(160), K = V.default || V;
      u.pick = s, u.omit = h, u.stringify = K, u.hash = E, u.contains = f, u.without = S, u.union = _, u.some = d, u.every = p, u.flatten = b, u.mergeDeep = m, u.unique = O, u.differ = T, u.hasIntersection = w, u.isNumeric = P, u.differArray = I, u.keys = Object.keys, u.vals = L, u.flagKeys = R, u.duplicate = q, u.isBoolean = B, u.varName = j, u.logicalExpr = k, u.deleteNestedProperty = U, u.titlecase = W, u.accessPath = $;
    }, function(A, u, a) {
      function s(j, k) {
        function U() {
          this.constructor = j;
        }
        q(j, k), j.prototype = k === null ? Object.create(k) : (U.prototype = k.prototype, new U());
      }
      function h(j, k) {
        var U = {};
        for (var W in j) Object.prototype.hasOwnProperty.call(j, W) && k.indexOf(W) < 0 && (U[W] = j[W]);
        if (j != null && typeof Object.getOwnPropertySymbols == "function") for (var $ = 0, W = Object.getOwnPropertySymbols(j); $ < W.length; $++) k.indexOf(W[$]) < 0 && (U[W[$]] = j[W[$]]);
        return U;
      }
      function E(j, k, U, W) {
        var $, V = arguments.length, G = V < 3 ? k : W === null ? W = Object.getOwnPropertyDescriptor(k, U) : W;
        if (typeof Reflect == "object" && typeof Reflect.decorate == "function") G = Reflect.decorate(j, k, U, W);
        else for (var X = j.length - 1; X >= 0; X--) ($ = j[X]) && (G = (V < 3 ? $(G) : V > 3 ? $(k, U, G) : $(k, U)) || G);
        return V > 3 && G && Object.defineProperty(k, U, G), G;
      }
      function f(j, k) {
        return function(U, W) {
          k(U, W, j);
        };
      }
      function S(j, k) {
        if (typeof Reflect == "object" && typeof Reflect.metadata == "function") return Reflect.metadata(j, k);
      }
      function _(j, k, U, W) {
        return new (U || (U = Promise))(function($, V) {
          function G(H) {
            try {
              K(W.next(H));
            } catch (Y) {
              V(Y);
            }
          }
          function X(H) {
            try {
              K(W.throw(H));
            } catch (Y) {
              V(Y);
            }
          }
          function K(H) {
            H.done ? $(H.value) : new U(function(Y) {
              Y(H.value);
            }).then(G, X);
          }
          K((W = W.apply(j, k || [])).next());
        });
      }
      function d(j, k) {
        function U(H) {
          return function(Y) {
            return W([H, Y]);
          };
        }
        function W(H) {
          if ($) throw new TypeError("Generator is already executing.");
          for (; K; ) try {
            if ($ = 1, V && (G = 2 & H[0] ? V.return : H[0] ? V.throw || ((G = V.return) && G.call(V), 0) : V.next) && !(G = G.call(V, H[1])).done) return G;
            switch (V = 0, G && (H = [2 & H[0], G.value]), H[0]) {
              case 0:
              case 1:
                G = H;
                break;
              case 4:
                return K.label++, { value: H[1], done: !1 };
              case 5:
                K.label++, V = H[1], H = [0];
                continue;
              case 7:
                H = K.ops.pop(), K.trys.pop();
                continue;
              default:
                if (G = K.trys, !(G = G.length > 0 && G[G.length - 1]) && (H[0] === 6 || H[0] === 2)) {
                  K = 0;
                  continue;
                }
                if (H[0] === 3 && (!G || H[1] > G[0] && H[1] < G[3])) {
                  K.label = H[1];
                  break;
                }
                if (H[0] === 6 && K.label < G[1]) {
                  K.label = G[1], G = H;
                  break;
                }
                if (G && K.label < G[2]) {
                  K.label = G[2], K.ops.push(H);
                  break;
                }
                G[2] && K.ops.pop(), K.trys.pop();
                continue;
            }
            H = k.call(j, K);
          } catch (Y) {
            H = [6, Y], V = 0;
          } finally {
            $ = G = 0;
          }
          if (5 & H[0]) throw H[1];
          return { value: H[0] ? H[1] : void 0, done: !0 };
        }
        var $, V, G, X, K = { label: 0, sent: function() {
          if (1 & G[0]) throw G[1];
          return G[1];
        }, trys: [], ops: [] };
        return X = { next: U(0), throw: U(1), return: U(2) }, typeof Symbol == "function" && (X[Symbol.iterator] = function() {
          return this;
        }), X;
      }
      function p(j, k) {
        for (var U in j) k.hasOwnProperty(U) || (k[U] = j[U]);
      }
      function b(j) {
        var k = typeof Symbol == "function" && j[Symbol.iterator], U = 0;
        return k ? k.call(j) : { next: function() {
          return j && U >= j.length && (j = void 0), { value: j && j[U++], done: !j };
        } };
      }
      function m(j, k) {
        var U = typeof Symbol == "function" && j[Symbol.iterator];
        if (!U) return j;
        var W, $, V = U.call(j), G = [];
        try {
          for (; (k === void 0 || k-- > 0) && !(W = V.next()).done; ) G.push(W.value);
        } catch (X) {
          $ = { error: X };
        } finally {
          try {
            W && !W.done && (U = V.return) && U.call(V);
          } finally {
            if ($) throw $.error;
          }
        }
        return G;
      }
      function v() {
        for (var j = [], k = 0; k < arguments.length; k++) j = j.concat(m(arguments[k]));
        return j;
      }
      function O(j) {
        return this instanceof O ? (this.v = j, this) : new O(j);
      }
      function T(j, k, U) {
        function W(Z) {
          Y[Z] && (H[Z] = function(J) {
            return new Promise(function(ne, ie) {
              Q.push([Z, J, ne, ie]) > 1 || $(Z, J);
            });
          });
        }
        function $(Z, J) {
          try {
            V(Y[Z](J));
          } catch (ne) {
            K(Q[0][3], ne);
          }
        }
        function V(Z) {
          Z.value instanceof O ? Promise.resolve(Z.value.v).then(G, X) : K(Q[0][2], Z);
        }
        function G(Z) {
          $("next", Z);
        }
        function X(Z) {
          $("throw", Z);
        }
        function K(Z, J) {
          Z(J), Q.shift(), Q.length && $(Q[0][0], Q[0][1]);
        }
        if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
        var H, Y = U.apply(j, k || []), Q = [];
        return H = {}, W("next"), W("throw"), W("return"), H[Symbol.asyncIterator] = function() {
          return this;
        }, H;
      }
      function w(j) {
        function k($, V) {
          U[$] = j[$] ? function(G) {
            return (W = !W) ? { value: O(j[$](G)), done: $ === "return" } : V ? V(G) : G;
          } : V;
        }
        var U, W;
        return U = {}, k("next"), k("throw", function($) {
          throw $;
        }), k("return"), U[Symbol.iterator] = function() {
          return this;
        }, U;
      }
      function P(j) {
        function k(V) {
          W[V] = j[V] && function(G) {
            return new Promise(function(X, K) {
              G = j[V](G), U(X, K, G.done, G.value);
            });
          };
        }
        function U(V, G, X, K) {
          Promise.resolve(K).then(function(H) {
            V({ value: H, done: X });
          }, G);
        }
        if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
        var W, $ = j[Symbol.asyncIterator];
        return $ ? $.call(j) : (j = typeof b == "function" ? b(j) : j[Symbol.iterator](), W = {}, k("next"), k("throw"), k("return"), W[Symbol.asyncIterator] = function() {
          return this;
        }, W);
      }
      function I(j, k) {
        return Object.defineProperty ? Object.defineProperty(j, "raw", { value: k }) : j.raw = k, j;
      }
      function L(j) {
        if (j && j.__esModule) return j;
        var k = {};
        if (j != null) for (var U in j) Object.hasOwnProperty.call(j, U) && (k[U] = j[U]);
        return k.default = j, k;
      }
      function R(j) {
        return j && j.__esModule ? j : { default: j };
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.__extends = s, a.d(u, "__assign", function() {
        return B;
      }), u.__rest = h, u.__decorate = E, u.__param = f, u.__metadata = S, u.__awaiter = _, u.__generator = d, u.__exportStar = p, u.__values = b, u.__read = m, u.__spread = v, u.__await = O, u.__asyncGenerator = T, u.__asyncDelegator = w, u.__asyncValues = P, u.__makeTemplateObject = I, u.__importStar = L, u.__importDefault = R;
      var q = function(j, k) {
        return (q = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(U, W) {
          U.__proto__ = W;
        } || function(U, W) {
          for (var $ in W) W.hasOwnProperty($) && (U[$] = W[$]);
        })(j, k);
      }, B = function() {
        return B = Object.assign || function(j) {
          for (var k, U = 1, W = arguments.length; U < W; U++) {
            k = arguments[U];
            for (var $ in k) Object.prototype.hasOwnProperty.call(k, $) && (j[$] = k[$]);
          }
          return j;
        }, B.apply(this, arguments);
      };
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(89);
      a.d(u, "accessor", function() {
        return s.a;
      }), a.d(u, "accessorName", function() {
        return s.b;
      }), a.d(u, "accessorFields", function() {
        return s.c;
      });
      var h = a(252);
      a.d(u, "id", function() {
        return h.a;
      }), a.d(u, "identity", function() {
        return h.b;
      }), a.d(u, "zero", function() {
        return h.c;
      }), a.d(u, "one", function() {
        return h.d;
      }), a.d(u, "truthy", function() {
        return h.e;
      }), a.d(u, "falsy", function() {
        return h.f;
      });
      var E = a(667);
      a.d(u, "logger", function() {
        return E.a;
      }), a.d(u, "None", function() {
        return E.b;
      }), a.d(u, "Error", function() {
        return E.c;
      }), a.d(u, "Warn", function() {
        return E.d;
      }), a.d(u, "Info", function() {
        return E.e;
      }), a.d(u, "Debug", function() {
        return E.f;
      });
      var f = a(674);
      a.d(u, "panLinear", function() {
        return f.a;
      }), a.d(u, "panLog", function() {
        return f.b;
      }), a.d(u, "panPow", function() {
        return f.c;
      }), a.d(u, "zoomLinear", function() {
        return f.d;
      }), a.d(u, "zoomLog", function() {
        return f.e;
      }), a.d(u, "zoomPow", function() {
        return f.f;
      });
      var S = a(162);
      a.d(u, "array", function() {
        return S.a;
      });
      var _ = a(657);
      a.d(u, "compare", function() {
        return _.a;
      });
      var d = a(658);
      a.d(u, "constant", function() {
        return d.a;
      });
      var p = a(659);
      a.d(u, "debounce", function() {
        return p.a;
      });
      var b = a(253);
      a.d(u, "error", function() {
        return b.a;
      });
      var m = a(660);
      a.d(u, "extend", function() {
        return m.a;
      });
      var v = a(661);
      a.d(u, "extentIndex", function() {
        return v.a;
      });
      var O = a(662);
      a.d(u, "fastmap", function() {
        return O.a;
      });
      var T = a(254);
      a.d(u, "field", function() {
        return T.a;
      });
      var w = a(663);
      a.d(u, "inherits", function() {
        return w.a;
      });
      var P = a(163);
      a.d(u, "isArray", function() {
        return P.a;
      });
      var I = a(664);
      a.d(u, "isBoolean", function() {
        return I.a;
      });
      var L = a(255);
      a.d(u, "isDate", function() {
        return L.a;
      });
      var R = a(164);
      a.d(u, "isFunction", function() {
        return R.a;
      });
      var q = a(256);
      a.d(u, "isNumber", function() {
        return q.a;
      });
      var B = a(257);
      a.d(u, "isObject", function() {
        return B.a;
      });
      var j = a(665);
      a.d(u, "isRegExp", function() {
        return j.a;
      });
      var k = a(258);
      a.d(u, "isString", function() {
        return k.a;
      });
      var U = a(666);
      a.d(u, "key", function() {
        return U.a;
      });
      var W = a(668);
      a.d(u, "merge", function() {
        return W.a;
      });
      var $ = a(669);
      a.d(u, "pad", function() {
        return $.a;
      });
      var V = a(259);
      a.d(u, "peek", function() {
        return V.a;
      });
      var G = a(260);
      a.d(u, "repeat", function() {
        return G.a;
      });
      var X = a(109);
      a.d(u, "splitAccessPath", function() {
        return X.a;
      });
      var K = a(110);
      a.d(u, "stringValue", function() {
        return K.a;
      });
      var H = a(670);
      a.d(u, "toBoolean", function() {
        return H.a;
      });
      var Y = a(671);
      a.d(u, "toDate", function() {
        return Y.a;
      });
      var Q = a(261);
      a.d(u, "toNumber", function() {
        return Q.a;
      });
      var Z = a(673);
      a.d(u, "toString", function() {
        return Z.a;
      });
      var J = a(672);
      a.d(u, "toSet", function() {
        return J.a;
      });
      var ne = a(675);
      a.d(u, "truncate", function() {
        return ne.a;
      });
      var ie = a(676);
      a.d(u, "visitArray", function() {
        return ie.a;
      });
    }, function(A, u, a) {
      function s(R) {
        return R === "color" || R === "fill" || R === "stroke";
      }
      function h(R) {
        return !!O[R];
      }
      function E(R) {
        return !!L[R];
      }
      function f(R, q) {
        return q in S(R);
      }
      function S(R) {
        switch (R) {
          case u.COLOR:
          case u.FILL:
          case u.STROKE:
          case u.DETAIL:
          case u.KEY:
          case u.TOOLTIP:
          case u.HREF:
          case u.ORDER:
          case u.OPACITY:
          case u.ROW:
          case u.COLUMN:
            return { point: !0, tick: !0, rule: !0, circle: !0, square: !0, bar: !0, rect: !0, line: !0, trail: !0, area: !0, text: !0, geoshape: !0 };
          case u.X:
          case u.Y:
          case u.LATITUDE:
          case u.LONGITUDE:
            return { point: !0, tick: !0, rule: !0, circle: !0, square: !0, bar: !0, rect: !0, line: !0, trail: !0, area: !0, text: !0 };
          case u.X2:
          case u.Y2:
          case u.LATITUDE2:
          case u.LONGITUDE2:
            return { rule: !0, bar: !0, rect: !0, area: !0 };
          case u.SIZE:
            return { point: !0, tick: !0, rule: !0, circle: !0, square: !0, bar: !0, text: !0, line: !0, trail: !0 };
          case u.SHAPE:
            return { point: !0, geoshape: !0 };
          case u.TEXT:
            return { text: !0 };
        }
      }
      function _(R) {
        switch (R) {
          case u.X:
          case u.Y:
          case u.SIZE:
          case u.OPACITY:
          case u.X2:
          case u.Y2:
            return "continuous";
          case u.ROW:
          case u.COLUMN:
          case u.SHAPE:
          case u.TEXT:
          case u.TOOLTIP:
          case u.HREF:
            return "discrete";
          case u.COLOR:
          case u.FILL:
          case u.STROKE:
            return "flexible";
          case u.LATITUDE:
          case u.LONGITUDE:
          case u.LATITUDE2:
          case u.LONGITUDE2:
          case u.DETAIL:
          case u.KEY:
          case u.ORDER:
            return;
        }
        throw new Error("rangeType not implemented for " + R);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var d, p = a(3), b = a(2);
      (function(R) {
        R.ROW = "row", R.COLUMN = "column", R.X = "x", R.Y = "y", R.X2 = "x2", R.Y2 = "y2", R.LATITUDE = "latitude", R.LONGITUDE = "longitude", R.LATITUDE2 = "latitude2", R.LONGITUDE2 = "longitude2", R.COLOR = "color", R.FILL = "fill", R.STROKE = "stroke", R.SHAPE = "shape", R.SIZE = "size", R.OPACITY = "opacity", R.TEXT = "text", R.ORDER = "order", R.DETAIL = "detail", R.KEY = "key", R.TOOLTIP = "tooltip", R.HREF = "href";
      })(d = u.Channel || (u.Channel = {})), u.X = d.X, u.Y = d.Y, u.X2 = d.X2, u.Y2 = d.Y2, u.LATITUDE = d.LATITUDE, u.LATITUDE2 = d.LATITUDE2, u.LONGITUDE = d.LONGITUDE, u.LONGITUDE2 = d.LONGITUDE2, u.ROW = d.ROW, u.COLUMN = d.COLUMN, u.SHAPE = d.SHAPE, u.SIZE = d.SIZE, u.COLOR = d.COLOR, u.FILL = d.FILL, u.STROKE = d.STROKE, u.TEXT = d.TEXT, u.DETAIL = d.DETAIL, u.KEY = d.KEY, u.ORDER = d.ORDER, u.OPACITY = d.OPACITY, u.TOOLTIP = d.TOOLTIP, u.HREF = d.HREF, u.GEOPOSITION_CHANNEL_INDEX = { longitude: 1, longitude2: 1, latitude: 1, latitude2: 1 }, u.GEOPOSITION_CHANNELS = b.flagKeys(u.GEOPOSITION_CHANNEL_INDEX);
      var m = p.__assign({ x: 1, y: 1, x2: 1, y2: 1 }, u.GEOPOSITION_CHANNEL_INDEX, { color: 1, fill: 1, stroke: 1, opacity: 1, size: 1, shape: 1, order: 1, text: 1, detail: 1, key: 1, tooltip: 1, href: 1 });
      u.isColorChannel = s;
      var v = { row: 1, column: 1 }, O = p.__assign({}, m, v);
      u.CHANNELS = b.flagKeys(O);
      var T = (O.order, O.detail, p.__rest(O, ["order", "detail"]));
      u.SINGLE_DEF_CHANNELS = b.flagKeys(T), u.isChannel = h, u.UNIT_CHANNELS = b.flagKeys(m);
      var w = (m.x, m.y, m.x2, m.y2, m.latitude, m.longitude, m.latitude2, m.longitude2, p.__rest(m, ["x", "y", "x2", "y2", "latitude", "longitude", "latitude2", "longitude2"]));
      u.NONPOSITION_CHANNELS = b.flagKeys(w);
      var P = { x: 1, y: 1 };
      u.POSITION_SCALE_CHANNELS = b.flagKeys(P);
      var I = (w.text, w.tooltip, w.href, w.detail, w.key, w.order, p.__rest(w, ["text", "tooltip", "href", "detail", "key", "order"]));
      u.NONPOSITION_SCALE_CHANNELS = b.flagKeys(I);
      var L = p.__assign({}, P, I);
      u.SCALE_CHANNELS = b.flagKeys(L), u.isScaleChannel = E, u.supportMark = f, u.getSupportedMark = S, u.rangeType = _;
    }, function(A, u, a) {
      function s(U) {
        return h(U) || E(U);
      }
      function h(U) {
        return U === u.SHORT_WILDCARD;
      }
      function E(U) {
        return !(U === void 0 || U == null || !U.enum && !U.name || b.isArray(U));
      }
      function f(U, W, $) {
        return b.extend({}, { name: W, enum: $ }, U === u.SHORT_WILDCARD ? {} : U);
      }
      function S(U) {
        for (var W = {}, $ = {}, V = 0, G = U; V < G.length; V++) {
          var X = G[V];
          (function(K) {
            for (var H = [0], Y = 0; Y < K.length; Y++) K.charAt(Y).toUpperCase() === K.charAt(Y) && H.push(Y);
            var Q = H.map(function(J) {
              return K.charAt(J);
            }).join("").toLowerCase();
            if (!$[Q] || H[H.length - 1] !== K.length - 1 && (Q = H.concat([K.length - 1]).map(function(J) {
              return K.charAt(J);
            }).join("").toLowerCase(), !$[Q])) return W[K] = Q, $[Q] = !0, "continue";
            for (var Y = 1; !W[K]; Y++) {
              var Z = Q + "_" + Y;
              if (!$[Z]) {
                W[K] = Z, $[Z] = !0;
                break;
              }
            }
          })(X);
        }
        return W;
      }
      function _(U) {
        if (p.isEncodingNestedProp(U)) return u.DEFAULT_NAME[U.parent] + "-" + u.DEFAULT_NAME[U.parent + "Props"][U.child];
        if (u.DEFAULT_NAME[U]) return u.DEFAULT_NAME[U];
        throw new Error("Default name undefined for " + U);
      }
      function d(U, W, $) {
        if (U === "field" || p.isEncodingNestedProp(U) && U.parent === "sort" && U.child === "field") return W.fieldNames();
        var V;
        if ((V = p.isEncodingNestedProp(U) ? $.enum[U.parent + "Props"][U.child] : $.enum[U]) !== void 0) return V;
        throw new Error("No default enumValues for " + JSON.stringify(U));
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var p = a(18), b = a(15), m = a(155), v = a(5), O = a(28), T = a(9), w = a(159), P = a(29), I = a(13);
      u.SHORT_WILDCARD = "?", u.isWildcard = s, u.isShortWildcard = h, u.isWildcardDef = E, u.initWildcard = f, u.DEFAULT_NAME = { mark: "m", channel: "c", aggregate: "a", autoCount: "#", hasFn: "h", bin: "b", sort: "so", stack: "st", scale: "s", format: "f", axis: "ax", legend: "l", value: "v", timeUnit: "tu", field: "f", type: "t", binProps: { maxbins: "mb", min: "mi", max: "ma", base: "b", step: "s", steps: "ss", minstep: "ms", divide: "d" }, sortProps: { field: "f", op: "o", order: "or" }, scaleProps: S(T.SCALE_PROPERTIES), axisProps: S(m.AXIS_PROPERTIES), legendProps: S(w.LEGEND_PROPERTIES) }, u.getDefaultName = _;
      var L = [!1, !0], R = { maxbins: [5, 10, 20], extent: [void 0], base: [10], step: [void 0], steps: [void 0], minstep: [void 0], divide: [[5, 2]] }, q = { field: [void 0], op: ["min", "mean"], order: ["ascending", "descending"] }, B = { type: [void 0, T.ScaleType.LOG], domain: [void 0], base: [void 0], exponent: [1, 2], clamp: L, nice: L, reverse: L, round: L, zero: L, padding: [void 0], paddingInner: [void 0], paddingOuter: [void 0], interpolate: [void 0], range: [void 0], rangeStep: [17, 21], scheme: [void 0] }, j = { zindex: [1, 0], offset: [void 0], orient: [void 0], values: [void 0], encoding: [void 0], domain: L, grid: L, format: [void 0], labels: L, labelAngle: [void 0], labelOverlap: [void 0], labelPadding: [void 0], labelBound: [void 0], labelFlush: [void 0], maxExtent: [void 0], minExtent: [void 0], position: [void 0], ticks: L, tickCount: [void 0], tickSize: [void 0], title: [void 0], titleMaxLength: [void 0], titlePadding: [void 0] }, k = { entryPadding: [void 0], orient: ["left", "right"], offset: [void 0], padding: [void 0], format: [void 0], values: [void 0], tickCount: [void 0], title: [void 0], type: [void 0], zindex: [void 0] };
      u.DEFAULT_ENUM_INDEX = { mark: [O.Mark.POINT, O.Mark.BAR, O.Mark.LINE, O.Mark.AREA, O.Mark.RECT, O.Mark.TICK, O.Mark.TEXT], channel: [v.X, v.Y, v.ROW, v.COLUMN, v.SIZE, v.COLOR], aggregate: [void 0, "mean"], autoCount: L, bin: L, hasFn: L, timeUnit: [void 0, P.TimeUnit.YEAR, P.TimeUnit.MONTH, P.TimeUnit.MINUTES, P.TimeUnit.SECONDS], field: [void 0], type: [I.Type.NOMINAL, I.Type.ORDINAL, I.Type.QUANTITATIVE, I.Type.TEMPORAL], sort: ["ascending", "descending"], stack: ["zero", "normalize", "center", null], value: [void 0], format: [void 0], scale: [!0], axis: L, legend: L, binProps: R, sortProps: q, scaleProps: B, axisProps: j, legendProps: k }, u.getDefaultEnumValues = d;
    }, function(A, u) {
      A.exports = n;
    }, function(A, u, a) {
      function s(O) {
        return function() {
          m = new v(), O(m), E();
        };
      }
      function h(O) {
        return m = O;
      }
      function E() {
        return m = b;
      }
      function f() {
        for (var O = [], T = 0; T < arguments.length; T++) O[T] = arguments[T];
        m.warn.apply(m, arguments);
      }
      function S() {
        for (var O = [], T = 0; T < arguments.length; T++) O[T] = arguments[T];
        m.info.apply(m, arguments);
      }
      function _() {
        for (var O = [], T = 0; T < arguments.length; T++) O[T] = arguments[T];
        m.debug.apply(m, arguments);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var d = a(4), p = a(2), b = d.logger(d.Warn), m = b, v = function() {
        function O() {
          this.warns = [], this.infos = [], this.debugs = [];
        }
        return O.prototype.level = function() {
          return this;
        }, O.prototype.warn = function() {
          for (var T = [], w = 0; w < arguments.length; w++) T[w] = arguments[w];
          return (P = this.warns).push.apply(P, T), this;
          var P;
        }, O.prototype.info = function() {
          for (var T = [], w = 0; w < arguments.length; w++) T[w] = arguments[w];
          return (P = this.infos).push.apply(P, T), this;
          var P;
        }, O.prototype.debug = function() {
          for (var T = [], w = 0; w < arguments.length; w++) T[w] = arguments[w];
          return (P = this.debugs).push.apply(P, T), this;
          var P;
        }, O;
      }();
      u.LocalLogger = v, u.wrap = s, u.set = h, u.reset = E, u.warn = f, u.info = S, u.debug = _, function(O) {
        function T(Oe) {
          return 'Cannot project a selection on encoding channel "' + Oe + '", which has no field.';
        }
        function w(Oe) {
          return 'The "nearest" transform is not supported for ' + Oe + " marks.";
        }
        function P(Oe) {
          return 'Cannot find a selection named "' + Oe + '"';
        }
        function I(Oe) {
          return 'Unknown repeated value "' + Oe + '".';
        }
        function L(Oe) {
          return 'Cannot set title "anchor" for a ' + Oe + " spec";
        }
        function R(Oe) {
          return 'Unrecognized parse "' + Oe + '".';
        }
        function q(Oe, we, Ve) {
          return 'An ancestor parsed field "' + Oe + '" as ' + Ve + " but a child wants to parse the field as " + we + ".";
        }
        function B(Oe) {
          return "Ignoring an invalid transform: " + p.stringify(Oe) + ".";
        }
        function j(Oe) {
          return "Layer's shared " + Oe.join(",") + " channel " + (Oe.length === 1 ? "is" : "are") + " overriden";
        }
        function k(Oe) {
          var we = Oe.parentProjection, Ve = Oe.projection;
          return "Layer's shared projection " + p.stringify(we) + " is overridden by a child projection " + p.stringify(Ve) + ".";
        }
        function U(Oe, we, Ve) {
          return "Channel " + Oe + " is a " + we + ". Converted to {value: " + p.stringify(Ve) + "}.";
        }
        function W(Oe) {
          return 'Invalid field type "' + Oe + '"';
        }
        function $(Oe, we, Ve) {
          return "A " + (Ve.scaleType ? Ve.scaleType + " scale" : Ve.zeroFalse ? "scale with zero=false" : "scale with custom domain that excludes zero") + " is used with " + Oe + " mark. This can be misleading as the " + (we === "x" ? "width" : "height") + " of the " + Oe + " can be arbitrary based on the scale domain. You may want to use point mark instead.";
        }
        function V(Oe, we) {
          return 'Invalid field type "' + Oe + '" for aggregate: "' + we + '", using "quantitative" instead.';
        }
        function G(Oe) {
          return 'Invalid aggregation operator "' + Oe + '"';
        }
        function X(Oe, we, Ve) {
          return 'Invalid field type "' + Oe + '" for channel "' + we + '", using "' + Ve + '" instead.';
        }
        function K(Oe, we) {
          var Ve = we.fill, Ye = we.stroke;
          return "Dropping color " + Oe + " as the plot also has " + (Ve && Ye ? "fill and stroke" : Ve ? "fill" : "stroke");
        }
        function H(Oe, we) {
          return "Dropping " + p.stringify(Oe) + ' from channel "' + we + '" since it does not contain data field or value.';
        }
        function Y(Oe, we, Ve) {
          return Oe + "-encoding with type " + we + " is deprecated. Replacing with " + Ve + "-encoding.";
        }
        function Q(Oe, we, Ve) {
          return Oe + ' dropped as it is incompatible with "' + we + '"' + (Ve ? " when " + Ve : "") + ".";
        }
        function Z(Oe) {
          return Oe + "-encoding is dropped as " + Oe + " is not a valid encoding channel.";
        }
        function J(Oe) {
          return Oe + " encoding should be discrete (ordinal / nominal / binned).";
        }
        function ne(Oe, we) {
          return 'Using discrete channel "' + Oe + '" to encode "' + we + '" field can be misleading as it does not encode ' + (we === "ordinal" ? "order" : "magnitude") + ".";
        }
        function ie(Oe, we) {
          return "Line mark is for continuous lines and thus cannot be used with " + (Oe && we ? "x2 and y2" : Oe ? "x2" : "y2") + ". We will use the rule mark (line segments) instead.";
        }
        function re(Oe) {
          return 'Cannot clearly determine orientation for "' + Oe + '" since both x and y channel encode continuous fields. In this case, we use vertical by default';
        }
        function ee(Oe) {
          return 'Cannot clearly determine orientation for "' + Oe + '" since both x and y channel encode discrete or empty fields.';
        }
        function te(Oe, we) {
          return 'Specified orient "' + Oe + '" overridden with "' + we + '"';
        }
        function ue(Oe) {
          return 'Cannot use the scale property "' + Oe + '" with non-color channel.';
        }
        function le(Oe) {
          return "Using unaggregated domain with raw field has no effect (" + p.stringify(Oe) + ").";
        }
        function ae(Oe) {
          return 'Unaggregated domain not applicable for "' + Oe + '" since it produces values outside the origin domain of the source data.';
        }
        function ce(Oe) {
          return "Unaggregated domain is currently unsupported for log scale (" + p.stringify(Oe) + ").";
        }
        function pe(Oe) {
          return "Using size field when " + Oe + "-channel has a band scale is not supported.";
        }
        function de(Oe) {
          return 'Cannot apply size to non-oriented mark "' + Oe + '".';
        }
        function he(Oe) {
          return 'rangeStep for "' + Oe + '" is dropped as top-level ' + (Oe === "x" ? "width" : "height") + " is provided.";
        }
        function Ee(Oe, we, Ve) {
          return 'Channel "' + Oe + '" does not work with "' + we + '" scale. We are using "' + Ve + '" scale instead.';
        }
        function ye(Oe, we) {
          return 'FieldDef does not work with "' + Oe + '" scale. We are using "' + we + '" scale instead.';
        }
        function _e(Oe, we, Ve) {
          return Ve + `-scale's "` + we + '" is dropped as it does not work with ' + Oe + " scale.";
        }
        function ge(Oe, we) {
          return 'Scale type "' + we + '" does not work with mark "' + Oe + '".';
        }
        function Me(Oe, we, Ve, Ye) {
          return "Conflicting " + we + ' property "' + Oe + '" (' + p.stringify(Ve) + " and " + p.stringify(Ye) + ").  Using " + p.stringify(Ve) + ".";
        }
        function Te(Oe) {
          return 'Setting the scale to be independent for "' + Oe + '" means we also have to set the guide (axis or legend) to be independent.';
        }
        function De(Oe) {
          return "Cannot set " + Oe + `-scale's "domain" as it is binned. Please use "bin"'s "extent" instead.`;
        }
        function oe(Oe) {
          return "Dropping sort property " + p.stringify(Oe) + " as unioned domains only support boolean or op 'count'.";
        }
        function se(Oe) {
          return 'Cannot stack "' + Oe + '" if there is already "' + Oe + '2"';
        }
        function fe(Oe) {
          return "Cannot stack non-linear scale (" + Oe + ")";
        }
        function be(Oe) {
          return 'Stacking is applied even though the aggregate function is non-summative ("' + Oe + '")';
        }
        function Se(Oe, we) {
          return "Invalid " + Oe + ": " + p.stringify(we);
        }
        function Ae(Oe) {
          return 'Time unit "' + Oe + '" is not supported. We are replacing it with ' + Oe.replace("day", "date") + ".";
        }
        function ze(Oe) {
          return "Dropping day from datetime " + p.stringify(Oe) + " as day cannot be combined with other units.";
        }
        O.INVALID_SPEC = "Invalid spec", O.FIT_NON_SINGLE = 'Autosize "fit" only works for single views and layered views.', O.CANNOT_FIX_RANGE_STEP_WITH_FIT = 'Cannot use a fixed value of "rangeStep" when "autosize" is "fit".', O.cannotProjectOnChannelWithoutField = T, O.nearestNotSupportForContinuous = w, O.selectionNotFound = P, O.SCALE_BINDINGS_CONTINUOUS = "Scale bindings are currently only supported for scales with unbinned, continuous domains.", O.noSuchRepeatedValue = I, O.CONCAT_CANNOT_SHARE_AXIS = "Axes cannot be shared in concatenated views.", O.REPEAT_CANNOT_SHARE_AXIS = "Axes cannot be shared in repeated views.", O.cannotSetTitleAnchor = L, O.unrecognizedParse = R, O.differentParse = q, O.invalidTransformIgnored = B, O.NO_FIELDS_NEEDS_AS = 'If "from.fields" is not specified, "as" has to be a string that specifies the key to be used for the data from the secondary source.', O.encodingOverridden = j, O.projectionOverridden = k, O.primitiveChannelDef = U, O.invalidFieldType = W, O.nonZeroScaleUsedWithLengthMark = $, O.invalidFieldTypeForCountAggregate = V, O.invalidAggregate = G, O.emptyOrInvalidFieldType = X, O.droppingColor = K, O.emptyFieldDef = H, O.latLongDeprecated = Y, O.LINE_WITH_VARYING_SIZE = "Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.", O.incompatibleChannel = Q, O.invalidEncodingChannel = Z, O.facetChannelShouldBeDiscrete = J, O.discreteChannelCannotEncode = ne, O.BAR_WITH_POINT_SCALE_AND_RANGESTEP_NULL = "Bar mark should not be used with point scale when rangeStep is null. Please use band scale instead.", O.lineWithRange = ie, O.unclearOrientContinuous = re, O.unclearOrientDiscreteOrEmpty = ee, O.orientOverridden = te, O.CANNOT_UNION_CUSTOM_DOMAIN_WITH_FIELD_DOMAIN = "custom domain scale cannot be unioned with default field-based domain", O.cannotUseScalePropertyWithNonColor = ue, O.unaggregateDomainHasNoEffectForRawField = le, O.unaggregateDomainWithNonSharedDomainOp = ae, O.unaggregatedDomainWithLogScale = ce, O.cannotUseSizeFieldWithBandSize = pe, O.cannotApplySizeToNonOrientedMark = de, O.rangeStepDropped = he, O.scaleTypeNotWorkWithChannel = Ee, O.scaleTypeNotWorkWithFieldDef = ye, O.scalePropertyNotWorkWithScaleType = _e, O.scaleTypeNotWorkWithMark = ge, O.mergeConflictingProperty = Me, O.independentScaleMeansIndependentGuide = Te, O.conflictedDomain = De, O.domainSortDropped = oe, O.UNABLE_TO_MERGE_DOMAINS = "Unable to merge domains", O.MORE_THAN_ONE_SORT = "Domains that should be unioned has conflicting sort properties. Sort will be set to true.", O.INVALID_CHANNEL_FOR_AXIS = "Invalid channel for axis.", O.cannotStackRangedMark = se, O.cannotStackNonLinearScale = fe, O.stackNonSummativeAggregate = be, O.invalidTimeUnit = Se, O.dayReplacedWithDate = Ae, O.droppedDay = ze;
      }(u.message || (u.message = {}));
    }, function(A, u, a) {
      function s($, V) {
        var G = L[$], X = L[V];
        return G === X || G === "ordinal-position" && X === "time" || X === "ordinal-position" && G === "time";
      }
      function h($) {
        return R[$];
      }
      function E($) {
        return $ in j;
      }
      function f($) {
        return $ in k;
      }
      function S($) {
        return $ in B;
      }
      function _($) {
        return $ in q;
      }
      function d($) {
        return $ && !!$.name;
      }
      function p($) {
        return $ && $.selection;
      }
      function b($, V) {
        switch (V) {
          case "type":
          case "domain":
          case "reverse":
          case "range":
            return !0;
          case "scheme":
            return I.contains(["sequential", "ordinal", "bin-ordinal", "quantile", "quantize"], $);
          case "interpolate":
            return I.contains(["linear", "bin-linear", "pow", "log", "sqrt", "utc", "time"], $);
          case "round":
            return _($) || $ === "band" || $ === "point";
          case "padding":
            return _($) || I.contains(["point", "band"], $);
          case "paddingOuter":
          case "rangeStep":
            return I.contains(["point", "band"], $);
          case "paddingInner":
            return $ === "band";
          case "clamp":
            return _($) || $ === "sequential";
          case "nice":
            return _($) || $ === "sequential" || $ === "quantize";
          case "exponent":
            return $ === "pow";
          case "base":
            return $ === "log";
          case "zero":
            return S($) && !I.contains(["log", "time", "utc", "bin-linear", "threshold", "quantile"], $);
        }
        throw new Error("Invalid scale property " + V + ".");
      }
      function m($, V) {
        switch (V) {
          case "interpolate":
          case "scheme":
            return w.isColorChannel($) ? void 0 : P.message.cannotUseScalePropertyWithNonColor($);
          case "type":
          case "domain":
          case "range":
          case "base":
          case "exponent":
          case "nice":
          case "padding":
          case "paddingInner":
          case "paddingOuter":
          case "rangeStep":
          case "reverse":
          case "round":
          case "clamp":
          case "zero":
            return;
        }
        throw new Error('Invalid scale property "' + V + '".');
      }
      function v($, V) {
        switch ($) {
          case w.Channel.X:
          case w.Channel.Y:
          case w.Channel.SIZE:
          case w.Channel.OPACITY:
            return _(V) || I.contains(["band", "point"], V);
          case w.Channel.COLOR:
          case w.Channel.FILL:
          case w.Channel.STROKE:
            return V !== "band";
          case w.Channel.SHAPE:
            return V === "ordinal";
        }
        return !1;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var O = a(3), T = a(4), w = a(5), P = a(8), I = a(2);
      (function($) {
        $.LINEAR = "linear", $.BIN_LINEAR = "bin-linear", $.LOG = "log", $.POW = "pow", $.SQRT = "sqrt", $.TIME = "time", $.UTC = "utc", $.SEQUENTIAL = "sequential", $.QUANTILE = "quantile", $.QUANTIZE = "quantize", $.THRESHOLD = "threshold", $.ORDINAL = "ordinal", $.BIN_ORDINAL = "bin-ordinal", $.POINT = "point", $.BAND = "band";
      })(u.ScaleType || (u.ScaleType = {}));
      var L = { linear: "numeric", log: "numeric", pow: "numeric", sqrt: "numeric", "bin-linear": "bin-linear", time: "time", utc: "time", sequential: "sequential", ordinal: "ordinal", "bin-ordinal": "bin-ordinal", point: "ordinal-position", band: "ordinal-position" };
      u.SCALE_TYPES = I.keys(L), u.scaleCompatible = s;
      var R = { linear: 0, log: 1, pow: 1, sqrt: 1, time: 0, utc: 0, point: 10, band: 11, "bin-linear": 0, sequential: 0, ordinal: 0, "bin-ordinal": 0 };
      u.scaleTypePrecedence = h, u.CONTINUOUS_TO_CONTINUOUS_SCALES = ["linear", "bin-linear", "log", "pow", "sqrt", "time", "utc"];
      var q = T.toSet(u.CONTINUOUS_TO_CONTINUOUS_SCALES);
      u.CONTINUOUS_DOMAIN_SCALES = u.CONTINUOUS_TO_CONTINUOUS_SCALES.concat(["sequential"]);
      var B = T.toSet(u.CONTINUOUS_DOMAIN_SCALES);
      u.DISCRETE_DOMAIN_SCALES = ["ordinal", "bin-ordinal", "point", "band"];
      var j = T.toSet(u.DISCRETE_DOMAIN_SCALES), k = T.toSet(["bin-linear", "bin-ordinal"]);
      u.TIME_SCALE_TYPES = ["time", "utc"], u.hasDiscreteDomain = E, u.isBinScale = f, u.hasContinuousDomain = S, u.isContinuousToContinuous = _, u.defaultScaleConfig = { textXRangeStep: 90, rangeStep: 21, pointPadding: 0.5, bandPaddingInner: 0.1, facetSpacing: 16, minBandSize: 2, minFontSize: 8, maxFontSize: 40, minOpacity: 0.3, maxOpacity: 0.8, minSize: 9, minStrokeWidth: 1, maxStrokeWidth: 4 }, u.isExtendedScheme = d, u.isSelectionDomain = p;
      var U = { type: 1, domain: 1, range: 1, rangeStep: 1, scheme: 1, reverse: 1, round: 1, clamp: 1, nice: 1, base: 1, exponent: 1, interpolate: 1, zero: 1, padding: 1, paddingInner: 1, paddingOuter: 1 };
      u.SCALE_PROPERTIES = I.flagKeys(U);
      var W = O.__rest(U, ["type", "domain", "range", "rangeStep", "scheme"]);
      u.NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES = I.flagKeys(W), u.scaleTypeSupportProperty = b, u.channelScalePropertyIncompatability = m, u.channelSupportScaleType = v;
    }, function(A, u, a) {
      function s(te) {
        return te.selection;
      }
      function h(te) {
        return te && !K.isString(te) && "repeat" in te;
      }
      function E(te) {
        var ue = te.field, le = te.timeUnit, ae = te.bin, ce = te.aggregate;
        return X.__assign({}, le ? { timeUnit: le } : {}, ae ? { bin: ae } : {}, ce ? { aggregate: ce } : {}, { field: ue });
      }
      function f(te) {
        return !!te && !!te.condition;
      }
      function S(te) {
        return !!te && !!te.condition && !K.isArray(te.condition) && d(te.condition);
      }
      function _(te) {
        return !!te && !!te.condition && (K.isArray(te.condition) || b(te.condition));
      }
      function d(te) {
        return !(!te || !te.field && te.aggregate !== "count");
      }
      function p(te) {
        return d(te) && K.isString(te.field);
      }
      function b(te) {
        return te && "value" in te && te.value !== void 0;
      }
      function m(te) {
        return !(!te || !te.scale && !te.sort);
      }
      function v(te, ue) {
        ue === void 0 && (ue = {});
        var le = te.field, ae = ue.prefix, ce = ue.suffix;
        if (w(te)) le = "count_*";
        else {
          var pe = void 0;
          ue.nofn || (te.bin ? (pe = Y.binToString(te.bin), ce = ue.binSuffix || "") : te.aggregate ? pe = String(ue.aggregate || te.aggregate) : te.timeUnit && (pe = String(te.timeUnit))), pe && (le = pe + "_" + le);
        }
        return ce && (le = le + "_" + ce), ae && (le = ae + "_" + le), ue.expr && (le = "" + ue.expr + ie.accessPath(le)), le;
      }
      function O(te) {
        switch (te.type) {
          case "nominal":
          case "ordinal":
          case "geojson":
            return !0;
          case "quantitative":
            return !!te.bin;
          case "latitude":
          case "longitude":
          case "temporal":
            return !1;
        }
        throw new Error(Z.message.invalidFieldType(te.type));
      }
      function T(te) {
        return !O(te);
      }
      function w(te) {
        return te.aggregate === "count";
      }
      function P(te, ue) {
        var le = te.field, ae = te.bin, ce = te.timeUnit, pe = te.aggregate;
        return pe === "count" ? ue.countTitle : ae ? le + " (binned)" : ce ? le + " (" + J.getTimeUnitParts(ce).join("-") + ")" : pe ? ie.titlecase(pe) + " of " + le : le;
      }
      function I(te, ue) {
        var le = te.aggregate || te.timeUnit || te.bin && "bin";
        return le ? le.toUpperCase() + "(" + te.field + ")" : te.field;
      }
      function L(te) {
        re = te;
      }
      function R() {
        L(u.defaultTitleFormatter);
      }
      function q(te, ue) {
        return re(te, ue);
      }
      function B(te, ue) {
        if (te.timeUnit) return "temporal";
        if (te.bin) return "quantitative";
        switch (Q.rangeType(ue)) {
          case "continuous":
            return "quantitative";
          case "discrete":
          case "flexible":
            return "nominal";
          default:
            return "quantitative";
        }
      }
      function j(te) {
        return d(te) ? te : S(te) ? te.condition : void 0;
      }
      function k(te, ue) {
        if (K.isString(te) || K.isNumber(te) || K.isBoolean(te)) {
          var le = K.isString(te) ? "string" : K.isNumber(te) ? "number" : "boolean";
          return Z.warn(Z.message.primitiveChannelDef(ue, le, te)), { value: te };
        }
        return d(te) ? U(te, ue) : S(te) ? X.__assign({}, te, { condition: U(te.condition, ue) }) : te;
      }
      function U(te, ue) {
        if (te.aggregate && !H.isAggregateOp(te.aggregate)) {
          var le = (te.aggregate, X.__rest(te, ["aggregate"]));
          Z.warn(Z.message.invalidAggregate(te.aggregate)), te = le;
        }
        if (te.timeUnit && (te = X.__assign({}, te, { timeUnit: J.normalizeTimeUnit(te.timeUnit) })), te.bin && (te = X.__assign({}, te, { bin: W(te.bin, ue) })), te.type) {
          var ae = ne.getFullName(te.type);
          te.type !== ae && (te = X.__assign({}, te, { type: ae })), te.type !== "quantitative" && H.isCountingAggregateOp(te.aggregate) && (Z.warn(Z.message.invalidFieldTypeForCountAggregate(te.type, te.aggregate)), te = X.__assign({}, te, { type: "quantitative" }));
        } else {
          var ce = B(te, ue);
          Z.warn(Z.message.emptyOrInvalidFieldType(te.type, ue, ce)), te = X.__assign({}, te, { type: ce });
        }
        var pe = $(te, ue), de = pe.compatible, he = pe.warning;
        return de || Z.warn(he), te;
      }
      function W(te, ue) {
        return K.isBoolean(te) ? { maxbins: Y.autoMaxBins(ue) } : te.maxbins || te.step ? te : X.__assign({}, te, { maxbins: Y.autoMaxBins(ue) });
      }
      function $(te, ue) {
        switch (ue) {
          case "row":
          case "column":
            return T(te) && !te.timeUnit ? { compatible: !1, warning: Z.message.facetChannelShouldBeDiscrete(ue) } : ee;
          case "x":
          case "y":
          case "color":
          case "fill":
          case "stroke":
          case "text":
          case "detail":
          case "key":
          case "tooltip":
          case "href":
            return ee;
          case "longitude":
          case "longitude2":
          case "latitude":
          case "latitude2":
            return te.type !== ne.QUANTITATIVE ? { compatible: !1, warning: "Channel " + ue + " should not be used with " + te.type + " field." } : ee;
          case "opacity":
          case "size":
          case "x2":
          case "y2":
            return O(te) && !te.bin ? { compatible: !1, warning: "Channel " + ue + " should not be used with discrete field." } : ee;
          case "shape":
            return te.type !== "nominal" && te.type !== "geojson" ? { compatible: !1, warning: "Shape channel should be used with nominal data or geojson only" } : ee;
          case "order":
            return te.type === "nominal" ? { compatible: !1, warning: "Channel order is inappropriate for nominal field, which has no inherent order." } : ee;
        }
        throw new Error("channelCompatability not implemented for channel " + ue);
      }
      function V(te) {
        return te.type === "quantitative" || !!te.bin;
      }
      function G(te) {
        return te.type === "temporal" || !!te.timeUnit;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var X = a(3), K = a(4), H = a(60), Y = a(156), Q = a(5), Z = a(8), J = a(29), ne = a(13), ie = a(2);
      u.isConditionalSelection = s, u.isRepeatRef = h, u.toFieldDefBase = E, u.isConditionalDef = f, u.hasConditionalFieldDef = S, u.hasConditionalValueDef = _, u.isFieldDef = d, u.isStringFieldDef = p, u.isValueDef = b, u.isScaleFieldDef = m, u.vgField = v, u.isDiscrete = O, u.isContinuous = T, u.isCount = w, u.verbalTitleFormatter = P, u.functionalTitleFormatter = I, u.defaultTitleFormatter = function(te, ue) {
        switch (ue.fieldTitle) {
          case "plain":
            return te.field;
          case "functional":
            return I(te);
          default:
            return P(te, ue);
        }
      };
      var re = u.defaultTitleFormatter;
      u.setTitleFormatter = L, u.resetTitleFormatter = R, u.title = q, u.defaultType = B, u.getFieldDef = j, u.normalize = k, u.normalizeFieldDef = U, u.normalizeBin = W;
      var ee = { compatible: !0 };
      u.channelCompatibility = $, u.isNumberFieldDef = V, u.isTimeFieldDef = G;
    }, function(A, u, a) {
      var s = a(438);
      A.exports = function(h, E) {
        for (var f = Object(h), S = Object.prototype.hasOwnProperty, _ = 1; _ < arguments.length; _++) {
          var d = arguments[_];
          if (d != null) {
            var p = Object(d);
            for (var b in p) S.call(p, b) && (f[b] = p[b]);
          }
        }
        var m = {};
        for (var b in f) m[s(b)] = f[b];
        return m;
      };
    }, function(A, u, a) {
      var s = a(439), h = a(437)(), E = 0;
      A.exports = function(f) {
        var S = "anim_" + ++E + +/* @__PURE__ */ new Date(), _ = "@" + h + "keyframes " + S + " {";
        for (var d in f) {
          _ += d + " {";
          for (var p in f[d]) {
            var b = ":" + f[d][p] + ";";
            _ += h + p + b, _ += p + b;
          }
          _ += "}";
        }
        return _ += "}", s(_), S;
      };
    }, function(A, u, a) {
      function s(S) {
        return !!f[S];
      }
      function h(S) {
        if (S) switch (S = S.toLowerCase()) {
          case "q":
          case u.QUANTITATIVE:
            return "quantitative";
          case "t":
          case u.TEMPORAL:
            return "temporal";
          case "o":
          case u.ORDINAL:
            return "ordinal";
          case "n":
          case u.NOMINAL:
            return "nominal";
          case E.LATITUDE:
            return "latitude";
          case E.LONGITUDE:
            return "longitude";
          case u.GEOJSON:
            return "geojson";
        }
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E;
      (function(S) {
        S.QUANTITATIVE = "quantitative", S.ORDINAL = "ordinal", S.TEMPORAL = "temporal", S.NOMINAL = "nominal", S.LATITUDE = "latitude", S.LONGITUDE = "longitude", S.GEOJSON = "geojson";
      })(E = u.Type || (u.Type = {}));
      var f = { quantitative: 1, ordinal: 1, temporal: 1, nominal: 1, latitude: 1, longitude: 1, geojson: 1 };
      u.isType = s, u.QUANTITATIVE = E.QUANTITATIVE, u.ORDINAL = E.ORDINAL, u.TEMPORAL = E.TEMPORAL, u.NOMINAL = E.NOMINAL, u.GEOJSON = E.GEOJSON, u.getFullName = h;
    }, function(A, u, a) {
      function s(d) {
        for (var p in d) u.hasOwnProperty(p) || (u[p] = d[p]);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(86), E = a(4), f = a(44), S = a(63), _ = a(56);
      s(a(63)), s(a(96)), s(a(56)), s(a(172)), u.selectBookmark = function(d) {
        return d.persistent.bookmark;
      }, u.selectConfig = function(d) {
        return d.persistent.config;
      }, u.selectRelatedViews = function(d) {
        return d.persistent.relatedViews;
      }, u.selectShelfPreview = function(d) {
        return d.persistent.shelfPreview;
      }, u.selectLog = function(d) {
        return d.persistent.log;
      }, u.selectCustomWildcardFields = function(d) {
        return d.undoable.present.customWildcardFields;
      }, u.selectFilteredData = h.createSelector(S.selectData, _.selectFilters, function(d, p) {
        if (!d || p.length === 0) return d;
        var b = f.toPredicateFunction(p);
        if (!E.isArray(d.values)) throw new Error("Voyager only supports array values");
        return { values: d.values.filter(b) };
      });
    }, function(A, u, a) {
      function s(b, m) {
        return b.indexOf(m) !== -1;
      }
      function h(b, m) {
        for (var v = 0; v < b.length; v++) if (!m(b[v], v)) return !1;
        return !0;
      }
      function E(b, m, v) {
        if (b.forEach) b.forEach.call(v, m);
        else for (var O in b) m.call(v, b[O], O, b);
      }
      function f(b, m) {
        var v, O = 0;
        for (v in b) if (m(b[v], v, O++)) return !0;
        return !1;
      }
      function S(b, m) {
        return b.map(function(v) {
          return d.isArray(v) ? S(v, m) : m(v);
        });
      }
      function _(b, m) {
        return b.filter(function(v) {
          return !s(m, v);
        });
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var d = a(26);
      u.isArray = d.isArray;
      var p = a(26);
      u.cmp = p.cmp, u.keys = p.keys, u.duplicate = p.duplicate, u.extend = p.extend, u.isObject = p.isObject, u.isBoolean = p.isBoolean, u.toMap = p.toMap, u.contains = s, u.every = h, u.forEach = E, u.some = f, u.nestedMap = S, u.without = _;
    }, function(A, u, a) {
      function s(U) {
        return U != null && U.value;
      }
      function h(U) {
        return U != null && (U.field || U.aggregate === "count");
      }
      function E(U) {
        return U != null && "autoCount" in U;
      }
      function f(U) {
        return E(U) && U.autoCount === !1;
      }
      function S(U) {
        return E(U) && U.autoCount === !0;
      }
      function _(U, W) {
        for (var $ = (W.wildcardMode, {}), V = 0, G = U; V < G.length; V++) {
          var X = G[V];
          if (!f(X)) {
            var K = X.channel;
            if (R.isWildcard(K)) throw new Error("Cannot convert wildcard channel to a fixed channel");
            var H = s(X) ? d(X) : p(X, W);
            if (H !== null) $[K] = H;
            else if (W.wildcardMode === "null") return null;
          }
        }
        return $;
      }
      function d(U) {
        var W = U.value;
        return R.isWildcard(W) ? null : { value: W };
      }
      function p(U, W) {
        W === void 0 && (W = {});
        var $ = W.props, V = $ === void 0 ? k : $, G = W.schema, X = W.wildcardMode, K = X === void 0 ? "skip" : X;
        if (h(U)) {
          for (var H = {}, Y = 0, Q = V; Y < Q.length; Y++) {
            var Z = Q[Y], J = U[Z];
            if (R.isWildcard(J)) {
              if (K === "skip") continue;
              return null;
            }
            if (J !== void 0) {
              if (!(!B.PROPERTY_SUPPORTED_CHANNELS[Z] || B.PROPERTY_SUPPORTED_CHANNELS[Z][U.channel])) continue;
              if (q.isEncodingNestedParent(Z) && j.isObject(J)) {
                J = T({}, J);
                for (var ne in J) if (R.isWildcard(J[ne])) {
                  if (K === "null") return null;
                  delete J[ne];
                }
              }
              if (Z === "bin" && J === !1) continue;
              Z === "type" && J === "key" ? H.type = "nominal" : H[Z] = J;
            }
            if (Z === q.Property.SCALE && G && U.type === P.Type.ORDINAL) {
              var ie = U.scale, re = G.fieldSchema(U.field).ordinalDomain;
              ie !== null && re && (H[q.Property.SCALE] = T({ domain: re }, j.isObject(ie) ? ie : {}));
            }
          }
          return H;
        }
        if (U.autoCount === !1) throw new Error("Cannot convert {autoCount: false} into a field def");
        return { aggregate: "count", field: "*", type: "quantitative" };
      }
      function b(U) {
        return h(U) ? w.isContinuous(p(U, { props: ["bin", "timeUnit", "field", "type"] })) : E(U);
      }
      function m(U) {
        return h(U) ? !v(U) && U.type !== "temporal" : E(U);
      }
      function v(U) {
        if (h(U)) {
          var W = p(U, { props: ["bin", "timeUnit", "type"] });
          return w.isDiscrete(W) || !!W.timeUnit;
        }
        return !1;
      }
      function O(U) {
        var W = U.scale === !0 || U.scale === R.SHORT_WILDCARD ? {} : U.scale || {}, $ = U.type, V = U.channel, G = U.timeUnit, X = U.bin, K = {};
        if (!(R.isWildcard(W.type) || R.isWildcard($) || R.isWildcard(V) || R.isWildcard(X))) {
          if (W.type) return W.type;
          if (!($ === "temporal" && R.isWildcard(G) || $ === "quantitative" && R.isWildcard(X))) {
            var H = $ === I.ExpandedType.KEY ? "nominal" : $, Y = { type: H, timeUnit: G, bin: X };
            return L.scaleType(W.type, V, Y, void 0, K);
          }
        }
      }
      var T = this && this.__assign || Object.assign || function(U) {
        for (var W, $ = 1, V = arguments.length; $ < V; $++) {
          W = arguments[$];
          for (var G in W) Object.prototype.hasOwnProperty.call(W, G) && (U[G] = W[G]);
        }
        return U;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var w = a(10), P = a(13), I = a(34), L = a(248), R = a(6), q = a(18), B = a(74), j = a(26);
      u.isValueQuery = s, u.isFieldQuery = h, u.isAutoCountQuery = E, u.isDisabledAutoCountQuery = f, u.isEnabledAutoCountQuery = S;
      var k = [q.Property.AGGREGATE, q.Property.BIN, q.Property.TIMEUNIT, q.Property.FIELD, q.Property.TYPE, q.Property.SCALE, q.Property.SORT, q.Property.AXIS, q.Property.LEGEND, q.Property.STACK, q.Property.FORMAT];
      u.toEncoding = _, u.toValueDef = d, u.toFieldDef = p, u.isContinuous = b, u.isMeasure = m, u.isDimension = v, u.scaleType = O;
    }, function(A, u, a) {
      function s(_) {
        for (var d in _) u.hasOwnProperty(d) || (u[d] = _[d]);
      }
      function h(_) {
        return u.ACTION_TYPE_INDEX[_.type];
      }
      var E = this && this.__assign || Object.assign || function(_) {
        for (var d, p = 1, b = arguments.length; p < b; p++) {
          d = arguments[p];
          for (var m in d) Object.prototype.hasOwnProperty.call(d, m) && (_[m] = d[m]);
        }
        return _;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = a(54), S = a(264);
      s(a(112)), s(a(165)), s(a(262)), s(a(166)), s(a(90)), s(a(61)), s(a(113)), s(a(114)), s(a(91)), s(a(21)), s(a(679)), s(a(264)), s(a(265)), s(a(92)), u.ACTION_TYPE_INDEX = E({ BOOKMARK_ADD_PLOT: 1, BOOKMARK_CLEAR_ALL: 1, BOOKMARK_MODIFY_NOTE: 1, BOOKMARK_REMOVE_PLOT: 1, CUSTOM_WILDCARD_ADD: 1, CUSTOM_WILDCARD_ADD_FIELD: 1, CUSTOM_WILDCARD_MODIFY_DESCRIPTION: 1, CUSTOM_WILDCARD_REMOVE: 1, CUSTOM_WILDCARD_REMOVE_FIELD: 1, DATASET_SCHEMA_CHANGE_FIELD_TYPE: 1, DATASET_SCHEMA_CHANGE_ORDINAL_DOMAIN: 1, DATASET_REQUEST: 1, DATASET_RECEIVE: 1, FILTER_ADD: 1, FILTER_CLEAR: 1, FILTER_MODIFY_EXTENT: 1, FILTER_MODIFY_MAX_BOUND: 1, FILTER_MODIFY_MIN_BOUND: 1, FILTER_MODIFY_TIME_UNIT: 1, FILTER_MODIFY_ONE_OF: 1, FILTER_REMOVE: 1, FILTER_TOGGLE: 1, LOG_ERRORS_ADD: 1, LOG_ERRORS_CLEAR: 1, LOG_WARNINGS_ADD: 1, LOG_WARNINGS_CLEAR: 1, RELATED_VIEWS_HIDE_TOGGLE: 1, RESULT_RECEIVE: 1, RESULT_REQUEST: 1, RESULT_LIMIT_INCREASE: 1, RESULT_MODIFY_FIELD_PROP: 1, RESULT_MODIFY_NESTED_FIELD_PROP: 1, RESET: 1, SET_CONFIG: 1, SHELF_AUTO_ADD_COUNT_CHANGE: 1, SHELF_LOAD_QUERY: 1, SHELF_GROUP_BY_CHANGE: 1, SHELF_PREVIEW_SPEC: 1, SHELF_PREVIEW_QUERY: 1, SHELF_PREVIEW_DISABLE: 1 }, f.SPEC_ACTION_TYPE_INDEX, S.TAB_ACTION_TYPE_INDEX, { UNDO: 1, REDO: 1, SET_APPLICATION_STATE: 1 }), u.ACTION_TYPES = Object.keys(u.ACTION_TYPE_INDEX), u.isVoyagerAction = h;
    }, function(A, u, a) {
      function s(q) {
        return !!q.parent;
      }
      function h(q) {
        return q in O;
      }
      function E(q) {
        return T[q];
      }
      function f(q) {
        return s(q) ? q.parent + L + q.child : q;
      }
      function S(q) {
        var B = q.split(L);
        if (B.length === 1) return q;
        if (B.length === 2) return { parent: B[0], child: B[1] };
        throw "Invalid property key with " + B.length + " dots: " + q;
      }
      function _(q, B) {
        return (R[q] || {})[B];
      }
      function d(q) {
        return h(q) || s(q);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var p = a(155), b = a(9), m = a(159), v = a(2);
      u.isEncodingNestedProp = s;
      var O = { channel: 1, aggregate: 1, autoCount: 1, bin: 1, timeUnit: 1, hasFn: 1, sort: 1, stack: 1, field: 1, type: 1, format: 1, scale: 1, axis: 1, legend: 1, value: 1 };
      u.ENCODING_TOPLEVEL_PROPS = v.flagKeys(O), u.isEncodingTopLevelProperty = h;
      var T = { bin: 1, scale: 1, sort: 1, axis: 1, legend: 1 };
      u.isEncodingNestedParent = E, u.BIN_CHILD_PROPS = ["maxbins", "divide", "extent", "base", "step", "steps", "minstep"], u.SORT_CHILD_PROPS = ["field", "op", "order"];
      var w = u.BIN_CHILD_PROPS.map(function(q) {
        return { parent: "bin", child: q };
      });
      u.SORT_PROPS = u.SORT_CHILD_PROPS.map(function(q) {
        return { parent: "sort", child: q };
      }), u.SCALE_PROPS = b.SCALE_PROPERTIES.map(function(q) {
        return { parent: "scale", child: q };
      });
      var P = p.AXIS_PROPERTIES.map(function(q) {
        return { parent: "axis", child: q };
      }), I = m.LEGEND_PROPERTIES.map(function(q) {
        return { parent: "legend", child: q };
      });
      u.ENCODING_NESTED_PROPS = [].concat(w, u.SORT_PROPS, u.SCALE_PROPS, P, I), u.VIEW_PROPS = ["width", "height", "background", "padding", "title"];
      var L = ".";
      u.toKey = f, u.fromKey = S;
      var R = u.ENCODING_NESTED_PROPS.reduce(function(q, B) {
        return q[B.parent] = q[B.parent] || [], q[B.parent][B.child] = B, q;
      }, {});
      u.getEncodingNestedProp = _, u.isEncodingProperty = d, u.ALL_ENCODING_PROPS = [].concat(u.ENCODING_TOPLEVEL_PROPS, u.ENCODING_NESTED_PROPS), u.DEFAULT_PROP_PRECEDENCE = ["type", "field", "bin", "timeUnit", "aggregate", "autoCount", "channel", "mark", "stack", "scale", "sort", "axis", "legend"].concat(w, u.SCALE_PROPS, P, I, u.SORT_PROPS), function(q) {
        q.MARK = "mark", q.TRANSFORM = "transform", q.STACK = "stack", q.FORMAT = "format", q.CHANNEL = "channel", q.AGGREGATE = "aggregate", q.AUTOCOUNT = "autoCount", q.BIN = "bin", q.HAS_FN = "hasFn", q.TIMEUNIT = "timeUnit", q.FIELD = "field", q.TYPE = "type", q.SORT = "sort", q.SCALE = "scale", q.AXIS = "axis", q.LEGEND = "legend", q.WIDTH = "width", q.HEIGHT = "height", q.BACKGROUND = "background", q.PADDING = "padding", q.TITLE = "title";
      }(u.Property || (u.Property = {}));
    }, function(A, u, a) {
      u.__esModule = !0;
      var s = a(344), h = function(E) {
        return E && E.__esModule ? E : { default: E };
      }(s);
      u.default = h.default || function(E) {
        for (var f = 1; f < arguments.length; f++) {
          var S = arguments[f];
          for (var _ in S) Object.prototype.hasOwnProperty.call(S, _) && (E[_] = S[_]);
        }
        return E;
      };
    }, function(A, u) {
      A.exports = i;
    }, function(A, u, a) {
      function s(h) {
        for (var E in h) u.hasOwnProperty(E) || (u[E] = h[E]);
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), s(a(263)), s(a(54)), u.SHELF_LOAD_QUERY = "SHELF_LOAD_QUERY", u.SHELF_AUTO_ADD_COUNT_CHANGE = "SHELF_AUTO_ADD_COUNT_CHANGE", u.SHELF_GROUP_BY_CHANGE = "SHELF_GROUP_BY_CHANGE";
    }, function(A, u, a) {
      (function(s) {
        function h(ie) {
          if (Array.isArray(ie)) {
            for (var re = 0, ee = Array(ie.length); re < ie.length; re++) ee[re] = ie[re];
            return ee;
          }
          return Array.from(ie);
        }
        function E(ie, re, ee) {
          return re in ie ? Object.defineProperty(ie, re, { value: ee, enumerable: !0, configurable: !0, writable: !0 }) : ie[re] = ee, ie;
        }
        function f(ie, re) {
          var ee = {};
          for (var te in ie) re.indexOf(te) >= 0 || Object.prototype.hasOwnProperty.call(ie, te) && (ee[te] = ie[te]);
          return ee;
        }
        function S() {
          return { fields: a(529).default, widgets: a(548).default, definitions: {}, formContext: {} };
        }
        function _(ie, re) {
          var ee = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, te = ie.type;
          if (typeof re == "function") return function(ue) {
            if (!ue.MergedWidget) {
              var le = ue.defaultProps && ue.defaultProps.options || {};
              ue.MergedWidget = function(ae) {
                var ce = ae.options, pe = ce === void 0 ? {} : ce, de = f(ae, ["options"]);
                return J.default.createElement(ue, Q({ options: Q({}, le, pe) }, de));
              };
            }
            return ue.MergedWidget;
          }(re);
          if (typeof re != "string") throw new Error("Unsupported widget definition: " + (re === void 0 ? "undefined" : Y(re)));
          if (ee.hasOwnProperty(re))
            return _(ie, ee[re], ee);
          if (!ne.hasOwnProperty(te)) throw new Error('No widget for type "' + te + '"');
          if (ne[te].hasOwnProperty(re))
            return _(ie, ee[ne[te][re]], ee);
          throw new Error('No widget "' + re + '" for type "' + te + '"');
        }
        function d(ie, re) {
          var ee = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, te = re;
          if (m(te) && m(ie.default)) te = v(te, ie.default);
          else if ("default" in ie) te = ie.default;
          else {
            if ("$ref" in ie) {
              var ue = q(ie.$ref, ee);
              return d(ue, te, ee);
            }
            I(ie) && (te = ie.items.map(function(le) {
              return d(le, void 0, ee);
            }));
          }
          switch (te === void 0 && (te = ie.default), ie.type) {
            case "object":
              return Object.keys(ie.properties || {}).reduce(function(le, ae) {
                return le[ae] = d(ie.properties[ae], (te || {})[ae], ee), le;
              }, {});
            case "array":
              if (ie.minItems) return new Array(ie.minItems).fill(d(ie.items, te, ee));
          }
          return te;
        }
        function p(ie, re) {
          var ee = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
          if (!m(ie)) throw new Error("Invalid schema: " + ie);
          var te = B(ie, ee), ue = d(te, ie.default, ee);
          return re === void 0 ? ue : m(re) ? v(ue, re) : re || ue;
        }
        function b(ie) {
          return Object.keys(ie).filter(function(re) {
            return re.indexOf("ui:") === 0;
          }).reduce(function(re, ee) {
            var te = ie[ee];
            return ee === "ui:widget" && m(te) ? (console.warn("Setting options via ui:widget object is deprecated, use ui:options instead"), Q({}, re, te.options || {}, { widget: te.component })) : ee === "ui:options" && m(te) ? Q({}, re, te) : Q({}, re, E({}, ee.substring(3), te));
          }, {});
        }
        function m(ie) {
          return (ie === void 0 ? "undefined" : Y(ie)) === "object" && ie !== null && !Array.isArray(ie);
        }
        function v(ie, re) {
          var ee = arguments.length > 2 && arguments[2] !== void 0 && arguments[2], te = Object.assign({}, ie);
          return Object.keys(re).reduce(function(ue, le) {
            var ae = ie[le], ce = re[le];
            return ie.hasOwnProperty(le) && m(ce) ? ue[le] = v(ae, ce, ee) : ee && Array.isArray(ae) && Array.isArray(ce) ? ue[le] = ae.concat(ce) : ue[le] = ce, ue;
          }, te);
        }
        function O(ie) {
          if (ie !== "") {
            if (/\.$/.test(ie) || /\.0$/.test(ie)) return ie;
            var re = Number(ie), ee = typeof re == "number" && !Number.isNaN(re);
            return /\.\d*0$/.test(ie) ? ie : ee ? re : ie;
          }
        }
        function T(ie, re) {
          if (!Array.isArray(re)) return ie;
          var ee = function(he) {
            return he.reduce(function(Ee, ye) {
              return Ee[ye] = !0, Ee;
            }, {});
          }, te = function(he) {
            return he.length > 1 ? "properties '" + he.join("', '") + "'" : "property '" + he[0] + "'";
          }, ue = ee(ie), le = ee(re), ae = re.filter(function(he) {
            return he !== "*" && !ue[he];
          });
          if (ae.length) throw new Error("uiSchema order list contains extraneous " + te(ae));
          var ce = ie.filter(function(he) {
            return !le[he];
          }), pe = re.indexOf("*");
          if (pe === -1) {
            if (ce.length) throw new Error("uiSchema order list does not contain " + te(ce));
            return re;
          }
          if (pe !== re.lastIndexOf("*")) throw new Error("uiSchema order list contains more than one wildcard item");
          var de = [].concat(h(re));
          return de.splice.apply(de, [pe, 1].concat(h(ce))), de;
        }
        function w(ie) {
          return !!ie.items && Array.isArray(ie.items.enum) && ie.uniqueItems;
        }
        function P(ie, re) {
          return ie.items && ie.items.type === "string" && ie.items.format === "data-url" || re["ui:widget"] === "files";
        }
        function I(ie) {
          return Array.isArray(ie.items) && ie.items.length > 0 && ie.items.every(function(re) {
            return m(re);
          });
        }
        function L(ie) {
          return ie.additionalItems === !0 && console.warn("additionalItems=true is currently not supported"), m(ie.additionalItems);
        }
        function R(ie) {
          return ie.enum.map(function(re, ee) {
            return { label: ie.enumNames && ie.enumNames[ee] || String(re), value: re };
          });
        }
        function q(ie) {
          var re = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, ee = /^#\/definitions\/(.*)$/.exec(ie);
          if (ee && ee[1]) {
            var te = ee[1].split("/"), ue = re, le = !0, ae = !1, ce = void 0;
            try {
              for (var pe, de = te[Symbol.iterator](); !(le = (pe = de.next()).done); le = !0) {
                var he = pe.value;
                if (he = he.replace(/~1/g, "/").replace(/~0/g, "~"), !ue.hasOwnProperty(he)) throw new Error("Could not find a definition for " + ie + ".");
                ue = ue[he];
              }
            } catch (Ee) {
              ae = !0, ce = Ee;
            } finally {
              try {
                !le && de.return && de.return();
              } finally {
                if (ae) throw ce;
              }
            }
            return ue;
          }
          throw new Error("Could not find a definition for " + ie + ".");
        }
        function B(ie) {
          var re = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
          if (!ie.hasOwnProperty("$ref")) return ie;
          var ee = q(ie.$ref, re), te = (ie.$ref, f(ie, ["$ref"]));
          return Q({}, ee, te);
        }
        function j(ie) {
          return Object.prototype.toString.call(ie) === "[object Arguments]";
        }
        function k(ie, re) {
          var ee = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [], te = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : [];
          if (ie === re || typeof ie == "function" || typeof re == "function") return !0;
          if ((ie === void 0 ? "undefined" : Y(ie)) !== "object" || (re === void 0 ? "undefined" : Y(re)) !== "object" || ie === null || re === null) return !1;
          if (ie instanceof Date && re instanceof Date) return ie.getTime() === re.getTime();
          if (ie instanceof RegExp && re instanceof RegExp) return ie.source === re.source && ie.global === re.global && ie.multiline === re.multiline && ie.lastIndex === re.lastIndex && ie.ignoreCase === re.ignoreCase;
          if (j(ie) || j(re)) {
            if (!j(ie) || !j(re)) return !1;
            var ue = Array.prototype.slice;
            return k(ue.call(ie), ue.call(re), ee, te);
          }
          if (ie.constructor !== re.constructor) return !1;
          var le = Object.keys(ie), ae = Object.keys(re);
          if (le.length === 0 && ae.length === 0) return !0;
          if (le.length !== ae.length) return !1;
          for (var ce = ee.length; ce--; ) if (ee[ce] === ie) return te[ce] === re;
          ee.push(ie), te.push(re), le.sort(), ae.sort();
          for (var pe = le.length - 1; pe >= 0; pe--) if (le[pe] !== ae[pe]) return !1;
          for (var de = void 0, he = le.length - 1; he >= 0; he--) if (de = le[he], !k(ie[de], re[de], ee, te)) return !1;
          return ee.pop(), te.pop(), !0;
        }
        function U(ie, re, ee) {
          var te = ie.props, ue = ie.state;
          return !k(te, re) || !k(ue, ee);
        }
        function W(ie, re, ee) {
          var te = { $id: re || "root" };
          if ("$ref" in ie)
            return W(B(ie, ee), re, ee);
          if ("items" in ie && !ie.items.$ref) return W(ie.items, re, ee);
          if (ie.type !== "object") return te;
          for (var ue in ie.properties || {}) {
            var le = ie.properties[ue], ae = te.$id + "_" + ue;
            te[ue] = W(le, ae, ee);
          }
          return te;
        }
        function $(ie) {
          var re = !(arguments.length > 1 && arguments[1] !== void 0) || arguments[1];
          if (!ie) return { year: -1, month: -1, day: -1, hour: re ? -1 : 0, minute: re ? -1 : 0, second: re ? -1 : 0 };
          var ee = new Date(ie);
          if (Number.isNaN(ee.getTime())) throw new Error("Unable to parse date " + ie);
          return { year: ee.getUTCFullYear(), month: ee.getUTCMonth() + 1, day: ee.getUTCDate(), hour: re ? ee.getUTCHours() : 0, minute: re ? ee.getUTCMinutes() : 0, second: re ? ee.getUTCSeconds() : 0 };
        }
        function V(ie) {
          var re = ie.year, ee = ie.month, te = ie.day, ue = ie.hour, le = ue === void 0 ? 0 : ue, ae = ie.minute, ce = ae === void 0 ? 0 : ae, pe = ie.second, de = pe === void 0 ? 0 : pe, he = !(arguments.length > 1 && arguments[1] !== void 0) || arguments[1], Ee = Date.UTC(re, ee - 1, te, le, ce, de), ye = new Date(Ee).toJSON();
          return he ? ye : ye.slice(0, 10);
        }
        function G(ie, re) {
          for (var ee = String(ie); ee.length < re; ) ee = "0" + ee;
          return ee;
        }
        function X(ie, re, ee) {
          ie.props.safeRenderCompletion ? ie.setState(re, ee) : (ie.setState(re), s(ee));
        }
        function K(ie) {
          var re = ie.split(","), ee = re[0].split(";"), te = ee[0].replace("data:", ""), ue = ee.filter(function(de) {
            return de.split("=")[0] === "name";
          }), le = void 0;
          le = ue.length !== 1 ? "unknown" : ue[0].split("=")[1];
          for (var ae = atob(re[1]), ce = [], pe = 0; pe < ae.length; pe++) ce.push(ae.charCodeAt(pe));
          return { blob: new window.Blob([new Uint8Array(ce)], { type: te }), name: le };
        }
        function H(ie) {
          var re = {};
          return ie.multipleOf && (re.step = ie.multipleOf), (ie.minimum || ie.minimum === 0) && (re.min = ie.minimum), (ie.maximum || ie.maximum === 0) && (re.max = ie.maximum), re;
        }
        Object.defineProperty(u, "__esModule", { value: !0 });
        var Y = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(ie) {
          return typeof ie;
        } : function(ie) {
          return ie && typeof Symbol == "function" && ie.constructor === Symbol && ie !== Symbol.prototype ? "symbol" : typeof ie;
        }, Q = Object.assign || function(ie) {
          for (var re = 1; re < arguments.length; re++) {
            var ee = arguments[re];
            for (var te in ee) Object.prototype.hasOwnProperty.call(ee, te) && (ie[te] = ee[te]);
          }
          return ie;
        };
        u.getDefaultRegistry = S, u.getWidget = _, u.getDefaultFormState = p, u.getUiOptions = b, u.isObject = m, u.mergeObjects = v, u.asNumber = O, u.orderProperties = T, u.isMultiSelect = w, u.isFilesArray = P, u.isFixedItems = I, u.allowAdditionalItems = L, u.optionsList = R, u.retrieveSchema = B, u.deepEquals = k, u.shouldRender = U, u.toIdSchema = W, u.parseDateString = $, u.toDateString = V, u.pad = G, u.setState = X, u.dataURItoBlob = K, u.rangeSpec = H;
        var Z = a(0), J = function(ie) {
          return ie && ie.__esModule ? ie : { default: ie };
        }(Z);
        a(227);
        var ne = { boolean: { checkbox: "CheckboxWidget", radio: "RadioWidget", select: "SelectWidget", hidden: "HiddenWidget" }, string: { text: "TextWidget", password: "PasswordWidget", email: "EmailWidget", hostname: "TextWidget", ipv4: "TextWidget", ipv6: "TextWidget", uri: "URLWidget", "data-url": "FileWidget", radio: "RadioWidget", select: "SelectWidget", textarea: "TextareaWidget", hidden: "HiddenWidget", date: "DateWidget", datetime: "DateTimeWidget", "date-time": "DateTimeWidget", "alt-date": "AltDateWidget", "alt-datetime": "AltDateTimeWidget", color: "ColorWidget", file: "FileWidget" }, number: { text: "TextWidget", select: "SelectWidget", updown: "UpDownWidget", range: "RangeWidget", radio: "RadioWidget", hidden: "HiddenWidget" }, integer: { text: "TextWidget", select: "SelectWidget", updown: "UpDownWidget", range: "RangeWidget", radio: "RadioWidget", hidden: "HiddenWidget" }, array: { select: "SelectWidget", checkboxes: "CheckboxesWidget", files: "FileWidget" } };
      }).call(u, a(589).setImmediate);
    }, function(A, u, a) {
      function s(K, H) {
        var Y = {}, Q = K.config.selection;
        for (var Z in H) (function(J) {
          if (!H.hasOwnProperty(J)) return "continue";
          var ne = H[J], ie = Q[ne.type];
          for (var re in ie) re === "encodings" && ne.fields || re === "fields" && ne.encodings || (re === "mark" && (ne[re] = L.__assign({}, ie[re], ne[re])), ne[re] !== void 0 && ne[re] !== !0 || (ne[re] = ie[re] || ne[re]));
          J = U.varName(J);
          var ee = Y[J] = L.__assign({}, ne, { name: J, events: q.isString(ne.on) ? R.selector(ne.on, "scope") : ne.on });
          X.forEachTransform(ee, function(te) {
            te.parse && te.parse(K, ne, ee);
          });
        })(Z);
        return Y;
      }
      function h(K, H) {
        m(K, function(Z, J) {
          var ne = Z.name, ie = J.modifyExpr(K, Z);
          H.push.apply(H, J.signals(K, Z)), X.forEachTransform(Z, function(re) {
            re.signals && (H = re.signals(K, Z, H)), re.modifyExpr && (ie = re.modifyExpr(K, Z, ie));
          }), H.push({ name: ne + u.MODIFY, on: [{ events: { signal: ne + u.TUPLE }, update: "modify(" + q.stringValue(Z.name + u.STORE) + ", " + ie + ")" }] });
        });
        var Y = O(K);
        if (H.length && Y) {
          var Q = q.stringValue(Y.getName("cell"));
          H.unshift({ name: "facet", value: {}, on: [{ events: R.selector("mousemove", "scope"), update: "isTuple(facet) ? facet : group(" + Q + ").datum" }] });
        }
        return H;
      }
      function E(K, H) {
        var Y = !1;
        return m(K, function(Q, Z) {
          Z.topLevelSignals && (H = Z.topLevelSignals(K, Q, H)), X.forEachTransform(Q, function(J) {
            J.topLevelSignals && (H = J.topLevelSignals(K, Q, H));
          }), Y = !0;
        }), Y && (H.filter(function(Q) {
          return Q.name === "unit";
        }).length || H.unshift({ name: "unit", value: {}, on: [{ events: "mousemove", update: "isTuple(group()) ? group() : unit" }] })), H;
      }
      function f(K, H) {
        return m(K, function(Y) {
          H.filter(function(Q) {
            return Q.name === Y.name + u.STORE;
          }).length || H.push({ name: Y.name + u.STORE });
        }), H;
      }
      function S(K, H) {
        return m(K, function(Y, Q) {
          H = Q.marks ? Q.marks(K, Y, H) : H, X.forEachTransform(Y, function(Z) {
            Z.marks && (H = Z.marks(K, Y, H));
          });
        }), H;
      }
      function _(K, H) {
        return K.children.forEach(function(Y) {
          W.isUnitModel(Y) && (H = S(Y, H));
        }), H;
      }
      function d(K, H, Y) {
        function Q(ne) {
          var ie = U.varName(ne), re = K.getSelectionComponent(ie, ne), ee = q.stringValue(ie + u.STORE);
          if (re.timeUnit) {
            var te = Y || K.component.data.raw, ue = re.timeUnit.clone();
            te.parent ? ue.insertAsParentOf(te) : te.parent = ue;
          }
          return re.empty !== "none" && Z.push(ee), v(re.type).predicate + "(" + ee + ", datum" + (re.resolve === "global" ? ")" : ", " + q.stringValue(re.resolve) + ")");
        }
        var Z = [], J = U.logicalExpr(H, Q);
        return (Z.length ? "!(" + Z.map(function(ne) {
          return "length(data(" + ne + "))";
        }).join(" || ") + ") || " : "") + "(" + J + ")";
      }
      function p(K) {
        return K.signal.indexOf(u.SELECTION_DOMAIN) >= 0;
      }
      function b(K, H) {
        var Y = JSON.parse(H.signal.replace(u.SELECTION_DOMAIN, "")), Q = U.varName(Y.selection), Z = K.component.selection && K.component.selection[Q];
        return Z ? (j.warn('Use "bind": "scales" to setup a binding for scales and selections within the same view.'), { signal: "null" }) : (Z = K.getSelectionComponent(Q, Y.selection), Y.encoding || Y.field || (Y.field = Z.project[0].field, Z.project.length > 1 && j.warn('A "field" or "encoding" must be specified when using a selection as a scale domain. Using "field": ' + q.stringValue(Y.field) + ".")), { signal: v(Z.type).scaleDomain + "(" + q.stringValue(Q + u.STORE) + ", " + q.stringValue(Y.encoding || null) + ", " + q.stringValue(Y.field || null) + (Z.resolve === "global" ? ")" : ", " + q.stringValue(Z.resolve) + ")") });
      }
      function m(K, H) {
        var Y = K.component.selection;
        for (var Q in Y) if (Y.hasOwnProperty(Q)) {
          var Z = Y[Q];
          H(Z, v(Z.type));
        }
      }
      function v(K) {
        switch (K) {
          case "single":
            return G.default;
          case "multi":
            return V.default;
          case "interval":
            return $.default;
        }
        return null;
      }
      function O(K) {
        for (var H = K.parent; H && !W.isFacetModel(H); ) H = H.parent;
        return H;
      }
      function T(K) {
        var H = q.stringValue(K.name), Y = O(K);
        return Y && (H += (Y.facet.row ? " + '_' + facet" + U.accessPath(Y.vgField("row")) : "") + (Y.facet.column ? " + '_' + facet" + U.accessPath(Y.vgField("column")) : "")), H;
      }
      function w(K) {
        var H = !1;
        return m(K, function(Y) {
          H = H || Y.project.some(function(Q) {
            return Q.field === k.SELECTION_ID;
          });
        }), H;
      }
      function P(K, H, Y) {
        var Q = K._signalNames || (K._signalNames = {});
        if (Q[H] && Q[H][Y]) return Q[H][Y];
        Q[H] = Q[H] || {};
        for (var Z = U.varName(K.name + "_" + (Y === "visual" ? H : K.fields[H])), J = Z, ne = 1; Q[J]; ) J = Z + "_" + ne++;
        return Q[J] = Q[H][Y] = J;
      }
      function I(K) {
        var H = null, Y = null, Q = null, Z = null;
        return K.project.forEach(function(J, ne) {
          J.channel === B.X ? (H = J, Y = ne) : J.channel === B.Y && (Q = J, Z = ne);
        }), { x: H, xi: Y, y: Q, yi: Z };
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var L = a(3), R = a(152), q = a(4), B = a(5), j = a(8), k = a(655), U = a(2), W = a(27), $ = a(157), V = a(249), G = a(643), X = a(647);
      u.STORE = "_store", u.TUPLE = "_tuple", u.MODIFY = "_modify", u.SELECTION_DOMAIN = "_selection_domain_", u.parseUnitSelection = s, u.assembleUnitSelectionSignals = h, u.assembleTopLevelSignals = E, u.assembleUnitSelectionData = f, u.assembleUnitSelectionMarks = S, u.assembleLayerSelectionMarks = _, u.selectionPredicate = d, u.isRawSelectionDomain = p, u.selectionScaleDomain = b, u.unitName = T, u.requiresSelectionId = w, u.channelSignalName = P, u.positionalProjections = I;
    }, function(A, u) {
      A.exports = o;
    }, function(A, u) {
      var a = A.exports = { version: "2.4.0" };
      typeof __e == "number" && (__e = a);
    }, function(A, u, a) {
      (function(s) {
        function h(d, p) {
          var b, m = "";
          for (b = 0; b < d; ++b) m += p;
          return m;
        }
        function E(d, p, b) {
          var m = 0, v = d.split(_);
          return d = b ? (v = v.reverse()).filter(function(O) {
            return (m += O.length) <= p;
          }).reverse() : v.filter(function(O) {
            return (m += O.length) <= p;
          }), d.length ? d.join("").trim() : v[0].slice(0, p);
        }
        var f = A.exports;
        f.namedfunc = function(d, p) {
          return p.__name__ = d, p;
        }, f.name = function(d) {
          return d == null ? null : d.__name__;
        }, f.identity = function(d) {
          return d;
        }, f.true = f.namedfunc("true", function() {
          return !0;
        }), f.false = f.namedfunc("false", function() {
          return !1;
        }), f.duplicate = function(d) {
          return JSON.parse(JSON.stringify(d));
        }, f.equal = function(d, p) {
          return JSON.stringify(d) === JSON.stringify(p);
        }, f.extend = function(d) {
          for (var p, b, m = 1, v = arguments.length; m < v; ++m) {
            p = arguments[m];
            for (b in p) d[b] = p[b];
          }
          return d;
        }, f.length = function(d) {
          return d != null && d.length != null ? d.length : null;
        }, f.keys = function(d) {
          var p, b = [];
          for (p in d) b.push(p);
          return b;
        }, f.vals = function(d) {
          var p, b = [];
          for (p in d) b.push(d[p]);
          return b;
        }, f.toMap = function(d, p) {
          return (p = f.$(p)) ? d.reduce(function(b, m) {
            return b[p(m)] = 1, b;
          }, {}) : d.reduce(function(b, m) {
            return b[m] = 1, b;
          }, {});
        }, f.keystr = function(d) {
          var p = d.length;
          if (!p) return "";
          for (var b = String(d[0]), m = 1; m < p; ++m) b += "|" + String(d[m]);
          return b;
        };
        var S = Object.prototype.toString;
        f.isObject = function(d) {
          return d === Object(d);
        }, f.isFunction = function(d) {
          return S.call(d) === "[object Function]";
        }, f.isString = function(d) {
          return typeof value == "string" || S.call(d) === "[object String]";
        }, f.isArray = Array.isArray || function(d) {
          return S.call(d) === "[object Array]";
        }, f.isNumber = function(d) {
          return typeof d == "number" || S.call(d) === "[object Number]";
        }, f.isBoolean = function(d) {
          return d === !0 || d === !1 || S.call(d) == "[object Boolean]";
        }, f.isDate = function(d) {
          return S.call(d) === "[object Date]";
        }, f.isValid = function(d) {
          return d != null && d === d;
        }, f.isBuffer = typeof s == "function" && s.isBuffer || f.false, f.number = function(d) {
          return d == null || d === "" ? null : +d;
        }, f.boolean = function(d) {
          return d == null || d === "" ? null : d !== "false" && !!d;
        }, f.date = function(d, p) {
          var b = p || Date;
          return d == null || d === "" ? null : b.parse(d);
        }, f.array = function(d) {
          return d != null ? f.isArray(d) ? d : [d] : [];
        }, f.str = function(d) {
          return f.isArray(d) ? "[" + d.map(f.str) + "]" : f.isObject(d) || f.isString(d) ? JSON.stringify(d).replace("\u2028", "\\u2028").replace("\u2029", "\\u2029") : d;
        }, f.field = function(d) {
          return String(d).match(/\[(.*?)\]|[^.\[]+/g).map(function(p) {
            return p[0] !== "[" ? p : p[1] !== "'" && p[1] !== '"' ? p.slice(1, -1) : p.slice(2, -2).replace(/\\(["'])/g, "$1");
          });
        }, f.accessor = function(d) {
          return d == null || f.isFunction(d) ? d : f.namedfunc(d, Function("x", "return x[" + f.field(d).map(f.str).join("][") + "];"));
        }, f.$ = f.accessor, f.mutator = function(d) {
          var p;
          return f.isString(d) && (p = f.field(d)).length > 1 ? function(b, m) {
            for (var v = 0; v < p.length - 1; ++v) b = b[p[v]];
            b[p[v]] = m;
          } : function(b, m) {
            b[d] = m;
          };
        }, f.$func = function(d, p) {
          return function(b) {
            b = f.$(b) || f.identity;
            var m = d + (f.name(b) ? "_" + f.name(b) : "");
            return f.namedfunc(m, function(v) {
              return p(b(v));
            });
          };
        }, f.$valid = f.$func("valid", f.isValid), f.$length = f.$func("length", f.length), f.$in = function(d, p) {
          d = f.$(d);
          var b = f.isArray(p) ? f.toMap(p) : p;
          return function(m) {
            return !!b[d(m)];
          };
        }, f.comparator = function(d) {
          var p = [];
          return d === void 0 && (d = []), d = f.array(d).map(function(b) {
            var m = 1;
            return b[0] === "-" ? (m = -1, b = b.slice(1)) : b[0] === "+" && (m = 1, b = b.slice(1)), p.push(m), f.accessor(b);
          }), function(b, m) {
            var v, O, T, w;
            for (v = 0, O = d.length; v < O; ++v) if (T = d[v], w = f.cmp(T(b), T(m))) return w * p[v];
            return 0;
          };
        }, f.cmp = function(d, p) {
          return (d < p || d == null) && p != null ? -1 : (d > p || p == null) && d != null ? 1 : (p = p instanceof Date ? +p : p, (d = d instanceof Date ? +d : d) !== d && p === p ? -1 : p !== p && d === d ? 1 : 0);
        }, f.numcmp = function(d, p) {
          return d - p;
        }, f.stablesort = function(d, p, b) {
          var m = d.reduce(function(v, O, T) {
            return v[b(O)] = T, v;
          }, {});
          return d.sort(function(v, O) {
            var T = p(v), w = p(O);
            return T < w ? -1 : T > w ? 1 : m[b(v)] - m[b(O)];
          }), d;
        }, f.permute = function(d) {
          for (var p, b, m = d.length; m; ) b = Math.floor(Math.random() * m--), p = d[m], d[m] = d[b], d[b] = p;
        }, f.pad = function(d, p, b, m) {
          m = m || " ";
          var v = p - d.length;
          if (v <= 0) return d;
          switch (b) {
            case "left":
              return h(v, m) + d;
            case "middle":
            case "center":
              return h(Math.floor(v / 2), m) + d + h(Math.ceil(v / 2), m);
            default:
              return d + h(v, m);
          }
        }, f.truncate = function(d, p, b, m, v) {
          var O = d.length;
          if (O <= p) return d;
          v = v !== void 0 ? String(v) : "…";
          var T = Math.max(0, p - v.length);
          switch (b) {
            case "left":
              return v + (m ? E(d, T, 1) : d.slice(O - T));
            case "middle":
            case "center":
              var w = Math.ceil(T / 2), P = Math.floor(T / 2);
              return (m ? E(d, w) : d.slice(0, w)) + v + (m ? E(d, P, 1) : d.slice(O - P));
            default:
              return (m ? E(d, T) : d.slice(0, T)) + v;
          }
        };
        var _ = /([\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u2028\u2029\u3000\uFEFF])/;
      }).call(u, a(354).Buffer);
    }, function(A, u, a) {
      function s(Q) {
        return Q && Q.type === "unit";
      }
      function h(Q) {
        return Q && Q.type === "facet";
      }
      function E(Q) {
        return Q && Q.type === "repeat";
      }
      function f(Q) {
        return Q && Q.type === "concat";
      }
      function S(Q) {
        return Q && Q.type === "layer";
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var _ = a(3), d = a(4), p = a(5), b = a(71), m = a(10), v = a(8), O = a(9), T = a(174), w = a(656), P = a(161), I = a(2), L = a(43), R = a(620), q = a(629), B = a(630), j = a(631), k = a(244), U = a(637), W = a(639), $ = a(640), V = a(106), G = a(642), X = a(42), K = function() {
        function Q() {
          this.nameMap = {};
        }
        return Q.prototype.rename = function(Z, J) {
          this.nameMap[Z] = J;
        }, Q.prototype.has = function(Z) {
          return this.nameMap[Z] !== void 0;
        }, Q.prototype.get = function(Z) {
          for (; this.nameMap[Z] && Z !== this.nameMap[Z]; ) Z = this.nameMap[Z];
          return Z;
        }, Q;
      }();
      u.NameMap = K, u.isUnitModel = s, u.isFacetModel = h, u.isRepeatModel = E, u.isConcatModel = f, u.isLayerModel = S;
      var H = function() {
        function Q(Z, J, ne, ie, re, ee) {
          var te = this;
          this.children = [], this.correctDataNames = function(ue) {
            return ue.from && ue.from.data && (ue.from.data = te.lookupDataSource(ue.from.data)), ue.from && ue.from.facet && ue.from.facet.data && (ue.from.facet.data = te.lookupDataSource(ue.from.facet.data)), ue;
          }, this.parent = J, this.config = ie, this.repeater = re, this.name = Z.name || ne, this.title = d.isString(Z.title) ? { text: Z.title } : Z.title, this.scaleNameMap = J ? J.scaleNameMap : new K(), this.projectionNameMap = J ? J.projectionNameMap : new K(), this.layoutSizeNameMap = J ? J.layoutSizeNameMap : new K(), this.data = Z.data, this.description = Z.description, this.transforms = P.normalizeTransform(Z.transform || []), this.component = { data: { sources: J ? J.component.data.sources : {}, outputNodes: J ? J.component.data.outputNodes : {}, outputNodeRefCounts: J ? J.component.data.outputNodeRefCounts : {}, ancestorParse: J ? _.__assign({}, J.component.data.ancestorParse) : {}, isFaceted: T.isFacetSpec(Z) || J && J.component.data.isFaceted && !Z.data }, layoutSize: new X.Split(), layoutHeaders: { row: {}, column: {} }, mark: null, resolve: _.__assign({ scale: {}, axis: {}, legend: {} }, ee || {}), selection: null, scales: null, projection: null, axes: {}, legends: {} };
        }
        return Object.defineProperty(Q.prototype, "width", { get: function() {
          return this.getSizeSignalRef("width");
        }, enumerable: !0, configurable: !0 }), Object.defineProperty(Q.prototype, "height", { get: function() {
          return this.getSizeSignalRef("height");
        }, enumerable: !0, configurable: !0 }), Q.prototype.initSize = function(Z) {
          var J = Z.width, ne = Z.height;
          J && this.component.layoutSize.set("width", J, !0), ne && this.component.layoutSize.set("height", ne, !0);
        }, Q.prototype.parse = function() {
          this.parseScale(), this.parseLayoutSize(), this.renameTopLevelLayoutSize(), this.parseSelection(), this.parseProjection(), this.parseData(), this.parseAxisAndHeader(), this.parseLegend(), this.parseMarkGroup();
        }, Q.prototype.parseScale = function() {
          G.parseScale(this);
        }, Q.prototype.parseProjection = function() {
          W.parseProjection(this);
        }, Q.prototype.renameTopLevelLayoutSize = function() {
          this.getName("width") !== "width" && this.renameLayoutSize(this.getName("width"), "width"), this.getName("height") !== "height" && this.renameLayoutSize(this.getName("height"), "height");
        }, Q.prototype.parseLegend = function() {
          k.parseLegend(this);
        }, Q.prototype.assembleGroupStyle = function() {
          if (this.type === "unit" || this.type === "layer") return "cell";
        }, Q.prototype.assembleLayoutSize = function() {
          if (this.type === "unit" || this.type === "layer") return { width: this.getSizeSignalRef("width"), height: this.getSizeSignalRef("height") };
        }, Q.prototype.assembleHeaderMarks = function() {
          for (var Z = this.component.layoutHeaders, J = [], ne = 0, ie = q.HEADER_CHANNELS; ne < ie.length; ne++) {
            var re = ie[ne];
            Z[re].title && J.push(q.getTitleGroup(this, re));
          }
          for (var ee = 0, te = q.HEADER_CHANNELS; ee < te.length; ee++) {
            var re = te[ee];
            J = J.concat(q.getHeaderGroups(this, re));
          }
          return J;
        }, Q.prototype.assembleAxes = function() {
          return R.assembleAxes(this.component.axes, this.config);
        }, Q.prototype.assembleLegends = function() {
          return j.assembleLegends(this);
        }, Q.prototype.assembleProjections = function() {
          return U.assembleProjections(this);
        }, Q.prototype.assembleTitle = function() {
          var Z = _.__assign({}, w.extractTitleConfig(this.config.title).nonMark, this.title);
          if (Z.text) return I.contains(["unit", "layer"], this.type) || (Z.anchor && Z.anchor !== "start" && v.warn(v.message.cannotSetTitleAnchor(this.type)), Z.anchor = "start"), I.keys(Z).length > 0 ? Z : void 0;
        }, Q.prototype.assembleGroup = function(Z) {
          Z === void 0 && (Z = []);
          var J = {};
          Z = Z.concat(this.assembleSelectionSignals()), Z.length > 0 && (J.signals = Z);
          var ne = this.assembleLayout();
          ne && (J.layout = ne), J.marks = [].concat(this.assembleHeaderMarks(), this.assembleMarks());
          var ie = !this.parent || h(this.parent) ? $.assembleScales(this) : [];
          ie.length > 0 && (J.scales = ie);
          var re = this.assembleAxes();
          re.length > 0 && (J.axes = re);
          var ee = this.assembleLegends();
          return ee.length > 0 && (J.legends = ee), J;
        }, Q.prototype.hasDescendantWithFieldOnChannel = function(Z) {
          for (var J = 0, ne = this.children; J < ne.length; J++) {
            var ie = ne[J];
            if (s(ie)) {
              if (ie.channelHasField(Z)) return !0;
            } else if (ie.hasDescendantWithFieldOnChannel(Z)) return !0;
          }
          return !1;
        }, Q.prototype.getName = function(Z) {
          return I.varName((this.name ? this.name + "_" : "") + Z);
        }, Q.prototype.requestDataName = function(Z) {
          var J = this.getName(Z), ne = this.component.data.outputNodeRefCounts;
          return ne[J] = (ne[J] || 0) + 1, J;
        }, Q.prototype.getSizeSignalRef = function(Z) {
          if (h(this.parent)) {
            var J = Z === "width" ? "x" : "y", ne = this.component.scales[J];
            if (ne && !ne.merged) {
              var ie = ne.get("type"), re = ne.get("range");
              if (O.hasDiscreteDomain(ie) && L.isVgRangeStep(re)) {
                var ee = ne.get("name"), te = V.assembleDomain(this, J), ue = V.getFieldFromDomain(te);
                if (ue) {
                  var le = m.vgField({ aggregate: "distinct", field: ue }, { expr: "datum" });
                  return { signal: B.sizeExpr(ee, ne, le) };
                }
                return v.warn("Unknown field for ${channel}.  Cannot calculate view size."), null;
              }
            }
          }
          return { signal: this.layoutSizeNameMap.get(this.getName(Z)) };
        }, Q.prototype.lookupDataSource = function(Z) {
          var J = this.component.data.outputNodes[Z];
          return J ? J.getSource() : Z;
        }, Q.prototype.getSizeName = function(Z) {
          return this.layoutSizeNameMap.get(Z);
        }, Q.prototype.renameLayoutSize = function(Z, J) {
          this.layoutSizeNameMap.rename(Z, J);
        }, Q.prototype.renameScale = function(Z, J) {
          this.scaleNameMap.rename(Z, J);
        }, Q.prototype.renameProjection = function(Z, J) {
          this.projectionNameMap.rename(Z, J);
        }, Q.prototype.scaleName = function(Z, J) {
          return J ? this.getName(Z) : p.isChannel(Z) && p.isScaleChannel(Z) && this.component.scales[Z] || this.scaleNameMap.has(this.getName(Z)) ? this.scaleNameMap.get(this.getName(Z)) : void 0;
        }, Q.prototype.projectionName = function(Z) {
          return Z ? this.getName("projection") : this.component.projection && !this.component.projection.merged || this.projectionNameMap.has(this.getName("projection")) ? this.projectionNameMap.get(this.getName("projection")) : void 0;
        }, Q.prototype.getScaleComponent = function(Z) {
          if (!this.component.scales) throw new Error("getScaleComponent cannot be called before parseScale().  Make sure you have called parseScale or use parseUnitModelWithScale().");
          var J = this.component.scales[Z];
          return J && !J.merged ? J : this.parent ? this.parent.getScaleComponent(Z) : void 0;
        }, Q.prototype.getSelectionComponent = function(Z, J) {
          var ne = this.component.selection[Z];
          if (!ne && this.parent && (ne = this.parent.getSelectionComponent(Z, J)), !ne) throw new Error(v.message.selectionNotFound(J));
          return ne;
        }, Q;
      }();
      u.Model = H;
      var Y = function(Q) {
        function Z() {
          return Q !== null && Q.apply(this, arguments) || this;
        }
        return _.__extends(Z, Q), Z.prototype.vgField = function(J, ne) {
          ne === void 0 && (ne = {});
          var ie = this.fieldDef(J);
          if (ie) return m.vgField(ie, ne);
        }, Z.prototype.reduceFieldDef = function(J, ne, ie) {
          return b.reduce(this.getMapping(), function(re, ee, te) {
            var ue = m.getFieldDef(ee);
            return ue ? J(re, ue, te) : re;
          }, ne, ie);
        }, Z.prototype.forEachFieldDef = function(J, ne) {
          b.forEach(this.getMapping(), function(ie, re) {
            var ee = m.getFieldDef(ie);
            ee && J(ee, re);
          }, ne);
        }, Z;
      }(H);
      u.ModelWithField = Y;
    }, function(A, u, a) {
      function s(m) {
        return !!p[m];
      }
      function h(m) {
        return d.contains(["line", "area", "trail"], m);
      }
      function E(m) {
        return m.type;
      }
      function f(m) {
        return (E(m) ? m.type : m) in b;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var S, _ = a(4), d = a(2);
      (function(m) {
        m.AREA = "area", m.BAR = "bar", m.LINE = "line", m.POINT = "point", m.RECT = "rect", m.RULE = "rule", m.TEXT = "text", m.TICK = "tick", m.TRAIL = "trail", m.CIRCLE = "circle", m.SQUARE = "square", m.GEOSHAPE = "geoshape";
      })(S = u.Mark || (u.Mark = {})), u.AREA = S.AREA, u.BAR = S.BAR, u.LINE = S.LINE, u.POINT = S.POINT, u.TEXT = S.TEXT, u.TICK = S.TICK, u.TRAIL = S.TRAIL, u.RECT = S.RECT, u.RULE = S.RULE, u.GEOSHAPE = S.GEOSHAPE, u.CIRCLE = S.CIRCLE, u.SQUARE = S.SQUARE;
      var p = { area: 1, bar: 1, line: 1, point: 1, text: 1, tick: 1, trail: 1, rect: 1, geoshape: 1, rule: 1, circle: 1, square: 1 };
      u.isMark = s, u.isPathMark = h, u.PRIMITIVE_MARKS = d.flagKeys(p), u.isMarkDef = E;
      var b = _.toSet(u.PRIMITIVE_MARKS);
      u.isPrimitiveMark = f, u.STROKE_CONFIG = ["stroke", "strokeWidth", "strokeDash", "strokeDashOffset", "strokeOpacity"], u.FILL_CONFIG = ["fill", "fillOpacity"], u.FILL_STROKE_CONFIG = [].concat(u.STROKE_CONFIG, u.FILL_CONFIG), u.VL_ONLY_MARK_CONFIG_PROPERTIES = ["filled", "color"], u.VL_ONLY_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX = { area: ["line", "point"], bar: ["binSpacing", "continuousBandSize", "discreteBandSize"], line: ["point"], text: ["shortTimeLabels"], tick: ["bandSize", "thickness"] }, u.defaultMarkConfig = { color: "#4c78a8" }, u.defaultBarConfig = { binSpacing: 1, continuousBandSize: 5 }, u.defaultTickConfig = { thickness: 1 };
    }, function(A, u, a) {
      function s($) {
        return !!R[$];
      }
      function h($) {
        return !!q[$];
      }
      function E($) {
        return !!k[$];
      }
      function f($) {
        return $.substr(3);
      }
      function S($) {
        return !!U[$];
      }
      function _($, V) {
        for (var G = E($), X = G ? new Date(Date.UTC(0, 0, 1, 0, 0, 0, 0)) : new Date(0, 0, 1, 0, 0, 0, 0), K = 0, H = u.TIMEUNIT_PARTS; K < H.length; K++) {
          var Y = H[K];
          if (b($, Y)) switch (Y) {
            case T.DAY:
              throw new Error("Cannot convert to TimeUnits containing 'day'");
            case T.QUARTER:
              var Q = d("month", G), Z = Q.getDateMethod;
              X[Q.setDateMethod](3 * Math.floor(V[Z]() / 3));
              break;
            default:
              var J = d(Y, G), ne = J.getDateMethod;
              X[J.setDateMethod](V[ne]());
          }
        }
        return X;
      }
      function d($, V) {
        var G = W[$];
        return { setDateMethod: V ? "setUTC" + G.substr(3) : G, getDateMethod: "get" + (V ? "UTC" : "") + G.substr(3) };
      }
      function p($) {
        return u.TIMEUNIT_PARTS.reduce(function(V, G) {
          return b($, G) ? V.concat(G) : V;
        }, []);
      }
      function b($, V) {
        var G = $.indexOf(V);
        return G > -1 && (V !== T.SECONDS || G === 0 || $.charAt(G - 1) !== "i");
      }
      function m($, V) {
        function G(Y) {
          return Y === T.QUARTER ? "(" + K + "quarter(" + X + ")-1)" : "" + K + Y + "(" + X + ")";
        }
        var X = "datum" + L.accessPath(V), K = E($) ? "utc" : "", H = u.TIMEUNIT_PARTS.reduce(function(Y, Q) {
          return b($, Q) && (Y[Q] = G(Q)), Y;
        }, {});
        return P.dateTimeExpr(H);
      }
      function v($, V, G, X) {
        if ($) {
          var K = [], H = "", Y = b($, T.YEAR);
          b($, T.QUARTER) && (H = "'Q' + quarter(" + V + ")"), b($, T.MONTH) && K.push(G !== !1 ? "%b" : "%B"), b($, T.DAY) ? K.push(G ? "%a" : "%A") : b($, T.DATE) && K.push("%d" + (Y ? "," : "")), Y && K.push(G ? "%y" : "%Y");
          var Q = [];
          b($, T.HOURS) && Q.push("%H"), b($, T.MINUTES) && Q.push("%M"), b($, T.SECONDS) && Q.push("%S"), b($, T.MILLISECONDS) && Q.push("%L");
          var Z = [];
          return K.length > 0 && Z.push(K.join(" ")), Q.length > 0 && Z.push(Q.join(":")), Z.length > 0 && (H && (H += " + ' ' + "), H += X ? "utcFormat(" + V + ", '" + Z.join(" ") + "')" : "timeFormat(" + V + ", '" + Z.join(" ") + "')"), H || void 0;
        }
      }
      function O($) {
        return $ !== "day" && $.indexOf("day") >= 0 ? (I.warn(I.message.dayReplacedWithDate($)), $.replace("day", "date")) : $;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var T, w = a(3), P = a(108), I = a(8), L = a(2);
      (function($) {
        $.YEAR = "year", $.MONTH = "month", $.DAY = "day", $.DATE = "date", $.HOURS = "hours", $.MINUTES = "minutes", $.SECONDS = "seconds", $.MILLISECONDS = "milliseconds", $.YEARMONTH = "yearmonth", $.YEARMONTHDATE = "yearmonthdate", $.YEARMONTHDATEHOURS = "yearmonthdatehours", $.YEARMONTHDATEHOURSMINUTES = "yearmonthdatehoursminutes", $.YEARMONTHDATEHOURSMINUTESSECONDS = "yearmonthdatehoursminutesseconds", $.MONTHDATE = "monthdate", $.HOURSMINUTES = "hoursminutes", $.HOURSMINUTESSECONDS = "hoursminutesseconds", $.MINUTESSECONDS = "minutesseconds", $.SECONDSMILLISECONDS = "secondsmilliseconds", $.QUARTER = "quarter", $.YEARQUARTER = "yearquarter", $.QUARTERMONTH = "quartermonth", $.YEARQUARTERMONTH = "yearquartermonth", $.UTCYEAR = "utcyear", $.UTCMONTH = "utcmonth", $.UTCDAY = "utcday", $.UTCDATE = "utcdate", $.UTCHOURS = "utchours", $.UTCMINUTES = "utcminutes", $.UTCSECONDS = "utcseconds", $.UTCMILLISECONDS = "utcmilliseconds", $.UTCYEARMONTH = "utcyearmonth", $.UTCYEARMONTHDATE = "utcyearmonthdate", $.UTCYEARMONTHDATEHOURS = "utcyearmonthdatehours", $.UTCYEARMONTHDATEHOURSMINUTES = "utcyearmonthdatehoursminutes", $.UTCYEARMONTHDATEHOURSMINUTESSECONDS = "utcyearmonthdatehoursminutesseconds", $.UTCMONTHDATE = "utcmonthdate", $.UTCHOURSMINUTES = "utchoursminutes", $.UTCHOURSMINUTESSECONDS = "utchoursminutesseconds", $.UTCMINUTESSECONDS = "utcminutesseconds", $.UTCSECONDSMILLISECONDS = "utcsecondsmilliseconds", $.UTCQUARTER = "utcquarter", $.UTCYEARQUARTER = "utcyearquarter", $.UTCQUARTERMONTH = "utcquartermonth", $.UTCYEARQUARTERMONTH = "utcyearquartermonth";
      })(T = u.TimeUnit || (u.TimeUnit = {}));
      var R = { year: 1, quarter: 1, month: 1, day: 1, date: 1, hours: 1, minutes: 1, seconds: 1, milliseconds: 1 };
      u.TIMEUNIT_PARTS = L.flagKeys(R), u.isLocalSingleTimeUnit = s;
      var q = { utcyear: 1, utcquarter: 1, utcmonth: 1, utcday: 1, utcdate: 1, utchours: 1, utcminutes: 1, utcseconds: 1, utcmilliseconds: 1 };
      u.isUtcSingleTimeUnit = h;
      var B = { yearquarter: 1, yearquartermonth: 1, yearmonth: 1, yearmonthdate: 1, yearmonthdatehours: 1, yearmonthdatehoursminutes: 1, yearmonthdatehoursminutesseconds: 1, quartermonth: 1, monthdate: 1, hoursminutes: 1, hoursminutesseconds: 1, minutesseconds: 1, secondsmilliseconds: 1 }, j = { utcyearquarter: 1, utcyearquartermonth: 1, utcyearmonth: 1, utcyearmonthdate: 1, utcyearmonthdatehours: 1, utcyearmonthdatehoursminutes: 1, utcyearmonthdatehoursminutesseconds: 1, utcquartermonth: 1, utcmonthdate: 1, utchoursminutes: 1, utchoursminutesseconds: 1, utcminutesseconds: 1, utcsecondsmilliseconds: 1 }, k = w.__assign({}, q, j);
      u.isUTCTimeUnit = E, u.getLocalTimeUnit = f;
      var U = w.__assign({}, R, q, B, j);
      u.TIMEUNITS = L.flagKeys(U), u.isTimeUnit = S;
      var W = { year: "setFullYear", month: "setMonth", date: "setDate", hours: "setHours", minutes: "setMinutes", seconds: "setSeconds", milliseconds: "setMilliseconds", quarter: null, day: null };
      u.convert = _, u.getTimeUnitParts = p, u.containsTimeUnit = b, u.fieldExpr = m, u.formatExpression = v, u.normalizeTimeUnit = O;
    }, function(A, u, a) {
      u.__esModule = !0, u.default = function(s, h) {
        if (!(s instanceof h)) throw new TypeError("Cannot call a class as a function");
      };
    }, function(A, u, a) {
      u.__esModule = !0;
      var s = a(184), h = function(E) {
        return E && E.__esModule ? E : { default: E };
      }(s);
      u.default = /* @__PURE__ */ function() {
        function E(f, S) {
          for (var _ = 0; _ < S.length; _++) {
            var d = S[_];
            d.enumerable = d.enumerable || !1, d.configurable = !0, "value" in d && (d.writable = !0), (0, h.default)(f, d.key, d);
          }
        }
        return function(f, S, _) {
          return S && E(f.prototype, S), _ && E(f, _), f;
        };
      }();
    }, function(A, u, a) {
      function s(p) {
        return p && p.__esModule ? p : { default: p };
      }
      u.__esModule = !0;
      var h = a(348), E = s(h), f = a(345), S = s(f), _ = a(97), d = s(_);
      u.default = function(p, b) {
        if (typeof b != "function" && b !== null) throw new TypeError("Super expression must either be null or a function, not " + (b === void 0 ? "undefined" : (0, d.default)(b)));
        p.prototype = (0, S.default)(b && b.prototype, { constructor: { value: p, enumerable: !1, writable: !0, configurable: !0 } }), b && (E.default ? (0, E.default)(p, b) : p.__proto__ = b);
      };
    }, function(A, u, a) {
      u.__esModule = !0;
      var s = a(97), h = function(E) {
        return E && E.__esModule ? E : { default: E };
      }(s);
      u.default = function(E, f) {
        if (!E) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return !f || (f === void 0 ? "undefined" : (0, h.default)(f)) !== "object" && typeof f != "function" ? E : f;
      };
    }, function(A, u, a) {
      function s(f) {
        return f === E.Type.ORDINAL || f === E.Type.NOMINAL || f === h.KEY;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h, E = a(13);
      (function(f) {
        f.QUANTITATIVE = E.Type.QUANTITATIVE, f.ORDINAL = E.Type.ORDINAL, f.TEMPORAL = E.Type.TEMPORAL, f.NOMINAL = E.Type.NOMINAL, f.KEY = "key";
      })(h = u.ExpandedType || (u.ExpandedType = {})), u.isDiscrete = s;
    }, function(A, u, a) {
      function s(P) {
        for (var I in P) u.hasOwnProperty(I) || (u[I] = P[I]);
      }
      function h(P) {
        var I = P.undoable.present, L = I.dataset, R = S(I, ["dataset"]), q = L.schema, B = S(L, ["schema"]);
        return f({}, P.persistent, R, { dataset: B, tableschema: q.tableSchema() });
      }
      function E(P) {
        var I = P.dataset, L = (P.tableschema, P.bookmark), R = P.config, q = P.log, B = P.relatedViews, j = P.shelfPreview, k = S(P, ["dataset", "tableschema", "bookmark", "config", "log", "relatedViews", "shelfPreview"]), U = { bookmark: L, config: R, relatedViews: B, shelfPreview: j, log: q }, W = f({}, k, { dataset: f({}, I, { schema: new _.Schema(P.tableschema) }) });
        return { persistent: U, undoable: f({}, u.DEFAULT_UNDOABLE_STATE, { present: W }) };
      }
      var f = this && this.__assign || Object.assign || function(P) {
        for (var I, L = 1, R = arguments.length; L < R; L++) {
          I = arguments[L];
          for (var q in I) Object.prototype.hasOwnProperty.call(I, q) && (P[q] = I[q]);
        }
        return P;
      }, S = this && this.__rest || function(P, I) {
        var L = {};
        for (var R in P) Object.prototype.hasOwnProperty.call(P, R) && I.indexOf(R) < 0 && (L[R] = P[R]);
        if (P != null && typeof Object.getOwnPropertySymbols == "function") for (var q = 0, R = Object.getOwnPropertySymbols(P); q < R.length; q++) I.indexOf(R[q]) < 0 && (L[R[q]] = P[R[q]]);
        return L;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var _ = a(57), d = a(270), p = a(95), b = a(706), m = a(271), v = a(272), O = a(273), T = a(274), w = a(275);
      s(a(270)), s(a(271)), s(a(39)), s(a(93)), s(a(95)), s(a(275)), u.DEFAULT_UNDOABLE_STATE_BASE = { customWildcardFields: b.DEFAULT_CUSTOM_WILDCARD_FIELDS, dataset: m.DEFAULT_DATASET, tab: w.DEFAULT_TAB }, u.DEFAULT_UNDOABLE_STATE = { past: [], present: u.DEFAULT_UNDOABLE_STATE_BASE, future: [], _latestUnfiltered: null, group: null, index: null, limit: 30 }, u.DEFAULT_PERSISTENT_STATE = { bookmark: d.DEFAULT_BOOKMARK, config: p.DEFAULT_VOYAGER_CONFIG, log: v.DEFAULT_LOG, relatedViews: O.DEFAULT_RELATED_VIEWS, shelfPreview: T.DEFAULT_SHELF_PREVIEW }, u.DEFAULT_STATE = { persistent: u.DEFAULT_PERSISTENT_STATE, undoable: u.DEFAULT_UNDOABLE_STATE }, u.toSerializable = h, u.fromSerializable = E;
    }, function(A, u, a) {
      var s = a(135)("wks"), h = a(100), E = a(48).Symbol, f = typeof E == "function";
      (A.exports = function(S) {
        return s[S] || (s[S] = f && E[S] || (f ? E : h)("Symbol." + S));
      }).store = s;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(3), h = function() {
        function f(S, _) {
          this.debugName = _, this._children = [], this._parent = null, S && (this.parent = S);
        }
        return f.prototype.clone = function() {
          throw new Error("Cannot clone node");
        }, f.prototype.producedFields = function() {
          return {};
        }, f.prototype.dependentFields = function() {
          return {};
        }, Object.defineProperty(f.prototype, "parent", { get: function() {
          return this._parent;
        }, set: function(S) {
          this._parent = S, S.addChild(this);
        }, enumerable: !0, configurable: !0 }), Object.defineProperty(f.prototype, "children", { get: function() {
          return this._children;
        }, enumerable: !0, configurable: !0 }), f.prototype.numChildren = function() {
          return this._children.length;
        }, f.prototype.addChild = function(S) {
          this._children.push(S);
        }, f.prototype.removeChild = function(S) {
          this._children.splice(this._children.indexOf(S), 1);
        }, f.prototype.remove = function() {
          for (var S = 0, _ = this._children; S < _.length; S++)
            _[S].parent = this._parent;
          this._parent.removeChild(this);
        }, f.prototype.insertAsParentOf = function(S) {
          var _ = S.parent;
          _.removeChild(this), this.parent = _, S.parent = this;
        }, f.prototype.swapWithParent = function() {
          for (var S = this._parent, _ = S.parent, d = 0, p = this._children; d < p.length; d++)
            p[d].parent = S;
          this._children = [], S.removeChild(this), S.parent.removeChild(S), this.parent = _, S.parent = this;
        }, f;
      }();
      u.DataFlowNode = h;
      var E = function(f) {
        function S(_, d, p, b) {
          var m = f.call(this, _, d) || this;
          return m.type = p, m.refCounts = b, m._source = m._name = d, !m.refCounts || m._name in m.refCounts || (m.refCounts[m._name] = 0), m;
        }
        return s.__extends(S, f), S.prototype.clone = function() {
          var _ = new this.constructor();
          return _.debugName = "clone_" + this.debugName, _._source = this._source, _._name = "clone_" + this._name, _.type = this.type, _.refCounts = this.refCounts, _.refCounts[_._name] = 0, _;
        }, S.prototype.getSource = function() {
          return this.refCounts[this._name]++, this._source;
        }, S.prototype.isRequired = function() {
          return !!this.refCounts[this._name];
        }, S.prototype.setSource = function(_) {
          this._source = _;
        }, S;
      }(h);
      u.OutputNode = E;
    }, function(A, u, a) {
      var s = this && this.__assign || Object.assign || function(h) {
        for (var E, f = 1, S = arguments.length; f < S; f++) {
          E = arguments[f];
          for (var _ in E) Object.prototype.hasOwnProperty.call(E, _) && (h[_] = E[_]);
        }
        return h;
      };
      Object.defineProperty(u, "__esModule", { value: !0 }), u.HISTORY_LIMIT = 20, u.PLOT_HOVER_MIN_DURATION = 500, u.DraggableType = { FIELD: "field" }, function(h) {
        h[h.ENCODING_SHELF = 0] = "ENCODING_SHELF", h[h.FIELD_LIST = 1] = "FIELD_LIST";
      }(u.FieldParentType || (u.FieldParentType = {})), u.SPINNER_COLOR = "#4C78A8", u.DEFAULT_DATASETS = [{ name: "Barley", description: "Barley yield by variety across the upper midwest in 1931 and 1932", url: "data/barley.json", id: "barley", group: "sample" }, { name: "Cars", description: "Automotive statistics for a variety of car models between 1970 & 1982", url: "data/cars.json", id: "cars", group: "sample" }, { name: "Crimea", url: "data/crimea.json", id: "crimea", group: "sample" }, { name: "Driving", url: "data/driving.json", id: "driving", group: "sample" }, { name: "Iris", url: "data/iris.json", id: "iris", group: "sample" }, { name: "Jobs", url: "data/jobs.json", id: "jobs", group: "sample" }, { name: "Population", url: "data/population.json", id: "population", group: "sample" }, { name: "Movies", url: "data/movies.json", id: "movies", group: "sample" }, { name: "Birdstrikes", url: "data/birdstrikes.json", id: "birdstrikes", group: "sample" }, { name: "Burtin", url: "data/burtin.json", id: "burtin", group: "sample" }, { name: "Campaigns", url: "data/weball26.json", id: "weball26", group: "sample" }].map(function(h) {
        return s({}, h, { url: "node_modules/vega-datasets/" + h.url });
      }), u.VOYAGER_CONFIG = { showDataSourceSelector: !0, serverUrl: void 0 };
    }, function(A, u, a) {
      function s(v) {
        for (var O in v) u.hasOwnProperty(O) || (u[O] = v[O]);
      }
      function h(v) {
        return d.isString(v) && m[v];
      }
      function E(v) {
        var O = v.spec, T = v.autoAddCount, w = b.toSpecQuery(O), P = b.hasWildcards(w), I = P.hasAnyWildcard, L = P.hasWildcardFn, R = P.hasWildcardField, q = v.groupBy !== "auto" ? v.groupBy : f({ hasWildcardFn: L, hasWildcardField: R });
        return _({ spec: w, groupBy: q, orderBy: u.DEFAULT_ORDER_BY, chooseBy: u.DEFAULT_CHOOSE_BY }, I ? { config: { autoAddCount: T } } : {});
      }
      function f(v) {
        var O = v.hasWildcardFn, T = v.hasWildcardField;
        return O ? "fieldTransform" : T ? "field" : "encoding";
      }
      function S(v, O) {
        var T = b.toSpecQuery(v);
        return T.encodings.push(p.toFieldQuery(O, "?")), { spec: T, chooseBy: "effectiveness" };
      }
      var _ = this && this.__assign || Object.assign || function(v) {
        for (var O, T = 1, w = arguments.length; T < w; T++) {
          O = arguments[T];
          for (var P in O) Object.prototype.hasOwnProperty.call(O, P) && (v[P] = O[P]);
        }
        return v;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var d = a(4), p = a(55), b = a(55);
      s(a(55)), s(a(44)), u.DEFAULT_SHELF = { spec: b.DEFAULT_SHELF_UNIT_SPEC, filters: [], groupBy: "auto", autoAddCount: !0 };
      var m = { auto: 1, field: 1, fieldTransform: 1, encoding: 1 };
      u.SHELF_GROUP_BYS = Object.keys(m), u.isShelfGroupBy = h, u.DEFAULT_ORDER_BY = ["fieldOrder", "aggregationQuality", "effectiveness"], u.DEFAULT_CHOOSE_BY = ["aggregationQuality", "effectiveness"], u.toQuery = E, u.getDefaultGroupBy = f, u.autoAddFieldQuery = S;
    }, function(A, u, a) {
      function s(h, E, f) {
        return f ? [h, E] : h;
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s, A.exports = u.default;
    }, function(A, u, a) {
      function s(b) {
        return b && b.__esModule ? b : { default: b };
      }
      function h(b, m) {
        var v = {};
        for (var O in b) m.indexOf(O) >= 0 || Object.prototype.hasOwnProperty.call(b, O) && (v[O] = b[O]);
        return v;
      }
      function E(b) {
        var m = b.value, v = b.readonly, O = b.disabled, T = b.autofocus, w = b.onBlur, P = b.options, I = (b.schema, b.formContext, b.registry, h(b, ["value", "readonly", "disabled", "autofocus", "onBlur", "options", "schema", "formContext", "registry"]));
        I.type = P.inputType || I.type || "text";
        var L = function(R) {
          var q = R.target.value;
          return b.onChange(q === "" ? P.emptyValue : q);
        };
        return _.default.createElement("input", f({ className: "form-control", readOnly: v, disabled: O, autoFocus: T, value: m ?? "" }, I, { onChange: L, onBlur: w && function(R) {
          return w(I.id, R.target.value);
        } }));
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = Object.assign || function(b) {
        for (var m = 1; m < arguments.length; m++) {
          var v = arguments[m];
          for (var O in v) Object.prototype.hasOwnProperty.call(v, O) && (b[O] = v[O]);
        }
        return b;
      }, S = a(0), _ = s(S), d = a(1), p = s(d);
      E.defaultProps = { type: "text", required: !1, disabled: !1, readonly: !1, autofocus: !1 }, E.propTypes = { id: p.default.string.isRequired, placeholder: p.default.string, value: p.default.any, required: p.default.bool, disabled: p.default.bool, readonly: p.default.bool, autofocus: p.default.bool, onChange: p.default.func, onBlur: p.default.func }, u.default = E;
    }, function(A, u, a) {
      function s(m) {
        return { explicit: !0, value: m };
      }
      function h(m) {
        return { explicit: !1, value: m };
      }
      function E(m) {
        return function(v, O, T, w) {
          var P = m(v.value, O.value);
          return P > 0 ? v : P < 0 ? O : f(v, O, T, w);
        };
      }
      function f(m, v, O, T) {
        return m.explicit && v.explicit && d.warn(d.message.mergeConflictingProperty(O, T, m.value, v.value)), m;
      }
      function S(m, v, O, T, w) {
        return w === void 0 && (w = f), m === void 0 || m.value === void 0 ? v : m.explicit && !v.explicit ? m : v.explicit && !m.explicit ? v : p.stringify(m.value) === p.stringify(v.value) ? m : w(m, v, O, T);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var _ = a(3), d = a(8), p = a(2), b = function() {
        function m(v, O) {
          v === void 0 && (v = {}), O === void 0 && (O = {}), this.explicit = v, this.implicit = O;
        }
        return m.prototype.clone = function() {
          return new m(p.duplicate(this.explicit), p.duplicate(this.implicit));
        }, m.prototype.combine = function() {
          return _.__assign({}, this.explicit, this.implicit);
        }, m.prototype.get = function(v) {
          return this.explicit[v] !== void 0 ? this.explicit[v] : this.implicit[v];
        }, m.prototype.getWithExplicit = function(v) {
          return this.explicit[v] !== void 0 ? { explicit: !0, value: this.explicit[v] } : this.implicit[v] !== void 0 ? { explicit: !1, value: this.implicit[v] } : { explicit: !1, value: void 0 };
        }, m.prototype.setWithExplicit = function(v, O) {
          O.value !== void 0 && this.set(v, O.value, O.explicit);
        }, m.prototype.set = function(v, O, T) {
          return delete this[T ? "implicit" : "explicit"][v], this[T ? "explicit" : "implicit"][v] = O, this;
        }, m.prototype.copyKeyFromSplit = function(v, O) {
          O.explicit[v] !== void 0 ? this.set(v, O.explicit[v], !0) : O.implicit[v] !== void 0 && this.set(v, O.implicit[v], !1);
        }, m.prototype.copyKeyFromObject = function(v, O) {
          O[v] !== void 0 && this.set(v, O[v], !0);
        }, m;
      }();
      u.Split = b, u.makeExplicit = s, u.makeImplicit = h, u.tieBreakByComparing = E, u.defaultTieBreaker = f, u.mergeValuesWithExplicit = S;
    }, function(A, u, a) {
      function s(m) {
        return !!m.signal;
      }
      function h(m) {
        return !!m.step;
      }
      function E(m) {
        return !d.isArray(m) && "fields" in m && !("data" in m);
      }
      function f(m) {
        return !d.isArray(m) && "fields" in m && "data" in m;
      }
      function S(m) {
        return !d.isArray(m) && "field" in m && "data" in m;
      }
      function _(m) {
        return !d.isArray(m) && "signal" in m;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var d = a(4), p = a(2);
      u.isVgSignalRef = s, u.isVgRangeStep = h, u.isDataRefUnionedDomain = E, u.isFieldRefUnionDomain = f, u.isDataRefDomain = S, u.isSignalRefDomain = _;
      var b = { opacity: 1, fill: 1, fillOpacity: 1, stroke: 1, strokeCap: 1, strokeWidth: 1, strokeOpacity: 1, strokeDash: 1, strokeDashOffset: 1, size: 1, shape: 1, interpolate: 1, tension: 1, orient: 1, align: 1, baseline: 1, text: 1, limit: 1, dx: 1, dy: 1, radius: 1, theta: 1, angle: 1, font: 1, fontSize: 1, fontWeight: 1, fontStyle: 1, cursor: 1, href: 1 };
      u.VG_MARK_CONFIGS = p.flagKeys(b);
    }, function(A, u, a) {
      function s(R) {
        return R ? R.map(function(q) {
          if (!L.isFilter(q)) throw new Error("Voyager does not support transforms other than FilterTransform");
          if (!P.isFieldRangePredicate(q.filter) && !P.isFieldOneOfPredicate(q.filter)) throw new Error("Voyager does not support filters other than RangeFilter and OneOfFilter");
          return q.filter;
        }) : [];
      }
      function h(R) {
        return R.map(function(q) {
          return { filter: q };
        });
      }
      function E(R) {
        var q = "(" + R.map(function(U) {
          return P.fieldFilterExpression(U, !1);
        }).join(")&&(") + ")", B = w.parse(q), j = w.codegen({ whitelist: ["datum"], globalvar: "global" }), k = j(B);
        return new Function("datum", "return " + k.code + ";");
      }
      function f(R, q) {
        var B = R.field, j = R.type, k = R.fn;
        if (!T.isWildcard(B)) switch (j) {
          case O.ExpandedType.QUANTITATIVE:
            return { field: B, range: q };
          case O.ExpandedType.TEMPORAL:
            var U = !T.isWildcard(k) && I.isTimeUnit(k) ? k : "year";
            return { timeUnit: U, field: B, range: _(q, U) };
          case O.ExpandedType.NOMINAL:
          case O.ExpandedType.ORDINAL:
          case O.ExpandedType.KEY:
            return { field: B, oneOf: q };
          default:
            throw new Error("Unsupported type " + R.type);
        }
      }
      function S() {
        return [I.TimeUnit.YEARMONTHDATE, I.TimeUnit.YEAR, I.TimeUnit.MONTH, I.TimeUnit.QUARTER, I.TimeUnit.DATE, I.TimeUnit.DAY, I.TimeUnit.HOURS, I.TimeUnit.MINUTES, I.TimeUnit.SECONDS, I.TimeUnit.MILLISECONDS];
      }
      function _(R, q) {
        switch (q) {
          case I.TimeUnit.YEARMONTHDATE:
            return [p(Number(I.convert(q, new Date(R[0])))), p(Number(I.convert(q, new Date(R[1]))))];
          case I.TimeUnit.YEAR:
            return [I.convert(q, new Date(R[0])).getFullYear(), I.convert(q, new Date(R[1])).getFullYear()];
          case I.TimeUnit.QUARTER:
            return [1, 4];
          case I.TimeUnit.DATE:
            return [1, 31];
          case I.TimeUnit.HOURS:
            return [0, 23];
          case I.TimeUnit.MINUTES:
          case I.TimeUnit.SECONDS:
            return [0, 59];
          case I.TimeUnit.MILLISECONDS:
            return [0, 999];
          case void 0:
            return [p(Number(R[0])), p(Number(R[1]))];
        }
        throw new Error("Cannot determine range for unsupported time unit " + q);
      }
      function d(R) {
        switch (R) {
          case I.TimeUnit.MONTH:
            return ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
          case I.TimeUnit.DAY:
            return ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"];
          default:
            throw new Error("Invalid time unit " + R);
        }
      }
      function p(R) {
        var q = new Date(R);
        return { year: q.getFullYear(), quarter: Math.floor((q.getMonth() + 3) / 3), month: q.getMonth() + 1, date: q.getDate(), hours: q.getHours(), minutes: q.getMinutes(), seconds: q.getSeconds(), milliseconds: q.getMilliseconds(), utc: q.getTimezoneOffset() === 0 };
      }
      function b(R) {
        var q = new Date(R.year, Number(R.month) - 1, R.date, R.hours, R.minutes, R.seconds, R.milliseconds);
        return Number(q);
      }
      function m(R, q) {
        for (var B = 0; B < R.length; B++)
          if (R[B].field === q) return B;
        return -1;
      }
      function v(R, q) {
        return m(R, q) >= 0;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var O = a(34), T = a(6), w = a(595), P = a(88), I = a(29), L = a(161);
      u.fromTransforms = s, u.toTransforms = h, u.toPredicateFunction = E, u.createDefaultFilter = f, u.getAllTimeUnits = S, u.getDefaultTimeRange = _, u.getDefaultList = d, u.convertToDateTimeObject = p, u.convertToTimestamp = b, u.filterIndexOf = m, u.filterHasField = v;
    }, function(A, u, a) {
      var s, h;
      (function() {
        function E() {
          for (var S = [], _ = 0; _ < arguments.length; _++) {
            var d = arguments[_];
            if (d) {
              var p = typeof d;
              if (p === "string" || p === "number") S.push(d);
              else if (Array.isArray(d)) S.push(E.apply(null, d));
              else if (p === "object") for (var b in d) f.call(d, b) && d[b] && S.push(b);
            }
          }
          return S.join(" ");
        }
        var f = {}.hasOwnProperty;
        A !== void 0 && A.exports ? A.exports = E : (s = [], (h = (function() {
          return E;
        }).apply(u, s)) !== void 0 && (A.exports = h));
      })();
    }, function(A, u, a) {
      var s = this && this.__assign || Object.assign || function(S) {
        for (var _, d = 1, p = arguments.length; d < p; d++) {
          _ = arguments[d];
          for (var b in _) Object.prototype.hasOwnProperty.call(_, b) && (S[b] = _[b]);
        }
        return S;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(15), E = a(18), f = function() {
        function S(_) {
          _ === void 0 && (_ = null), this.index = _ ? s({}, _) : {};
        }
        return S.prototype.has = function(_) {
          return E.toKey(_) in this.index;
        }, S.prototype.get = function(_) {
          return this.index[E.toKey(_)];
        }, S.prototype.set = function(_, d) {
          return this.index[E.toKey(_)] = d, this;
        }, S.prototype.setByKey = function(_, d) {
          this.index[_] = d;
        }, S.prototype.map = function(_) {
          var d = new S();
          for (var p in this.index) d.index[p] = _(this.index[p]);
          return d;
        }, S.prototype.size = function() {
          return h.keys(this.index).length;
        }, S.prototype.duplicate = function() {
          return new S(this.index);
        }, S;
      }();
      u.PropIndex = f;
    }, function(A, u, a) {
      var s = a(48), h = a(25), E = a(126), f = a(70), S = function(_, d, p) {
        var b, m, v, O = _ & S.F, T = _ & S.G, w = _ & S.S, P = _ & S.P, I = _ & S.B, L = _ & S.W, R = T ? h : h[d] || (h[d] = {}), q = R.prototype, B = T ? s : w ? s[d] : (s[d] || {}).prototype;
        T && (p = d);
        for (b in p) (m = !O && B && B[b] !== void 0) && b in R || (v = m ? B[b] : p[b], R[b] = T && typeof B[b] != "function" ? p[b] : I && m ? E(v, s) : L && B[b] == v ? function(j) {
          var k = function(U, W, $) {
            if (this instanceof j) {
              switch (arguments.length) {
                case 0:
                  return new j();
                case 1:
                  return new j(U);
                case 2:
                  return new j(U, W);
              }
              return new j(U, W, $);
            }
            return j.apply(this, arguments);
          };
          return k.prototype = j.prototype, k;
        }(v) : P && typeof v == "function" ? E(Function.call, v) : v, P && ((R.virtual || (R.virtual = {}))[b] = v, _ & S.R && q && !q[b] && f(q, b, v)));
      };
      S.F = 1, S.G = 2, S.S = 4, S.P = 8, S.B = 16, S.W = 32, S.U = 64, S.R = 128, A.exports = S;
    }, function(A, u) {
      var a = A.exports = typeof window < "u" && window.Math == Math ? window : typeof self < "u" && self.Math == Math ? self : Function("return this")();
      typeof __g == "number" && (__g = a);
    }, function(A, u, a) {
      var s = a(68), h = a(191), E = a(137), f = Object.defineProperty;
      u.f = a(58) ? Object.defineProperty : function(S, _, d) {
        if (s(S), _ = E(_, !0), s(d), h) try {
          return f(S, _, d);
        } catch {
        }
        if ("get" in d || "set" in d) throw TypeError("Accessors not supported!");
        return "value" in d && (S[_] = d.value), S;
      };
    }, function(A, u, a) {
      var s = a(192), h = a(127);
      A.exports = function(E) {
        return s(h(E));
      };
    }, function(A, u, a) {
      var s = a(0), h = a(422);
      if (s === void 0) throw Error("create-react-class could not find the React object. If you are using script tags, make sure that React is being loaded before create-react-class.");
      var E = new s.Component().updater;
      A.exports = h(s.Component, s.isValidElement, E);
    }, function(A, u, a) {
      function s(U, W, $) {
        for (var V = 0, G = $; V < G.length; V++) {
          var X = G[V], K = W[X];
          K !== void 0 && (U[X] = { value: K });
        }
        return U;
      }
      function h(U, W, $) {
        for (var V = 0, G = $; V < G.length; V++) {
          var X = G[V], K = f(X, W.markDef, W.config);
          K !== void 0 && (U[X] = { value: K });
        }
        return U;
      }
      function E(U) {
        return [].concat(U.type, U.style || []);
      }
      function f(U, W, $) {
        var V = $.mark[U], G = $[W.type];
        G[U] !== void 0 && (V = G[U]);
        for (var X = E(W), K = 0, H = X; K < H.length; K++) {
          var Y = H[K], Q = $.style[Y], Z = U;
          Q && Q[Z] !== void 0 && (V = Q[Z]);
        }
        return V;
      }
      function S(U, W, $, V) {
        var G = d(U, W, V);
        if (U.bin)
          return { signal: m(R.vgField(U, { expr: $ }), R.vgField(U, { expr: $, binSuffix: "end" }), G, V) };
        if (U.type === "quantitative") return { signal: "" + p(R.vgField(U, { expr: $, binSuffix: "range" }), G) };
        if (R.isTimeFieldDef(U)) {
          var X = R.isScaleFieldDef(U) && U.scale && U.scale.type === q.ScaleType.UTC;
          return { signal: v(R.vgField(U, { expr: $ }), U.timeUnit, W, V.text.shortTimeLabels, V.timeFormat, X) };
        }
        return { signal: "''+" + R.vgField(U, { expr: $ }) };
      }
      function _(U, W) {
        return U !== void 0 ? U : W;
      }
      function d(U, W, $) {
        if (U.type === j.QUANTITATIVE) return W || $.numberFormat;
      }
      function p(U, W) {
        return "format(" + U + ', "' + (W || "") + '")';
      }
      function b(U, W, $) {
        return p(U, W || $.numberFormat);
      }
      function m(U, W, $, V) {
        return U + " === null || isNaN(" + U + ') ? "null" : ' + b(U, $, V) + ' + " - " + ' + b(W, $, V);
      }
      function v(U, W, $, V, G, X) {
        if (!W || $) {
          var K = $ || G;
          return X ? "utcFormat(" + U + ", '" + K + "')" : "timeFormat(" + U + ", '" + K + "')";
        }
        return B.formatExpression(W, U, V, X);
      }
      function O(U, W) {
        return (I.isArray(U) ? U : [U]).reduce(function($, V) {
          return $.field.push(R.vgField(V, W)), $.order.push(V.sort || "ascending"), $;
        }, { field: [], order: [] });
      }
      function T(U, W) {
        var $ = U.slice();
        return W.forEach(function(V) {
          for (var G = 0, X = $; G < X.length; G++) {
            var K = X[G];
            if (k.stringify(K) === k.stringify(V)) return;
          }
          $.push(V);
        }), $;
      }
      function w(U, W) {
        if (I.isArray(U.value) && I.isArray(W.value)) return { explicit: U.explicit, value: T(U.value, W.value) };
        if (!I.isArray(U.value) && !I.isArray(W.value)) return { explicit: U.explicit, value: U.value === W.value ? U.value : U.value + ", " + W.value };
        throw new Error("It should never reach here");
      }
      function P(U, W) {
        return U.bin ? L.isScaleChannel(W) && k.contains(["ordinal", "nominal"], U.type) : (console.warn("Only use this method with binned field defs"), !1);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var I = a(4), L = a(5), R = a(10), q = a(9), B = a(29), j = a(13), k = a(2);
      u.applyConfig = s, u.applyMarkConfig = h, u.getStyles = E, u.getMarkConfig = f, u.formatSignalRef = S, u.getSpecifiedOrDefaultValue = _, u.numberFormat = d, u.numberFormatExpr = b, u.binFormatExpression = m, u.timeFormatExpression = v, u.sortParams = O, u.mergeTitleFieldDefs = T, u.titleMerger = w, u.binRequiresRange = P;
    }, function(A, u, a) {
      function s(f) {
        return !!f.url;
      }
      function h(f) {
        return !!f.values;
      }
      function E(f) {
        return !!f.name;
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.isUrlData = s, u.isInlineData = h, u.isNamedData = E, u.MAIN = "main", u.RAW = "raw";
    }, function(A, u, a) {
      function s(h) {
        return u.SPEC_ACTION_TYPE_INDEX[h.type];
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.SPEC_CLEAR = "SPEC_CLEAR", u.SPEC_MARK_CHANGE_TYPE = "SPEC_MARK_CHANGE_TYPE", u.SPEC_FIELD_ADD = "SPEC_FIELD_ADD", u.SPEC_FIELD_AUTO_ADD = "SPEC_FIELD_AUTO_ADD", u.SPEC_FIELD_REMOVE = "SPEC_FIELD_REMOVE", u.SPEC_FIELD_MOVE = "SPEC_FIELD_MOVE", u.SPEC_FIELD_PROP_CHANGE = "SPEC_FIELD_PROP_CHANGE", u.SPEC_FIELD_NESTED_PROP_CHANGE = "SPEC_FIELD_NESTED_PROP_CHANGE", u.SPEC_FUNCTION_CHANGE = "SPEC_FUNCTION_CHANGE", u.SPEC_FUNCTION_ADD_WILDCARD = "SPEC_FUNCTION_ADD_WILDCARD", u.SPEC_FUNCTION_DISABLE_WILDCARD = "SPEC_FUNCTION_DISABLE_WILDCARD", u.SPEC_FUNCTION_ENABLE_WILDCARD = "SPEC_FUNCTION_ENABLE_WILDCARD", u.SPEC_FUNCTION_REMOVE_WILDCARD = "SPEC_FUNCTION_REMOVE_WILDCARD", u.SPEC_VALUE_CHANGE = "SPEC_VALUE_CHANGE", u.SPEC_LOAD = "SPEC_LOAD", u.SPEC_ACTION_TYPE_INDEX = { SPEC_CLEAR: 1, SPEC_LOAD: 1, SPEC_MARK_CHANGE_TYPE: 1, SPEC_FIELD_ADD: 1, SPEC_FIELD_AUTO_ADD: 1, SPEC_FIELD_MOVE: 1, SPEC_FIELD_PROP_CHANGE: 1, SPEC_FIELD_NESTED_PROP_CHANGE: 1, SPEC_FIELD_REMOVE: 1, SPEC_FUNCTION_CHANGE: 1, SPEC_FUNCTION_ADD_WILDCARD: 1, SPEC_FUNCTION_DISABLE_WILDCARD: 1, SPEC_FUNCTION_ENABLE_WILDCARD: 1, SPEC_FUNCTION_REMOVE_WILDCARD: 1, SPEC_VALUE_CHANGE: 1 }, u.isSpecAction = s;
    }, function(A, u, a) {
      function s(m) {
        for (var v in m) u.hasOwnProperty(v) || (u[v] = m[v]);
      }
      function h(m) {
        var v = m.config, O = S(m.encoding).concat(m.anyEncodings.map(function(T) {
          return b.toEncodingQuery(T, "?");
        }));
        return { mark: m.mark, encodings: O, config: v };
      }
      function E(m, v) {
        var O = m.mark, T = m.encodings, w = m.config, P = m.transform;
        if (p.isWildcardDef(O)) throw new Error("Voyager 2 does not support custom wildcard mark yet");
        if (P && P.length > 0) throw new Error("fromSpecQuery should not contain transform");
        return _({ mark: O }, b.fromEncodingQueries(T), { config: w || v });
      }
      function f(m) {
        for (var v = !1, O = !1, T = !1, w = 0, P = m.encodings; w < P.length; w++) {
          var I = P[w];
          d.isValueQuery(I) || (d.isAutoCountQuery(I) ? p.isWildcard(I.autoCount) && (O = !0) : (p.isWildcard(I.field) && (v = !0), (p.isWildcard(I.aggregate) || p.isWildcard(I.bin) || p.isWildcard(I.timeUnit)) && (O = !0), p.isWildcard(I.channel) && (T = !0)));
        }
        return { hasAnyWildcard: T || v || O, hasWildcardField: v, hasWildcardFn: O, hasWildcardChannel: T };
      }
      function S(m) {
        return Object.keys(m).map(function(v) {
          return b.toFieldQuery(m[v], v);
        });
      }
      var _ = this && this.__assign || Object.assign || function(m) {
        for (var v, O = 1, T = arguments.length; O < T; O++) {
          v = arguments[O];
          for (var w in v) Object.prototype.hasOwnProperty.call(v, w) && (m[w] = v[w]);
        }
        return m;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var d = a(16), p = a(6), b = a(169);
      s(a(169)), s(a(170)), u.toSpecQuery = h, u.fromSpecQuery = E, u.hasWildcards = f, u.DEFAULT_SHELF_UNIT_SPEC = { mark: p.SHORT_WILDCARD, encoding: {}, anyEncodings: [], config: {} };
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(86), h = a(39), E = a(55), f = a(172);
      u.selectShelf = s.createSelector(f.selectActiveTab, function(S) {
        return S.shelf;
      }), u.selectShelfGroupBy = s.createSelector(u.selectShelf, function(S) {
        return S.groupBy;
      }), u.selectShelfSpec = s.createSelector(u.selectShelf, function(S) {
        return S.spec;
      }), u.selectFilters = s.createSelector(u.selectShelf, function(S) {
        return S.filters;
      }), u.selectShelfAutoAddCount = s.createSelector(u.selectShelf, function(S) {
        return S.autoAddCount;
      }), u.selectQuery = s.createSelector(u.selectShelfSpec, u.selectShelfGroupBy, u.selectShelfAutoAddCount, function(S, _, d) {
        return h.toQuery({ spec: S, groupBy: _, autoAddCount: d });
      }), u.selectQuerySpec = s.createSelector(u.selectQuery, function(S) {
        return S.spec;
      }), u.selectDefaultGroupBy = s.createSelector(u.selectQuerySpec, function(S) {
        return h.getDefaultGroupBy(E.hasWildcards(S));
      }), u.selectIsQuerySpecific = s.createSelector(u.selectQuerySpec, function(S) {
        return !E.hasWildcards(S).hasAnyWildcard;
      }), u.selectIsQueryEmpty = s.createSelector(u.selectQuerySpec, function(S) {
        return S.encodings.length === 0;
      });
    }, function(A, u, a) {
      function s(j, k, U) {
        k === void 0 && (k = {}), U === void 0 && (U = { fields: [] }), k = I.extend({}, P.DEFAULT_QUERY_CONFIG, k);
        for (var W = m.summary(j), $ = v.inferAll(j), V = U.fields.reduce(function(ee, te) {
          return ee[te.name] = te, ee;
        }, {}), G = W.map(function(ee, te) {
          var ue, le = ee.field, ae = $[le] === "date" ? B.DATETIME : $[le], ce = ee.distinct;
          if (ae === B.NUMBER) ue = d.Type.QUANTITATIVE;
          else if (ae === B.INTEGER) ue = ce < k.numberNominalLimit && ce / ee.count < k.numberNominalProportion ? d.Type.NOMINAL : d.Type.QUANTITATIVE;
          else if (ae === B.DATETIME) {
            ue = d.Type.TEMPORAL, ee.min = new Date(j[0][le]), ee.max = new Date(j[0][le]);
            for (var pe = 0, de = j; pe < de.length; pe++) {
              var he = de[pe], Ee = new Date(he[le]).getTime();
              Ee < ee.min.getTime() && (ee.min = new Date(Ee)), Ee > ee.max.getTime() && (ee.max = new Date(Ee));
            }
          } else ue = d.Type.NOMINAL;
          ue === d.Type.NOMINAL && ce / ee.count > k.minPercentUniqueForKey && ee.count > k.minCardinalityForKey && (ue = w.ExpandedType.KEY);
          var ye = { name: le, originalIndex: te, vlType: ue, type: ae, stats: ee, timeStats: {}, binStats: {} }, _e = V[ye.name];
          return ye = I.extend(ye, _e);
        }), X = 0, K = G; X < K.length; X++) {
          var H = K[X];
          if (H.vlType === d.Type.QUANTITATIVE) for (var Y = 0, Q = k.enum.binProps.maxbins; Y < Q.length; Y++) {
            var Z = Q[Y];
            H.binStats[Z] = h(Z, H.stats);
          }
          else if (H.vlType === d.Type.TEMPORAL) for (var J = 0, ne = k.enum.timeUnit; J < ne.length; J++) {
            var ie = ne[J];
            ie !== void 0 && (H.timeStats[ie] = E(ie, H.stats));
          }
        }
        var re = _({}, U, { fields: G });
        return new q(re);
      }
      function h(j, k) {
        var U = L({ min: k.min, max: k.max, maxbins: j }), W = I.extend({}, k);
        return W.unique = f(U, k.unique), W.distinct = (U.stop - U.start) / U.step, W.min = U.start, W.max = U.stop, W;
      }
      function E(j, k) {
        var U = I.extend({}, k), W = {};
        return I.keys(k.unique).forEach(function($) {
          var V, G = $ === "null" ? null : new Date($);
          V = G === null ? null : isNaN(G.getTime()) ? "Invalid Date" : (j === b.TimeUnit.DAY ? G.getDay() : b.convert(j, G)).toString(), W[V] = (W[V] || 0) + k.unique[$];
        }), U.unique = W, U.distinct = I.keys(W).length, U;
      }
      function f(j, k) {
        var U = {};
        for (var W in k) {
          var $ = void 0;
          $ = W === null ? null : isNaN(Number(W)) ? NaN : j.value(Number(W)), U[$] = (U[$] || 0) + k[W];
        }
        return U;
      }
      function S(j, k) {
        return k.reduce(function(U, W) {
          return j[W] ? U + 1 : U;
        }, 0);
      }
      var _ = this && this.__assign || Object.assign || function(j) {
        for (var k, U = 1, W = arguments.length; U < W; U++) {
          k = arguments[U];
          for (var $ in k) Object.prototype.hasOwnProperty.call(k, $) && (j[$] = k[$]);
        }
        return j;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var d = a(13), p = a(156), b = a(29), m = a(428), v = a(202), O = a(426), T = a(16), w = a(34), P = a(66), I = a(15), L = O;
      u.build = s;
      var R = { nominal: 0, key: 1, ordinal: 2, temporal: 3, quantitative: 4 }, q = function() {
        function j(k) {
          this._tableSchema = k, k.fields.sort(function(U, W) {
            return R[U.vlType] < R[W.vlType] ? -1 : R[U.vlType] > R[W.vlType] ? 1 : U.name.localeCompare(W.name);
          }), k.fields.forEach(function(U, W) {
            return U.index = W;
          }), this._fieldSchemaIndex = k.fields.reduce(function(U, W) {
            return U[W.name] = W, U;
          }, {});
        }
        return j.prototype.fieldNames = function() {
          return this._tableSchema.fields.map(function(k) {
            return k.name;
          });
        }, Object.defineProperty(j.prototype, "fieldSchemas", { get: function() {
          return this._tableSchema.fields;
        }, enumerable: !0, configurable: !0 }), j.prototype.fieldSchema = function(k) {
          return this._fieldSchemaIndex[k];
        }, j.prototype.tableSchema = function() {
          var k = I.duplicate(this._tableSchema);
          return k.fields.sort(function(U, W) {
            return U.originalIndex - W.originalIndex;
          }), k;
        }, j.prototype.primitiveType = function(k) {
          return this._fieldSchemaIndex[k] ? this._fieldSchemaIndex[k].type : null;
        }, j.prototype.vlType = function(k) {
          return this._fieldSchemaIndex[k] ? this._fieldSchemaIndex[k].vlType : null;
        }, j.prototype.cardinality = function(k, U, W) {
          U === void 0 && (U = !0), W === void 0 && (W = !1);
          var $ = this._fieldSchemaIndex[k.field];
          if (k.aggregate || T.isAutoCountQuery(k) && k.autoCount) return 1;
          if (k.bin) {
            var V = void 0;
            V = typeof k.bin == "boolean" ? { maxbins: p.autoMaxBins(k.channel) } : k.bin === "?" ? { enum: [!0, !1] } : k.bin;
            var G = V.maxbins;
            return $.binStats[G] || ($.binStats[G] = h(G, $.stats)), $.binStats[G].distinct;
          }
          if (k.timeUnit) {
            if (U) switch (k.timeUnit) {
              case b.TimeUnit.SECONDS:
              case b.TimeUnit.MINUTES:
                return 60;
              case b.TimeUnit.HOURS:
                return 24;
              case b.TimeUnit.DAY:
                return 7;
              case b.TimeUnit.DATE:
                return 31;
              case b.TimeUnit.MONTH:
                return 12;
              case b.TimeUnit.QUARTER:
                return 4;
              case b.TimeUnit.MILLISECONDS:
                return 1e3;
            }
            var X = k.timeUnit, K = $.timeStats;
            return K && K[X] || (K = _({}, K, (H = {}, H[X] = E(k.timeUnit, $.stats), H))), W ? K[X].distinct - S(K[X].unique, ["Invalid Date", null]) : K[X].distinct;
          }
          return $ ? W ? $.stats.distinct - S($.stats.unique, [NaN, null]) : $.stats.distinct : null;
          var H;
        }, j.prototype.timeUnitHasVariation = function(k) {
          if (k.timeUnit) {
            if (k.timeUnit === b.TimeUnit.DAY) {
              var U = I.extend({}, k, { timeUnit: b.TimeUnit.DATE });
              if (this.cardinality(U, !1, !0) <= 1) return !1;
            }
            for (var W = k.timeUnit, $ = 0, V = b.TIMEUNIT_PARTS; $ < V.length; $++) {
              var G = V[$];
              if (b.containsTimeUnit(W, G)) {
                var X = I.extend({}, k, { timeUnit: G });
                if (this.cardinality(X, !1, !0) <= 1) return !1;
              }
            }
            return !0;
          }
        }, j.prototype.domain = function(k) {
          var U = this._fieldSchemaIndex[k.field], W = I.keys(U.stats.unique);
          return U.vlType === d.Type.QUANTITATIVE ? [+U.stats.min, +U.stats.max] : U.type === B.DATETIME ? [U.stats.min, U.stats.max] : U.type === B.INTEGER || U.type === B.NUMBER ? (W = W.map(function($) {
            return +$;
          }), W.sort(I.cmp)) : U.vlType === d.Type.ORDINAL && U.ordinalDomain ? U.ordinalDomain : W.map(function($) {
            return $ === "null" ? null : $;
          }).sort(I.cmp);
        }, j.prototype.stats = function(k) {
          var U = this._fieldSchemaIndex[k.field];
          return U ? U.stats : null;
        }, j;
      }();
      u.Schema = q;
      var B;
      (function(j) {
        j[j.STRING = "string"] = "STRING", j[j.NUMBER = "number"] = "NUMBER", j[j.INTEGER = "integer"] = "INTEGER", j[j.BOOLEAN = "boolean"] = "BOOLEAN", j[j.DATETIME = "datetime"] = "DATETIME";
      })(B = u.PrimitiveType || (u.PrimitiveType = {}));
    }, function(A, u, a) {
      A.exports = !a(69)(function() {
        return Object.defineProperty({}, "a", { get: function() {
          return 7;
        } }).a != 7;
      });
    }, function(A, u) {
      var a = {}.hasOwnProperty;
      A.exports = function(s, h) {
        return a.call(s, h);
      };
    }, function(A, u, a) {
      function s(_) {
        return !!S[_];
      }
      function h(_) {
        return _ && f.contains(u.COUNTING_OPS, _);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(4), f = a(2), S = { argmax: 1, argmin: 1, average: 1, count: 1, distinct: 1, max: 1, mean: 1, median: 1, min: 1, missing: 1, q1: 1, q3: 1, ci0: 1, ci1: 1, stderr: 1, stdev: 1, stdevp: 1, sum: 1, valid: 1, values: 1, variance: 1, variancep: 1 };
      u.AGGREGATE_OPS = f.flagKeys(S), u.isAggregateOp = s, u.COUNTING_OPS = ["count", "valid", "missing", "distinct"], u.isCountingAggregateOp = h, u.SUM_OPS = ["count", "sum", "distinct", "valid", "missing"], u.SHARED_DOMAIN_OPS = ["mean", "average", "median", "q1", "q3", "min", "max"], u.SHARED_DOMAIN_OP_INDEX = E.toSet(u.SHARED_DOMAIN_OPS);
    }, function(A, u, a) {
      function s() {
        return function(h) {
          return { handleAction: function(E) {
            h(E);
          } };
        };
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.createDispatchHandler = s;
    }, function(A, u, a) {
      function s(f, S) {
        return { item: f[S], array: f.slice(0, S).concat(f.slice(S + 1)) };
      }
      function h(f, S, _) {
        return f.slice(0, S).concat([_], f.slice(S));
      }
      function E(f, S, _) {
        return f.slice(0, S).concat([_(f[S])], f.slice(S + 1));
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.removeItemFromArray = s, u.insertItemToArray = h, u.modifyItemInArray = E;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(6), h = a(86);
      u.selectData = function(f) {
        return f.undoable.present.dataset.data;
      }, u.selectDataset = function(f) {
        return f.undoable.present.dataset;
      }, u.selectSchema = function(f) {
        return f.undoable.present.dataset.schema;
      };
      var E = [{ field: s.SHORT_WILDCARD, type: "quantitative", description: "Quantitative Fields" }, { field: s.SHORT_WILDCARD, type: "nominal", description: "Categorical Fields" }, { field: s.SHORT_WILDCARD, type: "temporal", description: "Temporal Fields" }];
      u.selectPresetWildcardFields = h.createSelector(u.selectSchema, function(f) {
        if (!f) return [];
        var S = f.fieldSchemas.reduce(function(_, d) {
          return _[d.vlType] = !0, _;
        }, {});
        return E.filter(function(_) {
          return S[_.type];
        });
      }), u.selectSchemaFieldDefs = h.createSelector(u.selectSchema, function(f) {
        return f ? f.fieldSchemas.map(function(S) {
          return { field: S.name, type: S.vlType };
        }) : [];
      });
    }, function(A, u, a) {
      function s(ue, le) {
        le = le || {};
        for (var ae in ue) le[ae] = ue[ae];
        return le;
      }
      function h(ue, le, ae) {
        var ce = ae ? " !== " : " === ", pe = ae ? " || " : " && ", de = ae ? "!" : "", he = ae ? "" : "!";
        switch (ue) {
          case "null":
            return le + ce + "null";
          case "array":
            return de + "Array.isArray(" + le + ")";
          case "object":
            return "(" + de + le + pe + "typeof " + le + ce + '"object"' + pe + he + "Array.isArray(" + le + "))";
          case "integer":
            return "(typeof " + le + ce + '"number"' + pe + he + "(" + le + " % 1)" + pe + le + ce + le + ")";
          default:
            return "typeof " + le + ce + '"' + ue + '"';
        }
      }
      function E(ue, le) {
        switch (ue.length) {
          case 1:
            return h(ue[0], le, !0);
          default:
            var ae = "", ce = S(ue);
            ce.array && ce.object && (ae = ce.null ? "(" : "(!" + le + " || ", ae += "typeof " + le + ' !== "object")', delete ce.null, delete ce.array, delete ce.object), ce.number && delete ce.integer;
            for (var pe in ce) ae += (ae ? " && " : "") + h(pe, le, !0);
            return ae;
        }
      }
      function f(ue, le) {
        if (Array.isArray(le)) {
          for (var ae = [], ce = 0; ce < le.length; ce++) {
            var pe = le[ce];
            (U[pe] || ue === "array" && pe === "array") && (ae[ae.length] = pe);
          }
          if (ae.length) return ae;
        } else {
          if (U[le]) return [le];
          if (ue === "array" && le === "array") return ["array"];
        }
      }
      function S(ue) {
        for (var le = {}, ae = 0; ae < ue.length; ae++) le[ue[ae]] = !0;
        return le;
      }
      function _(ue) {
        return typeof ue == "number" ? "[" + ue + "]" : W.test(ue) ? "." + ue : "['" + d(ue) + "']";
      }
      function d(ue) {
        return ue.replace($, "\\$&").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\f/g, "\\f").replace(/\t/g, "\\t");
      }
      function p(ue, le) {
        le += "[^0-9]";
        var ae = ue.match(new RegExp(le, "g"));
        return ae ? ae.length : 0;
      }
      function b(ue, le, ae) {
        return le += "([^0-9])", ae = ae.replace(/\$/g, "$$$$"), ue.replace(new RegExp(le, "g"), ae + "$1");
      }
      function m(ue) {
        return ue.replace(V, "").replace(G, "").replace(X, "if (!($1))");
      }
      function v(ue, le) {
        var ae = ue.match(K);
        return ae && ae.length == 2 && (ue = le ? ue.replace(Y, "").replace(J, ne) : ue.replace(H, "").replace(Q, Z)), ae = ue.match(ie), ae && ae.length === 3 ? ue.replace(re, "") : ue;
      }
      function O(ue, le) {
        if (typeof ue == "boolean") return !ue;
        for (var ae in ue) if (le[ae]) return !0;
      }
      function T(ue, le, ae) {
        if (typeof ue == "boolean") return !ue && ae != "not";
        for (var ce in ue) if (ce != ae && le[ce]) return !0;
      }
      function w(ue) {
        return "'" + d(ue) + "'";
      }
      function P(ue, le, ae, ce) {
        return R(ue, ae ? "'/' + " + le + (ce ? "" : ".replace(/~/g, '~0').replace(/\\//g, '~1')") : ce ? "'[' + " + le + " + ']'" : "'[\\'' + " + le + " + '\\']'");
      }
      function I(ue, le, ae) {
        return R(ue, w(ae ? "/" + j(le) : _(le)));
      }
      function L(ue, le, ae) {
        var ce, pe, de, he;
        if (ue === "") return "rootData";
        if (ue[0] == "/") {
          if (!ee.test(ue)) throw new Error("Invalid JSON-pointer: " + ue);
          pe = ue, de = "rootData";
        } else {
          if (!(he = ue.match(te))) throw new Error("Invalid JSON-pointer: " + ue);
          if (ce = +he[1], (pe = he[2]) == "#") {
            if (ce >= le) throw new Error("Cannot access property/index " + ce + " levels up, current level is " + le);
            return ae[le - ce];
          }
          if (ce > le) throw new Error("Cannot access data " + ce + " levels up, current level is " + le);
          if (de = "data" + (le - ce || ""), !pe) return de;
        }
        for (var Ee = de, ye = pe.split("/"), _e = 0; _e < ye.length; _e++) {
          var ge = ye[_e];
          ge && (de += _(k(ge)), Ee += " && " + de);
        }
        return Ee;
      }
      function R(ue, le) {
        return ue == '""' ? le : (ue + " + " + le).replace(/' \+ '/g, "");
      }
      function q(ue) {
        return k(decodeURIComponent(ue));
      }
      function B(ue) {
        return encodeURIComponent(j(ue));
      }
      function j(ue) {
        return ue.replace(/~/g, "~0").replace(/\//g, "~1");
      }
      function k(ue) {
        return ue.replace(/~1/g, "/").replace(/~0/g, "~");
      }
      A.exports = { copy: s, checkDataType: h, checkDataTypes: E, coerceToTypes: f, toHash: S, getProperty: _, escapeQuotes: d, equal: a(140), ucs2length: a(322), varOccurences: p, varReplace: b, cleanUpCode: m, finalCleanUpCode: v, schemaHasRules: O, schemaHasRulesExcept: T, toQuotedString: w, getPathExpr: P, getPath: I, getData: L, unescapeFragment: q, unescapeJsonPointer: k, escapeFragment: B, escapeJsonPointer: j };
      var U = S(["string", "number", "integer", "boolean", "null"]), W = /^[a-z$_][a-z$_0-9]*$/i, $ = /'|\\/g, V = /else\s*{\s*}/g, G = /if\s*\([^)]+\)\s*\{\s*\}(?!\s*else)/g, X = /if\s*\(([^)]+)\)\s*\{\s*\}\s*else(?!\s*if)/g, K = /[^v.]errors/g, H = /var errors = 0;|var vErrors = null;|validate.errors = vErrors;/g, Y = /var errors = 0;|var vErrors = null;/g, Q = "return errors === 0;", Z = "validate.errors = null; return true;", J = /if \(errors === 0\) return data;\s*else throw new ValidationError\(vErrors\);/, ne = "return data;", ie = /[^A-Za-z_$]rootData[^A-Za-z0-9_$]/g, re = /if \(rootData === undefined\) rootData = data;/, ee = /^\/(?:[^~]|~0|~1)*$/, te = /^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;
    }, function(A, u, a) {
      u.__esModule = !0;
      var s = a(184), h = function(E) {
        return E && E.__esModule ? E : { default: E };
      }(s);
      u.default = function(E, f, S) {
        return f in E ? (0, h.default)(E, f, { value: S, enumerable: !0, configurable: !0, writable: !0 }) : E[f] = S, E;
      };
    }, function(A, u, a) {
      function s(p) {
        return f({}, u.DEFAULT_QUERY_CONFIG, p, { enum: h(p.enum) });
      }
      function h(p) {
        return f({}, d.DEFAULT_ENUM_INDEX, p, { binProps: E(p, "bin"), scaleProps: E(p, "scale"), axisProps: E(p, "axis"), legendProps: E(p, "legend") });
      }
      function E(p, b) {
        return f({}, d.DEFAULT_ENUM_INDEX[b + "Props"], p[b + "Props"]);
      }
      var f = this && this.__assign || Object.assign || function(p) {
        for (var b, m = 1, v = arguments.length; m < v; m++) {
          b = arguments[m];
          for (var O in b) Object.prototype.hasOwnProperty.call(b, O) && (p[O] = b[O]);
        }
        return p;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var S = a(5), _ = a(18), d = a(6);
      u.DEFAULT_QUERY_CONFIG = { verbose: !1, defaultSpecConfig: { line: { point: !0 }, scale: { useUnaggregatedDomain: !0 } }, propertyPrecedence: _.DEFAULT_PROP_PRECEDENCE.map(_.toKey), enum: d.DEFAULT_ENUM_INDEX, numberNominalProportion: 0.05, numberNominalLimit: 40, constraintManuallySpecifiedValue: !1, autoAddCount: !1, hasAppropriateGraphicTypeForMark: !0, omitAggregate: !1, omitAggregatePlotWithDimensionOnlyOnFacet: !0, omitAggregatePlotWithoutDimension: !1, omitBarLineAreaWithOcclusion: !0, omitBarTickWithSize: !0, omitMultipleNonPositionalChannels: !0, omitRaw: !1, omitRawContinuousFieldForAggregatePlot: !0, omitRepeatedField: !0, omitNonPositionalOrFacetOverPositionalChannels: !0, omitTableWithOcclusionIfAutoAddCount: !0, omitVerticalDotPlot: !1, omitInvalidStackSpec: !0, omitNonSumStack: !0, preferredBinAxis: S.Channel.X, preferredTemporalAxis: S.Channel.X, preferredOrdinalAxis: S.Channel.Y, preferredNominalAxis: S.Channel.Y, preferredFacet: S.Channel.ROW, minCardinalityForBin: 15, maxCardinalityForCategoricalColor: 20, maxCardinalityForFacet: 20, maxCardinalityForShape: 6, timeUnitShouldHaveVariation: !0, typeMatchesSchemaType: !0, stylize: !0, smallRangeStepForHighCardinalityOrFacet: { maxCardinality: 10, rangeStep: 12 }, nominalColorScaleForHighCardinality: { maxCardinality: 10, palette: "category20" }, xAxisOnTopForHighYCardinalityWithoutColumn: { maxCardinality: 30 }, maxGoodCardinalityForFacet: 5, maxGoodCardinalityForColor: 7, minPercentUniqueForKey: 0.8, minCardinalityForKey: 50 }, u.extendConfig = s;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = function() {
        function h(E) {
          this.type = E, this.scoreIndex = this.initScore();
        }
        return h.prototype.getFeatureScore = function(E) {
          var f = this.type, S = this.scoreIndex[E];
          if (S !== void 0) return { type: f, feature: E, score: S };
        }, h;
      }();
      u.Scorer = s;
    }, function(A, u, a) {
      var s = a(76);
      A.exports = function(h) {
        if (!s(h)) throw TypeError(h + " is not an object!");
        return h;
      };
    }, function(A, u) {
      A.exports = function(a) {
        try {
          return !!a();
        } catch {
          return !0;
        }
      };
    }, function(A, u, a) {
      var s = a(49), h = a(79);
      A.exports = a(58) ? function(E, f, S) {
        return s.f(E, f, h(1, S));
      } : function(E, f, S) {
        return E[f] = S, E;
      };
    }, function(A, u, a) {
      function s(P, I) {
        var L = P && P[I];
        return !!L && (b.isArray(L) ? w.some(L, function(R) {
          return !!R.field;
        }) : v.isFieldDef(L) || v.hasConditionalFieldDef(L));
      }
      function h(P) {
        return w.some(m.CHANNELS, function(I) {
          if (s(P, I)) {
            var L = P[I];
            if (b.isArray(L)) return w.some(L, function(q) {
              return !!q.aggregate;
            });
            var R = v.getFieldDef(L);
            return R && !!R.aggregate;
          }
          return !1;
        });
      }
      function E(P, I) {
        return w.keys(P).reduce(function(L, R) {
          if (!m.isChannel(R)) return O.warn(O.message.invalidEncodingChannel(R)), L;
          if (!m.supportMark(R, I)) return O.warn(O.message.incompatibleChannel(R, I)), L;
          if (R === "size" && I === "line") {
            var q = v.getFieldDef(P[R]);
            if (q && q.aggregate) return O.warn(O.message.LINE_WITH_VARYING_SIZE), L;
          }
          if (R === "color" && ("fill" in P || "stroke" in P)) return O.warn(O.message.droppingColor("encoding", { fill: "fill" in P, stroke: "stroke" in P })), L;
          if (R === "detail" || R === "order" || R === "tooltip" && b.isArray(P[R])) {
            var B = P[R];
            B && (L[R] = (b.isArray(B) ? B : [B]).reduce(function($, V) {
              return v.isFieldDef(V) ? $.push(v.normalizeFieldDef(V, R)) : O.warn(O.message.emptyFieldDef(V, R)), $;
            }, []));
          } else {
            var B = P[R], q = v.getFieldDef(P[R]);
            if (q && w.contains([T.Type.LATITUDE, T.Type.LONGITUDE], q.type)) {
              var j = R, k = (L[j], p.__rest(L, [typeof j == "symbol" ? j : j + ""])), U = R === "x" ? "longitude" : R === "y" ? "latitude" : R === "x2" ? "longitude2" : R === "y2" ? "latitude2" : void 0;
              return O.warn(O.message.latLongDeprecated(R, q.type, U)), p.__assign({}, k, (W = {}, W[U] = p.__assign({}, v.normalize(q, R), { type: "quantitative" }), W));
            }
            if (!v.isFieldDef(B) && !v.isValueDef(B) && !v.isConditionalDef(B)) return O.warn(O.message.emptyFieldDef(B, R)), L;
            L[R] = v.normalize(B, R);
          }
          return L;
          var W;
        }, {});
      }
      function f(P) {
        return P && (!!P.x && !!P.x2 || !!P.y && !!P.y2);
      }
      function S(P) {
        var I = [];
        return m.CHANNELS.forEach(function(L) {
          if (s(P, L)) {
            var R = P[L];
            (b.isArray(R) ? R : [R]).forEach(function(q) {
              v.isFieldDef(q) ? I.push(q) : v.hasConditionalFieldDef(q) && I.push(q.condition);
            });
          }
        }), I;
      }
      function _(P, I, L) {
        if (P) for (var R = 0, q = w.keys(P); R < q.length; R++) {
          var B = q[R];
          (function(j) {
            b.isArray(P[j]) ? P[j].forEach(function(k) {
              I.call(L, k, j);
            }) : I.call(L, P[j], j);
          })(B);
        }
      }
      function d(P, I, L, R) {
        return P ? w.keys(P).reduce(function(q, B) {
          var j = P[B];
          return b.isArray(j) ? j.reduce(function(k, U) {
            return I.call(R, k, U, B);
          }, q) : I.call(R, q, j, B);
        }, L) : L;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var p = a(3), b = a(4), m = a(5), v = a(10), O = a(8), T = a(13), w = a(2);
      u.channelHasField = s, u.isAggregate = h, u.normalizeEncoding = E, u.isRanged = f, u.fieldDefs = S, u.forEach = _, u.reduce = d;
    }, function(A, u) {
      var a;
      a = /* @__PURE__ */ function() {
        return this;
      }();
      try {
        a = a || Function("return this")() || (0, eval)("this");
      } catch {
        typeof window == "object" && (a = window);
      }
      A.exports = a;
    }, function(A, u, a) {
      u.__esModule = !0, u.default = function(s, h) {
        var E = {};
        for (var f in s) h.indexOf(f) >= 0 || Object.prototype.hasOwnProperty.call(s, f) && (E[f] = s[f]);
        return E;
      };
    }, function(A, u, a) {
      function s(V) {
        return V.map(function(G) {
          return h(G);
        });
      }
      function h(V) {
        return function(G) {
          return V[G] !== void 0 ? V[G] : G;
        };
      }
      function E(V, G) {
        return j.isWildcard(V) ? !j.isShortWildcard(V) && V.enum ? j.SHORT_WILDCARD + JSON.stringify(V.enum) : j.SHORT_WILDCARD : G ? G(V) : V;
      }
      function f(V, G) {
        return G ? G(V) : V;
      }
      function S(V, G, X) {
        return G === void 0 && (G = u.INCLUDE_ALL), X === void 0 && (X = u.REPLACE_NONE), _(B.fromSpec(V), G, X);
      }
      function _(V, G, X) {
        G === void 0 && (G = u.INCLUDE_ALL), X === void 0 && (X = u.REPLACE_NONE);
        var K = [];
        G.get(k.Property.MARK) && K.push(E(V.mark, X.get(k.Property.MARK))), V.transform && V.transform.length > 0 && K.push("transform:" + JSON.stringify(V.transform));
        var H;
        if (G.get(k.Property.STACK) && (H = B.getVlStack(V)), V.encodings) {
          var Y = V.encodings.reduce(function(re, ee) {
            if (!q.isDisabledAutoCountQuery(ee)) {
              var te = void 0;
              te = H && ee.channel === H.fieldChannel ? d(T({}, ee, { stack: H.offset }), G, X) : d(ee, G, X), te && re.push(te);
            }
            return re;
          }, []).sort().join("|");
          Y && K.push(Y);
        }
        for (var Q = 0, Z = k.VIEW_PROPS; Q < Z.length; Q++) {
          var J = Z[Q], ne = J.toString();
          if (G.get(J) && V[ne]) {
            var ie = V[ne];
            K.push(ne + "=" + JSON.stringify(ie));
          }
        }
        return K.join("|");
      }
      function d(V, G, X) {
        G === void 0 && (G = u.INCLUDE_ALL), X === void 0 && (X = u.REPLACE_NONE);
        var K = [];
        if (G.get(k.Property.CHANNEL) && K.push(E(V.channel, X.get(k.Property.CHANNEL))), q.isFieldQuery(V)) {
          var H = p(V, G, X);
          H && K.push(H);
        } else q.isValueQuery(V) ? K.push(V.value) : q.isAutoCountQuery(V) && K.push("autocount()");
        return K.join(":");
      }
      function p(V, G, X) {
        if (G === void 0 && (G = u.INCLUDE_ALL), X === void 0 && (X = u.REPLACE_NONE), G.get(k.Property.AGGREGATE) && q.isDisabledAutoCountQuery(V)) return "-";
        var K, H = b(V, G, X), Y = m(V, G, X);
        if (q.isFieldQuery(V)) {
          if (K = G.get("field") ? E(V.field, X.get("field")) : "...", G.get(k.Property.TYPE)) if (j.isWildcard(V.type)) K += "," + E(V.type, X.get(k.Property.TYPE));
          else {
            var Q = ((V.type || L.Type.QUANTITATIVE) + "").substr(0, 1);
            K += "," + E(Q, X.get(k.Property.TYPE));
          }
          K += Y.map(function(Z) {
            var J = Z.value instanceof Array ? "[" + Z.value + "]" : Z.value;
            return "," + Z.key + "=" + J;
          }).join("");
        } else q.isAutoCountQuery(V) && (K = "*,q");
        return K ? H ? (R.isString(H) ? H : j.SHORT_WILDCARD + (W.keys(H).length > 0 ? JSON.stringify(H) : "")) + "(" + K + ")" : K : null;
      }
      function b(V, G, X) {
        if (G.get(k.Property.AGGREGATE) && V.aggregate && !j.isWildcard(V.aggregate)) return f(V.aggregate, X.get(k.Property.AGGREGATE));
        if (G.get(k.Property.AGGREGATE) && q.isEnabledAutoCountQuery(V)) return f("count", X.get(k.Property.AGGREGATE));
        if (G.get(k.Property.TIMEUNIT) && V.timeUnit && !j.isWildcard(V.timeUnit)) return f(V.timeUnit, X.get(k.Property.TIMEUNIT));
        if (G.get(k.Property.BIN) && V.bin && !j.isWildcard(V.bin)) return "bin";
        for (var K = null, H = 0, Y = [k.Property.AGGREGATE, k.Property.AUTOCOUNT, k.Property.TIMEUNIT, k.Property.BIN]; H < Y.length; H++) {
          var Q = Y[H], Z = V[Q];
          G.get(Q) && V[Q] && j.isWildcard(Z) && (K = K || {}, K[Q] = j.isShortWildcard(Z) ? Z : Z.enum);
        }
        return K && V.hasFn && (K.hasFn = !0), K;
      }
      function m(V, G, X) {
        var K = [];
        if (!W.isBoolean(V.bin) && !j.isShortWildcard(V.bin)) {
          var H = V.bin;
          for (var Y in H) {
            var Q = k.getEncodingNestedProp("bin", Y);
            Q && G.get(Q) && H[Y] !== void 0 && K.push({ key: Y, value: E(H[Y], X.get(Q)) });
          }
          K.sort(function(ue, le) {
            return ue.key.localeCompare(le.key);
          });
        }
        for (var Z = 0, J = [k.Property.SCALE, k.Property.SORT, k.Property.STACK, k.Property.AXIS, k.Property.LEGEND]; Z < J.length; Z++) {
          var ne = J[Z];
          if ((j.isWildcard(V.channel) || u.PROPERTY_SUPPORTED_CHANNELS[ne][V.channel]) && G.get(ne) && V[ne] !== void 0) {
            var ie = V[ne];
            if (W.isBoolean(ie) || ie === null) K.push({ key: ne + "", value: ie || !1 });
            else if (R.isString(ie)) K.push({ key: ne + "", value: f(JSON.stringify(ie), X.get(ne)) });
            else {
              var re = [];
              for (var Y in ie) {
                var ee = k.getEncodingNestedProp(ne, Y);
                ee && G.get(ee) && ie[Y] !== void 0 && re.push({ key: Y, value: E(ie[Y], X.get(ee)) });
              }
              if (re.length > 0) {
                var te = re.sort(function(ue, le) {
                  return ue.key.localeCompare(le.key);
                }).reduce(function(ue, le) {
                  return ue[le.key] = le.value, ue;
                }, {});
                K.push({ key: ne + "", value: JSON.stringify(te) });
              }
            }
          }
        }
        return K;
      }
      function v(V) {
        for (var G = V.split("|"), X = { mark: G[0], encodings: [] }, K = 1; K < G.length; K++) {
          var H = G[K], Y = O(H, ":", 1), Q = Y[0], Z = Y[1];
          if (P.isChannel(Q) || Q === "?") {
            var J = $.encoding(Q, Z);
            X.encodings.push(J);
          } else Q !== "transform" || (X.transform = JSON.parse(Z));
        }
        return X;
      }
      function O(V, G, X) {
        for (var K = [], H = 0, Y = 0; Y < X; Y++) {
          var Q = V.indexOf(G, H);
          if (Q === -1) break;
          K.push(V.substring(H, Q)), H = Q + 1;
        }
        if (K.push(V.substr(H)), K.length !== X + 1) for (; K.length !== X + 1; ) K.push("");
        return K;
      }
      var T = this && this.__assign || Object.assign || function(V) {
        for (var G, X = 1, K = arguments.length; X < K; X++) {
          G = arguments[X];
          for (var H in G) Object.prototype.hasOwnProperty.call(G, H) && (V[H] = G[H]);
        }
        return V;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var w = a(60), P = a(5), I = a(29), L = a(13), R = a(26), q = a(16), B = a(75), j = a(6), k = a(18), U = a(46), W = a(15);
      u.getReplacerIndex = s, u.getReplacer = h, u.value = E, u.replace = f, u.REPLACE_NONE = new U.PropIndex(), u.INCLUDE_ALL = [].concat(k.DEFAULT_PROP_PRECEDENCE, k.SORT_PROPS, [k.Property.TRANSFORM, k.Property.STACK], k.VIEW_PROPS).reduce(function(V, G) {
        return V.set(G, !0);
      }, new U.PropIndex()), u.vlSpec = S, u.PROPERTY_SUPPORTED_CHANNELS = { axis: { x: !0, y: !0, row: !0, column: !0 }, legend: { color: !0, opacity: !0, size: !0, shape: !0 }, scale: { x: !0, y: !0, color: !0, opacity: !0, row: !0, column: !0, size: !0, shape: !0 }, sort: { x: !0, y: !0, path: !0, order: !0 }, stack: { x: !0, y: !0 } }, u.spec = _, u.encoding = d, u.fieldDef = p, u.parse = v, u.splitWithTail = O;
      var $;
      (function(V) {
        function G(Y, Q) {
          var Z = Q.indexOf("(") !== -1 ? H(Q) : X(O(Q, ",", 2));
          return T({ channel: Y }, Z);
        }
        function X(Y) {
          var Q = {};
          Q.field = Y[0], Q.type = L.getFullName(Y[1].toUpperCase()) || "?";
          for (var Z = Y[2], J = 0, ne = 0; ne < Z.length; ) {
            var ie = Z.indexOf("=", ne), re = void 0;
            if (ie === -1) break;
            var ee = Z.substring(ne, ie);
            if (Z[ne + ee.length + 1] === "{") {
              var te = ne + ee.length + 1;
              J = K(te, Z, "}");
              var ue = Z.substring(te, J + 1);
              re = JSON.parse(ue), ne = J + 2;
            } else if (Z[ne + ee.length + 1] === "[") {
              var le = ne + ee.length + 1, ae = K(le, Z, "]"), ce = Z.substring(le, ae + 1);
              re = JSON.parse(ce), ne = ae + 2;
            } else {
              var pe = ne, de = Z.indexOf(",", ne + ee.length);
              de === -1 && (de = Z.length), ne = de + 1, re = JSON.parse(Z.substring(pe + ee.length + 1, de));
            }
            k.isEncodingNestedParent(ee) ? Q[ee] = re : (Q.bin = Q.bin || {}, Q.bin[ee] = re);
          }
          return Q;
        }
        function K(Y, Q, Z) {
          for (var J = Y; J < Q.length; J++) if (Q[J] === Z) return J;
        }
        function H(Y) {
          var Q = {};
          if (Y[0] === "?") {
            var Z = K(1, Y, "}"), J = JSON.parse(Y.substring(1, Z + 1));
            for (var ne in J) W.isArray(J[ne]) ? Q[ne] = { enum: J[ne] } : Q[ne] = J[ne];
            return T({}, Q, X(O(Y.substring(Z + 2, Y.length - 1), ",", 2)));
          }
          var ie = Y.substring(0, Y.indexOf("(")), re = Y.substring(ie.length + 1, Y.length - 1), ee = O(re, ",", 2);
          return w.isAggregateOp(ie) ? T({ aggregate: ie }, X(ee)) : I.isTimeUnit(ie) ? T({ timeUnit: ie }, X(ee)) : ie === "bin" ? T({ bin: {} }, X(ee)) : void 0;
        }
        V.encoding = G, V.rawFieldDef = X, V.getClosingIndex = K, V.fn = H;
      })($ = u.shorthandParser || (u.shorthandParser = {}));
    }, function(A, u, a) {
      function s(P) {
        return O.extend(P.data ? { data: P.data } : {}, P.transform ? { transform: P.transform } : {}, P.width ? { width: P.width } : {}, P.height ? { height: P.height } : {}, P.background ? { background: P.background } : {}, P.padding ? { padding: P.padding } : {}, P.title ? { title: P.title } : {}, { mark: P.mark, encodings: O.keys(P.encoding).map(function(I) {
          var L = { channel: I }, R = P.encoding[I];
          for (var q in R) v.isEncodingTopLevelProperty(q) && R[q] !== void 0 && (O.contains(["bin", "scale", "axis", "legend"], q) && R[q] === null ? L[q] = !1 : L[q] = R[q]);
          return T.isFieldQuery(L) && L.aggregate === "count" && !L.field && (L.field = "*"), L;
        }) }, P.config ? { config: P.config } : {});
      }
      function h(P) {
        return O.some(P.encodings, function(I) {
          return T.isFieldQuery(I) && !m.isWildcard(I.aggregate) && !!I.aggregate || T.isEnabledAutoCountQuery(I);
        });
      }
      function E(P) {
        if (!_(P)) return null;
        var I = T.toEncoding(P.encodings, { schema: null, wildcardMode: "null" }), L = P.mark;
        return b.stack(L, I, f(P));
      }
      function f(P) {
        for (var I = 0, L = P.encodings; I < L.length; I++) {
          var R = L[I];
          if (R[v.Property.STACK] !== void 0 && !m.isWildcard(R[v.Property.STACK])) return R[v.Property.STACK];
        }
      }
      function S(P) {
        for (var I = 0, L = P.encodings; I < L.length; I++) {
          var R = L[I];
          if (R[v.Property.STACK] !== void 0 && !m.isWildcard(R.channel)) return R.channel;
        }
        return null;
      }
      function _(P) {
        if (m.isWildcard(P.mark)) return !1;
        for (var I = [v.Property.STACK, v.Property.CHANNEL, v.Property.MARK, v.Property.FIELD, v.Property.AGGREGATE, v.Property.AUTOCOUNT, v.Property.SCALE, v.getEncodingNestedProp("scale", "type"), v.Property.TYPE], L = w.toMap(O.without(v.ALL_ENCODING_PROPS, I)), R = P.encodings.filter(function(j) {
          return !T.isDisabledAutoCountQuery(j);
        }), q = 0, B = R; q < B.length; q++)
          if (d(B[q], { exclude: L })) return !1;
        return !0;
      }
      function d(P, I) {
        if (I === void 0 && (I = {}), !O.isObject(P)) return !1;
        for (var L in P) if (P.hasOwnProperty(L)) {
          var R = m.isWildcard(P[L]);
          if (R && (!I.exclude || !I.exclude[L]) || d(P[L], I)) return !0;
        }
        return !1;
      }
      function p(P, I) {
        I === void 0 && (I = {});
        var L = I.exclude ? w.toMap(I.exclude.map(v.toKey)) : {};
        if (m.isWildcard(P.mark) && !L.mark) return !0;
        for (var R = 0, q = P.encodings; R < q.length; R++)
          if (d(q[R], L)) return !0;
        return !1;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var b = a(251), m = a(6), v = a(18), O = a(15), T = a(16), w = a(26);
      u.fromSpec = s, u.isAggregate = h, u.getVlStack = E, u.getStackOffset = f, u.getStackChannel = S, u.hasRequiredStackProperties = _, u.hasWildcard = p;
    }, function(A, u) {
      A.exports = function(a) {
        return typeof a == "object" ? a !== null : typeof a == "function";
      };
    }, function(A, u) {
      A.exports = {};
    }, function(A, u, a) {
      var s = a(196), h = a(128);
      A.exports = Object.keys || function(E) {
        return s(E, h);
      };
    }, function(A, u) {
      A.exports = function(a, s) {
        return { enumerable: !(1 & a), configurable: !(2 & a), writable: !(4 & a), value: s };
      };
    }, function(A, u, a) {
      function s(E) {
        return typeof E == "string" && E.match(h) !== null;
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = /-webkit-|-moz-|-ms-/;
      A.exports = u.default;
    }, function(A, u, a) {
      function s(le, ae) {
        return le + ae;
      }
      function h(le, ae, ce) {
        var pe = ce;
        {
          if ((ae === void 0 ? "undefined" : $(ae)) !== "object") return pe !== void 0 ? (typeof pe == "number" && (pe += "px"), void (le.style[ae] = pe)) : G(le, ae);
          for (var de in ae) ae.hasOwnProperty(de) && h(le, de, ae[de]);
        }
      }
      function E(le) {
        var ae = void 0, ce = void 0, pe = void 0, de = le.ownerDocument, he = de.body, Ee = de && de.documentElement;
        return ae = le.getBoundingClientRect(), ce = ae.left, pe = ae.top, ce -= Ee.clientLeft || he.clientLeft || 0, pe -= Ee.clientTop || he.clientTop || 0, { left: ce, top: pe };
      }
      function f(le, ae) {
        var ce = le["page" + (ae ? "Y" : "X") + "Offset"], pe = "scroll" + (ae ? "Top" : "Left");
        if (typeof ce != "number") {
          var de = le.document;
          ce = de.documentElement[pe], typeof ce != "number" && (ce = de.body[pe]);
        }
        return ce;
      }
      function S(le) {
        return f(le);
      }
      function _(le) {
        return f(le, !0);
      }
      function d(le) {
        var ae = E(le), ce = le.ownerDocument, pe = ce.defaultView || ce.parentWindow;
        return ae.left += S(pe), ae.top += _(pe), ae;
      }
      function p(le) {
        return le != null && le == le.window;
      }
      function b(le) {
        return p(le) ? le.document : le.nodeType === 9 ? le : le.ownerDocument;
      }
      function m(le, ae, ce) {
        var pe = ce, de = "", he = b(le);
        return pe = pe || he.defaultView.getComputedStyle(le, null), pe && (de = pe.getPropertyValue(ae) || pe[ae]), de;
      }
      function v(le, ae) {
        var ce = le[H] && le[H][ae];
        if (X.test(ce) && !K.test(ae)) {
          var pe = le.style, de = pe[Q], he = le[Y][Q];
          le[Y][Q] = le[H][Q], pe[Q] = ae === "fontSize" ? "1em" : ce || 0, ce = pe.pixelLeft + Z, pe[Q] = de, le[Y][Q] = he;
        }
        return ce === "" ? "auto" : ce;
      }
      function O(le, ae) {
        return le === "left" ? ae.useCssRight ? "right" : le : ae.useCssBottom ? "bottom" : le;
      }
      function T(le) {
        return le === "left" ? "right" : le === "right" ? "left" : le === "top" ? "bottom" : le === "bottom" ? "top" : void 0;
      }
      function w(le, ae, ce) {
        h(le, "position") === "static" && (le.style.position = "relative");
        var pe = -999, de = -999, he = O("left", ce), Ee = O("top", ce), ye = T(he), _e = T(Ee);
        he !== "left" && (pe = 999), Ee !== "top" && (de = 999);
        var ge = "", Me = d(le);
        ("left" in ae || "top" in ae) && (ge = a.i(W.a)(le) || "", a.i(W.b)(le, "none")), "left" in ae && (le.style[ye] = "", le.style[he] = pe + "px"), "top" in ae && (le.style[_e] = "", le.style[Ee] = de + "px");
        var Te = d(le), De = {};
        for (var oe in ae) if (ae.hasOwnProperty(oe)) {
          var se = O(oe, ce), fe = oe === "left" ? pe : de, be = Me[oe] - Te[oe];
          De[se] = se === oe ? fe + be : fe - be;
        }
        h(le, De), s(le.offsetTop, le.offsetLeft), ("left" in ae || "top" in ae) && a.i(W.b)(le, ge);
        var Se = {};
        for (var Ae in ae) if (ae.hasOwnProperty(Ae)) {
          var ze = O(Ae, ce), Oe = ae[Ae] - Me[Ae];
          Se[ze] = Ae === ze ? De[ze] + Oe : De[ze] - Oe;
        }
        h(le, Se);
      }
      function P(le, ae) {
        var ce = d(le), pe = a.i(W.c)(le), de = { x: pe.x, y: pe.y };
        "left" in ae && (de.x = pe.x + ae.left - ce.left), "top" in ae && (de.y = pe.y + ae.top - ce.top), a.i(W.d)(le, de);
      }
      function I(le, ae, ce) {
        ce.useCssRight || ce.useCssBottom ? w(le, ae, ce) : ce.useCssTransform && a.i(W.e)() in document.body.style ? P(le, ae) : w(le, ae, ce);
      }
      function L(le, ae) {
        for (var ce = 0; ce < le.length; ce++) ae(le[ce]);
      }
      function R(le) {
        return G(le, "boxSizing") === "border-box";
      }
      function q(le, ae, ce) {
        var pe = {}, de = le.style, he = void 0;
        for (he in ae) ae.hasOwnProperty(he) && (pe[he] = de[he], de[he] = ae[he]);
        ce.call(le);
        for (he in ae) ae.hasOwnProperty(he) && (de[he] = pe[he]);
      }
      function B(le, ae, ce) {
        var pe = 0, de = void 0, he = void 0, Ee = void 0;
        for (he = 0; he < ae.length; he++) if (de = ae[he]) for (Ee = 0; Ee < ce.length; Ee++) {
          var ye = void 0;
          ye = de === "border" ? "" + de + ce[Ee] + "Width" : de + ce[Ee], pe += parseFloat(G(le, ye)) || 0;
        }
        return pe;
      }
      function j(le, ae, ce) {
        var pe = ce;
        if (p(le)) return ae === "width" ? ee.viewportWidth(le) : ee.viewportHeight(le);
        if (le.nodeType === 9) return ae === "width" ? ee.docWidth(le) : ee.docHeight(le);
        var de = ae === "width" ? ["Left", "Right"] : ["Top", "Bottom"], he = ae === "width" ? le.offsetWidth : le.offsetHeight;
        G(le);
        var Ee = R(le), ye = 0;
        (he == null || he <= 0) && (he = void 0, ye = G(le, ae), (ye == null || Number(ye) < 0) && (ye = le.style[ae] || 0), ye = parseFloat(ye) || 0), pe === void 0 && (pe = Ee ? re : ne);
        var _e = he !== void 0 || Ee, ge = he || ye;
        return pe === ne ? _e ? ge - B(le, ["border", "padding"], de) : ye : _e ? pe === re ? ge : ge + (pe === ie ? -B(le, ["border"], de) : B(le, ["margin"], de)) : ye + B(le, J.slice(pe), de);
      }
      function k() {
        for (var le = arguments.length, ae = Array(le), ce = 0; ce < le; ce++) ae[ce] = arguments[ce];
        var pe = void 0, de = ae[0];
        return de.offsetWidth !== 0 ? pe = j.apply(void 0, ae) : q(de, te, function() {
          pe = j.apply(void 0, ae);
        }), pe;
      }
      function U(le, ae) {
        for (var ce in ae) ae.hasOwnProperty(ce) && (le[ce] = ae[ce]);
        return le;
      }
      var W = a(435), $ = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(le) {
        return typeof le;
      } : function(le) {
        return le && typeof Symbol == "function" && le.constructor === Symbol && le !== Symbol.prototype ? "symbol" : typeof le;
      }, V = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source, G = void 0, X = new RegExp("^(" + V + ")(?!px)[a-z%]+$", "i"), K = /^(top|right|bottom|left)$/, H = "currentStyle", Y = "runtimeStyle", Q = "left", Z = "px";
      typeof window < "u" && (G = window.getComputedStyle ? m : v);
      var J = ["margin", "border", "padding"], ne = -1, ie = 2, re = 1, ee = {};
      L(["Width", "Height"], function(le) {
        ee["doc" + le] = function(ae) {
          var ce = ae.document;
          return Math.max(ce.documentElement["scroll" + le], ce.body["scroll" + le], ee["viewport" + le](ce));
        }, ee["viewport" + le] = function(ae) {
          var ce = "client" + le, pe = ae.document, de = pe.body, he = pe.documentElement, Ee = he[ce];
          return pe.compatMode === "CSS1Compat" && Ee || de && de[ce] || Ee;
        };
      });
      var te = { position: "absolute", visibility: "hidden", display: "block" };
      L(["width", "height"], function(le) {
        var ae = le.charAt(0).toUpperCase() + le.slice(1);
        ee["outer" + ae] = function(pe, de) {
          return pe && k(pe, le, de ? 0 : re);
        };
        var ce = le === "width" ? ["Left", "Right"] : ["Top", "Bottom"];
        ee[le] = function(pe, de) {
          var he = de;
          if (he === void 0) return pe && k(pe, le, ne);
          if (pe)
            return G(pe), R(pe) && (he += B(pe, ["padding", "border"], ce)), h(pe, le, he);
        };
      });
      var ue = { getWindow: function(le) {
        if (le && le.document && le.setTimeout) return le;
        var ae = le.ownerDocument || le;
        return ae.defaultView || ae.parentWindow;
      }, getDocument: b, offset: function(le, ae, ce) {
        if (ae === void 0) return d(le);
        I(le, ae, ce || {});
      }, isWindow: p, each: L, css: h, clone: function(le) {
        var ae = void 0, ce = {};
        for (ae in le) le.hasOwnProperty(ae) && (ce[ae] = le[ae]);
        if (le.overflow) for (ae in le) le.hasOwnProperty(ae) && (ce.overflow[ae] = le.overflow[ae]);
        return ce;
      }, mix: U, getWindowScrollLeft: function(le) {
        return S(le);
      }, getWindowScrollTop: function(le) {
        return _(le);
      }, merge: function() {
        for (var le = {}, ae = arguments.length, ce = Array(ae), pe = 0; pe < ae; pe++) ce[pe] = arguments[pe];
        for (var de = 0; de < ce.length; de++) ue.mix(le, ce[de]);
        return le;
      }, viewportWidth: 0, viewportHeight: 0 };
      U(ue, ee), u.a = ue;
    }, function(A, u, a) {
      var s = typeof JSON < "u" ? JSON : a(474);
      A.exports = function(f, S) {
        S || (S = {}), typeof S == "function" && (S = { cmp: S });
        var _ = S.space || "";
        typeof _ == "number" && (_ = Array(_ + 1).join(" "));
        var d = typeof S.cycles == "boolean" && S.cycles, p = S.replacer || function(v, O) {
          return O;
        }, b = S.cmp && /* @__PURE__ */ function(v) {
          return function(O) {
            return function(T, w) {
              var P = { key: T, value: O[T] }, I = { key: w, value: O[w] };
              return v(P, I);
            };
          };
        }(S.cmp), m = [];
        return function v(O, T, w, P) {
          var I = _ ? `
` + new Array(P + 1).join(_) : "", L = _ ? ": " : ":";
          if (w && w.toJSON && typeof w.toJSON == "function" && (w = w.toJSON()), (w = p.call(O, T, w)) !== void 0) {
            if (typeof w != "object" || w === null) return s.stringify(w);
            if (h(w)) {
              for (var R = [], q = 0; q < w.length; q++) {
                var B = v(w, q, w[q], P + 1) || s.stringify(null);
                R.push(I + _ + B);
              }
              return "[" + R.join(",") + I + "]";
            }
            if (m.indexOf(w) !== -1) {
              if (d) return s.stringify("__cycle__");
              throw new TypeError("Converting circular structure to JSON");
            }
            m.push(w);
            for (var j = E(w).sort(b && b(w)), R = [], q = 0; q < j.length; q++) {
              var T = j[q], k = v(w, T, w[T], P + 1);
              if (k) {
                var U = s.stringify(T) + L + k;
                R.push(I + _ + U);
              }
            }
            return m.splice(m.indexOf(w), 1), "{" + R.join(",") + I + "}";
          }
        }({ "": f }, "", f, 0);
      };
      var h = Array.isArray || function(f) {
        return {}.toString.call(f) === "[object Array]";
      }, E = Object.keys || function(f) {
        var S = Object.prototype.hasOwnProperty || function() {
          return !0;
        }, _ = [];
        for (var d in f) S.call(f, d) && _.push(d);
        return _;
      };
    }, function(A, u, a) {
      function s(w, P) {
        return P + ": " + w.toString() + `
`;
      }
      function h(w, P, I, L) {
        typeof I == "object" ? P[L] = S(w[L], I) : w.indexOf(I) === -1 && P.push(I);
      }
      function E(w, P, I) {
        P[I] = w[I];
      }
      function f(w, P, I, L) {
        typeof P[L] == "object" && P[L] && w[L] ? I[L] = S(w[L], P[L]) : I[L] = P[L];
      }
      function S(w, P) {
        var I = Array.isArray(P), L = I && [] || {};
        return I ? (w = w || [], L = L.concat(w), P.forEach(h.bind(null, w, L))) : (w && typeof w == "object" && Object.keys(w).forEach(E.bind(null, w, L)), Object.keys(P).forEach(f.bind(null, w, P, L))), L;
      }
      function _(w) {
        return "/" + encodeURIComponent(w).replace(/~/g, "%7E");
      }
      var d = a(151), p = u.ValidationError = function(w, P, I, L, R, q) {
        L && (this.property = L), w && (this.message = w), I && (I.id ? this.schema = I.id : this.schema = I), P && (this.instance = P), this.name = R, this.argument = q, this.stack = this.toString();
      };
      p.prototype.toString = function() {
        return this.property + " " + this.message;
      };
      var b = u.ValidatorResult = function(w, P, I, L) {
        this.instance = w, this.schema = P, this.propertyPath = L.propertyPath, this.errors = [], this.throwError = I && I.throwError, this.disableFormat = I && I.disableFormat === !0;
      };
      b.prototype.addError = function(w) {
        var P;
        if (typeof w == "string") P = new p(w, this.instance, this.schema, this.propertyPath);
        else {
          if (!w) throw new Error("Missing error detail");
          if (!w.message) throw new Error("Missing error message");
          if (!w.name) throw new Error("Missing validator type");
          P = new p(w.message, this.instance, this.schema, this.propertyPath, w.name, w.argument);
        }
        if (this.throwError) throw P;
        return this.errors.push(P), P;
      }, b.prototype.importErrors = function(w) {
        typeof w == "string" || w && w.validatorType ? this.addError(w) : w && w.errors && Array.prototype.push.apply(this.errors, w.errors);
      }, b.prototype.toString = function(w) {
        return this.errors.map(s).join("");
      }, Object.defineProperty(b.prototype, "valid", { get: function() {
        return !this.errors.length;
      } });
      var m = u.SchemaError = function w(P, I) {
        this.message = P, this.schema = I, Error.call(this, P), Error.captureStackTrace(this, w);
      };
      m.prototype = Object.create(Error.prototype, { constructor: { value: m, enumerable: !1 }, name: { value: "SchemaError", enumerable: !1 } });
      var v = u.SchemaContext = function(w, P, I, L, R) {
        this.schema = w, this.options = P, this.propertyPath = I, this.base = L, this.schemas = R;
      };
      v.prototype.resolve = function(w) {
        return d.resolve(this.base, w);
      }, v.prototype.makeChild = function(w, P) {
        var I = P === void 0 ? this.propertyPath : this.propertyPath + T(P), L = d.resolve(this.base, w.id || ""), R = new v(w, this.options, I, L, Object.create(this.schemas));
        return w.id && !R.schemas[L] && (R.schemas[L] = w), R;
      };
      var O = u.FORMAT_REGEXPS = { "date-time": /^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])[tT ](2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])(\.\d+)?([zZ]|[+-]([0-5][0-9]):(60|[0-5][0-9]))$/, date: /^\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])$/, time: /^(2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])$/, email: /^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!\.)){0,61}[a-zA-Z0-9]?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/, "ip-address": /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/, ipv6: /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/, uri: /^[a-zA-Z][a-zA-Z0-9+-.]*:[^\s]*$/, color: /^(#?([0-9A-Fa-f]{3}){1,2}\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\(\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*,\s*\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b\s*\))|(rgb\(\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*,\s*(\d?\d%|100%)+\s*\)))$/, hostname: /^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/, "host-name": /^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\.?$/, alpha: /^[a-zA-Z]+$/, alphanumeric: /^[a-zA-Z0-9]+$/, "utc-millisec": function(w) {
        return typeof w == "string" && parseFloat(w) === parseInt(w, 10) && !isNaN(w);
      }, regex: function(w) {
        var P = !0;
        try {
          new RegExp(w);
        } catch {
          P = !1;
        }
        return P;
      }, style: /\s*(.+?):\s*([^;]+);?/g, phone: /^\+(?:[0-9] ?){6,14}[0-9]$/ };
      O.regexp = O.regex, O.pattern = O.regex, O.ipv4 = O["ip-address"], u.isFormat = function(w, P, I) {
        if (typeof w == "string" && O[P] !== void 0) {
          if (O[P] instanceof RegExp) return O[P].test(w);
          if (typeof O[P] == "function") return O[P](w);
        } else if (I && I.customFormats && typeof I.customFormats[P] == "function") return I.customFormats[P](w);
        return !0;
      };
      var T = u.makeSuffix = function(w) {
        return w = w.toString(), w.match(/[.\s\[\]]/) || w.match(/^[\d]/) ? w.match(/^\d+$/) ? "[" + w + "]" : "[" + JSON.stringify(w) + "]" : "." + w;
      };
      u.deepCompareStrict = function w(P, I) {
        if (typeof P != typeof I) return !1;
        if (P instanceof Array) return I instanceof Array && P.length === I.length && P.every(function(q, B) {
          return w(P[B], I[B]);
        });
        if (typeof P == "object") {
          if (!P || !I) return P === I;
          var L = Object.keys(P), R = Object.keys(I);
          return L.length === R.length && L.every(function(q) {
            return w(P[q], I[q]);
          });
        }
        return P === I;
      }, A.exports.deepMerge = S, u.objectGetPath = function(w, P) {
        for (var I, L = P.split("/").slice(1); typeof (I = L.shift()) == "string"; ) {
          var R = decodeURIComponent(I.replace(/~0/, "~").replace(/~1/g, "/"));
          if (!(R in w)) return;
          w = w[R];
        }
        return w;
      }, u.encodePath = function(w) {
        return w.map(_).join("");
      }, u.getDecimalPlaces = function(w) {
        var P = 0;
        if (isNaN(w)) return P;
        typeof w != "number" && (w = Number(w));
        var I = w.toString().split("e");
        if (I.length === 2) {
          if (I[1][0] !== "-") return P;
          P = Number(I[1].slice(1));
        }
        var L = I[0].split(".");
        return L.length === 2 && (P += L[1].length), P;
      };
    }, function(A, u, a) {
      function s(w) {
        return w && w.__esModule ? w : { default: w };
      }
      function h(w, P) {
        var I = {};
        for (var L in w) P.indexOf(L) >= 0 || Object.prototype.hasOwnProperty.call(w, L) && (I[L] = w[L]);
        return I;
      }
      function E(w, P) {
        if (!(w instanceof P)) throw new TypeError("Cannot call a class as a function");
      }
      function f(w, P) {
        if (!w) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return !P || typeof P != "object" && typeof P != "function" ? w : P;
      }
      function S(w, P) {
        if (typeof P != "function" && P !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof P);
        w.prototype = Object.create(P && P.prototype, { constructor: { value: w, enumerable: !1, writable: !0, configurable: !0 } }), P && (Object.setPrototypeOf ? Object.setPrototypeOf(w, P) : w.__proto__ = P);
      }
      u.__esModule = !0;
      var _ = Object.assign || function(w) {
        for (var P = 1; P < arguments.length; P++) {
          var I = arguments[P];
          for (var L in I) Object.prototype.hasOwnProperty.call(I, L) && (w[L] = I[L]);
        }
        return w;
      }, d = a(1), p = s(d), b = a(0), m = s(b), v = a(45), O = s(v), T = function(w) {
        function P() {
          return E(this, P), f(this, w.apply(this, arguments));
        }
        return S(P, w), P.prototype.componentDidMount = function() {
          this.checkFocus();
        }, P.prototype.componentDidUpdate = function() {
          this.checkFocus();
        }, P.prototype.checkFocus = function() {
          this.props.selected && this.props.focus && this.node.focus();
        }, P.prototype.render = function() {
          var I, L = this, R = this.props, q = R.children, B = R.className, j = R.disabled, k = R.disabledClassName, U = (R.focus, R.id), W = R.panelId, $ = R.selected, V = R.selectedClassName, G = R.tabRef, X = h(R, ["children", "className", "disabled", "disabledClassName", "focus", "id", "panelId", "selected", "selectedClassName", "tabRef"]);
          return m.default.createElement("li", _({}, X, { className: (0, O.default)(B, (I = {}, I[V] = $, I[k] = j, I)), ref: function(K) {
            L.node = K, G && G(K);
          }, role: "tab", id: U, "aria-selected": $ ? "true" : "false", "aria-disabled": j ? "true" : "false", "aria-controls": W, tabIndex: $ ? "0" : null }), q);
        }, P;
      }(b.Component);
      T.defaultProps = { className: "react-tabs__tab", disabledClassName: "react-tabs__tab--disabled", focus: !1, id: null, panelId: null, selected: !1, selectedClassName: "react-tabs__tab--selected" }, u.default = T, T.propTypes = { children: p.default.oneOfType([p.default.array, p.default.object, p.default.string]), className: p.default.oneOfType([p.default.string, p.default.array, p.default.object]), disabled: p.default.bool, disabledClassName: p.default.string, focus: p.default.bool, id: p.default.string, panelId: p.default.string, selected: p.default.bool, selectedClassName: p.default.string, tabRef: p.default.func };
    }, function(A, u, a) {
      function s(w) {
        return w && w.__esModule ? w : { default: w };
      }
      function h(w, P) {
        var I = {};
        for (var L in w) P.indexOf(L) >= 0 || Object.prototype.hasOwnProperty.call(w, L) && (I[L] = w[L]);
        return I;
      }
      function E(w, P) {
        if (!(w instanceof P)) throw new TypeError("Cannot call a class as a function");
      }
      function f(w, P) {
        if (!w) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return !P || typeof P != "object" && typeof P != "function" ? w : P;
      }
      function S(w, P) {
        if (typeof P != "function" && P !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof P);
        w.prototype = Object.create(P && P.prototype, { constructor: { value: w, enumerable: !1, writable: !0, configurable: !0 } }), P && (Object.setPrototypeOf ? Object.setPrototypeOf(w, P) : w.__proto__ = P);
      }
      u.__esModule = !0;
      var _ = Object.assign || function(w) {
        for (var P = 1; P < arguments.length; P++) {
          var I = arguments[P];
          for (var L in I) Object.prototype.hasOwnProperty.call(I, L) && (w[L] = I[L]);
        }
        return w;
      }, d = a(1), p = s(d), b = a(0), m = s(b), v = a(45), O = s(v), T = function(w) {
        function P() {
          return E(this, P), f(this, w.apply(this, arguments));
        }
        return S(P, w), P.prototype.render = function() {
          var I, L = this.props, R = L.children, q = L.className, B = L.forceRender, j = L.id, k = L.selected, U = L.selectedClassName, W = L.tabId, $ = h(L, ["children", "className", "forceRender", "id", "selected", "selectedClassName", "tabId"]);
          return m.default.createElement("div", _({}, $, { className: (0, O.default)(q, (I = {}, I[U] = k, I)), role: "tabpanel", id: j, "aria-labelledby": W }), B || k ? R : null);
        }, P;
      }(b.Component);
      T.defaultProps = { className: "react-tabs__tab-panel", forceRender: !1, selectedClassName: "react-tabs__tab-panel--selected", style: {} }, u.default = T, T.propTypes = { children: p.default.node, className: p.default.oneOfType([p.default.string, p.default.array, p.default.object]), forceRender: p.default.bool, id: p.default.string, selected: p.default.bool, selectedClassName: p.default.string, tabId: p.default.string };
    }, function(A, u, a) {
      function s(p) {
        if (Array.isArray(p)) {
          for (var b = 0, m = Array(p.length); b < p.length; b++) m[b] = p[b];
          return m;
        }
        return Array.from(p);
      }
      function h(p, b) {
        return p === b;
      }
      function E(p) {
        var b = arguments.length <= 1 || arguments[1] === void 0 ? h : arguments[1], m = null, v = null;
        return function() {
          for (var O = arguments.length, T = Array(O), w = 0; w < O; w++) T[w] = arguments[w];
          return m !== null && m.length === T.length && T.every(function(P, I) {
            return b(P, m[I]);
          }) || (v = p.apply(void 0, T)), m = T, v;
        };
      }
      function f(p) {
        var b = Array.isArray(p[0]) ? p[0] : p;
        if (!b.every(function(v) {
          return typeof v == "function";
        })) {
          var m = b.map(function(v) {
            return typeof v;
          }).join(", ");
          throw new Error("Selector creators expect all input-selectors to be functions, instead received the following types: [" + m + "]");
        }
        return b;
      }
      function S(p) {
        for (var b = arguments.length, m = Array(b > 1 ? b - 1 : 0), v = 1; v < b; v++) m[v - 1] = arguments[v];
        return function() {
          for (var O = arguments.length, T = Array(O), w = 0; w < O; w++) T[w] = arguments[w];
          var P = 0, I = T.pop(), L = f(T), R = p.apply(void 0, [function() {
            return P++, I.apply(void 0, arguments);
          }].concat(m)), q = function(B, j) {
            for (var k = arguments.length, U = Array(k > 2 ? k - 2 : 0), W = 2; W < k; W++) U[W - 2] = arguments[W];
            var $ = L.map(function(V) {
              return V.apply(void 0, [B, j].concat(U));
            });
            return R.apply(void 0, s($));
          };
          return q.resultFunc = I, q.recomputations = function() {
            return P;
          }, q.resetRecomputations = function() {
            return P = 0;
          }, q;
        };
      }
      function _(p) {
        var b = arguments.length <= 1 || arguments[1] === void 0 ? d : arguments[1];
        if (typeof p != "object") throw new Error("createStructuredSelector expects first argument to be an object where each property is a selector, instead received a " + typeof p);
        var m = Object.keys(p);
        return b(m.map(function(v) {
          return p[v];
        }), function() {
          for (var v = arguments.length, O = Array(v), T = 0; T < v; T++) O[T] = arguments[T];
          return O.reduce(function(w, P, I) {
            return w[m[I]] = P, w;
          }, {});
        });
      }
      u.__esModule = !0, u.defaultMemoize = E, u.createSelectorCreator = S, u.createStructuredSelector = _;
      var d = u.createSelector = S(E);
    }, function(A, u, a) {
      u.a = function(s, h, E) {
        return s.fields = h || [], s.fname = E, s;
      };
    }, function(A, u, a) {
      function s(L) {
        return L && L.selection;
      }
      function h(L) {
        return L && !!L.field && L.equal !== void 0;
      }
      function E(L) {
        return !!(L && L.field && v.isArray(L.range) && L.range.length === 2);
      }
      function f(L) {
        return L && !!L.field && (v.isArray(L.oneOf) || v.isArray(L.in));
      }
      function S(L) {
        return f(L) || h(L) || E(L);
      }
      function _(L, R, q) {
        return I.logicalExpr(R, function(B) {
          return v.isString(B) ? B : s(B) ? O.selectionPredicate(L, B.selection, q) : d(B);
        });
      }
      function d(L, R) {
        R === void 0 && (R = !0);
        var q = L.timeUnit ? "time(" + P.fieldExpr(L.timeUnit, L.field) + ")" : w.vgField(L, { expr: "datum" });
        if (h(L)) return q + "===" + p(L.equal, L.timeUnit);
        if (f(L))
          return "indexof([" + (L.oneOf || L.in).map(function(U) {
            return p(U, L.timeUnit);
          }).join(",") + "], " + q + ") !== -1";
        if (E(L)) {
          var B = L.range[0], j = L.range[1];
          if (B !== null && j !== null && R) return "inrange(" + q + ", [" + p(B, L.timeUnit) + ", " + p(j, L.timeUnit) + "])";
          var k = [];
          return B !== null && k.push(q + " >= " + p(B, L.timeUnit)), j !== null && k.push(q + " <= " + p(j, L.timeUnit)), k.length > 0 ? k.join(" && ") : "true";
        }
        throw new Error("Invalid field predicate: " + JSON.stringify(L));
      }
      function p(L, R) {
        if (T.isDateTime(L)) {
          var q = T.dateTimeExpr(L, !0);
          return "time(" + q + ")";
        }
        if (P.isLocalSingleTimeUnit(R)) {
          var B = {};
          B[R] = L;
          var q = T.dateTimeExpr(B, !0);
          return "time(" + q + ")";
        }
        return P.isUtcSingleTimeUnit(R) ? p(L, P.getLocalTimeUnit(R)) : JSON.stringify(L);
      }
      function b(L) {
        return S(L) && L.timeUnit ? m.__assign({}, L, { timeUnit: P.normalizeTimeUnit(L.timeUnit) }) : L;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var m = a(3), v = a(4), O = a(23), T = a(108), w = a(10), P = a(29), I = a(2);
      u.isSelectionPredicate = s, u.isFieldEqualPredicate = h, u.isFieldRangePredicate = E, u.isFieldOneOfPredicate = f, u.isFieldPredicate = S, u.expression = _, u.fieldFilterExpression = d, u.normalizePredicate = b;
    }, function(A, u, a) {
      function s(E) {
        return E == null ? null : E.fname;
      }
      function h(E) {
        return E == null ? null : E.fields;
      }
      u.b = s, u.c = h, u.a = function(E, f, S) {
        return E.fields = f || [], E.fname = S, E;
      };
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 }), u.LOG_ERRORS_ADD = "LOG_ERRORS_ADD", u.LOG_WARNINGS_ADD = "LOG_WARNINGS_ADD", u.LOG_WARNINGS_CLEAR = "LOG_WARNINGS_CLEAR", u.LOG_ERRORS_CLEAR = "LOG_ERRORS_CLEAR";
    }, function(A, u, a) {
      function s(_) {
        return S[_.type];
      }
      function h(_, d, p) {
        return function(b, m) {
          var v = f.selectSchema(m()), O = f.selectData(m()), T = f.selectConfig(m());
          return b({ type: u.RESULT_REQUEST, payload: { resultType: _ } }), E.fetchCompassQLRecommend(d, v, O, T).then(function(w) {
            var P = (p ? w.filter(function(I) {
              return I.groupByKey !== p;
            }) : w).map(function(I) {
              return I.plot;
            });
            b({ type: u.RESULT_RECEIVE, payload: { query: d, plots: P, resultType: _ } });
          });
        };
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(266), f = a(14), S = { RESULT_REQUEST: 1, RESULT_RECEIVE: 1, RESULT_LIMIT_INCREASE: 1, RESULT_MODIFY_FIELD_PROP: 1, RESULT_MODIFY_NESTED_FIELD_PROP: 1 };
      u.isResultAction = s, u.RESULT_REQUEST = "RESULT_REQUEST", u.RESULT_LIMIT_INCREASE = "RESULT_LIMIT_INCREASE", u.RESULT_RECEIVE = "RESULT_RECEIVE", u.RESULT_MODIFY_FIELD_PROP = "RESULT_MODIFY_FIELD_PROP", u.RESULT_MODIFY_NESTED_FIELD_PROP = "RESULT_MODIFY_NESTED_FIELD_PROP", u.resultRequest = h;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 }), u.SHELF_PREVIEW_SPEC = "SHELF_PREVIEW_SPEC", u.SHELF_PREVIEW_QUERY = "SHELF_PREVIEW_QUERY", u.SHELF_PREVIEW_DISABLE = "SHELF_PREVIEW_DISABLE";
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 }), function(s) {
        for (var h in s) u.hasOwnProperty(h) || (u[h] = s[h]);
      }(a(708)), u.DEFAULT_RESULT = { isLoading: !1, plots: null, query: null, limit: 8 }, u.DEFAULT_RESULT_INDEX = { main: u.DEFAULT_RESULT, addCategoricalField: u.DEFAULT_RESULT, addQuantitativeField: u.DEFAULT_RESULT, addTemporalField: u.DEFAULT_RESULT, alternativeEncodings: u.DEFAULT_RESULT, histograms: u.DEFAULT_RESULT, summaries: u.DEFAULT_RESULT }, u.RESULT_TYPES = Object.keys(u.DEFAULT_RESULT_INDEX);
    }, function(A, u) {
      A.exports = l;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 }), u.DEFAULT_VOYAGER_CONFIG = { showDataSourceSelector: !0, serverUrl: null, hideHeader: !1, hideFooter: !1, relatedViews: "initiallyShown", wildcards: "enabled" };
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(86), h = a(93), E = a(56), f = a(172);
      u.selectResult = h.RESULT_TYPES.reduce(function(_, d) {
        return _[d] = s.createSelector(f.selectActiveTab, function(p) {
          return p.result[d];
        }), _;
      }, {}), u.selectResultLimit = h.RESULT_TYPES.reduce(function(_, d) {
        return _[d] = s.createSelector(u.selectResult[d], function(p) {
          return p.limit;
        }), _;
      }, {});
      var S = h.RESULT_TYPES.reduce(function(_, d) {
        return _[d] = s.createSelector(u.selectResult[d], function(p) {
          return p.plots;
        }), _;
      }, {});
      u.selectMainSpec = s.createSelector(E.selectIsQuerySpecific, E.selectIsQueryEmpty, S.main, function(_, d, p) {
        if (_ && p && !d) return p[0].spec;
      });
    }, function(A, u, a) {
      function s(d) {
        return d && d.__esModule ? d : { default: d };
      }
      u.__esModule = !0;
      var h = a(350), E = s(h), f = a(349), S = s(f), _ = typeof S.default == "function" && typeof E.default == "symbol" ? function(d) {
        return typeof d;
      } : function(d) {
        return d && typeof S.default == "function" && d.constructor === S.default && d !== S.default.prototype ? "symbol" : typeof d;
      };
      u.default = typeof S.default == "function" && _(E.default) === "symbol" ? function(d) {
        return d === void 0 ? "undefined" : _(d);
      } : function(d) {
        return d && typeof S.default == "function" && d.constructor === S.default && d !== S.default.prototype ? "symbol" : d === void 0 ? "undefined" : _(d);
      };
    }, function(A, u) {
      u.f = {}.propertyIsEnumerable;
    }, function(A, u, a) {
      var s = a(127);
      A.exports = function(h) {
        return Object(s(h));
      };
    }, function(A, u) {
      var a = 0, s = Math.random();
      A.exports = function(h) {
        return "Symbol(".concat(h === void 0 ? "" : h, ")_", (++a + s).toString(36));
      };
    }, function(A, u, a) {
      function s(E, f, S, _, d, p, b, m) {
        if (h(f), !E) {
          var v;
          if (f === void 0) v = new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");
          else {
            var O = [S, _, d, p, b, m], T = 0;
            v = new Error(f.replace(/%s/g, function() {
              return O[T++];
            })), v.name = "Invariant Violation";
          }
          throw v.framesToPop = 1, v;
        }
      }
      var h = function(E) {
      };
      h = function(E) {
        if (E === void 0) throw new Error("invariant requires an error message argument");
      }, A.exports = s;
    }, function(A, u, a) {
      var s, h;
      (function(E) {
        function f(T, w, P, I) {
          return function(L, R) {
            var q = I({ statics: { getClass: function() {
              return L.getClass ? L.getClass() : L;
            } }, getInstance: function() {
              return L.prototype.isReactComponent ? this.refs.instance : this;
            }, __outsideClickHandler: function() {
            }, getDefaultProps: function() {
              return { excludeScrollbar: R && R.excludeScrollbar };
            }, componentDidMount: function() {
              if (typeof document < "u" && document.createElement) {
                var B, j = this.getInstance();
                if (R && typeof R.handleClickOutside == "function") {
                  if (typeof (B = R.handleClickOutside(j)) != "function") throw new Error("Component lacks a function for processing outside click events specified by the handleClickOutside config option.");
                } else if (typeof j.handleClickOutside == "function") B = w.Component.prototype.isPrototypeOf(j) ? j.handleClickOutside.bind(j) : j.handleClickOutside;
                else {
                  if (typeof j.props.handleClickOutside != "function") throw new Error("Component lacks a handleClickOutside(event) function for processing outside click events.");
                  B = j.props.handleClickOutside;
                }
                var k = P.findDOMNode(j);
                k === null && (console.warn("Antipattern warning: there was no DOM node associated with the component that is being wrapped by outsideClick."), console.warn(["This is typically caused by having a component that starts life with a render function that", "returns `null` (due to a state or props value), so that the component 'exist' in the React", `chain of components, but not in the DOM.

Instead, you need to refactor your code so that the`, "decision of whether or not to show your component is handled by the parent, in their render()", `function.

In code, rather than:

  A{render(){return check? <.../> : null;}
  B{render(){<A check=... />}

make sure that you`, `use:

  A{render(){return <.../>}
  B{render(){return <...>{ check ? <A/> : null }<...>}}

That is:`, "the parent is always responsible for deciding whether or not to render any of its children.", "It is not the child's responsibility to decide whether a render instruction from above should", "get ignored or not by returning `null`.\n\nWhen any component gets its render() function called,", "that is the signal that it should be rendering its part of the UI. It may in turn decide not to", "render all of *its* children, but it should never return `null` for itself. It is not responsible", "for that decision."].join(" ")));
                var U = this.__outsideClickHandler = O(k, j, B, this.props.outsideClickIgnoreClass || d, this.props.excludeScrollbar, this.props.preventDefault || !1, this.props.stopPropagation || !1), W = S.length;
                S.push(this), _[W] = U, this.props.disableOnClickOutside || this.enableOnClickOutside();
              }
            }, componentWillReceiveProps: function(B) {
              this.props.disableOnClickOutside && !B.disableOnClickOutside ? this.enableOnClickOutside() : !this.props.disableOnClickOutside && B.disableOnClickOutside && this.disableOnClickOutside();
            }, componentWillUnmount: function() {
              this.disableOnClickOutside(), this.__outsideClickHandler = !1;
              var B = S.indexOf(this);
              B > -1 && (_[B] && _.splice(B, 1), S.splice(B, 1));
            }, enableOnClickOutside: function() {
              var B = this.__outsideClickHandler;
              if (typeof document < "u") {
                var j = this.props.eventTypes || p;
                j.forEach || (j = [j]), j.forEach(function(k) {
                  document.addEventListener(k, B);
                });
              }
            }, disableOnClickOutside: function() {
              var B = this.__outsideClickHandler;
              if (typeof document < "u") {
                var j = this.props.eventTypes || p;
                j.forEach || (j = [j]), j.forEach(function(k) {
                  document.removeEventListener(k, B);
                });
              }
            }, render: function() {
              var B = this.props, j = {};
              return Object.keys(this.props).forEach(function(k) {
                k !== "excludeScrollbar" && (j[k] = B[k]);
              }), L.prototype.isReactComponent && (j.ref = "instance"), j.disableOnClickOutside = this.disableOnClickOutside, j.enableOnClickOutside = this.enableOnClickOutside, w.createElement(L, j);
            } });
            return function(B, j) {
              var k = B.displayName || B.name || "Component";
              j.displayName = "OnClickOutside(" + k + ")";
            }(L, q), q;
          };
        }
        var S = [], _ = [], d = "ignore-react-onclickoutside", p = ["mousedown", "touchstart"], b = function(T, w, P) {
          return T === w || (T.correspondingElement ? T.correspondingElement.classList.contains(P) : T.classList.contains(P));
        }, m = function(T, w, P) {
          if (T === w) return !0;
          for (; T.parentNode; ) {
            if (b(T, w, P)) return !0;
            T = T.parentNode;
          }
          return T;
        }, v = function(T) {
          return document.documentElement.clientWidth <= T.clientX || document.documentElement.clientHeight <= T.clientY;
        }, O = function(T, w, P, I, L, R, q) {
          return function(B) {
            R && B.preventDefault(), q && B.stopPropagation();
            var j = B.target;
            L && v(B) || m(j, T, I) !== document || P(B);
          };
        };
        (function(T, w) {
          s = [a(0), a(24), a(51)], (h = (function(P, I, L) {
            return L || (L = P.createClass), w(T, P, I, L);
          }).apply(u, s)) !== void 0 && (A.exports = h);
        })(E, f);
      })(this);
    }, function(A, u, a) {
      function s(w) {
        return w && w.__esModule ? w : { default: w };
      }
      function h(w, P) {
        var I = {};
        for (var L in w) P.indexOf(L) >= 0 || Object.prototype.hasOwnProperty.call(w, L) && (I[L] = w[L]);
        return I;
      }
      function E(w, P) {
        if (!(w instanceof P)) throw new TypeError("Cannot call a class as a function");
      }
      function f(w, P) {
        if (!w) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return !P || typeof P != "object" && typeof P != "function" ? w : P;
      }
      function S(w, P) {
        if (typeof P != "function" && P !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof P);
        w.prototype = Object.create(P && P.prototype, { constructor: { value: w, enumerable: !1, writable: !0, configurable: !0 } }), P && (Object.setPrototypeOf ? Object.setPrototypeOf(w, P) : w.__proto__ = P);
      }
      u.__esModule = !0;
      var _ = Object.assign || function(w) {
        for (var P = 1; P < arguments.length; P++) {
          var I = arguments[P];
          for (var L in I) Object.prototype.hasOwnProperty.call(I, L) && (w[L] = I[L]);
        }
        return w;
      }, d = a(1), p = s(d), b = a(0), m = s(b), v = a(45), O = s(v), T = function(w) {
        function P() {
          return E(this, P), f(this, w.apply(this, arguments));
        }
        return S(P, w), P.prototype.render = function() {
          var I = this.props, L = I.children, R = I.className, q = h(I, ["children", "className"]);
          return m.default.createElement("ul", _({}, q, { className: (0, O.default)(R), role: "tablist" }), L);
        }, P;
      }(b.Component);
      T.defaultProps = { className: "react-tabs__tab-list" }, u.default = T, T.propTypes = { children: p.default.oneOfType([p.default.object, p.default.array]), className: p.default.oneOfType([p.default.string, p.default.array, p.default.object]) };
    }, function(A, u, a) {
      var s = a(231);
      u.a = function(h) {
        function E() {
          d.push(v + h.substring(f, S)), v = "", f = S + 1;
        }
        var f, S, _, d = [], p = null, b = 0, m = h.length, v = "";
        for (h += "", f = S = 0; S < m; ++S) if ((_ = h[S]) === "\\") v += h.substring(f, S), f = ++S;
        else if (_ === p) E(), p = null, b = -1;
        else {
          if (p) continue;
          f === b && _ === '"' || f === b && _ === "'" ? (f = S + 1, p = _) : _ !== "." || b ? _ === "[" ? (S > f && E(), b = f = S + 1) : _ === "]" && (b || a.i(s.a)("Access path missing open bracket: " + h), b > 0 && E(), b = 0, f = S + 1) : S > f ? E() : f = S + 1;
        }
        return b && a.i(s.a)("Access path missing closing bracket: " + h), p && a.i(s.a)("Access path missing closing quote: " + h), S > f && (++S, E()), d;
      };
    }, function(A, u, a) {
      function s(S) {
        return a.i(h.a)(S) ? "[" + S.map(s) + "]" : a.i(E.a)(S) || a.i(f.a)(S) ? JSON.stringify(S).replace("\u2028", "\\u2028").replace("\u2029", "\\u2029") : S;
      }
      u.a = s;
      var h = a(154), E = a(236), f = a(237);
    }, function(A, u, a) {
      function s(Y) {
        K.isUnitModel(Y) ? h(Y) : E(Y);
      }
      function h(Y) {
        var Q = Y.specifiedScales, Z = Y.component.scales;
        U.keys(Z).forEach(function(J) {
          var ne = Q[J], ie = ne ? ne.domain : void 0, re = S(Y, J), ee = Z[J];
          if (ee.domains = re, B.isSelectionDomain(ie) && ee.set("domainRaw", { signal: H.SELECTION_DOMAIN + k.hash(ie) }, !0), Y.component.data.isFaceted) {
            for (var te = Y; !K.isFacetModel(te) && te.parent; ) te = te.parent;
            if (te.component.resolve.scale[J] === "shared") for (var ue = 0, le = re; ue < le.length; ue++) {
              var ae = le[ue];
              $.isDataRefDomain(ae) && (ae.data = X.FACET_SCALE_PREFIX + ae.data.replace(X.FACET_SCALE_PREFIX, ""));
            }
          }
        });
      }
      function E(Y) {
        for (var Q = 0, Z = Y.children; Q < Z.length; Q++)
          s(Z[Q]);
        var J = Y.component.scales;
        U.keys(J).forEach(function(ne) {
          for (var ie, re = null, ee = 0, te = Y.children; ee < te.length; ee++) {
            var ue = te[ee], le = ue.component.scales[ne];
            if (le) {
              ie = ie === void 0 ? le.domains : ie.concat(le.domains);
              var ae = le.get("domainRaw");
              re && ae && re.signal !== ae.signal && q.warn("The same selection must be used to override scale domains in a layered view."), re = ae;
            }
          }
          J[ne].domains = ie, re && J[ne].set("domainRaw", re, !0);
        });
      }
      function f(Y, Q, Z, J) {
        if (Y === "unaggregated") {
          var ne = p(Q, Z), ie = ne.valid, re = ne.reason;
          if (!ie) return void q.warn(re);
        } else if (Y === void 0 && J.useUnaggregatedDomain) {
          var ie = p(Q, Z).valid;
          if (ie) return "unaggregated";
        }
        return Y;
      }
      function S(Y, Q) {
        var Z = Y.getScaleComponent(Q).get("type"), J = f(Y.scaleDomain(Q), Y.fieldDef(Q), Z, Y.config.scale);
        return J !== Y.scaleDomain(Q) && (Y.specifiedScales[Q] = O.__assign({}, Y.specifiedScales[Q], { domain: J })), Q === "x" && Y.channelHasField("x2") ? Y.channelHasField("x") ? _(Z, J, Y, "x").concat(_(Z, J, Y, "x2")) : _(Z, J, Y, "x2") : Q === "y" && Y.channelHasField("y2") ? Y.channelHasField("y") ? _(Z, J, Y, "y").concat(_(Z, J, Y, "y2")) : _(Z, J, Y, "y2") : _(Z, J, Y, Q);
      }
      function _(Y, Q, Z, J) {
        var ne = Z.fieldDef(J);
        if (Q && Q !== "unaggregated" && !B.isSelectionDomain(Q)) {
          if (!ne.bin) return R.isDateTime(Q[0]) ? Q.map(function(ue) {
            return { signal: "{data: " + R.dateTimeExpr(ue, !0) + "}" };
          }) : [Q];
          q.warn(q.message.conflictedDomain(J));
        }
        var ie = Z.stack;
        if (ie && J === ie.fieldChannel) {
          if (ie.offset === "normalize") return [[0, 1]];
          var re = Z.requestDataName(L.MAIN);
          return [{ data: re, field: Z.vgField(J, { suffix: "start" }) }, { data: re, field: Z.vgField(J, { suffix: "end" }) }];
        }
        var ee = I.isScaleChannel(J) ? d(Z, J, Y) : void 0;
        if (Q === "unaggregated") {
          var re = Z.requestDataName(L.MAIN);
          return [{ data: re, field: Z.vgField(J, { aggregate: "min" }) }, { data: re, field: Z.vgField(J, { aggregate: "max" }) }];
        }
        if (ne.bin) {
          if (B.isBinScale(Y)) {
            var te = Z.getName(P.binToString(ne.bin) + "_" + ne.field + "_bins");
            return [{ signal: "sequence(" + te + ".start, " + te + ".stop + " + te + ".step, " + te + ".step)" }];
          }
          if (B.hasDiscreteDomain(Y)) return [{ data: U.isBoolean(ee) ? Z.requestDataName(L.MAIN) : Z.requestDataName(L.RAW), field: Z.vgField(J, V.binRequiresRange(ne, J) ? { binSuffix: "range" } : {}), sort: ee !== !0 && j.isSortField(ee) ? ee : { field: Z.vgField(J, {}), op: "min" } }];
          if (J === "x" || J === "y") {
            var re = Z.requestDataName(L.MAIN);
            return [{ data: re, field: Z.vgField(J, {}) }, { data: re, field: Z.vgField(J, { binSuffix: "end" }) }];
          }
          return [{ data: Z.requestDataName(L.MAIN), field: Z.vgField(J, {}) }];
        }
        return ee ? [{ data: U.isBoolean(ee) ? Z.requestDataName(L.MAIN) : Z.requestDataName(L.RAW), field: Z.vgField(J), sort: ee }] : [{ data: Z.requestDataName(L.MAIN), field: Z.vgField(J) }];
      }
      function d(Y, Q, Z) {
        if (B.hasDiscreteDomain(Z)) {
          var J = Y.sort(Q);
          return j.isSortArray(J) ? { op: "min", field: G.sortArrayIndexField(Y, Q), order: "ascending" } : j.isSortField(J) ? J : J === "descending" ? { op: "min", field: Y.vgField(Q), order: "descending" } : !!U.contains(["ascending", void 0], J) || void 0;
        }
      }
      function p(Y, Q) {
        return Y.aggregate ? w.SHARED_DOMAIN_OP_INDEX[Y.aggregate] ? Y.type === "quantitative" && Q === "log" ? { valid: !1, reason: q.message.unaggregatedDomainWithLogScale(Y) } : { valid: !0 } : { valid: !1, reason: q.message.unaggregateDomainWithNonSharedDomainOp(Y.aggregate) } : { valid: !1, reason: q.message.unaggregateDomainHasNoEffectForRawField(Y) };
      }
      function b(Y) {
        var Q = U.unique(Y.map(function(te) {
          return $.isDataRefDomain(te) ? (te.sort, O.__rest(te, ["sort"])) : te;
        }), U.hash), Z = U.unique(Y.map(function(te) {
          if ($.isDataRefDomain(te)) {
            var ue = te.sort;
            return ue === void 0 || U.isBoolean(ue) || (ue.op === "count" && delete ue.field, ue.order === "ascending" && delete ue.order), ue;
          }
        }).filter(function(te) {
          return te !== void 0;
        }), U.hash);
        if (Q.length === 1) {
          var J = Y[0];
          if ($.isDataRefDomain(J) && Z.length > 0) {
            var ne = Z[0];
            return Z.length > 1 && (q.warn(q.message.MORE_THAN_ONE_SORT), ne = !0), O.__assign({}, J, { sort: ne });
          }
          return J;
        }
        var ie = U.unique(Z.map(function(te) {
          return te === !0 || te.op === "count" ? te : (q.warn(q.message.domainSortDropped(te)), !0);
        }), U.hash), re = void 0;
        ie.length === 1 ? re = ie[0] : ie.length > 1 && (q.warn(q.message.MORE_THAN_ONE_SORT), re = !0);
        var ee = U.unique(Y.map(function(te) {
          return $.isDataRefDomain(te) ? te.data : null;
        }), function(te) {
          return te;
        });
        if (ee.length === 1 && ee[0] !== null) {
          var J = O.__assign({ data: ee[0], fields: Q.map(function(ue) {
            return ue.field;
          }) }, re ? { sort: re } : {});
          return J;
        }
        return O.__assign({ fields: Q }, re ? { sort: re } : {});
      }
      function m(Y) {
        if ($.isDataRefDomain(Y) && T.isString(Y.field)) return Y.field;
        if (W.isDataRefUnionedDomain(Y)) {
          for (var Q = void 0, Z = 0, J = Y.fields; Z < J.length; Z++) {
            var ne = J[Z];
            if ($.isDataRefDomain(ne) && T.isString(ne.field)) if (Q) {
              if (Q !== ne.field) return q.warn("Detected faceted independent scales that union domain of multiple fields from different data sources.  We will use the first field.  The result view size may be incorrect."), Q;
            } else Q = ne.field;
          }
          return q.warn("Detected faceted independent scales that union domain of identical fields from different source detected.  We will assume that this is the same field from a different fork of the same data source.  However, if this is not case, the result view size maybe incorrect."), Q;
        }
        if (W.isFieldRefUnionDomain(Y)) {
          q.warn("Detected faceted independent scales that union domain of multiple fields from the same data source.  We will use the first field.  The result view size may be incorrect.");
          var Q = Y.fields[0];
          return T.isString(Q) ? Q : void 0;
        }
      }
      function v(Y, Q) {
        return b(Y.component.scales[Q].domains.map(function(Z) {
          return $.isDataRefDomain(Z) && (Z.data = Y.lookupDataSource(Z.data)), Z;
        }));
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var O = a(3), T = a(4), w = a(60), P = a(156), I = a(5), L = a(53), R = a(108), q = a(8), B = a(9), j = a(250), k = a(2), U = a(2), W = a(43), $ = a(43), V = a(52), G = a(622), X = a(625), K = a(27), H = a(23);
      u.parseScaleDomain = s, u.parseDomainForChannel = S, u.domainSort = d, u.canUseUnaggregatedDomain = p, u.mergeDomains = b, u.getFieldFromDomain = m, u.assembleDomain = v;
    }, function(A, u, a) {
      function s(p, b) {
        return "domain(" + h.stringValue(p.scaleName(b)) + ")";
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(4), E = a(5), f = a(8), S = a(9), _ = a(23), d = { has: function(p) {
        return p.type === "interval" && p.resolve === "global" && p.bind && p.bind === "scales";
      }, parse: function(p, b, m) {
        var v = m.scales = [];
        m.project.forEach(function(O) {
          var T = O.channel, w = p.getScaleComponent(T), P = w ? w.get("type") : void 0;
          if (!w || !S.hasContinuousDomain(P) || S.isBinScale(P)) return void f.warn(f.message.SCALE_BINDINGS_CONTINUOUS);
          w.set("domainRaw", { signal: _.channelSignalName(m, T, "data") }, !0), v.push(T), p.repeater && p.repeater.row === p.repeater.column && p.getScaleComponent(T === E.X ? E.Y : E.X).set("domainRaw", { signal: _.channelSignalName(m, T, "data") }, !0);
        });
      }, topLevelSignals: function(p, b, m) {
        if (!p.parent) return m;
        var v = b.scales.filter(function(O) {
          return !m.filter(function(T) {
            return T.name === _.channelSignalName(b, O, "data");
          }).length;
        });
        return m.concat(v.map(function(O) {
          return { name: _.channelSignalName(b, O, "data") };
        }));
      }, signals: function(p, b, m) {
        return p.parent && b.scales.forEach(function(v) {
          var O = m.filter(function(T) {
            return T.name === _.channelSignalName(b, v, "data");
          })[0];
          O.push = "outer", delete O.value, delete O.update;
        }), m;
      } };
      u.default = d, u.domain = s;
    }, function(A, u, a) {
      function s(m) {
        return !!(m && (m.year || m.quarter || m.month || m.date || m.day || m.hours || m.minutes || m.seconds || m.milliseconds));
      }
      function h(m) {
        if (_.isNumber(m)) return m > 4 && d.warn(d.message.invalidTimeUnit("quarter", m)), m - 1 + "";
        throw new Error(d.message.invalidTimeUnit("quarter", m));
      }
      function E(m) {
        if (_.isNumber(m)) return m - 1 + "";
        var v = m.toLowerCase(), O = u.MONTHS.indexOf(v);
        if (O !== -1) return O + "";
        var T = v.substr(0, 3), w = u.SHORT_MONTHS.indexOf(T);
        if (w !== -1) return w + "";
        throw new Error(d.message.invalidTimeUnit("month", m));
      }
      function f(m) {
        if (_.isNumber(m)) return m % 7 + "";
        var v = m.toLowerCase(), O = u.DAYS.indexOf(v);
        if (O !== -1) return O + "";
        var T = v.substr(0, 3), w = u.SHORT_DAYS.indexOf(T);
        if (w !== -1) return w + "";
        throw new Error(d.message.invalidTimeUnit("day", m));
      }
      function S(m, v) {
        v === void 0 && (v = !1);
        var O = [];
        if (v && m.day !== void 0 && p.keys(m).length > 1 && (d.warn(d.message.droppedDay(m)), m = p.duplicate(m), delete m.day), m.year !== void 0 ? O.push(m.year) : m.day !== void 0 ? O.push(b) : O.push(0), m.month !== void 0) {
          var T = v ? E(m.month) : m.month;
          O.push(T);
        } else if (m.quarter !== void 0) {
          var w = v ? h(m.quarter) : m.quarter;
          O.push(w + "*3");
        } else O.push(0);
        if (m.date !== void 0) O.push(m.date);
        else if (m.day !== void 0) {
          var P = v ? f(m.day) : m.day;
          O.push(P + "+1");
        } else O.push(1);
        for (var I = 0, L = ["hours", "minutes", "seconds", "milliseconds"]; I < L.length; I++) {
          var R = L[I];
          m[R] !== void 0 ? O.push(m[R]) : O.push(0);
        }
        return m.utc ? "utc(" + O.join(", ") + ")" : "datetime(" + O.join(", ") + ")";
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var _ = a(4), d = a(8), p = a(2), b = 2006;
      u.isDateTime = s, u.MONTHS = ["january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"], u.SHORT_MONTHS = u.MONTHS.map(function(m) {
        return m.substr(0, 3);
      }), u.DAYS = ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"], u.SHORT_DAYS = u.DAYS.map(function(m) {
        return m.substr(0, 3);
      }), u.dateTimeExpr = S;
    }, function(A, u, a) {
      var s = a(253);
      u.a = function(h) {
        function E() {
          d.push(v + h.substring(f, S)), v = "", f = S + 1;
        }
        var f, S, _, d = [], p = null, b = 0, m = h.length, v = "";
        for (h += "", f = S = 0; S < m; ++S) if ((_ = h[S]) === "\\") v += h.substring(f, S), f = ++S;
        else if (_ === p) E(), p = null, b = -1;
        else {
          if (p) continue;
          f === b && _ === '"' || f === b && _ === "'" ? (f = S + 1, p = _) : _ !== "." || b ? _ === "[" ? (S > f && E(), b = f = S + 1) : _ === "]" && (b || a.i(s.a)("Access path missing open bracket: " + h), b > 0 && E(), b = 0, f = S + 1) : S > f ? E() : f = S + 1;
        }
        return b && a.i(s.a)("Access path missing closing bracket: " + h), p && a.i(s.a)("Access path missing closing quote: " + h), S > f && (S++, E()), d;
      };
    }, function(A, u, a) {
      function s(S) {
        return a.i(h.a)(S) ? "[" + S.map(s) + "]" : a.i(E.a)(S) || a.i(f.a)(S) ? JSON.stringify(S).replace("\u2028", "\\u2028").replace("\u2029", "\\u2029") : S;
      }
      u.a = s;
      var h = a(163), E = a(257), f = a(258);
    }, function(A, u, a) {
      var s = function() {
      };
      s = function(h, E, f) {
        var S = arguments.length;
        f = new Array(S > 2 ? S - 2 : 0);
        for (var _ = 2; _ < S; _++) f[_ - 2] = arguments[_];
        if (E === void 0) throw new Error("`warning(condition, format, ...args)` requires a warning message argument");
        if (E.length < 10 || /^[s\W]*$/.test(E)) throw new Error("The warning format should be able to uniquely identify this warning. Please, use a more descriptive format than: " + E);
        if (!h) {
          var d = 0, p = "Warning: " + E.replace(/%s/g, function() {
            return f[d++];
          });
          typeof console < "u" && console.error(p);
          try {
            throw new Error(p);
          } catch {
          }
        }
      }, A.exports = s;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 }), u.BOOKMARK_ADD_PLOT = "BOOKMARK_ADD_PLOT", u.BOOKMARK_REMOVE_PLOT = "BOOKMARK_REMOVE_PLOT", u.BOOKMARK_MODIFY_NOTE = "BOOKMARK_MODIFY_NOTE", u.BOOKMARK_CLEAR_ALL = "BOOKMARK_CLEAR_ALL";
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 }), u.RELATED_VIEWS_HIDE_TOGGLE = "RELATED_VIEWS_HIDE_TOGGLE";
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 }), u.RESET = "RESET";
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var P = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(I, L) {
          I.__proto__ = L;
        } || function(I, L) {
          for (var R in L) L.hasOwnProperty(R) && (I[R] = L[R]);
        };
        return function(I, L) {
          function R() {
            this.constructor = I;
          }
          P(I, L), I.prototype = L === null ? Object.create(L) : (R.prototype = L.prototype, new R());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(6), E = a(0), f = a(7), S = a(116), _ = a(94), d = a(38), p = a(44), b = a(298), m = function(P) {
        function I(L) {
          var R = P.call(this, L) || this;
          return R.fieldRefHandler = function(q) {
            R.field = q;
          }, R.popupRefHandler = function(q) {
            R.popup = q;
          }, R.state = { popupIsOpened: !1 }, R.onFilterToggle = R.onFilterToggle.bind(R), R.onAdd = R.onAdd.bind(R), R.onDoubleClick = R.onDoubleClick.bind(R), R.togglePopup = R.togglePopup.bind(R), R;
        }
        return s(I, P), I.prototype.componentWillUpdate = function(L, R) {
          R && (R.popupIsOpened ? document.addEventListener("click", this.handleClickOutside.bind(this), !0) : this.state.popupIsOpened && document.removeEventListener("click", this.handleClickOutside.bind(this), !0));
        }, I.prototype.render = function() {
          var L, R = this.props, q = R.connectDragSource, B = R.fieldDef, j = R.isPill, k = R.popupComponent, U = B.fn, W = B.field, $ = B.description, V = h.isWildcard(W) || this.props.isEnumeratedWildcardField, G = U && U !== "count";
          L = h.isWildcard(U) ? U.enum.length > 1 ? "?" : U.enum[0] : U;
          var X = E.createElement("span", { styleName: V ? "wildcard-field-pill" : j ? "field-pill" : "field", onDoubleClick: this.onDoubleClick }, this.renderCaretTypeSpan(), this.renderFuncSpan(L), E.createElement("span", { styleName: G ? "fn-text" : "text" }, h.isWildcard(W) ? $ : W !== "*" ? W : ""), this.renderAddFilterSpan(), this.renderAddSpan(), this.renderRemoveSpan());
          return k ? E.createElement("div", { ref: this.fieldRefHandler }, E.createElement(_, { attachment: "top left", targetAttachment: "bottom left" }, q ? q(X) : X, E.createElement("div", { ref: this.popupRefHandler }, this.state.popupIsOpened && k))) : q ? q(X) : X;
        }, I.prototype.onFilterToggle = function() {
          var L = this.props, R = L.filter, q = L.fieldDef;
          R.onToggle(q);
        }, I.prototype.renderCaretTypeSpan = function() {
          var L = this.props, R = L.caretShow, q = L.fieldDef, B = L.popupComponent, j = q.type, k = O[j], U = v[j];
          return E.createElement("span", { styleName: "caret-type", onClick: this.togglePopup }, R && E.createElement("i", { className: (B ? "" : "hidden ") + "fa fa-caret-down" }), R && " ", j && E.createElement("i", { className: "fa " + k, styleName: "type", title: U }));
        }, I.prototype.renderAddSpan = function() {
          return this.props.onAdd && E.createElement("span", null, E.createElement("a", { onClick: this.onAdd }, E.createElement("i", { className: "fa fa-plus" })));
        }, I.prototype.renderRemoveSpan = function() {
          var L = this.props.onRemove;
          return L && E.createElement("span", null, E.createElement("a", { onClick: L }, E.createElement("i", { className: "fa fa-times" })));
        }, I.prototype.renderAddFilterSpan = function() {
          var L = this.props, R = L.filter, q = L.fieldDef;
          if (R && !h.isWildcard(q.field)) {
            var B = R.active ? "" : "filter-button-unadded";
            return this.props.filter && E.createElement("span", { styleName: B }, E.createElement("a", { onClick: this.onFilterToggle }, E.createElement("i", { className: "fa fa-filter" })));
          }
        }, I.prototype.renderFuncSpan = function(L) {
          return E.createElement("span", { styleName: "func", title: L }, L);
        }, I.prototype.onAdd = function() {
          this.props.onAdd(this.props.fieldDef);
        }, I.prototype.onDoubleClick = function() {
          this.props.onDoubleClick && this.props.onDoubleClick(this.props.fieldDef);
        }, I.prototype.handleClickOutside = function(L) {
          !this.field || this.field.contains(L.target) || this.popup.contains(L.target) || this.closePopup();
        }, I.prototype.closePopup = function() {
          this.props.popupComponent && this.setState({ popupIsOpened: !1 });
        }, I.prototype.togglePopup = function() {
          this.props.popupComponent && this.setState({ popupIsOpened: !this.state.popupIsOpened });
        }, I;
      }(E.PureComponent), v = { nominal: "text", ordinal: "text-ordinal", quantitative: "number", temporal: "time", geographic: "geo" }, O = { nominal: "fa-font", ordinal: "fa-font", quantitative: "fa-hashtag", temporal: "fa-calendar" }, T = { beginDrag: function(P) {
        var I, L = P.fieldDef, R = P.parentId, q = P.schema;
        return h.isWildcard(L.field) || L.field === "*" || (I = q.domain({ field: L.field })), { fieldDef: L, parentId: R, filter: p.createDefaultFilter(L, I) };
      }, canDrag: function(P, I) {
        return P.draggable;
      } }, w = function(P, I) {
        return { connectDragSource: P.dragSource(), isDragging: I.isDragging() };
      };
      u.Field = S.DragSource(d.DraggableType.FIELD, T, w)(f(m, b));
    }, function(A, u) {
      A.exports = c;
    }, function(A, u) {
      A.exports = g;
    }, function(A, u, a) {
      function s(S) {
        this.message = "validation failed", this.errors = S, this.ajv = this.validation = !0;
      }
      function h(S, _, d) {
        this.message = d || h.message(S, _), this.missingRef = f.url(S, _), this.missingSchema = f.normalizeId(f.fullPath(this.missingRef));
      }
      function E(S) {
        return S.prototype = Object.create(Error.prototype), S.prototype.constructor = S, S;
      }
      var f = a(119);
      A.exports = { Validation: E(s), MissingRef: E(h) }, h.message = function(S, _) {
        return "can't resolve reference " + _ + " from id " + S;
      };
    }, function(A, u, a) {
      function s(j, k, U) {
        var W = this._refs[U];
        if (typeof W == "string") {
          if (!this._refs[W]) return s.call(this, j, k, W);
          W = this._refs[W];
        }
        if ((W = W || this._schemas[U]) instanceof I) return S(W.schema, this._opts.inlineRefs) ? W.schema : W.validate || this._compile(W);
        var $, V, G, X = h.call(this, k, U);
        return X && ($ = X.schema, k = X.root, G = X.baseId), $ instanceof I ? V = $.validate || j.call(this, $.schema, k, void 0, G) : $ !== void 0 && (V = S($, this._opts.inlineRefs) ? $ : j.call(this, $, k, void 0, G)), V;
      }
      function h(j, k) {
        var U = T.parse(k, !1, !0), W = b(U), $ = p(this._getId(j.schema));
        if (W !== $) {
          var V = m(W), G = this._refs[V];
          if (typeof G == "string") return E.call(this, j, G, U);
          if (G instanceof I) G.validate || this._compile(G), j = G;
          else {
            if (!((G = this._schemas[V]) instanceof I)) return;
            if (G.validate || this._compile(G), V == m(k)) return { schema: G, root: j, baseId: $ };
            j = G;
          }
          if (!j.schema) return;
          $ = p(this._getId(j.schema));
        }
        return f.call(this, U, $, j.schema, j);
      }
      function E(j, k, U) {
        var W = h.call(this, j, k);
        if (W) {
          var $ = W.schema, V = W.baseId;
          j = W.root;
          var G = this._getId($);
          return G && (V = v(V, G)), f.call(this, U, V, $, j);
        }
      }
      function f(j, k, U, W) {
        if (j.hash = j.hash || "", j.hash.slice(0, 2) == "#/") {
          for (var $ = j.hash.split("/"), V = 1; V < $.length; V++) {
            var G = $[V];
            if (G) {
              if (G = P.unescapeFragment(G), (U = U[G]) === void 0) break;
              var X;
              if (!R[G] && (X = this._getId(U), X && (k = v(k, X)), U.$ref)) {
                var K = v(k, U.$ref), H = h.call(this, W, K);
                H && (U = H.schema, W = H.root, k = H.baseId);
              }
            }
          }
          return U !== void 0 && U !== W.schema ? { schema: U, root: W, baseId: k } : void 0;
        }
      }
      function S(j, k) {
        return k !== !1 && (k === void 0 || k === !0 ? _(j) : k ? d(j) <= k : void 0);
      }
      function _(j) {
        var k;
        if (Array.isArray(j)) {
          for (var U = 0; U < j.length; U++) if (typeof (k = j[U]) == "object" && !_(k)) return !1;
        } else for (var W in j)
          if (W == "$ref" || typeof (k = j[W]) == "object" && !_(k)) return !1;
        return !0;
      }
      function d(j) {
        var k, U = 0;
        if (Array.isArray(j)) {
          for (var W = 0; W < j.length; W++) if (k = j[W], typeof k == "object" && (U += d(k)), U == 1 / 0) return 1 / 0;
        } else for (var $ in j) {
          if ($ == "$ref") return 1 / 0;
          if (q[$]) U++;
          else if (k = j[$], typeof k == "object" && (U += d(k) + 1), U == 1 / 0) return 1 / 0;
        }
        return U;
      }
      function p(j, k) {
        return k !== !1 && (j = m(j)), b(T.parse(j, !1, !0));
      }
      function b(j) {
        var k = j.protocol || j.href.slice(0, 2) == "//" ? "//" : "";
        return (j.protocol || "") + k + (j.host || "") + (j.path || "") + "#";
      }
      function m(j) {
        return j ? j.replace(B, "") : "";
      }
      function v(j, k) {
        return k = m(k), T.resolve(j, k);
      }
      function O(j) {
        var k = m(this._getId(j)), U = { "": k }, W = { "": p(k, !1) }, $ = {}, V = this;
        return L(j, { allKeys: !0 }, function(G, X, K, H, Y, Q, Z) {
          if (X !== "") {
            var J = V._getId(G), ne = U[H], ie = W[H] + "/" + Y;
            if (Z !== void 0 && (ie += "/" + (typeof Z == "number" ? Z : P.escapeFragment(Z))), typeof J == "string") {
              J = ne = m(ne ? T.resolve(ne, J) : J);
              var re = V._refs[J];
              if (typeof re == "string" && (re = V._refs[re]), re && re.schema) {
                if (!w(G, re.schema)) throw new Error('id "' + J + '" resolves to more than one schema');
              } else if (J != m(ie)) if (J[0] == "#") {
                if ($[J] && !w(G, $[J])) throw new Error('id "' + J + '" resolves to more than one schema');
                $[J] = G;
              } else V._refs[J] = ie;
            }
            U[X] = ne, W[X] = ie;
          }
        }), $;
      }
      var T = a(151), w = a(140), P = a(64), I = a(178), L = a(473);
      A.exports = s, s.normalizeId = m, s.fullPath = p, s.url = v, s.ids = O, s.inlineRef = S, s.schema = h;
      var R = P.toHash(["properties", "patternProperties", "enum", "dependencies", "definitions"]), q = P.toHash(["type", "format", "pattern", "maxLength", "minLength", "maxProperties", "minProperties", "maxItems", "minItems", "maximum", "minimum", "uniqueItems", "multipleOf", "required", "enum"]), B = /#\/?$/;
    }, function(A, u, a) {
      u.__esModule = !0;
      var s = a(343), h = function(E) {
        return E && E.__esModule ? E : { default: E };
      }(s);
      u.default = function(E) {
        if (Array.isArray(E)) {
          for (var f = 0, S = Array(E.length); f < E.length; f++) S[f] = E[f];
          return S;
        }
        return (0, h.default)(E);
      };
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var d = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(p, b) {
          p.__proto__ = b;
        } || function(p, b) {
          for (var m in b) b.hasOwnProperty(m) && (p[m] = b[m]);
        };
        return function(p, b) {
          function m() {
            this.constructor = p;
          }
          d(p, b), p.prototype = b === null ? Object.create(b) : (m.prototype = b.prototype, new m());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(18), E = a(6), f = a(15), S = function() {
        function d(p) {
          this.constraint = p;
        }
        return d.prototype.name = function() {
          return this.constraint.name;
        }, d.prototype.description = function() {
          return this.constraint.description;
        }, d.prototype.properties = function() {
          return this.constraint.properties;
        }, d.prototype.strict = function() {
          return this.constraint.strict;
        }, d;
      }();
      u.AbstractConstraintModel = S;
      var _ = function(d) {
        function p(b) {
          return d.call(this, b) || this;
        }
        return s(p, d), p.prototype.hasAllRequiredPropertiesSpecific = function(b) {
          return f.every(this.constraint.properties, function(m) {
            if (h.isEncodingNestedProp(m)) {
              var v = m.parent, O = m.child;
              return !b[v] || !E.isWildcard(b[v][O]);
            }
            return !b[m] || !E.isWildcard(b[m]);
          });
        }, p.prototype.satisfy = function(b, m, v, O) {
          return !this.constraint.allowWildcardForProperties && !this.hasAllRequiredPropertiesSpecific(b) || this.constraint.satisfy(b, m, v, O);
        }, p;
      }(S);
      u.EncodingConstraintModel = _;
    }, function(A, u, a) {
      function s(O, T) {
        b[O] = T;
      }
      function h(O, T) {
        if (T) {
          for (var w = { name: "", path: "", items: [] }, P = {}, I = [], L = [], R = [], q = 0; q < T.length; q++) {
            I.push(q > 0 ? I[q - 1].duplicate() : new _.PropIndex()), L.push(q > 0 ? L[q - 1].duplicate() : new _.PropIndex());
            var B = T[q].groupBy;
            if (f.isArray(B)) {
              var j = d.parseGroupBy(B, I[q], L[q]);
              R.push(j.replacer);
            }
          }
          return O.forEach(function(k) {
            for (var U = "", W = w, $ = 0; $ < T.length; $++) {
              var V = W.groupBy = T[$].groupBy;
              W.orderGroupBy = T[$].orderGroupBy;
              var G = f.isArray(V) ? p.spec(k.specQuery, I[$], R[$]) : b[V](k.specQuery);
              U += "/" + G, P[U] || (P[U] = { name: G, path: U, items: [] }, W.items.push(P[U])), W = P[U];
            }
            W.items.push(k);
          }), w;
        }
        return { name: "", path: "", items: O };
      }
      function E(O, T) {
        return b[T](O);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = a(26), S = a(18), _ = a(46), d = a(186), p = a(74), b = {};
      u.registerKeyFn = s, u.FIELD = "field", u.FIELD_TRANSFORM = "fieldTransform", u.ENCODING = "encoding", u.SPEC = "spec", u.nest = h;
      var m = [S.Property.FIELD], v = d.parseGroupBy(m);
      u.getGroupByKey = E, s(u.FIELD, function(O) {
        return p.spec(O, v.include, v.replacer);
      }), u.PARSED_GROUP_BY_FIELD_TRANSFORM = d.parseGroupBy(d.GROUP_BY_FIELD_TRANSFORM), s(u.FIELD_TRANSFORM, function(O) {
        return p.spec(O, u.PARSED_GROUP_BY_FIELD_TRANSFORM.include, u.PARSED_GROUP_BY_FIELD_TRANSFORM.replacer);
      }), u.PARSED_GROUP_BY_ENCODING = d.parseGroupBy(d.GROUP_BY_ENCODING), s(u.ENCODING, function(O) {
        return p.spec(O, u.PARSED_GROUP_BY_ENCODING.include, u.PARSED_GROUP_BY_ENCODING.replacer);
      }), s(u.SPEC, function(O) {
        return JSON.stringify(O);
      });
    }, function(A, u, a) {
      function s(d) {
        if (d.bin) return h.BIN_Q;
        if (d.timeUnit) {
          var p = S.scaleType(d);
          return E.hasDiscreteDomain(p) ? h.TIMEUNIT_O : h.TIMEUNIT_T;
        }
        return d.type;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h, E = a(9), f = a(13), S = a(16), _ = a(34);
      (function(d) {
        d[d.Q = f.Type.QUANTITATIVE] = "Q", d[d.BIN_Q = "bin_" + f.Type.QUANTITATIVE] = "BIN_Q", d[d.T = f.Type.TEMPORAL] = "T", d[d.TIMEUNIT_T = "timeUnit_time"] = "TIMEUNIT_T", d[d.TIMEUNIT_O = "timeUnit_" + f.Type.ORDINAL] = "TIMEUNIT_O", d[d.O = f.Type.ORDINAL] = "O", d[d.N = f.Type.NOMINAL] = "N", d[d.K = _.ExpandedType.KEY] = "K", d[d.NONE = "-"] = "NONE";
      })(h = u.ExtendedType || (u.ExtendedType = {})), u.Q = h.Q, u.BIN_Q = h.BIN_Q, u.T = h.T, u.TIMEUNIT_T = h.TIMEUNIT_T, u.TIMEUNIT_O = h.TIMEUNIT_O, u.O = h.O, u.N = h.N, u.K = h.K, u.NONE = h.NONE, u.getExtendedType = s;
    }, function(A, u, a) {
      function s(S) {
        return S.items !== void 0;
      }
      function h(S) {
        for (var _ = S.items[0]; _ && s(_); ) _ = _.items[0];
        return _;
      }
      function E(S, _) {
        return f({}, S, { items: S.items.map(function(d) {
          return s(d) ? E(d, _) : _(d);
        }) });
      }
      var f = this && this.__assign || Object.assign || function(S) {
        for (var _, d = 1, p = arguments.length; d < p; d++) {
          _ = arguments[d];
          for (var b in _) Object.prototype.hasOwnProperty.call(_, b) && (S[b] = _[b]);
        }
        return S;
      };
      Object.defineProperty(u, "__esModule", { value: !0 }), u.isResultTree = s, u.getTopResultTreeItem = h, u.mapLeaves = E;
    }, function(A, u) {
      var a = {}.toString;
      A.exports = function(s) {
        return a.call(s).slice(8, -1);
      };
    }, function(A, u, a) {
      var s = a(387);
      A.exports = function(h, E, f) {
        if (s(h), E === void 0) return h;
        switch (f) {
          case 1:
            return function(S) {
              return h.call(E, S);
            };
          case 2:
            return function(S, _) {
              return h.call(E, S, _);
            };
          case 3:
            return function(S, _, d) {
              return h.call(E, S, _, d);
            };
        }
        return function() {
          return h.apply(E, arguments);
        };
      };
    }, function(A, u) {
      A.exports = function(a) {
        if (a == null) throw TypeError("Can't call method on  " + a);
        return a;
      };
    }, function(A, u) {
      A.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",");
    }, function(A, u) {
      A.exports = !0;
    }, function(A, u, a) {
      var s = a(68), h = a(403), E = a(128), f = a(134)("IE_PROTO"), S = function() {
      }, _ = function() {
        var d, p = a(190)("iframe"), b = E.length;
        for (p.style.display = "none", a(393).appendChild(p), p.src = "javascript:", d = p.contentWindow.document, d.open(), d.write("<script>document.F=Object<\/script>"), d.close(), _ = d.F; b--; ) delete _.prototype[E[b]];
        return _();
      };
      A.exports = Object.create || function(d, p) {
        var b;
        return d !== null ? (S.prototype = s(d), b = new S(), S.prototype = null, b[f] = d) : b = _(), p === void 0 ? b : h(b, p);
      };
    }, function(A, u, a) {
      var s = a(98), h = a(79), E = a(50), f = a(137), S = a(59), _ = a(191), d = Object.getOwnPropertyDescriptor;
      u.f = a(58) ? d : function(p, b) {
        if (p = E(p), b = f(b, !0), _) try {
          return d(p, b);
        } catch {
        }
        if (S(p, b)) return h(!s.f.call(p, b), p[b]);
      };
    }, function(A, u) {
      u.f = Object.getOwnPropertySymbols;
    }, function(A, u, a) {
      var s = a(49).f, h = a(59), E = a(36)("toStringTag");
      A.exports = function(f, S, _) {
        f && !h(f = _ ? f : f.prototype, E) && s(f, E, { configurable: !0, value: S });
      };
    }, function(A, u, a) {
      var s = a(135)("keys"), h = a(100);
      A.exports = function(E) {
        return s[E] || (s[E] = h(E));
      };
    }, function(A, u, a) {
      var s = a(48), h = s["__core-js_shared__"] || (s["__core-js_shared__"] = {});
      A.exports = function(E) {
        return h[E] || (h[E] = {});
      };
    }, function(A, u) {
      var a = Math.ceil, s = Math.floor;
      A.exports = function(h) {
        return isNaN(h = +h) ? 0 : (h > 0 ? s : a)(h);
      };
    }, function(A, u, a) {
      var s = a(76);
      A.exports = function(h, E) {
        if (!s(h)) return h;
        var f, S;
        if (E && typeof (f = h.toString) == "function" && !s(S = f.call(h)) || typeof (f = h.valueOf) == "function" && !s(S = f.call(h)) || !E && typeof (f = h.toString) == "function" && !s(S = f.call(h))) return S;
        throw TypeError("Can't convert object to primitive value");
      };
    }, function(A, u, a) {
      var s = a(48), h = a(25), E = a(129), f = a(139), S = a(49).f;
      A.exports = function(_) {
        var d = h.Symbol || (h.Symbol = E ? {} : s.Symbol || {});
        _.charAt(0) == "_" || _ in d || S(d, _, { value: f.f(_) });
      };
    }, function(A, u, a) {
      u.f = a(36);
    }, function(A, u, a) {
      A.exports = function s(h, E) {
        if (h === E) return !0;
        var f, S = Array.isArray(h), _ = Array.isArray(E);
        if (S && _) {
          if (h.length != E.length) return !1;
          for (f = 0; f < h.length; f++) if (!s(h[f], E[f])) return !1;
          return !0;
        }
        if (S != _) return !1;
        if (h && E && typeof h == "object" && typeof E == "object") {
          var d = Object.keys(h);
          if (d.length !== Object.keys(E).length) return !1;
          var p = h instanceof Date, b = E instanceof Date;
          if (p && b) return h.getTime() == E.getTime();
          if (p != b) return !1;
          var m = h instanceof RegExp, v = E instanceof RegExp;
          if (m && v) return h.toString() == E.toString();
          if (m != v) return !1;
          for (f = 0; f < d.length; f++) if (!Object.prototype.hasOwnProperty.call(E, d[f])) return !1;
          for (f = 0; f < d.length; f++) if (!s(h[d[f]], E[d[f]])) return !1;
          return !0;
        }
        return !1;
      };
    }, function(A, u, a) {
      function s(E) {
        return function() {
          return E;
        };
      }
      var h = function() {
      };
      h.thatReturns = s, h.thatReturnsFalse = s(!1), h.thatReturnsTrue = s(!0), h.thatReturnsNull = s(null), h.thatReturnsThis = function() {
        return this;
      }, h.thatReturnsArgument = function(E) {
        return E;
      }, A.exports = h;
    }, function(A, u, a) {
      var s = a(141), h = s;
      (function() {
        var E = function(f) {
          for (var S = arguments.length, _ = Array(S > 1 ? S - 1 : 0), d = 1; d < S; d++) _[d - 1] = arguments[d];
          var p = 0, b = "Warning: " + f.replace(/%s/g, function() {
            return _[p++];
          });
          typeof console < "u" && console.error(b);
          try {
            throw new Error(b);
          } catch {
          }
        };
        h = function(f, S) {
          if (S === void 0) throw new Error("`warning(condition, format, ...args)` requires a warning message argument");
          if (S.indexOf("Failed Composite propType: ") !== 0 && !f) {
            for (var _ = arguments.length, d = Array(_ > 2 ? _ - 2 : 0), p = 2; p < _; p++) d[p - 2] = arguments[p];
            E.apply(void 0, [S].concat(d));
          }
        };
      })(), A.exports = h;
    }, function(A, u, a) {
      function s(H) {
        return H && H.__esModule ? H : { default: H };
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(445), E = s(h), f = a(448), S = s(f), _ = a(447), d = s(_), p = a(449), b = s(p), m = a(450), v = s(m), O = a(451), T = s(O), w = a(452), P = s(w), I = a(453), L = s(I), R = a(454), q = s(R), B = a(455), j = s(B), k = a(456), U = s(k), W = a(458), $ = s(W), V = a(446), G = s(V), X = [d.default, S.default, b.default, T.default, P.default, L.default, q.default, j.default, U.default, v.default], K = (0, E.default)({ prefixMap: G.default.prefixMap, plugins: X }, $.default);
      u.default = K, A.exports = u.default;
    }, function(A, u, a) {
      function s(h) {
        return h.charAt(0).toUpperCase() + h.slice(1);
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s, A.exports = u.default;
    }, function(A, u, a) {
      A.exports = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
    }, function(A, u, a) {
      var s = a(19), h = a.n(s), E = a(73), f = a.n(E), S = a(30), _ = a.n(S), d = a(31), p = a.n(d), b = a(33), m = a.n(b), v = a(32), O = a.n(v), T = a(0), w = a.n(T), P = a(1), I = a.n(P), L = function(R) {
        function q() {
          return _()(this, q), m()(this, (q.__proto__ || Object.getPrototypeOf(q)).apply(this, arguments));
        }
        return O()(q, R), p()(q, [{ key: "render", value: function() {
          var B = this.props, j = B.className, k = B.vertical, U = B.offset, W = B.style, $ = B.disabled, V = B.min, G = B.max, X = B.value, K = f()(B, ["className", "vertical", "offset", "style", "disabled", "min", "max", "value"]), H = k ? { bottom: U + "%" } : { left: U + "%" }, Y = h()({}, W, H), Q = {};
          return X !== void 0 && (Q = h()({}, Q, { "aria-valuemin": V, "aria-valuemax": G, "aria-valuenow": X, "aria-disabled": !!$ })), w.a.createElement("div", h()({ role: "slider", tabIndex: "0" }, Q, K, { className: j, style: Y }));
        } }]), q;
      }(w.a.Component);
      u.a = L, L.propTypes = { className: I.a.string, vertical: I.a.bool, offset: I.a.number, style: I.a.object, disabled: I.a.bool, min: I.a.number, max: I.a.number, value: I.a.number };
    }, function(A, u, a) {
      function s(L, R) {
        return Object.keys(R).some(function(q) {
          return L.target === a.i(P.findDOMNode)(R[q]);
        });
      }
      function h(L, R) {
        var q = R.min, B = R.max;
        return L < q || L > B;
      }
      function E(L) {
        return L.touches.length > 1 || L.type.toLowerCase() === "touchend" && L.touches.length > 0;
      }
      function f(L, R) {
        var q = R.marks, B = R.step, j = R.min, k = Object.keys(q).map(parseFloat);
        if (B !== null) {
          var U = Math.round((L - j) / B) * B + j;
          k.push(U);
        }
        var W = k.map(function($) {
          return Math.abs(L - $);
        });
        return k[W.indexOf(Math.min.apply(Math, w()(W)))];
      }
      function S(L) {
        var R = L.toString(), q = 0;
        return R.indexOf(".") >= 0 && (q = R.length - R.indexOf(".") - 1), q;
      }
      function _(L, R) {
        return L ? R.clientY : R.pageX;
      }
      function d(L, R) {
        return L ? R.touches[0].clientY : R.touches[0].pageX;
      }
      function p(L, R) {
        var q = R.getBoundingClientRect();
        return L ? q.top + 0.5 * q.height : q.left + 0.5 * q.width;
      }
      function b(L, R) {
        var q = R.max, B = R.min;
        return L <= B ? B : L >= q ? q : L;
      }
      function m(L, R) {
        var q = R.step, B = f(L, R);
        return q === null ? B : parseFloat(B.toFixed(S(q)));
      }
      function v(L) {
        L.stopPropagation(), L.preventDefault();
      }
      function O(L) {
        switch (L.keyCode) {
          case I.a.UP:
          case I.a.RIGHT:
            return function(R, q) {
              return R + q.step;
            };
          case I.a.DOWN:
          case I.a.LEFT:
            return function(R, q) {
              return R - q.step;
            };
          case I.a.END:
            return function(R, q) {
              return q.max;
            };
          case I.a.HOME:
            return function(R, q) {
              return q.min;
            };
          case I.a.PAGE_UP:
            return function(R, q) {
              return R + 2 * q.step;
            };
          case I.a.PAGE_DOWN:
            return function(R, q) {
              return R - 2 * q.step;
            };
          default:
            return;
        }
      }
      u.f = s, u.a = h, u.h = E, u.e = _, u.i = d, u.g = p, u.c = b, u.d = m, u.b = v, u.j = O;
      var T = a(120), w = a.n(T), P = a(24), I = (a.n(P), a(509));
    }, function(A, u, a) {
      A.exports = a(557);
    }, function(A, u, a) {
      var s = a(581), h = a(0);
      A.exports = function(E, f, S) {
        var _ = E[f];
        if (_) {
          var d = [];
          if (Object.keys(_).forEach(function(p) {
            s.indexOf(p) === -1 && d.push(p);
          }), d.length) throw new Error("Prop " + f + " passed to " + S + ". Has invalid keys " + d.join(", "));
        }
      }, A.exports.isRequired = function(E, f, S) {
        if (!E[f]) throw new Error("Prop " + f + " passed to " + S + " is required");
        return A.exports(E, f, S);
      }, A.exports.supportingArrays = h.PropTypes.oneOfType([h.PropTypes.arrayOf(A.exports), A.exports]);
    }, function(A, u, a) {
      function s(w) {
        return w && w.__esModule ? w : { default: w };
      }
      function h(w) {
        return w.type === b.default || w.type === v.default || w.type === T.default;
      }
      function E(w, P) {
        return d.Children.map(w, function(I) {
          return I === null ? null : h(I) ? P(I) : I.props && I.props.children && _(I.props.children) === "object" ? (0, d.cloneElement)(I, S({}, I.props, { children: E(I.props.children, P) })) : I;
        });
      }
      function f(w, P) {
        return d.Children.forEach(w, function(I) {
          I !== null && (I.type === b.default || I.type === T.default ? P(I) : I.props && I.props.children && _(I.props.children) === "object" && (I.type === v.default && P(I), f(I.props.children, P)));
        });
      }
      u.__esModule = !0;
      var S = Object.assign || function(w) {
        for (var P = 1; P < arguments.length; P++) {
          var I = arguments[P];
          for (var L in I) Object.prototype.hasOwnProperty.call(I, L) && (w[L] = I[L]);
        }
        return w;
      }, _ = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(w) {
        return typeof w;
      } : function(w) {
        return w && typeof Symbol == "function" && w.constructor === Symbol && w !== Symbol.prototype ? "symbol" : typeof w;
      };
      u.deepMap = E, u.deepForEach = f;
      var d = a(0), p = a(84), b = s(p), m = a(103), v = s(m), O = a(85), T = s(O);
    }, function(A, u, a) {
      function s() {
        this.protocol = null, this.slashes = null, this.auth = null, this.host = null, this.port = null, this.hostname = null, this.hash = null, this.search = null, this.query = null, this.pathname = null, this.path = null, this.href = null;
      }
      function h(B, j, k) {
        if (B && d.isObject(B) && B instanceof s) return B;
        var U = new s();
        return U.parse(B, j, k), U;
      }
      function E(B) {
        return d.isString(B) && (B = h(B)), B instanceof s ? B.format() : s.prototype.format.call(B);
      }
      function f(B, j) {
        return h(B, !1, !0).resolve(j);
      }
      function S(B, j) {
        return B ? h(B, !1, !0).resolveObject(j) : j;
      }
      var _ = a(485), d = a(591);
      u.parse = h, u.resolve = f, u.resolveObject = S, u.format = E, u.Url = s;
      var p = /^([a-z0-9.+-]+:)/i, b = /:[0-9]*$/, m = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/, v = ["<", ">", '"', "`", " ", "\r", `
`, "	"], O = ["{", "}", "|", "\\", "^", "`"].concat(v), T = ["'"].concat(O), w = ["%", "/", "?", ";", "#"].concat(T), P = ["/", "?", "#"], I = { javascript: !0, "javascript:": !0 }, L = { javascript: !0, "javascript:": !0 }, R = { http: !0, https: !0, ftp: !0, gopher: !0, file: !0, "http:": !0, "https:": !0, "ftp:": !0, "gopher:": !0, "file:": !0 }, q = a(488);
      s.prototype.parse = function(B, j, k) {
        if (!d.isString(B)) throw new TypeError("Parameter 'url' must be a string, not " + typeof B);
        var U = B.indexOf("?"), W = U !== -1 && U < B.indexOf("#") ? "?" : "#", $ = B.split(W);
        $[0] = $[0].replace(/\\/g, "/"), B = $.join(W);
        var V = B;
        if (V = V.trim(), !k && B.split("#").length === 1) {
          var G = m.exec(V);
          if (G) return this.path = V, this.href = V, this.pathname = G[1], G[2] ? (this.search = G[2], this.query = j ? q.parse(this.search.substr(1)) : this.search.substr(1)) : j && (this.search = "", this.query = {}), this;
        }
        var X = p.exec(V);
        if (X) {
          X = X[0];
          var K = X.toLowerCase();
          this.protocol = K, V = V.substr(X.length);
        }
        if (k || X || V.match(/^\/\/[^@\/]+@[^@\/]+/)) {
          var H = V.substr(0, 2) === "//";
          !H || X && L[X] || (V = V.substr(2), this.slashes = !0);
        }
        if (!L[X] && (H || X && !R[X])) {
          for (var Y = -1, Q = 0; Q < P.length; Q++) {
            var Z = V.indexOf(P[Q]);
            Z !== -1 && (Y === -1 || Z < Y) && (Y = Z);
          }
          var J, ne;
          ne = Y === -1 ? V.lastIndexOf("@") : V.lastIndexOf("@", Y), ne !== -1 && (J = V.slice(0, ne), V = V.slice(ne + 1), this.auth = decodeURIComponent(J)), Y = -1;
          for (var Q = 0; Q < w.length; Q++) {
            var Z = V.indexOf(w[Q]);
            Z !== -1 && (Y === -1 || Z < Y) && (Y = Z);
          }
          Y === -1 && (Y = V.length), this.host = V.slice(0, Y), V = V.slice(Y), this.parseHost(), this.hostname = this.hostname || "";
          var ie = this.hostname[0] === "[" && this.hostname[this.hostname.length - 1] === "]";
          if (!ie) for (var re = this.hostname.split(/\./), Q = 0, ee = re.length; Q < ee; Q++) {
            var te = re[Q];
            if (te && !te.match(/^[+a-z0-9A-Z_-]{0,63}$/)) {
              for (var ue = "", le = 0, ae = te.length; le < ae; le++) te.charCodeAt(le) > 127 ? ue += "x" : ue += te[le];
              if (!ue.match(/^[+a-z0-9A-Z_-]{0,63}$/)) {
                var ce = re.slice(0, Q), pe = re.slice(Q + 1), de = te.match(/^([+a-z0-9A-Z_-]{0,63})(.*)$/);
                de && (ce.push(de[1]), pe.unshift(de[2])), pe.length && (V = "/" + pe.join(".") + V), this.hostname = ce.join(".");
                break;
              }
            }
          }
          this.hostname.length > 255 ? this.hostname = "" : this.hostname = this.hostname.toLowerCase(), ie || (this.hostname = _.toASCII(this.hostname));
          var he = this.port ? ":" + this.port : "", Ee = this.hostname || "";
          this.host = Ee + he, this.href += this.host, ie && (this.hostname = this.hostname.substr(1, this.hostname.length - 2), V[0] !== "/" && (V = "/" + V));
        }
        if (!I[K]) for (var Q = 0, ee = T.length; Q < ee; Q++) {
          var ye = T[Q];
          if (V.indexOf(ye) !== -1) {
            var _e = encodeURIComponent(ye);
            _e === ye && (_e = escape(ye)), V = V.split(ye).join(_e);
          }
        }
        var ge = V.indexOf("#");
        ge !== -1 && (this.hash = V.substr(ge), V = V.slice(0, ge));
        var Me = V.indexOf("?");
        if (Me !== -1 ? (this.search = V.substr(Me), this.query = V.substr(Me + 1), j && (this.query = q.parse(this.query)), V = V.slice(0, Me)) : j && (this.search = "", this.query = {}), V && (this.pathname = V), R[K] && this.hostname && !this.pathname && (this.pathname = "/"), this.pathname || this.search) {
          var he = this.pathname || "", Te = this.search || "";
          this.path = he + Te;
        }
        return this.href = this.format(), this;
      }, s.prototype.format = function() {
        var B = this.auth || "";
        B && (B = encodeURIComponent(B), B = B.replace(/%3A/i, ":"), B += "@");
        var j = this.protocol || "", k = this.pathname || "", U = this.hash || "", W = !1, $ = "";
        this.host ? W = B + this.host : this.hostname && (W = B + (this.hostname.indexOf(":") === -1 ? this.hostname : "[" + this.hostname + "]"), this.port && (W += ":" + this.port)), this.query && d.isObject(this.query) && Object.keys(this.query).length && ($ = q.stringify(this.query));
        var V = this.search || $ && "?" + $ || "";
        return j && j.substr(-1) !== ":" && (j += ":"), this.slashes || (!j || R[j]) && W !== !1 ? (W = "//" + (W || ""), k && k.charAt(0) !== "/" && (k = "/" + k)) : W || (W = ""), U && U.charAt(0) !== "#" && (U = "#" + U), V && V.charAt(0) !== "?" && (V = "?" + V), k = k.replace(/[?#]/g, function(G) {
          return encodeURIComponent(G);
        }), V = V.replace("#", "%23"), j + W + k + V + U;
      }, s.prototype.resolve = function(B) {
        return this.resolveObject(h(B, !1, !0)).format();
      }, s.prototype.resolveObject = function(B) {
        if (d.isString(B)) {
          var j = new s();
          j.parse(B, !1, !0), B = j;
        }
        for (var k = new s(), U = Object.keys(this), W = 0; W < U.length; W++) {
          var $ = U[W];
          k[$] = this[$];
        }
        if (k.hash = B.hash, B.href === "") return k.href = k.format(), k;
        if (B.slashes && !B.protocol) {
          for (var V = Object.keys(B), G = 0; G < V.length; G++) {
            var X = V[G];
            X !== "protocol" && (k[X] = B[X]);
          }
          return R[k.protocol] && k.hostname && !k.pathname && (k.path = k.pathname = "/"), k.href = k.format(), k;
        }
        if (B.protocol && B.protocol !== k.protocol) {
          if (!R[B.protocol]) {
            for (var K = Object.keys(B), H = 0; H < K.length; H++) {
              var Y = K[H];
              k[Y] = B[Y];
            }
            return k.href = k.format(), k;
          }
          if (k.protocol = B.protocol, B.host || L[B.protocol]) k.pathname = B.pathname;
          else {
            for (var te = (B.pathname || "").split("/"); te.length && !(B.host = te.shift()); ) ;
            B.host || (B.host = ""), B.hostname || (B.hostname = ""), te[0] !== "" && te.unshift(""), te.length < 2 && te.unshift(""), k.pathname = te.join("/");
          }
          if (k.search = B.search, k.query = B.query, k.host = B.host || "", k.auth = B.auth, k.hostname = B.hostname || B.host, k.port = B.port, k.pathname || k.search) {
            var Q = k.pathname || "", Z = k.search || "";
            k.path = Q + Z;
          }
          return k.slashes = k.slashes || B.slashes, k.href = k.format(), k;
        }
        var J = k.pathname && k.pathname.charAt(0) === "/", ne = B.host || B.pathname && B.pathname.charAt(0) === "/", ie = ne || J || k.host && B.pathname, re = ie, ee = k.pathname && k.pathname.split("/") || [], te = B.pathname && B.pathname.split("/") || [], ue = k.protocol && !R[k.protocol];
        if (ue && (k.hostname = "", k.port = null, k.host && (ee[0] === "" ? ee[0] = k.host : ee.unshift(k.host)), k.host = "", B.protocol && (B.hostname = null, B.port = null, B.host && (te[0] === "" ? te[0] = B.host : te.unshift(B.host)), B.host = null), ie = ie && (te[0] === "" || ee[0] === "")), ne) k.host = B.host || B.host === "" ? B.host : k.host, k.hostname = B.hostname || B.hostname === "" ? B.hostname : k.hostname, k.search = B.search, k.query = B.query, ee = te;
        else if (te.length) ee || (ee = []), ee.pop(), ee = ee.concat(te), k.search = B.search, k.query = B.query;
        else if (!d.isNullOrUndefined(B.search)) {
          if (ue) {
            k.hostname = k.host = ee.shift();
            var le = !!(k.host && k.host.indexOf("@") > 0) && k.host.split("@");
            le && (k.auth = le.shift(), k.host = k.hostname = le.shift());
          }
          return k.search = B.search, k.query = B.query, d.isNull(k.pathname) && d.isNull(k.search) || (k.path = (k.pathname ? k.pathname : "") + (k.search ? k.search : "")), k.href = k.format(), k;
        }
        if (!ee.length) return k.pathname = null, k.search ? k.path = "/" + k.search : k.path = null, k.href = k.format(), k;
        for (var ae = ee.slice(-1)[0], ce = (k.host || B.host || ee.length > 1) && (ae === "." || ae === "..") || ae === "", pe = 0, de = ee.length; de >= 0; de--) ae = ee[de], ae === "." ? ee.splice(de, 1) : ae === ".." ? (ee.splice(de, 1), pe++) : pe && (ee.splice(de, 1), pe--);
        if (!ie && !re) for (; pe--; pe) ee.unshift("..");
        !ie || ee[0] === "" || ee[0] && ee[0].charAt(0) === "/" || ee.unshift(""), ce && ee.join("/").substr(-1) !== "/" && ee.push("");
        var he = ee[0] === "" || ee[0] && ee[0].charAt(0) === "/";
        if (ue) {
          k.hostname = k.host = he ? "" : ee.length ? ee.shift() : "";
          var le = !!(k.host && k.host.indexOf("@") > 0) && k.host.split("@");
          le && (k.auth = le.shift(), k.host = k.hostname = le.shift());
        }
        return ie = ie || k.host && ee.length, ie && !he && ee.unshift(""), ee.length ? k.pathname = ee.join("/") : (k.pathname = null, k.path = null), d.isNull(k.pathname) && d.isNull(k.search) || (k.path = (k.pathname ? k.pathname : "") + (k.search ? k.search : "")), k.auth = B.auth || k.auth, k.slashes = k.slashes || B.slashes, k.href = k.format(), k;
      }, s.prototype.parseHost = function() {
        var B = this.host, j = b.exec(B);
        j && (j = j[0], j !== ":" && (this.port = j.substr(1)), B = B.substr(0, B.length - j.length)), B && (this.hostname = B);
      };
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(594);
      a.d(u, "selector", function() {
        return s.a;
      });
    }, function(A, u, a) {
      var s = a(154);
      u.a = function(h) {
        return h != null ? a.i(s.a)(h) ? h : [h] : [];
      };
    }, function(A, u, a) {
      u.a = Array.isArray;
    }, function(A, u, a) {
      function s(d) {
        return !!S[d];
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(3), E = a(2);
      u.AXIS_PARTS = ["domain", "grid", "labels", "ticks", "title"], u.AXIS_PROPERTY_TYPE = { grid: "grid", gridScale: "grid", domain: "main", labels: "main", labelFlush: "main", labelOverlap: "main", minExtent: "main", maxExtent: "main", offset: "main", ticks: "main", title: "main", values: "both", scale: "both", zindex: "both" };
      var f = { orient: 1, domain: 1, format: 1, grid: 1, labelBound: 1, labelFlush: 1, labelPadding: 1, labels: 1, labelOverlap: 1, maxExtent: 1, minExtent: 1, offset: 1, position: 1, tickCount: 1, ticks: 1, tickSize: 1, title: 1, titlePadding: 1, values: 1, zindex: 1 }, S = h.__assign({}, f, { encoding: 1, labelAngle: 1, titleMaxLength: 1 }), _ = h.__assign({ scale: 1 }, f, { gridScale: 1, encode: 1 });
      u.isAxisProperty = s, u.VG_AXIS_PROPERTIES = E.flagKeys(_), u.AXIS_PROPERTIES = E.flagKeys(S);
    }, function(A, u, a) {
      function s(_) {
        return E.isBoolean(_) ? "bin" : "bin" + S.keys(_).map(function(d) {
          return S.varName("_" + d + "_" + _[d]);
        }).join("");
      }
      function h(_) {
        switch (_) {
          case f.ROW:
          case f.COLUMN:
          case f.SIZE:
          case f.COLOR:
          case f.FILL:
          case f.STROKE:
          case f.OPACITY:
          case f.SHAPE:
            return 6;
          default:
            return 10;
        }
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(4), f = a(5), S = a(2);
      u.binToString = s, u.autoMaxBins = h;
    }, function(A, u, a) {
      function s(O, T, w) {
        var P = b.channelSignalName(T, w, "visual"), I = b.channelSignalName(T, w, "data"), L = m.default.has(T), R = O.scaleName(w), q = f.stringValue(R), B = O.getScaleComponent(w), j = B ? B.get("type") : void 0, k = O.getSizeSignalRef(w === S.X ? "width" : "height").signal, U = w + "(unit)", W = h(T, function($, V) {
          return $.concat({ events: V.between[0], update: "[" + U + ", " + U + "]" }, { events: V, update: "[" + P + "[0], clamp(" + U + ", 0, " + k + ")]" });
        });
        return W.push({ events: { signal: T.name + u.SCALE_TRIGGER }, update: d.hasContinuousDomain(j) && !d.isBinScale(j) ? "[scale(" + q + ", " + I + "[0]), scale(" + q + ", " + I + "[1])]" : "[0, 0]" }), L ? [{ name: I, on: [] }] : [{ name: P, value: [], on: W }, { name: I, on: [{ events: { signal: P }, update: P + "[0] === " + P + "[1] ? null : invert(" + q + ", " + P + ")" }] }];
      }
      function h(O, T) {
        return O.events.reduce(function(w, P) {
          return P.between ? T(w, P) : (_.warn(P + " is not an ordered event stream for interval selections"), w);
        }, []);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(3), f = a(4), S = a(5), _ = a(8), d = a(9), p = a(2), b = a(23), m = a(107);
      u.BRUSH = "_brush", u.SCALE_TRIGGER = "_scale_trigger";
      var v = { predicate: "vlInterval", scaleDomain: "vlIntervalDomain", signals: function(O, T) {
        var w = T.name, P = m.default.has(T), I = [], L = [], R = [], q = [];
        if (T.translate && !P) {
          var B = "!event.item || event.item.mark.name !== " + f.stringValue(w + u.BRUSH);
          h(T, function(j, k) {
            var U = k.between[0].filter || (k.between[0].filter = []);
            U.indexOf(B) < 0 && U.push(B);
          });
        }
        return T.project.forEach(function(j) {
          var k = j.channel;
          if (k !== S.X && k !== S.Y) return void _.warn("Interval selections only support x and y encoding channels.");
          var U = s(O, T, k), W = b.channelSignalName(T, k, "data"), $ = b.channelSignalName(T, k, "visual"), V = f.stringValue(O.scaleName(k)), G = O.getScaleComponent(k).get("type"), X = d.hasContinuousDomain(G) ? "+" : "";
          I.push.apply(I, U), R.push(W), L.push("{encoding: " + f.stringValue(k) + ", field: " + f.stringValue(j.field) + ", extent: " + W + "}"), q.push({ scaleName: O.scaleName(k), expr: "(!isArray(" + W + ") || (" + X + "invert(" + V + ", " + $ + ")[0] === " + X + W + "[0] && " + X + "invert(" + V + ", " + $ + ")[1] === " + X + W + "[1]))" });
        }), P || I.push({ name: w + u.SCALE_TRIGGER, update: q.map(function(j) {
          return j.expr;
        }).join(" && ") + " ? " + (w + u.SCALE_TRIGGER) + " : {}" }), I.concat({ name: w + b.TUPLE, on: [{ events: R.map(function(j) {
          return { signal: j };
        }), update: R.join(" && ") + " ? {unit: " + b.unitName(O) + ", intervals: [" + L.join(", ") + "]} : null" }] });
      }, modifyExpr: function(O, T) {
        return T.name + b.TUPLE + ", " + (T.resolve === "global" ? "true" : "{unit: " + b.unitName(O) + "}");
      }, marks: function(O, T, w) {
        var P = T.name, I = b.positionalProjections(T), L = I.xi, R = I.yi, q = "data(" + f.stringValue(T.name + b.STORE) + ")";
        if (m.default.has(T)) return w;
        var B = { x: L !== null ? { signal: P + "_x[0]" } : { value: 0 }, y: R !== null ? { signal: P + "_y[0]" } : { value: 0 }, x2: L !== null ? { signal: P + "_x[1]" } : { field: { group: "width" } }, y2: R !== null ? { signal: P + "_y[1]" } : { field: { group: "height" } } };
        if (T.resolve === "global") for (var j = 0, k = p.keys(B); j < k.length; j++) {
          var U = k[j];
          B[U] = [E.__assign({ test: q + ".length && " + q + "[0].unit === " + b.unitName(O) }, B[U]), { value: 0 }];
        }
        var W = T.mark, $ = W.fill, V = W.fillOpacity, G = E.__rest(W, ["fill", "fillOpacity"]), X = p.keys(G).reduce(function(K, H) {
          return K[H] = [{ test: [L !== null && P + "_x[0] !== " + P + "_x[1]", R != null && P + "_y[0] !== " + P + "_y[1]"].filter(function(Y) {
            return Y;
          }).join(" && "), value: G[H] }, { value: null }], K;
        }, {});
        return [{ name: P + u.BRUSH + "_bg", type: "rect", clip: !0, encode: { enter: { fill: { value: $ }, fillOpacity: { value: V } }, update: B } }].concat(w, { name: P + u.BRUSH, type: "rect", clip: !0, encode: { enter: { fill: { value: "transparent" } }, update: E.__assign({}, B, X) } });
      } };
      u.default = v;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(8), h = a(28), E = a(23), f = { has: function(S) {
        return S.type !== "interval" && S.nearest;
      }, marks: function(S, _, d) {
        var p = E.positionalProjections(_), b = p.x, m = p.y, v = S.mark;
        if (h.isPathMark(v)) return s.warn(s.message.nearestNotSupportForContinuous(v)), d;
        var O = { name: S.getName("voronoi"), type: "path", from: { data: S.getName("marks") }, encode: { enter: { fill: { value: "transparent" }, strokeWidth: { value: 0.35 }, stroke: { value: "transparent" }, isVoronoi: { value: !0 } } }, transform: [{ type: "voronoi", x: { expr: b || !b && !m ? "datum.datum.x || 0" : "0" }, y: { expr: m || !b && !m ? "datum.datum.y || 0" : "0" }, size: [S.getSizeSignalRef("width"), S.getSizeSignalRef("height")] }] }, T = 0, w = !1;
        return d.forEach(function(P, I) {
          var L = P.name || "";
          L === S.component.mark[0].name ? T = I : L.indexOf("voronoi") >= 0 && (w = !0);
        }), w || d.splice(T + 1, 0, O), d;
      } };
      u.default = f;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(3), h = a(2);
      u.defaultLegendConfig = {};
      var E = { entryPadding: 1, format: 1, offset: 1, orient: 1, padding: 1, tickCount: 1, title: 1, type: 1, values: 1, zindex: 1 }, f = s.__assign({}, E, { opacity: 1, shape: 1, stroke: 1, fill: 1, size: 1, encode: 1 });
      u.LEGEND_PROPERTIES = h.flagKeys(E), u.VG_LEGEND_PROPERTIES = h.flagKeys(f);
    }, function(A, u, a) {
      function s(_) {
        return !!_.or;
      }
      function h(_) {
        return !!_.and;
      }
      function E(_) {
        return !!_.not;
      }
      function f(_, d) {
        if (E(_)) f(_.not, d);
        else if (h(_)) for (var p = 0, b = _.and; p < b.length; p++) {
          var m = b[p];
          f(m, d);
        }
        else if (s(_)) for (var v = 0, O = _.or; v < O.length; v++) {
          var m = O[v];
          f(m, d);
        }
        else d(_);
      }
      function S(_, d) {
        return E(_) ? { not: S(_.not, d) } : h(_) ? { and: _.and.map(function(p) {
          return S(p, d);
        }) } : s(_) ? { or: _.or.map(function(p) {
          return S(p, d);
        }) } : d(_);
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.isLogicalOr = s, u.isLogicalAnd = h, u.isLogicalNot = E, u.forEachLeave = f, u.normalizeLogicalOperand = S;
    }, function(A, u, a) {
      function s(v) {
        return v.filter !== void 0;
      }
      function h(v) {
        return v.lookup !== void 0;
      }
      function E(v) {
        return v.window !== void 0;
      }
      function f(v) {
        return v.calculate !== void 0;
      }
      function S(v) {
        return !!v.bin;
      }
      function _(v) {
        return v.timeUnit !== void 0;
      }
      function d(v) {
        return v.aggregate !== void 0;
      }
      function p(v) {
        return v.map(function(O) {
          return s(O) ? { filter: b.normalizeLogicalOperand(O.filter, m.normalizePredicate) } : O;
        });
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var b = a(160), m = a(88);
      u.isFilter = s, u.isLookup = h, u.isWindow = E, u.isCalculate = f, u.isBin = S, u.isTimeUnit = _, u.isAggregate = d, u.normalizeTransform = p;
    }, function(A, u, a) {
      var s = a(163);
      u.a = function(h) {
        return h != null ? a.i(s.a)(h) ? h : [h] : [];
      };
    }, function(A, u, a) {
      u.a = Array.isArray;
    }, function(A, u, a) {
      u.a = function(s) {
        return typeof s == "function";
      };
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 }), u.CUSTOM_WILDCARD_ADD = "CUSTOM_WILDCARD_ADD", u.CUSTOM_WILDCARD_REMOVE = "CUSTOM_WILDCARD_REMOVE", u.CUSTOM_WILDCARD_ADD_FIELD = "CUSTOM_WILDCARD_ADD_FIELD", u.CUSTOM_WILDCARD_REMOVE_FIELD = "CUSTOM_WILDCARD_REMOVE_FIELD", u.CUSTOM_WILDCARD_MODIFY_DESCRIPTION = "CUSTOM_WILDCARD_MODIFY_DESCRIPTION";
    }, function(A, u, a) {
      function s(v, O) {
        return function(T, w) {
          var P = b.selectConfig(w());
          if (T({ type: m.RESET }), T({ type: u.DATASET_REQUEST, payload: { name: v } }), _.isUrlData(O)) return f(O.url).then(function(I) {
            return I.json();
          }).catch(E).then(function(I) {
            return h({ values: I }, P, T, v);
          });
          if (_.isInlineData(O)) return h(O, P, T, v);
          throw new Error("dataset load error: dataset type not detected");
        };
      }
      function h(v, O, T, w) {
        if (!d.isArray(v.values)) throw new Error("Voyager only supports array values");
        return p.fetchCompassQLBuildSchema(v.values, O).catch(E).then(function(P) {
          T({ type: u.DATASET_RECEIVE, payload: { name: w, schema: P, data: v } }), T(S.ActionCreators.clearHistory());
        });
      }
      function E(v) {
        window.alert(v.message);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = a(208), S = a(173), _ = a(53), d = a(4), p = a(266), b = a(14), m = a(114);
      u.DATASET_SCHEMA_CHANGE_FIELD_TYPE = "DATASET_SCHEMA_CHANGE_FIELD_TYPE", u.DATASET_SCHEMA_CHANGE_ORDINAL_DOMAIN = "DATASET_SCHEMA_CHANGE_ORDINAL_DOMAIN", u.DATASET_REQUEST = "DATASET_REQUEST", u.DATASET_RECEIVE = "DATASET_RECEIVE", u.datasetLoad = s;
    }, function(A, u, a) {
      function s(G) {
        return G.type === "string";
      }
      function h(G, X, K, H, Y) {
        var Q = w(G, X, K), Z = X ? G + "_" + X : G;
        switch (G) {
          case "scale":
            return S(X, _(Y, H), H, Q, Z);
          case "axis":
            return f(X, Y, Q, Z);
          case "stack":
            return d("stack", R.definitions.StackOffset.enum, Q);
          case "legend":
            return E(X, Q, Z);
          case "format":
            return p("format", "", Q, "string");
          default:
            throw new Error("Property combination not recognized");
        }
      }
      function E(G, X, K) {
        switch (G) {
          case "orient":
            return d(K, R.definitions.LegendOrient.enum, X);
          case "title":
            return p(K, "", X, "string");
          case "type":
            return d(K, R.definitions.Legend.properties.type.enum, X);
          default:
            throw new Error("Property combination not recognized");
        }
      }
      function f(G, X, K, H) {
        switch (G) {
          case "orient":
            return d(H, X === "y" ? ["left", "right"] : ["top", "bottom"], K);
          case "title":
            return p(H, "", K, "string");
          default:
            throw new Error("Property combination not recognized");
        }
      }
      function S(G, X, K, H, Y) {
        switch (G) {
          case "type":
            return d(Y, X, H);
          case "scheme":
            return d(Y, v(K) ? u.SEQUENTIAL_COLOR_SCHEMES : u.CATEGORICAL_COLOR_SCHEMES, H);
          case "range":
          case "domain":
            return p(Y, O(K) ? "a, b, c, ..." : "Min Number, Max Number", H, "string");
          default:
            throw new Error("Provided property is not supported");
        }
      }
      function _(G, X) {
        switch (X.type) {
          case P.ExpandedType.QUANTITATIVE:
            return L.contains([I.Channel.X, I.Channel.Y], G) ? ["linear", "log", "pow", "sqrt"] : G === I.Channel.COLOR ? ["linear", "pow", "sqrt", "log", "sequential"] : G === I.Channel.SIZE ? ["linear", "pow", "sqrt", "log"] : [];
          case P.ExpandedType.ORDINAL:
          case P.ExpandedType.NOMINAL:
            return L.contains([I.Channel.X, I.Channel.Y], G) ? ["point", "band"] : G === I.Channel.COLOR ? ["ordinal"] : G === I.Channel.SIZE ? ["point", "band"] : [];
          case P.ExpandedType.TEMPORAL:
            return L.contains([I.Channel.X, I.Channel.Y], G) ? ["time", "utc"] : G === I.Channel.COLOR ? ["time", "utc", "sequential"] : G === I.Channel.SIZE ? ["time", "utc"] : [];
          default:
            return [];
        }
      }
      function d(G, X, K) {
        return { schema: { type: "object", properties: (H = {}, H[G] = { type: "string", title: K, enum: X }, H) }, uiSchema: (Y = {}, Y[G] = { "ui:widget": "select", "ui:placeholder": "auto", "ui:emptyValue": "auto" }, Y) };
        var H, Y;
      }
      function p(G, X, K, H) {
        return { schema: { type: "object", properties: (Y = {}, Y[G] = { title: K, type: H }, Y) }, uiSchema: (Q = {}, Q[G] = { "ui:emptyValue": "", "ui:placeholder": X }, Q) };
        var Y, Q;
      }
      function b(G, X) {
        if (!X || G.channel !== I.Channel.X && G.channel !== I.Channel.Y) {
          if (G.channel === I.Channel.COLOR) return W;
          if (G.channel === I.Channel.SIZE) return $;
          if (G.channel === I.Channel.SHAPE) return V;
        } else switch (X.type) {
          case P.ExpandedType.QUANTITATIVE:
            return v(X) ? U : U.Common.filter(function(K) {
              return K.prop !== "stack";
            });
          case P.ExpandedType.ORDINAL:
          case P.ExpandedType.NOMINAL:
            return j;
          case P.ExpandedType.TEMPORAL:
            return k;
        }
      }
      function m(G, X) {
        for (var K = b(G, X), H = {}, Y = 0, Q = Object.keys(K); Y < Q.length; Y++) for (var Z = Q[Y], J = 0, ne = K[Z]; J < ne.length; J++) {
          var ie = ne[J], re = ie.prop, ee = ie.nestedProp, te = ee ? re + "_" + ee : re, ue = X[re] ? ee ? X[re][ee] : X[re] : void 0;
          H[te] = ue === void 0 ? "" : ue;
        }
        return H;
      }
      function v(G) {
        return L.contains([P.ExpandedType.ORDINAL, P.ExpandedType.TEMPORAL, P.ExpandedType.QUANTITATIVE], G.type);
      }
      function O(G) {
        return !v(G);
      }
      function T(G) {
        return G.replace(/\w\S*/g, function(X) {
          return X.charAt(0).toUpperCase() + X.substr(1).toLowerCase();
        });
      }
      function w(G, X, K) {
        var H;
        return H = K === "Common" ? X ? G + " " + X : G : X || G, T(H);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var P = a(34), I = a(5), L = a(2), R = a(176);
      u.isStringSchema = s, u.CUSTOMIZABLE_ENCODING_CHANNELS = [I.Channel.X, I.Channel.Y, I.Channel.COLOR, I.Channel.SIZE, I.Channel.SHAPE];
      var q = ["title", "orient"].map(function(G) {
        return { prop: "axis", nestedProp: G };
      }), B = ["orient", "title"].map(function(G) {
        return { prop: "legend", nestedProp: G };
      }), j = { Common: [{ prop: "scale", nestedProp: "type" }].concat(q) }, k = j, U = { Common: j.Common.concat([{ prop: "stack" }]) }, W = { Legend: ["orient", "title", "type"].map(function(G) {
        return { prop: "legend", nestedProp: G };
      }), Scale: ["type", "domain", "scheme"].map(function(G) {
        return { prop: "scale", nestedProp: G };
      }) }, $ = { Legend: ["orient", "title"].map(function(G) {
        return { prop: "legend", nestedProp: G };
      }), Scale: ["type", "domain", "range"].map(function(G) {
        return { prop: "scale", nestedProp: G };
      }) }, V = { Legend: B, Scale: ["domain", "range"].map(function(G) {
        return { prop: "scale", nestedProp: G };
      }) };
      u.CATEGORICAL_COLOR_SCHEMES = ["accent", "category10", "category20", "category20b", "category20c", "dark2", "paired", "pastel1", "pastel1", "set1", "set2", "set3", "tableau10", "tableau20"], u.SEQUENTIAL_COLOR_SCHEMES = ["blues", "greens", "greys", "purples", "reds", "oranges", "viridis", "inferno", "magma", "plasma", "bluegreen", "bluepurple", "greenblue", "orangered", "blueorange"], u.generatePropertyEditorSchema = h, u.getFieldPropertyGroupIndex = b, u.generateFormData = m, u.isContinuous = v, u.isDiscrete = O;
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var q = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(B, j) {
          B.__proto__ = j;
        } || function(B, j) {
          for (var k in j) j.hasOwnProperty(k) && (B[k] = j[k]);
        };
        return function(B, j) {
          function k() {
            this.constructor = B;
          }
          q(B, j), B.prototype = j === null ? Object.create(j) : (k.prototype = j.prototype, new k());
        };
      }(), h = this && this.__assign || Object.assign || function(q) {
        for (var B, j = 1, k = arguments.length; j < k; j++) {
          B = arguments[j];
          for (var U in B) Object.prototype.hasOwnProperty.call(B, U) && (q[U] = B[U]);
        }
        return q;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(0), f = a(512), S = a(7), _ = a(94), d = a(10), p = a(112), b = a(21), m = a(92), v = a(38), O = a(44), T = a(115), w = a(700), P = a(701), I = a(699), L = a(309), R = function(q) {
        function B(j) {
          var k = q.call(this, j) || this;
          return k.vegaLiteWrapperRefHandler = function(U) {
            k.vegaLiteWrapper = U;
          }, k.state = { hovered: !1, preview: !1, copiedPopupIsOpened: !1 }, k.handleTextChange = k.handleTextChange.bind(k), k.onMouseEnter = k.onMouseEnter.bind(k), k.onMouseLeave = k.onMouseLeave.bind(k), k.onPreviewMouseEnter = k.onPreviewMouseEnter.bind(k), k.onPreviewMouseLeave = k.onPreviewMouseLeave.bind(k), k.onSpecify = k.onSpecify.bind(k), k.onSort = k.onSort.bind(k), k.plotLogger = new w.Logger(j.handleAction), k;
        }
        return s(B, q), B.prototype.componentDidUpdate = function(j, k) {
          !this.isVerticallyOverFlown(this.vegaLiteWrapper) && this.state.hovered ? this.vegaLiteWrapper.style.paddingRight = "11px" : delete this.vegaLiteWrapper.style.paddingRight;
        }, B.prototype.render = function() {
          var j, k = this.props, U = k.isPlotListItem, W = k.onSort, $ = k.showBookmarkButton, V = k.showSpecifyButton, G = k.spec, X = k.data, K = JSON.stringify(G);
          return this.props.bookmark.dict[K] && (j = E.createElement("textarea", { styleName: "note", type: "text", placeholder: "notes", value: this.props.bookmark.dict[K].note, onChange: this.handleTextChange })), E.createElement("div", { styleName: U ? "plot-list-item-group" : "plot-group" }, E.createElement("div", { styleName: "plot-info" }, E.createElement("div", { styleName: "command-toolbox" }, W && this.renderSortButton("x"), W && this.renderSortButton("y"), $ && this.renderBookmarkButton(), V && this.renderSpecifyButton(), E.createElement("span", { styleName: "command" }, E.createElement(_, { attachment: "bottom left", offset: "0px 30px" }, this.renderCopySpecButton(), this.state.copiedPopupIsOpened && E.createElement("span", { styleName: "copied" }, "copied")))), E.createElement("span", { onMouseEnter: this.onPreviewMouseEnter, onMouseLeave: this.onPreviewMouseLeave }, this.renderFields())), E.createElement("div", { ref: this.vegaLiteWrapperRefHandler, styleName: this.state.hovered ? "plot-scroll" : "plot", className: "persist-scroll", onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave }, E.createElement(P.VegaLite, { spec: G, logger: this.plotLogger, data: X })), j);
        }, B.prototype.componentWillUnmount = function() {
          this.clearHoverTimeout();
        }, B.prototype.renderFields = function() {
          var j = this.props.fieldInfos;
          if (j) return j.map(function(k) {
            var U = k.fieldDef, W = k.isEnumeratedWildcardField;
            return E.createElement("div", { styleName: "plot-field-info", key: JSON.stringify(U) }, E.createElement(T.Field, { fieldDef: U, caretShow: !1, draggable: !1, isEnumeratedWildcardField: W, isPill: !1 }));
          });
        }, B.prototype.clearHoverTimeout = function() {
          this.hoverTimeoutId && (clearTimeout(this.hoverTimeoutId), this.hoverTimeoutId = void 0);
        }, B.prototype.clearPreviewTimeout = function() {
          this.previewTimeoutId && (clearTimeout(this.previewTimeoutId), this.previewTimeoutId = void 0);
        }, B.prototype.onMouseEnter = function() {
          var j = this;
          this.hoverTimeoutId = window.setTimeout(function() {
            j.setState({ hovered: !0 }), j.hoverTimeoutId = void 0;
          }, v.PLOT_HOVER_MIN_DURATION);
        }, B.prototype.onMouseLeave = function() {
          this.clearHoverTimeout(), this.state.hovered && this.setState({ hovered: !1 });
        }, B.prototype.onSort = function(j) {
          var k = this.props, U = k.spec, W = k.onSort, $ = U.encoding[j];
          d.isFieldDef($) && W(j, $.sort === "descending" ? void 0 : "descending");
        }, B.prototype.onSpecify = function() {
          this.props.closeModal && this.props.closeModal(), this.onPreviewMouseLeave();
          var j = this.props, k = j.handleAction, U = j.spec;
          k({ type: b.SPEC_LOAD, payload: { spec: U, keepWildcardMark: !0 } });
        }, B.prototype.onPreviewMouseEnter = function() {
          var j = this;
          this.previewTimeoutId = window.setTimeout(function() {
            var k = j.props, U = k.handleAction, W = k.spec;
            j.setState({ preview: !0 }), U({ type: m.SHELF_PREVIEW_SPEC, payload: { spec: W } }), j.previewTimeoutId = void 0;
          }, v.PLOT_HOVER_MIN_DURATION);
        }, B.prototype.onPreviewMouseLeave = function() {
          this.clearPreviewTimeout(), this.state.preview && (this.setState({ preview: !1 }), (0, this.props.handleAction)({ type: m.SHELF_PREVIEW_DISABLE }));
        }, B.prototype.renderSortButton = function(j) {
          var k = this.props.spec, U = k.encoding[j];
          if (d.isFieldDef(U) && d.isDiscrete(U)) return E.createElement("i", { title: "Sort", className: "fa fa-sort-alpha-asc", styleName: j === "x" ? "sort-x-command" : "command", onClick: this.onSort.bind(this, j) });
        }, B.prototype.renderSpecifyButton = function() {
          return E.createElement("i", { title: "Specify", className: "fa fa-server", styleName: "specify-command", onClick: this.onSpecify, onMouseEnter: this.onPreviewMouseEnter, onMouseLeave: this.onPreviewMouseLeave });
        }, B.prototype.renderBookmarkButton = function() {
          var j = { fieldInfos: this.props.fieldInfos, spec: this.specWithFilter };
          return E.createElement(I.BookmarkButton, { bookmark: this.props.bookmark, plot: j, handleAction: this.props.handleAction });
        }, B.prototype.handleTextChange = function(j) {
          (0, this.props.handleAction)({ type: p.BOOKMARK_MODIFY_NOTE, payload: { note: j.target.value, spec: this.props.spec } });
        }, Object.defineProperty(B.prototype, "specWithFilter", { get: function() {
          var j = this.props, k = j.spec, U = j.filters, W = (k.transform || []).concat(O.toTransforms(U));
          return h({}, k, W.length > 0 ? { transform: W } : {});
        }, enumerable: !0, configurable: !0 }), B.prototype.renderCopySpecButton = function() {
          return E.createElement(f, { onCopy: this.copied.bind(this), text: JSON.stringify(this.specWithFilter, null, 2) }, E.createElement("i", { title: "Copy", className: "fa fa-clipboard" }));
        }, B.prototype.copied = function() {
          var j = this;
          this.setState({ copiedPopupIsOpened: !0 }), window.setTimeout(function() {
            j.setState({ copiedPopupIsOpened: !1 });
          }, 1e3);
        }, B.prototype.isVerticallyOverFlown = function(j) {
          return j.scrollHeight > j.clientHeight;
        }, B;
      }(E.PureComponent);
      u.PlotBase = R, u.Plot = S(R, L);
    }, function(A, u, a) {
      function s(R) {
        return P.isWildcard(R.channel);
      }
      function h(R) {
        return R.reduce(function(q, B) {
          return P.isWildcard(B.channel) ? q.anyEncodings.push(O({ channel: B.channel }, E(B))) : q.encoding[B.channel] = E(B), q;
        }, { encoding: {}, anyEncodings: [] });
      }
      function E(R) {
        if (w.isFieldQuery(R)) return _(R);
        if (w.isAutoCountQuery(R)) throw Error("AutoCount Query not yet supported");
        return p(R);
      }
      function f(R, q) {
        return b(R) ? S(R, q) : v(R, q);
      }
      function S(R, q) {
        var B = R.fn, j = T(R, ["fn"]);
        return O({ channel: q }, L.toFieldQueryFunctionMixins(B), j);
      }
      function _(R) {
        var q = R.aggregate, B = R.bin, j = R.hasFn, k = R.timeUnit, U = R.field, W = R.scale, $ = R.axis, V = R.legend, G = R.sort, X = R.description, K = R.type;
        if (P.isWildcard(K)) throw Error("Voyager does not support wildcard type");
        K === "ordinal" && (console.warn("Voyager does not support ordinal type yet, converting to nominal"), K = "nominal");
        var H = L.fromFieldQueryFunctionMixins({ aggregate: q, bin: B, timeUnit: k, hasFn: j });
        return O({}, H ? { fn: H } : {}, { field: U, type: K }, G ? { sort: G } : {}, W ? { scale: d(R, "scale") } : {}, $ ? { axis: d(R, "axis") } : {}, V ? { legend: d(R, "legend") } : {}, X ? { description: X } : {});
      }
      function d(R, q) {
        var B = R[q];
        if (B) {
          if (P.isWildcard(B)) throw Error("Voyager does not support wildcard " + q);
          if (I.isBoolean(B)) throw Error("Voyager does not support boolean " + q);
          return Object.keys(B).forEach(function(j) {
            if (P.isWildcard(B[j])) throw Error("Voyager does not support wildcard " + q + " " + j);
          }), B;
        }
      }
      function p(R) {
        if (P.isWildcard(R.value)) throw new Error("Voyager does not support wildcard value");
        return { value: R.value ? R.value : void 0 };
      }
      function b(R) {
        return !!R.field;
      }
      function m(R) {
        return !!R.value;
      }
      function v(R, q) {
        return { channel: q, value: R.value ? R.value : void 0 };
      }
      var O = this && this.__assign || Object.assign || function(R) {
        for (var q, B = 1, j = arguments.length; B < j; B++) {
          q = arguments[B];
          for (var k in q) Object.prototype.hasOwnProperty.call(q, k) && (R[k] = q[k]);
        }
        return R;
      }, T = this && this.__rest || function(R, q) {
        var B = {};
        for (var j in R) Object.prototype.hasOwnProperty.call(R, j) && q.indexOf(j) < 0 && (B[j] = R[j]);
        if (R != null && typeof Object.getOwnPropertySymbols == "function") for (var k = 0, j = Object.getOwnPropertySymbols(R); k < j.length; k++) q.indexOf(j[k]) < 0 && (B[j[k]] = R[j[k]]);
        return B;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var w = a(16), P = a(6), I = a(2), L = a(170);
      (function(R) {
        for (var q in R) u.hasOwnProperty(q) || (u[q] = R[q]);
      })(a(170)), u.isWildcardChannelId = s, u.fromEncodingQueries = h, u.fromEncodingQuery = E, u.toEncodingQuery = f, u.toFieldQuery = S, u.fromFieldQuery = _, u.fromFieldQueryNestedProp = d, u.fromValueQuery = p, u.isShelfFieldDef = b, u.isShelfValueDef = m, u.toValueQuery = v;
    }, function(A, u, a) {
      function s(I) {
        switch (I) {
          case "quantitative":
            return T;
          case "temporal":
            return w;
        }
        return [];
      }
      function h(I) {
        return I === "bin" || I === void 0 || I === null || m.isAggregateOp(I) || v.isTimeUnit(I);
      }
      function E(I) {
        if (b.isWildcard(I)) {
          for (var L = _(I.enum), R = [], q = [], B = !1, j = !1, k = 0, U = L; k < U.length; k++) {
            var W = U[k];
            if (m.isAggregateOp(W)) R.push(W);
            else if (v.isTimeUnit(W)) q.push(W);
            else if (W === "bin") B = !0;
            else {
              if (W != null) throw new Error("Invalid function " + W);
              j = !0;
            }
          }
          var $ = (R.length > 0 ? 1 : 0) + (q.length > 0 ? 1 : 0) + (B ? 1 : 0), V = $ > 1 || j, G = V ? [void 0] : [], X = !j, K = d({}, R.length > 0 ? { aggregate: { enum: [].concat(G, R) } } : {}, q.length > 0 ? { timeUnit: { enum: [].concat(G, q) } } : {}, B ? { bin: { enum: (V ? [!1] : []).concat([!0]) } } : {}, X ? { hasFn: X } : {});
          return K.aggregate || K.timeUnit || K.bin ? K : { bin: { enum: [!1] }, timeUnit: { enum: [void 0] }, aggregate: { enum: [void 0] } };
        }
        return m.isAggregateOp(I) ? { aggregate: I } : I === "bin" ? { bin: !0 } : v.isTimeUnit(I) ? { timeUnit: I } : {};
      }
      function f(I) {
        return h ? I != null : (console.warn("Invalid function " + I + " dropped"), !1);
      }
      function S(I) {
        var L, R = p.DEFAULT_QUERY_CONFIG, q = I.aggregate, B = I.bin, j = I.hasFn, k = I.timeUnit, U = [], W = !1;
        if (B) if (b.isWildcard(B)) {
          var $ = b.isShortWildcard(B) ? [!0, !1] : B.enum;
          U = U.concat(O.contains($, !0) ? ["bin"] : []), W = W || O.contains($, !1);
        } else B && (L = "bin");
        if (q) if (b.isWildcard(q)) {
          var V = b.isShortWildcard(q) ? R.enum.aggregate : q.enum;
          U = U.concat(V.filter(f)), W = W || O.contains(V, void 0);
        } else {
          if (L) throw Error("Invalid field with function " + L + " and " + q);
          L = q;
        }
        if (k) if (b.isWildcard(k)) {
          var G = b.isShortWildcard(k) ? R.enum.timeUnit : k.enum;
          U = U.concat(G.filter(f)), W = W || O.contains(G, void 0);
        } else {
          if (L) throw Error("Invalid field with function " + L + " and " + k);
          L = k;
        }
        return L || (W && !j && U.unshift(void 0), U.length > 0 ? { enum: _(U) } : void 0);
      }
      function _(I) {
        return I.map(function(L) {
          return L || null;
        }).sort(function(L, R) {
          return L == null && (L = void 0), R == null && (R = void 0), P[L] - P[R];
        }).map(function(L) {
          return L || void 0;
        });
      }
      var d = this && this.__assign || Object.assign || function(I) {
        for (var L, R = 1, q = arguments.length; R < q; R++) {
          L = arguments[R];
          for (var B in L) Object.prototype.hasOwnProperty.call(L, B) && (I[B] = L[B]);
        }
        return I;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var p = a(66), b = a(6), m = a(60), v = a(29), O = a(2), T = [void 0, "bin", "min", "max", "mean", "median", "sum"], w = [void 0, "yearmonthdate", "year", "month", "date", "day", "hours", "minutes", "seconds", "milliseconds"], P = d({}, T.reduce(function(I, L, R) {
        return I[L] = R, I;
      }, {}), w.reduce(function(I, L, R) {
        return I[L] = R, I;
      }, {}));
      u.getSupportedFunction = s, u.isShelfFunction = h, u.toFieldQueryFunctionMixins = E, u.fromFieldQueryFunctionMixins = S, u.sortFunctions = _;
    }, function(A, u, a) {
      function s(j, k, U) {
        var W = k.payload.fieldDef;
        if (j.anyEncodings.length > 0 || O.isWildcard(W.field)) return p({}, j, { anyEncodings: j.anyEncodings.concat([p({ channel: O.SHORT_WILDCARD }, W)]) });
        var $ = R.autoAddFieldQuery(j, W), V = m.recommend($, U), G = v.getTopResultTreeItem(V.result).specQuery;
        return p({}, q.fromSpecQuery(G, j.config), O.isWildcard(j.mark) ? { mark: j.mark } : {});
      }
      function h(j, k) {
        switch (j === void 0 && (j = q.DEFAULT_SHELF_UNIT_SPEC), k.type) {
          case T.SPEC_CLEAR:
            return q.DEFAULT_SHELF_UNIT_SPEC;
          case T.SPEC_MARK_CHANGE_TYPE:
            var U = k.payload;
            return p({}, j, { mark: U });
          case T.SPEC_FIELD_ADD:
            var W = k.payload, Ee = W.shelfId;
            return E(j, Ee, W.fieldDef, W.replace);
          case T.SPEC_FIELD_REMOVE:
            return S(j, k.payload).shelf;
          case T.SPEC_FIELD_MOVE:
            var $ = k.payload, V = $.to, G = $.from, X = S(j, G), K = X.fieldDef, H = X.shelf, Y = S(H, V), Q = Y.fieldDef;
            return E(E(Y.shelf, V, K, !1), G, Q, !1);
          case P.SPEC_FIELD_PROP_CHANGE:
            var Z = k.payload, Ee = Z.shelfId, J = Z.prop, ne = Z.value;
            return f(j, Ee, function(ge) {
              return _(ge, J, ne);
            });
          case P.SPEC_FIELD_NESTED_PROP_CHANGE:
            var ie = k.payload, Ee = ie.shelfId, re = ie.prop, ee = ie.nestedProp, te = ie.value;
            return f(j, Ee, function(ge) {
              return d(ge, re, ee, te);
            });
          case T.SPEC_FUNCTION_CHANGE:
            var ue = k.payload, Ee = ue.shelfId, le = ue.fn;
            return f(j, Ee, function(ge) {
              return p({}, ge, { fn: le });
            });
          case w.SPEC_FUNCTION_ADD_WILDCARD:
            var ae = k.payload, Ee = ae.shelfId, ce = ae.fn;
            return f(j, Ee, function(ge) {
              var Me = ge.fn, Te = b(ge, ["fn"]);
              return p({}, Te, { fn: { enum: L.sortFunctions(Me.enum.concat(ce)) } });
            });
          case w.SPEC_FUNCTION_DISABLE_WILDCARD:
            var Ee = k.payload.shelfId;
            return f(j, Ee, function(ge) {
              var Me = ge.fn, Te = b(ge, ["fn"]);
              if (O.isWildcard(Me)) return p({}, Te, Me.enum.length > 0 ? { fn: Me.enum[0] } : {});
              throw Error("fn must be a wildcard to disable wildcard");
            });
          case T.SPEC_FUNCTION_ENABLE_WILDCARD:
            var Ee = k.payload.shelfId;
            return f(j, Ee, function(ge) {
              var Me = ge.fn, Te = b(ge, ["fn"]);
              return p({}, Te, { fn: { enum: [Me] } });
            });
          case w.SPEC_FUNCTION_REMOVE_WILDCARD:
            var pe = k.payload, Ee = pe.shelfId, de = pe.fn;
            return f(j, Ee, function(ge) {
              var Me = ge.fn, Te = b(ge, ["fn"]);
              if (O.isWildcard(Me)) return p({}, Te, { fn: { enum: Me.enum.filter(function(De) {
                return De !== de;
              }) } });
              throw Error("fn must be a wildcard to remove a wildcard");
            });
          case T.SPEC_VALUE_CHANGE:
            var he = k.payload, Ee = he.shelfId, ye = he.valueDef;
            if (I.isWildcardChannelId(Ee)) throw Error("constant value cannot be assigned to a wildcard channel");
            return p({}, j, { encoding: p({}, j.encoding, (_e = {}, _e[Ee.channel] = { value: ye.value }, _e)) });
        }
        return j;
        var _e;
      }
      function E(j, k, U, W) {
        if (U) {
          if (I.isWildcardChannelId(k)) {
            var $ = k.index;
            return W && j.anyEncodings[$] ? p({}, j, { anyEncodings: B.modifyItemInArray(j.anyEncodings, $, function() {
              return p({ channel: O.SHORT_WILDCARD }, U);
            }) }) : p({}, j, { anyEncodings: B.insertItemToArray(j.anyEncodings, $, p({ channel: O.SHORT_WILDCARD }, U)) });
          }
          return p({}, j, { encoding: p({}, j.encoding, (V = {}, V[k.channel] = U, V)) });
        }
        return j;
        var V;
      }
      function f(j, k, U) {
        return I.isWildcardChannelId(k) ? p({}, j, { anyEncodings: B.modifyItemInArray(j.anyEncodings, k.index, U) }) : p({}, j, { encoding: p({}, j.encoding, (W = {}, W[k.channel] = U(j.encoding[k.channel]), W)) });
        var W;
      }
      function S(j, k) {
        if (I.isWildcardChannelId(k)) {
          var U = k.index, W = B.removeItemFromArray(j.anyEncodings, U), $ = W.array, V = W.item;
          if (V) {
            var K = (V.channel, b(V, ["channel"]));
            return { fieldDef: K, shelf: p({}, j, { anyEncodings: $ }) };
          }
          return { fieldDef: void 0, shelf: p({}, j, { anyEncodings: $ }) };
        }
        var G = j.encoding, X = k.channel, K = G[X], H = b(G, [typeof X == "symbol" ? X : X + ""]);
        return { fieldDef: K, shelf: p({}, j, { encoding: H }) };
      }
      function _(j, k, U) {
        var W = k, $ = (j[W], b(j, [typeof W == "symbol" ? W : W + ""]));
        return p({}, $, U !== void 0 ? (V = {}, V[k] = U, V) : {});
        var V;
      }
      function d(j, k, U, W) {
        var $ = k, V = j[$], G = b(j, [typeof $ == "symbol" ? $ : $ + ""]), X = V || {}, K = U, H = b(X, [typeof K == "symbol" ? K : K + ""]), Y = p({}, H, W !== void 0 ? (Q = {}, Q[U] = W, Q) : {});
        return p({}, G, Object.keys(Y).length > 0 ? (Z = {}, Z[k] = Y, Z) : {});
        var Q, Z;
      }
      var p = this && this.__assign || Object.assign || function(j) {
        for (var k, U = 1, W = arguments.length; U < W; U++) {
          k = arguments[U];
          for (var $ in k) Object.prototype.hasOwnProperty.call(k, $) && (j[$] = k[$]);
        }
        return j;
      }, b = this && this.__rest || function(j, k) {
        var U = {};
        for (var W in j) Object.prototype.hasOwnProperty.call(j, W) && k.indexOf(W) < 0 && (U[W] = j[W]);
        if (j != null && typeof Object.getOwnPropertySymbols == "function") for (var $ = 0, W = Object.getOwnPropertySymbols(j); $ < W.length; $++) k.indexOf(W[$]) < 0 && (U[W[$]] = j[W[$]]);
        return U;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var m = a(188), v = a(124), O = a(6), T = a(21), w = a(21), P = a(54), I = a(35), L = a(39), R = a(39), q = a(55), B = a(62);
      u.shelfSpecFieldAutoAddReducer = s, u.shelfSpecReducer = h, u.modifyFieldProp = _, u.modifyNestedFieldProp = d;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(86);
      u.selectTab = function(h) {
        return h.undoable.present.tab;
      }, u.selectActiveTabID = s.createSelector(u.selectTab, function(h) {
        return h.activeTabID;
      }), u.selectActiveTab = s.createSelector(u.selectTab, u.selectActiveTabID, function(h, E) {
        return h.list[E];
      });
    }, function(A, u) {
      A.exports = y;
    }, function(A, u, a) {
      function s(ee) {
        return ee.facet !== void 0;
      }
      function h(ee) {
        return !!ee.mark;
      }
      function E(ee) {
        return ee.layer !== void 0;
      }
      function f(ee) {
        return ee.repeat !== void 0;
      }
      function S(ee) {
        return _(ee) || d(ee);
      }
      function _(ee) {
        return ee.vconcat !== void 0;
      }
      function d(ee) {
        return ee.hconcat !== void 0;
      }
      function p(ee, te) {
        if (s(ee)) return b(ee, te);
        if (E(ee)) return O(ee, te);
        if (f(ee)) return T(ee, te);
        if (_(ee)) return w(ee, te);
        if (d(ee)) return P(ee, te);
        if (h(ee)) {
          var ue = Q.channelHasField(ee.encoding, H.ROW), le = Q.channelHasField(ee.encoding, H.COLUMN);
          return ue || le ? I(ee, te) : B(ee, te);
        }
        throw new Error(J.message.INVALID_SPEC);
      }
      function b(ee, te) {
        var ue = ee.spec, le = X.__rest(ee, ["spec"]);
        return X.__assign({}, le, { spec: p(ue, te) });
      }
      function m(ee) {
        var te = ee.parentEncoding, ue = ee.encoding;
        if (te && ue) {
          var le = re.keys(te).reduce(function(ce, pe) {
            return ue[pe] && ce.push(pe), ce;
          }, []);
          le.length > 0 && J.warn(J.message.encodingOverridden(le));
        }
        var ae = X.__assign({}, te || {}, ue || {});
        return re.keys(ae).length > 0 ? ae : void 0;
      }
      function v(ee) {
        var te = ee.parentProjection, ue = ee.projection;
        return te && ue && J.warn(J.message.projectionOverridden({ parentProjection: te, projection: ue })), ue || te;
      }
      function O(ee, te, ue, le) {
        var ae = ee.layer, ce = ee.encoding, pe = ee.projection, de = X.__rest(ee, ["layer", "encoding", "projection"]), he = m({ parentEncoding: ue, encoding: ce }), Ee = v({ parentProjection: le, projection: pe });
        return X.__assign({}, de, { layer: ae.map(function(ye) {
          return E(ye) ? O(ye, te, he, Ee) : B(ye, te, he, Ee);
        }) });
      }
      function T(ee, te) {
        var ue = ee.spec, le = X.__rest(ee, ["spec"]);
        return X.__assign({}, le, { spec: p(ue, te) });
      }
      function w(ee, te) {
        var ue = ee.vconcat, le = X.__rest(ee, ["vconcat"]);
        return X.__assign({}, le, { vconcat: ue.map(function(ae) {
          return p(ae, te);
        }) });
      }
      function P(ee, te) {
        var ue = ee.hconcat, le = X.__rest(ee, ["hconcat"]);
        return X.__assign({}, le, { hconcat: ue.map(function(ae) {
          return p(ae, te);
        }) });
      }
      function I(ee, te) {
        var ue = ee.encoding, le = ue.row, ae = ue.column, ce = X.__rest(ue, ["row", "column"]), pe = ee.mark, de = ee.width, he = ee.projection, Ee = ee.height, ye = ee.selection, _e = (ee.encoding, X.__rest(ee, ["mark", "width", "projection", "height", "selection", "encoding"]));
        return X.__assign({}, _e, { facet: X.__assign({}, le ? { row: le } : {}, ae ? { column: ae } : {}), spec: B(X.__assign({}, he ? { projection: he } : {}, { mark: pe }, de ? { width: de } : {}, Ee ? { height: Ee } : {}, { encoding: ce }, ye ? { selection: ye } : {}), te) });
      }
      function L(ee) {
        return ne.isPrimitiveMark(ee.mark);
      }
      function R(ee, te, ue) {
        return ee.point === "transparent" ? { opacity: 0 } : ee.point ? K.isObject(ee.point) ? ee.point : {} : ee.point !== void 0 ? null : te.point || ue.shape ? K.isObject(te.point) ? te.point : {} : null;
      }
      function q(ee, te) {
        return ee.line ? ee.line === !0 ? {} : ee.line : ee.line !== void 0 ? null : te.line ? te.line === !0 ? {} : te.line : null;
      }
      function B(ee, te, ue, le) {
        var ae = ee.encoding, ce = ee.projection, pe = ne.isMarkDef(ee.mark) ? ee.mark.type : ee.mark;
        if (ue || le) {
          var de = v({ parentProjection: le, projection: ce }), he = m({ parentEncoding: ue, encoding: ae });
          return B(X.__assign({}, ee, de ? { projection: de } : {}, he ? { encoding: he } : {}), te);
        }
        return L(ee) ? Q.isRanged(ae) ? j(ee) : pe === "line" && (ae.x2 || ae.y2) ? (J.warn(J.message.lineWithRange(!!ae.x2, !!ae.y2)), B(X.__assign({ mark: "rule" }, ee), te, ue, le)) : ne.isPathMark(pe) ? U(ee, te) : ee : Y.normalize(ee, te);
      }
      function j(ee) {
        var te = Q.channelHasField(ee.encoding, H.X), ue = Q.channelHasField(ee.encoding, H.Y), le = Q.channelHasField(ee.encoding, H.X2), ae = Q.channelHasField(ee.encoding, H.Y2);
        if (le && !te || ae && !ue) {
          var ce = re.duplicate(ee);
          return le && !te && (ce.encoding.x = ce.encoding.x2, delete ce.encoding.x2), ae && !ue && (ce.encoding.y = ce.encoding.y2, delete ce.encoding.y2), ce;
        }
        return ee;
      }
      function k(ee) {
        var te = (ee.point, ee.line, X.__rest(ee, ["point", "line"]));
        return re.keys(te).length > 1 ? te : te.type;
      }
      function U(ee, te) {
        te === void 0 && (te = {});
        var ue = ee.selection, le = ee.projection, ae = ee.encoding, ce = ee.mark, pe = X.__rest(ee, ["selection", "projection", "encoding", "mark"]), de = ne.isMarkDef(ce) ? ce : { type: ce }, he = R(de, te[de.type], ae), Ee = de.type === "area" && q(de, te[de.type]);
        if (!he && !Ee) return X.__assign({}, ee, { mark: k(de) });
        var ye = [{ mark: k(X.__assign({}, de, de.type === "area" ? { opacity: 0.7 } : {})), encoding: ae }], _e = ie.stack(de, ae, te ? te.stack : void 0), ge = ae;
        if (_e) {
          var Me = _e.fieldChannel, Te = _e.offset;
          ge = X.__assign({}, ae, (De = {}, De[Me] = X.__assign({}, ae[Me], Te ? { stack: Te } : {}), De));
        }
        return Ee && ye.push(X.__assign({}, le ? { projection: le } : {}, { mark: X.__assign({ type: "line" }, Ee) }, ue ? { selection: ue } : {}, { encoding: ge })), he && ye.push(X.__assign({}, le ? { projection: le } : {}, { mark: X.__assign({ type: "point", opacity: 1, filled: !0 }, he) }, ue ? { selection: ue } : {}, { encoding: ge })), X.__assign({}, pe, { layer: ye });
        var De;
      }
      function W(ee, te) {
        return te.forEach(function(ue) {
          var le = ["field", "type", "value", "timeUnit", "bin", "aggregate"].reduce(function(ce, pe) {
            return ue[pe] !== void 0 && (ce[pe] = ue[pe]), ce;
          }, {}), ae = re.hash(le);
          ee[ae] = ee[ae] || ue;
        }), ee;
      }
      function $(ee, te) {
        if (te === void 0 && (te = {}), E(ee)) ee.layer.forEach(function(le) {
          h(le) ? W(te, Z.fieldDefs(le.encoding)) : $(le, te);
        });
        else if (s(ee)) W(te, Z.fieldDefs(ee.facet)), $(ee.spec, te);
        else if (f(ee)) $(ee.spec, te);
        else if (S(ee)) {
          var ue = _(ee) ? ee.vconcat : ee.hconcat;
          ue.forEach(function(le) {
            return $(le, te);
          });
        } else W(te, Z.fieldDefs(ee.encoding));
        return te;
      }
      function V(ee) {
        return re.vals($(ee));
      }
      function G(ee, te) {
        return te = te || ee.config, !!ne.isPrimitiveMark(ee.mark) && ie.stack(ee.mark, ee.encoding, te ? te.stack : void 0) !== null;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var X = a(3), K = a(4), H = a(5), Y = a(653), Q = a(71), Z = a(71), J = a(8), ne = a(28), ie = a(251), re = a(2);
      u.isFacetSpec = s, u.isUnitSpec = h, u.isLayerSpec = E, u.isRepeatSpec = f, u.isConcatSpec = S, u.isVConcatSpec = _, u.isHConcatSpec = d, u.normalize = p, u.fieldDefs = V, u.isStacked = G;
    }, function(A, u, a) {
      function s(O) {
        O === void 0 && (O = _.DEFAULT_STATE), u.actionLogs = E.createActionLog({ limit: null });
        var T = h.createStore(d.rootReducer, O, m(h.applyMiddleware.apply(void 0, v), u.actionLogs.enhancer));
        return T.subscribe(p.createQueryListener(T)), T;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(117), E = a(584), f = a(585), S = a(732), _ = a(35), d = a(717), p = a(727), b = f.createLogger({ collapsed: !0, level: "debug" }), m = h.compose, v = [S.default];
      m = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || h.compose, v.push(b), u.configureStore = s;
    }, function(A, u) {
      A.exports = { $ref: "#/definitions/TopLevelSpec", $schema: "http://json-schema.org/draft-06/schema#", definitions: { Aggregate: { $ref: "#/definitions/AggregateOp" }, AggregateOp: { enum: ["argmax", "argmin", "average", "count", "distinct", "max", "mean", "median", "min", "missing", "q1", "q3", "ci0", "ci1", "stderr", "stdev", "stdevp", "sum", "valid", "values", "variance", "variancep"], type: "string" }, AggregateTransform: { additionalProperties: !1, properties: { aggregate: { description: "Array of objects that define fields to aggregate.", items: { $ref: "#/definitions/AggregatedFieldDef" }, type: "array" }, groupby: { description: "The data fields to group by. If not specified, a single group containing all data objects will be used.", items: { type: "string" }, type: "array" } }, required: ["aggregate"], type: "object" }, AggregatedFieldDef: { additionalProperties: !1, properties: { as: { description: "The output field names to use for each aggregated field.", type: "string" }, field: { description: 'The data field for which to compute aggregate function. This is required for all aggregation operations except `"count"`.', type: "string" }, op: { $ref: "#/definitions/AggregateOp", description: `The aggregation operations to apply to the fields, such as sum, average or count.
See the [full list of supported aggregation operations](https://vega.github.io/vega-lite/docs/aggregate.html#ops)
for more information.` } }, required: ["op", "as"], type: "object" }, Anchor: { enum: ["start", "middle", "end"], type: "string" }, AnyMark: { anyOf: [{ $ref: "#/definitions/Mark" }, { $ref: "#/definitions/MarkDef" }] }, AreaConfig: { additionalProperties: !1, properties: { align: { $ref: "#/definitions/HorizontalAlign", description: 'The horizontal alignment of the text. One of `"left"`, `"right"`, `"center"`.' }, angle: { description: "The rotation angle of the text, in degrees.", maximum: 360, minimum: 0, type: "number" }, baseline: { $ref: "#/definitions/VerticalAlign", description: 'The vertical alignment of the text. One of `"top"`, `"middle"`, `"bottom"`.\n\n__Default value:__ `"middle"`' }, color: { description: 'Default color.  Note that `fill` and `stroke` have higher precedence than `color` and will override `color`.\n\n__Default value:__ <span style="color: #4682b4;">&#9632;</span> `"#4682b4"`\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config).', type: "string" }, cursor: { description: "The mouse cursor used over the mark. Any valid [CSS cursor type](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used.", enum: ["auto", "default", "none", "context-menu", "help", "pointer", "progress", "wait", "cell", "crosshair", "text", "vertical-text", "alias", "copy", "move", "no-drop", "not-allowed", "e-resize", "n-resize", "ne-resize", "nw-resize", "s-resize", "se-resize", "sw-resize", "w-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "col-resize", "row-resize", "all-scroll", "zoom-in", "zoom-out", "grab", "grabbing"], type: "string" }, dx: { description: "The horizontal offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.", type: "number" }, dy: { description: "The vertical offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.", type: "number" }, fill: { description: "Default Fill Color.  This has higher precedence than `config.color`\n\n__Default value:__ (None)", type: "string" }, fillOpacity: { description: "The fill opacity (value between [0,1]).\n\n__Default value:__ `1`", maximum: 1, minimum: 0, type: "number" }, filled: { description: "Whether the mark's color should be used as fill color instead of stroke color.\n\n__Default value:__ `true` for all marks except `point` and `false` for `point`.\n\n__Applicable for:__ `bar`, `point`, `circle`, `square`, and `area` marks.\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config).", type: "boolean" }, font: { description: 'The typeface to set the text in (e.g., `"Helvetica Neue"`).', type: "string" }, fontSize: { description: "The font size, in pixels.", minimum: 0, type: "number" }, fontStyle: { $ref: "#/definitions/FontStyle", description: 'The font style (e.g., `"italic"`).' }, fontWeight: { $ref: "#/definitions/FontWeight", description: 'The font weight.\nThis can be either a string (e.g `"bold"`, `"normal"`) or a number (`100`, `200`, `300`, ..., `900` where `"normal"` = `400` and `"bold"` = `700`).' }, href: { description: "A URL to load upon mouse click. If defined, the mark acts as a hyperlink.", format: "uri", type: "string" }, interpolate: { $ref: "#/definitions/Interpolate", description: 'The line interpolation method to use for line and area marks. One of the following:\n- `"linear"`: piecewise linear segments, as in a polyline.\n- `"linear-closed"`: close the linear segments to form a polygon.\n- `"step"`: alternate between horizontal and vertical segments, as in a step function.\n- `"step-before"`: alternate between vertical and horizontal segments, as in a step function.\n- `"step-after"`: alternate between horizontal and vertical segments, as in a step function.\n- `"basis"`: a B-spline, with control point duplication on the ends.\n- `"basis-open"`: an open B-spline; may not intersect the start or end.\n- `"basis-closed"`: a closed B-spline, as in a loop.\n- `"cardinal"`: a Cardinal spline, with control point duplication on the ends.\n- `"cardinal-open"`: an open Cardinal spline; may not intersect the start or end, but will intersect other control points.\n- `"cardinal-closed"`: a closed Cardinal spline, as in a loop.\n- `"bundle"`: equivalent to basis, except the tension parameter is used to straighten the spline.\n- `"monotone"`: cubic interpolation that preserves monotonicity in y.' }, limit: { description: "The maximum length of the text mark in pixels (default 0, indicating no limit). The text value will be automatically truncated if the rendered size exceeds the limit.", type: "number" }, line: { anyOf: [{ type: "boolean" }, { $ref: "#/definitions/MarkProperties" }], description: "A flag for overlaying line on top of area marks, or an object defining the properties of the overlayed lines.\n\n- If this value is an empty object (`{}`) or `true`, lines with default properties will be used.\n\n- If this value is `false`, no lines would be automatically added to area marks.\n\n__Default value:__ `false`." }, opacity: { description: "The overall opacity (value between [0,1]).\n\n__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or `square` marks or layered `bar` charts and `1` otherwise.", maximum: 1, minimum: 0, type: "number" }, orient: { $ref: "#/definitions/Orient", description: `The orientation of a non-stacked bar, tick, area, and line charts.
The value is either horizontal (default) or vertical.
- For bar, rule and tick, this determines whether the size of the bar and tick
should be applied to x or y dimension.
- For area, this property determines the orient property of the Vega output.
- For line and trail marks, this property determines the sort order of the points in the line
if \`config.sortLineBy\` is not specified.
For stacked charts, this is always determined by the orientation of the stack;
therefore explicitly specified value will be ignored.` }, point: { anyOf: [{ type: "boolean" }, { $ref: "#/definitions/MarkProperties" }, { enum: ["transparent"], type: "string" }], description: 'A flag for overlaying points on top of line or area marks, or an object defining the properties of the overlayed points.\n\n- If this property is `"transparent"`, transparent points will be used (for enhancing tooltips and selections).\n\n- If this property is an empty object (`{}`) or `true`, filled points with default properties will be used.\n\n- If this property is `false`, no points would be automatically added to line or area marks.\n\n__Default value:__ `false`.' }, radius: { description: "Polar coordinate radial offset, in pixels, of the text label from the origin determined by the `x` and `y` properties.", minimum: 0, type: "number" }, shape: { description: 'The default symbol shape to use. One of: `"circle"` (default), `"square"`, `"cross"`, `"diamond"`, `"triangle-up"`, or `"triangle-down"`, or a custom SVG path.\n\n__Default value:__ `"circle"`', type: "string" }, size: { description: `The pixel area each the point/circle/square.
For example: in the case of circles, the radius is determined in part by the square root of the size value.

__Default value:__ \`30\``, minimum: 0, type: "number" }, stroke: { description: "Default Stroke Color.  This has higher precedence than `config.color`\n\n__Default value:__ (None)", type: "string" }, strokeCap: { description: 'The stroke cap for line ending style. One of `"butt"`, `"round"`, or `"square"`.\n\n__Default value:__ `"square"`', enum: ["butt", "round", "square"], type: "string" }, strokeDash: { description: "An array of alternating stroke, space lengths for creating dashed or dotted lines.", items: { type: "number" }, type: "array" }, strokeDashOffset: { description: "The offset (in pixels) into which to begin drawing with the stroke dash array.", type: "number" }, strokeOpacity: { description: "The stroke opacity (value between [0,1]).\n\n__Default value:__ `1`", maximum: 1, minimum: 0, type: "number" }, strokeWidth: { description: "The stroke width, in pixels.", minimum: 0, type: "number" }, tension: { description: "Depending on the interpolation type, sets the tension parameter (for line and area marks).", maximum: 1, minimum: 0, type: "number" }, text: { description: "Placeholder text if the `text` channel is not specified", type: "string" }, theta: { description: 'Polar coordinate angle, in radians, of the text label from the origin determined by the `x` and `y` properties. Values for `theta` follow the same convention of `arc` mark `startAngle` and `endAngle` properties: angles are measured in radians, with `0` indicating "north".', type: "number" } }, type: "object" }, AutoSizeParams: { additionalProperties: !1, properties: { contains: { description: 'Determines how size calculation should be performed, one of `"content"` or `"padding"`. The default setting (`"content"`) interprets the width and height settings as the data rectangle (plotting) dimensions, to which padding is then added. In contrast, the `"padding"` setting includes the padding within the view size calculations, such that the width and height settings indicate the **total** intended size of the view.\n\n__Default value__: `"content"`', enum: ["content", "padding"], type: "string" }, resize: { description: "A boolean flag indicating if autosize layout should be re-calculated on every view update.\n\n__Default value__: `false`", type: "boolean" }, type: { $ref: "#/definitions/AutosizeType", description: 'The sizing format type. One of `"pad"`, `"fit"` or `"none"`. See the [autosize type](https://vega.github.io/vega-lite/docs/size.html#autosize) documentation for descriptions of each.\n\n__Default value__: `"pad"`' } }, type: "object" }, AutosizeType: { enum: ["pad", "fit", "none"], type: "string" }, Axis: { additionalProperties: !1, properties: { domain: { description: "A boolean flag indicating if the domain (the axis baseline) should be included as part of the axis.\n\n__Default value:__ `true`", type: "boolean" }, format: { description: `The formatting pattern for labels. This is D3's [number format pattern](https://github.com/d3/d3-format#locale_format) for quantitative fields and D3's [time format pattern](https://github.com/d3/d3-time-format#locale_format) for time field.

See the [format documentation](format.html) for more information.

__Default value:__  derived from [numberFormat](config.html#format) config for quantitative fields and from [timeFormat](config.html#format) config for temporal fields.`, type: "string" }, grid: { description: "A boolean flag indicating if grid lines should be included as part of the axis\n\n__Default value:__ `true` for [continuous scales](scale.html#continuous) that are not binned; otherwise, `false`.", type: "boolean" }, labelAngle: { description: "The rotation angle of the axis labels.\n\n__Default value:__ `-90` for nominal and ordinal fields; `0` otherwise.", maximum: 360, minimum: -360, type: "number" }, labelBound: { description: "Indicates if labels should be hidden if they exceed the axis range. If `false `(the default) no bounds overlap analysis is performed. If `true`, labels will be hidden if they exceed the axis range by more than 1 pixel. If this property is a number, it specifies the pixel tolerance: the maximum amount by which a label bounding box may exceed the axis range.\n\n__Default value:__ `false`.", type: ["boolean", "number"] }, labelFlush: { description: "Indicates if the first and last axis labels should be aligned flush with the scale range. Flush alignment for a horizontal axis will left-align the first label and right-align the last label. For vertical axes, bottom and top text baselines are applied instead. If this property is a number, it also indicates the number of pixels by which to offset the first and last labels; for example, a value of 2 will flush-align the first and last labels and also push them 2 pixels outward from the center of the axis. The additional adjustment can sometimes help the labels better visually group with corresponding axis ticks.\n\n__Default value:__ `true` for axis of a continuous x-scale. Otherwise, `false`.", type: ["boolean", "number"] }, labelOverlap: { anyOf: [{ type: "boolean" }, { enum: ["parity"], type: "string" }, { enum: ["greedy"], type: "string" }], description: 'The strategy to use for resolving overlap of axis labels. If `false` (the default), no overlap reduction is attempted. If set to `true` or `"parity"`, a strategy of removing every other label is used (this works well for standard linear axes). If set to `"greedy"`, a linear scan of the labels is performed, removing any labels that overlaps with the last visible label (this often works better for log-scaled axes).\n\n__Default value:__ `true` for non-nominal fields with non-log scales; `"greedy"` for log scales; otherwise `false`.' }, labelPadding: { description: "The padding, in pixels, between axis and text labels.", type: "number" }, labels: { description: "A boolean flag indicating if labels should be included as part of the axis.\n\n__Default value:__  `true`.", type: "boolean" }, maxExtent: { description: "The maximum extent in pixels that axis ticks and labels should use. This determines a maximum offset value for axis titles.\n\n__Default value:__ `undefined`.", type: "number" }, minExtent: { description: "The minimum extent in pixels that axis ticks and labels should use. This determines a minimum offset value for axis titles.\n\n__Default value:__ `30` for y-axis; `undefined` for x-axis.", type: "number" }, offset: { description: "The offset, in pixels, by which to displace the axis from the edge of the enclosing group or data rectangle.\n\n__Default value:__ derived from the [axis config](config.html#facet-scale-config)'s `offset` (`0` by default)", type: "number" }, orient: { $ref: "#/definitions/AxisOrient", description: 'The orientation of the axis. One of `"top"`, `"bottom"`, `"left"` or `"right"`. The orientation can be used to further specialize the axis type (e.g., a y axis oriented for the right edge of the chart).\n\n__Default value:__ `"bottom"` for x-axes and `"left"` for y-axes.' }, position: { description: "The anchor position of the axis in pixels. For x-axis with top or bottom orientation, this sets the axis group x coordinate. For y-axis with left or right orientation, this sets the axis group y coordinate.\n\n__Default value__: `0`", type: "number" }, tickCount: { description: `A desired number of ticks, for axes visualizing quantitative scales. The resulting number may be different so that values are "nice" (multiples of 2, 5, 10) and lie within the underlying scale's range.`, type: "number" }, tickSize: { description: "The size in pixels of axis ticks.", minimum: 0, type: "number" }, ticks: { description: "Boolean value that determines whether the axis should include ticks.", type: "boolean" }, title: { description: 'A title for the field. If `null`, the title will be removed.\n\n__Default value:__  derived from the field\'s name and transformation function (`aggregate`, `bin` and `timeUnit`).  If the field has an aggregate function, the function is displayed as part of the title (e.g., `"Sum of Profit"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `"Profit (binned)"`, `"Transaction Date (year-month)"`).  Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle` property in the [config](config.html) or [`fieldTitle` function via the `compile` function\'s options](compile.html#field-title).\n\n2) If both field definition\'s `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used.', type: ["string", "null"] }, titleMaxLength: { description: "Max length for axis title if the title is automatically generated from the field's description.", type: "number" }, titlePadding: { description: "The padding, in pixels, between title and axis.", type: "number" }, values: { anyOf: [{ items: { type: "number" }, type: "array" }, { items: { $ref: "#/definitions/DateTime" }, type: "array" }], description: "Explicitly set the visible axis tick values." }, zindex: { description: 'A non-positive integer indicating z-index of the axis.\nIf zindex is 0, axes should be drawn behind all chart elements.\nTo put them in front, use `"zindex = 1"`.\n\n__Default value:__ `1` (in front of the marks) for actual axis and `0` (behind the marks) for grids.', minimum: 0, type: "number" } }, type: "object" }, AxisConfig: { additionalProperties: !1, properties: { bandPosition: { description: "An interpolation fraction indicating where, for `band` scales, axis ticks should be positioned. A value of `0` places ticks at the left edge of their bands. A value of `0.5` places ticks in the middle of their bands.", type: "number" }, domain: { description: "A boolean flag indicating if the domain (the axis baseline) should be included as part of the axis.\n\n__Default value:__ `true`", type: "boolean" }, domainColor: { description: `Color of axis domain line.

__Default value:__  (none, using Vega default).`, type: "string" }, domainWidth: { description: `Stroke width of axis domain line

__Default value:__  (none, using Vega default).`, type: "number" }, grid: { description: "A boolean flag indicating if grid lines should be included as part of the axis\n\n__Default value:__ `true` for [continuous scales](scale.html#continuous) that are not binned; otherwise, `false`.", type: "boolean" }, gridColor: { description: "Color of gridlines.", type: "string" }, gridDash: { description: "The offset (in pixels) into which to begin drawing with the grid dash array.", items: { type: "number" }, type: "array" }, gridOpacity: { description: "The stroke opacity of grid (value between [0,1])\n\n__Default value:__ (`1` by default)", maximum: 1, minimum: 0, type: "number" }, gridWidth: { description: "The grid width, in pixels.", minimum: 0, type: "number" }, labelAngle: { description: "The rotation angle of the axis labels.\n\n__Default value:__ `-90` for nominal and ordinal fields; `0` otherwise.", maximum: 360, minimum: -360, type: "number" }, labelBound: { description: "Indicates if labels should be hidden if they exceed the axis range. If `false `(the default) no bounds overlap analysis is performed. If `true`, labels will be hidden if they exceed the axis range by more than 1 pixel. If this property is a number, it specifies the pixel tolerance: the maximum amount by which a label bounding box may exceed the axis range.\n\n__Default value:__ `false`.", type: ["boolean", "number"] }, labelColor: { description: "The color of the tick label, can be in hex color code or regular color name.", type: "string" }, labelFlush: { description: "Indicates if the first and last axis labels should be aligned flush with the scale range. Flush alignment for a horizontal axis will left-align the first label and right-align the last label. For vertical axes, bottom and top text baselines are applied instead. If this property is a number, it also indicates the number of pixels by which to offset the first and last labels; for example, a value of 2 will flush-align the first and last labels and also push them 2 pixels outward from the center of the axis. The additional adjustment can sometimes help the labels better visually group with corresponding axis ticks.\n\n__Default value:__ `true` for axis of a continuous x-scale. Otherwise, `false`.", type: ["boolean", "number"] }, labelFont: { description: "The font of the tick label.", type: "string" }, labelFontSize: { description: "The font size of the label, in pixels.", minimum: 0, type: "number" }, labelLimit: { description: "Maximum allowed pixel width of axis tick labels.", type: "number" }, labelOverlap: { anyOf: [{ type: "boolean" }, { enum: ["parity"], type: "string" }, { enum: ["greedy"], type: "string" }], description: 'The strategy to use for resolving overlap of axis labels. If `false` (the default), no overlap reduction is attempted. If set to `true` or `"parity"`, a strategy of removing every other label is used (this works well for standard linear axes). If set to `"greedy"`, a linear scan of the labels is performed, removing any labels that overlaps with the last visible label (this often works better for log-scaled axes).\n\n__Default value:__ `true` for non-nominal fields with non-log scales; `"greedy"` for log scales; otherwise `false`.' }, labelPadding: { description: "The padding, in pixels, between axis and text labels.", type: "number" }, labels: { description: "A boolean flag indicating if labels should be included as part of the axis.\n\n__Default value:__  `true`.", type: "boolean" }, maxExtent: { description: "The maximum extent in pixels that axis ticks and labels should use. This determines a maximum offset value for axis titles.\n\n__Default value:__ `undefined`.", type: "number" }, minExtent: { description: "The minimum extent in pixels that axis ticks and labels should use. This determines a minimum offset value for axis titles.\n\n__Default value:__ `30` for y-axis; `undefined` for x-axis.", type: "number" }, shortTimeLabels: { description: "Whether month names and weekday names should be abbreviated.\n\n__Default value:__  `false`", type: "boolean" }, tickColor: { description: "The color of the axis's tick.", type: "string" }, tickRound: { description: "Boolean flag indicating if pixel position values should be rounded to the nearest integer.", type: "boolean" }, tickSize: { description: "The size in pixels of axis ticks.", minimum: 0, type: "number" }, tickWidth: { description: "The width, in pixels, of ticks.", minimum: 0, type: "number" }, ticks: { description: "Boolean value that determines whether the axis should include ticks.", type: "boolean" }, titleAlign: { description: "Horizontal text alignment of axis titles.", type: "string" }, titleAngle: { description: "Angle in degrees of axis titles.", type: "number" }, titleBaseline: { description: "Vertical text baseline for axis titles.", type: "string" }, titleColor: { description: "Color of the title, can be in hex color code or regular color name.", type: "string" }, titleFont: { description: 'Font of the title. (e.g., `"Helvetica Neue"`).', type: "string" }, titleFontSize: { description: "Font size of the title.", minimum: 0, type: "number" }, titleFontWeight: { $ref: "#/definitions/FontWeight", description: 'Font weight of the title.\nThis can be either a string (e.g `"bold"`, `"normal"`) or a number (`100`, `200`, `300`, ..., `900` where `"normal"` = `400` and `"bold"` = `700`).' }, titleLimit: { description: "Maximum allowed pixel width of axis titles.", type: "number" }, titleMaxLength: { description: "Max length for axis title if the title is automatically generated from the field's description.", type: "number" }, titlePadding: { description: "The padding, in pixels, between title and axis.", type: "number" }, titleX: { description: "X-coordinate of the axis title relative to the axis group.", type: "number" }, titleY: { description: "Y-coordinate of the axis title relative to the axis group.", type: "number" } }, type: "object" }, AxisOrient: { enum: ["top", "right", "left", "bottom"], type: "string" }, AxisResolveMap: { additionalProperties: !1, properties: { x: { $ref: "#/definitions/ResolveMode" }, y: { $ref: "#/definitions/ResolveMode" } }, type: "object" }, BarConfig: { additionalProperties: !1, properties: { align: { $ref: "#/definitions/HorizontalAlign", description: 'The horizontal alignment of the text. One of `"left"`, `"right"`, `"center"`.' }, angle: { description: "The rotation angle of the text, in degrees.", maximum: 360, minimum: 0, type: "number" }, baseline: { $ref: "#/definitions/VerticalAlign", description: 'The vertical alignment of the text. One of `"top"`, `"middle"`, `"bottom"`.\n\n__Default value:__ `"middle"`' }, binSpacing: { description: "Offset between bars for binned field.  Ideal value for this is either 0 (Preferred by statisticians) or 1 (Vega-Lite Default, D3 example style).\n\n__Default value:__ `1`", minimum: 0, type: "number" }, color: { description: 'Default color.  Note that `fill` and `stroke` have higher precedence than `color` and will override `color`.\n\n__Default value:__ <span style="color: #4682b4;">&#9632;</span> `"#4682b4"`\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config).', type: "string" }, continuousBandSize: { description: "The default size of the bars on continuous scales.\n\n__Default value:__ `5`", minimum: 0, type: "number" }, cursor: { description: "The mouse cursor used over the mark. Any valid [CSS cursor type](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used.", enum: ["auto", "default", "none", "context-menu", "help", "pointer", "progress", "wait", "cell", "crosshair", "text", "vertical-text", "alias", "copy", "move", "no-drop", "not-allowed", "e-resize", "n-resize", "ne-resize", "nw-resize", "s-resize", "se-resize", "sw-resize", "w-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "col-resize", "row-resize", "all-scroll", "zoom-in", "zoom-out", "grab", "grabbing"], type: "string" }, discreteBandSize: { description: "The size of the bars.  If unspecified, the default size is  `bandSize-1`,\nwhich provides 1 pixel offset between bars.", minimum: 0, type: "number" }, dx: { description: "The horizontal offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.", type: "number" }, dy: { description: "The vertical offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.", type: "number" }, fill: { description: "Default Fill Color.  This has higher precedence than `config.color`\n\n__Default value:__ (None)", type: "string" }, fillOpacity: { description: "The fill opacity (value between [0,1]).\n\n__Default value:__ `1`", maximum: 1, minimum: 0, type: "number" }, filled: { description: "Whether the mark's color should be used as fill color instead of stroke color.\n\n__Default value:__ `true` for all marks except `point` and `false` for `point`.\n\n__Applicable for:__ `bar`, `point`, `circle`, `square`, and `area` marks.\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config).", type: "boolean" }, font: { description: 'The typeface to set the text in (e.g., `"Helvetica Neue"`).', type: "string" }, fontSize: { description: "The font size, in pixels.", minimum: 0, type: "number" }, fontStyle: { $ref: "#/definitions/FontStyle", description: 'The font style (e.g., `"italic"`).' }, fontWeight: { $ref: "#/definitions/FontWeight", description: 'The font weight.\nThis can be either a string (e.g `"bold"`, `"normal"`) or a number (`100`, `200`, `300`, ..., `900` where `"normal"` = `400` and `"bold"` = `700`).' }, href: { description: "A URL to load upon mouse click. If defined, the mark acts as a hyperlink.", format: "uri", type: "string" }, interpolate: { $ref: "#/definitions/Interpolate", description: 'The line interpolation method to use for line and area marks. One of the following:\n- `"linear"`: piecewise linear segments, as in a polyline.\n- `"linear-closed"`: close the linear segments to form a polygon.\n- `"step"`: alternate between horizontal and vertical segments, as in a step function.\n- `"step-before"`: alternate between vertical and horizontal segments, as in a step function.\n- `"step-after"`: alternate between horizontal and vertical segments, as in a step function.\n- `"basis"`: a B-spline, with control point duplication on the ends.\n- `"basis-open"`: an open B-spline; may not intersect the start or end.\n- `"basis-closed"`: a closed B-spline, as in a loop.\n- `"cardinal"`: a Cardinal spline, with control point duplication on the ends.\n- `"cardinal-open"`: an open Cardinal spline; may not intersect the start or end, but will intersect other control points.\n- `"cardinal-closed"`: a closed Cardinal spline, as in a loop.\n- `"bundle"`: equivalent to basis, except the tension parameter is used to straighten the spline.\n- `"monotone"`: cubic interpolation that preserves monotonicity in y.' }, limit: { description: "The maximum length of the text mark in pixels (default 0, indicating no limit). The text value will be automatically truncated if the rendered size exceeds the limit.", type: "number" }, opacity: { description: "The overall opacity (value between [0,1]).\n\n__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or `square` marks or layered `bar` charts and `1` otherwise.", maximum: 1, minimum: 0, type: "number" }, orient: { $ref: "#/definitions/Orient", description: `The orientation of a non-stacked bar, tick, area, and line charts.
The value is either horizontal (default) or vertical.
- For bar, rule and tick, this determines whether the size of the bar and tick
should be applied to x or y dimension.
- For area, this property determines the orient property of the Vega output.
- For line and trail marks, this property determines the sort order of the points in the line
if \`config.sortLineBy\` is not specified.
For stacked charts, this is always determined by the orientation of the stack;
therefore explicitly specified value will be ignored.` }, radius: { description: "Polar coordinate radial offset, in pixels, of the text label from the origin determined by the `x` and `y` properties.", minimum: 0, type: "number" }, shape: { description: 'The default symbol shape to use. One of: `"circle"` (default), `"square"`, `"cross"`, `"diamond"`, `"triangle-up"`, or `"triangle-down"`, or a custom SVG path.\n\n__Default value:__ `"circle"`', type: "string" }, size: { description: `The pixel area each the point/circle/square.
For example: in the case of circles, the radius is determined in part by the square root of the size value.

__Default value:__ \`30\``, minimum: 0, type: "number" }, stroke: { description: "Default Stroke Color.  This has higher precedence than `config.color`\n\n__Default value:__ (None)", type: "string" }, strokeCap: { description: 'The stroke cap for line ending style. One of `"butt"`, `"round"`, or `"square"`.\n\n__Default value:__ `"square"`', enum: ["butt", "round", "square"], type: "string" }, strokeDash: { description: "An array of alternating stroke, space lengths for creating dashed or dotted lines.", items: { type: "number" }, type: "array" }, strokeDashOffset: { description: "The offset (in pixels) into which to begin drawing with the stroke dash array.", type: "number" }, strokeOpacity: { description: "The stroke opacity (value between [0,1]).\n\n__Default value:__ `1`", maximum: 1, minimum: 0, type: "number" }, strokeWidth: { description: "The stroke width, in pixels.", minimum: 0, type: "number" }, tension: { description: "Depending on the interpolation type, sets the tension parameter (for line and area marks).", maximum: 1, minimum: 0, type: "number" }, text: { description: "Placeholder text if the `text` channel is not specified", type: "string" }, theta: { description: 'Polar coordinate angle, in radians, of the text label from the origin determined by the `x` and `y` properties. Values for `theta` follow the same convention of `arc` mark `startAngle` and `endAngle` properties: angles are measured in radians, with `0` indicating "north".', type: "number" } }, type: "object" }, BasicType: { enum: ["quantitative", "ordinal", "temporal", "nominal"], type: "string" }, BinParams: { additionalProperties: !1, description: "Binning properties or boolean flag for determining whether to bin data or not.", properties: { base: { description: "The number base to use for automatic bin determination (default is base 10).\n\n__Default value:__ `10`", type: "number" }, divide: { description: "Scale factors indicating allowable subdivisions. The default value is [5, 2], which indicates that for base 10 numbers (the default base), the method may consider dividing bin sizes by 5 and/or 2. For example, for an initial step size of 10, the method can check if bin sizes of 2 (= 10/5), 5 (= 10/2), or 1 (= 10/(5*2)) might also satisfy the given constraints.\n\n__Default value:__ `[5, 2]`", items: { type: "number" }, minItems: 1, type: "array" }, extent: { description: "A two-element (`[min, max]`) array indicating the range of desired bin values.", items: { type: "number" }, maxItems: 2, minItems: 2, type: "array" }, maxbins: { description: "Maximum number of bins.\n\n__Default value:__ `6` for `row`, `column` and `shape` channels; `10` for other channels", minimum: 2, type: "number" }, minstep: { description: "A minimum allowable step size (particularly useful for integer values).", type: "number" }, nice: { description: "If true (the default), attempts to make the bin boundaries use human-friendly boundaries, such as multiples of ten.", type: "boolean" }, step: { description: `An exact step size to use between bins.

__Note:__ If provided, options such as maxbins will be ignored.`, type: "number" }, steps: { description: "An array of allowable step sizes to choose from.", items: { type: "number" }, minItems: 1, type: "array" } }, type: "object" }, BinTransform: { additionalProperties: !1, properties: { as: { description: "The output fields at which to write the start and end bin values.", type: "string" }, bin: { anyOf: [{ type: "boolean" }, { $ref: "#/definitions/BinParams" }], description: "An object indicating bin properties, or simply `true` for using default bin parameters." }, field: { description: "The data field to bin.", type: "string" } }, required: ["bin", "field", "as"], type: "object" }, BrushConfig: { additionalProperties: !1, properties: { fill: { description: "The fill color of the interval mark.\n\n__Default value:__ `#333333`", type: "string" }, fillOpacity: { description: "The fill opacity of the interval mark (a value between 0 and 1).\n\n__Default value:__ `0.125`", type: "number" }, stroke: { description: "The stroke color of the interval mark.\n\n__Default value:__ `#ffffff`", type: "string" }, strokeDash: { description: `An array of alternating stroke and space lengths,
for creating dashed or dotted lines.`, items: { type: "number" }, type: "array" }, strokeDashOffset: { description: "The offset (in pixels) with which to begin drawing the stroke dash array.", type: "number" }, strokeOpacity: { description: "The stroke opacity of the interval mark (a value between 0 and 1).", type: "number" }, strokeWidth: { description: "The stroke width of the interval mark.", type: "number" } }, type: "object" }, CalculateTransform: { additionalProperties: !1, properties: { as: { description: "The field for storing the computed formula value.", type: "string" }, calculate: { description: "A [expression](https://vega.github.io/vega-lite/docs/types.html#expression) string. Use the variable `datum` to refer to the current data object.", type: "string" } }, required: ["calculate", "as"], type: "object" }, CompositeUnitSpec: { $ref: "#/definitions/CompositeUnitSpecAlias", description: "Unit spec that can have a composite mark." }, ConditionalFieldDef: { anyOf: [{ $ref: "#/definitions/ConditionalPredicate<FieldDef>" }, { $ref: "#/definitions/ConditionalSelection<FieldDef>" }] }, ConditionalMarkPropFieldDef: { anyOf: [{ $ref: "#/definitions/ConditionalPredicate<MarkPropFieldDef>" }, { $ref: "#/definitions/ConditionalSelection<MarkPropFieldDef>" }] }, ConditionalTextFieldDef: { anyOf: [{ $ref: "#/definitions/ConditionalPredicate<TextFieldDef>" }, { $ref: "#/definitions/ConditionalSelection<TextFieldDef>" }] }, ConditionalValueDef: { anyOf: [{ $ref: "#/definitions/ConditionalPredicate<ValueDef>" }, { $ref: "#/definitions/ConditionalSelection<ValueDef>" }] }, "ConditionalPredicate<FieldDef>": { additionalProperties: !1, properties: { aggregate: { $ref: "#/definitions/Aggregate", description: "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" }, bin: { anyOf: [{ type: "boolean" }, { $ref: "#/definitions/BinParams" }], description: "A flag for binning a `quantitative` field, or [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params).\nIf `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n__Default value:__ `false`" }, field: { anyOf: [{ type: "string" }, { $ref: "#/definitions/RepeatRef" }], description: '__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `"field": "foo.bar"` and `"field": "foo[\'bar\']"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `"a\\\\.b"` and `"a\\\\[0\\\\]"`).\nSee more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`.' }, test: { $ref: "#/definitions/LogicalOperand<Predicate>" }, timeUnit: { $ref: "#/definitions/TimeUnit", description: "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)" }, title: { description: 'A title for the field. If `null`, the title will be removed.\n\n__Default value:__  derived from the field\'s name and transformation function (`aggregate`, `bin` and `timeUnit`).  If the field has an aggregate function, the function is displayed as part of the title (e.g., `"Sum of Profit"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `"Profit (binned)"`, `"Transaction Date (year-month)"`).  Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle` property in the [config](config.html) or [`fieldTitle` function via the `compile` function\'s options](compile.html#field-title).\n\n2) If both field definition\'s `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used.', type: ["string", "null"] }, type: { $ref: "#/definitions/Type", description: 'The encoded field\'s type of measurement (`"quantitative"`, `"temporal"`, `"ordinal"`, or `"nominal"`).\nIt can also be a `"geojson"` type for encoding [\'geoshape\'](geoshape.html).' } }, required: ["test", "type"], type: "object" }, "ConditionalPredicate<MarkPropFieldDef>": { additionalProperties: !1, properties: { aggregate: { $ref: "#/definitions/Aggregate", description: "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" }, bin: { anyOf: [{ type: "boolean" }, { $ref: "#/definitions/BinParams" }], description: "A flag for binning a `quantitative` field, or [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params).\nIf `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n__Default value:__ `false`" }, field: { anyOf: [{ type: "string" }, { $ref: "#/definitions/RepeatRef" }], description: '__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `"field": "foo.bar"` and `"field": "foo[\'bar\']"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `"a\\\\.b"` and `"a\\\\[0\\\\]"`).\nSee more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`.' }, legend: { anyOf: [{ $ref: "#/definitions/Legend" }, { type: "null" }], description: `An object defining properties of the legend.
If \`null\`, the legend for the encoding channel will be removed.

__Default value:__ If undefined, default [legend properties](https://vega.github.io/vega-lite/docs/legend.html) are applied.` }, scale: { anyOf: [{ $ref: "#/definitions/Scale" }, { type: "null" }], description: `An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.

If \`null\`, the scale will be [disabled and the data value will be directly encoded](https://vega.github.io/vega-lite/docs/scale.html#disable).

__Default value:__ If undefined, default [scale properties](https://vega.github.io/vega-lite/docs/scale.html) are applied.` }, sort: { anyOf: [{ items: { type: "string" }, type: "array" }, { $ref: "#/definitions/SortOrder" }, { $ref: "#/definitions/SortField" }, { type: "null" }], description: 'Sort order for the encoded field.\nSupported `sort` values include `"ascending"`, `"descending"`, `null` (no sorting), or an array specifying the preferred order of values.\nFor fields with discrete domains, `sort` can also be a [sort field definition object](https://vega.github.io/vega-lite/docs/sort.html#sort-field).\nFor `sort` as an [array specifying the preferred order of values](https://vega.github.io/vega-lite/docs/sort.html#sort-array), the sort order will obey the values in the array, followed by any unspecified values in their original order.\n\n__Default value:__ `"ascending"`' }, test: { $ref: "#/definitions/LogicalOperand<Predicate>" }, timeUnit: { $ref: "#/definitions/TimeUnit", description: "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)" }, title: { description: 'A title for the field. If `null`, the title will be removed.\n\n__Default value:__  derived from the field\'s name and transformation function (`aggregate`, `bin` and `timeUnit`).  If the field has an aggregate function, the function is displayed as part of the title (e.g., `"Sum of Profit"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `"Profit (binned)"`, `"Transaction Date (year-month)"`).  Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle` property in the [config](config.html) or [`fieldTitle` function via the `compile` function\'s options](compile.html#field-title).\n\n2) If both field definition\'s `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used.', type: ["string", "null"] }, type: { $ref: "#/definitions/Type", description: 'The encoded field\'s type of measurement (`"quantitative"`, `"temporal"`, `"ordinal"`, or `"nominal"`).\nIt can also be a `"geojson"` type for encoding [\'geoshape\'](geoshape.html).' } }, required: ["test", "type"], type: "object" }, "ConditionalPredicate<TextFieldDef>": { additionalProperties: !1, properties: { aggregate: { $ref: "#/definitions/Aggregate", description: "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" }, bin: { anyOf: [{ type: "boolean" }, { $ref: "#/definitions/BinParams" }], description: "A flag for binning a `quantitative` field, or [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params).\nIf `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n__Default value:__ `false`" }, field: { anyOf: [{ type: "string" }, { $ref: "#/definitions/RepeatRef" }], description: '__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `"field": "foo.bar"` and `"field": "foo[\'bar\']"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `"a\\\\.b"` and `"a\\\\[0\\\\]"`).\nSee more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`.' }, format: { description: "The [formatting pattern](https://vega.github.io/vega-lite/docs/format.html) for a text field. If not defined, this will be determined automatically.", type: "string" }, test: { $ref: "#/definitions/LogicalOperand<Predicate>" }, timeUnit: { $ref: "#/definitions/TimeUnit", description: "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)" }, title: { description: 'A title for the field. If `null`, the title will be removed.\n\n__Default value:__  derived from the field\'s name and transformation function (`aggregate`, `bin` and `timeUnit`).  If the field has an aggregate function, the function is displayed as part of the title (e.g., `"Sum of Profit"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `"Profit (binned)"`, `"Transaction Date (year-month)"`).  Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle` property in the [config](config.html) or [`fieldTitle` function via the `compile` function\'s options](compile.html#field-title).\n\n2) If both field definition\'s `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used.', type: ["string", "null"] }, type: { $ref: "#/definitions/Type", description: 'The encoded field\'s type of measurement (`"quantitative"`, `"temporal"`, `"ordinal"`, or `"nominal"`).\nIt can also be a `"geojson"` type for encoding [\'geoshape\'](geoshape.html).' } }, required: ["test", "type"], type: "object" }, "ConditionalPredicate<ValueDef>": { additionalProperties: !1, properties: { test: { $ref: "#/definitions/LogicalOperand<Predicate>" }, value: { description: 'A constant value in visual domain (e.g., `"red"` / "#0099ff" for color, values between `0` to `1` for opacity).', type: ["number", "string", "boolean"] } }, required: ["test", "value"], type: "object" }, "ConditionalSelection<FieldDef>": { additionalProperties: !1, properties: { aggregate: { $ref: "#/definitions/Aggregate", description: "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" }, bin: { anyOf: [{ type: "boolean" }, { $ref: "#/definitions/BinParams" }], description: "A flag for binning a `quantitative` field, or [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params).\nIf `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n__Default value:__ `false`" }, field: { anyOf: [{ type: "string" }, { $ref: "#/definitions/RepeatRef" }], description: '__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `"field": "foo.bar"` and `"field": "foo[\'bar\']"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `"a\\\\.b"` and `"a\\\\[0\\\\]"`).\nSee more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`.' }, selection: { $ref: "#/definitions/SelectionOperand", description: "A [selection name](https://vega.github.io/vega-lite/docs/selection.html), or a series of [composed selections](https://vega.github.io/vega-lite/docs/selection.html#compose)." }, timeUnit: { $ref: "#/definitions/TimeUnit", description: "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)" }, title: { description: 'A title for the field. If `null`, the title will be removed.\n\n__Default value:__  derived from the field\'s name and transformation function (`aggregate`, `bin` and `timeUnit`).  If the field has an aggregate function, the function is displayed as part of the title (e.g., `"Sum of Profit"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `"Profit (binned)"`, `"Transaction Date (year-month)"`).  Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle` property in the [config](config.html) or [`fieldTitle` function via the `compile` function\'s options](compile.html#field-title).\n\n2) If both field definition\'s `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used.', type: ["string", "null"] }, type: { $ref: "#/definitions/Type", description: 'The encoded field\'s type of measurement (`"quantitative"`, `"temporal"`, `"ordinal"`, or `"nominal"`).\nIt can also be a `"geojson"` type for encoding [\'geoshape\'](geoshape.html).' } }, required: ["selection", "type"], type: "object" }, "ConditionalSelection<MarkPropFieldDef>": { additionalProperties: !1, properties: { aggregate: { $ref: "#/definitions/Aggregate", description: "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" }, bin: { anyOf: [{ type: "boolean" }, { $ref: "#/definitions/BinParams" }], description: "A flag for binning a `quantitative` field, or [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params).\nIf `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n__Default value:__ `false`" }, field: { anyOf: [{ type: "string" }, { $ref: "#/definitions/RepeatRef" }], description: '__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `"field": "foo.bar"` and `"field": "foo[\'bar\']"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `"a\\\\.b"` and `"a\\\\[0\\\\]"`).\nSee more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`.' }, legend: { anyOf: [{ $ref: "#/definitions/Legend" }, { type: "null" }], description: `An object defining properties of the legend.
If \`null\`, the legend for the encoding channel will be removed.

__Default value:__ If undefined, default [legend properties](https://vega.github.io/vega-lite/docs/legend.html) are applied.` }, scale: { anyOf: [{ $ref: "#/definitions/Scale" }, { type: "null" }], description: `An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.

If \`null\`, the scale will be [disabled and the data value will be directly encoded](https://vega.github.io/vega-lite/docs/scale.html#disable).

__Default value:__ If undefined, default [scale properties](https://vega.github.io/vega-lite/docs/scale.html) are applied.` }, selection: { $ref: "#/definitions/SelectionOperand", description: "A [selection name](https://vega.github.io/vega-lite/docs/selection.html), or a series of [composed selections](https://vega.github.io/vega-lite/docs/selection.html#compose)." }, sort: { anyOf: [{ items: { type: "string" }, type: "array" }, { $ref: "#/definitions/SortOrder" }, { $ref: "#/definitions/SortField" }, { type: "null" }], description: 'Sort order for the encoded field.\nSupported `sort` values include `"ascending"`, `"descending"`, `null` (no sorting), or an array specifying the preferred order of values.\nFor fields with discrete domains, `sort` can also be a [sort field definition object](https://vega.github.io/vega-lite/docs/sort.html#sort-field).\nFor `sort` as an [array specifying the preferred order of values](https://vega.github.io/vega-lite/docs/sort.html#sort-array), the sort order will obey the values in the array, followed by any unspecified values in their original order.\n\n__Default value:__ `"ascending"`' }, timeUnit: { $ref: "#/definitions/TimeUnit", description: "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)" }, title: { description: 'A title for the field. If `null`, the title will be removed.\n\n__Default value:__  derived from the field\'s name and transformation function (`aggregate`, `bin` and `timeUnit`).  If the field has an aggregate function, the function is displayed as part of the title (e.g., `"Sum of Profit"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `"Profit (binned)"`, `"Transaction Date (year-month)"`).  Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle` property in the [config](config.html) or [`fieldTitle` function via the `compile` function\'s options](compile.html#field-title).\n\n2) If both field definition\'s `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used.', type: ["string", "null"] }, type: { $ref: "#/definitions/Type", description: 'The encoded field\'s type of measurement (`"quantitative"`, `"temporal"`, `"ordinal"`, or `"nominal"`).\nIt can also be a `"geojson"` type for encoding [\'geoshape\'](geoshape.html).' } }, required: ["selection", "type"], type: "object" }, "ConditionalSelection<TextFieldDef>": { additionalProperties: !1, properties: { aggregate: { $ref: "#/definitions/Aggregate", description: "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" }, bin: { anyOf: [{ type: "boolean" }, { $ref: "#/definitions/BinParams" }], description: "A flag for binning a `quantitative` field, or [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params).\nIf `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n__Default value:__ `false`" }, field: { anyOf: [{ type: "string" }, { $ref: "#/definitions/RepeatRef" }], description: '__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `"field": "foo.bar"` and `"field": "foo[\'bar\']"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `"a\\\\.b"` and `"a\\\\[0\\\\]"`).\nSee more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`.' }, format: { description: "The [formatting pattern](https://vega.github.io/vega-lite/docs/format.html) for a text field. If not defined, this will be determined automatically.", type: "string" }, selection: { $ref: "#/definitions/SelectionOperand", description: "A [selection name](https://vega.github.io/vega-lite/docs/selection.html), or a series of [composed selections](https://vega.github.io/vega-lite/docs/selection.html#compose)." }, timeUnit: { $ref: "#/definitions/TimeUnit", description: "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)" }, title: { description: 'A title for the field. If `null`, the title will be removed.\n\n__Default value:__  derived from the field\'s name and transformation function (`aggregate`, `bin` and `timeUnit`).  If the field has an aggregate function, the function is displayed as part of the title (e.g., `"Sum of Profit"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `"Profit (binned)"`, `"Transaction Date (year-month)"`).  Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle` property in the [config](config.html) or [`fieldTitle` function via the `compile` function\'s options](compile.html#field-title).\n\n2) If both field definition\'s `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used.', type: ["string", "null"] }, type: { $ref: "#/definitions/Type", description: 'The encoded field\'s type of measurement (`"quantitative"`, `"temporal"`, `"ordinal"`, or `"nominal"`).\nIt can also be a `"geojson"` type for encoding [\'geoshape\'](geoshape.html).' } }, required: ["selection", "type"], type: "object" }, "ConditionalSelection<ValueDef>": { additionalProperties: !1, properties: { selection: { $ref: "#/definitions/SelectionOperand", description: "A [selection name](https://vega.github.io/vega-lite/docs/selection.html), or a series of [composed selections](https://vega.github.io/vega-lite/docs/selection.html#compose)." }, value: { description: 'A constant value in visual domain (e.g., `"red"` / "#0099ff" for color, values between `0` to `1` for opacity).', type: ["number", "string", "boolean"] } }, required: ["selection", "value"], type: "object" }, Config: { additionalProperties: !1, properties: { area: { $ref: "#/definitions/AreaConfig", description: "Area-Specific Config " }, autosize: { anyOf: [{ $ref: "#/definitions/AutosizeType" }, { $ref: "#/definitions/AutoSizeParams" }], description: 'Sets how the visualization size should be determined. If a string, should be one of `"pad"`, `"fit"` or `"none"`.\nObject values can additionally specify parameters for content sizing and automatic resizing.\n`"fit"` is only supported for single and layered views that don\'t use `rangeStep`.\n\n__Default value__: `pad`' }, axis: { $ref: "#/definitions/AxisConfig", description: "Axis configuration, which determines default properties for all `x` and `y` [axes](axis.html). For a full list of axis configuration options, please see the [corresponding section of the axis documentation](axis.html#config)." }, axisBand: { $ref: "#/definitions/VgAxisConfig", description: 'Specific axis config for axes with "band" scales.' }, axisBottom: { $ref: "#/definitions/VgAxisConfig", description: "Specific axis config for x-axis along the bottom edge of the chart." }, axisLeft: { $ref: "#/definitions/VgAxisConfig", description: "Specific axis config for y-axis along the left edge of the chart." }, axisRight: { $ref: "#/definitions/VgAxisConfig", description: "Specific axis config for y-axis along the right edge of the chart." }, axisTop: { $ref: "#/definitions/VgAxisConfig", description: "Specific axis config for x-axis along the top edge of the chart." }, axisX: { $ref: "#/definitions/VgAxisConfig", description: "X-axis specific config." }, axisY: { $ref: "#/definitions/VgAxisConfig", description: "Y-axis specific config." }, background: { description: `CSS color property to use as the background of visualization.

__Default value:__ none (transparent)`, type: "string" }, bar: { $ref: "#/definitions/BarConfig", description: "Bar-Specific Config " }, circle: { $ref: "#/definitions/MarkConfig", description: "Circle-Specific Config " }, countTitle: { description: "Default axis and legend title for count fields.\n\n__Default value:__ `'Number of Records'`.", type: "string" }, datasets: { $ref: "#/definitions/Datasets", description: "A global data store for named datasets. This is a mapping from names to inline datasets.\nThis can be an array of objects or primitive values or a string. Arrays of primitive values are ingested as objects with a `data` property." }, fieldTitle: { description: 'Defines how Vega-Lite generates title for fields.  There are three possible styles:\n- `"verbal"` (Default) - displays function in a verbal style (e.g., "Sum of field", "Year-month of date", "field (binned)").\n- `"function"` - displays function using parentheses and capitalized texts (e.g., "SUM(field)", "YEARMONTH(date)", "BIN(field)").\n- `"plain"` - displays only the field name without functions (e.g., "field", "date", "field").', enum: ["verbal", "functional", "plain"], type: "string" }, geoshape: { $ref: "#/definitions/MarkConfig", description: "Geoshape-Specific Config " }, invalidValues: { description: 'Defines how Vega-Lite should handle invalid values (`null` and `NaN`).\n- If set to `"filter"` (default), all data items with null values will be skipped (for line, trail, and area marks) or filtered (for other marks).\n- If `null`, all data items are included. In this case, invalid values will be interpreted as zeroes.', enum: ["filter", null], type: ["string", "null"] }, legend: { $ref: "#/definitions/LegendConfig", description: "Legend configuration, which determines default properties for all [legends](legend.html). For a full list of legend configuration options, please see the [corresponding section of in the legend documentation](legend.html#config)." }, line: { $ref: "#/definitions/LineConfig", description: "Line-Specific Config " }, mark: { $ref: "#/definitions/MarkConfig", description: "Mark Config " }, numberFormat: { description: `D3 Number format for axis labels and text tables. For example "s" for SI units. Use [D3's number format pattern](https://github.com/d3/d3-format#locale_format).`, type: "string" }, padding: { $ref: "#/definitions/Padding", description: 'The default visualization padding, in pixels, from the edge of the visualization canvas to the data rectangle.  If a number, specifies padding for all sides.\nIf an object, the value should have the format `{"left": 5, "top": 5, "right": 5, "bottom": 5}` to specify padding for each side of the visualization.\n\n__Default value__: `5`' }, point: { $ref: "#/definitions/MarkConfig", description: "Point-Specific Config " }, projection: { $ref: "#/definitions/ProjectionConfig", description: "Projection configuration, which determines default properties for all [projections](projection.html). For a full list of projection configuration options, please see the [corresponding section of the projection documentation](projection.html#config)." }, range: { $ref: "#/definitions/RangeConfig", description: `An object hash that defines default range arrays or schemes for using with scales.
For a full list of scale range configuration options, please see the [corresponding section of the scale documentation](scale.html#config).` }, rect: { $ref: "#/definitions/MarkConfig", description: "Rect-Specific Config " }, rule: { $ref: "#/definitions/MarkConfig", description: "Rule-Specific Config " }, scale: { $ref: "#/definitions/ScaleConfig", description: "Scale configuration determines default properties for all [scales](scale.html). For a full list of scale configuration options, please see the [corresponding section of the scale documentation](scale.html#config)." }, selection: { $ref: "#/definitions/SelectionConfig", description: "An object hash for defining default properties for each type of selections. " }, square: { $ref: "#/definitions/MarkConfig", description: "Square-Specific Config " }, stack: { $ref: "#/definitions/StackOffset", description: "Default stack offset for stackable mark. " }, style: { $ref: "#/definitions/StyleConfigIndex", description: "An object hash that defines key-value mappings to determine default properties for marks with a given [style](mark.html#mark-def).  The keys represent styles names; the values have to be valid [mark configuration objects](mark.html#config).  " }, text: { $ref: "#/definitions/TextConfig", description: "Text-Specific Config " }, tick: { $ref: "#/definitions/TickConfig", description: "Tick-Specific Config " }, timeFormat: { description: "Default datetime format for axis and legend labels. The format can be set directly on each axis and legend. Use [D3's time format pattern](https://github.com/d3/d3-time-format#locale_format).\n\n__Default value:__ `'%b %d, %Y'`.", type: "string" }, title: { $ref: "#/definitions/VgTitleConfig", description: "Title configuration, which determines default properties for all [titles](title.html). For a full list of title configuration options, please see the [corresponding section of the title documentation](title.html#config)." }, trail: { $ref: "#/definitions/LineConfig", description: "Trail-Specific Config " }, view: { $ref: "#/definitions/ViewConfig", description: "Default properties for [single view plots](spec.html#single). " } }, type: "object" }, CsvDataFormat: { additionalProperties: !1, properties: { parse: { anyOf: [{ enum: ["auto"], type: "string" }, { type: "object" }], description: 'If set to auto (the default), perform automatic type inference to determine the desired data types.\nAlternatively, a parsing directive object can be provided for explicit data types. Each property of the object corresponds to a field name, and the value to the desired data type (one of `"number"`, `"boolean"` or `"date"`).\nFor example, `"parse": {"modified_on": "date"}` parses the `modified_on` field in each input record a Date value.\n\nFor `"date"`, we parse data based using Javascript\'s [`Date.parse()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).\nFor Specific date formats can be provided (e.g., `{foo: \'date:"%m%d%Y"\'}`), using the [d3-time-format syntax](https://github.com/d3/d3-time-format#locale_format). UTC date format parsing is supported similarly (e.g., `{foo: \'utc:"%m%d%Y"\'}`). See more about [UTC time](timeunit.html#utc)' }, type: { description: 'Type of input data: `"json"`, `"csv"`, `"tsv"`.\nThe default format type is determined by the extension of the file URL.\nIf no extension is detected, `"json"` will be used by default.', enum: ["csv", "tsv"], type: "string" } }, type: "object" }, Data: { anyOf: [{ $ref: "#/definitions/UrlData" }, { $ref: "#/definitions/InlineData" }, { $ref: "#/definitions/NamedData" }] }, DataFormat: { anyOf: [{ $ref: "#/definitions/CsvDataFormat" }, { $ref: "#/definitions/JsonDataFormat" }, { $ref: "#/definitions/TopoDataFormat" }] }, Datasets: { $ref: "#/definitions/Dict<InlineDataset>" }, DateTime: { additionalProperties: !1, description: `Object for defining datetime in Vega-Lite Filter.
If both month and quarter are provided, month has higher precedence.
\`day\` cannot be combined with other date.
We accept string for month and day names.`, properties: { date: { description: "Integer value representing the date from 1-31.", maximum: 31, minimum: 1, type: "number" }, day: { anyOf: [{ $ref: "#/definitions/Day" }, { type: "string" }], description: 'Value representing the day of a week.  This can be one of: (1) integer value -- `1` represents Monday; (2) case-insensitive day name (e.g., `"Monday"`);  (3) case-insensitive, 3-character short day name (e.g., `"Mon"`).   <br/> **Warning:** A DateTime definition object with `day`** should not be combined with `year`, `quarter`, `month`, or `date`.' }, hours: { description: "Integer value representing the hour of a day from 0-23.", maximum: 23, minimum: 0, type: "number" }, milliseconds: { description: "Integer value representing the millisecond segment of time.", maximum: 999, minimum: 0, type: "number" }, minutes: { description: "Integer value representing the minute segment of time from 0-59.", maximum: 59, minimum: 0, type: "number" }, month: { anyOf: [{ $ref: "#/definitions/Month" }, { type: "string" }], description: 'One of: (1) integer value representing the month from `1`-`12`. `1` represents January;  (2) case-insensitive month name (e.g., `"January"`);  (3) case-insensitive, 3-character short month name (e.g., `"Jan"`). ' }, quarter: { description: "Integer value representing the quarter of the year (from 1-4).", maximum: 4, minimum: 1, type: "number" }, seconds: { description: "Integer value representing the second segment (0-59) of a time value", maximum: 59, minimum: 0, type: "number" }, utc: { description: "A boolean flag indicating if date time is in utc time. If false, the date time is in local time", type: "boolean" }, year: { description: "Integer value representing the year.", type: "number" } }, type: "object" }, Day: { maximum: 7, minimum: 1, type: "number" }, "Dict<InlineDataset>": { additionalProperties: { $ref: "#/definitions/InlineDataset" }, type: "object" }, Encoding: { additionalProperties: !1, properties: { color: { anyOf: [{ $ref: "#/definitions/MarkPropFieldDefWithCondition" }, { $ref: "#/definitions/MarkPropValueDefWithCondition" }], description: 'Color of the marks – either fill or stroke color based on  the `filled` property of mark definition.\nBy default, `color` represents fill color for `"area"`, `"bar"`, `"tick"`,\n`"text"`, `"trail"`, `"circle"`, and `"square"` / stroke color for `"line"` and `"point"`.\n\n__Default value:__ If undefined, the default color depends on [mark config](config.html#mark)\'s `color` property.\n\n_Note:_\n1) For fine-grained control over both fill and stroke colors of the marks, please use the `fill` and `stroke` channels.  If either `fill` or `stroke` channel is specified, `color` channel will be ignored.\n2) See the scale documentation for more information about customizing [color scheme](scale.html#scheme).' }, detail: { anyOf: [{ $ref: "#/definitions/FieldDef" }, { items: { $ref: "#/definitions/FieldDef" }, type: "array" }], description: `Additional levels of detail for grouping data in aggregate views and
in line, trail, and area marks without mapping data to a specific visual channel.` }, fill: { anyOf: [{ $ref: "#/definitions/MarkPropFieldDefWithCondition" }, { $ref: "#/definitions/MarkPropValueDefWithCondition" }], description: "Fill color of the marks.\n__Default value:__ If undefined, the default color depends on [mark config](config.html#mark)'s `color` property.\n\n_Note:_ When using `fill` channel, `color ` channel will be ignored. To customize both fill and stroke, please use `fill` and `stroke` channels (not `fill` and `color`)." }, href: { anyOf: [{ $ref: "#/definitions/FieldDefWithCondition" }, { $ref: "#/definitions/ValueDefWithCondition" }], description: "A URL to load upon mouse click." }, key: { $ref: "#/definitions/FieldDef", description: "A data field to use as a unique key for data binding. When a visualization’s data is updated, the key value will be used to match data elements to existing mark instances. Use a key channel to enable object constancy for transitions over dynamic data." }, latitude: { $ref: "#/definitions/FieldDef", description: "Latitude position of geographically projected marks." }, latitude2: { $ref: "#/definitions/FieldDef", description: 'Latitude-2 position for geographically projected ranged `"area"`, `"bar"`, `"rect"`, and  `"rule"`.' }, longitude: { $ref: "#/definitions/FieldDef", description: "Longitude position of geographically projected marks." }, longitude2: { $ref: "#/definitions/FieldDef", description: 'Longitude-2 position for geographically projected ranged `"area"`, `"bar"`, `"rect"`, and  `"rule"`.' }, opacity: { anyOf: [{ $ref: "#/definitions/MarkPropFieldDefWithCondition" }, { $ref: "#/definitions/MarkPropValueDefWithCondition" }], description: "Opacity of the marks – either can be a value or a range.\n\n__Default value:__ If undefined, the default opacity depends on [mark config](config.html#mark)'s `opacity` property." }, order: { anyOf: [{ $ref: "#/definitions/OrderFieldDef" }, { items: { $ref: "#/definitions/OrderFieldDef" }, type: "array" }], description: "Order of the marks.\n- For stacked marks, this `order` channel encodes [stack order](https://vega.github.io/vega-lite/docs/stack.html#order).\n- For line and trail marks, this `order` channel encodes order of data points in the lines. This can be useful for creating [a connected scatterplot](https://vega.github.io/vega-lite/examples/connected_scatterplot.html).\n- Otherwise, this `order` channel encodes layer order of the marks.\n\n__Note__: In aggregate plots, `order` field should be `aggregate`d to avoid creating additional aggregation grouping." }, shape: { anyOf: [{ $ref: "#/definitions/MarkPropFieldDefWithCondition" }, { $ref: "#/definitions/MarkPropValueDefWithCondition" }], description: 'For `point` marks the supported values are\n`"circle"` (default), `"square"`, `"cross"`, `"diamond"`, `"triangle-up"`,\nor `"triangle-down"`, or else a custom SVG path string.\nFor `geoshape` marks it should be a field definition of the geojson data\n\n__Default value:__ If undefined, the default shape depends on [mark config](config.html#point-config)\'s `shape` property.' }, size: { anyOf: [{ $ref: "#/definitions/MarkPropFieldDefWithCondition" }, { $ref: "#/definitions/MarkPropValueDefWithCondition" }], description: 'Size of the mark.\n- For `"point"`, `"square"` and `"circle"`, – the symbol size, or pixel area of the mark.\n- For `"bar"` and `"tick"` – the bar and tick\'s size.\n- For `"text"` – the text\'s font size.\n- Size is unsupported for `"line"`, `"area"`, and `"rect"`. (Use `"trail"` instead of line with varying size)' }, stroke: { anyOf: [{ $ref: "#/definitions/MarkPropFieldDefWithCondition" }, { $ref: "#/definitions/MarkPropValueDefWithCondition" }], description: "Stroke color of the marks.\n__Default value:__ If undefined, the default color depends on [mark config](config.html#mark)'s `color` property.\n\n_Note:_ When using `stroke` channel, `color ` channel will be ignored. To customize both stroke and fill, please use `stroke` and `fill` channels (not `stroke` and `color`)." }, text: { anyOf: [{ $ref: "#/definitions/TextFieldDefWithCondition" }, { $ref: "#/definitions/TextValueDefWithCondition" }], description: "Text of the `text` mark." }, tooltip: { anyOf: [{ $ref: "#/definitions/TextFieldDefWithCondition" }, { $ref: "#/definitions/TextValueDefWithCondition" }, { items: { $ref: "#/definitions/TextFieldDef" }, type: "array" }], description: "The tooltip text to show upon mouse hover." }, x: { anyOf: [{ $ref: "#/definitions/PositionFieldDef" }, { $ref: "#/definitions/ValueDef" }], description: 'X coordinates of the marks, or width of horizontal `"bar"` and `"area"`.' }, x2: { anyOf: [{ $ref: "#/definitions/FieldDef" }, { $ref: "#/definitions/ValueDef" }], description: 'X2 coordinates for ranged `"area"`, `"bar"`, `"rect"`, and  `"rule"`.' }, y: { anyOf: [{ $ref: "#/definitions/PositionFieldDef" }, { $ref: "#/definitions/ValueDef" }], description: 'Y coordinates of the marks, or height of vertical `"bar"` and `"area"`.' }, y2: { anyOf: [{ $ref: "#/definitions/FieldDef" }, { $ref: "#/definitions/ValueDef" }], description: 'Y2 coordinates for ranged `"area"`, `"bar"`, `"rect"`, and  `"rule"`.' } }, type: "object" }, EncodingWithFacet: { additionalProperties: !1, properties: { color: { anyOf: [{ $ref: "#/definitions/MarkPropFieldDefWithCondition" }, { $ref: "#/definitions/MarkPropValueDefWithCondition" }], description: 'Color of the marks – either fill or stroke color based on  the `filled` property of mark definition.\nBy default, `color` represents fill color for `"area"`, `"bar"`, `"tick"`,\n`"text"`, `"trail"`, `"circle"`, and `"square"` / stroke color for `"line"` and `"point"`.\n\n__Default value:__ If undefined, the default color depends on [mark config](config.html#mark)\'s `color` property.\n\n_Note:_\n1) For fine-grained control over both fill and stroke colors of the marks, please use the `fill` and `stroke` channels.  If either `fill` or `stroke` channel is specified, `color` channel will be ignored.\n2) See the scale documentation for more information about customizing [color scheme](scale.html#scheme).' }, column: { $ref: "#/definitions/FacetFieldDef", description: "Horizontal facets for trellis plots." }, detail: { anyOf: [{ $ref: "#/definitions/FieldDef" }, { items: { $ref: "#/definitions/FieldDef" }, type: "array" }], description: `Additional levels of detail for grouping data in aggregate views and
in line, trail, and area marks without mapping data to a specific visual channel.` }, fill: { anyOf: [{ $ref: "#/definitions/MarkPropFieldDefWithCondition" }, { $ref: "#/definitions/MarkPropValueDefWithCondition" }], description: "Fill color of the marks.\n__Default value:__ If undefined, the default color depends on [mark config](config.html#mark)'s `color` property.\n\n_Note:_ When using `fill` channel, `color ` channel will be ignored. To customize both fill and stroke, please use `fill` and `stroke` channels (not `fill` and `color`)." }, href: { anyOf: [{ $ref: "#/definitions/FieldDefWithCondition" }, { $ref: "#/definitions/ValueDefWithCondition" }], description: "A URL to load upon mouse click." }, key: { $ref: "#/definitions/FieldDef", description: "A data field to use as a unique key for data binding. When a visualization’s data is updated, the key value will be used to match data elements to existing mark instances. Use a key channel to enable object constancy for transitions over dynamic data." }, latitude: { $ref: "#/definitions/FieldDef", description: "Latitude position of geographically projected marks." }, latitude2: { $ref: "#/definitions/FieldDef", description: 'Latitude-2 position for geographically projected ranged `"area"`, `"bar"`, `"rect"`, and  `"rule"`.' }, longitude: { $ref: "#/definitions/FieldDef", description: "Longitude position of geographically projected marks." }, longitude2: { $ref: "#/definitions/FieldDef", description: 'Longitude-2 position for geographically projected ranged `"area"`, `"bar"`, `"rect"`, and  `"rule"`.' }, opacity: { anyOf: [{ $ref: "#/definitions/MarkPropFieldDefWithCondition" }, { $ref: "#/definitions/MarkPropValueDefWithCondition" }], description: "Opacity of the marks – either can be a value or a range.\n\n__Default value:__ If undefined, the default opacity depends on [mark config](config.html#mark)'s `opacity` property." }, order: { anyOf: [{ $ref: "#/definitions/OrderFieldDef" }, { items: { $ref: "#/definitions/OrderFieldDef" }, type: "array" }], description: "Order of the marks.\n- For stacked marks, this `order` channel encodes [stack order](https://vega.github.io/vega-lite/docs/stack.html#order).\n- For line and trail marks, this `order` channel encodes order of data points in the lines. This can be useful for creating [a connected scatterplot](https://vega.github.io/vega-lite/examples/connected_scatterplot.html).\n- Otherwise, this `order` channel encodes layer order of the marks.\n\n__Note__: In aggregate plots, `order` field should be `aggregate`d to avoid creating additional aggregation grouping." }, row: { $ref: "#/definitions/FacetFieldDef", description: "Vertical facets for trellis plots." }, shape: { anyOf: [{ $ref: "#/definitions/MarkPropFieldDefWithCondition" }, { $ref: "#/definitions/MarkPropValueDefWithCondition" }], description: 'For `point` marks the supported values are\n`"circle"` (default), `"square"`, `"cross"`, `"diamond"`, `"triangle-up"`,\nor `"triangle-down"`, or else a custom SVG path string.\nFor `geoshape` marks it should be a field definition of the geojson data\n\n__Default value:__ If undefined, the default shape depends on [mark config](config.html#point-config)\'s `shape` property.' }, size: { anyOf: [{ $ref: "#/definitions/MarkPropFieldDefWithCondition" }, { $ref: "#/definitions/MarkPropValueDefWithCondition" }], description: 'Size of the mark.\n- For `"point"`, `"square"` and `"circle"`, – the symbol size, or pixel area of the mark.\n- For `"bar"` and `"tick"` – the bar and tick\'s size.\n- For `"text"` – the text\'s font size.\n- Size is unsupported for `"line"`, `"area"`, and `"rect"`. (Use `"trail"` instead of line with varying size)' }, stroke: { anyOf: [{ $ref: "#/definitions/MarkPropFieldDefWithCondition" }, { $ref: "#/definitions/MarkPropValueDefWithCondition" }], description: "Stroke color of the marks.\n__Default value:__ If undefined, the default color depends on [mark config](config.html#mark)'s `color` property.\n\n_Note:_ When using `stroke` channel, `color ` channel will be ignored. To customize both stroke and fill, please use `stroke` and `fill` channels (not `stroke` and `color`)." }, text: { anyOf: [{ $ref: "#/definitions/TextFieldDefWithCondition" }, { $ref: "#/definitions/TextValueDefWithCondition" }], description: "Text of the `text` mark." }, tooltip: { anyOf: [{ $ref: "#/definitions/TextFieldDefWithCondition" }, { $ref: "#/definitions/TextValueDefWithCondition" }, { items: { $ref: "#/definitions/TextFieldDef" }, type: "array" }], description: "The tooltip text to show upon mouse hover." }, x: { anyOf: [{ $ref: "#/definitions/PositionFieldDef" }, { $ref: "#/definitions/ValueDef" }], description: 'X coordinates of the marks, or width of horizontal `"bar"` and `"area"`.' }, x2: { anyOf: [{ $ref: "#/definitions/FieldDef" }, { $ref: "#/definitions/ValueDef" }], description: 'X2 coordinates for ranged `"area"`, `"bar"`, `"rect"`, and  `"rule"`.' }, y: { anyOf: [{ $ref: "#/definitions/PositionFieldDef" }, { $ref: "#/definitions/ValueDef" }], description: 'Y coordinates of the marks, or height of vertical `"bar"` and `"area"`.' }, y2: { anyOf: [{ $ref: "#/definitions/FieldDef" }, { $ref: "#/definitions/ValueDef" }], description: 'Y2 coordinates for ranged `"area"`, `"bar"`, `"rect"`, and  `"rule"`.' } }, type: "object" }, LayerSpec: { additionalProperties: !1, description: "Layer Spec with encoding and projection", properties: { data: { $ref: "#/definitions/Data", description: "An object describing the data source" }, description: { description: "Description of this mark for commenting purpose.", type: "string" }, encoding: { $ref: "#/definitions/Encoding", description: "A shared key-value mapping between encoding channels and definition of fields in the underlying layers." }, height: { description: 'The height of a visualization.\n\n__Default value:__\n- If a view\'s [`autosize`](https://vega.github.io/vega-lite/docs/size.html#autosize) type is `"fit"` or its y-channel has a [continuous scale](https://vega.github.io/vega-lite/docs/scale.html#continuous), the height will be the value of [`config.view.height`](https://vega.github.io/vega-lite/docs/spec.html#config).\n- For y-axis with a band or point scale: if [`rangeStep`](https://vega.github.io/vega-lite/docs/scale.html#band) is a numeric value or unspecified, the height is [determined by the range step, paddings, and the cardinality of the field mapped to y-channel](https://vega.github.io/vega-lite/docs/scale.html#band). Otherwise, if the `rangeStep` is `null`, the height will be the value of [`config.view.height`](https://vega.github.io/vega-lite/docs/spec.html#config).\n- If no field is mapped to `y` channel, the `height` will be the value of `rangeStep`.\n\n__Note__: For plots with [`row` and `column` channels](https://vega.github.io/vega-lite/docs/encoding.html#facet), this represents the height of a single view.\n\n__See also:__ The documentation for [width and height](https://vega.github.io/vega-lite/docs/size.html) contains more examples.', type: "number" }, layer: { description: "Layer or single view specifications to be layered.\n\n__Note__: Specifications inside `layer` cannot use `row` and `column` channels as layering facet specifications is not allowed.", items: { anyOf: [{ $ref: "#/definitions/LayerSpec" }, { $ref: "#/definitions/CompositeUnitSpec" }] }, type: "array" }, name: { description: "Name of the visualization for later reference.", type: "string" }, projection: { $ref: "#/definitions/Projection", description: "An object defining properties of the geographic projection shared by underlying layers." }, resolve: { $ref: "#/definitions/Resolve", description: "Scale, axis, and legend resolutions for layers." }, title: { anyOf: [{ type: "string" }, { $ref: "#/definitions/TitleParams" }], description: "Title for the plot." }, transform: { description: "An array of data transformations such as filter and new field calculation.", items: { $ref: "#/definitions/Transform" }, type: "array" }, width: { description: 'The width of a visualization.\n\n__Default value:__ This will be determined by the following rules:\n\n- If a view\'s [`autosize`](https://vega.github.io/vega-lite/docs/size.html#autosize) type is `"fit"` or its x-channel has a [continuous scale](https://vega.github.io/vega-lite/docs/scale.html#continuous), the width will be the value of [`config.view.width`](https://vega.github.io/vega-lite/docs/spec.html#config).\n- For x-axis with a band or point scale: if [`rangeStep`](https://vega.github.io/vega-lite/docs/scale.html#band) is a numeric value or unspecified, the width is [determined by the range step, paddings, and the cardinality of the field mapped to x-channel](https://vega.github.io/vega-lite/docs/scale.html#band).   Otherwise, if the `rangeStep` is `null`, the width will be the value of [`config.view.width`](https://vega.github.io/vega-lite/docs/spec.html#config).\n- If no field is mapped to `x` channel, the `width` will be the value of [`config.scale.textXRangeStep`](https://vega.github.io/vega-lite/docs/size.html#default-width-and-height) for `text` mark and the value of `rangeStep` for other marks.\n\n__Note:__ For plots with [`row` and `column` channels](https://vega.github.io/vega-lite/docs/encoding.html#facet), this represents the width of a single view.\n\n__See also:__ The documentation for [width and height](https://vega.github.io/vega-lite/docs/size.html) contains more examples.', type: "number" } }, required: ["layer"], type: "object" }, FacetFieldDef: { additionalProperties: !1, properties: { aggregate: { $ref: "#/definitions/Aggregate", description: "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" }, bin: { anyOf: [{ type: "boolean" }, { $ref: "#/definitions/BinParams" }], description: "A flag for binning a `quantitative` field, or [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params).\nIf `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n__Default value:__ `false`" }, field: { anyOf: [{ type: "string" }, { $ref: "#/definitions/RepeatRef" }], description: '__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `"field": "foo.bar"` and `"field": "foo[\'bar\']"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `"a\\\\.b"` and `"a\\\\[0\\\\]"`).\nSee more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`.' }, header: { $ref: "#/definitions/Header", description: "An object defining properties of a facet's header." }, sort: { $ref: "#/definitions/SortOrder", description: 'Sort order for a facet field.\nThis can be `"ascending"`, `"descending"`.' }, timeUnit: { $ref: "#/definitions/TimeUnit", description: "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)" }, title: { description: 'A title for the field. If `null`, the title will be removed.\n\n__Default value:__  derived from the field\'s name and transformation function (`aggregate`, `bin` and `timeUnit`).  If the field has an aggregate function, the function is displayed as part of the title (e.g., `"Sum of Profit"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `"Profit (binned)"`, `"Transaction Date (year-month)"`).  Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle` property in the [config](config.html) or [`fieldTitle` function via the `compile` function\'s options](compile.html#field-title).\n\n2) If both field definition\'s `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used.', type: ["string", "null"] }, type: { $ref: "#/definitions/Type", description: 'The encoded field\'s type of measurement (`"quantitative"`, `"temporal"`, `"ordinal"`, or `"nominal"`).\nIt can also be a `"geojson"` type for encoding [\'geoshape\'](geoshape.html).' } }, required: ["type"], type: "object" }, FacetMapping: { additionalProperties: !1, properties: { column: { $ref: "#/definitions/FacetFieldDef", description: "Horizontal facets for trellis plots." }, row: { $ref: "#/definitions/FacetFieldDef", description: "Vertical facets for trellis plots." } }, type: "object" }, FieldDef: { additionalProperties: !1, description: "Definition object for a data field, its type and transformation of an encoding channel.", properties: { aggregate: { $ref: "#/definitions/Aggregate", description: "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" }, bin: { anyOf: [{ type: "boolean" }, { $ref: "#/definitions/BinParams" }], description: "A flag for binning a `quantitative` field, or [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params).\nIf `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n__Default value:__ `false`" }, field: { anyOf: [{ type: "string" }, { $ref: "#/definitions/RepeatRef" }], description: '__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `"field": "foo.bar"` and `"field": "foo[\'bar\']"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `"a\\\\.b"` and `"a\\\\[0\\\\]"`).\nSee more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`.' }, timeUnit: { $ref: "#/definitions/TimeUnit", description: "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)" }, title: { description: 'A title for the field. If `null`, the title will be removed.\n\n__Default value:__  derived from the field\'s name and transformation function (`aggregate`, `bin` and `timeUnit`).  If the field has an aggregate function, the function is displayed as part of the title (e.g., `"Sum of Profit"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `"Profit (binned)"`, `"Transaction Date (year-month)"`).  Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle` property in the [config](config.html) or [`fieldTitle` function via the `compile` function\'s options](compile.html#field-title).\n\n2) If both field definition\'s `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used.', type: ["string", "null"] }, type: { $ref: "#/definitions/Type", description: 'The encoded field\'s type of measurement (`"quantitative"`, `"temporal"`, `"ordinal"`, or `"nominal"`).\nIt can also be a `"geojson"` type for encoding [\'geoshape\'](geoshape.html).' } }, required: ["type"], type: "object" }, FieldDefWithCondition: { additionalProperties: !1, description: `A FieldDef with Condition<ValueDef>
{
   condition: {value: ...},
   field: ...,
   ...
}`, properties: { aggregate: { $ref: "#/definitions/Aggregate", description: "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" }, bin: { anyOf: [{ type: "boolean" }, { $ref: "#/definitions/BinParams" }], description: "A flag for binning a `quantitative` field, or [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params).\nIf `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n__Default value:__ `false`" }, condition: { anyOf: [{ $ref: "#/definitions/ConditionalValueDef" }, { items: { $ref: "#/definitions/ConditionalValueDef" }, type: "array" }], description: `One or more value definition(s) with a selection predicate.

__Note:__ A field definition's \`condition\` property can only contain [value definitions](https://vega.github.io/vega-lite/docs/encoding.html#value-def)
since Vega-Lite only allows at most one encoded field per encoding channel.` }, field: { anyOf: [{ type: "string" }, { $ref: "#/definitions/RepeatRef" }], description: '__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `"field": "foo.bar"` and `"field": "foo[\'bar\']"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `"a\\\\.b"` and `"a\\\\[0\\\\]"`).\nSee more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`.' }, timeUnit: { $ref: "#/definitions/TimeUnit", description: "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)" }, title: { description: 'A title for the field. If `null`, the title will be removed.\n\n__Default value:__  derived from the field\'s name and transformation function (`aggregate`, `bin` and `timeUnit`).  If the field has an aggregate function, the function is displayed as part of the title (e.g., `"Sum of Profit"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `"Profit (binned)"`, `"Transaction Date (year-month)"`).  Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle` property in the [config](config.html) or [`fieldTitle` function via the `compile` function\'s options](compile.html#field-title).\n\n2) If both field definition\'s `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used.', type: ["string", "null"] }, type: { $ref: "#/definitions/Type", description: 'The encoded field\'s type of measurement (`"quantitative"`, `"temporal"`, `"ordinal"`, or `"nominal"`).\nIt can also be a `"geojson"` type for encoding [\'geoshape\'](geoshape.html).' } }, required: ["type"], type: "object" }, MarkPropFieldDefWithCondition: { additionalProperties: !1, description: `A FieldDef with Condition<ValueDef>
{
   condition: {value: ...},
   field: ...,
   ...
}`, properties: { aggregate: { $ref: "#/definitions/Aggregate", description: "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" }, bin: { anyOf: [{ type: "boolean" }, { $ref: "#/definitions/BinParams" }], description: "A flag for binning a `quantitative` field, or [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params).\nIf `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n__Default value:__ `false`" }, condition: { anyOf: [{ $ref: "#/definitions/ConditionalValueDef" }, { items: { $ref: "#/definitions/ConditionalValueDef" }, type: "array" }], description: `One or more value definition(s) with a selection predicate.

__Note:__ A field definition's \`condition\` property can only contain [value definitions](https://vega.github.io/vega-lite/docs/encoding.html#value-def)
since Vega-Lite only allows at most one encoded field per encoding channel.` }, field: { anyOf: [{ type: "string" }, { $ref: "#/definitions/RepeatRef" }], description: '__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `"field": "foo.bar"` and `"field": "foo[\'bar\']"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `"a\\\\.b"` and `"a\\\\[0\\\\]"`).\nSee more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`.' }, legend: { anyOf: [{ $ref: "#/definitions/Legend" }, { type: "null" }], description: `An object defining properties of the legend.
If \`null\`, the legend for the encoding channel will be removed.

__Default value:__ If undefined, default [legend properties](https://vega.github.io/vega-lite/docs/legend.html) are applied.` }, scale: { anyOf: [{ $ref: "#/definitions/Scale" }, { type: "null" }], description: `An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.

If \`null\`, the scale will be [disabled and the data value will be directly encoded](https://vega.github.io/vega-lite/docs/scale.html#disable).

__Default value:__ If undefined, default [scale properties](https://vega.github.io/vega-lite/docs/scale.html) are applied.` }, sort: { anyOf: [{ items: { type: "string" }, type: "array" }, { $ref: "#/definitions/SortOrder" }, { $ref: "#/definitions/SortField" }, { type: "null" }], description: 'Sort order for the encoded field.\nSupported `sort` values include `"ascending"`, `"descending"`, `null` (no sorting), or an array specifying the preferred order of values.\nFor fields with discrete domains, `sort` can also be a [sort field definition object](https://vega.github.io/vega-lite/docs/sort.html#sort-field).\nFor `sort` as an [array specifying the preferred order of values](https://vega.github.io/vega-lite/docs/sort.html#sort-array), the sort order will obey the values in the array, followed by any unspecified values in their original order.\n\n__Default value:__ `"ascending"`' }, timeUnit: { $ref: "#/definitions/TimeUnit", description: "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)" }, title: { description: 'A title for the field. If `null`, the title will be removed.\n\n__Default value:__  derived from the field\'s name and transformation function (`aggregate`, `bin` and `timeUnit`).  If the field has an aggregate function, the function is displayed as part of the title (e.g., `"Sum of Profit"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `"Profit (binned)"`, `"Transaction Date (year-month)"`).  Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle` property in the [config](config.html) or [`fieldTitle` function via the `compile` function\'s options](compile.html#field-title).\n\n2) If both field definition\'s `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used.', type: ["string", "null"] }, type: { $ref: "#/definitions/Type", description: 'The encoded field\'s type of measurement (`"quantitative"`, `"temporal"`, `"ordinal"`, or `"nominal"`).\nIt can also be a `"geojson"` type for encoding [\'geoshape\'](geoshape.html).' } }, required: ["type"], type: "object" }, TextFieldDefWithCondition: { additionalProperties: !1, description: `A FieldDef with Condition<ValueDef>
{
   condition: {value: ...},
   field: ...,
   ...
}`, properties: { aggregate: { $ref: "#/definitions/Aggregate", description: "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" }, bin: { anyOf: [{ type: "boolean" }, { $ref: "#/definitions/BinParams" }], description: "A flag for binning a `quantitative` field, or [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params).\nIf `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n__Default value:__ `false`" }, condition: { anyOf: [{ $ref: "#/definitions/ConditionalValueDef" }, { items: { $ref: "#/definitions/ConditionalValueDef" }, type: "array" }], description: `One or more value definition(s) with a selection predicate.

__Note:__ A field definition's \`condition\` property can only contain [value definitions](https://vega.github.io/vega-lite/docs/encoding.html#value-def)
since Vega-Lite only allows at most one encoded field per encoding channel.` }, field: { anyOf: [{ type: "string" }, { $ref: "#/definitions/RepeatRef" }], description: '__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `"field": "foo.bar"` and `"field": "foo[\'bar\']"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `"a\\\\.b"` and `"a\\\\[0\\\\]"`).\nSee more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`.' }, format: { description: "The [formatting pattern](https://vega.github.io/vega-lite/docs/format.html) for a text field. If not defined, this will be determined automatically.", type: "string" }, timeUnit: { $ref: "#/definitions/TimeUnit", description: "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)" }, title: { description: 'A title for the field. If `null`, the title will be removed.\n\n__Default value:__  derived from the field\'s name and transformation function (`aggregate`, `bin` and `timeUnit`).  If the field has an aggregate function, the function is displayed as part of the title (e.g., `"Sum of Profit"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `"Profit (binned)"`, `"Transaction Date (year-month)"`).  Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle` property in the [config](config.html) or [`fieldTitle` function via the `compile` function\'s options](compile.html#field-title).\n\n2) If both field definition\'s `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used.', type: ["string", "null"] }, type: { $ref: "#/definitions/Type", description: 'The encoded field\'s type of measurement (`"quantitative"`, `"temporal"`, `"ordinal"`, or `"nominal"`).\nIt can also be a `"geojson"` type for encoding [\'geoshape\'](geoshape.html).' } }, required: ["type"], type: "object" }, FieldEqualPredicate: { additionalProperties: !1, properties: { equal: { anyOf: [{ type: "string" }, { type: "number" }, { type: "boolean" }, { $ref: "#/definitions/DateTime" }], description: "The value that the field should be equal to." }, field: { description: "Field to be filtered.", type: "string" }, timeUnit: { $ref: "#/definitions/TimeUnit", description: "Time unit for the field to be filtered." } }, required: ["field", "equal"], type: "object" }, FieldOneOfPredicate: { additionalProperties: !1, properties: { field: { description: "Field to be filtered", type: "string" }, oneOf: { anyOf: [{ items: { type: "string" }, type: "array" }, { items: { type: "number" }, type: "array" }, { items: { type: "boolean" }, type: "array" }, { items: { $ref: "#/definitions/DateTime" }, type: "array" }], description: "A set of values that the `field`'s value should be a member of,\nfor a data item included in the filtered data." }, timeUnit: { $ref: "#/definitions/TimeUnit", description: "time unit for the field to be filtered." } }, required: ["field", "oneOf"], type: "object" }, FieldRangePredicate: { additionalProperties: !1, properties: { field: { description: "Field to be filtered", type: "string" }, range: { description: `An array of inclusive minimum and maximum values
for a field value of a data item to be included in the filtered data.`, items: { anyOf: [{ type: "number" }, { $ref: "#/definitions/DateTime" }, { type: "null" }] }, maxItems: 2, minItems: 2, type: "array" }, timeUnit: { $ref: "#/definitions/TimeUnit", description: "time unit for the field to be filtered." } }, required: ["field", "range"], type: "object" }, FilterTransform: { additionalProperties: !1, properties: { filter: { $ref: "#/definitions/LogicalOperand<Predicate>", description: `The \`filter\` property must be one of the predicate definitions:
(1) an [expression](https://vega.github.io/vega-lite/docs/types.html#expression) string,
where \`datum\` can be used to refer to the current data object;
(2) one of the field predicates: [equal predicate](https://vega.github.io/vega-lite/docs/filter.html#equal-predicate);
[range predicate](filter.html#range-predicate), [one-of predicate](https://vega.github.io/vega-lite/docs/filter.html#one-of-predicate);
(3) a [selection predicate](https://vega.github.io/vega-lite/docs/filter.html#selection-predicate);
or (4) a logical operand that combines (1), (2), or (3).` } }, required: ["filter"], type: "object" }, FontStyle: { enum: ["normal", "italic"], type: "string" }, FontWeight: { anyOf: [{ $ref: "#/definitions/FontWeightString" }, { $ref: "#/definitions/FontWeightNumber" }] }, FontWeightNumber: { maximum: 900, minimum: 100, type: "number" }, FontWeightString: { enum: ["normal", "bold"], type: "string" }, FacetSpec: { additionalProperties: !1, properties: { data: { $ref: "#/definitions/Data", description: "An object describing the data source" }, description: { description: "Description of this mark for commenting purpose.", type: "string" }, facet: { $ref: "#/definitions/FacetMapping", description: "An object that describes mappings between `row` and `column` channels and their field definitions." }, name: { description: "Name of the visualization for later reference.", type: "string" }, resolve: { $ref: "#/definitions/Resolve", description: "Scale, axis, and legend resolutions for facets." }, spec: { anyOf: [{ $ref: "#/definitions/LayerSpec" }, { $ref: "#/definitions/CompositeUnitSpec" }], description: "A specification of the view that gets faceted." }, title: { anyOf: [{ type: "string" }, { $ref: "#/definitions/TitleParams" }], description: "Title for the plot." }, transform: { description: "An array of data transformations such as filter and new field calculation.", items: { $ref: "#/definitions/Transform" }, type: "array" } }, required: ["facet", "spec"], type: "object" }, HConcatSpec: { additionalProperties: !1, properties: { data: { $ref: "#/definitions/Data", description: "An object describing the data source" }, description: { description: "Description of this mark for commenting purpose.", type: "string" }, hconcat: { description: "A list of views that should be concatenated and put into a row.", items: { $ref: "#/definitions/Spec" }, type: "array" }, name: { description: "Name of the visualization for later reference.", type: "string" }, resolve: { $ref: "#/definitions/Resolve", description: "Scale, axis, and legend resolutions for horizontally concatenated charts." }, title: { anyOf: [{ type: "string" }, { $ref: "#/definitions/TitleParams" }], description: "Title for the plot." }, transform: { description: "An array of data transformations such as filter and new field calculation.", items: { $ref: "#/definitions/Transform" }, type: "array" } }, required: ["hconcat"], type: "object" }, RepeatSpec: { additionalProperties: !1, properties: { data: { $ref: "#/definitions/Data", description: "An object describing the data source" }, description: { description: "Description of this mark for commenting purpose.", type: "string" }, name: { description: "Name of the visualization for later reference.", type: "string" }, repeat: { $ref: "#/definitions/Repeat", description: "An object that describes what fields should be repeated into views that are laid out as a `row` or `column`." }, resolve: { $ref: "#/definitions/Resolve", description: "Scale and legend resolutions for repeated charts." }, spec: { $ref: "#/definitions/Spec" }, title: { anyOf: [{ type: "string" }, { $ref: "#/definitions/TitleParams" }], description: "Title for the plot." }, transform: { description: "An array of data transformations such as filter and new field calculation.", items: { $ref: "#/definitions/Transform" }, type: "array" } }, required: ["repeat", "spec"], type: "object" }, Spec: { anyOf: [{ $ref: "#/definitions/CompositeUnitSpec" }, { $ref: "#/definitions/LayerSpec" }, { $ref: "#/definitions/FacetSpec" }, { $ref: "#/definitions/RepeatSpec" }, { $ref: "#/definitions/VConcatSpec" }, { $ref: "#/definitions/HConcatSpec" }] }, CompositeUnitSpecAlias: { additionalProperties: !1, properties: { data: { $ref: "#/definitions/Data", description: "An object describing the data source" }, description: { description: "Description of this mark for commenting purpose.", type: "string" }, encoding: { $ref: "#/definitions/Encoding", description: "A key-value mapping between encoding channels and definition of fields." }, height: { description: 'The height of a visualization.\n\n__Default value:__\n- If a view\'s [`autosize`](https://vega.github.io/vega-lite/docs/size.html#autosize) type is `"fit"` or its y-channel has a [continuous scale](https://vega.github.io/vega-lite/docs/scale.html#continuous), the height will be the value of [`config.view.height`](https://vega.github.io/vega-lite/docs/spec.html#config).\n- For y-axis with a band or point scale: if [`rangeStep`](https://vega.github.io/vega-lite/docs/scale.html#band) is a numeric value or unspecified, the height is [determined by the range step, paddings, and the cardinality of the field mapped to y-channel](https://vega.github.io/vega-lite/docs/scale.html#band). Otherwise, if the `rangeStep` is `null`, the height will be the value of [`config.view.height`](https://vega.github.io/vega-lite/docs/spec.html#config).\n- If no field is mapped to `y` channel, the `height` will be the value of `rangeStep`.\n\n__Note__: For plots with [`row` and `column` channels](https://vega.github.io/vega-lite/docs/encoding.html#facet), this represents the height of a single view.\n\n__See also:__ The documentation for [width and height](https://vega.github.io/vega-lite/docs/size.html) contains more examples.', type: "number" }, mark: { $ref: "#/definitions/AnyMark", description: 'A string describing the mark type (one of `"bar"`, `"circle"`, `"square"`, `"tick"`, `"line"`,\n`"area"`, `"point"`, `"rule"`, `"geoshape"`, and `"text"`) or a [mark definition object](https://vega.github.io/vega-lite/docs/mark.html#mark-def).' }, name: { description: "Name of the visualization for later reference.", type: "string" }, projection: { $ref: "#/definitions/Projection", description: 'An object defining properties of geographic projection, which will be applied to `shape` path for `"geoshape"` marks\nand to `latitude` and `"longitude"` channels for other marks.' }, selection: { additionalProperties: { $ref: "#/definitions/SelectionDef" }, description: "A key-value mapping between selection names and definitions.", type: "object" }, title: { anyOf: [{ type: "string" }, { $ref: "#/definitions/TitleParams" }], description: "Title for the plot." }, transform: { description: "An array of data transformations such as filter and new field calculation.", items: { $ref: "#/definitions/Transform" }, type: "array" }, width: { description: 'The width of a visualization.\n\n__Default value:__ This will be determined by the following rules:\n\n- If a view\'s [`autosize`](https://vega.github.io/vega-lite/docs/size.html#autosize) type is `"fit"` or its x-channel has a [continuous scale](https://vega.github.io/vega-lite/docs/scale.html#continuous), the width will be the value of [`config.view.width`](https://vega.github.io/vega-lite/docs/spec.html#config).\n- For x-axis with a band or point scale: if [`rangeStep`](https://vega.github.io/vega-lite/docs/scale.html#band) is a numeric value or unspecified, the width is [determined by the range step, paddings, and the cardinality of the field mapped to x-channel](https://vega.github.io/vega-lite/docs/scale.html#band).   Otherwise, if the `rangeStep` is `null`, the width will be the value of [`config.view.width`](https://vega.github.io/vega-lite/docs/spec.html#config).\n- If no field is mapped to `x` channel, the `width` will be the value of [`config.scale.textXRangeStep`](https://vega.github.io/vega-lite/docs/size.html#default-width-and-height) for `text` mark and the value of `rangeStep` for other marks.\n\n__Note:__ For plots with [`row` and `column` channels](https://vega.github.io/vega-lite/docs/encoding.html#facet), this represents the width of a single view.\n\n__See also:__ The documentation for [width and height](https://vega.github.io/vega-lite/docs/size.html) contains more examples.', type: "number" } }, required: ["mark"], type: "object" }, FacetedCompositeUnitSpecAlias: { additionalProperties: !1, properties: { data: { $ref: "#/definitions/Data", description: "An object describing the data source" }, description: { description: "Description of this mark for commenting purpose.", type: "string" }, encoding: { $ref: "#/definitions/EncodingWithFacet", description: "A key-value mapping between encoding channels and definition of fields." }, height: { description: 'The height of a visualization.\n\n__Default value:__\n- If a view\'s [`autosize`](https://vega.github.io/vega-lite/docs/size.html#autosize) type is `"fit"` or its y-channel has a [continuous scale](https://vega.github.io/vega-lite/docs/scale.html#continuous), the height will be the value of [`config.view.height`](https://vega.github.io/vega-lite/docs/spec.html#config).\n- For y-axis with a band or point scale: if [`rangeStep`](https://vega.github.io/vega-lite/docs/scale.html#band) is a numeric value or unspecified, the height is [determined by the range step, paddings, and the cardinality of the field mapped to y-channel](https://vega.github.io/vega-lite/docs/scale.html#band). Otherwise, if the `rangeStep` is `null`, the height will be the value of [`config.view.height`](https://vega.github.io/vega-lite/docs/spec.html#config).\n- If no field is mapped to `y` channel, the `height` will be the value of `rangeStep`.\n\n__Note__: For plots with [`row` and `column` channels](https://vega.github.io/vega-lite/docs/encoding.html#facet), this represents the height of a single view.\n\n__See also:__ The documentation for [width and height](https://vega.github.io/vega-lite/docs/size.html) contains more examples.', type: "number" }, mark: { $ref: "#/definitions/AnyMark", description: 'A string describing the mark type (one of `"bar"`, `"circle"`, `"square"`, `"tick"`, `"line"`,\n`"area"`, `"point"`, `"rule"`, `"geoshape"`, and `"text"`) or a [mark definition object](https://vega.github.io/vega-lite/docs/mark.html#mark-def).' }, name: { description: "Name of the visualization for later reference.", type: "string" }, projection: { $ref: "#/definitions/Projection", description: 'An object defining properties of geographic projection, which will be applied to `shape` path for `"geoshape"` marks\nand to `latitude` and `"longitude"` channels for other marks.' }, selection: { additionalProperties: { $ref: "#/definitions/SelectionDef" }, description: "A key-value mapping between selection names and definitions.", type: "object" }, title: { anyOf: [{ type: "string" }, { $ref: "#/definitions/TitleParams" }], description: "Title for the plot." }, transform: { description: "An array of data transformations such as filter and new field calculation.", items: { $ref: "#/definitions/Transform" }, type: "array" }, width: { description: 'The width of a visualization.\n\n__Default value:__ This will be determined by the following rules:\n\n- If a view\'s [`autosize`](https://vega.github.io/vega-lite/docs/size.html#autosize) type is `"fit"` or its x-channel has a [continuous scale](https://vega.github.io/vega-lite/docs/scale.html#continuous), the width will be the value of [`config.view.width`](https://vega.github.io/vega-lite/docs/spec.html#config).\n- For x-axis with a band or point scale: if [`rangeStep`](https://vega.github.io/vega-lite/docs/scale.html#band) is a numeric value or unspecified, the width is [determined by the range step, paddings, and the cardinality of the field mapped to x-channel](https://vega.github.io/vega-lite/docs/scale.html#band).   Otherwise, if the `rangeStep` is `null`, the width will be the value of [`config.view.width`](https://vega.github.io/vega-lite/docs/spec.html#config).\n- If no field is mapped to `x` channel, the `width` will be the value of [`config.scale.textXRangeStep`](https://vega.github.io/vega-lite/docs/size.html#default-width-and-height) for `text` mark and the value of `rangeStep` for other marks.\n\n__Note:__ For plots with [`row` and `column` channels](https://vega.github.io/vega-lite/docs/encoding.html#facet), this represents the width of a single view.\n\n__See also:__ The documentation for [width and height](https://vega.github.io/vega-lite/docs/size.html) contains more examples.', type: "number" } }, required: ["mark"], type: "object" }, VConcatSpec: { additionalProperties: !1, properties: { data: { $ref: "#/definitions/Data", description: "An object describing the data source" }, description: { description: "Description of this mark for commenting purpose.", type: "string" }, name: { description: "Name of the visualization for later reference.", type: "string" }, resolve: { $ref: "#/definitions/Resolve", description: "Scale, axis, and legend resolutions for vertically concatenated charts." }, title: { anyOf: [{ type: "string" }, { $ref: "#/definitions/TitleParams" }], description: "Title for the plot." }, transform: { description: "An array of data transformations such as filter and new field calculation.", items: { $ref: "#/definitions/Transform" }, type: "array" }, vconcat: { description: "A list of views that should be concatenated and put into a column.", items: { $ref: "#/definitions/Spec" }, type: "array" } }, required: ["vconcat"], type: "object" }, GeoType: { enum: ["latitude", "longitude", "geojson"], type: "string" }, Header: { additionalProperties: !1, description: "Headers of row / column channels for faceted plots.", properties: { format: { description: `The formatting pattern for labels. This is D3's [number format pattern](https://github.com/d3/d3-format#locale_format) for quantitative fields and D3's [time format pattern](https://github.com/d3/d3-time-format#locale_format) for time field.

See the [format documentation](format.html) for more information.

__Default value:__  derived from [numberFormat](config.html#format) config for quantitative fields and from [timeFormat](config.html#format) config for temporal fields.`, type: "string" }, labelAngle: { description: "The rotation angle of the header labels.\n\n__Default value:__ `0`.", maximum: 360, minimum: -360, type: "number" }, title: { description: 'A title for the field. If `null`, the title will be removed.\n\n__Default value:__  derived from the field\'s name and transformation function (`aggregate`, `bin` and `timeUnit`).  If the field has an aggregate function, the function is displayed as part of the title (e.g., `"Sum of Profit"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `"Profit (binned)"`, `"Transaction Date (year-month)"`).  Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle` property in the [config](config.html) or [`fieldTitle` function via the `compile` function\'s options](compile.html#field-title).\n\n2) If both field definition\'s `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used.', type: ["string", "null"] } }, type: "object" }, HorizontalAlign: { enum: ["left", "right", "center"], type: "string" }, InlineData: { additionalProperties: !1, properties: { format: { $ref: "#/definitions/DataFormat", description: "An object that specifies the format for parsing the data values." }, values: { $ref: "#/definitions/InlineDataset", description: "The full data set, included inline. This can be an array of objects or primitive values or a string.\nArrays of primitive values are ingested as objects with a `data` property. Strings are parsed according to the specified format type." } }, required: ["values"], type: "object" }, InlineDataset: { anyOf: [{ items: { type: "number" }, type: "array" }, { items: { type: "string" }, type: "array" }, { items: { type: "boolean" }, type: "array" }, { items: { type: "object" }, type: "array" }, { type: "string" }, { type: "object" }] }, Interpolate: { enum: ["linear", "linear-closed", "step", "step-before", "step-after", "basis", "basis-open", "basis-closed", "cardinal", "cardinal-open", "cardinal-closed", "bundle", "monotone"], type: "string" }, IntervalSelection: { additionalProperties: !1, properties: { bind: { description: `Establishes a two-way binding between the interval selection and the scales
used within the same view. This allows a user to interactively pan and
zoom the view.`, enum: ["scales"], type: "string" }, empty: { description: "By default, all data values are considered to lie within an empty selection.\nWhen set to `none`, empty selections contain no data values.", enum: ["all", "none"], type: "string" }, encodings: { description: `An array of encoding channels. The corresponding data field values
must match for a data tuple to fall within the selection.`, items: { $ref: "#/definitions/SingleDefChannel" }, type: "array" }, fields: { description: `An array of field names whose values must match for a data tuple to
fall within the selection.`, items: { type: "string" }, type: "array" }, mark: { $ref: "#/definitions/BrushConfig", description: "An interval selection also adds a rectangle mark to depict the\nextents of the interval. The `mark` property can be used to customize the\nappearance of the mark." }, on: { $ref: "#/definitions/VgEventStream", description: `A [Vega event stream](https://vega.github.io/vega/docs/event-streams/) (object or selector) that triggers the selection.
For interval selections, the event stream must specify a [start and end](https://vega.github.io/vega/docs/event-streams/#between-filters).` }, resolve: { $ref: "#/definitions/SelectionResolution", description: `With layered and multi-view displays, a strategy that determines how
selections' data queries are resolved when applied in a filter transform,
conditional encoding rule, or scale domain.` }, translate: { description: "When truthy, allows a user to interactively move an interval selection\nback-and-forth. Can be `true`, `false` (to disable panning), or a\n[Vega event stream definition](https://vega.github.io/vega/docs/event-streams/)\nwhich must include a start and end event to trigger continuous panning.\n\n__Default value:__ `true`, which corresponds to\n`[mousedown, window:mouseup] > window:mousemove!` which corresponds to\nclicks and dragging within an interval selection to reposition it.", type: ["string", "boolean"] }, type: { enum: ["interval"], type: "string" }, zoom: { description: "When truthy, allows a user to interactively resize an interval selection.\nCan be `true`, `false` (to disable zooming), or a [Vega event stream\ndefinition](https://vega.github.io/vega/docs/event-streams/). Currently,\nonly `wheel` events are supported.\n\n\n__Default value:__ `true`, which corresponds to `wheel!`.", type: ["string", "boolean"] } }, required: ["type"], type: "object" }, IntervalSelectionConfig: { additionalProperties: !1, properties: { bind: { description: `Establishes a two-way binding between the interval selection and the scales
used within the same view. This allows a user to interactively pan and
zoom the view.`, enum: ["scales"], type: "string" }, empty: { description: "By default, all data values are considered to lie within an empty selection.\nWhen set to `none`, empty selections contain no data values.", enum: ["all", "none"], type: "string" }, encodings: { description: `An array of encoding channels. The corresponding data field values
must match for a data tuple to fall within the selection.`, items: { $ref: "#/definitions/SingleDefChannel" }, type: "array" }, fields: { description: `An array of field names whose values must match for a data tuple to
fall within the selection.`, items: { type: "string" }, type: "array" }, mark: { $ref: "#/definitions/BrushConfig", description: "An interval selection also adds a rectangle mark to depict the\nextents of the interval. The `mark` property can be used to customize the\nappearance of the mark." }, on: { $ref: "#/definitions/VgEventStream", description: `A [Vega event stream](https://vega.github.io/vega/docs/event-streams/) (object or selector) that triggers the selection.
For interval selections, the event stream must specify a [start and end](https://vega.github.io/vega/docs/event-streams/#between-filters).` }, resolve: { $ref: "#/definitions/SelectionResolution", description: `With layered and multi-view displays, a strategy that determines how
selections' data queries are resolved when applied in a filter transform,
conditional encoding rule, or scale domain.` }, translate: { description: "When truthy, allows a user to interactively move an interval selection\nback-and-forth. Can be `true`, `false` (to disable panning), or a\n[Vega event stream definition](https://vega.github.io/vega/docs/event-streams/)\nwhich must include a start and end event to trigger continuous panning.\n\n__Default value:__ `true`, which corresponds to\n`[mousedown, window:mouseup] > window:mousemove!` which corresponds to\nclicks and dragging within an interval selection to reposition it.", type: ["string", "boolean"] }, zoom: { description: "When truthy, allows a user to interactively resize an interval selection.\nCan be `true`, `false` (to disable zooming), or a [Vega event stream\ndefinition](https://vega.github.io/vega/docs/event-streams/). Currently,\nonly `wheel` events are supported.\n\n\n__Default value:__ `true`, which corresponds to `wheel!`.", type: ["string", "boolean"] } }, type: "object" }, JsonDataFormat: { additionalProperties: !1, properties: { parse: { anyOf: [{ enum: ["auto"], type: "string" }, { type: "object" }], description: 'If set to auto (the default), perform automatic type inference to determine the desired data types.\nAlternatively, a parsing directive object can be provided for explicit data types. Each property of the object corresponds to a field name, and the value to the desired data type (one of `"number"`, `"boolean"` or `"date"`).\nFor example, `"parse": {"modified_on": "date"}` parses the `modified_on` field in each input record a Date value.\n\nFor `"date"`, we parse data based using Javascript\'s [`Date.parse()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).\nFor Specific date formats can be provided (e.g., `{foo: \'date:"%m%d%Y"\'}`), using the [d3-time-format syntax](https://github.com/d3/d3-time-format#locale_format). UTC date format parsing is supported similarly (e.g., `{foo: \'utc:"%m%d%Y"\'}`). See more about [UTC time](timeunit.html#utc)' }, property: { description: 'The JSON property containing the desired data.\nThis parameter can be used when the loaded JSON file may have surrounding structure or meta-data.\nFor example `"property": "values.features"` is equivalent to retrieving `json.values.features`\nfrom the loaded JSON object.', type: "string" }, type: { description: 'Type of input data: `"json"`, `"csv"`, `"tsv"`.\nThe default format type is determined by the extension of the file URL.\nIf no extension is detected, `"json"` will be used by default.', enum: ["json"], type: "string" } }, type: "object" }, Legend: { additionalProperties: !1, description: "Properties of a legend or boolean flag for determining whether to show it.", properties: { entryPadding: { description: "Padding (in pixels) between legend entries in a symbol legend.", type: "number" }, format: { description: `The formatting pattern for labels. This is D3's [number format pattern](https://github.com/d3/d3-format#locale_format) for quantitative fields and D3's [time format pattern](https://github.com/d3/d3-time-format#locale_format) for time field.

See the [format documentation](format.html) for more information.

__Default value:__  derived from [numberFormat](config.html#format) config for quantitative fields and from [timeFormat](config.html#format) config for temporal fields.`, type: "string" }, offset: { description: "The offset, in pixels, by which to displace the legend from the edge of the enclosing group or data rectangle.\n\n__Default value:__  `0`", type: "number" }, orient: { $ref: "#/definitions/LegendOrient", description: 'The orientation of the legend, which determines how the legend is positioned within the scene. One of "left", "right", "top-left", "top-right", "bottom-left", "bottom-right", "none".\n\n__Default value:__ `"right"`' }, padding: { description: "The padding, in pixels, between the legend and axis.", type: "number" }, tickCount: { description: "The desired number of tick values for quantitative legends.", type: "number" }, title: { description: 'A title for the field. If `null`, the title will be removed.\n\n__Default value:__  derived from the field\'s name and transformation function (`aggregate`, `bin` and `timeUnit`).  If the field has an aggregate function, the function is displayed as part of the title (e.g., `"Sum of Profit"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `"Profit (binned)"`, `"Transaction Date (year-month)"`).  Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle` property in the [config](config.html) or [`fieldTitle` function via the `compile` function\'s options](compile.html#field-title).\n\n2) If both field definition\'s `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used.', type: ["string", "null"] }, type: { description: 'The type of the legend. Use `"symbol"` to create a discrete legend and `"gradient"` for a continuous color gradient.\n\n__Default value:__ `"gradient"` for non-binned quantitative fields and temporal fields; `"symbol"` otherwise.', enum: ["symbol", "gradient"], type: "string" }, values: { anyOf: [{ items: { type: "number" }, type: "array" }, { items: { type: "string" }, type: "array" }, { items: { $ref: "#/definitions/DateTime" }, type: "array" }], description: "Explicitly set the visible legend values." }, zindex: { description: `A non-positive integer indicating z-index of the legend.
If zindex is 0, legend should be drawn behind all chart elements.
To put them in front, use zindex = 1.`, minimum: 0, type: "number" } }, type: "object" }, LegendConfig: { additionalProperties: !1, properties: { cornerRadius: { description: "Corner radius for the full legend.", type: "number" }, entryPadding: { description: "Padding (in pixels) between legend entries in a symbol legend.", type: "number" }, fillColor: { description: "Background fill color for the full legend.", type: "string" }, gradientHeight: { description: "The height of the gradient, in pixels.", minimum: 0, type: "number" }, gradientLabelBaseline: { description: "Text baseline for color ramp gradient labels.", type: "string" }, gradientLabelLimit: { description: "The maximum allowed length in pixels of color ramp gradient labels.", type: "number" }, gradientLabelOffset: { description: "Vertical offset in pixels for color ramp gradient labels.", type: "number" }, gradientStrokeColor: { description: "The color of the gradient stroke, can be in hex color code or regular color name.", type: "string" }, gradientStrokeWidth: { description: "The width of the gradient stroke, in pixels.", minimum: 0, type: "number" }, gradientWidth: { description: "The width of the gradient, in pixels.", minimum: 0, type: "number" }, labelAlign: { description: "The alignment of the legend label, can be left, middle or right.", type: "string" }, labelBaseline: { description: "The position of the baseline of legend label, can be top, middle or bottom.", type: "string" }, labelColor: { description: "The color of the legend label, can be in hex color code or regular color name.", type: "string" }, labelFont: { description: "The font of the legend label.", type: "string" }, labelFontSize: { description: "The font size of legend label.\n\n__Default value:__ `10`.", minimum: 0, type: "number" }, labelLimit: { description: "Maximum allowed pixel width of axis tick labels.", type: "number" }, labelOffset: { description: "The offset of the legend label.", minimum: 0, type: "number" }, offset: { description: "The offset, in pixels, by which to displace the legend from the edge of the enclosing group or data rectangle.\n\n__Default value:__  `0`", type: "number" }, orient: { $ref: "#/definitions/LegendOrient", description: 'The orientation of the legend, which determines how the legend is positioned within the scene. One of "left", "right", "top-left", "top-right", "bottom-left", "bottom-right", "none".\n\n__Default value:__ `"right"`' }, padding: { description: "The padding, in pixels, between the legend and axis.", type: "number" }, shortTimeLabels: { description: "Whether month names and weekday names should be abbreviated.\n\n__Default value:__  `false`", type: "boolean" }, strokeColor: { description: "Border stroke color for the full legend.", type: "string" }, strokeDash: { description: "Border stroke dash pattern for the full legend.", items: { type: "number" }, type: "array" }, strokeWidth: { description: "Border stroke width for the full legend.", type: "number" }, symbolColor: { description: "The color of the legend symbol,", type: "string" }, symbolSize: { description: "The size of the legend symbol, in pixels.", minimum: 0, type: "number" }, symbolStrokeWidth: { description: "The width of the symbol's stroke.", minimum: 0, type: "number" }, symbolType: { description: 'Default shape type (such as "circle") for legend symbols.', type: "string" }, titleAlign: { description: "Horizontal text alignment for legend titles.", type: "string" }, titleBaseline: { description: "Vertical text baseline for legend titles.", type: "string" }, titleColor: { description: "The color of the legend title, can be in hex color code or regular color name.", type: "string" }, titleFont: { description: "The font of the legend title.", type: "string" }, titleFontSize: { description: "The font size of the legend title.", type: "number" }, titleFontWeight: { $ref: "#/definitions/FontWeight", description: 'The font weight of the legend title.\nThis can be either a string (e.g `"bold"`, `"normal"`) or a number (`100`, `200`, `300`, ..., `900` where `"normal"` = `400` and `"bold"` = `700`).' }, titleLimit: { description: "Maximum allowed pixel width of axis titles.", type: "number" }, titlePadding: { description: "The padding, in pixels, between title and legend.", type: "number" } }, type: "object" }, LegendOrient: { enum: ["left", "right", "top-left", "top-right", "bottom-left", "bottom-right", "none"], type: "string" }, LegendResolveMap: { additionalProperties: !1, properties: { color: { $ref: "#/definitions/ResolveMode" }, fill: { $ref: "#/definitions/ResolveMode" }, opacity: { $ref: "#/definitions/ResolveMode" }, shape: { $ref: "#/definitions/ResolveMode" }, size: { $ref: "#/definitions/ResolveMode" }, stroke: { $ref: "#/definitions/ResolveMode" } }, type: "object" }, LineConfig: { additionalProperties: !1, properties: { align: { $ref: "#/definitions/HorizontalAlign", description: 'The horizontal alignment of the text. One of `"left"`, `"right"`, `"center"`.' }, angle: { description: "The rotation angle of the text, in degrees.", maximum: 360, minimum: 0, type: "number" }, baseline: { $ref: "#/definitions/VerticalAlign", description: 'The vertical alignment of the text. One of `"top"`, `"middle"`, `"bottom"`.\n\n__Default value:__ `"middle"`' }, color: { description: 'Default color.  Note that `fill` and `stroke` have higher precedence than `color` and will override `color`.\n\n__Default value:__ <span style="color: #4682b4;">&#9632;</span> `"#4682b4"`\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config).', type: "string" }, cursor: { description: "The mouse cursor used over the mark. Any valid [CSS cursor type](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used.", enum: ["auto", "default", "none", "context-menu", "help", "pointer", "progress", "wait", "cell", "crosshair", "text", "vertical-text", "alias", "copy", "move", "no-drop", "not-allowed", "e-resize", "n-resize", "ne-resize", "nw-resize", "s-resize", "se-resize", "sw-resize", "w-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "col-resize", "row-resize", "all-scroll", "zoom-in", "zoom-out", "grab", "grabbing"], type: "string" }, dx: { description: "The horizontal offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.", type: "number" }, dy: { description: "The vertical offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.", type: "number" }, fill: { description: "Default Fill Color.  This has higher precedence than `config.color`\n\n__Default value:__ (None)", type: "string" }, fillOpacity: { description: "The fill opacity (value between [0,1]).\n\n__Default value:__ `1`", maximum: 1, minimum: 0, type: "number" }, filled: { description: "Whether the mark's color should be used as fill color instead of stroke color.\n\n__Default value:__ `true` for all marks except `point` and `false` for `point`.\n\n__Applicable for:__ `bar`, `point`, `circle`, `square`, and `area` marks.\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config).", type: "boolean" }, font: { description: 'The typeface to set the text in (e.g., `"Helvetica Neue"`).', type: "string" }, fontSize: { description: "The font size, in pixels.", minimum: 0, type: "number" }, fontStyle: { $ref: "#/definitions/FontStyle", description: 'The font style (e.g., `"italic"`).' }, fontWeight: { $ref: "#/definitions/FontWeight", description: 'The font weight.\nThis can be either a string (e.g `"bold"`, `"normal"`) or a number (`100`, `200`, `300`, ..., `900` where `"normal"` = `400` and `"bold"` = `700`).' }, href: { description: "A URL to load upon mouse click. If defined, the mark acts as a hyperlink.", format: "uri", type: "string" }, interpolate: { $ref: "#/definitions/Interpolate", description: 'The line interpolation method to use for line and area marks. One of the following:\n- `"linear"`: piecewise linear segments, as in a polyline.\n- `"linear-closed"`: close the linear segments to form a polygon.\n- `"step"`: alternate between horizontal and vertical segments, as in a step function.\n- `"step-before"`: alternate between vertical and horizontal segments, as in a step function.\n- `"step-after"`: alternate between horizontal and vertical segments, as in a step function.\n- `"basis"`: a B-spline, with control point duplication on the ends.\n- `"basis-open"`: an open B-spline; may not intersect the start or end.\n- `"basis-closed"`: a closed B-spline, as in a loop.\n- `"cardinal"`: a Cardinal spline, with control point duplication on the ends.\n- `"cardinal-open"`: an open Cardinal spline; may not intersect the start or end, but will intersect other control points.\n- `"cardinal-closed"`: a closed Cardinal spline, as in a loop.\n- `"bundle"`: equivalent to basis, except the tension parameter is used to straighten the spline.\n- `"monotone"`: cubic interpolation that preserves monotonicity in y.' }, limit: { description: "The maximum length of the text mark in pixels (default 0, indicating no limit). The text value will be automatically truncated if the rendered size exceeds the limit.", type: "number" }, opacity: { description: "The overall opacity (value between [0,1]).\n\n__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or `square` marks or layered `bar` charts and `1` otherwise.", maximum: 1, minimum: 0, type: "number" }, orient: { $ref: "#/definitions/Orient", description: `The orientation of a non-stacked bar, tick, area, and line charts.
The value is either horizontal (default) or vertical.
- For bar, rule and tick, this determines whether the size of the bar and tick
should be applied to x or y dimension.
- For area, this property determines the orient property of the Vega output.
- For line and trail marks, this property determines the sort order of the points in the line
if \`config.sortLineBy\` is not specified.
For stacked charts, this is always determined by the orientation of the stack;
therefore explicitly specified value will be ignored.` }, point: { anyOf: [{ type: "boolean" }, { $ref: "#/definitions/MarkProperties" }, { enum: ["transparent"], type: "string" }], description: 'A flag for overlaying points on top of line or area marks, or an object defining the properties of the overlayed points.\n\n- If this property is `"transparent"`, transparent points will be used (for enhancing tooltips and selections).\n\n- If this property is an empty object (`{}`) or `true`, filled points with default properties will be used.\n\n- If this property is `false`, no points would be automatically added to line or area marks.\n\n__Default value:__ `false`.' }, radius: { description: "Polar coordinate radial offset, in pixels, of the text label from the origin determined by the `x` and `y` properties.", minimum: 0, type: "number" }, shape: { description: 'The default symbol shape to use. One of: `"circle"` (default), `"square"`, `"cross"`, `"diamond"`, `"triangle-up"`, or `"triangle-down"`, or a custom SVG path.\n\n__Default value:__ `"circle"`', type: "string" }, size: { description: `The pixel area each the point/circle/square.
For example: in the case of circles, the radius is determined in part by the square root of the size value.

__Default value:__ \`30\``, minimum: 0, type: "number" }, stroke: { description: "Default Stroke Color.  This has higher precedence than `config.color`\n\n__Default value:__ (None)", type: "string" }, strokeCap: { description: 'The stroke cap for line ending style. One of `"butt"`, `"round"`, or `"square"`.\n\n__Default value:__ `"square"`', enum: ["butt", "round", "square"], type: "string" }, strokeDash: { description: "An array of alternating stroke, space lengths for creating dashed or dotted lines.", items: { type: "number" }, type: "array" }, strokeDashOffset: { description: "The offset (in pixels) into which to begin drawing with the stroke dash array.", type: "number" }, strokeOpacity: { description: "The stroke opacity (value between [0,1]).\n\n__Default value:__ `1`", maximum: 1, minimum: 0, type: "number" }, strokeWidth: { description: "The stroke width, in pixels.", minimum: 0, type: "number" }, tension: { description: "Depending on the interpolation type, sets the tension parameter (for line and area marks).", maximum: 1, minimum: 0, type: "number" }, text: { description: "Placeholder text if the `text` channel is not specified", type: "string" }, theta: { description: 'Polar coordinate angle, in radians, of the text label from the origin determined by the `x` and `y` properties. Values for `theta` follow the same convention of `arc` mark `startAngle` and `endAngle` properties: angles are measured in radians, with `0` indicating "north".', type: "number" } }, type: "object" }, LocalMultiTimeUnit: { enum: ["yearquarter", "yearquartermonth", "yearmonth", "yearmonthdate", "yearmonthdatehours", "yearmonthdatehoursminutes", "yearmonthdatehoursminutesseconds", "quartermonth", "monthdate", "hoursminutes", "hoursminutesseconds", "minutesseconds", "secondsmilliseconds"], type: "string" }, LocalSingleTimeUnit: { enum: ["year", "quarter", "month", "day", "date", "hours", "minutes", "seconds", "milliseconds"], type: "string" }, "LogicalAnd<Predicate>": { additionalProperties: !1, properties: { and: { items: { $ref: "#/definitions/LogicalOperand<Predicate>" }, type: "array" } }, required: ["and"], type: "object" }, SelectionAnd: { additionalProperties: !1, properties: { and: { items: { $ref: "#/definitions/SelectionOperand" }, type: "array" } }, required: ["and"], type: "object" }, "LogicalNot<Predicate>": { additionalProperties: !1, properties: { not: { $ref: "#/definitions/LogicalOperand<Predicate>" } }, required: ["not"], type: "object" }, SelectionNot: { additionalProperties: !1, properties: { not: { $ref: "#/definitions/SelectionOperand" } }, required: ["not"], type: "object" }, "LogicalOperand<Predicate>": { anyOf: [{ $ref: "#/definitions/LogicalNot<Predicate>" }, { $ref: "#/definitions/LogicalAnd<Predicate>" }, { $ref: "#/definitions/LogicalOr<Predicate>" }, { $ref: "#/definitions/Predicate" }] }, SelectionOperand: { anyOf: [{ $ref: "#/definitions/SelectionNot" }, { $ref: "#/definitions/SelectionAnd" }, { $ref: "#/definitions/SelectionOr" }, { type: "string" }] }, "LogicalOr<Predicate>": { additionalProperties: !1, properties: { or: { items: { $ref: "#/definitions/LogicalOperand<Predicate>" }, type: "array" } }, required: ["or"], type: "object" }, SelectionOr: { additionalProperties: !1, properties: { or: { items: { $ref: "#/definitions/SelectionOperand" }, type: "array" } }, required: ["or"], type: "object" }, LookupData: { additionalProperties: !1, properties: { data: { $ref: "#/definitions/Data", description: "Secondary data source to lookup in." }, fields: { description: `Fields in foreign data to lookup.
If not specified, the entire object is queried.`, items: { type: "string" }, type: "array" }, key: { description: "Key in data to lookup.", type: "string" } }, required: ["data", "key"], type: "object" }, LookupTransform: { additionalProperties: !1, properties: { as: { anyOf: [{ type: "string" }, { items: { type: "string" }, type: "array" }], description: "The field or fields for storing the computed formula value.\nIf `from.fields` is specified, the transform will use the same names for `as`.\nIf `from.fields` is not specified, `as` has to be a string and we put the whole object into the data under the specified name." }, default: { description: "The default value to use if lookup fails.\n\n__Default value:__ `null`", type: "string" }, from: { $ref: "#/definitions/LookupData", description: "Secondary data reference." }, lookup: { description: "Key in primary data source.", type: "string" } }, required: ["lookup", "from"], type: "object" }, Mark: { description: "All types of primitive marks.", enum: ["area", "bar", "line", "trail", "point", "text", "tick", "rect", "rule", "circle", "square", "geoshape"], type: "string" }, MarkConfig: { additionalProperties: !1, properties: { align: { $ref: "#/definitions/HorizontalAlign", description: 'The horizontal alignment of the text. One of `"left"`, `"right"`, `"center"`.' }, angle: { description: "The rotation angle of the text, in degrees.", maximum: 360, minimum: 0, type: "number" }, baseline: { $ref: "#/definitions/VerticalAlign", description: 'The vertical alignment of the text. One of `"top"`, `"middle"`, `"bottom"`.\n\n__Default value:__ `"middle"`' }, color: { description: 'Default color.  Note that `fill` and `stroke` have higher precedence than `color` and will override `color`.\n\n__Default value:__ <span style="color: #4682b4;">&#9632;</span> `"#4682b4"`\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config).', type: "string" }, cursor: { description: "The mouse cursor used over the mark. Any valid [CSS cursor type](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used.", enum: ["auto", "default", "none", "context-menu", "help", "pointer", "progress", "wait", "cell", "crosshair", "text", "vertical-text", "alias", "copy", "move", "no-drop", "not-allowed", "e-resize", "n-resize", "ne-resize", "nw-resize", "s-resize", "se-resize", "sw-resize", "w-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "col-resize", "row-resize", "all-scroll", "zoom-in", "zoom-out", "grab", "grabbing"], type: "string" }, dx: { description: "The horizontal offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.", type: "number" }, dy: { description: "The vertical offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.", type: "number" }, fill: { description: "Default Fill Color.  This has higher precedence than `config.color`\n\n__Default value:__ (None)", type: "string" }, fillOpacity: { description: "The fill opacity (value between [0,1]).\n\n__Default value:__ `1`", maximum: 1, minimum: 0, type: "number" }, filled: { description: "Whether the mark's color should be used as fill color instead of stroke color.\n\n__Default value:__ `true` for all marks except `point` and `false` for `point`.\n\n__Applicable for:__ `bar`, `point`, `circle`, `square`, and `area` marks.\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config).", type: "boolean" }, font: { description: 'The typeface to set the text in (e.g., `"Helvetica Neue"`).', type: "string" }, fontSize: { description: "The font size, in pixels.", minimum: 0, type: "number" }, fontStyle: { $ref: "#/definitions/FontStyle", description: 'The font style (e.g., `"italic"`).' }, fontWeight: { $ref: "#/definitions/FontWeight", description: 'The font weight.\nThis can be either a string (e.g `"bold"`, `"normal"`) or a number (`100`, `200`, `300`, ..., `900` where `"normal"` = `400` and `"bold"` = `700`).' }, href: { description: "A URL to load upon mouse click. If defined, the mark acts as a hyperlink.", format: "uri", type: "string" }, interpolate: { $ref: "#/definitions/Interpolate", description: 'The line interpolation method to use for line and area marks. One of the following:\n- `"linear"`: piecewise linear segments, as in a polyline.\n- `"linear-closed"`: close the linear segments to form a polygon.\n- `"step"`: alternate between horizontal and vertical segments, as in a step function.\n- `"step-before"`: alternate between vertical and horizontal segments, as in a step function.\n- `"step-after"`: alternate between horizontal and vertical segments, as in a step function.\n- `"basis"`: a B-spline, with control point duplication on the ends.\n- `"basis-open"`: an open B-spline; may not intersect the start or end.\n- `"basis-closed"`: a closed B-spline, as in a loop.\n- `"cardinal"`: a Cardinal spline, with control point duplication on the ends.\n- `"cardinal-open"`: an open Cardinal spline; may not intersect the start or end, but will intersect other control points.\n- `"cardinal-closed"`: a closed Cardinal spline, as in a loop.\n- `"bundle"`: equivalent to basis, except the tension parameter is used to straighten the spline.\n- `"monotone"`: cubic interpolation that preserves monotonicity in y.' }, limit: { description: "The maximum length of the text mark in pixels (default 0, indicating no limit). The text value will be automatically truncated if the rendered size exceeds the limit.", type: "number" }, opacity: { description: "The overall opacity (value between [0,1]).\n\n__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or `square` marks or layered `bar` charts and `1` otherwise.", maximum: 1, minimum: 0, type: "number" }, orient: { $ref: "#/definitions/Orient", description: `The orientation of a non-stacked bar, tick, area, and line charts.
The value is either horizontal (default) or vertical.
- For bar, rule and tick, this determines whether the size of the bar and tick
should be applied to x or y dimension.
- For area, this property determines the orient property of the Vega output.
- For line and trail marks, this property determines the sort order of the points in the line
if \`config.sortLineBy\` is not specified.
For stacked charts, this is always determined by the orientation of the stack;
therefore explicitly specified value will be ignored.` }, radius: { description: "Polar coordinate radial offset, in pixels, of the text label from the origin determined by the `x` and `y` properties.", minimum: 0, type: "number" }, shape: { description: 'The default symbol shape to use. One of: `"circle"` (default), `"square"`, `"cross"`, `"diamond"`, `"triangle-up"`, or `"triangle-down"`, or a custom SVG path.\n\n__Default value:__ `"circle"`', type: "string" }, size: { description: `The pixel area each the point/circle/square.
For example: in the case of circles, the radius is determined in part by the square root of the size value.

__Default value:__ \`30\``, minimum: 0, type: "number" }, stroke: { description: "Default Stroke Color.  This has higher precedence than `config.color`\n\n__Default value:__ (None)", type: "string" }, strokeCap: { description: 'The stroke cap for line ending style. One of `"butt"`, `"round"`, or `"square"`.\n\n__Default value:__ `"square"`', enum: ["butt", "round", "square"], type: "string" }, strokeDash: { description: "An array of alternating stroke, space lengths for creating dashed or dotted lines.", items: { type: "number" }, type: "array" }, strokeDashOffset: { description: "The offset (in pixels) into which to begin drawing with the stroke dash array.", type: "number" }, strokeOpacity: { description: "The stroke opacity (value between [0,1]).\n\n__Default value:__ `1`", maximum: 1, minimum: 0, type: "number" }, strokeWidth: { description: "The stroke width, in pixels.", minimum: 0, type: "number" }, tension: { description: "Depending on the interpolation type, sets the tension parameter (for line and area marks).", maximum: 1, minimum: 0, type: "number" }, text: { description: "Placeholder text if the `text` channel is not specified", type: "string" }, theta: { description: 'Polar coordinate angle, in radians, of the text label from the origin determined by the `x` and `y` properties. Values for `theta` follow the same convention of `arc` mark `startAngle` and `endAngle` properties: angles are measured in radians, with `0` indicating "north".', type: "number" } }, type: "object" }, MarkDef: { additionalProperties: !1, properties: { align: { $ref: "#/definitions/HorizontalAlign", description: 'The horizontal alignment of the text. One of `"left"`, `"right"`, `"center"`.' }, angle: { description: "The rotation angle of the text, in degrees.", maximum: 360, minimum: 0, type: "number" }, baseline: { $ref: "#/definitions/VerticalAlign", description: 'The vertical alignment of the text. One of `"top"`, `"middle"`, `"bottom"`.\n\n__Default value:__ `"middle"`' }, binSpacing: { description: "Offset between bars for binned field.  Ideal value for this is either 0 (Preferred by statisticians) or 1 (Vega-Lite Default, D3 example style).\n\n__Default value:__ `1`", minimum: 0, type: "number" }, clip: { description: "Whether a mark be clipped to the enclosing group’s width and height.", type: "boolean" }, color: { description: 'Default color.  Note that `fill` and `stroke` have higher precedence than `color` and will override `color`.\n\n__Default value:__ <span style="color: #4682b4;">&#9632;</span> `"#4682b4"`\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config).', type: "string" }, cursor: { description: "The mouse cursor used over the mark. Any valid [CSS cursor type](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used.", enum: ["auto", "default", "none", "context-menu", "help", "pointer", "progress", "wait", "cell", "crosshair", "text", "vertical-text", "alias", "copy", "move", "no-drop", "not-allowed", "e-resize", "n-resize", "ne-resize", "nw-resize", "s-resize", "se-resize", "sw-resize", "w-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "col-resize", "row-resize", "all-scroll", "zoom-in", "zoom-out", "grab", "grabbing"], type: "string" }, dx: { description: "The horizontal offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.", type: "number" }, dy: { description: "The vertical offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.", type: "number" }, fill: { description: "Default Fill Color.  This has higher precedence than `config.color`\n\n__Default value:__ (None)", type: "string" }, fillOpacity: { description: "The fill opacity (value between [0,1]).\n\n__Default value:__ `1`", maximum: 1, minimum: 0, type: "number" }, filled: { description: "Whether the mark's color should be used as fill color instead of stroke color.\n\n__Default value:__ `true` for all marks except `point` and `false` for `point`.\n\n__Applicable for:__ `bar`, `point`, `circle`, `square`, and `area` marks.\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config).", type: "boolean" }, font: { description: 'The typeface to set the text in (e.g., `"Helvetica Neue"`).', type: "string" }, fontSize: { description: "The font size, in pixels.", minimum: 0, type: "number" }, fontStyle: { $ref: "#/definitions/FontStyle", description: 'The font style (e.g., `"italic"`).' }, fontWeight: { $ref: "#/definitions/FontWeight", description: 'The font weight.\nThis can be either a string (e.g `"bold"`, `"normal"`) or a number (`100`, `200`, `300`, ..., `900` where `"normal"` = `400` and `"bold"` = `700`).' }, href: { description: "A URL to load upon mouse click. If defined, the mark acts as a hyperlink.", format: "uri", type: "string" }, interpolate: { $ref: "#/definitions/Interpolate", description: 'The line interpolation method to use for line and area marks. One of the following:\n- `"linear"`: piecewise linear segments, as in a polyline.\n- `"linear-closed"`: close the linear segments to form a polygon.\n- `"step"`: alternate between horizontal and vertical segments, as in a step function.\n- `"step-before"`: alternate between vertical and horizontal segments, as in a step function.\n- `"step-after"`: alternate between horizontal and vertical segments, as in a step function.\n- `"basis"`: a B-spline, with control point duplication on the ends.\n- `"basis-open"`: an open B-spline; may not intersect the start or end.\n- `"basis-closed"`: a closed B-spline, as in a loop.\n- `"cardinal"`: a Cardinal spline, with control point duplication on the ends.\n- `"cardinal-open"`: an open Cardinal spline; may not intersect the start or end, but will intersect other control points.\n- `"cardinal-closed"`: a closed Cardinal spline, as in a loop.\n- `"bundle"`: equivalent to basis, except the tension parameter is used to straighten the spline.\n- `"monotone"`: cubic interpolation that preserves monotonicity in y.' }, limit: { description: "The maximum length of the text mark in pixels (default 0, indicating no limit). The text value will be automatically truncated if the rendered size exceeds the limit.", type: "number" }, line: { anyOf: [{ type: "boolean" }, { $ref: "#/definitions/MarkProperties" }], description: "A flag for overlaying line on top of area marks, or an object defining the properties of the overlayed lines.\n\n- If this value is an empty object (`{}`) or `true`, lines with default properties will be used.\n\n- If this value is `false`, no lines would be automatically added to area marks.\n\n__Default value:__ `false`." }, opacity: { description: "The overall opacity (value between [0,1]).\n\n__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or `square` marks or layered `bar` charts and `1` otherwise.", maximum: 1, minimum: 0, type: "number" }, orient: { $ref: "#/definitions/Orient", description: `The orientation of a non-stacked bar, tick, area, and line charts.
The value is either horizontal (default) or vertical.
- For bar, rule and tick, this determines whether the size of the bar and tick
should be applied to x or y dimension.
- For area, this property determines the orient property of the Vega output.
- For line and trail marks, this property determines the sort order of the points in the line
if \`config.sortLineBy\` is not specified.
For stacked charts, this is always determined by the orientation of the stack;
therefore explicitly specified value will be ignored.` }, point: { anyOf: [{ type: "boolean" }, { $ref: "#/definitions/MarkProperties" }, { enum: ["transparent"], type: "string" }], description: 'A flag for overlaying points on top of line or area marks, or an object defining the properties of the overlayed points.\n\n- If this property is `"transparent"`, transparent points will be used (for enhancing tooltips and selections).\n\n- If this property is an empty object (`{}`) or `true`, filled points with default properties will be used.\n\n- If this property is `false`, no points would be automatically added to line or area marks.\n\n__Default value:__ `false`.' }, radius: { description: "Polar coordinate radial offset, in pixels, of the text label from the origin determined by the `x` and `y` properties.", minimum: 0, type: "number" }, shape: { description: 'The default symbol shape to use. One of: `"circle"` (default), `"square"`, `"cross"`, `"diamond"`, `"triangle-up"`, or `"triangle-down"`, or a custom SVG path.\n\n__Default value:__ `"circle"`', type: "string" }, size: { description: `The pixel area each the point/circle/square.
For example: in the case of circles, the radius is determined in part by the square root of the size value.

__Default value:__ \`30\``, minimum: 0, type: "number" }, stroke: { description: "Default Stroke Color.  This has higher precedence than `config.color`\n\n__Default value:__ (None)", type: "string" }, strokeCap: { description: 'The stroke cap for line ending style. One of `"butt"`, `"round"`, or `"square"`.\n\n__Default value:__ `"square"`', enum: ["butt", "round", "square"], type: "string" }, strokeDash: { description: "An array of alternating stroke, space lengths for creating dashed or dotted lines.", items: { type: "number" }, type: "array" }, strokeDashOffset: { description: "The offset (in pixels) into which to begin drawing with the stroke dash array.", type: "number" }, strokeOpacity: { description: "The stroke opacity (value between [0,1]).\n\n__Default value:__ `1`", maximum: 1, minimum: 0, type: "number" }, strokeWidth: { description: "The stroke width, in pixels.", minimum: 0, type: "number" }, style: { anyOf: [{ type: "string" }, { items: { type: "string" }, type: "array" }], description: 'A string or array of strings indicating the name of custom styles to apply to the mark. A style is a named collection of mark property defaults defined within the [style configuration](mark.html#style-config). If style is an array, later styles will override earlier styles. Any [mark properties](encoding.html#mark-prop) explicitly defined within the `encoding` will override a style default.\n\n__Default value:__ The mark\'s name.  For example, a bar mark will have style `"bar"` by default.\n__Note:__ Any specified style will augment the default style. For example, a bar mark with `"style": "foo"` will receive from `config.style.bar` and `config.style.foo` (the specified style `"foo"` has higher precedence).' }, tension: { description: "Depending on the interpolation type, sets the tension parameter (for line and area marks).", maximum: 1, minimum: 0, type: "number" }, text: { description: "Placeholder text if the `text` channel is not specified", type: "string" }, theta: { description: 'Polar coordinate angle, in radians, of the text label from the origin determined by the `x` and `y` properties. Values for `theta` follow the same convention of `arc` mark `startAngle` and `endAngle` properties: angles are measured in radians, with `0` indicating "north".', type: "number" }, type: { $ref: "#/definitions/Mark", description: 'The mark type.\nOne of `"bar"`, `"circle"`, `"square"`, `"tick"`, `"line"`,\n`"area"`, `"point"`, `"geoshape"`, `"rule"`, and `"text"`.' } }, required: ["type"], type: "object" }, MarkProperties: { additionalProperties: !1, properties: { align: { $ref: "#/definitions/HorizontalAlign", description: 'The horizontal alignment of the text. One of `"left"`, `"right"`, `"center"`.' }, angle: { description: "The rotation angle of the text, in degrees.", maximum: 360, minimum: 0, type: "number" }, baseline: { $ref: "#/definitions/VerticalAlign", description: 'The vertical alignment of the text. One of `"top"`, `"middle"`, `"bottom"`.\n\n__Default value:__ `"middle"`' }, binSpacing: { description: "Offset between bars for binned field.  Ideal value for this is either 0 (Preferred by statisticians) or 1 (Vega-Lite Default, D3 example style).\n\n__Default value:__ `1`", minimum: 0, type: "number" }, clip: { description: "Whether a mark be clipped to the enclosing group’s width and height.", type: "boolean" }, color: { description: 'Default color.  Note that `fill` and `stroke` have higher precedence than `color` and will override `color`.\n\n__Default value:__ <span style="color: #4682b4;">&#9632;</span> `"#4682b4"`\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config).', type: "string" }, cursor: { description: "The mouse cursor used over the mark. Any valid [CSS cursor type](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used.", enum: ["auto", "default", "none", "context-menu", "help", "pointer", "progress", "wait", "cell", "crosshair", "text", "vertical-text", "alias", "copy", "move", "no-drop", "not-allowed", "e-resize", "n-resize", "ne-resize", "nw-resize", "s-resize", "se-resize", "sw-resize", "w-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "col-resize", "row-resize", "all-scroll", "zoom-in", "zoom-out", "grab", "grabbing"], type: "string" }, dx: { description: "The horizontal offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.", type: "number" }, dy: { description: "The vertical offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.", type: "number" }, fill: { description: "Default Fill Color.  This has higher precedence than `config.color`\n\n__Default value:__ (None)", type: "string" }, fillOpacity: { description: "The fill opacity (value between [0,1]).\n\n__Default value:__ `1`", maximum: 1, minimum: 0, type: "number" }, filled: { description: "Whether the mark's color should be used as fill color instead of stroke color.\n\n__Default value:__ `true` for all marks except `point` and `false` for `point`.\n\n__Applicable for:__ `bar`, `point`, `circle`, `square`, and `area` marks.\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config).", type: "boolean" }, font: { description: 'The typeface to set the text in (e.g., `"Helvetica Neue"`).', type: "string" }, fontSize: { description: "The font size, in pixels.", minimum: 0, type: "number" }, fontStyle: { $ref: "#/definitions/FontStyle", description: 'The font style (e.g., `"italic"`).' }, fontWeight: { $ref: "#/definitions/FontWeight", description: 'The font weight.\nThis can be either a string (e.g `"bold"`, `"normal"`) or a number (`100`, `200`, `300`, ..., `900` where `"normal"` = `400` and `"bold"` = `700`).' }, href: { description: "A URL to load upon mouse click. If defined, the mark acts as a hyperlink.", format: "uri", type: "string" }, interpolate: { $ref: "#/definitions/Interpolate", description: 'The line interpolation method to use for line and area marks. One of the following:\n- `"linear"`: piecewise linear segments, as in a polyline.\n- `"linear-closed"`: close the linear segments to form a polygon.\n- `"step"`: alternate between horizontal and vertical segments, as in a step function.\n- `"step-before"`: alternate between vertical and horizontal segments, as in a step function.\n- `"step-after"`: alternate between horizontal and vertical segments, as in a step function.\n- `"basis"`: a B-spline, with control point duplication on the ends.\n- `"basis-open"`: an open B-spline; may not intersect the start or end.\n- `"basis-closed"`: a closed B-spline, as in a loop.\n- `"cardinal"`: a Cardinal spline, with control point duplication on the ends.\n- `"cardinal-open"`: an open Cardinal spline; may not intersect the start or end, but will intersect other control points.\n- `"cardinal-closed"`: a closed Cardinal spline, as in a loop.\n- `"bundle"`: equivalent to basis, except the tension parameter is used to straighten the spline.\n- `"monotone"`: cubic interpolation that preserves monotonicity in y.' }, limit: { description: "The maximum length of the text mark in pixels (default 0, indicating no limit). The text value will be automatically truncated if the rendered size exceeds the limit.", type: "number" }, opacity: { description: "The overall opacity (value between [0,1]).\n\n__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or `square` marks or layered `bar` charts and `1` otherwise.", maximum: 1, minimum: 0, type: "number" }, orient: { $ref: "#/definitions/Orient", description: `The orientation of a non-stacked bar, tick, area, and line charts.
The value is either horizontal (default) or vertical.
- For bar, rule and tick, this determines whether the size of the bar and tick
should be applied to x or y dimension.
- For area, this property determines the orient property of the Vega output.
- For line and trail marks, this property determines the sort order of the points in the line
if \`config.sortLineBy\` is not specified.
For stacked charts, this is always determined by the orientation of the stack;
therefore explicitly specified value will be ignored.` }, radius: { description: "Polar coordinate radial offset, in pixels, of the text label from the origin determined by the `x` and `y` properties.", minimum: 0, type: "number" }, shape: { description: 'The default symbol shape to use. One of: `"circle"` (default), `"square"`, `"cross"`, `"diamond"`, `"triangle-up"`, or `"triangle-down"`, or a custom SVG path.\n\n__Default value:__ `"circle"`', type: "string" }, size: { description: `The pixel area each the point/circle/square.
For example: in the case of circles, the radius is determined in part by the square root of the size value.

__Default value:__ \`30\``, minimum: 0, type: "number" }, stroke: { description: "Default Stroke Color.  This has higher precedence than `config.color`\n\n__Default value:__ (None)", type: "string" }, strokeCap: { description: 'The stroke cap for line ending style. One of `"butt"`, `"round"`, or `"square"`.\n\n__Default value:__ `"square"`', enum: ["butt", "round", "square"], type: "string" }, strokeDash: { description: "An array of alternating stroke, space lengths for creating dashed or dotted lines.", items: { type: "number" }, type: "array" }, strokeDashOffset: { description: "The offset (in pixels) into which to begin drawing with the stroke dash array.", type: "number" }, strokeOpacity: { description: "The stroke opacity (value between [0,1]).\n\n__Default value:__ `1`", maximum: 1, minimum: 0, type: "number" }, strokeWidth: { description: "The stroke width, in pixels.", minimum: 0, type: "number" }, style: { anyOf: [{ type: "string" }, { items: { type: "string" }, type: "array" }], description: 'A string or array of strings indicating the name of custom styles to apply to the mark. A style is a named collection of mark property defaults defined within the [style configuration](mark.html#style-config). If style is an array, later styles will override earlier styles. Any [mark properties](encoding.html#mark-prop) explicitly defined within the `encoding` will override a style default.\n\n__Default value:__ The mark\'s name.  For example, a bar mark will have style `"bar"` by default.\n__Note:__ Any specified style will augment the default style. For example, a bar mark with `"style": "foo"` will receive from `config.style.bar` and `config.style.foo` (the specified style `"foo"` has higher precedence).' }, tension: { description: "Depending on the interpolation type, sets the tension parameter (for line and area marks).", maximum: 1, minimum: 0, type: "number" }, text: { description: "Placeholder text if the `text` channel is not specified", type: "string" }, theta: { description: 'Polar coordinate angle, in radians, of the text label from the origin determined by the `x` and `y` properties. Values for `theta` follow the same convention of `arc` mark `startAngle` and `endAngle` properties: angles are measured in radians, with `0` indicating "north".', type: "number" } }, type: "object" }, Month: { maximum: 12, minimum: 1, type: "number" }, MultiSelection: { additionalProperties: !1, properties: { empty: { description: "By default, all data values are considered to lie within an empty selection.\nWhen set to `none`, empty selections contain no data values.", enum: ["all", "none"], type: "string" }, encodings: { description: `An array of encoding channels. The corresponding data field values
must match for a data tuple to fall within the selection.`, items: { $ref: "#/definitions/SingleDefChannel" }, type: "array" }, fields: { description: `An array of field names whose values must match for a data tuple to
fall within the selection.`, items: { type: "string" }, type: "array" }, nearest: { description: `When true, an invisible voronoi diagram is computed to accelerate discrete
selection. The data value _nearest_ the mouse cursor is added to the selection.

See the [nearest transform](nearest.html) documentation for more information.`, type: "boolean" }, on: { $ref: "#/definitions/VgEventStream", description: `A [Vega event stream](https://vega.github.io/vega/docs/event-streams/) (object or selector) that triggers the selection.
For interval selections, the event stream must specify a [start and end](https://vega.github.io/vega/docs/event-streams/#between-filters).` }, resolve: { $ref: "#/definitions/SelectionResolution", description: `With layered and multi-view displays, a strategy that determines how
selections' data queries are resolved when applied in a filter transform,
conditional encoding rule, or scale domain.` }, toggle: { description: "Controls whether data values should be toggled or only ever inserted into\nmulti selections. Can be `true`, `false` (for insertion only), or a\n[Vega expression](https://vega.github.io/vega/docs/expressions/).\n\n__Default value:__ `true`, which corresponds to `event.shiftKey` (i.e.,\ndata values are toggled when a user interacts with the shift-key pressed).\n\nSee the [toggle transform](toggle.html) documentation for more information.", type: ["string", "boolean"] }, type: { enum: ["multi"], type: "string" } }, required: ["type"], type: "object" }, MultiSelectionConfig: { additionalProperties: !1, properties: { empty: { description: "By default, all data values are considered to lie within an empty selection.\nWhen set to `none`, empty selections contain no data values.", enum: ["all", "none"], type: "string" }, encodings: { description: `An array of encoding channels. The corresponding data field values
must match for a data tuple to fall within the selection.`, items: { $ref: "#/definitions/SingleDefChannel" }, type: "array" }, fields: { description: `An array of field names whose values must match for a data tuple to
fall within the selection.`, items: { type: "string" }, type: "array" }, nearest: { description: `When true, an invisible voronoi diagram is computed to accelerate discrete
selection. The data value _nearest_ the mouse cursor is added to the selection.

See the [nearest transform](nearest.html) documentation for more information.`, type: "boolean" }, on: { $ref: "#/definitions/VgEventStream", description: `A [Vega event stream](https://vega.github.io/vega/docs/event-streams/) (object or selector) that triggers the selection.
For interval selections, the event stream must specify a [start and end](https://vega.github.io/vega/docs/event-streams/#between-filters).` }, resolve: { $ref: "#/definitions/SelectionResolution", description: `With layered and multi-view displays, a strategy that determines how
selections' data queries are resolved when applied in a filter transform,
conditional encoding rule, or scale domain.` }, toggle: { description: "Controls whether data values should be toggled or only ever inserted into\nmulti selections. Can be `true`, `false` (for insertion only), or a\n[Vega expression](https://vega.github.io/vega/docs/expressions/).\n\n__Default value:__ `true`, which corresponds to `event.shiftKey` (i.e.,\ndata values are toggled when a user interacts with the shift-key pressed).\n\nSee the [toggle transform](toggle.html) documentation for more information.", type: ["string", "boolean"] } }, type: "object" }, MultiTimeUnit: { anyOf: [{ $ref: "#/definitions/LocalMultiTimeUnit" }, { $ref: "#/definitions/UtcMultiTimeUnit" }] }, NamedData: { additionalProperties: !1, properties: { format: { $ref: "#/definitions/DataFormat", description: "An object that specifies the format for parsing the data." }, name: { description: "Provide a placeholder name and bind data at runtime.", type: "string" } }, required: ["name"], type: "object" }, NiceTime: { enum: ["second", "minute", "hour", "day", "week", "month", "year"], type: "string" }, OrderFieldDef: { additionalProperties: !1, properties: { aggregate: { $ref: "#/definitions/Aggregate", description: "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" }, bin: { anyOf: [{ type: "boolean" }, { $ref: "#/definitions/BinParams" }], description: "A flag for binning a `quantitative` field, or [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params).\nIf `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n__Default value:__ `false`" }, field: { anyOf: [{ type: "string" }, { $ref: "#/definitions/RepeatRef" }], description: '__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `"field": "foo.bar"` and `"field": "foo[\'bar\']"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `"a\\\\.b"` and `"a\\\\[0\\\\]"`).\nSee more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`.' }, sort: { $ref: "#/definitions/SortOrder", description: 'The sort order. One of `"ascending"` (default) or `"descending"`.' }, timeUnit: { $ref: "#/definitions/TimeUnit", description: "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)" }, title: { description: 'A title for the field. If `null`, the title will be removed.\n\n__Default value:__  derived from the field\'s name and transformation function (`aggregate`, `bin` and `timeUnit`).  If the field has an aggregate function, the function is displayed as part of the title (e.g., `"Sum of Profit"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `"Profit (binned)"`, `"Transaction Date (year-month)"`).  Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle` property in the [config](config.html) or [`fieldTitle` function via the `compile` function\'s options](compile.html#field-title).\n\n2) If both field definition\'s `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used.', type: ["string", "null"] }, type: { $ref: "#/definitions/Type", description: 'The encoded field\'s type of measurement (`"quantitative"`, `"temporal"`, `"ordinal"`, or `"nominal"`).\nIt can also be a `"geojson"` type for encoding [\'geoshape\'](geoshape.html).' } }, required: ["type"], type: "object" }, Orient: { enum: ["horizontal", "vertical"], type: "string" }, Padding: { anyOf: [{ type: "number" }, { additionalProperties: !1, properties: { bottom: { type: "number" }, left: { type: "number" }, right: { type: "number" }, top: { type: "number" } }, type: "object" }], minimum: 0 }, PositionFieldDef: { additionalProperties: !1, properties: { aggregate: { $ref: "#/definitions/Aggregate", description: "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" }, axis: { anyOf: [{ $ref: "#/definitions/Axis" }, { type: "null" }], description: `An object defining properties of axis's gridlines, ticks and labels.
If \`null\`, the axis for the encoding channel will be removed.

__Default value:__ If undefined, default [axis properties](https://vega.github.io/vega-lite/docs/axis.html) are applied.` }, bin: { anyOf: [{ type: "boolean" }, { $ref: "#/definitions/BinParams" }], description: "A flag for binning a `quantitative` field, or [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params).\nIf `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n__Default value:__ `false`" }, field: { anyOf: [{ type: "string" }, { $ref: "#/definitions/RepeatRef" }], description: '__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `"field": "foo.bar"` and `"field": "foo[\'bar\']"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `"a\\\\.b"` and `"a\\\\[0\\\\]"`).\nSee more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`.' }, scale: { anyOf: [{ $ref: "#/definitions/Scale" }, { type: "null" }], description: `An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.

If \`null\`, the scale will be [disabled and the data value will be directly encoded](https://vega.github.io/vega-lite/docs/scale.html#disable).

__Default value:__ If undefined, default [scale properties](https://vega.github.io/vega-lite/docs/scale.html) are applied.` }, sort: { anyOf: [{ items: { type: "string" }, type: "array" }, { $ref: "#/definitions/SortOrder" }, { $ref: "#/definitions/SortField" }, { type: "null" }], description: 'Sort order for the encoded field.\nSupported `sort` values include `"ascending"`, `"descending"`, `null` (no sorting), or an array specifying the preferred order of values.\nFor fields with discrete domains, `sort` can also be a [sort field definition object](https://vega.github.io/vega-lite/docs/sort.html#sort-field).\nFor `sort` as an [array specifying the preferred order of values](https://vega.github.io/vega-lite/docs/sort.html#sort-array), the sort order will obey the values in the array, followed by any unspecified values in their original order.\n\n__Default value:__ `"ascending"`' }, stack: { anyOf: [{ $ref: "#/definitions/StackOffset" }, { type: "null" }], description: 'Type of stacking offset if the field should be stacked.\n`stack` is only applicable for `x` and `y` channels with continuous domains.\nFor example, `stack` of `y` can be used to customize stacking for a vertical bar chart.\n\n`stack` can be one of the following values:\n- `"zero"`: stacking with baseline offset at zero value of the scale (for creating typical stacked [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and [area](https://vega.github.io/vega-lite/docs/stack.html#area) chart).\n- `"normalize"` - stacking with normalized domain (for creating [normalized stacked bar and area charts](https://vega.github.io/vega-lite/docs/stack.html#normalized). <br/>\n-`"center"` - stacking with center baseline (for [streamgraph](https://vega.github.io/vega-lite/docs/stack.html#streamgraph)).\n- `null` - No-stacking. This will produce layered [bar](https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart) and area chart.\n\n__Default value:__ `zero` for plots with all of the following conditions are true:\n(1) the mark is `bar` or `area`;\n(2) the stacked measure channel (x or y) has a linear scale;\n(3) At least one of non-position channels mapped to an unaggregated field that is different from x and y.  Otherwise, `null` by default.' }, timeUnit: { $ref: "#/definitions/TimeUnit", description: "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)" }, title: { description: 'A title for the field. If `null`, the title will be removed.\n\n__Default value:__  derived from the field\'s name and transformation function (`aggregate`, `bin` and `timeUnit`).  If the field has an aggregate function, the function is displayed as part of the title (e.g., `"Sum of Profit"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `"Profit (binned)"`, `"Transaction Date (year-month)"`).  Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle` property in the [config](config.html) or [`fieldTitle` function via the `compile` function\'s options](compile.html#field-title).\n\n2) If both field definition\'s `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used.', type: ["string", "null"] }, type: { $ref: "#/definitions/Type", description: 'The encoded field\'s type of measurement (`"quantitative"`, `"temporal"`, `"ordinal"`, or `"nominal"`).\nIt can also be a `"geojson"` type for encoding [\'geoshape\'](geoshape.html).' } }, required: ["type"], type: "object" }, Predicate: { anyOf: [{ $ref: "#/definitions/FieldEqualPredicate" }, { $ref: "#/definitions/FieldRangePredicate" }, { $ref: "#/definitions/FieldOneOfPredicate" }, { $ref: "#/definitions/SelectionPredicate" }, { type: "string" }] }, Projection: { additionalProperties: !1, properties: { center: { description: "Sets the projection’s center to the specified center, a two-element array of longitude and latitude in degrees.\n\n__Default value:__ `[0, 0]`", items: { type: "number" }, type: "array" }, clipAngle: { description: "Sets the projection’s clipping circle radius to the specified angle in degrees. If `null`, switches to [antimeridian](http://bl.ocks.org/mbostock/3788999) cutting rather than small-circle clipping.", type: "number" }, clipExtent: { description: "Sets the projection’s viewport clip extent to the specified bounds in pixels. The extent bounds are specified as an array `[[x0, y0], [x1, y1]]`, where `x0` is the left-side of the viewport, `y0` is the top, `x1` is the right and `y1` is the bottom. If `null`, no viewport clipping is performed.", items: { items: { type: "number" }, type: "array" }, type: "array" }, coefficient: { type: "number" }, distance: { type: "number" }, fraction: { type: "number" }, lobes: { type: "number" }, parallel: { type: "number" }, precision: { additionalProperties: { type: "string" }, description: "Sets the threshold for the projection’s [adaptive resampling](http://bl.ocks.org/mbostock/3795544) to the specified value in pixels. This value corresponds to the [Douglas–Peucker distance](http://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm). If precision is not specified, returns the projection’s current resampling precision which defaults to `√0.5 ≅ 0.70710…`.", properties: { length: { description: "Returns the length of a String object. ", type: "number" } }, required: ["length"], type: "object" }, radius: { type: "number" }, ratio: { type: "number" }, rotate: { description: "Sets the projection’s three-axis rotation to the specified angles, which must be a two- or three-element array of numbers [`lambda`, `phi`, `gamma`] specifying the rotation angles in degrees about each spherical axis. (These correspond to yaw, pitch and roll.)\n\n__Default value:__ `[0, 0, 0]`", items: { type: "number" }, type: "array" }, spacing: { type: "number" }, tilt: { type: "number" }, type: { $ref: "#/definitions/ProjectionType", description: 'The cartographic projection to use. This value is case-insensitive, for example `"albers"` and `"Albers"` indicate the same projection type. You can find all valid projection types [in the documentation](https://vega.github.io/vega-lite/docs/projection.html#projection-types).\n\n__Default value:__ `mercator`' } }, type: "object" }, ProjectionConfig: { additionalProperties: !1, description: "Any property of Projection can be in config", properties: { center: { description: "Sets the projection’s center to the specified center, a two-element array of longitude and latitude in degrees.\n\n__Default value:__ `[0, 0]`", items: { type: "number" }, type: "array" }, clipAngle: { description: "Sets the projection’s clipping circle radius to the specified angle in degrees. If `null`, switches to [antimeridian](http://bl.ocks.org/mbostock/3788999) cutting rather than small-circle clipping.", type: "number" }, clipExtent: { description: "Sets the projection’s viewport clip extent to the specified bounds in pixels. The extent bounds are specified as an array `[[x0, y0], [x1, y1]]`, where `x0` is the left-side of the viewport, `y0` is the top, `x1` is the right and `y1` is the bottom. If `null`, no viewport clipping is performed.", items: { items: { type: "number" }, type: "array" }, type: "array" }, coefficient: { type: "number" }, distance: { type: "number" }, fraction: { type: "number" }, lobes: { type: "number" }, parallel: { type: "number" }, precision: { additionalProperties: { type: "string" }, description: "Sets the threshold for the projection’s [adaptive resampling](http://bl.ocks.org/mbostock/3795544) to the specified value in pixels. This value corresponds to the [Douglas–Peucker distance](http://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm). If precision is not specified, returns the projection’s current resampling precision which defaults to `√0.5 ≅ 0.70710…`.", properties: { length: { description: "Returns the length of a String object. ", type: "number" } }, required: ["length"], type: "object" }, radius: { type: "number" }, ratio: { type: "number" }, rotate: { description: "Sets the projection’s three-axis rotation to the specified angles, which must be a two- or three-element array of numbers [`lambda`, `phi`, `gamma`] specifying the rotation angles in degrees about each spherical axis. (These correspond to yaw, pitch and roll.)\n\n__Default value:__ `[0, 0, 0]`", items: { type: "number" }, type: "array" }, spacing: { type: "number" }, tilt: { type: "number" }, type: { $ref: "#/definitions/ProjectionType", description: 'The cartographic projection to use. This value is case-insensitive, for example `"albers"` and `"Albers"` indicate the same projection type. You can find all valid projection types [in the documentation](https://vega.github.io/vega-lite/docs/projection.html#projection-types).\n\n__Default value:__ `mercator`' } }, type: "object" }, ProjectionType: { $ref: "#/definitions/VgProjectionType" }, RangeConfig: { additionalProperties: { $ref: "#/definitions/RangeConfigValue" }, properties: { category: { anyOf: [{ items: { type: "string" }, type: "array" }, { $ref: "#/definitions/VgScheme" }], description: "Default range for _nominal_ (categorical) fields." }, diverging: { anyOf: [{ items: { type: "string" }, type: "array" }, { $ref: "#/definitions/VgScheme" }], description: "Default range for diverging _quantitative_ fields." }, heatmap: { anyOf: [{ items: { type: "string" }, type: "array" }, { $ref: "#/definitions/VgScheme" }], description: "Default range for _quantitative_ heatmaps." }, ordinal: { anyOf: [{ items: { type: "string" }, type: "array" }, { $ref: "#/definitions/VgScheme" }], description: "Default range for _ordinal_ fields." }, ramp: { anyOf: [{ items: { type: "string" }, type: "array" }, { $ref: "#/definitions/VgScheme" }], description: "Default range for _quantitative_ and _temporal_ fields." }, symbol: { description: "Default range palette for the `shape` channel.", items: { type: "string" }, type: "array" } }, type: "object" }, RangeConfigValue: { anyOf: [{ items: { type: ["number", "string"] }, type: "array" }, { $ref: "#/definitions/VgScheme" }, { additionalProperties: !1, properties: { step: { type: "number" } }, required: ["step"], type: "object" }] }, Repeat: { additionalProperties: !1, properties: { column: { description: "Horizontal repeated views.", items: { type: "string" }, type: "array" }, row: { description: "Vertical repeated views.", items: { type: "string" }, type: "array" } }, type: "object" }, RepeatRef: { additionalProperties: !1, description: "Reference to a repeated value.", properties: { repeat: { enum: ["row", "column"], type: "string" } }, required: ["repeat"], type: "object" }, Resolve: { additionalProperties: !1, description: "Defines how scales, axes, and legends from different specs should be combined. Resolve is a mapping from `scale`, `axis`, and `legend` to a mapping from channels to resolutions.", properties: { axis: { $ref: "#/definitions/AxisResolveMap" }, legend: { $ref: "#/definitions/LegendResolveMap" }, scale: { $ref: "#/definitions/ScaleResolveMap" } }, type: "object" }, ResolveMode: { enum: ["independent", "shared"], type: "string" }, Scale: { additionalProperties: !1, properties: { base: { description: "The logarithm base of the `log` scale (default `10`).", type: "number" }, clamp: { description: "If `true`, values that exceed the data domain are clamped to either the minimum or maximum range value\n\n__Default value:__ derived from the [scale config](config.html#scale-config)'s `clamp` (`true` by default).", type: "boolean" }, domain: { anyOf: [{ items: { type: "number" }, type: "array" }, { items: { type: "string" }, type: "array" }, { items: { type: "boolean" }, type: "array" }, { items: { $ref: "#/definitions/DateTime" }, type: "array" }, { enum: ["unaggregated"], type: "string" }, { $ref: "#/definitions/SelectionDomain" }], description: 'Customized domain values.\n\nFor _quantitative_ fields, `domain` can take the form of a two-element array with minimum and maximum values.  [Piecewise scales](scale.html#piecewise) can be created by providing a `domain` with more than two entries.\nIf the input field is aggregated, `domain` can also be a string value `"unaggregated"`, indicating that the domain should include the raw data values prior to the aggregation.\n\nFor _temporal_ fields, `domain` can be a two-element array minimum and maximum values, in the form of either timestamps or the [DateTime definition objects](types.html#datetime).\n\nFor _ordinal_ and _nominal_ fields, `domain` can be an array that lists valid input values.\n\nThe `selection` property can be used to [interactively determine](selection.html#scale-domains) the scale domain.' }, exponent: { description: "The exponent of the `pow` scale.", type: "number" }, interpolate: { anyOf: [{ $ref: "#/definitions/ScaleInterpolate" }, { $ref: "#/definitions/ScaleInterpolateParams" }], description: "The interpolation method for range values. By default, a general interpolator for numbers, dates, strings and colors (in RGB space) is used. For color ranges, this property allows interpolation in alternative color spaces. Legal values include `rgb`, `hsl`, `hsl-long`, `lab`, `hcl`, `hcl-long`, `cubehelix` and `cubehelix-long` ('-long' variants use longer paths in polar coordinate spaces). If object-valued, this property accepts an object with a string-valued _type_ property and an optional numeric _gamma_ property applicable to rgb and cubehelix interpolators. For more, see the [d3-interpolate documentation](https://github.com/d3/d3-interpolate).\n\n__Note:__ Sequential scales do not support `interpolate` as they have a fixed interpolator.  Since Vega-Lite uses sequential scales for quantitative fields by default, you have to set the scale `type` to other quantitative scale type such as `\"linear\"` to customize `interpolate`." }, nice: { anyOf: [{ type: "boolean" }, { type: "number" }, { $ref: "#/definitions/NiceTime" }, { additionalProperties: !1, properties: { interval: { type: "string" }, step: { type: "number" } }, required: ["interval", "step"], type: "object" }], description: 'Extending the domain so that it starts and ends on nice round values. This method typically modifies the scale’s domain, and may only extend the bounds to the nearest round value. Nicing is useful if the domain is computed from data and may be irregular. For example, for a domain of _[0.201479…, 0.996679…]_, a nice domain might be _[0.2, 1.0]_.\n\nFor quantitative scales such as linear, `nice` can be either a boolean flag or a number. If `nice` is a number, it will represent a desired tick count. This allows greater control over the step size used to extend the bounds, guaranteeing that the returned ticks will exactly cover the domain.\n\nFor temporal fields with time and utc scales, the `nice` value can be a string indicating the desired time interval. Legal values are `"millisecond"`, `"second"`, `"minute"`, `"hour"`, `"day"`, `"week"`, `"month"`, and `"year"`. Alternatively, `time` and `utc` scales can accept an object-valued interval specifier of the form `{"interval": "month", "step": 3}`, which includes a desired number of interval steps. Here, the domain would snap to quarter (Jan, Apr, Jul, Oct) boundaries.\n\n__Default value:__ `true` for unbinned _quantitative_ fields; `false` otherwise.' }, padding: { description: "For _[continuous](scale.html#continuous)_ scales, expands the scale domain to accommodate the specified number of pixels on each of the scale range. The scale range must represent pixels for this parameter to function as intended. Padding adjustment is performed prior to all other adjustments, including the effects of the zero, nice, domainMin, and domainMax properties.\n\nFor _[band](scale.html#band)_ scales, shortcut for setting `paddingInner` and `paddingOuter` to the same value.\n\nFor _[point](scale.html#point)_ scales, alias for `paddingOuter`.\n\n__Default value:__ For _continuous_ scales, derived from the [scale config](scale.html#config)'s `continuousPadding`.\nFor _band and point_ scales, see `paddingInner` and `paddingOuter`.", minimum: 0, type: "number" }, paddingInner: { description: `The inner padding (spacing) within each band step of band scales, as a fraction of the step size. This value must lie in the range [0,1].

For point scale, this property is invalid as point scales do not have internal band widths (only step sizes between bands).

__Default value:__ derived from the [scale config](scale.html#config)'s \`bandPaddingInner\`.`, maximum: 1, minimum: 0, type: "number" }, paddingOuter: { description: "The outer padding (spacing) at the ends of the range of band and point scales,\nas a fraction of the step size. This value must lie in the range [0,1].\n\n__Default value:__ derived from the [scale config](scale.html#config)'s `bandPaddingOuter` for band scales and `pointPadding` for point scales.", maximum: 1, minimum: 0, type: "number" }, range: { anyOf: [{ items: { type: "number" }, type: "array" }, { items: { type: "string" }, type: "array" }, { type: "string" }], description: 'The range of the scale. One of:\n\n- A string indicating a [pre-defined named scale range](scale.html#range-config) (e.g., example, `"symbol"`, or `"diverging"`).\n\n- For [continuous scales](scale.html#continuous), two-element array indicating  minimum and maximum values, or an array with more than two entries for specifying a [piecewise scale](scale.html#piecewise).\n\n- For [discrete](scale.html#discrete) and [discretizing](scale.html#discretizing) scales, an array of desired output values.\n\n__Notes:__\n\n1) For [sequential](scale.html#sequential), [ordinal](scale.html#ordinal), and discretizing color scales, you can also specify a color [`scheme`](scale.html#scheme) instead of `range`.\n\n2) Any directly specified `range` for `x` and `y` channels will be ignored. Range can be customized via the view\'s corresponding [size](size.html) (`width` and `height`) or via [range steps and paddings properties](#range-step) for [band](#band) and [point](#point) scales.' }, rangeStep: { description: "The distance between the starts of adjacent bands or points in [band](scale.html#band) and [point](scale.html#point) scales.\n\nIf `rangeStep` is `null` or if the view contains the scale's corresponding [size](size.html) (`width` for `x` scales and `height` for `y` scales), `rangeStep` will be automatically determined to fit the size of the view.\n\n__Default value:__  derived the [scale config](config.html#scale-config)'s `textXRangeStep` (`90` by default) for x-scales of `text` marks and `rangeStep` (`21` by default) for x-scales of other marks and y-scales.\n\n__Warning__: If `rangeStep` is `null` and the cardinality of the scale's domain is higher than `width` or `height`, the rangeStep might become less than one pixel and the mark might not appear correctly.", minimum: 0, type: ["number", "null"] }, round: { description: "If `true`, rounds numeric output values to integers. This can be helpful for snapping to the pixel grid.\n\n__Default value:__ `false`.", type: "boolean" }, scheme: { anyOf: [{ type: "string" }, { $ref: "#/definitions/SchemeParams" }], description: 'A string indicating a color [scheme](scale.html#scheme) name (e.g., `"category10"` or `"viridis"`) or a [scheme parameter object](scale.html#scheme-params).\n\nDiscrete color schemes may be used with [discrete](scale.html#discrete) or [discretizing](scale.html#discretizing) scales. Continuous color schemes are intended for use with [sequential](scales.html#sequential) scales.\n\nFor the full list of supported schemes, please refer to the [Vega Scheme](https://vega.github.io/vega/docs/schemes/#reference) reference.' }, type: { $ref: "#/definitions/ScaleType", description: 'The type of scale.  Vega-Lite supports the following categories of scale types:\n\n1) [**Continuous Scales**](scale.html#continuous) -- mapping continuous domains to continuous output ranges ([`"linear"`](scale.html#linear), [`"pow"`](scale.html#pow), [`"sqrt"`](scale.html#sqrt), [`"log"`](scale.html#log), [`"time"`](scale.html#time), [`"utc"`](scale.html#utc), [`"sequential"`](scale.html#sequential)).\n\n2) [**Discrete Scales**](scale.html#discrete) -- mapping discrete domains to discrete ([`"ordinal"`](scale.html#ordinal)) or continuous ([`"band"`](scale.html#band) and [`"point"`](scale.html#point)) output ranges.\n\n3) [**Discretizing Scales**](scale.html#discretizing) -- mapping continuous domains to discrete output ranges ([`"bin-linear"`](scale.html#bin-linear) and [`"bin-ordinal"`](scale.html#bin-ordinal)).\n\n__Default value:__ please see the [scale type table](scale.html#type).' }, zero: { description: "If `true`, ensures that a zero baseline value is included in the scale domain.\n\n__Default value:__ `true` for x and y channels if the quantitative field is not binned and no custom `domain` is provided; `false` otherwise.\n\n__Note:__ Log, time, and utc scales do not support `zero`.", type: "boolean" } }, type: "object" }, ScaleConfig: { additionalProperties: !1, properties: { bandPaddingInner: { description: "Default inner padding for `x` and `y` band-ordinal scales.\n\n__Default value:__ `0.1`", maximum: 1, minimum: 0, type: "number" }, bandPaddingOuter: { description: "Default outer padding for `x` and `y` band-ordinal scales.\nIf not specified, by default, band scale's paddingOuter is paddingInner/2.", maximum: 1, minimum: 0, type: "number" }, clamp: { description: "If true, values that exceed the data domain are clamped to either the minimum or maximum range value", type: "boolean" }, continuousPadding: { description: "Default padding for continuous scales.\n\n__Default:__ `5` for continuous x-scale of a vertical bar and continuous y-scale of a horizontal bar.; `0` otherwise.", minimum: 0, type: "number" }, maxBandSize: { description: "The default max value for mapping quantitative fields to bar's size/bandSize.\n\nIf undefined (default), we will use the scale's `rangeStep` - 1.", minimum: 0, type: "number" }, maxFontSize: { description: "The default max value for mapping quantitative fields to text's size/fontSize.\n\n__Default value:__ `40`", minimum: 0, type: "number" }, maxOpacity: { description: "Default max opacity for mapping a field to opacity.\n\n__Default value:__ `0.8`", maximum: 1, minimum: 0, type: "number" }, maxSize: { description: "Default max value for point size scale.", minimum: 0, type: "number" }, maxStrokeWidth: { description: "Default max strokeWidth for the scale of strokeWidth for rule and line marks and of size for trail marks.\n\n__Default value:__ `4`", minimum: 0, type: "number" }, minBandSize: { description: "The default min value for mapping quantitative fields to bar and tick's size/bandSize scale with zero=false.\n\n__Default value:__ `2`", minimum: 0, type: "number" }, minFontSize: { description: "The default min value for mapping quantitative fields to tick's size/fontSize scale with zero=false\n\n__Default value:__ `8`", minimum: 0, type: "number" }, minOpacity: { description: "Default minimum opacity for mapping a field to opacity.\n\n__Default value:__ `0.3`", maximum: 1, minimum: 0, type: "number" }, minSize: { description: "Default minimum value for point size scale with zero=false.\n\n__Default value:__ `9`", minimum: 0, type: "number" }, minStrokeWidth: { description: "Default minimum strokeWidth for the scale of strokeWidth for rule and line marks and of size for trail marks with zero=false.\n\n__Default value:__ `1`", minimum: 0, type: "number" }, pointPadding: { description: "Default outer padding for `x` and `y` point-ordinal scales.\n\n__Default value:__ `0.5`", maximum: 1, minimum: 0, type: "number" }, rangeStep: { description: "Default range step for band and point scales of (1) the `y` channel\nand (2) the `x` channel when the mark is not `text`.\n\n__Default value:__ `21`", minimum: 0, type: ["number", "null"] }, round: { description: "If true, rounds numeric output values to integers.\nThis can be helpful for snapping to the pixel grid.\n(Only available for `x`, `y`, and `size` scales.)", type: "boolean" }, textXRangeStep: { description: "Default range step for `x` band and point scales of text marks.\n\n__Default value:__ `90`", minimum: 0, type: "number" }, useUnaggregatedDomain: { description: 'Use the source data range before aggregation as scale domain instead of aggregated data for aggregate axis.\n\nThis is equivalent to setting `domain` to `"unaggregate"` for aggregated _quantitative_ fields by default.\n\nThis property only works with aggregate functions that produce values within the raw data domain (`"mean"`, `"average"`, `"median"`, `"q1"`, `"q3"`, `"min"`, `"max"`). For other aggregations that produce values outside of the raw data domain (e.g. `"count"`, `"sum"`), this property is ignored.\n\n__Default value:__ `false`', type: "boolean" } }, type: "object" }, ScaleInterpolate: { enum: ["rgb", "lab", "hcl", "hsl", "hsl-long", "hcl-long", "cubehelix", "cubehelix-long"], type: "string" }, ScaleInterpolateParams: { additionalProperties: !1, properties: { gamma: { type: "number" }, type: { enum: ["rgb", "cubehelix", "cubehelix-long"], type: "string" } }, required: ["type"], type: "object" }, ScaleResolveMap: { additionalProperties: !1, properties: { color: { $ref: "#/definitions/ResolveMode" }, fill: { $ref: "#/definitions/ResolveMode" }, opacity: { $ref: "#/definitions/ResolveMode" }, shape: { $ref: "#/definitions/ResolveMode" }, size: { $ref: "#/definitions/ResolveMode" }, stroke: { $ref: "#/definitions/ResolveMode" }, x: { $ref: "#/definitions/ResolveMode" }, y: { $ref: "#/definitions/ResolveMode" } }, type: "object" }, ScaleType: { enum: ["linear", "bin-linear", "log", "pow", "sqrt", "time", "utc", "sequential", "ordinal", "bin-ordinal", "point", "band"], type: "string" }, SchemeParams: { additionalProperties: !1, properties: { extent: { description: "For sequential and diverging schemes only, determines the extent of the color range to use. For example `[0.2, 1]` will rescale the color scheme such that color values in the range _[0, 0.2)_ are excluded from the scheme.", items: { type: "number" }, type: "array" }, name: { description: 'A color scheme name for sequential/ordinal scales (e.g., `"category10"` or `"viridis"`).\n\nFor the full list of supported schemes, please refer to the [Vega Scheme](https://vega.github.io/vega/docs/schemes/#reference) reference.', type: "string" } }, required: ["name"], type: "object" }, SelectionConfig: { additionalProperties: !1, properties: { interval: { $ref: "#/definitions/IntervalSelectionConfig", description: 'The default definition for an [`interval`](selection.html#type) selection. All properties and transformations\nfor an interval selection definition (except `type`) may be specified here.\n\nFor instance, setting `interval` to `{"translate": false}` disables the ability to move\ninterval selections by default.' }, multi: { $ref: "#/definitions/MultiSelectionConfig", description: 'The default definition for a [`multi`](selection.html#type) selection. All properties and transformations\nfor a multi selection definition (except `type`) may be specified here.\n\nFor instance, setting `multi` to `{"toggle": "event.altKey"}` adds additional values to\nmulti selections when clicking with the alt-key pressed by default.' }, single: { $ref: "#/definitions/SingleSelectionConfig", description: 'The default definition for a [`single`](selection.html#type) selection. All properties and transformations\n  for a single selection definition (except `type`) may be specified here.\n\nFor instance, setting `single` to `{"on": "dblclick"}` populates single selections on double-click by default.' } }, type: "object" }, SelectionDef: { anyOf: [{ $ref: "#/definitions/SingleSelection" }, { $ref: "#/definitions/MultiSelection" }, { $ref: "#/definitions/IntervalSelection" }] }, SelectionDomain: { anyOf: [{ additionalProperties: !1, properties: { field: { description: `The field name to extract selected values for, when a selection is [projected](project.html)
over multiple fields or encodings.`, type: "string" }, selection: { description: "The name of a selection.", type: "string" } }, required: ["selection"], type: "object" }, { additionalProperties: !1, properties: { encoding: { description: `The encoding channel to extract selected values for, when a selection is [projected](project.html)
over multiple fields or encodings.`, type: "string" }, selection: { description: "The name of a selection.", type: "string" } }, required: ["selection"], type: "object" }] }, SelectionPredicate: { additionalProperties: !1, properties: { selection: { $ref: "#/definitions/SelectionOperand", description: "Filter using a selection name." } }, required: ["selection"], type: "object" }, SelectionResolution: { enum: ["global", "union", "intersect"], type: "string" }, SingleDefChannel: { enum: ["x", "y", "x2", "y2", "longitude", "latitude", "longitude2", "latitude2", "row", "column", "color", "fill", "stroke", "size", "shape", "opacity", "text", "tooltip", "href", "key"], type: "string" }, SingleSelection: { additionalProperties: !1, properties: { bind: { anyOf: [{ $ref: "#/definitions/VgBinding" }, { additionalProperties: { $ref: "#/definitions/VgBinding" }, type: "object" }], description: `Establish a two-way binding between a single selection and input elements
(also known as dynamic query widgets). A binding takes the form of
Vega's [input element binding definition](https://vega.github.io/vega/docs/signals/#bind)
or can be a mapping between projected field/encodings and binding definitions.

See the [bind transform](bind.html) documentation for more information.` }, empty: { description: "By default, all data values are considered to lie within an empty selection.\nWhen set to `none`, empty selections contain no data values.", enum: ["all", "none"], type: "string" }, encodings: { description: `An array of encoding channels. The corresponding data field values
must match for a data tuple to fall within the selection.`, items: { $ref: "#/definitions/SingleDefChannel" }, type: "array" }, fields: { description: `An array of field names whose values must match for a data tuple to
fall within the selection.`, items: { type: "string" }, type: "array" }, nearest: { description: `When true, an invisible voronoi diagram is computed to accelerate discrete
selection. The data value _nearest_ the mouse cursor is added to the selection.

See the [nearest transform](nearest.html) documentation for more information.`, type: "boolean" }, on: { $ref: "#/definitions/VgEventStream", description: `A [Vega event stream](https://vega.github.io/vega/docs/event-streams/) (object or selector) that triggers the selection.
For interval selections, the event stream must specify a [start and end](https://vega.github.io/vega/docs/event-streams/#between-filters).` }, resolve: { $ref: "#/definitions/SelectionResolution", description: `With layered and multi-view displays, a strategy that determines how
selections' data queries are resolved when applied in a filter transform,
conditional encoding rule, or scale domain.` }, type: { enum: ["single"], type: "string" } }, required: ["type"], type: "object" }, SingleSelectionConfig: { additionalProperties: !1, properties: { bind: { anyOf: [{ $ref: "#/definitions/VgBinding" }, { additionalProperties: { $ref: "#/definitions/VgBinding" }, type: "object" }], description: `Establish a two-way binding between a single selection and input elements
(also known as dynamic query widgets). A binding takes the form of
Vega's [input element binding definition](https://vega.github.io/vega/docs/signals/#bind)
or can be a mapping between projected field/encodings and binding definitions.

See the [bind transform](bind.html) documentation for more information.` }, empty: { description: "By default, all data values are considered to lie within an empty selection.\nWhen set to `none`, empty selections contain no data values.", enum: ["all", "none"], type: "string" }, encodings: { description: `An array of encoding channels. The corresponding data field values
must match for a data tuple to fall within the selection.`, items: { $ref: "#/definitions/SingleDefChannel" }, type: "array" }, fields: { description: `An array of field names whose values must match for a data tuple to
fall within the selection.`, items: { type: "string" }, type: "array" }, nearest: { description: `When true, an invisible voronoi diagram is computed to accelerate discrete
selection. The data value _nearest_ the mouse cursor is added to the selection.

See the [nearest transform](nearest.html) documentation for more information.`, type: "boolean" }, on: { $ref: "#/definitions/VgEventStream", description: `A [Vega event stream](https://vega.github.io/vega/docs/event-streams/) (object or selector) that triggers the selection.
For interval selections, the event stream must specify a [start and end](https://vega.github.io/vega/docs/event-streams/#between-filters).` }, resolve: { $ref: "#/definitions/SelectionResolution", description: `With layered and multi-view displays, a strategy that determines how
selections' data queries are resolved when applied in a filter transform,
conditional encoding rule, or scale domain.` } }, type: "object" }, SingleTimeUnit: { anyOf: [{ $ref: "#/definitions/LocalSingleTimeUnit" }, { $ref: "#/definitions/UtcSingleTimeUnit" }] }, SortField: { additionalProperties: !1, properties: { field: { anyOf: [{ type: "string" }, { $ref: "#/definitions/RepeatRef" }], description: `The data [field](field.html) to sort by.

__Default value:__ If unspecified, defaults to the field specified in the outer data reference.` }, op: { $ref: "#/definitions/AggregateOp", description: 'An [aggregate operation](aggregate.html#ops) to perform on the field prior to sorting (e.g., `"count"`, `"mean"` and `"median"`).\nThis property is required in cases where the sort field and the data reference field do not match.\nThe input data objects will be aggregated, grouped by the encoded data field.\n\nFor a full list of operations, please see the documentation for [aggregate](aggregate.html#ops).' }, order: { $ref: "#/definitions/SortOrder", description: 'The sort order. One of `"ascending"` (default), `"descending"`, or `null` (no not sort).' } }, required: ["op"], type: "object" }, SortOrder: { anyOf: [{ $ref: "#/definitions/VgComparatorOrder" }, { type: "null" }] }, StackOffset: { enum: ["zero", "center", "normalize"], type: "string" }, StyleConfigIndex: { additionalProperties: { $ref: "#/definitions/VgMarkConfig" }, type: "object" }, TextConfig: { additionalProperties: !1, properties: { align: { $ref: "#/definitions/HorizontalAlign", description: 'The horizontal alignment of the text. One of `"left"`, `"right"`, `"center"`.' }, angle: { description: "The rotation angle of the text, in degrees.", maximum: 360, minimum: 0, type: "number" }, baseline: { $ref: "#/definitions/VerticalAlign", description: 'The vertical alignment of the text. One of `"top"`, `"middle"`, `"bottom"`.\n\n__Default value:__ `"middle"`' }, color: { description: 'Default color.  Note that `fill` and `stroke` have higher precedence than `color` and will override `color`.\n\n__Default value:__ <span style="color: #4682b4;">&#9632;</span> `"#4682b4"`\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config).', type: "string" }, cursor: { description: "The mouse cursor used over the mark. Any valid [CSS cursor type](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used.", enum: ["auto", "default", "none", "context-menu", "help", "pointer", "progress", "wait", "cell", "crosshair", "text", "vertical-text", "alias", "copy", "move", "no-drop", "not-allowed", "e-resize", "n-resize", "ne-resize", "nw-resize", "s-resize", "se-resize", "sw-resize", "w-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "col-resize", "row-resize", "all-scroll", "zoom-in", "zoom-out", "grab", "grabbing"], type: "string" }, dx: { description: "The horizontal offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.", type: "number" }, dy: { description: "The vertical offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.", type: "number" }, fill: { description: "Default Fill Color.  This has higher precedence than `config.color`\n\n__Default value:__ (None)", type: "string" }, fillOpacity: { description: "The fill opacity (value between [0,1]).\n\n__Default value:__ `1`", maximum: 1, minimum: 0, type: "number" }, filled: { description: "Whether the mark's color should be used as fill color instead of stroke color.\n\n__Default value:__ `true` for all marks except `point` and `false` for `point`.\n\n__Applicable for:__ `bar`, `point`, `circle`, `square`, and `area` marks.\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config).", type: "boolean" }, font: { description: 'The typeface to set the text in (e.g., `"Helvetica Neue"`).', type: "string" }, fontSize: { description: "The font size, in pixels.", minimum: 0, type: "number" }, fontStyle: { $ref: "#/definitions/FontStyle", description: 'The font style (e.g., `"italic"`).' }, fontWeight: { $ref: "#/definitions/FontWeight", description: 'The font weight.\nThis can be either a string (e.g `"bold"`, `"normal"`) or a number (`100`, `200`, `300`, ..., `900` where `"normal"` = `400` and `"bold"` = `700`).' }, href: { description: "A URL to load upon mouse click. If defined, the mark acts as a hyperlink.", format: "uri", type: "string" }, interpolate: { $ref: "#/definitions/Interpolate", description: 'The line interpolation method to use for line and area marks. One of the following:\n- `"linear"`: piecewise linear segments, as in a polyline.\n- `"linear-closed"`: close the linear segments to form a polygon.\n- `"step"`: alternate between horizontal and vertical segments, as in a step function.\n- `"step-before"`: alternate between vertical and horizontal segments, as in a step function.\n- `"step-after"`: alternate between horizontal and vertical segments, as in a step function.\n- `"basis"`: a B-spline, with control point duplication on the ends.\n- `"basis-open"`: an open B-spline; may not intersect the start or end.\n- `"basis-closed"`: a closed B-spline, as in a loop.\n- `"cardinal"`: a Cardinal spline, with control point duplication on the ends.\n- `"cardinal-open"`: an open Cardinal spline; may not intersect the start or end, but will intersect other control points.\n- `"cardinal-closed"`: a closed Cardinal spline, as in a loop.\n- `"bundle"`: equivalent to basis, except the tension parameter is used to straighten the spline.\n- `"monotone"`: cubic interpolation that preserves monotonicity in y.' }, limit: { description: "The maximum length of the text mark in pixels (default 0, indicating no limit). The text value will be automatically truncated if the rendered size exceeds the limit.", type: "number" }, opacity: { description: "The overall opacity (value between [0,1]).\n\n__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or `square` marks or layered `bar` charts and `1` otherwise.", maximum: 1, minimum: 0, type: "number" }, orient: { $ref: "#/definitions/Orient", description: `The orientation of a non-stacked bar, tick, area, and line charts.
The value is either horizontal (default) or vertical.
- For bar, rule and tick, this determines whether the size of the bar and tick
should be applied to x or y dimension.
- For area, this property determines the orient property of the Vega output.
- For line and trail marks, this property determines the sort order of the points in the line
if \`config.sortLineBy\` is not specified.
For stacked charts, this is always determined by the orientation of the stack;
therefore explicitly specified value will be ignored.` }, radius: { description: "Polar coordinate radial offset, in pixels, of the text label from the origin determined by the `x` and `y` properties.", minimum: 0, type: "number" }, shape: { description: 'The default symbol shape to use. One of: `"circle"` (default), `"square"`, `"cross"`, `"diamond"`, `"triangle-up"`, or `"triangle-down"`, or a custom SVG path.\n\n__Default value:__ `"circle"`', type: "string" }, shortTimeLabels: { description: "Whether month names and weekday names should be abbreviated.", type: "boolean" }, size: { description: `The pixel area each the point/circle/square.
For example: in the case of circles, the radius is determined in part by the square root of the size value.

__Default value:__ \`30\``, minimum: 0, type: "number" }, stroke: { description: "Default Stroke Color.  This has higher precedence than `config.color`\n\n__Default value:__ (None)", type: "string" }, strokeCap: { description: 'The stroke cap for line ending style. One of `"butt"`, `"round"`, or `"square"`.\n\n__Default value:__ `"square"`', enum: ["butt", "round", "square"], type: "string" }, strokeDash: { description: "An array of alternating stroke, space lengths for creating dashed or dotted lines.", items: { type: "number" }, type: "array" }, strokeDashOffset: { description: "The offset (in pixels) into which to begin drawing with the stroke dash array.", type: "number" }, strokeOpacity: { description: "The stroke opacity (value between [0,1]).\n\n__Default value:__ `1`", maximum: 1, minimum: 0, type: "number" }, strokeWidth: { description: "The stroke width, in pixels.", minimum: 0, type: "number" }, tension: { description: "Depending on the interpolation type, sets the tension parameter (for line and area marks).", maximum: 1, minimum: 0, type: "number" }, text: { description: "Placeholder text if the `text` channel is not specified", type: "string" }, theta: { description: 'Polar coordinate angle, in radians, of the text label from the origin determined by the `x` and `y` properties. Values for `theta` follow the same convention of `arc` mark `startAngle` and `endAngle` properties: angles are measured in radians, with `0` indicating "north".', type: "number" } }, type: "object" }, TextFieldDef: { additionalProperties: !1, properties: { aggregate: { $ref: "#/definitions/Aggregate", description: "Aggregation function for the field\n(e.g., `mean`, `sum`, `median`, `min`, `max`, `count`).\n\n__Default value:__ `undefined` (None)" }, bin: { anyOf: [{ type: "boolean" }, { $ref: "#/definitions/BinParams" }], description: "A flag for binning a `quantitative` field, or [an object defining binning parameters](https://vega.github.io/vega-lite/docs/bin.html#params).\nIf `true`, default [binning parameters](https://vega.github.io/vega-lite/docs/bin.html) will be applied.\n\n__Default value:__ `false`" }, field: { anyOf: [{ type: "string" }, { $ref: "#/definitions/RepeatRef" }], description: '__Required.__ A string defining the name of the field from which to pull a data value\nor an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__Note:__ Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `"field": "foo.bar"` and `"field": "foo[\'bar\']"`).\nIf field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `"a\\\\.b"` and `"a\\\\[0\\\\]"`).\nSee more details about escaping in the [field documentation](https://vega.github.io/vega-lite/docs/field.html).\n\n__Note:__ `field` is not required if `aggregate` is `count`.' }, format: { description: "The [formatting pattern](https://vega.github.io/vega-lite/docs/format.html) for a text field. If not defined, this will be determined automatically.", type: "string" }, timeUnit: { $ref: "#/definitions/TimeUnit", description: "Time unit (e.g., `year`, `yearmonth`, `month`, `hours`) for a temporal field.\nor [a temporal field that gets casted as ordinal](https://vega.github.io/vega-lite/docs/type.html#cast).\n\n__Default value:__ `undefined` (None)" }, title: { description: 'A title for the field. If `null`, the title will be removed.\n\n__Default value:__  derived from the field\'s name and transformation function (`aggregate`, `bin` and `timeUnit`).  If the field has an aggregate function, the function is displayed as part of the title (e.g., `"Sum of Profit"`). If the field is binned or has a time unit applied, the applied function is shown in parentheses (e.g., `"Profit (binned)"`, `"Transaction Date (year-month)"`).  Otherwise, the title is simply the field name.\n\n__Notes__:\n\n1) You can customize the default field title format by providing the [`fieldTitle` property in the [config](config.html) or [`fieldTitle` function via the `compile` function\'s options](compile.html#field-title).\n\n2) If both field definition\'s `title` and axis, header, or legend `title` are defined, axis/header/legend title will be used.', type: ["string", "null"] }, type: { $ref: "#/definitions/Type", description: 'The encoded field\'s type of measurement (`"quantitative"`, `"temporal"`, `"ordinal"`, or `"nominal"`).\nIt can also be a `"geojson"` type for encoding [\'geoshape\'](geoshape.html).' } }, required: ["type"], type: "object" }, TickConfig: { additionalProperties: !1, properties: { align: { $ref: "#/definitions/HorizontalAlign", description: 'The horizontal alignment of the text. One of `"left"`, `"right"`, `"center"`.' }, angle: { description: "The rotation angle of the text, in degrees.", maximum: 360, minimum: 0, type: "number" }, bandSize: { description: `The width of the ticks.

__Default value:__  2/3 of rangeStep.`, minimum: 0, type: "number" }, baseline: { $ref: "#/definitions/VerticalAlign", description: 'The vertical alignment of the text. One of `"top"`, `"middle"`, `"bottom"`.\n\n__Default value:__ `"middle"`' }, color: { description: 'Default color.  Note that `fill` and `stroke` have higher precedence than `color` and will override `color`.\n\n__Default value:__ <span style="color: #4682b4;">&#9632;</span> `"#4682b4"`\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config).', type: "string" }, cursor: { description: "The mouse cursor used over the mark. Any valid [CSS cursor type](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used.", enum: ["auto", "default", "none", "context-menu", "help", "pointer", "progress", "wait", "cell", "crosshair", "text", "vertical-text", "alias", "copy", "move", "no-drop", "not-allowed", "e-resize", "n-resize", "ne-resize", "nw-resize", "s-resize", "se-resize", "sw-resize", "w-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "col-resize", "row-resize", "all-scroll", "zoom-in", "zoom-out", "grab", "grabbing"], type: "string" }, dx: { description: "The horizontal offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.", type: "number" }, dy: { description: "The vertical offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.", type: "number" }, fill: { description: "Default Fill Color.  This has higher precedence than `config.color`\n\n__Default value:__ (None)", type: "string" }, fillOpacity: { description: "The fill opacity (value between [0,1]).\n\n__Default value:__ `1`", maximum: 1, minimum: 0, type: "number" }, filled: { description: "Whether the mark's color should be used as fill color instead of stroke color.\n\n__Default value:__ `true` for all marks except `point` and `false` for `point`.\n\n__Applicable for:__ `bar`, `point`, `circle`, `square`, and `area` marks.\n\n__Note:__ This property cannot be used in a [style config](mark.html#style-config).", type: "boolean" }, font: { description: 'The typeface to set the text in (e.g., `"Helvetica Neue"`).', type: "string" }, fontSize: { description: "The font size, in pixels.", minimum: 0, type: "number" }, fontStyle: { $ref: "#/definitions/FontStyle", description: 'The font style (e.g., `"italic"`).' }, fontWeight: { $ref: "#/definitions/FontWeight", description: 'The font weight.\nThis can be either a string (e.g `"bold"`, `"normal"`) or a number (`100`, `200`, `300`, ..., `900` where `"normal"` = `400` and `"bold"` = `700`).' }, href: { description: "A URL to load upon mouse click. If defined, the mark acts as a hyperlink.", format: "uri", type: "string" }, interpolate: { $ref: "#/definitions/Interpolate", description: 'The line interpolation method to use for line and area marks. One of the following:\n- `"linear"`: piecewise linear segments, as in a polyline.\n- `"linear-closed"`: close the linear segments to form a polygon.\n- `"step"`: alternate between horizontal and vertical segments, as in a step function.\n- `"step-before"`: alternate between vertical and horizontal segments, as in a step function.\n- `"step-after"`: alternate between horizontal and vertical segments, as in a step function.\n- `"basis"`: a B-spline, with control point duplication on the ends.\n- `"basis-open"`: an open B-spline; may not intersect the start or end.\n- `"basis-closed"`: a closed B-spline, as in a loop.\n- `"cardinal"`: a Cardinal spline, with control point duplication on the ends.\n- `"cardinal-open"`: an open Cardinal spline; may not intersect the start or end, but will intersect other control points.\n- `"cardinal-closed"`: a closed Cardinal spline, as in a loop.\n- `"bundle"`: equivalent to basis, except the tension parameter is used to straighten the spline.\n- `"monotone"`: cubic interpolation that preserves monotonicity in y.' }, limit: { description: "The maximum length of the text mark in pixels (default 0, indicating no limit). The text value will be automatically truncated if the rendered size exceeds the limit.", type: "number" }, opacity: { description: "The overall opacity (value between [0,1]).\n\n__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or `square` marks or layered `bar` charts and `1` otherwise.", maximum: 1, minimum: 0, type: "number" }, orient: { $ref: "#/definitions/Orient", description: `The orientation of a non-stacked bar, tick, area, and line charts.
The value is either horizontal (default) or vertical.
- For bar, rule and tick, this determines whether the size of the bar and tick
should be applied to x or y dimension.
- For area, this property determines the orient property of the Vega output.
- For line and trail marks, this property determines the sort order of the points in the line
if \`config.sortLineBy\` is not specified.
For stacked charts, this is always determined by the orientation of the stack;
therefore explicitly specified value will be ignored.` }, radius: { description: "Polar coordinate radial offset, in pixels, of the text label from the origin determined by the `x` and `y` properties.", minimum: 0, type: "number" }, shape: { description: 'The default symbol shape to use. One of: `"circle"` (default), `"square"`, `"cross"`, `"diamond"`, `"triangle-up"`, or `"triangle-down"`, or a custom SVG path.\n\n__Default value:__ `"circle"`', type: "string" }, size: { description: `The pixel area each the point/circle/square.
For example: in the case of circles, the radius is determined in part by the square root of the size value.

__Default value:__ \`30\``, minimum: 0, type: "number" }, stroke: { description: "Default Stroke Color.  This has higher precedence than `config.color`\n\n__Default value:__ (None)", type: "string" }, strokeCap: { description: 'The stroke cap for line ending style. One of `"butt"`, `"round"`, or `"square"`.\n\n__Default value:__ `"square"`', enum: ["butt", "round", "square"], type: "string" }, strokeDash: { description: "An array of alternating stroke, space lengths for creating dashed or dotted lines.", items: { type: "number" }, type: "array" }, strokeDashOffset: { description: "The offset (in pixels) into which to begin drawing with the stroke dash array.", type: "number" }, strokeOpacity: { description: "The stroke opacity (value between [0,1]).\n\n__Default value:__ `1`", maximum: 1, minimum: 0, type: "number" }, strokeWidth: { description: "The stroke width, in pixels.", minimum: 0, type: "number" }, tension: { description: "Depending on the interpolation type, sets the tension parameter (for line and area marks).", maximum: 1, minimum: 0, type: "number" }, text: { description: "Placeholder text if the `text` channel is not specified", type: "string" }, theta: { description: 'Polar coordinate angle, in radians, of the text label from the origin determined by the `x` and `y` properties. Values for `theta` follow the same convention of `arc` mark `startAngle` and `endAngle` properties: angles are measured in radians, with `0` indicating "north".', type: "number" }, thickness: { description: "Thickness of the tick mark.\n\n__Default value:__  `1`", minimum: 0, type: "number" } }, type: "object" }, TimeUnit: { anyOf: [{ $ref: "#/definitions/SingleTimeUnit" }, { $ref: "#/definitions/MultiTimeUnit" }] }, TimeUnitTransform: { additionalProperties: !1, properties: { as: { description: "The output field to write the timeUnit value.", type: "string" }, field: { description: "The data field to apply time unit.", type: "string" }, timeUnit: { $ref: "#/definitions/TimeUnit", description: "The timeUnit." } }, required: ["timeUnit", "field", "as"], type: "object" }, TitleOrient: { enum: ["top", "bottom", "left", "right"], type: "string" }, TitleParams: { additionalProperties: !1, properties: { anchor: { $ref: "#/definitions/Anchor", description: 'The anchor position for placing the title. One of `"start"`, `"middle"`, or `"end"`. For example, with an orientation of top these anchor positions map to a left-, center-, or right-aligned title.\n\n__Default value:__ `"middle"` for [single](spec.html) and [layered](layer.html) views.\n`"start"` for other composite views.\n\n__Note:__ [For now](https://github.com/vega/vega-lite/issues/2875), `anchor` is only customizable only for [single](spec.html) and [layered](layer.html) views.  For other composite views, `anchor` is always `"start"`.' }, offset: { description: "The orthogonal offset in pixels by which to displace the title from its position along the edge of the chart.", type: "number" }, orient: { $ref: "#/definitions/TitleOrient", description: 'The orientation of the title relative to the chart. One of `"top"` (the default), `"bottom"`, `"left"`, or `"right"`.' }, style: { anyOf: [{ type: "string" }, { items: { type: "string" }, type: "array" }], description: 'A [mark style property](config.html#style) to apply to the title text mark.\n\n__Default value:__ `"group-title"`.' }, text: { description: "The title text.", type: "string" } }, required: ["text"], type: "object" }, TopLevelLayerSpec: { additionalProperties: !1, properties: { $schema: { description: "URL to [JSON schema](http://json-schema.org/) for a Vega-Lite specification. Unless you have a reason to change this, use `https://vega.github.io/schema/vega-lite/v2.json`. Setting the `$schema` property allows automatic validation and autocomplete in editors that support JSON schema.", format: "uri", type: "string" }, autosize: { anyOf: [{ $ref: "#/definitions/AutosizeType" }, { $ref: "#/definitions/AutoSizeParams" }], description: 'Sets how the visualization size should be determined. If a string, should be one of `"pad"`, `"fit"` or `"none"`.\nObject values can additionally specify parameters for content sizing and automatic resizing.\n`"fit"` is only supported for single and layered views that don\'t use `rangeStep`.\n\n__Default value__: `pad`' }, background: { description: `CSS color property to use as the background of visualization.

__Default value:__ none (transparent)`, type: "string" }, config: { $ref: "#/definitions/Config", description: "Vega-Lite configuration object.  This property can only be defined at the top-level of a specification." }, data: { $ref: "#/definitions/Data", description: "An object describing the data source" }, datasets: { $ref: "#/definitions/Datasets", description: "A global data store for named datasets. This is a mapping from names to inline datasets.\nThis can be an array of objects or primitive values or a string. Arrays of primitive values are ingested as objects with a `data` property." }, description: { description: "Description of this mark for commenting purpose.", type: "string" }, encoding: { $ref: "#/definitions/Encoding", description: "A shared key-value mapping between encoding channels and definition of fields in the underlying layers." }, height: { description: 'The height of a visualization.\n\n__Default value:__\n- If a view\'s [`autosize`](https://vega.github.io/vega-lite/docs/size.html#autosize) type is `"fit"` or its y-channel has a [continuous scale](https://vega.github.io/vega-lite/docs/scale.html#continuous), the height will be the value of [`config.view.height`](https://vega.github.io/vega-lite/docs/spec.html#config).\n- For y-axis with a band or point scale: if [`rangeStep`](https://vega.github.io/vega-lite/docs/scale.html#band) is a numeric value or unspecified, the height is [determined by the range step, paddings, and the cardinality of the field mapped to y-channel](https://vega.github.io/vega-lite/docs/scale.html#band). Otherwise, if the `rangeStep` is `null`, the height will be the value of [`config.view.height`](https://vega.github.io/vega-lite/docs/spec.html#config).\n- If no field is mapped to `y` channel, the `height` will be the value of `rangeStep`.\n\n__Note__: For plots with [`row` and `column` channels](https://vega.github.io/vega-lite/docs/encoding.html#facet), this represents the height of a single view.\n\n__See also:__ The documentation for [width and height](https://vega.github.io/vega-lite/docs/size.html) contains more examples.', type: "number" }, layer: { description: "Layer or single view specifications to be layered.\n\n__Note__: Specifications inside `layer` cannot use `row` and `column` channels as layering facet specifications is not allowed.", items: { anyOf: [{ $ref: "#/definitions/LayerSpec" }, { $ref: "#/definitions/CompositeUnitSpec" }] }, type: "array" }, name: { description: "Name of the visualization for later reference.", type: "string" }, padding: { $ref: "#/definitions/Padding", description: 'The default visualization padding, in pixels, from the edge of the visualization canvas to the data rectangle.  If a number, specifies padding for all sides.\nIf an object, the value should have the format `{"left": 5, "top": 5, "right": 5, "bottom": 5}` to specify padding for each side of the visualization.\n\n__Default value__: `5`' }, projection: { $ref: "#/definitions/Projection", description: "An object defining properties of the geographic projection shared by underlying layers." }, resolve: { $ref: "#/definitions/Resolve", description: "Scale, axis, and legend resolutions for layers." }, title: { anyOf: [{ type: "string" }, { $ref: "#/definitions/TitleParams" }], description: "Title for the plot." }, transform: { description: "An array of data transformations such as filter and new field calculation.", items: { $ref: "#/definitions/Transform" }, type: "array" }, width: { description: 'The width of a visualization.\n\n__Default value:__ This will be determined by the following rules:\n\n- If a view\'s [`autosize`](https://vega.github.io/vega-lite/docs/size.html#autosize) type is `"fit"` or its x-channel has a [continuous scale](https://vega.github.io/vega-lite/docs/scale.html#continuous), the width will be the value of [`config.view.width`](https://vega.github.io/vega-lite/docs/spec.html#config).\n- For x-axis with a band or point scale: if [`rangeStep`](https://vega.github.io/vega-lite/docs/scale.html#band) is a numeric value or unspecified, the width is [determined by the range step, paddings, and the cardinality of the field mapped to x-channel](https://vega.github.io/vega-lite/docs/scale.html#band).   Otherwise, if the `rangeStep` is `null`, the width will be the value of [`config.view.width`](https://vega.github.io/vega-lite/docs/spec.html#config).\n- If no field is mapped to `x` channel, the `width` will be the value of [`config.scale.textXRangeStep`](https://vega.github.io/vega-lite/docs/size.html#default-width-and-height) for `text` mark and the value of `rangeStep` for other marks.\n\n__Note:__ For plots with [`row` and `column` channels](https://vega.github.io/vega-lite/docs/encoding.html#facet), this represents the width of a single view.\n\n__See also:__ The documentation for [width and height](https://vega.github.io/vega-lite/docs/size.html) contains more examples.', type: "number" } }, required: ["layer"], type: "object" }, TopLevelHConcatSpec: { additionalProperties: !1, properties: { $schema: { description: "URL to [JSON schema](http://json-schema.org/) for a Vega-Lite specification. Unless you have a reason to change this, use `https://vega.github.io/schema/vega-lite/v2.json`. Setting the `$schema` property allows automatic validation and autocomplete in editors that support JSON schema.", format: "uri", type: "string" }, autosize: { anyOf: [{ $ref: "#/definitions/AutosizeType" }, { $ref: "#/definitions/AutoSizeParams" }], description: 'Sets how the visualization size should be determined. If a string, should be one of `"pad"`, `"fit"` or `"none"`.\nObject values can additionally specify parameters for content sizing and automatic resizing.\n`"fit"` is only supported for single and layered views that don\'t use `rangeStep`.\n\n__Default value__: `pad`' }, background: { description: `CSS color property to use as the background of visualization.

__Default value:__ none (transparent)`, type: "string" }, config: { $ref: "#/definitions/Config", description: "Vega-Lite configuration object.  This property can only be defined at the top-level of a specification." }, data: { $ref: "#/definitions/Data", description: "An object describing the data source" }, datasets: { $ref: "#/definitions/Datasets", description: "A global data store for named datasets. This is a mapping from names to inline datasets.\nThis can be an array of objects or primitive values or a string. Arrays of primitive values are ingested as objects with a `data` property." }, description: { description: "Description of this mark for commenting purpose.", type: "string" }, hconcat: { description: "A list of views that should be concatenated and put into a row.", items: { $ref: "#/definitions/Spec" }, type: "array" }, name: { description: "Name of the visualization for later reference.", type: "string" }, padding: { $ref: "#/definitions/Padding", description: 'The default visualization padding, in pixels, from the edge of the visualization canvas to the data rectangle.  If a number, specifies padding for all sides.\nIf an object, the value should have the format `{"left": 5, "top": 5, "right": 5, "bottom": 5}` to specify padding for each side of the visualization.\n\n__Default value__: `5`' }, resolve: { $ref: "#/definitions/Resolve", description: "Scale, axis, and legend resolutions for horizontally concatenated charts." }, title: { anyOf: [{ type: "string" }, { $ref: "#/definitions/TitleParams" }], description: "Title for the plot." }, transform: { description: "An array of data transformations such as filter and new field calculation.", items: { $ref: "#/definitions/Transform" }, type: "array" } }, required: ["hconcat"], type: "object" }, TopLevelRepeatSpec: { additionalProperties: !1, properties: { $schema: { description: "URL to [JSON schema](http://json-schema.org/) for a Vega-Lite specification. Unless you have a reason to change this, use `https://vega.github.io/schema/vega-lite/v2.json`. Setting the `$schema` property allows automatic validation and autocomplete in editors that support JSON schema.", format: "uri", type: "string" }, autosize: { anyOf: [{ $ref: "#/definitions/AutosizeType" }, { $ref: "#/definitions/AutoSizeParams" }], description: 'Sets how the visualization size should be determined. If a string, should be one of `"pad"`, `"fit"` or `"none"`.\nObject values can additionally specify parameters for content sizing and automatic resizing.\n`"fit"` is only supported for single and layered views that don\'t use `rangeStep`.\n\n__Default value__: `pad`' }, background: { description: `CSS color property to use as the background of visualization.

__Default value:__ none (transparent)`, type: "string" }, config: { $ref: "#/definitions/Config", description: "Vega-Lite configuration object.  This property can only be defined at the top-level of a specification." }, data: { $ref: "#/definitions/Data", description: "An object describing the data source" }, datasets: { $ref: "#/definitions/Datasets", description: "A global data store for named datasets. This is a mapping from names to inline datasets.\nThis can be an array of objects or primitive values or a string. Arrays of primitive values are ingested as objects with a `data` property." }, description: { description: "Description of this mark for commenting purpose.", type: "string" }, name: { description: "Name of the visualization for later reference.", type: "string" }, padding: { $ref: "#/definitions/Padding", description: 'The default visualization padding, in pixels, from the edge of the visualization canvas to the data rectangle.  If a number, specifies padding for all sides.\nIf an object, the value should have the format `{"left": 5, "top": 5, "right": 5, "bottom": 5}` to specify padding for each side of the visualization.\n\n__Default value__: `5`' }, repeat: { $ref: "#/definitions/Repeat", description: "An object that describes what fields should be repeated into views that are laid out as a `row` or `column`." }, resolve: { $ref: "#/definitions/Resolve", description: "Scale and legend resolutions for repeated charts." }, spec: { $ref: "#/definitions/Spec" }, title: { anyOf: [{ type: "string" }, { $ref: "#/definitions/TitleParams" }], description: "Title for the plot." }, transform: { description: "An array of data transformations such as filter and new field calculation.", items: { $ref: "#/definitions/Transform" }, type: "array" } }, required: ["repeat", "spec"], type: "object" }, TopLevelVConcatSpec: { additionalProperties: !1, properties: { $schema: { description: "URL to [JSON schema](http://json-schema.org/) for a Vega-Lite specification. Unless you have a reason to change this, use `https://vega.github.io/schema/vega-lite/v2.json`. Setting the `$schema` property allows automatic validation and autocomplete in editors that support JSON schema.", format: "uri", type: "string" }, autosize: { anyOf: [{ $ref: "#/definitions/AutosizeType" }, { $ref: "#/definitions/AutoSizeParams" }], description: 'Sets how the visualization size should be determined. If a string, should be one of `"pad"`, `"fit"` or `"none"`.\nObject values can additionally specify parameters for content sizing and automatic resizing.\n`"fit"` is only supported for single and layered views that don\'t use `rangeStep`.\n\n__Default value__: `pad`' }, background: { description: `CSS color property to use as the background of visualization.

__Default value:__ none (transparent)`, type: "string" }, config: { $ref: "#/definitions/Config", description: "Vega-Lite configuration object.  This property can only be defined at the top-level of a specification." }, data: { $ref: "#/definitions/Data", description: "An object describing the data source" }, datasets: { $ref: "#/definitions/Datasets", description: "A global data store for named datasets. This is a mapping from names to inline datasets.\nThis can be an array of objects or primitive values or a string. Arrays of primitive values are ingested as objects with a `data` property." }, description: { description: "Description of this mark for commenting purpose.", type: "string" }, name: { description: "Name of the visualization for later reference.", type: "string" }, padding: { $ref: "#/definitions/Padding", description: 'The default visualization padding, in pixels, from the edge of the visualization canvas to the data rectangle.  If a number, specifies padding for all sides.\nIf an object, the value should have the format `{"left": 5, "top": 5, "right": 5, "bottom": 5}` to specify padding for each side of the visualization.\n\n__Default value__: `5`' }, resolve: { $ref: "#/definitions/Resolve", description: "Scale, axis, and legend resolutions for vertically concatenated charts." }, title: { anyOf: [{ type: "string" }, { $ref: "#/definitions/TitleParams" }], description: "Title for the plot." }, transform: { description: "An array of data transformations such as filter and new field calculation.", items: { $ref: "#/definitions/Transform" }, type: "array" }, vconcat: { description: "A list of views that should be concatenated and put into a column.", items: { $ref: "#/definitions/Spec" }, type: "array" } }, required: ["vconcat"], type: "object" }, TopLevelFacetSpec: { additionalProperties: !1, properties: { $schema: { description: "URL to [JSON schema](http://json-schema.org/) for a Vega-Lite specification. Unless you have a reason to change this, use `https://vega.github.io/schema/vega-lite/v2.json`. Setting the `$schema` property allows automatic validation and autocomplete in editors that support JSON schema.", format: "uri", type: "string" }, autosize: { anyOf: [{ $ref: "#/definitions/AutosizeType" }, { $ref: "#/definitions/AutoSizeParams" }], description: 'Sets how the visualization size should be determined. If a string, should be one of `"pad"`, `"fit"` or `"none"`.\nObject values can additionally specify parameters for content sizing and automatic resizing.\n`"fit"` is only supported for single and layered views that don\'t use `rangeStep`.\n\n__Default value__: `pad`' }, background: { description: `CSS color property to use as the background of visualization.

__Default value:__ none (transparent)`, type: "string" }, config: { $ref: "#/definitions/Config", description: "Vega-Lite configuration object.  This property can only be defined at the top-level of a specification." }, data: { $ref: "#/definitions/Data", description: "An object describing the data source" }, datasets: { $ref: "#/definitions/Datasets", description: "A global data store for named datasets. This is a mapping from names to inline datasets.\nThis can be an array of objects or primitive values or a string. Arrays of primitive values are ingested as objects with a `data` property." }, description: { description: "Description of this mark for commenting purpose.", type: "string" }, facet: { $ref: "#/definitions/FacetMapping", description: "An object that describes mappings between `row` and `column` channels and their field definitions." }, name: { description: "Name of the visualization for later reference.", type: "string" }, padding: { $ref: "#/definitions/Padding", description: 'The default visualization padding, in pixels, from the edge of the visualization canvas to the data rectangle.  If a number, specifies padding for all sides.\nIf an object, the value should have the format `{"left": 5, "top": 5, "right": 5, "bottom": 5}` to specify padding for each side of the visualization.\n\n__Default value__: `5`' }, resolve: { $ref: "#/definitions/Resolve", description: "Scale, axis, and legend resolutions for facets." }, spec: { anyOf: [{ $ref: "#/definitions/LayerSpec" }, { $ref: "#/definitions/CompositeUnitSpec" }], description: "A specification of the view that gets faceted." }, title: { anyOf: [{ type: "string" }, { $ref: "#/definitions/TitleParams" }], description: "Title for the plot." }, transform: { description: "An array of data transformations such as filter and new field calculation.", items: { $ref: "#/definitions/Transform" }, type: "array" } }, required: ["data", "facet", "spec"], type: "object" }, TopLevelFacetedUnitSpec: { additionalProperties: !1, properties: { $schema: { description: "URL to [JSON schema](http://json-schema.org/) for a Vega-Lite specification. Unless you have a reason to change this, use `https://vega.github.io/schema/vega-lite/v2.json`. Setting the `$schema` property allows automatic validation and autocomplete in editors that support JSON schema.", format: "uri", type: "string" }, autosize: { anyOf: [{ $ref: "#/definitions/AutosizeType" }, { $ref: "#/definitions/AutoSizeParams" }], description: 'Sets how the visualization size should be determined. If a string, should be one of `"pad"`, `"fit"` or `"none"`.\nObject values can additionally specify parameters for content sizing and automatic resizing.\n`"fit"` is only supported for single and layered views that don\'t use `rangeStep`.\n\n__Default value__: `pad`' }, background: { description: `CSS color property to use as the background of visualization.

__Default value:__ none (transparent)`, type: "string" }, config: { $ref: "#/definitions/Config", description: "Vega-Lite configuration object.  This property can only be defined at the top-level of a specification." }, data: { $ref: "#/definitions/Data", description: "An object describing the data source" }, datasets: { $ref: "#/definitions/Datasets", description: "A global data store for named datasets. This is a mapping from names to inline datasets.\nThis can be an array of objects or primitive values or a string. Arrays of primitive values are ingested as objects with a `data` property." }, description: { description: "Description of this mark for commenting purpose.", type: "string" }, encoding: { $ref: "#/definitions/EncodingWithFacet", description: "A key-value mapping between encoding channels and definition of fields." }, height: { description: 'The height of a visualization.\n\n__Default value:__\n- If a view\'s [`autosize`](https://vega.github.io/vega-lite/docs/size.html#autosize) type is `"fit"` or its y-channel has a [continuous scale](https://vega.github.io/vega-lite/docs/scale.html#continuous), the height will be the value of [`config.view.height`](https://vega.github.io/vega-lite/docs/spec.html#config).\n- For y-axis with a band or point scale: if [`rangeStep`](https://vega.github.io/vega-lite/docs/scale.html#band) is a numeric value or unspecified, the height is [determined by the range step, paddings, and the cardinality of the field mapped to y-channel](https://vega.github.io/vega-lite/docs/scale.html#band). Otherwise, if the `rangeStep` is `null`, the height will be the value of [`config.view.height`](https://vega.github.io/vega-lite/docs/spec.html#config).\n- If no field is mapped to `y` channel, the `height` will be the value of `rangeStep`.\n\n__Note__: For plots with [`row` and `column` channels](https://vega.github.io/vega-lite/docs/encoding.html#facet), this represents the height of a single view.\n\n__See also:__ The documentation for [width and height](https://vega.github.io/vega-lite/docs/size.html) contains more examples.', type: "number" }, mark: { $ref: "#/definitions/AnyMark", description: 'A string describing the mark type (one of `"bar"`, `"circle"`, `"square"`, `"tick"`, `"line"`,\n`"area"`, `"point"`, `"rule"`, `"geoshape"`, and `"text"`) or a [mark definition object](https://vega.github.io/vega-lite/docs/mark.html#mark-def).' }, name: { description: "Name of the visualization for later reference.", type: "string" }, padding: { $ref: "#/definitions/Padding", description: 'The default visualization padding, in pixels, from the edge of the visualization canvas to the data rectangle.  If a number, specifies padding for all sides.\nIf an object, the value should have the format `{"left": 5, "top": 5, "right": 5, "bottom": 5}` to specify padding for each side of the visualization.\n\n__Default value__: `5`' }, projection: { $ref: "#/definitions/Projection", description: 'An object defining properties of geographic projection, which will be applied to `shape` path for `"geoshape"` marks\nand to `latitude` and `"longitude"` channels for other marks.' }, selection: { additionalProperties: { $ref: "#/definitions/SelectionDef" }, description: "A key-value mapping between selection names and definitions.", type: "object" }, title: { anyOf: [{ type: "string" }, { $ref: "#/definitions/TitleParams" }], description: "Title for the plot." }, transform: { description: "An array of data transformations such as filter and new field calculation.", items: { $ref: "#/definitions/Transform" }, type: "array" }, width: { description: 'The width of a visualization.\n\n__Default value:__ This will be determined by the following rules:\n\n- If a view\'s [`autosize`](https://vega.github.io/vega-lite/docs/size.html#autosize) type is `"fit"` or its x-channel has a [continuous scale](https://vega.github.io/vega-lite/docs/scale.html#continuous), the width will be the value of [`config.view.width`](https://vega.github.io/vega-lite/docs/spec.html#config).\n- For x-axis with a band or point scale: if [`rangeStep`](https://vega.github.io/vega-lite/docs/scale.html#band) is a numeric value or unspecified, the width is [determined by the range step, paddings, and the cardinality of the field mapped to x-channel](https://vega.github.io/vega-lite/docs/scale.html#band).   Otherwise, if the `rangeStep` is `null`, the width will be the value of [`config.view.width`](https://vega.github.io/vega-lite/docs/spec.html#config).\n- If no field is mapped to `x` channel, the `width` will be the value of [`config.scale.textXRangeStep`](https://vega.github.io/vega-lite/docs/size.html#default-width-and-height) for `text` mark and the value of `rangeStep` for other marks.\n\n__Note:__ For plots with [`row` and `column` channels](https://vega.github.io/vega-lite/docs/encoding.html#facet), this represents the width of a single view.\n\n__See also:__ The documentation for [width and height](https://vega.github.io/vega-lite/docs/size.html) contains more examples.', type: "number" } }, required: ["data", "mark"], type: "object" }, TopLevelSpec: { anyOf: [{ $ref: "#/definitions/TopLevelFacetedUnitSpec" }, { $ref: "#/definitions/TopLevelFacetSpec" }, { $ref: "#/definitions/TopLevelLayerSpec" }, { $ref: "#/definitions/TopLevelRepeatSpec" }, { $ref: "#/definitions/TopLevelVConcatSpec" }, { $ref: "#/definitions/TopLevelHConcatSpec" }] }, TopoDataFormat: { additionalProperties: !1, properties: { feature: { description: 'The name of the TopoJSON object set to convert to a GeoJSON feature collection.\nFor example, in a map of the world, there may be an object set named `"countries"`.\nUsing the feature property, we can extract this set and generate a GeoJSON feature object for each country.', type: "string" }, mesh: { description: "The name of the TopoJSON object set to convert to mesh.\nSimilar to the `feature` option, `mesh` extracts a named TopoJSON object set.\n  Unlike the `feature` option, the corresponding geo data is returned as a single, unified mesh instance, not as individual GeoJSON features.\nExtracting a mesh is useful for more efficiently drawing borders or other geographic elements that you do not need to associate with specific regions such as individual countries, states or counties.", type: "string" }, parse: { anyOf: [{ enum: ["auto"], type: "string" }, { type: "object" }], description: 'If set to auto (the default), perform automatic type inference to determine the desired data types.\nAlternatively, a parsing directive object can be provided for explicit data types. Each property of the object corresponds to a field name, and the value to the desired data type (one of `"number"`, `"boolean"` or `"date"`).\nFor example, `"parse": {"modified_on": "date"}` parses the `modified_on` field in each input record a Date value.\n\nFor `"date"`, we parse data based using Javascript\'s [`Date.parse()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).\nFor Specific date formats can be provided (e.g., `{foo: \'date:"%m%d%Y"\'}`), using the [d3-time-format syntax](https://github.com/d3/d3-time-format#locale_format). UTC date format parsing is supported similarly (e.g., `{foo: \'utc:"%m%d%Y"\'}`). See more about [UTC time](timeunit.html#utc)' }, type: { description: 'Type of input data: `"json"`, `"csv"`, `"tsv"`.\nThe default format type is determined by the extension of the file URL.\nIf no extension is detected, `"json"` will be used by default.', enum: ["topojson"], type: "string" } }, type: "object" }, Transform: { anyOf: [{ $ref: "#/definitions/FilterTransform" }, { $ref: "#/definitions/CalculateTransform" }, { $ref: "#/definitions/LookupTransform" }, { $ref: "#/definitions/BinTransform" }, { $ref: "#/definitions/TimeUnitTransform" }, { $ref: "#/definitions/AggregateTransform" }, { $ref: "#/definitions/WindowTransform" }] }, Type: { anyOf: [{ $ref: "#/definitions/BasicType" }, { $ref: "#/definitions/GeoType" }], description: `Constants and utilities for data type  
 Data type based on level of measurement ` }, UrlData: { additionalProperties: !1, properties: { format: { $ref: "#/definitions/DataFormat", description: "An object that specifies the format for parsing the data file." }, url: { description: "An URL from which to load the data set. Use the `format.type` property\nto ensure the loaded data is correctly parsed.", type: "string" } }, required: ["url"], type: "object" }, UtcMultiTimeUnit: { enum: ["utcyearquarter", "utcyearquartermonth", "utcyearmonth", "utcyearmonthdate", "utcyearmonthdatehours", "utcyearmonthdatehoursminutes", "utcyearmonthdatehoursminutesseconds", "utcquartermonth", "utcmonthdate", "utchoursminutes", "utchoursminutesseconds", "utcminutesseconds", "utcsecondsmilliseconds"], type: "string" }, UtcSingleTimeUnit: { enum: ["utcyear", "utcquarter", "utcmonth", "utcday", "utcdate", "utchours", "utcminutes", "utcseconds", "utcmilliseconds"], type: "string" }, ValueDef: { additionalProperties: !1, description: "Definition object for a constant value of an encoding channel.", properties: { value: { description: 'A constant value in visual domain (e.g., `"red"` / "#0099ff" for color, values between `0` to `1` for opacity).', type: ["number", "string", "boolean"] } }, required: ["value"], type: "object" }, ValueDefWithCondition: { additionalProperties: !1, description: `A ValueDef with Condition<ValueDef | FieldDef>
{
   condition: {field: ...} | {value: ...},
   value: ...,
}`, properties: { condition: { anyOf: [{ $ref: "#/definitions/ConditionalFieldDef" }, { $ref: "#/definitions/ConditionalValueDef" }, { items: { $ref: "#/definitions/ConditionalValueDef" }, type: "array" }], description: "A field definition or one or more value definition(s) with a selection predicate." }, value: { description: "A constant value in visual domain.", type: ["number", "string", "boolean"] } }, type: "object" }, MarkPropValueDefWithCondition: { additionalProperties: !1, description: `A ValueDef with Condition<ValueDef | FieldDef>
{
   condition: {field: ...} | {value: ...},
   value: ...,
}`, properties: { condition: { anyOf: [{ $ref: "#/definitions/ConditionalMarkPropFieldDef" }, { $ref: "#/definitions/ConditionalValueDef" }, { items: { $ref: "#/definitions/ConditionalValueDef" }, type: "array" }], description: "A field definition or one or more value definition(s) with a selection predicate." }, value: { description: "A constant value in visual domain.", type: ["number", "string", "boolean"] } }, type: "object" }, TextValueDefWithCondition: { additionalProperties: !1, description: `A ValueDef with Condition<ValueDef | FieldDef>
{
   condition: {field: ...} | {value: ...},
   value: ...,
}`, properties: { condition: { anyOf: [{ $ref: "#/definitions/ConditionalTextFieldDef" }, { $ref: "#/definitions/ConditionalValueDef" }, { items: { $ref: "#/definitions/ConditionalValueDef" }, type: "array" }], description: "A field definition or one or more value definition(s) with a selection predicate." }, value: { description: "A constant value in visual domain.", type: ["number", "string", "boolean"] } }, type: "object" }, VerticalAlign: { enum: ["top", "middle", "bottom"], type: "string" }, VgAxisConfig: { additionalProperties: !1, properties: { bandPosition: { description: "An interpolation fraction indicating where, for `band` scales, axis ticks should be positioned. A value of `0` places ticks at the left edge of their bands. A value of `0.5` places ticks in the middle of their bands.", type: "number" }, domain: { description: "A boolean flag indicating if the domain (the axis baseline) should be included as part of the axis.\n\n__Default value:__ `true`", type: "boolean" }, domainColor: { description: `Color of axis domain line.

__Default value:__  (none, using Vega default).`, type: "string" }, domainWidth: { description: `Stroke width of axis domain line

__Default value:__  (none, using Vega default).`, type: "number" }, grid: { description: "A boolean flag indicating if grid lines should be included as part of the axis\n\n__Default value:__ `true` for [continuous scales](scale.html#continuous) that are not binned; otherwise, `false`.", type: "boolean" }, gridColor: { description: "Color of gridlines.", type: "string" }, gridDash: { description: "The offset (in pixels) into which to begin drawing with the grid dash array.", items: { type: "number" }, type: "array" }, gridOpacity: { description: "The stroke opacity of grid (value between [0,1])\n\n__Default value:__ (`1` by default)", maximum: 1, minimum: 0, type: "number" }, gridWidth: { description: "The grid width, in pixels.", minimum: 0, type: "number" }, labelAngle: { description: "The rotation angle of the axis labels.\n\n__Default value:__ `-90` for nominal and ordinal fields; `0` otherwise.", maximum: 360, minimum: -360, type: "number" }, labelBound: { description: "Indicates if labels should be hidden if they exceed the axis range. If `false `(the default) no bounds overlap analysis is performed. If `true`, labels will be hidden if they exceed the axis range by more than 1 pixel. If this property is a number, it specifies the pixel tolerance: the maximum amount by which a label bounding box may exceed the axis range.\n\n__Default value:__ `false`.", type: ["boolean", "number"] }, labelColor: { description: "The color of the tick label, can be in hex color code or regular color name.", type: "string" }, labelFlush: { description: "Indicates if the first and last axis labels should be aligned flush with the scale range. Flush alignment for a horizontal axis will left-align the first label and right-align the last label. For vertical axes, bottom and top text baselines are applied instead. If this property is a number, it also indicates the number of pixels by which to offset the first and last labels; for example, a value of 2 will flush-align the first and last labels and also push them 2 pixels outward from the center of the axis. The additional adjustment can sometimes help the labels better visually group with corresponding axis ticks.\n\n__Default value:__ `true` for axis of a continuous x-scale. Otherwise, `false`.", type: ["boolean", "number"] }, labelFont: { description: "The font of the tick label.", type: "string" }, labelFontSize: { description: "The font size of the label, in pixels.", minimum: 0, type: "number" }, labelLimit: { description: "Maximum allowed pixel width of axis tick labels.", type: "number" }, labelOverlap: { anyOf: [{ type: "boolean" }, { enum: ["parity"], type: "string" }, { enum: ["greedy"], type: "string" }], description: 'The strategy to use for resolving overlap of axis labels. If `false` (the default), no overlap reduction is attempted. If set to `true` or `"parity"`, a strategy of removing every other label is used (this works well for standard linear axes). If set to `"greedy"`, a linear scan of the labels is performed, removing any labels that overlaps with the last visible label (this often works better for log-scaled axes).\n\n__Default value:__ `true` for non-nominal fields with non-log scales; `"greedy"` for log scales; otherwise `false`.' }, labelPadding: { description: "The padding, in pixels, between axis and text labels.", type: "number" }, labels: { description: "A boolean flag indicating if labels should be included as part of the axis.\n\n__Default value:__  `true`.", type: "boolean" }, maxExtent: { description: "The maximum extent in pixels that axis ticks and labels should use. This determines a maximum offset value for axis titles.\n\n__Default value:__ `undefined`.", type: "number" }, minExtent: { description: "The minimum extent in pixels that axis ticks and labels should use. This determines a minimum offset value for axis titles.\n\n__Default value:__ `30` for y-axis; `undefined` for x-axis.", type: "number" }, tickColor: { description: "The color of the axis's tick.", type: "string" }, tickRound: { description: "Boolean flag indicating if pixel position values should be rounded to the nearest integer.", type: "boolean" }, tickSize: { description: "The size in pixels of axis ticks.", minimum: 0, type: "number" }, tickWidth: { description: "The width, in pixels, of ticks.", minimum: 0, type: "number" }, ticks: { description: "Boolean value that determines whether the axis should include ticks.", type: "boolean" }, titleAlign: { description: "Horizontal text alignment of axis titles.", type: "string" }, titleAngle: { description: "Angle in degrees of axis titles.", type: "number" }, titleBaseline: { description: "Vertical text baseline for axis titles.", type: "string" }, titleColor: { description: "Color of the title, can be in hex color code or regular color name.", type: "string" }, titleFont: { description: 'Font of the title. (e.g., `"Helvetica Neue"`).', type: "string" }, titleFontSize: { description: "Font size of the title.", minimum: 0, type: "number" }, titleFontWeight: { $ref: "#/definitions/FontWeight", description: 'Font weight of the title.\nThis can be either a string (e.g `"bold"`, `"normal"`) or a number (`100`, `200`, `300`, ..., `900` where `"normal"` = `400` and `"bold"` = `700`).' }, titleLimit: { description: "Maximum allowed pixel width of axis titles.", type: "number" }, titleMaxLength: { description: "Max length for axis title if the title is automatically generated from the field's description.", type: "number" }, titlePadding: { description: "The padding, in pixels, between title and axis.", type: "number" }, titleX: { description: "X-coordinate of the axis title relative to the axis group.", type: "number" }, titleY: { description: "Y-coordinate of the axis title relative to the axis group.", type: "number" } }, type: "object" }, VgBinding: { anyOf: [{ $ref: "#/definitions/VgCheckboxBinding" }, { $ref: "#/definitions/VgRadioBinding" }, { $ref: "#/definitions/VgSelectBinding" }, { $ref: "#/definitions/VgRangeBinding" }, { $ref: "#/definitions/VgGenericBinding" }] }, VgCheckboxBinding: { additionalProperties: !1, properties: { element: { type: "string" }, input: { enum: ["checkbox"], type: "string" } }, required: ["input"], type: "object" }, VgComparatorOrder: { enum: ["ascending", "descending"], type: "string" }, VgEventStream: {}, VgGenericBinding: { additionalProperties: !1, properties: { element: { type: "string" }, input: { type: "string" } }, required: ["input"], type: "object" }, VgMarkConfig: { additionalProperties: !1, properties: { align: { $ref: "#/definitions/HorizontalAlign", description: 'The horizontal alignment of the text. One of `"left"`, `"right"`, `"center"`.' }, angle: { description: "The rotation angle of the text, in degrees.", maximum: 360, minimum: 0, type: "number" }, baseline: { $ref: "#/definitions/VerticalAlign", description: 'The vertical alignment of the text. One of `"top"`, `"middle"`, `"bottom"`.\n\n__Default value:__ `"middle"`' }, cursor: { description: "The mouse cursor used over the mark. Any valid [CSS cursor type](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor#Values) can be used.", enum: ["auto", "default", "none", "context-menu", "help", "pointer", "progress", "wait", "cell", "crosshair", "text", "vertical-text", "alias", "copy", "move", "no-drop", "not-allowed", "e-resize", "n-resize", "ne-resize", "nw-resize", "s-resize", "se-resize", "sw-resize", "w-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "col-resize", "row-resize", "all-scroll", "zoom-in", "zoom-out", "grab", "grabbing"], type: "string" }, dx: { description: "The horizontal offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.", type: "number" }, dy: { description: "The vertical offset, in pixels, between the text label and its anchor point. The offset is applied after rotation by the _angle_ property.", type: "number" }, fill: { description: "Default Fill Color.  This has higher precedence than `config.color`\n\n__Default value:__ (None)", type: "string" }, fillOpacity: { description: "The fill opacity (value between [0,1]).\n\n__Default value:__ `1`", maximum: 1, minimum: 0, type: "number" }, font: { description: 'The typeface to set the text in (e.g., `"Helvetica Neue"`).', type: "string" }, fontSize: { description: "The font size, in pixels.", minimum: 0, type: "number" }, fontStyle: { $ref: "#/definitions/FontStyle", description: 'The font style (e.g., `"italic"`).' }, fontWeight: { $ref: "#/definitions/FontWeight", description: 'The font weight.\nThis can be either a string (e.g `"bold"`, `"normal"`) or a number (`100`, `200`, `300`, ..., `900` where `"normal"` = `400` and `"bold"` = `700`).' }, href: { description: "A URL to load upon mouse click. If defined, the mark acts as a hyperlink.", format: "uri", type: "string" }, interpolate: { $ref: "#/definitions/Interpolate", description: 'The line interpolation method to use for line and area marks. One of the following:\n- `"linear"`: piecewise linear segments, as in a polyline.\n- `"linear-closed"`: close the linear segments to form a polygon.\n- `"step"`: alternate between horizontal and vertical segments, as in a step function.\n- `"step-before"`: alternate between vertical and horizontal segments, as in a step function.\n- `"step-after"`: alternate between horizontal and vertical segments, as in a step function.\n- `"basis"`: a B-spline, with control point duplication on the ends.\n- `"basis-open"`: an open B-spline; may not intersect the start or end.\n- `"basis-closed"`: a closed B-spline, as in a loop.\n- `"cardinal"`: a Cardinal spline, with control point duplication on the ends.\n- `"cardinal-open"`: an open Cardinal spline; may not intersect the start or end, but will intersect other control points.\n- `"cardinal-closed"`: a closed Cardinal spline, as in a loop.\n- `"bundle"`: equivalent to basis, except the tension parameter is used to straighten the spline.\n- `"monotone"`: cubic interpolation that preserves monotonicity in y.' }, limit: { description: "The maximum length of the text mark in pixels (default 0, indicating no limit). The text value will be automatically truncated if the rendered size exceeds the limit.", type: "number" }, opacity: { description: "The overall opacity (value between [0,1]).\n\n__Default value:__ `0.7` for non-aggregate plots with `point`, `tick`, `circle`, or `square` marks or layered `bar` charts and `1` otherwise.", maximum: 1, minimum: 0, type: "number" }, orient: { $ref: "#/definitions/Orient", description: `The orientation of a non-stacked bar, tick, area, and line charts.
The value is either horizontal (default) or vertical.
- For bar, rule and tick, this determines whether the size of the bar and tick
should be applied to x or y dimension.
- For area, this property determines the orient property of the Vega output.
- For line and trail marks, this property determines the sort order of the points in the line
if \`config.sortLineBy\` is not specified.
For stacked charts, this is always determined by the orientation of the stack;
therefore explicitly specified value will be ignored.` }, radius: { description: "Polar coordinate radial offset, in pixels, of the text label from the origin determined by the `x` and `y` properties.", minimum: 0, type: "number" }, shape: { description: 'The default symbol shape to use. One of: `"circle"` (default), `"square"`, `"cross"`, `"diamond"`, `"triangle-up"`, or `"triangle-down"`, or a custom SVG path.\n\n__Default value:__ `"circle"`', type: "string" }, size: { description: `The pixel area each the point/circle/square.
For example: in the case of circles, the radius is determined in part by the square root of the size value.

__Default value:__ \`30\``, minimum: 0, type: "number" }, stroke: { description: "Default Stroke Color.  This has higher precedence than `config.color`\n\n__Default value:__ (None)", type: "string" }, strokeCap: { description: 'The stroke cap for line ending style. One of `"butt"`, `"round"`, or `"square"`.\n\n__Default value:__ `"square"`', enum: ["butt", "round", "square"], type: "string" }, strokeDash: { description: "An array of alternating stroke, space lengths for creating dashed or dotted lines.", items: { type: "number" }, type: "array" }, strokeDashOffset: { description: "The offset (in pixels) into which to begin drawing with the stroke dash array.", type: "number" }, strokeOpacity: { description: "The stroke opacity (value between [0,1]).\n\n__Default value:__ `1`", maximum: 1, minimum: 0, type: "number" }, strokeWidth: { description: "The stroke width, in pixels.", minimum: 0, type: "number" }, tension: { description: "Depending on the interpolation type, sets the tension parameter (for line and area marks).", maximum: 1, minimum: 0, type: "number" }, text: { description: "Placeholder text if the `text` channel is not specified", type: "string" }, theta: { description: 'Polar coordinate angle, in radians, of the text label from the origin determined by the `x` and `y` properties. Values for `theta` follow the same convention of `arc` mark `startAngle` and `endAngle` properties: angles are measured in radians, with `0` indicating "north".', type: "number" } }, type: "object" }, VgProjectionType: { enum: ["albers", "albersUsa", "azimuthalEqualArea", "azimuthalEquidistant", "conicConformal", "conicEqualArea", "conicEquidistant", "equirectangular", "gnomonic", "mercator", "orthographic", "stereographic", "transverseMercator"], type: "string" }, VgRadioBinding: { additionalProperties: !1, properties: { element: { type: "string" }, input: { enum: ["radio"], type: "string" }, options: { items: { type: "string" }, type: "array" } }, required: ["input", "options"], type: "object" }, VgRangeBinding: { additionalProperties: !1, properties: { element: { type: "string" }, input: { enum: ["range"], type: "string" }, max: { type: "number" }, min: { type: "number" }, step: { type: "number" } }, required: ["input"], type: "object" }, VgScheme: { additionalProperties: !1, properties: { count: { type: "number" }, extent: { items: { type: "number" }, type: "array" }, scheme: { type: "string" } }, required: ["scheme"], type: "object" }, VgSelectBinding: { additionalProperties: !1, properties: { element: { type: "string" }, input: { enum: ["select"], type: "string" }, options: { items: { type: "string" }, type: "array" } }, required: ["input", "options"], type: "object" }, VgTitleConfig: { additionalProperties: !1, properties: { anchor: { $ref: "#/definitions/Anchor", description: 'The anchor position for placing the title. One of `"start"`, `"middle"`, or `"end"`. For example, with an orientation of top these anchor positions map to a left-, center-, or right-aligned title.\n\n__Default value:__ `"middle"` for [single](spec.html) and [layered](layer.html) views.\n`"start"` for other composite views.\n\n__Note:__ [For now](https://github.com/vega/vega-lite/issues/2875), `anchor` is only customizable only for [single](spec.html) and [layered](layer.html) views.  For other composite views, `anchor` is always `"start"`.' }, angle: { description: "Angle in degrees of title text.", type: "number" }, baseline: { $ref: "#/definitions/VerticalAlign", description: "Vertical text baseline for title text." }, color: { description: "Text color for title text.", type: "string" }, font: { description: "Font name for title text.", type: "string" }, fontSize: { description: "Font size in pixels for title text.\n\n__Default value:__ `10`.", minimum: 0, type: "number" }, fontWeight: { $ref: "#/definitions/FontWeight", description: 'Font weight for title text.\nThis can be either a string (e.g `"bold"`, `"normal"`) or a number (`100`, `200`, `300`, ..., `900` where `"normal"` = `400` and `"bold"` = `700`).' }, limit: { description: "The maximum allowed length in pixels of legend labels.", minimum: 0, type: "number" }, offset: { description: "Offset in pixels of the title from the chart body and axes.", type: "number" }, orient: { $ref: "#/definitions/TitleOrient", description: 'Default title orientation ("top", "bottom", "left", or "right")' } }, type: "object" }, ViewConfig: { additionalProperties: !1, properties: { clip: { description: "Whether the view should be clipped.", type: "boolean" }, fill: { description: `The fill color.

__Default value:__ (none)`, type: "string" }, fillOpacity: { description: `The fill opacity (value between [0,1]).

__Default value:__ (none)`, type: "number" }, height: { description: "The default height of the single plot or each plot in a trellis plot when the visualization has a continuous (non-ordinal) y-scale with `rangeStep` = `null`.\n\n__Default value:__ `200`", type: "number" }, stroke: { description: `The stroke color.

__Default value:__ (none)`, type: "string" }, strokeDash: { description: `An array of alternating stroke, space lengths for creating dashed or dotted lines.

__Default value:__ (none)`, items: { type: "number" }, type: "array" }, strokeDashOffset: { description: `The offset (in pixels) into which to begin drawing with the stroke dash array.

__Default value:__ (none)`, type: "number" }, strokeOpacity: { description: `The stroke opacity (value between [0,1]).

__Default value:__ (none)`, type: "number" }, strokeWidth: { description: `The stroke width, in pixels.

__Default value:__ (none)`, type: "number" }, width: { description: "The default width of the single plot or each plot in a trellis plot when the visualization has a continuous (non-ordinal) x-scale or ordinal x-scale with `rangeStep` = `null`.\n\n__Default value:__ `200`", type: "number" } }, type: "object" }, WindowFieldDef: { additionalProperties: !1, properties: { as: { description: "The output name for the window operation.", type: "string" }, field: { description: "The data field for which to compute the aggregate or window function. This can be omitted for window functions that do not operate over a field such as `count`, `rank`, `dense_rank`.", type: "string" }, op: { anyOf: [{ $ref: "#/definitions/AggregateOp" }, { $ref: "#/definitions/WindowOnlyOp" }], description: "The window or aggregation operations to apply within a window, including `rank`, `lead`, `sum`, `average` or `count`. See the list of all supported operations [here](https://vega.github.io/vega-lite/docs/window.html#ops)." }, param: { description: `Parameter values for the window functions. Parameter values can be omitted for operations that do not accept a parameter.

See the list of all supported operations and their parameters [here](https://vega.github.io/vega-lite/docs/transforms/window.html).`, type: "number" } }, required: ["op", "as"], type: "object" }, WindowOnlyOp: { enum: ["row_number", "rank", "dense_rank", "percent_rank", "cume_dist", "ntile", "lag", "lead", "first_value", "last_value", "nth_value"], type: "string" }, WindowSortField: { additionalProperties: !1, description: "A compartor for fields within the window transform", properties: { field: { description: "The name of the field to sort.", type: "string" }, order: { $ref: "#/definitions/VgComparatorOrder", description: "Whether to sort the field in ascending or descending order." } }, required: ["field"], type: "object" }, WindowTransform: { additionalProperties: !1, properties: { frame: { description: "A frame specification as a two-element array indicating how the sliding window should proceed. The array entries should either be a number indicating the offset from the current data object, or null to indicate unbounded rows preceding or following the current data object. The default value is `[null, 0]`, indicating that the sliding window includes the current object and all preceding objects. The value `[-5, 5]` indicates that the window should include five objects preceding and five objects following the current object. Finally, `[null, null]` indicates that the window frame should always include all data objects. The only operators affected are the aggregation operations and the `first_value`, `last_value`, and `nth_value` window operations. The other window operations are not affected by this.\n\n__Default value:__:  `[null, 0]` (includes the current object and all preceding objects)", items: { type: ["null", "number"] }, type: "array" }, groupby: { description: "The data fields for partitioning the data objects into separate windows. If unspecified, all data points will be a single group.", items: { type: "string" }, type: "array" }, ignorePeers: { description: "Indicates if the sliding window frame should ignore peer values. (Peer values are those considered identical by the sort criteria). The default is false, causing the window frame to expand to include all peer values. If set to true, the window frame will be defined by offset values only. This setting only affects those operations that depend on the window frame, namely aggregation operations and the first_value, last_value, and nth_value window operations.\n\n__Default value:__ `false`", type: "boolean" }, sort: { description: "A comparator definition for sorting data objects within a window. If two data objects are considered equal by the comparator, they are considered “peer” values of equal rank. If sort is not specified, the order is undefined: data objects are processed in the order they are observed and none are considered peers (the ignorePeers parameter is ignored and treated as if set to `true`).", items: { $ref: "#/definitions/WindowSortField" }, type: "array" }, window: { description: "The definition of the fields in the window, and what calculations to use.", items: { $ref: "#/definitions/WindowFieldDef" }, type: "array" } }, required: ["window"], type: "object" } } };
    }, function(A, u, a) {
      function s(f, S, _) {
        function d(p) {
          var b = new E.default(p);
          _.call(f, b);
        }
        return f.addEventListener ? (f.addEventListener(S, d, !1), { remove: function() {
          f.removeEventListener(S, d, !1);
        } }) : f.attachEvent ? (f.attachEvent("on" + S, d), { remove: function() {
          f.detachEvent("on" + S, d);
        } }) : void 0;
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = a(314), E = function(f) {
        return f && f.__esModule ? f : { default: f };
      }(h);
      A.exports = u.default;
    }, function(A, u, a) {
      function s(E) {
        h.copy(E, this);
      }
      var h = a(64);
      A.exports = s;
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var B, f, S = " ", _ = s.level, d = s.dataLevel, p = s.schema[h], b = s.schemaPath + s.util.getProperty(h), m = s.errSchemaPath + "/" + h, v = !s.opts.allErrors, O = "data" + (d || ""), T = s.opts.$data && p && p.$data;
        T ? (S += " var schema" + _ + " = " + s.util.getData(p.$data, d, s.dataPathArr) + "; ", f = "schema" + _) : f = p;
        var w = h == "maximum", P = w ? "exclusiveMaximum" : "exclusiveMinimum", I = s.schema[P], L = s.opts.$data && I && I.$data, R = w ? "<" : ">", q = w ? ">" : "<", B = void 0;
        if (L) {
          var j = s.util.getData(I.$data, d, s.dataPathArr), k = "exclusive" + _, U = "exclType" + _, W = "exclIsNumber" + _, $ = "op" + _, V = "' + " + $ + " + '";
          S += " var schemaExcl" + _ + " = " + j + "; ", j = "schemaExcl" + _, S += " var " + k + "; var " + U + " = typeof " + j + "; if (" + U + " != 'boolean' && " + U + " != 'undefined' && " + U + " != 'number') { ";
          var B = P, G = G || [];
          G.push(S), S = "", s.createErrors !== !1 ? (S += " { keyword: '" + (B || "_exclusiveLimit") + "' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(m) + " , params: {} ", s.opts.messages !== !1 && (S += " , message: '" + P + " should be boolean' "), s.opts.verbose && (S += " , schema: validate.schema" + b + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + O + " "), S += " } ") : S += " {} ";
          var X = S;
          S = G.pop(), !s.compositeRule && v ? s.async ? S += " throw new ValidationError([" + X + "]); " : S += " validate.errors = [" + X + "]; return false; " : S += " var err = " + X + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", S += " } else if ( ", T && (S += " (" + f + " !== undefined && typeof " + f + " != 'number') || "), S += " " + U + " == 'number' ? ( (" + k + " = " + f + " === undefined || " + j + " " + R + "= " + f + ") ? " + O + " " + q + "= " + j + " : " + O + " " + q + " " + f + " ) : ( (" + k + " = " + j + " === true) ? " + O + " " + q + "= " + f + " : " + O + " " + q + " " + f + " ) || " + O + " !== " + O + ") { var op" + _ + " = " + k + " ? '" + R + "' : '" + R + "=';";
        } else {
          var W = typeof I == "number", V = R;
          if (W && T) {
            var $ = "'" + V + "'";
            S += " if ( ", T && (S += " (" + f + " !== undefined && typeof " + f + " != 'number') || "), S += " ( " + f + " === undefined || " + I + " " + R + "= " + f + " ? " + O + " " + q + "= " + I + " : " + O + " " + q + " " + f + " ) || " + O + " !== " + O + ") { ";
          } else {
            W && p === void 0 ? (k = !0, B = P, m = s.errSchemaPath + "/" + P, f = I, q += "=") : (W && (f = Math[w ? "min" : "max"](I, p)), I === (!W || f) ? (k = !0, B = P, m = s.errSchemaPath + "/" + P, q += "=") : (k = !1, V += "="));
            var $ = "'" + V + "'";
            S += " if ( ", T && (S += " (" + f + " !== undefined && typeof " + f + " != 'number') || "), S += " " + O + " " + q + " " + f + " || " + O + " !== " + O + ") { ";
          }
        }
        B = B || h;
        var G = G || [];
        G.push(S), S = "", s.createErrors !== !1 ? (S += " { keyword: '" + (B || "_limit") + "' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(m) + " , params: { comparison: " + $ + ", limit: " + f + ", exclusive: " + k + " } ", s.opts.messages !== !1 && (S += " , message: 'should be " + V + " ", S += T ? "' + " + f : f + "'"), s.opts.verbose && (S += " , schema:  ", S += T ? "validate.schema" + b : "" + p, S += "         , parentSchema: validate.schema" + s.schemaPath + " , data: " + O + " "), S += " } ") : S += " {} ";
        var X = S;
        return S = G.pop(), !s.compositeRule && v ? s.async ? S += " throw new ValidationError([" + X + "]); " : S += " validate.errors = [" + X + "]; return false; " : S += " var err = " + X + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", S += " } ", v && (S += " else { "), S;
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var P, f, S = " ", _ = s.level, d = s.dataLevel, p = s.schema[h], b = s.schemaPath + s.util.getProperty(h), m = s.errSchemaPath + "/" + h, v = !s.opts.allErrors, O = "data" + (d || ""), T = s.opts.$data && p && p.$data;
        T ? (S += " var schema" + _ + " = " + s.util.getData(p.$data, d, s.dataPathArr) + "; ", f = "schema" + _) : f = p;
        var w = h == "maxItems" ? ">" : "<";
        S += "if ( ", T && (S += " (" + f + " !== undefined && typeof " + f + " != 'number') || "), S += " " + O + ".length " + w + " " + f + ") { ";
        var P = h, I = I || [];
        I.push(S), S = "", s.createErrors !== !1 ? (S += " { keyword: '" + (P || "_limitItems") + "' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(m) + " , params: { limit: " + f + " } ", s.opts.messages !== !1 && (S += " , message: 'should NOT have ", S += h == "maxItems" ? "more" : "less", S += " than ", S += T ? "' + " + f + " + '" : "" + p, S += " items' "), s.opts.verbose && (S += " , schema:  ", S += T ? "validate.schema" + b : "" + p, S += "         , parentSchema: validate.schema" + s.schemaPath + " , data: " + O + " "), S += " } ") : S += " {} ";
        var L = S;
        return S = I.pop(), !s.compositeRule && v ? s.async ? S += " throw new ValidationError([" + L + "]); " : S += " validate.errors = [" + L + "]; return false; " : S += " var err = " + L + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", S += "} ", v && (S += " else { "), S;
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var P, f, S = " ", _ = s.level, d = s.dataLevel, p = s.schema[h], b = s.schemaPath + s.util.getProperty(h), m = s.errSchemaPath + "/" + h, v = !s.opts.allErrors, O = "data" + (d || ""), T = s.opts.$data && p && p.$data;
        T ? (S += " var schema" + _ + " = " + s.util.getData(p.$data, d, s.dataPathArr) + "; ", f = "schema" + _) : f = p;
        var w = h == "maxLength" ? ">" : "<";
        S += "if ( ", T && (S += " (" + f + " !== undefined && typeof " + f + " != 'number') || "), s.opts.unicode === !1 ? S += " " + O + ".length " : S += " ucs2length(" + O + ") ", S += " " + w + " " + f + ") { ";
        var P = h, I = I || [];
        I.push(S), S = "", s.createErrors !== !1 ? (S += " { keyword: '" + (P || "_limitLength") + "' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(m) + " , params: { limit: " + f + " } ", s.opts.messages !== !1 && (S += " , message: 'should NOT be ", S += h == "maxLength" ? "longer" : "shorter", S += " than ", S += T ? "' + " + f + " + '" : "" + p, S += " characters' "), s.opts.verbose && (S += " , schema:  ", S += T ? "validate.schema" + b : "" + p, S += "         , parentSchema: validate.schema" + s.schemaPath + " , data: " + O + " "), S += " } ") : S += " {} ";
        var L = S;
        return S = I.pop(), !s.compositeRule && v ? s.async ? S += " throw new ValidationError([" + L + "]); " : S += " validate.errors = [" + L + "]; return false; " : S += " var err = " + L + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", S += "} ", v && (S += " else { "), S;
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var P, f, S = " ", _ = s.level, d = s.dataLevel, p = s.schema[h], b = s.schemaPath + s.util.getProperty(h), m = s.errSchemaPath + "/" + h, v = !s.opts.allErrors, O = "data" + (d || ""), T = s.opts.$data && p && p.$data;
        T ? (S += " var schema" + _ + " = " + s.util.getData(p.$data, d, s.dataPathArr) + "; ", f = "schema" + _) : f = p;
        var w = h == "maxProperties" ? ">" : "<";
        S += "if ( ", T && (S += " (" + f + " !== undefined && typeof " + f + " != 'number') || "), S += " Object.keys(" + O + ").length " + w + " " + f + ") { ";
        var P = h, I = I || [];
        I.push(S), S = "", s.createErrors !== !1 ? (S += " { keyword: '" + (P || "_limitProperties") + "' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(m) + " , params: { limit: " + f + " } ", s.opts.messages !== !1 && (S += " , message: 'should NOT have ", S += h == "maxProperties" ? "more" : "less", S += " than ", S += T ? "' + " + f + " + '" : "" + p, S += " properties' "), s.opts.verbose && (S += " , schema:  ", S += T ? "validate.schema" + b : "" + p, S += "         , parentSchema: validate.schema" + s.schemaPath + " , data: " + O + " "), S += " } ") : S += " {} ";
        var L = S;
        return S = I.pop(), !s.compositeRule && v ? s.async ? S += " throw new ValidationError([" + L + "]); " : S += " validate.errors = [" + L + "]; return false; " : S += " var err = " + L + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", S += "} ", v && (S += " else { "), S;
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        function f(be) {
          for (var Se = be.rules, Ae = 0; Ae < Se.length; Ae++) if (S(Se[Ae])) return !0;
        }
        function S(be) {
          return s.schema[be.keyword] !== void 0 || be.implements && _(be);
        }
        function _(be) {
          for (var Se = be.implements, Ae = 0; Ae < Se.length; Ae++) if (s.schema[Se[Ae]] !== void 0) return !0;
        }
        var d = "", p = s.schema.$async === !0, b = s.util.schemaHasRulesExcept(s.schema, s.RULES.all, "$ref"), m = s.self._getId(s.schema);
        if (s.isTop) {
          if (p) {
            s.async = !0;
            var v = s.opts.async == "es7";
            s.yieldAwait = v ? "await" : "yield";
          }
          d += " var validate = ", p ? v ? d += " (async function " : (s.opts.async != "*" && (d += "co.wrap"), d += "(function* ") : d += " (function ", d += " (data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ", m && (s.opts.sourceCode || s.opts.processCode) && (d += " /*# sourceURL=" + m + " */ ");
        }
        if (typeof s.schema == "boolean" || !b && !s.schema.$ref) {
          var j, O = s.level, T = s.dataLevel, w = s.schema["false schema"], P = s.schemaPath + s.util.getProperty("false schema"), I = s.errSchemaPath + "/false schema", U = !s.opts.allErrors, L = "data" + (T || ""), k = "valid" + O;
          if (s.schema === !1) {
            s.isTop ? U = !0 : d += " var " + k + " = false; ";
            var R = R || [];
            R.push(d), d = "", s.createErrors !== !1 ? (d += " { keyword: '" + (j || "false schema") + "' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(I) + " , params: {} ", s.opts.messages !== !1 && (d += " , message: 'boolean schema is false' "), s.opts.verbose && (d += " , schema: false , parentSchema: validate.schema" + s.schemaPath + " , data: " + L + " "), d += " } ") : d += " {} ";
            var q = d;
            d = R.pop(), !s.compositeRule && U ? s.async ? d += " throw new ValidationError([" + q + "]); " : d += " validate.errors = [" + q + "]; return false; " : d += " var err = " + q + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";
          } else s.isTop ? d += p ? " return data; " : " validate.errors = null; return true; " : d += " var " + k + " = true; ";
          return s.isTop && (d += " }); return validate; "), d;
        }
        if (s.isTop) {
          var B = s.isTop, O = s.level = 0, T = s.dataLevel = 0, L = "data";
          s.rootId = s.resolve.fullPath(s.self._getId(s.root.schema)), s.baseId = s.baseId || s.rootId, delete s.isTop, s.dataPathArr = [void 0], d += " var vErrors = null; ", d += " var errors = 0;     ", d += " if (rootData === undefined) rootData = data; ";
        } else {
          var O = s.level, T = s.dataLevel, L = "data" + (T || "");
          if (m && (s.baseId = s.resolve.url(s.baseId, m)), p && !s.async) throw new Error("async schema in sync schema");
          d += " var errs_" + O + " = errors;";
        }
        var j, k = "valid" + O, U = !s.opts.allErrors, W = "", $ = "", V = s.schema.type, G = Array.isArray(V);
        if (G && V.length == 1 && (V = V[0], G = !1), s.schema.$ref && b) {
          if (s.opts.extendRefs == "fail") throw new Error('$ref: validation keywords used in schema at path "' + s.errSchemaPath + '" (see option extendRefs)');
          s.opts.extendRefs !== !0 && (b = !1, console.warn('$ref: keywords ignored in schema at path "' + s.errSchemaPath + '"'));
        }
        if (V) {
          if (s.opts.coerceTypes) var X = s.util.coerceToTypes(s.opts.coerceTypes, V);
          var K = s.RULES.types[V];
          if (X || G || K === !0 || K && !f(K)) {
            var P = s.schemaPath + ".type", I = s.errSchemaPath + "/type", P = s.schemaPath + ".type", I = s.errSchemaPath + "/type", H = G ? "checkDataTypes" : "checkDataType";
            if (d += " if (" + s.util[H](V, L, !0) + ") { ", X) {
              var Y = "dataType" + O, Q = "coerced" + O;
              d += " var " + Y + " = typeof " + L + "; ", s.opts.coerceTypes == "array" && (d += " if (" + Y + " == 'object' && Array.isArray(" + L + ")) " + Y + " = 'array'; "), d += " var " + Q + " = undefined; ";
              var Z = "", J = X;
              if (J) for (var ne, ie = -1, re = J.length - 1; ie < re; ) ne = J[ie += 1], ie && (d += " if (" + Q + " === undefined) { ", Z += "}"), s.opts.coerceTypes == "array" && ne != "array" && (d += " if (" + Y + " == 'array' && " + L + ".length == 1) { " + Q + " = " + L + " = " + L + "[0]; " + Y + " = typeof " + L + ";  } "), ne == "string" ? d += " if (" + Y + " == 'number' || " + Y + " == 'boolean') " + Q + " = '' + " + L + "; else if (" + L + " === null) " + Q + " = ''; " : ne == "number" || ne == "integer" ? (d += " if (" + Y + " == 'boolean' || " + L + " === null || (" + Y + " == 'string' && " + L + " && " + L + " == +" + L + " ", ne == "integer" && (d += " && !(" + L + " % 1)"), d += ")) " + Q + " = +" + L + "; ") : ne == "boolean" ? d += " if (" + L + " === 'false' || " + L + " === 0 || " + L + " === null) " + Q + " = false; else if (" + L + " === 'true' || " + L + " === 1) " + Q + " = true; " : ne == "null" ? d += " if (" + L + " === '' || " + L + " === 0 || " + L + " === false) " + Q + " = null; " : s.opts.coerceTypes == "array" && ne == "array" && (d += " if (" + Y + " == 'string' || " + Y + " == 'number' || " + Y + " == 'boolean' || " + L + " == null) " + Q + " = [" + L + "]; ");
              d += " " + Z + " if (" + Q + " === undefined) {   ";
              var R = R || [];
              R.push(d), d = "", s.createErrors !== !1 ? (d += " { keyword: '" + (j || "type") + "' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(I) + " , params: { type: '", d += G ? "" + V.join(",") : "" + V, d += "' } ", s.opts.messages !== !1 && (d += " , message: 'should be ", d += G ? "" + V.join(",") : "" + V, d += "' "), s.opts.verbose && (d += " , schema: validate.schema" + P + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + L + " "), d += " } ") : d += " {} ";
              var q = d;
              d = R.pop(), !s.compositeRule && U ? s.async ? d += " throw new ValidationError([" + q + "]); " : d += " validate.errors = [" + q + "]; return false; " : d += " var err = " + q + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", d += " } else {  ";
              var ee = T ? "data" + (T - 1 || "") : "parentData", te = T ? s.dataPathArr[T] : "parentDataProperty";
              d += " " + L + " = " + Q + "; ", T || (d += "if (" + ee + " !== undefined)"), d += " " + ee + "[" + te + "] = " + Q + "; } ";
            } else {
              var R = R || [];
              R.push(d), d = "", s.createErrors !== !1 ? (d += " { keyword: '" + (j || "type") + "' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(I) + " , params: { type: '", d += G ? "" + V.join(",") : "" + V, d += "' } ", s.opts.messages !== !1 && (d += " , message: 'should be ", d += G ? "" + V.join(",") : "" + V, d += "' "), s.opts.verbose && (d += " , schema: validate.schema" + P + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + L + " "), d += " } ") : d += " {} ";
              var q = d;
              d = R.pop(), !s.compositeRule && U ? s.async ? d += " throw new ValidationError([" + q + "]); " : d += " validate.errors = [" + q + "]; return false; " : d += " var err = " + q + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";
            }
            d += " } ";
          }
        }
        if (s.schema.$ref && !b) d += " " + s.RULES.all.$ref.code(s, "$ref") + " ", U && (d += " } if (errors === ", d += B ? "0" : "errs_" + O, d += ") { ", $ += "}");
        else {
          s.opts.v5 && s.schema.patternGroups && console.warn('keyword "patternGroups" is deprecated and disabled. Use option patternGroups: true to enable.');
          var ue = s.RULES;
          if (ue) {
            for (var K, le = -1, ae = ue.length - 1; le < ae; ) if (K = ue[le += 1], f(K)) {
              if (K.type && (d += " if (" + s.util.checkDataType(K.type, L) + ") { "), s.opts.useDefaults && !s.compositeRule) {
                if (K.type == "object" && s.schema.properties) {
                  var w = s.schema.properties, ce = Object.keys(w), pe = ce;
                  if (pe) for (var de, he = -1, Ee = pe.length - 1; he < Ee; ) {
                    de = pe[he += 1];
                    var ye = w[de];
                    if (ye.default !== void 0) {
                      var _e = L + s.util.getProperty(de);
                      d += "  if (" + _e + " === undefined) " + _e + " = ", s.opts.useDefaults == "shared" ? d += " " + s.useDefault(ye.default) + " " : d += " " + JSON.stringify(ye.default) + " ", d += "; ";
                    }
                  }
                } else if (K.type == "array" && Array.isArray(s.schema.items)) {
                  var ge = s.schema.items;
                  if (ge) {
                    for (var ye, ie = -1, Me = ge.length - 1; ie < Me; ) if (ye = ge[ie += 1], ye.default !== void 0) {
                      var _e = L + "[" + ie + "]";
                      d += "  if (" + _e + " === undefined) " + _e + " = ", s.opts.useDefaults == "shared" ? d += " " + s.useDefault(ye.default) + " " : d += " " + JSON.stringify(ye.default) + " ", d += "; ";
                    }
                  }
                }
              }
              var Te = K.rules;
              if (Te) {
                for (var De, oe = -1, se = Te.length - 1; oe < se; ) if (De = Te[oe += 1], S(De)) {
                  var fe = De.code(s, De.keyword, K.type);
                  fe && (d += " " + fe + " ", U && (W += "}"));
                }
              }
              if (U && (d += " " + W + " ", W = ""), K.type && (d += " } ", V && V === K.type && !X)) {
                d += " else { ";
                var P = s.schemaPath + ".type", I = s.errSchemaPath + "/type", R = R || [];
                R.push(d), d = "", s.createErrors !== !1 ? (d += " { keyword: '" + (j || "type") + "' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(I) + " , params: { type: '", d += G ? "" + V.join(",") : "" + V, d += "' } ", s.opts.messages !== !1 && (d += " , message: 'should be ", d += G ? "" + V.join(",") : "" + V, d += "' "), s.opts.verbose && (d += " , schema: validate.schema" + P + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + L + " "), d += " } ") : d += " {} ";
                var q = d;
                d = R.pop(), !s.compositeRule && U ? s.async ? d += " throw new ValidationError([" + q + "]); " : d += " validate.errors = [" + q + "]; return false; " : d += " var err = " + q + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", d += " } ";
              }
              U && (d += " if (errors === ", d += B ? "0" : "errs_" + O, d += ") { ", $ += "}");
            }
          }
        }
        return U && (d += " " + $ + " "), B ? (p ? (d += " if (errors === 0) return data;           ", d += " else throw new ValidationError(vErrors); ") : (d += " validate.errors = vErrors; ", d += " return errors === 0;       "), d += " }); return validate;") : d += " var " + k + " = errors === errs_" + O + ";", d = s.util.cleanUpCode(d), B && (d = s.util.finalCleanUpCode(d, p)), d;
      };
    }, function(A, u, a) {
      A.exports = { default: a(381), __esModule: !0 };
    }, function(A, u) {
      function a(m) {
        var v = this, O = b.call(arguments, 1);
        return new Promise(function(T, w) {
          function P(R) {
            var q;
            try {
              q = m.next(R);
            } catch (B) {
              return w(B);
            }
            L(q);
          }
          function I(R) {
            var q;
            try {
              q = m.throw(R);
            } catch (B) {
              return w(B);
            }
            L(q);
          }
          function L(R) {
            if (R.done) return T(R.value);
            var q = s.call(v, R.value);
            return q && S(q) ? q.then(P, I) : I(new TypeError('You may only yield a function, promise, generator, array, or object, but the following object was passed: "' + String(R.value) + '"'));
          }
          if (typeof m == "function" && (m = m.apply(v, O)), !m || typeof m.next != "function") return T(m);
          P();
        });
      }
      function s(m) {
        return m && (S(m) ? m : d(m) || _(m) ? a.call(this, m) : typeof m == "function" ? h.call(this, m) : Array.isArray(m) ? E.call(this, m) : p(m) ? f.call(this, m) : m);
      }
      function h(m) {
        var v = this;
        return new Promise(function(O, T) {
          m.call(v, function(w, P) {
            if (w) return T(w);
            arguments.length > 2 && (P = b.call(arguments, 1)), O(P);
          });
        });
      }
      function E(m) {
        return Promise.all(m.map(s, this));
      }
      function f(m) {
        for (var v = new m.constructor(), O = Object.keys(m), T = [], w = 0; w < O.length; w++) {
          var P = O[w], I = s.call(this, m[P]);
          I && S(I) ? function(L, R) {
            v[R] = void 0, T.push(L.then(function(q) {
              v[R] = q;
            }));
          }(I, P) : v[P] = m[P];
        }
        return Promise.all(T).then(function() {
          return v;
        });
      }
      function S(m) {
        return typeof m.then == "function";
      }
      function _(m) {
        return typeof m.next == "function" && typeof m.throw == "function";
      }
      function d(m) {
        var v = m.constructor;
        return !!v && (v.name === "GeneratorFunction" || v.displayName === "GeneratorFunction" || _(v.prototype));
      }
      function p(m) {
        return Object == m.constructor;
      }
      var b = Array.prototype.slice;
      A.exports = a.default = a.co = a, a.wrap = function(m) {
        function v() {
          return a.call(this, m.apply(this, arguments));
        }
        return v.__generatorFunction__ = m, v;
      };
    }, function(A, u, a) {
      function s(b) {
        return f.isObject(b) && !!b.property;
      }
      function h(b, m, v) {
        return m = m || new d.PropIndex(), v = v || new d.PropIndex(), b.forEach(function(O) {
          s(O) ? (m.setByKey(O.property, !0), v.setByKey(O.property, O.replace)) : m.setByKey(O, !0);
        }), { include: m, replaceIndex: v, replacer: S.getReplacerIndex(v) };
      }
      function E(b) {
        return f.isArray(b) ? b.map(function(m) {
          if (s(m)) {
            if (m.replace) {
              var v = p.keys(m.replace).reduce(function(O, T) {
                var w = m.replace[T];
                return (O[w] = O[w] || []).push(T), O;
              }, {});
              return m.property + "[" + p.keys(v).map(function(O) {
                return v[O].sort().join(",") + "=>" + O;
              }).join(";") + "]";
            }
            return m.property;
          }
          return m;
        }).join(",") : b;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = a(26), S = a(74), _ = a(18), d = a(46), p = a(15);
      u.REPLACE_BLANK_FIELDS = { "*": "" }, u.REPLACE_XY_CHANNELS = { x: "xy", y: "xy" }, u.REPLACE_FACET_CHANNELS = { row: "facet", column: "facet" }, u.REPLACE_MARK_STYLE_CHANNELS = { color: "style", opacity: "style", shape: "style", size: "style" }, u.isExtendedGroupBy = s, u.parseGroupBy = h, u.toString = E, u.GROUP_BY_FIELD_TRANSFORM = [_.Property.FIELD, _.Property.TYPE, _.Property.AGGREGATE, _.Property.BIN, _.Property.TIMEUNIT, _.Property.STACK], u.GROUP_BY_ENCODING = u.GROUP_BY_FIELD_TRANSFORM.concat([{ property: _.Property.CHANNEL, replace: { x: "xy", y: "xy", color: "style", size: "style", shape: "style", opacity: "style", row: "facet", column: "facet" } }]);
    }, function(A, u, a) {
      function s(b, m, v) {
        var O = p.reduce(function(T, w) {
          var P = w.getScore(b, m, v);
          return T.concat(P);
        }, []);
        return { score: O.reduce(function(T, w) {
          return T + w.score;
        }, 0), features: O };
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(366), E = a(367), f = a(368), S = a(370), _ = a(371), d = a(369), p = [new h.AxisScorer(), new E.DimensionScorer(), new f.FacetScorer(), new d.MarkScorer(), new S.SizeChannelScorer(), new _.TypeChannelScorer()];
      u.effectiveness = s;
    }, function(A, u, a) {
      function s(p, b, m) {
        p = h({}, _.normalize(p), { config: h({}, E.DEFAULT_QUERY_CONFIG, m, p.config) });
        var v = f.generate(p.spec, b, p.config), O = S.nest(v, p.nest);
        return { query: p, result: d.rank(O, p, b, 0) };
      }
      var h = this && this.__assign || Object.assign || function(p) {
        for (var b, m = 1, v = arguments.length; m < v; m++) {
          b = arguments[m];
          for (var O in b) Object.prototype.hasOwnProperty.call(b, O) && (p[O] = b[O]);
        }
        return p;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(66), f = a(361), S = a(122), _ = a(363), d = a(373);
      u.recommend = s;
    }, function(A, u) {
      A.exports = function(a, s) {
        if (a.indexOf) return a.indexOf(s);
        for (var h = 0; h < a.length; ++h) if (a[h] === s) return h;
        return -1;
      };
    }, function(A, u, a) {
      var s = a(76), h = a(48).document, E = s(h) && s(h.createElement);
      A.exports = function(f) {
        return E ? h.createElement(f) : {};
      };
    }, function(A, u, a) {
      A.exports = !a(58) && !a(69)(function() {
        return Object.defineProperty(a(190)("div"), "a", { get: function() {
          return 7;
        } }).a != 7;
      });
    }, function(A, u, a) {
      var s = a(125);
      A.exports = Object("z").propertyIsEnumerable(0) ? Object : function(h) {
        return s(h) == "String" ? h.split("") : Object(h);
      };
    }, function(A, u, a) {
      var s = a(129), h = a(47), E = a(198), f = a(70), S = a(59), _ = a(77), d = a(397), p = a(133), b = a(195), m = a(36)("iterator"), v = !([].keys && "next" in [].keys()), O = function() {
        return this;
      };
      A.exports = function(T, w, P, I, L, R, q) {
        d(P, w, I);
        var B, j, k, U = function(Q) {
          if (!v && Q in G) return G[Q];
          switch (Q) {
            case "keys":
            case "values":
              return function() {
                return new P(this, Q);
              };
          }
          return function() {
            return new P(this, Q);
          };
        }, W = w + " Iterator", $ = L == "values", V = !1, G = T.prototype, X = G[m] || G["@@iterator"] || L && G[L], K = X || U(L), H = L ? $ ? U("entries") : K : void 0, Y = w == "Array" && G.entries || X;
        if (Y && (k = b(Y.call(new T()))) !== Object.prototype && (p(k, W, !0), s || S(k, m) || f(k, m, O)), $ && X && X.name !== "values" && (V = !0, K = function() {
          return X.call(this);
        }), s && !q || !v && !V && G[m] || f(G, m, K), _[w] = K, _[W] = O, L) if (B = { values: $ ? K : U("values"), keys: R ? K : U("keys"), entries: H }, q) for (j in B) j in G || E(G, j, B[j]);
        else h(h.P + h.F * (v || V), w, B);
        return B;
      };
    }, function(A, u, a) {
      var s = a(196), h = a(128).concat("length", "prototype");
      u.f = Object.getOwnPropertyNames || function(E) {
        return s(E, h);
      };
    }, function(A, u, a) {
      var s = a(59), h = a(99), E = a(134)("IE_PROTO"), f = Object.prototype;
      A.exports = Object.getPrototypeOf || function(S) {
        return S = h(S), s(S, E) ? S[E] : typeof S.constructor == "function" && S instanceof S.constructor ? S.constructor.prototype : S instanceof Object ? f : null;
      };
    }, function(A, u, a) {
      var s = a(59), h = a(50), E = a(389)(!1), f = a(134)("IE_PROTO");
      A.exports = function(S, _) {
        var d, p = h(S), b = 0, m = [];
        for (d in p) d != f && s(p, d) && m.push(d);
        for (; _.length > b; ) s(p, d = _[b++]) && (~E(m, d) || m.push(d));
        return m;
      };
    }, function(A, u, a) {
      var s = a(47), h = a(25), E = a(69);
      A.exports = function(f, S) {
        var _ = (h.Object || {})[f] || Object[f], d = {};
        d[f] = S(_), s(s.S + s.F * E(function() {
          _(1);
        }), "Object", d);
      };
    }, function(A, u, a) {
      A.exports = a(70);
    }, function(A, u, a) {
      var s = a(136), h = Math.min;
      A.exports = function(E) {
        return E > 0 ? h(s(E), 9007199254740991) : 0;
      };
    }, function(A, u, a) {
      var s = a(406)(!0);
      a(193)(String, "String", function(h) {
        this._t = String(h), this._i = 0;
      }, function() {
        var h, E = this._t, f = this._i;
        return f >= E.length ? { value: void 0, done: !0 } : (h = s(E, f), this._i += h.length, { value: h, done: !1 });
      });
    }, function(A, u, a) {
      function s(f) {
        return (0, E.default)(f);
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = a(443), E = function(f) {
        return f && f.__esModule ? f : { default: f };
      }(h);
      A.exports = u.default;
    }, function(A, u, a) {
      function s(O, T) {
        if (!T) return O && O[b] || null;
        O[b] = T;
      }
      function h(O) {
        return p.keys(O);
      }
      function E(O) {
        return "[" + O + "]";
      }
      function f(O, T) {
        O = p.array(O), T = p.$(T);
        var w, P, I;
        if (O[b] && (w = T(O[b]), p.isString(w))) return w;
        for (P = 0, I = O.length; !p.isValid(w) && P < I; ++P) w = T ? T(O[P]) : O[P];
        return p.isDate(w) ? "date" : p.isNumber(w) ? "number" : p.isBoolean(w) ? "boolean" : p.isString(w) ? "string" : null;
      }
      function S(O, T) {
        if (O.length) {
          var w = T ? p.identity : (T = h(O[0]), E);
          return T.reduce(function(P, I) {
            return P[I] = f(O, w(I)), P;
          }, {});
        }
      }
      function _(O, T) {
        O = p.array(O), T = p.$(T);
        var w, P, I, L = ["boolean", "integer", "number", "date"];
        for (w = 0; w < O.length; ++w) {
          for (I = T ? T(O[w]) : O[w], P = 0; P < L.length; ++P) p.isValid(I) && !v[L[P]](I) && (L.splice(P, 1), P -= 1);
          if (L.length === 0) return "string";
        }
        return L[0];
      }
      function d(O, T) {
        var w = T ? p.identity : (T = h(O[0]), E);
        return T.reduce(function(P, I) {
          return P[I] = _(O, w(I)), P;
        }, {});
      }
      var p = a(26), b = "__types__", m = { boolean: p.boolean, integer: p.number, number: p.number, date: p.date, string: function(O) {
        return O == null || O === "" ? null : O + "";
      } }, v = { boolean: function(O) {
        return O === "true" || O === "false" || p.isBoolean(O);
      }, integer: function(O) {
        return v.number(O) && (O = +O) == ~~O;
      }, number: function(O) {
        return !isNaN(+O) && !p.isDate(O);
      }, date: function(O) {
        return !isNaN(Date.parse(O));
      } };
      f.annotation = s, f.all = S, f.infer = _, f.inferAll = d, f.parsers = m, A.exports = f;
    }, function(A, u, a) {
      function s(h, E) {
        var f = E.charAt(0), S = E.charAt(1), _ = h.width, d = h.height, p = void 0, b = void 0;
        return p = h.left, b = h.top, f === "c" ? b += d / 2 : f === "b" && (b += d), S === "c" ? p += _ / 2 : S === "r" && (p += _), { left: p, top: b };
      }
      u.a = s;
    }, function(A, u, a) {
      function s(E) {
        if (h.a.isWindow(E) || E.nodeType === 9) return null;
        var f = h.a.getDocument(E), S = f.body, _ = void 0, d = h.a.css(E, "position");
        if (d !== "fixed" && d !== "absolute") return E.nodeName.toLowerCase() === "html" ? null : E.parentNode;
        for (_ = E.parentNode; _ && _ !== S; _ = _.parentNode) if ((d = h.a.css(_, "position")) !== "static") return _;
        return null;
      }
      var h = a(81);
      u.a = s;
    }, function(A, u, a) {
      function s(E, f) {
        E.indexOf(f) === -1 && E.push(f);
      }
      function h(E, f) {
        if (Array.isArray(f)) for (var S = 0, _ = f.length; S < _; ++S) s(E, f[S]);
        else s(E, f);
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = h, A.exports = u.default;
    }, function(A, u, a) {
      function s(h) {
        return h instanceof Object && !Array.isArray(h);
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s, A.exports = u.default;
    }, function(A, u, a) {
      function s(h, E, f, S, _) {
        for (var d = 0, p = h.length; d < p; ++d) {
          var b = h[d](E, f, S, _);
          if (b) return b;
        }
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s, A.exports = u.default;
    }, function(A, u, a) {
      a(678), A.exports = self.fetch.bind(self);
    }, function(A, u, a) {
      function s(S) {
        if (S == null) throw new TypeError("Object.assign cannot be called with null or undefined");
        return Object(S);
      }
      var h = Object.getOwnPropertySymbols, E = Object.prototype.hasOwnProperty, f = Object.prototype.propertyIsEnumerable;
      A.exports = function() {
        try {
          if (!Object.assign) return !1;
          var S = new String("abc");
          if (S[5] = "de", Object.getOwnPropertyNames(S)[0] === "5") return !1;
          for (var _ = {}, d = 0; d < 10; d++) _["_" + String.fromCharCode(d)] = d;
          if (Object.getOwnPropertyNames(_).map(function(b) {
            return _[b];
          }).join("") !== "0123456789") return !1;
          var p = {};
          return "abcdefghijklmnopqrst".split("").forEach(function(b) {
            p[b] = b;
          }), Object.keys(Object.assign({}, p)).join("") === "abcdefghijklmnopqrst";
        } catch {
          return !1;
        }
      }() ? Object.assign : function(S, _) {
        for (var d, p, b = s(S), m = 1; m < arguments.length; m++) {
          d = Object(arguments[m]);
          for (var v in d) E.call(d, v) && (b[v] = d[v]);
          if (h) {
            p = h(d);
            for (var O = 0; O < p.length; O++) f.call(d, p[O]) && (b[p[O]] = d[p[O]]);
          }
        }
        return b;
      };
    }, function(A, u) {
      function a() {
        throw new Error("setTimeout has not been defined");
      }
      function s() {
        throw new Error("clearTimeout has not been defined");
      }
      function h(P) {
        if (p === setTimeout) return setTimeout(P, 0);
        if ((p === a || !p) && setTimeout) return p = setTimeout, setTimeout(P, 0);
        try {
          return p(P, 0);
        } catch {
          try {
            return p.call(null, P, 0);
          } catch {
            return p.call(this, P, 0);
          }
        }
      }
      function E(P) {
        if (b === clearTimeout) return clearTimeout(P);
        if ((b === s || !b) && clearTimeout) return b = clearTimeout, clearTimeout(P);
        try {
          return b(P);
        } catch {
          try {
            return b.call(null, P);
          } catch {
            return b.call(this, P);
          }
        }
      }
      function f() {
        T && v && (T = !1, v.length ? O = v.concat(O) : w = -1, O.length && S());
      }
      function S() {
        if (!T) {
          var P = h(f);
          T = !0;
          for (var I = O.length; I; ) {
            for (v = O, O = []; ++w < I; ) v && v[w].run();
            w = -1, I = O.length;
          }
          v = null, T = !1, E(P);
        }
      }
      function _(P, I) {
        this.fun = P, this.array = I;
      }
      function d() {
      }
      var p, b, m = A.exports = {};
      (function() {
        try {
          p = typeof setTimeout == "function" ? setTimeout : a;
        } catch {
          p = a;
        }
        try {
          b = typeof clearTimeout == "function" ? clearTimeout : s;
        } catch {
          b = s;
        }
      })();
      var v, O = [], T = !1, w = -1;
      m.nextTick = function(P) {
        var I = new Array(arguments.length - 1);
        if (arguments.length > 1) for (var L = 1; L < arguments.length; L++) I[L - 1] = arguments[L];
        O.push(new _(P, I)), O.length !== 1 || T || h(S);
      }, _.prototype.run = function() {
        this.fun.apply(null, this.array);
      }, m.title = "browser", m.browser = !0, m.env = {}, m.argv = [], m.version = "", m.versions = {}, m.on = d, m.addListener = d, m.once = d, m.off = d, m.removeListener = d, m.removeAllListeners = d, m.emit = d, m.binding = function(P) {
        throw new Error("process.binding is not supported");
      }, m.cwd = function() {
        return "/";
      }, m.chdir = function(P) {
        throw new Error("process.chdir is not supported");
      }, m.umask = function() {
        return 0;
      };
    }, function(A, u, a) {
      var s = { isAppearSupported: function(h) {
        return h.transitionName && h.transitionAppear || h.animation.appear;
      }, isEnterSupported: function(h) {
        return h.transitionName && h.transitionEnter || h.animation.enter;
      }, isLeaveSupported: function(h) {
        return h.transitionName && h.transitionLeave || h.animation.leave;
      }, allowAppearCallback: function(h) {
        return h.transitionAppear || h.animation.appear;
      }, allowEnterCallback: function(h) {
        return h.transitionEnter || h.animation.enter;
      }, allowLeaveCallback: function(h) {
        return h.transitionLeave || h.animation.leave;
      } };
      u.a = s;
    }, function(A, u, a) {
      var s = a(19), h = a.n(s), E = a(0), f = a.n(E), S = function(_) {
        var d = _.className, p = _.included, b = _.vertical, m = _.offset, v = _.length, O = _.style, T = b ? { bottom: m + "%", height: v + "%" } : { left: m + "%", width: v + "%" }, w = h()({ visibility: p ? "visible" : "hidden" }, O, T);
        return f.a.createElement("div", { className: d, style: w });
      };
      u.a = S;
    }, function(A, u, a) {
      function s() {
      }
      function h(Q) {
        var Z, J;
        return J = Z = function(ne) {
          function ie(re) {
            m()(this, ie);
            var ee = w()(this, (ie.__proto__ || Object.getPrototypeOf(ie)).call(this, re));
            ee.onMouseDown = function(ae) {
              if (ae.button === 0) {
                var ce = ee.props.vertical, pe = Y.e(ce, ae);
                if (Y.f(ae, ee.handlesRefs)) {
                  var de = Y.g(ce, ae.target);
                  ee.dragOffset = pe - de, pe = de;
                } else ee.dragOffset = 0;
                ee.onStart(pe), ee.addDocumentMouseEvents(), Y.b(ae);
              }
            }, ee.onTouchStart = function(ae) {
              if (!Y.h(ae)) {
                var ce = ee.props.vertical, pe = Y.i(ce, ae);
                if (Y.f(ae, ee.handlesRefs)) {
                  var de = Y.g(ce, ae.target);
                  ee.dragOffset = pe - de, pe = de;
                } else ee.dragOffset = 0;
                ee.onStart(pe), ee.addDocumentTouchEvents(), Y.b(ae);
              }
            }, ee.onFocus = function(ae) {
              var ce = ee.props.vertical;
              if (Y.f(ae, ee.handlesRefs)) {
                var pe = Y.g(ce, ae.target);
                ee.dragOffset = 0, ee.onStart(pe), Y.b(ae);
              }
            }, ee.onBlur = function(ae) {
              ee.onEnd(ae);
            }, ee.onMouseMove = function(ae) {
              if (!ee.sliderRef) return void ee.onEnd();
              var ce = Y.e(ee.props.vertical, ae);
              ee.onMove(ae, ce - ee.dragOffset);
            }, ee.onTouchMove = function(ae) {
              if (Y.h(ae) || !ee.sliderRef) return void ee.onEnd();
              var ce = Y.i(ee.props.vertical, ae);
              ee.onMove(ae, ce - ee.dragOffset);
            }, ee.onKeyDown = function(ae) {
              ee.sliderRef && Y.f(ae, ee.handlesRefs) && ee.onKeyboard(ae);
            }, ee.saveSlider = function(ae) {
              ee.sliderRef = ae;
            };
            var te = re.step, ue = re.max, le = re.min;
            return G()(!te || Math.floor(te) !== te || (ue - le) % te == 0, "Slider[max] - Slider[min] (%s) should be a multiple of Slider[step] (%s)", ue - le, te), ee.handlesRefs = {}, ee;
          }
          return R()(ie, ne), O()(ie, [{ key: "componentWillUnmount", value: function() {
            I()(ie.prototype.__proto__ || Object.getPrototypeOf(ie.prototype), "componentWillUnmount", this) && I()(ie.prototype.__proto__ || Object.getPrototypeOf(ie.prototype), "componentWillUnmount", this).call(this), this.removeDocumentEvents();
          } }, { key: "addDocumentTouchEvents", value: function() {
            this.onTouchMoveListener = a.i(U.a)(document, "touchmove", this.onTouchMove), this.onTouchUpListener = a.i(U.a)(document, "touchend", this.onEnd);
          } }, { key: "addDocumentMouseEvents", value: function() {
            this.onMouseMoveListener = a.i(U.a)(document, "mousemove", this.onMouseMove), this.onMouseUpListener = a.i(U.a)(document, "mouseup", this.onEnd);
          } }, { key: "removeDocumentEvents", value: function() {
            this.onTouchMoveListener && this.onTouchMoveListener.remove(), this.onTouchUpListener && this.onTouchUpListener.remove(), this.onMouseMoveListener && this.onMouseMoveListener.remove(), this.onMouseUpListener && this.onMouseUpListener.remove();
          } }, { key: "getSliderStart", value: function() {
            var re = this.sliderRef, ee = re.getBoundingClientRect();
            return this.props.vertical ? ee.top : ee.left;
          } }, { key: "getSliderLength", value: function() {
            var re = this.sliderRef;
            if (!re) return 0;
            var ee = re.getBoundingClientRect();
            return this.props.vertical ? ee.height : ee.width;
          } }, { key: "calcValue", value: function(re) {
            var ee = this.props, te = ee.vertical, ue = ee.min, le = ee.max, ae = Math.abs(Math.max(re, 0) / this.getSliderLength());
            return te ? (1 - ae) * (le - ue) + ue : ae * (le - ue) + ue;
          } }, { key: "calcValueByPos", value: function(re) {
            var ee = re - this.getSliderStart();
            return this.trimAlignValue(this.calcValue(ee));
          } }, { key: "calcOffset", value: function(re) {
            var ee = this.props, te = ee.min;
            return (re - te) / (ee.max - te) * 100;
          } }, { key: "saveHandle", value: function(re, ee) {
            this.handlesRefs[re] = ee;
          } }, { key: "render", value: function() {
            var re, ee = this.props, te = ee.prefixCls, ue = ee.className, le = ee.marks, ae = ee.dots, ce = ee.step, pe = ee.included, de = ee.disabled, he = ee.vertical, Ee = ee.min, ye = ee.max, _e = ee.children, ge = ee.maximumTrackStyle, Me = ee.style, Te = ee.railStyle, De = ee.dotStyle, oe = ee.activeDotStyle, se = I()(ie.prototype.__proto__ || Object.getPrototypeOf(ie.prototype), "render", this).call(this), fe = se.tracks, be = se.handles, Se = $()(te, (re = {}, p()(re, te + "-with-marks", Object.keys(le).length), p()(re, te + "-disabled", de), p()(re, te + "-vertical", he), p()(re, ue, ue), re));
            return B.a.createElement("div", { ref: this.saveSlider, className: Se, onTouchStart: de ? s : this.onTouchStart, onMouseDown: de ? s : this.onMouseDown, onKeyDown: de ? s : this.onKeyDown, onFocus: de ? s : this.onFocus, onBlur: de ? s : this.onBlur, style: Me }, B.a.createElement("div", { className: te + "-rail", style: _()({}, ge, Te) }), fe, B.a.createElement(X.a, { prefixCls: te, vertical: he, marks: le, dots: ae, step: ce, included: pe, lowerBound: this.getLowerBound(), upperBound: this.getUpperBound(), max: ye, min: Ee, dotStyle: De, activeDotStyle: oe }), be, B.a.createElement(K.a, { className: te + "-mark", vertical: he, marks: le, included: pe, lowerBound: this.getLowerBound(), upperBound: this.getUpperBound(), max: ye, min: Ee }), _e);
          } }]), ie;
        }(Q), Z.displayName = "ComponentEnhancer(" + Q.displayName + ")", Z.propTypes = _()({}, Q.propTypes, { min: k.a.number, max: k.a.number, step: k.a.number, marks: k.a.object, included: k.a.bool, className: k.a.string, prefixCls: k.a.string, disabled: k.a.bool, children: k.a.any, onBeforeChange: k.a.func, onChange: k.a.func, onAfterChange: k.a.func, handle: k.a.func, dots: k.a.bool, vertical: k.a.bool, style: k.a.object, minimumTrackStyle: k.a.object, maximumTrackStyle: k.a.object, handleStyle: k.a.oneOfType([k.a.object, k.a.arrayOf(k.a.object)]), trackStyle: k.a.oneOfType([k.a.object, k.a.arrayOf(k.a.object)]), railStyle: k.a.object, dotStyle: k.a.object, activeDotStyle: k.a.object }), Z.defaultProps = _()({}, Q.defaultProps, { prefixCls: "rc-slider", className: "", min: 0, max: 100, step: 1, marks: {}, handle: function(ne) {
          var ie = ne.index, re = f()(ne, ["index"]);
          return delete re.dragging, B.a.createElement(H.a, _()({}, re, { key: ie }));
        }, onBeforeChange: s, onChange: s, onAfterChange: s, included: !0, disabled: !1, dots: !1, vertical: !1, trackStyle: [{}], handleStyle: [{}], railStyle: {}, dotStyle: {}, activeDotStyle: {} }), J;
      }
      u.a = h;
      var E = a(73), f = a.n(E), S = a(19), _ = a.n(S), d = a(65), p = a.n(d), b = a(30), m = a.n(b), v = a(31), O = a.n(v), T = a(33), w = a.n(T), P = a(351), I = a.n(P), L = a(32), R = a.n(L), q = a(0), B = a.n(q), j = a(1), k = a.n(j), U = a(507), W = a(45), $ = a.n(W), V = a(111), G = a.n(V), X = a(498), K = a(497), H = a(146), Y = a(147);
    }, function(A, u, a) {
      var s = a(73), h = a.n(s), E = a(30), f = a.n(E), S = a(31), _ = a.n(S), d = a(33), p = a.n(d), b = a(32), m = a.n(b), v = a(0), O = a.n(v), T = a(1), w = a.n(T), P = function(I) {
        function L() {
          return f()(this, L), p()(this, (L.__proto__ || Object.getPrototypeOf(L)).apply(this, arguments));
        }
        return m()(L, I), _()(L, [{ key: "shouldComponentUpdate", value: function(R) {
          return R.hiddenClassName || R.visible;
        } }, { key: "render", value: function() {
          var R = this.props, q = R.hiddenClassName, B = R.visible, j = h()(R, ["hiddenClassName", "visible"]);
          return q || O.a.Children.count(j.children) > 1 ? (!B && q && (j.className += " " + q), O.a.createElement("div", j)) : O.a.Children.only(j.children);
        } }]), L;
      }(v.Component);
      P.propTypes = { children: w.a.any, className: w.a.string, visible: w.a.bool, hiddenClassName: w.a.string }, u.a = P;
    }, function(A, u, a) {
      function s(d, p) {
        return d[0] === p[0] && d[1] === p[1];
      }
      function h(d, p, b) {
        var m = d[p] || {};
        return _()({}, m, b);
      }
      function E(d, p, b) {
        var m = b.points;
        for (var v in d) if (d.hasOwnProperty(v) && s(d[v].points, m)) return p + "-placement-" + v;
        return "";
      }
      function f(d, p) {
        this[d] = p;
      }
      u.b = h, u.a = E, u.c = f;
      var S = a(19), _ = a.n(S);
    }, function(A, u, a) {
      function s(d) {
        return d && d.__esModule ? d : { default: d };
      }
      function h(d, p, b) {
        var m = _.default.unstable_batchedUpdates ? function(v) {
          _.default.unstable_batchedUpdates(b, v);
        } : b;
        return (0, f.default)(d, p, m);
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = h;
      var E = a(177), f = s(E), S = a(24), _ = s(S);
      A.exports = u.default;
    }, function(A, u, a) {
      function s(f) {
        if (f == null) throw new TypeError("Object.assign cannot be called with null or undefined");
        return Object(f);
      }
      function h(f) {
        var S = Object.getOwnPropertyNames(f);
        return Object.getOwnPropertySymbols && (S = S.concat(Object.getOwnPropertySymbols(f))), S.filter(function(_) {
          return E.call(f, _);
        });
      }
      var E = Object.prototype.propertyIsEnumerable;
      A.exports = Object.assign || function(f, S) {
        for (var _, d, p = s(f), b = 1; b < arguments.length; b++) {
          _ = arguments[b], d = h(Object(_));
          for (var m = 0; m < d.length; m++) p[d[m]] = _[d[m]];
        }
        return p;
      };
    }, function(A, u, a) {
      function s(d) {
        return d && d.__esModule ? d : { default: d };
      }
      function h(d) {
        var p = d.id, b = d.description;
        return b ? typeof b == "string" ? f.default.createElement("p", { id: p, className: "field-description" }, b) : f.default.createElement("div", { id: p, className: "field-description" }, b) : f.default.createElement("div", null);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(0), f = s(E), S = a(1), _ = s(S);
      h.propTypes = { id: _.default.string, description: _.default.oneOfType([_.default.string, _.default.element]) }, u.default = h;
    }, function(A, u, a) {
      function s(f) {
        var S = f.schema;
        return E.default.createElement("div", { className: "unsupported-field" }, "Unsupported field schema ", JSON.stringify(S, null, 2), ".");
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = a(0), E = function(f) {
        return f && f.__esModule ? f : { default: f };
      }(h);
    }, function(A, u, a) {
      function s(d) {
        return d.offsetWidth <= 0 && d.offsetHeight <= 0 || d.style.display === "none";
      }
      function h(d) {
        for (var p = d; p && p !== document.body; ) {
          if (s(p)) return !1;
          p = p.parentNode;
        }
        return !0;
      }
      function E(d, p) {
        var b = d.nodeName.toLowerCase();
        return (_.test(b) && !d.disabled || b === "a" && d.href || p) && h(d);
      }
      function f(d) {
        var p = d.getAttribute("tabindex");
        p === null && (p = void 0);
        var b = isNaN(p);
        return (b || p >= 0) && E(d, !b);
      }
      function S(d) {
        return [].slice.call(d.querySelectorAll("*"), 0).filter(f);
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = S;
      var _ = /input|select|textarea|button|object/;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(551), h = function(E) {
        return E && E.__esModule ? E : { default: E };
      }(s);
      u.default = h.default;
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [u], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function(f) {
        Object.defineProperty(f, "__esModule", { value: !0 }), f.calculateRgba = function(S, _) {
          if (S[0] === "#" && (S = S.slice(1)), S.length === 3) {
            var d = "";
            S.split("").forEach(function(p) {
              d += p, d += p;
            }), S = d;
          }
          return "rgba(" + S.match(/.{2}/g).map(function(p) {
            return parseInt(p, 16);
          }).join(", ") + ", " + _ + ")";
        };
      });
    }, function(A, u, a) {
      function s(b) {
        return b && b.__esModule ? b : { default: b };
      }
      function h(b) {
        var m = 0;
        return (0, f.deepForEach)(b, function(v) {
          v.type === _.default && m++;
        }), m;
      }
      function E(b) {
        var m = 0;
        return (0, f.deepForEach)(b, function(v) {
          v.type === p.default && m++;
        }), m;
      }
      u.__esModule = !0, u.getTabsCount = h, u.getPanelsCount = E;
      var f = a(150), S = a(84), _ = s(S), d = a(85), p = s(d);
    }, function(A, u, a) {
      function s(T) {
        return T && T.__esModule ? T : { default: T };
      }
      function h(T, w, P) {
        var I = void 0, L = 0, R = 0, q = !1, B = [], j = T[w];
        return (0, _.deepForEach)(j, function(k) {
          k.type === m.default && (k.props && k.props.children && S(k.props.children) === "object" && (0, _.deepForEach)(k.props.children, function(U) {
            return B.push(U);
          }), q && (I = new Error("Found multiple 'TabList' components inside 'Tabs'. Only one is allowed.")), q = !0), k.type === p.default ? (q && B.indexOf(k) !== -1 || (I = new Error("Found a 'Tab' component outside of the 'TabList' component. 'Tab' components have to be inside the 'TabList' component.")), L++) : k.type === O.default && R++;
        }), I || L === R || (I = new Error("There should be an equal number of 'Tab' and 'TabPanel' in `" + P + "`.Received " + L + " 'Tab' and " + R + " 'TabPanel'.")), I;
      }
      function E(T, w, P, I, L) {
        var R = T[w], q = L || w, B = null;
        return R && typeof R != "function" ? B = new Error("Invalid " + I + " `" + q + "` of type `" + (R === void 0 ? "undefined" : S(R)) + "` supplied to `" + P + "`, expected `function`.") : T.selectedIndex != null && R == null && (B = new Error("The " + I + " `" + q + "` is marked as required in `" + P + "`, but its value is `undefined` or `null`.\n`onSelect` is required when `selectedIndex` is also set. Not doing so will make the tabs not do anything, as `selectedIndex` indicates that you want to handle the selected tab yourself.\nIf you only want to set the inital tab replace `selectedIndex` with `defaultIndex`.")), B;
      }
      function f(T, w, P, I, L) {
        var R = T[w], q = L || w, B = null;
        if (R != null && typeof R != "number") B = new Error("Invalid " + I + " `" + q + "` of type `" + (R === void 0 ? "undefined" : S(R)) + "` supplied to `" + P + "`, expected `number`.");
        else if (T.defaultIndex != null && R != null) return new Error("The " + I + " `" + q + "` cannot be used together with `defaultIndex` in `" + P + "`.\nEither remove `" + q + "` to let `" + P + "` handle the selected tab internally or remove `defaultIndex` to handle it yourself.");
        return B;
      }
      u.__esModule = !0;
      var S = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(T) {
        return typeof T;
      } : function(T) {
        return T && typeof Symbol == "function" && T.constructor === Symbol && T !== Symbol.prototype ? "symbol" : typeof T;
      };
      u.childrenPropType = h, u.onSelectPropType = E, u.selectedIndexPropType = f;
      var _ = a(150), d = a(84), p = s(d), b = a(103), m = s(b), v = a(85), O = s(v);
    }, function(A, u, a) {
      function s() {
        return "react-tabs-" + E++;
      }
      function h() {
        E = 0;
      }
      u.__esModule = !0, u.default = s, u.reset = h;
      var E = 0;
    }, function(A, u, a) {
      function s(v) {
        return v && v.__esModule ? v : { default: v };
      }
      u.__esModule = !0, u.resetIdCounter = u.Tabs = u.TabPanel = u.TabList = u.Tab = void 0;
      var h = a(582), E = s(h), f = a(103), S = s(f), _ = a(84), d = s(_), p = a(85), b = s(p), m = a(225);
      u.Tab = d.default, u.TabList = S.default, u.TabPanel = b.default, u.Tabs = E.default, u.resetIdCounter = m.reset;
    }, function(A, u, a) {
      (function(s, h) {
        (function(E, f) {
          function S(P) {
            typeof P != "function" && (P = new Function("" + P));
            for (var I = new Array(arguments.length - 1), L = 0; L < I.length; L++) I[L] = arguments[L + 1];
            var R = { callback: P, args: I };
            return v[m] = R, b(m), m++;
          }
          function _(P) {
            delete v[P];
          }
          function d(P) {
            var I = P.callback, L = P.args;
            switch (L.length) {
              case 0:
                I();
                break;
              case 1:
                I(L[0]);
                break;
              case 2:
                I(L[0], L[1]);
                break;
              case 3:
                I(L[0], L[1], L[2]);
                break;
              default:
                I.apply(f, L);
            }
          }
          function p(P) {
            if (O) setTimeout(p, 0, P);
            else {
              var I = v[P];
              if (I) {
                O = !0;
                try {
                  d(I);
                } finally {
                  _(P), O = !1;
                }
              }
            }
          }
          if (!E.setImmediate) {
            var b, m = 1, v = {}, O = !1, T = E.document, w = Object.getPrototypeOf && Object.getPrototypeOf(E);
            w = w && w.setTimeout ? w : E, {}.toString.call(E.process) === "[object process]" ? function() {
              b = function(P) {
                h.nextTick(function() {
                  p(P);
                });
              };
            }() : function() {
              if (E.postMessage && !E.importScripts) {
                var P = !0, I = E.onmessage;
                return E.onmessage = function() {
                  P = !1;
                }, E.postMessage("", "*"), E.onmessage = I, P;
              }
            }() ? function() {
              var P = "setImmediate$" + Math.random() + "$", I = function(L) {
                L.source === E && typeof L.data == "string" && L.data.indexOf(P) === 0 && p(+L.data.slice(P.length));
              };
              E.addEventListener ? E.addEventListener("message", I, !1) : E.attachEvent("onmessage", I), b = function(L) {
                E.postMessage(P + L, "*");
              };
            }() : E.MessageChannel ? function() {
              var P = new MessageChannel();
              P.port1.onmessage = function(I) {
                p(I.data);
              }, b = function(I) {
                P.port2.postMessage(I);
              };
            }() : T && "onreadystatechange" in T.createElement("script") ? function() {
              var P = T.documentElement;
              b = function(I) {
                var L = T.createElement("script");
                L.onreadystatechange = function() {
                  p(I), L.onreadystatechange = null, P.removeChild(L), L = null;
                }, P.appendChild(L);
              };
            }() : function() {
              b = function(P) {
                setTimeout(p, 0, P);
              };
            }(), w.setImmediate = S, w.clearImmediate = _;
          }
        })(typeof self > "u" ? s === void 0 ? this : s : self);
      }).call(u, a(72), a(210));
    }, function(A, u) {
      A.exports = function(a, s, h, E) {
        function f() {
          function d() {
            _ = Number(/* @__PURE__ */ new Date()), h.apply(b, v);
          }
          function p() {
            S = void 0;
          }
          var b = this, m = Number(/* @__PURE__ */ new Date()) - _, v = arguments;
          E && !S && d(), S && clearTimeout(S), E === void 0 && m > a ? d() : s !== !0 && (S = setTimeout(E ? p : d, E === void 0 ? a - m : a));
        }
        var S, _ = 0;
        return typeof s != "boolean" && (E = h, h = s, s = void 0), f;
      };
    }, function(A, u, a) {
      (function(s, h) {
        function E(J, ne) {
          var ie = { seen: [], stylize: S };
          return arguments.length >= 3 && (ie.depth = arguments[2]), arguments.length >= 4 && (ie.colors = arguments[3]), w(ne) ? ie.showHidden = ne : ne && u._extend(ie, ne), B(ie.showHidden) && (ie.showHidden = !1), B(ie.depth) && (ie.depth = 2), B(ie.colors) && (ie.colors = !1), B(ie.customInspect) && (ie.customInspect = !0), ie.colors && (ie.stylize = f), d(ie, J, ie.depth);
        }
        function f(J, ne) {
          var ie = E.styles[ne];
          return ie ? "\x1B[" + E.colors[ie][0] + "m" + J + "\x1B[" + E.colors[ie][1] + "m" : J;
        }
        function S(J, ne) {
          return J;
        }
        function _(J) {
          var ne = {};
          return J.forEach(function(ie, re) {
            ne[ie] = !0;
          }), ne;
        }
        function d(J, ne, ie) {
          if (J.customInspect && ne && $(ne.inspect) && ne.inspect !== u.inspect && (!ne.constructor || ne.constructor.prototype !== ne)) {
            var re = ne.inspect(ie, J);
            return R(re) || (re = d(J, re, ie)), re;
          }
          var ee = p(J, ne);
          if (ee) return ee;
          var te = Object.keys(ne), ue = _(te);
          if (J.showHidden && (te = Object.getOwnPropertyNames(ne)), W(ne) && (te.indexOf("message") >= 0 || te.indexOf("description") >= 0)) return b(ne);
          if (te.length === 0) {
            if ($(ne)) {
              var le = ne.name ? ": " + ne.name : "";
              return J.stylize("[Function" + le + "]", "special");
            }
            if (j(ne)) return J.stylize(RegExp.prototype.toString.call(ne), "regexp");
            if (U(ne)) return J.stylize(Date.prototype.toString.call(ne), "date");
            if (W(ne)) return b(ne);
          }
          var ae = "", ce = !1, pe = ["{", "}"];
          if (T(ne) && (ce = !0, pe = ["[", "]"]), $(ne) && (ae = " [Function" + (ne.name ? ": " + ne.name : "") + "]"), j(ne) && (ae = " " + RegExp.prototype.toString.call(ne)), U(ne) && (ae = " " + Date.prototype.toUTCString.call(ne)), W(ne) && (ae = " " + b(ne)), te.length === 0 && (!ce || ne.length == 0)) return pe[0] + ae + pe[1];
          if (ie < 0) return j(ne) ? J.stylize(RegExp.prototype.toString.call(ne), "regexp") : J.stylize("[Object]", "special");
          J.seen.push(ne);
          var de;
          return de = ce ? m(J, ne, ie, ue, te) : te.map(function(he) {
            return v(J, ne, ie, ue, he, ce);
          }), J.seen.pop(), O(de, ae, pe);
        }
        function p(J, ne) {
          if (B(ne)) return J.stylize("undefined", "undefined");
          if (R(ne)) {
            var ie = "'" + JSON.stringify(ne).replace(/^"|"$/g, "").replace(/'/g, "\\'").replace(/\\"/g, '"') + "'";
            return J.stylize(ie, "string");
          }
          return L(ne) ? J.stylize("" + ne, "number") : w(ne) ? J.stylize("" + ne, "boolean") : P(ne) ? J.stylize("null", "null") : void 0;
        }
        function b(J) {
          return "[" + Error.prototype.toString.call(J) + "]";
        }
        function m(J, ne, ie, re, ee) {
          for (var te = [], ue = 0, le = ne.length; ue < le; ++ue) H(ne, String(ue)) ? te.push(v(J, ne, ie, re, String(ue), !0)) : te.push("");
          return ee.forEach(function(ae) {
            ae.match(/^\d+$/) || te.push(v(J, ne, ie, re, ae, !0));
          }), te;
        }
        function v(J, ne, ie, re, ee, te) {
          var ue, le, ae;
          if (ae = Object.getOwnPropertyDescriptor(ne, ee) || { value: ne[ee] }, ae.get ? le = ae.set ? J.stylize("[Getter/Setter]", "special") : J.stylize("[Getter]", "special") : ae.set && (le = J.stylize("[Setter]", "special")), H(re, ee) || (ue = "[" + ee + "]"), le || (J.seen.indexOf(ae.value) < 0 ? (le = P(ie) ? d(J, ae.value, null) : d(J, ae.value, ie - 1), le.indexOf(`
`) > -1 && (le = te ? le.split(`
`).map(function(ce) {
            return "  " + ce;
          }).join(`
`).substr(2) : `
` + le.split(`
`).map(function(ce) {
            return "   " + ce;
          }).join(`
`))) : le = J.stylize("[Circular]", "special")), B(ue)) {
            if (te && ee.match(/^\d+$/)) return le;
            ue = JSON.stringify("" + ee), ue.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/) ? (ue = ue.substr(1, ue.length - 2), ue = J.stylize(ue, "name")) : (ue = ue.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'"), ue = J.stylize(ue, "string"));
          }
          return ue + ": " + le;
        }
        function O(J, ne, ie) {
          var re = 0;
          return J.reduce(function(ee, te) {
            return re++, te.indexOf(`
`) >= 0 && re++, ee + te.replace(/\u001b\[\d\d?m/g, "").length + 1;
          }, 0) > 60 ? ie[0] + (ne === "" ? "" : ne + `
 `) + " " + J.join(`,
  `) + " " + ie[1] : ie[0] + ne + " " + J.join(", ") + " " + ie[1];
        }
        function T(J) {
          return Array.isArray(J);
        }
        function w(J) {
          return typeof J == "boolean";
        }
        function P(J) {
          return J === null;
        }
        function I(J) {
          return J == null;
        }
        function L(J) {
          return typeof J == "number";
        }
        function R(J) {
          return typeof J == "string";
        }
        function q(J) {
          return typeof J == "symbol";
        }
        function B(J) {
          return J === void 0;
        }
        function j(J) {
          return k(J) && G(J) === "[object RegExp]";
        }
        function k(J) {
          return typeof J == "object" && J !== null;
        }
        function U(J) {
          return k(J) && G(J) === "[object Date]";
        }
        function W(J) {
          return k(J) && (G(J) === "[object Error]" || J instanceof Error);
        }
        function $(J) {
          return typeof J == "function";
        }
        function V(J) {
          return J === null || typeof J == "boolean" || typeof J == "number" || typeof J == "string" || typeof J == "symbol" || J === void 0;
        }
        function G(J) {
          return Object.prototype.toString.call(J);
        }
        function X(J) {
          return J < 10 ? "0" + J.toString(10) : J.toString(10);
        }
        function K() {
          var J = /* @__PURE__ */ new Date(), ne = [X(J.getHours()), X(J.getMinutes()), X(J.getSeconds())].join(":");
          return [J.getDate(), Z[J.getMonth()], ne].join(" ");
        }
        function H(J, ne) {
          return Object.prototype.hasOwnProperty.call(J, ne);
        }
        u.format = function(J) {
          if (!R(J)) {
            for (var ne = [], ie = 0; ie < arguments.length; ie++) ne.push(E(arguments[ie]));
            return ne.join(" ");
          }
          for (var ie = 1, re = arguments, ee = re.length, te = String(J).replace(/%[sdj%]/g, function(ae) {
            if (ae === "%%") return "%";
            if (ie >= ee) return ae;
            switch (ae) {
              case "%s":
                return String(re[ie++]);
              case "%d":
                return Number(re[ie++]);
              case "%j":
                try {
                  return JSON.stringify(re[ie++]);
                } catch {
                  return "[Circular]";
                }
              default:
                return ae;
            }
          }), ue = re[ie]; ie < ee; ue = re[++ie]) P(ue) || !k(ue) ? te += " " + ue : te += " " + E(ue);
          return te;
        }, u.deprecate = function(J, ne) {
          function ie() {
            if (!re) {
              if (h.throwDeprecation) throw new Error(ne);
              h.traceDeprecation ? console.trace(ne) : console.error(ne), re = !0;
            }
            return J.apply(this, arguments);
          }
          if (B(s.process)) return function() {
            return u.deprecate(J, ne).apply(this, arguments);
          };
          if (h.noDeprecation === !0) return J;
          var re = !1;
          return ie;
        };
        var Y, Q = {};
        u.debuglog = function(J) {
          if (B(Y) && (Y = a.i({ NODE_ENV: void 0, PUBLIC_URL: "", SERVER: void 0 }).NODE_DEBUG || ""), J = J.toUpperCase(), !Q[J]) if (new RegExp("\\b" + J + "\\b", "i").test(Y)) {
            var ne = h.pid;
            Q[J] = function() {
              var ie = u.format.apply(u, arguments);
              console.error("%s %d: %s", J, ne, ie);
            };
          } else Q[J] = function() {
          };
          return Q[J];
        }, u.inspect = E, E.colors = { bold: [1, 22], italic: [3, 23], underline: [4, 24], inverse: [7, 27], white: [37, 39], grey: [90, 39], black: [30, 39], blue: [34, 39], cyan: [36, 39], green: [32, 39], magenta: [35, 39], red: [31, 39], yellow: [33, 39] }, E.styles = { special: "cyan", number: "yellow", boolean: "yellow", undefined: "grey", null: "bold", string: "green", date: "magenta", regexp: "red" }, u.isArray = T, u.isBoolean = w, u.isNull = P, u.isNullOrUndefined = I, u.isNumber = L, u.isString = R, u.isSymbol = q, u.isUndefined = B, u.isRegExp = j, u.isObject = k, u.isDate = U, u.isError = W, u.isFunction = $, u.isPrimitive = V, u.isBuffer = a(593);
        var Z = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
        u.log = function() {
          console.log("%s - %s", K(), u.format.apply(u, arguments));
        }, u.inherits = a(592), u._extend = function(J, ne) {
          if (!ne || !k(ne)) return J;
          for (var ie = Object.keys(ne), re = ie.length; re--; ) J[ie[re]] = ne[ie[re]];
          return J;
        };
      }).call(u, a(72), a(210));
    }, function(A, u, a) {
      var s = (a(87), a(596), a(607), a(153), a(597), a(598), a(599), a(231));
      a.d(u, "a", function() {
        return s.a;
      });
      var h = (a(600), a(601), a(602), a(232), a(603), a(154), a(604), a(233), a(234));
      a.d(u, "c", function() {
        return h.a;
      });
      var E = (a(235), a(236), a(605), a(237));
      a.d(u, "d", function() {
        return E.a;
      });
      var f = (a(606), a(608), a(609), a(610), a(238), a(104), a(105), a(611), a(612), a(613), a(615), a(614));
      a.d(u, "b", function() {
        return f.a;
      }), a(616), a(617);
    }, function(A, u, a) {
      u.a = function(s) {
        throw Error(s);
      };
    }, function(A, u, a) {
      var s = a(87), h = a(104), E = a(105);
      u.a = function(f, S) {
        var _ = a.i(h.a)(f), d = "return _[" + _.map(E.a).join("][") + "];";
        return a.i(s.a)(Function("_", d), [f = _.length === 1 ? _[0] : f], S || f);
      };
    }, function(A, u, a) {
      u.a = function(s) {
        return Object.prototype.toString.call(s) === "[object Date]";
      };
    }, function(A, u, a) {
      u.a = function(s) {
        return typeof s == "function";
      };
    }, function(A, u, a) {
      u.a = function(s) {
        return typeof s == "number";
      };
    }, function(A, u, a) {
      u.a = function(s) {
        return s === Object(s);
      };
    }, function(A, u, a) {
      u.a = function(s) {
        return typeof s == "string";
      };
    }, function(A, u, a) {
      u.a = function(s, h) {
        for (var E = ""; --h >= 0; ) E += s;
        return E;
      };
    }, function(A, u, a) {
      function s(E) {
        this.type = E;
      }
      function h(E) {
        switch (E.type) {
          case "ArrayExpression":
            return E.elements;
          case "BinaryExpression":
          case "LogicalExpression":
            return [E.left, E.right];
          case "CallExpression":
            var f = E.arguments.slice();
            return f.unshift(E.callee), f;
          case "ConditionalExpression":
            return [E.test, E.consequent, E.alternate];
          case "MemberExpression":
            return [E.object, E.property];
          case "ObjectExpression":
            return E.properties;
          case "Property":
            return [E.key, E.value];
          case "UnaryExpression":
            return [E.argument];
          case "Identifier":
          case "Literal":
          case "RawCode":
          default:
            return [];
        }
      }
      u.a = s, s.prototype.visit = function(E) {
        var f, S, _, d = this;
        if (E(d)) return 1;
        for (f = h(d), S = 0, _ = f.length; S < _; ++S) if (f[S].visit(E)) return 1;
      };
    }, function(A, u, a) {
      u.a = { NaN: "NaN", E: "Math.E", LN2: "Math.LN2", LN10: "Math.LN10", LOG2E: "Math.LOG2E", LOG10E: "Math.LOG10E", PI: "Math.PI", SQRT1_2: "Math.SQRT1_2", SQRT2: "Math.SQRT2", MIN_VALUE: "Number.MIN_VALUE", MAX_VALUE: "Number.MAX_VALUE" };
    }, function(A, u, a) {
      var s = a(230);
      u.a = function(h) {
        function E(_, d, p, b) {
          var m = h(d[0]);
          return p && (m = p + "(" + m + ")", p.lastIndexOf("new ", 0) === 0 && (m = "(" + m + ")")), m + "." + _ + (b < 0 ? "" : b === 0 ? "()" : "(" + d.slice(1).map(h).join(",") + ")");
        }
        function f(_, d, p) {
          return function(b) {
            return E(_, b, d, p);
          };
        }
        var S = "new Date";
        return { isNaN: "isNaN", isFinite: "isFinite", abs: "Math.abs", acos: "Math.acos", asin: "Math.asin", atan: "Math.atan", atan2: "Math.atan2", ceil: "Math.ceil", cos: "Math.cos", exp: "Math.exp", floor: "Math.floor", log: "Math.log", max: "Math.max", min: "Math.min", pow: "Math.pow", random: "Math.random", round: "Math.round", sin: "Math.sin", sqrt: "Math.sqrt", tan: "Math.tan", clamp: function(_) {
          _.length < 3 && a.i(s.a)("Missing arguments to clamp function."), _.length > 3 && a.i(s.a)("Too many arguments to clamp function.");
          var d = _.map(h);
          return "Math.max(" + d[1] + ", Math.min(" + d[2] + "," + d[0] + "))";
        }, now: "Date.now", utc: "Date.UTC", datetime: S, date: f("getDate", S, 0), day: f("getDay", S, 0), year: f("getFullYear", S, 0), month: f("getMonth", S, 0), hours: f("getHours", S, 0), minutes: f("getMinutes", S, 0), seconds: f("getSeconds", S, 0), milliseconds: f("getMilliseconds", S, 0), time: f("getTime", S, 0), timezoneoffset: f("getTimezoneOffset", S, 0), utcdate: f("getUTCDate", S, 0), utcday: f("getUTCDay", S, 0), utcyear: f("getUTCFullYear", S, 0), utcmonth: f("getUTCMonth", S, 0), utchours: f("getUTCHours", S, 0), utcminutes: f("getUTCMinutes", S, 0), utcseconds: f("getUTCSeconds", S, 0), utcmilliseconds: f("getUTCMilliseconds", S, 0), length: f("length", null, -1), indexof: f("indexOf", null), lastindexof: f("lastIndexOf", null), slice: f("slice", null), parseFloat: "parseFloat", parseInt: "parseInt", upper: f("toUpperCase", "String", 0), lower: f("toLowerCase", "String", 0), substring: f("substring", "String"), replace: f("replace", "String"), regexp: "RegExp", test: f("test", "RegExp"), if: function(_) {
          _.length < 3 && a.i(s.a)("Missing arguments to if function."), _.length > 3 && a.i(s.a)("Too many arguments to if function.");
          var d = _.map(h);
          return "(" + d[0] + "?" + d[1] + ":" + d[2] + ")";
        } };
      };
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(3), h = a(5), E = a(8), f = a(9), S = a(43), _ = a(106), d = a(37), p = function(b) {
        function m(v, O, T, w) {
          var P = b.call(this, v) || this;
          return P.model = O, P.name = T, P.data = w, O.facet.column && (P.columnFields = [O.vgField(h.COLUMN)], P.columnName = O.getName("column_domain"), O.fieldDef(h.COLUMN).bin && P.columnFields.push(O.vgField(h.COLUMN, { binSuffix: "end" }))), O.facet.row && (P.rowFields = [O.vgField(h.ROW)], P.rowName = O.getName("row_domain"), O.fieldDef(h.ROW).bin && P.rowFields.push(O.vgField(h.ROW, { binSuffix: "end" }))), P.childModel = O.child, P;
        }
        return s.__extends(m, b), Object.defineProperty(m.prototype, "fields", { get: function() {
          var v = [];
          return this.columnFields && (v = v.concat(this.columnFields)), this.rowFields && (v = v.concat(this.rowFields)), v;
        }, enumerable: !0, configurable: !0 }), m.prototype.getSource = function() {
          return this.name;
        }, m.prototype.getChildIndependentFieldsWithStep = function() {
          for (var v = {}, O = 0, T = ["x", "y"]; O < T.length; O++) {
            var w = T[O], P = this.childModel.component.scales[w];
            if (P && !P.merged) {
              var I = P.get("type"), L = P.get("range");
              if (f.hasDiscreteDomain(I) && S.isVgRangeStep(L)) {
                var R = _.assembleDomain(this.childModel, w), q = _.getFieldFromDomain(R);
                q ? v[w] = q : E.warn("Unknown field for ${channel}.  Cannot calculate view size.");
              }
            }
          }
          return v;
        }, m.prototype.assembleRowColumnData = function(v, O, T) {
          var w = {}, P = v === "row" ? "y" : "x";
          return T[P] && (w = O ? { fields: ["distinct_" + T[P]], ops: ["max"], as: ["distinct_" + T[P]] } : { fields: [T[P]], ops: ["distinct"] }), { name: v === "row" ? this.rowName : this.columnName, source: O || this.data, transform: [s.__assign({ type: "aggregate", groupby: v === "row" ? this.rowFields : this.columnFields }, w)] };
        }, m.prototype.assemble = function() {
          var v = [], O = null, T = this.getChildIndependentFieldsWithStep();
          if (this.columnName && this.rowName && (T.x || T.y)) {
            O = "cross_" + this.columnName + "_" + this.rowName;
            var w = [].concat(T.x ? [T.x] : [], T.y ? [T.y] : []), P = w.map(function() {
              return "distinct";
            });
            v.push({ name: O, source: this.data, transform: [{ type: "aggregate", groupby: this.columnFields.concat(this.rowFields), fields: w, ops: P }] });
          }
          return this.columnName && v.push(this.assembleRowColumnData("column", O, T)), this.rowName && v.push(this.assembleRowColumnData("row", O, T)), v;
        }, m;
      }(d.DataFlowNode);
      u.FacetNode = p;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(3), h = a(10), E = a(29), f = a(2), S = a(37), _ = function(d) {
        function p(b, m) {
          var v = d.call(this, b) || this;
          return v.formula = m, v;
        }
        return s.__extends(p, d), p.prototype.clone = function() {
          return new p(null, f.duplicate(this.formula));
        }, p.makeFromEncoding = function(b, m) {
          var v = m.reduceFieldDef(function(O, T) {
            if (T.timeUnit) {
              var w = h.vgField(T);
              O[w] = { as: w, timeUnit: T.timeUnit, field: T.field };
            }
            return O;
          }, {});
          return f.keys(v).length === 0 ? null : new p(b, v);
        }, p.makeFromTransform = function(b, m) {
          return new p(b, (v = {}, v[m.field] = { as: m.as, timeUnit: m.timeUnit, field: m.field }, v));
          var v;
        }, p.prototype.merge = function(b) {
          this.formula = s.__assign({}, this.formula, b.formula), b.remove();
        }, p.prototype.producedFields = function() {
          var b = {};
          return f.vals(this.formula).forEach(function(m) {
            b[m.as] = !0;
          }), b;
        }, p.prototype.dependentFields = function() {
          var b = {};
          return f.vals(this.formula).forEach(function(m) {
            b[m.field] = !0;
          }), b;
        }, p.prototype.assemble = function() {
          return f.vals(this.formula).map(function(b) {
            return { type: "formula", as: b.as, expr: E.fieldExpr(b.timeUnit, b.field) };
          });
        }, p;
      }(S.DataFlowNode);
      u.TimeUnitNode = _;
    }, function(A, u, a) {
      function s(j) {
        w.isUnitModel(j) ? j.component.legends = h(j) : j.component.legends = _(j);
      }
      function h(j) {
        var k = j.encoding;
        return [p.COLOR, p.FILL, p.STROKE, p.SIZE, p.SHAPE, p.OPACITY].reduce(function(U, W) {
          var $ = k[W];
          return !j.legend(W) || !j.getScaleComponent(W) || b.isFieldDef($) && W === p.SHAPE && $.type === v.GEOJSON || (U[W] = f(j, W)), U;
        }, {});
      }
      function E(j, k) {
        switch (k) {
          case p.COLOR:
            var U = j.scaleName(p.COLOR);
            return j.markDef.filled ? { fill: U } : { stroke: U };
          case p.FILL:
          case p.STROKE:
          case p.SIZE:
          case p.SHAPE:
          case p.OPACITY:
            return W = {}, W[k] = j.scaleName(k), W;
        }
        var W;
      }
      function f(j, k) {
        var U = j.fieldDef(k), W = j.legend(k), $ = new R.LegendComponent({}, E(j, k));
        m.LEGEND_PROPERTIES.forEach(function(X) {
          var K = S(X, W, k, j);
          if (K !== void 0) {
            var H = X === "values" ? !!W.values : K === W[X];
            (H || j.config.legend[X] === void 0) && $.set(X, K, H);
          }
        });
        var V = W.encoding || {}, G = ["labels", "legend", "title", "symbols", "gradient"].reduce(function(X, K) {
          var H = q[K] ? q[K](U, V[K], j, k, $.get("type")) : V[K];
          return H !== void 0 && O.keys(H).length > 0 && (X[K] = { update: H }), X;
        }, {});
        return O.keys(G).length > 0 && $.set("encode", G, !!W.encoding), $;
      }
      function S(j, k, U, W) {
        var $ = W.fieldDef(U);
        switch (j) {
          case "format":
            return T.numberFormat($, k.format, W.config);
          case "title":
            var V = $.title !== void 0 ? $.title : k.title || (k.title === void 0 ? void 0 : null);
            return T.getSpecifiedOrDefaultValue(V, b.title($, W.config)) || void 0;
          case "values":
            return B.values(k);
          case "type":
            return T.getSpecifiedOrDefaultValue(k.type, B.type($.type, U, W.getScaleComponent(U).get("type")));
        }
        return k[j];
      }
      function _(j) {
        for (var k = j.component, U = k.legends, W = k.resolve, $ = 0, V = j.children; $ < V.length; $++) {
          var G = V[$];
          (function(X) {
            s(X), O.keys(X.component.legends).forEach(function(K) {
              W.legend[K] = P.parseGuideResolve(j.component.resolve, K), W.legend[K] === "shared" && (U[K] = d(U[K], X.component.legends[K]), U[K] || (W.legend[K] = "independent", delete U[K]));
            });
          })(G);
        }
        return O.keys(U).forEach(function(X) {
          for (var K = 0, H = j.children; K < H.length; K++) {
            var Y = H[K];
            Y.component.legends[X] && W.legend[X] === "shared" && delete Y.component.legends[X];
          }
        }), U;
      }
      function d(j, k) {
        if (!j) return k.clone();
        var U = j.getWithExplicit("orient"), W = k.getWithExplicit("orient");
        if (!U.explicit || !W.explicit || U.value === W.value) {
          for (var $ = !1, V = 0, G = m.VG_LEGEND_PROPERTIES; V < G.length; V++) {
            var X = G[V];
            (function(K) {
              var H = L.mergeValuesWithExplicit(j.getWithExplicit(K), k.getWithExplicit(K), K, "legend", function(Y, Q) {
                switch (K) {
                  case "title":
                    return T.titleMerger(Y, Q);
                  case "type":
                    return $ = !0, I.makeImplicit("symbol");
                }
                return L.defaultTieBreaker(Y, Q, K, "legend");
              });
              j.setWithExplicit(K, H);
            })(X);
          }
          return $ && (((j.implicit || {}).encode || {}).gradient && O.deleteNestedProperty(j.implicit, ["encode", "gradient"]), ((j.explicit || {}).encode || {}).gradient && O.deleteNestedProperty(j.explicit, ["encode", "gradient"])), j;
        }
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var p = a(5), b = a(10), m = a(159), v = a(13), O = a(2), T = a(52), w = a(27), P = a(245), I = a(42), L = a(42), R = a(632), q = a(633), B = a(634);
      u.parseLegend = s, u.parseLegendForChannel = f, u.mergeLegendComponent = d;
    }, function(A, u, a) {
      function s(d, p) {
        if (_.isLayerModel(p) || _.isFacetModel(p)) return "shared";
        if (_.isConcatModel(p) || _.isRepeatModel(p)) return S.contains(E.POSITION_SCALE_CHANNELS, d) ? "independent" : "shared";
        throw new Error("invalid model type for resolve");
      }
      function h(d, p) {
        var b = d.scale[p], m = S.contains(E.POSITION_SCALE_CHANNELS, p) ? "axis" : "legend";
        return b === "independent" ? (d[m][p] === "shared" && f.warn(f.message.independentScaleMeansIndependentGuide(p)), "independent") : d[m][p] || "shared";
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(5), f = a(8), S = a(2), _ = a(27);
      u.defaultScaleResolve = s, u.parseGuideResolve = h;
    }, function(A, u, a) {
      function s(q, B) {
        I.isUnitModel(q) ? h(q, B) : f(q, B);
      }
      function h(q, B) {
        var j = q.component.scales;
        w.keys(j).forEach(function(k) {
          var U = q.specifiedScales[k], W = j[k], $ = q.getScaleComponent(k), V = q.fieldDef(k), G = q.sort(k), X = q.config, K = U[B], H = $.get("type"), Y = T.scaleTypeSupportProperty(H, B), Q = T.channelScalePropertyIncompatability(k, B);
          if (K !== void 0 && (Y ? Q && O.warn(Q) : O.warn(O.message.scalePropertyNotWorkWithScaleType(H, B, k))), Y && Q === void 0) if (K !== void 0) W.copyKeyFromObject(B, U);
          else {
            var Z = E(B, k, V, G, $.get("type"), $.get("padding"), $.get("paddingInner"), U.domain, q.markDef, X);
            Z !== void 0 && W.set(B, Z, !1);
          }
        });
      }
      function E(q, B, j, k, U, W, $, V, G, X) {
        var K = X.scale;
        switch (q) {
          case "nice":
            return S(U, B, j);
          case "padding":
            return _(B, U, K, j, G, X.bar);
          case "paddingInner":
            return d(W, B, K);
          case "paddingOuter":
            return p(W, B, U, $, K);
          case "reverse":
            return b(U, k);
          case "zero":
            return m(B, j, V, G);
        }
        return K[q];
      }
      function f(q, B) {
        for (var j = q.component.scales, k = 0, U = q.children; k < U.length; k++) {
          var W = U[k];
          B === "range" ? R.parseScaleRange(W) : s(W, B);
        }
        w.keys(j).forEach(function($) {
          for (var V, G = 0, X = q.children; G < X.length; G++) {
            var K = X[G], H = K.component.scales[$];
            if (H) {
              var Y = H.getWithExplicit(B);
              V = L.mergeValuesWithExplicit(V, Y, B, "scale", L.tieBreakByComparing(function(Q, Z) {
                switch (B) {
                  case "range":
                    return Q.step && Z.step ? Q.step - Z.step : 0;
                }
                return 0;
              }));
            }
          }
          j[$].setWithExplicit(B, V);
        });
      }
      function S(q, B, j) {
        if (!j.bin && !P.contains([T.ScaleType.TIME, T.ScaleType.UTC], q)) return P.contains([v.X, v.Y], B);
      }
      function _(q, B, j, k, U, W) {
        if (P.contains([v.X, v.Y], q)) {
          if (T.isContinuousToContinuous(B)) {
            if (j.continuousPadding !== void 0) return j.continuousPadding;
            var $ = U.type, V = U.orient;
            if ($ === "bar" && !k.bin && (V === "vertical" && q === "x" || V === "horizontal" && q === "y")) return W.continuousBandSize;
          }
          if (B === T.ScaleType.POINT) return j.pointPadding;
        }
      }
      function d(q, B, j) {
        if (q === void 0) return P.contains([v.X, v.Y], B) ? j.bandPaddingInner : void 0;
      }
      function p(q, B, j, k, U) {
        if (q === void 0) return P.contains([v.X, v.Y], B) && j === T.ScaleType.BAND ? U.bandPaddingOuter !== void 0 ? U.bandPaddingOuter : k / 2 : void 0;
      }
      function b(q, B) {
        if (T.hasContinuousDomain(q) && B === "descending") return !0;
      }
      function m(q, B, j, k) {
        if (q === "size" && B.type === "quantitative") return !0;
        if ((!j || j === "unaggregated") && !B.bin && P.contains([v.X, v.Y], q)) {
          var U = k.orient, W = k.type;
          return !w.contains(["bar", "area", "line", "trail"], W) || !(U === "horizontal" && q === "y" || U === "vertical" && q === "x");
        }
        return !1;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var v = a(5), O = a(8), T = a(9), w = a(2), P = a(2), I = a(27), L = a(42), R = a(247);
      u.parseScaleProperty = s, u.getDefaultValue = E, u.parseNonUnitScaleProperty = f, u.nice = S, u.padding = _, u.paddingInner = d, u.paddingOuter = p, u.reverse = b, u.zero = m;
    }, function(A, u, a) {
      function s(B) {
        L.isUnitModel(B) ? h(B) : q.parseNonUnitScaleProperty(B, "range");
      }
      function h(B) {
        var j = B.component.scales;
        v.SCALE_CHANNELS.forEach(function(k) {
          var U = j[k];
          if (U) {
            var W = B.getScaleComponent(k), $ = B.specifiedScales[k], V = B.fieldDef(k), G = k === "x" ? "width" : k === "y" ? "height" : void 0, X = G ? !!B.component.layoutSize.get(G) : void 0, K = W.get("type"), H = P.contains(["point", "band"], K) || !!$.rangeStep;
            G && B.fit && !X && H && (O.warn(O.message.CANNOT_FIX_RANGE_STEP_WITH_FIT), X = !0);
            var Y = E(B), Q = f(k, K, V.type, $, B.config, U.get("zero"), B.mark, X, B.getName(G), Y);
            U.setWithExplicit("range", Q);
          }
        });
      }
      function E(B) {
        var j = [], k = B.getScaleComponent("x"), U = k && k.get("range");
        U && I.isVgRangeStep(U) && m.isNumber(U.step) && j.push(U.step);
        var W = B.getScaleComponent("y"), $ = W && W.get("range");
        return $ && I.isVgRangeStep($) && m.isNumber($.step) && j.push($.step), j;
      }
      function f(B, j, k, U, W, $, V, G, X, K) {
        for (var H = G || U.rangeStep === null, Y = 0, Q = u.RANGE_PROPERTIES; Y < Q.length; Y++) {
          var Z = Q[Y];
          if (U[Z] !== void 0) {
            var J = T.scaleTypeSupportProperty(j, Z), ne = T.channelScalePropertyIncompatability(B, Z);
            if (J) if (ne) O.warn(ne);
            else switch (Z) {
              case "range":
                return R.makeExplicit(U[Z]);
              case "scheme":
                return R.makeExplicit(S(U[Z]));
              case "rangeStep":
                var ie = U[Z];
                if (ie !== null) {
                  if (!G) return R.makeExplicit({ step: ie });
                  O.warn(O.message.rangeStepDropped(B));
                }
            }
            else O.warn(O.message.scalePropertyNotWorkWithScaleType(j, Z, B));
          }
        }
        return R.makeImplicit(_(B, j, k, W, $, V, X, K, H));
      }
      function S(B) {
        if (T.isExtendedScheme(B)) {
          var j = { scheme: B.name };
          return B.count && (j.count = B.count), B.extent && (j.extent = B.extent), j;
        }
        return { scheme: B };
      }
      function _(B, j, k, U, W, $, V, G, X) {
        switch (B) {
          case v.X:
          case v.Y:
            if (P.contains(["point", "band"], j) && !X) {
              if (B === v.X && $ === "text") {
                if (U.scale.textXRangeStep) return { step: U.scale.textXRangeStep };
              } else if (U.scale.rangeStep) return { step: U.scale.rangeStep };
            }
            return B === v.Y && w.hasContinuousDomain(j) ? [{ signal: V }, 0] : [0, { signal: V }];
          case v.SIZE:
            return [d($, W, U), p($, G, U)];
          case v.SHAPE:
            return "symbol";
          case v.COLOR:
          case v.FILL:
          case v.STROKE:
            return j === "ordinal" ? k === "nominal" ? "category" : "ordinal" : $ === "rect" || $ === "geoshape" ? "heatmap" : "ramp";
          case v.OPACITY:
            return [U.scale.minOpacity, U.scale.maxOpacity];
        }
        throw new Error("Scale range undefined for channel " + B);
      }
      function d(B, j, k) {
        if (j) return 0;
        switch (B) {
          case "bar":
          case "tick":
            return k.scale.minBandSize;
          case "line":
          case "trail":
          case "rule":
            return k.scale.minStrokeWidth;
          case "text":
            return k.scale.minFontSize;
          case "point":
          case "square":
          case "circle":
            return k.scale.minSize;
        }
        throw new Error(O.message.incompatibleChannel("size", B));
      }
      function p(B, j, k) {
        var U = k.scale;
        switch (B) {
          case "bar":
          case "tick":
            return k.scale.maxBandSize !== void 0 ? k.scale.maxBandSize : b(j, k.scale) - 1;
          case "line":
          case "trail":
          case "rule":
            return k.scale.maxStrokeWidth;
          case "text":
            return k.scale.maxFontSize;
          case "point":
          case "square":
          case "circle":
            if (k.scale.maxSize) return k.scale.maxSize;
            var W = b(j, U);
            return (W - 2) * (W - 2);
        }
        throw new Error(O.message.incompatibleChannel("size", B));
      }
      function b(B, j) {
        return B.length > 0 ? Math.min.apply(null, B) : j.rangeStep ? j.rangeStep : 21;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var m = a(4), v = a(5), O = a(8), T = a(9), w = a(9), P = a(2), I = a(43), L = a(27), R = a(42), q = a(246);
      u.RANGE_PROPERTIES = ["range", "rangeStep", "scheme"], u.parseScaleRange = s, u.parseRangeForChannel = f, u.defaultRange = _;
    }, function(A, u, a) {
      function s(v, O, T, w, P) {
        var I = h(O, T, w);
        return f.isScaleChannel(O) ? v !== void 0 ? _.channelSupportScaleType(O, v) ? E(v, T) ? v : (S.warn(S.message.scaleTypeNotWorkWithFieldDef(v, I)), I) : (S.warn(S.message.scaleTypeNotWorkWithChannel(O, v, I)), I) : I : null;
      }
      function h(v, O, T, w) {
        switch (O.type) {
          case "nominal":
          case "ordinal":
            return f.isColorChannel(v) || f.rangeType(v) === "discrete" ? (v === "shape" && O.type === "ordinal" && S.warn(S.message.discreteChannelCannotEncode(v, "ordinal")), "ordinal") : b.contains(["x", "y"], v) && (b.contains(["rect", "bar", "rule"], T) || T === "bar") ? "band" : "point";
          case "temporal":
            return f.isColorChannel(v) ? "sequential" : f.rangeType(v) === "discrete" ? (S.warn(S.message.discreteChannelCannotEncode(v, "temporal")), "ordinal") : "time";
          case "quantitative":
            return f.isColorChannel(v) ? O.bin ? "bin-ordinal" : "sequential" : f.rangeType(v) === "discrete" ? (S.warn(S.message.discreteChannelCannotEncode(v, "quantitative")), "ordinal") : O.bin && v !== "x" && v !== "y" ? "bin-linear" : "linear";
          case "latitude":
          case "longitude":
          case "geojson":
            return;
        }
        throw new Error(S.message.invalidFieldType(O.type));
      }
      function E(v, O) {
        var T = O.type;
        return m.contains([p.Type.ORDINAL, p.Type.NOMINAL], T) ? v === void 0 || d.hasDiscreteDomain(v) : T === p.Type.TEMPORAL ? m.contains([_.ScaleType.TIME, _.ScaleType.UTC, _.ScaleType.SEQUENTIAL, void 0], v) : T !== p.Type.QUANTITATIVE || (O.bin ? m.contains([_.ScaleType.BIN_LINEAR, _.ScaleType.BIN_ORDINAL, _.ScaleType.LINEAR], v) : m.contains([_.ScaleType.LOG, _.ScaleType.POW, _.ScaleType.SQRT, _.ScaleType.QUANTILE, _.ScaleType.QUANTIZE, _.ScaleType.LINEAR, _.ScaleType.SEQUENTIAL, void 0], v));
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = a(5), S = a(8), _ = a(9), d = a(9), p = a(13), b = a(2), m = a(2);
      u.scaleType = s, u.fieldDefMatchScaleType = E;
    }, function(A, u, a) {
      function s(d, p) {
        var b = p.project, m = S.default.has(p) ? "(item().isVoronoi ? datum.datum : datum)" : "datum", v = [], O = b.map(function(P) {
          return h.stringValue(P.channel);
        }).filter(function(P) {
          return P;
        }).join(", "), T = b.map(function(P) {
          return h.stringValue(P.field);
        }).join(", "), w = b.map(function(P) {
          var I = P.channel, L = d.fieldDef(I);
          return L && L.bin ? (v.push(P.field), "[" + m + E.accessPath(d.vgField(I, {})) + ", " + m + E.accessPath(d.vgField(I, { binSuffix: "end" })) + "]") : "" + m + E.accessPath(P.field);
        }).join(", ");
        return [{ name: p.name + f.TUPLE, value: {}, on: [{ events: p.events, update: "datum && item().mark.marktype !== 'group' ? {unit: " + f.unitName(d) + ", encodings: [" + O + "], fields: [" + T + "], values: [" + w + "]" + (v.length ? ", " + v.map(function(P) {
          return h.stringValue("bin_" + P) + ": 1";
        }).join(", ") : "") + "} : null", force: !0 }] }];
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(4), E = a(2), f = a(23), S = a(158);
      u.signals = s;
      var _ = { predicate: "vlMulti", scaleDomain: "vlMultiDomain", signals: s, modifyExpr: function(d, p) {
        return p.name + f.TUPLE + ", " + (p.resolve === "global" ? "null" : "{unit: " + f.unitName(d) + "}");
      } };
      u.default = _;
    }, function(A, u, a) {
      function s(f) {
        return !(!f || f.op !== "count" && !f.field || !f.op);
      }
      function h(f) {
        return !!f && E.isArray(f) && f.every(function(S) {
          return E.isString(S);
        });
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(4);
      u.isSortField = s, u.isSortArray = h;
    }, function(A, u, a) {
      function s(w) {
        return !!T[w];
      }
      function h(w) {
        var P = w.x, I = w.y;
        if (p.isFieldDef(P) && p.isFieldDef(I)) if (P.type === "quantitative" && I.type === "quantitative") {
          if (P.stack) return "x";
          if (I.stack) return "y";
          if (!!P.aggregate != !!I.aggregate) return P.aggregate ? "x" : "y";
        } else {
          if (P.type === "quantitative") return "x";
          if (I.type === "quantitative") return "y";
        }
        else {
          if (p.isFieldDef(P) && P.type === "quantitative") return "x";
          if (p.isFieldDef(I) && I.type === "quantitative") return "y";
        }
      }
      function E(w, P, I) {
        var L = m.isMarkDef(w) ? w.type : w;
        if (!O.contains(u.STACKABLE_MARKS, L)) return null;
        var R = h(P);
        if (!R) return null;
        var q = P[R], B = p.isStringFieldDef(q) ? p.vgField(q, {}) : void 0, j = R === "x" ? "y" : "x", k = P[j], U = p.isStringFieldDef(k) ? p.vgField(k, {}) : void 0, W = _.NONPOSITION_CHANNELS.reduce(function(V, G) {
          if (d.channelHasField(P, G)) {
            var X = P[G];
            (f.isArray(X) ? X : [X]).forEach(function(K) {
              var H = p.getFieldDef(K);
              if (!H.aggregate) {
                var Y = p.isStringFieldDef(H) ? p.vgField(H, {}) : void 0;
                (!Y || Y !== U && Y !== B) && V.push({ channel: G, fieldDef: H });
              }
            });
          }
          return V;
        }, []);
        if (W.length === 0) return null;
        var $ = void 0;
        return ($ = q.stack !== void 0 ? q.stack : O.contains(u.STACK_BY_DEFAULT_MARKS, L) && I === void 0 ? "zero" : I) && s($) ? q.scale && q.scale.type && q.scale.type !== v.ScaleType.LINEAR ? (b.warn(b.message.cannotStackNonLinearScale(q.scale.type)), null) : d.channelHasField(P, R === _.X ? _.X2 : _.Y2) ? (b.warn(b.message.cannotStackRangedMark(R)), null) : (q.aggregate && !O.contains(S.SUM_OPS, q.aggregate) && b.warn(b.message.stackNonSummativeAggregate(q.aggregate)), { groupbyChannel: k ? j : void 0, fieldChannel: R, impute: m.isPathMark(L), stackBy: W, offset: $ }) : null;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = a(4), S = a(60), _ = a(5), d = a(71), p = a(10), b = a(8), m = a(28), v = a(9), O = a(2), T = { zero: 1, center: 1, normalize: 1 };
      u.isStackOffset = s, u.STACKABLE_MARKS = [m.BAR, m.AREA, m.RULE, m.POINT, m.CIRCLE, m.SQUARE, m.LINE, m.TEXT, m.TICK], u.STACK_BY_DEFAULT_MARKS = [m.BAR, m.AREA], u.stack = E;
    }, function(A, u, a) {
      a.d(u, "a", function() {
        return f;
      }), a.d(u, "b", function() {
        return S;
      }), a.d(u, "c", function() {
        return _;
      }), a.d(u, "d", function() {
        return d;
      }), a.d(u, "e", function() {
        return p;
      }), a.d(u, "f", function() {
        return b;
      });
      var s = a(89), h = a(254), E = [], f = a.i(h.a)("id"), S = a.i(s.a)(function(m) {
        return m;
      }, E, "identity"), _ = a.i(s.a)(function() {
        return 0;
      }, E, "zero"), d = a.i(s.a)(function() {
        return 1;
      }, E, "one"), p = a.i(s.a)(function() {
        return !0;
      }, E, "true"), b = a.i(s.a)(function() {
        return !1;
      }, E, "false");
    }, function(A, u, a) {
      u.a = function(s) {
        throw Error(s);
      };
    }, function(A, u, a) {
      var s = a(89), h = a(109), E = a(110);
      u.a = function(f, S) {
        var _ = a.i(h.a)(f), d = "return _[" + _.map(E.a).join("][") + "];";
        return a.i(s.a)(Function("_", d), [f = _.length === 1 ? _[0] : f], S || f);
      };
    }, function(A, u, a) {
      u.a = function(s) {
        return Object.prototype.toString.call(s) === "[object Date]";
      };
    }, function(A, u, a) {
      u.a = function(s) {
        return typeof s == "number";
      };
    }, function(A, u, a) {
      u.a = function(s) {
        return s === Object(s);
      };
    }, function(A, u, a) {
      u.a = function(s) {
        return typeof s == "string";
      };
    }, function(A, u, a) {
      u.a = function(s) {
        return s[s.length - 1];
      };
    }, function(A, u, a) {
      u.a = function(s, h) {
        for (var E = ""; --h >= 0; ) E += s;
        return E;
      };
    }, function(A, u, a) {
      u.a = function(s) {
        return s == null || s === "" ? null : +s;
      };
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 }), u.SET_CONFIG = "SET_CONFIG";
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 }), u.FILTER_ADD = "FILTER_ADD", u.FILTER_TOGGLE = "FILTER_TOGGLE", u.FILTER_REMOVE = "FILTER_REMOVE", u.FILTER_CLEAR = "FILTER_CLEAR", u.FILTER_MODIFY_EXTENT = "FILTER_MODIFY_EXTENT", u.FILTER_MODIFY_MIN_BOUND = "FILTER_MODIFY_MIN_BOUND", u.FILTER_MODIFY_MAX_BOUND = "FILTER_MODIFY_MAX_BOUND", u.FILTER_MODIFY_ONE_OF = "FILTER_MODIFY_ONE_OF", u.FILTER_MODIFY_TIME_UNIT = "FILTER_MODIFY_TIME_UNIT";
    }, function(A, u, a) {
      function s(h) {
        return u.TAB_ACTION_TYPE_INDEX[h.type];
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.TAB_ACTION_TYPE_INDEX = { TAB_ADD: 1, TAB_REMOVE: 1, TAB_SWITCH: 1, TAB_TITLE_UPDATE: 1 }, u.isTabAction = s, u.TAB_ADD = "TAB_ADD", u.TAB_REMOVE = "TAB_REMOVE", u.TAB_SWITCH = "TAB_SWITCH", u.TAB_TITLE_UPDATE = "TAB_TITLE_UPDATE";
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 }), u.UNDO = "UNDO", u.REDO = "REDO";
    }, function(A, u, a) {
      function s(p, b, m, v) {
        return v && v.serverUrl ? fetch(v.serverUrl + "/recommend", { method: "POST", headers: { "Content-Type": "application/json" }, credentials: "same-origin", body: JSON.stringify({ query: p, schema: b.fieldSchemas, data: m }) }).then(function(O) {
          return O.json();
        }) : new Promise(function(O) {
          var T = f.recommend(p, b).result;
          O(d.fromSpecQueryModelGroup(T, { name: "source" }));
        });
      }
      function h(p, b) {
        return b && b.serverUrl ? fetch(b.serverUrl + "/build", { method: "POST", headers: { "Content-Type": "application/json" }, credentials: "same-origin", body: JSON.stringify({ data: p }) }).then(function(m) {
          return m.json();
        }).then(function(m) {
          return new S.Schema({ fields: m.fields });
        }) : new Promise(function(m) {
          m(S.build(p));
        });
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(364);
      u.Query = E.Query;
      var f = a(188), S = a(57);
      u.Schema = S.Schema, a(208);
      var _ = a(53);
      u.Data = _.Data;
      var d = a(93);
      u.fetchCompassQLRecommend = s, u.fetchCompassQLBuildSchema = h;
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var w = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(P, I) {
          P.__proto__ = I;
        } || function(P, I) {
          for (var L in I) I.hasOwnProperty(L) && (P[L] = I[L]);
        };
        return function(P, I) {
          function L() {
            this.constructor = P;
          }
          w(P, I), P.prototype = I === null ? Object.create(I) : (L.prototype = I.prototype, new L());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(0), E = a(7), f = a(20), S = a(221), _ = a(226), d = a(279), p = a(291), b = a(17), m = a(38), v = a(14), O = function(w) {
        function P(I) {
          var L = w.call(this, I) || this;
          return L.state = { modalIsOpen: !1, dataText: "", dataName: "", dataUrl: "", fileType: void 0 }, L.onDatasetChange = L.onDatasetChange.bind(L), L.openModal = L.openModal.bind(L), L.closeModal = L.closeModal.bind(L), L.renderDataset = L.renderDataset.bind(L), L.onFileChange = L.onFileChange.bind(L), L.onDataTextSubmit = L.onDataTextSubmit.bind(L), L.handleTextChange = L.handleTextChange.bind(L), L.handleFileTypeChange = L.handleFileTypeChange.bind(L), L.onDataUrlSubmit = L.onDataUrlSubmit.bind(L), L;
        }
        return s(P, w), P.prototype.render = function() {
          var I = this.props.title;
          return h.createElement("span", { styleName: "data-selector" }, h.createElement("button", { onClick: this.openModal }, I), h.createElement(S.default, { isOpen: this.state.modalIsOpen, onRequestClose: this.closeModal, contentLabel: "Data Selector", styleName: "modal", className: "voyager" }, h.createElement("div", { className: "modal-header" }, h.createElement("a", { styleName: "modal-close", onClick: this.closeModal }, "close"), h.createElement("h3", null, "Add Dataset")), h.createElement(_.Tabs, { className: p["react-tabs"] }, h.createElement(_.TabList, { className: p["tab-list"] }, h.createElement(_.Tab, { className: p.tab }, "Change Dataset"), h.createElement(_.Tab, { className: p.tab }, "Paste or Upload Data"), h.createElement(_.Tab, { className: p.tab }, "From URL")), h.createElement(_.TabPanel, { className: p["tab-panel"] }, this.renderDatasetPanel()), h.createElement(_.TabPanel, { className: p["tab-panel"] }, h.createElement("div", null, this.renderUploadPanel(), this.renderPastePanel())), h.createElement(_.TabPanel, { className: p["tab-panel"] }, this.renderUrlPanel()))));
        }, P.prototype.renderDataset = function(I) {
          var L = I.name === this.props.data.name ? p["element-selected"] : null;
          return h.createElement("li", { key: I.name, className: p["dataset-list-element"] + " " + L }, h.createElement("a", { onClick: this.onDatasetChange.bind(this, I) }, h.createElement("i", { className: "fa fa-database" }), " ", I.name));
        }, P.prototype.renderDatasetPanel = function() {
          return h.createElement("div", null, h.createElement("ul", { styleName: "dataset-list" }, m.DEFAULT_DATASETS.map(this.renderDataset)));
        }, P.prototype.renderUploadPanel = function() {
          return h.createElement("div", { styleName: "upload-panel" }, h.createElement("div", { className: "form-group" }, h.createElement("label", { htmlFor: "data-file" }, "File"), h.createElement("input", { id: "data-file", type: "file", onChange: this.onFileChange })), h.createElement("p", null, "Upload a data file, or paste data in CSV format into the input."), h.createElement("div", { styleName: "dropzone-target" }));
        }, P.prototype.renderUrlPanel = function() {
          return h.createElement("div", { styleName: "url-panel" }, h.createElement("p", null, "Add the name of the dataset and the URL to a ", h.createElement("b", null, " JSON "), ", ", h.createElement("b", null, " CSV "), " (with header), or", h.createElement("b", null, " TSV "), " file. Make sure that the formatting is correct and clean the data before adding it. The added dataset is only visible to you."), h.createElement("div", { className: "form-group" }, h.createElement("label", { htmlFor: "filetype-selector" }, "File Type"), h.createElement("select", { value: this.state.fileType, onChange: this.handleFileTypeChange, id: "filetype-selector" }, h.createElement("option", { value: "json" }, "JSON"), h.createElement("option", { value: "csv" }, "CSV"), h.createElement("option", { value: "tsv" }, "TSV"))), h.createElement("div", { className: "form-group" }, h.createElement("label", { htmlFor: "data-name" }, "Name"), h.createElement("input", { name: "dataName", value: this.state.dataName, onChange: this.handleTextChange, id: "data-name", type: "name" })), h.createElement("div", { className: "form-group" }, h.createElement("label", { htmlFor: "data-url" }, "URL"), h.createElement("input", { name: "dataUrl", value: this.state.dataUrl, onChange: this.handleTextChange, id: "data-url", type: "name" })), h.createElement("button", { onClick: this.onDataUrlSubmit }, "Add Dataset"));
        }, P.prototype.handleFileTypeChange = function(I) {
          this.setState({ fileType: I.target.value });
        }, P.prototype.renderPastePanel = function() {
          return h.createElement("div", { styleName: "paste-panel" }, h.createElement("div", { className: "form-group" }, h.createElement("label", { htmlFor: "data-name" }, "Name"), h.createElement("input", { name: "dataName", value: this.state.dataName, onChange: this.handleTextChange, id: "data-name", type: "name" })), h.createElement("div", { className: "form-group" }, h.createElement("textarea", { name: "dataText", value: this.state.dataText, onChange: this.handleTextChange })), h.createElement("button", { onClick: this.onDataTextSubmit }, "Add Data"));
        }, P.prototype.onDatasetChange = function(I) {
          this.props.handleAction(b.datasetLoad(I.name, I)), this.closeModal();
        }, P.prototype.onFileChange = function(I) {
          var L = this.props.handleAction, R = new FileReader(), q = I.target.files[0];
          R.onload = function(B) {
            var j, k = q.name.replace(/\.\w+$/, ""), U = q.name.split(".").pop();
            try {
              j = d.read(B.target.result, { type: U });
            } catch (W) {
              window.alert(W.message);
            }
            L(b.datasetLoad(k, { values: j, format: U }));
          }, R.readAsText(q);
        }, P.prototype.onDataTextSubmit = function() {
          var I = d.read(this.state.dataText, { type: "csv" });
          this.props.handleAction(b.datasetLoad(this.state.dataName, { values: I }));
        }, P.prototype.loadDataString = function(I) {
          var L = this.state.dataName, R = this.state.fileType, q = d.read(I, { type: R });
          this.props.handleAction(b.datasetLoad(L, { values: q }));
        }, P.prototype.onDataUrlSubmit = function() {
          var I = this;
          d.loader().load(this.state.dataUrl).then(function(L) {
            I.loadDataString(L);
          }).catch(function(L) {
            console.warn("Error occurred while loading data: ", L);
          });
        }, P.prototype.openModal = function() {
          this.setState({ modalIsOpen: !0 });
        }, P.prototype.closeModal = function() {
          this.setState({ modalIsOpen: !1 });
        }, P.prototype.handleTextChange = function(I) {
          var L = I.target.name;
          this.setState((R = {}, R[L] = I.target.value, R));
          var R;
        }, P;
      }(h.PureComponent);
      u.DataSelectorBase = O;
      var T = E(O, p);
      u.DataSelector = f.connect(function(w) {
        return { data: v.selectDataset(w) };
      }, b.createDispatchHandler())(T);
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var b = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(m, v) {
          m.__proto__ = v;
        } || function(m, v) {
          for (var O in v) v.hasOwnProperty(O) && (m[O] = v[O]);
        };
        return function(m, v) {
          function O() {
            this.constructor = m;
          }
          b(m, v), m.prototype = v === null ? Object.create(v) : (O.prototype = v.prototype, new O());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(6), E = a(0), f = a(7), S = a(2), _ = a(39), d = a(295), p = function(b) {
        function m(v) {
          var O = b.call(this, v) || this;
          return O.onFunctionChange = O.onFunctionChange.bind(O), O.onCheck = O.onCheck.bind(O), O.onFunctionCheck = O.onFunctionCheck.bind(O), O;
        }
        return s(m, b), m.prototype.render = function() {
          var v = this, O = this.props, T = O.fieldDefParts, w = O.wildcardHandler, P = T.fn, I = T.type, L = _.getSupportedFunction(I), R = h.isWildcard(P), q = L.map(function(B) {
            return E.createElement("label", { styleName: "func-label", key: B || "-" }, E.createElement("input", { onChange: R ? v.onFunctionCheck : v.onFunctionChange, type: R ? "checkbox" : "radio", checked: h.isWildcard(P) ? S.contains(P.enum, B) : B === P, value: B || "-" }), " ", B || "-");
          });
          return q.length > 0 && E.createElement("div", { styleName: "function-chooser" }, w && E.createElement("label", { styleName: "wildcard-button" }, E.createElement("input", { type: "checkbox", onChange: this.onCheck }), " Wildcard"), E.createElement("h4", null, "Function"), q);
        }, m.prototype.onFunctionChange = function(v) {
          var O = v.target.value;
          O === "-" && (O = void 0), this.props.onFunctionChange(O);
        }, m.prototype.onFunctionCheck = function(v) {
          var O = v.target.checked, T = v.target.value;
          T === "-" && (T = void 0), O ? this.props.wildcardHandler.onWildcardAdd(T) : this.props.wildcardHandler.onWildcardRemove(T);
        }, m.prototype.onCheck = function(v) {
          v.target.checked ? this.props.wildcardHandler.onWildcardEnable() : this.props.wildcardHandler.onWildcardDisable();
        }, m;
      }(E.PureComponent);
      u.FunctionPickerBase = p, u.FunctionPicker = f(p, d);
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var T = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(w, P) {
          w.__proto__ = P;
        } || function(w, P) {
          for (var I in P) P.hasOwnProperty(I) && (w[I] = P[I]);
        };
        return function(w, P) {
          function I() {
            this.constructor = w;
          }
          T(w, P), w.prototype = P === null ? Object.create(P) : (I.prototype = P.prototype, new I());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(0), E = a(7), f = a(20), S = a(148), _ = a(91), d = a(38), p = a(14), b = a(56), m = a(168), v = a(307), O = function(T) {
        function w(P) {
          var I = T.call(this, P) || this;
          return I.onLoadMore = I.onLoadMore.bind(I), I;
        }
        return s(w, T), w.prototype.render = function() {
          var P = this, I = this.props, L = I.handleAction, R = I.bookmark, q = I.data, B = I.filters, j = I.result, k = j.plots, U = j.limit, W = j.isLoading, $ = k && k.slice(0, U).map(function(V, G) {
            var X = V.spec, K = V.fieldInfos;
            return h.createElement(m.Plot, { data: q, key: G, fieldInfos: K, filters: B, handleAction: L, isPlotListItem: !0, onSort: P.onPlotSort.bind(P, G), showBookmarkButton: !0, showSpecifyButton: !0, spec: X, bookmark: R });
          });
          return h.createElement("div", null, h.createElement("div", { styleName: "plot-list" }, W ? h.createElement("div", { styleName: "plot-list-loading" }, h.createElement(S.ClipLoader, { color: d.SPINNER_COLOR })) : $), k && k.length > U && h.createElement("a", { styleName: "load-more", onClick: this.onLoadMore }, "Load more..."));
        }, w.prototype.onPlotSort = function(P, I, L) {
          var R = this.props, q = R.handleAction, B = R.resultType;
          q({ type: _.RESULT_MODIFY_FIELD_PROP, payload: { resultType: B, index: P, channel: I, prop: "sort", value: L } });
        }, w.prototype.onLoadMore = function() {
          var P = this.props, I = P.handleAction, L = P.resultType;
          I({ type: _.RESULT_LIMIT_INCREASE, payload: { resultType: L, increment: 4 } });
        }, w;
      }(h.PureComponent);
      u.PlotListBase = O, u.PlotList = f.connect(function(T) {
        return { data: p.selectFilteredData(T), filters: b.selectFilters(T) };
      })(E(O, v));
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 }), u.DEFAULT_BOOKMARK = { dict: {}, count: 0, list: [] };
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(57), h = a(57);
      u.FieldSchema = h.FieldSchema, u.Schema = h.Schema, u.DEFAULT_DATASET = { isLoading: !1, name: "Empty", schema: new s.Schema({ fields: [] }), data: null };
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 }), u.DEFAULT_LOG = { errors: [], warnings: { warn: [], info: [], debug: [] } };
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 }), u.DEFAULT_RELATED_VIEWS = { isCollapsed: void 0 };
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 }), u.DEFAULT_SHELF_PREVIEW = { spec: null };
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(93), h = a(39);
      u.DEFAULT_TAB_TITLE = "untitled", u.DEFAULT_PLOT_TAB_STATE = { title: u.DEFAULT_TAB_TITLE, shelf: h.DEFAULT_SHELF, result: s.DEFAULT_RESULT_INDEX }, u.DEFAULT_ACTIVE_TAB_ID = 0, u.DEFAULT_TAB = { activeTabID: u.DEFAULT_ACTIVE_TAB_ID, list: [u.DEFAULT_PLOT_TAB_STATE] };
    }, function(A, u, a) {
      function s(E) {
        return h.isWildcard(E) ? E : h.SHORT_WILDCARD;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(6);
      u.makeWildcard = s;
    }, function(A, u, a) {
      function s(R, q) {
        var B = R.getState(), j = O.selectIsQueryEmpty(B), k = v.selectIsQuerySpecific(B);
        R.dispatch(m.resultRequest("main", q, null)), B.persistent.config.relatedViews === "disabled" || B.persistent.relatedViews.isCollapsed || (j ? R.dispatch(h(P.histograms, q)) : k && f(R, q));
      }
      function h(R, q) {
        var B, j = R.createQuery(q);
        if (R.filterSpecifiedView) {
          if (!p.isString(j.groupBy)) throw new Error("Cannot get key if query.groupBy is not string");
          B = S.getGroupByKey(q.spec, j.groupBy);
        }
        return m.resultRequest(R.type, j, B);
      }
      function E(R) {
        var q = !1, B = !1, j = !1;
        return R.encodings.forEach(function(k) {
          k.channel === "x" || k.channel === "y" ? q = !0 : k.channel === "row" || k.channel === "column" ? j = !0 : d.contains(b.NONPOSITION_SCALE_CHANNELS, k.channel) && (B = !0);
        }), { hasOpenPosition: q, hasStyleChannel: B, hasOpenFacet: j, isSpecAggregate: _.isAggregate(R) };
      }
      function f(R, q) {
        var B = E(q.spec), j = B.hasOpenPosition, k = B.hasStyleChannel, U = B.hasOpenFacet;
        B.isSpecAggregate || R.dispatch(h(I.summaries, q)), (j || k) && R.dispatch(h(w.addQuantitativeField, q)), (j || k || U) && R.dispatch(h(w.addCategoricalField, q)), j && R.dispatch(h(w.addTemporalField, q)), R.dispatch(h(T.alternativeEncodings, q));
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var S = a(122), _ = a(75), d = a(15), p = a(229), b = a(5), m = a(91), v = a(14), O = a(56), T = a(709), w = a(710), P = a(711), I = a(712);
      u.RELATED_VIEWS_INDEX = { main: void 0, addCategoricalField: w.addCategoricalField, addQuantitativeField: w.addQuantitativeField, addTemporalField: w.addTemporalField, alternativeEncodings: T.alternativeEncodings, summaries: I.summaries, histograms: P.histograms };
      var L = { main: void 0, histograms: 0, summaries: 1, addQuantitativeField: 2, addCategoricalField: 3, addTemporalField: 4, alternativeEncodings: 5 };
      u.RELATED_VIEWS_TYPES = Object.keys(u.RELATED_VIEWS_INDEX).filter(function(R) {
        return R !== "main";
      }).sort(function(R, q) {
        return L[R] - L[q];
      }), u.dispatchQueries = s, u.makeRelatedViewQueries = f;
    }, function(A, u) {
      A.exports = C;
    }, function(A, u) {
      A.exports = D;
    }, function(A, u) {
      A.exports = { id: "http://json-schema.org/draft-04/schema#", $schema: "http://json-schema.org/draft-04/schema#", description: "Core schema meta-schema", definitions: { schemaArray: { type: "array", minItems: 1, items: { $ref: "#" } }, positiveInteger: { type: "integer", minimum: 0 }, positiveIntegerDefault0: { allOf: [{ $ref: "#/definitions/positiveInteger" }, { default: 0 }] }, simpleTypes: { enum: ["array", "boolean", "integer", "null", "number", "object", "string"] }, stringArray: { type: "array", items: { type: "string" }, minItems: 1, uniqueItems: !0 } }, type: "object", properties: { id: { type: "string", format: "uri" }, $schema: { type: "string", format: "uri" }, title: { type: "string" }, description: { type: "string" }, default: {}, multipleOf: { type: "number", minimum: 0, exclusiveMinimum: !0 }, maximum: { type: "number" }, exclusiveMaximum: { type: "boolean", default: !1 }, minimum: { type: "number" }, exclusiveMinimum: { type: "boolean", default: !1 }, maxLength: { $ref: "#/definitions/positiveInteger" }, minLength: { $ref: "#/definitions/positiveIntegerDefault0" }, pattern: { type: "string", format: "regex" }, additionalItems: { anyOf: [{ type: "boolean" }, { $ref: "#" }], default: {} }, items: { anyOf: [{ $ref: "#" }, { $ref: "#/definitions/schemaArray" }], default: {} }, maxItems: { $ref: "#/definitions/positiveInteger" }, minItems: { $ref: "#/definitions/positiveIntegerDefault0" }, uniqueItems: { type: "boolean", default: !1 }, maxProperties: { $ref: "#/definitions/positiveInteger" }, minProperties: { $ref: "#/definitions/positiveIntegerDefault0" }, required: { $ref: "#/definitions/stringArray" }, additionalProperties: { anyOf: [{ type: "boolean" }, { $ref: "#" }], default: {} }, definitions: { type: "object", additionalProperties: { $ref: "#" }, default: {} }, properties: { type: "object", additionalProperties: { $ref: "#" }, default: {} }, patternProperties: { type: "object", additionalProperties: { $ref: "#" }, default: {} }, dependencies: { type: "object", additionalProperties: { anyOf: [{ $ref: "#" }, { $ref: "#/definitions/stringArray" }] } }, enum: { type: "array", minItems: 1, uniqueItems: !0 }, type: { anyOf: [{ $ref: "#/definitions/simpleTypes" }, { type: "array", items: { $ref: "#/definitions/simpleTypes" }, minItems: 1, uniqueItems: !0 }] }, allOf: { $ref: "#/definitions/schemaArray" }, anyOf: { $ref: "#/definitions/schemaArray" }, oneOf: { $ref: "#/definitions/schemaArray" }, not: { $ref: "#" } }, dependencies: { exclusiveMaximum: ["maximum"], exclusiveMinimum: ["minimum"] }, default: {} };
    }, function(A, u, a) {
      function s(ae) {
        if (!(this instanceof s)) return new s(ae);
        ae = this._opts = ne.copy(ae) || {}, this._schemas = {}, this._refs = {}, this._fragments = {}, this._formats = Y(ae.format);
        var ce = this._schemaUriFormat = this._formats["uri-reference"];
        this._schemaUriFormatFunc = function(pe) {
          return ce.test(pe);
        }, this._cache = ae.cache || new X(), this._loadingSchemas = {}, this._compilations = [], this.RULES = Q(), this._getId = P(ae), ae.loopRequired = ae.loopRequired || 1 / 0, ae.errorDataPath == "property" && (ae._errorDataPathProperty = !0), ae.serialize === void 0 && (ae.serialize = H), this._metaOpts = $(this), ae.formats && U(this), j(this), typeof ae.meta == "object" && this.addMetaSchema(ae.meta), k(this), ae.patternGroups && J(this);
      }
      function h(ae, ce) {
        var pe;
        if (typeof ae == "string") {
          if (!(pe = this.getSchema(ae))) throw new Error('no schema with key or ref "' + ae + '"');
        } else {
          var de = this._addSchema(ae);
          pe = de.validate || this._compile(de);
        }
        var he = pe(ce);
        return pe.$async === !0 ? this._opts.async == "*" ? ie(he) : he : (this.errors = pe.errors, he);
      }
      function E(ae, ce) {
        var pe = this._addSchema(ae, void 0, ce);
        return pe.validate || this._compile(pe);
      }
      function f(ae, ce, pe, de) {
        if (Array.isArray(ae)) for (var he = 0; he < ae.length; he++) this.addSchema(ae[he], void 0, pe, de);
        else {
          var Ee = this._getId(ae);
          if (Ee !== void 0 && typeof Ee != "string") throw new Error("schema id must be string");
          ce = G.normalizeId(ce || Ee), W(this, ce), this._schemas[ce] = this._addSchema(ae, pe, de, !0);
        }
      }
      function S(ae, ce, pe) {
        this.addSchema(ae, ce, pe, !0);
      }
      function _(ae, ce) {
        var pe = ae.$schema;
        if (pe !== void 0 && typeof pe != "string") throw new Error("$schema must be a string");
        if (!(pe = pe || this._opts.defaultMeta || d(this))) return console.warn("meta-schema not available"), this.errors = null, !0;
        var de = this._formats.uri;
        this._formats.uri = typeof de == "function" ? this._schemaUriFormatFunc : this._schemaUriFormat;
        var he;
        try {
          he = this.validate(pe, ae);
        } finally {
          this._formats.uri = de;
        }
        if (!he && ce) {
          var Ee = "schema is invalid: " + this.errorsText();
          if (this._opts.validateSchema != "log") throw new Error(Ee);
          console.error(Ee);
        }
        return he;
      }
      function d(ae) {
        var ce = ae._opts.meta;
        return ae._opts.defaultMeta = typeof ce == "object" ? ae._getId(ce) || ce : ae.getSchema(te) ? te : void 0, ae._opts.defaultMeta;
      }
      function p(ae) {
        var ce = m(this, ae);
        switch (typeof ce) {
          case "object":
            return ce.validate || this._compile(ce);
          case "string":
            return this.getSchema(ce);
          case "undefined":
            return b(this, ae);
        }
      }
      function b(ae, ce) {
        var pe = G.schema.call(ae, { schema: {} }, ce);
        if (pe) {
          var de = pe.schema, he = pe.root, Ee = pe.baseId, ye = V.call(ae, de, he, void 0, Ee);
          return ae._fragments[ce] = new K({ ref: ce, fragment: !0, schema: de, root: he, baseId: Ee, validate: ye }), ye;
        }
      }
      function m(ae, ce) {
        return ce = G.normalizeId(ce), ae._schemas[ce] || ae._refs[ce] || ae._fragments[ce];
      }
      function v(ae) {
        if (ae instanceof RegExp) return O(this, this._schemas, ae), void O(this, this._refs, ae);
        switch (typeof ae) {
          case "undefined":
            return O(this, this._schemas), O(this, this._refs), void this._cache.clear();
          case "string":
            var ce = m(this, ae);
            return ce && this._cache.del(ce.cacheKey), delete this._schemas[ae], void delete this._refs[ae];
          case "object":
            var pe = this._opts.serialize, de = pe ? pe(ae) : ae;
            this._cache.del(de);
            var he = this._getId(ae);
            he && (he = G.normalizeId(he), delete this._schemas[he], delete this._refs[he]);
        }
      }
      function O(ae, ce, pe) {
        for (var de in ce) {
          var he = ce[de];
          he.meta || pe && !pe.test(de) || (ae._cache.del(he.cacheKey), delete ce[de]);
        }
      }
      function T(ae, ce, pe, de) {
        if (typeof ae != "object" && typeof ae != "boolean") throw new Error("schema should be object or boolean");
        var he = this._opts.serialize, Ee = he ? he(ae) : ae, ye = this._cache.get(Ee);
        if (ye) return ye;
        de = de || this._opts.addUsedSchema !== !1;
        var _e = G.normalizeId(this._getId(ae));
        _e && de && W(this, _e);
        var ge, Me = this._opts.validateSchema !== !1 && !ce;
        Me && !(ge = _e && _e == G.normalizeId(ae.$schema)) && this.validateSchema(ae, !0);
        var Te = G.ids.call(this, ae), De = new K({ id: _e, schema: ae, localRefs: Te, cacheKey: Ee, meta: pe });
        return _e[0] != "#" && de && (this._refs[_e] = De), this._cache.put(Ee, De), Me && ge && this.validateSchema(ae, !0), De;
      }
      function w(ae, ce) {
        function pe() {
          var Ee = ae.validate, ye = Ee.apply(null, arguments);
          return pe.errors = Ee.errors, ye;
        }
        if (ae.compiling) return ae.validate = pe, pe.schema = ae.schema, pe.errors = null, pe.root = ce || pe, ae.schema.$async === !0 && (pe.$async = !0), pe;
        ae.compiling = !0;
        var de;
        ae.meta && (de = this._opts, this._opts = this._metaOpts);
        var he;
        try {
          he = V.call(this, ae.schema, ce, ae.localRefs);
        } finally {
          ae.compiling = !1, ae.meta && (this._opts = de);
        }
        return ae.validate = he, ae.refs = he.refs, ae.refVal = he.refVal, ae.root = he.root, he;
      }
      function P(ae) {
        switch (ae.schemaId) {
          case "$id":
            return L;
          case "id":
            return I;
          default:
            return R;
        }
      }
      function I(ae) {
        return ae.$id && console.warn("schema $id ignored", ae.$id), ae.id;
      }
      function L(ae) {
        return ae.id && console.warn("schema id ignored", ae.id), ae.$id;
      }
      function R(ae) {
        if (ae.$id && ae.id && ae.$id != ae.id) throw new Error("schema $id is different from id");
        return ae.$id || ae.id;
      }
      function q(ae, ce) {
        if (!(ae = ae || this.errors)) return "No errors";
        ce = ce || {};
        for (var pe = ce.separator === void 0 ? ", " : ce.separator, de = ce.dataVar === void 0 ? "data" : ce.dataVar, he = "", Ee = 0; Ee < ae.length; Ee++) {
          var ye = ae[Ee];
          ye && (he += de + ye.dataPath + " " + ye.message + pe);
        }
        return he.slice(0, -pe.length);
      }
      function B(ae, ce) {
        typeof ce == "string" && (ce = new RegExp(ce)), this._formats[ae] = ce;
      }
      function j(ae) {
        var ce;
        if (ae._opts.$data && (ce = a(284), ae.addMetaSchema(ce, ce.$id, !0)), ae._opts.meta !== !1) {
          var pe = a(285);
          ae._opts.$data && (pe = Z(pe, le)), ae.addMetaSchema(pe, te, !0), ae._refs["http://json-schema.org/schema"] = te;
        }
      }
      function k(ae) {
        var ce = ae._opts.schemas;
        if (ce) if (Array.isArray(ce)) ae.addSchema(ce);
        else for (var pe in ce) ae.addSchema(ce[pe], pe);
      }
      function U(ae) {
        for (var ce in ae._opts.formats) {
          var pe = ae._opts.formats[ce];
          ae.addFormat(ce, pe);
        }
      }
      function W(ae, ce) {
        if (ae._schemas[ce] || ae._refs[ce]) throw new Error('schema with key or id "' + ce + '" already exists');
      }
      function $(ae) {
        for (var ce = ne.copy(ae._opts), pe = 0; pe < ue.length; pe++) delete ce[ue[pe]];
        return ce;
      }
      var V = a(320), G = a(119), X = a(316), K = a(178), H = a(82), Y = a(319), Q = a(321), Z = a(315), J = a(342), ne = a(64), ie = a(185);
      A.exports = s, s.prototype.validate = h, s.prototype.compile = E, s.prototype.addSchema = f, s.prototype.addMetaSchema = S, s.prototype.validateSchema = _, s.prototype.getSchema = p, s.prototype.removeSchema = v, s.prototype.addFormat = B, s.prototype.errorsText = q, s.prototype._addSchema = T, s.prototype._compile = w, s.prototype.compileAsync = a(318);
      var re = a(341);
      s.prototype.addKeyword = re.add, s.prototype.getKeyword = re.get, s.prototype.removeKeyword = re.remove;
      var ee = a(118);
      s.ValidationError = ee.Validation, s.MissingRefError = ee.MissingRef, s.$dataMetaSchema = Z;
      var te = "http://json-schema.org/draft-06/schema", ue = ["removeAdditional", "useDefaults", "coerceTypes"], le = ["/properties"];
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var p = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(b, m) {
          b.__proto__ = m;
        } || function(b, m) {
          for (var v in m) m.hasOwnProperty(v) && (b[v] = m[v]);
        };
        return function(b, m) {
          function v() {
            this.constructor = b;
          }
          p(b, m), b.prototype = m === null ? Object.create(m) : (v.prototype = m.prototype, new v());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(0), E = a(173), f = a(17), S = a(21), _ = a(680), d = function(p) {
        function b(m) {
          return p.call(this, m) || this;
        }
        return s(b, p), b.prototype.componentWillUpdate = function(m) {
          this.update(m);
        }, b.prototype.componentWillMount = function() {
          this.props.dispatch(E.ActionCreators.clearHistory()), this.update(this.props);
        }, b.prototype.render = function() {
          return h.createElement(_.AppRoot, null);
        }, b.prototype.update = function(m) {
          var v = m.data, O = m.config, T = m.applicationState, w = (m.dispatch, m.spec), P = m.filename;
          v && this.setData(v, P), O && this.setConfig(O), w && this.setSpec(w, P), T && this.setApplicationState(T);
        }, b.prototype.setData = function(m, v) {
          return this.props.dispatch(f.datasetLoad(v, m));
        }, b.prototype.setConfig = function(m) {
          this.props.dispatch({ type: f.SET_CONFIG, payload: { config: m } });
        }, b.prototype.setSpec = function(m, v) {
          var O = this;
          m.data ? this.setData(m.data, v).then(function() {
            O.shelfSpecLoad(m);
          }, function(T) {
            throw new Error("error setting data for spec:" + T.toString());
          }) : this.shelfSpecLoad(m);
        }, b.prototype.shelfSpecLoad = function(m) {
          this.props.dispatch({ type: S.SPEC_LOAD, payload: { spec: m, keepWildcardMark: !1 } });
        }, b.prototype.setApplicationState = function(m) {
          this.props.dispatch({ type: f.SET_APPLICATION_STATE, payload: { state: m } });
        }, b;
      }(h.PureComponent);
      u.App = d;
    }, function(A, u) {
      A.exports = x;
    }, function(A, u) {
      A.exports = { $schema: "http://json-schema.org/draft-06/schema#", $id: "https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/$data.json#", description: "Meta-schema for $data reference (JSON-schema extension proposal)", type: "object", required: ["$data"], properties: { $data: { type: "string", anyOf: [{ format: "relative-json-pointer" }, { format: "json-pointer" }] } }, additionalProperties: !1 };
    }, function(A, u) {
      A.exports = { $schema: "http://json-schema.org/draft-06/schema#", $id: "http://json-schema.org/draft-06/schema#", title: "Core schema meta-schema", definitions: { schemaArray: { type: "array", minItems: 1, items: { $ref: "#" } }, nonNegativeInteger: { type: "integer", minimum: 0 }, nonNegativeIntegerDefault0: { allOf: [{ $ref: "#/definitions/nonNegativeInteger" }, { default: 0 }] }, simpleTypes: { enum: ["array", "boolean", "integer", "null", "number", "object", "string"] }, stringArray: { type: "array", items: { type: "string" }, uniqueItems: !0, default: [] } }, type: ["object", "boolean"], properties: { $id: { type: "string", format: "uri-reference" }, $schema: { type: "string", format: "uri" }, $ref: { type: "string", format: "uri-reference" }, title: { type: "string" }, description: { type: "string" }, default: {}, multipleOf: { type: "number", exclusiveMinimum: 0 }, maximum: { type: "number" }, exclusiveMaximum: { type: "number" }, minimum: { type: "number" }, exclusiveMinimum: { type: "number" }, maxLength: { $ref: "#/definitions/nonNegativeInteger" }, minLength: { $ref: "#/definitions/nonNegativeIntegerDefault0" }, pattern: { type: "string", format: "regex" }, additionalItems: { $ref: "#" }, items: { anyOf: [{ $ref: "#" }, { $ref: "#/definitions/schemaArray" }], default: {} }, maxItems: { $ref: "#/definitions/nonNegativeInteger" }, minItems: { $ref: "#/definitions/nonNegativeIntegerDefault0" }, uniqueItems: { type: "boolean", default: !1 }, contains: { $ref: "#" }, maxProperties: { $ref: "#/definitions/nonNegativeInteger" }, minProperties: { $ref: "#/definitions/nonNegativeIntegerDefault0" }, required: { $ref: "#/definitions/stringArray" }, additionalProperties: { $ref: "#" }, definitions: { type: "object", additionalProperties: { $ref: "#" }, default: {} }, properties: { type: "object", additionalProperties: { $ref: "#" }, default: {} }, patternProperties: { type: "object", additionalProperties: { $ref: "#" }, default: {} }, dependencies: { type: "object", additionalProperties: { anyOf: [{ $ref: "#" }, { $ref: "#/definitions/stringArray" }] } }, propertyNames: { $ref: "#" }, const: {}, enum: { type: "array", minItems: 1, uniqueItems: !0 }, type: { anyOf: [{ $ref: "#/definitions/simpleTypes" }, { type: "array", items: { $ref: "#/definitions/simpleTypes" }, minItems: 1, uniqueItems: !0 }] }, format: { type: "string" }, allOf: { $ref: "#/definitions/schemaArray" }, anyOf: { $ref: "#/definitions/schemaArray" }, oneOf: { $ref: "#/definitions/schemaArray" }, not: { $ref: "#" } }, default: {} };
    }, function(A, u) {
    }, function(A, u) {
      A.exports = { modal: "bookmark__modal", "vis-list-empty": "bookmark__vis-list-empty", "bookmark-list-util": "bookmark__bookmark-list-util" };
    }, function(A, u) {
      A.exports = { "data-pane": "data-pane__data-pane", "current-dataset": "data-pane__current-dataset", "data-pane-section": "data-pane__data-pane-section", "data-pane-title": "data-pane__data-pane-title" };
    }, function(A, u) {
      A.exports = { "field-list": "field-list__field-list", "field-list-item": "field-list__field-list-item", "field-list-no-wildcards": "field-list__field-list-no-wildcards" };
    }, function(A, u) {
      A.exports = { "type-changer": "type-changer__type-changer", type: "type-changer__type", "type-changer-pop-up": "type-changer__type-changer-pop-up" };
    }, function(A, u) {
      A.exports = { "data-selector": "data-selector__data-selector", modal: "data-selector__modal", "modal-close": "data-selector__modal-close", "tab-list": "data-selector__tab-list", "tab-panel": "data-selector__tab-panel", tab: "data-selector__tab", "react-tabs": "data-selector__react-tabs", "dataset-list": "data-selector__dataset-list", "dataset-list-element": "data-selector__dataset-list-element", "element-selected": "data-selector__element-selected", "upload-panel": "data-selector__upload-panel", "paste-panel": "data-selector__paste-panel", "url-panel": "data-selector__url-panel", "dropzone-target": "data-selector__dropzone-target" };
    }, function(A, u) {
      A.exports = { "encoding-pane": "encoding-pane__encoding-pane", "shelf-group": "encoding-pane__shelf-group" };
    }, function(A, u) {
      A.exports = { placeholder: "encoding-shelf__placeholder", "placeholder-over": "encoding-shelf__placeholder-over", "placeholder-active": "encoding-shelf__placeholder-active", "placeholder-disabled": "encoding-shelf__placeholder-disabled", "encoding-shelf": "encoding-shelf__encoding-shelf", "wildcard-shelf": "encoding-shelf__wildcard-shelf", "field-wrapper": "encoding-shelf__field-wrapper", "shelf-label": "encoding-shelf__shelf-label", "overlay-screen": "encoding-shelf__overlay-screen" };
    }, function(A, u) {
      A.exports = { "field-customizer": "field-customizer__field-customizer" };
    }, function(A, u) {
      A.exports = { "popup-menu": "function-picker__popup-menu", "function-chooser": "function-picker__function-chooser", "func-label": "function-picker__func-label", "wildcard-button": "function-picker__wildcard-button" };
    }, function(A, u) {
      A.exports = { "mark-picker": "mark-picker__mark-picker", "mark-picker-any": "mark-picker__mark-picker-any" };
    }, function(A, u) {
      A.exports = { "property-editor": "property-editor__property-editor" };
    }, function(A, u) {
      A.exports = { field: "field__field", "field-pill": "field__field-pill", "wildcard-field-pill": "field__wildcard-field-pill", func: "field__func", "caret-type": "field__caret-type", type: "field__type", text: "field__text", "fn-text": "field__fn-text", "filter-button-unadded": "field__filter-button-unadded" };
    }, function(A, u) {
      A.exports = { placeholder: "filter-pane__placeholder", "placeholder-over": "filter-pane__placeholder-over", "placeholder-active": "filter-pane__placeholder-active", "placeholder-disabled": "filter-pane__placeholder-disabled", "filter-shelf": "filter-pane__filter-shelf", "filter-pane": "filter-pane__filter-pane" };
    }, function(A, u) {
      A.exports = { "select-all": "one-of-filter-shelf__select-all", "clear-all": "one-of-filter-shelf__clear-all", "keep-only": "one-of-filter-shelf__keep-only", "option-row": "one-of-filter-shelf__option-row", search: "one-of-filter-shelf__search", "below-header": "one-of-filter-shelf__below-header" };
    }, function(A, u) {
      A.exports = { "range-filter-pane": "range-filter-shelf__range-filter-pane", bound: "range-filter-shelf__bound", "date-time-picker-wrapper": "range-filter-shelf__date-time-picker-wrapper", rcSliderTooltipZoomDownIn: "range-filter-shelf__rcSliderTooltipZoomDownIn", rcSliderTooltipZoomDownOut: "range-filter-shelf__rcSliderTooltipZoomDownOut" };
    }, function(A, u) {
      A.exports = { footer: "footer__footer" };
    }, function(A, u) {
      A.exports = { controls: "controls__controls" };
    }, function(A, u) {
      A.exports = { "voyager-logo": "header__voyager-logo", "idl-logo": "header__idl-logo", header: "header__header" };
    }, function(A, u) {
      A.exports = { "load-data-pane": "load-data-pane__load-data-pane" };
    }, function(A, u) {
      A.exports = { "log-pane": "log-pane__log-pane", "error-pane": "log-pane__error-pane", "warning-pane": "log-pane__warning-pane", close: "log-pane__close" };
    }, function(A, u) {
      A.exports = { "plot-list": "plot-list__plot-list", "plot-list-loading": "plot-list__plot-list-loading", "load-more": "plot-list__load-more" };
    }, function(A, u) {
      A.exports = { "plot-group": "bookmarkbutton__plot-group", "plot-list-item-group": "bookmarkbutton__plot-list-item-group", plot: "bookmarkbutton__plot", "plot-scroll": "bookmarkbutton__plot-scroll", "plot-info": "bookmarkbutton__plot-info", "plot-field-info": "bookmarkbutton__plot-field-info", "command-toolbox": "bookmarkbutton__command-toolbox", command: "bookmarkbutton__command", "sort-x-command": "bookmarkbutton__sort-x-command", "specify-command": "bookmarkbutton__specify-command", "bookmark-command-selected": "bookmarkbutton__bookmark-command-selected", copied: "bookmarkbutton__copied", note: "bookmarkbutton__note", "bookmark-alert": "bookmarkbutton__bookmark-alert", "fa-span": "bookmarkbutton__fa-span" };
    }, function(A, u) {
      A.exports = { "plot-group": "plot__plot-group", "plot-list-item-group": "plot__plot-list-item-group", plot: "plot__plot", "plot-scroll": "plot__plot-scroll", "plot-info": "plot__plot-info", "plot-field-info": "plot__plot-field-info", "command-toolbox": "plot__command-toolbox", command: "plot__command", "sort-x-command": "plot__sort-x-command", "specify-command": "plot__specify-command", copied: "plot__copied", note: "plot__note" };
    }, function(A, u) {
      A.exports = { right: "related-views-button__right" };
    }, function(A, u) {
      A.exports = { "related-views-subpane": "related-views__related-views-subpane", command: "related-views__command" };
    }, function(A, u) {
      A.exports = { "view-pane": "view-pane__view-pane", "view-pane-gallery": "view-pane__view-pane-gallery", "view-pane-related-views-collapse": "view-pane__view-pane-related-views-collapse", "view-pane-related-views": "view-pane__view-pane-related-views", "view-pane-specific": "view-pane__view-pane-specific", "view-pane-specific-stretch": "view-pane__view-pane-specific-stretch", "gallery-command": "view-pane__gallery-command" };
    }, function(A, u, a) {
      function s() {
        return !1;
      }
      function h() {
        return !0;
      }
      function E() {
        this.timeStamp = Date.now(), this.target = void 0, this.currentTarget = void 0;
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), E.prototype = { isEventObject: 1, constructor: E, isDefaultPrevented: s, isPropagationStopped: s, isImmediatePropagationStopped: s, preventDefault: function() {
        this.isDefaultPrevented = h;
      }, stopPropagation: function() {
        this.isPropagationStopped = h;
      }, stopImmediatePropagation: function() {
        this.isImmediatePropagationStopped = h, this.stopPropagation();
      }, halt: function(f) {
        f ? this.stopImmediatePropagation() : this.stopPropagation(), this.preventDefault();
      } }, u.default = E, A.exports = u.default;
    }, function(A, u, a) {
      function s(P) {
        return P && P.__esModule ? P : { default: P };
      }
      function h(P) {
        return P == null;
      }
      function E() {
        return m;
      }
      function f() {
        return v;
      }
      function S(P) {
        var I = P.type, L = typeof P.stopPropagation == "function" || typeof P.cancelBubble == "boolean";
        d.default.call(this), this.nativeEvent = P;
        var R = f;
        "defaultPrevented" in P ? R = P.defaultPrevented ? E : f : "getPreventDefault" in P ? R = P.getPreventDefault() ? E : f : "returnValue" in P && (R = P.returnValue === v ? E : f), this.isDefaultPrevented = R;
        var q = [], B = void 0, j = void 0, k = O.concat();
        for (T.forEach(function(U) {
          I.match(U.reg) && (k = k.concat(U.props), U.fix && q.push(U.fix));
        }), B = k.length; B; ) j = k[--B], this[j] = P[j];
        for (!this.target && L && (this.target = P.srcElement || document), this.target && this.target.nodeType === 3 && (this.target = this.target.parentNode), B = q.length; B; ) (0, q[--B])(this, P);
        this.timeStamp = P.timeStamp || Date.now();
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var _ = a(313), d = s(_), p = a(209), b = s(p), m = !0, v = !1, O = ["altKey", "bubbles", "cancelable", "ctrlKey", "currentTarget", "eventPhase", "metaKey", "shiftKey", "target", "timeStamp", "view", "type"], T = [{ reg: /^key/, props: ["char", "charCode", "key", "keyCode", "which"], fix: function(P, I) {
        h(P.which) && (P.which = h(I.charCode) ? I.keyCode : I.charCode), P.metaKey === void 0 && (P.metaKey = P.ctrlKey);
      } }, { reg: /^touch/, props: ["touches", "changedTouches", "targetTouches"] }, { reg: /^hashchange$/, props: ["newURL", "oldURL"] }, { reg: /^gesturechange$/i, props: ["rotation", "scale"] }, { reg: /^(mousewheel|DOMMouseScroll)$/, props: [], fix: function(P, I) {
        var L = void 0, R = void 0, q = void 0, B = I.wheelDelta, j = I.axis, k = I.wheelDeltaY, U = I.wheelDeltaX, W = I.detail;
        B && (q = B / 120), W && (q = 0 - (W % 3 == 0 ? W / 3 : W)), j !== void 0 && (j === P.HORIZONTAL_AXIS ? (R = 0, L = 0 - q) : j === P.VERTICAL_AXIS && (L = 0, R = q)), k !== void 0 && (R = k / 120), U !== void 0 && (L = -1 * U / 120), L || R || (R = q), L !== void 0 && (P.deltaX = L), R !== void 0 && (P.deltaY = R), q !== void 0 && (P.delta = q);
      } }, { reg: /^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i, props: ["buttons", "clientX", "clientY", "button", "offsetX", "relatedTarget", "which", "fromElement", "toElement", "offsetY", "pageX", "pageY", "screenX", "screenY"], fix: function(P, I) {
        var L = void 0, R = void 0, q = void 0, B = P.target, j = I.button;
        return B && h(P.pageX) && !h(I.clientX) && (L = B.ownerDocument || document, R = L.documentElement, q = L.body, P.pageX = I.clientX + (R && R.scrollLeft || q && q.scrollLeft || 0) - (R && R.clientLeft || q && q.clientLeft || 0), P.pageY = I.clientY + (R && R.scrollTop || q && q.scrollTop || 0) - (R && R.clientTop || q && q.clientTop || 0)), P.which || j === void 0 || (P.which = 1 & j ? 1 : 2 & j ? 3 : 4 & j ? 2 : 0), !P.relatedTarget && P.fromElement && (P.relatedTarget = P.fromElement === B ? P.toElement : P.fromElement), P;
      } }], w = d.default.prototype;
      (0, b.default)(S.prototype, w, { constructor: S, preventDefault: function() {
        var P = this.nativeEvent;
        P.preventDefault ? P.preventDefault() : P.returnValue = v, w.preventDefault.call(this);
      }, stopPropagation: function() {
        var P = this.nativeEvent;
        P.stopPropagation ? P.stopPropagation() : P.cancelBubble = m, w.stopPropagation.call(this);
      } }), u.default = S, A.exports = u.default;
    }, function(A, u, a) {
      var s = ["multipleOf", "maximum", "exclusiveMaximum", "minimum", "exclusiveMinimum", "maxLength", "minLength", "pattern", "additionalItems", "maxItems", "minItems", "uniqueItems", "maxProperties", "minProperties", "required", "additionalProperties", "enum", "format", "const"];
      A.exports = function(h, E) {
        for (var f = 0; f < E.length; f++) {
          h = JSON.parse(JSON.stringify(h));
          var S, _ = E[f].split("/"), d = h;
          for (S = 1; S < _.length; S++) d = d[_[S]];
          for (S = 0; S < s.length; S++) {
            var p = s[S], b = d[p];
            b && (d[p] = { anyOf: [b, { $ref: "https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/$data.json#" }] });
          }
        }
        return h;
      };
    }, function(A, u, a) {
      var s = A.exports = function() {
        this._cache = {};
      };
      s.prototype.put = function(h, E) {
        this._cache[h] = E;
      }, s.prototype.get = function(h) {
        return this._cache[h];
      }, s.prototype.del = function(h) {
        delete this._cache[h];
      }, s.prototype.clear = function() {
        this._cache = {};
      };
    }, function(A, u, a) {
      A.exports = { $ref: a(338), allOf: a(323), anyOf: a(324), const: a(325), contains: a(326), dependencies: a(328), enum: a(329), format: a(330), items: a(331), maximum: a(179), minimum: a(179), maxItems: a(180), minItems: a(180), maxLength: a(181), minLength: a(181), maxProperties: a(182), minProperties: a(182), multipleOf: a(332), not: a(333), oneOf: a(334), pattern: a(335), properties: a(336), propertyNames: a(337), required: a(339), uniqueItems: a(340), validate: a(183) };
    }, function(A, u, a) {
      function s(E, f, S) {
        function _(m) {
          var v = m.$schema;
          return v && !p.getSchema(v) ? s.call(p, { $ref: v }, !0) : Promise.resolve();
        }
        function d(m) {
          try {
            return p._compile(m);
          } catch (v) {
            if (v instanceof h) return function(O) {
              function T() {
                delete p._loadingSchemas[P];
              }
              function w(L) {
                return p._refs[L] || p._schemas[L];
              }
              var P = O.missingSchema;
              if (w(P)) throw new Error("Schema " + P + " is loaded but " + O.missingRef + " cannot be resolved");
              var I = p._loadingSchemas[P];
              return I || (I = p._loadingSchemas[P] = p._opts.loadSchema(P), I.then(T, T)), I.then(function(L) {
                if (!w(P)) return _(L).then(function() {
                  w(P) || p.addSchema(L, P, void 0, f);
                });
              }).then(function() {
                return d(m);
              });
            }(v);
            throw v;
          }
        }
        var p = this;
        if (typeof this._opts.loadSchema != "function") throw new Error("options.loadSchema should be a function");
        typeof f == "function" && (S = f, f = void 0);
        var b = _(E).then(function() {
          var m = p._addSchema(E, void 0, f);
          return m.validate || d(m);
        });
        return S && b.then(function(m) {
          S(null, m);
        }, S), b;
      }
      var h = a(118).MissingRef;
      A.exports = s;
    }, function(A, u, a) {
      function s(j) {
        return j = j == "full" ? "full" : "fast", p.copy(s[j]);
      }
      function h(j) {
        var k = j.match(b);
        if (!k) return !1;
        var U = +k[1], W = +k[2];
        return U >= 1 && U <= 12 && W >= 1 && W <= m[U];
      }
      function E(j, k) {
        var U = j.match(v);
        if (!U) return !1;
        var W = U[1], $ = U[2], V = U[3], G = U[5];
        return W <= 23 && $ <= 59 && V <= 59 && (!k || G);
      }
      function f(j) {
        var k = j.split(R);
        return k.length == 2 && h(k[0]) && E(k[1], !0);
      }
      function S(j) {
        return j.length <= 255 && O.test(j);
      }
      function _(j) {
        return q.test(j) && T.test(j);
      }
      function d(j) {
        if (B.test(j)) return !1;
        try {
          return new RegExp(j), !0;
        } catch {
          return !1;
        }
      }
      var p = a(64), b = /^\d\d\d\d-(\d\d)-(\d\d)$/, m = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], v = /^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d:\d\d)?$/i, O = /^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i, T = /^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@\/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@\/?]|%[0-9a-f]{2})*)?$/i, w = /^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#.\/;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i, P = /^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i, I = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i, L = /^(?:\/(?:[^~\/]|~0|~1)*)*$|^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i;
      A.exports = s, s.fast = { date: /^\d\d\d\d-[0-1]\d-[0-3]\d$/, time: /^[0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?(?:z|[+-]\d\d:\d\d)?$/i, "date-time": /^\d\d\d\d-[0-1]\d-[0-3]\d[t\s][0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?(?:z|[+-]\d\d:\d\d)$/i, uri: /^(?:[a-z][a-z0-9+-.]*)(?::|\/)\/?[^\s]*$/i, "uri-reference": /^(?:(?:[a-z][a-z0-9+-.]*:)?\/\/)?[^\s]*$/i, "uri-template": w, url: P, email: /^[a-z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i, hostname: O, ipv4: /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/, ipv6: /^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i, regex: d, uuid: I, "json-pointer": L, "relative-json-pointer": /^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~\/]|~0|~1)*)*)$/ }, s.full = { date: h, time: E, "date-time": f, uri: _, "uri-reference": /^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@\/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@\/?]|%[0-9a-f]{2})*)?$/i, "uri-template": w, url: P, email: /^[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&''*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i, hostname: S, ipv4: /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/, ipv6: /^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i, regex: d, uuid: I, "json-pointer": L, "relative-json-pointer": /^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~\/]|~0|~1)*)*)$/ };
      var R = /t|\s/i, q = /\/|:/, B = /[^\\]\\Z/;
    }, function(A, u, a) {
      function s(q, B, j, k) {
        function U() {
          var ye = ce.validate, _e = ye.apply(null, arguments);
          return U.errors = ye.errors, _e;
        }
        function W(ye, _e, ge, Me) {
          var Te = !_e || _e && _e.schema == ye;
          if (_e.schema != B.schema) return s.call(Z, ye, _e, ge, Me);
          var De = ye.$async === !0, oe = w({ isTop: !0, schema: ye, isRoot: Te, baseId: Me, root: _e, schemaPath: "", errSchemaPath: "#", errorPath: '""', MissingRefError: O.MissingRef, RULES: de, validate: w, util: v, resolve: m, resolveRef: $, usePattern: H, useDefault: Y, useCustomRule: Q, opts: J, formats: pe, self: Z });
          oe = b(ne, d) + b(re, S) + b(te, _) + b(le, p) + oe, J.processCode && (oe = J.processCode(oe));
          var se;
          try {
            se = new Function("self", "RULES", "formats", "root", "refVal", "defaults", "customRules", "co", "equal", "ucs2length", "ValidationError", oe)(Z, de, pe, B, ne, te, le, P, L, I, R), ne[0] = se;
          } catch (fe) {
            throw console.error("Error compiling schema, function code:", oe), fe;
          }
          return se.schema = ye, se.errors = null, se.refs = ie, se.refVal = ne, se.root = Te ? se : _e, De && (se.$async = !0), J.sourceCode === !0 && (se.source = { code: oe, patterns: re, defaults: te }), se;
        }
        function $(ye, _e, ge) {
          _e = m.url(ye, _e);
          var Me, Te, De = ie[_e];
          if (De !== void 0) return Me = ne[De], Te = "refVal[" + De + "]", K(Me, Te);
          if (!ge && B.refs) {
            var oe = B.refs[_e];
            if (oe !== void 0) return Me = B.refVal[oe], Te = V(_e, Me), K(Me, Te);
          }
          Te = V(_e);
          var se = m.call(Z, W, B, _e);
          if (se === void 0) {
            var fe = j && j[_e];
            fe && (se = m.inlineRef(fe, J.inlineRefs) ? fe : s.call(Z, fe, B, j, ye));
          }
          if (se !== void 0) return X(_e, se), K(se, Te);
          G(_e);
        }
        function V(ye, _e) {
          var ge = ne.length;
          return ne[ge] = _e, ie[ye] = ge, "refVal" + ge;
        }
        function G(ye) {
          delete ie[ye];
        }
        function X(ye, _e) {
          var ge = ie[ye];
          ne[ge] = _e;
        }
        function K(ye, _e) {
          return typeof ye == "object" || typeof ye == "boolean" ? { code: _e, schema: ye, inline: !0 } : { code: _e, $async: ye && ye.$async };
        }
        function H(ye) {
          var _e = ee[ye];
          return _e === void 0 && (_e = ee[ye] = re.length, re[_e] = ye), "pattern" + _e;
        }
        function Y(ye) {
          switch (typeof ye) {
            case "boolean":
            case "number":
              return "" + ye;
            case "string":
              return v.toQuotedString(ye);
            case "object":
              if (ye === null) return "null";
              var _e = T(ye), ge = ue[_e];
              return ge === void 0 && (ge = ue[_e] = te.length, te[ge] = ye), "default" + ge;
          }
        }
        function Q(ye, _e, ge, Me) {
          var Te = ye.definition.validateSchema;
          if (Te && Z._opts.validateSchema !== !1 && !Te(_e)) {
            var De = "keyword schema is invalid: " + Z.errorsText(Te.errors);
            if (Z._opts.validateSchema != "log") throw new Error(De);
            console.error(De);
          }
          var oe, se = ye.definition.compile, fe = ye.definition.inline, be = ye.definition.macro;
          if (se) oe = se.call(Z, _e, ge, Me);
          else if (be) oe = be.call(Z, _e, ge, Me), J.validateSchema !== !1 && Z.validateSchema(oe, !0);
          else if (fe) oe = fe.call(Z, Me, ye.keyword, _e, ge);
          else if (!(oe = ye.definition.validate)) return;
          if (oe === void 0) throw new Error('custom keyword "' + ye.keyword + '"failed to compile');
          var Se = le.length;
          return le[Se] = oe, { code: "customRule" + Se, validate: oe };
        }
        var Z = this, J = this._opts, ne = [void 0], ie = {}, re = [], ee = {}, te = [], ue = {}, le = [];
        B = B || { schema: q, refVal: ne, refs: ie };
        var ae = h.call(this, q, B, k), ce = this._compilations[ae.index];
        if (ae.compiling) return ce.callValidate = U;
        var pe = this._formats, de = this.RULES;
        try {
          var he = W(q, B, j, k);
          ce.validate = he;
          var Ee = ce.callValidate;
          return Ee && (Ee.schema = he.schema, Ee.errors = null, Ee.refs = he.refs, Ee.refVal = he.refVal, Ee.root = he.root, Ee.$async = he.$async, J.sourceCode && (Ee.source = he.source)), he;
        } finally {
          E.call(this, q, B, k);
        }
      }
      function h(q, B, j) {
        var k = f.call(this, q, B, j);
        return k >= 0 ? { index: k, compiling: !0 } : (k = this._compilations.length, this._compilations[k] = { schema: q, root: B, baseId: j }, { index: k, compiling: !1 });
      }
      function E(q, B, j) {
        var k = f.call(this, q, B, j);
        k >= 0 && this._compilations.splice(k, 1);
      }
      function f(q, B, j) {
        for (var k = 0; k < this._compilations.length; k++) {
          var U = this._compilations[k];
          if (U.schema == q && U.root == B && U.baseId == j) return k;
        }
        return -1;
      }
      function S(q, B) {
        return "var pattern" + q + " = new RegExp(" + v.toQuotedString(B[q]) + ");";
      }
      function _(q) {
        return "var default" + q + " = defaults[" + q + "];";
      }
      function d(q, B) {
        return B[q] === void 0 ? "" : "var refVal" + q + " = refVal[" + q + "];";
      }
      function p(q) {
        return "var customRule" + q + " = customRules[" + q + "];";
      }
      function b(q, B) {
        if (!q.length) return "";
        for (var j = "", k = 0; k < q.length; k++) j += B(k, q);
        return j;
      }
      var m = a(119), v = a(64), O = a(118), T = a(82), w = a(183), P = a(185), I = v.ucs2length, L = a(140), R = O.Validation;
      A.exports = s;
    }, function(A, u, a) {
      var s = a(317), h = a(64).toHash;
      A.exports = function() {
        var E = [{ type: "number", rules: [{ maximum: ["exclusiveMaximum"] }, { minimum: ["exclusiveMinimum"] }, "multipleOf", "format"] }, { type: "string", rules: ["maxLength", "minLength", "pattern", "format"] }, { type: "array", rules: ["maxItems", "minItems", "uniqueItems", "contains", "items"] }, { type: "object", rules: ["maxProperties", "minProperties", "required", "dependencies", "propertyNames", { properties: ["additionalProperties", "patternProperties"] }] }, { rules: ["$ref", "const", "enum", "not", "anyOf", "oneOf", "allOf"] }], f = ["type"], S = ["additionalItems", "$schema", "id", "title", "description", "default", "definitions"], _ = ["number", "integer", "string", "array", "object", "boolean", "null"];
        return E.all = h(f), E.types = h(_), E.forEach(function(d) {
          d.rules = d.rules.map(function(p) {
            var b;
            if (typeof p == "object") {
              var m = Object.keys(p)[0];
              b = p[m], p = m, b.forEach(function(v) {
                f.push(v), E.all[v] = !0;
              });
            }
            return f.push(p), E.all[p] = { keyword: p, code: s[p], implements: b };
          }), d.type && (E.types[d.type] = d);
        }), E.keywords = h(f.concat(S)), E.custom = {}, E;
      };
    }, function(A, u, a) {
      A.exports = function(s) {
        for (var h, E = 0, f = s.length, S = 0; S < f; ) E++, (h = s.charCodeAt(S++)) >= 55296 && h <= 56319 && S < f && (64512 & (h = s.charCodeAt(S))) == 56320 && S++;
        return E;
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var f = " ", S = s.schema[h], _ = s.schemaPath + s.util.getProperty(h), d = s.errSchemaPath + "/" + h, p = !s.opts.allErrors, b = s.util.copy(s), m = "";
        b.level++;
        var v = "valid" + b.level, O = b.baseId, T = !0, w = S;
        if (w) for (var P, I = -1, L = w.length - 1; I < L; ) P = w[I += 1], s.util.schemaHasRules(P, s.RULES.all) && (T = !1, b.schema = P, b.schemaPath = _ + "[" + I + "]", b.errSchemaPath = d + "/" + I, f += "  " + s.validate(b) + " ", b.baseId = O, p && (f += " if (" + v + ") { ", m += "}"));
        return p && (f += T ? " if (true) { " : " " + m.slice(0, -1) + " "), f = s.util.cleanUpCode(f);
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var f = " ", S = s.level, _ = s.dataLevel, d = s.schema[h], p = s.schemaPath + s.util.getProperty(h), b = s.errSchemaPath + "/" + h, m = !s.opts.allErrors, v = "data" + (_ || ""), O = "valid" + S, T = "errs__" + S, w = s.util.copy(s), P = "";
        w.level++;
        var I = "valid" + w.level;
        if (d.every(function(U) {
          return s.util.schemaHasRules(U, s.RULES.all);
        })) {
          var L = w.baseId;
          f += " var " + T + " = errors; var " + O + " = false;  ";
          var R = s.compositeRule;
          s.compositeRule = w.compositeRule = !0;
          var q = d;
          if (q) for (var B, j = -1, k = q.length - 1; j < k; ) B = q[j += 1], w.schema = B, w.schemaPath = p + "[" + j + "]", w.errSchemaPath = b + "/" + j, f += "  " + s.validate(w) + " ", w.baseId = L, f += " " + O + " = " + O + " || " + I + "; if (!" + O + ") { ", P += "}";
          s.compositeRule = w.compositeRule = R, f += " " + P + " if (!" + O + ") {   var err =   ", s.createErrors !== !1 ? (f += " { keyword: 'anyOf' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(b) + " , params: {} ", s.opts.messages !== !1 && (f += " , message: 'should match some schema in anyOf' "), s.opts.verbose && (f += " , schema: validate.schema" + p + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + v + " "), f += " } ") : f += " {} ", f += ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", !s.compositeRule && m && (s.async ? f += " throw new ValidationError(vErrors); " : f += " validate.errors = vErrors; return false; "), f += " } else {  errors = " + T + "; if (vErrors !== null) { if (" + T + ") vErrors.length = " + T + "; else vErrors = null; } ", s.opts.allErrors && (f += " } "), f = s.util.cleanUpCode(f);
        } else m && (f += " if (true) { ");
        return f;
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var f = " ", S = s.level, _ = s.dataLevel, d = s.schema[h], p = s.schemaPath + s.util.getProperty(h), b = s.errSchemaPath + "/" + h, m = !s.opts.allErrors, v = "data" + (_ || ""), O = "valid" + S, T = s.opts.$data && d && d.$data;
        T && (f += " var schema" + S + " = " + s.util.getData(d.$data, _, s.dataPathArr) + "; "), T || (f += " var schema" + S + " = validate.schema" + p + ";"), f += "var " + O + " = equal(" + v + ", schema" + S + "); if (!" + O + ") {   ";
        var w = w || [];
        w.push(f), f = "", s.createErrors !== !1 ? (f += " { keyword: 'const' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(b) + " , params: {} ", s.opts.messages !== !1 && (f += " , message: 'should be equal to constant' "), s.opts.verbose && (f += " , schema: validate.schema" + p + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + v + " "), f += " } ") : f += " {} ";
        var P = f;
        return f = w.pop(), !s.compositeRule && m ? s.async ? f += " throw new ValidationError([" + P + "]); " : f += " validate.errors = [" + P + "]; return false; " : f += " var err = " + P + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", f += " }", m && (f += " else { "), f;
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var f = " ", S = s.level, _ = s.dataLevel, d = s.schema[h], p = s.schemaPath + s.util.getProperty(h), b = s.errSchemaPath + "/" + h, m = !s.opts.allErrors, v = "data" + (_ || ""), O = "valid" + S, T = "errs__" + S, w = s.util.copy(s);
        w.level++;
        var P = "valid" + w.level, I = "i" + S, L = w.dataLevel = s.dataLevel + 1, R = "data" + L, q = s.baseId, B = s.util.schemaHasRules(d, s.RULES.all);
        if (f += "var " + T + " = errors;var " + O + ";", B) {
          var j = s.compositeRule;
          s.compositeRule = w.compositeRule = !0, w.schema = d, w.schemaPath = p, w.errSchemaPath = b, f += " var " + P + " = false; for (var " + I + " = 0; " + I + " < " + v + ".length; " + I + "++) { ", w.errorPath = s.util.getPathExpr(s.errorPath, I, s.opts.jsonPointers, !0);
          var k = v + "[" + I + "]";
          w.dataPathArr[L] = I;
          var U = s.validate(w);
          w.baseId = q, s.util.varOccurences(U, R) < 2 ? f += " " + s.util.varReplace(U, R, k) + " " : f += " var " + R + " = " + k + "; " + U + " ", f += " if (" + P + ") break; }  ", s.compositeRule = w.compositeRule = j, f += "  if (!" + P + ") {";
        } else f += " if (" + v + ".length == 0) {";
        var W = W || [];
        W.push(f), f = "", s.createErrors !== !1 ? (f += " { keyword: 'contains' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(b) + " , params: {} ", s.opts.messages !== !1 && (f += " , message: 'should contain a valid item' "), s.opts.verbose && (f += " , schema: validate.schema" + p + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + v + " "), f += " } ") : f += " {} ";
        var $ = f;
        return f = W.pop(), !s.compositeRule && m ? s.async ? f += " throw new ValidationError([" + $ + "]); " : f += " validate.errors = [" + $ + "]; return false; " : f += " var err = " + $ + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", f += " } else { ", B && (f += "  errors = " + T + "; if (vErrors !== null) { if (" + T + ") vErrors.length = " + T + "; else vErrors = null; } "), s.opts.allErrors && (f += " } "), f = s.util.cleanUpCode(f);
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var f, S, _ = " ", d = s.level, p = s.dataLevel, b = s.schema[h], m = s.schemaPath + s.util.getProperty(h), v = s.errSchemaPath + "/" + h, O = !s.opts.allErrors, T = "data" + (p || ""), w = "valid" + d, P = "errs__" + d, I = s.opts.$data && b && b.$data;
        I ? (_ += " var schema" + d + " = " + s.util.getData(b.$data, p, s.dataPathArr) + "; ", S = "schema" + d) : S = b;
        var L, R, q, B, j, k = this, U = "definition" + d, W = k.definition, $ = "";
        if (I && W.$data) {
          j = "keywordValidate" + d;
          var V = W.validateSchema;
          _ += " var " + U + " = RULES.custom['" + h + "'].definition; var " + j + " = " + U + ".validate;";
        } else {
          if (!(B = s.useCustomRule(k, b, s.schema, s))) return;
          S = "validate.schema" + m, j = B.code, L = W.compile, R = W.inline, q = W.macro;
        }
        var G = j + ".errors", X = "i" + d, K = "ruleErr" + d, H = W.async;
        if (H && !s.async) throw new Error("async keyword in sync schema");
        if (R || q || (_ += G + " = null;"), _ += "var " + P + " = errors;var " + w + ";", I && W.$data && ($ += "}", _ += " if (" + S + " === undefined) { " + w + " = true; } else { ", V && ($ += "}", _ += " " + w + " = " + U + ".validateSchema(" + S + "); if (" + w + ") { ")), R) W.statements ? _ += " " + B.validate + " " : _ += " " + w + " = " + B.validate + "; ";
        else if (q) {
          var Y = s.util.copy(s), $ = "";
          Y.level++;
          var Q = "valid" + Y.level;
          Y.schema = B.validate, Y.schemaPath = "";
          var Z = s.compositeRule;
          s.compositeRule = Y.compositeRule = !0;
          var J = s.validate(Y).replace(/validate\.schema/g, j);
          s.compositeRule = Y.compositeRule = Z, _ += " " + J;
        } else {
          var ne = ne || [];
          ne.push(_), _ = "", _ += "  " + j + ".call( ", s.opts.passContext ? _ += "this" : _ += "self", L || W.schema === !1 ? _ += " , " + T + " " : _ += " , " + S + " , " + T + " , validate.schema" + s.schemaPath + " ", _ += " , (dataPath || '')", s.errorPath != '""' && (_ += " + " + s.errorPath);
          var ie = p ? "data" + (p - 1 || "") : "parentData", re = p ? s.dataPathArr[p] : "parentDataProperty";
          _ += " , " + ie + " , " + re + " , rootData )  ";
          var ee = _;
          _ = ne.pop(), W.errors === !1 ? (_ += " " + w + " = ", H && (_ += "" + s.yieldAwait), _ += ee + "; ") : H ? (G = "customErrors" + d, _ += " var " + G + " = null; try { " + w + " = " + s.yieldAwait + ee + "; } catch (e) { " + w + " = false; if (e instanceof ValidationError) " + G + " = e.errors; else throw e; } ") : _ += " " + G + " = null; " + w + " = " + ee + "; ";
        }
        if (W.modifying && (_ += " if (" + ie + ") " + T + " = " + ie + "[" + re + "];"), _ += "" + $, W.valid) O && (_ += " if (true) { ");
        else {
          _ += " if ( ", W.valid === void 0 ? (_ += " !", _ += q ? "" + Q : "" + w) : _ += " " + !W.valid + " ", _ += ") { ", f = k.keyword;
          var ne = ne || [];
          ne.push(_), _ = "";
          var ne = ne || [];
          ne.push(_), _ = "", s.createErrors !== !1 ? (_ += " { keyword: '" + (f || "custom") + "' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(v) + " , params: { keyword: '" + k.keyword + "' } ", s.opts.messages !== !1 && (_ += ` , message: 'should pass "` + k.keyword + `" keyword validation' `), s.opts.verbose && (_ += " , schema: validate.schema" + m + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + T + " "), _ += " } ") : _ += " {} ";
          var te = _;
          _ = ne.pop(), !s.compositeRule && O ? s.async ? _ += " throw new ValidationError([" + te + "]); " : _ += " validate.errors = [" + te + "]; return false; " : _ += " var err = " + te + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";
          var ue = _;
          _ = ne.pop(), R ? W.errors ? W.errors != "full" && (_ += "  for (var " + X + "=" + P + "; " + X + "<errors; " + X + "++) { var " + K + " = vErrors[" + X + "]; if (" + K + ".dataPath === undefined) " + K + ".dataPath = (dataPath || '') + " + s.errorPath + "; if (" + K + ".schemaPath === undefined) { " + K + '.schemaPath = "' + v + '"; } ', s.opts.verbose && (_ += " " + K + ".schema = " + S + "; " + K + ".data = " + T + "; "), _ += " } ") : W.errors === !1 ? _ += " " + ue + " " : (_ += " if (" + P + " == errors) { " + ue + " } else {  for (var " + X + "=" + P + "; " + X + "<errors; " + X + "++) { var " + K + " = vErrors[" + X + "]; if (" + K + ".dataPath === undefined) " + K + ".dataPath = (dataPath || '') + " + s.errorPath + "; if (" + K + ".schemaPath === undefined) { " + K + '.schemaPath = "' + v + '"; } ', s.opts.verbose && (_ += " " + K + ".schema = " + S + "; " + K + ".data = " + T + "; "), _ += " } } ") : q ? (_ += "   var err =   ", s.createErrors !== !1 ? (_ += " { keyword: '" + (f || "custom") + "' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(v) + " , params: { keyword: '" + k.keyword + "' } ", s.opts.messages !== !1 && (_ += ` , message: 'should pass "` + k.keyword + `" keyword validation' `), s.opts.verbose && (_ += " , schema: validate.schema" + m + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + T + " "), _ += " } ") : _ += " {} ", _ += ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", !s.compositeRule && O && (s.async ? _ += " throw new ValidationError(vErrors); " : _ += " validate.errors = vErrors; return false; ")) : W.errors === !1 ? _ += " " + ue + " " : (_ += " if (Array.isArray(" + G + ")) { if (vErrors === null) vErrors = " + G + "; else vErrors = vErrors.concat(" + G + "); errors = vErrors.length;  for (var " + X + "=" + P + "; " + X + "<errors; " + X + "++) { var " + K + " = vErrors[" + X + "]; if (" + K + ".dataPath === undefined) " + K + ".dataPath = (dataPath || '') + " + s.errorPath + ";  " + K + '.schemaPath = "' + v + '";  ', s.opts.verbose && (_ += " " + K + ".schema = " + S + "; " + K + ".data = " + T + "; "), _ += " } } else { " + ue + " } "), _ += " } ", O && (_ += " else { ");
        }
        return _;
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var f = " ", S = s.level, _ = s.dataLevel, d = s.schema[h], p = s.schemaPath + s.util.getProperty(h), b = s.errSchemaPath + "/" + h, m = !s.opts.allErrors, v = "data" + (_ || ""), O = "errs__" + S, T = s.util.copy(s), w = "";
        T.level++;
        var P = "valid" + T.level, I = {}, L = {}, R = s.opts.ownProperties;
        for (k in d) {
          var q = d[k], B = Array.isArray(q) ? L : I;
          B[k] = q;
        }
        f += "var " + O + " = errors;";
        var j = s.errorPath;
        f += "var missing" + S + ";";
        for (var k in L) if (B = L[k], B.length) {
          if (f += " if ( " + v + s.util.getProperty(k) + " !== undefined ", R && (f += " && Object.prototype.hasOwnProperty.call(" + v + ", '" + s.util.escapeQuotes(k) + "') "), m) {
            f += " && ( ";
            var U = B;
            if (U) for (var W, $ = -1, V = U.length - 1; $ < V; ) {
              W = U[$ += 1], $ && (f += " || ");
              var G = s.util.getProperty(W), X = v + G;
              f += " ( ( " + X + " === undefined ", R && (f += " || ! Object.prototype.hasOwnProperty.call(" + v + ", '" + s.util.escapeQuotes(W) + "') "), f += ") && (missing" + S + " = " + s.util.toQuotedString(s.opts.jsonPointers ? W : G) + ") ) ";
            }
            f += ")) {  ";
            var K = "missing" + S, H = "' + " + K + " + '";
            s.opts._errorDataPathProperty && (s.errorPath = s.opts.jsonPointers ? s.util.getPathExpr(j, K, !0) : j + " + " + K);
            var Y = Y || [];
            Y.push(f), f = "", s.createErrors !== !1 ? (f += " { keyword: 'dependencies' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(b) + " , params: { property: '" + s.util.escapeQuotes(k) + "', missingProperty: '" + H + "', depsCount: " + B.length + ", deps: '" + s.util.escapeQuotes(B.length == 1 ? B[0] : B.join(", ")) + "' } ", s.opts.messages !== !1 && (f += " , message: 'should have ", B.length == 1 ? f += "property " + s.util.escapeQuotes(B[0]) : f += "properties " + s.util.escapeQuotes(B.join(", ")), f += " when property " + s.util.escapeQuotes(k) + " is present' "), s.opts.verbose && (f += " , schema: validate.schema" + p + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + v + " "), f += " } ") : f += " {} ";
            var Q = f;
            f = Y.pop(), !s.compositeRule && m ? s.async ? f += " throw new ValidationError([" + Q + "]); " : f += " validate.errors = [" + Q + "]; return false; " : f += " var err = " + Q + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";
          } else {
            f += " ) { ";
            var Z = B;
            if (Z) for (var W, J = -1, ne = Z.length - 1; J < ne; ) {
              W = Z[J += 1];
              var G = s.util.getProperty(W), H = s.util.escapeQuotes(W), X = v + G;
              s.opts._errorDataPathProperty && (s.errorPath = s.util.getPath(j, W, s.opts.jsonPointers)), f += " if ( " + X + " === undefined ", R && (f += " || ! Object.prototype.hasOwnProperty.call(" + v + ", '" + s.util.escapeQuotes(W) + "') "), f += ") {  var err =   ", s.createErrors !== !1 ? (f += " { keyword: 'dependencies' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(b) + " , params: { property: '" + s.util.escapeQuotes(k) + "', missingProperty: '" + H + "', depsCount: " + B.length + ", deps: '" + s.util.escapeQuotes(B.length == 1 ? B[0] : B.join(", ")) + "' } ", s.opts.messages !== !1 && (f += " , message: 'should have ", B.length == 1 ? f += "property " + s.util.escapeQuotes(B[0]) : f += "properties " + s.util.escapeQuotes(B.join(", ")), f += " when property " + s.util.escapeQuotes(k) + " is present' "), s.opts.verbose && (f += " , schema: validate.schema" + p + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + v + " "), f += " } ") : f += " {} ", f += ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } ";
            }
          }
          f += " }   ", m && (w += "}", f += " else { ");
        }
        s.errorPath = j;
        var ie = T.baseId;
        for (var k in I) {
          var q = I[k];
          s.util.schemaHasRules(q, s.RULES.all) && (f += " " + P + " = true; if ( " + v + s.util.getProperty(k) + " !== undefined ", R && (f += " && Object.prototype.hasOwnProperty.call(" + v + ", '" + s.util.escapeQuotes(k) + "') "), f += ") { ", T.schema = q, T.schemaPath = p + s.util.getProperty(k), T.errSchemaPath = b + "/" + s.util.escapeFragment(k), f += "  " + s.validate(T) + " ", T.baseId = ie, f += " }  ", m && (f += " if (" + P + ") { ", w += "}"));
        }
        return m && (f += "   " + w + " if (" + O + " == errors) {"), f = s.util.cleanUpCode(f);
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var f = " ", S = s.level, _ = s.dataLevel, d = s.schema[h], p = s.schemaPath + s.util.getProperty(h), b = s.errSchemaPath + "/" + h, m = !s.opts.allErrors, v = "data" + (_ || ""), O = "valid" + S, T = s.opts.$data && d && d.$data;
        T && (f += " var schema" + S + " = " + s.util.getData(d.$data, _, s.dataPathArr) + "; ");
        var w = "i" + S, P = "schema" + S;
        T || (f += " var " + P + " = validate.schema" + p + ";"), f += "var " + O + ";", T && (f += " if (schema" + S + " === undefined) " + O + " = true; else if (!Array.isArray(schema" + S + ")) " + O + " = false; else {"), f += O + " = false;for (var " + w + "=0; " + w + "<" + P + ".length; " + w + "++) if (equal(" + v + ", " + P + "[" + w + "])) { " + O + " = true; break; }", T && (f += "  }  "), f += " if (!" + O + ") {   ";
        var I = I || [];
        I.push(f), f = "", s.createErrors !== !1 ? (f += " { keyword: 'enum' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(b) + " , params: { allowedValues: schema" + S + " } ", s.opts.messages !== !1 && (f += " , message: 'should be equal to one of the allowed values' "), s.opts.verbose && (f += " , schema: validate.schema" + p + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + v + " "), f += " } ") : f += " {} ";
        var L = f;
        return f = I.pop(), !s.compositeRule && m ? s.async ? f += " throw new ValidationError([" + L + "]); " : f += " validate.errors = [" + L + "]; return false; " : f += " var err = " + L + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", f += " }", m && (f += " else { "), f;
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var f = " ", S = s.level, _ = s.dataLevel, d = s.schema[h], p = s.schemaPath + s.util.getProperty(h), b = s.errSchemaPath + "/" + h, m = !s.opts.allErrors, v = "data" + (_ || "");
        if (s.opts.format === !1) return m && (f += " if (true) { "), f;
        var O, T = s.opts.$data && d && d.$data;
        T ? (f += " var schema" + S + " = " + s.util.getData(d.$data, _, s.dataPathArr) + "; ", O = "schema" + S) : O = d;
        var w = s.opts.unknownFormats, P = Array.isArray(w);
        if (T) {
          var I = "format" + S, L = "isObject" + S, R = "formatType" + S;
          f += " var " + I + " = formats[" + O + "]; var " + L + " = typeof " + I + " == 'object' && !(" + I + " instanceof RegExp) && " + I + ".validate; var " + R + " = " + L + " && " + I + ".type || 'string'; if (" + L + ") { ", s.async && (f += " var async" + S + " = " + I + ".async; "), f += " " + I + " = " + I + ".validate; } if (  ", T && (f += " (" + O + " !== undefined && typeof " + O + " != 'string') || "), f += " (", w != "ignore" && (f += " (" + O + " && !" + I + " ", P && (f += " && self._opts.unknownFormats.indexOf(" + O + ") == -1 "), f += ") || "), f += " (" + I + " && " + R + " == '" + E + "' && !(typeof " + I + " == 'function' ? ", s.async ? f += " (async" + S + " ? " + s.yieldAwait + " " + I + "(" + v + ") : " + I + "(" + v + ")) " : f += " " + I + "(" + v + ") ", f += " : " + I + ".test(" + v + "))))) {";
        } else {
          var I = s.formats[d];
          if (!I) {
            if (w == "ignore") return console.warn('unknown format "' + d + '" ignored in schema at path "' + s.errSchemaPath + '"'), m && (f += " if (true) { "), f;
            if (P && w.indexOf(d) >= 0) return m && (f += " if (true) { "), f;
            throw new Error('unknown format "' + d + '" is used in schema at path "' + s.errSchemaPath + '"');
          }
          var L = typeof I == "object" && !(I instanceof RegExp) && I.validate, R = L && I.type || "string";
          if (L) {
            var q = I.async === !0;
            I = I.validate;
          }
          if (R != E) return m && (f += " if (true) { "), f;
          if (q) {
            if (!s.async) throw new Error("async format in sync schema");
            var B = "formats" + s.util.getProperty(d) + ".validate";
            f += " if (!(" + s.yieldAwait + " " + B + "(" + v + "))) { ";
          } else {
            f += " if (! ";
            var B = "formats" + s.util.getProperty(d);
            L && (B += ".validate"), f += typeof I == "function" ? " " + B + "(" + v + ") " : " " + B + ".test(" + v + ") ", f += ") { ";
          }
        }
        var j = j || [];
        j.push(f), f = "", s.createErrors !== !1 ? (f += " { keyword: 'format' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(b) + " , params: { format:  ", f += T ? "" + O : "" + s.util.toQuotedString(d), f += "  } ", s.opts.messages !== !1 && (f += ` , message: 'should match format "`, f += T ? "' + " + O + " + '" : "" + s.util.escapeQuotes(d), f += `"' `), s.opts.verbose && (f += " , schema:  ", f += T ? "validate.schema" + p : "" + s.util.toQuotedString(d), f += "         , parentSchema: validate.schema" + s.schemaPath + " , data: " + v + " "), f += " } ") : f += " {} ";
        var k = f;
        return f = j.pop(), !s.compositeRule && m ? s.async ? f += " throw new ValidationError([" + k + "]); " : f += " validate.errors = [" + k + "]; return false; " : f += " var err = " + k + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", f += " } ", m && (f += " else { "), f;
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var f = " ", S = s.level, _ = s.dataLevel, d = s.schema[h], p = s.schemaPath + s.util.getProperty(h), b = s.errSchemaPath + "/" + h, m = !s.opts.allErrors, v = "data" + (_ || ""), O = "valid" + S, T = "errs__" + S, w = s.util.copy(s), P = "";
        w.level++;
        var I = "valid" + w.level, L = "i" + S, R = w.dataLevel = s.dataLevel + 1, q = "data" + R, B = s.baseId;
        if (f += "var " + T + " = errors;var " + O + ";", Array.isArray(d)) {
          var j = s.schema.additionalItems;
          if (j === !1) {
            f += " " + O + " = " + v + ".length <= " + d.length + "; ";
            var k = b;
            b = s.errSchemaPath + "/additionalItems", f += "  if (!" + O + ") {   ";
            var U = U || [];
            U.push(f), f = "", s.createErrors !== !1 ? (f += " { keyword: 'additionalItems' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(b) + " , params: { limit: " + d.length + " } ", s.opts.messages !== !1 && (f += " , message: 'should NOT have more than " + d.length + " items' "), s.opts.verbose && (f += " , schema: false , parentSchema: validate.schema" + s.schemaPath + " , data: " + v + " "), f += " } ") : f += " {} ";
            var W = f;
            f = U.pop(), !s.compositeRule && m ? s.async ? f += " throw new ValidationError([" + W + "]); " : f += " validate.errors = [" + W + "]; return false; " : f += " var err = " + W + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", f += " } ", b = k, m && (P += "}", f += " else { ");
          }
          var $ = d;
          if ($) {
            for (var V, G = -1, X = $.length - 1; G < X; ) if (V = $[G += 1], s.util.schemaHasRules(V, s.RULES.all)) {
              f += " " + I + " = true; if (" + v + ".length > " + G + ") { ";
              var K = v + "[" + G + "]";
              w.schema = V, w.schemaPath = p + "[" + G + "]", w.errSchemaPath = b + "/" + G, w.errorPath = s.util.getPathExpr(s.errorPath, G, s.opts.jsonPointers, !0), w.dataPathArr[R] = G;
              var H = s.validate(w);
              w.baseId = B, s.util.varOccurences(H, q) < 2 ? f += " " + s.util.varReplace(H, q, K) + " " : f += " var " + q + " = " + K + "; " + H + " ", f += " }  ", m && (f += " if (" + I + ") { ", P += "}");
            }
          }
          if (typeof j == "object" && s.util.schemaHasRules(j, s.RULES.all)) {
            w.schema = j, w.schemaPath = s.schemaPath + ".additionalItems", w.errSchemaPath = s.errSchemaPath + "/additionalItems", f += " " + I + " = true; if (" + v + ".length > " + d.length + ") {  for (var " + L + " = " + d.length + "; " + L + " < " + v + ".length; " + L + "++) { ", w.errorPath = s.util.getPathExpr(s.errorPath, L, s.opts.jsonPointers, !0);
            var K = v + "[" + L + "]";
            w.dataPathArr[R] = L;
            var H = s.validate(w);
            w.baseId = B, s.util.varOccurences(H, q) < 2 ? f += " " + s.util.varReplace(H, q, K) + " " : f += " var " + q + " = " + K + "; " + H + " ", m && (f += " if (!" + I + ") break; "), f += " } }  ", m && (f += " if (" + I + ") { ", P += "}");
          }
        } else if (s.util.schemaHasRules(d, s.RULES.all)) {
          w.schema = d, w.schemaPath = p, w.errSchemaPath = b, f += "  for (var " + L + " = 0; " + L + " < " + v + ".length; " + L + "++) { ", w.errorPath = s.util.getPathExpr(s.errorPath, L, s.opts.jsonPointers, !0);
          var K = v + "[" + L + "]";
          w.dataPathArr[R] = L;
          var H = s.validate(w);
          w.baseId = B, s.util.varOccurences(H, q) < 2 ? f += " " + s.util.varReplace(H, q, K) + " " : f += " var " + q + " = " + K + "; " + H + " ", m && (f += " if (!" + I + ") break; "), f += " }";
        }
        return m && (f += " " + P + " if (" + T + " == errors) {"), f = s.util.cleanUpCode(f);
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var f, S = " ", _ = s.level, d = s.dataLevel, p = s.schema[h], b = s.schemaPath + s.util.getProperty(h), m = s.errSchemaPath + "/" + h, v = !s.opts.allErrors, O = "data" + (d || ""), T = s.opts.$data && p && p.$data;
        T ? (S += " var schema" + _ + " = " + s.util.getData(p.$data, d, s.dataPathArr) + "; ", f = "schema" + _) : f = p, S += "var division" + _ + ";if (", T && (S += " " + f + " !== undefined && ( typeof " + f + " != 'number' || "), S += " (division" + _ + " = " + O + " / " + f + ", ", s.opts.multipleOfPrecision ? S += " Math.abs(Math.round(division" + _ + ") - division" + _ + ") > 1e-" + s.opts.multipleOfPrecision + " " : S += " division" + _ + " !== parseInt(division" + _ + ") ", S += " ) ", T && (S += "  )  "), S += " ) {   ";
        var w = w || [];
        w.push(S), S = "", s.createErrors !== !1 ? (S += " { keyword: 'multipleOf' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(m) + " , params: { multipleOf: " + f + " } ", s.opts.messages !== !1 && (S += " , message: 'should be multiple of ", S += T ? "' + " + f : f + "'"), s.opts.verbose && (S += " , schema:  ", S += T ? "validate.schema" + b : "" + p, S += "         , parentSchema: validate.schema" + s.schemaPath + " , data: " + O + " "), S += " } ") : S += " {} ";
        var P = S;
        return S = w.pop(), !s.compositeRule && v ? s.async ? S += " throw new ValidationError([" + P + "]); " : S += " validate.errors = [" + P + "]; return false; " : S += " var err = " + P + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", S += "} ", v && (S += " else { "), S;
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var f = " ", S = s.level, _ = s.dataLevel, d = s.schema[h], p = s.schemaPath + s.util.getProperty(h), b = s.errSchemaPath + "/" + h, m = !s.opts.allErrors, v = "data" + (_ || ""), O = "errs__" + S, T = s.util.copy(s);
        T.level++;
        var w = "valid" + T.level;
        if (s.util.schemaHasRules(d, s.RULES.all)) {
          T.schema = d, T.schemaPath = p, T.errSchemaPath = b, f += " var " + O + " = errors;  ";
          var P = s.compositeRule;
          s.compositeRule = T.compositeRule = !0, T.createErrors = !1;
          var I;
          T.opts.allErrors && (I = T.opts.allErrors, T.opts.allErrors = !1), f += " " + s.validate(T) + " ", T.createErrors = !0, I && (T.opts.allErrors = I), s.compositeRule = T.compositeRule = P, f += " if (" + w + ") {   ";
          var L = L || [];
          L.push(f), f = "", s.createErrors !== !1 ? (f += " { keyword: 'not' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(b) + " , params: {} ", s.opts.messages !== !1 && (f += " , message: 'should NOT be valid' "), s.opts.verbose && (f += " , schema: validate.schema" + p + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + v + " "), f += " } ") : f += " {} ";
          var R = f;
          f = L.pop(), !s.compositeRule && m ? s.async ? f += " throw new ValidationError([" + R + "]); " : f += " validate.errors = [" + R + "]; return false; " : f += " var err = " + R + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", f += " } else {  errors = " + O + "; if (vErrors !== null) { if (" + O + ") vErrors.length = " + O + "; else vErrors = null; } ", s.opts.allErrors && (f += " } ");
        } else f += "  var err =   ", s.createErrors !== !1 ? (f += " { keyword: 'not' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(b) + " , params: {} ", s.opts.messages !== !1 && (f += " , message: 'should NOT be valid' "), s.opts.verbose && (f += " , schema: validate.schema" + p + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + v + " "), f += " } ") : f += " {} ", f += ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", m && (f += " if (false) { ");
        return f;
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var f = " ", S = s.level, _ = s.dataLevel, d = s.schema[h], p = s.schemaPath + s.util.getProperty(h), b = s.errSchemaPath + "/" + h, m = !s.opts.allErrors, v = "data" + (_ || ""), O = "valid" + S, T = "errs__" + S, w = s.util.copy(s), P = "";
        w.level++;
        var I = "valid" + w.level;
        f += "var " + T + " = errors;var prevValid" + S + " = false;var " + O + " = false;";
        var L = w.baseId, R = s.compositeRule;
        s.compositeRule = w.compositeRule = !0;
        var q = d;
        if (q) for (var B, j = -1, k = q.length - 1; j < k; ) B = q[j += 1], s.util.schemaHasRules(B, s.RULES.all) ? (w.schema = B, w.schemaPath = p + "[" + j + "]", w.errSchemaPath = b + "/" + j, f += "  " + s.validate(w) + " ", w.baseId = L) : f += " var " + I + " = true; ", j && (f += " if (" + I + " && prevValid" + S + ") " + O + " = false; else { ", P += "}"), f += " if (" + I + ") " + O + " = prevValid" + S + " = true;";
        return s.compositeRule = w.compositeRule = R, f += P + "if (!" + O + ") {   var err =   ", s.createErrors !== !1 ? (f += " { keyword: 'oneOf' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(b) + " , params: {} ", s.opts.messages !== !1 && (f += " , message: 'should match exactly one schema in oneOf' "), s.opts.verbose && (f += " , schema: validate.schema" + p + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + v + " "), f += " } ") : f += " {} ", f += ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", !s.compositeRule && m && (s.async ? f += " throw new ValidationError(vErrors); " : f += " validate.errors = vErrors; return false; "), f += "} else {  errors = " + T + "; if (vErrors !== null) { if (" + T + ") vErrors.length = " + T + "; else vErrors = null; }", s.opts.allErrors && (f += " } "), f;
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var f, S = " ", _ = s.level, d = s.dataLevel, p = s.schema[h], b = s.schemaPath + s.util.getProperty(h), m = s.errSchemaPath + "/" + h, v = !s.opts.allErrors, O = "data" + (d || ""), T = s.opts.$data && p && p.$data;
        T ? (S += " var schema" + _ + " = " + s.util.getData(p.$data, d, s.dataPathArr) + "; ", f = "schema" + _) : f = p;
        var w = T ? "(new RegExp(" + f + "))" : s.usePattern(p);
        S += "if ( ", T && (S += " (" + f + " !== undefined && typeof " + f + " != 'string') || "), S += " !" + w + ".test(" + O + ") ) {   ";
        var P = P || [];
        P.push(S), S = "", s.createErrors !== !1 ? (S += " { keyword: 'pattern' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(m) + " , params: { pattern:  ", S += T ? "" + f : "" + s.util.toQuotedString(p), S += "  } ", s.opts.messages !== !1 && (S += ` , message: 'should match pattern "`, S += T ? "' + " + f + " + '" : "" + s.util.escapeQuotes(p), S += `"' `), s.opts.verbose && (S += " , schema:  ", S += T ? "validate.schema" + b : "" + s.util.toQuotedString(p), S += "         , parentSchema: validate.schema" + s.schemaPath + " , data: " + O + " "), S += " } ") : S += " {} ";
        var I = S;
        return S = P.pop(), !s.compositeRule && v ? s.async ? S += " throw new ValidationError([" + I + "]); " : S += " validate.errors = [" + I + "]; return false; " : S += " var err = " + I + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", S += "} ", v && (S += " else { "), S;
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var f = " ", S = s.level, _ = s.dataLevel, d = s.schema[h], p = s.schemaPath + s.util.getProperty(h), b = s.errSchemaPath + "/" + h, m = !s.opts.allErrors, v = "data" + (_ || ""), O = "valid" + S, T = "errs__" + S, w = s.util.copy(s), P = "";
        w.level++;
        var I = "valid" + w.level, L = "key" + S, R = "idx" + S, q = w.dataLevel = s.dataLevel + 1, B = "data" + q, j = "dataProperties" + S, k = Object.keys(d || {}), U = s.schema.patternProperties || {}, W = Object.keys(U), $ = s.schema.additionalProperties, V = k.length || W.length, G = $ === !1, X = typeof $ == "object" && Object.keys($).length, K = s.opts.removeAdditional, H = G || X || K, Y = s.opts.ownProperties, Q = s.baseId, Z = s.schema.required;
        if (Z && (!s.opts.v5 || !Z.$data) && Z.length < s.opts.loopRequired) var J = s.util.toHash(Z);
        if (s.opts.patternGroups) var ne = s.schema.patternGroups || {}, ie = Object.keys(ne);
        if (f += "var " + T + " = errors;var " + I + " = true;", Y && (f += " var " + j + " = undefined;"), H) {
          if (f += Y ? " " + j + " = " + j + " || Object.keys(" + v + "); for (var " + R + "=0; " + R + "<" + j + ".length; " + R + "++) { var " + L + " = " + j + "[" + R + "]; " : " for (var " + L + " in " + v + ") { ", V) {
            if (f += " var isAdditional" + S + " = !(false ", k.length) if (k.length > 5) f += " || validate.schema" + p + "[" + L + "] ";
            else {
              var re = k;
              if (re) for (var ee, te = -1, ue = re.length - 1; te < ue; ) ee = re[te += 1], f += " || " + L + " == " + s.util.toQuotedString(ee) + " ";
            }
            if (W.length) {
              var le = W;
              if (le) for (var ae, ce = -1, pe = le.length - 1; ce < pe; ) ae = le[ce += 1], f += " || " + s.usePattern(ae) + ".test(" + L + ") ";
            }
            if (s.opts.patternGroups && ie.length) {
              var de = ie;
              if (de) for (var he, ce = -1, Ee = de.length - 1; ce < Ee; ) he = de[ce += 1], f += " || " + s.usePattern(he) + ".test(" + L + ") ";
            }
            f += " ); if (isAdditional" + S + ") { ";
          }
          if (K == "all") f += " delete " + v + "[" + L + "]; ";
          else {
            var ye = s.errorPath, _e = "' + " + L + " + '";
            if (s.opts._errorDataPathProperty && (s.errorPath = s.util.getPathExpr(s.errorPath, L, s.opts.jsonPointers)), G) if (K) f += " delete " + v + "[" + L + "]; ";
            else {
              f += " " + I + " = false; ";
              var ge = b;
              b = s.errSchemaPath + "/additionalProperties";
              var Me = Me || [];
              Me.push(f), f = "", s.createErrors !== !1 ? (f += " { keyword: 'additionalProperties' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(b) + " , params: { additionalProperty: '" + _e + "' } ", s.opts.messages !== !1 && (f += " , message: 'should NOT have additional properties' "), s.opts.verbose && (f += " , schema: false , parentSchema: validate.schema" + s.schemaPath + " , data: " + v + " "), f += " } ") : f += " {} ";
              var Te = f;
              f = Me.pop(), !s.compositeRule && m ? s.async ? f += " throw new ValidationError([" + Te + "]); " : f += " validate.errors = [" + Te + "]; return false; " : f += " var err = " + Te + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", b = ge, m && (f += " break; ");
            }
            else if (X) if (K == "failing") {
              f += " var " + T + " = errors;  ";
              var De = s.compositeRule;
              s.compositeRule = w.compositeRule = !0, w.schema = $, w.schemaPath = s.schemaPath + ".additionalProperties", w.errSchemaPath = s.errSchemaPath + "/additionalProperties", w.errorPath = s.opts._errorDataPathProperty ? s.errorPath : s.util.getPathExpr(s.errorPath, L, s.opts.jsonPointers);
              var oe = v + "[" + L + "]";
              w.dataPathArr[q] = L;
              var se = s.validate(w);
              w.baseId = Q, s.util.varOccurences(se, B) < 2 ? f += " " + s.util.varReplace(se, B, oe) + " " : f += " var " + B + " = " + oe + "; " + se + " ", f += " if (!" + I + ") { errors = " + T + "; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete " + v + "[" + L + "]; }  ", s.compositeRule = w.compositeRule = De;
            } else {
              w.schema = $, w.schemaPath = s.schemaPath + ".additionalProperties", w.errSchemaPath = s.errSchemaPath + "/additionalProperties", w.errorPath = s.opts._errorDataPathProperty ? s.errorPath : s.util.getPathExpr(s.errorPath, L, s.opts.jsonPointers);
              var oe = v + "[" + L + "]";
              w.dataPathArr[q] = L;
              var se = s.validate(w);
              w.baseId = Q, s.util.varOccurences(se, B) < 2 ? f += " " + s.util.varReplace(se, B, oe) + " " : f += " var " + B + " = " + oe + "; " + se + " ", m && (f += " if (!" + I + ") break; ");
            }
            s.errorPath = ye;
          }
          V && (f += " } "), f += " }  ", m && (f += " if (" + I + ") { ", P += "}");
        }
        var fe = s.opts.useDefaults && !s.compositeRule;
        if (k.length) {
          var be = k;
          if (be) for (var ee, Se = -1, Ae = be.length - 1; Se < Ae; ) {
            ee = be[Se += 1];
            var ze = d[ee];
            if (s.util.schemaHasRules(ze, s.RULES.all)) {
              var Oe = s.util.getProperty(ee), oe = v + Oe, we = fe && ze.default !== void 0;
              w.schema = ze, w.schemaPath = p + Oe, w.errSchemaPath = b + "/" + s.util.escapeFragment(ee), w.errorPath = s.util.getPath(s.errorPath, ee, s.opts.jsonPointers), w.dataPathArr[q] = s.util.toQuotedString(ee);
              var se = s.validate(w);
              if (w.baseId = Q, s.util.varOccurences(se, B) < 2) {
                se = s.util.varReplace(se, B, oe);
                var Ve = oe;
              } else {
                var Ve = B;
                f += " var " + B + " = " + oe + "; ";
              }
              if (we) f += " " + se + " ";
              else {
                if (J && J[ee]) {
                  f += " if ( " + Ve + " === undefined ", Y && (f += " || ! Object.prototype.hasOwnProperty.call(" + v + ", '" + s.util.escapeQuotes(ee) + "') "), f += ") { " + I + " = false; ";
                  var ye = s.errorPath, ge = b, Ye = s.util.escapeQuotes(ee);
                  s.opts._errorDataPathProperty && (s.errorPath = s.util.getPath(ye, ee, s.opts.jsonPointers)), b = s.errSchemaPath + "/required";
                  var Me = Me || [];
                  Me.push(f), f = "", s.createErrors !== !1 ? (f += " { keyword: 'required' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(b) + " , params: { missingProperty: '" + Ye + "' } ", s.opts.messages !== !1 && (f += " , message: '", s.opts._errorDataPathProperty ? f += "is a required property" : f += "should have required property \\'" + Ye + "\\'", f += "' "), s.opts.verbose && (f += " , schema: validate.schema" + p + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + v + " "), f += " } ") : f += " {} ";
                  var Te = f;
                  f = Me.pop(), !s.compositeRule && m ? s.async ? f += " throw new ValidationError([" + Te + "]); " : f += " validate.errors = [" + Te + "]; return false; " : f += " var err = " + Te + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", b = ge, s.errorPath = ye, f += " } else { ";
                } else m ? (f += " if ( " + Ve + " === undefined ", Y && (f += " || ! Object.prototype.hasOwnProperty.call(" + v + ", '" + s.util.escapeQuotes(ee) + "') "), f += ") { " + I + " = true; } else { ") : (f += " if (" + Ve + " !== undefined ", Y && (f += " &&   Object.prototype.hasOwnProperty.call(" + v + ", '" + s.util.escapeQuotes(ee) + "') "), f += " ) { ");
                f += " " + se + " } ";
              }
            }
            m && (f += " if (" + I + ") { ", P += "}");
          }
        }
        if (W.length) {
          var xe = W;
          if (xe) for (var ae, je = -1, Dt = xe.length - 1; je < Dt; ) {
            ae = xe[je += 1];
            var ze = U[ae];
            if (s.util.schemaHasRules(ze, s.RULES.all)) {
              w.schema = ze, w.schemaPath = s.schemaPath + ".patternProperties" + s.util.getProperty(ae), w.errSchemaPath = s.errSchemaPath + "/patternProperties/" + s.util.escapeFragment(ae), f += Y ? " " + j + " = " + j + " || Object.keys(" + v + "); for (var " + R + "=0; " + R + "<" + j + ".length; " + R + "++) { var " + L + " = " + j + "[" + R + "]; " : " for (var " + L + " in " + v + ") { ", f += " if (" + s.usePattern(ae) + ".test(" + L + ")) { ", w.errorPath = s.util.getPathExpr(s.errorPath, L, s.opts.jsonPointers);
              var oe = v + "[" + L + "]";
              w.dataPathArr[q] = L;
              var se = s.validate(w);
              w.baseId = Q, s.util.varOccurences(se, B) < 2 ? f += " " + s.util.varReplace(se, B, oe) + " " : f += " var " + B + " = " + oe + "; " + se + " ", m && (f += " if (!" + I + ") break; "), f += " } ", m && (f += " else " + I + " = true; "), f += " }  ", m && (f += " if (" + I + ") { ", P += "}");
            }
          }
        }
        if (s.opts.patternGroups && ie.length) {
          var dr = ie;
          if (dr) for (var he, ke = -1, Ie = dr.length - 1; ke < Ie; ) {
            he = dr[ke += 1];
            var He = ne[he], ze = He.schema;
            if (s.util.schemaHasRules(ze, s.RULES.all)) {
              w.schema = ze, w.schemaPath = s.schemaPath + ".patternGroups" + s.util.getProperty(he) + ".schema", w.errSchemaPath = s.errSchemaPath + "/patternGroups/" + s.util.escapeFragment(he) + "/schema", f += " var pgPropCount" + S + " = 0;  ", f += Y ? " " + j + " = " + j + " || Object.keys(" + v + "); for (var " + R + "=0; " + R + "<" + j + ".length; " + R + "++) { var " + L + " = " + j + "[" + R + "]; " : " for (var " + L + " in " + v + ") { ", f += " if (" + s.usePattern(he) + ".test(" + L + ")) { pgPropCount" + S + "++; ", w.errorPath = s.util.getPathExpr(s.errorPath, L, s.opts.jsonPointers);
              var oe = v + "[" + L + "]";
              w.dataPathArr[q] = L;
              var se = s.validate(w);
              w.baseId = Q, s.util.varOccurences(se, B) < 2 ? f += " " + s.util.varReplace(se, B, oe) + " " : f += " var " + B + " = " + oe + "; " + se + " ", m && (f += " if (!" + I + ") break; "), f += " } ", m && (f += " else " + I + " = true; "), f += " }  ", m && (f += " if (" + I + ") { ", P += "}");
              var nt = He.minimum, Qt = He.maximum;
              if (nt !== void 0 || Qt !== void 0) {
                f += " var " + O + " = true; ";
                var ge = b;
                if (nt !== void 0) {
                  var Xr = nt, ra = "minimum", Qr = "less";
                  f += " " + O + " = pgPropCount" + S + " >= " + nt + "; ", b = s.errSchemaPath + "/patternGroups/minimum", f += "  if (!" + O + ") {   ";
                  var Me = Me || [];
                  Me.push(f), f = "", s.createErrors !== !1 ? (f += " { keyword: 'patternGroups' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(b) + " , params: { reason: '" + ra + "', limit: " + Xr + ", pattern: '" + s.util.escapeQuotes(he) + "' } ", s.opts.messages !== !1 && (f += " , message: 'should NOT have " + Qr + " than " + Xr + ' properties matching pattern "' + s.util.escapeQuotes(he) + `"' `), s.opts.verbose && (f += " , schema: validate.schema" + p + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + v + " "), f += " } ") : f += " {} ";
                  var Te = f;
                  f = Me.pop(), !s.compositeRule && m ? s.async ? f += " throw new ValidationError([" + Te + "]); " : f += " validate.errors = [" + Te + "]; return false; " : f += " var err = " + Te + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", f += " } ", Qt !== void 0 && (f += " else ");
                }
                if (Qt !== void 0) {
                  var Xr = Qt, ra = "maximum", Qr = "more";
                  f += " " + O + " = pgPropCount" + S + " <= " + Qt + "; ", b = s.errSchemaPath + "/patternGroups/maximum", f += "  if (!" + O + ") {   ";
                  var Me = Me || [];
                  Me.push(f), f = "", s.createErrors !== !1 ? (f += " { keyword: 'patternGroups' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(b) + " , params: { reason: '" + ra + "', limit: " + Xr + ", pattern: '" + s.util.escapeQuotes(he) + "' } ", s.opts.messages !== !1 && (f += " , message: 'should NOT have " + Qr + " than " + Xr + ' properties matching pattern "' + s.util.escapeQuotes(he) + `"' `), s.opts.verbose && (f += " , schema: validate.schema" + p + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + v + " "), f += " } ") : f += " {} ";
                  var Te = f;
                  f = Me.pop(), !s.compositeRule && m ? s.async ? f += " throw new ValidationError([" + Te + "]); " : f += " validate.errors = [" + Te + "]; return false; " : f += " var err = " + Te + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", f += " } ";
                }
                b = ge, m && (f += " if (" + O + ") { ", P += "}");
              }
            }
          }
        }
        return m && (f += " " + P + " if (" + T + " == errors) {"), f = s.util.cleanUpCode(f);
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var f = " ", S = s.level, _ = s.dataLevel, d = s.schema[h], p = s.schemaPath + s.util.getProperty(h), b = s.errSchemaPath + "/" + h, m = !s.opts.allErrors, v = "data" + (_ || ""), O = "errs__" + S, T = s.util.copy(s);
        T.level++;
        var w = "valid" + T.level;
        if (s.util.schemaHasRules(d, s.RULES.all)) {
          T.schema = d, T.schemaPath = p, T.errSchemaPath = b;
          var P = "key" + S, I = "idx" + S, L = "i" + S, R = "' + " + P + " + '", q = T.dataLevel = s.dataLevel + 1, B = "data" + q, j = "dataProperties" + S, k = s.opts.ownProperties, U = s.baseId;
          f += " var " + O + " = errors; ", k && (f += " var " + j + " = undefined; "), f += k ? " " + j + " = " + j + " || Object.keys(" + v + "); for (var " + I + "=0; " + I + "<" + j + ".length; " + I + "++) { var " + P + " = " + j + "[" + I + "]; " : " for (var " + P + " in " + v + ") { ", f += " var startErrs" + S + " = errors; ";
          var W = P, $ = s.compositeRule;
          s.compositeRule = T.compositeRule = !0;
          var V = s.validate(T);
          T.baseId = U, s.util.varOccurences(V, B) < 2 ? f += " " + s.util.varReplace(V, B, W) + " " : f += " var " + B + " = " + W + "; " + V + " ", s.compositeRule = T.compositeRule = $, f += " if (!" + w + ") { for (var " + L + "=startErrs" + S + "; " + L + "<errors; " + L + "++) { vErrors[" + L + "].propertyName = " + P + "; }   var err =   ", s.createErrors !== !1 ? (f += " { keyword: 'propertyNames' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(b) + " , params: { propertyName: '" + R + "' } ", s.opts.messages !== !1 && (f += " , message: 'property name \\'" + R + "\\' is invalid' "), s.opts.verbose && (f += " , schema: validate.schema" + p + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + v + " "), f += " } ") : f += " {} ", f += ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", !s.compositeRule && m && (s.async ? f += " throw new ValidationError(vErrors); " : f += " validate.errors = vErrors; return false; "), m && (f += " break; "), f += " } }";
        }
        return m && (f += "  if (" + O + " == errors) {"), f = s.util.cleanUpCode(f);
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var f, S, _ = " ", d = s.level, p = s.dataLevel, b = s.schema[h], m = s.errSchemaPath + "/" + h, v = !s.opts.allErrors, O = "data" + (p || ""), T = "valid" + d;
        if (b == "#" || b == "#/") s.isRoot ? (f = s.async, S = "validate") : (f = s.root.schema.$async === !0, S = "root.refVal[0]");
        else {
          var w = s.resolveRef(s.baseId, b, s.isRoot);
          if (w === void 0) {
            var P = s.MissingRefError.message(s.baseId, b);
            if (s.opts.missingRefs == "fail") {
              console.error(P);
              var I = I || [];
              I.push(_), _ = "", s.createErrors !== !1 ? (_ += " { keyword: '$ref' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(m) + " , params: { ref: '" + s.util.escapeQuotes(b) + "' } ", s.opts.messages !== !1 && (_ += " , message: 'can\\'t resolve reference " + s.util.escapeQuotes(b) + "' "), s.opts.verbose && (_ += " , schema: " + s.util.toQuotedString(b) + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + O + " "), _ += " } ") : _ += " {} ";
              var L = _;
              _ = I.pop(), !s.compositeRule && v ? s.async ? _ += " throw new ValidationError([" + L + "]); " : _ += " validate.errors = [" + L + "]; return false; " : _ += " var err = " + L + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", v && (_ += " if (false) { ");
            } else {
              if (s.opts.missingRefs != "ignore") throw new s.MissingRefError(s.baseId, b, P);
              console.warn(P), v && (_ += " if (true) { ");
            }
          } else if (w.inline) {
            var R = s.util.copy(s);
            R.level++;
            var q = "valid" + R.level;
            R.schema = w.schema, R.schemaPath = "", R.errSchemaPath = b;
            var B = s.validate(R).replace(/validate\.schema/g, w.code);
            _ += " " + B + " ", v && (_ += " if (" + q + ") { ");
          } else f = w.$async === !0, S = w.code;
        }
        if (S) {
          var I = I || [];
          I.push(_), _ = "", s.opts.passContext ? _ += " " + S + ".call(this, " : _ += " " + S + "( ", _ += " " + O + ", (dataPath || '')", s.errorPath != '""' && (_ += " + " + s.errorPath), _ += " , " + (p ? "data" + (p - 1 || "") : "parentData") + " , " + (p ? s.dataPathArr[p] : "parentDataProperty") + ", rootData)  ";
          var j = _;
          if (_ = I.pop(), f) {
            if (!s.async) throw new Error("async schema referenced by sync schema");
            v && (_ += " var " + T + "; "), _ += " try { " + s.yieldAwait + " " + j + "; ", v && (_ += " " + T + " = true; "), _ += " } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ", v && (_ += " " + T + " = false; "), _ += " } ", v && (_ += " if (" + T + ") { ");
          } else _ += " if (!" + j + ") { if (vErrors === null) vErrors = " + S + ".errors; else vErrors = vErrors.concat(" + S + ".errors); errors = vErrors.length; } ", v && (_ += " else { ");
        }
        return _;
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var f = " ", S = s.level, _ = s.dataLevel, d = s.schema[h], p = s.schemaPath + s.util.getProperty(h), b = s.errSchemaPath + "/" + h, m = !s.opts.allErrors, v = "data" + (_ || ""), O = "valid" + S, T = s.opts.$data && d && d.$data;
        T && (f += " var schema" + S + " = " + s.util.getData(d.$data, _, s.dataPathArr) + "; ");
        var w = "schema" + S;
        if (!T) if (d.length < s.opts.loopRequired && s.schema.properties && Object.keys(s.schema.properties).length) {
          var B = [], P = d;
          if (P) for (var I, L = -1, R = P.length - 1; L < R; ) {
            I = P[L += 1];
            var q = s.schema.properties[I];
            q && s.util.schemaHasRules(q, s.RULES.all) || (B[B.length] = I);
          }
        } else var B = d;
        if (T || B.length) {
          var j = s.errorPath, k = T || B.length >= s.opts.loopRequired, U = s.opts.ownProperties;
          if (m) if (f += " var missing" + S + "; ", k) {
            T || (f += " var " + w + " = validate.schema" + p + "; ");
            var W = "i" + S, $ = "schema" + S + "[" + W + "]", V = "' + " + $ + " + '";
            s.opts._errorDataPathProperty && (s.errorPath = s.util.getPathExpr(j, $, s.opts.jsonPointers)), f += " var " + O + " = true; ", T && (f += " if (schema" + S + " === undefined) " + O + " = true; else if (!Array.isArray(schema" + S + ")) " + O + " = false; else {"), f += " for (var " + W + " = 0; " + W + " < " + w + ".length; " + W + "++) { " + O + " = " + v + "[" + w + "[" + W + "]] !== undefined ", U && (f += " &&   Object.prototype.hasOwnProperty.call(" + v + ", " + w + "[" + W + "]) "), f += "; if (!" + O + ") break; } ", T && (f += "  }  "), f += "  if (!" + O + ") {   ";
            var G = G || [];
            G.push(f), f = "", s.createErrors !== !1 ? (f += " { keyword: 'required' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(b) + " , params: { missingProperty: '" + V + "' } ", s.opts.messages !== !1 && (f += " , message: '", s.opts._errorDataPathProperty ? f += "is a required property" : f += "should have required property \\'" + V + "\\'", f += "' "), s.opts.verbose && (f += " , schema: validate.schema" + p + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + v + " "), f += " } ") : f += " {} ";
            var X = f;
            f = G.pop(), !s.compositeRule && m ? s.async ? f += " throw new ValidationError([" + X + "]); " : f += " validate.errors = [" + X + "]; return false; " : f += " var err = " + X + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", f += " } else { ";
          } else {
            f += " if ( ";
            var K = B;
            if (K) for (var H, W = -1, Y = K.length - 1; W < Y; ) {
              H = K[W += 1], W && (f += " || ");
              var Q = s.util.getProperty(H), Z = v + Q;
              f += " ( ( " + Z + " === undefined ", U && (f += " || ! Object.prototype.hasOwnProperty.call(" + v + ", '" + s.util.escapeQuotes(H) + "') "), f += ") && (missing" + S + " = " + s.util.toQuotedString(s.opts.jsonPointers ? H : Q) + ") ) ";
            }
            f += ") {  ";
            var $ = "missing" + S, V = "' + " + $ + " + '";
            s.opts._errorDataPathProperty && (s.errorPath = s.opts.jsonPointers ? s.util.getPathExpr(j, $, !0) : j + " + " + $);
            var G = G || [];
            G.push(f), f = "", s.createErrors !== !1 ? (f += " { keyword: 'required' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(b) + " , params: { missingProperty: '" + V + "' } ", s.opts.messages !== !1 && (f += " , message: '", s.opts._errorDataPathProperty ? f += "is a required property" : f += "should have required property \\'" + V + "\\'", f += "' "), s.opts.verbose && (f += " , schema: validate.schema" + p + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + v + " "), f += " } ") : f += " {} ";
            var X = f;
            f = G.pop(), !s.compositeRule && m ? s.async ? f += " throw new ValidationError([" + X + "]); " : f += " validate.errors = [" + X + "]; return false; " : f += " var err = " + X + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", f += " } else { ";
          }
          else if (k) {
            T || (f += " var " + w + " = validate.schema" + p + "; ");
            var W = "i" + S, $ = "schema" + S + "[" + W + "]", V = "' + " + $ + " + '";
            s.opts._errorDataPathProperty && (s.errorPath = s.util.getPathExpr(j, $, s.opts.jsonPointers)), T && (f += " if (" + w + " && !Array.isArray(" + w + ")) {  var err =   ", s.createErrors !== !1 ? (f += " { keyword: 'required' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(b) + " , params: { missingProperty: '" + V + "' } ", s.opts.messages !== !1 && (f += " , message: '", s.opts._errorDataPathProperty ? f += "is a required property" : f += "should have required property \\'" + V + "\\'", f += "' "), s.opts.verbose && (f += " , schema: validate.schema" + p + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + v + " "), f += " } ") : f += " {} ", f += ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if (" + w + " !== undefined) { "), f += " for (var " + W + " = 0; " + W + " < " + w + ".length; " + W + "++) { if (" + v + "[" + w + "[" + W + "]] === undefined ", U && (f += " || ! Object.prototype.hasOwnProperty.call(" + v + ", " + w + "[" + W + "]) "), f += ") {  var err =   ", s.createErrors !== !1 ? (f += " { keyword: 'required' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(b) + " , params: { missingProperty: '" + V + "' } ", s.opts.messages !== !1 && (f += " , message: '", s.opts._errorDataPathProperty ? f += "is a required property" : f += "should have required property \\'" + V + "\\'", f += "' "), s.opts.verbose && (f += " , schema: validate.schema" + p + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + v + " "), f += " } ") : f += " {} ", f += ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ", T && (f += "  }  ");
          } else {
            var J = B;
            if (J) for (var H, ne = -1, ie = J.length - 1; ne < ie; ) {
              H = J[ne += 1];
              var Q = s.util.getProperty(H), V = s.util.escapeQuotes(H), Z = v + Q;
              s.opts._errorDataPathProperty && (s.errorPath = s.util.getPath(j, H, s.opts.jsonPointers)), f += " if ( " + Z + " === undefined ", U && (f += " || ! Object.prototype.hasOwnProperty.call(" + v + ", '" + s.util.escapeQuotes(H) + "') "), f += ") {  var err =   ", s.createErrors !== !1 ? (f += " { keyword: 'required' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(b) + " , params: { missingProperty: '" + V + "' } ", s.opts.messages !== !1 && (f += " , message: '", s.opts._errorDataPathProperty ? f += "is a required property" : f += "should have required property \\'" + V + "\\'", f += "' "), s.opts.verbose && (f += " , schema: validate.schema" + p + " , parentSchema: validate.schema" + s.schemaPath + " , data: " + v + " "), f += " } ") : f += " {} ", f += ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } ";
            }
          }
          s.errorPath = j;
        } else m && (f += " if (true) {");
        return f;
      };
    }, function(A, u, a) {
      A.exports = function(s, h, E) {
        var f, S = " ", _ = s.level, d = s.dataLevel, p = s.schema[h], b = s.schemaPath + s.util.getProperty(h), m = s.errSchemaPath + "/" + h, v = !s.opts.allErrors, O = "data" + (d || ""), T = "valid" + _, w = s.opts.$data && p && p.$data;
        if (w ? (S += " var schema" + _ + " = " + s.util.getData(p.$data, d, s.dataPathArr) + "; ", f = "schema" + _) : f = p, (p || w) && s.opts.uniqueItems !== !1) {
          w && (S += " var " + T + "; if (" + f + " === false || " + f + " === undefined) " + T + " = true; else if (typeof " + f + " != 'boolean') " + T + " = false; else { "), S += " var " + T + " = true; if (" + O + ".length > 1) { var i = " + O + ".length, j; outer: for (;i--;) { for (j = i; j--;) { if (equal(" + O + "[i], " + O + "[j])) { " + T + " = false; break outer; } } } } ", w && (S += "  }  "), S += " if (!" + T + ") {   ";
          var P = P || [];
          P.push(S), S = "", s.createErrors !== !1 ? (S += " { keyword: 'uniqueItems' , dataPath: (dataPath || '') + " + s.errorPath + " , schemaPath: " + s.util.toQuotedString(m) + " , params: { i: i, j: j } ", s.opts.messages !== !1 && (S += " , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "), s.opts.verbose && (S += " , schema:  ", S += w ? "validate.schema" + b : "" + p, S += "         , parentSchema: validate.schema" + s.schemaPath + " , data: " + O + " "), S += " } ") : S += " {} ";
          var I = S;
          S = P.pop(), !s.compositeRule && v ? s.async ? S += " throw new ValidationError([" + I + "]); " : S += " validate.errors = [" + I + "]; return false; " : S += " var err = " + I + ";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ", S += " } ", v && (S += " else { ");
        } else v && (S += " if (true) { ");
        return S;
      };
    }, function(A, u, a) {
      function s(_, d) {
        function p(I, L, R) {
          for (var q, B = 0; B < m.length; B++) {
            var j = m[B];
            if (j.type == L) {
              q = j;
              break;
            }
          }
          q || (q = { type: L, rules: [] }, m.push(q));
          var k = { keyword: I, definition: R, custom: !0, code: S, implements: R.implements };
          q.rules.push(k), m.custom[I] = k;
        }
        function b(I) {
          if (!m.types[I]) throw new Error("Unknown type " + I);
        }
        var m = this.RULES;
        if (m.keywords[_]) throw new Error("Keyword " + _ + " is already defined");
        if (!f.test(_)) throw new Error("Keyword " + _ + " is not a valid identifier");
        if (d) {
          if (d.macro && d.valid !== void 0) throw new Error('"valid" option cannot be used with macro keywords');
          var v = d.type;
          if (Array.isArray(v)) {
            var O, T = v.length;
            for (O = 0; O < T; O++) b(v[O]);
            for (O = 0; O < T; O++) p(_, v[O], d);
          } else v && b(v), p(_, v, d);
          var w = d.$data === !0 && this._opts.$data;
          if (w && !d.validate) throw new Error('$data support: "validate" function is not defined');
          var P = d.metaSchema;
          P && (w && (P = { anyOf: [P, { $ref: "https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/$data.json#" }] }), d.validateSchema = this.compile(P, !0));
        }
        m.keywords[_] = m.all[_] = !0;
      }
      function h(_) {
        var d = this.RULES.custom[_];
        return d ? d.definition : this.RULES.keywords[_] || !1;
      }
      function E(_) {
        var d = this.RULES;
        delete d.keywords[_], delete d.all[_], delete d.custom[_];
        for (var p = 0; p < d.length; p++) for (var b = d[p].rules, m = 0; m < b.length; m++) if (b[m].keyword == _) {
          b.splice(m, 1);
          break;
        }
      }
      var f = /^[a-z_$][a-z0-9_$-]*$/i, S = a(327);
      A.exports = { add: s, get: h, remove: E };
    }, function(A, u, a) {
      A.exports = function(s) {
        var h = s._opts.defaultMeta, E = typeof h == "string" ? { $ref: h } : s.getSchema("http://json-schema.org/draft-06/schema") ? { $ref: "http://json-schema.org/draft-06/schema" } : {};
        s.addKeyword("patternGroups", { metaSchema: { type: "object", additionalProperties: { type: "object", required: ["schema"], properties: { maximum: { type: "integer", minimum: 0 }, minimum: { type: "integer", minimum: 0 }, schema: E }, additionalProperties: !1 } } }), s.RULES.all.properties.implements.push("patternGroups");
      };
    }, function(A, u, a) {
      A.exports = { default: a(378), __esModule: !0 };
    }, function(A, u, a) {
      A.exports = { default: a(379), __esModule: !0 };
    }, function(A, u, a) {
      A.exports = { default: a(380), __esModule: !0 };
    }, function(A, u, a) {
      A.exports = { default: a(382), __esModule: !0 };
    }, function(A, u, a) {
      A.exports = { default: a(383), __esModule: !0 };
    }, function(A, u, a) {
      A.exports = { default: a(384), __esModule: !0 };
    }, function(A, u, a) {
      A.exports = { default: a(385), __esModule: !0 };
    }, function(A, u, a) {
      A.exports = { default: a(386), __esModule: !0 };
    }, function(A, u, a) {
      function s(_) {
        return _ && _.__esModule ? _ : { default: _ };
      }
      u.__esModule = !0;
      var h = a(347), E = s(h), f = a(346), S = s(f);
      u.default = function _(d, p, b) {
        d === null && (d = Function.prototype);
        var m = (0, S.default)(d, p);
        if (m === void 0) {
          var v = (0, E.default)(d);
          return v === null ? void 0 : _(v, p, b);
        }
        if ("value" in m) return m.value;
        var O = m.get;
        if (O !== void 0) return O.call(b);
      };
    }, function(A, u, a) {
      function s(T) {
        var w = T.length;
        if (w % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4");
        return T[w - 2] === "=" ? 2 : T[w - 1] === "=" ? 1 : 0;
      }
      function h(T) {
        return 3 * T.length / 4 - s(T);
      }
      function E(T) {
        var w, P, I, L, R, q, B = T.length;
        R = s(T), q = new b(3 * B / 4 - R), I = R > 0 ? B - 4 : B;
        var j = 0;
        for (w = 0, P = 0; w < I; w += 4, P += 3) L = p[T.charCodeAt(w)] << 18 | p[T.charCodeAt(w + 1)] << 12 | p[T.charCodeAt(w + 2)] << 6 | p[T.charCodeAt(w + 3)], q[j++] = L >> 16 & 255, q[j++] = L >> 8 & 255, q[j++] = 255 & L;
        return R === 2 ? (L = p[T.charCodeAt(w)] << 2 | p[T.charCodeAt(w + 1)] >> 4, q[j++] = 255 & L) : R === 1 && (L = p[T.charCodeAt(w)] << 10 | p[T.charCodeAt(w + 1)] << 4 | p[T.charCodeAt(w + 2)] >> 2, q[j++] = L >> 8 & 255, q[j++] = 255 & L), q;
      }
      function f(T) {
        return d[T >> 18 & 63] + d[T >> 12 & 63] + d[T >> 6 & 63] + d[63 & T];
      }
      function S(T, w, P) {
        for (var I, L = [], R = w; R < P; R += 3) I = (T[R] << 16) + (T[R + 1] << 8) + T[R + 2], L.push(f(I));
        return L.join("");
      }
      function _(T) {
        for (var w, P = T.length, I = P % 3, L = "", R = [], q = 0, B = P - I; q < B; q += 16383) R.push(S(T, q, q + 16383 > B ? B : q + 16383));
        return I === 1 ? (w = T[P - 1], L += d[w >> 2], L += d[w << 4 & 63], L += "==") : I === 2 && (w = (T[P - 2] << 8) + T[P - 1], L += d[w >> 10], L += d[w >> 4 & 63], L += d[w << 2 & 63], L += "="), R.push(L), R.join("");
      }
      u.byteLength = h, u.toByteArray = E, u.fromByteArray = _;
      for (var d = [], p = [], b = typeof Uint8Array < "u" ? Uint8Array : Array, m = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", v = 0, O = m.length; v < O; ++v) d[v] = m[v], p[m.charCodeAt(v)] = v;
      p[45] = 62, p[95] = 63;
    }, function(A, u, a) {
      (function(s, h, E) {
        A !== void 0 && A.exports ? A.exports = E() : a(730)("bowser", E);
      })(0, 0, function() {
        function s(b) {
          function m(Z) {
            var J = b.match(Z);
            return J && J.length > 1 && J[1] || "";
          }
          var v, O = m(/(ipod|iphone|ipad)/i).toLowerCase(), T = /like android/i.test(b), w = !T && /android/i.test(b), P = /nexus\s*[0-6]\s*/i.test(b), I = !P && /nexus\s*[0-9]+/i.test(b), L = /CrOS/.test(b), R = /silk/i.test(b), q = /sailfish/i.test(b), B = /tizen/i.test(b), j = /(web|hpw)os/i.test(b), k = /windows phone/i.test(b), U = !k && /windows/i.test(b), W = !O && !R && /macintosh/i.test(b), $ = !w && !q && !B && !j && /linux/i.test(b), V = m(/edge\/(\d+(\.\d+)?)/i), G = m(/version\/(\d+(\.\d+)?)/i), X = /tablet/i.test(b), K = !X && /[^-]mobi/i.test(b), H = /xbox/i.test(b);
          /opera/i.test(b) ? v = { name: "Opera", opera: d, version: G || m(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i) } : /opr|opios/i.test(b) ? v = { name: "Opera", opera: d, version: m(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i) || G } : /SamsungBrowser/i.test(b) ? v = { name: "Samsung Internet for Android", samsungBrowser: d, version: G || m(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i) } : /coast/i.test(b) ? v = { name: "Opera Coast", coast: d, version: G || m(/(?:coast)[\s\/](\d+(\.\d+)?)/i) } : /yabrowser/i.test(b) ? v = { name: "Yandex Browser", yandexbrowser: d, version: G || m(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i) } : /ucbrowser/i.test(b) ? v = { name: "UC Browser", ucbrowser: d, version: m(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i) } : /mxios/i.test(b) ? v = { name: "Maxthon", maxthon: d, version: m(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i) } : /epiphany/i.test(b) ? v = { name: "Epiphany", epiphany: d, version: m(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i) } : /puffin/i.test(b) ? v = { name: "Puffin", puffin: d, version: m(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i) } : /sleipnir/i.test(b) ? v = { name: "Sleipnir", sleipnir: d, version: m(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i) } : /k-meleon/i.test(b) ? v = { name: "K-Meleon", kMeleon: d, version: m(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i) } : k ? (v = { name: "Windows Phone", windowsphone: d }, V ? (v.msedge = d, v.version = V) : (v.msie = d, v.version = m(/iemobile\/(\d+(\.\d+)?)/i))) : /msie|trident/i.test(b) ? v = { name: "Internet Explorer", msie: d, version: m(/(?:msie |rv:)(\d+(\.\d+)?)/i) } : L ? v = { name: "Chrome", chromeos: d, chromeBook: d, chrome: d, version: m(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i) } : /chrome.+? edge/i.test(b) ? v = { name: "Microsoft Edge", msedge: d, version: V } : /vivaldi/i.test(b) ? v = { name: "Vivaldi", vivaldi: d, version: m(/vivaldi\/(\d+(\.\d+)?)/i) || G } : q ? v = { name: "Sailfish", sailfish: d, version: m(/sailfish\s?browser\/(\d+(\.\d+)?)/i) } : /seamonkey\//i.test(b) ? v = { name: "SeaMonkey", seamonkey: d, version: m(/seamonkey\/(\d+(\.\d+)?)/i) } : /firefox|iceweasel|fxios/i.test(b) ? (v = { name: "Firefox", firefox: d, version: m(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i) }, /\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(b) && (v.firefoxos = d)) : R ? v = { name: "Amazon Silk", silk: d, version: m(/silk\/(\d+(\.\d+)?)/i) } : /phantom/i.test(b) ? v = { name: "PhantomJS", phantom: d, version: m(/phantomjs\/(\d+(\.\d+)?)/i) } : /slimerjs/i.test(b) ? v = { name: "SlimerJS", slimer: d, version: m(/slimerjs\/(\d+(\.\d+)?)/i) } : /blackberry|\bbb\d+/i.test(b) || /rim\stablet/i.test(b) ? v = { name: "BlackBerry", blackberry: d, version: G || m(/blackberry[\d]+\/(\d+(\.\d+)?)/i) } : j ? (v = { name: "WebOS", webos: d, version: G || m(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i) }, /touchpad\//i.test(b) && (v.touchpad = d)) : /bada/i.test(b) ? v = { name: "Bada", bada: d, version: m(/dolfin\/(\d+(\.\d+)?)/i) } : B ? v = { name: "Tizen", tizen: d, version: m(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i) || G } : /qupzilla/i.test(b) ? v = { name: "QupZilla", qupzilla: d, version: m(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i) || G } : /chromium/i.test(b) ? v = { name: "Chromium", chromium: d, version: m(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i) || G } : /chrome|crios|crmo/i.test(b) ? v = { name: "Chrome", chrome: d, version: m(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i) } : w ? v = { name: "Android", version: G } : /safari|applewebkit/i.test(b) ? (v = { name: "Safari", safari: d }, G && (v.version = G)) : O ? (v = { name: O == "iphone" ? "iPhone" : O == "ipad" ? "iPad" : "iPod" }, G && (v.version = G)) : v = /googlebot/i.test(b) ? { name: "Googlebot", googlebot: d, version: m(/googlebot\/(\d+(\.\d+))/i) || G } : { name: m(/^(.*)\/(.*) /), version: function(Z) {
            var J = b.match(Z);
            return J && J.length > 1 && J[2] || "";
          }(/^(.*)\/(.*) /) }, !v.msedge && /(apple)?webkit/i.test(b) ? (/(apple)?webkit\/537\.36/i.test(b) ? (v.name = v.name || "Blink", v.blink = d) : (v.name = v.name || "Webkit", v.webkit = d), !v.version && G && (v.version = G)) : !v.opera && /gecko\//i.test(b) && (v.name = v.name || "Gecko", v.gecko = d, v.version = v.version || m(/gecko\/(\d+(\.\d+)?)/i)), v.windowsphone || v.msedge || !w && !v.silk ? v.windowsphone || v.msedge || !O ? W ? v.mac = d : H ? v.xbox = d : U ? v.windows = d : $ && (v.linux = d) : (v[O] = d, v.ios = d) : v.android = d;
          var Y = "";
          v.windowsphone ? Y = m(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i) : O ? (Y = m(/os (\d+([_\s]\d+)*) like mac os x/i), Y = Y.replace(/[_\s]/g, ".")) : w ? Y = m(/android[ \/-](\d+(\.\d+)*)/i) : v.webos ? Y = m(/(?:web|hpw)os\/(\d+(\.\d+)*)/i) : v.blackberry ? Y = m(/rim\stablet\sos\s(\d+(\.\d+)*)/i) : v.bada ? Y = m(/bada\/(\d+(\.\d+)*)/i) : v.tizen && (Y = m(/tizen[\/\s](\d+(\.\d+)*)/i)), Y && (v.osversion = Y);
          var Q = Y.split(".")[0];
          return X || I || O == "ipad" || w && (Q == 3 || Q >= 4 && !K) || v.silk ? v.tablet = d : (K || O == "iphone" || O == "ipod" || w || P || v.blackberry || v.webos || v.bada) && (v.mobile = d), v.msedge || v.msie && v.version >= 10 || v.yandexbrowser && v.version >= 15 || v.vivaldi && v.version >= 1 || v.chrome && v.version >= 20 || v.samsungBrowser && v.version >= 4 || v.firefox && v.version >= 20 || v.safari && v.version >= 6 || v.opera && v.version >= 10 || v.ios && v.osversion && v.osversion.split(".")[0] >= 6 || v.blackberry && v.version >= 10.1 || v.chromium && v.version >= 20 ? v.a = d : v.msie && v.version < 10 || v.chrome && v.version < 20 || v.firefox && v.version < 20 || v.safari && v.version < 6 || v.opera && v.version < 10 || v.ios && v.osversion && v.osversion.split(".")[0] < 6 || v.chromium && v.version < 20 ? v.c = d : v.x = d, v;
        }
        function h(b) {
          return b.split(".").length;
        }
        function E(b, m) {
          var v, O = [];
          if (Array.prototype.map) return Array.prototype.map.call(b, m);
          for (v = 0; v < b.length; v++) O.push(m(b[v]));
          return O;
        }
        function f(b) {
          for (var m = Math.max(h(b[0]), h(b[1])), v = E(b, function(O) {
            var T = m - h(O);
            return O += new Array(T + 1).join(".0"), E(O.split("."), function(w) {
              return new Array(20 - w.length).join("0") + w;
            }).reverse();
          }); --m >= 0; ) {
            if (v[0][m] > v[1][m]) return 1;
            if (v[0][m] !== v[1][m]) return -1;
            if (m === 0) return 0;
          }
        }
        function S(b, m, v) {
          var O = p;
          typeof m == "string" && (v = m, m = void 0), m === void 0 && (m = !1), v && (O = s(v));
          var T = "" + O.version;
          for (var w in b) if (b.hasOwnProperty(w) && O[w]) {
            if (typeof b[w] != "string") throw new Error("Browser version in the minVersion map should be a string: " + w + ": " + String(b));
            return f([T, b[w]]) < 0;
          }
          return m;
        }
        function _(b, m, v) {
          return !S(b, m, v);
        }
        var d = !0, p = s(typeof navigator < "u" && navigator.userAgent || "");
        return p.test = function(b) {
          for (var m = 0; m < b.length; ++m) {
            var v = b[m];
            if (typeof v == "string" && v in p) return !0;
          }
          return !1;
        }, p.isUnsupportedBrowser = S, p.compareVersions = f, p.check = _, p._detect = s, p;
      });
    }, function(A, u, a) {
      (function(s) {
        function h() {
          return f.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823;
        }
        function E(oe, se) {
          if (h() < se) throw new RangeError("Invalid typed array length");
          return f.TYPED_ARRAY_SUPPORT ? (oe = new Uint8Array(se), oe.__proto__ = f.prototype) : (oe === null && (oe = new f(se)), oe.length = se), oe;
        }
        function f(oe, se, fe) {
          if (!(f.TYPED_ARRAY_SUPPORT || this instanceof f)) return new f(oe, se, fe);
          if (typeof oe == "number") {
            if (typeof se == "string") throw new Error("If encoding is specified then the first argument must be a string");
            return p(this, oe);
          }
          return S(this, oe, se, fe);
        }
        function S(oe, se, fe, be) {
          if (typeof se == "number") throw new TypeError('"value" argument must not be a number');
          return typeof ArrayBuffer < "u" && se instanceof ArrayBuffer ? v(oe, se, fe, be) : typeof se == "string" ? b(oe, se, fe) : O(oe, se);
        }
        function _(oe) {
          if (typeof oe != "number") throw new TypeError('"size" argument must be a number');
          if (oe < 0) throw new RangeError('"size" argument must not be negative');
        }
        function d(oe, se, fe, be) {
          return _(se), se <= 0 ? E(oe, se) : fe !== void 0 ? typeof be == "string" ? E(oe, se).fill(fe, be) : E(oe, se).fill(fe) : E(oe, se);
        }
        function p(oe, se) {
          if (_(se), oe = E(oe, se < 0 ? 0 : 0 | T(se)), !f.TYPED_ARRAY_SUPPORT) for (var fe = 0; fe < se; ++fe) oe[fe] = 0;
          return oe;
        }
        function b(oe, se, fe) {
          if (typeof fe == "string" && fe !== "" || (fe = "utf8"), !f.isEncoding(fe)) throw new TypeError('"encoding" must be a valid string encoding');
          var be = 0 | P(se, fe);
          oe = E(oe, be);
          var Se = oe.write(se, fe);
          return Se !== be && (oe = oe.slice(0, Se)), oe;
        }
        function m(oe, se) {
          var fe = se.length < 0 ? 0 : 0 | T(se.length);
          oe = E(oe, fe);
          for (var be = 0; be < fe; be += 1) oe[be] = 255 & se[be];
          return oe;
        }
        function v(oe, se, fe, be) {
          if (se.byteLength, fe < 0 || se.byteLength < fe) throw new RangeError("'offset' is out of bounds");
          if (se.byteLength < fe + (be || 0)) throw new RangeError("'length' is out of bounds");
          return se = fe === void 0 && be === void 0 ? new Uint8Array(se) : be === void 0 ? new Uint8Array(se, fe) : new Uint8Array(se, fe, be), f.TYPED_ARRAY_SUPPORT ? (oe = se, oe.__proto__ = f.prototype) : oe = m(oe, se), oe;
        }
        function O(oe, se) {
          if (f.isBuffer(se)) {
            var fe = 0 | T(se.length);
            return oe = E(oe, fe), oe.length === 0 || se.copy(oe, 0, 0, fe), oe;
          }
          if (se) {
            if (typeof ArrayBuffer < "u" && se.buffer instanceof ArrayBuffer || "length" in se) return typeof se.length != "number" || ye(se.length) ? E(oe, 0) : m(oe, se);
            if (se.type === "Buffer" && Me(se.data)) return m(oe, se.data);
          }
          throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.");
        }
        function T(oe) {
          if (oe >= h()) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + h().toString(16) + " bytes");
          return 0 | oe;
        }
        function w(oe) {
          return +oe != oe && (oe = 0), f.alloc(+oe);
        }
        function P(oe, se) {
          if (f.isBuffer(oe)) return oe.length;
          if (typeof ArrayBuffer < "u" && typeof ArrayBuffer.isView == "function" && (ArrayBuffer.isView(oe) || oe instanceof ArrayBuffer)) return oe.byteLength;
          typeof oe != "string" && (oe = "" + oe);
          var fe = oe.length;
          if (fe === 0) return 0;
          for (var be = !1; ; ) switch (se) {
            case "ascii":
            case "latin1":
            case "binary":
              return fe;
            case "utf8":
            case "utf-8":
            case void 0:
              return ce(oe).length;
            case "ucs2":
            case "ucs-2":
            case "utf16le":
            case "utf-16le":
              return 2 * fe;
            case "hex":
              return fe >>> 1;
            case "base64":
              return he(oe).length;
            default:
              if (be) return ce(oe).length;
              se = ("" + se).toLowerCase(), be = !0;
          }
        }
        function I(oe, se, fe) {
          var be = !1;
          if ((se === void 0 || se < 0) && (se = 0), se > this.length || ((fe === void 0 || fe > this.length) && (fe = this.length), fe <= 0) || (fe >>>= 0, se >>>= 0, fe <= se)) return "";
          for (oe || (oe = "utf8"); ; ) switch (oe) {
            case "hex":
              return Y(this, se, fe);
            case "utf8":
            case "utf-8":
              return G(this, se, fe);
            case "ascii":
              return K(this, se, fe);
            case "latin1":
            case "binary":
              return H(this, se, fe);
            case "base64":
              return V(this, se, fe);
            case "ucs2":
            case "ucs-2":
            case "utf16le":
            case "utf-16le":
              return Q(this, se, fe);
            default:
              if (be) throw new TypeError("Unknown encoding: " + oe);
              oe = (oe + "").toLowerCase(), be = !0;
          }
        }
        function L(oe, se, fe) {
          var be = oe[se];
          oe[se] = oe[fe], oe[fe] = be;
        }
        function R(oe, se, fe, be, Se) {
          if (oe.length === 0) return -1;
          if (typeof fe == "string" ? (be = fe, fe = 0) : fe > 2147483647 ? fe = 2147483647 : fe < -2147483648 && (fe = -2147483648), fe = +fe, isNaN(fe) && (fe = Se ? 0 : oe.length - 1), fe < 0 && (fe = oe.length + fe), fe >= oe.length) {
            if (Se) return -1;
            fe = oe.length - 1;
          } else if (fe < 0) {
            if (!Se) return -1;
            fe = 0;
          }
          if (typeof se == "string" && (se = f.from(se, be)), f.isBuffer(se)) return se.length === 0 ? -1 : q(oe, se, fe, be, Se);
          if (typeof se == "number") return se &= 255, f.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf == "function" ? Se ? Uint8Array.prototype.indexOf.call(oe, se, fe) : Uint8Array.prototype.lastIndexOf.call(oe, se, fe) : q(oe, [se], fe, be, Se);
          throw new TypeError("val must be string, number or Buffer");
        }
        function q(oe, se, fe, be, Se) {
          function Ae(Dt, dr) {
            return ze === 1 ? Dt[dr] : Dt.readUInt16BE(dr * ze);
          }
          var ze = 1, Oe = oe.length, we = se.length;
          if (be !== void 0 && ((be = String(be).toLowerCase()) === "ucs2" || be === "ucs-2" || be === "utf16le" || be === "utf-16le")) {
            if (oe.length < 2 || se.length < 2) return -1;
            ze = 2, Oe /= 2, we /= 2, fe /= 2;
          }
          var Ve;
          if (Se) {
            var Ye = -1;
            for (Ve = fe; Ve < Oe; Ve++) if (Ae(oe, Ve) === Ae(se, Ye === -1 ? 0 : Ve - Ye)) {
              if (Ye === -1 && (Ye = Ve), Ve - Ye + 1 === we) return Ye * ze;
            } else Ye !== -1 && (Ve -= Ve - Ye), Ye = -1;
          } else for (fe + we > Oe && (fe = Oe - we), Ve = fe; Ve >= 0; Ve--) {
            for (var xe = !0, je = 0; je < we; je++) if (Ae(oe, Ve + je) !== Ae(se, je)) {
              xe = !1;
              break;
            }
            if (xe) return Ve;
          }
          return -1;
        }
        function B(oe, se, fe, be) {
          fe = Number(fe) || 0;
          var Se = oe.length - fe;
          be ? (be = Number(be)) > Se && (be = Se) : be = Se;
          var Ae = se.length;
          if (Ae % 2 != 0) throw new TypeError("Invalid hex string");
          be > Ae / 2 && (be = Ae / 2);
          for (var ze = 0; ze < be; ++ze) {
            var Oe = parseInt(se.substr(2 * ze, 2), 16);
            if (isNaN(Oe)) return ze;
            oe[fe + ze] = Oe;
          }
          return ze;
        }
        function j(oe, se, fe, be) {
          return Ee(ce(se, oe.length - fe), oe, fe, be);
        }
        function k(oe, se, fe, be) {
          return Ee(pe(se), oe, fe, be);
        }
        function U(oe, se, fe, be) {
          return k(oe, se, fe, be);
        }
        function W(oe, se, fe, be) {
          return Ee(he(se), oe, fe, be);
        }
        function $(oe, se, fe, be) {
          return Ee(de(se, oe.length - fe), oe, fe, be);
        }
        function V(oe, se, fe) {
          return se === 0 && fe === oe.length ? _e.fromByteArray(oe) : _e.fromByteArray(oe.slice(se, fe));
        }
        function G(oe, se, fe) {
          fe = Math.min(oe.length, fe);
          for (var be = [], Se = se; Se < fe; ) {
            var Ae = oe[Se], ze = null, Oe = Ae > 239 ? 4 : Ae > 223 ? 3 : Ae > 191 ? 2 : 1;
            if (Se + Oe <= fe) {
              var we, Ve, Ye, xe;
              switch (Oe) {
                case 1:
                  Ae < 128 && (ze = Ae);
                  break;
                case 2:
                  we = oe[Se + 1], (192 & we) == 128 && (xe = (31 & Ae) << 6 | 63 & we) > 127 && (ze = xe);
                  break;
                case 3:
                  we = oe[Se + 1], Ve = oe[Se + 2], (192 & we) == 128 && (192 & Ve) == 128 && (xe = (15 & Ae) << 12 | (63 & we) << 6 | 63 & Ve) > 2047 && (xe < 55296 || xe > 57343) && (ze = xe);
                  break;
                case 4:
                  we = oe[Se + 1], Ve = oe[Se + 2], Ye = oe[Se + 3], (192 & we) == 128 && (192 & Ve) == 128 && (192 & Ye) == 128 && (xe = (15 & Ae) << 18 | (63 & we) << 12 | (63 & Ve) << 6 | 63 & Ye) > 65535 && xe < 1114112 && (ze = xe);
              }
            }
            ze === null ? (ze = 65533, Oe = 1) : ze > 65535 && (ze -= 65536, be.push(ze >>> 10 & 1023 | 55296), ze = 56320 | 1023 & ze), be.push(ze), Se += Oe;
          }
          return X(be);
        }
        function X(oe) {
          var se = oe.length;
          if (se <= Te) return String.fromCharCode.apply(String, oe);
          for (var fe = "", be = 0; be < se; ) fe += String.fromCharCode.apply(String, oe.slice(be, be += Te));
          return fe;
        }
        function K(oe, se, fe) {
          var be = "";
          fe = Math.min(oe.length, fe);
          for (var Se = se; Se < fe; ++Se) be += String.fromCharCode(127 & oe[Se]);
          return be;
        }
        function H(oe, se, fe) {
          var be = "";
          fe = Math.min(oe.length, fe);
          for (var Se = se; Se < fe; ++Se) be += String.fromCharCode(oe[Se]);
          return be;
        }
        function Y(oe, se, fe) {
          var be = oe.length;
          (!se || se < 0) && (se = 0), (!fe || fe < 0 || fe > be) && (fe = be);
          for (var Se = "", Ae = se; Ae < fe; ++Ae) Se += ae(oe[Ae]);
          return Se;
        }
        function Q(oe, se, fe) {
          for (var be = oe.slice(se, fe), Se = "", Ae = 0; Ae < be.length; Ae += 2) Se += String.fromCharCode(be[Ae] + 256 * be[Ae + 1]);
          return Se;
        }
        function Z(oe, se, fe) {
          if (oe % 1 != 0 || oe < 0) throw new RangeError("offset is not uint");
          if (oe + se > fe) throw new RangeError("Trying to access beyond buffer length");
        }
        function J(oe, se, fe, be, Se, Ae) {
          if (!f.isBuffer(oe)) throw new TypeError('"buffer" argument must be a Buffer instance');
          if (se > Se || se < Ae) throw new RangeError('"value" argument is out of bounds');
          if (fe + be > oe.length) throw new RangeError("Index out of range");
        }
        function ne(oe, se, fe, be) {
          se < 0 && (se = 65535 + se + 1);
          for (var Se = 0, Ae = Math.min(oe.length - fe, 2); Se < Ae; ++Se) oe[fe + Se] = (se & 255 << 8 * (be ? Se : 1 - Se)) >>> 8 * (be ? Se : 1 - Se);
        }
        function ie(oe, se, fe, be) {
          se < 0 && (se = 4294967295 + se + 1);
          for (var Se = 0, Ae = Math.min(oe.length - fe, 4); Se < Ae; ++Se) oe[fe + Se] = se >>> 8 * (be ? Se : 3 - Se) & 255;
        }
        function re(oe, se, fe, be, Se, Ae) {
          if (fe + be > oe.length) throw new RangeError("Index out of range");
          if (fe < 0) throw new RangeError("Index out of range");
        }
        function ee(oe, se, fe, be, Se) {
          return Se || re(oe, se, fe, 4), ge.write(oe, se, fe, be, 23, 4), fe + 4;
        }
        function te(oe, se, fe, be, Se) {
          return Se || re(oe, se, fe, 8), ge.write(oe, se, fe, be, 52, 8), fe + 8;
        }
        function ue(oe) {
          if (oe = le(oe).replace(De, ""), oe.length < 2) return "";
          for (; oe.length % 4 != 0; ) oe += "=";
          return oe;
        }
        function le(oe) {
          return oe.trim ? oe.trim() : oe.replace(/^\s+|\s+$/g, "");
        }
        function ae(oe) {
          return oe < 16 ? "0" + oe.toString(16) : oe.toString(16);
        }
        function ce(oe, se) {
          se = se || 1 / 0;
          for (var fe, be = oe.length, Se = null, Ae = [], ze = 0; ze < be; ++ze) {
            if ((fe = oe.charCodeAt(ze)) > 55295 && fe < 57344) {
              if (!Se) {
                if (fe > 56319) {
                  (se -= 3) > -1 && Ae.push(239, 191, 189);
                  continue;
                }
                if (ze + 1 === be) {
                  (se -= 3) > -1 && Ae.push(239, 191, 189);
                  continue;
                }
                Se = fe;
                continue;
              }
              if (fe < 56320) {
                (se -= 3) > -1 && Ae.push(239, 191, 189), Se = fe;
                continue;
              }
              fe = 65536 + (Se - 55296 << 10 | fe - 56320);
            } else Se && (se -= 3) > -1 && Ae.push(239, 191, 189);
            if (Se = null, fe < 128) {
              if ((se -= 1) < 0) break;
              Ae.push(fe);
            } else if (fe < 2048) {
              if ((se -= 2) < 0) break;
              Ae.push(fe >> 6 | 192, 63 & fe | 128);
            } else if (fe < 65536) {
              if ((se -= 3) < 0) break;
              Ae.push(fe >> 12 | 224, fe >> 6 & 63 | 128, 63 & fe | 128);
            } else {
              if (!(fe < 1114112)) throw new Error("Invalid code point");
              if ((se -= 4) < 0) break;
              Ae.push(fe >> 18 | 240, fe >> 12 & 63 | 128, fe >> 6 & 63 | 128, 63 & fe | 128);
            }
          }
          return Ae;
        }
        function pe(oe) {
          for (var se = [], fe = 0; fe < oe.length; ++fe) se.push(255 & oe.charCodeAt(fe));
          return se;
        }
        function de(oe, se) {
          for (var fe, be, Se, Ae = [], ze = 0; ze < oe.length && !((se -= 2) < 0); ++ze) fe = oe.charCodeAt(ze), be = fe >> 8, Se = fe % 256, Ae.push(Se), Ae.push(be);
          return Ae;
        }
        function he(oe) {
          return _e.toByteArray(ue(oe));
        }
        function Ee(oe, se, fe, be) {
          for (var Se = 0; Se < be && !(Se + fe >= se.length || Se >= oe.length); ++Se) se[Se + fe] = oe[Se];
          return Se;
        }
        function ye(oe) {
          return oe !== oe;
        }
        var _e = a(352), ge = a(444), Me = a(355);
        u.Buffer = f, u.SlowBuffer = w, u.INSPECT_MAX_BYTES = 50, f.TYPED_ARRAY_SUPPORT = s.TYPED_ARRAY_SUPPORT !== void 0 ? s.TYPED_ARRAY_SUPPORT : function() {
          try {
            var oe = new Uint8Array(1);
            return oe.__proto__ = { __proto__: Uint8Array.prototype, foo: function() {
              return 42;
            } }, oe.foo() === 42 && typeof oe.subarray == "function" && oe.subarray(1, 1).byteLength === 0;
          } catch {
            return !1;
          }
        }(), u.kMaxLength = h(), f.poolSize = 8192, f._augment = function(oe) {
          return oe.__proto__ = f.prototype, oe;
        }, f.from = function(oe, se, fe) {
          return S(null, oe, se, fe);
        }, f.TYPED_ARRAY_SUPPORT && (f.prototype.__proto__ = Uint8Array.prototype, f.__proto__ = Uint8Array, typeof Symbol < "u" && Symbol.species && f[Symbol.species] === f && Object.defineProperty(f, Symbol.species, { value: null, configurable: !0 })), f.alloc = function(oe, se, fe) {
          return d(null, oe, se, fe);
        }, f.allocUnsafe = function(oe) {
          return p(null, oe);
        }, f.allocUnsafeSlow = function(oe) {
          return p(null, oe);
        }, f.isBuffer = function(oe) {
          return !(oe == null || !oe._isBuffer);
        }, f.compare = function(oe, se) {
          if (!f.isBuffer(oe) || !f.isBuffer(se)) throw new TypeError("Arguments must be Buffers");
          if (oe === se) return 0;
          for (var fe = oe.length, be = se.length, Se = 0, Ae = Math.min(fe, be); Se < Ae; ++Se) if (oe[Se] !== se[Se]) {
            fe = oe[Se], be = se[Se];
            break;
          }
          return fe < be ? -1 : be < fe ? 1 : 0;
        }, f.isEncoding = function(oe) {
          switch (String(oe).toLowerCase()) {
            case "hex":
            case "utf8":
            case "utf-8":
            case "ascii":
            case "latin1":
            case "binary":
            case "base64":
            case "ucs2":
            case "ucs-2":
            case "utf16le":
            case "utf-16le":
              return !0;
            default:
              return !1;
          }
        }, f.concat = function(oe, se) {
          if (!Me(oe)) throw new TypeError('"list" argument must be an Array of Buffers');
          if (oe.length === 0) return f.alloc(0);
          var fe;
          if (se === void 0) for (se = 0, fe = 0; fe < oe.length; ++fe) se += oe[fe].length;
          var be = f.allocUnsafe(se), Se = 0;
          for (fe = 0; fe < oe.length; ++fe) {
            var Ae = oe[fe];
            if (!f.isBuffer(Ae)) throw new TypeError('"list" argument must be an Array of Buffers');
            Ae.copy(be, Se), Se += Ae.length;
          }
          return be;
        }, f.byteLength = P, f.prototype._isBuffer = !0, f.prototype.swap16 = function() {
          var oe = this.length;
          if (oe % 2 != 0) throw new RangeError("Buffer size must be a multiple of 16-bits");
          for (var se = 0; se < oe; se += 2) L(this, se, se + 1);
          return this;
        }, f.prototype.swap32 = function() {
          var oe = this.length;
          if (oe % 4 != 0) throw new RangeError("Buffer size must be a multiple of 32-bits");
          for (var se = 0; se < oe; se += 4) L(this, se, se + 3), L(this, se + 1, se + 2);
          return this;
        }, f.prototype.swap64 = function() {
          var oe = this.length;
          if (oe % 8 != 0) throw new RangeError("Buffer size must be a multiple of 64-bits");
          for (var se = 0; se < oe; se += 8) L(this, se, se + 7), L(this, se + 1, se + 6), L(this, se + 2, se + 5), L(this, se + 3, se + 4);
          return this;
        }, f.prototype.toString = function() {
          var oe = 0 | this.length;
          return oe === 0 ? "" : arguments.length === 0 ? G(this, 0, oe) : I.apply(this, arguments);
        }, f.prototype.equals = function(oe) {
          if (!f.isBuffer(oe)) throw new TypeError("Argument must be a Buffer");
          return this === oe || f.compare(this, oe) === 0;
        }, f.prototype.inspect = function() {
          var oe = "", se = u.INSPECT_MAX_BYTES;
          return this.length > 0 && (oe = this.toString("hex", 0, se).match(/.{2}/g).join(" "), this.length > se && (oe += " ... ")), "<Buffer " + oe + ">";
        }, f.prototype.compare = function(oe, se, fe, be, Se) {
          if (!f.isBuffer(oe)) throw new TypeError("Argument must be a Buffer");
          if (se === void 0 && (se = 0), fe === void 0 && (fe = oe ? oe.length : 0), be === void 0 && (be = 0), Se === void 0 && (Se = this.length), se < 0 || fe > oe.length || be < 0 || Se > this.length) throw new RangeError("out of range index");
          if (be >= Se && se >= fe) return 0;
          if (be >= Se) return -1;
          if (se >= fe) return 1;
          if (se >>>= 0, fe >>>= 0, be >>>= 0, Se >>>= 0, this === oe) return 0;
          for (var Ae = Se - be, ze = fe - se, Oe = Math.min(Ae, ze), we = this.slice(be, Se), Ve = oe.slice(se, fe), Ye = 0; Ye < Oe; ++Ye) if (we[Ye] !== Ve[Ye]) {
            Ae = we[Ye], ze = Ve[Ye];
            break;
          }
          return Ae < ze ? -1 : ze < Ae ? 1 : 0;
        }, f.prototype.includes = function(oe, se, fe) {
          return this.indexOf(oe, se, fe) !== -1;
        }, f.prototype.indexOf = function(oe, se, fe) {
          return R(this, oe, se, fe, !0);
        }, f.prototype.lastIndexOf = function(oe, se, fe) {
          return R(this, oe, se, fe, !1);
        }, f.prototype.write = function(oe, se, fe, be) {
          if (se === void 0) be = "utf8", fe = this.length, se = 0;
          else if (fe === void 0 && typeof se == "string") be = se, fe = this.length, se = 0;
          else {
            if (!isFinite(se)) throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");
            se |= 0, isFinite(fe) ? (fe |= 0, be === void 0 && (be = "utf8")) : (be = fe, fe = void 0);
          }
          var Se = this.length - se;
          if ((fe === void 0 || fe > Se) && (fe = Se), oe.length > 0 && (fe < 0 || se < 0) || se > this.length) throw new RangeError("Attempt to write outside buffer bounds");
          be || (be = "utf8");
          for (var Ae = !1; ; ) switch (be) {
            case "hex":
              return B(this, oe, se, fe);
            case "utf8":
            case "utf-8":
              return j(this, oe, se, fe);
            case "ascii":
              return k(this, oe, se, fe);
            case "latin1":
            case "binary":
              return U(this, oe, se, fe);
            case "base64":
              return W(this, oe, se, fe);
            case "ucs2":
            case "ucs-2":
            case "utf16le":
            case "utf-16le":
              return $(this, oe, se, fe);
            default:
              if (Ae) throw new TypeError("Unknown encoding: " + be);
              be = ("" + be).toLowerCase(), Ae = !0;
          }
        }, f.prototype.toJSON = function() {
          return { type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0) };
        };
        var Te = 4096;
        f.prototype.slice = function(oe, se) {
          var fe = this.length;
          oe = ~~oe, se = se === void 0 ? fe : ~~se, oe < 0 ? (oe += fe) < 0 && (oe = 0) : oe > fe && (oe = fe), se < 0 ? (se += fe) < 0 && (se = 0) : se > fe && (se = fe), se < oe && (se = oe);
          var be;
          if (f.TYPED_ARRAY_SUPPORT) be = this.subarray(oe, se), be.__proto__ = f.prototype;
          else {
            var Se = se - oe;
            be = new f(Se, void 0);
            for (var Ae = 0; Ae < Se; ++Ae) be[Ae] = this[Ae + oe];
          }
          return be;
        }, f.prototype.readUIntLE = function(oe, se, fe) {
          oe |= 0, se |= 0, fe || Z(oe, se, this.length);
          for (var be = this[oe], Se = 1, Ae = 0; ++Ae < se && (Se *= 256); ) be += this[oe + Ae] * Se;
          return be;
        }, f.prototype.readUIntBE = function(oe, se, fe) {
          oe |= 0, se |= 0, fe || Z(oe, se, this.length);
          for (var be = this[oe + --se], Se = 1; se > 0 && (Se *= 256); ) be += this[oe + --se] * Se;
          return be;
        }, f.prototype.readUInt8 = function(oe, se) {
          return se || Z(oe, 1, this.length), this[oe];
        }, f.prototype.readUInt16LE = function(oe, se) {
          return se || Z(oe, 2, this.length), this[oe] | this[oe + 1] << 8;
        }, f.prototype.readUInt16BE = function(oe, se) {
          return se || Z(oe, 2, this.length), this[oe] << 8 | this[oe + 1];
        }, f.prototype.readUInt32LE = function(oe, se) {
          return se || Z(oe, 4, this.length), (this[oe] | this[oe + 1] << 8 | this[oe + 2] << 16) + 16777216 * this[oe + 3];
        }, f.prototype.readUInt32BE = function(oe, se) {
          return se || Z(oe, 4, this.length), 16777216 * this[oe] + (this[oe + 1] << 16 | this[oe + 2] << 8 | this[oe + 3]);
        }, f.prototype.readIntLE = function(oe, se, fe) {
          oe |= 0, se |= 0, fe || Z(oe, se, this.length);
          for (var be = this[oe], Se = 1, Ae = 0; ++Ae < se && (Se *= 256); ) be += this[oe + Ae] * Se;
          return Se *= 128, be >= Se && (be -= Math.pow(2, 8 * se)), be;
        }, f.prototype.readIntBE = function(oe, se, fe) {
          oe |= 0, se |= 0, fe || Z(oe, se, this.length);
          for (var be = se, Se = 1, Ae = this[oe + --be]; be > 0 && (Se *= 256); ) Ae += this[oe + --be] * Se;
          return Se *= 128, Ae >= Se && (Ae -= Math.pow(2, 8 * se)), Ae;
        }, f.prototype.readInt8 = function(oe, se) {
          return se || Z(oe, 1, this.length), 128 & this[oe] ? -1 * (255 - this[oe] + 1) : this[oe];
        }, f.prototype.readInt16LE = function(oe, se) {
          se || Z(oe, 2, this.length);
          var fe = this[oe] | this[oe + 1] << 8;
          return 32768 & fe ? 4294901760 | fe : fe;
        }, f.prototype.readInt16BE = function(oe, se) {
          se || Z(oe, 2, this.length);
          var fe = this[oe + 1] | this[oe] << 8;
          return 32768 & fe ? 4294901760 | fe : fe;
        }, f.prototype.readInt32LE = function(oe, se) {
          return se || Z(oe, 4, this.length), this[oe] | this[oe + 1] << 8 | this[oe + 2] << 16 | this[oe + 3] << 24;
        }, f.prototype.readInt32BE = function(oe, se) {
          return se || Z(oe, 4, this.length), this[oe] << 24 | this[oe + 1] << 16 | this[oe + 2] << 8 | this[oe + 3];
        }, f.prototype.readFloatLE = function(oe, se) {
          return se || Z(oe, 4, this.length), ge.read(this, oe, !0, 23, 4);
        }, f.prototype.readFloatBE = function(oe, se) {
          return se || Z(oe, 4, this.length), ge.read(this, oe, !1, 23, 4);
        }, f.prototype.readDoubleLE = function(oe, se) {
          return se || Z(oe, 8, this.length), ge.read(this, oe, !0, 52, 8);
        }, f.prototype.readDoubleBE = function(oe, se) {
          return se || Z(oe, 8, this.length), ge.read(this, oe, !1, 52, 8);
        }, f.prototype.writeUIntLE = function(oe, se, fe, be) {
          oe = +oe, se |= 0, fe |= 0, !be && J(this, oe, se, fe, Math.pow(2, 8 * fe) - 1, 0);
          var Se = 1, Ae = 0;
          for (this[se] = 255 & oe; ++Ae < fe && (Se *= 256); ) this[se + Ae] = oe / Se & 255;
          return se + fe;
        }, f.prototype.writeUIntBE = function(oe, se, fe, be) {
          oe = +oe, se |= 0, fe |= 0, !be && J(this, oe, se, fe, Math.pow(2, 8 * fe) - 1, 0);
          var Se = fe - 1, Ae = 1;
          for (this[se + Se] = 255 & oe; --Se >= 0 && (Ae *= 256); ) this[se + Se] = oe / Ae & 255;
          return se + fe;
        }, f.prototype.writeUInt8 = function(oe, se, fe) {
          return oe = +oe, se |= 0, fe || J(this, oe, se, 1, 255, 0), f.TYPED_ARRAY_SUPPORT || (oe = Math.floor(oe)), this[se] = 255 & oe, se + 1;
        }, f.prototype.writeUInt16LE = function(oe, se, fe) {
          return oe = +oe, se |= 0, fe || J(this, oe, se, 2, 65535, 0), f.TYPED_ARRAY_SUPPORT ? (this[se] = 255 & oe, this[se + 1] = oe >>> 8) : ne(this, oe, se, !0), se + 2;
        }, f.prototype.writeUInt16BE = function(oe, se, fe) {
          return oe = +oe, se |= 0, fe || J(this, oe, se, 2, 65535, 0), f.TYPED_ARRAY_SUPPORT ? (this[se] = oe >>> 8, this[se + 1] = 255 & oe) : ne(this, oe, se, !1), se + 2;
        }, f.prototype.writeUInt32LE = function(oe, se, fe) {
          return oe = +oe, se |= 0, fe || J(this, oe, se, 4, 4294967295, 0), f.TYPED_ARRAY_SUPPORT ? (this[se + 3] = oe >>> 24, this[se + 2] = oe >>> 16, this[se + 1] = oe >>> 8, this[se] = 255 & oe) : ie(this, oe, se, !0), se + 4;
        }, f.prototype.writeUInt32BE = function(oe, se, fe) {
          return oe = +oe, se |= 0, fe || J(this, oe, se, 4, 4294967295, 0), f.TYPED_ARRAY_SUPPORT ? (this[se] = oe >>> 24, this[se + 1] = oe >>> 16, this[se + 2] = oe >>> 8, this[se + 3] = 255 & oe) : ie(this, oe, se, !1), se + 4;
        }, f.prototype.writeIntLE = function(oe, se, fe, be) {
          if (oe = +oe, se |= 0, !be) {
            var Se = Math.pow(2, 8 * fe - 1);
            J(this, oe, se, fe, Se - 1, -Se);
          }
          var Ae = 0, ze = 1, Oe = 0;
          for (this[se] = 255 & oe; ++Ae < fe && (ze *= 256); ) oe < 0 && Oe === 0 && this[se + Ae - 1] !== 0 && (Oe = 1), this[se + Ae] = (oe / ze >> 0) - Oe & 255;
          return se + fe;
        }, f.prototype.writeIntBE = function(oe, se, fe, be) {
          if (oe = +oe, se |= 0, !be) {
            var Se = Math.pow(2, 8 * fe - 1);
            J(this, oe, se, fe, Se - 1, -Se);
          }
          var Ae = fe - 1, ze = 1, Oe = 0;
          for (this[se + Ae] = 255 & oe; --Ae >= 0 && (ze *= 256); ) oe < 0 && Oe === 0 && this[se + Ae + 1] !== 0 && (Oe = 1), this[se + Ae] = (oe / ze >> 0) - Oe & 255;
          return se + fe;
        }, f.prototype.writeInt8 = function(oe, se, fe) {
          return oe = +oe, se |= 0, fe || J(this, oe, se, 1, 127, -128), f.TYPED_ARRAY_SUPPORT || (oe = Math.floor(oe)), oe < 0 && (oe = 255 + oe + 1), this[se] = 255 & oe, se + 1;
        }, f.prototype.writeInt16LE = function(oe, se, fe) {
          return oe = +oe, se |= 0, fe || J(this, oe, se, 2, 32767, -32768), f.TYPED_ARRAY_SUPPORT ? (this[se] = 255 & oe, this[se + 1] = oe >>> 8) : ne(this, oe, se, !0), se + 2;
        }, f.prototype.writeInt16BE = function(oe, se, fe) {
          return oe = +oe, se |= 0, fe || J(this, oe, se, 2, 32767, -32768), f.TYPED_ARRAY_SUPPORT ? (this[se] = oe >>> 8, this[se + 1] = 255 & oe) : ne(this, oe, se, !1), se + 2;
        }, f.prototype.writeInt32LE = function(oe, se, fe) {
          return oe = +oe, se |= 0, fe || J(this, oe, se, 4, 2147483647, -2147483648), f.TYPED_ARRAY_SUPPORT ? (this[se] = 255 & oe, this[se + 1] = oe >>> 8, this[se + 2] = oe >>> 16, this[se + 3] = oe >>> 24) : ie(this, oe, se, !0), se + 4;
        }, f.prototype.writeInt32BE = function(oe, se, fe) {
          return oe = +oe, se |= 0, fe || J(this, oe, se, 4, 2147483647, -2147483648), oe < 0 && (oe = 4294967295 + oe + 1), f.TYPED_ARRAY_SUPPORT ? (this[se] = oe >>> 24, this[se + 1] = oe >>> 16, this[se + 2] = oe >>> 8, this[se + 3] = 255 & oe) : ie(this, oe, se, !1), se + 4;
        }, f.prototype.writeFloatLE = function(oe, se, fe) {
          return ee(this, oe, se, !0, fe);
        }, f.prototype.writeFloatBE = function(oe, se, fe) {
          return ee(this, oe, se, !1, fe);
        }, f.prototype.writeDoubleLE = function(oe, se, fe) {
          return te(this, oe, se, !0, fe);
        }, f.prototype.writeDoubleBE = function(oe, se, fe) {
          return te(this, oe, se, !1, fe);
        }, f.prototype.copy = function(oe, se, fe, be) {
          if (fe || (fe = 0), be || be === 0 || (be = this.length), se >= oe.length && (se = oe.length), se || (se = 0), be > 0 && be < fe && (be = fe), be === fe || oe.length === 0 || this.length === 0) return 0;
          if (se < 0) throw new RangeError("targetStart out of bounds");
          if (fe < 0 || fe >= this.length) throw new RangeError("sourceStart out of bounds");
          if (be < 0) throw new RangeError("sourceEnd out of bounds");
          be > this.length && (be = this.length), oe.length - se < be - fe && (be = oe.length - se + fe);
          var Se, Ae = be - fe;
          if (this === oe && fe < se && se < be) for (Se = Ae - 1; Se >= 0; --Se) oe[Se + se] = this[Se + fe];
          else if (Ae < 1e3 || !f.TYPED_ARRAY_SUPPORT) for (Se = 0; Se < Ae; ++Se) oe[Se + se] = this[Se + fe];
          else Uint8Array.prototype.set.call(oe, this.subarray(fe, fe + Ae), se);
          return Ae;
        }, f.prototype.fill = function(oe, se, fe, be) {
          if (typeof oe == "string") {
            if (typeof se == "string" ? (be = se, se = 0, fe = this.length) : typeof fe == "string" && (be = fe, fe = this.length), oe.length === 1) {
              var Se = oe.charCodeAt(0);
              Se < 256 && (oe = Se);
            }
            if (be !== void 0 && typeof be != "string") throw new TypeError("encoding must be a string");
            if (typeof be == "string" && !f.isEncoding(be)) throw new TypeError("Unknown encoding: " + be);
          } else typeof oe == "number" && (oe &= 255);
          if (se < 0 || this.length < se || this.length < fe) throw new RangeError("Out of range index");
          if (fe <= se) return this;
          se >>>= 0, fe = fe === void 0 ? this.length : fe >>> 0, oe || (oe = 0);
          var Ae;
          if (typeof oe == "number") for (Ae = se; Ae < fe; ++Ae) this[Ae] = oe;
          else {
            var ze = f.isBuffer(oe) ? oe : ce(new f(oe, be).toString()), Oe = ze.length;
            for (Ae = 0; Ae < fe - se; ++Ae) this[Ae + se] = ze[Ae % Oe];
          }
          return this;
        };
        var De = /[^+\/0-9A-Za-z-_]/g;
      }).call(u, a(72));
    }, function(A, u) {
      var a = {}.toString;
      A.exports = Array.isArray || function(s) {
        return a.call(s) == "[object Array]";
      };
    }, function(A, u, a) {
      function s(S, _, d, p, b, m) {
        for (var v = E.FIELD_CONSTRAINTS_BY_PROPERTY.get(S) || [], O = p.getEncodingQueryByIndex(d), T = 0, w = v; T < w.length; T++) {
          var P = w[T];
          if (P.strict() || m[P.name()]) {
            var I = P.satisfy(O, b, p.wildcardIndex.encodings[d], m);
            if (!I) {
              var L = "(enc) " + P.name();
              return m.verbose && console.log(L + " failed with " + p.toShorthand() + " for " + _.name), L;
            }
          }
        }
        for (var R = f.VALUE_CONSTRAINTS_BY_PROPERTY.get(S) || [], q = 0, B = R; q < B.length; q++) {
          var P = B[q];
          if ((P.strict() || m[P.name()]) && h.isValueQuery(O)) {
            var I = P.satisfy(O, b, p.wildcardIndex.encodings[d], m);
            if (!I) {
              var L = "(enc) " + P.name();
              return m.verbose && console.log(L + " failed with " + p.toShorthand() + " for " + _.name), L;
            }
          }
        }
        return null;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(16), E = a(357), f = a(359);
      u.checkEncoding = s;
    }, function(A, u, a) {
      var s = this && this.__assign || Object.assign || function(w) {
        for (var P, I = 1, L = arguments.length; I < L; I++) {
          P = arguments[I];
          for (var R in P) Object.prototype.hasOwnProperty.call(P, R) && (w[R] = P[R]);
        }
        return w;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(5), E = a(10), f = a(9), S = a(13), _ = a(34), d = a(18), p = a(46), b = a(6), m = a(57), v = a(15), O = a(16), T = a(121);
      u.FIELD_CONSTRAINTS = [{ name: "aggregateOpSupportedByType", description: "Aggregate function should be supported by data type.", properties: [d.Property.TYPE, d.Property.AGGREGATE], allowWildcardForProperties: !1, strict: !0, satisfy: function(w, P, I, L) {
        return !w.aggregate || !_.isDiscrete(w.type);
      } }, { name: "asteriskFieldWithCountOnly", description: 'Field="*" should be disallowed except aggregate="count"', properties: [d.Property.FIELD, d.Property.AGGREGATE], allowWildcardForProperties: !1, strict: !0, satisfy: function(w, P, I, L) {
        return w.field === "*" == (w.aggregate === "count");
      } }, { name: "minCardinalityForBin", description: "binned quantitative field should not have too low cardinality", properties: [d.Property.BIN, d.Property.FIELD, d.Property.TYPE], allowWildcardForProperties: !1, strict: !0, satisfy: function(w, P, I, L) {
        if (w.bin && w.type === S.Type.QUANTITATIVE) {
          var R = { channel: w.channel, field: w.field, type: w.type };
          return P.cardinality(R) >= L.minCardinalityForBin;
        }
        return !0;
      } }, { name: "binAppliedForQuantitative", description: "bin should be applied to quantitative field only.", properties: [d.Property.TYPE, d.Property.BIN], allowWildcardForProperties: !1, strict: !0, satisfy: function(w, P, I, L) {
        return !w.bin || w.type === S.Type.QUANTITATIVE;
      } }, { name: "channelFieldCompatible", description: "encoding channel's range type be compatible with channel type.", properties: [d.Property.CHANNEL, d.Property.TYPE, d.Property.BIN, d.Property.TIMEUNIT], allowWildcardForProperties: !1, strict: !0, satisfy: function(w, P, I, L) {
        var R = s({ field: "f" }, O.toFieldDef(w, { schema: P, props: ["bin", "timeUnit", "type"] }));
        return E.channelCompatibility(R, w.channel).compatible;
      } }, { name: "hasFn", description: "A field with as hasFn flag should have one of aggregate, timeUnit, or bin.", properties: [d.Property.AGGREGATE, d.Property.BIN, d.Property.TIMEUNIT], allowWildcardForProperties: !0, strict: !0, satisfy: function(w, P, I, L) {
        return !w.hasFn || !!w.aggregate || !!w.bin || !!w.timeUnit;
      } }, { name: "omitScaleZeroWithBinnedField", description: "Do not use scale zero with binned field", properties: [d.Property.SCALE, d.getEncodingNestedProp("scale", "zero"), d.Property.BIN], allowWildcardForProperties: !1, strict: !0, satisfy: function(w, P, I, L) {
        return !w.bin || !w.scale || w.scale.zero !== !0;
      } }, { name: "onlyOneTypeOfFunction", description: "Only of of aggregate, autoCount, timeUnit, or bin should be applied at the same time.", properties: [d.Property.AGGREGATE, d.Property.AUTOCOUNT, d.Property.TIMEUNIT, d.Property.BIN], allowWildcardForProperties: !0, strict: !0, satisfy: function(w, P, I, L) {
        return O.isFieldQuery(w) ? (!b.isWildcard(w.aggregate) && w.aggregate ? 1 : 0) + (!b.isWildcard(w.bin) && w.bin ? 1 : 0) + (!b.isWildcard(w.timeUnit) && w.timeUnit ? 1 : 0) <= 1 : !0;
      } }, { name: "timeUnitAppliedForTemporal", description: "Time unit should be applied to temporal field only.", properties: [d.Property.TYPE, d.Property.TIMEUNIT], allowWildcardForProperties: !1, strict: !0, satisfy: function(w, P, I, L) {
        return !w.timeUnit || w.type === S.Type.TEMPORAL;
      } }, { name: "timeUnitShouldHaveVariation", description: "A particular time unit should be applied only if they produce unique values.", properties: [d.Property.TIMEUNIT, d.Property.TYPE], allowWildcardForProperties: !1, strict: !1, satisfy: function(w, P, I, L) {
        return !w.timeUnit || w.type !== S.Type.TEMPORAL || !I.has("timeUnit") && !L.constraintManuallySpecifiedValue || P.timeUnitHasVariation(w);
      } }, { name: "scalePropertiesSupportedByScaleType", description: "Scale properties must be supported by correct scale type", properties: [].concat(d.SCALE_PROPS, [d.Property.SCALE, d.Property.TYPE]), allowWildcardForProperties: !0, strict: !0, satisfy: function(w, P, I, L) {
        if (w.scale) {
          var R = w.scale, q = O.scaleType(w);
          if (q == null) return !0;
          for (var B in R) if (B !== "type" && B !== "name" && B !== "enum") {
            var j = B;
            if (q === "point") {
              if (!f.scaleTypeSupportProperty("point", j) && !f.scaleTypeSupportProperty("band", j)) return !1;
            } else if (!f.scaleTypeSupportProperty(q, j)) return !1;
          }
        }
        return !0;
      } }, { name: "scalePropertiesSupportedByChannel", description: "Not all scale properties are supported by all encoding channels", properties: [].concat(d.SCALE_PROPS, [d.Property.SCALE, d.Property.CHANNEL]), allowWildcardForProperties: !0, strict: !0, satisfy: function(w, P, I, L) {
        if (w) {
          var R = w.channel, q = w.scale;
          if (R && !b.isWildcard(R) && q) {
            if (R === "row" || R === "column") return !1;
            for (var B in q) if (q.hasOwnProperty(B) && B !== "type" && B !== "name" && B !== "enum") {
              var j = f.channelScalePropertyIncompatability(R, B) === void 0;
              if (!j) return !1;
            }
          }
        }
        return !0;
      } }, { name: "typeMatchesPrimitiveType", description: "Data type should be supported by field's primitive type.", properties: [d.Property.FIELD, d.Property.TYPE], allowWildcardForProperties: !1, strict: !0, satisfy: function(w, P, I, L) {
        if (w.field === "*") return !0;
        var R = P.primitiveType(w.field), q = w.type;
        if (!I.has("field") && !I.has("type") && !L.constraintManuallySpecifiedValue) return !0;
        switch (R) {
          case m.PrimitiveType.BOOLEAN:
          case m.PrimitiveType.STRING:
            return q !== S.Type.QUANTITATIVE && q !== S.Type.TEMPORAL;
          case m.PrimitiveType.NUMBER:
          case m.PrimitiveType.INTEGER:
            return q !== S.Type.TEMPORAL;
          case m.PrimitiveType.DATETIME:
            return q === S.Type.TEMPORAL;
          case null:
            return !1;
        }
        throw new Error("Not implemented");
      } }, { name: "typeMatchesSchemaType", description: "Enumerated data type of a field should match the field's type in the schema.", properties: [d.Property.FIELD, d.Property.TYPE], allowWildcardForProperties: !1, strict: !1, satisfy: function(w, P, I, L) {
        return !(I.has("field") || I.has("type") || L.constraintManuallySpecifiedValue) || (w.field === "*" ? w.type === S.Type.QUANTITATIVE : P.vlType(w.field) === w.type);
      } }, { name: "maxCardinalityForCategoricalColor", description: "Categorical channel should not have too high cardinality", properties: [d.Property.CHANNEL, d.Property.FIELD], allowWildcardForProperties: !1, strict: !1, satisfy: function(w, P, I, L) {
        return w.channel !== h.Channel.COLOR || w.type !== S.Type.NOMINAL && w.type !== _.ExpandedType.KEY || P.cardinality(w) <= L.maxCardinalityForCategoricalColor;
      } }, { name: "maxCardinalityForFacet", description: "Row/column channel should not have too high cardinality", properties: [d.Property.CHANNEL, d.Property.FIELD, d.Property.BIN, d.Property.TIMEUNIT], allowWildcardForProperties: !1, strict: !1, satisfy: function(w, P, I, L) {
        return w.channel !== h.Channel.ROW && w.channel !== h.Channel.COLUMN || P.cardinality(w) <= L.maxCardinalityForFacet;
      } }, { name: "maxCardinalityForShape", description: "Shape channel should not have too high cardinality", properties: [d.Property.CHANNEL, d.Property.FIELD, d.Property.BIN, d.Property.TIMEUNIT], allowWildcardForProperties: !1, strict: !1, satisfy: function(w, P, I, L) {
        return w.channel !== h.Channel.SHAPE || P.cardinality(w) <= L.maxCardinalityForShape;
      } }, { name: "dataTypeAndFunctionMatchScaleType", description: "Scale type must match data type", properties: [d.Property.TYPE, d.Property.SCALE, d.getEncodingNestedProp("scale", "type"), d.Property.TIMEUNIT, d.Property.BIN], allowWildcardForProperties: !1, strict: !0, satisfy: function(w, P, I, L) {
        if (w.scale) {
          var R = w.type, q = O.scaleType(w);
          if (_.isDiscrete(R)) return q === void 0 || f.hasDiscreteDomain(q);
          if (R === S.Type.TEMPORAL) return w.timeUnit ? v.contains([f.ScaleType.TIME, f.ScaleType.UTC, void 0], q) || f.hasDiscreteDomain(q) : v.contains([f.ScaleType.TIME, f.ScaleType.UTC, void 0], q);
          if (R === S.Type.QUANTITATIVE) return w.bin ? v.contains([f.ScaleType.LINEAR, void 0], q) : v.contains([f.ScaleType.LOG, f.ScaleType.POW, f.ScaleType.SQRT, f.ScaleType.QUANTILE, f.ScaleType.QUANTIZE, f.ScaleType.LINEAR, void 0], q);
        }
        return !0;
      } }, { name: "stackIsOnlyUsedWithXY", description: "stack should only be allowed for x and y channels", properties: [d.Property.STACK, d.Property.CHANNEL], allowWildcardForProperties: !1, strict: !0, satisfy: function(w, P, I, L) {
        return !w.stack || w.channel === h.Channel.X || w.channel === h.Channel.Y;
      } }].map(function(w) {
        return new T.EncodingConstraintModel(w);
      }), u.FIELD_CONSTRAINT_INDEX = u.FIELD_CONSTRAINTS.reduce(function(w, P) {
        return w[P.name()] = P, w;
      }, {}), u.FIELD_CONSTRAINTS_BY_PROPERTY = u.FIELD_CONSTRAINTS.reduce(function(w, P) {
        for (var I = 0, L = P.properties(); I < L.length; I++) {
          var R = L[I];
          w.set(R, w.get(R) || []), w.get(R).push(P);
        }
        return w;
      }, new p.PropIndex());
    }, function(A, u, a) {
      function s(R, q, B, j, k) {
        for (var U = L.get(R) || [], W = 0, $ = U; W < $.length; W++) {
          var V = $[W];
          if ((V.strict() || k[V.name()]) && !V.satisfy(B, j, k)) {
            var G = "(spec) " + V.name();
            return k.verbose && console.log(G + " failed with " + B.toShorthand() + " for " + q.name), G;
          }
        }
        return null;
      }
      var h = this && this.__extends || function() {
        var R = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(q, B) {
          q.__proto__ = B;
        } || function(q, B) {
          for (var j in B) B.hasOwnProperty(j) && (q[j] = B[j]);
        };
        return function(q, B) {
          function j() {
            this.constructor = q;
          }
          R(q, B), q.prototype = B === null ? Object.create(B) : (j.prototype = B.prototype, new j());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(60), f = a(5), S = a(28), _ = a(9), d = a(13), p = a(34), b = a(121), m = a(6), v = a(18), O = a(46), T = a(15), w = a(16), P = f.NONPOSITION_CHANNELS.reduce(function(R, q) {
        return R[q] = !0, R;
      }, {}), I = function(R) {
        function q(B) {
          return R.call(this, B) || this;
        }
        return h(q, R), q.prototype.hasAllRequiredPropertiesSpecific = function(B) {
          return T.every(this.constraint.properties, function(j) {
            if (j === v.Property.MARK) return !m.isWildcard(B.getMark());
            if (v.isEncodingNestedProp(j)) {
              var k = j.parent, U = j.child;
              return T.every(B.getEncodings(), function(W) {
                return !W[k] || !m.isWildcard(W[k][U]);
              });
            }
            if (!v.isEncodingProperty(j)) throw new Error("UNIMPLEMENTED");
            return T.every(B.getEncodings(), function(W) {
              return !W[j] || !m.isWildcard(W[j]);
            });
          });
        }, q.prototype.satisfy = function(B, j, k) {
          return !this.constraint.allowWildcardForProperties && !this.hasAllRequiredPropertiesSpecific(B) || this.constraint.satisfy(B, j, k);
        }, q;
      }(b.AbstractConstraintModel);
      u.SpecConstraintModel = I, u.SPEC_CONSTRAINTS = [{ name: "noRepeatedChannel", description: "Each encoding channel should only be used once.", properties: [v.Property.CHANNEL], allowWildcardForProperties: !0, strict: !0, satisfy: function(R, q, B) {
        var j = {};
        return T.every(R.getEncodings(), function(k) {
          return !!m.isWildcard(k.channel) || !j[k.channel] && (j[k.channel] = !0, !0);
        });
      } }, { name: "alwaysIncludeZeroInScaleWithBarMark", description: "Do not recommend bar mark if scale does not start at zero", properties: [v.Property.MARK, v.Property.SCALE, v.getEncodingNestedProp("scale", "zero"), v.Property.CHANNEL, v.Property.TYPE], allowWildcardForProperties: !1, strict: !0, satisfy: function(R, q, B) {
        var j = R.getMark(), k = R.getEncodings();
        if (j === S.Mark.BAR) for (var U = 0, W = k; U < W.length; U++) {
          var $ = W[U];
          if (w.isFieldQuery($) && ($.channel === f.Channel.X || $.channel === f.Channel.Y) && $.type === d.Type.QUANTITATIVE && $.scale && $.scale.zero === !1) return !1;
        }
        return !0;
      } }, { name: "autoAddCount", description: "Automatically adding count only for plots with only ordinal, binned quantitative, or temporal with timeunit fields.", properties: [v.Property.BIN, v.Property.TIMEUNIT, v.Property.TYPE, v.Property.AUTOCOUNT], allowWildcardForProperties: !0, strict: !1, satisfy: function(R, q, B) {
        if (T.some(R.getEncodings(), function(k) {
          return w.isEnabledAutoCountQuery(k);
        })) return T.every(R.getEncodings(), function(k) {
          if (w.isValueQuery(k)) return !1;
          if (w.isAutoCountQuery(k)) return !0;
          switch (k.type) {
            case d.Type.QUANTITATIVE:
              return !!k.bin;
            case d.Type.TEMPORAL:
              return !!k.timeUnit;
            case d.Type.ORDINAL:
            case p.ExpandedType.KEY:
            case d.Type.NOMINAL:
              return !0;
          }
          throw new Error("Unsupported Type");
        });
        var j = R.wildcardIndex.encodingIndicesByProperty.get("autoCount") || [];
        return !T.every(j, function(k) {
          var U = R.getEncodingQueryByIndex(k);
          return w.isAutoCountQuery(U) && !m.isWildcard(U.autoCount);
        }) || T.some(R.getEncodings(), function(k) {
          return (w.isFieldQuery(k) || w.isAutoCountQuery(k)) && k.type === d.Type.QUANTITATIVE ? !w.isDisabledAutoCountQuery(k) && w.isFieldQuery(k) && (!k.bin || m.isWildcard(k.bin)) : !(!w.isFieldQuery(k) || k.type !== d.Type.TEMPORAL) && (!k.timeUnit || m.isWildcard(k.timeUnit));
        });
      } }, { name: "channelPermittedByMarkType", description: "Each encoding channel should be supported by the mark type", properties: [v.Property.CHANNEL, v.Property.MARK], allowWildcardForProperties: !0, strict: !0, satisfy: function(R, q, B) {
        var j = R.getMark();
        return !!m.isWildcard(j) || T.every(R.getEncodings(), function(k) {
          return !!m.isWildcard(k.channel) || f.supportMark(k.channel, j);
        });
      } }, { name: "hasAllRequiredChannelsForMark", description: "All required channels for the specified mark should be specified", properties: [v.Property.CHANNEL, v.Property.MARK], allowWildcardForProperties: !1, strict: !0, satisfy: function(R, q, B) {
        var j = R.getMark();
        switch (j) {
          case S.Mark.AREA:
          case S.Mark.LINE:
            return R.channelUsed(f.Channel.X) && R.channelUsed(f.Channel.Y);
          case S.Mark.TEXT:
            return R.channelUsed(f.Channel.TEXT);
          case S.Mark.BAR:
          case S.Mark.CIRCLE:
          case S.Mark.SQUARE:
          case S.Mark.TICK:
          case S.Mark.RULE:
          case S.Mark.RECT:
            return R.channelUsed(f.Channel.X) || R.channelUsed(f.Channel.Y);
          case S.Mark.POINT:
            return !R.wildcardIndex.hasProperty(v.Property.CHANNEL) || R.channelUsed(f.Channel.X) || R.channelUsed(f.Channel.Y);
        }
        throw new Error("hasAllRequiredChannelsForMark not implemented for mark" + JSON.stringify(j));
      } }, { name: "omitAggregate", description: "Omit aggregate plots.", properties: [v.Property.AGGREGATE, v.Property.AUTOCOUNT], allowWildcardForProperties: !0, strict: !1, satisfy: function(R, q, B) {
        return !R.isAggregate();
      } }, { name: "omitAggregatePlotWithDimensionOnlyOnFacet", description: "Omit aggregate plots with dimensions only on facets as that leads to inefficient use of space.", properties: [v.Property.CHANNEL, v.Property.AGGREGATE, v.Property.AUTOCOUNT], allowWildcardForProperties: !1, strict: !1, satisfy: function(R, q, B) {
        if (R.isAggregate()) {
          var j = !1, k = !1, U = !1;
          if (R.specQuery.encodings.forEach(function(W, $) {
            w.isValueQuery(W) || w.isDisabledAutoCountQuery(W) || w.isFieldQuery(W) && !W.aggregate && (k = !0, T.contains([f.Channel.ROW, f.Channel.COLUMN], W.channel) ? R.wildcardIndex.hasEncodingProperty($, v.Property.CHANNEL) && (U = !0) : j = !0);
          }), k && !j && (U || B.constraintManuallySpecifiedValue)) return !1;
        }
        return !0;
      } }, { name: "omitAggregatePlotWithoutDimension", description: "Aggregate plots without dimension should be omitted", properties: [v.Property.AGGREGATE, v.Property.AUTOCOUNT, v.Property.BIN, v.Property.TIMEUNIT, v.Property.TYPE], allowWildcardForProperties: !1, strict: !1, satisfy: function(R, q, B) {
        return !R.isAggregate() || T.some(R.getEncodings(), function(j) {
          return !!(w.isDimension(j) || w.isFieldQuery(j) && j.type === "temporal");
        });
      } }, { name: "omitBarLineAreaWithOcclusion", description: "Don't use bar, line or area to visualize raw plot as they often lead to occlusion.", properties: [v.Property.MARK, v.Property.AGGREGATE, v.Property.AUTOCOUNT], allowWildcardForProperties: !1, strict: !1, satisfy: function(R, q, B) {
        return !T.contains([S.Mark.BAR, S.Mark.LINE, S.Mark.AREA], R.getMark()) || R.isAggregate();
      } }, { name: "omitBarTickWithSize", description: "Do not map field to size channel with bar and tick mark", properties: [v.Property.CHANNEL, v.Property.MARK], allowWildcardForProperties: !0, strict: !1, satisfy: function(R, q, B) {
        var j = R.getMark();
        if (T.contains([S.Mark.TICK, S.Mark.BAR], j) && R.channelUsed(f.Channel.SIZE)) {
          if (B.constraintManuallySpecifiedValue) return !1;
          for (var k = R.specQuery.encodings, U = 0; U < k.length; U++)
            if (k[U].channel === f.Channel.SIZE) return !R.wildcardIndex.hasEncodingProperty(U, v.Property.CHANNEL);
        }
        return !0;
      } }, { name: "omitBarAreaForLogScale", description: "Do not use bar and area mark for x and y's log scale", properties: [v.Property.MARK, v.Property.CHANNEL, v.Property.SCALE, v.getEncodingNestedProp("scale", "type"), v.Property.TYPE], allowWildcardForProperties: !1, strict: !0, satisfy: function(R, q, B) {
        var j = R.getMark(), k = R.getEncodings();
        if (j === S.Mark.AREA || j === S.Mark.BAR) for (var U = 0, W = k; U < W.length; U++) {
          var $ = W[U];
          if (w.isFieldQuery($) && ($.channel === f.Channel.X || $.channel === f.Channel.Y) && $.scale) {
            var V = w.scaleType($);
            if (V === _.ScaleType.LOG) return !1;
          }
        }
        return !0;
      } }, { name: "omitMultipleNonPositionalChannels", description: "Unless manually specified, do not use multiple non-positional encoding channel to avoid over-encoding.", properties: [v.Property.CHANNEL], allowWildcardForProperties: !0, strict: !1, satisfy: function(R, q, B) {
        for (var j = R.specQuery.encodings, k = 0, U = !1, W = 0; W < j.length; W++) {
          var $ = j[W];
          if (!w.isValueQuery($) && !w.isDisabledAutoCountQuery($)) {
            var V = $.channel;
            if (!m.isWildcard(V) && P[V + ""] && (k += 1, R.wildcardIndex.hasEncodingProperty(W, v.Property.CHANNEL) && (U = !0), k > 1 && (U || B.constraintManuallySpecifiedValue))) return !1;
          }
        }
        return !0;
      } }, { name: "omitNonPositionalOrFacetOverPositionalChannels", description: "Do not use non-positional channels unless all positional channels are used", properties: [v.Property.CHANNEL], allowWildcardForProperties: !1, strict: !1, satisfy: function(R, q, B) {
        for (var j = R.specQuery.encodings, k = !1, U = !1, W = !1, $ = !1, V = 0; V < j.length; V++) {
          var G = j[V];
          if (!w.isValueQuery(G) && !w.isDisabledAutoCountQuery(G)) {
            var X = G.channel;
            X === f.Channel.X ? W = !0 : X === f.Channel.Y ? $ = !0 : m.isWildcard(X) || (k = !0, R.wildcardIndex.hasEncodingProperty(V, v.Property.CHANNEL) && (U = !0));
          }
        }
        return !(U || B.constraintManuallySpecifiedValue && k) || W && $;
      } }, { name: "omitRaw", description: "Omit raw plots.", properties: [v.Property.AGGREGATE, v.Property.AUTOCOUNT], allowWildcardForProperties: !1, strict: !1, satisfy: function(R, q, B) {
        return !!R.isAggregate();
      } }, { name: "omitRawContinuousFieldForAggregatePlot", description: "Aggregate plot should not use raw continuous field as group by values. (Quantitative should be binned. Temporal should have time unit.)", properties: [v.Property.AGGREGATE, v.Property.AUTOCOUNT, v.Property.TIMEUNIT, v.Property.BIN, v.Property.TYPE], allowWildcardForProperties: !0, strict: !1, satisfy: function(R, q, B) {
        if (R.isAggregate()) for (var j = R.specQuery.encodings, k = 0; k < j.length; k++) {
          var U = j[k];
          if (!w.isValueQuery(U) && !w.isDisabledAutoCountQuery(U) && (w.isFieldQuery(U) && U.type === d.Type.TEMPORAL && !U.timeUnit && (R.wildcardIndex.hasEncodingProperty(k, v.Property.TIMEUNIT) || B.constraintManuallySpecifiedValue) || U.type === d.Type.QUANTITATIVE && w.isFieldQuery(U) && !U.bin && !U.aggregate && (R.wildcardIndex.hasEncodingProperty(k, v.Property.BIN) || R.wildcardIndex.hasEncodingProperty(k, v.Property.AGGREGATE) || R.wildcardIndex.hasEncodingProperty(k, v.Property.AUTOCOUNT) || B.constraintManuallySpecifiedValue)))
            return !1;
        }
        return !0;
      } }, { name: "omitRawDetail", description: "Do not use detail channel with raw plot.", properties: [v.Property.CHANNEL, v.Property.AGGREGATE, v.Property.AUTOCOUNT], allowWildcardForProperties: !1, strict: !0, satisfy: function(R, q, B) {
        return !!R.isAggregate() || T.every(R.specQuery.encodings, function(j, k) {
          return !(!w.isValueQuery(j) && !w.isDisabledAutoCountQuery(j)) || j.channel !== f.Channel.DETAIL || !R.wildcardIndex.hasEncodingProperty(k, v.Property.CHANNEL) && !B.constraintManuallySpecifiedValue;
        });
      } }, { name: "omitRepeatedField", description: "Each field should be mapped to only one channel", properties: [v.Property.FIELD], allowWildcardForProperties: !0, strict: !1, satisfy: function(R, q, B) {
        for (var j = {}, k = {}, U = R.specQuery.encodings, W = 0; W < U.length; W++) {
          var $ = U[W];
          if (!w.isValueQuery($) && !w.isAutoCountQuery($)) {
            var V = void 0;
            if ($.field && !m.isWildcard($.field) && (V = $.field), w.isAutoCountQuery($) && !m.isWildcard($.autoCount) && (V = "count_*"), V) {
              if (R.wildcardIndex.hasEncodingProperty(W, v.Property.FIELD) && (k[V] = !0), j[V] && (k[V] || B.constraintManuallySpecifiedValue)) return !1;
              j[V] = !0;
            }
          }
        }
        return !0;
      } }, { name: "omitVerticalDotPlot", description: "Do not output vertical dot plot.", properties: [v.Property.CHANNEL], allowWildcardForProperties: !0, strict: !1, satisfy: function(R, q, B) {
        var j = R.getEncodings();
        return j.length !== 1 || j[0].channel !== f.Channel.Y;
      } }, { name: "hasAppropriateGraphicTypeForMark", description: "Has appropriate graphic type for mark", properties: [v.Property.CHANNEL, v.Property.MARK, v.Property.TYPE, v.Property.TIMEUNIT, v.Property.BIN, v.Property.AGGREGATE, v.Property.AUTOCOUNT], allowWildcardForProperties: !1, strict: !1, satisfy: function(R, q, B) {
        var j = R.getMark();
        switch (j) {
          case S.Mark.AREA:
          case S.Mark.LINE:
            if (R.isAggregate()) {
              var k = R.getEncodingQueryByChannel(f.Channel.X), U = R.getEncodingQueryByChannel(f.Channel.Y), V = w.isMeasure(k), G = w.isMeasure(U);
              return k && U && V !== G && !(w.isFieldQuery(k) && !V && T.contains(["nominal", "key"], k.type)) && !(w.isFieldQuery(U) && !G && T.contains(["nominal", "key"], U.type));
            }
            return !0;
          case S.Mark.TEXT:
            return !0;
          case S.Mark.BAR:
          case S.Mark.TICK:
            if (R.channelUsed(f.Channel.SIZE)) return !1;
            var W = R.getEncodingQueryByChannel(f.Channel.X), $ = R.getEncodingQueryByChannel(f.Channel.Y), V = w.isMeasure(W), G = w.isMeasure($);
            return V !== G;
          case S.Mark.RECT:
            var X = R.getEncodingQueryByChannel(f.Channel.X), K = R.getEncodingQueryByChannel(f.Channel.Y), H = w.isDimension(X), Y = w.isDimension(K), Q = R.getEncodingQueryByChannel(f.Channel.COLOR), Z = w.isMeasure(Q), J = !!w.isFieldQuery(Q) && Q.type === d.Type.ORDINAL, ne = H && Y || H && !R.channelUsed(f.Channel.Y) || Y && !R.channelUsed(f.Channel.X), ie = !Q || Q && (Z || J);
            return ne && ie;
          case S.Mark.CIRCLE:
          case S.Mark.POINT:
          case S.Mark.SQUARE:
          case S.Mark.RULE:
            return !0;
        }
        throw new Error("hasAllRequiredChannelsForMark not implemented for mark" + j);
      } }, { name: "omitInvalidStackSpec", description: "If stack is specified, must follow Vega-Lite stack rules", properties: [v.Property.STACK, v.Property.FIELD, v.Property.CHANNEL, v.Property.MARK, v.Property.AGGREGATE, v.Property.AUTOCOUNT, v.Property.SCALE, v.getEncodingNestedProp("scale", "type"), v.Property.TYPE], allowWildcardForProperties: !1, strict: !0, satisfy: function(R, q, B) {
        if (!R.wildcardIndex.hasProperty(v.Property.STACK)) return !0;
        var j = R.getVlStack();
        return (j !== null || R.getStackOffset() === null) && j.fieldChannel === R.getStackChannel();
      } }, { name: "omitNonSumStack", description: "Stack specifications that use non-summative aggregates should be omitted (even implicit ones)", properties: [v.Property.CHANNEL, v.Property.MARK, v.Property.AGGREGATE, v.Property.AUTOCOUNT, v.Property.SCALE, v.getEncodingNestedProp("scale", "type"), v.Property.TYPE], allowWildcardForProperties: !1, strict: !0, satisfy: function(R, q, B) {
        var j = R.getVlStack();
        if (j != null) {
          var k = R.getEncodingQueryByChannel(j.fieldChannel);
          if (!T.contains(E.SUM_OPS, k.aggregate)) return !1;
        }
        return !0;
      } }, { name: "omitTableWithOcclusionIfAutoAddCount", description: "Plots without aggregation or autocount where x and y are both discrete should be omitted if autoAddCount is enabled as they often lead to occlusion", properties: [v.Property.CHANNEL, v.Property.TYPE, v.Property.TIMEUNIT, v.Property.BIN, v.Property.AGGREGATE, v.Property.AUTOCOUNT], allowWildcardForProperties: !1, strict: !1, satisfy: function(R, q, B) {
        if (B.autoAddCount) {
          var j = R.getEncodingQueryByChannel("x"), k = R.getEncodingQueryByChannel("y");
          if ((!w.isFieldQuery(j) || w.isDimension(j)) && (!w.isFieldQuery(k) || w.isDimension(k))) return !!R.isAggregate() && T.every(R.getEncodings(), function(U) {
            var W = U.channel;
            return !(W !== f.Channel.X && W !== f.Channel.Y && W !== f.Channel.ROW && W !== f.Channel.COLUMN && w.isFieldQuery(U) && !U.aggregate);
          });
        }
        return !0;
      } }].map(function(R) {
        return new I(R);
      }), u.SPEC_CONSTRAINT_INDEX = u.SPEC_CONSTRAINTS.reduce(function(R, q) {
        return R[q.name()] = q, R;
      }, {});
      var L = u.SPEC_CONSTRAINTS.reduce(function(R, q) {
        for (var B = 0, j = q.properties(); B < j.length; B++) {
          var k = j[B];
          R.set(k, R.get(k) || []), R.get(k).push(q);
        }
        return R;
      }, new O.PropIndex());
      u.checkSpec = s;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(18), h = a(46), E = a(15), f = a(121);
      u.VALUE_CONSTRAINTS = [{ name: "doesNotSupportConstantValue", description: "row, column, x, y, order, and detail should not work with constant values.", properties: [s.Property.TYPE, s.Property.AGGREGATE], allowWildcardForProperties: !1, strict: !0, satisfy: function(S, _, d, p) {
        return !E.contains(["row", "column", "x", "y", "detail", "order"], S.channel);
      } }].map(function(S) {
        return new f.EncodingConstraintModel(S);
      }), u.VALUE_CONSTRAINT_INDEX = u.VALUE_CONSTRAINTS.reduce(function(S, _) {
        return S[_.name()] = _, S;
      }, {}), u.VALUE_CONSTRAINTS_BY_PROPERTY = u.VALUE_CONSTRAINTS.reduce(function(S, _) {
        for (var d = 0, p = _.properties(); d < p.length; d++) {
          var b = p[d];
          S.set(b, S.get(b) || []), S.get(b).push(_);
        }
        return S;
      }, new h.PropIndex());
    }, function(A, u, a) {
      function s(b) {
        return p.get(b);
      }
      function h(b) {
        return function(m, v, O) {
          return function(T, w) {
            function P(L) {
              if (L === I.length) return void T.push(w.duplicate());
              var R = I[L], q = m.encodings[R].get(b), B = w.getEncodingQueryByIndex(R), j = w.getEncodingProperty(R, b);
              d.isValueQuery(B) || d.isDisabledAutoCountQuery(B) || !j ? P(L + 1) : (q.enum.forEach(function(k) {
                k === null && (k = void 0), w.setEncodingProperty(R, b, k, q), E.checkEncoding(b, q, R, w, v, O) || f.checkSpec(b, q, w, v, O) || P(L + 1);
              }), w.resetEncodingProperty(R, b, q));
            }
            var I = m.encodingIndicesByProperty.get(b);
            return P(0), T;
          };
        };
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(356), f = a(358), S = a(18), _ = a(46), d = a(16), p = new _.PropIndex();
      u.getEnumerator = s, p.set("mark", function(b, m, v) {
        return function(O, T) {
          return T.getMark().enum.forEach(function(w) {
            T.setMark(w), f.checkSpec("mark", b.mark, T, m, v) || O.push(T.duplicate());
          }), T.resetMark(), O;
        };
      }), S.ENCODING_TOPLEVEL_PROPS.forEach(function(b) {
        p.set(b, h(b));
      }), S.ENCODING_NESTED_PROPS.forEach(function(b) {
        p.set(b, h(b));
      }), u.EncodingPropertyGeneratorFactory = h;
    }, function(A, u, a) {
      function s(d, p, b) {
        b === void 0 && (b = h.DEFAULT_QUERY_CONFIG);
        var m = f.SpecQueryModel.build(d, p, b), v = m.wildcardIndex, O = [m];
        return b.propertyPrecedence.forEach(function(T) {
          var w = S.fromKey(T);
          if (v.hasProperty(w)) {
            var P = E.getEnumerator(w), I = P(v, p, b);
            O = O.reduce(I, []);
          }
        }), !b.stylize || b.nominalColorScaleForHighCardinality === null && b.smallRangeStepForHighCardinalityOrFacet === null && b.xAxisOnTopForHighYCardinalityWithoutColumn === null ? O : _.stylize(O, p, b);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(66), E = a(360), f = a(362), S = a(18), _ = a(374);
      u.generate = s;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(13), h = a(18), E = a(6), f = a(375), S = a(75), _ = a(16), d = a(186), p = a(74), b = a(15), m = a(26), v = a(122), O = function() {
        function T(w, P, I, L, R) {
          this._rankingScore = {}, this._spec = w, this._channelFieldCount = w.encodings.reduce(function(q, B) {
            return E.isWildcard(B.channel) || _.isAutoCountQuery(B) && B.autoCount === !1 || (q[B.channel + ""] = 1), q;
          }, {}), this._wildcardIndex = P, this._assignedWildcardIndex = R, this._opt = L, this._schema = I;
        }
        return T.build = function(w, P, I) {
          var L = new f.WildcardIndex();
          if (E.isWildcard(w.mark)) {
            var R = E.getDefaultName(h.Property.MARK);
            w.mark = E.initWildcard(w.mark, R, I.enum.mark), L.setMark(w.mark);
          }
          if (w.encodings.forEach(function(U, W) {
            _.isAutoCountQuery(U) && (console.warn("A field with autoCount should not be included as autoCount meant to be an internal object."), U.type = s.Type.QUANTITATIVE), _.isFieldQuery(U) && U.type === void 0 && (U.type = E.SHORT_WILDCARD), h.ENCODING_TOPLEVEL_PROPS.forEach(function($) {
              if (E.isWildcard(U[$])) {
                var V = E.getDefaultName($) + W, G = E.getDefaultEnumValues($, P, I), X = U[$] = E.initWildcard(U[$], V, G);
                L.setEncodingProperty(W, $, X);
              }
            }), h.ENCODING_NESTED_PROPS.forEach(function($) {
              var V = U[$.parent];
              if (V) {
                var G = $.child;
                if (E.isWildcard(V[G])) {
                  var X = E.getDefaultName($) + W, K = E.getDefaultEnumValues($, P, I), H = V[G] = E.initWildcard(V[G], X, K);
                  L.setEncodingProperty(W, $, H);
                }
              }
            });
          }), I.autoAddCount) {
            var q = { name: E.getDefaultName(h.Property.CHANNEL) + w.encodings.length, enum: E.getDefaultEnumValues(h.Property.CHANNEL, P, I) }, B = { name: E.getDefaultName(h.Property.AUTOCOUNT) + w.encodings.length, enum: [!1, !0] }, j = { channel: q, autoCount: B, type: s.Type.QUANTITATIVE };
            w.encodings.push(j);
            var k = w.encodings.length - 1;
            L.setEncodingProperty(k, h.Property.CHANNEL, q), L.setEncodingProperty(k, h.Property.AUTOCOUNT, B);
          }
          return new T(w, L, P, I, {});
        }, Object.defineProperty(T.prototype, "wildcardIndex", { get: function() {
          return this._wildcardIndex;
        }, enumerable: !0, configurable: !0 }), Object.defineProperty(T.prototype, "schema", { get: function() {
          return this._schema;
        }, enumerable: !0, configurable: !0 }), Object.defineProperty(T.prototype, "specQuery", { get: function() {
          return this._spec;
        }, enumerable: !0, configurable: !0 }), T.prototype.duplicate = function() {
          return new T(b.duplicate(this._spec), this._wildcardIndex, this._schema, this._opt, b.duplicate(this._assignedWildcardIndex));
        }, T.prototype.setMark = function(w) {
          var P = this._wildcardIndex.mark.name;
          this._assignedWildcardIndex[P] = this._spec.mark = w;
        }, T.prototype.resetMark = function() {
          var w = this._spec.mark = this._wildcardIndex.mark;
          delete this._assignedWildcardIndex[w.name];
        }, T.prototype.getMark = function() {
          return this._spec.mark;
        }, T.prototype.getEncodingProperty = function(w, P) {
          var I = this._spec.encodings[w];
          return h.isEncodingNestedProp(P) ? I[P.parent][P.child] : I[P];
        }, T.prototype.setEncodingProperty = function(w, P, I, L) {
          var R = this._spec.encodings[w];
          P === h.Property.CHANNEL && R.channel && !E.isWildcard(R.channel) && this._channelFieldCount[R.channel]--, h.isEncodingNestedProp(P) ? R[P.parent][P.child] = I : h.isEncodingNestedParent(P) && I === !0 ? R[P] = b.extend({}, R[P], { enum: void 0, name: void 0 }) : R[P] = I, this._assignedWildcardIndex[L.name] = I, P === h.Property.CHANNEL && (this._channelFieldCount[I] = (this._channelFieldCount[I] || 0) + 1);
        }, T.prototype.resetEncodingProperty = function(w, P, I) {
          var L = this._spec.encodings[w];
          P === h.Property.CHANNEL && this._channelFieldCount[L.channel]--, h.isEncodingNestedProp(P) ? L[P.parent][P.child] = I : L[P] = I, delete this._assignedWildcardIndex[I.name];
        }, T.prototype.channelUsed = function(w) {
          return this._channelFieldCount[w] > 0;
        }, T.prototype.getEncodings = function() {
          return this._spec.encodings.filter(function(w) {
            return !_.isDisabledAutoCountQuery(w);
          });
        }, T.prototype.getEncodingQueryByChannel = function(w) {
          for (var P = 0, I = this._spec.encodings; P < I.length; P++) {
            var L = I[P];
            if (L.channel === w) return L;
          }
        }, T.prototype.getEncodingQueryByIndex = function(w) {
          return this._spec.encodings[w];
        }, T.prototype.isAggregate = function() {
          return S.isAggregate(this._spec);
        }, T.prototype.getVlStack = function() {
          return S.getVlStack(this._spec);
        }, T.prototype.getStackOffset = function() {
          return S.getStackOffset(this._spec);
        }, T.prototype.getStackChannel = function() {
          return S.getStackChannel(this._spec);
        }, T.prototype.toShorthand = function(w) {
          if (w) {
            if (m.isString(w)) return v.getGroupByKey(this.specQuery, w);
            var P = d.parseGroupBy(w);
            return p.spec(this._spec, P.include, P.replacer);
          }
          return p.spec(this._spec);
        }, T.prototype.toSpec = function(w) {
          if (E.isWildcard(this._spec.mark)) return null;
          var P = {};
          return w = w || this._spec.data, w && (P.data = w), this._spec.transform && (P.transform = this._spec.transform), P.mark = this._spec.mark, P.encoding = _.toEncoding(this.specQuery.encodings, { schema: this._schema, wildcardMode: "null" }), this._spec.width && (P.width = this._spec.width), this._spec.height && (P.height = this._spec.height), this._spec.background && (P.background = this._spec.background), this._spec.padding && (P.padding = this._spec.padding), this._spec.title && (P.title = this._spec.title), P.encoding === null ? null : ((this._spec.config || this._opt.defaultSpecConfig) && (P.config = b.extend({}, this._opt.defaultSpecConfig, this._spec.config)), P);
        }, T.prototype.getRankingScore = function(w) {
          return this._rankingScore[w];
        }, T.prototype.setRankingScore = function(w, P) {
          this._rankingScore[w] = P;
        }, T;
      }();
      u.SpecQueryModel = O;
    }, function(A, u, a) {
      function s(E) {
        if (E.groupBy) {
          var f = { groupBy: E.groupBy };
          E.orderBy && (f.orderGroupBy = E.orderBy);
          var S = { spec: h.duplicate(E.spec), nest: [f] };
          return E.chooseBy && (S.chooseBy = E.chooseBy), E.config && (S.config = E.config), S;
        }
        return h.duplicate(E);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(15);
      u.normalize = s;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
    }, function(A, u, a) {
      function s(_, d, p) {
        var b = h(_);
        return { score: b.score, features: [b] };
      }
      function h(_, d, p) {
        var b = _.getEncodings();
        if (_.isAggregate()) {
          var m = function(T) {
            return S.isFieldQuery(T) && (T.type === E.Type.QUANTITATIVE && !T.bin && !T.aggregate || T.type === E.Type.TEMPORAL && !T.timeUnit);
          };
          if (f.some(b, m)) return { type: u.name, score: 0.1, feature: "Aggregate with raw continuous" };
          if (f.some(b, function(T) {
            return S.isFieldQuery(T) && S.isDimension(T);
          })) {
            var v = f.some(b, function(T) {
              return S.isFieldQuery(T) && T.aggregate === "count" || S.isEnabledAutoCountQuery(T);
            }), O = f.some(b, function(T) {
              return S.isFieldQuery(T) && !!T.bin;
            });
            return v ? { type: u.name, score: 0.8, feature: "Aggregate with count" } : O ? { type: u.name, score: 0.7, feature: "Aggregate with bin but without count" } : { type: u.name, score: 0.9, feature: "Aggregate without count and without bin" };
          }
          return { type: u.name, score: 0.3, feature: "Aggregate without dimension" };
        }
        return f.some(b, function(T) {
          return S.isFieldQuery(T) && !S.isDimension(T);
        }) ? { type: u.name, score: 1, feature: "Raw with measure" } : { type: u.name, score: 0.2, feature: "Raw without measure" };
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(13), f = a(15), S = a(16);
      u.name = "aggregationQuality", u.score = s;
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var p = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(b, m) {
          b.__proto__ = m;
        } || function(b, m) {
          for (var v in m) m.hasOwnProperty(v) && (b[v] = m[v]);
        };
        return function(b, m) {
          function v() {
            this.constructor = b;
          }
          p(b, m), b.prototype = m === null ? Object.create(m) : (v.prototype = m.prototype, new v());
        };
      }(), h = this && this.__assign || Object.assign || function(p) {
        for (var b, m = 1, v = arguments.length; m < v; m++) {
          b = arguments[m];
          for (var O in b) Object.prototype.hasOwnProperty.call(b, O) && (p[O] = b[O]);
        }
        return p;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(5), f = a(66), S = a(123), _ = a(67), d = function(p) {
        function b() {
          return p.call(this, "Axis") || this;
        }
        return s(b, p), b.prototype.initScore = function(m) {
          m === void 0 && (m = {}), m = h({}, f.DEFAULT_QUERY_CONFIG, m);
          var v = {};
          return [{ feature: S.BIN_Q, opt: "preferredBinAxis" }, { feature: S.T, opt: "preferredTemporalAxis" }, { feature: S.TIMEUNIT_T, opt: "preferredTemporalAxis" }, { feature: S.TIMEUNIT_O, opt: "preferredTemporalAxis" }, { feature: S.O, opt: "preferredOrdinalAxis" }, { feature: S.N, opt: "preferredNominalAxis" }].forEach(function(O) {
            m[O.opt] === E.Channel.X ? v[O.feature + "_" + E.Channel.Y] = -0.01 : m[O.opt] === E.Channel.Y && (v[O.feature + "_" + E.Channel.X] = -0.01);
          }), v;
        }, b.prototype.featurize = function(m, v) {
          return m + "_" + v;
        }, b.prototype.getScore = function(m, v, O) {
          var T = this;
          return m.getEncodings().reduce(function(w, P) {
            var I = S.getExtendedType(P), L = T.featurize(I, P.channel), R = T.getFeatureScore(L);
            return R && w.push(R), w;
          }, []);
        }, b;
      }(_.Scorer);
      u.AxisScorer = d;
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var S = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(_, d) {
          _.__proto__ = d;
        } || function(_, d) {
          for (var p in d) d.hasOwnProperty(p) && (_[p] = d[p]);
        };
        return function(_, d) {
          function p() {
            this.constructor = _;
          }
          S(_, d), _.prototype = d === null ? Object.create(d) : (p.prototype = d.prototype, new p());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(67), E = a(16), f = function(S) {
        function _() {
          return S.call(this, "Dimension") || this;
        }
        return s(_, S), _.prototype.initScore = function() {
          return { row: -2, column: -2, color: 0, opacity: 0, size: 0, shape: 0 };
        }, _.prototype.getScore = function(d, p, b) {
          var m = this;
          return d.isAggregate() && d.getEncodings().reduce(function(v, O) {
            if (E.isFieldQuery(O) && !O.aggregate) {
              var T = m.getFeatureScore(O.channel + "");
              if (T && T.score > v.score) return T;
            }
            return v;
          }, { type: "Dimension", feature: "No Dimension", score: -5 }), [];
        }, _;
      }(h.Scorer);
      u.DimensionScorer = f;
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var d = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(p, b) {
          p.__proto__ = b;
        } || function(p, b) {
          for (var m in b) b.hasOwnProperty(m) && (p[m] = b[m]);
        };
        return function(p, b) {
          function m() {
            this.constructor = p;
          }
          d(p, b), p.prototype = b === null ? Object.create(b) : (m.prototype = b.prototype, new m());
        };
      }(), h = this && this.__assign || Object.assign || function(d) {
        for (var p, b = 1, m = arguments.length; b < m; b++) {
          p = arguments[b];
          for (var v in p) Object.prototype.hasOwnProperty.call(p, v) && (d[v] = p[v]);
        }
        return d;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(67), f = a(66), S = a(5), _ = function(d) {
        function p() {
          return d.call(this, "Facet") || this;
        }
        return s(p, d), p.prototype.initScore = function(b) {
          b = h({}, f.DEFAULT_QUERY_CONFIG, b);
          var m = {};
          return b.preferredFacet === S.Channel.ROW ? m[S.Channel.COLUMN] = -0.01 : b.preferredFacet === S.Channel.COLUMN && (m[S.Channel.ROW] = -0.01), m;
        }, p.prototype.getScore = function(b, m, v) {
          var O = this;
          return b.getEncodings().reduce(function(T, w) {
            var P = O.getFeatureScore(w.channel);
            return P && T.push(P), T;
          }, []);
        }, p;
      }(E.Scorer);
      u.FacetScorer = _;
    }, function(A, u, a) {
      function s(m, v, O, T) {
        return m + "_" + v + "_" + O + "_" + T;
      }
      function h() {
        var m = [d.Q, d.T], v = [d.BIN_Q, d.TIMEUNIT_O, d.O, d.N, d.K], O = v.concat([d.NONE]), T = {};
        return m.forEach(function(w) {
          m.forEach(function(P) {
            var I = { point: 0, text: -0.2, tick: -0.5, rect: -1, bar: -2, line: -2, area: -2, rule: -2.5 };
            _.forEach(I, function(R, q) {
              var B = s(w, P, !0, q);
              T[B] = R;
            });
            var L = { point: 0, text: -0.2, tick: -0.5, bar: -2, line: -2, area: -2, rule: -2.5 };
            _.forEach(L, function(R, q) {
              var B = s(w, P, !1, q);
              T[B] = R;
            });
          });
        }), m.forEach(function(w) {
          O.forEach(function(P) {
            var I = { tick: 0, point: -0.2, text: -0.5, bar: -2, line: -2, area: -2, rule: -2.5 };
            _.forEach(I, function(L, R) {
              var q = s(w, P, !0, R);
              T[q] = L;
              var B = s(P, w, !0, R);
              T[B] = L;
            });
          }), [d.TIMEUNIT_T].forEach(function(P) {
            var I = { point: 0, text: -0.5, tick: -1, bar: -2, line: -2, area: -2, rule: -2.5 };
            _.forEach(I, function(L, R) {
              var q = s(w, P, !0, R);
              T[q] = L;
              var B = s(P, w, !0, R);
              T[B] = L;
            });
          }), [d.NONE, d.N, d.O, d.K].forEach(function(P) {
            var I = { bar: 0, point: -0.2, tick: -0.25, text: -0.3, line: -2, area: -2, rule: -2.5 };
            _.forEach(I, function(L, R) {
              var q = s(w, P, !1, R);
              T[q] = L;
              var B = s(P, w, !1, R);
              T[B] = L;
            });
          }), [d.BIN_Q].forEach(function(P) {
            var I = { bar: 0, point: -0.2, tick: -0.25, text: -0.3, line: -0.5, area: -0.5, rule: -2.5 };
            _.forEach(I, function(L, R) {
              var q = s(w, P, !1, R);
              T[q] = L;
              var B = s(P, w, !1, R);
              T[B] = L;
            });
          }), [d.TIMEUNIT_T, d.TIMEUNIT_O].forEach(function(P) {
            var I = { line: 0, area: -0.1, bar: -0.2, point: -0.3, tick: -0.35, text: -0.4, rule: -2.5 };
            _.forEach(I, function(L, R) {
              var q = s(w, P, !1, R);
              T[q] = L;
              var B = s(P, w, !1, R);
              T[B] = L;
            });
          });
        }), [d.TIMEUNIT_T].forEach(function(w) {
          [d.TIMEUNIT_T].forEach(function(P) {
            var I = { point: 0, rect: -0.1, text: -0.5, tick: -1, bar: -2, line: -2, area: -2, rule: -2.5 };
            _.forEach(I, function(L, R) {
              var q = s(w, P, !0, R);
              T[q] = L;
            }), _.forEach(I, function(L, R) {
              var q = s(w, P, !1, R);
              T[q] = L;
            });
          }), O.forEach(function(P) {
            var I = { tick: 0, point: -0.2, text: -0.5, rect: -1, bar: -2, line: -2, area: -2, rule: -2.5 };
            _.forEach(I, function(L, R) {
              var q = s(w, P, !0, R);
              T[q] = L;
            }), _.forEach(I, function(L, R) {
              var q = s(P, w, !0, R);
              T[q] = L;
            }), _.forEach(I, function(L, R) {
              var q = s(w, P, !1, R);
              T[q] = L;
            }), _.forEach(I, function(L, R) {
              var q = s(P, w, !1, R);
              T[q] = L;
            });
          });
        }), O.forEach(function(w) {
          O.forEach(function(P) {
            var I = { point: 0, rect: 0, text: -0.1, tick: -1, bar: -2, line: -2, area: -2, rule: -2.5 };
            _.forEach(I, function(L, R) {
              var q = s(w, P, !0, R);
              T[q] = L;
            }), _.forEach(I, function(L, R) {
              var q = s(w, P, !1, R);
              T[q] = L;
            });
          });
        }), T;
      }
      var E = this && this.__extends || function() {
        var m = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(v, O) {
          v.__proto__ = O;
        } || function(v, O) {
          for (var T in O) O.hasOwnProperty(T) && (v[T] = O[T]);
        };
        return function(v, O) {
          function T() {
            this.constructor = v;
          }
          m(v, O), v.prototype = O === null ? Object.create(O) : (T.prototype = O.prototype, new T());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = a(5), S = a(28), _ = a(15), d = a(123), p = a(67), b = function(m) {
        function v() {
          return m.call(this, "Mark") || this;
        }
        return E(v, m), v.prototype.initScore = function() {
          return h();
        }, v.prototype.getScore = function(O, T, w) {
          var P = O.getMark();
          P !== S.Mark.CIRCLE && P !== S.Mark.SQUARE || (P = S.Mark.POINT);
          var I = O.getEncodingQueryByChannel(f.Channel.X), L = I ? d.getExtendedType(I) : d.NONE, R = O.getEncodingQueryByChannel(f.Channel.Y), q = R ? d.getExtendedType(R) : d.NONE, B = !O.isAggregate(), j = L + "_" + q + "_" + B + "_" + P;
          return [this.getFeatureScore(j)];
        }, v;
      }(p.Scorer);
      u.MarkScorer = b, u.featurize = s;
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var f = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(S, _) {
          S.__proto__ = _;
        } || function(S, _) {
          for (var d in _) _.hasOwnProperty(d) && (S[d] = _[d]);
        };
        return function(S, _) {
          function d() {
            this.constructor = S;
          }
          f(S, _), S.prototype = _ === null ? Object.create(_) : (d.prototype = _.prototype, new d());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(67), E = function(f) {
        function S() {
          return f.call(this, "SizeChannel") || this;
        }
        return s(S, f), S.prototype.initScore = function() {
          return { bar_size: -2, tick_size: -2 };
        }, S.prototype.getScore = function(_, d, p) {
          var b = this, m = _.getMark();
          return _.getEncodings().reduce(function(v, O) {
            var T = m + "_" + O.channel, w = b.getFeatureScore(T);
            return w && v.push(w), v;
          }, []);
        }, S;
      }(h.Scorer);
      u.SizeChannelScorer = E;
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var d = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(p, b) {
          p.__proto__ = b;
        } || function(p, b) {
          for (var m in b) b.hasOwnProperty(m) && (p[m] = b[m]);
        };
        return function(p, b) {
          function m() {
            this.constructor = p;
          }
          d(p, b), p.prototype = b === null ? Object.create(b) : (m.prototype = b.prototype, new m());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(74), E = a(15), f = a(123), S = a(67);
      u.TERRIBLE = -10;
      var _ = function(d) {
        function p() {
          return d.call(this, "TypeChannel") || this;
        }
        return s(p, d), p.prototype.initScore = function() {
          var b = this, m = {}, v = { x: 0, y: 0, size: -0.575, color: -0.725, text: -2, opacity: -3, shape: u.TERRIBLE, row: u.TERRIBLE, column: u.TERRIBLE, detail: 2 * u.TERRIBLE };
          [f.Q, f.T, f.TIMEUNIT_T].forEach(function(w) {
            E.keys(v).forEach(function(P) {
              m[b.featurize(w, P)] = v[P];
            });
          });
          var O = E.extend({}, v, { row: -0.75, column: -0.75, shape: -3.1, text: -3.2, detail: -4 });
          [f.BIN_Q, f.TIMEUNIT_O, f.O].forEach(function(w) {
            E.keys(O).forEach(function(P) {
              m[b.featurize(w, P)] = O[P];
            });
          });
          var T = { x: 0, y: 0, color: -0.6, shape: -0.65, row: -0.7, column: -0.7, text: -0.8, detail: -2, size: -3, opacity: -3.1 };
          return E.keys(T).forEach(function(w) {
            m[b.featurize(f.N, w)] = T[w], m[b.featurize(f.K, w)] = E.contains(["x", "y", "detail"], w) ? -1 : T[w] - 2;
          }), m;
        }, p.prototype.featurize = function(b, m) {
          return b + "_" + m;
        }, p.prototype.getScore = function(b, m, v) {
          var O = this, T = b.getEncodings().reduce(function(P, I) {
            var L = h.fieldDef(I);
            return (P[L] = P[L] || []).push(I), P;
          }, {}), w = [];
          return E.forEach(T, function(P) {
            var I = P.reduce(function(L, R) {
              var q = f.getExtendedType(R), B = O.featurize(q, R.channel), j = O.getFeatureScore(B);
              return L === null || j.score > L.score ? j : L;
            }, null);
            w.push(I);
          }), w;
        }, p;
      }(S.Scorer);
      u.TypeChannelScorer = _;
    }, function(A, u, a) {
      function s(E, f, S) {
        var _ = E.wildcardIndex.encodingIndicesByProperty.get("field");
        if (!_) return { score: 0, features: [] };
        for (var d = E.specQuery.encodings, p = f.fieldSchemas.length, b = [], m = 0, v = 1, O = _.length - 1; O >= 0; O--) {
          var T = _[O], w = d[T], P = void 0;
          if (h.isFieldQuery(w)) {
            P = w.field;
            var I = E.wildcardIndex.encodings[T].get("field"), L = f.fieldSchema(P).index, R = -L * v;
            m += R, b.push({ score: R, type: "fieldOrder", feature: "field " + I.name + " is " + P + " (#" + L + " in the schema)" }), v *= p;
          }
        }
        return { score: m, features: b };
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(16);
      u.name = "fieldOrder", u.score = s;
    }, function(A, u, a) {
      function s(T, w) {
        O[T] = w;
      }
      function h(T) {
        return O[T];
      }
      function E(T, w, P, I) {
        return w.nest && I !== w.nest.length ? (T.items.forEach(function(L) {
          E(L, w, P, I + 1);
        }), w.nest[I].orderGroupBy && T.items.sort(S(w.nest[I].orderGroupBy, P, w.config))) : (w.orderBy || w.chooseBy) && (T.items.sort(f(w.orderBy || w.chooseBy, P, w.config)), w.chooseBy && T.items.length > 0 && T.items.splice(1)), T;
      }
      function f(T, w, P) {
        return function(I, L) {
          return T instanceof Array ? _(T, I, L, w, P) : _([T], I, L, w, P);
        };
      }
      function S(T, w, P) {
        return function(I, L) {
          var R = p.getTopResultTreeItem(I), q = p.getTopResultTreeItem(L);
          return T instanceof Array ? _(T, R, q, w, P) : _([T], R, q, w, P);
        };
      }
      function _(T, w, P, I, L) {
        for (var R = 0, q = T; R < q.length; R++) {
          var B = q[R], j = d(P, B, I, L).score - d(w, B, I, L).score;
          if (j !== 0) return j;
        }
        return 0;
      }
      function d(T, w, P, I) {
        if (T.getRankingScore(w) !== void 0) return T.getRankingScore(w);
        var L = h(w), R = L(T, P, I);
        return T.setRankingScore(w, R), R;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var p = a(124), b = a(187);
      (function(T) {
        for (var w in T) u.hasOwnProperty(w) || (u[w] = T[w]);
      })(a(187));
      var m = a(365);
      u.aggregation = m;
      var v = a(372);
      u.fieldOrder = v;
      var O = {};
      u.register = s, u.get = h, u.rank = E, u.comparatorFactory = f, u.groupComparatorFactory = S, u.getScore = d, u.EFFECTIVENESS = "effectiveness", s(u.EFFECTIVENESS, b.effectiveness), s(m.name, m.score), s(v.name, v.score);
    }, function(A, u, a) {
      function s(m, v, O) {
        var T = {};
        return m = m.map(function(w) {
          return O.smallRangeStepForHighCardinalityOrFacet && (w = h(w, v, T, O)), O.nominalColorScaleForHighCardinality && (w = E(w, v, T, O)), O.xAxisOnTopForHighYCardinalityWithoutColumn && (w = f(w, v, T, O)), w;
        });
      }
      function h(m, v, O, T) {
        [S.Channel.ROW, S.Channel.Y, S.Channel.COLUMN, S.Channel.X].forEach(function(R) {
          O[R] = m.getEncodingQueryByChannel(R);
        });
        var w = O[S.Channel.Y];
        if (w !== void 0 && p.isFieldQuery(w) && (O[S.Channel.ROW] || v.cardinality(w) > T.smallRangeStepForHighCardinalityOrFacet.maxCardinality)) {
          w.scale === void 0 && (w.scale = {});
          var P = p.scaleType(w);
          w.scale && (P === void 0 || _.hasDiscreteDomain(P)) && (w.scale.rangeStep || (w.scale.rangeStep = 12));
        }
        var I = O[S.Channel.X];
        if (p.isFieldQuery(I) && (O[S.Channel.COLUMN] || v.cardinality(I) > T.smallRangeStepForHighCardinalityOrFacet.maxCardinality)) {
          I.scale === void 0 && (I.scale = {});
          var L = p.scaleType(I);
          I.scale && (L === void 0 || _.hasDiscreteDomain(L)) && (I.scale.rangeStep || (I.scale.rangeStep = 12));
        }
        return m;
      }
      function E(m, v, O, T) {
        O[S.Channel.COLOR] = m.getEncodingQueryByChannel(S.Channel.COLOR);
        var w = O[S.Channel.COLOR];
        return p.isFieldQuery(w) && w !== void 0 && (w.type === d.Type.NOMINAL || w.type === b.ExpandedType.KEY) && v.cardinality(w) > T.nominalColorScaleForHighCardinality.maxCardinality && (w.scale === void 0 && (w.scale = {}), w.scale && (w.scale.range || (w.scale.scheme = T.nominalColorScaleForHighCardinality.palette))), m;
      }
      function f(m, v, O, T) {
        if ([S.Channel.COLUMN, S.Channel.X, S.Channel.Y].forEach(function(I) {
          O[I] = m.getEncodingQueryByChannel(I);
        }), O[S.Channel.COLUMN] === void 0) {
          var w = O[S.Channel.X], P = O[S.Channel.Y];
          p.isFieldQuery(w) && p.isFieldQuery(P) && P !== void 0 && P.field && _.hasDiscreteDomain(p.scaleType(P)) && w !== void 0 && v.cardinality(P) > T.xAxisOnTopForHighYCardinalityWithoutColumn.maxCardinality && (w.axis === void 0 && (w.axis = {}), w.axis && !w.axis.orient && (w.axis.orient = "top"));
        }
        return m;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var S = a(5), _ = a(9), d = a(13), p = a(16), b = a(34);
      u.stylize = s, u.smallRangeStepForHighCardinalityOrFacet = h, u.nominalColorScaleForHighCardinality = E, u.xAxisOnTopForHighYCardinalityWithoutColumn = f;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(18), h = a(46), E = function() {
        function f() {
          this._mark = void 0, this._encodings = {}, this._encodingIndicesByProperty = new h.PropIndex();
        }
        return f.prototype.setEncodingProperty = function(S, _, d) {
          var p = this._encodings;
          (p[S] = p[S] || new h.PropIndex()).set(_, d);
          var b = this._encodingIndicesByProperty;
          return b.set(_, b.get(_) || []), b.get(_).push(S), this;
        }, f.prototype.hasEncodingProperty = function(S, _) {
          return !!this._encodings[S] && this._encodings[S].has(_);
        }, f.prototype.hasProperty = function(S) {
          if (s.isEncodingProperty(S)) return this.encodingIndicesByProperty.has(S);
          if (S === "mark") return !!this.mark;
          throw new Error("Unimplemented for property " + S);
        }, f.prototype.isEmpty = function() {
          return !this.mark && this.encodingIndicesByProperty.size() === 0;
        }, f.prototype.setMark = function(S) {
          return this._mark = S, this;
        }, Object.defineProperty(f.prototype, "mark", { get: function() {
          return this._mark;
        }, enumerable: !0, configurable: !0 }), Object.defineProperty(f.prototype, "encodings", { get: function() {
          return this._encodings;
        }, enumerable: !0, configurable: !0 }), Object.defineProperty(f.prototype, "encodingIndicesByProperty", { get: function() {
          return this._encodingIndicesByProperty;
        }, enumerable: !0, configurable: !0 }), f;
      }();
      u.WildcardIndex = E;
    }, function(A, u, a) {
      function s(f) {
        if (!f || !f.nodeType) throw new Error("A DOM element reference is required");
        this.el = f, this.list = f.classList;
      }
      try {
        var h = a(189);
      } catch {
        var h = a(189);
      }
      var E = Object.prototype.toString;
      A.exports = function(f) {
        return new s(f);
      }, s.prototype.add = function(f) {
        if (this.list) return this.list.add(f), this;
        var S = this.array();
        return ~h(S, f) || S.push(f), this.el.className = S.join(" "), this;
      }, s.prototype.remove = function(f) {
        if (E.call(f) == "[object RegExp]") return this.removeMatching(f);
        if (this.list) return this.list.remove(f), this;
        var S = this.array(), _ = h(S, f);
        return ~_ && S.splice(_, 1), this.el.className = S.join(" "), this;
      }, s.prototype.removeMatching = function(f) {
        for (var S = this.array(), _ = 0; _ < S.length; _++) f.test(S[_]) && this.remove(S[_]);
        return this;
      }, s.prototype.toggle = function(f, S) {
        return this.list ? (S !== void 0 ? S !== this.list.toggle(f, S) && this.list.toggle(f) : this.list.toggle(f), this) : (S !== void 0 ? S ? this.add(f) : this.remove(f) : this.has(f) ? this.remove(f) : this.add(f), this);
      }, s.prototype.array = function() {
        var f = this.el.getAttribute("class") || "", S = f.replace(/^\s+|\s+$/g, ""), _ = S.split(/\s+/);
        return _[0] === "" && _.shift(), _;
      }, s.prototype.has = s.prototype.contains = function(f) {
        return this.list ? this.list.contains(f) : !!~h(this.array(), f);
      };
    }, function(A, u, a) {
      function s(S) {
        var _ = (/mac os x/i.test(navigator.userAgent) ? "⌘" : "Ctrl") + "+C";
        return S.replace(/#{\s*key\s*}/g, _);
      }
      function h(S, _) {
        var d, p, b, m, v, O, T = !1;
        _ || (_ = {}), d = _.debug || !1;
        try {
          if (b = E(), m = document.createRange(), v = document.getSelection(), O = document.createElement("span"), O.textContent = S, O.style.all = "unset", O.style.position = "fixed", O.style.top = 0, O.style.clip = "rect(0, 0, 0, 0)", O.style.whiteSpace = "pre", O.style.webkitUserSelect = "text", O.style.MozUserSelect = "text", O.style.msUserSelect = "text", O.style.userSelect = "text", document.body.appendChild(O), m.selectNode(O), v.addRange(m), !document.execCommand("copy")) throw new Error("copy command was unsuccessful");
          T = !0;
        } catch (w) {
          d && console.error("unable to copy using execCommand: ", w), d && console.warn("trying IE specific stuff");
          try {
            window.clipboardData.setData("text", S), T = !0;
          } catch (P) {
            d && console.error("unable to copy using clipboardData: ", P), d && console.error("falling back to prompt"), p = s("message" in _ ? _.message : f), window.prompt(p, S);
          }
        } finally {
          v && (typeof v.removeRange == "function" ? v.removeRange(m) : v.removeAllRanges()), O && document.body.removeChild(O), b();
        }
        return T;
      }
      var E = a(590), f = "Copy to clipboard: #{key}, Enter";
      A.exports = h;
    }, function(A, u, a) {
      a(200), a(409), A.exports = a(25).Array.from;
    }, function(A, u, a) {
      a(411), A.exports = a(25).Object.assign;
    }, function(A, u, a) {
      a(412);
      var s = a(25).Object;
      A.exports = function(h, E) {
        return s.create(h, E);
      };
    }, function(A, u, a) {
      a(413);
      var s = a(25).Object;
      A.exports = function(h, E, f) {
        return s.defineProperty(h, E, f);
      };
    }, function(A, u, a) {
      a(414);
      var s = a(25).Object;
      A.exports = function(h, E) {
        return s.getOwnPropertyDescriptor(h, E);
      };
    }, function(A, u, a) {
      a(415), A.exports = a(25).Object.getPrototypeOf;
    }, function(A, u, a) {
      a(416), A.exports = a(25).Object.setPrototypeOf;
    }, function(A, u, a) {
      a(418), a(417), a(419), a(420), A.exports = a(25).Symbol;
    }, function(A, u, a) {
      a(200), a(421), A.exports = a(139).f("iterator");
    }, function(A, u) {
      A.exports = function(a) {
        if (typeof a != "function") throw TypeError(a + " is not a function!");
        return a;
      };
    }, function(A, u) {
      A.exports = function() {
      };
    }, function(A, u, a) {
      var s = a(50), h = a(199), E = a(407);
      A.exports = function(f) {
        return function(S, _, d) {
          var p, b = s(S), m = h(b.length), v = E(d, m);
          if (f && _ != _) {
            for (; m > v; ) if ((p = b[v++]) != p) return !0;
          } else for (; m > v; v++) if ((f || v in b) && b[v] === _) return f || v || 0;
          return !f && -1;
        };
      };
    }, function(A, u, a) {
      var s = a(125), h = a(36)("toStringTag"), E = s(/* @__PURE__ */ function() {
        return arguments;
      }()) == "Arguments", f = function(S, _) {
        try {
          return S[_];
        } catch {
        }
      };
      A.exports = function(S) {
        var _, d, p;
        return S === void 0 ? "Undefined" : S === null ? "Null" : typeof (d = f(_ = Object(S), h)) == "string" ? d : E ? s(_) : (p = s(_)) == "Object" && typeof _.callee == "function" ? "Arguments" : p;
      };
    }, function(A, u, a) {
      var s = a(49), h = a(79);
      A.exports = function(E, f, S) {
        f in E ? s.f(E, f, h(0, S)) : E[f] = S;
      };
    }, function(A, u, a) {
      var s = a(78), h = a(132), E = a(98);
      A.exports = function(f) {
        var S = s(f), _ = h.f;
        if (_) for (var d, p = _(f), b = E.f, m = 0; p.length > m; ) b.call(f, d = p[m++]) && S.push(d);
        return S;
      };
    }, function(A, u, a) {
      A.exports = a(48).document && document.documentElement;
    }, function(A, u, a) {
      var s = a(77), h = a(36)("iterator"), E = Array.prototype;
      A.exports = function(f) {
        return f !== void 0 && (s.Array === f || E[h] === f);
      };
    }, function(A, u, a) {
      var s = a(125);
      A.exports = Array.isArray || function(h) {
        return s(h) == "Array";
      };
    }, function(A, u, a) {
      var s = a(68);
      A.exports = function(h, E, f, S) {
        try {
          return S ? E(s(f)[0], f[1]) : E(f);
        } catch (d) {
          var _ = h.return;
          throw _ !== void 0 && s(_.call(h)), d;
        }
      };
    }, function(A, u, a) {
      var s = a(130), h = a(79), E = a(133), f = {};
      a(70)(f, a(36)("iterator"), function() {
        return this;
      }), A.exports = function(S, _, d) {
        S.prototype = s(f, { next: h(1, d) }), E(S, _ + " Iterator");
      };
    }, function(A, u, a) {
      var s = a(36)("iterator"), h = !1;
      try {
        var E = [7][s]();
        E.return = function() {
          h = !0;
        }, Array.from(E, function() {
          throw 2;
        });
      } catch {
      }
      A.exports = function(f, S) {
        if (!S && !h) return !1;
        var _ = !1;
        try {
          var d = [7], p = d[s]();
          p.next = function() {
            return { done: _ = !0 };
          }, d[s] = function() {
            return p;
          }, f(d);
        } catch {
        }
        return _;
      };
    }, function(A, u) {
      A.exports = function(a, s) {
        return { value: s, done: !!a };
      };
    }, function(A, u, a) {
      var s = a(78), h = a(50);
      A.exports = function(E, f) {
        for (var S, _ = h(E), d = s(_), p = d.length, b = 0; p > b; ) if (_[S = d[b++]] === f) return S;
      };
    }, function(A, u, a) {
      var s = a(100)("meta"), h = a(76), E = a(59), f = a(49).f, S = 0, _ = Object.isExtensible || function() {
        return !0;
      }, d = !a(69)(function() {
        return _(Object.preventExtensions({}));
      }), p = function(T) {
        f(T, s, { value: { i: "O" + ++S, w: {} } });
      }, b = function(T, w) {
        if (!h(T)) return typeof T == "symbol" ? T : (typeof T == "string" ? "S" : "P") + T;
        if (!E(T, s)) {
          if (!_(T)) return "F";
          if (!w) return "E";
          p(T);
        }
        return T[s].i;
      }, m = function(T, w) {
        if (!E(T, s)) {
          if (!_(T)) return !0;
          if (!w) return !1;
          p(T);
        }
        return T[s].w;
      }, v = function(T) {
        return d && O.NEED && _(T) && !E(T, s) && p(T), T;
      }, O = A.exports = { KEY: s, NEED: !1, fastKey: b, getWeak: m, onFreeze: v };
    }, function(A, u, a) {
      var s = a(78), h = a(132), E = a(98), f = a(99), S = a(192), _ = Object.assign;
      A.exports = !_ || a(69)(function() {
        var d = {}, p = {}, b = Symbol(), m = "abcdefghijklmnopqrst";
        return d[b] = 7, m.split("").forEach(function(v) {
          p[v] = v;
        }), _({}, d)[b] != 7 || Object.keys(_({}, p)).join("") != m;
      }) ? function(d, p) {
        for (var b = f(d), m = arguments.length, v = 1, O = h.f, T = E.f; m > v; ) for (var w, P = S(arguments[v++]), I = O ? s(P).concat(O(P)) : s(P), L = I.length, R = 0; L > R; ) T.call(P, w = I[R++]) && (b[w] = P[w]);
        return b;
      } : _;
    }, function(A, u, a) {
      var s = a(49), h = a(68), E = a(78);
      A.exports = a(58) ? Object.defineProperties : function(f, S) {
        h(f);
        for (var _, d = E(S), p = d.length, b = 0; p > b; ) s.f(f, _ = d[b++], S[_]);
        return f;
      };
    }, function(A, u, a) {
      var s = a(50), h = a(194).f, E = {}.toString, f = typeof window == "object" && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [], S = function(_) {
        try {
          return h(_);
        } catch {
          return f.slice();
        }
      };
      A.exports.f = function(_) {
        return f && E.call(_) == "[object Window]" ? S(_) : h(s(_));
      };
    }, function(A, u, a) {
      var s = a(76), h = a(68), E = function(f, S) {
        if (h(f), !s(S) && S !== null) throw TypeError(S + ": can't set as prototype!");
      };
      A.exports = { set: Object.setPrototypeOf || ("__proto__" in {} ? function(f, S, _) {
        try {
          _ = a(126)(Function.call, a(131).f(Object.prototype, "__proto__").set, 2), _(f, []), S = !(f instanceof Array);
        } catch {
          S = !0;
        }
        return function(d, p) {
          return E(d, p), S ? d.__proto__ = p : _(d, p), d;
        };
      }({}, !1) : void 0), check: E };
    }, function(A, u, a) {
      var s = a(136), h = a(127);
      A.exports = function(E) {
        return function(f, S) {
          var _, d, p = String(h(f)), b = s(S), m = p.length;
          return b < 0 || b >= m ? E ? "" : void 0 : (_ = p.charCodeAt(b), _ < 55296 || _ > 56319 || b + 1 === m || (d = p.charCodeAt(b + 1)) < 56320 || d > 57343 ? E ? p.charAt(b) : _ : E ? p.slice(b, b + 2) : d - 56320 + (_ - 55296 << 10) + 65536);
        };
      };
    }, function(A, u, a) {
      var s = a(136), h = Math.max, E = Math.min;
      A.exports = function(f, S) {
        return f = s(f), f < 0 ? h(f + S, 0) : E(f, S);
      };
    }, function(A, u, a) {
      var s = a(390), h = a(36)("iterator"), E = a(77);
      A.exports = a(25).getIteratorMethod = function(f) {
        if (f != null) return f[h] || f["@@iterator"] || E[s(f)];
      };
    }, function(A, u, a) {
      var s = a(126), h = a(47), E = a(99), f = a(396), S = a(394), _ = a(199), d = a(391), p = a(408);
      h(h.S + h.F * !a(398)(function(b) {
        Array.from(b);
      }), "Array", { from: function(b) {
        var m, v, O, T, w = E(b), P = typeof this == "function" ? this : Array, I = arguments.length, L = I > 1 ? arguments[1] : void 0, R = L !== void 0, q = 0, B = p(w);
        if (R && (L = s(L, I > 2 ? arguments[2] : void 0, 2)), B == null || P == Array && S(B)) for (m = _(w.length), v = new P(m); m > q; q++) d(v, q, R ? L(w[q], q) : w[q]);
        else for (T = B.call(w), v = new P(); !(O = T.next()).done; q++) d(v, q, R ? f(T, L, [O.value, q], !0) : O.value);
        return v.length = q, v;
      } });
    }, function(A, u, a) {
      var s = a(388), h = a(399), E = a(77), f = a(50);
      A.exports = a(193)(Array, "Array", function(S, _) {
        this._t = f(S), this._i = 0, this._k = _;
      }, function() {
        var S = this._t, _ = this._k, d = this._i++;
        return !S || d >= S.length ? (this._t = void 0, h(1)) : _ == "keys" ? h(0, d) : _ == "values" ? h(0, S[d]) : h(0, [d, S[d]]);
      }, "values"), E.Arguments = E.Array, s("keys"), s("values"), s("entries");
    }, function(A, u, a) {
      var s = a(47);
      s(s.S + s.F, "Object", { assign: a(402) });
    }, function(A, u, a) {
      var s = a(47);
      s(s.S, "Object", { create: a(130) });
    }, function(A, u, a) {
      var s = a(47);
      s(s.S + s.F * !a(58), "Object", { defineProperty: a(49).f });
    }, function(A, u, a) {
      var s = a(50), h = a(131).f;
      a(197)("getOwnPropertyDescriptor", function() {
        return function(E, f) {
          return h(s(E), f);
        };
      });
    }, function(A, u, a) {
      var s = a(99), h = a(195);
      a(197)("getPrototypeOf", function() {
        return function(E) {
          return h(s(E));
        };
      });
    }, function(A, u, a) {
      var s = a(47);
      s(s.S, "Object", { setPrototypeOf: a(405).set });
    }, function(A, u) {
    }, function(A, u, a) {
      var s = a(48), h = a(59), E = a(58), f = a(47), S = a(198), _ = a(401).KEY, d = a(69), p = a(135), b = a(133), m = a(100), v = a(36), O = a(139), T = a(138), w = a(400), P = a(392), I = a(395), L = a(68), R = a(50), q = a(137), B = a(79), j = a(130), k = a(404), U = a(131), W = a(49), $ = a(78), V = U.f, G = W.f, X = k.f, K = s.Symbol, H = s.JSON, Y = H && H.stringify, Q = v("_hidden"), Z = v("toPrimitive"), J = {}.propertyIsEnumerable, ne = p("symbol-registry"), ie = p("symbols"), re = p("op-symbols"), ee = Object.prototype, te = typeof K == "function", ue = s.QObject, le = !ue || !ue.prototype || !ue.prototype.findChild, ae = E && d(function() {
        return j(G({}, "a", { get: function() {
          return G(this, "a", { value: 7 }).a;
        } })).a != 7;
      }) ? function(oe, se, fe) {
        var be = V(ee, se);
        be && delete ee[se], G(oe, se, fe), be && oe !== ee && G(ee, se, be);
      } : G, ce = function(oe) {
        var se = ie[oe] = j(K.prototype);
        return se._k = oe, se;
      }, pe = te && typeof K.iterator == "symbol" ? function(oe) {
        return typeof oe == "symbol";
      } : function(oe) {
        return oe instanceof K;
      }, de = function(oe, se, fe) {
        return oe === ee && de(re, se, fe), L(oe), se = q(se, !0), L(fe), h(ie, se) ? (fe.enumerable ? (h(oe, Q) && oe[Q][se] && (oe[Q][se] = !1), fe = j(fe, { enumerable: B(0, !1) })) : (h(oe, Q) || G(oe, Q, B(1, {})), oe[Q][se] = !0), ae(oe, se, fe)) : G(oe, se, fe);
      }, he = function(oe, se) {
        L(oe);
        for (var fe, be = P(se = R(se)), Se = 0, Ae = be.length; Ae > Se; ) de(oe, fe = be[Se++], se[fe]);
        return oe;
      }, Ee = function(oe, se) {
        return se === void 0 ? j(oe) : he(j(oe), se);
      }, ye = function(oe) {
        var se = J.call(this, oe = q(oe, !0));
        return !(this === ee && h(ie, oe) && !h(re, oe)) && (!(se || !h(this, oe) || !h(ie, oe) || h(this, Q) && this[Q][oe]) || se);
      }, _e = function(oe, se) {
        if (oe = R(oe), se = q(se, !0), oe !== ee || !h(ie, se) || h(re, se)) {
          var fe = V(oe, se);
          return !fe || !h(ie, se) || h(oe, Q) && oe[Q][se] || (fe.enumerable = !0), fe;
        }
      }, ge = function(oe) {
        for (var se, fe = X(R(oe)), be = [], Se = 0; fe.length > Se; ) h(ie, se = fe[Se++]) || se == Q || se == _ || be.push(se);
        return be;
      }, Me = function(oe) {
        for (var se, fe = oe === ee, be = X(fe ? re : R(oe)), Se = [], Ae = 0; be.length > Ae; ) !h(ie, se = be[Ae++]) || fe && !h(ee, se) || Se.push(ie[se]);
        return Se;
      };
      te || (K = function() {
        if (this instanceof K) throw TypeError("Symbol is not a constructor!");
        var oe = m(arguments.length > 0 ? arguments[0] : void 0), se = function(fe) {
          this === ee && se.call(re, fe), h(this, Q) && h(this[Q], oe) && (this[Q][oe] = !1), ae(this, oe, B(1, fe));
        };
        return E && le && ae(ee, oe, { configurable: !0, set: se }), ce(oe);
      }, S(K.prototype, "toString", function() {
        return this._k;
      }), U.f = _e, W.f = de, a(194).f = k.f = ge, a(98).f = ye, a(132).f = Me, E && !a(129) && S(ee, "propertyIsEnumerable", ye, !0), O.f = function(oe) {
        return ce(v(oe));
      }), f(f.G + f.W + f.F * !te, { Symbol: K });
      for (var Te = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), De = 0; Te.length > De; ) v(Te[De++]);
      for (var Te = $(v.store), De = 0; Te.length > De; ) T(Te[De++]);
      f(f.S + f.F * !te, "Symbol", { for: function(oe) {
        return h(ne, oe += "") ? ne[oe] : ne[oe] = K(oe);
      }, keyFor: function(oe) {
        if (pe(oe)) return w(ne, oe);
        throw TypeError(oe + " is not a symbol!");
      }, useSetter: function() {
        le = !0;
      }, useSimple: function() {
        le = !1;
      } }), f(f.S + f.F * !te, "Object", { create: Ee, defineProperty: de, defineProperties: he, getOwnPropertyDescriptor: _e, getOwnPropertyNames: ge, getOwnPropertySymbols: Me }), H && f(f.S + f.F * (!te || d(function() {
        var oe = K();
        return Y([oe]) != "[null]" || Y({ a: oe }) != "{}" || Y(Object(oe)) != "{}";
      })), "JSON", { stringify: function(oe) {
        if (oe !== void 0 && !pe(oe)) {
          for (var se, fe, be = [oe], Se = 1; arguments.length > Se; ) be.push(arguments[Se++]);
          return se = be[1], typeof se == "function" && (fe = se), !fe && I(se) || (se = function(Ae, ze) {
            if (fe && (ze = fe.call(this, Ae, ze)), !pe(ze)) return ze;
          }), be[1] = se, Y.apply(H, be);
        }
      } }), K.prototype[Z] || a(70)(K.prototype, Z, K.prototype.valueOf), b(K, "Symbol"), b(Math, "Math", !0), b(s.JSON, "JSON", !0);
    }, function(A, u, a) {
      a(138)("asyncIterator");
    }, function(A, u, a) {
      a(138)("observable");
    }, function(A, u, a) {
      a(410);
      for (var s = a(48), h = a(70), E = a(77), f = a(36)("toStringTag"), S = ["NodeList", "DOMTokenList", "MediaList", "StyleSheetList", "CSSRuleList"], _ = 0; _ < 5; _++) {
        var d = S[_], p = s[d], b = p && p.prototype;
        b && !b[f] && h(b, f, d), E[d] = E.Array;
      }
    }, function(A, u, a) {
      function s(b) {
        return b;
      }
      function h(b, m, v) {
        function O(K, H, Y) {
          for (var Q in H) H.hasOwnProperty(Q) && d(typeof H[Q] == "function", "%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.", K.displayName || "ReactClass", E[Y], Q);
        }
        function T(K, H) {
          var Y = U.hasOwnProperty(H) ? U[H] : null;
          G.hasOwnProperty(H) && _(Y === "OVERRIDE_BASE", "ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.", H), K && _(Y === "DEFINE_MANY" || Y === "DEFINE_MANY_MERGED", "ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.", H);
        }
        function w(K, H) {
          if (!H) {
            var Y = typeof H;
            return void d(Y === "object" && H !== null, "%s: You're attempting to include a mixin that is either null or not an object. Check the mixins included by the component, as well as any mixins they include themselves. Expected object but got %s.", K.displayName || "ReactClass", H === null ? null : Y);
          }
          _(typeof H != "function", "ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object."), _(!m(H), "ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.");
          var Q = K.prototype, Z = Q.__reactAutoBindPairs;
          H.hasOwnProperty(p) && W.mixins(K, H.mixins);
          for (var J in H) if (H.hasOwnProperty(J) && J !== p) {
            var ne = H[J], ie = Q.hasOwnProperty(J);
            if (T(ie, J), W.hasOwnProperty(J)) W[J](K, ne);
            else {
              var re = U.hasOwnProperty(J), ee = typeof ne == "function", te = ee && !re && !ie && H.autobind !== !1;
              if (te) Z.push(J, ne), Q[J] = ne;
              else if (ie) {
                var ue = U[J];
                _(re && (ue === "DEFINE_MANY_MERGED" || ue === "DEFINE_MANY"), "ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.", ue, J), ue === "DEFINE_MANY_MERGED" ? Q[J] = L(Q[J], ne) : ue === "DEFINE_MANY" && (Q[J] = R(Q[J], ne));
              } else Q[J] = ne, typeof ne == "function" && H.displayName && (Q[J].displayName = H.displayName + "_" + J);
            }
          }
        }
        function P(K, H) {
          if (H) for (var Y in H) {
            var Q = H[Y];
            if (H.hasOwnProperty(Y)) {
              var Z = Y in W;
              _(!Z, 'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.', Y);
              var J = Y in K;
              _(!J, "ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.", Y), K[Y] = Q;
            }
          }
        }
        function I(K, H) {
          _(K && H && typeof K == "object" && typeof H == "object", "mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.");
          for (var Y in H) H.hasOwnProperty(Y) && (_(K[Y] === void 0, "mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.", Y), K[Y] = H[Y]);
          return K;
        }
        function L(K, H) {
          return function() {
            var Y = K.apply(this, arguments), Q = H.apply(this, arguments);
            if (Y == null) return Q;
            if (Q == null) return Y;
            var Z = {};
            return I(Z, Y), I(Z, Q), Z;
          };
        }
        function R(K, H) {
          return function() {
            K.apply(this, arguments), H.apply(this, arguments);
          };
        }
        function q(K, H) {
          var Y = H.bind(K);
          Y.__reactBoundContext = K, Y.__reactBoundMethod = H, Y.__reactBoundArguments = null;
          var Q = K.constructor.displayName, Z = Y.bind;
          return Y.bind = function(J) {
            for (var ne = arguments.length, ie = Array(ne > 1 ? ne - 1 : 0), re = 1; re < ne; re++) ie[re - 1] = arguments[re];
            if (J !== K && J !== null) d(!1, "bind(): React component methods may only be bound to the component instance. See %s", Q);
            else if (!ie.length) return d(!1, "bind(): You are binding a component method to the component. React does this for you automatically in a high-performance way, so you can safely remove this call. See %s", Q), Y;
            var ee = Z.apply(Y, arguments);
            return ee.__reactBoundContext = K, ee.__reactBoundMethod = H, ee.__reactBoundArguments = ie, ee;
          }, Y;
        }
        function B(K) {
          for (var H = K.__reactAutoBindPairs, Y = 0; Y < H.length; Y += 2) {
            var Q = H[Y], Z = H[Y + 1];
            K[Q] = q(K, Z);
          }
        }
        function j(K) {
          var H = function(Q, Z, J) {
            d(this instanceof H, "Something is calling a React component directly. Use a factory or JSX instead. See: https://fb.me/react-legacyfactory"), this.__reactAutoBindPairs.length && B(this), this.props = Q, this.context = Z, this.refs = S, this.updater = J || v, this.state = null;
            var ne = this.getInitialState ? this.getInitialState() : null;
            ne === void 0 && this.getInitialState._isMockFunction && (ne = null), _(typeof ne == "object" && !Array.isArray(ne), "%s.getInitialState(): must return an object or null", H.displayName || "ReactCompositeComponent"), this.state = ne;
          };
          H.prototype = new X(), H.prototype.constructor = H, H.prototype.__reactAutoBindPairs = [], k.forEach(w.bind(null, H)), w(H, $), w(H, K), w(H, V), H.getDefaultProps && (H.defaultProps = H.getDefaultProps()), H.getDefaultProps && (H.getDefaultProps.isReactClassApproved = {}), H.prototype.getInitialState && (H.prototype.getInitialState.isReactClassApproved = {}), _(H.prototype.render, "createClass(...): Class specification must implement a `render` method."), d(!H.prototype.componentShouldUpdate, "%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.", K.displayName || "A component"), d(!H.prototype.componentWillRecieveProps, "%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?", K.displayName || "A component");
          for (var Y in U) H.prototype[Y] || (H.prototype[Y] = null);
          return H;
        }
        var k = [], U = { mixins: "DEFINE_MANY", statics: "DEFINE_MANY", propTypes: "DEFINE_MANY", contextTypes: "DEFINE_MANY", childContextTypes: "DEFINE_MANY", getDefaultProps: "DEFINE_MANY_MERGED", getInitialState: "DEFINE_MANY_MERGED", getChildContext: "DEFINE_MANY_MERGED", render: "DEFINE_ONCE", componentWillMount: "DEFINE_MANY", componentDidMount: "DEFINE_MANY", componentWillReceiveProps: "DEFINE_MANY", shouldComponentUpdate: "DEFINE_ONCE", componentWillUpdate: "DEFINE_MANY", componentDidUpdate: "DEFINE_MANY", componentWillUnmount: "DEFINE_MANY", updateComponent: "OVERRIDE_BASE" }, W = { displayName: function(K, H) {
          K.displayName = H;
        }, mixins: function(K, H) {
          if (H) for (var Y = 0; Y < H.length; Y++) w(K, H[Y]);
        }, childContextTypes: function(K, H) {
          O(K, H, "childContext"), K.childContextTypes = f({}, K.childContextTypes, H);
        }, contextTypes: function(K, H) {
          O(K, H, "context"), K.contextTypes = f({}, K.contextTypes, H);
        }, getDefaultProps: function(K, H) {
          K.getDefaultProps ? K.getDefaultProps = L(K.getDefaultProps, H) : K.getDefaultProps = H;
        }, propTypes: function(K, H) {
          O(K, H, "prop"), K.propTypes = f({}, K.propTypes, H);
        }, statics: function(K, H) {
          P(K, H);
        }, autobind: function() {
        } }, $ = { componentDidMount: function() {
          this.__isMounted = !0;
        } }, V = { componentWillUnmount: function() {
          this.__isMounted = !1;
        } }, G = { replaceState: function(K, H) {
          this.updater.enqueueReplaceState(this, K, H);
        }, isMounted: function() {
          return d(this.__didWarnIsMounted, "%s: isMounted is deprecated. Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.", this.constructor && this.constructor.displayName || this.name || "Component"), this.__didWarnIsMounted = !0, !!this.__isMounted;
        } }, X = function() {
        };
        return f(X.prototype, b.prototype, G), j;
      }
      var E, f = a(209), S = a(442), _ = a(101), d = a(142), p = "mixins";
      E = { prop: "prop", context: "context", childContext: "child context" }, A.exports = h;
    }, function(A, u, a) {
      function s(_, d, p) {
        _.addEventListener(d, p, !1);
      }
      function h(_, d, p) {
        _.removeEventListener(d, p, !1);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = { transitionend: { transition: "transitionend", WebkitTransition: "webkitTransitionEnd", MozTransition: "mozTransitionEnd", OTransition: "oTransitionEnd", msTransition: "MSTransitionEnd" }, animationend: { animation: "animationend", WebkitAnimation: "webkitAnimationEnd", MozAnimation: "mozAnimationEnd", OAnimation: "oAnimationEnd", msAnimation: "MSAnimationEnd" } }, f = [];
      typeof window < "u" && typeof document < "u" && function() {
        var _ = document.createElement("div"), d = _.style;
        "AnimationEvent" in window || delete E.animationend.animation, "TransitionEvent" in window || delete E.transitionend.transition;
        for (var p in E) if (E.hasOwnProperty(p)) {
          var b = E[p];
          for (var m in b) if (m in d) {
            f.push(b[m]);
            break;
          }
        }
      }();
      var S = { addEndEventListener: function(_, d) {
        if (f.length === 0) return void window.setTimeout(d, 0);
        f.forEach(function(p) {
          s(_, p, d);
        });
      }, endEvents: f, removeEndEventListener: function(_, d) {
        f.length !== 0 && f.forEach(function(p) {
          h(_, p, d);
        });
      } };
      u.default = S, A.exports = u.default;
    }, function(A, u, a) {
      function s(w) {
        return w && w.__esModule ? w : { default: w };
      }
      function h(w, P) {
        for (var I = window.getComputedStyle(w, null), L = "", R = 0; R < O.length && !(L = I.getPropertyValue(O[R] + P)); R++) ;
        return L;
      }
      function E(w) {
        if (m) {
          var P = parseFloat(h(w, "transition-delay")) || 0, I = parseFloat(h(w, "transition-duration")) || 0, L = parseFloat(h(w, "animation-delay")) || 0, R = parseFloat(h(w, "animation-duration")) || 0, q = Math.max(I + P, R + L);
          w.rcEndAnimTimeout = setTimeout(function() {
            w.rcEndAnimTimeout = null, w.rcEndListener && w.rcEndListener();
          }, 1e3 * q + 200);
        }
      }
      function f(w) {
        w.rcEndAnimTimeout && (clearTimeout(w.rcEndAnimTimeout), w.rcEndAnimTimeout = null);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var S = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(w) {
        return typeof w;
      } : function(w) {
        return w && typeof Symbol == "function" && w.constructor === Symbol && w !== Symbol.prototype ? "symbol" : typeof w;
      }, _ = a(423), d = s(_), p = a(376), b = s(p), m = d.default.endEvents.length !== 0, v = ["Webkit", "Moz", "O", "ms"], O = ["-webkit-", "-moz-", "-o-", "ms-", ""], T = function(w, P, I) {
        var L = (P === void 0 ? "undefined" : S(P)) === "object", R = L ? P.name : P, q = L ? P.active : P + "-active", B = I, j = void 0, k = void 0, U = (0, b.default)(w);
        return I && Object.prototype.toString.call(I) === "[object Object]" && (B = I.end, j = I.start, k = I.active), w.rcEndListener && w.rcEndListener(), w.rcEndListener = function(W) {
          W && W.target !== w || (w.rcAnimTimeout && (clearTimeout(w.rcAnimTimeout), w.rcAnimTimeout = null), f(w), U.remove(R), U.remove(q), d.default.removeEndEventListener(w, w.rcEndListener), w.rcEndListener = null, B && B());
        }, d.default.addEndEventListener(w, w.rcEndListener), j && j(), U.add(R), w.rcAnimTimeout = setTimeout(function() {
          w.rcAnimTimeout = null, U.add(q), k && setTimeout(k, 0), E(w);
        }, 30), { stop: function() {
          w.rcEndListener && w.rcEndListener();
        } };
      };
      T.style = function(w, P, I) {
        w.rcEndListener && w.rcEndListener(), w.rcEndListener = function(L) {
          L && L.target !== w || (w.rcAnimTimeout && (clearTimeout(w.rcAnimTimeout), w.rcAnimTimeout = null), f(w), d.default.removeEndEventListener(w, w.rcEndListener), w.rcEndListener = null, I && I());
        }, d.default.addEndEventListener(w, w.rcEndListener), w.rcAnimTimeout = setTimeout(function() {
          for (var L in P) P.hasOwnProperty(L) && (w.style[L] = P[L]);
          w.rcAnimTimeout = null, E(w);
        }, 0);
      }, T.setTransition = function(w, P, I) {
        var L = P, R = I;
        I === void 0 && (R = L, L = ""), L = L || "", v.forEach(function(q) {
          w.style[q + "Transition" + L] = R;
        });
      }, T.isCssAnimationSupported = m, u.default = T, A.exports = u.default;
    }, function(A, u, a) {
      (function(s, h) {
        h(u);
      })(0, function(s) {
        function h(xe, je, Dt, dr) {
          function ke(Ie) {
            return xe(Ie = /* @__PURE__ */ new Date(+Ie)), Ie;
          }
          return ke.floor = ke, ke.round = function(Ie) {
            var He = /* @__PURE__ */ new Date(+Ie), nt = new Date(Ie - 1);
            return xe(He), xe(nt), je(nt, 1), Ie - He < nt - Ie ? He : nt;
          }, ke.ceil = function(Ie) {
            return xe(Ie = new Date(Ie - 1)), je(Ie, 1), Ie;
          }, ke.offset = function(Ie, He) {
            return je(Ie = /* @__PURE__ */ new Date(+Ie), He == null ? 1 : Math.floor(He)), Ie;
          }, ke.range = function(Ie, He, nt) {
            var Qt = [];
            if (Ie = new Date(Ie - 1), He = /* @__PURE__ */ new Date(+He), nt = nt == null ? 1 : Math.floor(nt), !(Ie < He && nt > 0)) return Qt;
            for (je(Ie, 1), xe(Ie), Ie < He && Qt.push(/* @__PURE__ */ new Date(+Ie)); je(Ie, nt), xe(Ie), Ie < He; ) Qt.push(/* @__PURE__ */ new Date(+Ie));
            return Qt;
          }, ke.filter = function(Ie) {
            return h(function(He) {
              for (; xe(He), !Ie(He); ) He.setTime(He - 1);
            }, function(He, nt) {
              for (; --nt >= 0; ) for (; je(He, 1), !Ie(He); ) ;
            });
          }, Dt && (ke.count = function(Ie, He) {
            return S.setTime(+Ie), _.setTime(+He), xe(S), xe(_), Math.floor(Dt(S, _));
          }, ke.every = function(Ie) {
            return Ie = Math.floor(Ie), isFinite(Ie) && Ie > 0 ? Ie > 1 ? ke.filter(dr ? function(He) {
              return dr(He) % Ie == 0;
            } : function(He) {
              return ke.count(0, He) % Ie == 0;
            }) : ke : null;
          }), ke;
        }
        function E(xe) {
          return h(function(je) {
            je.setHours(0, 0, 0, 0), je.setDate(je.getDate() - (je.getDay() + 7 - xe) % 7);
          }, function(je, Dt) {
            je.setDate(je.getDate() + 7 * Dt);
          }, function(je, Dt) {
            return (Dt - je - 6e4 * (Dt.getTimezoneOffset() - je.getTimezoneOffset())) / 6048e5;
          });
        }
        function f(xe) {
          return h(function(je) {
            je.setUTCHours(0, 0, 0, 0), je.setUTCDate(je.getUTCDate() - (je.getUTCDay() + 7 - xe) % 7);
          }, function(je, Dt) {
            je.setUTCDate(je.getUTCDate() + 7 * Dt);
          }, function(je, Dt) {
            return (Dt - je) / 6048e5;
          });
        }
        var S = /* @__PURE__ */ new Date(), _ = /* @__PURE__ */ new Date(), d = h(function() {
        }, function(xe, je) {
          xe.setTime(+xe + je);
        }, function(xe, je) {
          return je - xe;
        });
        d.every = function(xe) {
          return xe = Math.floor(xe), isFinite(xe) && xe > 0 ? xe > 1 ? h(function(je) {
            je.setTime(Math.floor(je / xe) * xe);
          }, function(je, Dt) {
            je.setTime(+je + Dt * xe);
          }, function(je, Dt) {
            return (Dt - je) / xe;
          }) : d : null;
        };
        var p = h(function(xe) {
          xe.setMilliseconds(0);
        }, function(xe, je) {
          xe.setTime(+xe + 1e3 * je);
        }, function(xe, je) {
          return (je - xe) / 1e3;
        }, function(xe) {
          return xe.getSeconds();
        }), b = h(function(xe) {
          xe.setSeconds(0, 0);
        }, function(xe, je) {
          xe.setTime(+xe + 6e4 * je);
        }, function(xe, je) {
          return (je - xe) / 6e4;
        }, function(xe) {
          return xe.getMinutes();
        }), m = h(function(xe) {
          xe.setMinutes(0, 0, 0);
        }, function(xe, je) {
          xe.setTime(+xe + 36e5 * je);
        }, function(xe, je) {
          return (je - xe) / 36e5;
        }, function(xe) {
          return xe.getHours();
        }), v = h(function(xe) {
          xe.setHours(0, 0, 0, 0);
        }, function(xe, je) {
          xe.setDate(xe.getDate() + je);
        }, function(xe, je) {
          return (je - xe - 6e4 * (je.getTimezoneOffset() - xe.getTimezoneOffset())) / 864e5;
        }, function(xe) {
          return xe.getDate() - 1;
        }), O = E(0), T = E(1), w = E(2), P = E(3), I = E(4), L = E(5), R = E(6), q = h(function(xe) {
          xe.setHours(0, 0, 0, 0), xe.setDate(1);
        }, function(xe, je) {
          xe.setMonth(xe.getMonth() + je);
        }, function(xe, je) {
          return je.getMonth() - xe.getMonth() + 12 * (je.getFullYear() - xe.getFullYear());
        }, function(xe) {
          return xe.getMonth();
        }), B = h(function(xe) {
          xe.setHours(0, 0, 0, 0), xe.setMonth(0, 1);
        }, function(xe, je) {
          xe.setFullYear(xe.getFullYear() + je);
        }, function(xe, je) {
          return je.getFullYear() - xe.getFullYear();
        }, function(xe) {
          return xe.getFullYear();
        }), j = h(function(xe) {
          xe.setUTCMilliseconds(0);
        }, function(xe, je) {
          xe.setTime(+xe + 1e3 * je);
        }, function(xe, je) {
          return (je - xe) / 1e3;
        }, function(xe) {
          return xe.getUTCSeconds();
        }), k = h(function(xe) {
          xe.setUTCSeconds(0, 0);
        }, function(xe, je) {
          xe.setTime(+xe + 6e4 * je);
        }, function(xe, je) {
          return (je - xe) / 6e4;
        }, function(xe) {
          return xe.getUTCMinutes();
        }), U = h(function(xe) {
          xe.setUTCMinutes(0, 0, 0);
        }, function(xe, je) {
          xe.setTime(+xe + 36e5 * je);
        }, function(xe, je) {
          return (je - xe) / 36e5;
        }, function(xe) {
          return xe.getUTCHours();
        }), W = h(function(xe) {
          xe.setUTCHours(0, 0, 0, 0);
        }, function(xe, je) {
          xe.setUTCDate(xe.getUTCDate() + je);
        }, function(xe, je) {
          return (je - xe) / 864e5;
        }, function(xe) {
          return xe.getUTCDate() - 1;
        }), $ = f(0), V = f(1), G = f(2), X = f(3), K = f(4), H = f(5), Y = f(6), Q = h(function(xe) {
          xe.setUTCHours(0, 0, 0, 0), xe.setUTCDate(1);
        }, function(xe, je) {
          xe.setUTCMonth(xe.getUTCMonth() + je);
        }, function(xe, je) {
          return je.getUTCMonth() - xe.getUTCMonth() + 12 * (je.getUTCFullYear() - xe.getUTCFullYear());
        }, function(xe) {
          return xe.getUTCMonth();
        }), Z = h(function(xe) {
          xe.setUTCHours(0, 0, 0, 0), xe.setUTCMonth(0, 1);
        }, function(xe, je) {
          xe.setUTCFullYear(xe.getUTCFullYear() + je);
        }, function(xe, je) {
          return je.getUTCFullYear() - xe.getUTCFullYear();
        }, function(xe) {
          return xe.getUTCFullYear();
        }), J = d.range, ne = p.range, ie = b.range, re = m.range, ee = v.range, te = O.range, ue = T.range, le = w.range, ae = P.range, ce = I.range, pe = L.range, de = R.range, he = O.range, Ee = q.range, ye = B.range, _e = d, ge = J, Me = j.range, Te = k.range, De = U.range, oe = W.range, se = $.range, fe = V.range, be = G.range, Se = X.range, Ae = K.range, ze = H.range, Oe = Y.range, we = $.range, Ve = Q.range, Ye = Z.range;
        s.version = "0.1.1", s.milliseconds = J, s.seconds = ne, s.minutes = ie, s.hours = re, s.days = ee, s.sundays = te, s.mondays = ue, s.tuesdays = le, s.wednesdays = ae, s.thursdays = ce, s.fridays = pe, s.saturdays = de, s.weeks = he, s.months = Ee, s.years = ye, s.utcMillisecond = _e, s.utcMilliseconds = ge, s.utcSeconds = Me, s.utcMinutes = Te, s.utcHours = De, s.utcDays = oe, s.utcSundays = se, s.utcMondays = fe, s.utcTuesdays = be, s.utcWednesdays = Se, s.utcThursdays = Ae, s.utcFridays = ze, s.utcSaturdays = Oe, s.utcWeeks = we, s.utcMonths = Ve, s.utcYears = Ye, s.millisecond = d, s.second = p, s.minute = b, s.hour = m, s.day = v, s.sunday = O, s.monday = T, s.tuesday = w, s.wednesday = P, s.thursday = I, s.friday = L, s.saturday = R, s.week = O, s.month = q, s.year = B, s.utcSecond = j, s.utcMinute = k, s.utcHour = U, s.utcDay = W, s.utcSunday = $, s.utcMonday = V, s.utcTuesday = G, s.utcWednesday = X, s.utcThursday = K, s.utcFriday = H, s.utcSaturday = Y, s.utcWeek = $, s.utcMonth = Q, s.utcYear = Z, s.interval = h;
      });
    }, function(A, u, a) {
      function s(m) {
        if (!m) throw Error("Missing binning options.");
        var v, O, T, w, P, I, L, R = m.maxbins || 15, q = m.base || 10, B = Math.log(q), j = m.div || [5, 2], k = m.min, U = m.max, W = U - k;
        if (m.step) v = m.step;
        else if (m.steps) v = m.steps[Math.min(m.steps.length - 1, h(m.steps, W / R, 0, m.steps.length))];
        else {
          for (O = Math.ceil(Math.log(R) / B), T = m.minstep || 0, v = Math.max(T, Math.pow(q, Math.round(Math.log(W) / B) - O)); Math.ceil(W / v) > R; ) v *= q;
          for (I = 0; I < j.length; ++I) (P = v / j[I]) >= T && W / P <= R && (v = P);
        }
        return P = Math.log(v), w = P >= 0 ? 0 : 1 + ~~(-P / B), L = Math.pow(q, -w - 1), k = Math.min(k, Math.floor(k / v + L) * v), U = Math.ceil(U / v) * v, { start: k, stop: U, step: v, unit: { precision: w }, value: E, index: f };
      }
      function h(m, v, O, T) {
        for (; O < T; ) {
          var w = O + T >>> 1;
          d.cmp(m[w], v) < 0 ? O = w + 1 : T = w;
        }
        return O;
      }
      function E(m) {
        return this.step * Math.floor(m / this.step + b);
      }
      function f(m) {
        return Math.floor((m - this.start) / this.step + b);
      }
      function S(m) {
        return this.unit.date(E.call(this, m));
      }
      function _(m) {
        return f.call(this, this.unit.unit(m));
      }
      var d = a(26), p = a(429), b = 1e-15;
      s.date = function(m) {
        if (!m) throw Error("Missing date binning options.");
        var v = m.utc ? p.utc : p, O = m.min, T = m.max, w = m.maxbins || 20, P = m.minbins || 4, I = +T - +O, L = m.unit ? v[m.unit] : v.find(I, P, w), R = s({ min: L.min != null ? L.min : L.unit(O), max: L.max != null ? L.max : L.unit(T), maxbins: w, minstep: L.minstep, steps: L.step });
        return R.unit = L, R.index = _, m.raw || (R.value = S), R;
      }, A.exports = s;
    }, function(A, u, a) {
      var s = a(26), h = A.exports;
      h.repeat = function(E, f) {
        var S, _ = Array(f);
        for (S = 0; S < f; ++S) _[S] = E;
        return _;
      }, h.zeros = function(E) {
        return h.repeat(0, E);
      }, h.range = function(E, f, S) {
        if (arguments.length < 3 && (S = 1, arguments.length < 2 && (f = E, E = 0)), (f - E) / S == 1 / 0) throw new Error("Infinite range");
        var _, d = [], p = -1;
        if (S < 0) for (; (_ = E + S * ++p) > f; ) d.push(_);
        else for (; (_ = E + S * ++p) < f; ) d.push(_);
        return d;
      }, h.random = {}, h.random.uniform = function(E, f) {
        f === void 0 && (f = E === void 0 ? 1 : E, E = 0);
        var S = f - E, _ = function() {
          return E + S * Math.random();
        };
        return _.samples = function(d) {
          return h.zeros(d).map(_);
        }, _.pdf = function(d) {
          return d >= E && d <= f ? 1 / S : 0;
        }, _.cdf = function(d) {
          return d < E ? 0 : d > f ? 1 : (d - E) / S;
        }, _.icdf = function(d) {
          return d >= 0 && d <= 1 ? E + d * S : NaN;
        }, _;
      }, h.random.integer = function(E, f) {
        f === void 0 && (f = E, E = 0);
        var S = f - E, _ = function() {
          return E + Math.floor(S * Math.random());
        };
        return _.samples = function(d) {
          return h.zeros(d).map(_);
        }, _.pdf = function(d) {
          return d === Math.floor(d) && d >= E && d < f ? 1 / S : 0;
        }, _.cdf = function(d) {
          var p = Math.floor(d);
          return p < E ? 0 : p >= f ? 1 : (p - E + 1) / S;
        }, _.icdf = function(d) {
          return d >= 0 && d <= 1 ? E - 1 + Math.floor(d * S) : NaN;
        }, _;
      }, h.random.normal = function(E, f) {
        E = E || 0, f = f || 1;
        var S, _ = function() {
          var d, p, b = 0, m = 0;
          if (S !== void 0) return b = S, S = void 0, b;
          do
            b = 2 * Math.random() - 1, m = 2 * Math.random() - 1, d = b * b + m * m;
          while (d === 0 || d > 1);
          return p = Math.sqrt(-2 * Math.log(d) / d), S = E + m * p * f, E + b * p * f;
        };
        return _.samples = function(d) {
          return h.zeros(d).map(_);
        }, _.pdf = function(d) {
          var p = Math.exp(Math.pow(d - E, 2) / (-2 * Math.pow(f, 2)));
          return 1 / (f * Math.sqrt(2 * Math.PI)) * p;
        }, _.cdf = function(d) {
          var p, b = (d - E) / f, m = Math.abs(b);
          if (m > 37) p = 0;
          else {
            var v, O = Math.exp(-m * m / 2);
            m < 7.07106781186547 ? (v = 0.0352624965998911 * m + 0.700383064443688, v = v * m + 6.37396220353165, v = v * m + 33.912866078383, v = v * m + 112.079291497871, v = v * m + 221.213596169931, v = v * m + 220.206867912376, p = O * v, v = 0.0883883476483184 * m + 1.75566716318264, v = v * m + 16.064177579207, v = v * m + 86.7807322029461, v = v * m + 296.564248779674, v = v * m + 637.333633378831, v = v * m + 793.826512519948, v = v * m + 440.413735824752, p /= v) : (v = m + 0.65, v = m + 4 / v, v = m + 3 / v, v = m + 2 / v, v = m + 1 / v, p = O / v / 2.506628274631);
          }
          return b > 0 ? 1 - p : p;
        }, _.icdf = function(d) {
          if (d <= 0 || d >= 1) return NaN;
          var p = 2 * d - 1, b = 8 * (Math.PI - 3) / (3 * Math.PI * (4 - Math.PI)), m = 2 / (Math.PI * b) + Math.log(1 - Math.pow(p, 2)) / 2, v = Math.log(1 - p * p) / b, O = (p > 0 ? 1 : -1) * Math.sqrt(Math.sqrt(m * m - v) - m);
          return E + f * Math.SQRT2 * O;
        }, _;
      }, h.random.bootstrap = function(E, f) {
        var S = E.filter(s.isValid), _ = S.length, d = f ? h.random.normal(0, f) : null, p = function() {
          return S[~~(Math.random() * _)] + (d ? d() : 0);
        };
        return p.samples = function(b) {
          return h.zeros(b).map(p);
        }, p;
      };
    }, function(A, u, a) {
      function s(p, b, m) {
        var v = p && p.nullh || 0, O = _.random.normal(0, 1), T = d.mean(b, m), w = d.stdev(b, m) / Math.sqrt(d.count.valid(b, m));
        if (w === 0) return T - v == 0 ? 1 : 0;
        var P = (T - v) / w;
        return 2 * O.cdf(-Math.abs(P));
      }
      function h(p, b, m, v) {
        var O, T = v ? b.map(f.$(m)) : b, w = v ? b.map(f.$(v)) : m, P = d.count(T), I = d.count(w), L = Array();
        if (P !== I) throw Error("Array lengths must match.");
        for (O = 0; O < P; ++O) f.isValid(T[O]) && f.isValid(w[O]) && L.push(T[O] - w[O]);
        return d.z.test(L, p && p.nullh || 0);
      }
      function E(p, b, m, v) {
        var O = v ? b.map(f.$(m)) : b, T = v ? b.map(f.$(v)) : m, w = d.count.valid(O), P = d.count.valid(T), I = _.random.normal(0, 1), L = d.mean(O) - d.mean(T) - (p && p.nullh || 0), R = Math.sqrt(d.variance(O) / w + d.variance(T) / P);
        if (R === 0) return L === 0 ? 1 : 0;
        var q = L / R;
        return 2 * I.cdf(-Math.abs(q));
      }
      var f = a(26), S = a(202), _ = a(427), d = A.exports;
      d.unique = function(p, b, m) {
        b = f.$(b), m = m || [];
        var v, O, T, w = {};
        for (O = 0, T = p.length; O < T; ++O) (v = b ? b(p[O]) : p[O]) in w || (w[v] = 1, m.push(v));
        return m;
      }, d.count = function(p) {
        return p && p.length || 0;
      }, d.count.valid = function(p, b) {
        b = f.$(b);
        var m, v, O, T = 0;
        for (v = 0, O = p.length; v < O; ++v) m = b ? b(p[v]) : p[v], f.isValid(m) && (T += 1);
        return T;
      }, d.count.missing = function(p, b) {
        b = f.$(b);
        var m, v, O = 0;
        for (m = 0, v = p.length; m < v; ++m) (b ? b(p[m]) : p[m]) == null && (O += 1);
        return O;
      }, d.count.distinct = function(p, b) {
        b = f.$(b);
        var m, v, O, T = {}, w = 0;
        for (v = 0, O = p.length; v < O; ++v) (m = b ? b(p[v]) : p[v]) in T || (T[m] = 1, w += 1);
        return w;
      }, d.count.map = function(p, b) {
        b = f.$(b);
        var m, v, O, T = {};
        for (v = 0, O = p.length; v < O; ++v) m = b ? b(p[v]) : p[v], T[m] = m in T ? T[m] + 1 : 1;
        return T;
      }, d.median = function(p, b) {
        return b && (p = p.map(f.$(b))), p = p.filter(f.isValid).sort(f.cmp), d.quantile(p, 0.5);
      }, d.quartile = function(p, b) {
        b && (p = p.map(f.$(b))), p = p.filter(f.isValid).sort(f.cmp);
        var m = d.quantile;
        return [m(p, 0.25), m(p, 0.5), m(p, 0.75)];
      }, d.quantile = function(p, b, m) {
        m === void 0 && (m = b, b = f.identity), b = f.$(b);
        var v = (p.length - 1) * m + 1, O = Math.floor(v), T = +b(p[O - 1]), w = v - O;
        return w ? T + w * (b(p[O]) - T) : T;
      }, d.sum = function(p, b) {
        b = f.$(b);
        for (var m, v = 0, O = 0, T = p.length; O < T; ++O) m = b ? b(p[O]) : p[O], f.isValid(m) && (v += m);
        return v;
      }, d.mean = function(p, b) {
        b = f.$(b);
        var m, v, O, T, w, P = 0;
        for (v = 0, T = 0, O = p.length; v < O; ++v) w = b ? b(p[v]) : p[v], f.isValid(w) && (m = w - P, P += m / ++T);
        return P;
      }, d.mean.geometric = function(p, b) {
        b = f.$(b);
        var m, v, O, T, w = 1;
        for (T = 0, m = 0, v = p.length; T < v; ++T) if (O = b ? b(p[T]) : p[T], f.isValid(O)) {
          if (O <= 0) throw Error("Geometric mean only defined for positive values.");
          w *= O, ++m;
        }
        return w = m > 0 ? Math.pow(w, 1 / m) : 0;
      }, d.mean.harmonic = function(p, b) {
        b = f.$(b);
        var m, v, O, T, w = 0;
        for (T = 0, m = 0, v = p.length; T < v; ++T) O = b ? b(p[T]) : p[T], f.isValid(O) && (w += 1 / O, ++m);
        return m / w;
      }, d.variance = function(p, b) {
        if (b = f.$(b), !f.isArray(p) || p.length < 2) return 0;
        var m, v, O, T, w = 0, P = 0;
        for (v = 0, O = 0; v < p.length; ++v) T = b ? b(p[v]) : p[v], f.isValid(T) && (m = T - w, w += m / ++O, P += m * (T - w));
        return P /= O - 1;
      }, d.stdev = function(p, b) {
        return Math.sqrt(d.variance(p, b));
      }, d.modeskew = function(p, b) {
        var m = d.mean(p, b), v = d.median(p, b), O = d.stdev(p, b);
        return O === 0 ? 0 : (m - v) / O;
      }, d.min = function(p, b) {
        return d.extent(p, b)[0];
      }, d.max = function(p, b) {
        return d.extent(p, b)[1];
      }, d.extent = function(p, b) {
        b = f.$(b);
        var m, v, O, T, w = p.length;
        for (T = 0; T < w; ++T) if (O = b ? b(p[T]) : p[T], f.isValid(O)) {
          m = v = O;
          break;
        }
        for (; T < w; ++T) O = b ? b(p[T]) : p[T], f.isValid(O) && (O < m && (m = O), O > v && (v = O));
        return [m, v];
      }, d.extent.index = function(p, b) {
        b = f.$(b);
        var m, v, O, T, w = -1, P = -1, I = p.length;
        for (T = 0; T < I; ++T) if (O = b ? b(p[T]) : p[T], f.isValid(O)) {
          m = v = O, w = P = T;
          break;
        }
        for (; T < I; ++T) O = b ? b(p[T]) : p[T], f.isValid(O) && (O < m && (m = O, w = T), O > v && (v = O, P = T));
        return [w, P];
      }, d.dot = function(p, b, m) {
        var v, O, T = 0;
        if (m) for (b = f.$(b), m = f.$(m), v = 0; v < p.length; ++v) (O = b(p[v]) * m(p[v])) === O && (T += O);
        else {
          if (p.length !== b.length) throw Error("Array lengths must match.");
          for (v = 0; v < p.length; ++v) (O = p[v] * b[v]) === O && (T += O);
        }
        return T;
      }, d.dist = function(p, b, m, v) {
        var O, T, w = f.isFunction(m) || f.isString(m), P = p, I = w ? p : b, L = w ? v : m, R = L === 2 || L == null, q = p.length, B = 0;
        for (w && (b = f.$(b), m = f.$(m)), T = 0; T < q; ++T) O = w ? b(P[T]) - m(I[T]) : P[T] - I[T], B += R ? O * O : Math.pow(Math.abs(O), L);
        return R ? Math.sqrt(B) : Math.pow(B, 1 / L);
      }, d.cohensd = function(p, b, m) {
        var v = m ? p.map(f.$(b)) : p, O = m ? p.map(f.$(m)) : b, T = d.mean(v), w = d.mean(O), P = d.count.valid(v), I = d.count.valid(O);
        if (P + I - 2 <= 0) return 0;
        var L = d.variance(v), R = d.variance(O), q = Math.sqrt(((P - 1) * L + (I - 1) * R) / (P + I - 2));
        return q === 0 ? 0 : (T - w) / q;
      }, d.covariance = function(p, b, m) {
        var v, O, T, w, P, I = m ? p.map(f.$(b)) : p, L = m ? p.map(f.$(m)) : b, R = I.length, q = d.mean(I), B = d.mean(L), j = 0, k = 0;
        if (R !== L.length) throw Error("Input lengths must match.");
        for (v = 0; v < R; ++v) if (O = I[v], w = f.isValid(O), T = L[v], P = f.isValid(T), w && P) j += (O - q) * (T - B), ++k;
        else if (w || P) throw Error("Valid values must align.");
        return j / (k - 1);
      }, d.rank = function(p, b) {
        b = f.$(b) || f.identity;
        var m, v, O, T = p.map(function(R, q) {
          return { idx: q, val: b(R) };
        }).sort(f.comparator("val")), w = p.length, P = Array(w), I = -1, L = {};
        for (m = 0; m < w; ++m) {
          if (v = T[m].val, I < 0 && L === v) I = m - 1;
          else if (I > -1 && L !== v) {
            for (O = 1 + (m - 1 + I) / 2; I < m; ++I) P[T[I].idx] = O;
            I = -1;
          }
          P[T[m].idx] = m + 1, L = v;
        }
        if (I > -1) for (O = 1 + (w - 1 + I) / 2; I < w; ++I) P[T[I].idx] = O;
        return P;
      }, d.cor = function(p, b, m) {
        var v = m;
        m = v ? p.map(f.$(m)) : b, b = v ? p.map(f.$(b)) : p;
        var O = d.dot(b, m), T = d.mean(b), w = d.mean(m), P = d.stdev(b), I = d.stdev(m), L = p.length;
        return (O - L * T * w) / ((L - 1) * P * I);
      }, d.cor.rank = function(p, b, m) {
        var v, O, T, w = m ? d.rank(p, b) : d.rank(p), P = m ? d.rank(p, m) : d.rank(b), I = p.length;
        for (v = 0, O = 0; v < I; ++v) T = w[v] - P[v], O += T * T;
        return 1 - 6 * O / (I * (I * I - 1));
      }, d.cor.dist = function(p, b, m) {
        var v, O, T, w, P = m ? p.map(f.$(b)) : p, I = m ? p.map(f.$(m)) : b, L = d.dist.mat(P), R = d.dist.mat(I), q = L.length;
        for (v = 0, O = 0, T = 0, w = 0; v < q; ++v) O += L[v] * L[v], T += R[v] * R[v], w += L[v] * R[v];
        return Math.sqrt(w / Math.sqrt(O * T));
      }, d.linearRegression = function(p, b, m) {
        var v, O, T = m ? p.map(f.$(b)) : p, w = m ? p.map(f.$(m)) : b, P = T.length, I = d.covariance(T, w), L = d.stdev(T), R = d.stdev(w), q = I / (L * L), B = d.mean(w) - q * d.mean(T), j = { slope: q, intercept: B, R: I / (L * R), rss: 0 };
        for (O = 0; O < P; ++O) f.isValid(T[O]) && f.isValid(w[O]) && (v = q * T[O] + B - w[O], j.rss += v * v);
        return j;
      }, d.bootstrap = {}, d.bootstrap.ci = function(p, b, m, v, O) {
        var T, w, P, I, L, R, q;
        for (f.isFunction(b) || f.isString(b) ? (T = p.map(f.$(b)), w = m, P = v, I = O) : (T = p, w = b, P = m, I = v), w = w ? +w : 1e3, P = P || 0.05, L = _.random.bootstrap(T, I), q = 0, R = Array(w); q < w; ++q) R[q] = d.mean(L.samples(T.length));
        return R.sort(f.numcmp), [d.quantile(R, P / 2), d.quantile(R, 1 - P / 2)];
      }, d.z = {}, d.z.ci = function(p, b, m) {
        var v = p, O = b;
        (f.isFunction(b) || f.isString(b)) && (v = p.map(f.$(b)), O = m), O = O || 0.05;
        var T = O === 0.05 ? 1.96 : _.random.normal(0, 1).icdf(1 - O / 2), w = d.mean(v), P = d.stdev(v) / Math.sqrt(d.count.valid(v));
        return [w - T * P, w + T * P];
      }, d.z.test = function(p, b, m, v) {
        return f.isFunction(m) || f.isString(m) ? (v && v.paired ? h : E)(v, p, b, m) : f.isArray(b) ? (m && m.paired ? h : E)(m, p, b) : f.isFunction(b) || f.isString(b) ? s(m, p, b) : s(b, p);
      }, d.dist.mat = function(p) {
        var b, m, v, O = p.length, T = O * O, w = Array(T), P = _.zeros(O), I = 0;
        for (m = 0; m < O; ++m) for (w[m * O + m] = 0, v = m + 1; v < O; ++v) w[m * O + v] = b = Math.abs(p[m] - p[v]), w[v * O + m] = b, P[m] += b, P[v] += b;
        for (m = 0; m < O; ++m) I += P[m], P[m] /= O;
        for (I /= T, m = 0; m < O; ++m) for (v = m; v < O; ++v) w[m * O + v] += I - P[m] - P[v], w[v * O + m] = w[m * O + v];
        return w;
      }, d.entropy = function(p, b) {
        b = f.$(b);
        var m, v, O = 0, T = 0, w = p.length;
        for (m = 0; m < w; ++m) O += b ? b(p[m]) : p[m];
        if (O === 0) return 0;
        for (m = 0; m < w; ++m) (v = (b ? b(p[m]) : p[m]) / O) && (T += v * Math.log(v));
        return -T / Math.LN2;
      }, d.mutual = function(p, b, m, v) {
        var O, T, w, P = v ? p.map(f.$(b)) : p, I = v ? p.map(f.$(m)) : b, L = v ? p.map(f.$(v)) : m, R = {}, q = {}, B = L.length, j = 0, k = 0, U = 0;
        for (w = 0; w < B; ++w) R[P[w]] = 0, q[I[w]] = 0;
        for (w = 0; w < B; ++w) R[P[w]] += L[w], q[I[w]] += L[w], j += L[w];
        for (T = 1 / (j * Math.LN2), w = 0; w < B; ++w) L[w] !== 0 && (O = j * L[w] / (R[P[w]] * q[I[w]]), k += L[w] * T * Math.log(O), U += L[w] * T * Math.log(L[w] / j));
        return [k, 1 + k / U];
      }, d.mutual.info = function(p, b, m, v) {
        return d.mutual(p, b, m, v)[0];
      }, d.mutual.dist = function(p, b, m, v) {
        return d.mutual(p, b, m, v)[1];
      }, d.profile = function(p, b) {
        var m, v, O, T, w, P = 0, I = 0, L = 0, R = 0, q = null, B = null, j = 0, k = [], U = {};
        for (O = 0; O < p.length; ++O) T = b ? b(p[O]) : p[O], U[T] = T in U ? U[T] + 1 : (R += 1, 1), T == null ? ++L : f.isValid(T) && (w = typeof T == "string" ? T.length : T, (q === null || w < q) && (q = w), (B === null || w > B) && (B = w), m = w - P, P += m / ++I, j += m * (w - P), k.push(w));
        return j /= I - 1, v = Math.sqrt(j), k.sort(f.cmp), { type: S(p, b), unique: U, count: p.length, valid: I, missing: L, distinct: R, min: q, max: B, mean: P, stdev: v, median: T = d.quantile(k, 0.5), q1: d.quantile(k, 0.25), q3: d.quantile(k, 0.75), modeskew: v === 0 ? 0 : (P - T) / v };
      }, d.summary = function(p, b) {
        b = b || f.keys(p[0]);
        var m = b.map(function(v) {
          var O = d.profile(p, f.$(v));
          return O.field = v, O;
        });
        return m.__summary__ = !0, m;
      };
    }, function(A, u, a) {
      function s(T) {
        return d.setTime(+T), d;
      }
      function h(T, w, P, I, L, R) {
        var q = { type: T, date: w, unit: P };
        return I ? q.step = I : q.minstep = 1, L != null && (q.min = L), R != null && (q.max = R), q;
      }
      function E(T, w, P, I, L, R) {
        return h(T, function(q) {
          return w.offset(P, q);
        }, function(q) {
          return w.count(P, q);
        }, I, L, R);
      }
      function f(T, w, P, I) {
        var L, R, q, B = O[0];
        for (L = 1, R = O.length; L < R; ++L) if (B = O[L], w > B[0]) {
          if ((q = w / B[0]) > I) return T[O[L - 1][1]];
          if (q >= P) return T[B[1]];
        }
        return T[O[R - 1][1]];
      }
      function S(T) {
        var w, P, I = {};
        for (w = 0, P = T.length; w < P; ++w) I[T[w].type] = T[w];
        return I.find = function(L, R, q) {
          return f(T, L, R, q);
        }, I;
      }
      var _ = a(425), d = /* @__PURE__ */ new Date(), p = new Date(0, 0, 1).setFullYear(0), b = new Date(Date.UTC(0, 0, 1)).setUTCFullYear(0), m = [E("second", _.second, p), E("minute", _.minute, p), E("hour", _.hour, p), E("day", _.day, p, [1, 7]), E("month", _.month, p, [1, 3, 6]), E("year", _.year, p), h("seconds", function(T) {
        return new Date(1970, 0, 1, 0, 0, T);
      }, function(T) {
        return s(T).getSeconds();
      }, null, 0, 59), h("minutes", function(T) {
        return new Date(1970, 0, 1, 0, T);
      }, function(T) {
        return s(T).getMinutes();
      }, null, 0, 59), h("hours", function(T) {
        return new Date(1970, 0, 1, T);
      }, function(T) {
        return s(T).getHours();
      }, null, 0, 23), h("weekdays", function(T) {
        return new Date(1970, 0, 4 + T);
      }, function(T) {
        return s(T).getDay();
      }, [1], 0, 6), h("dates", function(T) {
        return new Date(1970, 0, T);
      }, function(T) {
        return s(T).getDate();
      }, [1], 1, 31), h("months", function(T) {
        return new Date(1970, T % 12, 1);
      }, function(T) {
        return s(T).getMonth();
      }, [1], 0, 11)], v = [E("second", _.utcSecond, b), E("minute", _.utcMinute, b), E("hour", _.utcHour, b), E("day", _.utcDay, b, [1, 7]), E("month", _.utcMonth, b, [1, 3, 6]), E("year", _.utcYear, b), h("seconds", function(T) {
        return new Date(Date.UTC(1970, 0, 1, 0, 0, T));
      }, function(T) {
        return s(T).getUTCSeconds();
      }, null, 0, 59), h("minutes", function(T) {
        return new Date(Date.UTC(1970, 0, 1, 0, T));
      }, function(T) {
        return s(T).getUTCMinutes();
      }, null, 0, 59), h("hours", function(T) {
        return new Date(Date.UTC(1970, 0, 1, T));
      }, function(T) {
        return s(T).getUTCHours();
      }, null, 0, 23), h("weekdays", function(T) {
        return new Date(Date.UTC(1970, 0, 4 + T));
      }, function(T) {
        return s(T).getUTCDay();
      }, [1], 0, 6), h("dates", function(T) {
        return new Date(Date.UTC(1970, 0, T));
      }, function(T) {
        return s(T).getUTCDate();
      }, [1], 1, 31), h("months", function(T) {
        return new Date(Date.UTC(1970, T % 12, 1));
      }, function(T) {
        return s(T).getUTCMonth();
      }, [1], 0, 11)], O = [[31536e6, 5], [7776e6, 4], [2592e6, 4], [12096e5, 3], [6048e5, 3], [1728e5, 3], [864e5, 3], [432e5, 2], [216e5, 2], [108e5, 2], [36e5, 2], [18e5, 1], [9e5, 1], [3e5, 1], [6e4, 1], [3e4, 0], [15e3, 0], [5e3, 0], [1e3, 0]];
      A.exports = S(m), A.exports.utc = S(v);
    }, function(A, u, a) {
      function s(E, f, S, _, d) {
        var p = h.a.clone(E), b = { width: f.width, height: f.height };
        return d.adjustX && p.left < S.left && (p.left = S.left), d.resizeWidth && p.left >= S.left && p.left + b.width > S.right && (b.width -= p.left + b.width - S.right), d.adjustX && p.left + b.width > S.right && (p.left = Math.max(S.right - b.width, S.left)), d.adjustY && p.top < _.top && (p.top = _.top), d.resizeHeight && p.top >= _.top && p.top + b.height > _.bottom && (b.height -= p.top + b.height - _.bottom), d.adjustY && p.top + b.height > _.bottom && (p.top = Math.max(_.bottom - b.height, _.top)), h.a.mix(p, b);
      }
      var h = a(81);
      u.a = s;
    }, function(A, u, a) {
      function s(E, f, S, _, d) {
        var p = void 0, b = void 0, m = void 0, v = void 0;
        return p = { left: E.left, top: E.top }, m = a.i(h.a)(f, S[1]), v = a.i(h.a)(E, S[0]), b = [v.left - m.left, v.top - m.top], { left: p.left - b[0] + _[0] - d[0], top: p.top - b[1] + _[1] - d[1] };
      }
      var h = a(203);
      u.a = s;
    }, function(A, u, a) {
      function s(E) {
        var f = void 0, S = void 0, _ = void 0;
        if (h.a.isWindow(E) || E.nodeType === 9) {
          var d = h.a.getWindow(E);
          f = { left: h.a.getWindowScrollLeft(d), top: h.a.getWindowScrollTop(d) }, S = h.a.viewportWidth(d), _ = h.a.viewportHeight(d);
        } else f = h.a.offset(E), S = h.a.outerWidth(E), _ = h.a.outerHeight(E);
        return f.width = S, f.height = _, f;
      }
      var h = a(81);
      u.a = s;
    }, function(A, u, a) {
      function s(f) {
        for (var S = { left: 0, right: 1 / 0, top: 0, bottom: 1 / 0 }, _ = a.i(E.a)(f), d = void 0, p = void 0, b = void 0, m = h.a.getDocument(f), v = m.defaultView || m.parentWindow, O = m.body, T = m.documentElement; _; ) {
          if (navigator.userAgent.indexOf("MSIE") !== -1 && _.clientWidth === 0 || _ === O || _ === T || h.a.css(_, "overflow") === "visible") {
            if (_ === O || _ === T) break;
          } else {
            var w = h.a.offset(_);
            w.left += _.clientLeft, w.top += _.clientTop, S.top = Math.max(S.top, w.top), S.right = Math.min(S.right, w.left + _.clientWidth), S.bottom = Math.min(S.bottom, w.top + _.clientHeight), S.left = Math.max(S.left, w.left);
          }
          _ = a.i(E.a)(_);
        }
        return d = h.a.getWindowScrollLeft(v), p = h.a.getWindowScrollTop(v), S.left = Math.max(S.left, d), S.top = Math.max(S.top, p), b = { width: h.a.viewportWidth(v), height: h.a.viewportHeight(v) }, S.right = Math.min(S.right, d + b.width), S.bottom = Math.min(S.bottom, p + b.height), S.top >= 0 && S.left >= 0 && S.bottom > S.top && S.right > S.left ? S : null;
      }
      var h = a(81), E = a(204);
      u.a = s;
    }, function(A, u, a) {
      function s(j, k, U) {
        return k in j ? Object.defineProperty(j, k, { value: U, enumerable: !0, configurable: !0, writable: !0 }) : j[k] = U, j;
      }
      function h(j, k, U) {
        return j.left < U.left || j.left + k.width > U.right;
      }
      function E(j, k, U) {
        return j.top < U.top || j.top + k.height > U.bottom;
      }
      function f(j, k, U) {
        return j.left > U.right || j.left + k.width < U.left;
      }
      function S(j, k, U) {
        return j.top > U.bottom || j.top + k.height < U.top;
      }
      function _(j) {
        var k = a.i(I.a)(j), U = a.i(R.a)(j);
        return !k || U.left + U.width <= k.left || U.top + U.height <= k.top || U.left >= k.right || U.top >= k.bottom;
      }
      function d(j, k, U) {
        var W = [];
        return w.a.each(j, function($) {
          W.push($.replace(k, function(V) {
            return U[V];
          }));
        }), W;
      }
      function p(j, k) {
        return j[k] = -j[k], j;
      }
      function b(j, k) {
        return (/%$/.test(j) ? parseInt(j.substring(0, j.length - 1), 10) / 100 * k : parseInt(j, 10)) || 0;
      }
      function m(j) {
        return j.bottom - j.top;
      }
      function v(j) {
        return j.right - j.left;
      }
      function O(j, k) {
        j[0] = b(j[0], k.width), j[1] = b(j[1], k.height);
      }
      function T(j, k, U) {
        var W = U.points, $ = U.offset || [0, 0], V = U.targetOffset || [0, 0], G = U.overflow, X = U.target || k, K = U.source || j;
        $ = [].concat($), V = [].concat(V), G = G || {};
        var H = {}, Y = 0, Q = a.i(I.a)(K), Z = a.i(R.a)(K), J = a.i(R.a)(X);
        O($, Z), O(V, J);
        var ne = a.i(q.a)(Z, J, W, $, V), ie = w.a.merge(Z, ne), re = !_(X), ee = w.a.merge(J, a.i(B.a)(J, W[1])), te = void 0, ue = void 0, le = W[0].charAt(1);
        te = le === "c" ? w.a.merge(Q, { left: ee.left - Z.width / 2 }) : w.a.merge(Q, s({}, le === "l" ? "left" : "right", ee.left + $[0]));
        var ae = W[0].charAt(0);
        ue = ae === "c" ? w.a.merge(Q, { top: ee.top - Z.height / 2 }) : w.a.merge(Q, s({}, ae === "t" ? "top" : "bottom", ee.top + $[1]));
        var ce = te, pe = ue;
        if (Q && (G.adjustX || G.adjustY) && re) {
          if (G.adjustX && h(ne, Z, Q)) {
            var de = d(W, /[lr]/gi, { l: "r", r: "l" }), he = p($, 0), Ee = p(V, 0), ye = a.i(q.a)(Z, J, de, he, Ee), _e = w.a.merge(Q, s({}, de[0].charAt(1) === "l" ? "left" : "right", a.i(B.a)(J, de[1]).left));
            v(_e) > v(te) && !f(ye, Z, Q) && (Y = 1, W = de, $ = he, V = Ee, ce = _e);
          }
          if (G.adjustY && E(ne, Z, Q)) {
            var ge = d(W, /[tb]/gi, { t: "b", b: "t" }), Me = p($, 1), Te = p(V, 1), De = a.i(q.a)(Z, J, ge, Me, Te), oe = w.a.merge(Q, s({}, ge[0].charAt(0) === "t" ? "top" : "bottom", a.i(B.a)(J, ge[1]).top));
            m(oe) > m(ue) && !S(De, Z, Q) && (Y = 1, W = ge, $ = Me, V = Te, pe = oe);
          }
          Y && (ne = a.i(q.a)(Z, J, W, $, V), w.a.mix(ie, ne)), H.resizeHeight = G.resizeHeight, H.resizeWidth = G.resizeWidth, H.adjustX = G.adjustX && h(ne, Z, ce), H.adjustY = G.adjustY && E(ne, Z, pe), (H.adjustX || H.adjustY) && (ie = a.i(L.a)(ne, Z, ce, pe, H));
        }
        return ie.width !== Z.width && w.a.css(K, "width", w.a.width(K) + ie.width - Z.width), ie.height !== Z.height && w.a.css(K, "height", w.a.height(K) + ie.height - Z.height), w.a.offset(K, { left: ie.left, top: ie.top }, { useCssRight: U.useCssRight, useCssBottom: U.useCssBottom, useCssTransform: U.useCssTransform }), { points: W, offset: $, targetOffset: V, overflow: H };
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var w = a(81), P = a(204), I = a(433), L = a(430), R = a(432), q = a(431), B = a(203);
      T.__getOffsetParent = P.a, T.__getVisibleRectForElement = I.a, u.default = T;
    }, function(A, u, a) {
      function s() {
        if (b !== void 0) return b;
        b = "";
        var T = document.createElement("p").style;
        for (var w in m) w + "Transform" in T && (b = w);
        return b;
      }
      function h() {
        return s() ? s() + "TransitionProperty" : "transitionProperty";
      }
      function E() {
        return s() ? s() + "Transform" : "transform";
      }
      function f(T, w) {
        var P = h();
        P && (T.style[P] = w, P !== "transitionProperty" && (T.style.transitionProperty = w));
      }
      function S(T, w) {
        var P = E();
        P && (T.style[P] = w, P !== "transform" && (T.style.transform = w));
      }
      function _(T) {
        return T.style.transitionProperty || T.style[h()];
      }
      function d(T) {
        var w = window.getComputedStyle(T, null), P = w.getPropertyValue("transform") || w.getPropertyValue(E());
        if (P && P !== "none") {
          var I = P.replace(/[^0-9\-.,]/g, "").split(",");
          return { x: parseFloat(I[12] || I[4], 0), y: parseFloat(I[13] || I[5], 0) };
        }
        return { x: 0, y: 0 };
      }
      function p(T, w) {
        var P = window.getComputedStyle(T, null), I = P.getPropertyValue("transform") || P.getPropertyValue(E());
        if (I && I !== "none") {
          var L = void 0, R = I.match(v);
          R ? (R = R[1], L = R.split(",").map(function(q) {
            return parseFloat(q, 10);
          }), L[4] = w.x, L[5] = w.y, S(T, "matrix(" + L.join(",") + ")")) : (L = I.match(O)[1].split(",").map(function(q) {
            return parseFloat(q, 10);
          }), L[12] = w.x, L[13] = w.y, S(T, "matrix3d(" + L.join(",") + ")"));
        } else S(T, "translateX(" + w.x + "px) translateY(" + w.y + "px) translateZ(0)");
      }
      u.e = E, u.b = f, u.a = _, u.c = d, u.d = p;
      var b = void 0, m = { Webkit: "-webkit-", Moz: "-moz-", ms: "-ms-", O: "-o-" }, v = /matrix\((.*)\)/, O = /matrix3d\((.*)\)/;
    }, function(A, u, a) {
      A.exports = document.createElement("div").style;
    }, function(A, u, a) {
      var s;
      A.exports = function() {
        if (s) return s;
        var h = window.getComputedStyle(document.documentElement, ""), E = (Array.prototype.slice.call(h).join("").match(/-(moz|webkit|ms)-/) || h.OLink === "" && ["", "o"])[1];
        return s = "-" + E + "-";
      };
    }, function(A, u, a) {
      var s, h = a(436), E = ["Moz", "Webkit", "O", "ms"];
      A.exports = function(f, S) {
        var _;
        if (f in h) return f;
        var d = f.charAt(0).toUpperCase() + f.substr(1);
        if (s) {
          if ((_ = s + d) in h) return _;
        } else for (var p = 0; p < E.length; ++p) if ((_ = E[p] + d) in h) return s = E[p], _;
        return S ? void 0 : f;
      };
    }, function(A, u, a) {
      var s;
      A.exports = function(h) {
        s || (s = document.createElement("style"), document.getElementsByTagName("head")[0].appendChild(s), s = s.sheet || s.styleSheet);
        var E = (s.cssRules || s.rules).length;
        return s.insertRule(h, E), s;
      };
    }, function(A, u) {
      function a(h, E) {
        if (h.indexOf) return h.indexOf(E);
        for (var f = 0, S = h.length; f < S; f++) if (h[f] === E) return f;
        return -1;
      }
      function s(h) {
        if (!(this instanceof s)) return new s(h);
        h || (h = {}), h.nodeType && (h = { el: h }), this.opts = h, this.el = h.el || document.body, typeof this.el != "object" && (this.el = document.querySelector(this.el));
      }
      A.exports = function(h) {
        return new s(h);
      }, s.prototype.add = function(h) {
        var E = this.el;
        if (E) {
          if (E.className === "") return E.className = h;
          var f = E.className.split(" ");
          return a(f, h) > -1 || (f.push(h), E.className = f.join(" ")), f;
        }
      }, s.prototype.remove = function(h) {
        var E = this.el;
        if (E && E.className !== "") {
          var f = E.className.split(" "), S = a(f, h);
          return S > -1 && f.splice(S, 1), E.className = f.join(" "), f;
        }
      }, s.prototype.has = function(h) {
        var E = this.el;
        if (E)
          return a(E.className.split(" "), h) > -1;
      }, s.prototype.toggle = function(h) {
        this.el && (this.has(h) ? this.remove(h) : this.add(h));
      };
    }, function(A, u, a) {
      var s;
      (function() {
        var h = !(typeof window > "u" || !window.document || !window.document.createElement), E = { canUseDOM: h, canUseWorkers: typeof Worker < "u", canUseEventListeners: h && !(!window.addEventListener && !window.attachEvent), canUseViewport: h && !!window.screen };
        (s = (function() {
          return E;
        }).call(u, a, u, A)) !== void 0 && (A.exports = s);
      })();
    }, function(A, u, a) {
      var s = {};
      Object.freeze(s), A.exports = s;
    }, function(A, u, a) {
      function s(S) {
        return S in f ? f[S] : f[S] = S.replace(h, "-$&").toLowerCase().replace(E, "-ms-");
      }
      var h = /[A-Z]/g, E = /^ms-/, f = {};
      A.exports = s;
    }, function(A, u) {
      u.read = function(a, s, h, E, f) {
        var S, _, d = 8 * f - E - 1, p = (1 << d) - 1, b = p >> 1, m = -7, v = h ? f - 1 : 0, O = h ? -1 : 1, T = a[s + v];
        for (v += O, S = T & (1 << -m) - 1, T >>= -m, m += d; m > 0; S = 256 * S + a[s + v], v += O, m -= 8) ;
        for (_ = S & (1 << -m) - 1, S >>= -m, m += E; m > 0; _ = 256 * _ + a[s + v], v += O, m -= 8) ;
        if (S === 0) S = 1 - b;
        else {
          if (S === p) return _ ? NaN : 1 / 0 * (T ? -1 : 1);
          _ += Math.pow(2, E), S -= b;
        }
        return (T ? -1 : 1) * _ * Math.pow(2, S - E);
      }, u.write = function(a, s, h, E, f, S) {
        var _, d, p, b = 8 * S - f - 1, m = (1 << b) - 1, v = m >> 1, O = f === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, T = E ? 0 : S - 1, w = E ? 1 : -1, P = s < 0 || s === 0 && 1 / s < 0 ? 1 : 0;
        for (s = Math.abs(s), isNaN(s) || s === 1 / 0 ? (d = isNaN(s) ? 1 : 0, _ = m) : (_ = Math.floor(Math.log(s) / Math.LN2), s * (p = Math.pow(2, -_)) < 1 && (_--, p *= 2), s += _ + v >= 1 ? O / p : O * Math.pow(2, 1 - v), s * p >= 2 && (_++, p /= 2), _ + v >= m ? (d = 0, _ = m) : _ + v >= 1 ? (d = (s * p - 1) * Math.pow(2, f), _ += v) : (d = s * Math.pow(2, v - 1) * Math.pow(2, f), _ = 0)); f >= 8; a[h + T] = 255 & d, T += w, d /= 256, f -= 8) ;
        for (_ = _ << f | d, b += f; b > 0; a[h + T] = 255 & _, T += w, _ /= 256, b -= 8) ;
        a[h + T - w] |= 128 * P;
      };
    }, function(A, u, a) {
      function s(L) {
        return L && L.__esModule ? L : { default: L };
      }
      function h(L, R) {
        if (!(L instanceof R)) throw new TypeError("Cannot call a class as a function");
      }
      function E(L) {
        var R = L.prefixMap, q = L.plugins, B = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : function(j) {
          return j;
        };
        return function() {
          function j() {
            var k = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
            h(this, j);
            var U = typeof navigator < "u" ? navigator.userAgent : void 0;
            if (this._userAgent = k.userAgent || U, this._keepUnprefixed = k.keepUnprefixed || !1, this._userAgent && (this._browserInfo = (0, _.default)(this._userAgent)), !this._browserInfo || !this._browserInfo.cssPrefix) return this._useFallback = !0, !1;
            this.prefixedKeyframes = (0, p.default)(this._browserInfo.browserName, this._browserInfo.browserVersion, this._browserInfo.cssPrefix);
            var W = this._browserInfo.browserName && R[this._browserInfo.browserName];
            if (W) {
              this._requiresPrefix = {};
              for (var $ in W) W[$] >= this._browserInfo.browserVersion && (this._requiresPrefix[$] = !0);
              this._hasPropsRequiringPrefix = Object.keys(this._requiresPrefix).length > 0;
            } else this._useFallback = !0;
            this._metaData = { browserVersion: this._browserInfo.browserVersion, browserName: this._browserInfo.browserName, cssPrefix: this._browserInfo.cssPrefix, jsPrefix: this._browserInfo.jsPrefix, keepUnprefixed: this._keepUnprefixed, requiresPrefix: this._requiresPrefix };
          }
          return f(j, [{ key: "prefix", value: function(k) {
            return this._useFallback ? B(k) : this._hasPropsRequiringPrefix ? this._prefixStyle(k) : k;
          } }, { key: "_prefixStyle", value: function(k) {
            for (var U in k) {
              var W = k[U];
              if ((0, w.default)(W)) k[U] = this.prefix(W);
              else if (Array.isArray(W)) {
                for (var $ = [], V = 0, G = W.length; V < G; ++V) {
                  var X = (0, I.default)(q, U, W[V], k, this._metaData);
                  (0, O.default)($, X || W[V]);
                }
                $.length > 0 && (k[U] = $);
              } else {
                var K = (0, I.default)(q, U, W, k, this._metaData);
                K && (k[U] = K), this._requiresPrefix[U] && (k[this._browserInfo.jsPrefix + (0, m.default)(U)] = W, this._keepUnprefixed || delete k[U]);
              }
            }
            return k;
          } }], [{ key: "prefixAll", value: function(k) {
            return B(k);
          } }]), j;
        }();
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = /* @__PURE__ */ function() {
        function L(R, q) {
          for (var B = 0; B < q.length; B++) {
            var j = q[B];
            j.enumerable = j.enumerable || !1, j.configurable = !0, "value" in j && (j.writable = !0), Object.defineProperty(R, j.key, j);
          }
        }
        return function(R, q, B) {
          return q && L(R.prototype, q), B && L(R, B), R;
        };
      }();
      u.default = E;
      var S = a(470), _ = s(S), d = a(471), p = s(d), b = a(144), m = s(b), v = a(205), O = s(v), T = a(206), w = s(T), P = a(207), I = s(P);
      A.exports = u.default;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = { plugins: [], prefixMap: { chrome: { appearance: 59, userSelect: 53, textEmphasisPosition: 59, textEmphasis: 59, textEmphasisStyle: 59, textEmphasisColor: 59, boxDecorationBreak: 59, clipPath: 54, maskImage: 59, maskMode: 59, maskRepeat: 59, maskPosition: 59, maskClip: 59, maskOrigin: 59, maskSize: 59, maskComposite: 59, mask: 59, maskBorderSource: 59, maskBorderMode: 59, maskBorderSlice: 59, maskBorderWidth: 59, maskBorderOutset: 59, maskBorderRepeat: 59, maskBorder: 59, maskType: 59, textDecorationStyle: 56, textDecorationSkip: 56, textDecorationLine: 56, textDecorationColor: 56, filter: 52, fontFeatureSettings: 47, breakAfter: 49, breakBefore: 49, breakInside: 49, columnCount: 49, columnFill: 49, columnGap: 49, columnRule: 49, columnRuleColor: 49, columnRuleStyle: 49, columnRuleWidth: 49, columns: 49, columnSpan: 49, columnWidth: 49 }, safari: { flex: 8, flexBasis: 8, flexDirection: 8, flexGrow: 8, flexFlow: 8, flexShrink: 8, flexWrap: 8, alignContent: 8, alignItems: 8, alignSelf: 8, justifyContent: 8, order: 8, transform: 8, transformOrigin: 8, transformOriginX: 8, transformOriginY: 8, backfaceVisibility: 8, perspective: 8, perspectiveOrigin: 8, transformStyle: 8, transformOriginZ: 8, animation: 8, animationDelay: 8, animationDirection: 8, animationFillMode: 8, animationDuration: 8, animationIterationCount: 8, animationName: 8, animationPlayState: 8, animationTimingFunction: 8, appearance: 10.1, userSelect: 10.1, backdropFilter: 10.1, fontKerning: 9, scrollSnapType: 10.1, scrollSnapPointsX: 10.1, scrollSnapPointsY: 10.1, scrollSnapDestination: 10.1, scrollSnapCoordinate: 10.1, boxDecorationBreak: 10.1, clipPath: 10.1, maskImage: 10.1, maskMode: 10.1, maskRepeat: 10.1, maskPosition: 10.1, maskClip: 10.1, maskOrigin: 10.1, maskSize: 10.1, maskComposite: 10.1, mask: 10.1, maskBorderSource: 10.1, maskBorderMode: 10.1, maskBorderSlice: 10.1, maskBorderWidth: 10.1, maskBorderOutset: 10.1, maskBorderRepeat: 10.1, maskBorder: 10.1, maskType: 10.1, textDecorationStyle: 10.1, textDecorationSkip: 10.1, textDecorationLine: 10.1, textDecorationColor: 10.1, shapeImageThreshold: 10, shapeImageMargin: 10, shapeImageOutside: 10, filter: 9, hyphens: 10.1, flowInto: 10.1, flowFrom: 10.1, breakBefore: 8, breakAfter: 8, breakInside: 8, regionFragment: 10.1, columnCount: 8, columnFill: 8, columnGap: 8, columnRule: 8, columnRuleColor: 8, columnRuleStyle: 8, columnRuleWidth: 8, columns: 8, columnSpan: 8, columnWidth: 8 }, firefox: { appearance: 54, userSelect: 54, textAlignLast: 48, tabSize: 54, hyphens: 42, breakAfter: 51, breakBefore: 51, breakInside: 51, columnCount: 51, columnFill: 51, columnGap: 51, columnRule: 51, columnRuleColor: 51, columnRuleStyle: 51, columnRuleWidth: 51, columns: 51, columnSpan: 51, columnWidth: 51 }, opera: { flex: 16, flexBasis: 16, flexDirection: 16, flexGrow: 16, flexFlow: 16, flexShrink: 16, flexWrap: 16, alignContent: 16, alignItems: 16, alignSelf: 16, justifyContent: 16, order: 16, transform: 22, transformOrigin: 22, transformOriginX: 22, transformOriginY: 22, backfaceVisibility: 22, perspective: 22, perspectiveOrigin: 22, transformStyle: 22, transformOriginZ: 22, animation: 29, animationDelay: 29, animationDirection: 29, animationFillMode: 29, animationDuration: 29, animationIterationCount: 29, animationName: 29, animationPlayState: 29, animationTimingFunction: 29, appearance: 44, userSelect: 40, fontKerning: 19, textEmphasisPosition: 44, textEmphasis: 44, textEmphasisStyle: 44, textEmphasisColor: 44, boxDecorationBreak: 44, clipPath: 41, maskImage: 44, maskMode: 44, maskRepeat: 44, maskPosition: 44, maskClip: 44, maskOrigin: 44, maskSize: 44, maskComposite: 44, mask: 44, maskBorderSource: 44, maskBorderMode: 44, maskBorderSlice: 44, maskBorderWidth: 44, maskBorderOutset: 44, maskBorderRepeat: 44, maskBorder: 44, maskType: 44, textDecorationStyle: 43, textDecorationSkip: 43, textDecorationLine: 43, textDecorationColor: 43, filter: 39, fontFeatureSettings: 34, breakAfter: 36, breakBefore: 36, breakInside: 36, columnCount: 36, columnFill: 36, columnGap: 36, columnRule: 36, columnRuleColor: 36, columnRuleStyle: 36, columnRuleWidth: 36, columns: 36, columnSpan: 36, columnWidth: 36 }, ie: { userSelect: 11, wrapFlow: 11, wrapThrough: 11, wrapMargin: 11, scrollSnapType: 11, scrollSnapPointsX: 11, scrollSnapPointsY: 11, scrollSnapDestination: 11, scrollSnapCoordinate: 11, hyphens: 11, flowInto: 11, flowFrom: 11, breakBefore: 11, breakAfter: 11, breakInside: 11, regionFragment: 11, gridTemplateColumns: 11, gridTemplateRows: 11, gridTemplateAreas: 11, gridTemplate: 11, gridAutoColumns: 11, gridAutoRows: 11, gridAutoFlow: 11, grid: 11, gridRowStart: 11, gridColumnStart: 11, gridRowEnd: 11, gridRow: 11, gridColumn: 11, gridColumnEnd: 11, gridColumnGap: 11, gridRowGap: 11, gridArea: 11, gridGap: 11, textSizeAdjust: 11 }, edge: { userSelect: 15, wrapFlow: 15, wrapThrough: 15, wrapMargin: 15, scrollSnapType: 15, scrollSnapPointsX: 15, scrollSnapPointsY: 15, scrollSnapDestination: 15, scrollSnapCoordinate: 15, hyphens: 15, flowInto: 15, flowFrom: 15, breakBefore: 15, breakAfter: 15, breakInside: 15, regionFragment: 15, gridTemplateColumns: 15, gridTemplateRows: 15, gridTemplateAreas: 15, gridTemplate: 15, gridAutoColumns: 15, gridAutoRows: 15, gridAutoFlow: 15, grid: 15, gridRowStart: 15, gridColumnStart: 15, gridRowEnd: 15, gridRow: 15, gridColumn: 15, gridColumnEnd: 15, gridColumnGap: 15, gridRowGap: 15, gridArea: 15, gridGap: 15 }, ios_saf: { flex: 8.1, flexBasis: 8.1, flexDirection: 8.1, flexGrow: 8.1, flexFlow: 8.1, flexShrink: 8.1, flexWrap: 8.1, alignContent: 8.1, alignItems: 8.1, alignSelf: 8.1, justifyContent: 8.1, order: 8.1, transform: 8.1, transformOrigin: 8.1, transformOriginX: 8.1, transformOriginY: 8.1, backfaceVisibility: 8.1, perspective: 8.1, perspectiveOrigin: 8.1, transformStyle: 8.1, transformOriginZ: 8.1, animation: 8.1, animationDelay: 8.1, animationDirection: 8.1, animationFillMode: 8.1, animationDuration: 8.1, animationIterationCount: 8.1, animationName: 8.1, animationPlayState: 8.1, animationTimingFunction: 8.1, appearance: 10, userSelect: 10, backdropFilter: 10, fontKerning: 10, scrollSnapType: 10, scrollSnapPointsX: 10, scrollSnapPointsY: 10, scrollSnapDestination: 10, scrollSnapCoordinate: 10, boxDecorationBreak: 10, clipPath: 10, maskImage: 10, maskMode: 10, maskRepeat: 10, maskPosition: 10, maskClip: 10, maskOrigin: 10, maskSize: 10, maskComposite: 10, mask: 10, maskBorderSource: 10, maskBorderMode: 10, maskBorderSlice: 10, maskBorderWidth: 10, maskBorderOutset: 10, maskBorderRepeat: 10, maskBorder: 10, maskType: 10, textSizeAdjust: 10, textDecorationStyle: 10, textDecorationSkip: 10, textDecorationLine: 10, textDecorationColor: 10, shapeImageThreshold: 10, shapeImageMargin: 10, shapeImageOutside: 10, filter: 9, hyphens: 10, flowInto: 10, flowFrom: 10, breakBefore: 8.1, breakAfter: 8.1, breakInside: 8.1, regionFragment: 10, columnCount: 8.1, columnFill: 8.1, columnGap: 8.1, columnRule: 8.1, columnRuleColor: 8.1, columnRuleStyle: 8.1, columnRuleWidth: 8.1, columns: 8.1, columnSpan: 8.1, columnWidth: 8.1 }, android: { flex: 4.2, flexBasis: 4.2, flexDirection: 4.2, flexGrow: 4.2, flexFlow: 4.2, flexShrink: 4.2, flexWrap: 4.2, alignContent: 4.2, alignItems: 4.2, alignSelf: 4.2, justifyContent: 4.2, order: 4.2, transition: 4.2, transitionDelay: 4.2, transitionDuration: 4.2, transitionProperty: 4.2, transitionTimingFunction: 4.2, transform: 4.4, transformOrigin: 4.4, transformOriginX: 4.4, transformOriginY: 4.4, backfaceVisibility: 4.4, perspective: 4.4, perspectiveOrigin: 4.4, transformStyle: 4.4, transformOriginZ: 4.4, animation: 4.4, animationDelay: 4.4, animationDirection: 4.4, animationFillMode: 4.4, animationDuration: 4.4, animationIterationCount: 4.4, animationName: 4.4, animationPlayState: 4.4, animationTimingFunction: 4.4, appearance: 53, userSelect: 53, fontKerning: 4.4, textEmphasisPosition: 53, textEmphasis: 53, textEmphasisStyle: 53, textEmphasisColor: 53, boxDecorationBreak: 53, clipPath: 53, maskImage: 53, maskMode: 53, maskRepeat: 53, maskPosition: 53, maskClip: 53, maskOrigin: 53, maskSize: 53, maskComposite: 53, mask: 53, maskBorderSource: 53, maskBorderMode: 53, maskBorderSlice: 53, maskBorderWidth: 53, maskBorderOutset: 53, maskBorderRepeat: 53, maskBorder: 53, maskType: 53, filter: 4.4, fontFeatureSettings: 4.4, breakAfter: 53, breakBefore: 53, breakInside: 53, columnCount: 53, columnFill: 53, columnGap: 53, columnRule: 53, columnRuleColor: 53, columnRuleStyle: 53, columnRuleWidth: 53, columns: 53, columnSpan: 53, columnWidth: 53 }, and_chr: { appearance: 55, textEmphasisPosition: 55, textEmphasis: 55, textEmphasisStyle: 55, textEmphasisColor: 55, boxDecorationBreak: 55, maskImage: 55, maskMode: 55, maskRepeat: 55, maskPosition: 55, maskClip: 55, maskOrigin: 55, maskSize: 55, maskComposite: 55, mask: 55, maskBorderSource: 55, maskBorderMode: 55, maskBorderSlice: 55, maskBorderWidth: 55, maskBorderOutset: 55, maskBorderRepeat: 55, maskBorder: 55, maskType: 55, textDecorationStyle: 55, textDecorationSkip: 55, textDecorationLine: 55, textDecorationColor: 55 }, and_uc: { flex: 11, flexBasis: 11, flexDirection: 11, flexGrow: 11, flexFlow: 11, flexShrink: 11, flexWrap: 11, alignContent: 11, alignItems: 11, alignSelf: 11, justifyContent: 11, order: 11, transition: 11, transitionDelay: 11, transitionDuration: 11, transitionProperty: 11, transitionTimingFunction: 11, transform: 11, transformOrigin: 11, transformOriginX: 11, transformOriginY: 11, backfaceVisibility: 11, perspective: 11, perspectiveOrigin: 11, transformStyle: 11, transformOriginZ: 11, animation: 11, animationDelay: 11, animationDirection: 11, animationFillMode: 11, animationDuration: 11, animationIterationCount: 11, animationName: 11, animationPlayState: 11, animationTimingFunction: 11, appearance: 11, userSelect: 11, fontKerning: 11, textEmphasisPosition: 11, textEmphasis: 11, textEmphasisStyle: 11, textEmphasisColor: 11, maskImage: 11, maskMode: 11, maskRepeat: 11, maskPosition: 11, maskClip: 11, maskOrigin: 11, maskSize: 11, maskComposite: 11, mask: 11, maskBorderSource: 11, maskBorderMode: 11, maskBorderSlice: 11, maskBorderWidth: 11, maskBorderOutset: 11, maskBorderRepeat: 11, maskBorder: 11, maskType: 11, textSizeAdjust: 11, filter: 11, hyphens: 11, flowInto: 11, flowFrom: 11, breakBefore: 11, breakAfter: 11, breakInside: 11, regionFragment: 11, fontFeatureSettings: 11, columnCount: 11, columnFill: 11, columnGap: 11, columnRule: 11, columnRuleColor: 11, columnRuleStyle: 11, columnRuleWidth: 11, columns: 11, columnSpan: 11, columnWidth: 11 }, op_mini: {} } }, A.exports = u.default;
    }, function(A, u, a) {
      function s(f, S, _, d) {
        var p = d.browserName, b = d.browserVersion, m = d.cssPrefix, v = d.keepUnprefixed;
        if (typeof S == "string" && S.indexOf("cross-fade(") > -1 && (p === "chrome" || p === "opera" || p === "and_chr" || (p === "ios_saf" || p === "safari") && b < 10)) return (0, E.default)(S.replace(/cross-fade\(/g, m + "cross-fade("), S, v);
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = a(40), E = function(f) {
        return f && f.__esModule ? f : { default: f };
      }(h);
      A.exports = u.default;
    }, function(A, u, a) {
      function s(_, d, p, b) {
        var m = b.browserName, v = b.browserVersion, O = b.cssPrefix, T = b.keepUnprefixed;
        return _ !== "cursor" || !f[d] || m !== "firefox" && m !== "chrome" && m !== "safari" && m !== "opera" ? _ === "cursor" && S[d] && (m === "firefox" && v < 24 || m === "chrome" && v < 37 || m === "safari" && v < 9 || m === "opera" && v < 24) ? (0, E.default)(O + d, d, T) : void 0 : (0, E.default)(O + d, d, T);
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = a(40), E = function(_) {
        return _ && _.__esModule ? _ : { default: _ };
      }(h), f = { grab: !0, grabbing: !0 }, S = { "zoom-in": !0, "zoom-out": !0 };
      A.exports = u.default;
    }, function(A, u, a) {
      function s(f, S, _, d) {
        var p = d.browserName, b = d.browserVersion, m = d.cssPrefix, v = d.keepUnprefixed;
        if (typeof S == "string" && S.indexOf("filter(") > -1 && (p === "ios_saf" || p === "safari" && b < 9.1)) return (0, E.default)(S.replace(/filter\(/g, m + "filter("), S, v);
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = a(40), E = function(f) {
        return f && f.__esModule ? f : { default: f };
      }(h);
      A.exports = u.default;
    }, function(A, u, a) {
      function s(S, _, d, p) {
        var b = p.browserName, m = p.browserVersion, v = p.cssPrefix, O = p.keepUnprefixed;
        if (S === "display" && f[_] && (b === "chrome" && m < 29 && m > 20 || (b === "safari" || b === "ios_saf") && m < 9 && m > 6 || b === "opera" && (m === 15 || m === 16))) return (0, E.default)(v + _, _, O);
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = a(40), E = function(S) {
        return S && S.__esModule ? S : { default: S };
      }(h), f = { flex: !0, "inline-flex": !0 };
      A.exports = u.default;
    }, function(A, u, a) {
      function s(p, b, m, v) {
        var O = v.browserName, T = v.browserVersion, w = v.cssPrefix, P = v.keepUnprefixed, I = v.requiresPrefix;
        if ((d.indexOf(p) > -1 || p === "display" && typeof b == "string" && b.indexOf("flex") > -1) && (O === "firefox" && T < 22 || O === "chrome" && T < 21 || (O === "safari" || O === "ios_saf") && T <= 6.1 || O === "android" && T < 4.4 || O === "and_uc")) {
          if (delete I[p], P || Array.isArray(m[p]) || delete m[p], p === "flexDirection" && typeof b == "string" && (b.indexOf("column") > -1 ? m.WebkitBoxOrient = "vertical" : m.WebkitBoxOrient = "horizontal", b.indexOf("reverse") > -1 ? m.WebkitBoxDirection = "reverse" : m.WebkitBoxDirection = "normal"), p === "display" && f[b]) return (0, E.default)(w + f[b], b, P);
          S[p] && (m[S[p]] = f[b] || b);
        }
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = a(40), E = function(p) {
        return p && p.__esModule ? p : { default: p };
      }(h), f = { "space-around": "justify", "space-between": "justify", "flex-start": "start", "flex-end": "end", "wrap-reverse": "multiple", wrap: "multiple", flex: "box", "inline-flex": "inline-box" }, S = { alignItems: "WebkitBoxAlign", justifyContent: "WebkitBoxPack", flexWrap: "WebkitBoxLines" }, _ = ["alignContent", "alignSelf", "order", "flexGrow", "flexShrink", "flexBasis", "flexDirection"], d = Object.keys(S).concat(_);
      A.exports = u.default;
    }, function(A, u, a) {
      function s(S, _, d, p) {
        var b = p.browserName, m = p.browserVersion, v = p.cssPrefix, O = p.keepUnprefixed;
        if (typeof _ == "string" && _.match(f) !== null && (b === "firefox" && m < 16 || b === "chrome" && m < 26 || (b === "safari" || b === "ios_saf") && m < 7 || (b === "opera" || b === "op_mini") && m < 12.1 || b === "android" && m < 4.4 || b === "and_uc")) return (0, E.default)(v + _, _, O);
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = a(40), E = function(S) {
        return S && S.__esModule ? S : { default: S };
      }(h), f = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/;
      A.exports = u.default;
    }, function(A, u, a) {
      function s(f, S, _, d) {
        var p = d.browserName, b = d.cssPrefix, m = d.keepUnprefixed;
        if (typeof S == "string" && S.indexOf("image-set(") > -1 && (p === "chrome" || p === "opera" || p === "and_chr" || p === "and_uc" || p === "ios_saf" || p === "safari")) return (0, E.default)(S.replace(/image-set\(/g, b + "image-set("), S, m);
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = a(40), E = function(f) {
        return f && f.__esModule ? f : { default: f };
      }(h);
      A.exports = u.default;
    }, function(A, u, a) {
      function s(f, S, _) {
        var d = _.browserName, p = _.cssPrefix, b = _.keepUnprefixed;
        if (f === "position" && S === "sticky" && (d === "safari" || d === "ios_saf")) return (0, E.default)(p + S, S, b);
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = a(40), E = function(f) {
        return f && f.__esModule ? f : { default: f };
      }(h);
      A.exports = u.default;
    }, function(A, u, a) {
      function s(_, d, p, b) {
        var m = b.cssPrefix, v = b.keepUnprefixed;
        if (f[_] && S[d]) return (0, E.default)(m + d, d, v);
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = a(40), E = function(_) {
        return _ && _.__esModule ? _ : { default: _ };
      }(h), f = { maxHeight: !0, maxWidth: !0, width: !0, height: !0, columnWidth: !0, minWidth: !0, minHeight: !0 }, S = { "min-content": !0, "max-content": !0, "fill-available": !0, "fit-content": !0, "contain-floats": !0 };
      A.exports = u.default;
    }, function(A, u, a) {
      function s(d, p, b, m) {
        var v = m.cssPrefix, O = m.keepUnprefixed, T = m.requiresPrefix;
        if (typeof p == "string" && S[d]) {
          var w = function() {
            _ || (_ = Object.keys(T).map(function(I) {
              return (0, f.default)(I);
            }));
            var P = p.split(/,(?![^()]*(?:\([^()]*\))?\))/g);
            return _.forEach(function(I) {
              P.forEach(function(L, R) {
                L.indexOf(I) > -1 && I !== "order" && (P[R] = L.replace(I, v + I) + (O ? "," + L : ""));
              });
            }), { v: P.join(",") };
          }();
          if ((w === void 0 ? "undefined" : h(w)) === "object") return w.v;
        }
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(d) {
        return typeof d;
      } : function(d) {
        return d && typeof Symbol == "function" && d.constructor === Symbol && d !== Symbol.prototype ? "symbol" : typeof d;
      };
      u.default = s;
      var E = a(201), f = function(d) {
        return d && d.__esModule ? d : { default: d };
      }(E), S = { transition: !0, transitionProperty: !0, WebkitTransition: !0, WebkitTransitionProperty: !0, MozTransition: !0, MozTransitionProperty: !0 }, _ = void 0;
      A.exports = u.default;
    }, function(A, u, a) {
      function s(v) {
        return v && v.__esModule ? v : { default: v };
      }
      function h(v) {
        function O(P) {
          for (var I in P) {
            var L = P[I];
            if ((0, m.default)(L)) P[I] = O(L);
            else if (Array.isArray(L)) {
              for (var R = [], q = 0, B = L.length; q < B; ++q) {
                var j = (0, _.default)(w, I, L[q], P, T);
                (0, p.default)(R, j || L[q]);
              }
              R.length > 0 && (P[I] = R);
            } else {
              var k = (0, _.default)(w, I, L, P, T);
              k && (P[I] = k), (0, f.default)(T, I, P);
            }
          }
          return P;
        }
        var T = v.prefixMap, w = v.plugins;
        return O;
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = h;
      var E = a(472), f = s(E), S = a(207), _ = s(S), d = a(205), p = s(d), b = a(206), m = s(b);
      A.exports = u.default;
    }, function(A, u, a) {
      function s(G) {
        return G && G.__esModule ? G : { default: G };
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(457), E = s(h), f = a(469), S = s(f), _ = a(460), d = s(_), p = a(459), b = s(p), m = a(461), v = s(m), O = a(462), T = s(O), w = a(463), P = s(w), I = a(464), L = s(I), R = a(465), q = s(R), B = a(466), j = s(B), k = a(467), U = s(k), W = a(468), $ = s(W), V = [b.default, d.default, v.default, P.default, L.default, q.default, j.default, U.default, $.default, T.default];
      u.default = (0, E.default)({ prefixMap: S.default.prefixMap, plugins: V }), A.exports = u.default;
    }, function(A, u, a) {
      function s(S, _) {
        if (typeof _ == "string" && !(0, E.default)(_) && _.indexOf("cross-fade(") > -1) return f.map(function(d) {
          return _.replace(/cross-fade\(/g, d + "cross-fade(");
        });
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = a(80), E = function(S) {
        return S && S.__esModule ? S : { default: S };
      }(h), f = ["-webkit-", ""];
      A.exports = u.default;
    }, function(A, u, a) {
      function s(f, S) {
        if (f === "cursor" && E[S]) return h.map(function(_) {
          return _ + S;
        });
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = ["-webkit-", "-moz-", ""], E = { "zoom-in": !0, "zoom-out": !0, grab: !0, grabbing: !0 };
      A.exports = u.default;
    }, function(A, u, a) {
      function s(S, _) {
        if (typeof _ == "string" && !(0, E.default)(_) && _.indexOf("filter(") > -1) return f.map(function(d) {
          return _.replace(/filter\(/g, d + "filter(");
        });
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = a(80), E = function(S) {
        return S && S.__esModule ? S : { default: S };
      }(h), f = ["-webkit-", ""];
      A.exports = u.default;
    }, function(A, u, a) {
      function s(E, f) {
        if (E === "display" && h[f]) return ["-webkit-box", "-moz-box", "-ms-" + f + "box", "-webkit-" + f, f];
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = { flex: !0, "inline-flex": !0 };
      A.exports = u.default;
    }, function(A, u, a) {
      function s(f, S, _) {
        f === "flexDirection" && typeof S == "string" && (S.indexOf("column") > -1 ? _.WebkitBoxOrient = "vertical" : _.WebkitBoxOrient = "horizontal", S.indexOf("reverse") > -1 ? _.WebkitBoxDirection = "reverse" : _.WebkitBoxDirection = "normal"), E[f] && (_[E[f]] = h[S] || S);
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = { "space-around": "justify", "space-between": "justify", "flex-start": "start", "flex-end": "end", "wrap-reverse": "multiple", wrap: "multiple" }, E = { alignItems: "WebkitBoxAlign", justifyContent: "WebkitBoxPack", flexWrap: "WebkitBoxLines" };
      A.exports = u.default;
    }, function(A, u, a) {
      function s(_, d) {
        if (typeof d == "string" && !(0, E.default)(d) && d.match(S) !== null) return f.map(function(p) {
          return p + d;
        });
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = a(80), E = function(_) {
        return _ && _.__esModule ? _ : { default: _ };
      }(h), f = ["-webkit-", "-moz-", ""], S = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/;
      A.exports = u.default;
    }, function(A, u, a) {
      function s(S, _) {
        if (typeof _ == "string" && !(0, E.default)(_) && _.indexOf("image-set(") > -1) return f.map(function(d) {
          return _.replace(/image-set\(/g, d + "image-set(");
        });
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = a(80), E = function(S) {
        return S && S.__esModule ? S : { default: S };
      }(h), f = ["-webkit-", ""];
      A.exports = u.default;
    }, function(A, u, a) {
      function s(h, E) {
        if (h === "position" && E === "sticky") return ["-webkit-sticky", "sticky"];
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s, A.exports = u.default;
    }, function(A, u, a) {
      function s(S, _) {
        if (E[S] && f[_]) return h.map(function(d) {
          return d + _;
        });
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = ["-webkit-", "-moz-", ""], E = { maxHeight: !0, maxWidth: !0, width: !0, height: !0, columnWidth: !0, minWidth: !0, minHeight: !0 }, f = { "min-content": !0, "max-content": !0, "fill-available": !0, "fit-content": !0, "contain-floats": !0 };
      A.exports = u.default;
    }, function(A, u, a) {
      function s(O) {
        return O && O.__esModule ? O : { default: O };
      }
      function h(O, T) {
        if ((0, d.default)(O)) return O;
        for (var w = O.split(/,(?![^()]*(?:\([^()]*\))?\))/g), P = 0, I = w.length; P < I; ++P) {
          var L = w[P], R = [L];
          for (var q in T) {
            var B = (0, S.default)(q);
            if (L.indexOf(B) > -1 && B !== "order") for (var j = T[q], k = 0, U = j.length; k < U; ++k) R.unshift(L.replace(B, v[j[k]] + B));
          }
          w[P] = R.join(",");
        }
        return w.join(",");
      }
      function E(O, T, w, P) {
        if (typeof T == "string" && m[O]) {
          var I = h(T, P), L = I.split(/,(?![^()]*(?:\([^()]*\))?\))/g).filter(function(q) {
            return q.match(/-moz-|-ms-/) === null;
          }).join(",");
          if (O.indexOf("Webkit") > -1) return L;
          var R = I.split(/,(?![^()]*(?:\([^()]*\))?\))/g).filter(function(q) {
            return q.match(/-webkit-|-ms-/) === null;
          }).join(",");
          return O.indexOf("Moz") > -1 ? R : (w["Webkit" + (0, b.default)(O)] = L, w["Moz" + (0, b.default)(O)] = R, I);
        }
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = E;
      var f = a(201), S = s(f), _ = a(80), d = s(_), p = a(144), b = s(p), m = { transition: !0, transitionProperty: !0, WebkitTransition: !0, WebkitTransitionProperty: !0, MozTransition: !0, MozTransitionProperty: !0 }, v = { Webkit: "-webkit-", Moz: "-moz-", ms: "-ms-" };
      A.exports = u.default;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = { plugins: [], prefixMap: { appearance: ["Webkit", "Moz"], userSelect: ["Webkit", "Moz", "ms"], textEmphasisPosition: ["Webkit"], textEmphasis: ["Webkit"], textEmphasisStyle: ["Webkit"], textEmphasisColor: ["Webkit"], boxDecorationBreak: ["Webkit"], clipPath: ["Webkit"], maskImage: ["Webkit"], maskMode: ["Webkit"], maskRepeat: ["Webkit"], maskPosition: ["Webkit"], maskClip: ["Webkit"], maskOrigin: ["Webkit"], maskSize: ["Webkit"], maskComposite: ["Webkit"], mask: ["Webkit"], maskBorderSource: ["Webkit"], maskBorderMode: ["Webkit"], maskBorderSlice: ["Webkit"], maskBorderWidth: ["Webkit"], maskBorderOutset: ["Webkit"], maskBorderRepeat: ["Webkit"], maskBorder: ["Webkit"], maskType: ["Webkit"], textDecorationStyle: ["Webkit"], textDecorationSkip: ["Webkit"], textDecorationLine: ["Webkit"], textDecorationColor: ["Webkit"], filter: ["Webkit"], fontFeatureSettings: ["Webkit"], breakAfter: ["Webkit", "Moz", "ms"], breakBefore: ["Webkit", "Moz", "ms"], breakInside: ["Webkit", "Moz", "ms"], columnCount: ["Webkit", "Moz"], columnFill: ["Webkit", "Moz"], columnGap: ["Webkit", "Moz"], columnRule: ["Webkit", "Moz"], columnRuleColor: ["Webkit", "Moz"], columnRuleStyle: ["Webkit", "Moz"], columnRuleWidth: ["Webkit", "Moz"], columns: ["Webkit", "Moz"], columnSpan: ["Webkit", "Moz"], columnWidth: ["Webkit", "Moz"], flex: ["Webkit"], flexBasis: ["Webkit"], flexDirection: ["Webkit"], flexGrow: ["Webkit"], flexFlow: ["Webkit"], flexShrink: ["Webkit"], flexWrap: ["Webkit"], alignContent: ["Webkit"], alignItems: ["Webkit"], alignSelf: ["Webkit"], justifyContent: ["Webkit"], order: ["Webkit"], transform: ["Webkit"], transformOrigin: ["Webkit"], transformOriginX: ["Webkit"], transformOriginY: ["Webkit"], backfaceVisibility: ["Webkit"], perspective: ["Webkit"], perspectiveOrigin: ["Webkit"], transformStyle: ["Webkit"], transformOriginZ: ["Webkit"], animation: ["Webkit"], animationDelay: ["Webkit"], animationDirection: ["Webkit"], animationFillMode: ["Webkit"], animationDuration: ["Webkit"], animationIterationCount: ["Webkit"], animationName: ["Webkit"], animationPlayState: ["Webkit"], animationTimingFunction: ["Webkit"], backdropFilter: ["Webkit"], fontKerning: ["Webkit"], scrollSnapType: ["Webkit", "ms"], scrollSnapPointsX: ["Webkit", "ms"], scrollSnapPointsY: ["Webkit", "ms"], scrollSnapDestination: ["Webkit", "ms"], scrollSnapCoordinate: ["Webkit", "ms"], shapeImageThreshold: ["Webkit"], shapeImageMargin: ["Webkit"], shapeImageOutside: ["Webkit"], hyphens: ["Webkit", "Moz", "ms"], flowInto: ["Webkit", "ms"], flowFrom: ["Webkit", "ms"], regionFragment: ["Webkit", "ms"], textAlignLast: ["Moz"], tabSize: ["Moz"], wrapFlow: ["ms"], wrapThrough: ["ms"], wrapMargin: ["ms"], gridTemplateColumns: ["ms"], gridTemplateRows: ["ms"], gridTemplateAreas: ["ms"], gridTemplate: ["ms"], gridAutoColumns: ["ms"], gridAutoRows: ["ms"], gridAutoFlow: ["ms"], grid: ["ms"], gridRowStart: ["ms"], gridColumnStart: ["ms"], gridRowEnd: ["ms"], gridRow: ["ms"], gridColumn: ["ms"], gridColumnEnd: ["ms"], gridColumnGap: ["ms"], gridRowGap: ["ms"], gridArea: ["ms"], gridGap: ["ms"], textSizeAdjust: ["Webkit", "ms"], transitionDelay: ["Webkit"], transitionDuration: ["Webkit"], transitionProperty: ["Webkit"], transitionTimingFunction: ["Webkit"] } }, A.exports = u.default;
    }, function(A, u, a) {
      function s(d) {
        if (d.firefox) return "firefox";
        if (d.mobile || d.tablet) {
          if (d.ios) return "ios_saf";
          if (d.android) return "android";
          if (d.opera) return "op_mini";
        }
        for (var p in _) if (d[p]) return _[p];
      }
      function h(d) {
        var p = f.default._detect(d);
        for (var b in S) if (p[b]) {
          var m = S[b];
          p.jsPrefix = m, p.cssPrefix = "-" + m.toLowerCase() + "-";
          break;
        }
        return p.browserName = s(p), p.version ? p.browserVersion = parseFloat(p.version) : p.browserVersion = parseInt(parseFloat(p.osversion), 10), p.osVersion = parseFloat(p.osversion), p.browserName === "ios_saf" && p.browserVersion > p.osVersion && (p.browserVersion = p.osVersion), p.browserName === "android" && p.chrome && p.browserVersion > 37 && (p.browserName = "and_chr"), p.browserName === "android" && p.osVersion < 5 && (p.browserVersion = p.osVersion), p.browserName === "android" && p.samsungBrowser && (p.browserName = "and_chr", p.browserVersion = 44), p;
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = h;
      var E = a(353), f = function(d) {
        return d && d.__esModule ? d : { default: d };
      }(E), S = { chrome: "Webkit", safari: "Webkit", ios: "Webkit", android: "Webkit", phantom: "Webkit", opera: "Webkit", webos: "Webkit", blackberry: "Webkit", bada: "Webkit", tizen: "Webkit", chromium: "Webkit", vivaldi: "Webkit", firefox: "Moz", seamoney: "Moz", sailfish: "Moz", msie: "ms", msedge: "ms" }, _ = { chrome: "chrome", chromium: "chrome", safari: "safari", firfox: "firefox", msedge: "edge", opera: "opera", vivaldi: "opera", msie: "ie" };
      A.exports = u.default;
    }, function(A, u, a) {
      function s(h, E, f) {
        return h === "chrome" && E < 43 || (h === "safari" || h === "ios_saf") && E < 9 || h === "opera" && E < 30 || h === "android" && E <= 4.4 || h === "and_uc" ? f + "keyframes" : "keyframes";
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s, A.exports = u.default;
    }, function(A, u, a) {
      function s(f, S, _) {
        var d = f[S];
        if (d) for (var p = 0, b = d.length; p < b; ++p) _[d[p] + (0, E.default)(S)] = _[S];
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = a(144), E = function(f) {
        return f && f.__esModule ? f : { default: f };
      }(h);
      A.exports = u.default;
    }, function(A, u, a) {
      function s(f, S, _, d, p, b, m, v, O) {
        if (_ && typeof _ == "object" && !Array.isArray(_)) {
          S(_, d, p, b, m, v, O);
          for (var T in _) {
            var w = _[T];
            if (Array.isArray(w)) {
              if (T in E.arrayKeywords) for (var P = 0; P < w.length; P++) s(f, S, w[P], d + "/" + T + "/" + P, p, d, T, _, P);
            } else if (T in E.propsKeywords) {
              if (w && typeof w == "object") for (var I in w) s(f, S, w[I], d + "/" + T + "/" + h(I), p, d, T, _, I);
            } else (T in E.keywords || f.allKeys && !(T in E.skipKeywords)) && s(f, S, w, d + "/" + T, p, d, T, _);
          }
        }
      }
      function h(f) {
        return f.replace(/~/g, "~0").replace(/\//g, "~1");
      }
      var E = A.exports = function(f, S, _) {
        typeof S == "function" && (_ = S, S = {}), s(S, _, f, "", f);
      };
      E.keywords = { additionalItems: !0, items: !0, contains: !0, additionalProperties: !0, propertyNames: !0, not: !0 }, E.arrayKeywords = { items: !0, allOf: !0, anyOf: !0, oneOf: !0 }, E.propsKeywords = { definitions: !0, properties: !0, patternProperties: !0, dependencies: !0 }, E.skipKeywords = { enum: !0, const: !0, required: !0, maximum: !0, minimum: !0, exclusiveMaximum: !0, exclusiveMinimum: !0, multipleOf: !0, maxLength: !0, minLength: !0, pattern: !0, format: !0, maxItems: !0, minItems: !0, uniqueItems: !0, maxProperties: !0, minProperties: !0 };
    }, function(A, u, a) {
      u.parse = a(475), u.stringify = a(476);
    }, function(A, u) {
      var a, s, h, E, f = { '"': '"', "\\": "\\", "/": "/", b: "\b", f: "\f", n: `
`, r: "\r", t: "	" }, S = function(T) {
        throw { name: "SyntaxError", message: T, at: a, text: h };
      }, _ = function(T) {
        return T && T !== s && S("Expected '" + T + "' instead of '" + s + "'"), s = h.charAt(a), a += 1, s;
      }, d = function() {
        var T, w = "";
        for (s === "-" && (w = "-", _("-")); s >= "0" && s <= "9"; ) w += s, _();
        if (s === ".") for (w += "."; _() && s >= "0" && s <= "9"; ) w += s;
        if (s === "e" || s === "E") for (w += s, _(), s !== "-" && s !== "+" || (w += s, _()); s >= "0" && s <= "9"; ) w += s, _();
        if (T = +w, isFinite(T)) return T;
        S("Bad number");
      }, p = function() {
        var T, w, P, I = "";
        if (s === '"') for (; _(); ) {
          if (s === '"') return _(), I;
          if (s === "\\") if (_(), s === "u") {
            for (P = 0, w = 0; w < 4 && (T = parseInt(_(), 16), isFinite(T)); w += 1) P = 16 * P + T;
            I += String.fromCharCode(P);
          } else {
            if (typeof f[s] != "string") break;
            I += f[s];
          }
          else I += s;
        }
        S("Bad string");
      }, b = function() {
        for (; s && s <= " "; ) _();
      }, m = function() {
        switch (s) {
          case "t":
            return _("t"), _("r"), _("u"), _("e"), !0;
          case "f":
            return _("f"), _("a"), _("l"), _("s"), _("e"), !1;
          case "n":
            return _("n"), _("u"), _("l"), _("l"), null;
        }
        S("Unexpected '" + s + "'");
      }, v = function() {
        var T = [];
        if (s === "[") {
          if (_("["), b(), s === "]") return _("]"), T;
          for (; s; ) {
            if (T.push(E()), b(), s === "]") return _("]"), T;
            _(","), b();
          }
        }
        S("Bad array");
      }, O = function() {
        var T, w = {};
        if (s === "{") {
          if (_("{"), b(), s === "}") return _("}"), w;
          for (; s; ) {
            if (T = p(), b(), _(":"), Object.hasOwnProperty.call(w, T) && S('Duplicate key "' + T + '"'), w[T] = E(), b(), s === "}") return _("}"), w;
            _(","), b();
          }
        }
        S("Bad object");
      };
      E = function() {
        switch (b(), s) {
          case "{":
            return O();
          case "[":
            return v();
          case '"':
            return p();
          case "-":
            return d();
          default:
            return s >= "0" && s <= "9" ? d() : m();
        }
      }, A.exports = function(T, w) {
        var P;
        return h = T, a = 0, s = " ", P = E(), b(), s && S("Syntax error"), typeof w == "function" ? function I(L, R) {
          var q, B, j = L[R];
          if (j && typeof j == "object") for (q in j) Object.prototype.hasOwnProperty.call(j, q) && (B = I(j, q), B !== void 0 ? j[q] = B : delete j[q]);
          return w.call(L, R, j);
        }({ "": P }, "") : P;
      };
    }, function(A, u) {
      function a(d) {
        return S.lastIndex = 0, S.test(d) ? '"' + d.replace(S, function(p) {
          var b = _[p];
          return typeof b == "string" ? b : "\\u" + ("0000" + p.charCodeAt(0).toString(16)).slice(-4);
        }) + '"' : '"' + d + '"';
      }
      function s(d, p) {
        var b, m, v, O, T, w = h, P = p[d];
        switch (P && typeof P == "object" && typeof P.toJSON == "function" && (P = P.toJSON(d)), typeof f == "function" && (P = f.call(p, d, P)), typeof P) {
          case "string":
            return a(P);
          case "number":
            return isFinite(P) ? String(P) : "null";
          case "boolean":
          case "null":
            return String(P);
          case "object":
            if (!P) return "null";
            if (h += E, T = [], Object.prototype.toString.apply(P) === "[object Array]") {
              for (O = P.length, b = 0; b < O; b += 1) T[b] = s(b, P) || "null";
              return v = T.length === 0 ? "[]" : h ? `[
` + h + T.join(`,
` + h) + `
` + w + "]" : "[" + T.join(",") + "]", h = w, v;
            }
            if (f && typeof f == "object") for (O = f.length, b = 0; b < O; b += 1) typeof (m = f[b]) == "string" && (v = s(m, P)) && T.push(a(m) + (h ? ": " : ":") + v);
            else for (m in P) Object.prototype.hasOwnProperty.call(P, m) && (v = s(m, P)) && T.push(a(m) + (h ? ": " : ":") + v);
            return v = T.length === 0 ? "{}" : h ? `{
` + h + T.join(`,
` + h) + `
` + w + "}" : "{" + T.join(",") + "}", h = w, v;
        }
      }
      var h, E, f, S = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, _ = { "\b": "\\b", "	": "\\t", "\n": "\\n", "\f": "\\f", "\r": "\\r", '"': '\\"', "\\": "\\\\" };
      A.exports = function(d, p, b) {
        var m;
        if (h = "", E = "", typeof b == "number") for (m = 0; m < b; m += 1) E += " ";
        else typeof b == "string" && (E = b);
        if (f = p, p && typeof p != "function" && (typeof p != "object" || typeof p.length != "number")) throw new Error("JSON.stringify");
        return s("", { "": d });
      };
    }, function(A, u, a) {
      function s(m, v, O, T, w) {
        var P = this.validateSchema(m, w, v, O);
        return !P.valid && T instanceof Function && T(P), P.valid;
      }
      function h(m, v, O, T, w, P) {
        if (!v.properties || v.properties[w] === void 0) if (v.additionalProperties === !1) P.addError({ name: "additionalProperties", argument: w, message: "additionalProperty " + JSON.stringify(w) + " exists in instance when not allowed" });
        else {
          var I = v.additionalProperties || {}, L = this.validateSchema(m[w], I, O, T.makeChild(I, w));
          L.instance !== P.instance[w] && (P.instance[w] = L.instance), P.importErrors(L);
        }
      }
      function E(m, v, O) {
        var T, w = O.length;
        for (T = v + 1, w; T < w; T++) if (f.deepCompareStrict(m, O[T])) return !1;
        return !0;
      }
      var f = a(83), S = f.ValidatorResult, _ = f.SchemaError, d = {};
      d.ignoreProperties = { id: !0, default: !0, description: !0, title: !0, exclusiveMinimum: !0, exclusiveMaximum: !0, additionalItems: !0, $schema: !0, $ref: !0, extends: !0 };
      var p = d.validators = {};
      p.type = function(m, v, O, T) {
        if (m === void 0) return null;
        var w = new S(m, v, O, T), P = Array.isArray(v.type) ? v.type : [v.type];
        if (!P.some(this.testType.bind(this, m, v, O, T))) {
          var I = P.map(function(L) {
            return L.id && "<" + L.id + ">" || L + "";
          });
          w.addError({ name: "type", argument: I, message: "is not of a type(s) " + I });
        }
        return w;
      }, p.anyOf = function(m, v, O, T) {
        if (m === void 0) return null;
        var w = new S(m, v, O, T), P = new S(m, v, O, T);
        if (!Array.isArray(v.anyOf)) throw new _("anyOf must be an array");
        if (!v.anyOf.some(s.bind(this, m, O, T, function(L) {
          P.importErrors(L);
        }))) {
          var I = v.anyOf.map(function(L, R) {
            return L.id && "<" + L.id + ">" || L.title && JSON.stringify(L.title) || L.$ref && "<" + L.$ref + ">" || "[subschema " + R + "]";
          });
          O.nestedErrors && w.importErrors(P), w.addError({ name: "anyOf", argument: I, message: "is not any of " + I.join(",") });
        }
        return w;
      }, p.allOf = function(m, v, O, T) {
        if (m === void 0) return null;
        if (!Array.isArray(v.allOf)) throw new _("allOf must be an array");
        var w = new S(m, v, O, T), P = this;
        return v.allOf.forEach(function(I, L) {
          var R = P.validateSchema(m, I, O, T);
          if (!R.valid) {
            var q = I.id && "<" + I.id + ">" || I.title && JSON.stringify(I.title) || I.$ref && "<" + I.$ref + ">" || "[subschema " + L + "]";
            w.addError({ name: "allOf", argument: { id: q, length: R.errors.length, valid: R }, message: "does not match allOf schema " + q + " with " + R.errors.length + " error[s]:" }), w.importErrors(R);
          }
        }), w;
      }, p.oneOf = function(m, v, O, T) {
        if (m === void 0) return null;
        if (!Array.isArray(v.oneOf)) throw new _("oneOf must be an array");
        var w = new S(m, v, O, T), P = new S(m, v, O, T), I = v.oneOf.filter(s.bind(this, m, O, T, function(R) {
          P.importErrors(R);
        })).length, L = v.oneOf.map(function(R, q) {
          return R.id && "<" + R.id + ">" || R.title && JSON.stringify(R.title) || R.$ref && "<" + R.$ref + ">" || "[subschema " + q + "]";
        });
        return I !== 1 && (O.nestedErrors && w.importErrors(P), w.addError({ name: "oneOf", argument: L, message: "is not exactly one from " + L.join(",") })), w;
      }, p.properties = function(m, v, O, T) {
        if (m !== void 0 && m instanceof Object) {
          var w = new S(m, v, O, T), P = v.properties || {};
          for (var I in P) {
            var L = (m || void 0) && m[I], R = this.validateSchema(L, P[I], O, T.makeChild(P[I], I));
            R.instance !== w.instance[I] && (w.instance[I] = R.instance), w.importErrors(R);
          }
          return w;
        }
      }, p.patternProperties = function(m, v, O, T) {
        if (m !== void 0 && this.types.object(m)) {
          var w = new S(m, v, O, T), P = v.patternProperties || {};
          for (var I in m) {
            var L = !0;
            for (var R in P)
              if (new RegExp(R).test(I)) {
                L = !1;
                var q = this.validateSchema(m[I], P[R], O, T.makeChild(P[R], I));
                q.instance !== w.instance[I] && (w.instance[I] = q.instance), w.importErrors(q);
              }
            L && h.call(this, m, v, O, T, I, w);
          }
          return w;
        }
      }, p.additionalProperties = function(m, v, O, T) {
        if (m !== void 0 && this.types.object(m)) {
          if (v.patternProperties) return null;
          var w = new S(m, v, O, T);
          for (var P in m) h.call(this, m, v, O, T, P, w);
          return w;
        }
      }, p.minProperties = function(m, v, O, T) {
        if (!m || typeof m != "object") return null;
        var w = new S(m, v, O, T);
        return Object.keys(m).length >= v.minProperties || w.addError({ name: "minProperties", argument: v.minProperties, message: "does not meet minimum property length of " + v.minProperties }), w;
      }, p.maxProperties = function(m, v, O, T) {
        if (!m || typeof m != "object") return null;
        var w = new S(m, v, O, T);
        return Object.keys(m).length <= v.maxProperties || w.addError({ name: "maxProperties", argument: v.maxProperties, message: "does not meet maximum property length of " + v.maxProperties }), w;
      }, p.items = function(m, v, O, T) {
        if (!Array.isArray(m)) return null;
        var w = this, P = new S(m, v, O, T);
        return m !== void 0 && v.items && m.every(function(I, L) {
          var R = Array.isArray(v.items) ? v.items[L] || v.additionalItems : v.items;
          if (R === void 0) return !0;
          if (R === !1) return P.addError({ name: "items", message: "additionalItems not permitted" }), !1;
          var q = w.validateSchema(I, R, O, T.makeChild(R, L));
          return q.instance !== P.instance[L] && (P.instance[L] = q.instance), P.importErrors(q), !0;
        }), P;
      }, p.minimum = function(m, v, O, T) {
        if (typeof m != "number") return null;
        var w = new S(m, v, O, T), P = !0;
        return P = v.exclusiveMinimum && v.exclusiveMinimum === !0 ? m > v.minimum : m >= v.minimum, P || w.addError({ name: "minimum", argument: v.minimum, message: "must have a minimum value of " + v.minimum }), w;
      }, p.maximum = function(m, v, O, T) {
        if (typeof m != "number") return null;
        var w, P = new S(m, v, O, T);
        return w = v.exclusiveMaximum && v.exclusiveMaximum === !0 ? m < v.maximum : m <= v.maximum, w || P.addError({ name: "maximum", argument: v.maximum, message: "must have a maximum value of " + v.maximum }), P;
      };
      var b = function(m, v, O, T, w, P) {
        if (typeof m != "number") return null;
        var I = v[w];
        if (I == 0) throw new _(w + " cannot be zero");
        var L = new S(m, v, O, T), R = f.getDecimalPlaces(m), q = f.getDecimalPlaces(I), B = Math.max(R, q), j = Math.pow(10, B);
        return Math.round(m * j) % Math.round(I * j) != 0 && L.addError({ name: w, argument: I, message: P + JSON.stringify(I) }), L;
      };
      p.multipleOf = function(m, v, O, T) {
        return b(m, v, O, T, "multipleOf", "is not a multiple of (divisible by) ");
      }, p.divisibleBy = function(m, v, O, T) {
        return b(m, v, O, T, "divisibleBy", "is not divisible by (multiple of) ");
      }, p.required = function(m, v, O, T) {
        var w = new S(m, v, O, T);
        return m === void 0 && v.required === !0 ? w.addError({ name: "required", message: "is required" }) : m && typeof m == "object" && Array.isArray(v.required) && v.required.forEach(function(P) {
          m[P] === void 0 && w.addError({ name: "required", argument: P, message: "requires property " + JSON.stringify(P) });
        }), w;
      }, p.pattern = function(m, v, O, T) {
        if (typeof m != "string") return null;
        var w = new S(m, v, O, T);
        return m.match(v.pattern) || w.addError({ name: "pattern", argument: v.pattern, message: "does not match pattern " + JSON.stringify(v.pattern) }), w;
      }, p.format = function(m, v, O, T) {
        var w = new S(m, v, O, T);
        return w.disableFormat || f.isFormat(m, v.format, this) || w.addError({ name: "format", argument: v.format, message: "does not conform to the " + JSON.stringify(v.format) + " format" }), w;
      }, p.minLength = function(m, v, O, T) {
        if (typeof m != "string") return null;
        var w = new S(m, v, O, T);
        return m.length >= v.minLength || w.addError({ name: "minLength", argument: v.minLength, message: "does not meet minimum length of " + v.minLength }), w;
      }, p.maxLength = function(m, v, O, T) {
        if (typeof m != "string") return null;
        var w = new S(m, v, O, T);
        return m.length <= v.maxLength || w.addError({ name: "maxLength", argument: v.maxLength, message: "does not meet maximum length of " + v.maxLength }), w;
      }, p.minItems = function(m, v, O, T) {
        if (!Array.isArray(m)) return null;
        var w = new S(m, v, O, T);
        return m.length >= v.minItems || w.addError({ name: "minItems", argument: v.minItems, message: "does not meet minimum length of " + v.minItems }), w;
      }, p.maxItems = function(m, v, O, T) {
        if (!Array.isArray(m)) return null;
        var w = new S(m, v, O, T);
        return m.length <= v.maxItems || w.addError({ name: "maxItems", argument: v.maxItems, message: "does not meet maximum length of " + v.maxItems }), w;
      }, p.uniqueItems = function(m, v, O, T) {
        function w(I, L, R) {
          for (var q = L + 1; q < R.length; q++) if (f.deepCompareStrict(I, R[q])) return !1;
          return !0;
        }
        var P = new S(m, v, O, T);
        return Array.isArray(m) && (m.every(w) || P.addError({ name: "uniqueItems", message: "contains duplicate item" })), P;
      }, p.uniqueItems = function(m, v, O, T) {
        if (!Array.isArray(m)) return null;
        var w = new S(m, v, O, T);
        return m.every(E) || w.addError({ name: "uniqueItems", message: "contains duplicate item" }), w;
      }, p.dependencies = function(m, v, O, T) {
        if (!m || typeof m != "object") return null;
        var w = new S(m, v, O, T);
        for (var P in v.dependencies) if (m[P] !== void 0) {
          var I = v.dependencies[P], L = T.makeChild(I, P);
          if (typeof I == "string" && (I = [I]), Array.isArray(I)) I.forEach(function(q) {
            m[q] === void 0 && w.addError({ name: "dependencies", argument: L.propertyPath, message: "property " + q + " not found, required by " + L.propertyPath });
          });
          else {
            var R = this.validateSchema(m, I, O, L);
            w.instance !== R.instance && (w.instance = R.instance), R && R.errors.length && (w.addError({ name: "dependencies", argument: L.propertyPath, message: "does not meet dependency required by " + L.propertyPath }), w.importErrors(R));
          }
        }
        return w;
      }, p.enum = function(m, v, O, T) {
        if (!Array.isArray(v.enum)) throw new _("enum expects an array", v);
        if (m === void 0) return null;
        var w = new S(m, v, O, T);
        return v.enum.some(f.deepCompareStrict.bind(null, m)) || w.addError({ name: "enum", argument: v.enum, message: "is not one of enum values: " + v.enum.join(",") }), w;
      }, p.const = function(m, v, O, T) {
        var w = new S(m, v, O, T);
        return f.deepCompareStrict(v.const, m) || w.addError({ name: "const", argument: v.const, message: "does not exactly match expected constant: " + v.const }), w;
      }, p.not = p.disallow = function(m, v, O, T) {
        var w = this;
        if (m === void 0) return null;
        var P = new S(m, v, O, T), I = v.not || v.disallow;
        return I ? (Array.isArray(I) || (I = [I]), I.forEach(function(L) {
          if (w.testType(m, v, O, T, L)) {
            var R = L && L.id && "<" + L.id + ">" || L;
            P.addError({ name: "not", argument: R, message: "is of prohibited type " + R });
          }
        }), P) : null;
      }, A.exports = d;
    }, function(A, u, a) {
      var s = A.exports.Validator = a(479);
      A.exports.ValidatorResult = a(83).ValidatorResult, A.exports.ValidationError = a(83).ValidationError, A.exports.SchemaError = a(83).SchemaError, A.exports.validate = function(h, E, f) {
        return new s().validate(h, E, f);
      };
    }, function(A, u, a) {
      function s(m) {
        var v = typeof m == "string" ? m : m.$ref;
        return typeof v == "string" && v;
      }
      var h = a(151), E = a(477), f = a(83), S = f.ValidatorResult, _ = f.SchemaError, d = f.SchemaContext, p = function m() {
        this.customFormats = Object.create(m.prototype.customFormats), this.schemas = {}, this.unresolvedRefs = [], this.types = Object.create(b), this.attributes = Object.create(E.validators);
      };
      p.prototype.customFormats = {}, p.prototype.schemas = null, p.prototype.types = null, p.prototype.attributes = null, p.prototype.unresolvedRefs = null, p.prototype.addSchema = function(m, v) {
        if (!m) return null;
        var O = v || m.id;
        return this.addSubSchema(O, m), O && (this.schemas[O] = m), this.schemas[O];
      }, p.prototype.addSubSchema = function(m, v) {
        if (v && typeof v == "object") {
          if (v.$ref) {
            var O = h.resolve(m, v.$ref);
            return void (this.schemas[O] === void 0 && (this.schemas[O] = null, this.unresolvedRefs.push(O)));
          }
          var T = v.id && h.resolve(m, v.id), w = T || m;
          if (T) {
            if (this.schemas[T]) {
              if (!f.deepCompareStrict(this.schemas[T], v)) throw new Error("Schema <" + v + "> already exists with different definition");
              return this.schemas[T];
            }
            this.schemas[T] = v;
            var P = T.replace(/^([^#]*)#$/, "$1");
            this.schemas[P] = v;
          }
          return this.addSubSchemaArray(w, v.items instanceof Array ? v.items : [v.items]), this.addSubSchemaArray(w, v.extends instanceof Array ? v.extends : [v.extends]), this.addSubSchema(w, v.additionalItems), this.addSubSchemaObject(w, v.properties), this.addSubSchema(w, v.additionalProperties), this.addSubSchemaObject(w, v.definitions), this.addSubSchemaObject(w, v.patternProperties), this.addSubSchemaObject(w, v.dependencies), this.addSubSchemaArray(w, v.disallow), this.addSubSchemaArray(w, v.allOf), this.addSubSchemaArray(w, v.anyOf), this.addSubSchemaArray(w, v.oneOf), this.addSubSchema(w, v.not), this.schemas[T];
        }
      }, p.prototype.addSubSchemaArray = function(m, v) {
        if (v instanceof Array) for (var O = 0; O < v.length; O++) this.addSubSchema(m, v[O]);
      }, p.prototype.addSubSchemaObject = function(m, v) {
        if (v && typeof v == "object") for (var O in v) this.addSubSchema(m, v[O]);
      }, p.prototype.setSchemas = function(m) {
        this.schemas = m;
      }, p.prototype.getSchema = function(m) {
        return this.schemas[m];
      }, p.prototype.validate = function(m, v, O, T) {
        O || (O = {});
        var w = O.propertyName || "instance", P = h.resolve(O.base || "/", v.id || "");
        if (T || (T = new d(v, O, w, P, Object.create(this.schemas)), T.schemas[P] || (T.schemas[P] = v)), v) {
          var I = this.validateSchema(m, v, O, T);
          if (!I) throw new Error("Result undefined");
          return I;
        }
        throw new _("no schema specified", v);
      }, p.prototype.validateSchema = function(m, v, O, T) {
        var w = new S(m, v, O, T);
        if (!v) throw new Error("schema is undefined");
        if (v.extends) if (v.extends instanceof Array) {
          var P = { schema: v, ctx: T };
          v.extends.forEach(this.schemaTraverser.bind(this, P)), v = P.schema, P.schema = null, P.ctx = null, P = null;
        } else v = f.deepMerge(v, this.superResolve(v.extends, T));
        var I;
        if (I = s(v)) {
          var L = this.resolve(v, I, T), R = new d(L.subschema, O, T.propertyPath, L.switchSchema, T.schemas);
          return this.validateSchema(m, L.subschema, O, R);
        }
        var q = O && O.skipAttributes || [];
        for (var B in v) if (!E.ignoreProperties[B] && q.indexOf(B) < 0) {
          var j = null, k = this.attributes[B];
          if (k) j = k.call(this, m, v, O, T);
          else if (O.allowUnknownAttributes === !1) throw new _("Unsupported attribute: " + B, v);
          j && w.importErrors(j);
        }
        if (typeof O.rewrite == "function") {
          var U = O.rewrite.call(this, m, v, O, T);
          w.instance = U;
        }
        return w;
      }, p.prototype.schemaTraverser = function(m, v) {
        m.schema = f.deepMerge(m.schema, this.superResolve(v, m.ctx));
      }, p.prototype.superResolve = function(m, v) {
        var O;
        return (O = s(m)) ? this.resolve(m, O, v).subschema : m;
      }, p.prototype.resolve = function(m, v, O) {
        if (v = O.resolve(v), O.schemas[v]) return { subschema: O.schemas[v], switchSchema: v };
        var T = h.parse(v), w = T && T.hash, P = w && w.length && v.substr(0, v.length - w.length);
        if (!P || !O.schemas[P]) throw new _("no such schema <" + v + ">", m);
        var I = f.objectGetPath(O.schemas[P], w.substr(1));
        if (I === void 0) throw new _("no such schema " + w + " located in <" + P + ">", m);
        return { subschema: I, switchSchema: v };
      }, p.prototype.testType = function(m, v, O, T, w) {
        if (typeof this.types[w] == "function") return this.types[w].call(this, m);
        if (w && typeof w == "object") {
          var P = this.validateSchema(m, w, O, T);
          return P === void 0 || !(P && P.errors.length);
        }
        return !0;
      };
      var b = p.prototype.types = {};
      b.string = function(m) {
        return typeof m == "string";
      }, b.number = function(m) {
        return typeof m == "number" && isFinite(m);
      }, b.integer = function(m) {
        return typeof m == "number" && m % 1 == 0;
      }, b.boolean = function(m) {
        return typeof m == "boolean";
      }, b.array = function(m) {
        return Array.isArray(m);
      }, b.null = function(m) {
        return m === null;
      }, b.date = function(m) {
        return m instanceof Date;
      }, b.any = function(m) {
        return !0;
      }, b.object = function(m) {
        return m && typeof m == "object" && !(m instanceof Array) && !(m instanceof Date);
      }, A.exports = p;
    }, function(A, u, a) {
      (function(s) {
        function h(ke, Ie) {
          for (var He = -1, nt = ke ? ke.length : 0, Qt = Array(nt); ++He < nt; ) Qt[He] = Ie(ke[He], He, ke);
          return Qt;
        }
        function E(ke, Ie) {
          return ke == null ? void 0 : ke[Ie];
        }
        function f(ke) {
          var Ie = !1;
          if (ke != null && typeof ke.toString != "function") try {
            Ie = !!(ke + "");
          } catch {
          }
          return Ie;
        }
        function S(ke) {
          var Ie = -1, He = ke ? ke.length : 0;
          for (this.clear(); ++Ie < He; ) {
            var nt = ke[Ie];
            this.set(nt[0], nt[1]);
          }
        }
        function _() {
          this.__data__ = Ye ? Ye(null) : {};
        }
        function d(ke) {
          return this.has(ke) && delete this.__data__[ke];
        }
        function p(ke) {
          var Ie = this.__data__;
          if (Ye) {
            var He = Ie[ke];
            return He === ae ? void 0 : He;
          }
          return Se.call(Ie, ke) ? Ie[ke] : void 0;
        }
        function b(ke) {
          var Ie = this.__data__;
          return Ye ? Ie[ke] !== void 0 : Se.call(Ie, ke);
        }
        function m(ke, Ie) {
          return this.__data__[ke] = Ye && Ie === void 0 ? ae : Ie, this;
        }
        function v(ke) {
          var Ie = -1, He = ke ? ke.length : 0;
          for (this.clear(); ++Ie < He; ) {
            var nt = ke[Ie];
            this.set(nt[0], nt[1]);
          }
        }
        function O() {
          this.__data__ = [];
        }
        function T(ke) {
          var Ie = this.__data__, He = U(Ie, ke);
          return !(He < 0) && (He == Ie.length - 1 ? Ie.pop() : we.call(Ie, He, 1), !0);
        }
        function w(ke) {
          var Ie = this.__data__, He = U(Ie, ke);
          return He < 0 ? void 0 : Ie[He][1];
        }
        function P(ke) {
          return U(this.__data__, ke) > -1;
        }
        function I(ke, Ie) {
          var He = this.__data__, nt = U(He, ke);
          return nt < 0 ? He.push([ke, Ie]) : He[nt][1] = Ie, this;
        }
        function L(ke) {
          var Ie = -1, He = ke ? ke.length : 0;
          for (this.clear(); ++Ie < He; ) {
            var nt = ke[Ie];
            this.set(nt[0], nt[1]);
          }
        }
        function R() {
          this.__data__ = { hash: new S(), map: new (Ve || v)(), string: new S() };
        }
        function q(ke) {
          return G(this, ke).delete(ke);
        }
        function B(ke) {
          return G(this, ke).get(ke);
        }
        function j(ke) {
          return G(this, ke).has(ke);
        }
        function k(ke, Ie) {
          return G(this, ke).set(ke, Ie), this;
        }
        function U(ke, Ie) {
          for (var He = ke.length; He--; ) if (J(ke[He][0], Ie)) return He;
          return -1;
        }
        function W(ke) {
          return !(!ie(ke) || H(ke)) && (ne(ke) || f(ke) ? ze : ye).test(Q(ke));
        }
        function $(ke) {
          if (typeof ke == "string") return ke;
          if (ee(ke)) return je ? je.call(ke) : "";
          var Ie = ke + "";
          return Ie == "0" && 1 / ke == -ce ? "-0" : Ie;
        }
        function V(ke, Ie) {
          var He = -1, nt = ke.length;
          for (Ie || (Ie = Array(nt)); ++He < nt; ) Ie[He] = ke[He];
          return Ie;
        }
        function G(ke, Ie) {
          var He = ke.__data__;
          return K(Ie) ? He[typeof Ie == "string" ? "string" : "hash"] : He.map;
        }
        function X(ke, Ie) {
          var He = E(ke, Ie);
          return W(He) ? He : void 0;
        }
        function K(ke) {
          var Ie = typeof ke;
          return Ie == "string" || Ie == "number" || Ie == "symbol" || Ie == "boolean" ? ke !== "__proto__" : ke === null;
        }
        function H(ke) {
          return !!fe && fe in ke;
        }
        function Y(ke) {
          if (typeof ke == "string" || ee(ke)) return ke;
          var Ie = ke + "";
          return Ie == "0" && 1 / ke == -ce ? "-0" : Ie;
        }
        function Q(ke) {
          if (ke != null) {
            try {
              return be.call(ke);
            } catch {
            }
            try {
              return ke + "";
            } catch {
            }
          }
          return "";
        }
        function Z(ke, Ie) {
          if (typeof ke != "function" || Ie && typeof Ie != "function") throw new TypeError(le);
          var He = function() {
            var nt = arguments, Qt = Ie ? Ie.apply(this, nt) : nt[0], Xr = He.cache;
            if (Xr.has(Qt)) return Xr.get(Qt);
            var ra = ke.apply(this, nt);
            return He.cache = Xr.set(Qt, ra), ra;
          };
          return He.cache = new (Z.Cache || L)(), He;
        }
        function J(ke, Ie) {
          return ke === Ie || ke !== ke && Ie !== Ie;
        }
        function ne(ke) {
          var Ie = ie(ke) ? Ae.call(ke) : "";
          return Ie == pe || Ie == de;
        }
        function ie(ke) {
          var Ie = typeof ke;
          return !!ke && (Ie == "object" || Ie == "function");
        }
        function re(ke) {
          return !!ke && typeof ke == "object";
        }
        function ee(ke) {
          return typeof ke == "symbol" || re(ke) && Ae.call(ke) == he;
        }
        function te(ke) {
          return ke == null ? "" : $(ke);
        }
        function ue(ke) {
          return dr(ke) ? h(ke, Y) : ee(ke) ? [ke] : V(Dt(ke));
        }
        var le = "Expected a function", ae = "__lodash_hash_undefined__", ce = 1 / 0, pe = "[object Function]", de = "[object GeneratorFunction]", he = "[object Symbol]", Ee = /^\./, ye = /^\[object .+?Constructor\]$/, _e = typeof s == "object" && s && s.Object === Object && s, ge = typeof self == "object" && self && self.Object === Object && self, Me = _e || ge || Function("return this")(), Te = Array.prototype, De = Function.prototype, oe = Object.prototype, se = Me["__core-js_shared__"], fe = function() {
          var ke = /[^.]+$/.exec(se && se.keys && se.keys.IE_PROTO || "");
          return ke ? "Symbol(src)_1." + ke : "";
        }(), be = De.toString, Se = oe.hasOwnProperty, Ae = oe.toString, ze = RegExp("^" + be.call(Se).replace(/[\\^$.*+?()[\]{}|]/g, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"), Oe = Me.Symbol, we = Te.splice, Ve = X(Me, "Map"), Ye = X(Object, "create"), xe = Oe ? Oe.prototype : void 0, je = xe ? xe.toString : void 0;
        S.prototype.clear = _, S.prototype.delete = d, S.prototype.get = p, S.prototype.has = b, S.prototype.set = m, v.prototype.clear = O, v.prototype.delete = T, v.prototype.get = w, v.prototype.has = P, v.prototype.set = I, L.prototype.clear = R, L.prototype.delete = q, L.prototype.get = B, L.prototype.has = j, L.prototype.set = k;
        var Dt = Z(function(ke) {
          ke = te(ke);
          var Ie = [];
          return Ee.test(ke) && Ie.push(""), ke.replace(/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, function(He, nt, Qt, Xr) {
            Ie.push(Qt ? Xr.replace(/\\(\\)?/g, "$1") : nt || He);
          }), Ie;
        });
        Z.Cache = L;
        var dr = Array.isArray;
        A.exports = ue;
      }).call(u, a(72));
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function() {
        function f(H, Y) {
          Y = Y || {};
          var Q = Y.dynamicTyping || !1;
          if (B(Q) && (Y.dynamicTypingFunction = Q, Q = {}), Y.dynamicTyping = Q, Y.worker && X.WORKERS_SUPPORTED) {
            var Z = T();
            return Z.userStep = Y.step, Z.userChunk = Y.chunk, Z.userComplete = Y.complete, Z.userError = Y.error, Y.step = B(Y.step), Y.chunk = B(Y.chunk), Y.complete = B(Y.complete), Y.error = B(Y.error), delete Y.worker, void Z.postMessage({ input: H, config: Y, workerId: Z.id });
          }
          var J = null;
          return typeof H == "string" ? J = Y.download ? new d(Y) : new b(Y) : H.readable === !0 && B(H.read) && B(H.on) ? J = new m(Y) : (k.File && H instanceof File || H instanceof Object) && (J = new p(Y)), J.stream(H);
        }
        function S(H, Y) {
          function Q(ae) {
            if (typeof ae != "object") return [];
            var ce = [];
            for (var pe in ae) ce.push(pe);
            return ce;
          }
          function Z(ae, ce) {
            var pe = "";
            typeof ae == "string" && (ae = JSON.parse(ae)), typeof ce == "string" && (ce = JSON.parse(ce));
            var de = ae instanceof Array && ae.length > 0, he = !(ce[0] instanceof Array);
            if (de && re) {
              for (var Ee = 0; Ee < ae.length; Ee++) Ee > 0 && (pe += ee), pe += J(ae[Ee], Ee);
              ce.length > 0 && (pe += te);
            }
            for (var ye = 0; ye < ce.length; ye++) {
              for (var _e = de ? ae.length : ce[ye].length, ge = 0; ge < _e; ge++) {
                ge > 0 && (pe += ee);
                var Me = de && he ? ae[ge] : ge;
                pe += J(ce[ye][Me], ge);
              }
              ye < ce.length - 1 && (pe += te);
            }
            return pe;
          }
          function J(ae, ce) {
            return ae == null ? "" : (ae = ae.toString().replace(le, ue + ue), typeof ie == "boolean" && ie || ie instanceof Array && ie[ce] || ne(ae, X.BAD_DELIMITERS) || ae.indexOf(ee) > -1 || ae.charAt(0) === " " || ae.charAt(ae.length - 1) === " " ? ue + ae + ue : ae);
          }
          function ne(ae, ce) {
            for (var pe = 0; pe < ce.length; pe++) if (ae.indexOf(ce[pe]) > -1) return !0;
            return !1;
          }
          var ie = !1, re = !0, ee = ",", te = `\r
`, ue = '"';
          (function() {
            typeof Y == "object" && (typeof Y.delimiter == "string" && Y.delimiter.length === 1 && X.BAD_DELIMITERS.indexOf(Y.delimiter) === -1 && (ee = Y.delimiter), (typeof Y.quotes == "boolean" || Y.quotes instanceof Array) && (ie = Y.quotes), typeof Y.newline == "string" && (te = Y.newline), typeof Y.quoteChar == "string" && (ue = Y.quoteChar), typeof Y.header == "boolean" && (re = Y.header));
          })();
          var le = new RegExp(ue, "g");
          if (typeof H == "string" && (H = JSON.parse(H)), H instanceof Array) {
            if (!H.length || H[0] instanceof Array) return Z(null, H);
            if (typeof H[0] == "object") return Z(Q(H[0]), H);
          } else if (typeof H == "object") return typeof H.data == "string" && (H.data = JSON.parse(H.data)), H.data instanceof Array && (H.fields || (H.fields = H.meta && H.meta.fields), H.fields || (H.fields = H.data[0] instanceof Array ? H.fields : Q(H.data[0])), H.data[0] instanceof Array || typeof H.data[0] == "object" || (H.data = [H.data])), Z(H.fields || [], H.data || []);
          throw "exception: Unable to serialize unrecognized input";
        }
        function _(H) {
          function Y(Q) {
            var Z = R(Q);
            Z.chunkSize = parseInt(Z.chunkSize), Q.step || Q.chunk || (Z.chunkSize = null), this._handle = new v(Z), this._handle.streamer = this, this._config = Z;
          }
          this._handle = null, this._paused = !1, this._finished = !1, this._input = null, this._baseIndex = 0, this._partialLine = "", this._rowCount = 0, this._start = 0, this._nextChunk = null, this.isFirstChunk = !0, this._completeResults = { data: [], errors: [], meta: {} }, Y.call(this, H), this.parseChunk = function(Q) {
            if (this.isFirstChunk && B(this._config.beforeFirstChunk)) {
              var Z = this._config.beforeFirstChunk(Q);
              Z !== void 0 && (Q = Z);
            }
            this.isFirstChunk = !1;
            var J = this._partialLine + Q;
            this._partialLine = "";
            var ne = this._handle.parse(J, this._baseIndex, !this._finished);
            if (!this._handle.paused() && !this._handle.aborted()) {
              var ie = ne.meta.cursor;
              this._finished || (this._partialLine = J.substring(ie - this._baseIndex), this._baseIndex = ie), ne && ne.data && (this._rowCount += ne.data.length);
              var re = this._finished || this._config.preview && this._rowCount >= this._config.preview;
              if (W) k.postMessage({ results: ne, workerId: X.WORKER_ID, finished: re });
              else if (B(this._config.chunk)) {
                if (this._config.chunk(ne, this._handle), this._paused) return;
                ne = void 0, this._completeResults = void 0;
              }
              return this._config.step || this._config.chunk || (this._completeResults.data = this._completeResults.data.concat(ne.data), this._completeResults.errors = this._completeResults.errors.concat(ne.errors), this._completeResults.meta = ne.meta), !re || !B(this._config.complete) || ne && ne.meta.aborted || this._config.complete(this._completeResults, this._input), re || ne && ne.meta.paused || this._nextChunk(), ne;
            }
          }, this._sendError = function(Q) {
            B(this._config.error) ? this._config.error(Q) : W && this._config.error && k.postMessage({ workerId: X.WORKER_ID, error: Q, finished: !1 });
          };
        }
        function d(H) {
          function Y(Z) {
            var J = Z.getResponseHeader("Content-Range");
            return J === null ? -1 : parseInt(J.substr(J.lastIndexOf("/") + 1));
          }
          H = H || {}, H.chunkSize || (H.chunkSize = X.RemoteChunkSize), _.call(this, H);
          var Q;
          this._nextChunk = U ? function() {
            this._readChunk(), this._chunkLoaded();
          } : function() {
            this._readChunk();
          }, this.stream = function(Z) {
            this._input = Z, this._nextChunk();
          }, this._readChunk = function() {
            if (this._finished) return void this._chunkLoaded();
            if (Q = new XMLHttpRequest(), this._config.withCredentials && (Q.withCredentials = this._config.withCredentials), U || (Q.onload = q(this._chunkLoaded, this), Q.onerror = q(this._chunkError, this)), Q.open("GET", this._input, !U), this._config.downloadRequestHeaders) {
              var Z = this._config.downloadRequestHeaders;
              for (var J in Z) Q.setRequestHeader(J, Z[J]);
            }
            if (this._config.chunkSize) {
              var ne = this._start + this._config.chunkSize - 1;
              Q.setRequestHeader("Range", "bytes=" + this._start + "-" + ne), Q.setRequestHeader("If-None-Match", "webkit-no-cache");
            }
            try {
              Q.send();
            } catch (ie) {
              this._chunkError(ie.message);
            }
            U && Q.status === 0 ? this._chunkError() : this._start += this._config.chunkSize;
          }, this._chunkLoaded = function() {
            if (Q.readyState == 4) {
              if (Q.status < 200 || Q.status >= 400) return void this._chunkError();
              this._finished = !this._config.chunkSize || this._start > Y(Q), this.parseChunk(Q.responseText);
            }
          }, this._chunkError = function(Z) {
            var J = Q.statusText || Z;
            this._sendError(J);
          };
        }
        function p(H) {
          H = H || {}, H.chunkSize || (H.chunkSize = X.LocalChunkSize), _.call(this, H);
          var Y, Q, Z = typeof FileReader < "u";
          this.stream = function(J) {
            this._input = J, Q = J.slice || J.webkitSlice || J.mozSlice, Z ? (Y = new FileReader(), Y.onload = q(this._chunkLoaded, this), Y.onerror = q(this._chunkError, this)) : Y = new FileReaderSync(), this._nextChunk();
          }, this._nextChunk = function() {
            this._finished || this._config.preview && !(this._rowCount < this._config.preview) || this._readChunk();
          }, this._readChunk = function() {
            var J = this._input;
            if (this._config.chunkSize) {
              var ne = Math.min(this._start + this._config.chunkSize, this._input.size);
              J = Q.call(J, this._start, ne);
            }
            var ie = Y.readAsText(J, this._config.encoding);
            Z || this._chunkLoaded({ target: { result: ie } });
          }, this._chunkLoaded = function(J) {
            this._start += this._config.chunkSize, this._finished = !this._config.chunkSize || this._start >= this._input.size, this.parseChunk(J.target.result);
          }, this._chunkError = function() {
            this._sendError(Y.error);
          };
        }
        function b(H) {
          H = H || {}, _.call(this, H);
          var Y;
          this.stream = function(Q) {
            return Y = Q, this._nextChunk();
          }, this._nextChunk = function() {
            if (!this._finished) {
              var Q = this._config.chunkSize, Z = Q ? Y.substr(0, Q) : Y;
              return Y = Q ? Y.substr(Q) : "", this._finished = !Y, this.parseChunk(Z);
            }
          };
        }
        function m(H) {
          H = H || {}, _.call(this, H);
          var Y = [], Q = !0;
          this.stream = function(Z) {
            this._input = Z, this._input.on("data", this._streamData), this._input.on("end", this._streamEnd), this._input.on("error", this._streamError);
          }, this._nextChunk = function() {
            Y.length ? this.parseChunk(Y.shift()) : Q = !0;
          }, this._streamData = q(function(Z) {
            try {
              Y.push(typeof Z == "string" ? Z : Z.toString(this._config.encoding)), Q && (Q = !1, this.parseChunk(Y.shift()));
            } catch (J) {
              this._streamError(J);
            }
          }, this), this._streamError = q(function(Z) {
            this._streamCleanUp(), this._sendError(Z.message);
          }, this), this._streamEnd = q(function() {
            this._streamCleanUp(), this._finished = !0, this._streamData("");
          }, this), this._streamCleanUp = q(function() {
            this._input.removeListener("data", this._streamData), this._input.removeListener("end", this._streamEnd), this._input.removeListener("error", this._streamError);
          }, this);
        }
        function v(H) {
          function Y() {
            if (ge && ce && (ue("Delimiter", "UndetectableDelimiter", "Unable to auto-detect delimiting character; defaulted to '" + X.DefaultDelimiter + "'"), ce = !1), H.skipEmptyLines) for (var Te = 0; Te < ge.data.length; Te++) ge.data[Te].length === 1 && ge.data[Te][0] === "" && ge.data.splice(Te--, 1);
            return Q() && Z(), ie();
          }
          function Q() {
            return H.header && _e.length === 0;
          }
          function Z() {
            if (ge) {
              for (var Te = 0; Q() && Te < ge.data.length; Te++) for (var De = 0; De < ge.data[Te].length; De++) _e.push(ge.data[Te][De]);
              ge.data.splice(0, 1);
            }
          }
          function J(Te) {
            return H.dynamicTypingFunction && H.dynamicTyping[Te] === void 0 && (H.dynamicTyping[Te] = H.dynamicTypingFunction(Te)), (H.dynamicTyping[Te] || H.dynamicTyping) === !0;
          }
          function ne(Te, De) {
            return J(Te) ? De === "true" || De === "TRUE" || De !== "false" && De !== "FALSE" && te(De) : De;
          }
          function ie() {
            if (!ge || !H.header && !H.dynamicTyping) return ge;
            for (var Te = 0; Te < ge.data.length; Te++) {
              for (var De = H.header ? {} : [], oe = 0; oe < ge.data[Te].length; oe++) {
                var se = oe, fe = ge.data[Te][oe];
                H.header && (se = oe >= _e.length ? "__parsed_extra" : _e[oe]), fe = ne(se, fe), se === "__parsed_extra" ? (De[se] = De[se] || [], De[se].push(fe)) : De[se] = fe;
              }
              ge.data[Te] = De, H.header && (oe > _e.length ? ue("FieldMismatch", "TooManyFields", "Too many fields: expected " + _e.length + " fields but parsed " + oe, Te) : oe < _e.length && ue("FieldMismatch", "TooFewFields", "Too few fields: expected " + _e.length + " fields but parsed " + oe, Te));
            }
            return H.header && ge.meta && (ge.meta.fields = _e), ge;
          }
          function re(Te, De, oe) {
            for (var se, fe, be, Se = [",", "	", "|", ";", X.RECORD_SEP, X.UNIT_SEP], Ae = 0; Ae < Se.length; Ae++) {
              var ze = Se[Ae], Oe = 0, we = 0, Ve = 0;
              be = void 0;
              for (var Ye = new O({ delimiter: ze, newline: De, preview: 10 }).parse(Te), xe = 0; xe < Ye.data.length; xe++) if (oe && Ye.data[xe].length === 1 && Ye.data[xe][0].length === 0) Ve++;
              else {
                var je = Ye.data[xe].length;
                we += je, be !== void 0 ? je > 1 && (Oe += Math.abs(je - be), be = je) : be = je;
              }
              Ye.data.length > 0 && (we /= Ye.data.length - Ve), (fe === void 0 || Oe < fe) && we > 1.99 && (fe = Oe, se = ze);
            }
            return H.delimiter = se, { successful: !!se, bestDelimiter: se };
          }
          function ee(Te) {
            Te = Te.substr(0, 1048576);
            var De = Te.split("\r"), oe = Te.split(`
`), se = oe.length > 1 && oe[0].length < De[0].length;
            if (De.length === 1 || se) return `
`;
            for (var fe = 0, be = 0; be < De.length; be++) De[be][0] === `
` && fe++;
            return fe >= De.length / 2 ? `\r
` : "\r";
          }
          function te(Te) {
            return pe.test(Te) ? parseFloat(Te) : Te;
          }
          function ue(Te, De, oe, se) {
            ge.errors.push({ type: Te, code: De, message: oe, row: se });
          }
          var le, ae, ce, pe = /^\s*-?(\d*\.?\d+|\d+\.?\d*)(e[-+]?\d+)?\s*$/i, de = this, he = 0, Ee = !1, ye = !1, _e = [], ge = { data: [], errors: [], meta: {} };
          if (B(H.step)) {
            var Me = H.step;
            H.step = function(Te) {
              if (ge = Te, Q()) Y();
              else {
                if (Y(), ge.data.length === 0) return;
                he += Te.data.length, H.preview && he > H.preview ? ae.abort() : Me(ge, de);
              }
            };
          }
          this.parse = function(Te, De, oe) {
            if (H.newline || (H.newline = ee(Te)), ce = !1, H.delimiter) B(H.delimiter) && (H.delimiter = H.delimiter(Te), ge.meta.delimiter = H.delimiter);
            else {
              var se = re(Te, H.newline, H.skipEmptyLines);
              se.successful ? H.delimiter = se.bestDelimiter : (ce = !0, H.delimiter = X.DefaultDelimiter), ge.meta.delimiter = H.delimiter;
            }
            var fe = R(H);
            return H.preview && H.header && fe.preview++, le = Te, ae = new O(fe), ge = ae.parse(le, De, oe), Y(), Ee ? { meta: { paused: !0 } } : ge || { meta: { paused: !1 } };
          }, this.paused = function() {
            return Ee;
          }, this.pause = function() {
            Ee = !0, ae.abort(), le = le.substr(ae.getCharIndex());
          }, this.resume = function() {
            Ee = !1, de.streamer.parseChunk(le);
          }, this.aborted = function() {
            return ye;
          }, this.abort = function() {
            ye = !0, ae.abort(), ge.meta.aborted = !0, B(H.complete) && H.complete(ge), le = "";
          };
        }
        function O(H) {
          H = H || {};
          var Y = H.delimiter, Q = H.newline, Z = H.comments, J = H.step, ne = H.preview, ie = H.fastMode, re = H.quoteChar || '"';
          if ((typeof Y != "string" || X.BAD_DELIMITERS.indexOf(Y) > -1) && (Y = ","), Z === Y) throw "Comment character same as delimiter";
          Z === !0 ? Z = "#" : (typeof Z != "string" || X.BAD_DELIMITERS.indexOf(Z) > -1) && (Z = !1), Q != `
` && Q != "\r" && Q != `\r
` && (Q = `
`);
          var ee = 0, te = !1;
          this.parse = function(ue, le, ae) {
            function ce(Ye) {
              De.push(Ye), fe = ee;
            }
            function pe(Ye) {
              return ae || (Ye === void 0 && (Ye = ue.substr(ee)), se.push(Ye), ee = ye, ce(se), Te && Ee()), he();
            }
            function de(Ye) {
              ee = Ye, ce(se), se = [], ze = ue.indexOf(Q, ee);
            }
            function he(Ye) {
              return { data: De, errors: oe, meta: { delimiter: Y, linebreak: Q, aborted: te, truncated: !!Ye, cursor: fe + (le || 0) } };
            }
            function Ee() {
              J(he()), De = [], oe = [];
            }
            if (typeof ue != "string") throw "Input must be a string";
            var ye = ue.length, _e = Y.length, ge = Q.length, Me = Z.length, Te = B(J);
            ee = 0;
            var De = [], oe = [], se = [], fe = 0;
            if (!ue) return he();
            if (ie || ie !== !1 && ue.indexOf(re) === -1) {
              for (var be = ue.split(Q), Se = 0; Se < be.length; Se++) {
                var se = be[Se];
                if (ee += se.length, Se !== be.length - 1) ee += Q.length;
                else if (ae) return he();
                if (!Z || se.substr(0, Me) !== Z) {
                  if (Te) {
                    if (De = [], ce(se.split(Y)), Ee(), te) return he();
                  } else ce(se.split(Y));
                  if (ne && Se >= ne) return De = De.slice(0, ne), he(!0);
                }
              }
              return he();
            }
            for (var Ae = ue.indexOf(Y, ee), ze = ue.indexOf(Q, ee), Oe = new RegExp(re + re, "g"); ; ) if (ue[ee] !== re) if (Z && se.length === 0 && ue.substr(ee, Me) === Z) {
              if (ze === -1) return he();
              ee = ze + ge, ze = ue.indexOf(Q, ee), Ae = ue.indexOf(Y, ee);
            } else if (Ae !== -1 && (Ae < ze || ze === -1)) se.push(ue.substring(ee, Ae)), ee = Ae + _e, Ae = ue.indexOf(Y, ee);
            else {
              if (ze === -1) break;
              if (se.push(ue.substring(ee, ze)), de(ze + ge), Te && (Ee(), te)) return he();
              if (ne && De.length >= ne) return he(!0);
            }
            else {
              var we = ee;
              for (ee++; ; ) {
                var we = ue.indexOf(re, we + 1);
                if (we === -1) return ae || oe.push({ type: "Quotes", code: "MissingQuotes", message: "Quoted field unterminated", row: De.length, index: ee }), pe();
                if (we === ye - 1) {
                  var Ve = ue.substring(ee, we).replace(Oe, re);
                  return pe(Ve);
                }
                if (ue[we + 1] !== re) {
                  if (ue[we + 1] === Y) {
                    se.push(ue.substring(ee, we).replace(Oe, re)), ee = we + 1 + _e, Ae = ue.indexOf(Y, ee), ze = ue.indexOf(Q, ee);
                    break;
                  }
                  if (ue.substr(we + 1, ge) === Q) {
                    if (se.push(ue.substring(ee, we).replace(Oe, re)), de(we + 1 + ge), Ae = ue.indexOf(Y, ee), Te && (Ee(), te)) return he();
                    if (ne && De.length >= ne) return he(!0);
                    break;
                  }
                } else we++;
              }
            }
            return pe();
          }, this.abort = function() {
            te = !0;
          }, this.getCharIndex = function() {
            return ee;
          };
        }
        function T() {
          if (!X.WORKERS_SUPPORTED) return !1;
          if (!$ && X.SCRIPT_PATH === null) throw new Error("Script path cannot be determined automatically when Papa Parse is loaded asynchronously. You need to set Papa.SCRIPT_PATH manually.");
          var H = X.SCRIPT_PATH || j;
          H += (H.indexOf("?") !== -1 ? "&" : "?") + "papaworker";
          var Y = new k.Worker(H);
          return Y.onmessage = w, Y.id = G++, V[Y.id] = Y, Y;
        }
        function w(H) {
          var Y = H.data, Q = V[Y.workerId], Z = !1;
          if (Y.error) Q.userError(Y.error, Y.file);
          else if (Y.results && Y.results.data) {
            var J = function() {
              Z = !0, P(Y.workerId, { data: [], errors: [], meta: { aborted: !0 } });
            }, ne = { abort: J, pause: I, resume: I };
            if (B(Q.userStep)) {
              for (var ie = 0; ie < Y.results.data.length && (Q.userStep({ data: [Y.results.data[ie]], errors: Y.results.errors, meta: Y.results.meta }, ne), !Z); ie++) ;
              delete Y.results;
            } else B(Q.userChunk) && (Q.userChunk(Y.results, ne, Y.file), delete Y.results);
          }
          Y.finished && !Z && P(Y.workerId, Y.results);
        }
        function P(H, Y) {
          var Q = V[H];
          B(Q.userComplete) && Q.userComplete(Y), Q.terminate(), delete V[H];
        }
        function I() {
          throw "Not implemented.";
        }
        function L(H) {
          var Y = H.data;
          if (X.WORKER_ID === void 0 && Y && (X.WORKER_ID = Y.workerId), typeof Y.input == "string") k.postMessage({ workerId: X.WORKER_ID, results: X.parse(Y.input, Y.config), finished: !0 });
          else if (k.File && Y.input instanceof File || Y.input instanceof Object) {
            var Q = X.parse(Y.input, Y.config);
            Q && k.postMessage({ workerId: X.WORKER_ID, results: Q, finished: !0 });
          }
        }
        function R(H) {
          if (typeof H != "object") return H;
          var Y = H instanceof Array ? [] : {};
          for (var Q in H) Y[Q] = R(H[Q]);
          return Y;
        }
        function q(H, Y) {
          return function() {
            H.apply(Y, arguments);
          };
        }
        function B(H) {
          return typeof H == "function";
        }
        var j, k = /* @__PURE__ */ function() {
          return typeof self < "u" ? self : typeof window < "u" ? window : k !== void 0 ? k : {};
        }(), U = !k.document && !!k.postMessage, W = U && /(\?|&)papaworker(=|&|$)/.test(k.location.search), $ = !1, V = {}, G = 0, X = {};
        if (X.parse = f, X.unparse = S, X.RECORD_SEP = "", X.UNIT_SEP = "", X.BYTE_ORDER_MARK = "\uFEFF", X.BAD_DELIMITERS = ["\r", `
`, '"', X.BYTE_ORDER_MARK], X.WORKERS_SUPPORTED = !U && !!k.Worker, X.SCRIPT_PATH = null, X.LocalChunkSize = 10485760, X.RemoteChunkSize = 5242880, X.DefaultDelimiter = ",", X.Parser = O, X.ParserHandle = v, X.NetworkStreamer = d, X.FileStreamer = p, X.StringStreamer = b, X.ReadableStreamStreamer = m, k.jQuery) {
          var K = k.jQuery;
          K.fn.parse = function(H) {
            function Y() {
              if (ne.length === 0) return void (B(H.complete) && H.complete());
              var ie = ne[0];
              if (B(H.before)) {
                var re = H.before(ie.file, ie.inputElem);
                if (typeof re == "object") {
                  if (re.action === "abort") return void Q("AbortError", ie.file, ie.inputElem, re.reason);
                  if (re.action === "skip") return void Z();
                  typeof re.config == "object" && (ie.instanceConfig = K.extend(ie.instanceConfig, re.config));
                } else if (re === "skip") return void Z();
              }
              var ee = ie.instanceConfig.complete;
              ie.instanceConfig.complete = function(te) {
                B(ee) && ee(te, ie.file, ie.inputElem), Z();
              }, X.parse(ie.file, ie.instanceConfig);
            }
            function Q(ie, re, ee, te) {
              B(H.error) && H.error({ name: ie }, re, ee, te);
            }
            function Z() {
              ne.splice(0, 1), Y();
            }
            var J = H.config || {}, ne = [];
            return this.each(function(ie) {
              if (K(this).prop("tagName").toUpperCase() !== "INPUT" || K(this).attr("type").toLowerCase() !== "file" || !k.FileReader || !this.files || this.files.length === 0) return !0;
              for (var re = 0; re < this.files.length; re++) ne.push({ file: this.files[re], inputElem: this, instanceConfig: K.extend({}, J) });
            }), Y(), this;
          };
        }
        return W ? k.onmessage = L : X.WORKERS_SUPPORTED && (j = function() {
          var H = document.getElementsByTagName("script");
          return H.length ? H[H.length - 1].src : "";
        }(), document.body ? document.addEventListener("DOMContentLoaded", function() {
          $ = !0;
        }, !0) : $ = !0), d.prototype = Object.create(_.prototype), d.prototype.constructor = d, p.prototype = Object.create(_.prototype), p.prototype.constructor = p, b.prototype = Object.create(b.prototype), b.prototype.constructor = b, m.prototype = Object.create(_.prototype), m.prototype.constructor = m, X;
      });
    }, function(A, u, a) {
      function s(_, d, p, b, m) {
        for (var v in _) if (_.hasOwnProperty(v)) {
          var O;
          try {
            h(typeof _[v] == "function", "%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.", b || "React class", p, v), O = _[v](d, v, b, p, null, f);
          } catch (w) {
            O = w;
          }
          if (E(!O || O instanceof Error, "%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", b || "React class", p, v, typeof O), O instanceof Error && !(O.message in S)) {
            S[O.message] = !0;
            var T = m ? m() : "";
            E(!1, "Failed %s type: %s%s", p, O.message, T ?? "");
          }
        }
      }
      var h = a(101), E = a(142), f = a(145), S = {};
      A.exports = s;
    }, function(A, u, a) {
      var s = a(141), h = a(101), E = a(145);
      A.exports = function() {
        function f(d, p, b, m, v, O) {
          O !== E && h(!1, "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");
        }
        function S() {
          return f;
        }
        f.isRequired = f;
        var _ = { array: f, bool: f, func: f, number: f, object: f, string: f, symbol: f, any: f, arrayOf: S, element: f, instanceOf: S, node: f, objectOf: S, oneOf: S, oneOfType: S, shape: S };
        return _.checkPropTypes = s, _.PropTypes = _, _;
      };
    }, function(A, u, a) {
      var s = a(141), h = a(101), E = a(142), f = a(145), S = a(482);
      A.exports = function(_, d) {
        function p(K) {
          var H = K && ($ && K[$] || K[V]);
          if (typeof H == "function") return H;
        }
        function b(K, H) {
          return K === H ? K !== 0 || 1 / K == 1 / H : K !== K && H !== H;
        }
        function m(K) {
          this.message = K, this.stack = "";
        }
        function v(K) {
          function H(J, ne, ie, re, ee, te, ue) {
            if (re = re || G, te = te || ie, ue !== f) {
              if (d) h(!1, "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");
              else if (typeof console < "u") {
                var le = re + ":" + ie;
                !Y[le] && Q < 3 && (E(!1, "You are manually calling a React.PropTypes validation function for the `%s` prop on `%s`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.", te, re), Y[le] = !0, Q++);
              }
            }
            return ne[ie] == null ? J ? new m(ne[ie] === null ? "The " + ee + " `" + te + "` is marked as required in `" + re + "`, but its value is `null`." : "The " + ee + " `" + te + "` is marked as required in `" + re + "`, but its value is `undefined`.") : null : K(ne, ie, re, ee, te);
          }
          var Y = {}, Q = 0, Z = H.bind(null, !1);
          return Z.isRequired = H.bind(null, !0), Z;
        }
        function O(K) {
          function H(Y, Q, Z, J, ne, ie) {
            var re = Y[Q];
            return j(re) !== K ? new m("Invalid " + J + " `" + ne + "` of type `" + k(re) + "` supplied to `" + Z + "`, expected `" + K + "`.") : null;
          }
          return v(H);
        }
        function T(K) {
          function H(Y, Q, Z, J, ne) {
            if (typeof K != "function") return new m("Property `" + ne + "` of component `" + Z + "` has invalid PropType notation inside arrayOf.");
            var ie = Y[Q];
            if (!Array.isArray(ie))
              return new m("Invalid " + J + " `" + ne + "` of type `" + j(ie) + "` supplied to `" + Z + "`, expected an array.");
            for (var re = 0; re < ie.length; re++) {
              var ee = K(ie, re, Z, J, ne + "[" + re + "]", f);
              if (ee instanceof Error) return ee;
            }
            return null;
          }
          return v(H);
        }
        function w(K) {
          function H(Y, Q, Z, J, ne) {
            if (!(Y[Q] instanceof K)) {
              var ie = K.name || G;
              return new m("Invalid " + J + " `" + ne + "` of type `" + W(Y[Q]) + "` supplied to `" + Z + "`, expected instance of `" + ie + "`.");
            }
            return null;
          }
          return v(H);
        }
        function P(K) {
          function H(Y, Q, Z, J, ne) {
            for (var ie = Y[Q], re = 0; re < K.length; re++) if (b(ie, K[re])) return null;
            return new m("Invalid " + J + " `" + ne + "` of value `" + ie + "` supplied to `" + Z + "`, expected one of " + JSON.stringify(K) + ".");
          }
          return Array.isArray(K) ? v(H) : (E(!1, "Invalid argument supplied to oneOf, expected an instance of array."), s.thatReturnsNull);
        }
        function I(K) {
          function H(Y, Q, Z, J, ne) {
            if (typeof K != "function") return new m("Property `" + ne + "` of component `" + Z + "` has invalid PropType notation inside objectOf.");
            var ie = Y[Q], re = j(ie);
            if (re !== "object") return new m("Invalid " + J + " `" + ne + "` of type `" + re + "` supplied to `" + Z + "`, expected an object.");
            for (var ee in ie) if (ie.hasOwnProperty(ee)) {
              var te = K(ie, ee, Z, J, ne + "." + ee, f);
              if (te instanceof Error) return te;
            }
            return null;
          }
          return v(H);
        }
        function L(K) {
          function H(Z, J, ne, ie, re) {
            for (var ee = 0; ee < K.length; ee++)
              if ((0, K[ee])(Z, J, ne, ie, re, f) == null) return null;
            return new m("Invalid " + ie + " `" + re + "` supplied to `" + ne + "`.");
          }
          if (!Array.isArray(K)) return E(!1, "Invalid argument supplied to oneOfType, expected an instance of array."), s.thatReturnsNull;
          for (var Y = 0; Y < K.length; Y++) {
            var Q = K[Y];
            if (typeof Q != "function") return E(!1, "Invalid argument supplid to oneOfType. Expected an array of check functions, but received %s at index %s.", U(Q), Y), s.thatReturnsNull;
          }
          return v(H);
        }
        function R(K) {
          function H(Y, Q, Z, J, ne) {
            var ie = Y[Q], re = j(ie);
            if (re !== "object") return new m("Invalid " + J + " `" + ne + "` of type `" + re + "` supplied to `" + Z + "`, expected `object`.");
            for (var ee in K) {
              var te = K[ee];
              if (te) {
                var ue = te(ie, ee, Z, J, ne + "." + ee, f);
                if (ue) return ue;
              }
            }
            return null;
          }
          return v(H);
        }
        function q(K) {
          switch (typeof K) {
            case "number":
            case "string":
            case "undefined":
              return !0;
            case "boolean":
              return !K;
            case "object":
              if (Array.isArray(K)) return K.every(q);
              if (K === null || _(K)) return !0;
              var H = p(K);
              if (!H) return !1;
              var Y, Q = H.call(K);
              if (H !== K.entries) {
                for (; !(Y = Q.next()).done; ) if (!q(Y.value)) return !1;
              } else for (; !(Y = Q.next()).done; ) {
                var Z = Y.value;
                if (Z && !q(Z[1])) return !1;
              }
              return !0;
            default:
              return !1;
          }
        }
        function B(K, H) {
          return K === "symbol" || H["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && H instanceof Symbol;
        }
        function j(K) {
          var H = typeof K;
          return Array.isArray(K) ? "array" : K instanceof RegExp ? "object" : B(H, K) ? "symbol" : H;
        }
        function k(K) {
          if (K == null) return "" + K;
          var H = j(K);
          if (H === "object") {
            if (K instanceof Date) return "date";
            if (K instanceof RegExp) return "regexp";
          }
          return H;
        }
        function U(K) {
          var H = k(K);
          switch (H) {
            case "array":
            case "object":
              return "an " + H;
            case "boolean":
            case "date":
            case "regexp":
              return "a " + H;
            default:
              return H;
          }
        }
        function W(K) {
          return K.constructor && K.constructor.name ? K.constructor.name : G;
        }
        var $ = typeof Symbol == "function" && Symbol.iterator, V = "@@iterator", G = "<<anonymous>>", X = { array: O("array"), bool: O("boolean"), func: O("function"), number: O("number"), object: O("object"), string: O("string"), symbol: O("symbol"), any: function() {
          return v(s.thatReturnsNull);
        }(), arrayOf: T, element: function() {
          function K(H, Y, Q, Z, J) {
            var ne = H[Y];
            return _(ne) ? null : new m("Invalid " + Z + " `" + J + "` of type `" + j(ne) + "` supplied to `" + Q + "`, expected a single ReactElement.");
          }
          return v(K);
        }(), instanceOf: w, node: function() {
          function K(H, Y, Q, Z, J) {
            return q(H[Y]) ? null : new m("Invalid " + Z + " `" + J + "` supplied to `" + Q + "`, expected a ReactNode.");
          }
          return v(K);
        }(), objectOf: I, oneOf: P, oneOfType: L, shape: R };
        return m.prototype = Error.prototype, X.checkPropTypes = S, X.PropTypes = X, X;
      };
    }, function(A, u, a) {
      (function(s, h) {
        var E;
        (function(f) {
          function S(J) {
            throw new RangeError(H[J]);
          }
          function _(J, ne) {
            for (var ie = J.length, re = []; ie--; ) re[ie] = ne(J[ie]);
            return re;
          }
          function d(J, ne) {
            var ie = J.split("@"), re = "";
            return ie.length > 1 && (re = ie[0] + "@", J = ie[1]), J = J.replace(K, "."), re + _(J.split("."), ne).join(".");
          }
          function p(J) {
            for (var ne, ie, re = [], ee = 0, te = J.length; ee < te; ) ne = J.charCodeAt(ee++), ne >= 55296 && ne <= 56319 && ee < te ? (ie = J.charCodeAt(ee++), (64512 & ie) == 56320 ? re.push(((1023 & ne) << 10) + (1023 & ie) + 65536) : (re.push(ne), ee--)) : re.push(ne);
            return re;
          }
          function b(J) {
            return _(J, function(ne) {
              var ie = "";
              return ne > 65535 && (ne -= 65536, ie += Z(ne >>> 10 & 1023 | 55296), ne = 56320 | 1023 & ne), ie += Z(ne);
            }).join("");
          }
          function m(J) {
            return J - 48 < 10 ? J - 22 : J - 65 < 26 ? J - 65 : J - 97 < 26 ? J - 97 : q;
          }
          function v(J, ne) {
            return J + 22 + 75 * (J < 26) - ((ne != 0) << 5);
          }
          function O(J, ne, ie) {
            var re = 0;
            for (J = ie ? Q(J / U) : J >> 1, J += Q(J / ne); J > Y * j >> 1; re += q) J = Q(J / Y);
            return Q(re + (Y + 1) * J / (J + k));
          }
          function T(J) {
            var ne, ie, re, ee, te, ue, le, ae, ce, pe, de = [], he = J.length, Ee = 0, ye = $, _e = W;
            for (ie = J.lastIndexOf(V), ie < 0 && (ie = 0), re = 0; re < ie; ++re) J.charCodeAt(re) >= 128 && S("not-basic"), de.push(J.charCodeAt(re));
            for (ee = ie > 0 ? ie + 1 : 0; ee < he; ) {
              for (te = Ee, ue = 1, le = q; ee >= he && S("invalid-input"), ae = m(J.charCodeAt(ee++)), (ae >= q || ae > Q((R - Ee) / ue)) && S("overflow"), Ee += ae * ue, ce = le <= _e ? B : le >= _e + j ? j : le - _e, !(ae < ce); le += q) pe = q - ce, ue > Q(R / pe) && S("overflow"), ue *= pe;
              ne = de.length + 1, _e = O(Ee - te, ne, te == 0), Q(Ee / ne) > R - ye && S("overflow"), ye += Q(Ee / ne), Ee %= ne, de.splice(Ee++, 0, ye);
            }
            return b(de);
          }
          function w(J) {
            var ne, ie, re, ee, te, ue, le, ae, ce, pe, de, he, Ee, ye, _e, ge = [];
            for (J = p(J), he = J.length, ne = $, ie = 0, te = W, ue = 0; ue < he; ++ue) (de = J[ue]) < 128 && ge.push(Z(de));
            for (re = ee = ge.length, ee && ge.push(V); re < he; ) {
              for (le = R, ue = 0; ue < he; ++ue) (de = J[ue]) >= ne && de < le && (le = de);
              for (Ee = re + 1, le - ne > Q((R - ie) / Ee) && S("overflow"), ie += (le - ne) * Ee, ne = le, ue = 0; ue < he; ++ue) if (de = J[ue], de < ne && ++ie > R && S("overflow"), de == ne) {
                for (ae = ie, ce = q; pe = ce <= te ? B : ce >= te + j ? j : ce - te, !(ae < pe); ce += q) _e = ae - pe, ye = q - pe, ge.push(Z(v(pe + _e % ye, 0))), ae = Q(_e / ye);
                ge.push(Z(v(ae, 0))), te = O(ie, Ee, re == ee), ie = 0, ++re;
              }
              ++ie, ++ne;
            }
            return ge.join("");
          }
          function P(J) {
            return d(J, function(ne) {
              return G.test(ne) ? T(ne.slice(4).toLowerCase()) : ne;
            });
          }
          function I(J) {
            return d(J, function(ne) {
              return X.test(ne) ? "xn--" + w(ne) : ne;
            });
          }
          typeof u == "object" && u && u.nodeType, typeof s == "object" && s && s.nodeType;
          var L, R = 2147483647, q = 36, B = 1, j = 26, k = 38, U = 700, W = 72, $ = 128, V = "-", G = /^xn--/, X = /[^\x20-\x7E]/, K = /[\x2E\u3002\uFF0E\uFF61]/g, H = { overflow: "Overflow: input needs wider integers to process", "not-basic": "Illegal input >= 0x80 (not a basic code point)", "invalid-input": "Invalid input" }, Y = q - B, Q = Math.floor, Z = String.fromCharCode;
          L = { version: "1.4.1", ucs2: { decode: p, encode: b }, decode: T, encode: w, toASCII: I, toUnicode: P }, (E = (function() {
            return L;
          }).call(u, a, u, s)) !== void 0 && (s.exports = E);
        })();
      }).call(u, a(677)(A), a(72));
    }, function(A, u, a) {
      function s(E, f) {
        return Object.prototype.hasOwnProperty.call(E, f);
      }
      A.exports = function(E, f, S, _) {
        f = f || "&", S = S || "=";
        var d = {};
        if (typeof E != "string" || E.length === 0) return d;
        E = E.split(f);
        var p = 1e3;
        _ && typeof _.maxKeys == "number" && (p = _.maxKeys);
        var b = E.length;
        p > 0 && b > p && (b = p);
        for (var m = 0; m < b; ++m) {
          var v, O, T, w, P = E[m].replace(/\+/g, "%20"), I = P.indexOf(S);
          I >= 0 ? (v = P.substr(0, I), O = P.substr(I + 1)) : (v = P, O = ""), T = decodeURIComponent(v), w = decodeURIComponent(O), s(d, T) ? h(d[T]) ? d[T].push(w) : d[T] = [d[T], w] : d[T] = w;
        }
        return d;
      };
      var h = Array.isArray || function(E) {
        return Object.prototype.toString.call(E) === "[object Array]";
      };
    }, function(A, u, a) {
      function s(S, _) {
        if (S.map) return S.map(_);
        for (var d = [], p = 0; p < S.length; p++) d.push(_(S[p], p));
        return d;
      }
      var h = function(S) {
        switch (typeof S) {
          case "string":
            return S;
          case "boolean":
            return S ? "true" : "false";
          case "number":
            return isFinite(S) ? S : "";
          default:
            return "";
        }
      };
      A.exports = function(S, _, d, p) {
        return _ = _ || "&", d = d || "=", S === null && (S = void 0), typeof S == "object" ? s(f(S), function(b) {
          var m = encodeURIComponent(h(b)) + d;
          return E(S[b]) ? s(S[b], function(v) {
            return m + encodeURIComponent(h(v));
          }).join(_) : m + encodeURIComponent(h(S[b]));
        }).join(_) : p ? encodeURIComponent(h(p)) + d + encodeURIComponent(h(S)) : "";
      };
      var E = Array.isArray || function(S) {
        return Object.prototype.toString.call(S) === "[object Array]";
      }, f = Object.keys || function(S) {
        var _ = [];
        for (var d in S) Object.prototype.hasOwnProperty.call(S, d) && _.push(d);
        return _;
      };
    }, function(A, u, a) {
      u.decode = u.parse = a(486), u.encode = u.stringify = a(487);
    }, function(A, u, a) {
      function s(B) {
        return B && B.__esModule ? B : { default: B };
      }
      function h(B, j) {
        for (var k = Object.getOwnPropertyNames(j), U = 0; U < k.length; U++) {
          var W = k[U], $ = Object.getOwnPropertyDescriptor(j, W);
          $ && $.configurable && B[W] === void 0 && Object.defineProperty(B, W, $);
        }
        return B;
      }
      function E(B, j) {
        if (!(B instanceof j)) throw new TypeError("Cannot call a class as a function");
      }
      function f(B, j) {
        if (!B) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return !j || typeof j != "object" && typeof j != "function" ? B : j;
      }
      function S(B, j) {
        if (typeof j != "function" && j !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof j);
        B.prototype = Object.create(j && j.prototype, { constructor: { value: B, enumerable: !1, writable: !0, configurable: !0 } }), j && (Object.setPrototypeOf ? Object.setPrototypeOf(B, j) : h(B, j));
      }
      function _(B, j) {
        function k() {
          W && (clearTimeout(W), W = null);
        }
        function U() {
          k(), W = setTimeout(B, j);
        }
        var W = void 0;
        return U.clear = k, U;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var d = a(0), p = s(d), b = a(1), m = s(b), v = a(24), O = s(v), T = a(434), w = s(T), P = a(216), I = s(P), L = a(491), R = s(L), q = function(B) {
        function j() {
          var k, U, W;
          E(this, j);
          for (var $ = arguments.length, V = Array($), G = 0; G < $; G++) V[G] = arguments[G];
          return k = U = f(this, B.call.apply(B, [this].concat(V))), U.forceAlign = function() {
            var X = U.props;
            if (!X.disabled) {
              var K = O.default.findDOMNode(U);
              X.onAlign(K, (0, w.default)(K, X.target(), X.align));
            }
          }, W = k, f(U, W);
        }
        return S(j, B), j.prototype.componentDidMount = function() {
          var k = this.props;
          this.forceAlign(), !k.disabled && k.monitorWindowResize && this.startMonitorWindowResize();
        }, j.prototype.componentDidUpdate = function(k) {
          var U = !1, W = this.props;
          if (!W.disabled) if (k.disabled || k.align !== W.align) U = !0;
          else {
            var $ = k.target(), V = W.target();
            (0, R.default)($) && (0, R.default)(V) ? U = !1 : $ !== V && (U = !0);
          }
          U && this.forceAlign(), W.monitorWindowResize && !W.disabled ? this.startMonitorWindowResize() : this.stopMonitorWindowResize();
        }, j.prototype.componentWillUnmount = function() {
          this.stopMonitorWindowResize();
        }, j.prototype.startMonitorWindowResize = function() {
          this.resizeHandler || (this.bufferMonitor = _(this.forceAlign, this.props.monitorBufferTime), this.resizeHandler = (0, I.default)(window, "resize", this.bufferMonitor));
        }, j.prototype.stopMonitorWindowResize = function() {
          this.resizeHandler && (this.bufferMonitor.clear(), this.resizeHandler.remove(), this.resizeHandler = null);
        }, j.prototype.render = function() {
          var k = this.props, U = k.childrenProps, W = k.children, $ = p.default.Children.only(W);
          if (U) {
            var V = {};
            for (var G in U) U.hasOwnProperty(G) && (V[G] = this.props[U[G]]);
            return p.default.cloneElement($, V);
          }
          return $;
        }, j;
      }(d.Component);
      q.propTypes = { childrenProps: m.default.object, align: m.default.object.isRequired, target: m.default.func, onAlign: m.default.func, monitorBufferTime: m.default.number, monitorWindowResize: m.default.bool, disabled: m.default.bool, children: m.default.any }, q.defaultProps = { target: function() {
        return window;
      }, onAlign: function() {
      }, monitorBufferTime: 50, monitorWindowResize: !1, disabled: !1 }, u.default = q, A.exports = u.default;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(489), h = function(E) {
        return E && E.__esModule ? E : { default: E };
      }(s);
      u.default = h.default, A.exports = u.default;
    }, function(A, u, a) {
      function s(h) {
        return h != null && h == h.window;
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s, A.exports = u.default;
    }, function(A, u, a) {
      function s($) {
        var V = $.children;
        return I.a.isValidElement(V) && !V.key ? I.a.cloneElement(V, { key: k }) : V;
      }
      function h() {
      }
      var E = a(19), f = a.n(E), S = a(65), _ = a.n(S), d = a(30), p = a.n(d), b = a(31), m = a.n(b), v = a(33), O = a.n(v), T = a(32), w = a.n(T), P = a(0), I = a.n(P), L = a(1), R = a.n(L), q = a(494), B = a(493), j = a(211), k = "rc_animate_" + Date.now(), U = function($) {
        function V(G) {
          p()(this, V);
          var X = O()(this, (V.__proto__ || Object.getPrototypeOf(V)).call(this, G));
          return W.call(X), X.currentlyAnimatingKeys = {}, X.keysToEnter = [], X.keysToLeave = [], X.state = { children: a.i(q.a)(s(X.props)) }, X.childrenRefs = {}, X;
        }
        return w()(V, $), m()(V, [{ key: "componentDidMount", value: function() {
          var G = this, X = this.props.showProp, K = this.state.children;
          X && (K = K.filter(function(H) {
            return !!H.props[X];
          })), K.forEach(function(H) {
            H && G.performAppear(H.key);
          });
        } }, { key: "componentWillReceiveProps", value: function(G) {
          var X = this;
          this.nextProps = G;
          var K = a.i(q.a)(s(G)), H = this.props;
          H.exclusive && Object.keys(this.currentlyAnimatingKeys).forEach(function(ne) {
            X.stop(ne);
          });
          var Y = H.showProp, Q = this.currentlyAnimatingKeys, Z = H.exclusive ? a.i(q.a)(s(H)) : this.state.children, J = [];
          Y ? (Z.forEach(function(ne) {
            var ie = ne && a.i(q.b)(K, ne.key), re = void 0;
            (re = ie && ie.props[Y] || !ne.props[Y] ? ie : I.a.cloneElement(ie || ne, _()({}, Y, !0))) && J.push(re);
          }), K.forEach(function(ne) {
            ne && a.i(q.b)(Z, ne.key) || J.push(ne);
          })) : J = a.i(q.c)(Z, K), this.setState({ children: J }), K.forEach(function(ne) {
            var ie = ne && ne.key;
            if (!ne || !Q[ie]) {
              var re = ne && a.i(q.b)(Z, ie);
              if (Y) {
                var ee = ne.props[Y];
                re ? !a.i(q.d)(Z, ie, Y) && ee && X.keysToEnter.push(ie) : ee && X.keysToEnter.push(ie);
              } else re || X.keysToEnter.push(ie);
            }
          }), Z.forEach(function(ne) {
            var ie = ne && ne.key;
            if (!ne || !Q[ie]) {
              var re = ne && a.i(q.b)(K, ie);
              if (Y) {
                var ee = ne.props[Y];
                re ? !a.i(q.d)(K, ie, Y) && ee && X.keysToLeave.push(ie) : ee && X.keysToLeave.push(ie);
              } else re || X.keysToLeave.push(ie);
            }
          });
        } }, { key: "componentDidUpdate", value: function() {
          var G = this.keysToEnter;
          this.keysToEnter = [], G.forEach(this.performEnter);
          var X = this.keysToLeave;
          this.keysToLeave = [], X.forEach(this.performLeave);
        } }, { key: "isValidChildByKey", value: function(G, X) {
          var K = this.props.showProp;
          return K ? a.i(q.d)(G, X, K) : a.i(q.b)(G, X);
        } }, { key: "stop", value: function(G) {
          delete this.currentlyAnimatingKeys[G];
          var X = this.childrenRefs[G];
          X && X.stop();
        } }, { key: "render", value: function() {
          var G = this, X = this.props;
          this.nextProps = X;
          var K = this.state.children, H = null;
          K && (H = K.map(function(Z) {
            if (Z == null) return Z;
            if (!Z.key) throw new Error("must set key for <rc-animate> children");
            return I.a.createElement(B.a, { key: Z.key, ref: function(J) {
              return G.childrenRefs[Z.key] = J;
            }, animation: X.animation, transitionName: X.transitionName, transitionEnter: X.transitionEnter, transitionAppear: X.transitionAppear, transitionLeave: X.transitionLeave }, Z);
          }));
          var Y = X.component;
          if (Y) {
            var Q = X;
            return typeof Y == "string" && (Q = f()({ className: X.className, style: X.style }, X.componentProps)), I.a.createElement(Y, Q, H);
          }
          return H[0] || null;
        } }]), V;
      }(I.a.Component);
      U.propTypes = { component: R.a.any, componentProps: R.a.object, animation: R.a.object, transitionName: R.a.oneOfType([R.a.string, R.a.object]), transitionEnter: R.a.bool, transitionAppear: R.a.bool, exclusive: R.a.bool, transitionLeave: R.a.bool, onEnd: R.a.func, onEnter: R.a.func, onLeave: R.a.func, onAppear: R.a.func, showProp: R.a.string }, U.defaultProps = { animation: {}, component: "span", componentProps: {}, transitionEnter: !0, transitionLeave: !0, transitionAppear: !1, onEnd: h, onEnter: h, onLeave: h, onAppear: h };
      var W = function() {
        var $ = this;
        this.performEnter = function(V) {
          $.childrenRefs[V] && ($.currentlyAnimatingKeys[V] = !0, $.childrenRefs[V].componentWillEnter($.handleDoneAdding.bind($, V, "enter")));
        }, this.performAppear = function(V) {
          $.childrenRefs[V] && ($.currentlyAnimatingKeys[V] = !0, $.childrenRefs[V].componentWillAppear($.handleDoneAdding.bind($, V, "appear")));
        }, this.handleDoneAdding = function(V, G) {
          var X = $.props;
          if (delete $.currentlyAnimatingKeys[V], !X.exclusive || X === $.nextProps) {
            var K = a.i(q.a)(s(X));
            $.isValidChildByKey(K, V) ? G === "appear" ? j.a.allowAppearCallback(X) && (X.onAppear(V), X.onEnd(V, !0)) : j.a.allowEnterCallback(X) && (X.onEnter(V), X.onEnd(V, !0)) : $.performLeave(V);
          }
        }, this.performLeave = function(V) {
          $.childrenRefs[V] && ($.currentlyAnimatingKeys[V] = !0, $.childrenRefs[V].componentWillLeave($.handleDoneLeaving.bind($, V)));
        }, this.handleDoneLeaving = function(V) {
          var G = $.props;
          if (delete $.currentlyAnimatingKeys[V], !G.exclusive || G === $.nextProps) {
            var X = a.i(q.a)(s(G));
            if ($.isValidChildByKey(X, V)) $.performEnter(V);
            else {
              var K = function() {
                j.a.allowLeaveCallback(G) && (G.onLeave(V), G.onEnd(V, !1));
              };
              a.i(q.e)($.state.children, X, G.showProp) ? K() : $.setState({ children: X }, K);
            }
          }
        };
      };
      u.a = U;
    }, function(A, u, a) {
      var s = a(97), h = a.n(s), E = a(30), f = a.n(E), S = a(31), _ = a.n(S), d = a(33), p = a.n(d), b = a(32), m = a.n(b), v = a(0), O = a.n(v), T = a(24), w = a.n(T), P = a(1), I = a.n(P), L = a(424), R = a.n(L), q = a(211), B = { enter: "transitionEnter", appear: "transitionAppear", leave: "transitionLeave" }, j = function(k) {
        function U() {
          return f()(this, U), p()(this, (U.__proto__ || Object.getPrototypeOf(U)).apply(this, arguments));
        }
        return m()(U, k), _()(U, [{ key: "componentWillUnmount", value: function() {
          this.stop();
        } }, { key: "componentWillEnter", value: function(W) {
          q.a.isEnterSupported(this.props) ? this.transition("enter", W) : W();
        } }, { key: "componentWillAppear", value: function(W) {
          q.a.isAppearSupported(this.props) ? this.transition("appear", W) : W();
        } }, { key: "componentWillLeave", value: function(W) {
          q.a.isLeaveSupported(this.props) ? this.transition("leave", W) : W();
        } }, { key: "transition", value: function(W, $) {
          var V = this, G = w.a.findDOMNode(this), X = this.props, K = X.transitionName, H = (K === void 0 ? "undefined" : h()(K)) === "object";
          this.stop();
          var Y = function() {
            V.stopper = null, $();
          };
          if ((L.isCssAnimationSupported || !X.animation[W]) && K && X[B[W]]) {
            var Q = H ? K[W] : K + "-" + W, Z = Q + "-active";
            H && K[W + "Active"] && (Z = K[W + "Active"]), this.stopper = R()(G, { name: Q, active: Z }, Y);
          } else this.stopper = X.animation[W](G, Y);
        } }, { key: "stop", value: function() {
          var W = this.stopper;
          W && (this.stopper = null, W.stop());
        } }, { key: "render", value: function() {
          return this.props.children;
        } }]), U;
      }(O.a.Component);
      j.propTypes = { children: I.a.any }, u.a = j;
    }, function(A, u, a) {
      function s(p) {
        var b = [];
        return d.a.Children.forEach(p, function(m) {
          b.push(m);
        }), b;
      }
      function h(p, b) {
        var m = null;
        return p && p.forEach(function(v) {
          m || v && v.key === b && (m = v);
        }), m;
      }
      function E(p, b, m) {
        var v = null;
        return p && p.forEach(function(O) {
          if (O && O.key === b && O.props[m]) {
            if (v) throw new Error("two child with same key for <rc-animate> children");
            v = O;
          }
        }), v;
      }
      function f(p, b, m) {
        var v = p.length === b.length;
        return v && p.forEach(function(O, T) {
          var w = b[T];
          O && w && (O && !w || !O && w || O.key !== w.key || m && O.props[m] !== w.props[m]) && (v = !1);
        }), v;
      }
      function S(p, b) {
        var m = [], v = {}, O = [];
        return p.forEach(function(T) {
          T && h(b, T.key) ? O.length && (v[T.key] = O, O = []) : O.push(T);
        }), b.forEach(function(T) {
          T && v.hasOwnProperty(T.key) && (m = m.concat(v[T.key])), m.push(T);
        }), m = m.concat(O);
      }
      u.a = s, u.b = h, u.d = E, u.e = f, u.c = S;
      var _ = a(0), d = a.n(_);
    }, function(A, u, a) {
      var s = a(65), h = a.n(s), E = a(120), f = a.n(E), S = a(19), _ = a.n(S), d = a(30), p = a.n(d), b = a(31), m = a.n(b), v = a(33), O = a.n(v), T = a(32), w = a.n(T), P = a(0), I = a.n(P), L = a(1), R = a.n(L), q = a(45), B = a.n(q), j = a(586), k = a.n(j), U = a(111), W = a.n(U), $ = a(212), V = a(213), G = a(147), X = function(K) {
        function H(Y) {
          p()(this, H);
          var Q = O()(this, (H.__proto__ || Object.getPrototypeOf(H)).call(this, Y));
          Q.onEnd = function() {
            Q.setState({ handle: null }), Q.removeDocumentEvents(), Q.props.onAfterChange(Q.getValue());
          };
          var Z = Y.count, J = Y.min, ne = Y.max, ie = Array.apply(null, Array(Z + 1)).map(function() {
            return J;
          }), re = "defaultValue" in Y ? Y.defaultValue : ie, ee = Y.value !== void 0 ? Y.value : re, te = ee.map(function(le) {
            return Q.trimAlignValue(le);
          }), ue = te[0] === ne ? 0 : te.length - 1;
          return Q.state = { handle: null, recent: ue, bounds: te }, Q;
        }
        return w()(H, K), m()(H, [{ key: "componentWillReceiveProps", value: function(Y) {
          var Q = this;
          if (("value" in Y || "min" in Y || "max" in Y) && (this.props.min !== Y.min || this.props.max !== Y.max || !k()(this.props.value, Y.value))) {
            var Z = this.state.bounds, J = Y.value || Z, ne = J.map(function(ie) {
              return Q.trimAlignValue(ie, Y);
            });
            ne.length === Z.length && ne.every(function(ie, re) {
              return ie === Z[re];
            }) || (this.setState({ bounds: ne }), Z.some(function(ie) {
              return G.a(ie, Y);
            }) && this.props.onChange(ne));
          }
        } }, { key: "onChange", value: function(Y) {
          var Q = this.props;
          "value" in Q ? Y.handle !== void 0 && this.setState({ handle: Y.handle }) : this.setState(Y);
          var Z = _()({}, this.state, Y), J = Z.bounds;
          Q.onChange(J);
        } }, { key: "onStart", value: function(Y) {
          var Q = this.props, Z = this.state, J = this.getValue();
          Q.onBeforeChange(J);
          var ne = this.calcValueByPos(Y);
          this.startValue = ne, this.startPosition = Y;
          var ie = this.getClosestBound(ne), re = this.getBoundNeedMoving(ne, ie);
          if (this.setState({ handle: re, recent: re }), ne !== J[re]) {
            var ee = [].concat(f()(Z.bounds));
            ee[re] = ne, this.onChange({ bounds: ee });
          }
        } }, { key: "onMove", value: function(Y, Q) {
          G.b(Y);
          var Z = this.props, J = this.state, ne = this.calcValueByPos(Q);
          if (ne !== J.bounds[J.handle]) {
            var ie = [].concat(f()(J.bounds));
            ie[J.handle] = ne;
            var re = J.handle;
            if (Z.pushable !== !1) {
              var ee = J.bounds[re];
              this.pushSurroundingHandles(ie, re, ee);
            } else Z.allowCross && (ie.sort(function(te, ue) {
              return te - ue;
            }), re = ie.indexOf(ne));
            this.onChange({ handle: re, bounds: ie });
          }
        } }, { key: "onKeyboard", value: function() {
          W()(!0, "Keyboard support is not yet supported for ranges.");
        } }, { key: "getValue", value: function() {
          return this.state.bounds;
        } }, { key: "getClosestBound", value: function(Y) {
          for (var Q = this.state.bounds, Z = 0, J = 1; J < Q.length - 1; ++J) Y > Q[J] && (Z = J);
          return Math.abs(Q[Z + 1] - Y) < Math.abs(Q[Z] - Y) && (Z += 1), Z;
        } }, { key: "getBoundNeedMoving", value: function(Y, Q) {
          var Z = this.state, J = Z.bounds, ne = Z.recent, ie = Q, re = J[Q + 1] === J[Q];
          return re && (ie = ne), re && Y !== J[Q + 1] && (ie = Y < J[Q + 1] ? Q : Q + 1), ie;
        } }, { key: "getLowerBound", value: function() {
          return this.state.bounds[0];
        } }, { key: "getUpperBound", value: function() {
          var Y = this.state.bounds;
          return Y[Y.length - 1];
        } }, { key: "getPoints", value: function() {
          var Y = this.props, Q = Y.marks, Z = Y.step, J = Y.min, ne = Y.max, ie = this._getPointsCache;
          if (!ie || ie.marks !== Q || ie.step !== Z) {
            var re = _()({}, Q);
            if (Z !== null) for (var ee = J; ee <= ne; ee += Z) re[ee] = ee;
            var te = Object.keys(re).map(parseFloat);
            te.sort(function(ue, le) {
              return ue - le;
            }), this._getPointsCache = { marks: Q, step: Z, points: te };
          }
          return this._getPointsCache.points;
        } }, { key: "pushSurroundingHandles", value: function(Y, Q, Z) {
          var J = this.props.pushable, ne = Y[Q], ie = 0;
          if (Y[Q + 1] - ne < J && (ie = 1), ne - Y[Q - 1] < J && (ie = -1), ie !== 0) {
            var re = Q + ie, ee = ie * (Y[re] - ne);
            this.pushHandle(Y, re, ie, J - ee) || (Y[Q] = Z);
          }
        } }, { key: "pushHandle", value: function(Y, Q, Z, J) {
          for (var ne = Y[Q], ie = Y[Q]; Z * (ie - ne) < J; ) {
            if (!this.pushHandleOnePoint(Y, Q, Z)) return Y[Q] = ne, !1;
            ie = Y[Q];
          }
          return !0;
        } }, { key: "pushHandleOnePoint", value: function(Y, Q, Z) {
          var J = this.getPoints(), ne = J.indexOf(Y[Q]), ie = ne + Z;
          if (ie >= J.length || ie < 0) return !1;
          var re = Q + Z, ee = J[ie], te = this.props.pushable, ue = Z * (Y[re] - ee);
          return !!this.pushHandle(Y, re, Z, te - ue) && (Y[Q] = ee, !0);
        } }, { key: "trimAlignValue", value: function(Y) {
          var Q = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, Z = _()({}, this.props, Q), J = G.c(Y, Z), ne = this.ensureValueNotConflict(J, Z);
          return G.d(ne, Z);
        } }, { key: "ensureValueNotConflict", value: function(Y, Q) {
          var Z = Q.allowCross, J = this.state || {}, ne = J.handle, ie = J.bounds;
          if (!Z && ne != null) {
            if (ne > 0 && Y <= ie[ne - 1]) return ie[ne - 1];
            if (ne < ie.length - 1 && Y >= ie[ne + 1]) return ie[ne + 1];
          }
          return Y;
        } }, { key: "render", value: function() {
          var Y = this, Q = this.state, Z = Q.handle, J = Q.bounds, ne = this.props, ie = ne.prefixCls, re = ne.vertical, ee = ne.included, te = ne.disabled, ue = ne.min, le = ne.max, ae = ne.handle, ce = ne.trackStyle, pe = ne.handleStyle, de = J.map(function(ye) {
            return Y.calcOffset(ye);
          }), he = ie + "-handle", Ee = J.map(function(ye, _e) {
            var ge;
            return ae({ className: B()((ge = {}, h()(ge, he, !0), h()(ge, he + "-" + (_e + 1), !0), ge)), vertical: re, offset: de[_e], value: ye, dragging: Z === _e, index: _e, min: ue, max: le, disabled: te, style: pe[_e], ref: function(Me) {
              return Y.saveHandle(_e, Me);
            } });
          });
          return { tracks: J.slice(0, -1).map(function(ye, _e) {
            var ge, Me = _e + 1, Te = B()((ge = {}, h()(ge, ie + "-track", !0), h()(ge, ie + "-track-" + Me, !0), ge));
            return I.a.createElement($.a, { className: Te, vertical: re, included: ee, offset: de[Me - 1], length: de[Me] - de[Me - 1], style: ce[_e], key: Me });
          }), handles: Ee };
        } }]), H;
      }(I.a.Component);
      X.displayName = "Range", X.propTypes = { defaultValue: R.a.arrayOf(R.a.number), value: R.a.arrayOf(R.a.number), count: R.a.number, pushable: R.a.oneOfType([R.a.bool, R.a.number]), allowCross: R.a.bool, disabled: R.a.bool }, X.defaultProps = { count: 1, allowCross: !0, pushable: !1 }, u.a = a.i(V.a)(X);
    }, function(A, u, a) {
      var s = a(19), h = a.n(s), E = a(30), f = a.n(E), S = a(31), _ = a.n(S), d = a(33), p = a.n(d), b = a(32), m = a.n(b), v = a(0), O = a.n(v), T = a(1), w = a.n(T), P = a(111), I = a.n(P), L = a(212), R = a(213), q = a(147), B = function(j) {
        function k(U) {
          f()(this, k);
          var W = p()(this, (k.__proto__ || Object.getPrototypeOf(k)).call(this, U));
          W.onEnd = function() {
            W.setState({ dragging: !1 }), W.removeDocumentEvents(), W.props.onAfterChange(W.getValue());
          };
          var $ = U.defaultValue !== void 0 ? U.defaultValue : U.min, V = U.value !== void 0 ? U.value : $;
          return W.state = { value: W.trimAlignValue(V), dragging: !1 }, I()(!("minimumTrackStyle" in U), "minimumTrackStyle will be deprecate, please use trackStyle instead."), I()(!("maximumTrackStyle" in U), "maximumTrackStyle will be deprecate, please use railStyle instead."), W;
        }
        return m()(k, j), _()(k, [{ key: "componentWillReceiveProps", value: function(U) {
          if ("value" in U || "min" in U || "max" in U) {
            var W = this.state.value, $ = U.value !== void 0 ? U.value : W, V = this.trimAlignValue($, U);
            V !== W && (this.setState({ value: V }), q.a($, U) && this.props.onChange(V));
          }
        } }, { key: "onChange", value: function(U) {
          var W = this.props;
          !("value" in W) && this.setState(U);
          var $ = U.value;
          W.onChange($);
        } }, { key: "onStart", value: function(U) {
          this.setState({ dragging: !0 });
          var W = this.props, $ = this.getValue();
          W.onBeforeChange($);
          var V = this.calcValueByPos(U);
          this.startValue = V, this.startPosition = U, V !== $ && this.onChange({ value: V });
        } }, { key: "onMove", value: function(U, W) {
          q.b(U);
          var $ = this.state.value, V = this.calcValueByPos(W);
          V !== $ && this.onChange({ value: V });
        } }, { key: "onKeyboard", value: function(U) {
          var W = q.j(U);
          if (W) {
            q.b(U);
            var $ = this.state, V = $.value, G = W(V, this.props), X = this.trimAlignValue(G);
            if (X === V) return;
            this.onChange({ value: X });
          }
        } }, { key: "getValue", value: function() {
          return this.state.value;
        } }, { key: "getLowerBound", value: function() {
          return this.props.min;
        } }, { key: "getUpperBound", value: function() {
          return this.state.value;
        } }, { key: "trimAlignValue", value: function(U) {
          var W = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, $ = h()({}, this.props, W), V = q.c(U, $);
          return q.d(V, $);
        } }, { key: "render", value: function() {
          var U = this, W = this.props, $ = W.prefixCls, V = W.vertical, G = W.included, X = W.disabled, K = W.minimumTrackStyle, H = W.trackStyle, Y = W.handleStyle, Q = W.min, Z = W.max, J = W.handle, ne = this.state, ie = ne.value, re = ne.dragging, ee = this.calcOffset(ie), te = J({ className: $ + "-handle", vertical: V, offset: ee, value: ie, dragging: re, disabled: X, min: Q, max: Z, style: Y[0] || Y, ref: function(le) {
            return U.saveHandle(0, le);
          } }), ue = H[0] || H;
          return { tracks: O.a.createElement(L.a, { className: $ + "-track", vertical: V, included: G, offset: 0, length: ee, style: h()({}, K, ue) }), handles: te };
        } }]), k;
      }(O.a.Component);
      B.propTypes = { defaultValue: w.a.number, value: w.a.number, disabled: w.a.bool }, u.a = a.i(R.a)(B);
    }, function(A, u, a) {
      var s = a(19), h = a.n(s), E = a(97), f = a.n(E), S = a(65), _ = a.n(S), d = a(0), p = a.n(d), b = a(45), m = a.n(b), v = function(O) {
        var T = O.className, w = O.vertical, P = O.marks, I = O.included, L = O.upperBound, R = O.lowerBound, q = O.max, B = O.min, j = Object.keys(P), k = j.length, U = k > 1 ? 100 / (k - 1) : 100, W = 0.9 * U, $ = q - B, V = j.map(parseFloat).sort(function(G, X) {
          return G - X;
        }).map(function(G) {
          var X, K = !I && G === L || I && G <= L && G >= R, H = m()((X = {}, _()(X, T + "-text", !0), _()(X, T + "-text-active", K), X)), Y = { marginBottom: "-50%", bottom: (G - B) / $ * 100 + "%" }, Q = { width: W + "%", marginLeft: -W / 2 + "%", left: (G - B) / $ * 100 + "%" }, Z = w ? Y : Q, J = P[G], ne = (J === void 0 ? "undefined" : f()(J)) === "object" && !p.a.isValidElement(J), ie = ne ? J.label : J, re = ne ? h()({}, Z, J.style) : Z;
          return p.a.createElement("span", { className: H, style: re, key: G }, ie);
        });
        return p.a.createElement("div", { className: T }, V);
      };
      u.a = v;
    }, function(A, u, a) {
      var s = a(65), h = a.n(s), E = a(19), f = a.n(E), S = a(0), _ = a.n(S), d = a(45), p = a.n(d), b = a(111), m = a.n(b), v = function(T, w, P, I, L, R) {
        m()(!P || I > 0, "`Slider[step]` should be a positive number in order to make Slider[dots] work.");
        var q = Object.keys(w).map(parseFloat);
        if (P) for (var B = L; B <= R; B += I) q.indexOf(B) >= 0 || q.push(B);
        return q;
      }, O = function(T) {
        var w = T.prefixCls, P = T.vertical, I = T.marks, L = T.dots, R = T.step, q = T.included, B = T.lowerBound, j = T.upperBound, k = T.max, U = T.min, W = T.dotStyle, $ = T.activeDotStyle, V = k - U, G = v(0, I, L, R, U, k).map(function(X) {
          var K, H = Math.abs(X - U) / V * 100 + "%", Y = !q && X === j || q && X <= j && X >= B, Q = P ? f()({ bottom: H }, W) : f()({ left: H }, W);
          Y && (Q = f()({}, Q, $));
          var Z = p()((K = {}, h()(K, w + "-dot", !0), h()(K, w + "-dot-active", Y), K));
          return _.a.createElement("span", { className: Z, style: Q, key: X });
        });
        return _.a.createElement("div", { className: w + "-step" }, G);
      };
      u.a = O;
    }, function(A, u, a) {
      function s(k) {
        var U, W;
        return W = U = function($) {
          function V(G) {
            b()(this, V);
            var X = T()(this, (V.__proto__ || Object.getPrototypeOf(V)).call(this, G));
            return X.handleTooltipVisibleChange = function(K, H) {
              X.setState(function(Y) {
                return { visibles: d()({}, Y.visibles, S()({}, K, H)) };
              });
            }, X.handleWithTooltip = function(K) {
              var H = K.value, Y = K.dragging, Q = K.index, Z = K.disabled, J = E()(K, ["value", "dragging", "index", "disabled"]), ne = X.props, ie = ne.tipFormatter, re = ne.tipProps, ee = ne.handleStyle, te = re.prefixCls, ue = te === void 0 ? "rc-slider-tooltip" : te, le = re.overlay, ae = le === void 0 ? ie(H) : le, ce = re.placement, pe = ce === void 0 ? "top" : ce, de = E()(re, ["prefixCls", "overlay", "placement"]);
              return L.a.createElement(B.a, d()({}, de, { prefixCls: ue, overlay: ae, placement: pe, visible: !Z && (X.state.visibles[Q] || Y), key: Q }), L.a.createElement(j.a, d()({}, J, { style: d()({}, ee[0]), value: H, onMouseEnter: function() {
                return X.handleTooltipVisibleChange(Q, !0);
              }, onMouseLeave: function() {
                return X.handleTooltipVisibleChange(Q, !1);
              } })));
            }, X.state = { visibles: {} }, X;
          }
          return P()(V, $), v()(V, [{ key: "render", value: function() {
            return L.a.createElement(k, d()({}, this.props, { handle: this.handleWithTooltip }));
          } }]), V;
        }(L.a.Component), U.propTypes = { tipFormatter: q.a.func, handleStyle: q.a.arrayOf(q.a.object), tipProps: q.a.object }, U.defaultProps = { tipFormatter: function($) {
          return $;
        }, handleStyle: [{}], tipProps: {} }, W;
      }
      u.a = s;
      var h = a(73), E = a.n(h), f = a(65), S = a.n(f), _ = a(19), d = a.n(_), p = a(30), b = a.n(p), m = a(31), v = a.n(m), O = a(33), T = a.n(O), w = a(32), P = a.n(w), I = a(0), L = a.n(I), R = a(1), q = a.n(R), B = a(502), j = a(146);
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(496), h = a(495), E = a(146), f = a(499);
      a.d(u, "Range", function() {
        return h.a;
      }), a.d(u, "Handle", function() {
        return E.a;
      }), a.d(u, "createSliderWithTooltip", function() {
        return f.a;
      }), s.a.Range = h.a, s.a.Handle = E.a, s.a.createSliderWithTooltip = f.a, u.default = s.a;
    }, function(A, u, a) {
      var s = a(19), h = a.n(s), E = a(73), f = a.n(E), S = a(30), _ = a.n(S), d = a(31), p = a.n(d), b = a(33), m = a.n(b), v = a(32), O = a.n(v), T = a(0), w = a.n(T), P = a(1), I = a.n(P), L = a(506), R = a(503), q = function(B) {
        function j() {
          var k, U, W, $;
          _()(this, j);
          for (var V = arguments.length, G = Array(V), X = 0; X < V; X++) G[X] = arguments[X];
          return U = W = m()(this, (k = j.__proto__ || Object.getPrototypeOf(j)).call.apply(k, [this].concat(G))), W.getPopupElement = function() {
            var K = W.props, H = K.arrowContent, Y = K.overlay, Q = K.prefixCls;
            return [w.a.createElement("div", { className: Q + "-arrow", key: "arrow" }, H), w.a.createElement("div", { className: Q + "-inner", key: "content" }, typeof Y == "function" ? Y() : Y)];
          }, $ = U, m()(W, $);
        }
        return O()(j, B), p()(j, [{ key: "getPopupDomNode", value: function() {
          return this.refs.trigger.getPopupDomNode();
        } }, { key: "render", value: function() {
          var k = this.props, U = k.overlayClassName, W = k.trigger, $ = k.mouseEnterDelay, V = k.mouseLeaveDelay, G = k.overlayStyle, X = k.prefixCls, K = k.children, H = k.onVisibleChange, Y = k.afterVisibleChange, Q = k.transitionName, Z = k.animation, J = k.placement, ne = k.align, ie = k.destroyTooltipOnHide, re = k.defaultVisible, ee = k.getTooltipContainer, te = f()(k, ["overlayClassName", "trigger", "mouseEnterDelay", "mouseLeaveDelay", "overlayStyle", "prefixCls", "children", "onVisibleChange", "afterVisibleChange", "transitionName", "animation", "placement", "align", "destroyTooltipOnHide", "defaultVisible", "getTooltipContainer"]), ue = h()({}, te);
          return "visible" in this.props && (ue.popupVisible = this.props.visible), w.a.createElement(L.a, h()({ popupClassName: U, ref: "trigger", prefixCls: X, popup: this.getPopupElement, action: W, builtinPlacements: R.a, popupPlacement: J, popupAlign: ne, getPopupContainer: ee, onPopupVisibleChange: H, afterPopupVisibleChange: Y, popupTransitionName: Q, popupAnimation: Z, defaultPopupVisible: re, destroyPopupOnHide: ie, mouseLeaveDelay: V, popupStyle: G, mouseEnterDelay: $ }, ue), K);
        } }]), j;
      }(T.Component);
      q.propTypes = { trigger: I.a.any, children: I.a.any, defaultVisible: I.a.bool, visible: I.a.bool, placement: I.a.string, transitionName: I.a.string, animation: I.a.any, onVisibleChange: I.a.func, afterVisibleChange: I.a.func, overlay: I.a.oneOfType([I.a.node, I.a.func]).isRequired, overlayStyle: I.a.object, overlayClassName: I.a.string, prefixCls: I.a.string, mouseEnterDelay: I.a.number, mouseLeaveDelay: I.a.number, getTooltipContainer: I.a.func, destroyTooltipOnHide: I.a.bool, align: I.a.object, arrowContent: I.a.any }, q.defaultProps = { prefixCls: "rc-tooltip", mouseEnterDelay: 0, destroyTooltipOnHide: !1, mouseLeaveDelay: 0.1, align: {}, placement: "right", trigger: ["hover"], arrowContent: null }, u.a = q;
    }, function(A, u, a) {
      var s = a(501);
      u.a = s.a;
    }, function(A, u, a) {
      a.d(u, "a", function() {
        return E;
      });
      var s = { adjustX: 1, adjustY: 1 }, h = [0, 0], E = { left: { points: ["cr", "cl"], overflow: s, offset: [-4, 0], targetOffset: h }, right: { points: ["cl", "cr"], overflow: s, offset: [4, 0], targetOffset: h }, top: { points: ["bc", "tc"], overflow: s, offset: [0, -4], targetOffset: h }, bottom: { points: ["tc", "bc"], overflow: s, offset: [0, 4], targetOffset: h }, topLeft: { points: ["bl", "tl"], overflow: s, offset: [0, -4], targetOffset: h }, leftTop: { points: ["tr", "tl"], overflow: s, offset: [-4, 0], targetOffset: h }, topRight: { points: ["br", "tr"], overflow: s, offset: [0, -4], targetOffset: h }, rightTop: { points: ["tl", "tr"], overflow: s, offset: [4, 0], targetOffset: h }, bottomRight: { points: ["tr", "br"], overflow: s, offset: [0, 4], targetOffset: h }, rightBottom: { points: ["bl", "br"], overflow: s, offset: [4, 0], targetOffset: h }, bottomLeft: { points: ["tl", "bl"], overflow: s, offset: [0, 4], targetOffset: h }, leftBottom: { points: ["br", "bl"], overflow: s, offset: [-4, 0], targetOffset: h } };
    }, function(A, u, a) {
      var s = a(19), h = a.n(s), E = a(30), f = a.n(E), S = a(31), _ = a.n(S), d = a(33), p = a.n(d), b = a(32), m = a.n(b), v = a(0), O = a.n(v), T = a(1), w = a.n(T), P = a(24), I = a.n(P), L = a(490), R = a.n(L), q = a(492), B = a(505), j = a(214), k = a(215), U = function($) {
        function V(G) {
          f()(this, V);
          var X = p()(this, (V.__proto__ || Object.getPrototypeOf(V)).call(this, G));
          return W.call(X), X.savePopupRef = k.c.bind(X, "popupInstance"), X.saveAlignRef = k.c.bind(X, "alignInstance"), X;
        }
        return m()(V, $), _()(V, [{ key: "componentDidMount", value: function() {
          this.rootNode = this.getPopupDomNode();
        } }, { key: "getPopupDomNode", value: function() {
          return I.a.findDOMNode(this.popupInstance);
        } }, { key: "getMaskTransitionName", value: function() {
          var G = this.props, X = G.maskTransitionName, K = G.maskAnimation;
          return !X && K && (X = G.prefixCls + "-" + K), X;
        } }, { key: "getTransitionName", value: function() {
          var G = this.props, X = G.transitionName;
          return !X && G.animation && (X = G.prefixCls + "-" + G.animation), X;
        } }, { key: "getClassName", value: function(G) {
          return this.props.prefixCls + " " + this.props.className + " " + G;
        } }, { key: "getPopupElement", value: function() {
          var G = this.savePopupRef, X = this.props, K = X.align, H = X.style, Y = X.visible, Q = X.prefixCls, Z = X.destroyPopupOnHide, J = this.getClassName(this.currentAlignClassName || X.getClassNameFromAlign(K)), ne = Q + "-hidden";
          Y || (this.currentAlignClassName = null);
          var ie = h()({}, H, this.getZIndexStyle()), re = { className: J, prefixCls: Q, ref: G, onMouseEnter: X.onMouseEnter, onMouseLeave: X.onMouseLeave, style: ie };
          return Z ? O.a.createElement(q.a, { component: "", exclusive: !0, transitionAppear: !0, transitionName: this.getTransitionName() }, Y ? O.a.createElement(R.a, { target: this.getTarget, key: "popup", ref: this.saveAlignRef, monitorWindowResize: !0, align: K, onAlign: this.onAlign }, O.a.createElement(B.a, h()({ visible: !0 }, re), X.children)) : null) : O.a.createElement(q.a, { component: "", exclusive: !0, transitionAppear: !0, transitionName: this.getTransitionName(), showProp: "xVisible" }, O.a.createElement(R.a, { target: this.getTarget, key: "popup", ref: this.saveAlignRef, monitorWindowResize: !0, xVisible: Y, childrenProps: { visible: "xVisible" }, disabled: !Y, align: K, onAlign: this.onAlign }, O.a.createElement(B.a, h()({ hiddenClassName: ne }, re), X.children)));
        } }, { key: "getZIndexStyle", value: function() {
          var G = {}, X = this.props;
          return X.zIndex !== void 0 && (G.zIndex = X.zIndex), G;
        } }, { key: "getMaskElement", value: function() {
          var G = this.props, X = void 0;
          if (G.mask) {
            var K = this.getMaskTransitionName();
            X = O.a.createElement(j.a, { style: this.getZIndexStyle(), key: "mask", className: G.prefixCls + "-mask", hiddenClassName: G.prefixCls + "-mask-hidden", visible: G.visible }), K && (X = O.a.createElement(q.a, { key: "mask", showProp: "visible", transitionAppear: !0, component: "", transitionName: K }, X));
          }
          return X;
        } }, { key: "render", value: function() {
          return O.a.createElement("div", null, this.getMaskElement(), this.getPopupElement());
        } }]), V;
      }(v.Component);
      U.propTypes = { visible: w.a.bool, style: w.a.object, getClassNameFromAlign: w.a.func, onAlign: w.a.func, getRootDomNode: w.a.func, onMouseEnter: w.a.func, align: w.a.any, destroyPopupOnHide: w.a.bool, className: w.a.string, prefixCls: w.a.string, onMouseLeave: w.a.func };
      var W = function() {
        var $ = this;
        this.onAlign = function(V, G) {
          var X = $.props, K = X.getClassNameFromAlign(G);
          $.currentAlignClassName !== K && ($.currentAlignClassName = K, V.className = $.getClassName(K)), X.onAlign(V, G);
        }, this.getTarget = function() {
          return $.props.getRootDomNode();
        };
      };
      u.a = U;
    }, function(A, u, a) {
      var s = a(30), h = a.n(s), E = a(31), f = a.n(E), S = a(33), _ = a.n(S), d = a(32), p = a.n(d), b = a(0), m = a.n(b), v = a(1), O = a.n(v), T = a(214), w = function(P) {
        function I() {
          return h()(this, I), _()(this, (I.__proto__ || Object.getPrototypeOf(I)).apply(this, arguments));
        }
        return p()(I, P), f()(I, [{ key: "render", value: function() {
          var L = this.props, R = L.className;
          return L.visible || (R += " " + L.hiddenClassName), m.a.createElement("div", { className: R, onMouseEnter: L.onMouseEnter, onMouseLeave: L.onMouseLeave, style: L.style }, m.a.createElement(T.a, { className: L.prefixCls + "-content", visible: L.visible }, L.children));
        } }]), I;
      }(b.Component);
      w.propTypes = { hiddenClassName: O.a.string, className: O.a.string, prefixCls: O.a.string, onMouseEnter: O.a.func, onMouseLeave: O.a.func, children: O.a.any }, u.a = w;
    }, function(A, u, a) {
      function s() {
      }
      function h() {
        return "";
      }
      function E() {
        return window.document;
      }
      var f = a(19), S = a.n(f), _ = a(0), d = a.n(_), p = a(1), b = a.n(p), m = a(24), v = (a.n(m), a(51)), O = a.n(v), T = a(508), w = a(216), P = a.n(w), I = a(504), L = a(215), R = a(510), q = a.n(R), B = ["onClick", "onMouseDown", "onTouchStart", "onMouseEnter", "onMouseLeave", "onFocus", "onBlur"], j = O()({ displayName: "Trigger", propTypes: { children: b.a.any, action: b.a.oneOfType([b.a.string, b.a.arrayOf(b.a.string)]), showAction: b.a.any, hideAction: b.a.any, getPopupClassNameFromAlign: b.a.any, onPopupVisibleChange: b.a.func, afterPopupVisibleChange: b.a.func, popup: b.a.oneOfType([b.a.node, b.a.func]).isRequired, popupStyle: b.a.object, prefixCls: b.a.string, popupClassName: b.a.string, popupPlacement: b.a.string, builtinPlacements: b.a.object, popupTransitionName: b.a.oneOfType([b.a.string, b.a.object]), popupAnimation: b.a.any, mouseEnterDelay: b.a.number, mouseLeaveDelay: b.a.number, zIndex: b.a.number, focusDelay: b.a.number, blurDelay: b.a.number, getPopupContainer: b.a.func, getDocument: b.a.func, destroyPopupOnHide: b.a.bool, mask: b.a.bool, maskClosable: b.a.bool, onPopupAlign: b.a.func, popupAlign: b.a.object, popupVisible: b.a.bool, maskTransitionName: b.a.oneOfType([b.a.string, b.a.object]), maskAnimation: b.a.string }, mixins: [q()({ autoMount: !1, isVisible: function(k) {
        return k.state.popupVisible;
      }, getContainer: function(k) {
        var U = k.props, W = document.createElement("div");
        return W.style.position = "absolute", W.style.top = "0", W.style.left = "0", W.style.width = "100%", (U.getPopupContainer ? U.getPopupContainer(a.i(m.findDOMNode)(k)) : U.getDocument().body).appendChild(W), W;
      } })], getDefaultProps: function() {
        return { prefixCls: "rc-trigger-popup", getPopupClassNameFromAlign: h, getDocument: E, onPopupVisibleChange: s, afterPopupVisibleChange: s, onPopupAlign: s, popupClassName: "", mouseEnterDelay: 0, mouseLeaveDelay: 0.1, focusDelay: 0, blurDelay: 0.15, popupStyle: {}, destroyPopupOnHide: !1, popupAlign: {}, defaultPopupVisible: !1, mask: !1, maskClosable: !0, action: [], showAction: [], hideAction: [] };
      }, getInitialState: function() {
        var k = this.props, U = void 0;
        return U = "popupVisible" in k ? !!k.popupVisible : !!k.defaultPopupVisible, { popupVisible: U };
      }, componentWillMount: function() {
        var k = this;
        B.forEach(function(U) {
          k["fire" + U] = function(W) {
            k.fireEvents(U, W);
          };
        });
      }, componentDidMount: function() {
        this.componentDidUpdate({}, { popupVisible: this.state.popupVisible });
      }, componentWillReceiveProps: function(k) {
        var U = k.popupVisible;
        U !== void 0 && this.setState({ popupVisible: U });
      }, componentDidUpdate: function(k, U) {
        var W = this.props, $ = this.state;
        if (this.renderComponent(null, function() {
          U.popupVisible !== $.popupVisible && W.afterPopupVisibleChange($.popupVisible);
        }), $.popupVisible) {
          var V = void 0;
          return !this.clickOutsideHandler && this.isClickToHide() && (V = W.getDocument(), this.clickOutsideHandler = P()(V, "mousedown", this.onDocumentClick)), void (this.touchOutsideHandler || (V = V || W.getDocument(), this.touchOutsideHandler = P()(V, "touchstart", this.onDocumentClick)));
        }
        this.clearOutsideHandler();
      }, componentWillUnmount: function() {
        this.clearDelayTimer(), this.clearOutsideHandler();
      }, onMouseEnter: function(k) {
        this.fireEvents("onMouseEnter", k), this.delaySetPopupVisible(!0, this.props.mouseEnterDelay);
      }, onMouseLeave: function(k) {
        this.fireEvents("onMouseLeave", k), this.delaySetPopupVisible(!1, this.props.mouseLeaveDelay);
      }, onPopupMouseEnter: function() {
        this.clearDelayTimer();
      }, onPopupMouseLeave: function(k) {
        k.relatedTarget && !k.relatedTarget.setTimeout && this._component && a.i(T.a)(this._component.getPopupDomNode(), k.relatedTarget) || this.delaySetPopupVisible(!1, this.props.mouseLeaveDelay);
      }, onFocus: function(k) {
        this.fireEvents("onFocus", k), this.clearDelayTimer(), this.isFocusToShow() && (this.focusTime = Date.now(), this.delaySetPopupVisible(!0, this.props.focusDelay));
      }, onMouseDown: function(k) {
        this.fireEvents("onMouseDown", k), this.preClickTime = Date.now();
      }, onTouchStart: function(k) {
        this.fireEvents("onTouchStart", k), this.preTouchTime = Date.now();
      }, onBlur: function(k) {
        this.fireEvents("onBlur", k), this.clearDelayTimer(), this.isBlurToHide() && this.delaySetPopupVisible(!1, this.props.blurDelay);
      }, onClick: function(k) {
        if (this.fireEvents("onClick", k), this.focusTime) {
          var U = void 0;
          if (this.preClickTime && this.preTouchTime ? U = Math.min(this.preClickTime, this.preTouchTime) : this.preClickTime ? U = this.preClickTime : this.preTouchTime && (U = this.preTouchTime), Math.abs(U - this.focusTime) < 20) return;
          this.focusTime = 0;
        }
        this.preClickTime = 0, this.preTouchTime = 0, k.preventDefault();
        var W = !this.state.popupVisible;
        (this.isClickToHide() && !W || W && this.isClickToShow()) && this.setPopupVisible(!this.state.popupVisible);
      }, onDocumentClick: function(k) {
        if (!this.props.mask || this.props.maskClosable) {
          var U = k.target, W = a.i(m.findDOMNode)(this), $ = this.getPopupDomNode();
          a.i(T.a)(W, U) || a.i(T.a)($, U) || this.close();
        }
      }, getPopupDomNode: function() {
        return this._component && this._component.getPopupDomNode ? this._component.getPopupDomNode() : null;
      }, getRootDomNode: function() {
        return a.i(m.findDOMNode)(this);
      }, getPopupClassNameFromAlign: function(k) {
        var U = [], W = this.props, $ = W.popupPlacement, V = W.builtinPlacements, G = W.prefixCls;
        return $ && V && U.push(a.i(L.a)(V, G, k)), W.getPopupClassNameFromAlign && U.push(W.getPopupClassNameFromAlign(k)), U.join(" ");
      }, getPopupAlign: function() {
        var k = this.props, U = k.popupPlacement, W = k.popupAlign, $ = k.builtinPlacements;
        return U && $ ? a.i(L.b)($, U, W) : W;
      }, getComponent: function() {
        var k = this.props, U = this.state, W = {};
        return this.isMouseEnterToShow() && (W.onMouseEnter = this.onPopupMouseEnter), this.isMouseLeaveToHide() && (W.onMouseLeave = this.onPopupMouseLeave), d.a.createElement(I.a, S()({ prefixCls: k.prefixCls, destroyPopupOnHide: k.destroyPopupOnHide, visible: U.popupVisible, className: k.popupClassName, action: k.action, align: this.getPopupAlign(), onAlign: k.onPopupAlign, animation: k.popupAnimation, getClassNameFromAlign: this.getPopupClassNameFromAlign }, W, { getRootDomNode: this.getRootDomNode, style: k.popupStyle, mask: k.mask, zIndex: k.zIndex, transitionName: k.popupTransitionName, maskAnimation: k.maskAnimation, maskTransitionName: k.maskTransitionName }), typeof k.popup == "function" ? k.popup() : k.popup);
      }, setPopupVisible: function(k) {
        this.clearDelayTimer(), this.state.popupVisible !== k && ("popupVisible" in this.props || this.setState({ popupVisible: k }), this.props.onPopupVisibleChange(k));
      }, delaySetPopupVisible: function(k, U) {
        var W = this, $ = 1e3 * U;
        this.clearDelayTimer(), $ ? this.delayTimer = setTimeout(function() {
          W.setPopupVisible(k), W.clearDelayTimer();
        }, $) : this.setPopupVisible(k);
      }, clearDelayTimer: function() {
        this.delayTimer && (clearTimeout(this.delayTimer), this.delayTimer = null);
      }, clearOutsideHandler: function() {
        this.clickOutsideHandler && (this.clickOutsideHandler.remove(), this.clickOutsideHandler = null), this.touchOutsideHandler && (this.touchOutsideHandler.remove(), this.touchOutsideHandler = null);
      }, createTwoChains: function(k) {
        var U = this.props.children.props, W = this.props;
        return U[k] && W[k] ? this["fire" + k] : U[k] || W[k];
      }, isClickToShow: function() {
        var k = this.props, U = k.action, W = k.showAction;
        return U.indexOf("click") !== -1 || W.indexOf("click") !== -1;
      }, isClickToHide: function() {
        var k = this.props, U = k.action, W = k.hideAction;
        return U.indexOf("click") !== -1 || W.indexOf("click") !== -1;
      }, isMouseEnterToShow: function() {
        var k = this.props, U = k.action, W = k.showAction;
        return U.indexOf("hover") !== -1 || W.indexOf("mouseEnter") !== -1;
      }, isMouseLeaveToHide: function() {
        var k = this.props, U = k.action, W = k.hideAction;
        return U.indexOf("hover") !== -1 || W.indexOf("mouseLeave") !== -1;
      }, isFocusToShow: function() {
        var k = this.props, U = k.action, W = k.showAction;
        return U.indexOf("focus") !== -1 || W.indexOf("focus") !== -1;
      }, isBlurToHide: function() {
        var k = this.props, U = k.action, W = k.hideAction;
        return U.indexOf("focus") !== -1 || W.indexOf("blur") !== -1;
      }, forcePopupAlign: function() {
        this.state.popupVisible && this._component && this._component.alignInstance && this._component.alignInstance.forceAlign();
      }, fireEvents: function(k, U) {
        var W = this.props.children.props[k];
        W && W(U);
        var $ = this.props[k];
        $ && $(U);
      }, close: function() {
        this.setPopupVisible(!1);
      }, render: function() {
        var k = this.props, U = k.children, W = d.a.Children.only(U), $ = {};
        return this.isClickToHide() || this.isClickToShow() ? ($.onClick = this.onClick, $.onMouseDown = this.onMouseDown, $.onTouchStart = this.onTouchStart) : ($.onClick = this.createTwoChains("onClick"), $.onMouseDown = this.createTwoChains("onMouseDown"), $.onTouchStart = this.createTwoChains("onTouchStart")), this.isMouseEnterToShow() ? $.onMouseEnter = this.onMouseEnter : $.onMouseEnter = this.createTwoChains("onMouseEnter"), this.isMouseLeaveToHide() ? $.onMouseLeave = this.onMouseLeave : $.onMouseLeave = this.createTwoChains("onMouseLeave"), this.isFocusToShow() || this.isBlurToHide() ? ($.onFocus = this.onFocus, $.onBlur = this.onBlur) : ($.onFocus = this.createTwoChains("onFocus"), $.onBlur = this.createTwoChains("onBlur")), d.a.cloneElement(W, $);
      } });
      u.a = j;
    }, function(A, u, a) {
      function s(_, d, p) {
        var b = S.a.unstable_batchedUpdates ? function(m) {
          S.a.unstable_batchedUpdates(p, m);
        } : p;
        return E()(_, d, b);
      }
      u.a = s;
      var h = a(177), E = a.n(h), f = a(24), S = a.n(f);
    }, function(A, u, a) {
      function s(h, E) {
        for (var f = E; f; ) {
          if (f === h) return !0;
          f = f.parentNode;
        }
        return !1;
      }
      u.a = s;
    }, function(A, u, a) {
      var s = { MAC_ENTER: 3, BACKSPACE: 8, TAB: 9, NUM_CENTER: 12, ENTER: 13, SHIFT: 16, CTRL: 17, ALT: 18, PAUSE: 19, CAPS_LOCK: 20, ESC: 27, SPACE: 32, PAGE_UP: 33, PAGE_DOWN: 34, END: 35, HOME: 36, LEFT: 37, UP: 38, RIGHT: 39, DOWN: 40, PRINT_SCREEN: 44, INSERT: 45, DELETE: 46, ZERO: 48, ONE: 49, TWO: 50, THREE: 51, FOUR: 52, FIVE: 53, SIX: 54, SEVEN: 55, EIGHT: 56, NINE: 57, QUESTION_MARK: 63, A: 65, B: 66, C: 67, D: 68, E: 69, F: 70, G: 71, H: 72, I: 73, J: 74, K: 75, L: 76, M: 77, N: 78, O: 79, P: 80, Q: 81, R: 82, S: 83, T: 84, U: 85, V: 86, W: 87, X: 88, Y: 89, Z: 90, META: 91, WIN_KEY_RIGHT: 92, CONTEXT_MENU: 93, NUM_ZERO: 96, NUM_ONE: 97, NUM_TWO: 98, NUM_THREE: 99, NUM_FOUR: 100, NUM_FIVE: 101, NUM_SIX: 102, NUM_SEVEN: 103, NUM_EIGHT: 104, NUM_NINE: 105, NUM_MULTIPLY: 106, NUM_PLUS: 107, NUM_MINUS: 109, NUM_PERIOD: 110, NUM_DIVISION: 111, F1: 112, F2: 113, F3: 114, F4: 115, F5: 116, F6: 117, F7: 118, F8: 119, F9: 120, F10: 121, F11: 122, F12: 123, NUMLOCK: 144, SEMICOLON: 186, DASH: 189, EQUALS: 187, COMMA: 188, PERIOD: 190, SLASH: 191, APOSTROPHE: 192, SINGLE_QUOTE: 222, OPEN_SQUARE_BRACKET: 219, BACKSLASH: 220, CLOSE_SQUARE_BRACKET: 221, WIN_KEY: 224, MAC_FF_META: 224, WIN_IME: 229 };
      s.isTextModifyingKeyEvent = function(h) {
        var E = h.keyCode;
        if (h.altKey && !h.ctrlKey || h.metaKey || E >= s.F1 && E <= s.F12) return !1;
        switch (E) {
          case s.ALT:
          case s.CAPS_LOCK:
          case s.CONTEXT_MENU:
          case s.CTRL:
          case s.DOWN:
          case s.END:
          case s.ESC:
          case s.HOME:
          case s.INSERT:
          case s.LEFT:
          case s.MAC_FF_META:
          case s.META:
          case s.NUMLOCK:
          case s.NUM_CENTER:
          case s.PAGE_DOWN:
          case s.PAGE_UP:
          case s.PAUSE:
          case s.PRINT_SCREEN:
          case s.RIGHT:
          case s.SHIFT:
          case s.UP:
          case s.WIN_KEY:
          case s.WIN_KEY_RIGHT:
            return !1;
          default:
            return !0;
        }
      }, s.isCharacterKey = function(h) {
        if (h >= s.ZERO && h <= s.NINE || h >= s.NUM_ZERO && h <= s.NUM_MULTIPLY || h >= s.A && h <= s.Z || window.navigation.userAgent.indexOf("WebKit") !== -1 && h === 0) return !0;
        switch (h) {
          case s.SPACE:
          case s.QUESTION_MARK:
          case s.NUM_PLUS:
          case s.NUM_MINUS:
          case s.NUM_PERIOD:
          case s.NUM_DIVISION:
          case s.SEMICOLON:
          case s.DASH:
          case s.EQUALS:
          case s.COMMA:
          case s.PERIOD:
          case s.SLASH:
          case s.APOSTROPHE:
          case s.SINGLE_QUOTE:
          case s.OPEN_SQUARE_BRACKET:
          case s.BACKSLASH:
          case s.CLOSE_SQUARE_BRACKET:
            return !0;
          default:
            return !1;
        }
      }, u.a = s;
    }, function(A, u, a) {
      function s(p) {
        return p && p.__esModule ? p : { default: p };
      }
      function h() {
        var p = document.createElement("div");
        return document.body.appendChild(p), p;
      }
      function E(p) {
        function b(B, j, k) {
          if (!P || B._component || P(B)) {
            B._container || (B._container = R(B));
            var U = void 0;
            U = B.getComponent ? B.getComponent(j) : I(B, j), d.default.unstable_renderSubtreeIntoContainer(B, U, B._container, function() {
              B._component = this, k && k.call(this);
            });
          }
        }
        function m(B) {
          if (B._container) {
            var j = B._container;
            d.default.unmountComponentAtNode(j), j.parentNode.removeChild(j), B._container = null;
          }
        }
        var v = p.autoMount, O = v === void 0 || v, T = p.autoDestroy, w = T === void 0 || T, P = p.isVisible, I = p.getComponent, L = p.getContainer, R = L === void 0 ? h : L, q = void 0;
        return O && (q = (0, S.default)({}, q, { componentDidMount: function() {
          b(this);
        }, componentDidUpdate: function() {
          b(this);
        } })), O && w || (q = (0, S.default)({}, q, { renderComponent: function(B, j) {
          b(this, B, j);
        } })), q = w ? (0, S.default)({}, q, { componentWillUnmount: function() {
          m(this);
        } }) : (0, S.default)({}, q, { removeContainer: function() {
          m(this);
        } });
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = a(19), S = s(f);
      u.default = E;
      var _ = a(24), d = s(_);
      A.exports = u.default;
    }, function(A, u, a) {
      function s(O) {
        return O && O.__esModule ? O : { default: O };
      }
      function h(O, T) {
        var w = {};
        for (var P in O) T.indexOf(P) >= 0 || Object.prototype.hasOwnProperty.call(O, P) && (w[P] = O[P]);
        return w;
      }
      function E(O, T) {
        if (!(O instanceof T)) throw new TypeError("Cannot call a class as a function");
      }
      function f(O, T) {
        if (!O) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return !T || typeof T != "object" && typeof T != "function" ? O : T;
      }
      function S(O, T) {
        if (typeof T != "function" && T !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof T);
        O.prototype = Object.create(T && T.prototype, { constructor: { value: O, enumerable: !1, writable: !0, configurable: !0 } }), T && (Object.setPrototypeOf ? Object.setPrototypeOf(O, T) : O.__proto__ = T);
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.CopyToClipboard = void 0;
      var _ = Object.assign || function(O) {
        for (var T = 1; T < arguments.length; T++) {
          var w = arguments[T];
          for (var P in w) Object.prototype.hasOwnProperty.call(w, P) && (O[P] = w[P]);
        }
        return O;
      }, d = /* @__PURE__ */ function() {
        function O(T, w) {
          for (var P = 0; P < w.length; P++) {
            var I = w[P];
            I.enumerable = I.enumerable || !1, I.configurable = !0, "value" in I && (I.writable = !0), Object.defineProperty(T, I.key, I);
          }
        }
        return function(T, w, P) {
          return w && O(T.prototype, w), P && O(T, P), T;
        };
      }(), p = a(0), b = s(p), m = a(377), v = s(m);
      u.CopyToClipboard = function(O) {
        function T() {
          var w, P, I, L;
          E(this, T);
          for (var R = arguments.length, q = Array(R), B = 0; B < R; B++) q[B] = arguments[B];
          return P = I = f(this, (w = T.__proto__ || Object.getPrototypeOf(T)).call.apply(w, [this].concat(q))), I.onClick = function(j) {
            var k = I.props, U = k.text, W = k.onCopy, $ = k.children, V = k.options, G = b.default.Children.only($), X = (0, v.default)(U, V);
            W && W(U, X), G && G.props && typeof G.props.onClick == "function" && G.props.onClick(j);
          }, L = P, f(I, L);
        }
        return S(T, O), d(T, [{ key: "render", value: function() {
          var w = this.props, P = (w.text, w.onCopy, w.options, w.children), I = h(w, ["text", "onCopy", "options", "children"]), L = b.default.Children.only(P);
          return b.default.cloneElement(L, _({}, I, { onClick: this.onClick }));
        } }]), T;
      }(b.default.PureComponent);
    }, function(A, u, a) {
      var s = a(511), h = s.CopyToClipboard;
      A.exports = h;
    }, function(A, u, a) {
      var s = a(217), h = a(1), E = a(51), f = a(278), S = a(0), _ = a(514), d = h, p = E({ propTypes: { onFocus: d.func, onBlur: d.func, onChange: d.func, onViewModeChange: d.func, locale: d.string, utc: d.bool, input: d.bool, inputProps: d.object, timeConstraints: d.object, viewMode: d.oneOf(["years", "months", "days", "time"]), isValidDate: d.func, open: d.bool, strictParsing: d.bool, closeOnSelect: d.bool, closeOnTab: d.bool }, getDefaultProps: function() {
        var b = function() {
        };
        return { className: "", defaultValue: "", inputProps: {}, input: !0, onFocus: b, onBlur: b, onChange: b, onViewModeChange: b, timeFormat: !0, timeConstraints: {}, dateFormat: !0, strictParsing: !0, closeOnSelect: !1, closeOnTab: !0, utc: !1 };
      }, getInitialState: function() {
        var b = this.getStateFromProps(this.props);
        return b.open === void 0 && (b.open = !this.props.input), b.currentView = this.props.dateFormat ? this.props.viewMode || b.updateOn || "days" : "time", b;
      }, getStateFromProps: function(b) {
        var m, v, O, T, w = this.getFormats(b), P = b.value || b.defaultValue;
        return P && typeof P == "string" ? m = this.localMoment(P, w.datetime) : P && (m = this.localMoment(P)), m && !m.isValid() && (m = null), v = m ? m.clone().startOf("month") : this.localMoment().startOf("month"), O = this.getUpdateOn(w), T = m ? m.format(w.datetime) : P.isValid && !P.isValid() ? "" : P || "", { updateOn: O, inputFormat: w.datetime, viewDate: v, selectedDate: m, inputValue: T, open: b.open };
      }, getUpdateOn: function(b) {
        return b.date.match(/[lLD]/) ? "days" : b.date.indexOf("M") !== -1 ? "months" : b.date.indexOf("Y") !== -1 ? "years" : "days";
      }, getFormats: function(b) {
        var m = { date: b.dateFormat || "", time: b.timeFormat || "" }, v = this.localMoment(b.date, null, b).localeData();
        return m.date === !0 ? m.date = v.longDateFormat("L") : this.getUpdateOn(m) !== "days" && (m.time = ""), m.time === !0 && (m.time = v.longDateFormat("LT")), m.datetime = m.date && m.time ? m.date + " " + m.time : m.date || m.time, m;
      }, componentWillReceiveProps: function(b) {
        var m = this.getFormats(b), v = {};
        if (b.value === this.props.value && m.datetime === this.getFormats(this.props).datetime || (v = this.getStateFromProps(b)), v.open === void 0 && (this.props.closeOnSelect && this.state.currentView !== "time" ? v.open = !1 : v.open = this.state.open), b.viewMode !== this.props.viewMode && (v.currentView = b.viewMode), b.locale !== this.props.locale) {
          if (this.state.viewDate) {
            var O = this.state.viewDate.clone().locale(b.locale);
            v.viewDate = O;
          }
          if (this.state.selectedDate) {
            var T = this.state.selectedDate.clone().locale(b.locale);
            v.selectedDate = T, v.inputValue = T.format(m.datetime);
          }
        }
        b.utc !== this.props.utc && (b.utc ? (this.state.viewDate && (v.viewDate = this.state.viewDate.clone().utc()), this.state.selectedDate && (v.selectedDate = this.state.selectedDate.clone().utc(), v.inputValue = v.selectedDate.format(m.datetime))) : (this.state.viewDate && (v.viewDate = this.state.viewDate.clone().local()), this.state.selectedDate && (v.selectedDate = this.state.selectedDate.clone().local(), v.inputValue = v.selectedDate.format(m.datetime)))), this.setState(v);
      }, onInputChange: function(b) {
        var m = b.target === null ? b : b.target.value, v = this.localMoment(m, this.state.inputFormat), O = { inputValue: m };
        return v.isValid() && !this.props.value ? (O.selectedDate = v, O.viewDate = v.clone().startOf("month")) : O.selectedDate = null, this.setState(O, function() {
          return this.props.onChange(v.isValid() ? v : this.state.inputValue);
        });
      }, onInputKey: function(b) {
        b.which === 9 && this.props.closeOnTab && this.closeCalendar();
      }, showView: function(b) {
        var m = this;
        return function() {
          m.state.currentView !== b && m.props.onViewModeChange(b), m.setState({ currentView: b });
        };
      }, setDate: function(b) {
        var m = this, v = { month: "days", year: "months" };
        return function(O) {
          m.setState({ viewDate: m.state.viewDate.clone()[b](parseInt(O.target.getAttribute("data-value"), 10)).startOf(b), currentView: v[b] }), m.props.onViewModeChange(v[b]);
        };
      }, addTime: function(b, m, v) {
        return this.updateTime("add", b, m, v);
      }, subtractTime: function(b, m, v) {
        return this.updateTime("subtract", b, m, v);
      }, updateTime: function(b, m, v, O) {
        var T = this;
        return function() {
          var w = {}, P = O ? "selectedDate" : "viewDate";
          w[P] = T.state[P].clone()[b](m, v), T.setState(w);
        };
      }, allowedSetTime: ["hours", "minutes", "seconds", "milliseconds"], setTime: function(b, m) {
        var v, O = this.allowedSetTime.indexOf(b) + 1, T = this.state, w = (T.selectedDate || T.viewDate).clone();
        for (w[b](m); O < this.allowedSetTime.length; O++) v = this.allowedSetTime[O], w[v](w[v]());
        this.props.value || this.setState({ selectedDate: w, inputValue: w.format(T.inputFormat) }), this.props.onChange(w);
      }, updateSelectedDate: function(b, m) {
        var v, O = b.target, T = 0, w = this.state.viewDate, P = this.state.selectedDate || w;
        if (O.className.indexOf("rdtDay") !== -1 ? (O.className.indexOf("rdtNew") !== -1 ? T = 1 : O.className.indexOf("rdtOld") !== -1 && (T = -1), v = w.clone().month(w.month() + T).date(parseInt(O.getAttribute("data-value"), 10))) : O.className.indexOf("rdtMonth") !== -1 ? v = w.clone().month(parseInt(O.getAttribute("data-value"), 10)).date(P.date()) : O.className.indexOf("rdtYear") !== -1 && (v = w.clone().month(P.month()).date(P.date()).year(parseInt(O.getAttribute("data-value"), 10))), v.hours(P.hours()).minutes(P.minutes()).seconds(P.seconds()).milliseconds(P.milliseconds()), this.props.value) this.props.closeOnSelect && m && this.closeCalendar();
        else {
          var I = !(this.props.closeOnSelect && m);
          I || this.props.onBlur(v), this.setState({ selectedDate: v, viewDate: v.clone().startOf("month"), inputValue: v.format(this.state.inputFormat), open: I });
        }
        this.props.onChange(v);
      }, openCalendar: function() {
        this.state.open || this.setState({ open: !0 }, function() {
          this.props.onFocus();
        });
      }, closeCalendar: function() {
        this.setState({ open: !1 }, function() {
          this.props.onBlur(this.state.selectedDate || this.state.inputValue);
        });
      }, handleClickOutside: function() {
        this.props.input && this.state.open && !this.props.open && this.setState({ open: !1 }, function() {
          this.props.onBlur(this.state.selectedDate || this.state.inputValue);
        });
      }, localMoment: function(b, m, v) {
        v = v || this.props;
        var O = v.utc ? f.utc : f, T = O(b, m, v.strictParsing);
        return v.locale && T.locale(v.locale), T;
      }, componentProps: { fromProps: ["value", "isValidDate", "renderDay", "renderMonth", "renderYear", "timeConstraints"], fromState: ["viewDate", "selectedDate", "updateOn"], fromThis: ["setDate", "setTime", "showView", "addTime", "subtractTime", "updateSelectedDate", "localMoment", "handleClickOutside"] }, getComponentProps: function() {
        var b = this, m = this.getFormats(this.props), v = { dateFormat: m.date, timeFormat: m.time };
        return this.componentProps.fromProps.forEach(function(O) {
          v[O] = b.props[O];
        }), this.componentProps.fromState.forEach(function(O) {
          v[O] = b.state[O];
        }), this.componentProps.fromThis.forEach(function(O) {
          v[O] = b[O];
        }), v;
      }, render: function() {
        var b = "rdt" + (this.props.className ? Array.isArray(this.props.className) ? " " + this.props.className.join(" ") : " " + this.props.className : ""), m = [];
        return this.props.input ? m = [S.createElement("input", s({ key: "i", type: "text", className: "form-control", onFocus: this.openCalendar, onChange: this.onInputChange, onKeyDown: this.onInputKey, value: this.state.inputValue }, this.props.inputProps))] : b += " rdtStatic", this.state.open && (b += " rdtOpen"), S.createElement("div", { className: b }, m.concat(S.createElement("div", { key: "dt", className: "rdtPicker" }, S.createElement(_, { view: this.state.currentView, viewProps: this.getComponentProps(), onClickOutside: this.handleClickOutside }))));
      } });
      p.moment = f, A.exports = p;
    }, function(A, u, a) {
      var s = a(0), h = a(51), E = a(515), f = a(516), S = a(518), _ = a(517), d = h({ viewComponents: { days: E, months: f, years: S, time: _ }, render: function() {
        return s.createElement(this.viewComponents[this.props.view], this.props.viewProps);
      } });
      A.exports = d;
    }, function(A, u, a) {
      var s = a(0), h = a(51), E = a(278), f = a(102), S = f(h({ render: function() {
        var _, d = this.renderFooter(), p = this.props.viewDate, b = p.localeData();
        return _ = [s.createElement("thead", { key: "th" }, [s.createElement("tr", { key: "h" }, [s.createElement("th", { key: "p", className: "rdtPrev", onClick: this.props.subtractTime(1, "months") }, s.createElement("span", {}, "‹")), s.createElement("th", { key: "s", className: "rdtSwitch", onClick: this.props.showView("months"), colSpan: 5, "data-value": this.props.viewDate.month() }, b.months(p) + " " + p.year()), s.createElement("th", { key: "n", className: "rdtNext", onClick: this.props.addTime(1, "months") }, s.createElement("span", {}, "›"))]), s.createElement("tr", { key: "d" }, this.getDaysOfWeek(b).map(function(m, v) {
          return s.createElement("th", { key: m + v, className: "dow" }, m);
        }))]), s.createElement("tbody", { key: "tb" }, this.renderDays())], d && _.push(d), s.createElement("div", { className: "rdtDays" }, s.createElement("table", {}, _));
      }, getDaysOfWeek: function(_) {
        var d = _._weekdaysMin, p = _.firstDayOfWeek(), b = [], m = 0;
        return d.forEach(function(v) {
          b[(7 + m++ - p) % 7] = v;
        }), b;
      }, renderDays: function() {
        var _, d, p, b, m = this.props.viewDate, v = this.props.selectedDate && this.props.selectedDate.clone(), O = m.clone().subtract(1, "months"), T = m.year(), w = m.month(), P = [], I = [], L = this.props.renderDay || this.renderDay, R = this.props.isValidDate || this.alwaysValidDate;
        O.date(O.daysInMonth()).startOf("week");
        for (var q = O.clone().add(42, "d"); O.isBefore(q); ) _ = "rdtDay", b = O.clone(), O.year() === T && O.month() < w || O.year() < T ? _ += " rdtOld" : (O.year() === T && O.month() > w || O.year() > T) && (_ += " rdtNew"), v && O.isSame(v, "day") && (_ += " rdtActive"), O.isSame(E(), "day") && (_ += " rdtToday"), d = !R(b, v), d && (_ += " rdtDisabled"), p = { key: O.format("M_D"), "data-value": O.date(), className: _ }, d || (p.onClick = this.updateSelectedDate), I.push(L(p, b, v)), I.length === 7 && (P.push(s.createElement("tr", { key: O.format("M_D") }, I)), I = []), O.add(1, "d");
        return P;
      }, updateSelectedDate: function(_) {
        this.props.updateSelectedDate(_, !0);
      }, renderDay: function(_, d) {
        return s.createElement("td", _, d.date());
      }, renderFooter: function() {
        if (!this.props.timeFormat) return "";
        var _ = this.props.selectedDate || this.props.viewDate;
        return s.createElement("tfoot", { key: "tf" }, s.createElement("tr", {}, s.createElement("td", { onClick: this.props.showView("time"), colSpan: 7, className: "rdtTimeToggle" }, _.format(this.props.timeFormat))));
      }, alwaysValidDate: function() {
        return 1;
      }, handleClickOutside: function() {
        this.props.handleClickOutside();
      } }));
      A.exports = S;
    }, function(A, u, a) {
      function s(_) {
        return _.charAt(0).toUpperCase() + _.slice(1);
      }
      var h = a(0), E = a(51), f = a(102), S = f(E({ render: function() {
        return h.createElement("div", { className: "rdtMonths" }, [h.createElement("table", { key: "a" }, h.createElement("thead", {}, h.createElement("tr", {}, [h.createElement("th", { key: "prev", className: "rdtPrev", onClick: this.props.subtractTime(1, "years") }, h.createElement("span", {}, "‹")), h.createElement("th", { key: "year", className: "rdtSwitch", onClick: this.props.showView("years"), colSpan: 2, "data-value": this.props.viewDate.year() }, this.props.viewDate.year()), h.createElement("th", { key: "next", className: "rdtNext", onClick: this.props.addTime(1, "years") }, h.createElement("span", {}, "›"))]))), h.createElement("table", { key: "months" }, h.createElement("tbody", { key: "b" }, this.renderMonths()))]);
      }, renderMonths: function() {
        for (var _, d, p, b, m, v, O, T = this.props.selectedDate, w = this.props.viewDate.month(), P = this.props.viewDate.year(), I = [], L = 0, R = [], q = this.props.renderMonth || this.renderMonth, B = this.props.isValidDate || this.alwaysValidDate; L < 12; ) _ = "rdtMonth", p = this.props.viewDate.clone().set({ year: P, month: L, date: 1 }), m = p.endOf("month").format("D"), v = Array.from({ length: m }, function(j, k) {
          return k + 1;
        }), O = v.find(function(j) {
          var k = p.clone().set("date", j);
          return B(k);
        }), b = O === void 0, b && (_ += " rdtDisabled"), T && L === T.month() && P === T.year() && (_ += " rdtActive"), d = { key: L, "data-value": L, className: _ }, b || (d.onClick = this.props.updateOn === "months" ? this.updateSelectedMonth : this.props.setDate("month")), R.push(q(d, L, P, T && T.clone())), R.length === 4 && (I.push(h.createElement("tr", { key: w + "_" + I.length }, R)), R = []), L++;
        return I;
      }, updateSelectedMonth: function(_) {
        this.props.updateSelectedDate(_);
      }, renderMonth: function(_, d) {
        var p = this.props.viewDate, b = p.localeData().monthsShort(p.month(d)), m = b.substring(0, 3);
        return h.createElement("td", _, s(m));
      }, alwaysValidDate: function() {
        return 1;
      }, handleClickOutside: function() {
        this.props.handleClickOutside();
      } }));
      A.exports = S;
    }, function(A, u, a) {
      var s = a(0), h = a(51), E = a(217), f = a(102), S = f(h({ getInitialState: function() {
        return this.calculateState(this.props);
      }, calculateState: function(_) {
        var d = _.selectedDate || _.viewDate, p = _.timeFormat, b = [];
        p.toLowerCase().indexOf("h") !== -1 && (b.push("hours"), p.indexOf("m") !== -1 && (b.push("minutes"), p.indexOf("s") !== -1 && b.push("seconds")));
        var m = !1;
        return this.state !== null && this.props.timeFormat.toLowerCase().indexOf(" a") !== -1 && (m = this.props.timeFormat.indexOf(" A") !== -1 ? this.state.hours >= 12 ? "PM" : "AM" : this.state.hours >= 12 ? "pm" : "am"), { hours: d.format("H"), minutes: d.format("mm"), seconds: d.format("ss"), milliseconds: d.format("SSS"), daypart: m, counters: b };
      }, renderCounter: function(_) {
        if (_ !== "daypart") {
          var d = this.state[_];
          return _ === "hours" && this.props.timeFormat.toLowerCase().indexOf(" a") !== -1 && (d = (d - 1) % 12 + 1) === 0 && (d = 12), s.createElement("div", { key: _, className: "rdtCounter" }, [s.createElement("span", { key: "up", className: "rdtBtn", onMouseDown: this.onStartClicking("increase", _) }, "▲"), s.createElement("div", { key: "c", className: "rdtCount" }, d), s.createElement("span", { key: "do", className: "rdtBtn", onMouseDown: this.onStartClicking("decrease", _) }, "▼")]);
        }
        return "";
      }, renderDayPart: function() {
        return s.createElement("div", { key: "dayPart", className: "rdtCounter" }, [s.createElement("span", { key: "up", className: "rdtBtn", onMouseDown: this.onStartClicking("toggleDayPart", "hours") }, "▲"), s.createElement("div", { key: this.state.daypart, className: "rdtCount" }, this.state.daypart), s.createElement("span", { key: "do", className: "rdtBtn", onMouseDown: this.onStartClicking("toggleDayPart", "hours") }, "▼")]);
      }, render: function() {
        var _ = this, d = [];
        return this.state.counters.forEach(function(p) {
          d.length && d.push(s.createElement("div", { key: "sep" + d.length, className: "rdtCounterSeparator" }, ":")), d.push(_.renderCounter(p));
        }), this.state.daypart !== !1 && d.push(_.renderDayPart()), this.state.counters.length === 3 && this.props.timeFormat.indexOf("S") !== -1 && (d.push(s.createElement("div", { className: "rdtCounterSeparator", key: "sep5" }, ":")), d.push(s.createElement("div", { className: "rdtCounter rdtMilli", key: "m" }, s.createElement("input", { value: this.state.milliseconds, type: "text", onChange: this.updateMilli })))), s.createElement("div", { className: "rdtTime" }, s.createElement("table", {}, [this.renderHeader(), s.createElement("tbody", { key: "b" }, s.createElement("tr", {}, s.createElement("td", {}, s.createElement("div", { className: "rdtCounters" }, d))))]));
      }, componentWillMount: function() {
        var _ = this;
        _.timeConstraints = { hours: { min: 0, max: 23, step: 1 }, minutes: { min: 0, max: 59, step: 1 }, seconds: { min: 0, max: 59, step: 1 }, milliseconds: { min: 0, max: 999, step: 1 } }, ["hours", "minutes", "seconds", "milliseconds"].forEach(function(d) {
          E(_.timeConstraints[d], _.props.timeConstraints[d]);
        }), this.setState(this.calculateState(this.props));
      }, componentWillReceiveProps: function(_) {
        this.setState(this.calculateState(_));
      }, updateMilli: function(_) {
        var d = parseInt(_.target.value, 10);
        d === _.target.value && d >= 0 && d < 1e3 && (this.props.setTime("milliseconds", d), this.setState({ milliseconds: d }));
      }, renderHeader: function() {
        if (!this.props.dateFormat) return null;
        var _ = this.props.selectedDate || this.props.viewDate;
        return s.createElement("thead", { key: "h" }, s.createElement("tr", {}, s.createElement("th", { className: "rdtSwitch", colSpan: 4, onClick: this.props.showView("days") }, _.format(this.props.dateFormat))));
      }, onStartClicking: function(_, d) {
        var p = this;
        return function() {
          var b = {};
          b[d] = p[_](d), p.setState(b), p.timer = setTimeout(function() {
            p.increaseTimer = setInterval(function() {
              b[d] = p[_](d), p.setState(b);
            }, 70);
          }, 500), p.mouseUpListener = function() {
            clearTimeout(p.timer), clearInterval(p.increaseTimer), p.props.setTime(d, p.state[d]), document.body.removeEventListener("mouseup", p.mouseUpListener);
          }, document.body.addEventListener("mouseup", p.mouseUpListener);
        };
      }, padValues: { hours: 1, minutes: 2, seconds: 2, milliseconds: 3 }, toggleDayPart: function(_) {
        var d = parseInt(this.state[_], 10) + 12;
        return d > this.timeConstraints[_].max && (d = this.timeConstraints[_].min + (d - (this.timeConstraints[_].max + 1))), this.pad(_, d);
      }, increase: function(_) {
        var d = parseInt(this.state[_], 10) + this.timeConstraints[_].step;
        return d > this.timeConstraints[_].max && (d = this.timeConstraints[_].min + (d - (this.timeConstraints[_].max + 1))), this.pad(_, d);
      }, decrease: function(_) {
        var d = parseInt(this.state[_], 10) - this.timeConstraints[_].step;
        return d < this.timeConstraints[_].min && (d = this.timeConstraints[_].max + 1 - (this.timeConstraints[_].min - d)), this.pad(_, d);
      }, pad: function(_, d) {
        for (var p = d + ""; p.length < this.padValues[_]; ) p = "0" + p;
        return p;
      }, handleClickOutside: function() {
        this.props.handleClickOutside();
      } }));
      A.exports = S;
    }, function(A, u, a) {
      var s = a(0), h = a(51), E = a(102), f = E(h({ render: function() {
        var S = 10 * parseInt(this.props.viewDate.year() / 10, 10);
        return s.createElement("div", { className: "rdtYears" }, [s.createElement("table", { key: "a" }, s.createElement("thead", {}, s.createElement("tr", {}, [s.createElement("th", { key: "prev", className: "rdtPrev", onClick: this.props.subtractTime(10, "years") }, s.createElement("span", {}, "‹")), s.createElement("th", { key: "year", className: "rdtSwitch", onClick: this.props.showView("years"), colSpan: 2 }, S + "-" + (S + 9)), s.createElement("th", { key: "next", className: "rdtNext", onClick: this.props.addTime(10, "years") }, s.createElement("span", {}, "›"))]))), s.createElement("table", { key: "years" }, s.createElement("tbody", {}, this.renderYears(S)))]);
      }, renderYears: function(S) {
        var _, d, p, b, m, v, O, T = [], w = -1, P = [], I = this.props.renderYear || this.renderYear, L = this.props.selectedDate, R = this.props.isValidDate || this.alwaysValidDate;
        for (S--; w < 11; ) _ = "rdtYear", p = this.props.viewDate.clone().set({ year: S, month: 0, date: 1 }), m = p.endOf("year").format("DDD"), v = Array.from({ length: m }, function(q, B) {
          return B + 1;
        }), O = v.find(function(q) {
          var B = p.clone().dayOfYear(q);
          return R(B);
        }), b = O === void 0, b && (_ += " rdtDisabled"), L && L.year() === S && (_ += " rdtActive"), d = { key: S, "data-value": S, className: _ }, b || (d.onClick = this.props.updateOn === "years" ? this.updateSelectedYear : this.props.setDate("year")), T.push(I(d, S, L && L.clone())), T.length === 4 && (P.push(s.createElement("tr", { key: w }, T)), T = []), S++, w++;
        return P;
      }, updateSelectedYear: function(S) {
        this.props.updateSelectedDate(S);
      }, renderYear: function(S, _) {
        return s.createElement("td", S, _);
      }, alwaysValidDate: function() {
        return 1;
      }, handleClickOutside: function() {
        this.props.handleClickOutside();
      } }));
      A.exports = f;
    }, function(A, u) {
      A.exports = function(a, s, h) {
        var E = new Blob([a], { type: h || "application/octet-stream" });
        if (window.navigator.msSaveBlob !== void 0) window.navigator.msSaveBlob(E, s);
        else {
          var f = window.URL.createObjectURL(E), S = document.createElement("a");
          S.href = f, S.setAttribute("download", s), S.setAttribute("target", "_blank"), document.body.appendChild(S), S.click(), document.body.removeChild(S);
        }
      };
    }, function(A, u, a) {
      function s(f) {
        var S = f.errors;
        return E.default.createElement("div", { className: "panel panel-danger errors" }, E.default.createElement("div", { className: "panel-heading" }, E.default.createElement("h3", { className: "panel-title" }, "Errors")), E.default.createElement("ul", { className: "list-group" }, S.map(function(_, d) {
          return E.default.createElement("li", { key: d, className: "list-group-item text-danger" }, _.stack);
        })));
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = a(0), E = function(f) {
        return f && f.__esModule ? f : { default: f };
      }(h);
    }, function(A, u, a) {
      function s(L) {
        return L && L.__esModule ? L : { default: L };
      }
      function h(L, R) {
        if (!(L instanceof R)) throw new TypeError("Cannot call a class as a function");
      }
      function E(L, R) {
        if (!L) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return !R || typeof R != "object" && typeof R != "function" ? L : R;
      }
      function f(L, R) {
        if (typeof R != "function" && R !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof R);
        L.prototype = Object.create(R && R.prototype, { constructor: { value: L, enumerable: !1, writable: !0, configurable: !0 } }), R && (Object.setPrototypeOf ? Object.setPrototypeOf(L, R) : L.__proto__ = R);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var S = Object.assign || function(L) {
        for (var R = 1; R < arguments.length; R++) {
          var q = arguments[R];
          for (var B in q) Object.prototype.hasOwnProperty.call(q, B) && (L[B] = q[B]);
        }
        return L;
      }, _ = /* @__PURE__ */ function() {
        function L(R, q) {
          for (var B = 0; B < q.length; B++) {
            var j = q[B];
            j.enumerable = j.enumerable || !1, j.configurable = !0, "value" in j && (j.writable = !0), Object.defineProperty(R, j.key, j);
          }
        }
        return function(R, q, B) {
          return q && L(R.prototype, q), B && L(R, B), R;
        };
      }(), d = a(0), p = s(d), b = a(1), m = s(b), v = a(520), O = s(v), T = a(22), w = a(550), P = s(w), I = function(L) {
        function R(q) {
          h(this, R);
          var B = E(this, (R.__proto__ || Object.getPrototypeOf(R)).call(this, q));
          return B.onChange = function(j) {
            var k = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { validate: !1 }, U = !B.props.noValidate && (B.props.liveValidate || k.validate), W = { status: "editing", formData: j };
            if (U) {
              var $ = B.validate(j), V = $.errors, G = $.errorSchema;
              W = S({}, W, { errors: V, errorSchema: G });
            }
            (0, T.setState)(B, W, function() {
              B.props.onChange && B.props.onChange(B.state);
            });
          }, B.onBlur = function() {
            if (B.props.onBlur) {
              var j;
              (j = B.props).onBlur.apply(j, arguments);
            }
          }, B.onSubmit = function(j) {
            if (j.preventDefault(), B.setState({ status: "submitted" }), !B.props.noValidate) {
              var k = B.validate(B.state.formData), U = k.errors, W = k.errorSchema;
              if (Object.keys(U).length > 0) return void (0, T.setState)(B, { errors: U, errorSchema: W }, function() {
                B.props.onError ? B.props.onError(U) : console.error("Form validation failed", U);
              });
            }
            B.props.onSubmit && B.props.onSubmit(B.state), B.setState({ status: "initial", errors: [], errorSchema: {} });
          }, B.state = B.getStateFromProps(q), B;
        }
        return f(R, L), _(R, [{ key: "componentWillReceiveProps", value: function(q) {
          this.setState(this.getStateFromProps(q));
        } }, { key: "getStateFromProps", value: function(q) {
          var B = this.state || {}, j = "schema" in q ? q.schema : this.props.schema, k = "uiSchema" in q ? q.uiSchema : this.props.uiSchema, U = q.formData !== void 0, W = q.liveValidate || this.props.liveValidate, $ = U && !q.noValidate && W, V = j.definitions, G = (0, T.getDefaultFormState)(j, q.formData, V), X = $ ? this.validate(G, j) : { errors: B.errors || [], errorSchema: B.errorSchema || {} }, K = X.errors, H = X.errorSchema;
          return { status: "initial", schema: j, uiSchema: k, idSchema: (0, T.toIdSchema)(j, k["ui:rootFieldId"], V), formData: G, edit: U, errors: K, errorSchema: H };
        } }, { key: "shouldComponentUpdate", value: function(q, B) {
          return (0, T.shouldRender)(this, q, B);
        } }, { key: "validate", value: function(q, B) {
          var j = this.props, k = j.validate, U = j.transformErrors;
          return (0, P.default)(q, B || this.props.schema, k, U);
        } }, { key: "renderErrors", value: function() {
          var q = this.state, B = q.status, j = q.errors, k = this.props, U = k.ErrorList, W = k.showErrorList;
          return B !== "editing" && j.length && W != 0 ? p.default.createElement(U, { errors: j }) : null;
        } }, { key: "getRegistry", value: function() {
          var q = (0, T.getDefaultRegistry)(), B = q.fields, j = q.widgets;
          return { fields: S({}, B, this.props.fields), widgets: S({}, j, this.props.widgets), ArrayFieldTemplate: this.props.ArrayFieldTemplate, FieldTemplate: this.props.FieldTemplate, definitions: this.props.schema.definitions || {}, formContext: this.props.formContext || {} };
        } }, { key: "render", value: function() {
          var q = this.props, B = q.children, j = q.safeRenderCompletion, k = q.id, U = q.className, W = q.name, $ = q.method, V = q.target, G = q.action, X = q.autocomplete, K = q.enctype, H = q.acceptcharset, Y = q.noHtml5Validate, Q = this.state, Z = Q.schema, J = Q.uiSchema, ne = Q.formData, ie = Q.errorSchema, re = Q.idSchema, ee = this.getRegistry(), te = ee.fields.SchemaField;
          return p.default.createElement("form", { className: U || "rjsf", id: k, name: W, method: $, target: V, action: G, autoComplete: X, encType: K, acceptCharset: H, noValidate: Y, onSubmit: this.onSubmit }, this.renderErrors(), p.default.createElement(te, { schema: Z, uiSchema: J, errorSchema: ie, idSchema: re, formData: ne, onChange: this.onChange, onBlur: this.onBlur, registry: ee, safeRenderCompletion: j }), B || p.default.createElement("p", null, p.default.createElement("button", { type: "submit", className: "btn btn-info" }, "Submit")));
        } }]), R;
      }(d.Component);
      I.defaultProps = { uiSchema: {}, noValidate: !1, liveValidate: !1, safeRenderCompletion: !1, noHtml5Validate: !1, ErrorList: O.default }, u.default = I, I.propTypes = { schema: m.default.object.isRequired, uiSchema: m.default.object, formData: m.default.any, widgets: m.default.objectOf(m.default.oneOfType([m.default.func, m.default.object])), fields: m.default.objectOf(m.default.func), ArrayFieldTemplate: m.default.func, FieldTemplate: m.default.func, ErrorList: m.default.func, onChange: m.default.func, onError: m.default.func, showErrorList: m.default.bool, onSubmit: m.default.func, id: m.default.string, className: m.default.string, name: m.default.string, method: m.default.string, target: m.default.string, action: m.default.string, autocomplete: m.default.string, enctype: m.default.string, acceptcharset: m.default.string, noValidate: m.default.bool, noHtml5Validate: m.default.bool, liveValidate: m.default.bool, validate: m.default.func, transformErrors: m.default.func, safeRenderCompletion: m.default.bool, formContext: m.default.object };
    }, function(A, u, a) {
      function s(k) {
        return k && k.__esModule ? k : { default: k };
      }
      function h(k) {
        if (Array.isArray(k)) {
          for (var U = 0, W = Array(k.length); U < k.length; U++) W[U] = k[U];
          return W;
        }
        return Array.from(k);
      }
      function E(k, U) {
        if (!(k instanceof U)) throw new TypeError("Cannot call a class as a function");
      }
      function f(k, U) {
        if (!k) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return !U || typeof U != "object" && typeof U != "function" ? k : U;
      }
      function S(k, U) {
        if (typeof U != "function" && U !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof U);
        k.prototype = Object.create(U && U.prototype, { constructor: { value: k, enumerable: !1, writable: !0, configurable: !0 } }), U && (Object.setPrototypeOf ? Object.setPrototypeOf(k, U) : k.__proto__ = U);
      }
      function _(k, U) {
        var W = {};
        for (var $ in k) U.indexOf($) >= 0 || Object.prototype.hasOwnProperty.call(k, $) && (W[$] = k[$]);
        return W;
      }
      function d(k) {
        var U = k.TitleField, W = k.idSchema, $ = k.title, V = k.required;
        if (!$) return L.default.createElement("div", null);
        var G = W.$id + "__title";
        return L.default.createElement(U, { id: G, title: $, required: V });
      }
      function p(k) {
        var U = k.DescriptionField, W = k.idSchema, $ = k.description;
        if (!$) return L.default.createElement("div", null);
        var V = W.$id + "__description";
        return L.default.createElement(U, { id: V, description: $ });
      }
      function b(k) {
        var U = k.type, W = U === void 0 ? "default" : U, $ = k.icon, V = k.className, G = _(k, ["type", "icon", "className"]);
        return L.default.createElement("button", P({ type: "button", className: "btn btn-" + W + " " + V }, G), L.default.createElement("i", { className: "glyphicon glyphicon-" + $ }));
      }
      function m(k) {
        var U = { flex: 1, paddingLeft: 6, paddingRight: 6, fontWeight: "bold" };
        return L.default.createElement("div", { key: k.index, className: k.className }, L.default.createElement("div", { className: k.hasToolbar ? "col-xs-9" : "col-xs-12" }, k.children), k.hasToolbar && L.default.createElement("div", { className: "col-xs-3 array-item-toolbox" }, L.default.createElement("div", { className: "btn-group", style: { display: "flex", justifyContent: "space-around" } }, (k.hasMoveUp || k.hasMoveDown) && L.default.createElement(b, { icon: "arrow-up", className: "array-item-move-up", tabIndex: "-1", style: U, disabled: k.disabled || k.readonly || !k.hasMoveUp, onClick: k.onReorderClick(k.index, k.index - 1) }), (k.hasMoveUp || k.hasMoveDown) && L.default.createElement(b, { icon: "arrow-down", className: "array-item-move-down", tabIndex: "-1", style: U, disabled: k.disabled || k.readonly || !k.hasMoveDown, onClick: k.onReorderClick(k.index, k.index + 1) }), k.hasRemove && L.default.createElement(b, { type: "danger", icon: "remove", className: "array-item-remove", tabIndex: "-1", style: U, disabled: k.disabled || k.readonly, onClick: k.onDropIndexClick(k.index) }))));
      }
      function v(k) {
        return L.default.createElement("fieldset", { className: k.className }, L.default.createElement(d, { key: "array-field-title-" + k.idSchema.$id, TitleField: k.TitleField, idSchema: k.idSchema, title: k.title, required: k.required }), k.schema.description && L.default.createElement("div", { className: "field-description", key: "field-description-" + k.idSchema.$id }, k.schema.description), L.default.createElement("div", { className: "row array-item-list", key: "array-item-list-" + k.idSchema.$id }, k.items && k.items.map(m)), k.canAdd && L.default.createElement(T, { onClick: k.onAddClick, disabled: k.disabled || k.readonly }));
      }
      function O(k) {
        return L.default.createElement("fieldset", { className: k.className }, L.default.createElement(d, { key: "array-field-title-" + k.idSchema.$id, TitleField: k.TitleField, idSchema: k.idSchema, title: k.title, required: k.required }), k.schema.description && L.default.createElement(p, { key: "array-field-description-" + k.idSchema.$id, DescriptionField: k.DescriptionField, idSchema: k.idSchema, description: k.schema.description }), L.default.createElement("div", { className: "row array-item-list", key: "array-item-list-" + k.idSchema.$id }, k.items && k.items.map(function(U) {
          return m(U);
        })), k.canAdd && L.default.createElement(T, { onClick: k.onAddClick, disabled: k.disabled || k.readonly }));
      }
      function T(k) {
        var U = k.onClick, W = k.disabled;
        return L.default.createElement("div", { className: "row" }, L.default.createElement("p", { className: "col-xs-3 col-xs-offset-9 array-item-add text-right" }, L.default.createElement(b, { type: "info", icon: "plus", className: "btn-add col-xs-12", tabIndex: "0", onClick: U, disabled: W })));
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var w = /* @__PURE__ */ function() {
        function k(U, W) {
          for (var $ = 0; $ < W.length; $++) {
            var V = W[$];
            V.enumerable = V.enumerable || !1, V.configurable = !0, "value" in V && (V.writable = !0), Object.defineProperty(U, V.key, V);
          }
        }
        return function(U, W, $) {
          return W && k(U.prototype, W), $ && k(U, $), U;
        };
      }(), P = Object.assign || function(k) {
        for (var U = 1; U < arguments.length; U++) {
          var W = arguments[U];
          for (var $ in W) Object.prototype.hasOwnProperty.call(W, $) && (k[$] = W[$]);
        }
        return k;
      }, I = a(0), L = s(I), R = a(1), q = s(R), B = a(22), j = function(k) {
        function U() {
          var W, $, V, G;
          E(this, U);
          for (var X = arguments.length, K = Array(X), H = 0; H < X; H++) K[H] = arguments[H];
          return $ = V = f(this, (W = U.__proto__ || Object.getPrototypeOf(U)).call.apply(W, [this].concat(K))), V.onAddClick = function(Y) {
            Y.preventDefault();
            var Q = V.props, Z = Q.schema, J = Q.formData, ne = Q.registry, ie = ne === void 0 ? (0, B.getDefaultRegistry)() : ne, re = ie.definitions, ee = Z.items;
            (0, B.isFixedItems)(Z) && (0, B.allowAdditionalItems)(Z) && (ee = Z.additionalItems), V.props.onChange([].concat(h(J), [(0, B.getDefaultFormState)(ee, void 0, re)]), { validate: !1 });
          }, V.onDropIndexClick = function(Y) {
            return function(Q) {
              Q && Q.preventDefault();
              var Z = V.props, J = Z.formData;
              (0, Z.onChange)(J.filter(function(ne, ie) {
                return ie !== Y;
              }), { validate: !0 });
            };
          }, V.onReorderClick = function(Y, Q) {
            return function(Z) {
              Z && (Z.preventDefault(), Z.target.blur());
              var J = V.props, ne = J.formData;
              (0, J.onChange)(ne.map(function(ie, re) {
                return re === Q ? ne[Y] : re === Y ? ne[Q] : ie;
              }), { validate: !0 });
            };
          }, V.onChangeForIndex = function(Y) {
            return function(Q) {
              var Z = V.props, J = Z.formData;
              (0, Z.onChange)(J.map(function(ne, ie) {
                var re = Q === void 0 ? null : Q;
                return Y === ie ? re : ne;
              }), { validate: !1 });
            };
          }, V.onSelectChange = function(Y) {
            V.props.onChange(Y, { validate: !1 });
          }, G = $, f(V, G);
        }
        return S(U, k), w(U, [{ key: "isItemRequired", value: function(W) {
          return Array.isArray(W.type) ? !W.type.includes("null") : W.type !== "null";
        } }, { key: "render", value: function() {
          var W = this.props, $ = W.schema, V = W.uiSchema;
          return (0, B.isFilesArray)($, V) ? this.renderFiles() : (0, B.isFixedItems)($) ? this.renderFixedArray() : (0, B.isMultiSelect)($) ? this.renderMultiSelect() : this.renderNormalArray();
        } }, { key: "renderNormalArray", value: function() {
          var W = this, $ = this.props, V = $.schema, G = $.uiSchema, X = $.formData, K = $.errorSchema, H = $.idSchema, Y = $.name, Q = $.required, Z = $.disabled, J = $.readonly, ne = $.autofocus, ie = $.registry, re = ie === void 0 ? (0, B.getDefaultRegistry)() : ie, ee = $.formContext, te = $.onBlur, ue = V.title === void 0 ? Y : V.title, le = re.ArrayFieldTemplate, ae = re.definitions, ce = re.fields, pe = ce.TitleField, de = ce.DescriptionField, he = (0, B.retrieveSchema)(V.items, ae), Ee = (0, B.getUiOptions)(G), ye = Ee.addable, _e = ye === void 0 || ye, ge = { canAdd: _e, items: X.map(function(Te, De) {
            var oe = K ? K[De] : void 0, se = H.$id + "_" + De, fe = (0, B.toIdSchema)(he, se, ae);
            return W.renderArrayFieldItem({ index: De, canMoveUp: De > 0, canMoveDown: De < X.length - 1, itemSchema: he, itemIdSchema: fe, itemErrorSchema: oe, itemData: X[De], itemUiSchema: G.items, autofocus: ne && De === 0, onBlur: te });
          }), className: "field field-array field-array-of-" + he.type, DescriptionField: de, disabled: Z, idSchema: H, uiSchema: G, onAddClick: this.onAddClick, readonly: J, required: Q, schema: V, title: ue, TitleField: pe, formContext: ee }, Me = le || O;
          return L.default.createElement(Me, ge);
        } }, { key: "renderMultiSelect", value: function() {
          var W = this.props, $ = W.schema, V = W.idSchema, G = W.uiSchema, X = W.disabled, K = W.readonly, H = W.autofocus, Y = W.onBlur, Q = W.registry, Z = Q === void 0 ? (0, B.getDefaultRegistry)() : Q, J = this.props.formData, ne = Z.widgets, ie = Z.definitions, re = Z.formContext, ee = (0, B.retrieveSchema)($.items, ie), te = (0, B.optionsList)(ee), ue = P({}, (0, B.getUiOptions)(G), { enumOptions: te }), le = ue.widget, ae = le === void 0 ? "select" : le, ce = _(ue, ["widget"]), pe = (0, B.getWidget)($, ae, ne);
          return L.default.createElement(pe, { id: V && V.$id, multiple: !0, onChange: this.onSelectChange, onBlur: Y, options: ce, schema: $, value: J, disabled: X, readonly: K, formContext: re, autofocus: H });
        } }, { key: "renderFiles", value: function() {
          var W = this.props, $ = W.schema, V = W.uiSchema, G = W.idSchema, X = W.name, K = W.disabled, H = W.readonly, Y = W.autofocus, Q = W.onBlur, Z = W.registry, J = Z === void 0 ? (0, B.getDefaultRegistry)() : Z, ne = $.title || X, ie = this.props.formData, re = J.widgets, ee = J.formContext, te = (0, B.getUiOptions)(V), ue = te.widget, le = ue === void 0 ? "files" : ue, ae = _(te, ["widget"]), ce = (0, B.getWidget)($, le, re);
          return L.default.createElement(ce, { options: ae, id: G && G.$id, multiple: !0, onChange: this.onSelectChange, onBlur: Q, schema: $, title: ne, value: ie, disabled: K, readonly: H, formContext: ee, autofocus: Y });
        } }, { key: "renderFixedArray", value: function() {
          var W = this, $ = this.props, V = $.schema, G = $.uiSchema, X = $.errorSchema, K = $.idSchema, H = $.name, Y = $.required, Q = $.disabled, Z = $.readonly, J = $.autofocus, ne = $.registry, ie = ne === void 0 ? (0, B.getDefaultRegistry)() : ne, re = $.onBlur, ee = V.title || H, te = this.props.formData, ue = ie.ArrayFieldTemplate, le = ie.definitions, ae = ie.fields, ce = ae.TitleField, pe = V.items.map(function(Te) {
            return (0, B.retrieveSchema)(Te, le);
          }), de = (0, B.allowAdditionalItems)(V) ? (0, B.retrieveSchema)(V.additionalItems, le) : null, he = (0, B.getUiOptions)(G), Ee = he.addable, ye = Ee === void 0 || Ee, _e = ye && de;
          (!te || te.length < pe.length) && (te = te || [], te = te.concat(new Array(pe.length - te.length)));
          var ge = { canAdd: _e, className: "field field-array field-array-fixed-items", disabled: Q, idSchema: K, items: te.map(function(Te, De) {
            var oe = De >= pe.length, se = oe ? de : pe[De], fe = K.$id + "_" + De, be = (0, B.toIdSchema)(se, fe, le), Se = oe ? G.additionalItems || {} : Array.isArray(G.items) ? G.items[De] : G.items || {}, Ae = X ? X[De] : void 0;
            return W.renderArrayFieldItem({ index: De, canRemove: oe, canMoveUp: De >= pe.length + 1, canMoveDown: oe && De < te.length - 1, itemSchema: se, itemData: Te, itemUiSchema: Se, itemIdSchema: be, itemErrorSchema: Ae, autofocus: J && De === 0, onBlur: re });
          }), onAddClick: this.onAddClick, readonly: Z, required: Y, schema: V, uiSchema: G, title: ee, TitleField: ce }, Me = ue || v;
          return L.default.createElement(Me, ge);
        } }, { key: "renderArrayFieldItem", value: function(W) {
          var $ = W.index, V = W.canRemove, G = V === void 0 || V, X = W.canMoveUp, K = X === void 0 || X, H = W.canMoveDown, Y = H === void 0 || H, Q = W.itemSchema, Z = W.itemData, J = W.itemUiSchema, ne = W.itemIdSchema, ie = W.itemErrorSchema, re = W.autofocus, ee = W.onBlur, te = this.props, ue = te.disabled, le = te.readonly, ae = te.uiSchema, ce = te.registry, pe = ce === void 0 ? (0, B.getDefaultRegistry)() : ce, de = pe.fields.SchemaField, he = P({ orderable: !0, removable: !0 }, ae["ui:options"]), Ee = he.orderable, ye = he.removable, _e = { moveUp: Ee && K, moveDown: Ee && Y, remove: ye && G };
          return _e.toolbar = Object.keys(_e).some(function(ge) {
            return _e[ge];
          }), { children: L.default.createElement(de, { schema: Q, uiSchema: J, formData: Z, errorSchema: ie, idSchema: ne, required: this.isItemRequired(Q), onChange: this.onChangeForIndex($), onBlur: ee, registry: this.props.registry, disabled: this.props.disabled, readonly: this.props.readonly, autofocus: re }), className: "array-item", disabled: ue, hasToolbar: _e.toolbar, hasMoveUp: _e.moveUp, hasMoveDown: _e.moveDown, hasRemove: _e.remove, index: $, onDropIndexClick: this.onDropIndexClick, onReorderClick: this.onReorderClick, readonly: le };
        } }, { key: "itemTitle", get: function() {
          var W = this.props.schema;
          return W.items.title || W.items.description || "Item";
        } }]), U;
      }(I.Component);
      j.defaultProps = { uiSchema: {}, formData: [], idSchema: {}, required: !1, disabled: !1, readonly: !1, autofocus: !1 }, j.propTypes = { schema: q.default.object.isRequired, uiSchema: q.default.shape({ "ui:options": q.default.shape({ addable: q.default.bool, orderable: q.default.bool, removable: q.default.bool }) }), idSchema: q.default.object, errorSchema: q.default.object, onChange: q.default.func.isRequired, onBlur: q.default.func, formData: q.default.array, required: q.default.bool, disabled: q.default.bool, readonly: q.default.bool, autofocus: q.default.bool, registry: q.default.shape({ widgets: q.default.objectOf(q.default.oneOfType([q.default.func, q.default.object])).isRequired, fields: q.default.objectOf(q.default.func).isRequired, definitions: q.default.object.isRequired, formContext: q.default.object.isRequired }) }, u.default = j;
    }, function(A, u, a) {
      function s(m) {
        return m && m.__esModule ? m : { default: m };
      }
      function h(m, v) {
        var O = {};
        for (var T in m) v.indexOf(T) >= 0 || Object.prototype.hasOwnProperty.call(m, T) && (O[T] = m[T]);
        return O;
      }
      function E(m) {
        var v = m.schema, O = m.name, T = m.uiSchema, w = m.idSchema, P = m.formData, I = m.registry, L = I === void 0 ? (0, b.getDefaultRegistry)() : I, R = m.required, q = m.disabled, B = m.readonly, j = m.autofocus, k = m.onChange, U = v.title, W = L.widgets, $ = L.formContext, V = (0, b.getUiOptions)(T), G = V.widget, X = G === void 0 ? "checkbox" : G, K = h(V, ["widget"]), H = (0, b.getWidget)(v, X, W), Y = (0, b.optionsList)({ enum: [!0, !1], enumNames: v.enumNames || ["yes", "no"] });
        return _.default.createElement(H, { options: f({}, K, { enumOptions: Y }), schema: v, id: w && w.$id, onChange: k, label: U === void 0 ? O : U, value: P, required: R, disabled: q, readonly: B, registry: L, formContext: $, autofocus: j });
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = Object.assign || function(m) {
        for (var v = 1; v < arguments.length; v++) {
          var O = arguments[v];
          for (var T in O) Object.prototype.hasOwnProperty.call(O, T) && (m[T] = O[T]);
        }
        return m;
      }, S = a(0), _ = s(S), d = a(1), p = s(d), b = a(22);
      E.propTypes = { schema: p.default.object.isRequired, uiSchema: p.default.object, idSchema: p.default.object, onChange: p.default.func.isRequired, formData: p.default.bool, required: p.default.bool, disabled: p.default.bool, readonly: p.default.bool, autofocus: p.default.bool, registry: p.default.shape({ widgets: p.default.objectOf(p.default.oneOfType([p.default.func, p.default.object])).isRequired, fields: p.default.objectOf(p.default.func).isRequired, definitions: p.default.object.isRequired, formContext: p.default.object.isRequired }) }, E.defaultProps = { uiSchema: {}, disabled: !1, readonly: !1, autofocus: !1 }, u.default = E;
    }, function(A, u, a) {
      function s(b) {
        return b && b.__esModule ? b : { default: b };
      }
      function h(b) {
        var m = b.registry.fields.StringField;
        return S.default.createElement(m, E({}, b, { onChange: function(v) {
          return b.onChange((0, p.asNumber)(v));
        } }));
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = Object.assign || function(b) {
        for (var m = 1; m < arguments.length; m++) {
          var v = arguments[m];
          for (var O in v) Object.prototype.hasOwnProperty.call(v, O) && (b[O] = v[O]);
        }
        return b;
      }, f = a(0), S = s(f), _ = a(1), d = s(_), p = a(22);
      h.propTypes = { schema: d.default.object.isRequired, uiSchema: d.default.object, idSchema: d.default.object, onChange: d.default.func.isRequired, formData: d.default.oneOfType([d.default.number, d.default.string]), required: d.default.bool, formContext: d.default.object.isRequired }, h.defaultProps = { uiSchema: {} }, u.default = h;
    }, function(A, u, a) {
      function s(w) {
        return w && w.__esModule ? w : { default: w };
      }
      function h(w, P, I) {
        return P in w ? Object.defineProperty(w, P, { value: I, enumerable: !0, configurable: !0, writable: !0 }) : w[P] = I, w;
      }
      function E(w, P) {
        if (!(w instanceof P)) throw new TypeError("Cannot call a class as a function");
      }
      function f(w, P) {
        if (!w) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return !P || typeof P != "object" && typeof P != "function" ? w : P;
      }
      function S(w, P) {
        if (typeof P != "function" && P !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof P);
        w.prototype = Object.create(P && P.prototype, { constructor: { value: w, enumerable: !1, writable: !0, configurable: !0 } }), P && (Object.setPrototypeOf ? Object.setPrototypeOf(w, P) : w.__proto__ = P);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var _ = Object.assign || function(w) {
        for (var P = 1; P < arguments.length; P++) {
          var I = arguments[P];
          for (var L in I) Object.prototype.hasOwnProperty.call(I, L) && (w[L] = I[L]);
        }
        return w;
      }, d = /* @__PURE__ */ function() {
        function w(P, I) {
          for (var L = 0; L < I.length; L++) {
            var R = I[L];
            R.enumerable = R.enumerable || !1, R.configurable = !0, "value" in R && (R.writable = !0), Object.defineProperty(P, R.key, R);
          }
        }
        return function(P, I, L) {
          return I && w(P.prototype, I), L && w(P, L), P;
        };
      }(), p = a(0), b = s(p), m = a(1), v = s(m), O = a(22), T = function(w) {
        function P() {
          var I, L, R, q;
          E(this, P);
          for (var B = arguments.length, j = Array(B), k = 0; k < B; k++) j[k] = arguments[k];
          return L = R = f(this, (I = P.__proto__ || Object.getPrototypeOf(P)).call.apply(I, [this].concat(j))), R.onPropertyChange = function(U) {
            return function(W, $) {
              var V = _({}, R.props.formData, h({}, U, W));
              R.props.onChange(V, $);
            };
          }, q = L, f(R, q);
        }
        return S(P, w), d(P, [{ key: "isRequired", value: function(I) {
          var L = this.props.schema;
          return Array.isArray(L.required) && L.required.indexOf(I) !== -1;
        } }, { key: "render", value: function() {
          var I = this, L = this.props, R = L.uiSchema, q = L.formData, B = L.errorSchema, j = L.idSchema, k = L.name, U = L.required, W = L.disabled, $ = L.readonly, V = L.onBlur, G = L.registry, X = G === void 0 ? (0, O.getDefaultRegistry)() : G, K = X.definitions, H = X.fields, Y = X.formContext, Q = H.SchemaField, Z = H.TitleField, J = H.DescriptionField, ne = (0, O.retrieveSchema)(this.props.schema, K), ie = ne.title === void 0 ? k : ne.title, re = void 0;
          try {
            var ee = Object.keys(ne.properties);
            re = (0, O.orderProperties)(ee, R["ui:order"]);
          } catch (te) {
            return b.default.createElement("div", null, b.default.createElement("p", { className: "config-error", style: { color: "red" } }, "Invalid ", k || "root", " object field configuration:", b.default.createElement("em", null, te.message), "."), b.default.createElement("pre", null, JSON.stringify(ne)));
          }
          return b.default.createElement("fieldset", null, ie && b.default.createElement(Z, { id: j.$id + "__title", title: ie, required: U, formContext: Y }), ne.description && b.default.createElement(J, { id: j.$id + "__description", description: ne.description, formContext: Y }), re.map(function(te, ue) {
            return b.default.createElement(Q, { key: ue, name: te, required: I.isRequired(te), schema: ne.properties[te], uiSchema: R[te], errorSchema: B[te], idSchema: j[te], formData: q[te], onChange: I.onPropertyChange(te), onBlur: V, registry: X, disabled: W, readonly: $ });
          }));
        } }]), P;
      }(p.Component);
      T.defaultProps = { uiSchema: {}, formData: {}, errorSchema: {}, idSchema: {}, required: !1, disabled: !1, readonly: !1 }, T.propTypes = { schema: v.default.object.isRequired, uiSchema: v.default.object, errorSchema: v.default.object, idSchema: v.default.object, onChange: v.default.func.isRequired, formData: v.default.object, required: v.default.bool, disabled: v.default.bool, readonly: v.default.bool, registry: v.default.shape({ widgets: v.default.objectOf(v.default.oneOfType([v.default.func, v.default.object])).isRequired, fields: v.default.objectOf(v.default.func).isRequired, definitions: v.default.object.isRequired, formContext: v.default.object.isRequired }) }, u.default = T;
    }, function(A, u, a) {
      function s(W) {
        return W && W.__esModule ? W : { default: W };
      }
      function h(W, $) {
        if (!(W instanceof $)) throw new TypeError("Cannot call a class as a function");
      }
      function E(W, $) {
        if (!W) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return !$ || typeof $ != "object" && typeof $ != "function" ? W : $;
      }
      function f(W, $) {
        if (typeof $ != "function" && $ !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof $);
        W.prototype = Object.create($ && $.prototype, { constructor: { value: W, enumerable: !1, writable: !0, configurable: !0 } }), $ && (Object.setPrototypeOf ? Object.setPrototypeOf(W, $) : W.__proto__ = $);
      }
      function S(W, $) {
        var V = {};
        for (var G in W) $.indexOf(G) >= 0 || Object.prototype.hasOwnProperty.call(W, G) && (V[G] = W[G]);
        return V;
      }
      function _(W, $, V) {
        var G = $["ui:field"];
        if (typeof G == "function") return G;
        if (typeof G == "string" && G in V) return V[G];
        var X = k[W.type];
        return X in V ? V[X] : B.default;
      }
      function d(W) {
        var $ = W.label, V = W.required, G = W.id;
        return $ ? P.default.createElement("label", { className: "control-label", htmlFor: G }, V ? $ + j : $) : P.default.createElement("div", null);
      }
      function p(W) {
        var $ = W.help;
        return $ ? typeof $ == "string" ? P.default.createElement("p", { className: "help-block" }, $) : P.default.createElement("div", { className: "help-block" }, $) : P.default.createElement("div", null);
      }
      function b(W) {
        var $ = W.errors, V = $ === void 0 ? [] : $;
        return V.length === 0 ? P.default.createElement("div", null) : P.default.createElement("div", null, P.default.createElement("p", null), P.default.createElement("ul", { className: "error-detail bs-callout bs-callout-info" }, V.map(function(G, X) {
          return P.default.createElement("li", { className: "text-danger", key: X }, G);
        })));
      }
      function m(W) {
        var $ = W.id, V = W.classNames, G = W.label, X = W.children, K = W.errors, H = W.help, Y = W.description, Q = W.hidden, Z = W.required, J = W.displayLabel;
        return Q ? X : P.default.createElement("div", { className: V }, J && P.default.createElement(d, { label: G, required: Z, id: $ }), J && Y ? Y : null, X, K, H);
      }
      function v(W) {
        var $ = W.uiSchema, V = W.errorSchema, G = W.idSchema, X = W.name, K = W.required, H = W.registry, Y = H === void 0 ? (0, R.getDefaultRegistry)() : H, Q = Y.definitions, Z = Y.fields, J = Y.formContext, ne = Y.FieldTemplate, ie = ne === void 0 ? m : ne, re = (0, R.retrieveSchema)(W.schema, Q), ee = _(re, $, Z), te = Z.DescriptionField, ue = !!(W.disabled || $["ui:disabled"]), le = !!(W.readonly || $["ui:readonly"]), ae = !!(W.autofocus || $["ui:autofocus"]);
        if (Object.keys(re).length === 0) return P.default.createElement("div", null);
        var ce = (0, R.getUiOptions)($), pe = ce.label, de = pe === void 0 || pe;
        re.type === "array" && (de = (0, R.isMultiSelect)(re) || (0, R.isFilesArray)(re, $)), re.type === "object" && (de = !1), re.type !== "boolean" || $["ui:widget"] || (de = !1), $["ui:field"] && (de = !1);
        var he = V.__errors, Ee = S(V, ["__errors"]), ye = P.default.createElement(ee, T({}, W, { schema: re, uiSchema: T({}, $, { classNames: void 0 }), disabled: ue, readonly: le, autofocus: ae, errorSchema: Ee, formContext: J })), _e = re.type, ge = G.$id, Me = $["ui:title"] || W.schema.title || re.title || X, Te = $["ui:description"] || W.schema.description || re.description, De = he, oe = $["ui:help"], se = $["ui:widget"] === "hidden", fe = ["form-group", "field", "field-" + _e, De && De.length > 0 ? "field-error has-error has-danger" : "", $.classNames].join(" ").trim(), be = { description: P.default.createElement(te, { id: ge + "__description", description: Te, formContext: J }), rawDescription: Te, help: P.default.createElement(p, { help: oe }), rawHelp: typeof oe == "string" ? oe : void 0, errors: P.default.createElement(b, { errors: De }), rawErrors: De, id: ge, label: Me, hidden: se, required: K, readonly: le, displayLabel: de, classNames: fe, formContext: J, fields: Z, schema: re, uiSchema: $ };
        return P.default.createElement(ie, be, ye);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var O = /* @__PURE__ */ function() {
        function W($, V) {
          for (var G = 0; G < V.length; G++) {
            var X = V[G];
            X.enumerable = X.enumerable || !1, X.configurable = !0, "value" in X && (X.writable = !0), Object.defineProperty($, X.key, X);
          }
        }
        return function($, V, G) {
          return V && W($.prototype, V), G && W($, G), $;
        };
      }(), T = Object.assign || function(W) {
        for (var $ = 1; $ < arguments.length; $++) {
          var V = arguments[$];
          for (var G in V) Object.prototype.hasOwnProperty.call(V, G) && (W[G] = V[G]);
        }
        return W;
      }, w = a(0), P = s(w), I = a(1), L = s(I), R = a(22), q = a(219), B = s(q), j = "*", k = { array: "ArrayField", boolean: "BooleanField", integer: "NumberField", number: "NumberField", object: "ObjectField", string: "StringField" };
      m.propTypes = { id: L.default.string, classNames: L.default.string, label: L.default.string, children: L.default.node.isRequired, errors: L.default.element, rawErrors: L.default.arrayOf(L.default.string), help: L.default.element, rawHelp: L.default.oneOfType([L.default.string, L.default.element]), description: L.default.element, rawDescription: L.default.oneOfType([L.default.string, L.default.element]), hidden: L.default.bool, required: L.default.bool, readonly: L.default.bool, displayLabel: L.default.bool, fields: L.default.object, formContext: L.default.object }, m.defaultProps = { hidden: !1, readonly: !1, required: !1, displayLabel: !0 };
      var U = function(W) {
        function $() {
          return h(this, $), E(this, ($.__proto__ || Object.getPrototypeOf($)).apply(this, arguments));
        }
        return f($, W), O($, [{ key: "shouldComponentUpdate", value: function(V, G) {
          return !(0, R.deepEquals)(T({}, this.props, { idSchema: void 0 }), T({}, V, { idSchema: void 0 }));
        } }, { key: "render", value: function() {
          return v(this.props);
        } }]), $;
      }(P.default.Component);
      U.defaultProps = { uiSchema: {}, errorSchema: {}, idSchema: {}, disabled: !1, readonly: !1, autofocus: !1 }, U.propTypes = { schema: L.default.object.isRequired, uiSchema: L.default.object, idSchema: L.default.object, formData: L.default.any, errorSchema: L.default.object, registry: L.default.shape({ widgets: L.default.objectOf(L.default.oneOfType([L.default.func, L.default.object])).isRequired, fields: L.default.objectOf(L.default.func).isRequired, definitions: L.default.object.isRequired, ArrayFieldTemplate: L.default.func, FieldTemplate: L.default.func, formContext: L.default.object.isRequired }) }, u.default = U;
    }, function(A, u, a) {
      function s(m) {
        return m && m.__esModule ? m : { default: m };
      }
      function h(m, v) {
        var O = {};
        for (var T in m) v.indexOf(T) >= 0 || Object.prototype.hasOwnProperty.call(m, T) && (O[T] = m[T]);
        return O;
      }
      function E(m) {
        var v = m.schema, O = m.name, T = m.uiSchema, w = m.idSchema, P = m.formData, I = m.required, L = m.disabled, R = m.readonly, q = m.autofocus, B = m.onChange, j = m.onBlur, k = m.registry, U = k === void 0 ? (0, b.getDefaultRegistry)() : k, W = v.title, $ = v.format, V = U.widgets, G = U.formContext, X = Array.isArray(v.enum) && (0, b.optionsList)(v), K = $ || (X ? "select" : "text"), H = (0, b.getUiOptions)(T), Y = H.widget, Q = Y === void 0 ? K : Y, Z = H.placeholder, J = Z === void 0 ? "" : Z, ne = h(H, ["widget", "placeholder"]), ie = (0, b.getWidget)(v, Q, V);
        return _.default.createElement(ie, { options: f({}, ne, { enumOptions: X }), schema: v, id: w && w.$id, label: W === void 0 ? O : W, value: P, onChange: B, onBlur: j, required: I, disabled: L, readonly: R, formContext: G, autofocus: q, registry: U, placeholder: J });
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = Object.assign || function(m) {
        for (var v = 1; v < arguments.length; v++) {
          var O = arguments[v];
          for (var T in O) Object.prototype.hasOwnProperty.call(O, T) && (m[T] = O[T]);
        }
        return m;
      }, S = a(0), _ = s(S), d = a(1), p = s(d), b = a(22);
      E.propTypes = { schema: p.default.object.isRequired, uiSchema: p.default.object.isRequired, idSchema: p.default.object, onChange: p.default.func.isRequired, onBlur: p.default.func, formData: p.default.oneOfType([p.default.string, p.default.number]), registry: p.default.shape({ widgets: p.default.objectOf(p.default.oneOfType([p.default.func, p.default.object])).isRequired, fields: p.default.objectOf(p.default.func).isRequired, definitions: p.default.object.isRequired, formContext: p.default.object.isRequired }), formContext: p.default.object.isRequired, required: p.default.bool, disabled: p.default.bool, readonly: p.default.bool, autofocus: p.default.bool }, E.defaultProps = { uiSchema: {}, disabled: !1, readonly: !1, autofocus: !1 }, u.default = E;
    }, function(A, u, a) {
      function s(p) {
        return p && p.__esModule ? p : { default: p };
      }
      function h(p) {
        var b = p.id, m = p.title, v = p.required, O = v ? m + d : m;
        return f.default.createElement("legend", { id: b }, O);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(0), f = s(E), S = a(1), _ = s(S), d = "*";
      h.propTypes = { id: _.default.string, title: _.default.string, required: _.default.bool }, u.default = h;
    }, function(A, u, a) {
      function s(B) {
        return B && B.__esModule ? B : { default: B };
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(522), E = s(h), f = a(523), S = s(f), _ = a(218), d = s(_), p = a(524), b = s(p), m = a(525), v = s(m), O = a(526), T = s(O), w = a(527), P = s(w), I = a(528), L = s(I), R = a(219), q = s(R);
      u.default = { ArrayField: E.default, BooleanField: S.default, DescriptionField: d.default, NumberField: b.default, ObjectField: v.default, SchemaField: T.default, StringField: P.default, TitleField: L.default, UnsupportedField: q.default };
    }, function(A, u, a) {
      function s(p) {
        return p && p.__esModule ? p : { default: p };
      }
      function h(p) {
        var b = p.registry.widgets.AltDateWidget;
        return S.default.createElement(b, E({ time: !0 }, p));
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = Object.assign || function(p) {
        for (var b = 1; b < arguments.length; b++) {
          var m = arguments[b];
          for (var v in m) Object.prototype.hasOwnProperty.call(m, v) && (p[v] = m[v]);
        }
        return p;
      }, f = a(0), S = s(f), _ = a(1), d = s(_);
      h.propTypes = { schema: d.default.object.isRequired, id: d.default.string.isRequired, value: d.default.string, required: d.default.bool, onChange: d.default.func }, u.default = h;
    }, function(A, u, a) {
      function s(L) {
        return L && L.__esModule ? L : { default: L };
      }
      function h(L, R, q) {
        return R in L ? Object.defineProperty(L, R, { value: q, enumerable: !0, configurable: !0, writable: !0 }) : L[R] = q, L;
      }
      function E(L, R) {
        if (!(L instanceof R)) throw new TypeError("Cannot call a class as a function");
      }
      function f(L, R) {
        if (!L) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return !R || typeof R != "object" && typeof R != "function" ? L : R;
      }
      function S(L, R) {
        if (typeof R != "function" && R !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof R);
        L.prototype = Object.create(R && R.prototype, { constructor: { value: L, enumerable: !1, writable: !0, configurable: !0 } }), R && (Object.setPrototypeOf ? Object.setPrototypeOf(L, R) : L.__proto__ = R);
      }
      function _(L, R) {
        for (var q = [], B = L; B <= R; B++) q.push({ value: B, label: (0, P.pad)(B, 2) });
        return q;
      }
      function d(L) {
        return Object.keys(L).every(function(R) {
          return L[R] !== -1;
        });
      }
      function p(L) {
        var R = L.type, q = L.range, B = L.value, j = L.select, k = L.rootId, U = L.disabled, W = L.readonly, $ = L.autofocus, V = L.registry, G = L.onBlur, X = k + "_" + R, K = V.widgets.SelectWidget;
        return O.default.createElement(K, { schema: { type: "integer" }, id: X, className: "form-control", options: { enumOptions: _(q[0], q[1]) }, placeholder: R, value: B, disabled: U, readonly: W, autofocus: $, onChange: function(H) {
          return j(R, H);
        }, onBlur: G });
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var b = Object.assign || function(L) {
        for (var R = 1; R < arguments.length; R++) {
          var q = arguments[R];
          for (var B in q) Object.prototype.hasOwnProperty.call(q, B) && (L[B] = q[B]);
        }
        return L;
      }, m = /* @__PURE__ */ function() {
        function L(R, q) {
          for (var B = 0; B < q.length; B++) {
            var j = q[B];
            j.enumerable = j.enumerable || !1, j.configurable = !0, "value" in j && (j.writable = !0), Object.defineProperty(R, j.key, j);
          }
        }
        return function(R, q, B) {
          return q && L(R.prototype, q), B && L(R, B), R;
        };
      }(), v = a(0), O = s(v), T = a(1), w = s(T), P = a(22), I = function(L) {
        function R(q) {
          E(this, R);
          var B = f(this, (R.__proto__ || Object.getPrototypeOf(R)).call(this, q));
          return B.onChange = function(j, k) {
            B.setState(h({}, j, k === void 0 ? -1 : k), function() {
              d(B.state) && B.props.onChange((0, P.toDateString)(B.state, B.props.time));
            });
          }, B.setNow = function(j) {
            j.preventDefault();
            var k = B.props, U = k.time, W = k.disabled, $ = k.readonly, V = k.onChange;
            if (!W && !$) {
              var G = (0, P.parseDateString)((/* @__PURE__ */ new Date()).toJSON(), U);
              B.setState(G, function() {
                return V((0, P.toDateString)(B.state, U));
              });
            }
          }, B.clear = function(j) {
            j.preventDefault();
            var k = B.props, U = k.time, W = k.disabled, $ = k.readonly, V = k.onChange;
            W || $ || B.setState((0, P.parseDateString)("", U), function() {
              return V(void 0);
            });
          }, B.state = (0, P.parseDateString)(q.value, q.time), B;
        }
        return S(R, L), m(R, [{ key: "componentWillReceiveProps", value: function(q) {
          this.setState((0, P.parseDateString)(q.value, q.time));
        } }, { key: "shouldComponentUpdate", value: function(q, B) {
          return (0, P.shouldRender)(this, q, B);
        } }, { key: "render", value: function() {
          var q = this, B = this.props, j = B.id, k = B.disabled, U = B.readonly, W = B.autofocus, $ = B.registry, V = B.onBlur;
          return O.default.createElement("ul", { className: "list-inline" }, this.dateElementProps.map(function(G, X) {
            return O.default.createElement("li", { key: X }, O.default.createElement(p, b({ rootId: j, select: q.onChange }, G, { disabled: k, readonly: U, registry: $, onBlur: V, autofocus: W && X === 0 })));
          }), O.default.createElement("li", null, O.default.createElement("a", { href: "#", className: "btn btn-info btn-now", onClick: this.setNow }, "Now")), O.default.createElement("li", null, O.default.createElement("a", { href: "#", className: "btn btn-warning btn-clear", onClick: this.clear }, "Clear")));
        } }, { key: "dateElementProps", get: function() {
          var q = this.props.time, B = this.state, j = B.year, k = B.month, U = B.day, W = B.hour, $ = B.minute, V = B.second, G = [{ type: "year", range: [1900, 2020], value: j }, { type: "month", range: [1, 12], value: k }, { type: "day", range: [1, 31], value: U }];
          return q && G.push({ type: "hour", range: [0, 23], value: W }, { type: "minute", range: [0, 59], value: $ }, { type: "second", range: [0, 59], value: V }), G;
        } }]), R;
      }(v.Component);
      I.defaultProps = { time: !1, disabled: !1, readonly: !1, autofocus: !1 }, I.propTypes = { schema: w.default.object.isRequired, id: w.default.string.isRequired, value: w.default.string, required: w.default.bool, disabled: w.default.bool, readonly: w.default.bool, autofocus: w.default.bool, onChange: w.default.func, onBlur: w.default.func, time: w.default.bool }, u.default = I;
    }, function(A, u, a) {
      function s(b) {
        return b && b.__esModule ? b : { default: b };
      }
      function h(b) {
        var m = b.schema, v = b.id, O = b.value, T = b.required, w = b.disabled, P = b.readonly, I = b.label, L = b.autofocus, R = b.onChange;
        return f.default.createElement("div", { className: "checkbox " + (w || P ? "disabled" : "") }, m.description && f.default.createElement(p.default, { description: m.description }), f.default.createElement("label", null, f.default.createElement("input", { type: "checkbox", id: v, checked: O !== void 0 && O, required: T, disabled: w || P, autoFocus: L, onChange: function(q) {
          return R(q.target.checked);
        } }), f.default.createElement("span", null, I)));
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(0), f = s(E), S = a(1), _ = s(S), d = a(218), p = s(d);
      h.defaultProps = { autofocus: !1 }, h.propTypes = { schema: _.default.object.isRequired, id: _.default.string.isRequired, value: _.default.bool, required: _.default.bool, disabled: _.default.bool, readonly: _.default.bool, autofocus: _.default.bool, onChange: _.default.func }, u.default = h;
    }, function(A, u, a) {
      function s(b) {
        return b && b.__esModule ? b : { default: b };
      }
      function h(b, m, v) {
        var O = v.indexOf(b);
        return m.slice(0, O).concat(b, m.slice(O)).sort(function(T, w) {
          return v.indexOf(T) > v.indexOf(w);
        });
      }
      function E(b, m) {
        return m.filter(function(v) {
          return v !== b;
        });
      }
      function f(b) {
        var m = b.id, v = b.disabled, O = b.options, T = b.value, w = b.autofocus, P = b.readonly, I = b.onChange, L = O.enumOptions, R = O.inline;
        return _.default.createElement("div", { className: "checkboxes", id: m }, L.map(function(q, B) {
          var j = T.indexOf(q.value) !== -1, k = v || P ? "disabled" : "", U = _.default.createElement("span", null, _.default.createElement("input", { type: "checkbox", id: m + "_" + B, checked: j, disabled: v || P, autoFocus: w && B === 0, onChange: function(W) {
            var $ = L.map(function(V) {
              return V.value;
            });
            I(W.target.checked ? h(q.value, T, $) : E(q.value, T));
          } }), _.default.createElement("span", null, q.label));
          return R ? _.default.createElement("label", { key: B, className: "checkbox-inline " + k }, U) : _.default.createElement("div", { key: B, className: "checkbox " + k }, _.default.createElement("label", null, U));
        }));
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var S = a(0), _ = s(S), d = a(1), p = s(d);
      f.defaultProps = { autofocus: !1, options: { inline: !1 } }, f.propTypes = { schema: p.default.object.isRequired, id: p.default.string.isRequired, options: p.default.shape({ enumOptions: p.default.array, inline: p.default.bool }).isRequired, value: p.default.any, required: p.default.bool, readonly: p.default.bool, disabled: p.default.bool, multiple: p.default.bool, autofocus: p.default.bool, onChange: p.default.func }, u.default = f;
    }, function(A, u, a) {
      function s(m) {
        return m && m.__esModule ? m : { default: m };
      }
      function h(m) {
        var v = m.disabled, O = m.readonly;
        return S.default.createElement(b.default, E({ type: "color" }, m, { disabled: v || O }));
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = Object.assign || function(m) {
        for (var v = 1; v < arguments.length; v++) {
          var O = arguments[v];
          for (var T in O) Object.prototype.hasOwnProperty.call(O, T) && (m[T] = O[T]);
        }
        return m;
      }, f = a(0), S = s(f), _ = a(1), d = s(_), p = a(41), b = s(p);
      h.propTypes = { schema: d.default.object.isRequired, id: d.default.string.isRequired, value: d.default.string, required: d.default.bool, disabled: d.default.bool, readonly: d.default.bool, autofocus: d.default.bool, onChange: d.default.func }, u.default = h;
    }, function(A, u, a) {
      function s(O) {
        return O && O.__esModule ? O : { default: O };
      }
      function h(O) {
        return O ? O.slice(0, 19) : "";
      }
      function E(O) {
        if (O) return new Date(O).toJSON();
      }
      function f(O) {
        var T = O.value, w = O.onChange;
        return d.default.createElement(v.default, S({ type: "datetime-local" }, O, { value: h(T), onChange: function(P) {
          return w(E(P));
        } }));
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var S = Object.assign || function(O) {
        for (var T = 1; T < arguments.length; T++) {
          var w = arguments[T];
          for (var P in w) Object.prototype.hasOwnProperty.call(w, P) && (O[P] = w[P]);
        }
        return O;
      }, _ = a(0), d = s(_), p = a(1), b = s(p), m = a(41), v = s(m);
      f.propTypes = { value: b.default.string }, u.default = f;
    }, function(A, u, a) {
      function s(m) {
        return m && m.__esModule ? m : { default: m };
      }
      function h(m) {
        var v = m.onChange;
        return S.default.createElement(b.default, E({ type: "date" }, m, { onChange: function(O) {
          return v(O || void 0);
        } }));
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = Object.assign || function(m) {
        for (var v = 1; v < arguments.length; v++) {
          var O = arguments[v];
          for (var T in O) Object.prototype.hasOwnProperty.call(O, T) && (m[T] = O[T]);
        }
        return m;
      }, f = a(0), S = s(f), _ = a(1), d = s(_), p = a(41), b = s(p);
      h.propTypes = { value: d.default.string }, u.default = h;
    }, function(A, u, a) {
      function s(m) {
        return m && m.__esModule ? m : { default: m };
      }
      function h(m) {
        return S.default.createElement(b.default, E({ type: "email" }, m));
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = Object.assign || function(m) {
        for (var v = 1; v < arguments.length; v++) {
          var O = arguments[v];
          for (var T in O) Object.prototype.hasOwnProperty.call(O, T) && (m[T] = O[T]);
        }
        return m;
      }, f = a(0), S = s(f), _ = a(1), d = s(_), p = a(41), b = s(p);
      h.propTypes = { value: d.default.string }, u.default = h;
    }, function(A, u, a) {
      function s(L) {
        return L && L.__esModule ? L : { default: L };
      }
      function h(L, R) {
        if (!(L instanceof R)) throw new TypeError("Cannot call a class as a function");
      }
      function E(L, R) {
        if (!L) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return !R || typeof R != "object" && typeof R != "function" ? L : R;
      }
      function f(L, R) {
        if (typeof R != "function" && R !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof R);
        L.prototype = Object.create(R && R.prototype, { constructor: { value: L, enumerable: !1, writable: !0, configurable: !0 } }), R && (Object.setPrototypeOf ? Object.setPrototypeOf(L, R) : L.__proto__ = R);
      }
      function S(L, R) {
        return L.replace(";base64", ";name=" + R + ";base64");
      }
      function _(L) {
        var R = L.name, q = L.size, B = L.type;
        return new Promise(function(j, k) {
          var U = new window.FileReader();
          U.onload = function(W) {
            j({ dataURL: S(W.target.result, R), name: R, size: q, type: B });
          }, U.readAsDataURL(L);
        });
      }
      function d(L) {
        return Promise.all([].map.call(L, _));
      }
      function p(L) {
        var R = L.filesInfo;
        return R.length === 0 ? null : O.default.createElement("ul", { className: "file-info" }, R.map(function(q, B) {
          var j = q.name, k = q.size, U = q.type;
          return O.default.createElement("li", { key: B }, O.default.createElement("strong", null, j), " (", U, ", ", k, " bytes)");
        }));
      }
      function b(L) {
        return L.filter(function(R) {
          return R !== void 0;
        }).map(function(R) {
          var q = (0, P.dataURItoBlob)(R), B = q.blob;
          return { name: q.name, size: B.size, type: B.type };
        });
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var m = /* @__PURE__ */ function() {
        function L(R, q) {
          for (var B = 0; B < q.length; B++) {
            var j = q[B];
            j.enumerable = j.enumerable || !1, j.configurable = !0, "value" in j && (j.writable = !0), Object.defineProperty(R, j.key, j);
          }
        }
        return function(R, q, B) {
          return q && L(R.prototype, q), B && L(R, B), R;
        };
      }(), v = a(0), O = s(v), T = a(1), w = s(T), P = a(22), I = function(L) {
        function R(q) {
          h(this, R);
          var B = E(this, (R.__proto__ || Object.getPrototypeOf(R)).call(this, q));
          B.defaultProps = { multiple: !1 }, B.onChange = function(U) {
            var W = B.props, $ = W.multiple, V = W.onChange;
            d(U.target.files).then(function(G) {
              var X = { values: G.map(function(K) {
                return K.dataURL;
              }), filesInfo: G };
              (0, P.setState)(B, X, function() {
                V($ ? X.values : X.values[0]);
              });
            });
          };
          var j = q.value, k = Array.isArray(j) ? j : [j];
          return B.state = { values: k, filesInfo: b(k) }, B;
        }
        return f(R, L), m(R, [{ key: "shouldComponentUpdate", value: function(q, B) {
          return (0, P.shouldRender)(this, q, B);
        } }, { key: "render", value: function() {
          var q = this, B = this.props, j = B.multiple, k = B.id, U = B.readonly, W = B.disabled, $ = B.autofocus, V = this.state.filesInfo;
          return O.default.createElement("div", null, O.default.createElement("p", null, O.default.createElement("input", { ref: function(G) {
            return q.inputRef = G;
          }, id: k, type: "file", disabled: U || W, onChange: this.onChange, defaultValue: "", autoFocus: $, multiple: j })), O.default.createElement(p, { filesInfo: V }));
        } }]), R;
      }(v.Component);
      I.defaultProps = { autofocus: !1 }, I.propTypes = { multiple: w.default.bool, value: w.default.oneOfType([w.default.string, w.default.arrayOf(w.default.string)]), autofocus: w.default.bool }, u.default = I;
    }, function(A, u, a) {
      function s(d) {
        return d && d.__esModule ? d : { default: d };
      }
      function h(d) {
        var p = d.id, b = d.value;
        return f.default.createElement("input", { type: "hidden", id: p, value: b === void 0 ? "" : b });
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(0), f = s(E), S = a(1), _ = s(S);
      h.propTypes = { id: _.default.string.isRequired, value: _.default.oneOfType([_.default.string, _.default.number, _.default.bool]) }, u.default = h;
    }, function(A, u, a) {
      function s(m) {
        return m && m.__esModule ? m : { default: m };
      }
      function h(m) {
        return S.default.createElement(b.default, E({ type: "password" }, m));
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = Object.assign || function(m) {
        for (var v = 1; v < arguments.length; v++) {
          var O = arguments[v];
          for (var T in O) Object.prototype.hasOwnProperty.call(O, T) && (m[T] = O[T]);
        }
        return m;
      }, f = a(0), S = s(f), _ = a(1), d = s(_), p = a(41), b = s(p);
      h.propTypes = { value: d.default.string }, u.default = h;
    }, function(A, u, a) {
      function s(d) {
        return d && d.__esModule ? d : { default: d };
      }
      function h(d) {
        var p = d.options, b = d.value, m = d.required, v = d.disabled, O = d.readonly, T = d.autofocus, w = d.onChange, P = Math.random().toString(), I = p.enumOptions, L = p.inline;
        return f.default.createElement("div", { className: "field-radio-group" }, I.map(function(R, q) {
          var B = R.value === b, j = v || O ? "disabled" : "", k = f.default.createElement("span", null, f.default.createElement("input", { type: "radio", checked: B, name: P, required: m, value: R.value, disabled: v || O, autoFocus: T && q === 0, onChange: function(U) {
            return w(R.value);
          } }), f.default.createElement("span", null, R.label));
          return L ? f.default.createElement("label", { key: q, className: "radio-inline " + j }, k) : f.default.createElement("div", { key: q, className: "radio " + j }, f.default.createElement("label", null, k));
        }));
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(0), f = s(E), S = a(1), _ = s(S);
      h.defaultProps = { autofocus: !1 }, h.propTypes = { schema: _.default.object.isRequired, id: _.default.string.isRequired, options: _.default.shape({ enumOptions: _.default.array, inline: _.default.bool }).isRequired, value: _.default.any, required: _.default.bool, disabled: _.default.bool, readonly: _.default.bool, autofocus: _.default.bool, onChange: _.default.func }, u.default = h;
    }, function(A, u, a) {
      function s(v) {
        return v && v.__esModule ? v : { default: v };
      }
      function h(v) {
        var O = v.schema, T = v.value;
        return S.default.createElement("div", { className: "field-range-wrapper" }, S.default.createElement(m.default, E({ type: "range" }, v, (0, p.rangeSpec)(O))), S.default.createElement("span", { className: "range-view" }, T));
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = Object.assign || function(v) {
        for (var O = 1; O < arguments.length; O++) {
          var T = arguments[O];
          for (var w in T) Object.prototype.hasOwnProperty.call(T, w) && (v[w] = T[w]);
        }
        return v;
      }, f = a(0), S = s(f), _ = a(1), d = s(_), p = a(22), b = a(41), m = s(b);
      h.propTypes = { value: d.default.oneOfType([d.default.string, d.default.number]) }, u.default = h;
    }, function(A, u, a) {
      function s(m) {
        return m && m.__esModule ? m : { default: m };
      }
      function h(m, v) {
        var O = m.type, T = m.items;
        if (v !== "") return O === "array" && T && ["number", "integer"].includes(T.type) ? v.map(b.asNumber) : O === "boolean" ? v === "true" : O === "number" ? (0, b.asNumber)(v) : v;
      }
      function E(m, v) {
        return v ? [].slice.call(m.target.options).filter(function(O) {
          return O.selected;
        }).map(function(O) {
          return O.value;
        }) : m.target.value;
      }
      function f(m) {
        var v = m.schema, O = m.id, T = m.options, w = m.value, P = m.required, I = m.disabled, L = m.readonly, R = m.multiple, q = m.autofocus, B = m.onChange, j = m.onBlur, k = m.placeholder, U = T.enumOptions, W = R ? [] : "";
        return _.default.createElement("select", { id: O, multiple: R, className: "form-control", value: w === void 0 ? W : w, required: P, disabled: I || L, autoFocus: q, onBlur: j && function($) {
          var V = E($, R);
          j(O, h(v, V));
        }, onChange: function($) {
          var V = E($, R);
          B(h(v, V));
        } }, !R && !v.default && _.default.createElement("option", { value: "" }, k), U.map(function($, V) {
          var G = $.value, X = $.label;
          return _.default.createElement("option", { key: V, value: G }, X);
        }));
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var S = a(0), _ = s(S), d = a(1), p = s(d), b = a(22);
      f.defaultProps = { autofocus: !1 }, f.propTypes = { schema: p.default.object.isRequired, id: p.default.string.isRequired, options: p.default.shape({ enumOptions: p.default.array }).isRequired, value: p.default.any, required: p.default.bool, disabled: p.default.bool, readonly: p.default.bool, multiple: p.default.bool, autofocus: p.default.bool, onChange: p.default.func, onBlur: p.default.func }, u.default = f;
    }, function(A, u, a) {
      function s(b) {
        return b && b.__esModule ? b : { default: b };
      }
      function h(b) {
        return f.default.createElement(p.default, b);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(0), f = s(E), S = a(1), _ = s(S), d = a(41), p = s(d);
      h.propTypes = { value: _.default.oneOfType([_.default.string, _.default.number]) }, u.default = h;
    }, function(A, u, a) {
      function s(d) {
        return d && d.__esModule ? d : { default: d };
      }
      function h(d) {
        var p = d.id, b = d.options, m = d.placeholder, v = d.value, O = d.required, T = d.disabled, w = d.readonly, P = d.autofocus, I = d.onChange, L = d.onBlur, R = function(q) {
          var B = q.target.value;
          return I(B === "" ? b.emptyValue : B);
        };
        return f.default.createElement("textarea", { id: p, className: "form-control", value: v === void 0 ? "" : v, placeholder: m, required: O, disabled: T, readOnly: w, autoFocus: P, rows: b.rows, onBlur: L && function(q) {
          return L(p, q.target.value);
        }, onChange: R });
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(0), f = s(E), S = a(1), _ = s(S);
      h.defaultProps = { autofocus: !1, options: {} }, h.propTypes = { schema: _.default.object.isRequired, id: _.default.string.isRequired, placeholder: _.default.string, options: _.default.shape({ rows: _.default.number }), value: _.default.string, required: _.default.bool, disabled: _.default.bool, readonly: _.default.bool, autofocus: _.default.bool, onChange: _.default.func, onBlur: _.default.func }, u.default = h;
    }, function(A, u, a) {
      function s(m) {
        return m && m.__esModule ? m : { default: m };
      }
      function h(m) {
        return S.default.createElement(b.default, E({ type: "url" }, m));
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = Object.assign || function(m) {
        for (var v = 1; v < arguments.length; v++) {
          var O = arguments[v];
          for (var T in O) Object.prototype.hasOwnProperty.call(O, T) && (m[T] = O[T]);
        }
        return m;
      }, f = a(0), S = s(f), _ = a(1), d = s(_), p = a(41), b = s(p);
      h.propTypes = { value: d.default.string }, u.default = h;
    }, function(A, u, a) {
      function s(v) {
        return v && v.__esModule ? v : { default: v };
      }
      function h(v) {
        return S.default.createElement(m.default, E({ type: "number" }, v, (0, p.rangeSpec)(v.schema)));
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = Object.assign || function(v) {
        for (var O = 1; O < arguments.length; O++) {
          var T = arguments[O];
          for (var w in T) Object.prototype.hasOwnProperty.call(T, w) && (v[w] = T[w]);
        }
        return v;
      }, f = a(0), S = s(f), _ = a(1), d = s(_), p = a(22), b = a(41), m = s(b);
      h.propTypes = { value: d.default.oneOfType([d.default.number, d.default.string]) }, u.default = h;
    }, function(A, u, a) {
      function s(ee) {
        return ee && ee.__esModule ? ee : { default: ee };
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(531), E = s(h), f = a(530), S = s(f), _ = a(532), d = s(_), p = a(533), b = s(p), m = a(534), v = s(m), O = a(536), T = s(O), w = a(535), P = s(w), I = a(537), L = s(I), R = a(538), q = s(R), B = a(539), j = s(B), k = a(540), U = s(k), W = a(541), $ = s(W), V = a(542), G = s(V), X = a(543), K = s(X), H = a(545), Y = s(H), Q = a(544), Z = s(Q), J = a(546), ne = s(J), ie = a(547), re = s(ie);
      u.default = { PasswordWidget: U.default, RadioWidget: $.default, UpDownWidget: re.default, RangeWidget: G.default, SelectWidget: K.default, TextWidget: Z.default, DateWidget: T.default, DateTimeWidget: P.default, AltDateWidget: E.default, AltDateTimeWidget: S.default, EmailWidget: L.default, URLWidget: ne.default, TextareaWidget: Y.default, HiddenWidget: j.default, ColorWidget: v.default, FileWidget: q.default, CheckboxWidget: d.default, CheckboxesWidget: b.default };
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(521), h = function(E) {
        return E && E.__esModule ? E : { default: E };
      }(s);
      u.default = h.default;
    }, function(A, u, a) {
      function s(O, T, w) {
        return T in O ? Object.defineProperty(O, T, { value: w, enumerable: !0, configurable: !0, writable: !0 }) : O[T] = w, O;
      }
      function h(O) {
        return O.length ? O.reduce(function(T, w) {
          var P = w.property, I = w.message, L = (0, b.default)(P), R = T, q = !0, B = !1, j = void 0;
          try {
            for (var k, U = L.slice(1)[Symbol.iterator](); !(q = (k = U.next()).done); q = !0) {
              var W = k.value;
              W in R || (R[W] = {}), R = R[W];
            }
          } catch ($) {
            B = !0, j = $;
          } finally {
            try {
              !q && U.return && U.return();
            } finally {
              if (B) throw j;
            }
          }
          return Array.isArray(R.__errors) ? R.__errors = R.__errors.concat(I) : R.__errors = [I], T;
        }, {}) : {};
      }
      function E(O) {
        var T = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "root", w = [];
        return "__errors" in O && (w = w.concat(O.__errors.map(function(P) {
          return { stack: T + ": " + P };
        }))), Object.keys(O).reduce(function(P, I) {
          return I !== "__errors" && (P = P.concat(E(O[I], I))), P;
        }, w);
      }
      function f(O) {
        var T = { __errors: [], addError: function(w) {
          this.__errors.push(w);
        } };
        return (0, v.isObject)(O) ? Object.keys(O).reduce(function(w, P) {
          return d({}, w, s({}, P, f(O[P])));
        }, T) : Array.isArray(O) ? O.reduce(function(w, P, I) {
          return d({}, w, s({}, I, f(P)));
        }, T) : T;
      }
      function S(O) {
        return Object.keys(O).reduce(function(T, w) {
          return w === "addError" ? T : w === "__errors" ? d({}, T, s({}, w, O[w])) : d({}, T, s({}, w, S(O[w])));
        }, {});
      }
      function _(O, T, w, P) {
        var I = (0, m.validate)(O, T), L = I.errors;
        typeof P == "function" && (L = P(L));
        var R = h(L);
        if (typeof w != "function") return { errors: L, errorSchema: R };
        var q = w(O, f(O)), B = S(q), j = (0, v.mergeObjects)(R, B, !0);
        return { errors: E(j), errorSchema: j };
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var d = Object.assign || function(O) {
        for (var T = 1; T < arguments.length; T++) {
          var w = arguments[T];
          for (var P in w) Object.prototype.hasOwnProperty.call(w, P) && (O[P] = w[P]);
        }
        return O;
      };
      u.toErrorList = E, u.default = _;
      var p = a(480), b = function(O) {
        return O && O.__esModule ? O : { default: O };
      }(p), m = a(478), v = a(22);
    }, function(A, u, a) {
      function s(H) {
        if (H && H.__esModule) return H;
        var Y = {};
        if (H != null) for (var Q in H) Object.prototype.hasOwnProperty.call(H, Q) && (Y[Q] = H[Q]);
        return Y.default = H, Y;
      }
      function h(H) {
        return H && H.__esModule ? H : { default: H };
      }
      function E(H, Y) {
        if (!(H instanceof Y)) throw new TypeError("Cannot call a class as a function");
      }
      function f(H, Y) {
        if (!H) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return !Y || typeof Y != "object" && typeof Y != "function" ? H : Y;
      }
      function S(H, Y) {
        if (typeof Y != "function" && Y !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof Y);
        H.prototype = Object.create(Y && Y.prototype, { constructor: { value: H, enumerable: !1, writable: !0, configurable: !0 } }), Y && (Object.setPrototypeOf ? Object.setPrototypeOf(H, Y) : H.__proto__ = Y);
      }
      function _(H) {
        return H();
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var d = Object.assign || function(H) {
        for (var Y = 1; Y < arguments.length; Y++) {
          var Q = arguments[Y];
          for (var Z in Q) Object.prototype.hasOwnProperty.call(Q, Z) && (H[Z] = Q[Z]);
        }
        return H;
      }, p = /* @__PURE__ */ function() {
        function H(Y, Q) {
          for (var Z = 0; Z < Q.length; Z++) {
            var J = Q[Z];
            J.enumerable = J.enumerable || !1, J.configurable = !0, "value" in J && (J.writable = !0), Object.defineProperty(Y, J.key, J);
          }
        }
        return function(Y, Q, Z) {
          return Q && H(Y.prototype, Q), Z && H(Y, Z), Y;
        };
      }(), b = a(0), m = h(b), v = a(24), O = h(v), T = a(1), w = h(T), P = a(441), I = h(P), L = a(440), R = h(L), q = a(552), B = h(q), j = a(553), k = s(j), U = a(555), W = s(U), $ = I.default, V = O.default.unstable_renderSubtreeIntoContainer, G = $.canUseDOM ? window.HTMLElement : {}, X = $.canUseDOM ? document.body : { appendChild: function() {
      } }, K = function(H) {
        function Y() {
          var Q, Z, J, ne;
          E(this, Y);
          for (var ie = arguments.length, re = Array(ie), ee = 0; ee < ie; ee++) re[ee] = arguments[ee];
          return Z = J = f(this, (Q = Y.__proto__ || Object.getPrototypeOf(Y)).call.apply(Q, [this].concat(re))), J.removePortal = function() {
            O.default.unmountComponentAtNode(J.node), _(J.props.parentSelector).removeChild(J.node), W.count() === 0 && (0, R.default)(document.body).remove(J.props.bodyOpenClassName);
          }, J.renderPortal = function(te) {
            te.isOpen || W.count() > 0 ? (0, R.default)(document.body).add(J.props.bodyOpenClassName) : (0, R.default)(document.body).remove(J.props.bodyOpenClassName), te.ariaHideApp && k.toggle(te.isOpen, te.appElement), J.portal = V(J, m.default.createElement(B.default, d({ defaultStyles: Y.defaultStyles }, te)), J.node);
          }, ne = Z, f(J, ne);
        }
        return S(Y, H), p(Y, [{ key: "componentDidMount", value: function() {
          this.node = document.createElement("div"), this.node.className = this.props.portalClassName, this.props.isOpen && W.add(this), _(this.props.parentSelector).appendChild(this.node), this.renderPortal(this.props);
        } }, { key: "componentWillReceiveProps", value: function(Q) {
          var Z = Q.isOpen;
          if (this.props.isOpen || Z) {
            Z && W.add(this), Z || W.remove(this);
            var J = _(this.props.parentSelector), ne = _(Q.parentSelector);
            ne !== J && (J.removeChild(this.node), ne.appendChild(this.node)), this.renderPortal(Q);
          }
        } }, { key: "componentWillUpdate", value: function(Q) {
          Q.portalClassName !== this.props.portalClassName && (this.node.className = Q.portalClassName);
        } }, { key: "componentWillUnmount", value: function() {
          var Q = this;
          if (this.node) {
            W.remove(this), this.props.ariaHideApp && k.show(this.props.appElement);
            var Z = this.portal.state, J = Date.now(), ne = Z.isOpen && this.props.closeTimeoutMS && (Z.closesAt || J + this.props.closeTimeoutMS);
            ne ? (Z.beforeClose || this.portal.closeWithTimeout(), setTimeout(function() {
              return Q.removePortal;
            }, ne - J)) : this.removePortal();
          }
        } }, { key: "render", value: function() {
          return null;
        } }], [{ key: "setAppElement", value: function(Q) {
          k.setElement(Q || X);
        } }, { key: "injectCSS", value: function() {
          console.warn("React-Modal: injectCSS has been deprecated and no longer has any effect. It will be removed in a later version");
        } }]), Y;
      }(b.Component);
      K.propTypes = { isOpen: w.default.bool.isRequired, style: w.default.shape({ content: w.default.object, overlay: w.default.object }), portalClassName: w.default.string, bodyOpenClassName: w.default.string, className: w.default.oneOfType([w.default.string, w.default.object]), overlayClassName: w.default.oneOfType([w.default.string, w.default.object]), appElement: w.default.instanceOf(G), onAfterOpen: w.default.func, onRequestClose: w.default.func, closeTimeoutMS: w.default.number, ariaHideApp: w.default.bool, shouldCloseOnOverlayClick: w.default.bool, parentSelector: w.default.func, role: w.default.string, contentLabel: w.default.string.isRequired }, K.defaultProps = { isOpen: !1, portalClassName: "ReactModalPortal", bodyOpenClassName: "ReactModal__Body--open", ariaHideApp: !0, closeTimeoutMS: 0, shouldCloseOnOverlayClick: !0, parentSelector: function() {
        return document.body;
      } }, K.defaultStyles = { overlay: { position: "fixed", top: 0, left: 0, right: 0, bottom: 0, backgroundColor: "rgba(255, 255, 255, 0.75)" }, content: { position: "absolute", top: "40px", left: "40px", right: "40px", bottom: "40px", border: "1px solid #ccc", background: "#fff", overflow: "auto", WebkitOverflowScrolling: "touch", borderRadius: "4px", outline: "none", padding: "20px" } }, u.default = K;
    }, function(A, u, a) {
      function s(q) {
        return q && q.__esModule ? q : { default: q };
      }
      function h(q, B) {
        if (!(q instanceof B)) throw new TypeError("Cannot call a class as a function");
      }
      function E(q, B) {
        if (!q) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return !B || typeof B != "object" && typeof B != "function" ? q : B;
      }
      function f(q, B) {
        if (typeof B != "function" && B !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof B);
        q.prototype = Object.create(B && B.prototype, { constructor: { value: q, enumerable: !1, writable: !0, configurable: !0 } }), B && (Object.setPrototypeOf ? Object.setPrototypeOf(q, B) : q.__proto__ = B);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var S = Object.assign || function(q) {
        for (var B = 1; B < arguments.length; B++) {
          var j = arguments[B];
          for (var k in j) Object.prototype.hasOwnProperty.call(j, k) && (q[k] = j[k]);
        }
        return q;
      }, _ = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(q) {
        return typeof q;
      } : function(q) {
        return q && typeof Symbol == "function" && q.constructor === Symbol && q !== Symbol.prototype ? "symbol" : typeof q;
      }, d = /* @__PURE__ */ function() {
        function q(B, j) {
          for (var k = 0; k < j.length; k++) {
            var U = j[k];
            U.enumerable = U.enumerable || !1, U.configurable = !0, "value" in U && (U.writable = !0), Object.defineProperty(B, U.key, U);
          }
        }
        return function(B, j, k) {
          return j && q(B.prototype, j), k && q(B, k), B;
        };
      }(), p = a(0), b = s(p), m = a(1), v = a(554), O = function(q) {
        if (q && q.__esModule) return q;
        var B = {};
        if (q != null) for (var j in q) Object.prototype.hasOwnProperty.call(q, j) && (B[j] = q[j]);
        return B.default = q, B;
      }(v), T = a(556), w = s(T), P = { overlay: "ReactModal__Overlay", content: "ReactModal__Content" }, I = 9, L = 27, R = function(q) {
        function B(j) {
          h(this, B);
          var k = E(this, (B.__proto__ || Object.getPrototypeOf(B)).call(this, j));
          return k.setFocusAfterRender = function(U) {
            k.focusAfterRender = U;
          }, k.setOverlayRef = function(U) {
            k.overlay = U;
          }, k.setContentRef = function(U) {
            k.content = U;
          }, k.afterClose = function() {
            O.returnFocus(), O.teardownScopedFocus();
          }, k.open = function() {
            k.state.afterOpen && k.state.beforeClose ? (clearTimeout(k.closeTimer), k.setState({ beforeClose: !1 })) : (O.setupScopedFocus(k.node), O.markForFocusLater(), k.setState({ isOpen: !0 }, function() {
              k.setState({ afterOpen: !0 }), k.props.isOpen && k.props.onAfterOpen && k.props.onAfterOpen();
            }));
          }, k.close = function() {
            k.props.closeTimeoutMS > 0 ? k.closeWithTimeout() : k.closeWithoutTimeout();
          }, k.focusContent = function() {
            return k.content && !k.contentHasFocus() && k.content.focus();
          }, k.closeWithTimeout = function() {
            var U = Date.now() + k.props.closeTimeoutMS;
            k.setState({ beforeClose: !0, closesAt: U }, function() {
              k.closeTimer = setTimeout(k.closeWithoutTimeout, k.state.closesAt - Date.now());
            });
          }, k.closeWithoutTimeout = function() {
            k.setState({ beforeClose: !1, isOpen: !1, afterOpen: !1, closesAt: null }, k.afterClose);
          }, k.handleKeyDown = function(U) {
            U.keyCode === I && (0, w.default)(k.content, U), U.keyCode === L && (U.preventDefault(), k.requestClose(U));
          }, k.handleOverlayOnClick = function(U) {
            k.shouldClose === null && (k.shouldClose = !0), k.shouldClose && k.props.shouldCloseOnOverlayClick && (k.ownerHandlesClose() ? k.requestClose(U) : k.focusContent()), k.shouldClose = null;
          }, k.handleContentOnClick = function() {
            k.shouldClose = !1;
          }, k.requestClose = function(U) {
            return k.ownerHandlesClose() && k.props.onRequestClose(U);
          }, k.ownerHandlesClose = function() {
            return k.props.onRequestClose;
          }, k.shouldBeClosed = function() {
            return !k.state.isOpen && !k.state.beforeClose;
          }, k.contentHasFocus = function() {
            return document.activeElement === k.content || k.content.contains(document.activeElement);
          }, k.buildClassName = function(U, W) {
            var $ = (W === void 0 ? "undefined" : _(W)) === "object" ? W : { base: P[U], afterOpen: P[U] + "--after-open", beforeClose: P[U] + "--before-close" }, V = $.base;
            return k.state.afterOpen && (V = V + " " + $.afterOpen), k.state.beforeClose && (V = V + " " + $.beforeClose), typeof W == "string" && W ? V + " " + W : V;
          }, k.state = { afterOpen: !1, beforeClose: !1 }, k.shouldClose = null, k;
        }
        return f(B, q), d(B, [{ key: "componentDidMount", value: function() {
          this.props.isOpen && (this.setFocusAfterRender(!0), this.open());
        } }, { key: "componentWillReceiveProps", value: function(j) {
          !this.props.isOpen && j.isOpen ? (this.setFocusAfterRender(!0), this.open()) : this.props.isOpen && !j.isOpen && this.close();
        } }, { key: "componentDidUpdate", value: function() {
          this.focusAfterRender && (this.focusContent(), this.setFocusAfterRender(!1));
        } }, { key: "componentWillUnmount", value: function() {
          clearTimeout(this.closeTimer);
        } }, { key: "render", value: function() {
          var j = this.props, k = j.className, U = j.overlayClassName, W = j.defaultStyles, $ = k ? {} : W.content, V = U ? {} : W.overlay;
          return this.shouldBeClosed() ? b.default.createElement("div", null) : b.default.createElement("div", { ref: this.setOverlayRef, className: this.buildClassName("overlay", U), style: S({}, V, this.props.style.overlay), onClick: this.handleOverlayOnClick }, b.default.createElement("div", { ref: this.setContentRef, style: S({}, $, this.props.style.content), className: this.buildClassName("content", k), tabIndex: "-1", onKeyDown: this.handleKeyDown, onClick: this.handleContentOnClick, role: this.props.role, "aria-label": this.props.contentLabel }, this.props.children));
        } }]), B;
      }(p.Component);
      R.defaultProps = { style: { overlay: {}, content: {} } }, R.propTypes = { isOpen: m.PropTypes.bool.isRequired, defaultStyles: m.PropTypes.shape({ content: m.PropTypes.object, overlay: m.PropTypes.object }), style: m.PropTypes.shape({ content: m.PropTypes.object, overlay: m.PropTypes.object }), className: m.PropTypes.oneOfType([m.PropTypes.string, m.PropTypes.object]), overlayClassName: m.PropTypes.oneOfType([m.PropTypes.string, m.PropTypes.object]), onAfterOpen: m.PropTypes.func, onRequestClose: m.PropTypes.func, closeTimeoutMS: m.PropTypes.number, shouldCloseOnOverlayClick: m.PropTypes.bool, role: m.PropTypes.string, contentLabel: m.PropTypes.string, children: m.PropTypes.node }, u.default = R;
    }, function(A, u, a) {
      function s(p) {
        var b = p;
        if (typeof b == "string") {
          var m = document.querySelectorAll(b);
          b = "length" in m ? m[0] : m;
        }
        return d = b || d;
      }
      function h(p) {
        if (!p && !d) throw new Error(["react-modal: You must set an element with", "`Modal.setAppElement(el)` to make this accessible"]);
      }
      function E(p) {
        h(p), (p || d).setAttribute("aria-hidden", "true");
      }
      function f(p) {
        h(p), (p || d).removeAttribute("aria-hidden");
      }
      function S(p, b) {
        (p ? E : f)(b);
      }
      function _() {
        d = document.body;
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.setElement = s, u.validateElement = h, u.hide = E, u.show = f, u.toggle = S, u.resetForTesting = _;
      var d = typeof document < "u" ? document.body : null;
    }, function(A, u, a) {
      function s() {
        v = !0;
      }
      function h() {
        if (v) {
          if (v = !1, !m) return;
          setTimeout(function() {
            m.contains(document.activeElement) || ((0, p.default)(m)[0] || m).focus();
          }, 0);
        }
      }
      function E() {
        b.push(document.activeElement);
      }
      function f() {
        var O = null;
        try {
          return O = b.pop(), void O.focus();
        } catch {
          console.warn(["You tried to return focus to", O, "but it is not in the DOM anymore"].join(" "));
        }
      }
      function S(O) {
        m = O, window.addEventListener ? (window.addEventListener("blur", s, !1), document.addEventListener("focus", h, !0)) : (window.attachEvent("onBlur", s), document.attachEvent("onFocus", h));
      }
      function _() {
        m = null, window.addEventListener ? (window.removeEventListener("blur", s), document.removeEventListener("focus", h)) : (window.detachEvent("onBlur", s), document.detachEvent("onFocus", h));
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.handleBlur = s, u.handleFocus = h, u.markForFocusLater = E, u.returnFocus = f, u.setupScopedFocus = S, u.teardownScopedFocus = _;
      var d = a(220), p = function(O) {
        return O && O.__esModule ? O : { default: O };
      }(d), b = [], m = null, v = !1;
    }, function(A, u, a) {
      function s(S) {
        f.indexOf(S) === -1 && f.push(S);
      }
      function h(S) {
        var _ = f.indexOf(S);
        _ !== -1 && f.splice(_, 1);
      }
      function E() {
        return f.length;
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.add = s, u.remove = h, u.count = E;
      var f = [];
    }, function(A, u, a) {
      function s(f, S) {
        var _ = (0, E.default)(f);
        if (!_.length) return void S.preventDefault();
        _[S.shiftKey ? 0 : _.length - 1] !== document.activeElement && f !== document.activeElement || (S.preventDefault(), _[S.shiftKey ? _.length - 1 : 0].focus());
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.default = s;
      var h = a(220), E = function(f) {
        return f && f.__esModule ? f : { default: f };
      }(h);
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [A, a(558), a(559), a(560), a(561), a(563), a(562), a(564), a(565), a(566), a(567), a(568), a(569), a(570), a(571), a(572), a(573), a(574), a(575), a(576)], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function(f, S, _, d, p, b, m, v, O, T, w, P, I, L, R, q, B, j, k, U) {
        function W(pe) {
          return pe && pe.__esModule ? pe : { default: pe };
        }
        var $ = W(S), V = W(_), G = W(d), X = W(p), K = W(b), H = W(m), Y = W(v), Q = W(O), Z = W(T), J = W(w), ne = W(P), ie = W(I), re = W(L), ee = W(R), te = W(q), ue = W(B), le = W(j), ae = W(k), ce = W(U);
        f.exports = { BarLoader: $.default, BeatLoader: V.default, BounceLoader: G.default, CircleLoader: X.default, ClipLoader: K.default, ClimbingBoxLoader: H.default, DotLoader: Y.default, FadeLoader: Q.default, GridLoader: Z.default, HashLoader: J.default, MoonLoader: ne.default, PacmanLoader: ie.default, PropagateLoader: re.default, PulseLoader: ee.default, RingLoader: te.default, RiseLoader: ue.default, RotateLoader: le.default, ScaleLoader: ae.default, SyncLoader: ce.default };
      });
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [u, a(0), a(1), a(11), a(12), a(222)], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function(f, S, _, d, p, b) {
        function m(W) {
          return W && W.__esModule ? W : { default: W };
        }
        function v(W, $) {
          if (!(W instanceof $)) throw new TypeError("Cannot call a class as a function");
        }
        function O(W, $) {
          if (!W) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
          return !$ || typeof $ != "object" && typeof $ != "function" ? W : $;
        }
        function T(W, $) {
          if (typeof $ != "function" && $ !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof $);
          W.prototype = Object.create($ && $.prototype, { constructor: { value: W, enumerable: !1, writable: !0, configurable: !0 } }), $ && (Object.setPrototypeOf ? Object.setPrototypeOf(W, $) : W.__proto__ = $);
        }
        Object.defineProperty(f, "__esModule", { value: !0 });
        var w = m(S), P = m(_), I = m(d), L = m(p), R = /* @__PURE__ */ function() {
          function W($, V) {
            for (var G = 0; G < V.length; G++) {
              var X = V[G];
              X.enumerable = X.enumerable || !1, X.configurable = !0, "value" in X && (X.writable = !0), Object.defineProperty($, X.key, X);
            }
          }
          return function($, V, G) {
            return V && W($.prototype, V), G && W($, G), $;
          };
        }(), q = { "0%": { left: "-35%", right: "100%" }, "60%": { left: "100%", right: "-90%" }, "100%": { left: "100%", right: "-90%" } }, B = { "0%": { left: "-200%", right: "100%" }, "60%": { left: "107%", right: "-8%" }, "100%": { left: "107%", right: "-8%" } }, j = (0, L.default)(q), k = (0, L.default)(B), U = function(W) {
          function $() {
            return v(this, $), O(this, ($.__proto__ || Object.getPrototypeOf($)).apply(this, arguments));
          }
          return T($, W), R($, [{ key: "getLineStyle", value: function() {
            return { position: "absolute", height: this.props.height, display: "block", backgroundColor: this.props.color, borderRadius: 2, backgroundClip: "padding-box", overflow: "hidden", willChange: "left right" };
          } }, { key: "getAnimationStyle", value: function(V) {
            var G = void 0;
            return V === 1 ? G = [j, "2.1s", "cubic-bezier(0.65, 0.815, 0.735, 0.395)", "infinite"].join(" ") : V === 2 && (G = [k, "2.1s", "1.15s", "cubic-bezier(0.165, 0.84, 0.44, 1)", "infinite"].join(" ")), { animation: G, animationFillMode: "forwards" };
          } }, { key: "getStyle", value: function(V) {
            if (V === 0) {
              var G = this.props.color;
              return { position: "relative", height: this.props.height, width: this.props.width, overflow: "hidden", backgroundColor: (0, b.calculateRgba)(G, 0.2), backgroundClip: "padding-box" };
            }
            return (0, I.default)(this.getLineStyle(V), this.getAnimationStyle(V));
          } }, { key: "renderLoader", value: function(V) {
            return V ? w.default.createElement("div", { className: "react-spinners--bar" }, w.default.createElement("div", { style: this.getStyle(0) }, w.default.createElement("div", { style: this.getStyle(1) }), w.default.createElement("div", { style: this.getStyle(2) }))) : null;
          } }, { key: "render", value: function() {
            return this.renderLoader(this.props.loading);
          } }]), $;
        }(w.default.Component);
        U.propTypes = { loading: P.default.bool, color: P.default.string, width: P.default.number, height: P.default.number }, U.defaultProps = { loading: !0, color: "#000000", width: 100, height: 4 }, f.default = U;
      });
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [u, a(0), a(1), a(11), a(12)], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function(f, S, _, d, p) {
        function b(j) {
          return j && j.__esModule ? j : { default: j };
        }
        function m(j, k) {
          if (!(j instanceof k)) throw new TypeError("Cannot call a class as a function");
        }
        function v(j, k) {
          if (!j) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
          return !k || typeof k != "object" && typeof k != "function" ? j : k;
        }
        function O(j, k) {
          if (typeof k != "function" && k !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof k);
          j.prototype = Object.create(k && k.prototype, { constructor: { value: j, enumerable: !1, writable: !0, configurable: !0 } }), k && (Object.setPrototypeOf ? Object.setPrototypeOf(j, k) : j.__proto__ = k);
        }
        Object.defineProperty(f, "__esModule", { value: !0 });
        var T = b(S), w = b(_), P = b(d), I = b(p), L = /* @__PURE__ */ function() {
          function j(k, U) {
            for (var W = 0; W < U.length; W++) {
              var $ = U[W];
              $.enumerable = $.enumerable || !1, $.configurable = !0, "value" in $ && ($.writable = !0), Object.defineProperty(k, $.key, $);
            }
          }
          return function(k, U, W) {
            return U && j(k.prototype, U), W && j(k, W), k;
          };
        }(), R = { "50%": { transform: "scale(0.75)", opacity: 0.2 }, "100%": { transform: "scale(1)", opacity: 1 } }, q = (0, I.default)(R), B = function(j) {
          function k() {
            return m(this, k), v(this, (k.__proto__ || Object.getPrototypeOf(k)).apply(this, arguments));
          }
          return O(k, j), L(k, [{ key: "getBallStyle", value: function() {
            return { backgroundColor: this.props.color, width: this.props.size, height: this.props.size, margin: this.props.margin, borderRadius: "100%" };
          } }, { key: "getAnimationStyle", value: function(U) {
            return { animation: [q, "0.7s", U % 2 ? "0s" : "0.35s", "infinite", "linear"].join(" "), animationFillMode: "both" };
          } }, { key: "getStyle", value: function(U) {
            return (0, P.default)(this.getBallStyle(U), this.getAnimationStyle(U), { display: "inline-block" });
          } }, { key: "renderLoader", value: function(U) {
            return U ? T.default.createElement("div", { className: "react-spinners--beat" }, T.default.createElement("div", { style: this.getStyle(1) }), T.default.createElement("div", { style: this.getStyle(2) }), T.default.createElement("div", { style: this.getStyle(3) })) : null;
          } }, { key: "render", value: function() {
            return this.renderLoader(this.props.loading);
          } }]), k;
        }(T.default.Component);
        B.propTypes = { loading: w.default.bool, color: w.default.string, size: w.default.number, margin: w.default.number }, B.defaultProps = { loading: !0, color: "#000000", size: 15, margin: 2 }, f.default = B;
      });
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [u, a(0), a(1), a(11), a(12)], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function(f, S, _, d, p) {
        function b(j) {
          return j && j.__esModule ? j : { default: j };
        }
        function m(j, k) {
          if (!(j instanceof k)) throw new TypeError("Cannot call a class as a function");
        }
        function v(j, k) {
          if (!j) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
          return !k || typeof k != "object" && typeof k != "function" ? j : k;
        }
        function O(j, k) {
          if (typeof k != "function" && k !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof k);
          j.prototype = Object.create(k && k.prototype, { constructor: { value: j, enumerable: !1, writable: !0, configurable: !0 } }), k && (Object.setPrototypeOf ? Object.setPrototypeOf(j, k) : j.__proto__ = k);
        }
        Object.defineProperty(f, "__esModule", { value: !0 });
        var T = b(S), w = b(_), P = b(d), I = b(p), L = /* @__PURE__ */ function() {
          function j(k, U) {
            for (var W = 0; W < U.length; W++) {
              var $ = U[W];
              $.enumerable = $.enumerable || !1, $.configurable = !0, "value" in $ && ($.writable = !0), Object.defineProperty(k, $.key, $);
            }
          }
          return function(k, U, W) {
            return U && j(k.prototype, U), W && j(k, W), k;
          };
        }(), R = { "0%, 100%": { transform: "scale(0)" }, "50%": { transform: "scale(1.0)" } }, q = (0, I.default)(R), B = function(j) {
          function k() {
            return m(this, k), v(this, (k.__proto__ || Object.getPrototypeOf(k)).apply(this, arguments));
          }
          return O(k, j), L(k, [{ key: "getBallStyle", value: function() {
            return { backgroundColor: this.props.color, width: this.props.size, height: this.props.size, borderRadius: "100%", opacity: 0.6, position: "absolute", top: 0, left: 0 };
          } }, { key: "getAnimationStyle", value: function(U) {
            return { animation: [q, "2s", U === 1 ? "1s" : "0s", "infinite", "ease-in-out"].join(" "), animationFillMode: "both" };
          } }, { key: "getStyle", value: function(U) {
            return U ? (0, P.default)(this.getBallStyle(U), this.getAnimationStyle(U)) : (0, P.default)({ width: this.props.size, height: this.props.size, position: "relative" });
          } }, { key: "renderLoader", value: function(U) {
            return U ? T.default.createElement("div", { className: "react-spinners--bounce" }, T.default.createElement("div", { style: this.getStyle() }, T.default.createElement("div", { style: this.getStyle(1) }), T.default.createElement("div", { style: this.getStyle(2) }))) : null;
          } }, { key: "render", value: function() {
            return this.renderLoader(this.props.loading);
          } }]), k;
        }(T.default.Component);
        B.propTypes = { loading: w.default.bool, color: w.default.string, size: w.default.number }, B.defaultProps = { loading: !0, color: "#000000", size: 60 }, f.default = B;
      });
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [u, a(0), a(1), a(11), a(12)], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function(f, S, _, d, p) {
        function b(j) {
          return j && j.__esModule ? j : { default: j };
        }
        function m(j, k) {
          if (!(j instanceof k)) throw new TypeError("Cannot call a class as a function");
        }
        function v(j, k) {
          if (!j) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
          return !k || typeof k != "object" && typeof k != "function" ? j : k;
        }
        function O(j, k) {
          if (typeof k != "function" && k !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof k);
          j.prototype = Object.create(k && k.prototype, { constructor: { value: j, enumerable: !1, writable: !0, configurable: !0 } }), k && (Object.setPrototypeOf ? Object.setPrototypeOf(j, k) : j.__proto__ = k);
        }
        Object.defineProperty(f, "__esModule", { value: !0 });
        var T = b(S), w = b(_), P = b(d), I = b(p), L = /* @__PURE__ */ function() {
          function j(k, U) {
            for (var W = 0; W < U.length; W++) {
              var $ = U[W];
              $.enumerable = $.enumerable || !1, $.configurable = !0, "value" in $ && ($.writable = !0), Object.defineProperty(k, $.key, $);
            }
          }
          return function(k, U, W) {
            return U && j(k.prototype, U), W && j(k, W), k;
          };
        }(), R = { "0%": { transform: "rotate(0deg)" }, "50%": { transform: "rotate(180deg)" }, "100%": { transform: "rotate(360deg)" } }, q = (0, I.default)(R), B = function(j) {
          function k() {
            return m(this, k), v(this, (k.__proto__ || Object.getPrototypeOf(k)).apply(this, arguments));
          }
          return O(k, j), L(k, [{ key: "getCircleStyle", value: function() {
            return { borderRadius: "100%", position: "absolute", border: "1px solid " + this.props.color, transition: "2s", borderBottom: "none", borderRight: "none" };
          } }, { key: "getAnimationStyle", value: function(U) {
            return { animation: [q, "1s", 0.2 * U + "s", "infinite", "linear"].join(" "), animationFillMode: "" };
          } }, { key: "getStyle", value: function(U) {
            var W = this.props.size * (1 - U / 10), $ = W, V = 0.35 * U * 2.5 + "%", G = 0.7 * U * 2.5 + "%";
            return (0, P.default)(this.getCircleStyle(), this.getAnimationStyle(U), { width: W, height: $, left: V, top: G });
          } }, { key: "renderLoader", value: function(U) {
            if (U) {
              var W = { height: this.props.size, width: this.props.size, position: "relative" };
              return T.default.createElement("div", { className: "react-spinners--circle" }, T.default.createElement("div", { style: W }, T.default.createElement("div", { style: this.getStyle(0) }), T.default.createElement("div", { style: this.getStyle(1) }), T.default.createElement("div", { style: this.getStyle(2) }), T.default.createElement("div", { style: this.getStyle(3) }), T.default.createElement("div", { style: this.getStyle(4) })));
            }
            return null;
          } }, { key: "render", value: function() {
            return this.renderLoader(this.props.loading);
          } }]), k;
        }(T.default.Component);
        B.propTypes = { loading: w.default.bool, color: w.default.string, size: w.default.number }, B.defaultProps = { loading: !0, color: "#000000", size: 50 }, f.default = B;
      });
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [u, a(0), a(1), a(11), a(12)], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function(f, S, _, d, p) {
        function b(j) {
          return j && j.__esModule ? j : { default: j };
        }
        function m(j, k) {
          if (!(j instanceof k)) throw new TypeError("Cannot call a class as a function");
        }
        function v(j, k) {
          if (!j) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
          return !k || typeof k != "object" && typeof k != "function" ? j : k;
        }
        function O(j, k) {
          if (typeof k != "function" && k !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof k);
          j.prototype = Object.create(k && k.prototype, { constructor: { value: j, enumerable: !1, writable: !0, configurable: !0 } }), k && (Object.setPrototypeOf ? Object.setPrototypeOf(j, k) : j.__proto__ = k);
        }
        Object.defineProperty(f, "__esModule", { value: !0 });
        var T = b(S), w = b(_), P = b(d), I = b(p), L = /* @__PURE__ */ function() {
          function j(k, U) {
            for (var W = 0; W < U.length; W++) {
              var $ = U[W];
              $.enumerable = $.enumerable || !1, $.configurable = !0, "value" in $ && ($.writable = !0), Object.defineProperty(k, $.key, $);
            }
          }
          return function(k, U, W) {
            return U && j(k.prototype, U), W && j(k, W), k;
          };
        }(), R = { "0%": { transform: "translate(0, -1em) rotate(-45deg)" }, "5%": { transform: "translate(0, -1em) rotate(-50deg)" }, "20%": { transform: "translate(1em, -2em) rotate(47deg)" }, "25%": { transform: "translate(1em, -2em) rotate(45deg)" }, "30%": { transform: "translate(1em, -2em) rotate(40deg)" }, "45%": { transform: "translate(2em, -3em) rotate(137deg)" }, "50%": { transform: "translate(2em, -3em) rotate(135deg)" }, "55%": { transform: "translate(2em, -3em) rotate(130deg)" }, "70%": { transform: "translate(3em, -4em) rotate(217deg)" }, "75%": { transform: "translate(3em, -4em) rotate(220deg)" }, "100%": { transform: "translate(0, -1em) rotate(-225deg)" } }, q = (0, I.default)(R), B = function(j) {
          function k() {
            return m(this, k), v(this, (k.__proto__ || Object.getPrototypeOf(k)).apply(this, arguments));
          }
          return O(k, j), L(k, [{ key: "getBoxStyle", value: function() {
            return { position: "absolute", left: "0px", bottom: "-0.1em", width: "1em", height: "1em", backgroundColor: "transparent", border: "0.25em solid " + this.props.color, borderRadius: "15%", transform: "translate(0, -1em) rotate(-45deg)" };
          } }, { key: "getHillStyle", value: function() {
            return { position: "absolute", width: "7.1em", height: "7.1em", top: "1.7em", left: "1.7em", borderLeft: "0.25em solid " + this.props.color, transform: "rotate(45deg)" };
          } }, { key: "getAnimationStyle", value: function() {
            return { animation: [q, "2.5s", "infinite", "cubic-bezier(.79, 0, .47, .97)"].join(" "), animationFillMode: "both" };
          } }, { key: "getStyle", value: function() {
            return (0, P.default)(this.getBoxStyle(), this.getAnimationStyle());
          } }, { key: "renderLoader", value: function(U) {
            if (U) {
              var W = { position: "absolute", top: "50%", left: "50%", marginTop: "-2.7em", marginLeft: "-2.7em", width: "5.4em", height: "5.4em", fontSize: this.props.size };
              return T.default.createElement("div", { className: "react-spinners--climbing-box" }, T.default.createElement("div", { style: W }, T.default.createElement("div", { style: this.getStyle() }), T.default.createElement("div", { style: this.getHillStyle() })));
            }
            return null;
          } }, { key: "render", value: function() {
            return this.renderLoader(this.props.loading);
          } }]), k;
        }(T.default.Component);
        B.propTypes = { loading: w.default.bool, color: w.default.string, size: w.default.number }, B.defaultProps = { loading: !0, color: "#000000", size: 15 }, f.default = B;
      });
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [u, a(0), a(1), a(11), a(12)], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function(f, S, _, d, p) {
        function b(j) {
          return j && j.__esModule ? j : { default: j };
        }
        function m(j, k) {
          if (!(j instanceof k)) throw new TypeError("Cannot call a class as a function");
        }
        function v(j, k) {
          if (!j) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
          return !k || typeof k != "object" && typeof k != "function" ? j : k;
        }
        function O(j, k) {
          if (typeof k != "function" && k !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof k);
          j.prototype = Object.create(k && k.prototype, { constructor: { value: j, enumerable: !1, writable: !0, configurable: !0 } }), k && (Object.setPrototypeOf ? Object.setPrototypeOf(j, k) : j.__proto__ = k);
        }
        Object.defineProperty(f, "__esModule", { value: !0 });
        var T = b(S), w = b(_), P = b(d), I = b(p), L = /* @__PURE__ */ function() {
          function j(k, U) {
            for (var W = 0; W < U.length; W++) {
              var $ = U[W];
              $.enumerable = $.enumerable || !1, $.configurable = !0, "value" in $ && ($.writable = !0), Object.defineProperty(k, $.key, $);
            }
          }
          return function(k, U, W) {
            return U && j(k.prototype, U), W && j(k, W), k;
          };
        }(), R = { "0%": { transform: "rotate(0deg) scale(1)" }, "50%": { transform: "rotate(180deg) scale(0.8)" }, "100%": { transform: "rotate(360deg) scale(1)" } }, q = (0, I.default)(R), B = function(j) {
          function k() {
            return m(this, k), v(this, (k.__proto__ || Object.getPrototypeOf(k)).apply(this, arguments));
          }
          return O(k, j), L(k, [{ key: "getBallStyle", value: function() {
            return { width: this.props.size, height: this.props.size, border: "2px solid", borderColor: this.props.color, borderBottomColor: "transparent", borderRadius: "100%", background: "transparent !important" };
          } }, { key: "getAnimationStyle", value: function() {
            return { animation: [q, "0.75s", "0s", "infinite", "linear"].join(" "), animationFillMode: "both" };
          } }, { key: "getStyle", value: function(U) {
            return (0, P.default)(this.getBallStyle(U), this.getAnimationStyle(U), { display: "inline-block" });
          } }, { key: "renderLoader", value: function(U) {
            return U ? T.default.createElement("div", { className: "react-spinners--clip" }, T.default.createElement("div", { style: this.getStyle() })) : null;
          } }, { key: "render", value: function() {
            return this.renderLoader(this.props.loading);
          } }]), k;
        }(T.default.Component);
        B.propTypes = { loading: w.default.bool, color: w.default.string, size: w.default.number }, B.defaultProps = { loading: !0, color: "#000000", size: 35 }, f.default = B;
      });
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [u, a(0), a(1), a(11), a(12)], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function(f, S, _, d, p) {
        function b(U) {
          return U && U.__esModule ? U : { default: U };
        }
        function m(U, W) {
          if (!(U instanceof W)) throw new TypeError("Cannot call a class as a function");
        }
        function v(U, W) {
          if (!U) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
          return !W || typeof W != "object" && typeof W != "function" ? U : W;
        }
        function O(U, W) {
          if (typeof W != "function" && W !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof W);
          U.prototype = Object.create(W && W.prototype, { constructor: { value: U, enumerable: !1, writable: !0, configurable: !0 } }), W && (Object.setPrototypeOf ? Object.setPrototypeOf(U, W) : U.__proto__ = W);
        }
        Object.defineProperty(f, "__esModule", { value: !0 });
        var T = b(S), w = b(_), P = b(d), I = b(p), L = /* @__PURE__ */ function() {
          function U(W, $) {
            for (var V = 0; V < $.length; V++) {
              var G = $[V];
              G.enumerable = G.enumerable || !1, G.configurable = !0, "value" in G && (G.writable = !0), Object.defineProperty(W, G.key, G);
            }
          }
          return function(W, $, V) {
            return $ && U(W.prototype, $), V && U(W, V), W;
          };
        }(), R = { "100%": { transform: "rotate(360deg)" } }, q = { "0%, 100%": { transform: "scale(0)" }, "50%": { transform: "scale(1.0)" } }, B = (0, I.default)(R), j = (0, I.default)(q), k = function(U) {
          function W() {
            return m(this, W), v(this, (W.__proto__ || Object.getPrototypeOf(W)).apply(this, arguments));
          }
          return O(W, U), L(W, [{ key: "getBallStyle", value: function($) {
            return { backgroundColor: this.props.color, width: $, height: $, borderRadius: "100%" };
          } }, { key: "getAnimationStyle", value: function($) {
            return { animation: [$ === 0 ? B : j, "2s", $ === 2 ? "-1s" : "0s", "infinite", "linear"].join(" "), animationFillMode: "forwards" };
          } }, { key: "getStyle", value: function($) {
            var V = this.props.size, G = V / 2;
            return $ ? (0, P.default)(this.getBallStyle(G), this.getAnimationStyle($), { position: "absolute", top: $ % 2 ? 0 : "auto", bottom: $ % 2 ? "auto" : 0 }) : (0, P.default)(this.getAnimationStyle($), { width: V, height: V, position: "relative" });
          } }, { key: "renderLoader", value: function($) {
            return $ ? T.default.createElement("div", { className: "react-spinners--dot" }, T.default.createElement("div", { style: this.getStyle(0) }, T.default.createElement("div", { style: this.getStyle(1) }), T.default.createElement("div", { style: this.getStyle(2) }))) : null;
          } }, { key: "render", value: function() {
            return this.renderLoader(this.props.loading);
          } }]), W;
        }(T.default.Component);
        k.propTypes = { loading: w.default.bool, color: w.default.string, size: w.default.number }, k.defaultProps = { loading: !0, color: "#000000", size: 60 }, f.default = k;
      });
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [u, a(0), a(1), a(11), a(12)], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function(f, S, _, d, p) {
        function b(j) {
          return j && j.__esModule ? j : { default: j };
        }
        function m(j, k) {
          if (!(j instanceof k)) throw new TypeError("Cannot call a class as a function");
        }
        function v(j, k) {
          if (!j) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
          return !k || typeof k != "object" && typeof k != "function" ? j : k;
        }
        function O(j, k) {
          if (typeof k != "function" && k !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof k);
          j.prototype = Object.create(k && k.prototype, { constructor: { value: j, enumerable: !1, writable: !0, configurable: !0 } }), k && (Object.setPrototypeOf ? Object.setPrototypeOf(j, k) : j.__proto__ = k);
        }
        Object.defineProperty(f, "__esModule", { value: !0 });
        var T = b(S), w = b(_), P = b(d), I = b(p), L = /* @__PURE__ */ function() {
          function j(k, U) {
            for (var W = 0; W < U.length; W++) {
              var $ = U[W];
              $.enumerable = $.enumerable || !1, $.configurable = !0, "value" in $ && ($.writable = !0), Object.defineProperty(k, $.key, $);
            }
          }
          return function(k, U, W) {
            return U && j(k.prototype, U), W && j(k, W), k;
          };
        }(), R = { "50%": { opacity: 0.3 }, "100%": { opacity: 1 } }, q = (0, I.default)(R), B = function(j) {
          function k() {
            return m(this, k), v(this, (k.__proto__ || Object.getPrototypeOf(k)).apply(this, arguments));
          }
          return O(k, j), L(k, [{ key: "getLineStyle", value: function() {
            return { backgroundColor: this.props.color, height: this.props.height, width: this.props.width, margin: this.props.margin, borderRadius: this.props.radius };
          } }, { key: "getAnimationStyle", value: function(U) {
            return { animation: [q, "1.2s", 0.12 * U + "s", "infinite", "ease-in-out"].join(" "), animationFillMode: "both" };
          } }, { key: "getPosStyle", value: function(U) {
            return { l1: { top: 20, left: 0 }, l2: { top: 10 + 20 / 5.5, left: 10 + 20 / 5.5, transform: "rotate(-45deg)" }, l3: { top: 0, left: 20, transform: "rotate(90deg)" }, l4: { top: -(10 + 20 / 5.5), left: 10 + 20 / 5.5, transform: "rotate(45deg)" }, l5: { top: -20, left: 0 }, l6: { top: -(10 + 20 / 5.5), left: -(10 + 20 / 5.5), transform: "rotate(-45deg)" }, l7: { top: 0, left: -20, transform: "rotate(90deg)" }, l8: { top: 10 + 20 / 5.5, left: -(10 + 20 / 5.5), transform: "rotate(45deg)" } }["l" + U];
          } }, { key: "getStyle", value: function(U) {
            return (0, P.default)(this.getLineStyle(U), this.getPosStyle(U), this.getAnimationStyle(U), { position: "absolute" });
          } }, { key: "renderLoader", value: function(U) {
            if (U) {
              var W = { position: "relative", fontSize: 0 };
              return T.default.createElement("div", { className: "react-spinners--fade" }, T.default.createElement("div", { style: W }, T.default.createElement("div", { style: this.getStyle(1) }), T.default.createElement("div", { style: this.getStyle(2) }), T.default.createElement("div", { style: this.getStyle(3) }), T.default.createElement("div", { style: this.getStyle(4) }), T.default.createElement("div", { style: this.getStyle(5) }), T.default.createElement("div", { style: this.getStyle(6) }), T.default.createElement("div", { style: this.getStyle(7) }), T.default.createElement("div", { style: this.getStyle(8) })));
            }
            return null;
          } }, { key: "render", value: function() {
            return this.renderLoader(this.props.loading);
          } }]), k;
        }(T.default.Component);
        B.propTypes = { loading: w.default.bool, color: w.default.string, height: w.default.number, width: w.default.number, margin: w.default.number, radius: w.default.number }, B.defaultProps = { loading: !0, color: "#000000", height: 15, width: 5, margin: 2, radius: 2 }, f.default = B;
      });
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [u, a(0), a(1), a(11), a(12)], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function(f, S, _, d, p) {
        function b(k) {
          return k && k.__esModule ? k : { default: k };
        }
        function m(k, U) {
          if (!(k instanceof U)) throw new TypeError("Cannot call a class as a function");
        }
        function v(k, U) {
          if (!k) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
          return !U || typeof U != "object" && typeof U != "function" ? k : U;
        }
        function O(k, U) {
          if (typeof U != "function" && U !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof U);
          k.prototype = Object.create(U && U.prototype, { constructor: { value: k, enumerable: !1, writable: !0, configurable: !0 } }), U && (Object.setPrototypeOf ? Object.setPrototypeOf(k, U) : k.__proto__ = U);
        }
        Object.defineProperty(f, "__esModule", { value: !0 });
        var T = b(S), w = b(_), P = b(d), I = b(p), L = /* @__PURE__ */ function() {
          function k(U, W) {
            for (var $ = 0; $ < W.length; $++) {
              var V = W[$];
              V.enumerable = V.enumerable || !1, V.configurable = !0, "value" in V && (V.writable = !0), Object.defineProperty(U, V.key, V);
            }
          }
          return function(U, W, $) {
            return W && k(U.prototype, W), $ && k(U, $), U;
          };
        }(), R = { "0%": { transform: "scale(1)" }, "50%": { transform: "scale(0.5)", opacity: 0.7 }, "100%": { transform: "scale(1)", opacity: 1 } }, q = (0, I.default)(R), B = function(k) {
          return Math.random() * k;
        }, j = function(k) {
          function U() {
            return m(this, U), v(this, (U.__proto__ || Object.getPrototypeOf(U)).apply(this, arguments));
          }
          return O(U, k), L(U, [{ key: "getBallStyle", value: function() {
            return { backgroundColor: this.props.color, width: this.props.size, height: this.props.size, margin: this.props.margin, borderRadius: "100%" };
          } }, { key: "getAnimationStyle", value: function() {
            var W = B(100) / 100 + 0.6 + "s", $ = B(100) / 100 - 0.2 + "s";
            return { animation: [q, W, $, "infinite", "ease"].join(" "), animationFillMode: "both" };
          } }, { key: "getStyle", value: function(W) {
            return (0, P.default)(this.getBallStyle(W), this.getAnimationStyle(W), { display: "inline-block" });
          } }, { key: "renderLoader", value: function(W) {
            if (W) {
              var $ = { width: 3 * parseFloat(this.props.size) + 6 * parseFloat(this.props.margin), fontSize: 0 };
              return T.default.createElement("div", { className: "react-spinners--grid" }, T.default.createElement("div", { style: $ }, T.default.createElement("div", { style: this.getStyle(1) }), T.default.createElement("div", { style: this.getStyle(2) }), T.default.createElement("div", { style: this.getStyle(3) }), T.default.createElement("div", { style: this.getStyle(4) }), T.default.createElement("div", { style: this.getStyle(5) }), T.default.createElement("div", { style: this.getStyle(6) }), T.default.createElement("div", { style: this.getStyle(7) }), T.default.createElement("div", { style: this.getStyle(8) }), T.default.createElement("div", { style: this.getStyle(9) })));
            }
            return null;
          } }, { key: "render", value: function() {
            return this.renderLoader(this.props.loading);
          } }]), U;
        }(T.default.Component);
        j.propTypes = { loading: w.default.bool, color: w.default.string, size: w.default.number, margin: w.default.number }, j.defaultProps = { loading: !0, color: "#000000", size: 15, margin: 2 }, f.default = j;
      });
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [u, a(0), a(1), a(11), a(12), a(222)], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function(f, S, _, d, p, b) {
        function m(k) {
          return k && k.__esModule ? k : { default: k };
        }
        function v(k, U) {
          if (!(k instanceof U)) throw new TypeError("Cannot call a class as a function");
        }
        function O(k, U) {
          if (!k) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
          return !U || typeof U != "object" && typeof U != "function" ? k : U;
        }
        function T(k, U) {
          if (typeof U != "function" && U !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof U);
          k.prototype = Object.create(U && U.prototype, { constructor: { value: k, enumerable: !1, writable: !0, configurable: !0 } }), U && (Object.setPrototypeOf ? Object.setPrototypeOf(k, U) : k.__proto__ = U);
        }
        Object.defineProperty(f, "__esModule", { value: !0 });
        var w = m(S), P = m(_), I = m(d), L = m(p), R = /* @__PURE__ */ function() {
          function k(U, W) {
            for (var $ = 0; $ < W.length; $++) {
              var V = W[$];
              V.enumerable = V.enumerable || !1, V.configurable = !0, "value" in V && (V.writable = !0), Object.defineProperty(U, V.key, V);
            }
          }
          return function(U, W, $) {
            return W && k(U.prototype, W), $ && k(U, $), U;
          };
        }(), q = function(k, U) {
          var W = k / 5, $ = (k - W) / 2, V = $ - W;
          return U = (0, b.calculateRgba)(U, 0.75), { "0%": { width: W + "px", "box-shadow": $ + "px " + -V + "px " + U + ", " + -$ + "px " + V + "px " + U }, "35%": { width: k + "px", "box-shadow": "0 " + -V + "px " + U + ", 0 " + V + "px " + U }, "70%": { width: W + "px", "box-shadow": -$ + "px " + -V + "px " + U + ", " + $ + "px " + V + "px " + U }, "100%": { "box-shadow": $ + "px " + -V + "px " + U + ", " + -$ + "px " + V + "px " + U } };
        }, B = function(k, U) {
          var W = k / 5, $ = (k - W) / 2, V = $ - W;
          return U = (0, b.calculateRgba)(U, 0.75), { "0%": { height: W + "px", "box-shadow": V + "px " + $ + "px " + U + ", " + -V + "px " + -$ + "px " + U }, "35%": { height: k + "px", "box-shadow": V + "px 0 " + U + ", " + -V + "px 0 " + U }, "70%": { height: W + "px", "box-shadow": V + "px " + -$ + "px " + U + ", " + -V + "px " + $ + "px " + U }, "100%": { "box-shadow": V + "px " + $ + "px " + U + ", " + -V + "px " + -$ + "px " + U } };
        }, j = function(k) {
          function U() {
            return v(this, U), O(this, (U.__proto__ || Object.getPrototypeOf(U)).apply(this, arguments));
          }
          return T(U, k), R(U, [{ key: "getLineStyle", value: function() {
            return { position: "absolute", content: "", top: "50%", left: "50%", display: "block", width: this.props.size / 5, height: this.props.size / 5, borderRadius: this.props.size / 10, transform: "translate(-50%, -50%)" };
          } }, { key: "getAnimationStyle", value: function(W) {
            var $ = void 0, V = this.props, G = V.color, X = V.size;
            return $ = W === 1 ? q(X, G) : B(X, G), { animation: [(0, L.default)($), "2s", "infinite"].join(" "), animationFillMode: "" };
          } }, { key: "getStyle", value: function(W) {
            return (0, I.default)(this.getLineStyle(), this.getAnimationStyle(W));
          } }, { key: "renderLoader", value: function(W) {
            var $ = { position: "relative", width: this.props.size, height: this.props.size, transform: "rotate(165deg)" };
            return W ? w.default.createElement("div", { className: "react-spinners--hash" }, w.default.createElement("div", { style: $ }, w.default.createElement("div", { style: this.getStyle(1) }), w.default.createElement("div", { style: this.getStyle(2) }))) : null;
          } }, { key: "render", value: function() {
            return this.renderLoader(this.props.loading);
          } }]), U;
        }(w.default.Component);
        j.propTypes = { loading: P.default.bool, size: P.default.number, color: P.default.string }, j.defaultProps = { loading: !0, size: 50, color: "#000000" }, f.default = j;
      });
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [u, a(0), a(1), a(11), a(12)], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function(f, S, _, d, p) {
        function b(j) {
          return j && j.__esModule ? j : { default: j };
        }
        function m(j, k) {
          if (!(j instanceof k)) throw new TypeError("Cannot call a class as a function");
        }
        function v(j, k) {
          if (!j) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
          return !k || typeof k != "object" && typeof k != "function" ? j : k;
        }
        function O(j, k) {
          if (typeof k != "function" && k !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof k);
          j.prototype = Object.create(k && k.prototype, { constructor: { value: j, enumerable: !1, writable: !0, configurable: !0 } }), k && (Object.setPrototypeOf ? Object.setPrototypeOf(j, k) : j.__proto__ = k);
        }
        Object.defineProperty(f, "__esModule", { value: !0 });
        var T = b(S), w = b(_), P = b(d), I = b(p), L = /* @__PURE__ */ function() {
          function j(k, U) {
            for (var W = 0; W < U.length; W++) {
              var $ = U[W];
              $.enumerable = $.enumerable || !1, $.configurable = !0, "value" in $ && ($.writable = !0), Object.defineProperty(k, $.key, $);
            }
          }
          return function(k, U, W) {
            return U && j(k.prototype, U), W && j(k, W), k;
          };
        }(), R = { "100%": { transform: "rotate(360deg)" } }, q = (0, I.default)(R), B = function(j) {
          function k() {
            return m(this, k), v(this, (k.__proto__ || Object.getPrototypeOf(k)).apply(this, arguments));
          }
          return O(k, j), L(k, [{ key: "getBallStyle", value: function(U) {
            return { width: U, height: U, borderRadius: "100%" };
          } }, { key: "getAnimationStyle", value: function() {
            return { animation: [q, "0.6s", "0s", "infinite", "linear"].join(" "), animationFillMode: "forwards" };
          } }, { key: "getStyle", value: function(U) {
            var W = parseInt(this.props.size, 10), $ = W / 7;
            return U === 1 ? (0, P.default)(this.getBallStyle($), this.getAnimationStyle(U), { backgroundColor: this.props.color, opacity: "0.8", position: "absolute", top: W / 2 - $ / 2 }) : U === 2 ? (0, P.default)(this.getBallStyle(W), { border: $ + "px solid " + this.props.color, opacity: 0.1 }) : (0, P.default)(this.getAnimationStyle(U), { position: "relative" });
          } }, { key: "renderLoader", value: function(U) {
            return U ? T.default.createElement("div", { className: "react-spinners--moon" }, T.default.createElement("div", { style: this.getStyle(0) }, T.default.createElement("div", { style: this.getStyle(1) }), T.default.createElement("div", { style: this.getStyle(2) }))) : null;
          } }, { key: "render", value: function() {
            return this.renderLoader(this.props.loading);
          } }]), k;
        }(T.default.Component);
        B.propTypes = { loading: w.default.bool, color: w.default.string, size: w.default.number }, B.defaultProps = { loading: !0, color: "#000000", size: 60 }, f.default = B;
      });
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [u, a(0), a(1), a(11), a(12)], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function(f, S, _, d, p) {
        function b(k) {
          return k && k.__esModule ? k : { default: k };
        }
        function m(k, U) {
          if (!(k instanceof U)) throw new TypeError("Cannot call a class as a function");
        }
        function v(k, U) {
          if (!k) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
          return !U || typeof U != "object" && typeof U != "function" ? k : U;
        }
        function O(k, U) {
          if (typeof U != "function" && U !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof U);
          k.prototype = Object.create(U && U.prototype, { constructor: { value: k, enumerable: !1, writable: !0, configurable: !0 } }), U && (Object.setPrototypeOf ? Object.setPrototypeOf(k, U) : k.__proto__ = U);
        }
        Object.defineProperty(f, "__esModule", { value: !0 });
        var T = b(S), w = b(_), P = b(d), I = b(p), L = Object.assign || function(k) {
          for (var U = 1; U < arguments.length; U++) {
            var W = arguments[U];
            for (var $ in W) Object.prototype.hasOwnProperty.call(W, $) && (k[$] = W[$]);
          }
          return k;
        }, R = /* @__PURE__ */ function() {
          function k(U, W) {
            for (var $ = 0; $ < W.length; $++) {
              var V = W[$];
              V.enumerable = V.enumerable || !1, V.configurable = !0, "value" in V && (V.writable = !0), Object.defineProperty(U, V.key, V);
            }
          }
          return function(U, W, $) {
            return W && k(U.prototype, W), $ && k(U, $), U;
          };
        }(), q = { 0: { "0%": { transform: "rotate(0deg) " }, "50%": { transform: "rotate(-45deg) " } }, 1: { "0%": { transform: "rotate(0deg) " }, "50%": { transform: "rotate(45deg) " } } }, B = {}, j = function(k) {
          function U() {
            return m(this, U), v(this, (U.__proto__ || Object.getPrototypeOf(U)).apply(this, arguments));
          }
          return O(U, k), R(U, [{ key: "getBallStyle", value: function() {
            return { backgroundColor: this.props.color, width: this.props.size, height: this.props.size, margin: this.props.margin, borderRadius: "100%" };
          } }, { key: "getAnimationStyle", value: function(W) {
            var $ = this.props.size, V = B[$];
            if (!V) {
              var G = { "75%": { opacity: 0.7 }, "100%": { transform: "translate(" + -4 * $ + "px, " + -$ / 4 + "px)" } };
              V = (0, I.default)(G), B[$] = V;
            }
            return { animation: [V, "1s", 0.25 * W + "s", "infinite", "linear"].join(" "), animationFillMode: "both" };
          } }, { key: "getStyle", value: function(W) {
            if (W <= 1) {
              var $ = this.props.size + "px solid transparent", V = this.props.size + "px solid " + this.props.color, G = (0, I.default)(q[W]), X = [G, "0.8s", "infinite", "ease-in-out"].join(" ");
              return { width: 0, height: 0, borderRight: $, borderTop: W === 0 ? $ : V, borderLeft: V, borderBottom: W === 0 ? V : $, borderRadius: this.props.size, position: "absolute", animation: X };
            }
            return (0, P.default)(this.getBallStyle(W), this.getAnimationStyle(W), { width: 10, height: 10, transform: "translate(0, " + -this.props.size / 4 + "px)", position: "absolute", top: 25, left: 100 });
          } }, { key: "renderLoader", value: function(W) {
            if (W) {
              var $ = { position: "relative", fontSize: 0, height: this.props.size, width: this.props.size };
              return T.default.createElement("div", { className: "react-spinners--pacman" }, T.default.createElement("div", { style: $ }, T.default.createElement("div", { style: this.getStyle(0) }), T.default.createElement("div", { style: L({}, this.getStyle(1), { position: "absolute" }) }), T.default.createElement("div", { style: this.getStyle(2) }), T.default.createElement("div", { style: this.getStyle(3) }), T.default.createElement("div", { style: this.getStyle(4) }), T.default.createElement("div", { style: this.getStyle(5) })));
            }
            return null;
          } }, { key: "render", value: function() {
            return this.renderLoader(this.props.loading);
          } }]), U;
        }(T.default.Component);
        j.propTypes = { loading: w.default.bool, color: w.default.string, size: w.default.number, margin: w.default.number }, j.defaultProps = { loading: !0, color: "#000000", size: 25, margin: 2 }, f.default = j;
      });
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [u, a(0), a(1), a(11), a(12)], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function(f, S, _, d, p) {
        function b(j) {
          return j && j.__esModule ? j : { default: j };
        }
        function m(j, k) {
          if (!(j instanceof k)) throw new TypeError("Cannot call a class as a function");
        }
        function v(j, k) {
          if (!j) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
          return !k || typeof k != "object" && typeof k != "function" ? j : k;
        }
        function O(j, k) {
          if (typeof k != "function" && k !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof k);
          j.prototype = Object.create(k && k.prototype, { constructor: { value: j, enumerable: !1, writable: !0, configurable: !0 } }), k && (Object.setPrototypeOf ? Object.setPrototypeOf(j, k) : j.__proto__ = k);
        }
        Object.defineProperty(f, "__esModule", { value: !0 });
        var T = b(S), w = b(_), P = b(d), I = b(p), L = /* @__PURE__ */ function() {
          function j(k, U) {
            for (var W = 0; W < U.length; W++) {
              var $ = U[W];
              $.enumerable = $.enumerable || !1, $.configurable = !0, "value" in $ && ($.writable = !0), Object.defineProperty(k, $.key, $);
            }
          }
          return function(k, U, W) {
            return U && j(k.prototype, U), W && j(k, W), k;
          };
        }(), R = [1, 3, 5], q = { 0: { "25%": { transform: "translateX(-" + R[0] + "rem) scale(0.75)" }, "50%": { transform: "translateX(-" + R[1] + "rem) scale(0.6)" }, "75%": { transform: "translateX(-" + R[2] + "rem) scale(0.5)" }, "95%": { transform: "translateX(0rem) scale(1)" } }, 1: { "25%": { transform: "translateX(-" + R[0] + "rem) scale(0.75)" }, "50%": { transform: "translateX(-" + R[1] + "rem) scale(0.6)" }, "75%": { transform: "translateX(-" + R[1] + "rem) scale(0.6)" }, "95%": { transform: "translateX(0rem) scale(1)" } }, 2: { "25%": { transform: "translateX(-" + R[0] + "rem) scale(0.75)" }, "75%": { transform: "translateX(-" + R[0] + "rem) scale(0.75)" }, "95%": { transform: "translateX(0rem) scale(1)" } }, 3: { "25%": { transform: "translateX(" + R[0] + "rem) scale(0.75)" }, "75%": { transform: "translateX(" + R[0] + "rem) scale(0.75)" }, "95%": { transform: "translateX(0rem) scale(1)" } }, 4: { "25%": { transform: "translateX(" + R[0] + "rem) scale(0.75)" }, "50%": { transform: "translateX(" + R[1] + "rem) scale(0.6)" }, "75%": { transform: "translateX(" + R[1] + "rem) scale(0.6)" }, "95%": { transform: "translateX(0rem) scale(1)" } }, 5: { "25%": { transform: "translateX(" + R[0] + "rem) scale(0.75)" }, "50%": { transform: "translateX(" + R[1] + "rem) scale(0.6)" }, "75%": { transform: "translateX(" + R[2] + "rem) scale(0.5)" }, "95%": { transform: "translateX(0rem) scale(1)" } } }, B = function(j) {
          function k() {
            return m(this, k), v(this, (k.__proto__ || Object.getPrototypeOf(k)).apply(this, arguments));
          }
          return O(k, j), L(k, [{ key: "getBallStyle", value: function() {
            return { position: "absolute", fontSize: this.props.size / 3, width: this.props.size, height: this.props.size, background: this.props.color, borderRadius: "50%" };
          } }, { key: "getAnimationStyle", value: function(U) {
            return { animation: [(0, I.default)(q[U]), "1.5s", "infinite"].join(" "), animationFillMode: "forwards" };
          } }, { key: "getStyle", value: function(U) {
            return (0, P.default)(this.getBallStyle(U), this.getAnimationStyle(U));
          } }, { key: "renderLoader", value: function(U) {
            return U ? T.default.createElement("div", { className: "react-spinners--propagate" }, T.default.createElement("div", { style: { position: "relative" } }, T.default.createElement("div", { style: this.getStyle(0) }), T.default.createElement("div", { style: this.getStyle(1) }), T.default.createElement("div", { style: this.getStyle(2) }), T.default.createElement("div", { style: this.getStyle(3) }), T.default.createElement("div", { style: this.getStyle(4) }), T.default.createElement("div", { style: this.getStyle(5) }))) : null;
          } }, { key: "render", value: function() {
            return this.renderLoader(this.props.loading);
          } }]), k;
        }(T.default.Component);
        B.propTypes = { loading: w.default.bool, size: w.default.number, color: w.default.string }, B.defaultProps = { loading: !0, size: 15, color: "#000000" }, f.default = B;
      });
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [u, a(0), a(1), a(11), a(12)], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function(f, S, _, d, p) {
        function b(j) {
          return j && j.__esModule ? j : { default: j };
        }
        function m(j, k) {
          if (!(j instanceof k)) throw new TypeError("Cannot call a class as a function");
        }
        function v(j, k) {
          if (!j) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
          return !k || typeof k != "object" && typeof k != "function" ? j : k;
        }
        function O(j, k) {
          if (typeof k != "function" && k !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof k);
          j.prototype = Object.create(k && k.prototype, { constructor: { value: j, enumerable: !1, writable: !0, configurable: !0 } }), k && (Object.setPrototypeOf ? Object.setPrototypeOf(j, k) : j.__proto__ = k);
        }
        Object.defineProperty(f, "__esModule", { value: !0 });
        var T = b(S), w = b(_), P = b(d), I = b(p), L = /* @__PURE__ */ function() {
          function j(k, U) {
            for (var W = 0; W < U.length; W++) {
              var $ = U[W];
              $.enumerable = $.enumerable || !1, $.configurable = !0, "value" in $ && ($.writable = !0), Object.defineProperty(k, $.key, $);
            }
          }
          return function(k, U, W) {
            return U && j(k.prototype, U), W && j(k, W), k;
          };
        }(), R = { "0%": { transform: "scale(1)", opacity: 1 }, "45%": { transform: "scale(0.1)", opacity: 0.7 }, "80%": { transform: "scale(1)", opacity: 1 } }, q = (0, I.default)(R), B = function(j) {
          function k() {
            return m(this, k), v(this, (k.__proto__ || Object.getPrototypeOf(k)).apply(this, arguments));
          }
          return O(k, j), L(k, [{ key: "getBallStyle", value: function() {
            return { backgroundColor: this.props.color, width: this.props.size, height: this.props.size, margin: this.props.margin, borderRadius: "100%" };
          } }, { key: "getAnimationStyle", value: function(U) {
            return { animation: [q, "0.75s", 0.12 * U + "s", "infinite", "cubic-bezier(.2,.68,.18,1.08)"].join(" "), animationFillMode: "both" };
          } }, { key: "getStyle", value: function(U) {
            return (0, P.default)(this.getBallStyle(U), this.getAnimationStyle(U), { display: "inline-block" });
          } }, { key: "renderLoader", value: function(U) {
            return U ? T.default.createElement("div", { className: "react-spinners--pulse" }, T.default.createElement("div", { style: this.getStyle(1) }), T.default.createElement("div", { style: this.getStyle(2) }), T.default.createElement("div", { style: this.getStyle(3) })) : null;
          } }, { key: "render", value: function() {
            return this.renderLoader(this.props.loading);
          } }]), k;
        }(T.default.Component);
        B.propTypes = { loading: w.default.bool, color: w.default.string, size: w.default.number, margin: w.default.number }, B.defaultProps = { loading: !0, color: "#000000", size: 15, margin: 2 }, f.default = B;
      });
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [u, a(0), a(1), a(11), a(12)], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function(f, S, _, d, p) {
        function b(U) {
          return U && U.__esModule ? U : { default: U };
        }
        function m(U, W) {
          if (!(U instanceof W)) throw new TypeError("Cannot call a class as a function");
        }
        function v(U, W) {
          if (!U) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
          return !W || typeof W != "object" && typeof W != "function" ? U : W;
        }
        function O(U, W) {
          if (typeof W != "function" && W !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof W);
          U.prototype = Object.create(W && W.prototype, { constructor: { value: U, enumerable: !1, writable: !0, configurable: !0 } }), W && (Object.setPrototypeOf ? Object.setPrototypeOf(U, W) : U.__proto__ = W);
        }
        Object.defineProperty(f, "__esModule", { value: !0 });
        var T = b(S), w = b(_), P = b(d), I = b(p), L = /* @__PURE__ */ function() {
          function U(W, $) {
            for (var V = 0; V < $.length; V++) {
              var G = $[V];
              G.enumerable = G.enumerable || !1, G.configurable = !0, "value" in G && (G.writable = !0), Object.defineProperty(W, G.key, G);
            }
          }
          return function(W, $, V) {
            return $ && U(W.prototype, $), V && U(W, V), W;
          };
        }(), R = { "0%": { transform: "rotateX(0deg) rotateY(0deg) rotateZ(0deg)" }, "100%": { transform: "rotateX(180deg) rotateY(360deg) rotateZ(360deg)" } }, q = { "0%": { transform: "rotateX(0deg) rotateY(0deg) rotateZ(0deg)" }, "100%": { transform: "rotateX(360deg) rotateY(180deg) rotateZ(360deg)" } }, B = (0, I.default)(R), j = (0, I.default)(q), k = function(U) {
          function W() {
            return m(this, W), v(this, (W.__proto__ || Object.getPrototypeOf(W)).apply(this, arguments));
          }
          return O(W, U), L(W, [{ key: "getCircleStyle", value: function($) {
            return { width: $, height: $, border: $ / 10 + "px solid " + this.props.color, opacity: 0.4, borderRadius: "100%" };
          } }, { key: "getAnimationStyle", value: function($) {
            return { perspective: "800px", animation: [$ === 1 ? B : j, "2s", "0s", "infinite", "linear"].join(" "), animationFillMode: "forwards" };
          } }, { key: "getStyle", value: function($) {
            var V = this.props.size;
            return $ ? (0, P.default)(this.getCircleStyle(V), this.getAnimationStyle($), { position: "absolute", top: 0, left: 0 }) : { width: V, height: V, position: "relative" };
          } }, { key: "renderLoader", value: function($) {
            return $ ? T.default.createElement("div", { className: "react-spinners--ring" }, T.default.createElement("div", { style: this.getStyle(0) }, T.default.createElement("div", { style: this.getStyle(1) }), T.default.createElement("div", { style: this.getStyle(2) }))) : null;
          } }, { key: "render", value: function() {
            return this.renderLoader(this.props.loading);
          } }]), W;
        }(T.default.Component);
        k.propTypes = { loading: w.default.bool, color: w.default.string, size: w.default.number }, k.defaultProps = { loading: !0, color: "#000000", size: 60 }, f.default = k;
      });
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [u, a(0), a(1), a(11), a(12)], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function(f, S, _, d, p) {
        function b(U) {
          return U && U.__esModule ? U : { default: U };
        }
        function m(U, W) {
          if (!(U instanceof W)) throw new TypeError("Cannot call a class as a function");
        }
        function v(U, W) {
          if (!U) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
          return !W || typeof W != "object" && typeof W != "function" ? U : W;
        }
        function O(U, W) {
          if (typeof W != "function" && W !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof W);
          U.prototype = Object.create(W && W.prototype, { constructor: { value: U, enumerable: !1, writable: !0, configurable: !0 } }), W && (Object.setPrototypeOf ? Object.setPrototypeOf(U, W) : U.__proto__ = W);
        }
        Object.defineProperty(f, "__esModule", { value: !0 });
        var T = b(S), w = b(_), P = b(d), I = b(p), L = /* @__PURE__ */ function() {
          function U(W, $) {
            for (var V = 0; V < $.length; V++) {
              var G = $[V];
              G.enumerable = G.enumerable || !1, G.configurable = !0, "value" in G && (G.writable = !0), Object.defineProperty(W, G.key, G);
            }
          }
          return function(W, $, V) {
            return $ && U(W.prototype, $), V && U(W, V), W;
          };
        }(), R = { "0%": { transform: "scale(1.1)" }, 25: { transform: "translateY(-30px)" }, "50%": { transform: "scale(0.4)" }, "75%": { transform: "translateY(30px)" }, "100%": { transform: "translateY(0) scale(1.0)" } }, q = { "0%": { transform: "scale(0.4)" }, 25: { transform: "translateY(30px)" }, "50%": { transform: "scale(1.1)" }, "75%": { transform: "translateY(-30px)" }, "100%": { transform: "translateY(0) scale(0.75)" } }, B = (0, I.default)(R), j = (0, I.default)(q), k = function(U) {
          function W() {
            return m(this, W), v(this, (W.__proto__ || Object.getPrototypeOf(W)).apply(this, arguments));
          }
          return O(W, U), L(W, [{ key: "getBallStyle", value: function() {
            return { backgroundColor: this.props.color, width: this.props.size, height: this.props.size, margin: this.props.margin, borderRadius: "100%" };
          } }, { key: "getAnimationStyle", value: function($) {
            return { animation: [$ % 2 == 0 ? B : j, "1s", "0s", "infinite", "cubic-bezier(.15,.46,.9,.6)"].join(" "), animationFillMode: "both" };
          } }, { key: "getStyle", value: function($) {
            return (0, P.default)(this.getBallStyle($), this.getAnimationStyle($), { display: "inline-block" });
          } }, { key: "renderLoader", value: function($) {
            return $ ? T.default.createElement("div", { className: "react-spinners--rise" }, T.default.createElement("div", { style: this.getStyle(1) }), T.default.createElement("div", { style: this.getStyle(2) }), T.default.createElement("div", { style: this.getStyle(3) }), T.default.createElement("div", { style: this.getStyle(4) }), T.default.createElement("div", { style: this.getStyle(5) })) : null;
          } }, { key: "render", value: function() {
            return this.renderLoader(this.props.loading);
          } }]), W;
        }(T.default.Component);
        k.propTypes = { loading: w.default.bool, color: w.default.string, size: w.default.number, margin: w.default.number }, k.defaultProps = { loading: !0, color: "#000000", size: 15, margin: 2 }, f.default = k;
      });
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [u, a(0), a(1), a(11), a(12)], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function(f, S, _, d, p) {
        function b(j) {
          return j && j.__esModule ? j : { default: j };
        }
        function m(j, k) {
          if (!(j instanceof k)) throw new TypeError("Cannot call a class as a function");
        }
        function v(j, k) {
          if (!j) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
          return !k || typeof k != "object" && typeof k != "function" ? j : k;
        }
        function O(j, k) {
          if (typeof k != "function" && k !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof k);
          j.prototype = Object.create(k && k.prototype, { constructor: { value: j, enumerable: !1, writable: !0, configurable: !0 } }), k && (Object.setPrototypeOf ? Object.setPrototypeOf(j, k) : j.__proto__ = k);
        }
        Object.defineProperty(f, "__esModule", { value: !0 });
        var T = b(S), w = b(_), P = b(d), I = b(p), L = /* @__PURE__ */ function() {
          function j(k, U) {
            for (var W = 0; W < U.length; W++) {
              var $ = U[W];
              $.enumerable = $.enumerable || !1, $.configurable = !0, "value" in $ && ($.writable = !0), Object.defineProperty(k, $.key, $);
            }
          }
          return function(k, U, W) {
            return U && j(k.prototype, U), W && j(k, W), k;
          };
        }(), R = { "0%": { transform: "rotate(0deg)" }, "50%": { transform: "rotate(180deg)" }, "100%": { transform: "rotate(360deg)" } }, q = (0, I.default)(R), B = function(j) {
          function k() {
            return m(this, k), v(this, (k.__proto__ || Object.getPrototypeOf(k)).apply(this, arguments));
          }
          return O(k, j), L(k, [{ key: "getBallStyle", value: function() {
            return { backgroundColor: this.props.color, width: this.props.size, height: this.props.size, margin: this.props.margin, borderRadius: "100%" };
          } }, { key: "getAnimationStyle", value: function() {
            return { animation: [q, "1s", "0s", "infinite", "cubic-bezier(.7,-.13,.22,.86)"].join(" "), animationFillMode: "both" };
          } }, { key: "getStyle", value: function(U) {
            return U ? (0, P.default)(this.getBallStyle(U), { opacity: "0.8", position: "absolute", top: 0, left: U % 2 ? -28 : 25 }) : (0, P.default)(this.getBallStyle(U), this.getAnimationStyle(U), { display: "inline-block", position: "relative" });
          } }, { key: "renderLoader", value: function(U) {
            return U ? T.default.createElement("div", { className: "react-spinners--rotate" }, T.default.createElement("div", { style: this.getStyle() }, T.default.createElement("div", { style: this.getStyle(1) }), T.default.createElement("div", { style: this.getStyle(2) }))) : null;
          } }, { key: "render", value: function() {
            return this.renderLoader(this.props.loading);
          } }]), k;
        }(T.default.Component);
        B.propTypes = { loading: w.default.bool, color: w.default.string, size: w.default.number, margin: w.default.number }, B.defaultProps = { loading: !0, color: "#000000", size: 15, margin: 2 }, f.default = B;
      });
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [u, a(0), a(1), a(11), a(12)], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function(f, S, _, d, p) {
        function b(j) {
          return j && j.__esModule ? j : { default: j };
        }
        function m(j, k) {
          if (!(j instanceof k)) throw new TypeError("Cannot call a class as a function");
        }
        function v(j, k) {
          if (!j) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
          return !k || typeof k != "object" && typeof k != "function" ? j : k;
        }
        function O(j, k) {
          if (typeof k != "function" && k !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof k);
          j.prototype = Object.create(k && k.prototype, { constructor: { value: j, enumerable: !1, writable: !0, configurable: !0 } }), k && (Object.setPrototypeOf ? Object.setPrototypeOf(j, k) : j.__proto__ = k);
        }
        Object.defineProperty(f, "__esModule", { value: !0 });
        var T = b(S), w = b(_), P = b(d), I = b(p), L = /* @__PURE__ */ function() {
          function j(k, U) {
            for (var W = 0; W < U.length; W++) {
              var $ = U[W];
              $.enumerable = $.enumerable || !1, $.configurable = !0, "value" in $ && ($.writable = !0), Object.defineProperty(k, $.key, $);
            }
          }
          return function(k, U, W) {
            return U && j(k.prototype, U), W && j(k, W), k;
          };
        }(), R = { "0%": { transform: "scaley(1.0)" }, "50%": { transform: "scaley(0.4)" }, "100%": { transform: "scaley(1.0)" } }, q = (0, I.default)(R), B = function(j) {
          function k() {
            return m(this, k), v(this, (k.__proto__ || Object.getPrototypeOf(k)).apply(this, arguments));
          }
          return O(k, j), L(k, [{ key: "getLineStyle", value: function() {
            return { backgroundColor: this.props.color, height: this.props.height, width: this.props.width, margin: this.props.margin, borderRadius: this.props.radius };
          } }, { key: "getAnimationStyle", value: function(U) {
            return { animation: [q, "1s", 0.1 * U + "s", "infinite", "cubic-bezier(.2,.68,.18,1.08)"].join(" "), animationFillMode: "both" };
          } }, { key: "getStyle", value: function(U) {
            return (0, P.default)(this.getLineStyle(U), this.getAnimationStyle(U), { display: "inline-block" });
          } }, { key: "renderLoader", value: function(U) {
            return U ? T.default.createElement("div", { className: "react-spinners--scale" }, T.default.createElement("div", { style: this.getStyle(1) }), T.default.createElement("div", { style: this.getStyle(2) }), T.default.createElement("div", { style: this.getStyle(3) }), T.default.createElement("div", { style: this.getStyle(4) }), T.default.createElement("div", { style: this.getStyle(5) })) : null;
          } }, { key: "render", value: function() {
            return this.renderLoader(this.props.loading);
          } }]), k;
        }(T.default.Component);
        B.propTypes = { loading: w.default.bool, color: w.default.string, height: w.default.number, width: w.default.number, margin: w.default.number, radius: w.default.number }, B.defaultProps = { loading: !0, color: "#000000", height: 35, width: 4, margin: 2, radius: 2 }, f.default = B;
      });
    }, function(A, u, a) {
      var s, h, E;
      (function(f, S) {
        h = [u, a(0), a(1), a(11), a(12)], s = S, (E = typeof s == "function" ? s.apply(u, h) : s) !== void 0 && (A.exports = E);
      })(0, function(f, S, _, d, p) {
        function b(j) {
          return j && j.__esModule ? j : { default: j };
        }
        function m(j, k) {
          if (!(j instanceof k)) throw new TypeError("Cannot call a class as a function");
        }
        function v(j, k) {
          if (!j) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
          return !k || typeof k != "object" && typeof k != "function" ? j : k;
        }
        function O(j, k) {
          if (typeof k != "function" && k !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof k);
          j.prototype = Object.create(k && k.prototype, { constructor: { value: j, enumerable: !1, writable: !0, configurable: !0 } }), k && (Object.setPrototypeOf ? Object.setPrototypeOf(j, k) : j.__proto__ = k);
        }
        Object.defineProperty(f, "__esModule", { value: !0 });
        var T = b(S), w = b(_), P = b(d), I = b(p), L = /* @__PURE__ */ function() {
          function j(k, U) {
            for (var W = 0; W < U.length; W++) {
              var $ = U[W];
              $.enumerable = $.enumerable || !1, $.configurable = !0, "value" in $ && ($.writable = !0), Object.defineProperty(k, $.key, $);
            }
          }
          return function(k, U, W) {
            return U && j(k.prototype, U), W && j(k, W), k;
          };
        }(), R = { "33%": { transform: "translateY(10px)" }, "66%": { transform: "translateY(-10px)" }, "100%": { transform: "translateY(0)" } }, q = (0, I.default)(R), B = function(j) {
          function k() {
            return m(this, k), v(this, (k.__proto__ || Object.getPrototypeOf(k)).apply(this, arguments));
          }
          return O(k, j), L(k, [{ key: "getBallStyle", value: function() {
            return { backgroundColor: this.props.color, width: this.props.size, height: this.props.size, margin: this.props.margin, borderRadius: "100%" };
          } }, { key: "getAnimationStyle", value: function(U) {
            return { animation: [q, "0.6s", 0.07 * U + "s", "infinite", "ease-in-out"].join(" "), animationFillMode: "both" };
          } }, { key: "getStyle", value: function(U) {
            return (0, P.default)(this.getBallStyle(U), this.getAnimationStyle(U), { display: "inline-block" });
          } }, { key: "renderLoader", value: function(U) {
            return U ? T.default.createElement("div", { className: "react-spinners--sync" }, T.default.createElement("div", { style: this.getStyle(1) }), T.default.createElement("div", { style: this.getStyle(2) }), T.default.createElement("div", { style: this.getStyle(3) })) : null;
          } }, { key: "render", value: function() {
            return this.renderLoader(this.props.loading);
          } }]), k;
        }(T.default.Component);
        B.propTypes = { loading: w.default.bool, color: w.default.string, size: w.default.number, margin: w.default.number }, B.defaultProps = { loading: !0, color: "#000000", size: 15, margin: 2 }, f.default = B;
      });
    }, function(A, u, a) {
      var s = a(580);
      A.exports = s;
    }, function(A, u, a) {
      function s(w) {
        return w && w.__esModule ? w : { default: w };
      }
      function h(w, P) {
        if (!(w instanceof P)) throw new TypeError("Cannot call a class as a function");
      }
      function E(w, P) {
        if (!w) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return !P || typeof P != "object" && typeof P != "function" ? w : P;
      }
      function f(w, P) {
        if (typeof P != "function" && P !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof P);
        w.prototype = Object.create(P && P.prototype, { constructor: { value: w, enumerable: !1, writable: !0, configurable: !0 } }), P && (Object.setPrototypeOf ? Object.setPrototypeOf(w, P) : w.__proto__ = P);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var S = Object.assign || function(w) {
        for (var P = 1; P < arguments.length; P++) {
          var I = arguments[P];
          for (var L in I) Object.prototype.hasOwnProperty.call(I, L) && (w[L] = I[L]);
        }
        return w;
      }, _ = /* @__PURE__ */ function() {
        function w(P, I) {
          for (var L = 0; L < I.length; L++) {
            var R = I[L];
            R.enumerable = R.enumerable || !1, R.configurable = !0, "value" in R && (R.writable = !0), Object.defineProperty(P, R.key, R);
          }
        }
        return function(P, I, L) {
          return I && w(P.prototype, I), L && w(P, L), P;
        };
      }(), d = a(0), p = s(d), b = a(143), m = s(b), v = a(149), O = s(v), T = function(w) {
        function P() {
          var I;
          h(this, P);
          for (var L = arguments.length, R = Array(L), q = 0; q < L; q++) R[q] = arguments[q];
          var B = E(this, (I = P.__proto__ || Object.getPrototypeOf(P)).call.apply(I, [this].concat(R)));
          return B.state = { size: B.props.size }, B;
        }
        return f(P, w), _(P, [{ key: "render", value: function() {
          var I = this.props.split, L = ["Pane", I, this.props.className], R = S({}, this.props.style || {}, { flex: 1, position: "relative", outline: "none" });
          return this.state.size !== void 0 && (I === "vertical" ? R.width = this.state.size : (R.height = this.state.size, R.display = "flex"), R.flex = "none"), p.default.createElement("div", { className: L.join(" "), style: this.props.prefixer.prefix(R) }, this.props.children);
        } }]), P;
      }(d.Component);
      T.propTypes = { split: d.PropTypes.oneOf(["vertical", "horizontal"]), className: d.PropTypes.string.isRequired, children: d.PropTypes.node.isRequired, prefixer: d.PropTypes.instanceOf(m.default).isRequired, style: O.default, size: d.PropTypes.oneOfType([p.default.PropTypes.string, p.default.PropTypes.number]) }, T.defaultProps = { prefixer: new m.default({ userAgent: "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Safari/537.2" }) }, u.default = T, A.exports = u.default;
    }, function(A, u, a) {
      function s(T) {
        return T && T.__esModule ? T : { default: T };
      }
      function h(T, w) {
        if (!(T instanceof w)) throw new TypeError("Cannot call a class as a function");
      }
      function E(T, w) {
        if (!T) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return !w || typeof w != "object" && typeof w != "function" ? T : w;
      }
      function f(T, w) {
        if (typeof w != "function" && w !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof w);
        T.prototype = Object.create(w && w.prototype, { constructor: { value: T, enumerable: !1, writable: !0, configurable: !0 } }), w && (Object.setPrototypeOf ? Object.setPrototypeOf(T, w) : T.__proto__ = w);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var S = /* @__PURE__ */ function() {
        function T(w, P) {
          for (var I = 0; I < P.length; I++) {
            var L = P[I];
            L.enumerable = L.enumerable || !1, L.configurable = !0, "value" in L && (L.writable = !0), Object.defineProperty(w, L.key, L);
          }
        }
        return function(w, P, I) {
          return P && T(w.prototype, P), I && T(w, I), w;
        };
      }(), _ = a(0), d = s(_), p = a(143), b = s(p), m = a(149), v = s(m), O = function(T) {
        function w() {
          return h(this, w), E(this, (w.__proto__ || Object.getPrototypeOf(w)).apply(this, arguments));
        }
        return f(w, T), S(w, [{ key: "render", value: function() {
          var P = this, I = this.props, L = I.split, R = I.className, q = I.resizerClassName, B = [q, L, R];
          return d.default.createElement("span", { className: B.join(" "), style: this.props.prefixer.prefix(this.props.style) || {}, onMouseDown: function(j) {
            P.props.onMouseDown(j);
          }, onTouchStart: function(j) {
            j.preventDefault(), P.props.onTouchStart(j);
          }, onTouchEnd: function(j) {
            j.preventDefault(), P.props.onTouchEnd(j);
          } });
        } }]), w;
      }(_.Component);
      O.propTypes = { onMouseDown: _.PropTypes.func.isRequired, onTouchStart: _.PropTypes.func.isRequired, onTouchEnd: _.PropTypes.func.isRequired, prefixer: _.PropTypes.instanceOf(b.default).isRequired, split: _.PropTypes.oneOf(["vertical", "horizontal"]), className: _.PropTypes.string.isRequired, resizerClassName: _.PropTypes.string.isRequired, style: v.default }, O.defaultProps = { prefixer: new b.default({ userAgent: "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Safari/537.2" }), resizerClassName: "Resizer" }, u.default = O, A.exports = u.default;
    }, function(A, u, a) {
      function s(j) {
        return j && j.__esModule ? j : { default: j };
      }
      function h(j, k) {
        if (!(j instanceof k)) throw new TypeError("Cannot call a class as a function");
      }
      function E(j, k) {
        if (!j) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return !k || typeof k != "object" && typeof k != "function" ? j : k;
      }
      function f(j, k) {
        if (typeof k != "function" && k !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof k);
        j.prototype = Object.create(k && k.prototype, { constructor: { value: j, enumerable: !1, writable: !0, configurable: !0 } }), k && (Object.setPrototypeOf ? Object.setPrototypeOf(j, k) : j.__proto__ = k);
      }
      function S(j, k) {
        if (j.selection) j.selection.empty();
        else try {
          k.getSelection().removeAllRanges();
        } catch {
        }
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var _ = Object.assign || function(j) {
        for (var k = 1; k < arguments.length; k++) {
          var U = arguments[k];
          for (var W in U) Object.prototype.hasOwnProperty.call(U, W) && (j[W] = U[W]);
        }
        return j;
      }, d = /* @__PURE__ */ function() {
        function j(k, U) {
          for (var W = 0; W < U.length; W++) {
            var $ = U[W];
            $.enumerable = $.enumerable || !1, $.configurable = !0, "value" in $ && ($.writable = !0), Object.defineProperty(k, $.key, $);
          }
        }
        return function(k, U, W) {
          return U && j(k.prototype, U), W && j(k, W), k;
        };
      }(), p = a(0), b = s(p), m = a(24), v = s(m), O = a(143), T = s(O), w = a(149), P = s(w), I = a(578), L = s(I), R = a(579), q = s(R), B = function(j) {
        function k() {
          var U;
          h(this, k);
          for (var W = arguments.length, $ = Array(W), V = 0; V < W; V++) $[V] = arguments[V];
          var G = E(this, (U = k.__proto__ || Object.getPrototypeOf(k)).call.apply(U, [this].concat($)));
          return G.onMouseDown = G.onMouseDown.bind(G), G.onTouchStart = G.onTouchStart.bind(G), G.onMouseMove = G.onMouseMove.bind(G), G.onTouchMove = G.onTouchMove.bind(G), G.onMouseUp = G.onMouseUp.bind(G), G.state = { active: !1, resized: !1 }, G;
        }
        return f(k, j), d(k, [{ key: "componentDidMount", value: function() {
          this.setSize(this.props, this.state), document.addEventListener("mouseup", this.onMouseUp), document.addEventListener("mousemove", this.onMouseMove), document.addEventListener("touchmove", this.onTouchMove);
        } }, { key: "componentWillReceiveProps", value: function(U) {
          this.setSize(U, this.state);
        } }, { key: "componentWillUnmount", value: function() {
          document.removeEventListener("mouseup", this.onMouseUp), document.removeEventListener("mousemove", this.onMouseMove), document.removeEventListener("touchmove", this.onTouchMove);
        } }, { key: "onMouseDown", value: function(U) {
          var W = _({}, U, { touches: [{ clientX: U.clientX, clientY: U.clientY }] });
          this.onTouchStart(W);
        } }, { key: "onTouchStart", value: function(U) {
          if (this.props.allowResize) {
            S(document, window);
            var W = this.props.split === "vertical" ? U.touches[0].clientX : U.touches[0].clientY;
            typeof this.props.onDragStarted == "function" && this.props.onDragStarted(), this.setState({ active: !0, position: W });
          }
        } }, { key: "onMouseMove", value: function(U) {
          var W = _({}, U, { touches: [{ clientX: U.clientX, clientY: U.clientY }] });
          this.onTouchMove(W);
        } }, { key: "onTouchMove", value: function(U) {
          if (this.props.allowResize && this.state.active) {
            S(document, window);
            var W = this.props.primary === "first", $ = W ? this.pane1 : this.pane2;
            if ($) {
              var V = v.default.findDOMNode($);
              if (V.getBoundingClientRect) {
                var G = V.getBoundingClientRect().width, X = V.getBoundingClientRect().height, K = this.props.split === "vertical" ? U.touches[0].clientX : U.touches[0].clientY, H = this.props.split === "vertical" ? G : X, Y = this.state.position, Q = W ? Y - K : K - Y, Z = this.props.maxSize;
                if (this.props.maxSize !== void 0 && this.props.maxSize <= 0) {
                  var J = this.splitPane;
                  Z = this.props.split === "vertical" ? J.getBoundingClientRect().width + this.props.maxSize : J.getBoundingClientRect().height + this.props.maxSize;
                }
                var ne = H - Q;
                ne < this.props.minSize ? ne = this.props.minSize : this.props.maxSize !== void 0 && ne > Z ? ne = Z : this.setState({ position: K, resized: !0 }), this.props.onChange && this.props.onChange(ne), this.setState({ draggedSize: ne }), $.setState({ size: ne });
              }
            }
          }
        } }, { key: "onMouseUp", value: function() {
          this.props.allowResize && this.state.active && (typeof this.props.onDragFinished == "function" && this.props.onDragFinished(this.state.draggedSize), this.setState({ active: !1 }));
        } }, { key: "setSize", value: function(U, W) {
          var $ = this.props.primary === "first" ? this.pane1 : this.pane2, V = void 0;
          $ && (V = U.size || W && W.draggedSize || U.defaultSize || U.minSize, $.setState({ size: V }), U.size !== W.draggedSize && this.setState({ draggedSize: V }));
        } }, { key: "render", value: function() {
          var U = this, W = this.props, $ = W.split, V = W.allowResize, G = V ? "" : "disabled", X = _({}, this.props.style || {}, { display: "flex", flex: 1, position: "relative", outline: "none", overflow: "hidden", MozUserSelect: "text", WebkitUserSelect: "text", msUserSelect: "text", userSelect: "text" });
          $ === "vertical" ? _(X, { flexDirection: "row", height: "100%", position: "absolute", left: 0, right: 0 }) : _(X, { flexDirection: "column", height: "100%", minHeight: "100%", position: "absolute", top: 0, bottom: 0, width: "100%" });
          var K = this.props.children, H = ["SplitPane", this.props.className, $, G], Y = this.props.prefixer.prefix(_({}, this.props.paneStyle || {}, this.props.pane1Style || {})), Q = this.props.prefixer.prefix(_({}, this.props.paneStyle || {}, this.props.pane2Style || {}));
          return b.default.createElement("div", { className: H.join(" "), style: this.props.prefixer.prefix(X), ref: function(Z) {
            U.splitPane = Z;
          } }, b.default.createElement(L.default, { ref: function(Z) {
            U.pane1 = Z;
          }, key: "pane1", className: "Pane1", style: Y, split: $, size: this.props.primary === "first" ? this.props.size || this.props.defaultSize || this.props.minSize : void 0 }, K[0]), b.default.createElement(q.default, { ref: function(Z) {
            U.resizer = Z;
          }, key: "resizer", className: G, resizerClassName: this.props.resizerClassName, onMouseDown: this.onMouseDown, onTouchStart: this.onTouchStart, onTouchEnd: this.onMouseUp, style: this.props.resizerStyle || {}, split: $ }), b.default.createElement(L.default, { ref: function(Z) {
            U.pane2 = Z;
          }, key: "pane2", className: "Pane2", style: Q, split: $, size: this.props.primary === "second" ? this.props.size || this.props.defaultSize || this.props.minSize : void 0 }, K[1]));
        } }]), k;
      }(p.Component);
      B.propTypes = { primary: p.PropTypes.oneOf(["first", "second"]), minSize: p.PropTypes.oneOfType([b.default.PropTypes.string, b.default.PropTypes.number]), maxSize: p.PropTypes.oneOfType([b.default.PropTypes.string, b.default.PropTypes.number]), defaultSize: p.PropTypes.oneOfType([b.default.PropTypes.string, b.default.PropTypes.number]), size: p.PropTypes.oneOfType([b.default.PropTypes.string, b.default.PropTypes.number]), allowResize: p.PropTypes.bool, split: p.PropTypes.oneOf(["vertical", "horizontal"]), onDragStarted: p.PropTypes.func, onDragFinished: p.PropTypes.func, onChange: p.PropTypes.func, prefixer: p.PropTypes.instanceOf(T.default).isRequired, style: P.default, resizerStyle: P.default, paneStyle: P.default, pane1Style: P.default, pane2Style: P.default, className: p.PropTypes.string, resizerClassName: p.PropTypes.string, children: p.PropTypes.arrayOf(p.PropTypes.node).isRequired }, B.defaultProps = { split: "vertical", minSize: 50, allowResize: !0, prefixer: new T.default({ userAgent: "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Safari/537.2" }), primary: "first" }, u.default = B, A.exports = u.default;
    }, function(A, u) {
      A.exports = ["alignContent", "MozAlignContent", "WebkitAlignContent", "MSAlignContent", "OAlignContent", "alignItems", "MozAlignItems", "WebkitAlignItems", "MSAlignItems", "OAlignItems", "alignSelf", "MozAlignSelf", "WebkitAlignSelf", "MSAlignSelf", "OAlignSelf", "all", "MozAll", "WebkitAll", "MSAll", "OAll", "animation", "MozAnimation", "WebkitAnimation", "MSAnimation", "OAnimation", "animationDelay", "MozAnimationDelay", "WebkitAnimationDelay", "MSAnimationDelay", "OAnimationDelay", "animationDirection", "MozAnimationDirection", "WebkitAnimationDirection", "MSAnimationDirection", "OAnimationDirection", "animationDuration", "MozAnimationDuration", "WebkitAnimationDuration", "MSAnimationDuration", "OAnimationDuration", "animationFillMode", "MozAnimationFillMode", "WebkitAnimationFillMode", "MSAnimationFillMode", "OAnimationFillMode", "animationIterationCount", "MozAnimationIterationCount", "WebkitAnimationIterationCount", "MSAnimationIterationCount", "OAnimationIterationCount", "animationName", "MozAnimationName", "WebkitAnimationName", "MSAnimationName", "OAnimationName", "animationPlayState", "MozAnimationPlayState", "WebkitAnimationPlayState", "MSAnimationPlayState", "OAnimationPlayState", "animationTimingFunction", "MozAnimationTimingFunction", "WebkitAnimationTimingFunction", "MSAnimationTimingFunction", "OAnimationTimingFunction", "backfaceVisibility", "MozBackfaceVisibility", "WebkitBackfaceVisibility", "MSBackfaceVisibility", "OBackfaceVisibility", "background", "MozBackground", "WebkitBackground", "MSBackground", "OBackground", "backgroundAttachment", "MozBackgroundAttachment", "WebkitBackgroundAttachment", "MSBackgroundAttachment", "OBackgroundAttachment", "backgroundBlendMode", "MozBackgroundBlendMode", "WebkitBackgroundBlendMode", "MSBackgroundBlendMode", "OBackgroundBlendMode", "backgroundClip", "MozBackgroundClip", "WebkitBackgroundClip", "MSBackgroundClip", "OBackgroundClip", "backgroundColor", "MozBackgroundColor", "WebkitBackgroundColor", "MSBackgroundColor", "OBackgroundColor", "backgroundImage", "MozBackgroundImage", "WebkitBackgroundImage", "MSBackgroundImage", "OBackgroundImage", "backgroundOrigin", "MozBackgroundOrigin", "WebkitBackgroundOrigin", "MSBackgroundOrigin", "OBackgroundOrigin", "backgroundPosition", "MozBackgroundPosition", "WebkitBackgroundPosition", "MSBackgroundPosition", "OBackgroundPosition", "backgroundRepeat", "MozBackgroundRepeat", "WebkitBackgroundRepeat", "MSBackgroundRepeat", "OBackgroundRepeat", "backgroundSize", "MozBackgroundSize", "WebkitBackgroundSize", "MSBackgroundSize", "OBackgroundSize", "blockSize", "MozBlockSize", "WebkitBlockSize", "MSBlockSize", "OBlockSize", "border", "MozBorder", "WebkitBorder", "MSBorder", "OBorder", "borderBlockEnd", "MozBorderBlockEnd", "WebkitBorderBlockEnd", "MSBorderBlockEnd", "OBorderBlockEnd", "borderBlockEndColor", "MozBorderBlockEndColor", "WebkitBorderBlockEndColor", "MSBorderBlockEndColor", "OBorderBlockEndColor", "borderBlockEndStyle", "MozBorderBlockEndStyle", "WebkitBorderBlockEndStyle", "MSBorderBlockEndStyle", "OBorderBlockEndStyle", "borderBlockEndWidth", "MozBorderBlockEndWidth", "WebkitBorderBlockEndWidth", "MSBorderBlockEndWidth", "OBorderBlockEndWidth", "borderBlockStart", "MozBorderBlockStart", "WebkitBorderBlockStart", "MSBorderBlockStart", "OBorderBlockStart", "borderBlockStartColor", "MozBorderBlockStartColor", "WebkitBorderBlockStartColor", "MSBorderBlockStartColor", "OBorderBlockStartColor", "borderBlockStartStyle", "MozBorderBlockStartStyle", "WebkitBorderBlockStartStyle", "MSBorderBlockStartStyle", "OBorderBlockStartStyle", "borderBlockStartWidth", "MozBorderBlockStartWidth", "WebkitBorderBlockStartWidth", "MSBorderBlockStartWidth", "OBorderBlockStartWidth", "borderBottom", "MozBorderBottom", "WebkitBorderBottom", "MSBorderBottom", "OBorderBottom", "borderBottomColor", "MozBorderBottomColor", "WebkitBorderBottomColor", "MSBorderBottomColor", "OBorderBottomColor", "borderBottomLeftRadius", "MozBorderBottomLeftRadius", "WebkitBorderBottomLeftRadius", "MSBorderBottomLeftRadius", "OBorderBottomLeftRadius", "borderBottomRightRadius", "MozBorderBottomRightRadius", "WebkitBorderBottomRightRadius", "MSBorderBottomRightRadius", "OBorderBottomRightRadius", "borderBottomStyle", "MozBorderBottomStyle", "WebkitBorderBottomStyle", "MSBorderBottomStyle", "OBorderBottomStyle", "borderBottomWidth", "MozBorderBottomWidth", "WebkitBorderBottomWidth", "MSBorderBottomWidth", "OBorderBottomWidth", "borderCollapse", "MozBorderCollapse", "WebkitBorderCollapse", "MSBorderCollapse", "OBorderCollapse", "borderColor", "MozBorderColor", "WebkitBorderColor", "MSBorderColor", "OBorderColor", "borderImage", "MozBorderImage", "WebkitBorderImage", "MSBorderImage", "OBorderImage", "borderImageOutset", "MozBorderImageOutset", "WebkitBorderImageOutset", "MSBorderImageOutset", "OBorderImageOutset", "borderImageRepeat", "MozBorderImageRepeat", "WebkitBorderImageRepeat", "MSBorderImageRepeat", "OBorderImageRepeat", "borderImageSlice", "MozBorderImageSlice", "WebkitBorderImageSlice", "MSBorderImageSlice", "OBorderImageSlice", "borderImageSource", "MozBorderImageSource", "WebkitBorderImageSource", "MSBorderImageSource", "OBorderImageSource", "borderImageWidth", "MozBorderImageWidth", "WebkitBorderImageWidth", "MSBorderImageWidth", "OBorderImageWidth", "borderInlineEnd", "MozBorderInlineEnd", "WebkitBorderInlineEnd", "MSBorderInlineEnd", "OBorderInlineEnd", "borderInlineEndColor", "MozBorderInlineEndColor", "WebkitBorderInlineEndColor", "MSBorderInlineEndColor", "OBorderInlineEndColor", "borderInlineEndStyle", "MozBorderInlineEndStyle", "WebkitBorderInlineEndStyle", "MSBorderInlineEndStyle", "OBorderInlineEndStyle", "borderInlineEndWidth", "MozBorderInlineEndWidth", "WebkitBorderInlineEndWidth", "MSBorderInlineEndWidth", "OBorderInlineEndWidth", "borderInlineStart", "MozBorderInlineStart", "WebkitBorderInlineStart", "MSBorderInlineStart", "OBorderInlineStart", "borderInlineStartColor", "MozBorderInlineStartColor", "WebkitBorderInlineStartColor", "MSBorderInlineStartColor", "OBorderInlineStartColor", "borderInlineStartStyle", "MozBorderInlineStartStyle", "WebkitBorderInlineStartStyle", "MSBorderInlineStartStyle", "OBorderInlineStartStyle", "borderInlineStartWidth", "MozBorderInlineStartWidth", "WebkitBorderInlineStartWidth", "MSBorderInlineStartWidth", "OBorderInlineStartWidth", "borderLeft", "MozBorderLeft", "WebkitBorderLeft", "MSBorderLeft", "OBorderLeft", "borderLeftColor", "MozBorderLeftColor", "WebkitBorderLeftColor", "MSBorderLeftColor", "OBorderLeftColor", "borderLeftStyle", "MozBorderLeftStyle", "WebkitBorderLeftStyle", "MSBorderLeftStyle", "OBorderLeftStyle", "borderLeftWidth", "MozBorderLeftWidth", "WebkitBorderLeftWidth", "MSBorderLeftWidth", "OBorderLeftWidth", "borderRadius", "MozBorderRadius", "WebkitBorderRadius", "MSBorderRadius", "OBorderRadius", "borderRight", "MozBorderRight", "WebkitBorderRight", "MSBorderRight", "OBorderRight", "borderRightColor", "MozBorderRightColor", "WebkitBorderRightColor", "MSBorderRightColor", "OBorderRightColor", "borderRightStyle", "MozBorderRightStyle", "WebkitBorderRightStyle", "MSBorderRightStyle", "OBorderRightStyle", "borderRightWidth", "MozBorderRightWidth", "WebkitBorderRightWidth", "MSBorderRightWidth", "OBorderRightWidth", "borderSpacing", "MozBorderSpacing", "WebkitBorderSpacing", "MSBorderSpacing", "OBorderSpacing", "borderStyle", "MozBorderStyle", "WebkitBorderStyle", "MSBorderStyle", "OBorderStyle", "borderTop", "MozBorderTop", "WebkitBorderTop", "MSBorderTop", "OBorderTop", "borderTopColor", "MozBorderTopColor", "WebkitBorderTopColor", "MSBorderTopColor", "OBorderTopColor", "borderTopLeftRadius", "MozBorderTopLeftRadius", "WebkitBorderTopLeftRadius", "MSBorderTopLeftRadius", "OBorderTopLeftRadius", "borderTopRightRadius", "MozBorderTopRightRadius", "WebkitBorderTopRightRadius", "MSBorderTopRightRadius", "OBorderTopRightRadius", "borderTopStyle", "MozBorderTopStyle", "WebkitBorderTopStyle", "MSBorderTopStyle", "OBorderTopStyle", "borderTopWidth", "MozBorderTopWidth", "WebkitBorderTopWidth", "MSBorderTopWidth", "OBorderTopWidth", "borderWidth", "MozBorderWidth", "WebkitBorderWidth", "MSBorderWidth", "OBorderWidth", "bottom", "MozBottom", "WebkitBottom", "MSBottom", "OBottom", "boxDecorationBreak", "MozBoxDecorationBreak", "WebkitBoxDecorationBreak", "MSBoxDecorationBreak", "OBoxDecorationBreak", "boxShadow", "MozBoxShadow", "WebkitBoxShadow", "MSBoxShadow", "OBoxShadow", "boxSizing", "MozBoxSizing", "WebkitBoxSizing", "MSBoxSizing", "OBoxSizing", "breakAfter", "MozBreakAfter", "WebkitBreakAfter", "MSBreakAfter", "OBreakAfter", "breakBefore", "MozBreakBefore", "WebkitBreakBefore", "MSBreakBefore", "OBreakBefore", "breakInside", "MozBreakInside", "WebkitBreakInside", "MSBreakInside", "OBreakInside", "captionSide", "MozCaptionSide", "WebkitCaptionSide", "MSCaptionSide", "OCaptionSide", "caretColor", "MozCaretColor", "WebkitCaretColor", "MSCaretColor", "OCaretColor", "ch", "MozCh", "WebkitCh", "MSCh", "OCh", "clear", "MozClear", "WebkitClear", "MSClear", "OClear", "clip", "MozClip", "WebkitClip", "MSClip", "OClip", "clipPath", "MozClipPath", "WebkitClipPath", "MSClipPath", "OClipPath", "cm", "MozCm", "WebkitCm", "MSCm", "OCm", "color", "MozColor", "WebkitColor", "MSColor", "OColor", "columnCount", "MozColumnCount", "WebkitColumnCount", "MSColumnCount", "OColumnCount", "columnFill", "MozColumnFill", "WebkitColumnFill", "MSColumnFill", "OColumnFill", "columnGap", "MozColumnGap", "WebkitColumnGap", "MSColumnGap", "OColumnGap", "columnRule", "MozColumnRule", "WebkitColumnRule", "MSColumnRule", "OColumnRule", "columnRuleColor", "MozColumnRuleColor", "WebkitColumnRuleColor", "MSColumnRuleColor", "OColumnRuleColor", "columnRuleStyle", "MozColumnRuleStyle", "WebkitColumnRuleStyle", "MSColumnRuleStyle", "OColumnRuleStyle", "columnRuleWidth", "MozColumnRuleWidth", "WebkitColumnRuleWidth", "MSColumnRuleWidth", "OColumnRuleWidth", "columnSpan", "MozColumnSpan", "WebkitColumnSpan", "MSColumnSpan", "OColumnSpan", "columnWidth", "MozColumnWidth", "WebkitColumnWidth", "MSColumnWidth", "OColumnWidth", "columns", "MozColumns", "WebkitColumns", "MSColumns", "OColumns", "content", "MozContent", "WebkitContent", "MSContent", "OContent", "counterIncrement", "MozCounterIncrement", "WebkitCounterIncrement", "MSCounterIncrement", "OCounterIncrement", "counterReset", "MozCounterReset", "WebkitCounterReset", "MSCounterReset", "OCounterReset", "cursor", "MozCursor", "WebkitCursor", "MSCursor", "OCursor", "deg", "MozDeg", "WebkitDeg", "MSDeg", "ODeg", "direction", "MozDirection", "WebkitDirection", "MSDirection", "ODirection", "display", "MozDisplay", "WebkitDisplay", "MSDisplay", "ODisplay", "dpcm", "MozDpcm", "WebkitDpcm", "MSDpcm", "ODpcm", "dpi", "MozDpi", "WebkitDpi", "MSDpi", "ODpi", "dppx", "MozDppx", "WebkitDppx", "MSDppx", "ODppx", "em", "MozEm", "WebkitEm", "MSEm", "OEm", "emptyCells", "MozEmptyCells", "WebkitEmptyCells", "MSEmptyCells", "OEmptyCells", "ex", "MozEx", "WebkitEx", "MSEx", "OEx", "filter", "MozFilter", "WebkitFilter", "MSFilter", "OFilter", "flexBasis", "MozFlexBasis", "WebkitFlexBasis", "MSFlexBasis", "OFlexBasis", "flexDirection", "MozFlexDirection", "WebkitFlexDirection", "MSFlexDirection", "OFlexDirection", "flexFlow", "MozFlexFlow", "WebkitFlexFlow", "MSFlexFlow", "OFlexFlow", "flexGrow", "MozFlexGrow", "WebkitFlexGrow", "MSFlexGrow", "OFlexGrow", "flexShrink", "MozFlexShrink", "WebkitFlexShrink", "MSFlexShrink", "OFlexShrink", "flexWrap", "MozFlexWrap", "WebkitFlexWrap", "MSFlexWrap", "OFlexWrap", "float", "MozFloat", "WebkitFloat", "MSFloat", "OFloat", "font", "MozFont", "WebkitFont", "MSFont", "OFont", "fontFamily", "MozFontFamily", "WebkitFontFamily", "MSFontFamily", "OFontFamily", "fontFeatureSettings", "MozFontFeatureSettings", "WebkitFontFeatureSettings", "MSFontFeatureSettings", "OFontFeatureSettings", "fontKerning", "MozFontKerning", "WebkitFontKerning", "MSFontKerning", "OFontKerning", "fontLanguageOverride", "MozFontLanguageOverride", "WebkitFontLanguageOverride", "MSFontLanguageOverride", "OFontLanguageOverride", "fontSize", "MozFontSize", "WebkitFontSize", "MSFontSize", "OFontSize", "fontSizeAdjust", "MozFontSizeAdjust", "WebkitFontSizeAdjust", "MSFontSizeAdjust", "OFontSizeAdjust", "fontStretch", "MozFontStretch", "WebkitFontStretch", "MSFontStretch", "OFontStretch", "fontStyle", "MozFontStyle", "WebkitFontStyle", "MSFontStyle", "OFontStyle", "fontSynthesis", "MozFontSynthesis", "WebkitFontSynthesis", "MSFontSynthesis", "OFontSynthesis", "fontVariant", "MozFontVariant", "WebkitFontVariant", "MSFontVariant", "OFontVariant", "fontVariantAlternates", "MozFontVariantAlternates", "WebkitFontVariantAlternates", "MSFontVariantAlternates", "OFontVariantAlternates", "fontVariantCaps", "MozFontVariantCaps", "WebkitFontVariantCaps", "MSFontVariantCaps", "OFontVariantCaps", "fontVariantEastAsian", "MozFontVariantEastAsian", "WebkitFontVariantEastAsian", "MSFontVariantEastAsian", "OFontVariantEastAsian", "fontVariantLigatures", "MozFontVariantLigatures", "WebkitFontVariantLigatures", "MSFontVariantLigatures", "OFontVariantLigatures", "fontVariantNumeric", "MozFontVariantNumeric", "WebkitFontVariantNumeric", "MSFontVariantNumeric", "OFontVariantNumeric", "fontVariantPosition", "MozFontVariantPosition", "WebkitFontVariantPosition", "MSFontVariantPosition", "OFontVariantPosition", "fontWeight", "MozFontWeight", "WebkitFontWeight", "MSFontWeight", "OFontWeight", "fr", "MozFr", "WebkitFr", "MSFr", "OFr", "grad", "MozGrad", "WebkitGrad", "MSGrad", "OGrad", "grid", "MozGrid", "WebkitGrid", "MSGrid", "OGrid", "gridArea", "MozGridArea", "WebkitGridArea", "MSGridArea", "OGridArea", "gridAutoColumns", "MozGridAutoColumns", "WebkitGridAutoColumns", "MSGridAutoColumns", "OGridAutoColumns", "gridAutoFlow", "MozGridAutoFlow", "WebkitGridAutoFlow", "MSGridAutoFlow", "OGridAutoFlow", "gridAutoRows", "MozGridAutoRows", "WebkitGridAutoRows", "MSGridAutoRows", "OGridAutoRows", "gridColumn", "MozGridColumn", "WebkitGridColumn", "MSGridColumn", "OGridColumn", "gridColumnEnd", "MozGridColumnEnd", "WebkitGridColumnEnd", "MSGridColumnEnd", "OGridColumnEnd", "gridColumnGap", "MozGridColumnGap", "WebkitGridColumnGap", "MSGridColumnGap", "OGridColumnGap", "gridColumnStart", "MozGridColumnStart", "WebkitGridColumnStart", "MSGridColumnStart", "OGridColumnStart", "gridGap", "MozGridGap", "WebkitGridGap", "MSGridGap", "OGridGap", "gridRow", "MozGridRow", "WebkitGridRow", "MSGridRow", "OGridRow", "gridRowEnd", "MozGridRowEnd", "WebkitGridRowEnd", "MSGridRowEnd", "OGridRowEnd", "gridRowGap", "MozGridRowGap", "WebkitGridRowGap", "MSGridRowGap", "OGridRowGap", "gridRowStart", "MozGridRowStart", "WebkitGridRowStart", "MSGridRowStart", "OGridRowStart", "gridTemplate", "MozGridTemplate", "WebkitGridTemplate", "MSGridTemplate", "OGridTemplate", "gridTemplateAreas", "MozGridTemplateAreas", "WebkitGridTemplateAreas", "MSGridTemplateAreas", "OGridTemplateAreas", "gridTemplateColumns", "MozGridTemplateColumns", "WebkitGridTemplateColumns", "MSGridTemplateColumns", "OGridTemplateColumns", "gridTemplateRows", "MozGridTemplateRows", "WebkitGridTemplateRows", "MSGridTemplateRows", "OGridTemplateRows", "height", "MozHeight", "WebkitHeight", "MSHeight", "OHeight", "hyphens", "MozHyphens", "WebkitHyphens", "MSHyphens", "OHyphens", "hz", "MozHz", "WebkitHz", "MSHz", "OHz", "imageOrientation", "MozImageOrientation", "WebkitImageOrientation", "MSImageOrientation", "OImageOrientation", "imageRendering", "MozImageRendering", "WebkitImageRendering", "MSImageRendering", "OImageRendering", "imageResolution", "MozImageResolution", "WebkitImageResolution", "MSImageResolution", "OImageResolution", "imeMode", "MozImeMode", "WebkitImeMode", "MSImeMode", "OImeMode", "in", "MozIn", "WebkitIn", "MSIn", "OIn", "inherit", "MozInherit", "WebkitInherit", "MSInherit", "OInherit", "initial", "MozInitial", "WebkitInitial", "MSInitial", "OInitial", "inlineSize", "MozInlineSize", "WebkitInlineSize", "MSInlineSize", "OInlineSize", "isolation", "MozIsolation", "WebkitIsolation", "MSIsolation", "OIsolation", "justifyContent", "MozJustifyContent", "WebkitJustifyContent", "MSJustifyContent", "OJustifyContent", "khz", "MozKhz", "WebkitKhz", "MSKhz", "OKhz", "left", "MozLeft", "WebkitLeft", "MSLeft", "OLeft", "letterSpacing", "MozLetterSpacing", "WebkitLetterSpacing", "MSLetterSpacing", "OLetterSpacing", "lineBreak", "MozLineBreak", "WebkitLineBreak", "MSLineBreak", "OLineBreak", "lineHeight", "MozLineHeight", "WebkitLineHeight", "MSLineHeight", "OLineHeight", "listStyle", "MozListStyle", "WebkitListStyle", "MSListStyle", "OListStyle", "listStyleImage", "MozListStyleImage", "WebkitListStyleImage", "MSListStyleImage", "OListStyleImage", "listStylePosition", "MozListStylePosition", "WebkitListStylePosition", "MSListStylePosition", "OListStylePosition", "listStyleType", "MozListStyleType", "WebkitListStyleType", "MSListStyleType", "OListStyleType", "margin", "MozMargin", "WebkitMargin", "MSMargin", "OMargin", "marginBlockEnd", "MozMarginBlockEnd", "WebkitMarginBlockEnd", "MSMarginBlockEnd", "OMarginBlockEnd", "marginBlockStart", "MozMarginBlockStart", "WebkitMarginBlockStart", "MSMarginBlockStart", "OMarginBlockStart", "marginBottom", "MozMarginBottom", "WebkitMarginBottom", "MSMarginBottom", "OMarginBottom", "marginInlineEnd", "MozMarginInlineEnd", "WebkitMarginInlineEnd", "MSMarginInlineEnd", "OMarginInlineEnd", "marginInlineStart", "MozMarginInlineStart", "WebkitMarginInlineStart", "MSMarginInlineStart", "OMarginInlineStart", "marginLeft", "MozMarginLeft", "WebkitMarginLeft", "MSMarginLeft", "OMarginLeft", "marginRight", "MozMarginRight", "WebkitMarginRight", "MSMarginRight", "OMarginRight", "marginTop", "MozMarginTop", "WebkitMarginTop", "MSMarginTop", "OMarginTop", "mask", "MozMask", "WebkitMask", "MSMask", "OMask", "maskClip", "MozMaskClip", "WebkitMaskClip", "MSMaskClip", "OMaskClip", "maskComposite", "MozMaskComposite", "WebkitMaskComposite", "MSMaskComposite", "OMaskComposite", "maskImage", "MozMaskImage", "WebkitMaskImage", "MSMaskImage", "OMaskImage", "maskMode", "MozMaskMode", "WebkitMaskMode", "MSMaskMode", "OMaskMode", "maskOrigin", "MozMaskOrigin", "WebkitMaskOrigin", "MSMaskOrigin", "OMaskOrigin", "maskPosition", "MozMaskPosition", "WebkitMaskPosition", "MSMaskPosition", "OMaskPosition", "maskRepeat", "MozMaskRepeat", "WebkitMaskRepeat", "MSMaskRepeat", "OMaskRepeat", "maskSize", "MozMaskSize", "WebkitMaskSize", "MSMaskSize", "OMaskSize", "maskType", "MozMaskType", "WebkitMaskType", "MSMaskType", "OMaskType", "maxBlockSize", "MozMaxBlockSize", "WebkitMaxBlockSize", "MSMaxBlockSize", "OMaxBlockSize", "maxHeight", "MozMaxHeight", "WebkitMaxHeight", "MSMaxHeight", "OMaxHeight", "maxInlineSize", "MozMaxInlineSize", "WebkitMaxInlineSize", "MSMaxInlineSize", "OMaxInlineSize", "maxWidth", "MozMaxWidth", "WebkitMaxWidth", "MSMaxWidth", "OMaxWidth", "minBlockSize", "MozMinBlockSize", "WebkitMinBlockSize", "MSMinBlockSize", "OMinBlockSize", "minHeight", "MozMinHeight", "WebkitMinHeight", "MSMinHeight", "OMinHeight", "minInlineSize", "MozMinInlineSize", "WebkitMinInlineSize", "MSMinInlineSize", "OMinInlineSize", "minWidth", "MozMinWidth", "WebkitMinWidth", "MSMinWidth", "OMinWidth", "mixBlendMode", "MozMixBlendMode", "WebkitMixBlendMode", "MSMixBlendMode", "OMixBlendMode", "mm", "MozMm", "WebkitMm", "MSMm", "OMm", "ms", "MozMs", "WebkitMs", "MSMs", "OMs", "objectFit", "MozObjectFit", "WebkitObjectFit", "MSObjectFit", "OObjectFit", "objectPosition", "MozObjectPosition", "WebkitObjectPosition", "MSObjectPosition", "OObjectPosition", "offsetBlockEnd", "MozOffsetBlockEnd", "WebkitOffsetBlockEnd", "MSOffsetBlockEnd", "OOffsetBlockEnd", "offsetBlockStart", "MozOffsetBlockStart", "WebkitOffsetBlockStart", "MSOffsetBlockStart", "OOffsetBlockStart", "offsetInlineEnd", "MozOffsetInlineEnd", "WebkitOffsetInlineEnd", "MSOffsetInlineEnd", "OOffsetInlineEnd", "offsetInlineStart", "MozOffsetInlineStart", "WebkitOffsetInlineStart", "MSOffsetInlineStart", "OOffsetInlineStart", "opacity", "MozOpacity", "WebkitOpacity", "MSOpacity", "OOpacity", "order", "MozOrder", "WebkitOrder", "MSOrder", "OOrder", "orphans", "MozOrphans", "WebkitOrphans", "MSOrphans", "OOrphans", "outline", "MozOutline", "WebkitOutline", "MSOutline", "OOutline", "outlineColor", "MozOutlineColor", "WebkitOutlineColor", "MSOutlineColor", "OOutlineColor", "outlineOffset", "MozOutlineOffset", "WebkitOutlineOffset", "MSOutlineOffset", "OOutlineOffset", "outlineStyle", "MozOutlineStyle", "WebkitOutlineStyle", "MSOutlineStyle", "OOutlineStyle", "outlineWidth", "MozOutlineWidth", "WebkitOutlineWidth", "MSOutlineWidth", "OOutlineWidth", "overflow", "MozOverflow", "WebkitOverflow", "MSOverflow", "OOverflow", "overflowWrap", "MozOverflowWrap", "WebkitOverflowWrap", "MSOverflowWrap", "OOverflowWrap", "overflowX", "MozOverflowX", "WebkitOverflowX", "MSOverflowX", "OOverflowX", "overflowY", "MozOverflowY", "WebkitOverflowY", "MSOverflowY", "OOverflowY", "padding", "MozPadding", "WebkitPadding", "MSPadding", "OPadding", "paddingBlockEnd", "MozPaddingBlockEnd", "WebkitPaddingBlockEnd", "MSPaddingBlockEnd", "OPaddingBlockEnd", "paddingBlockStart", "MozPaddingBlockStart", "WebkitPaddingBlockStart", "MSPaddingBlockStart", "OPaddingBlockStart", "paddingBottom", "MozPaddingBottom", "WebkitPaddingBottom", "MSPaddingBottom", "OPaddingBottom", "paddingInlineEnd", "MozPaddingInlineEnd", "WebkitPaddingInlineEnd", "MSPaddingInlineEnd", "OPaddingInlineEnd", "paddingInlineStart", "MozPaddingInlineStart", "WebkitPaddingInlineStart", "MSPaddingInlineStart", "OPaddingInlineStart", "paddingLeft", "MozPaddingLeft", "WebkitPaddingLeft", "MSPaddingLeft", "OPaddingLeft", "paddingRight", "MozPaddingRight", "WebkitPaddingRight", "MSPaddingRight", "OPaddingRight", "paddingTop", "MozPaddingTop", "WebkitPaddingTop", "MSPaddingTop", "OPaddingTop", "pageBreakAfter", "MozPageBreakAfter", "WebkitPageBreakAfter", "MSPageBreakAfter", "OPageBreakAfter", "pageBreakBefore", "MozPageBreakBefore", "WebkitPageBreakBefore", "MSPageBreakBefore", "OPageBreakBefore", "pageBreakInside", "MozPageBreakInside", "WebkitPageBreakInside", "MSPageBreakInside", "OPageBreakInside", "pc", "MozPc", "WebkitPc", "MSPc", "OPc", "perspective", "MozPerspective", "WebkitPerspective", "MSPerspective", "OPerspective", "perspectiveOrigin", "MozPerspectiveOrigin", "WebkitPerspectiveOrigin", "MSPerspectiveOrigin", "OPerspectiveOrigin", "pointerEvents", "MozPointerEvents", "WebkitPointerEvents", "MSPointerEvents", "OPointerEvents", "position", "MozPosition", "WebkitPosition", "MSPosition", "OPosition", "pt", "MozPt", "WebkitPt", "MSPt", "OPt", "px", "MozPx", "WebkitPx", "MSPx", "OPx", "q", "MozQ", "WebkitQ", "MSQ", "OQ", "quotes", "MozQuotes", "WebkitQuotes", "MSQuotes", "OQuotes", "rad", "MozRad", "WebkitRad", "MSRad", "ORad", "rem", "MozRem", "WebkitRem", "MSRem", "ORem", "resize", "MozResize", "WebkitResize", "MSResize", "OResize", "revert", "MozRevert", "WebkitRevert", "MSRevert", "ORevert", "right", "MozRight", "WebkitRight", "MSRight", "ORight", "rubyAlign", "MozRubyAlign", "WebkitRubyAlign", "MSRubyAlign", "ORubyAlign", "rubyMerge", "MozRubyMerge", "WebkitRubyMerge", "MSRubyMerge", "ORubyMerge", "rubyPosition", "MozRubyPosition", "WebkitRubyPosition", "MSRubyPosition", "ORubyPosition", "s", "MozS", "WebkitS", "MSS", "OS", "scrollBehavior", "MozScrollBehavior", "WebkitScrollBehavior", "MSScrollBehavior", "OScrollBehavior", "scrollSnapCoordinate", "MozScrollSnapCoordinate", "WebkitScrollSnapCoordinate", "MSScrollSnapCoordinate", "OScrollSnapCoordinate", "scrollSnapDestination", "MozScrollSnapDestination", "WebkitScrollSnapDestination", "MSScrollSnapDestination", "OScrollSnapDestination", "scrollSnapType", "MozScrollSnapType", "WebkitScrollSnapType", "MSScrollSnapType", "OScrollSnapType", "shapeImageThreshold", "MozShapeImageThreshold", "WebkitShapeImageThreshold", "MSShapeImageThreshold", "OShapeImageThreshold", "shapeMargin", "MozShapeMargin", "WebkitShapeMargin", "MSShapeMargin", "OShapeMargin", "shapeOutside", "MozShapeOutside", "WebkitShapeOutside", "MSShapeOutside", "OShapeOutside", "tabSize", "MozTabSize", "WebkitTabSize", "MSTabSize", "OTabSize", "tableLayout", "MozTableLayout", "WebkitTableLayout", "MSTableLayout", "OTableLayout", "textAlign", "MozTextAlign", "WebkitTextAlign", "MSTextAlign", "OTextAlign", "textAlignLast", "MozTextAlignLast", "WebkitTextAlignLast", "MSTextAlignLast", "OTextAlignLast", "textCombineUpright", "MozTextCombineUpright", "WebkitTextCombineUpright", "MSTextCombineUpright", "OTextCombineUpright", "textDecoration", "MozTextDecoration", "WebkitTextDecoration", "MSTextDecoration", "OTextDecoration", "textDecorationColor", "MozTextDecorationColor", "WebkitTextDecorationColor", "MSTextDecorationColor", "OTextDecorationColor", "textDecorationLine", "MozTextDecorationLine", "WebkitTextDecorationLine", "MSTextDecorationLine", "OTextDecorationLine", "textDecorationStyle", "MozTextDecorationStyle", "WebkitTextDecorationStyle", "MSTextDecorationStyle", "OTextDecorationStyle", "textEmphasis", "MozTextEmphasis", "WebkitTextEmphasis", "MSTextEmphasis", "OTextEmphasis", "textEmphasisColor", "MozTextEmphasisColor", "WebkitTextEmphasisColor", "MSTextEmphasisColor", "OTextEmphasisColor", "textEmphasisPosition", "MozTextEmphasisPosition", "WebkitTextEmphasisPosition", "MSTextEmphasisPosition", "OTextEmphasisPosition", "textEmphasisStyle", "MozTextEmphasisStyle", "WebkitTextEmphasisStyle", "MSTextEmphasisStyle", "OTextEmphasisStyle", "textIndent", "MozTextIndent", "WebkitTextIndent", "MSTextIndent", "OTextIndent", "textOrientation", "MozTextOrientation", "WebkitTextOrientation", "MSTextOrientation", "OTextOrientation", "textOverflow", "MozTextOverflow", "WebkitTextOverflow", "MSTextOverflow", "OTextOverflow", "textRendering", "MozTextRendering", "WebkitTextRendering", "MSTextRendering", "OTextRendering", "textShadow", "MozTextShadow", "WebkitTextShadow", "MSTextShadow", "OTextShadow", "textTransform", "MozTextTransform", "WebkitTextTransform", "MSTextTransform", "OTextTransform", "textUnderlinePosition", "MozTextUnderlinePosition", "WebkitTextUnderlinePosition", "MSTextUnderlinePosition", "OTextUnderlinePosition", "top", "MozTop", "WebkitTop", "MSTop", "OTop", "touchAction", "MozTouchAction", "WebkitTouchAction", "MSTouchAction", "OTouchAction", "transform", "MozTransform", "WebkitTransform", "msTransform", "OTransform", "transformBox", "MozTransformBox", "WebkitTransformBox", "MSTransformBox", "OTransformBox", "transformOrigin", "MozTransformOrigin", "WebkitTransformOrigin", "MSTransformOrigin", "OTransformOrigin", "transformStyle", "MozTransformStyle", "WebkitTransformStyle", "MSTransformStyle", "OTransformStyle", "transition", "MozTransition", "WebkitTransition", "MSTransition", "OTransition", "transitionDelay", "MozTransitionDelay", "WebkitTransitionDelay", "MSTransitionDelay", "OTransitionDelay", "transitionDuration", "MozTransitionDuration", "WebkitTransitionDuration", "MSTransitionDuration", "OTransitionDuration", "transitionProperty", "MozTransitionProperty", "WebkitTransitionProperty", "MSTransitionProperty", "OTransitionProperty", "transitionTimingFunction", "MozTransitionTimingFunction", "WebkitTransitionTimingFunction", "MSTransitionTimingFunction", "OTransitionTimingFunction", "turn", "MozTurn", "WebkitTurn", "MSTurn", "OTurn", "unicodeBidi", "MozUnicodeBidi", "WebkitUnicodeBidi", "MSUnicodeBidi", "OUnicodeBidi", "unset", "MozUnset", "WebkitUnset", "MSUnset", "OUnset", "verticalAlign", "MozVerticalAlign", "WebkitVerticalAlign", "MSVerticalAlign", "OVerticalAlign", "vh", "MozVh", "WebkitVh", "MSVh", "OVh", "visibility", "MozVisibility", "WebkitVisibility", "MSVisibility", "OVisibility", "vmax", "MozVmax", "WebkitVmax", "MSVmax", "OVmax", "vmin", "MozVmin", "WebkitVmin", "MSVmin", "OVmin", "vw", "MozVw", "WebkitVw", "MSVw", "OVw", "whiteSpace", "MozWhiteSpace", "WebkitWhiteSpace", "MSWhiteSpace", "OWhiteSpace", "widows", "MozWidows", "WebkitWidows", "MSWidows", "OWidows", "width", "MozWidth", "WebkitWidth", "MSWidth", "OWidth", "willChange", "MozWillChange", "WebkitWillChange", "MSWillChange", "OWillChange", "wordBreak", "MozWordBreak", "WebkitWordBreak", "MSWordBreak", "OWordBreak", "wordSpacing", "MozWordSpacing", "WebkitWordSpacing", "MSWordSpacing", "OWordSpacing", "wordWrap", "MozWordWrap", "WebkitWordWrap", "MSWordWrap", "OWordWrap", "writingMode", "MozWritingMode", "WebkitWritingMode", "MSWritingMode", "OWritingMode", "zIndex", "MozZIndex", "WebkitZIndex", "MSZIndex", "OZIndex", "fontSize", "MozFontSize", "WebkitFontSize", "MSFontSize", "OFontSize", "flex", "MozFlex", "WebkitFlex", "MSFlex", "OFlex", "fr", "MozFr", "WebkitFr", "MSFr", "OFr"];
    }, function(A, u, a) {
      function s(P) {
        return P && P.__esModule ? P : { default: P };
      }
      function h(P, I) {
        var L = {};
        for (var R in P) I.indexOf(R) >= 0 || Object.prototype.hasOwnProperty.call(P, R) && (L[R] = P[R]);
        return L;
      }
      function E(P, I) {
        if (!(P instanceof I)) throw new TypeError("Cannot call a class as a function");
      }
      function f(P, I) {
        if (!P) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return !I || typeof I != "object" && typeof I != "function" ? P : I;
      }
      function S(P, I) {
        if (typeof I != "function" && I !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof I);
        P.prototype = Object.create(I && I.prototype, { constructor: { value: P, enumerable: !1, writable: !0, configurable: !0 } }), I && (Object.setPrototypeOf ? Object.setPrototypeOf(P, I) : P.__proto__ = I);
      }
      u.__esModule = !0;
      var _ = a(1), d = s(_), p = a(0), b = s(p), m = a(224), v = a(583), O = s(v), T = a(223), w = function(P) {
        function I(L) {
          E(this, I);
          var R = f(this, P.call(this, L));
          return R.handleSelected = function(q, B, j) {
            if (typeof R.props.onSelect != "function" || R.props.onSelect(q, B, j) !== !1) {
              var k = { focus: j.type === "keydown" };
              I.inUncontrolledMode(R.props) && (k.selectedIndex = q), R.setState(k);
            }
          }, R.state = I.copyPropsToState(R.props, {}, R.props.defaultFocus), R;
        }
        return S(I, P), I.prototype.componentWillReceiveProps = function(L) {
          if (I.inUncontrolledMode(L) !== I.inUncontrolledMode(this.props)) throw new Error("Switching between controlled mode (by using `selectedIndex`) and uncontrolled mode is not supported in `Tabs`.\nFor more information about controlled and uncontrolled mode of react-tabs see the README.");
          this.setState(function(R) {
            return I.copyPropsToState(L, R);
          });
        }, I.inUncontrolledMode = function(L) {
          return L.selectedIndex === null;
        }, I.copyPropsToState = function(L, R) {
          var q = arguments.length > 2 && arguments[2] !== void 0 && arguments[2], B = { focus: q };
          if (I.inUncontrolledMode(L)) {
            var j = (0, T.getTabsCount)(L.children) - 1, k = null;
            k = R.selectedIndex != null ? Math.min(R.selectedIndex, j) : L.defaultIndex || 0, B.selectedIndex = k;
          }
          return B;
        }, I.prototype.render = function() {
          var L = this.props, R = L.children, q = (L.defaultIndex, L.defaultFocus, h(L, ["children", "defaultIndex", "defaultFocus"]));
          return q.focus = this.state.focus, q.onSelect = this.handleSelected, this.state.selectedIndex != null && (q.selectedIndex = this.state.selectedIndex), b.default.createElement(O.default, q, R);
        }, I;
      }(p.Component);
      w.defaultProps = { defaultFocus: !1, forceRenderTabPanel: !1, selectedIndex: null, defaultIndex: null }, u.default = w, w.propTypes = { children: m.childrenPropType, className: d.default.oneOfType([d.default.string, d.default.array, d.default.object]), defaultFocus: d.default.bool, defaultIndex: d.default.number, disabledTabClassName: d.default.string, forceRenderTabPanel: d.default.bool, onSelect: m.onSelectPropType, selectedIndex: m.selectedIndexPropType, selectedTabClassName: d.default.string, selectedTabPanelClassName: d.default.string };
    }, function(A, u, a) {
      function s(X) {
        return X && X.__esModule ? X : { default: X };
      }
      function h(X, K) {
        var H = {};
        for (var Y in X) K.indexOf(Y) >= 0 || Object.prototype.hasOwnProperty.call(X, Y) && (H[Y] = X[Y]);
        return H;
      }
      function E(X, K) {
        if (!(X instanceof K)) throw new TypeError("Cannot call a class as a function");
      }
      function f(X, K) {
        if (!X) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return !K || typeof K != "object" && typeof K != "function" ? X : K;
      }
      function S(X, K) {
        if (typeof K != "function" && K !== null) throw new TypeError("Super expression must either be null or a function, not " + typeof K);
        X.prototype = Object.create(K && K.prototype, { constructor: { value: X, enumerable: !1, writable: !0, configurable: !0 } }), K && (Object.setPrototypeOf ? Object.setPrototypeOf(X, K) : X.__proto__ = K);
      }
      function _(X) {
        return X.nodeName === "LI" && X.getAttribute("role") === "tab";
      }
      function d(X) {
        return X.getAttribute("aria-disabled") === "true";
      }
      u.__esModule = !0;
      var p = Object.assign || function(X) {
        for (var K = 1; K < arguments.length; K++) {
          var H = arguments[K];
          for (var Y in H) Object.prototype.hasOwnProperty.call(H, Y) && (X[Y] = H[Y]);
        }
        return X;
      }, b = a(1), m = s(b), v = a(0), O = s(v), T = a(45), w = s(T), P = a(225), I = s(P), L = a(224), R = a(84), q = s(R), B = a(103), j = s(B), k = a(85), U = s(k), W = a(223), $ = a(150), V = !(typeof window > "u" || !window.document || !window.document.activeElement), G = function(X) {
        function K() {
          var H, Y, Q;
          E(this, K);
          for (var Z = arguments.length, J = Array(Z), ne = 0; ne < Z; ne++) J[ne] = arguments[ne];
          return H = Y = f(this, X.call.apply(X, [this].concat(J))), Y.tabNodes = [], Y.handleKeyDown = function(ie) {
            if (Y.isTabFromContainer(ie.target)) {
              var re = Y.props.selectedIndex, ee = !1;
              ie.keyCode === 37 || ie.keyCode === 38 ? (re = Y.getPrevTab(re), ee = !0) : ie.keyCode !== 39 && ie.keyCode !== 40 || (re = Y.getNextTab(re), ee = !0), ee && ie.preventDefault(), Y.setSelected(re, ie);
            }
          }, Y.handleClick = function(ie) {
            var re = ie.target;
            do
              if (Y.isTabFromContainer(re)) {
                if (d(re)) return;
                var ee = [].slice.call(re.parentNode.children).filter(_).indexOf(re);
                return void Y.setSelected(ee, ie);
              }
            while ((re = re.parentNode) !== null);
          }, Q = H, f(Y, Q);
        }
        return S(K, X), K.prototype.setSelected = function(H, Y) {
          H !== this.props.selectedIndex && (H < 0 || H >= this.getTabsCount() || this.props.onSelect(H, this.props.selectedIndex, Y));
        }, K.prototype.getNextTab = function(H) {
          for (var Y = this.getTabsCount(), Q = H + 1; Q < Y; Q++) if (!d(this.getTab(Q))) return Q;
          for (var Z = 0; Z < H; Z++) if (!d(this.getTab(Z))) return Z;
          return H;
        }, K.prototype.getPrevTab = function(H) {
          for (var Y = H; Y--; ) if (!d(this.getTab(Y))) return Y;
          for (Y = this.getTabsCount(); Y-- > H; ) if (!d(this.getTab(Y))) return Y;
          return H;
        }, K.prototype.getTabsCount = function() {
          return (0, W.getTabsCount)(this.props.children);
        }, K.prototype.getPanelsCount = function() {
          return (0, W.getPanelsCount)(this.props.children);
        }, K.prototype.getTab = function(H) {
          return this.tabNodes["tabs-" + H];
        }, K.prototype.getChildren = function() {
          var H = this, Y = 0, Q = this.props, Z = Q.children, J = Q.disabledTabClassName, ne = Q.focus, ie = Q.forceRenderTabPanel, re = Q.selectedIndex, ee = Q.selectedTabClassName, te = Q.selectedTabPanelClassName;
          this.tabIds = this.tabIds || [], this.panelIds = this.panelIds || [];
          for (var ue = this.tabIds.length - this.getTabsCount(); ue++ < 0; ) this.tabIds.push((0, I.default)()), this.panelIds.push((0, I.default)());
          return (0, $.deepMap)(Z, function(le) {
            var ae = le;
            if (le.type === j.default) {
              var ce = 0, pe = !1;
              V && (pe = O.default.Children.toArray(le.props.children).filter(function(he) {
                return he.type === q.default;
              }).some(function(he, Ee) {
                return document.activeElement === H.getTab(Ee);
              })), ae = (0, v.cloneElement)(le, { children: (0, $.deepMap)(le.props.children, function(he) {
                var Ee = "tabs-" + ce, ye = re === ce, _e = { tabRef: function(ge) {
                  H.tabNodes[Ee] = ge;
                }, id: H.tabIds[ce], panelId: H.panelIds[ce], selected: ye, focus: ye && (ne || pe) };
                return ee && (_e.selectedClassName = ee), J && (_e.disabledClassName = J), ce++, (0, v.cloneElement)(he, _e);
              }) });
            } else if (le.type === U.default) {
              var de = { id: H.panelIds[Y], tabId: H.tabIds[Y], selected: re === Y };
              ie && (de.forceRender = ie), te && (de.selectedClassName = te), Y++, ae = (0, v.cloneElement)(le, de);
            }
            return ae;
          });
        }, K.prototype.isTabFromContainer = function(H) {
          if (!_(H)) return !1;
          var Y = H.parentElement;
          do {
            if (Y === this.node) return !0;
            if (Y.getAttribute("data-tabs")) break;
            Y = Y.parentElement;
          } while (Y);
          return !1;
        }, K.prototype.render = function() {
          var H = this, Y = this.props, Q = (Y.children, Y.className), Z = (Y.disabledTabClassName, Y.focus, Y.forceRenderTabPanel, Y.onSelect, Y.selectedIndex, Y.selectedTabClassName, Y.selectedTabPanelClassName, h(Y, ["children", "className", "disabledTabClassName", "focus", "forceRenderTabPanel", "onSelect", "selectedIndex", "selectedTabClassName", "selectedTabPanelClassName"]));
          return O.default.createElement("div", p({}, Z, { className: (0, w.default)(Q), onClick: this.handleClick, onKeyDown: this.handleKeyDown, ref: function(J) {
            H.node = J;
          }, "data-tabs": !0 }), this.getChildren());
        }, K;
      }(v.Component);
      G.defaultProps = { className: "react-tabs", focus: !1 }, u.default = G, G.propTypes = { children: L.childrenPropType, className: m.default.oneOfType([m.default.string, m.default.array, m.default.object]), disabledTabClassName: m.default.string, focus: m.default.bool, forceRenderTabPanel: m.default.bool, onSelect: m.default.func.isRequired, selectedIndex: m.default.number.isRequired, selectedTabClassName: m.default.string, selectedTabPanelClassName: m.default.string };
    }, function(A, u, a) {
      function s(d) {
        return d && d.__esModule ? d : { default: d };
      }
      function h(d) {
        function p() {
          return (P.length - 1) * (v || 0) + P[P.length - 1].actions.length;
        }
        function b() {
          if (T != null && v != null) {
            var L = p() - T, R = Math.floor(L / v);
            R > 0 && (P.splice(0, R), I += R * v);
          }
        }
        var m = d.snapshotInterval, v = m === void 0 ? 20 : m, O = d.limit, T = O === void 0 ? 200 : O, w = void 0, P = [], I = 0;
        return { enhancer: function(L) {
          return function(R, q, B) {
            if (w) throw new Error("redux-action-log enhancer can not be re-used");
            w = L(R, q, B);
            var j = w, k = j.dispatch;
            return P.push({ state: q, actions: [] }), (0, _.default)({}, w, { dispatch: function(U) {
              var W = P[P.length - 1], $ = { action: U, timestamp: Date.now() };
              return W.actions.length === v ? P.push({ state: w.getState(), actions: [$] }) : W.actions.push($), b(), k(U);
            } });
          };
        }, setLimit: function(L) {
          T = L, b();
        }, getLog: function() {
          var L;
          return { initialState: P[0].state, skipped: I, actions: (L = []).concat.apply(L, (0, f.default)(P.map(function(R) {
            return R.actions;
          }))) };
        }, clear: function() {
          I += p(), P = [{ state: w.getState(), actions: [] }];
        } };
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(120), f = s(E), S = a(19), _ = s(S);
      u.createActionLog = h;
    }, function(A, u, a) {
      (function(s) {
        (function(h, E) {
          E(u);
        })(0, function(h) {
          function E(re, ee) {
            re.super_ = ee, re.prototype = Object.create(ee.prototype, { constructor: { value: re, enumerable: !1, writable: !0, configurable: !0 } });
          }
          function f(re, ee) {
            Object.defineProperty(this, "kind", { value: re, enumerable: !0 }), ee && ee.length && Object.defineProperty(this, "path", { value: ee, enumerable: !0 });
          }
          function S(re, ee, te) {
            S.super_.call(this, "E", re), Object.defineProperty(this, "lhs", { value: ee, enumerable: !0 }), Object.defineProperty(this, "rhs", { value: te, enumerable: !0 });
          }
          function _(re, ee) {
            _.super_.call(this, "N", re), Object.defineProperty(this, "rhs", { value: ee, enumerable: !0 });
          }
          function d(re, ee) {
            d.super_.call(this, "D", re), Object.defineProperty(this, "lhs", { value: ee, enumerable: !0 });
          }
          function p(re, ee, te) {
            p.super_.call(this, "A", re), Object.defineProperty(this, "index", { value: ee, enumerable: !0 }), Object.defineProperty(this, "item", { value: te, enumerable: !0 });
          }
          function b(re, ee, te) {
            var ue = re.slice(ee + 1 || re.length);
            return re.length = ee < 0 ? re.length + ee : ee, re.push.apply(re, ue), re;
          }
          function m(re) {
            var ee = re === void 0 ? "undefined" : Y(re);
            return ee !== "object" ? ee : re === Math ? "math" : re === null ? "null" : Array.isArray(re) ? "array" : Object.prototype.toString.call(re) === "[object Date]" ? "date" : typeof re.toString == "function" && /^\/.*\//.test(re.toString()) ? "regexp" : "object";
          }
          function v(re, ee, te, ue, le, ae, ce) {
            le = le || [], ce = ce || [];
            var pe = le.slice(0);
            if (ae !== void 0) {
              if (ue) {
                if (typeof ue == "function" && ue(pe, ae)) return;
                if ((ue === void 0 ? "undefined" : Y(ue)) === "object") {
                  if (ue.prefilter && ue.prefilter(pe, ae)) return;
                  if (ue.normalize) {
                    var de = ue.normalize(pe, ae, re, ee);
                    de && (re = de[0], ee = de[1]);
                  }
                }
              }
              pe.push(ae);
            }
            m(re) === "regexp" && m(ee) === "regexp" && (re = re.toString(), ee = ee.toString());
            var he = re === void 0 ? "undefined" : Y(re), Ee = ee === void 0 ? "undefined" : Y(ee), ye = he !== "undefined" || ce && ce[ce.length - 1].lhs && ce[ce.length - 1].lhs.hasOwnProperty(ae), _e = Ee !== "undefined" || ce && ce[ce.length - 1].rhs && ce[ce.length - 1].rhs.hasOwnProperty(ae);
            if (!ye && _e) te(new _(pe, ee));
            else if (!_e && ye) te(new d(pe, re));
            else if (m(re) !== m(ee)) te(new S(pe, re, ee));
            else if (m(re) === "date" && re - ee != 0) te(new S(pe, re, ee));
            else if (he === "object" && re !== null && ee !== null) if (ce.filter(function(De) {
              return De.lhs === re;
            }).length) re !== ee && te(new S(pe, re, ee));
            else {
              if (ce.push({ lhs: re, rhs: ee }), Array.isArray(re)) {
                var ge;
                for (re.length, ge = 0; ge < re.length; ge++) ge >= ee.length ? te(new p(pe, ge, new d(void 0, re[ge]))) : v(re[ge], ee[ge], te, ue, pe, ge, ce);
                for (; ge < ee.length; ) te(new p(pe, ge, new _(void 0, ee[ge++])));
              } else {
                var Me = Object.keys(re), Te = Object.keys(ee);
                Me.forEach(function(De, oe) {
                  var se = Te.indexOf(De);
                  se >= 0 ? (v(re[De], ee[De], te, ue, pe, De, ce), Te = b(Te, se)) : v(re[De], void 0, te, ue, pe, De, ce);
                }), Te.forEach(function(De) {
                  v(void 0, ee[De], te, ue, pe, De, ce);
                });
              }
              ce.length = ce.length - 1;
            }
            else re !== ee && (he === "number" && isNaN(re) && isNaN(ee) || te(new S(pe, re, ee)));
          }
          function O(re, ee, te, ue) {
            return ue = ue || [], v(re, ee, function(le) {
              le && ue.push(le);
            }, te), ue.length ? ue : void 0;
          }
          function T(re, ee, te) {
            if (te.path && te.path.length) {
              var ue, le = re[ee], ae = te.path.length - 1;
              for (ue = 0; ue < ae; ue++) le = le[te.path[ue]];
              switch (te.kind) {
                case "A":
                  T(le[te.path[ue]], te.index, te.item);
                  break;
                case "D":
                  delete le[te.path[ue]];
                  break;
                case "E":
                case "N":
                  le[te.path[ue]] = te.rhs;
              }
            } else switch (te.kind) {
              case "A":
                T(re[ee], te.index, te.item);
                break;
              case "D":
                re = b(re, ee);
                break;
              case "E":
              case "N":
                re[ee] = te.rhs;
            }
            return re;
          }
          function w(re, ee, te) {
            if (re && ee && te && te.kind) {
              for (var ue = re, le = -1, ae = te.path ? te.path.length - 1 : 0; ++le < ae; ) ue[te.path[le]] === void 0 && (ue[te.path[le]] = typeof te.path[le] == "number" ? [] : {}), ue = ue[te.path[le]];
              switch (te.kind) {
                case "A":
                  T(te.path ? ue[te.path[le]] : ue, te.index, te.item);
                  break;
                case "D":
                  delete ue[te.path[le]];
                  break;
                case "E":
                case "N":
                  ue[te.path[le]] = te.rhs;
              }
            }
          }
          function P(re, ee, te) {
            if (te.path && te.path.length) {
              var ue, le = re[ee], ae = te.path.length - 1;
              for (ue = 0; ue < ae; ue++) le = le[te.path[ue]];
              switch (te.kind) {
                case "A":
                  P(le[te.path[ue]], te.index, te.item);
                  break;
                case "D":
                case "E":
                  le[te.path[ue]] = te.lhs;
                  break;
                case "N":
                  delete le[te.path[ue]];
              }
            } else switch (te.kind) {
              case "A":
                P(re[ee], te.index, te.item);
                break;
              case "D":
              case "E":
                re[ee] = te.lhs;
                break;
              case "N":
                re = b(re, ee);
            }
            return re;
          }
          function I(re, ee, te) {
            if (re && ee && te && te.kind) {
              var ue, le, ae = re;
              for (le = te.path.length - 1, ue = 0; ue < le; ue++) ae[te.path[ue]] === void 0 && (ae[te.path[ue]] = {}), ae = ae[te.path[ue]];
              switch (te.kind) {
                case "A":
                  P(ae[te.path[ue]], te.index, te.item);
                  break;
                case "D":
                case "E":
                  ae[te.path[ue]] = te.lhs;
                  break;
                case "N":
                  delete ae[te.path[ue]];
              }
            }
          }
          function L(re, ee, te) {
            re && ee && v(re, ee, function(ue) {
              te && !te(re, ee, ue) || w(re, ee, ue);
            });
          }
          function R(re) {
            return "color: " + J[re].color + "; font-weight: bold";
          }
          function q(re) {
            var ee = re.kind, te = re.path, ue = re.lhs, le = re.rhs, ae = re.index, ce = re.item;
            switch (ee) {
              case "E":
                return [te.join("."), ue, "→", le];
              case "N":
                return [te.join("."), le];
              case "D":
                return [te.join(".")];
              case "A":
                return [te.join(".") + "[" + ae + "]", ce];
              default:
                return [];
            }
          }
          function B(re, ee, te, ue) {
            var le = O(re, ee);
            try {
              ue ? te.groupCollapsed("diff") : te.group("diff");
            } catch {
              te.log("diff");
            }
            le ? le.forEach(function(ae) {
              var ce = ae.kind, pe = q(ae);
              te.log.apply(te, ["%c " + J[ce].text, R(ce)].concat(Q(pe)));
            }) : te.log("—— no diff ——");
            try {
              te.groupEnd();
            } catch {
              te.log("—— diff end —— ");
            }
          }
          function j(re, ee, te, ue) {
            switch (re === void 0 ? "undefined" : Y(re)) {
              case "object":
                return typeof re[ue] == "function" ? re[ue].apply(re, Q(te)) : re[ue];
              case "function":
                return re(ee);
              default:
                return re;
            }
          }
          function k(re) {
            var ee = re.timestamp, te = re.duration;
            return function(ue, le, ae) {
              var ce = ["action"];
              return ce.push("%c" + String(ue.type)), ee && ce.push("%c@ " + le), te && ce.push("%c(in " + ae.toFixed(2) + " ms)"), ce.join(" ");
            };
          }
          function U(re, ee) {
            var te = ee.logger, ue = ee.actionTransformer, le = ee.titleFormatter, ae = le === void 0 ? k(ee) : le, ce = ee.collapsed, pe = ee.colors, de = ee.level, he = ee.diff, Ee = ee.titleFormatter === void 0;
            re.forEach(function(ye, _e) {
              var ge = ye.started, Me = ye.startedTime, Te = ye.action, De = ye.prevState, oe = ye.error, se = ye.took, fe = ye.nextState, be = re[_e + 1];
              be && (fe = be.prevState, se = be.started - ge);
              var Se = ue(Te), Ae = typeof ce == "function" ? ce(function() {
                return fe;
              }, Te, ye) : ce, ze = K(Me), Oe = pe.title ? "color: " + pe.title(Se) + ";" : "", we = ["color: gray; font-weight: lighter;"];
              we.push(Oe), ee.timestamp && we.push("color: gray; font-weight: lighter;"), ee.duration && we.push("color: gray; font-weight: lighter;");
              var Ve = ae(Se, ze, se);
              try {
                Ae ? pe.title && Ee ? te.groupCollapsed.apply(te, ["%c " + Ve].concat(we)) : te.groupCollapsed(Ve) : pe.title && Ee ? te.group.apply(te, ["%c " + Ve].concat(we)) : te.group(Ve);
              } catch {
                te.log(Ve);
              }
              var Ye = j(de, Se, [De], "prevState"), xe = j(de, Se, [Se], "action"), je = j(de, Se, [oe, De], "error"), Dt = j(de, Se, [fe], "nextState");
              if (Ye) if (pe.prevState) {
                var dr = "color: " + pe.prevState(De) + "; font-weight: bold";
                te[Ye]("%c prev state", dr, De);
              } else te[Ye]("prev state", De);
              if (xe) if (pe.action) {
                var ke = "color: " + pe.action(Se) + "; font-weight: bold";
                te[xe]("%c action    ", ke, Se);
              } else te[xe]("action    ", Se);
              if (oe && je) if (pe.error) {
                var Ie = "color: " + pe.error(oe, De) + "; font-weight: bold;";
                te[je]("%c error     ", Ie, oe);
              } else te[je]("error     ", oe);
              if (Dt) if (pe.nextState) {
                var He = "color: " + pe.nextState(fe) + "; font-weight: bold";
                te[Dt]("%c next state", He, fe);
              } else te[Dt]("next state", fe);
              he && B(De, fe, te, Ae);
              try {
                te.groupEnd();
              } catch {
                te.log("—— log end ——");
              }
            });
          }
          function W() {
            var re = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, ee = Object.assign({}, ne, re), te = ee.logger, ue = ee.stateTransformer, le = ee.errorTransformer, ae = ee.predicate, ce = ee.logErrors, pe = ee.diffPredicate;
            if (te === void 0) return function() {
              return function(he) {
                return function(Ee) {
                  return he(Ee);
                };
              };
            };
            if (re.getState && re.dispatch) return console.error(`[redux-logger] redux-logger not installed. Make sure to pass logger instance as middleware:
// Logger with default options
import { logger } from 'redux-logger'
const store = createStore(
  reducer,
  applyMiddleware(logger)
)
// Or you can create your own logger with custom options http://bit.ly/redux-logger-options
import createLogger from 'redux-logger'
const logger = createLogger({
  // ...options
});
const store = createStore(
  reducer,
  applyMiddleware(logger)
)
`), function() {
              return function(he) {
                return function(Ee) {
                  return he(Ee);
                };
              };
            };
            var de = [];
            return function(he) {
              var Ee = he.getState;
              return function(ye) {
                return function(_e) {
                  if (typeof ae == "function" && !ae(Ee, _e)) return ye(_e);
                  var ge = {};
                  de.push(ge), ge.started = H.now(), ge.startedTime = /* @__PURE__ */ new Date(), ge.prevState = ue(Ee()), ge.action = _e;
                  var Me = void 0;
                  if (ce) try {
                    Me = ye(_e);
                  } catch (De) {
                    ge.error = le(De);
                  }
                  else Me = ye(_e);
                  ge.took = H.now() - ge.started, ge.nextState = ue(Ee());
                  var Te = ee.diff && typeof pe == "function" ? pe(Ee, _e) : ee.diff;
                  if (U(de, Object.assign({}, ee, { diff: Te })), de.length = 0, ge.error) throw ge.error;
                  return Me;
                };
              };
            };
          }
          var $, V, G = function(re, ee) {
            return new Array(ee + 1).join(re);
          }, X = function(re, ee) {
            return G("0", ee - re.toString().length) + re;
          }, K = function(re) {
            return X(re.getHours(), 2) + ":" + X(re.getMinutes(), 2) + ":" + X(re.getSeconds(), 2) + "." + X(re.getMilliseconds(), 3);
          }, H = typeof performance < "u" && performance !== null && typeof performance.now == "function" ? performance : Date, Y = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(re) {
            return typeof re;
          } : function(re) {
            return re && typeof Symbol == "function" && re.constructor === Symbol && re !== Symbol.prototype ? "symbol" : typeof re;
          }, Q = function(re) {
            if (Array.isArray(re)) {
              for (var ee = 0, te = Array(re.length); ee < re.length; ee++) te[ee] = re[ee];
              return te;
            }
            return Array.from(re);
          }, Z = [];
          $ = (s === void 0 ? "undefined" : Y(s)) === "object" && s ? s : typeof window < "u" ? window : {}, V = $.DeepDiff, V && Z.push(function() {
            V !== void 0 && $.DeepDiff === O && ($.DeepDiff = V, V = void 0);
          }), E(S, f), E(_, f), E(d, f), E(p, f), Object.defineProperties(O, { diff: { value: O, enumerable: !0 }, observableDiff: { value: v, enumerable: !0 }, applyDiff: { value: L, enumerable: !0 }, applyChange: { value: w, enumerable: !0 }, revertChange: { value: I, enumerable: !0 }, isConflict: { value: function() {
            return V !== void 0;
          }, enumerable: !0 }, noConflict: { value: function() {
            return Z && (Z.forEach(function(re) {
              re();
            }), Z = null), O;
          }, enumerable: !0 } });
          var J = { E: { color: "#2196F3", text: "CHANGED:" }, N: { color: "#4CAF50", text: "ADDED:" }, D: { color: "#F44336", text: "DELETED:" }, A: { color: "#2196F3", text: "ARRAY:" } }, ne = { level: "log", logger: console, logErrors: !0, collapsed: void 0, predicate: void 0, duration: !1, timestamp: !0, stateTransformer: function(re) {
            return re;
          }, actionTransformer: function(re) {
            return re;
          }, errorTransformer: function(re) {
            return re;
          }, colors: { title: function() {
            return "inherit";
          }, prevState: function() {
            return "#9E9E9E";
          }, action: function() {
            return "#03A9F4";
          }, nextState: function() {
            return "#4CAF50";
          }, error: function() {
            return "#F20404";
          } }, diff: !1, diffPredicate: void 0, transformer: void 0 }, ie = function() {
            var re = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, ee = re.dispatch, te = re.getState;
            return typeof ee == "function" || typeof te == "function" ? W()({ dispatch: ee, getState: te }) : void console.error(`
[redux-logger v3] BREAKING CHANGE
[redux-logger v3] Since 3.0.0 redux-logger exports by default logger with default settings.
[redux-logger v3] Change
[redux-logger v3] import createLogger from 'redux-logger'
[redux-logger v3] to
[redux-logger v3] import { createLogger } from 'redux-logger'
`);
          };
          h.defaults = ne, h.createLogger = W, h.logger = ie, h.default = ie, Object.defineProperty(h, "__esModule", { value: !0 });
        });
      }).call(u, a(72));
    }, function(A, u) {
      A.exports = function(a, s, h, E) {
        var f = h ? h.call(E, a, s) : void 0;
        if (f !== void 0) return !!f;
        if (a === s) return !0;
        if (typeof a != "object" || !a || typeof s != "object" || !s) return !1;
        var S = Object.keys(a), _ = Object.keys(s);
        if (S.length !== _.length) return !1;
        for (var d = Object.prototype.hasOwnProperty.bind(s), p = 0; p < S.length; p++) {
          var b = S[p];
          if (!d(b)) return !1;
          var m = a[b], v = s[b];
          if ((f = h ? h.call(E, m, v, b) : void 0) === !1 || f === void 0 && m !== v) return !1;
        }
        return !0;
      };
    }, function(A, u, a) {
      var s = a(228);
      A.exports = function(h, E, f) {
        return f === void 0 ? s(h, E, !1) : s(h, f, E !== !1);
      };
    }, function(A, u, a) {
      var s = a(228), h = a(587);
      A.exports = { throttle: s, debounce: h };
    }, function(A, u, a) {
      function s(E, f) {
        this._id = E, this._clearFn = f;
      }
      var h = Function.prototype.apply;
      u.setTimeout = function() {
        return new s(h.call(setTimeout, window, arguments), clearTimeout);
      }, u.setInterval = function() {
        return new s(h.call(setInterval, window, arguments), clearInterval);
      }, u.clearTimeout = u.clearInterval = function(E) {
        E && E.close();
      }, s.prototype.unref = s.prototype.ref = function() {
      }, s.prototype.close = function() {
        this._clearFn.call(window, this._id);
      }, u.enroll = function(E, f) {
        clearTimeout(E._idleTimeoutId), E._idleTimeout = f;
      }, u.unenroll = function(E) {
        clearTimeout(E._idleTimeoutId), E._idleTimeout = -1;
      }, u._unrefActive = u.active = function(E) {
        clearTimeout(E._idleTimeoutId);
        var f = E._idleTimeout;
        f >= 0 && (E._idleTimeoutId = setTimeout(function() {
          E._onTimeout && E._onTimeout();
        }, f));
      }, a(227), u.setImmediate = setImmediate, u.clearImmediate = clearImmediate;
    }, function(A, u) {
      A.exports = function() {
        var a = document.getSelection();
        if (!a.rangeCount) return function() {
        };
        for (var s = document.activeElement, h = [], E = 0; E < a.rangeCount; E++) h.push(a.getRangeAt(E));
        switch (s.tagName.toUpperCase()) {
          case "INPUT":
          case "TEXTAREA":
            s.blur();
            break;
          default:
            s = null;
        }
        return a.removeAllRanges(), function() {
          a.type === "Caret" && a.removeAllRanges(), a.rangeCount || h.forEach(function(f) {
            a.addRange(f);
          }), s && s.focus();
        };
      };
    }, function(A, u, a) {
      A.exports = { isString: function(s) {
        return typeof s == "string";
      }, isObject: function(s) {
        return typeof s == "object" && s !== null;
      }, isNull: function(s) {
        return s === null;
      }, isNullOrUndefined: function(s) {
        return s == null;
      } };
    }, function(A, u) {
      typeof Object.create == "function" ? A.exports = function(a, s) {
        a.super_ = s, a.prototype = Object.create(s.prototype, { constructor: { value: a, enumerable: !1, writable: !0, configurable: !0 } });
      } : A.exports = function(a, s) {
        a.super_ = s;
        var h = function() {
        };
        h.prototype = s.prototype, a.prototype = new h(), a.prototype.constructor = a;
      };
    }, function(A, u) {
      A.exports = function(a) {
        return a && typeof a == "object" && typeof a.copy == "function" && typeof a.fill == "function" && typeof a.readUInt8 == "function";
      };
    }, function(A, u, a) {
      function s(j) {
        return b.hasOwnProperty(j);
      }
      function h(j, k, U, W, $) {
        for (var V, G = 0, X = j.length; k < X; ++k) {
          if (V = j[k], !G && V === U) return k;
          $ && $.indexOf(V) >= 0 ? --G : W && W.indexOf(V) >= 0 && ++G;
        }
        return k;
      }
      function E(j) {
        for (var k = [], U = 0, W = j.length, $ = 0; $ < W; ) $ = h(j, $, I, v + T, O + w), k.push(j.substring(U, $).trim()), U = ++$;
        if (k.length === 0) throw "Empty event selector: " + j;
        return k;
      }
      function f(j) {
        return j[0] === "[" ? S(j) : _(j);
      }
      function S(j) {
        var k, U, W = j.length, $ = 1;
        if (($ = h(j, $, O, v, O)) === W) throw "Empty between selector: " + j;
        if (k = E(j.substring(1, $)), k.length !== 2) throw "Between selector must have two elements: " + j;
        if (j = j.slice($ + 1).trim(), j[0] !== R) throw "Expected '>' after between selector: " + j;
        return k = k.map(f), U = f(j.slice(1).trim()), U.between ? { between: k, stream: U } : (U.between = k, U);
      }
      function _(j) {
        var k, U, W = { source: p }, $ = [], V = [0, 0], G = 0, X = 0, K = j.length, H = 0;
        if (j[K - 1] === w) {
          if (!((H = j.lastIndexOf(T)) >= 0)) throw "Unmatched right brace: " + j;
          try {
            V = d(j.substring(H + 1, K - 1));
          } catch {
            throw "Invalid throttle specification: " + j;
          }
          j = j.slice(0, H).trim(), K = j.length, H = 0;
        }
        if (!K) throw j;
        if (j[0] === L && (G = ++H), k = h(j, H, P), k < K && ($.push(j.substring(X, k).trim()), X = H = ++k), (H = h(j, H, v)) === K) $.push(j.substring(X, K).trim());
        else if ($.push(j.substring(X, H).trim()), U = [], (X = ++H) === K) throw "Unmatched left bracket: " + j;
        for (; H < K; ) {
          if ((H = h(j, H, O)) === K) throw "Unmatched left bracket: " + j;
          if (U.push(j.substring(X, H).trim()), H < K - 1 && j[++H] !== v) throw "Expected left bracket: " + j;
          X = ++H;
        }
        if (!(K = $.length) || q.test($[K - 1])) throw "Invalid event selector: " + j;
        return K > 1 ? (W.type = $[1], G ? W.markname = $[0].slice(1) : s($[0]) ? W.marktype = $[0] : W.source = $[0]) : W.type = $[0], W.type.slice(-1) === "!" && (W.consume = !0, W.type = W.type.slice(0, -1)), U != null && (W.filter = U), V[0] && (W.throttle = V[0]), V[1] && (W.debounce = V[1]), W;
      }
      function d(j) {
        var k = j.split(I);
        if (!j.length || k.length > 2) throw j;
        return k.map(function(U) {
          var W = +U;
          if (W !== W) throw j;
          return W;
        });
      }
      u.a = function(j, k, U) {
        return p = k || m, b = U || B, E(j.trim()).map(f);
      };
      var p, b, m = "view", v = "[", O = "]", T = "{", w = "}", P = ":", I = ",", L = "@", R = ">", q = /[[\]{}]/, B = { "*": 1, arc: 1, area: 1, group: 1, image: 1, line: 1, path: 1, rect: 1, rule: 1, shape: 1, symbol: 1, text: 1, trail: 1 };
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(239);
      a.d(u, "ASTNode", function() {
        return s.a;
      });
      var h = a(619);
      a.d(u, "parse", function() {
        return h.a;
      });
      var E = a(618);
      a.d(u, "codegen", function() {
        return E.a;
      });
      var f = a(241);
      a.d(u, "functions", function() {
        return f.a;
      });
      var S = a(240);
      a.d(u, "constants", function() {
        return S.a;
      });
    }, function(A, u, a) {
      var s = a(87), h = a(232), E = [];
      a.i(h.a)("id"), a.i(s.a)(function(f) {
        return f;
      }, E, "identity"), a.i(s.a)(function() {
        return 0;
      }, E, "zero"), a.i(s.a)(function() {
        return 1;
      }, E, "one"), a.i(s.a)(function() {
        return !0;
      }, E, "true"), a.i(s.a)(function() {
        return !1;
      }, E, "false");
    }, function(A, u, a) {
      a(87), a(153), a(104), a(105);
    }, function(A, u, a) {
      a(234);
    }, function(A, u, a) {
    }, function(A, u, a) {
    }, function(A, u, a) {
    }, function(A, u, a) {
    }, function(A, u, a) {
    }, function(A, u, a) {
    }, function(A, u, a) {
    }, function(A, u, a) {
      a(87), a(153), a(104), a(105);
    }, function(A, u, a) {
    }, function(A, u, a) {
    }, function(A, u, a) {
      a(238);
    }, function(A, u, a) {
    }, function(A, u, a) {
    }, function(A, u, a) {
      a(233), a(235);
    }, function(A, u, a) {
    }, function(A, u, a) {
      u.a = function(s) {
        for (var h = {}, E = 0, f = s.length; E < f; ++E) h[s[E]] = 1;
        return h;
      };
    }, function(A, u, a) {
    }, function(A, u, a) {
    }, function(A, u, a) {
    }, function(A, u, a) {
      var s = a(240), h = a(241), E = a(230);
      u.a = function(f) {
        function S(R) {
          if (a.i(E.d)(R)) return R;
          var q = L[R.type];
          return q == null && a.i(E.a)("Unsupported type: " + R.type), q(R);
        }
        function _(R) {
          var q = { code: S(R), globals: Object.keys(T), fields: Object.keys(w) };
          return T = {}, w = {}, q;
        }
        f = f || {};
        var d = f.whitelist ? a.i(E.b)(f.whitelist) : {}, p = f.blacklist ? a.i(E.b)(f.blacklist) : {}, b = f.constants || s.a, m = (f.functions || h.a)(S), v = f.globalvar, O = f.fieldvar, T = {}, w = {}, P = 0, I = a.i(E.c)(v) ? v : function(R) {
          return v + '["' + R + '"]';
        }, L = { Literal: function(R) {
          return R.raw;
        }, Identifier: function(R) {
          var q = R.name;
          return P > 0 ? q : p.hasOwnProperty(q) ? a.i(E.a)("Illegal identifier: " + q) : b.hasOwnProperty(q) ? b[q] : d.hasOwnProperty(q) ? q : (T[q] = 1, I(q));
        }, MemberExpression: function(R) {
          var q = !R.computed, B = S(R.object);
          q && (P += 1);
          var j = S(R.property);
          return B === O && (w[j] = 1), q && (P -= 1), B + (q ? "." + j : "[" + j + "]");
        }, CallExpression: function(R) {
          R.callee.type !== "Identifier" && a.i(E.a)("Illegal callee type: " + R.callee.type);
          var q = R.callee.name, B = R.arguments, j = m.hasOwnProperty(q) && m[q];
          return j || a.i(E.a)("Unrecognized function: " + q), a.i(E.c)(j) ? j(B) : j + "(" + B.map(S).join(",") + ")";
        }, ArrayExpression: function(R) {
          return "[" + R.elements.map(S).join(",") + "]";
        }, BinaryExpression: function(R) {
          return "(" + S(R.left) + R.operator + S(R.right) + ")";
        }, UnaryExpression: function(R) {
          return "(" + R.operator + S(R.argument) + ")";
        }, ConditionalExpression: function(R) {
          return "(" + S(R.test) + "?" + S(R.consequent) + ":" + S(R.alternate) + ")";
        }, LogicalExpression: function(R) {
          return "(" + S(R.left) + R.operator + S(R.right) + ")";
        }, ObjectExpression: function(R) {
          return "{" + R.properties.map(S).join(",") + "}";
        }, Property: function(R) {
          P += 1;
          var q = S(R.key);
          return P -= 1, q + ":" + S(R.value);
        } };
        return _.functions = m, _.constants = b, _;
      };
    }, function(A, u, a) {
      function s(ve, Re) {
        if (!ve) throw new Error("ASSERT: " + Re);
      }
      function h(ve) {
        return ve >= 48 && ve <= 57;
      }
      function E(ve) {
        return "0123456789abcdefABCDEF".indexOf(ve) >= 0;
      }
      function f(ve) {
        return "01234567".indexOf(ve) >= 0;
      }
      function S(ve) {
        return ve === 32 || ve === 9 || ve === 11 || ve === 12 || ve === 160 || ve >= 5760 && [5760, 6158, 8192, 8193, 8194, 8195, 8196, 8197, 8198, 8199, 8200, 8201, 8202, 8239, 8287, 12288, 65279].indexOf(ve) >= 0;
      }
      function _(ve) {
        return ve === 10 || ve === 13 || ve === 8232 || ve === 8233;
      }
      function d(ve) {
        return ve === 36 || ve === 95 || ve >= 65 && ve <= 90 || ve >= 97 && ve <= 122 || ve === 92 || ve >= 128 && cp.test(String.fromCharCode(ve));
      }
      function p(ve) {
        return ve === 36 || ve === 95 || ve >= 65 && ve <= 90 || ve >= 97 && ve <= 122 || ve >= 48 && ve <= 57 || ve === 92 || ve >= 128 && fp.test(String.fromCharCode(ve));
      }
      function b() {
        for (var ve; we < Ve && (ve = Oe.charCodeAt(we), S(ve) || _(ve)); ) ++we;
      }
      function m(ve) {
        var Re, Le, Je, ct = 0;
        for (Le = ve === "u" ? 4 : 2, Re = 0; Re < Le; ++Re) we < Ve && E(Oe[we]) ? (Je = Oe[we++], ct = 16 * ct + "0123456789abcdef".indexOf(Je.toLowerCase())) : ee({}, Or, Tr);
        return String.fromCharCode(ct);
      }
      function v() {
        var ve, Re, Le, Je;
        for (ve = Oe[we], Re = 0, ve === "}" && ee({}, Or, Tr); we < Ve && (ve = Oe[we++], E(ve)); ) Re = 16 * Re + "0123456789abcdef".indexOf(ve.toLowerCase());
        return (Re > 1114111 || ve !== "}") && ee({}, Or, Tr), Re <= 65535 ? String.fromCharCode(Re) : (Le = 55296 + (Re - 65536 >> 10), Je = 56320 + (Re - 65536 & 1023), String.fromCharCode(Le, Je));
      }
      function O() {
        var ve, Re;
        for (ve = Oe.charCodeAt(we++), Re = String.fromCharCode(ve), ve === 92 && (Oe.charCodeAt(we) !== 117 && ee({}, Or, Tr), ++we, ve = m("u"), ve && ve !== "\\" && d(ve.charCodeAt(0)) || ee({}, Or, Tr), Re = ve); we < Ve && (ve = Oe.charCodeAt(we), p(ve)); ) ++we, Re += String.fromCharCode(ve), ve === 92 && (Re = Re.substr(0, Re.length - 1), Oe.charCodeAt(we) !== 117 && ee({}, Or, Tr), ++we, ve = m("u"), ve && ve !== "\\" && p(ve.charCodeAt(0)) || ee({}, Or, Tr), Re += ve);
        return Re;
      }
      function T() {
        var ve, Re;
        for (ve = we++; we < Ve; ) {
          if ((Re = Oe.charCodeAt(we)) === 92) return we = ve, O();
          if (!p(Re)) break;
          ++we;
        }
        return Oe.slice(ve, we);
      }
      function w() {
        var ve, Re, Le;
        return ve = we, Re = Oe.charCodeAt(we) === 92 ? O() : T(), Le = Re.length === 1 ? dr : G_.hasOwnProperty(Re) ? ke : Re === "null" ? Ie : Re === "true" || Re === "false" ? je : dr, { type: Le, value: Re, start: ve, end: we };
      }
      function P() {
        var ve, Re, Le, Je, ct = we, Ht = Oe.charCodeAt(we), Rn = Oe[we];
        switch (Ht) {
          case 46:
          case 40:
          case 41:
          case 59:
          case 44:
          case 123:
          case 125:
          case 91:
          case 93:
          case 58:
          case 63:
          case 126:
            return ++we, { type: nt, value: String.fromCharCode(Ht), start: ct, end: we };
          default:
            if ((ve = Oe.charCodeAt(we + 1)) === 61) switch (Ht) {
              case 43:
              case 45:
              case 47:
              case 60:
              case 62:
              case 94:
              case 124:
              case 37:
              case 38:
              case 42:
                return we += 2, { type: nt, value: String.fromCharCode(Ht) + String.fromCharCode(ve), start: ct, end: we };
              case 33:
              case 61:
                return we += 2, Oe.charCodeAt(we) === 61 && ++we, { type: nt, value: Oe.slice(ct, we), start: ct, end: we };
            }
        }
        return (Je = Oe.substr(we, 4)) === ">>>=" ? (we += 4, { type: nt, value: Je, start: ct, end: we }) : (Le = Je.substr(0, 3)) === ">>>" || Le === "<<=" || Le === ">>=" ? (we += 3, { type: nt, value: Le, start: ct, end: we }) : (Re = Le.substr(0, 2), Rn === Re[1] && "+-<>&|".indexOf(Rn) >= 0 || Re === "=>" ? (we += 2, { type: nt, value: Re, start: ct, end: we }) : "<>=!+-*%&|^/".indexOf(Rn) >= 0 ? (++we, { type: nt, value: Rn, start: ct, end: we }) : void ee({}, Or, Tr));
      }
      function I(ve) {
        for (var Re = ""; we < Ve && E(Oe[we]); ) Re += Oe[we++];
        return Re.length === 0 && ee({}, Or, Tr), d(Oe.charCodeAt(we)) && ee({}, Or, Tr), { type: He, value: parseInt("0x" + Re, 16), start: ve, end: we };
      }
      function L(ve) {
        for (var Re = "0" + Oe[we++]; we < Ve && f(Oe[we]); ) Re += Oe[we++];
        return (d(Oe.charCodeAt(we)) || h(Oe.charCodeAt(we))) && ee({}, Or, Tr), { type: He, value: parseInt(Re, 8), octal: !0, start: ve, end: we };
      }
      function R() {
        var ve, Re, Le;
        if (Le = Oe[we], s(h(Le.charCodeAt(0)) || Le === ".", "Numeric literal must start with a decimal digit or a decimal point"), Re = we, ve = "", Le !== ".") {
          if (ve = Oe[we++], Le = Oe[we], ve === "0") {
            if (Le === "x" || Le === "X") return ++we, I(Re);
            if (f(Le)) return L(Re);
            Le && h(Le.charCodeAt(0)) && ee({}, Or, Tr);
          }
          for (; h(Oe.charCodeAt(we)); ) ve += Oe[we++];
          Le = Oe[we];
        }
        if (Le === ".") {
          for (ve += Oe[we++]; h(Oe.charCodeAt(we)); ) ve += Oe[we++];
          Le = Oe[we];
        }
        if (Le === "e" || Le === "E") if (ve += Oe[we++], Le = Oe[we], Le !== "+" && Le !== "-" || (ve += Oe[we++]), h(Oe.charCodeAt(we))) for (; h(Oe.charCodeAt(we)); ) ve += Oe[we++];
        else ee({}, Or, Tr);
        return d(Oe.charCodeAt(we)) && ee({}, Or, Tr), { type: He, value: parseFloat(ve), start: Re, end: we };
      }
      function q() {
        var ve, Re, Le, Je, ct = "", Ht = !1;
        for (ve = Oe[we], s(ve === "'" || ve === '"', "String literal must starts with a quote"), Re = we, ++we; we < Ve; ) {
          if ((Le = Oe[we++]) === ve) {
            ve = "";
            break;
          }
          if (Le === "\\") if ((Le = Oe[we++]) && _(Le.charCodeAt(0))) Le === "\r" && Oe[we] === `
` && ++we;
          else switch (Le) {
            case "u":
            case "x":
              Oe[we] === "{" ? (++we, ct += v()) : ct += m(Le);
              break;
            case "n":
              ct += `
`;
              break;
            case "r":
              ct += "\r";
              break;
            case "t":
              ct += "	";
              break;
            case "b":
              ct += "\b";
              break;
            case "f":
              ct += "\f";
              break;
            case "v":
              ct += "\v";
              break;
            default:
              f(Le) ? (Je = "01234567".indexOf(Le), Je !== 0 && (Ht = !0), we < Ve && f(Oe[we]) && (Ht = !0, Je = 8 * Je + "01234567".indexOf(Oe[we++]), "0123".indexOf(Le) >= 0 && we < Ve && f(Oe[we]) && (Je = 8 * Je + "01234567".indexOf(Oe[we++]))), ct += String.fromCharCode(Je)) : ct += Le;
          }
          else {
            if (_(Le.charCodeAt(0))) break;
            ct += Le;
          }
        }
        return ve !== "" && ee({}, Or, Tr), { type: Qt, value: ct, octal: Ht, start: Re, end: we };
      }
      function B(ve, Re) {
        var Le = ve;
        Re.indexOf("u") >= 0 && (Le = Le.replace(/\\u\{([0-9a-fA-F]+)\}/g, function(Je, ct) {
          if (parseInt(ct, 16) <= 1114111) return "x";
          ee({}, hu);
        }).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, "x"));
        try {
          new RegExp(Le);
        } catch {
          ee({}, hu);
        }
        try {
          return new RegExp(ve, Re);
        } catch {
          return null;
        }
      }
      function j() {
        var ve, Re, Le, Je, ct;
        for (ve = Oe[we], s(ve === "/", "Regular expression literal must start with a slash"), Re = Oe[we++], Le = !1, Je = !1; we < Ve; ) if (ve = Oe[we++], Re += ve, ve === "\\") ve = Oe[we++], _(ve.charCodeAt(0)) && ee({}, Xl), Re += ve;
        else if (_(ve.charCodeAt(0))) ee({}, Xl);
        else if (Le) ve === "]" && (Le = !1);
        else {
          if (ve === "/") {
            Je = !0;
            break;
          }
          ve === "[" && (Le = !0);
        }
        return Je || ee({}, Xl), ct = Re.substr(1, Re.length - 2), { value: ct, literal: Re };
      }
      function k() {
        var ve, Re, Le;
        for (Re = "", Le = ""; we < Ve && (ve = Oe[we], p(ve.charCodeAt(0))); ) ++we, ve === "\\" && we < Ve ? ee({}, Or, Tr) : (Le += ve, Re += ve);
        return Le.search(/[^gimuy]/g) >= 0 && ee({}, hu, Le), { value: Le, literal: Re };
      }
      function U() {
        var ve, Re, Le, Je;
        return Ye = null, b(), ve = we, Re = j(), Le = k(), Je = B(Re.value, Le.value), { literal: Re.literal + Le.literal, value: Je, regex: { pattern: Re.value, flags: Le.value }, start: ve, end: we };
      }
      function W(ve) {
        return ve.type === dr || ve.type === ke || ve.type === je || ve.type === Ie;
      }
      function $() {
        var ve;
        return b(), we >= Ve ? { type: Dt, start: we, end: we } : (ve = Oe.charCodeAt(we), d(ve) ? w() : ve === 40 || ve === 41 || ve === 59 ? P() : ve === 39 || ve === 34 ? q() : ve === 46 ? h(Oe.charCodeAt(we + 1)) ? R() : P() : h(ve) ? R() : P());
      }
      function V() {
        var ve;
        return ve = Ye, we = ve.end, Ye = $(), we = ve.end, ve;
      }
      function G() {
        var ve;
        ve = we, Ye = $(), we = ve;
      }
      function X(ve) {
        var Re = new xe.a(Xr);
        return Re.elements = ve, Re;
      }
      function K(ve, Re, Le) {
        var Je = new xe.a(ve === "||" || ve === "&&" ? q_ : ra);
        return Je.operator = ve, Je.left = Re, Je.right = Le, Je;
      }
      function H(ve, Re) {
        var Le = new xe.a(Qr);
        return Le.callee = ve, Le.arguments = Re, Le;
      }
      function Y(ve, Re, Le) {
        var Je = new xe.a(j_);
        return Je.test = ve, Je.consequent = Re, Je.alternate = Le, Je;
      }
      function Q(ve) {
        var Re = new xe.a(sp);
        return Re.name = ve, Re;
      }
      function Z(ve) {
        var Re = new xe.a(U_);
        return Re.value = ve.value, Re.raw = Oe.slice(ve.start, ve.end), ve.regex && (Re.raw === "//" && (Re.raw = "/(?:)/"), Re.regex = ve.regex), Re;
      }
      function J(ve, Re, Le) {
        var Je = new xe.a(z_);
        return Je.computed = ve === "[", Je.object = Re, Je.property = Le, Je.computed || (Le.member = !0), Je;
      }
      function ne(ve) {
        var Re = new xe.a(B_);
        return Re.properties = ve, Re;
      }
      function ie(ve, Re, Le) {
        var Je = new xe.a(W_);
        return Je.key = Re, Je.value = Le, Je.kind = ve, Je;
      }
      function re(ve, Re) {
        var Le = new xe.a($_);
        return Le.operator = ve, Le.argument = Re, Le.prefix = !0, Le;
      }
      function ee(ve, Re) {
        var Le, Je = Array.prototype.slice.call(arguments, 2), ct = Re.replace(/%(\d)/g, function(Ht, Rn) {
          return s(Rn < Je.length, "Message reference must be in range"), Je[Rn];
        });
        throw Le = new Error(ct), Le.index = we, Le.description = ct, Le;
      }
      function te(ve) {
        ve.type === Dt && ee(ve, Y_), ve.type === He && ee(ve, V_), ve.type === Qt && ee(ve, Kl), ve.type === dr && ee(ve, up), ve.type === ke && ee(ve, H_), ee(ve, Or, ve.value);
      }
      function ue(ve) {
        var Re = V();
        Re.type === nt && Re.value === ve || te(Re);
      }
      function le(ve) {
        return Ye.type === nt && Ye.value === ve;
      }
      function ae(ve) {
        return Ye.type === ke && Ye.value === ve;
      }
      function ce() {
        var ve = [];
        for (we = Ye.start, ue("["); !le("]"); ) le(",") ? (V(), ve.push(null)) : (ve.push(Se()), le("]") || ue(","));
        return V(), X(ve);
      }
      function pe() {
        var ve;
        return we = Ye.start, ve = V(), ve.type === Qt || ve.type === He ? (ve.octal && ee(ve, Ql), Z(ve)) : Q(ve.value);
      }
      function de() {
        var ve, Re, Le, Je;
        return we = Ye.start, ve = Ye, ve.type === dr ? (Le = pe(), ue(":"), Je = Se(), ie("init", Le, Je)) : ve.type !== Dt && ve.type !== nt ? (Re = pe(), ue(":"), Je = Se(), ie("init", Re, Je)) : void te(ve);
      }
      function he() {
        var ve, Re, Le, Je = [], ct = {}, Ht = String;
        for (we = Ye.start, ue("{"); !le("}"); ) ve = de(), Re = ve.key.type === sp ? ve.key.name : Ht(ve.key.value), Le = "$" + Re, Object.prototype.hasOwnProperty.call(ct, Le) ? ee({}, lp) : ct[Le] = !0, Je.push(ve), le("}") || ue(",");
        return ue("}"), ne(Je);
      }
      function Ee() {
        var ve;
        return ue("("), ve = Ae(), ue(")"), ve;
      }
      function ye() {
        var ve, Re, Le;
        if (le("(")) return Ee();
        if (le("[")) return ce();
        if (le("{")) return he();
        if (ve = Ye.type, we = Ye.start, ve === dr || K_[Ye.value]) Le = Q(V().value);
        else if (ve === Qt || ve === He) Ye.octal && ee(Ye, Ql), Le = Z(V());
        else {
          if (ve === ke) throw new Error(is);
          ve === je ? (Re = V(), Re.value = Re.value === "true", Le = Z(Re)) : ve === Ie ? (Re = V(), Re.value = null, Le = Z(Re)) : le("/") || le("/=") ? (Le = Z(U()), G()) : te(V());
        }
        return Le;
      }
      function _e() {
        var ve = [];
        if (ue("("), !le(")")) for (; we < Ve && (ve.push(Se()), !le(")")); ) ue(",");
        return ue(")"), ve;
      }
      function ge() {
        var ve;
        return we = Ye.start, ve = V(), W(ve) || te(ve), Q(ve.value);
      }
      function Me() {
        return ue("."), ge();
      }
      function Te() {
        var ve;
        return ue("["), ve = Ae(), ue("]"), ve;
      }
      function De() {
        var ve, Re, Le;
        for (ve = ye(); ; ) if (le(".")) Le = Me(), ve = J(".", ve, Le);
        else if (le("(")) Re = _e(), ve = H(ve, Re);
        else {
          if (!le("[")) break;
          Le = Te(), ve = J("[", ve, Le);
        }
        return ve;
      }
      function oe() {
        var ve = De();
        if (Ye.type === nt && (le("++") || le("--"))) throw new Error(is);
        return ve;
      }
      function se() {
        var ve, Re;
        if (Ye.type !== nt && Ye.type !== ke) Re = oe();
        else {
          if (le("++") || le("--")) throw new Error(is);
          if (le("+") || le("-") || le("~") || le("!")) ve = V(), Re = se(), Re = re(ve.value, Re);
          else {
            if (ae("delete") || ae("void") || ae("typeof")) throw new Error(is);
            Re = oe();
          }
        }
        return Re;
      }
      function fe(ve) {
        var Re = 0;
        if (ve.type !== nt && ve.type !== ke) return 0;
        switch (ve.value) {
          case "||":
            Re = 1;
            break;
          case "&&":
            Re = 2;
            break;
          case "|":
            Re = 3;
            break;
          case "^":
            Re = 4;
            break;
          case "&":
            Re = 5;
            break;
          case "==":
          case "!=":
          case "===":
          case "!==":
            Re = 6;
            break;
          case "<":
          case ">":
          case "<=":
          case ">=":
          case "instanceof":
          case "in":
            Re = 7;
            break;
          case "<<":
          case ">>":
          case ">>>":
            Re = 8;
            break;
          case "+":
          case "-":
            Re = 9;
            break;
          case "*":
          case "/":
          case "%":
            Re = 11;
        }
        return Re;
      }
      function be() {
        var ve, Re, Le, Je, ct, Ht, Rn, me, Ce, Ne;
        if (ve = Ye, Ce = se(), Je = Ye, (ct = fe(Je)) === 0) return Ce;
        for (Je.prec = ct, V(), Re = [ve, Ye], Rn = se(), Ht = [Ce, Je, Rn]; (ct = fe(Ye)) > 0; ) {
          for (; Ht.length > 2 && ct <= Ht[Ht.length - 2].prec; ) Rn = Ht.pop(), me = Ht.pop().value, Ce = Ht.pop(), Re.pop(), Le = K(me, Ce, Rn), Ht.push(Le);
          Je = V(), Je.prec = ct, Ht.push(Je), Re.push(Ye), Le = se(), Ht.push(Le);
        }
        for (Ne = Ht.length - 1, Le = Ht[Ne], Re.pop(); Ne > 1; ) Re.pop(), Le = K(Ht[Ne - 1].value, Ht[Ne - 2], Le), Ne -= 2;
        return Le;
      }
      function Se() {
        var ve, Re, Le;
        return ve = be(), le("?") && (V(), Re = Se(), ue(":"), Le = Se(), ve = Y(ve, Re, Le)), ve;
      }
      function Ae() {
        var ve = Se();
        if (le(",")) throw new Error(is);
        return ve;
      }
      var ze, Oe, we, Ve, Ye, xe = a(239), je = 1, Dt = 2, dr = 3, ke = 4, Ie = 5, He = 6, nt = 7, Qt = 8;
      ze = {}, ze[je] = "Boolean", ze[Dt] = "<end>", ze[dr] = "Identifier", ze[ke] = "Keyword", ze[Ie] = "Null", ze[He] = "Numeric", ze[nt] = "Punctuator", ze[Qt] = "String", ze[9] = "RegularExpression";
      var Xr = "ArrayExpression", ra = "BinaryExpression", Qr = "CallExpression", j_ = "ConditionalExpression", sp = "Identifier", U_ = "Literal", q_ = "LogicalExpression", z_ = "MemberExpression", B_ = "ObjectExpression", W_ = "Property", $_ = "UnaryExpression", Or = "Unexpected token %0", V_ = "Unexpected number", Kl = "Unexpected string", up = "Unexpected identifier", H_ = "Unexpected reserved word", Y_ = "Unexpected end of input", hu = "Invalid regular expression", Xl = "Invalid regular expression: missing /", Ql = "Octal literals are not allowed in strict mode.", lp = "Duplicate data property in object literal not allowed in strict mode", Tr = "ILLEGAL", is = "Disabled.", cp = new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠ-ࢲऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞭꞰꞱꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭟꭤꭥꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ﬀ-ﬆﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼＡ-Ｚａ-ｚｦ-ﾾￂ-ￇￊ-ￏￒ-ￗￚ-ￜ]"), fp = new RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮ̀-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҃-҇Ҋ-ԯԱ-Ֆՙա-և֑-ׇֽֿׁׂׅׄא-תװ-ײؐ-ؚؠ-٩ٮ-ۓە-ۜ۟-۪ۨ-ۼۿܐ-݊ݍ-ޱ߀-ߵߺࠀ-࠭ࡀ-࡛ࢠ-ࢲࣤ-ॣ०-९ॱ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-ৱਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૯ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍ୖୗଡ଼ଢ଼ୟ-ୣ୦-୯ୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௯ఀ-ఃఅ-ఌఎ-ఐఒ-నప-హఽ-ౄె-ైొ-్ౕౖౘౙౠ-ౣ౦-౯ಁ-ಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೞೠ-ೣ೦-೯ೱೲഁ-ഃഅ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൎൗൠ-ൣ൦-൯ൺ-ൿංඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟ෦-෯ෲෳก-ฺเ-๎๐-๙ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ູົ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟༀ༘༙༠-༩༹༵༷༾-ཇཉ-ཬཱ-྄྆-ྗྙ-ྼ࿆က-၉ၐ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፟ᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-᜔ᜠ-᜴ᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-៓ៗៜ៝០-៩᠋-᠍᠐-᠙ᠠ-ᡷᢀ-ᢪᢰ-ᣵᤀ-ᤞᤠ-ᤫᤰ-᤻᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧙ᨀ-ᨛᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙ᪧ᪰-᪽ᬀ-ᭋ᭐-᭙᭫-᭳ᮀ-᯳ᰀ-᰷᱀-᱉ᱍ-ᱽ᳐-᳔᳒-ᳶ᳸᳹ᴀ-᷵᷼-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‌‍‿⁀⁔ⁱⁿₐ-ₜ⃐-⃥⃜⃡-⃰ℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵿-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〯〱-〵〸-〼ぁ-ゖ゙゚ゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘫꙀ-꙯ꙴ-꙽ꙿ-ꚝꚟ-꛱ꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞭꞰꞱꟷ-ꠧꡀ-ꡳꢀ-꣄꣐-꣙꣠-ꣷꣻ꤀-꤭ꤰ-꥓ꥠ-ꥼꦀ-꧀ꧏ-꧙ꧠ-ꧾꨀ-ꨶꩀ-ꩍ꩐-꩙ꩠ-ꩶꩺ-ꫂꫛ-ꫝꫠ-ꫯꫲ-꫶ꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭟꭤꭥꯀ-ꯪ꯬꯭꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ﬀ-ﬆﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻ︀-️︠-︭︳︴﹍-﹏ﹰ-ﹴﹶ-ﻼ０-９Ａ-Ｚ＿ａ-ｚｦ-ﾾￂ-ￇￊ-ￏￒ-ￗￚ-ￜ]"), G_ = { if: 1, in: 1, do: 1, var: 1, for: 1, new: 1, try: 1, let: 1, this: 1, else: 1, case: 1, void: 1, with: 1, enum: 1, while: 1, break: 1, catch: 1, throw: 1, const: 1, yield: 1, class: 1, super: 1, return: 1, typeof: 1, delete: 1, switch: 1, export: 1, import: 1, public: 1, static: 1, default: 1, finally: 1, extends: 1, package: 1, private: 1, function: 1, continue: 1, debugger: 1, interface: 1, protected: 1, instanceof: 1, implements: 1 }, K_ = { if: 1, this: 1 };
      u.a = function(ve) {
        Oe = ve, we = 0, Ve = Oe.length, Ye = null, G();
        var Re = Ae();
        if (Ye.type !== Dt) throw new Error("Unexpect token after expression.");
        return Re;
      };
    }, function(A, u, a) {
      function s(b, m) {
        return S.isArray(b) ? b.map(function(v) {
          return d.title(v, m);
        }).join(", ") : b;
      }
      function h(b, m, v, O) {
        O === void 0 && (O = { header: !1 });
        var T = b.combine(), w = T.orient, P = T.scale, I = T.title, L = T.zindex, R = f.__rest(T, ["orient", "scale", "title", "zindex"]);
        if (p.keys(R).forEach(function(W) {
          var $ = _.AXIS_PROPERTY_TYPE[W];
          $ && $ !== m && $ !== "both" && delete R[W];
        }), m === "grid") {
          if (!R.grid) return;
          if (R.encode) {
            var q = R.encode.grid;
            R.encode = f.__assign({}, q ? { grid: q } : {}), p.keys(R.encode).length === 0 && delete R.encode;
          }
          return f.__assign({ scale: P, orient: w }, R, { domain: !1, labels: !1, maxExtent: 0, minExtent: 0, ticks: !1, zindex: L !== void 0 ? L : 0 });
        }
        if (O.header || !b.mainExtracted) {
          if (R.encode) {
            for (var B = 0, j = _.AXIS_PARTS; B < j.length; B++) {
              var k = j[B];
              b.hasAxisPart(k) || delete R.encode[k];
            }
            p.keys(R.encode).length === 0 && delete R.encode;
          }
          var U = s(I, v);
          return f.__assign({ scale: P, orient: w }, U ? { title: U } : {}, R, { zindex: L !== void 0 ? L : 1 });
        }
      }
      function E(b, m) {
        var v = b.x, O = v === void 0 ? [] : v, T = b.y, w = T === void 0 ? [] : T;
        return O.map(function(P) {
          return h(P, "main", m);
        }).concat(O.map(function(P) {
          return h(P, "grid", m);
        }), w.map(function(P) {
          return h(P, "main", m);
        }), w.map(function(P) {
          return h(P, "grid", m);
        })).filter(function(P) {
          return P;
        });
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = a(3), S = a(4), _ = a(155), d = a(10), p = a(2);
      u.assembleAxis = h, u.assembleAxes = E;
    }, function(A, u, a) {
      function s(v, O, T) {
        return T.bin ? (v[S.vgField(T, {})] = !0, v[S.vgField(T, { binSuffix: "end" })] = !0, p.binRequiresRange(T, O) && (v[S.vgField(T, { binSuffix: "range" })] = !0)) : v[S.vgField(T)] = !0, v;
      }
      function h(v, O) {
        for (var T in O) if (O.hasOwnProperty(T)) {
          var w = O[T];
          for (var P in w) w.hasOwnProperty(P) && (T in v ? v[T][P] = w[P] : v[T] = { op: w[P] });
        }
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(3), f = a(5), S = a(10), _ = a(8), d = a(2), p = a(52), b = a(37), m = function(v) {
        function O(T, w, P) {
          var I = v.call(this, T) || this;
          return I.dimensions = w, I.measures = P, I;
        }
        return E.__extends(O, v), O.prototype.clone = function() {
          return new O(null, E.__assign({}, this.dimensions), d.duplicate(this.measures));
        }, O.makeFromEncoding = function(T, w) {
          var P = !1;
          w.forEachFieldDef(function(R) {
            R.aggregate && (P = !0);
          });
          var I = {}, L = {};
          return P ? (w.forEachFieldDef(function(R, q) {
            R.aggregate ? R.aggregate === "count" ? (I["*"] = I["*"] || {}, I["*"].count = S.vgField(R, { aggregate: "count" })) : (I[R.field] = I[R.field] || {}, I[R.field][R.aggregate] = S.vgField(R), f.isScaleChannel(q) && w.scaleDomain(q) === "unaggregated" && (I[R.field].min = S.vgField(R, { aggregate: "min" }), I[R.field].max = S.vgField(R, { aggregate: "max" }))) : s(L, q, R);
          }), d.keys(L).length + d.keys(I).length === 0 ? null : new O(T, L, I)) : null;
        }, O.makeFromTransform = function(T, w) {
          for (var P = {}, I = {}, L = 0, R = w.aggregate; L < R.length; L++) {
            var q = R[L];
            q.op && (q.op === "count" ? (I["*"] = I["*"] || {}, I["*"].count = q.as || S.vgField(q)) : (I[q.field] = I[q.field] || {}, I[q.field][q.op] = q.as || S.vgField(q)));
          }
          for (var B = 0, j = w.groupby || []; B < j.length; B++) {
            var q = j[B];
            P[q] = !0;
          }
          return d.keys(P).length + d.keys(I).length === 0 ? null : new O(T, P, I);
        }, O.prototype.merge = function(T) {
          d.differ(this.dimensions, T.dimensions) ? _.debug("different dimensions, cannot merge") : (h(this.measures, T.measures), T.remove());
        }, O.prototype.addDimensions = function(T) {
          var w = this;
          T.forEach(function(P) {
            return w.dimensions[P] = !0;
          });
        }, O.prototype.dependentFields = function() {
          var T = {};
          return d.keys(this.dimensions).forEach(function(w) {
            return T[w] = !0;
          }), d.keys(this.measures).forEach(function(w) {
            return T[w] = !0;
          }), T;
        }, O.prototype.producedFields = function() {
          var T = this, w = {};
          return d.keys(this.measures).forEach(function(P) {
            d.keys(T.measures[P]).forEach(function(I) {
              w[I + "_" + P] = !0;
            });
          }), w;
        }, O.prototype.assemble = function() {
          for (var T = [], w = [], P = [], I = 0, L = d.keys(this.measures); I < L.length; I++) for (var R = L[I], q = 0, B = d.keys(this.measures[R]); q < B.length; q++) {
            var j = B[q];
            P.push(this.measures[R][j]), T.push(j), w.push(R);
          }
          return { type: "aggregate", groupby: d.keys(this.dimensions), ops: T, fields: w, as: P };
        }, O;
      }(b.DataFlowNode);
      u.AggregateNode = m;
    }, function(A, u, a) {
      function s(p, b) {
        var m = p.fieldDef(b);
        return b + "_" + E.vgField(m) + "_sort_index";
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(3), E = a(10), f = a(250), S = a(2), _ = a(37), d = function(p) {
        function b(m, v) {
          var O = p.call(this, m) || this;
          return O.transform = v, O;
        }
        return h.__extends(b, p), b.prototype.clone = function() {
          return new b(null, S.duplicate(this.transform));
        }, b.parseAllForSortIndex = function(m, v) {
          return v.forEachFieldDef(function(O, T) {
            if (E.isScaleFieldDef(O) && f.isSortArray(O.sort)) {
              var w = { calculate: b.calculateExpressionFromSortField(O.field, O.sort), as: s(v, T) };
              m = new b(m, w);
            }
          }), m;
        }, b.calculateExpressionFromSortField = function(m, v) {
          var O, T = "";
          for (O = 0; O < v.length; O++) T += "datum." + m + " === '" + v[O] + "' ? " + O + " : ";
          return T += O;
        }, b.prototype.producedFields = function() {
          var m = {};
          return m[this.transform.as] = !0, m;
        }, b.prototype.assemble = function() {
          return { type: "formula", expr: this.transform.calculate, as: this.transform.as };
        }, b;
      }(_.DataFlowNode);
      u.CalculateNode = d, u.sortArrayIndexField = s;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(3), h = a(5), E = a(10), f = a(28), S = a(9), _ = a(2), d = a(37), p = function(b) {
        function m(v, O) {
          var T = b.call(this, v) || this;
          return T.fieldDefs = O, T;
        }
        return s.__extends(m, b), m.prototype.clone = function() {
          return new m(null, s.__assign({}, this.fieldDefs));
        }, m.make = function(v, O) {
          var T = O.config, w = O.mark;
          if (T.invalidValues !== "filter") return null;
          var P = O.reduceFieldDef(function(I, L, R) {
            var q = h.isScaleChannel(R) && O.getScaleComponent(R);
            if (q) {
              var B = q.get("type");
              !S.hasContinuousDomain(B) || L.aggregate || f.isPathMark(w) || (I[L.field] = L);
            }
            return I;
          }, {});
          return _.keys(P).length ? new m(v, P) : null;
        }, Object.defineProperty(m.prototype, "filter", { get: function() {
          return this.fieldDefs;
        }, enumerable: !0, configurable: !0 }), m.prototype.assemble = function() {
          var v = this, O = _.keys(this.filter).reduce(function(T, w) {
            var P = v.fieldDefs[w], I = E.vgField(P, { expr: "datum" });
            return P !== null && (T.push(I + " !== null"), T.push("!isNaN(" + I + ")")), T;
          }, []);
          return O.length > 0 ? { type: "filter", expr: O.join(" && ") } : null;
        }, m;
      }(d.DataFlowNode);
      u.FilterInvalidNode = p;
    }, function(A, u, a) {
      function s(w, P) {
        var I = "datum" + m.accessPath(w);
        if (P === "number") return "toNumber(" + I + ")";
        if (P === "boolean") return "toBoolean(" + I + ")";
        if (P === "string") return "toString(" + I + ")";
        if (P === "date") return "toDate(" + I + ")";
        if (P.indexOf("date:") === 0) {
          var L = P.slice(5, P.length);
          return "timeParse(" + I + "," + L + ")";
        }
        if (P.indexOf("utc:") === 0) {
          var L = P.slice(4, P.length);
          return "utcParse(" + I + "," + L + ")";
        }
        return _.warn(_.message.unrecognizedParse(P)), null;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(3), E = a(4), f = a(60), S = a(10), _ = a(8), d = a(160), p = a(88), b = a(161), m = a(2), v = a(27), O = a(37), T = function(w) {
        function P(I, L) {
          var R = w.call(this, I) || this;
          return R._parse = {}, R._parse = L, R;
        }
        return h.__extends(P, w), P.prototype.clone = function() {
          return new P(null, m.duplicate(this.parse));
        }, P.make = function(I, L) {
          var R = {}, q = {};
          (L.transforms || []).forEach(function(U) {
            b.isCalculate(U) ? q[U.as] = !0 : b.isFilter(U) && d.forEachLeave(U.filter, function(W) {
              p.isFieldPredicate(W) && W.timeUnit && (R[W.field] = "date");
            });
          }, {}), (v.isUnitModel(L) || v.isFacetModel(L)) && L.forEachFieldDef(function(U) {
            if (S.isTimeFieldDef(U)) R[U.field] = "date";
            else if (S.isNumberFieldDef(U)) {
              if (q[U.field] || f.isCountingAggregateOp(U.aggregate)) return;
              R[U.field] = "number";
            }
          });
          var B = L.data;
          if (B && B.format && B.format.parse) {
            var j = B.format.parse;
            m.keys(j).forEach(function(U) {
              R[U] = j[U];
            });
          }
          var k = L.component.data.ancestorParse;
          return m.keys(k).forEach(function(U) {
            R[U] !== k[U] ? _.warn(_.message.differentParse(U, R[U], k[U])) : delete R[U];
          }), m.keys(R).length === 0 ? null : new P(I, R);
        }, Object.defineProperty(P.prototype, "parse", { get: function() {
          return this._parse;
        }, enumerable: !0, configurable: !0 }), P.prototype.merge = function(I) {
          this._parse = h.__assign({}, this._parse, I.parse), I.remove();
        }, P.prototype.assembleFormatParse = function() {
          return this._parse;
        }, P.prototype.producedFields = function() {
          return E.toSet(m.keys(this.parse));
        }, P.prototype.dependentFields = function() {
          return E.toSet(m.keys(this.parse));
        }, P.prototype.assembleTransforms = function() {
          var I = this;
          return m.keys(this._parse).map(function(L) {
            var R = s(L, I._parse[L]);
            return R ? { type: "formula", expr: R, as: L } : null;
          }).filter(function(L) {
            return L !== null;
          });
        }, P;
      }(O.DataFlowNode);
      u.ParseNode = T;
    }, function(A, u, a) {
      function s(P) {
        function I(L) {
          if (!(L instanceof v.FacetNode)) {
            var R = L.clone();
            if (R instanceof m.OutputNode) {
              var q = u.FACET_SCALE_PREFIX + R.getSource();
              R.setSource(q), P.model.component.data.outputNodes[q] = R;
            } else (R instanceof b.AggregateNode || R instanceof w.StackNode) && R.addDimensions(P.fields);
            return p.flatten(L.children.map(I)).forEach(function(B) {
              return B.parent = R;
            }), [R];
          }
          return p.flatten(L.children.map(I));
        }
        return I;
      }
      function h(P) {
        if (P instanceof v.FacetNode) if (P.numChildren() !== 1 || P.children[0] instanceof m.OutputNode) {
          E(P.model.component.data.main);
          var I = p.flatten(P.children.map(s(P)));
          I.forEach(function(R) {
            return R.parent = P.model.component.data.main;
          });
        } else {
          var L = P.children[0];
          (L instanceof b.AggregateNode || L instanceof w.StackNode) && L.addDimensions(P.fields), L.swapWithParent(), h(P);
        }
        else P.children.forEach(h);
      }
      function E(P) {
        if (P instanceof m.OutputNode && P.type === d.MAIN && P.numChildren() === 1) {
          var I = P.children[0];
          I instanceof v.FacetNode || (I.swapWithParent(), E(P));
        }
      }
      function f(P) {
        P instanceof O.FilterInvalidNode && p.every(p.vals(P.filter), function(I) {
          return I === null;
        }) && P.remove(), P instanceof m.OutputNode && !P.isRequired() && P.remove(), P.children.forEach(f);
      }
      function S(P) {
        function I(R) {
          R.numChildren() === 0 ? L.push(R) : R.children.forEach(I);
        }
        var L = [];
        return P.forEach(I), L;
      }
      function _(P) {
        var I = p.vals(P.sources);
        I.forEach(f), I = I.filter(function(L) {
          return L.numChildren() > 0;
        }), S(I).forEach(T.iterateFromLeaves(T.removeUnusedSubtrees)), I = I.filter(function(L) {
          return L.numChildren() > 0;
        }), S(I).forEach(T.iterateFromLeaves(T.moveParseUp)), S(I).forEach(T.removeDuplicateTimeUnits), I.forEach(h), p.keys(P.sources).forEach(function(L) {
          P.sources[L].numChildren() === 0 && delete P.sources[L];
        });
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var d = a(53), p = a(2), b = a(621), m = a(37), v = a(242), O = a(623), T = a(626), w = a(628);
      u.FACET_SCALE_PREFIX = "scale_", u.optimizeDataflow = _;
    }, function(A, u, a) {
      function s(O) {
        function T(w) {
          if (!(w instanceof m.SourceNode)) {
            var P = w.parent;
            O(w) && T(P);
          }
        }
        return T;
      }
      function h(O) {
        var T = O.parent;
        if (O instanceof b.ParseNode) {
          if (T instanceof m.SourceNode) return !1;
          if (T.numChildren() > 1) return !0;
          if (T instanceof b.ParseNode) T.merge(O);
          else {
            if (_.hasIntersection(T.producedFields(), O.dependentFields())) return !0;
            O.swapWithParent();
          }
        }
        return !0;
      }
      function E(O) {
        return !(O instanceof d.OutputNode || O.numChildren() > 0 || O instanceof p.FacetNode) && (O.remove(), !0);
      }
      function f(O) {
        var T = {};
        return s(function(w) {
          if (w instanceof v.TimeUnitNode) {
            var P = w.producedFields();
            _.keys(P).every(function(I) {
              return !!T[I];
            }) ? w.remove() : T = S.__assign({}, T, P);
          }
          return !0;
        })(O);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var S = a(3), _ = a(2), d = a(37), p = a(242), b = a(624), m = a(627), v = a(243);
      u.iterateFromLeaves = s, u.moveParseUp = h, u.removeUnusedSubtrees = E, u.removeDuplicateTimeUnits = f;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(3), h = a(53), E = a(2), f = a(37), S = function(_) {
        function d(p) {
          var b = _.call(this, null) || this;
          if (p = p || { name: "source" }, h.isInlineData(p)) b._data = { values: p.values };
          else if (h.isUrlData(p)) {
            if (b._data = { url: p.url }, p.format || (p.format = {}), !p.format || !p.format.type) {
              var m = /(?:\.([^.]+))?$/.exec(p.url)[1];
              E.contains(["json", "csv", "tsv", "topojson"], m) || (m = "json"), p.format.type = m;
            }
          } else h.isNamedData(p) && (b._name = p.name, b._data = {});
          if (!h.isNamedData(p) && p.format) {
            var v = p.format, O = (v.parse, s.__rest(v, ["parse"]));
            b._data.format = O;
          }
          return b;
        }
        return s.__extends(d, _), Object.defineProperty(d.prototype, "data", { get: function() {
          return this._data;
        }, enumerable: !0, configurable: !0 }), d.prototype.hasName = function() {
          return !!this._name;
        }, Object.defineProperty(d.prototype, "dataName", { get: function() {
          return this._name;
        }, set: function(p) {
          this._name = p;
        }, enumerable: !0, configurable: !0 }), Object.defineProperty(d.prototype, "parent", { set: function(p) {
          throw new Error("Source nodes have to be roots.");
        }, enumerable: !0, configurable: !0 }), d.prototype.remove = function() {
          throw new Error("Source nodes are roots and cannot be removed.");
        }, d.prototype.hash = function() {
          return h.isInlineData(this._data) ? (this._hash || (this._hash = E.hash(this._data)), this._hash) : h.isUrlData(this._data) ? E.hash([this._data.url, this._data.format]) : this._name;
        }, d.prototype.assemble = function() {
          return s.__assign({ name: this._name }, this._data, { transform: [] });
        }, d;
      }(f.DataFlowNode);
      u.SourceNode = S;
    }, function(A, u, a) {
      function s(b) {
        return b.stack.stackBy.reduce(function(m, v) {
          var O = v.fieldDef, T = f.vgField(O);
          return T && m.push(T), m;
        }, []);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(3), E = a(4), f = a(10), S = a(2), _ = a(52), d = a(37), p = function(b) {
        function m(v, O) {
          var T = b.call(this, v) || this;
          return T._stack = O, T;
        }
        return h.__extends(m, b), m.prototype.clone = function() {
          return new m(null, S.duplicate(this._stack));
        }, m.make = function(v, O) {
          var T = O.stack;
          if (!T) return null;
          var w;
          T.groupbyChannel && (w = O.fieldDef(T.groupbyChannel));
          var P, I = s(O), L = O.encoding.order;
          return P = L ? _.sortParams(L) : I.reduce(function(R, q) {
            return R.field.push(q), R.order.push("descending"), R;
          }, { field: [], order: [] }), new m(v, { dimensionFieldDef: w, field: O.vgField(T.fieldChannel), facetby: [], stackby: I, sort: P, offset: T.offset, impute: T.impute });
        }, Object.defineProperty(m.prototype, "stack", { get: function() {
          return this._stack;
        }, enumerable: !0, configurable: !0 }), m.prototype.addDimensions = function(v) {
          this._stack.facetby = this._stack.facetby.concat(v);
        }, m.prototype.dependentFields = function() {
          var v = {};
          v[this._stack.field] = !0, this.getGroupbyFields().forEach(function(T) {
            return v[T] = !0;
          }), this._stack.facetby.forEach(function(T) {
            return v[T] = !0;
          });
          var O = this._stack.sort.field;
          return E.isArray(O) ? O.forEach(function(T) {
            return v[T] = !0;
          }) : v[O] = !0, v;
        }, m.prototype.producedFields = function() {
          var v = {};
          return v[this._stack.field + "_start"] = !0, v[this._stack.field + "_end"] = !0, v;
        }, m.prototype.getGroupbyFields = function() {
          var v = this._stack, O = v.dimensionFieldDef, T = v.impute;
          return O ? O.bin ? T ? [f.vgField(O, { binSuffix: "mid" })] : [f.vgField(O, {}), f.vgField(O, { binSuffix: "end" })] : [f.vgField(O)] : [];
        }, m.prototype.assemble = function() {
          var v = [], O = this._stack, T = O.facetby, w = O.field, P = O.dimensionFieldDef, I = O.impute, L = O.offset, R = O.sort, q = O.stackby;
          if (I && P) {
            var B = P ? f.vgField(P, { binSuffix: "mid" }) : void 0;
            P.bin && v.push({ type: "formula", expr: "(" + f.vgField(P, { expr: "datum" }) + "+" + f.vgField(P, { expr: "datum", binSuffix: "end" }) + ")/2", as: B }), v.push({ type: "impute", field: w, groupby: q, key: B, method: "value", value: 0 });
          }
          return v.push({ type: "stack", groupby: this.getGroupbyFields().concat(T), field: w, sort: R, as: [w + "_start", w + "_end"], offset: L }), v;
        }, m;
      }(d.DataFlowNode);
      u.StackNode = p;
    }, function(A, u, a) {
      function s(v) {
        return v === "top" || v === "left" ? "header" : "footer";
      }
      function h(v, O) {
        var T = v.component.layoutHeaders[O].title, w = O === "row" ? "vertical" : void 0, P = d.__assign({ align: { value: "center" }, text: { value: T } }, w === "vertical" ? { angle: { value: 270 } } : {});
        return { name: v.getName(O + "_title"), role: O + "-title", type: "group", marks: [d.__assign({ type: "text", role: O + "-title-text", style: "guide-title" }, b.keys(P).length > 0 ? { encode: { update: P } } : {})] };
      }
      function E(v, O) {
        for (var T = v.component.layoutHeaders[O], w = [], P = 0, I = u.HEADER_TYPES; P < I.length; P++) {
          var L = I[P];
          if (T[L]) for (var R = 0, q = T[L]; R < q.length; R++) {
            var B = q[R];
            w.push(_(v, O, L, T, B));
          }
        }
        return w;
      }
      function f(v) {
        return v = (v % 360 + 360) % 360, (v + 90) % 180 == 0 ? {} : v < 90 || 270 < v ? { align: { value: "right" } } : 135 <= v && v < 225 ? { align: { value: "left" } } : {};
      }
      function S(v) {
        return v = (v % 360 + 360) % 360, 45 <= v && v <= 135 ? { baseline: { value: "top" } } : {};
      }
      function _(v, O, T, w, P) {
        if (P) {
          var I = null, L = w.facetFieldDef;
          if (L && P.labels) {
            var R = L.header, q = R === void 0 ? {} : R, B = q.format, j = q.labelAngle, k = d.__assign({}, j !== void 0 ? { angle: { value: j } } : {}, f(j), S(j));
            I = d.__assign({ text: m.formatSignalRef(L, B, "parent", v.config), offset: 10, orient: O === "row" ? "left" : "top", style: "guide-label" }, b.keys(k).length > 0 ? { encode: { update: k } } : {});
          }
          var U = P.axes, W = U && U.length > 0;
          if (I || W) {
            var $ = O === "row" ? "height" : "width";
            return d.__assign({ name: v.getName(O + "_" + T), type: "group", role: O + "-" + T }, w.facetFieldDef ? { from: { data: v.getName(O + "_domain") }, sort: { field: p.vgField(L, { expr: "datum" }), order: L.sort || "ascending" } } : {}, I ? { title: I } : {}, P.sizeSignal ? { encode: { update: (V = {}, V[$] = P.sizeSignal, V) } } : {}, W ? { axes: U } : {});
          }
        }
        return null;
        var V;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var d = a(3), p = a(10), b = a(2), m = a(52);
      u.HEADER_CHANNELS = ["row", "column"], u.HEADER_TYPES = ["header", "footer"], u.getHeaderType = s, u.getTitleGroup = h, u.getHeaderGroups = E, u.labelAlign = f, u.labelBaseline = S;
    }, function(A, u, a) {
      function s(p) {
        return [].concat(h(p, "width"), h(p, "height"));
      }
      function h(p, b) {
        var m = b === "width" ? "x" : "y", v = p.component.layoutSize.get(b);
        if (!v || v === "merged") return [];
        var O = p.getSizeSignalRef(b).signal;
        if (v === "range-step") {
          var T = p.getScaleComponent(m);
          if (T) {
            var w = T.get("type"), P = T.get("range");
            if (S.hasDiscreteDomain(w) && _.isVgRangeStep(P)) {
              var I = p.scaleName(m);
              return d.isFacetModel(p.parent) && p.parent.component.resolve.scale[m] === "independent" ? [E(I, P)] : [E(I, P), { name: O, update: f(I, T, "domain('" + I + "').length") }];
            }
          }
          throw new Error("layout size is range step although there is no rangeStep.");
        }
        return [{ name: O, value: v }];
      }
      function E(p, b) {
        return { name: p + "_step", value: b.step };
      }
      function f(p, b, m) {
        var v = b.get("type"), O = b.get("padding"), T = b.get("paddingOuter");
        T = T !== void 0 ? T : O;
        var w = b.get("paddingInner");
        return w = v === "band" ? w !== void 0 ? w : O : 1, "bandspace(" + m + ", " + w + ", " + T + ") * " + p + "_step";
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var S = a(9), _ = a(43), d = a(27);
      u.assembleLayoutSignals = s, u.sizeSignals = h, u.sizeExpr = f;
    }, function(A, u, a) {
      function s(f) {
        for (var S = f.component.legends, _ = {}, d = 0, p = h.keys(S); d < p.length; d++) {
          var b = p[d], m = f.getScaleComponent(b), v = h.stringify(m.domains);
          if (_[v]) for (var O = 0, T = _[v]; O < T.length; O++) {
            var w = T[O], P = E.mergeLegendComponent(w, S[b]);
            P || _[v].push(S[b]);
          }
          else _[v] = [S[b].clone()];
        }
        return h.flatten(h.vals(_)).map(function(I) {
          return I.combine();
        });
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(2), E = a(244);
      u.assembleLegends = s;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(3), h = a(42), E = function(f) {
        function S() {
          return f !== null && f.apply(this, arguments) || this;
        }
        return s.__extends(S, f), S;
      }(h.Split);
      u.LegendComponent = E;
    }, function(A, u, a) {
      function s(I, L, R, q, B) {
        if (B !== "gradient") {
          var j = d.__assign({}, w.applyMarkConfig({}, R, v.FILL_STROKE_CONFIG), P.color(R));
          switch (R.mark) {
            case v.BAR:
            case v.TICK:
            case v.TEXT:
              j.shape = { value: "square" };
              break;
            case v.CIRCLE:
            case v.SQUARE:
              j.shape = { value: R.mark };
              break;
            case v.POINT:
            case v.LINE:
            case v.GEOSHAPE:
            case v.AREA:
          }
          var k = R.markDef, U = R.encoding, W = k.filled;
          if (j.fill) {
            if (q === "fill" || W && q === b.COLOR) delete j.fill;
            else if (j.fill.field) delete j.fill;
            else if (p.isArray(j.fill)) {
              var $ = S(U.fill || U.color) || k.fill || W && k.color;
              $ && (j.fill = { value: $ });
            }
          }
          if (j.stroke) {
            if (q === "stroke" || !W && q === b.COLOR) delete j.stroke;
            else if (j.stroke.field) delete j.stroke;
            else if (p.isArray(j.stroke)) {
              var V = S(U.stroke || U.color) || k.stroke || !W && k.color;
              V && (j.stroke = { value: V });
            }
          }
          if (j.fill && j.fill.value !== "transparent" && !j.stroke && (j.stroke = { value: "transparent" }), q !== b.SHAPE) {
            var G = S(U.shape) || k.shape;
            G && (j.shape = { value: G });
          }
          if (q !== b.OPACITY) {
            var X = f(U.opacity) || k.opacity;
            X && (j.opacity = { value: X });
          }
          return j = d.__assign({}, j, L), T.keys(j).length > 0 ? j : void 0;
        }
      }
      function h(I, L, R, q, B) {
        var j = {};
        if (B === "gradient") {
          var k = f(R.encoding.opacity) || R.markDef.opacity;
          k && (j.opacity = { value: k });
        }
        return j = d.__assign({}, j, L), T.keys(j).length > 0 ? j : void 0;
      }
      function E(I, L, R, q, B) {
        var j = R.legend(q), k = R.config, U = {};
        if (m.isTimeFieldDef(I)) {
          var W = R.getScaleComponent(q).get("type") === O.ScaleType.UTC;
          L = d.__assign({ text: { signal: w.timeFormatExpression("datum.value", I.timeUnit, j.format, k.legend.shortTimeLabels, k.timeFormat, W) } }, L);
        }
        return U = d.__assign({}, U, L), T.keys(U).length > 0 ? U : void 0;
      }
      function f(I) {
        return _(I, function(L, R) {
          return Math.max(L, R.value);
        });
      }
      function S(I) {
        return _(I, function(L, R) {
          return L !== void 0 ? L : R.value;
        });
      }
      function _(I, L) {
        return m.hasConditionalValueDef(I) ? (p.isArray(I.condition) ? I.condition : [I.condition]).reduce(L, I.value) : m.isValueDef(I) ? I.value : void 0;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var d = a(3), p = a(4), b = a(5), m = a(10), v = a(28), O = a(9), T = a(2), w = a(52), P = a(635);
      u.symbols = s, u.gradient = h, u.labels = E;
    }, function(A, u, a) {
      function s(d) {
        var p = d.values;
        return p && f.isDateTime(p[0]) ? p.map(function(b) {
          return { signal: f.dateTimeExpr(b, !0) };
        }) : p;
      }
      function h(d, p, b) {
        if (E.isColorChannel(p) && (d === "quantitative" && !S.isBinScale(b) || d === "temporal" && _.contains(["time", "utc"], b))) return "gradient";
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(5), f = a(108), S = a(9), _ = a(2);
      u.values = s, u.type = h;
    }, function(A, u, a) {
      function s(X, K) {
        var H = X.markDef, Y = X.encoding, Q = X.config, Z = H.filled, J = H.type, ne = { fill: $.getMarkConfig("fill", H, Q), stroke: $.getMarkConfig("stroke", H, Q), color: $.getMarkConfig("color", H, Q) }, ie = U.contains(["bar", "point", "circle", "square", "geoshape"], J) ? "transparent" : void 0, re = { fill: H.fill || ne.fill || ie, stroke: H.stroke || ne.stroke }, ee = Z ? "fill" : "stroke", te = L.__assign({}, re.fill ? { fill: { value: re.fill } } : {}, re.stroke ? { stroke: { value: re.stroke } } : {});
        return Y.fill || Y.stroke ? (H.color && B.warn(B.message.droppingColor("property", { fill: "fill" in Y, stroke: "stroke" in Y })), L.__assign({}, d("fill", X, { defaultValue: re.fill || ie }), d("stroke", X, { defaultValue: re.stroke }))) : Y.color ? L.__assign({}, te, d("color", X, { vgChannel: ee, defaultValue: H[ee] || H.color || ne[ee] || ne.color || (Z ? ie : void 0) })) : H.fill || H.stroke ? (H.color && B.warn(B.message.droppingColor("property", { fill: "fill" in H, stroke: "stroke" in H })), te) : H.color ? L.__assign({}, te, (ue = {}, ue[ee] = { value: H.color }, ue)) : ne.fill || ne.stroke ? te : ne.color ? L.__assign({}, ie ? { fill: { value: "transparent" } } : {}, (le = {}, le[ee] = { value: ne.color }, le)) : {};
        var ue, le;
      }
      function h(X, K) {
        return L.__assign({}, E(X.markDef, K), s(X), d("opacity", X), b(X), m(X, "href"));
      }
      function E(X, K) {
        return W.VG_MARK_CONFIGS.reduce(function(H, Y) {
          return X[Y] !== void 0 && K[Y] !== "ignore" && (H[Y] = { value: X[Y] }), H;
        }, {});
      }
      function f(X, K) {
        if (K !== void 0) return H = {}, H[X] = { value: K }, H;
        return;
        var H;
      }
      function S(X) {
        return X + " !== null && !isNaN(" + X + ")";
      }
      function _(X) {
        if (X.config.invalidValues === "filter") {
          var K = ["x", "y"].map(function(H) {
            var Y = X.getScaleComponent(H);
            if (Y) {
              var Q = Y.get("type");
              if (k.hasContinuousDomain(Q)) return X.vgField(H, { expr: "datum" });
            }
          }).filter(function(H) {
            return !!H;
          }).map(S);
          if (K.length > 0) return { defined: { signal: K.join(" && ") } };
        }
        return {};
      }
      function d(X, K, H) {
        H === void 0 && (H = {});
        var Y = H.defaultValue, Q = H.vgChannel, Z = H.defaultRef || (Y !== void 0 ? { value: Y } : void 0), J = K.encoding[X];
        return p(K, J, Q || X, function(ne) {
          return G.midPoint(X, ne, K.scaleName(X), K.getScaleComponent(X), null, Z);
        });
      }
      function p(X, K, H, Y) {
        var Q = K && K.condition, Z = Y(K);
        if (Q) {
          var J = R.isArray(Q) ? Q : [Q], ne = J.map(function(ee) {
            var te = Y(ee), ue = q.isConditionalSelection(ee) ? V.selectionPredicate(X, ee.selection) : j.expression(X, ee.test);
            return L.__assign({ test: ue }, te);
          });
          return ie = {}, ie[H] = ne.concat(Z !== void 0 ? [Z] : []), ie;
        }
        return Z !== void 0 ? (re = {}, re[H] = Z, re) : {};
        var ie, re;
      }
      function b(X) {
        var K = X.encoding.tooltip;
        return R.isArray(K) ? { tooltip: { signal: "{" + K.map(function(H) {
          return '"' + (H.title !== void 0 ? H.title : q.vgField(H, { binSuffix: "range" })) + '": ' + G.text(H, X.config).signal;
        }).join(", ") + "}" } } : v(X, "tooltip", K);
      }
      function m(X, K) {
        return K === void 0 && (K = "text"), v(X, K, X.encoding[K]);
      }
      function v(X, K, H) {
        return p(X, H, K, function(Y) {
          return G.text(Y, X.config);
        });
      }
      function O(X, K, H) {
        var Y = H.scaleName(K), Q = K === "x" ? "width" : "height";
        if (H.encoding.size || H.markDef.size !== void 0)
          if (H.markDef.orient) {
            var Z = (J = {}, J[K + "c"] = G.fieldRef(X, Y, {}, { band: 0.5 }), J);
            if (q.getFieldDef(H.encoding.size)) B.warn(B.message.cannotUseSizeFieldWithBandSize(K));
            else {
              if (q.isValueDef(H.encoding.size)) return L.__assign({}, Z, d("size", H, { vgChannel: Q }));
              if (H.markDef.size !== void 0) return L.__assign({}, Z, (ne = {}, ne[Q] = { value: H.markDef.size }, ne));
            }
          } else B.warn(B.message.cannotApplySizeToNonOrientedMark(H.markDef.type));
        return ie = {}, ie[K] = G.fieldRef(X, Y, { binSuffix: "range" }), ie[Q] = G.bandRef(Y), ie;
        var J, ne, ie;
      }
      function T(X, K, H, Y) {
        var Q = X === "x" ? "xc" : "yc", Z = X === "x" ? "width" : "height";
        return L.__assign({}, P(X, K, H, Q), d("size", K, { defaultRef: Y, vgChannel: Z }));
      }
      function w(X, K, H, Y, Q) {
        return K === "x" ? { x2: G.bin(X, H, "start", Q ? 0 : Y), x: G.bin(X, H, "end", Q ? Y : 0) } : { y2: G.bin(X, H, "start", Q ? Y : 0), y: G.bin(X, H, "end", Q ? 0 : Y) };
      }
      function P(X, K, H, Y) {
        var Q = K.encoding, Z = K.mark, J = K.stack, ne = Q[X], ie = K.scaleName(X), re = K.getScaleComponent(X), ee = ne || !Q.latitude && !Q.longitude ? G.stackable(X, Q[X], ie, re, J, G.getDefaultRef(H, X, ie, re, Z)) : { field: K.getName(X) };
        return te = {}, te[Y || X] = ee, te;
        var te;
      }
      function I(X, K, H) {
        var Y = X.encoding, Q = X.mark, Z = X.markDef, J = X.stack;
        H = H || (Z.orient === "horizontal" ? "x2" : "y2");
        var ne = H === "x2" ? "x" : "y", ie = Y[ne], re = X.scaleName(ne), ee = X.getScaleComponent(ne), te = ie || !Y.latitude && !Y.longitude ? G.stackable2(H, ie, Y[H], re, ee, J, G.getDefaultRef(K, ne, re, ee, Q)) : { field: X.getName(H) };
        return ue = {}, ue[H] = te, ue;
        var ue;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var L = a(3), R = a(4), q = a(10), B = a(8), j = a(88), k = a(9), U = a(2), W = a(43), $ = a(52), V = a(23), G = a(636);
      u.color = s, u.baseEncodeEntry = h, u.valueIfDefined = f, u.defined = _, u.nonPosition = d, u.tooltip = b, u.text = m, u.bandPosition = O, u.centeredBandPosition = T, u.binnedPosition = w, u.pointPosition = P, u.pointPosition2 = I;
    }, function(A, u, a) {
      function s(j, k, U, W, $, V) {
        return P.isFieldDef(k) && $ && j === $.fieldChannel ? f(k, U, { suffix: "end" }) : d(j, k, U, W, $, V);
      }
      function h(j, k, U, W, $, V, G) {
        return P.isFieldDef(k) && V && j.charAt(0) === V.fieldChannel.charAt(0) ? f(k, W, { suffix: "start" }) : d(j, U, W, $, V, G);
      }
      function E(j, k, U, W) {
        return f(j, k, { binSuffix: U === "start" ? void 0 : "end" }, W ? { offset: W } : {});
      }
      function f(j, k, U, W) {
        var $ = O.__assign({}, k ? { scale: k } : {}, { field: P.vgField(j, U) });
        return W ? O.__assign({}, $, W) : $;
      }
      function S(j, k) {
        return k === void 0 && (k = !0), { scale: j, band: k };
      }
      function _(j, k) {
        return { signal: '(scale("' + k + '", ' + P.vgField(j, { expr: "datum" }) + ') + scale("' + k + '", ' + P.vgField(j, { binSuffix: "end", expr: "datum" }) + "))/2" };
      }
      function d(j, k, U, W, $, V) {
        if (k) {
          if (P.isFieldDef(k)) {
            if (k.bin) return q.contains([w.X, w.Y], j) && k.type === R.QUANTITATIVE ? $ && $.impute ? f(k, U, { binSuffix: "mid" }) : _(k, U) : f(k, U, B.binRequiresRange(k, j) ? { binSuffix: "range" } : {});
            if (W) {
              var G = W.get("type");
              if (L.hasDiscreteDomain(G)) return G === "band" ? f(k, U, { binSuffix: "range" }, { band: 0.5 }) : f(k, U, { binSuffix: "range" });
            }
            return f(k, U, {});
          }
          if (P.isValueDef(k)) return { value: k.value };
        }
        return V;
      }
      function p(j, k) {
        if (j) {
          if (P.isFieldDef(j)) return B.formatSignalRef(j, j.format, "datum", k);
          if (P.isValueDef(j)) return { value: j.value };
        }
      }
      function b(j) {
        return O.__assign({}, j, { mult: 0.5 });
      }
      function m(j) {
        if (j.get("zero") !== !1) return !0;
        var k = j.domains;
        return !!T.isArray(k) && q.some(k, function(U) {
          return T.isArray(U) && U.length === 2 && U[0] <= 0 && U[1] >= 0;
        });
      }
      function v(j, k, U, W, $) {
        if (T.isString(j)) {
          if (U) {
            var V = W.get("type");
            if (q.contains([L.ScaleType.LOG, L.ScaleType.TIME, L.ScaleType.UTC], V)) $ !== "bar" && $ !== "area" || I.warn(I.message.nonZeroScaleUsedWithLengthMark($, k, { scaleType: V }));
            else {
              if (m(W)) return { scale: U, value: 0 };
              $ !== "bar" && $ !== "area" || I.warn(I.message.nonZeroScaleUsedWithLengthMark($, k, { zeroFalse: W.explicit.zero === !1 }));
            }
          }
          return j === "zeroOrMin" ? k === "x" ? { value: 0 } : { field: { group: "height" } } : k === "x" ? { field: { group: "width" } } : { value: 0 };
        }
        return j;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var O = a(3), T = a(4), w = a(5), P = a(10), I = a(8), L = a(9), R = a(13), q = a(2), B = a(52);
      u.stackable = s, u.stackable2 = h, u.bin = E, u.fieldRef = f, u.bandRef = S, u.midPoint = d, u.text = p, u.mid = b, u.getDefaultRef = v;
    }, function(A, u, a) {
      function s(p) {
        return d.isLayerModel(p) || d.isConcatModel(p) || d.isRepeatModel(p) ? h(p) : E(p);
      }
      function h(p) {
        return p.children.reduce(function(b, m) {
          return b.concat(m.assembleProjections());
        }, E(p));
      }
      function E(p) {
        var b = p.component.projection;
        if (!b || b.merged) return [];
        var m = b.combine(), v = m.name, O = f.__rest(m, ["name"]), T = { signal: "[" + b.size.map(function(P) {
          return P.signal;
        }).join(", ") + "]" }, w = b.data.reduce(function(P, I) {
          var L = _.isVgSignalRef(I) ? I.signal : "data('" + p.lookupDataSource(I) + "')";
          return S.contains(P, L) || P.push(L), P;
        }, []);
        if (w.length <= 0) throw new Error("Projection's fit didn't find any data sources");
        return [f.__assign({ name: v, size: T, fit: { signal: w.length > 1 ? "[" + w.join(", ") + "]" : w[0] } }, O)];
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = a(3), S = a(2), _ = a(43), d = a(27);
      u.assembleProjections = s, u.assembleProjectionsForModelAndChildren = h, u.assembleProjectionForModel = E;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(3), h = a(42), E = function(f) {
        function S(_, d, p, b) {
          var m = f.call(this, s.__assign({}, d), { name: _ }) || this;
          return m.specifiedProjection = d, m.size = p, m.data = b, m.merged = !1, m;
        }
        return s.__extends(S, f), S;
      }(h.Split);
      u.ProjectionComponent = E;
    }, function(A, u, a) {
      function s(P) {
        T.isUnitModel(P) ? P.component.projection = h(P) : P.component.projection = f(P);
      }
      function h(P) {
        var I = P.specifiedProjection, L = P.markDef, R = P.config, q = P.encoding, B = L && L.type === b.GEOSHAPE, j = q && _.GEOPOSITION_CHANNELS.some(function(U) {
          return p.isFieldDef(q[U]);
        });
        if (B || j) {
          var k = [];
          return [[_.LONGITUDE, _.LATITUDE], [_.LONGITUDE2, _.LATITUDE2]].forEach(function(U) {
            (P.channelHasField(U[0]) || P.channelHasField(U[1])) && k.push({ signal: P.getName("geojson_" + k.length) });
          }), P.channelHasField(_.SHAPE) && P.fieldDef(_.SHAPE).type === v.GEOJSON && k.push({ signal: P.getName("geojson_" + k.length) }), k.length === 0 && k.push(P.requestDataName(d.MAIN)), new w.ProjectionComponent(P.projectionName(!0), S.__assign({}, R.projection || {}, I || {}), [P.getSizeSignalRef("width"), P.getSizeSignalRef("height")], k);
        }
      }
      function E(P, I) {
        var L = O.every(m.PROJECTION_PROPERTIES, function(R) {
          return !P.explicit.hasOwnProperty(R) && !I.explicit.hasOwnProperty(R) || !(!P.explicit.hasOwnProperty(R) || !I.explicit.hasOwnProperty(R) || O.stringify(P.get(R)) !== O.stringify(I.get(R)));
        });
        if (O.stringify(P.size) === O.stringify(I.size)) {
          if (L) return P;
          if (O.stringify(P.explicit) === O.stringify({})) return I;
          if (O.stringify(I.explicit) === O.stringify({})) return P;
        }
        return null;
      }
      function f(P) {
        if (P.children.length !== 0) {
          var I, L = O.every(P.children, function(B) {
            s(B);
            var j = B.component.projection;
            if (j) {
              if (I) {
                var k = E(I, j);
                return k && (I = k), !!k;
              }
              return I = j, !0;
            }
            return !0;
          });
          if (I && L) {
            var R = P.projectionName(!0), q = new w.ProjectionComponent(R, I.specifiedProjection, I.size, O.duplicate(I.data));
            return P.children.forEach(function(B) {
              B.component.projection && (q.data = q.data.concat(B.component.projection.data), B.renameProjection(B.component.projection.get("name"), R), B.component.projection.merged = !0);
            }), q;
          }
        }
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var S = a(3), _ = a(5), d = a(53), p = a(10), b = a(28), m = a(654), v = a(13), O = a(2), T = a(27), w = a(638);
      u.parseProjection = s;
    }, function(A, u, a) {
      function s(v) {
        return p.isLayerModel(v) || p.isConcatModel(v) || p.isRepeatModel(v) ? v.children.reduce(function(O, T) {
          return O.concat(s(T));
        }, h(v)) : h(v);
      }
      function h(v) {
        return _.keys(v.component.scales).reduce(function(O, T) {
          var w = v.component.scales[T];
          if (w.merged) return O;
          var P = w.combine(), I = P.domainRaw, L = P.range, R = P.name, q = P.type, B = (P.domainRaw, P.range, f.__rest(P, ["name", "type", "domainRaw", "range"]));
          return L = E(L, R, v, T), I && b.isRawSelectionDomain(I) && (I = b.selectionScaleDomain(v, I)), O.push(f.__assign({ name: R, type: q, domain: m.assembleDomain(v, T) }, I ? { domainRaw: I } : {}, { range: L }, B)), O;
        }, []);
      }
      function E(v, O, T, w) {
        if (w === "x" || w === "y") {
          if (d.isVgRangeStep(v)) return { step: { signal: O + "_step" } };
          if (S.isArray(v) && v.length === 2) {
            var P = v[0], I = v[1];
            if (P === 0 && d.isVgSignalRef(I)) return [0, { signal: T.getSizeName(I.signal) }];
            if (d.isVgSignalRef(P) && I === 0) return [{ signal: T.getSizeName(P.signal) }, 0];
          }
        }
        return v;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = a(3), S = a(4), _ = a(2), d = a(43), p = a(27), b = a(23), m = a(106);
      u.assembleScales = s, u.assembleScalesForModel = h, u.assembleScaleRange = E;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(3), h = a(42), E = function(f) {
        function S(_, d) {
          var p = f.call(this, {}, { name: _ }) || this;
          return p.merged = !1, p.domains = [], p.setWithExplicit("type", d), p;
        }
        return s.__extends(S, f), S;
      }(h.Split);
      u.ScaleComponent = E;
    }, function(A, u, a) {
      function s(B) {
        h(B), P.parseScaleDomain(B);
        for (var j = 0, k = p.NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES; j < k.length; j++) {
          var U = k[j];
          I.parseScaleProperty(B, U);
        }
        L.parseScaleRange(B);
      }
      function h(B) {
        v.isUnitModel(B) ? B.component.scales = E(B) : B.component.scales = f(B);
      }
      function E(B) {
        var j = B.encoding, k = B.config, U = B.mark;
        return S.SCALE_CHANNELS.reduce(function(W, $) {
          var V, G = void 0, X = j[$];
          if (_.isFieldDef(X) && U === d.GEOSHAPE && $ === S.SHAPE && X.type === b.GEOJSON) return W;
          if (_.isFieldDef(X) ? (V = X, G = X.scale) : _.hasConditionalFieldDef(X) ? (V = X.condition, G = X.condition.scale) : $ === S.X ? V = _.getFieldDef(j.x2) : $ === S.Y && (V = _.getFieldDef(j.y2)), V && G !== null && G !== !1) {
            G = G || {};
            var K = G.type, H = R.scaleType(G.type, $, V, U, k.scale);
            W[$] = new w.ScaleComponent(B.scaleName($ + "", !0), { value: H, explicit: K === H });
          }
          return W;
        }, {});
      }
      function f(B) {
        for (var j = B.component.scales = {}, k = {}, U = B.component.resolve, W = 0, $ = B.children; W < $.length; W++) {
          var V = $[W];
          (function(G) {
            h(G), m.keys(G.component.scales).forEach(function(X) {
              if (U.scale[X] = U.scale[X] || O.defaultScaleResolve(X, B), U.scale[X] === "shared") {
                var K = k[X], H = G.component.scales[X].getWithExplicit("type");
                K ? p.scaleCompatible(K.value, H.value) ? k[X] = T.mergeValuesWithExplicit(K, H, "type", "scale", q) : (U.scale[X] = "independent", delete k[X]) : k[X] = H;
              }
            });
          })(V);
        }
        return m.keys(k).forEach(function(G) {
          var X = B.scaleName(G, !0), K = k[G];
          j[G] = new w.ScaleComponent(X, K);
          for (var H = 0, Y = B.children; H < Y.length; H++) {
            var Q = Y[H], Z = Q.component.scales[G];
            Z && (Q.renameScale(Z.get("name"), X), Z.merged = !0);
          }
        }), j;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var S = a(5), _ = a(10), d = a(28), p = a(9), b = a(13), m = a(2), v = a(27), O = a(245), T = a(42), w = a(641), P = a(106), I = a(246), L = a(247), R = a(248);
      u.parseScale = s, u.parseScaleCore = h;
      var q = T.tieBreakByComparing(function(B, j) {
        return p.scaleTypePrecedence(B) - p.scaleTypePrecedence(j);
      });
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(4), h = a(249), E = a(23), f = { predicate: "vlSingle", scaleDomain: "vlSingleDomain", signals: h.signals, topLevelSignals: function(S, _, d) {
        var p = d.filter(function(v) {
          return v.name === _.name;
        }), b = "data(" + s.stringValue(_.name + E.STORE) + ")", m = b + "[0].values";
        return p.length ? d : d.concat({ name: _.name, update: b + ".length && {" + _.project.map(function(v, O) {
          return v.field + ": " + m + "[" + O + "]";
        }).join(", ") + "}" });
      }, modifyExpr: function(S, _) {
        return _.name + E.TUPLE + ", " + (_.resolve === "global" ? "true" : "{unit: " + E.unitName(S) + "}");
      } };
      u.default = f;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(4), h = a(2), E = a(23), f = a(158), S = { has: function(_) {
        return _.type === "single" && _.resolve === "global" && _.bind && _.bind !== "scales";
      }, topLevelSignals: function(_, d, p) {
        var b = d.name, m = d.project, v = d.bind, O = f.default.has(d) ? "(item().isVoronoi ? datum.datum : datum)" : "datum";
        return m.forEach(function(T) {
          var w = h.varName(b + "_" + T.field);
          p.filter(function(P) {
            return P.name === w;
          }).length || p.unshift({ name: w, value: "", on: [{ events: d.events, update: "datum && item().mark.marktype !== 'group' ? " + O + h.accessPath(T.field) + " : null" }], bind: v[T.field] || v[T.channel] || v });
        }), p;
      }, signals: function(_, d, p) {
        var b = d.name, m = d.project, v = p.filter(function(w) {
          return w.name === b + E.TUPLE;
        })[0], O = m.map(function(w) {
          return s.stringValue(w.field);
        }).join(", "), T = m.map(function(w) {
          return h.varName(b + "_" + w.field);
        });
        return T.length && (v.update = T.join(" && ") + " ? {fields: [" + O + "], values: [" + T.join(", ") + "]} : null"), delete v.value, delete v.on, p;
      } };
      u.default = S;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(8), h = a(2), E = a(243), f = { has: function(S) {
        var _ = S;
        return _.fields !== void 0 || _.encodings !== void 0;
      }, parse: function(S, _, d) {
        var p = {}, b = {};
        (_.fields || []).forEach(function(T) {
          return p[T] = null;
        }), (_.encodings || []).forEach(function(T) {
          var w = S.fieldDef(T);
          if (w) if (w.timeUnit) {
            var P = S.vgField(T);
            p[P] = T, b[P] = { as: P, field: w.field, timeUnit: w.timeUnit };
          } else p[w.field] = T;
          else s.warn(s.message.cannotProjectOnChannelWithoutField(T));
        });
        var m = d.project || (d.project = []);
        for (var v in p) p.hasOwnProperty(v) && m.push({ field: v, channel: p[v] });
        var O = d.fields || (d.fields = {});
        m.filter(function(T) {
          return T.channel;
        }).forEach(function(T) {
          return O[T.channel] = T.field;
        }), h.keys(b).length && (d.timeUnit = new E.TimeUnitNode(null, b));
      } };
      u.default = f;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(23), h = { has: function(E) {
        return E.type === "multi" && E.toggle;
      }, signals: function(E, f, S) {
        return S.concat({ name: f.name + "_toggle", value: !1, on: [{ events: f.events, update: f.toggle }] });
      }, modifyExpr: function(E, f, S) {
        var _ = f.name + s.TUPLE, d = f.name + "_toggle";
        return d + " ? null : " + _ + ", " + (f.resolve === "global" ? d + " ? null : true, " : d + " ? null : {unit: " + s.unitName(E) + "}, ") + d + " ? " + _ + " : null";
      } };
      u.default = h;
    }, function(A, u, a) {
      function s(m, v) {
        for (var O in b) b[O].has(m) && v(b[O]);
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(644), E = a(158), f = a(645), S = a(107), _ = a(646), d = a(648), p = a(649), b = { project: f.default, toggle: _.default, scales: S.default, translate: d.default, zoom: p.default, inputs: h.default, nearest: E.default };
      u.forEachTransform = s;
    }, function(A, u, a) {
      function s(m, v, O, T, w) {
        var P = v.name, I = _.default.has(v), L = w.filter(function(X) {
          return X.name === S.channelSignalName(v, O, I ? "data" : "visual");
        })[0], R = P + d, q = P + p, B = m.getSizeSignalRef(T).signal, j = m.getScaleComponent(O), k = j.get("type"), U = I && O === E.X ? "-" : "", W = R + ".extent_" + O, $ = "" + U + q + "." + O + " / " + (I ? "" + B : "span(" + W + ")"), V = I ? k === "log" ? "panLog" : k === "pow" ? "panPow" : "panLinear" : "panLinear", G = V + "(" + W + ", " + $ + (I && k === "pow" ? ", " + (j.get("exponent") || 1) : "") + ")";
        L.on.push({ events: { signal: q }, update: I ? G : "clampRange(" + G + ", 0, " + B + ")" });
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(152), E = a(5), f = a(157), S = a(23), _ = a(107), d = "_translate_anchor", p = "_translate_delta", b = { has: function(m) {
        return m.type === "interval" && m.translate;
      }, signals: function(m, v, O) {
        var T = v.name, w = _.default.has(v), P = T + d, I = S.positionalProjections(v), L = I.x, R = I.y, q = h.selector(v.translate, "scope");
        return w || (q = q.map(function(B) {
          return B.between[0].markname = T + f.BRUSH, B;
        })), O.push({ name: P, value: {}, on: [{ events: q.map(function(B) {
          return B.between[0];
        }), update: "{x: x(unit), y: y(unit)" + (L !== null ? ", extent_x: " + (w ? _.domain(m, E.X) : "slice(" + S.channelSignalName(v, "x", "visual") + ")") : "") + (R !== null ? ", extent_y: " + (w ? _.domain(m, E.Y) : "slice(" + S.channelSignalName(v, "y", "visual") + ")") : "") + "}" }] }, { name: T + p, value: {}, on: [{ events: q, update: "{x: " + P + ".x - x(unit), y: " + P + ".y - y(unit)}" }] }), L !== null && s(m, v, E.X, "width", O), R !== null && s(m, v, E.Y, "height", O), O;
      } };
      u.default = b;
    }, function(A, u, a) {
      function s(v, O, T, w, P) {
        var I = O.name, L = d.default.has(O), R = P.filter(function(G) {
          return G.name === _.channelSignalName(O, T, L ? "data" : "visual");
        })[0], q = v.getSizeSignalRef(w).signal, B = v.getScaleComponent(T), j = B.get("type"), k = L ? d.domain(v, T) : R.name, U = I + b, W = "" + I + p + "." + T, $ = L ? j === "log" ? "zoomLog" : j === "pow" ? "zoomPow" : "zoomLinear" : "zoomLinear", V = $ + "(" + k + ", " + W + ", " + U + (L && j === "pow" ? ", " + (B.get("exponent") || 1) : "") + ")";
        R.on.push({ events: { signal: U }, update: L ? V : "clampRange(" + V + ", 0, " + q + ")" });
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(152), E = a(4), f = a(5), S = a(157), _ = a(23), d = a(107), p = "_zoom_anchor", b = "_zoom_delta", m = { has: function(v) {
        return v.type === "interval" && v.zoom;
      }, signals: function(v, O, T) {
        var w = O.name, P = d.default.has(O), I = w + b, L = _.positionalProjections(O), R = L.x, q = L.y, B = E.stringValue(v.scaleName(f.X)), j = E.stringValue(v.scaleName(f.Y)), k = h.selector(O.zoom, "scope");
        return P || (k = k.map(function(U) {
          return U.markname = w + S.BRUSH, U;
        })), T.push({ name: w + p, on: [{ events: k, update: P ? "{" + [B ? "x: invert(" + B + ", x(unit))" : "", j ? "y: invert(" + j + ", y(unit))" : ""].filter(function(U) {
          return !!U;
        }).join(", ") + "}" : "{x: x(unit), y: y(unit)}" }] }, { name: I, on: [{ events: k, force: !0, update: "pow(1.001, event.deltaY * pow(16, event.deltaMode))" }] }), R !== null && s(v, O, "x", "width", T), q !== null && s(v, O, "y", "height", T), T;
      } };
      u.default = m;
    }, function(A, u, a) {
      function s(P) {
        return !!P.type;
      }
      function h(P) {
        return d.__assign({}, P, { encoding: b.reduce(P.encoding, function(I, L, R) {
          return w.indexOf(R) > -1 ? I[R] = L : O.warn(O.message.incompatibleChannel(R, u.BOXPLOT)), I;
        }, {}) });
      }
      function E(P, I) {
        P = h(P);
        var L = P.mark, R = (P.encoding, P.selection), q = (P.projection, d.__rest(P, ["mark", "encoding", "selection", "projection"])), B = void 0;
        p.isNumber(I.box.extent) && (B = I.box.extent), s(L) && L.extent && L.extent === "min-max" && (B = void 0);
        var j = f(P), k = _(P, j, B), U = k.transform, W = k.continuousAxisChannelDef, $ = k.continuousAxis, V = k.encodingWithoutContinuousAxis, G = (V.color, V.size), X = d.__rest(V, ["color", "size"]), K = G ? { size: G } : T.getMarkSpecificConfigMixins(I.box, "size"), H = {};
        return W.scale && (H.scale = W.scale), W.axis && (H.axis = W.axis), d.__assign({}, q, { transform: U, layer: [{ mark: { type: "rule", style: "boxWhisker" }, encoding: d.__assign((Y = {}, Y[$] = d.__assign({ field: "lower_whisker_" + W.field, type: W.type }, H), Y[$ + "2"] = { field: "lower_box_" + W.field, type: W.type }, Y), X, T.getMarkSpecificConfigMixins(I.boxWhisker, "color")) }, { mark: { type: "rule", style: "boxWhisker" }, encoding: d.__assign((Q = {}, Q[$] = { field: "upper_box_" + W.field, type: W.type }, Q[$ + "2"] = { field: "upper_whisker_" + W.field, type: W.type }, Q), X, T.getMarkSpecificConfigMixins(I.boxWhisker, "color")) }, d.__assign({}, R ? { selection: R } : {}, { mark: { type: "bar", style: "box" }, encoding: d.__assign((Z = {}, Z[$] = { field: "lower_box_" + W.field, type: W.type }, Z[$ + "2"] = { field: "upper_box_" + W.field, type: W.type }, Z), V, V.color ? {} : T.getMarkSpecificConfigMixins(I.box, "color"), K) }), { mark: { type: "tick", style: "boxMid" }, encoding: d.__assign((J = {}, J[$] = { field: "mid_box_" + W.field, type: W.type }, J), X, T.getMarkSpecificConfigMixins(I.boxMid, "color"), K) }] });
        var Y, Q, Z, J;
      }
      function f(P) {
        var I = P.mark, L = P.encoding;
        if (P.projection, d.__rest(P, ["mark", "encoding", "projection"]), v.isFieldDef(L.x) && v.isContinuous(L.x)) {
          if (v.isFieldDef(L.y) && v.isContinuous(L.y)) {
            if (L.x.aggregate === void 0 && L.y.aggregate === u.BOXPLOT) return "vertical";
            if (L.y.aggregate === void 0 && L.x.aggregate === u.BOXPLOT) return "horizontal";
            if (L.x.aggregate === u.BOXPLOT && L.y.aggregate === u.BOXPLOT) throw new Error("Both x and y cannot have aggregate");
            return s(I) && I.orient ? I.orient : "vertical";
          }
          return "horizontal";
        }
        if (v.isFieldDef(L.y) && v.isContinuous(L.y)) return "vertical";
        throw new Error("Need a valid continuous axis for boxplots");
      }
      function S(P, I) {
        var L, R, q = (P.mark, P.encoding);
        if (P.projection, d.__rest(P, ["mark", "encoding", "projection"]), I === "vertical" ? (R = "y", L = q.y) : (R = "x", L = q.x), L && L.aggregate) {
          var B = L.aggregate, j = d.__rest(L, ["aggregate"]);
          B !== u.BOXPLOT && O.warn("Continuous axis should not have customized aggregation function " + B), L = j;
        }
        return { continuousAxisChannelDef: L, continuousAxis: R };
      }
      function _(P, I, L) {
        var R = S(P, I), q = R.continuousAxisChannelDef, B = R.continuousAxis, j = P.encoding, k = L === void 0, U = [{ op: "q1", field: q.field, as: "lower_box_" + q.field }, { op: "q3", field: q.field, as: "upper_box_" + q.field }, { op: "median", field: q.field, as: "mid_box_" + q.field }], W = [];
        U.push({ op: "min", field: q.field, as: (k ? "lower_whisker_" : "min_") + q.field }), U.push({ op: "max", field: q.field, as: (k ? "upper_whisker_" : "max_") + q.field }), k || (W = [{ calculate: "datum.upper_box_" + q.field + " - datum.lower_box_" + q.field, as: "iqr_" + q.field }, { calculate: "min(datum.upper_box_" + q.field + " + datum.iqr_" + q.field + " * " + L + ", datum.max_" + q.field + ")", as: "upper_whisker_" + q.field }, { calculate: "max(datum.lower_box_" + q.field + " - datum.iqr_" + q.field + " * " + L + ", datum.min_" + q.field + ")", as: "lower_whisker_" + q.field }]);
        var $ = [], V = [], G = [], X = {};
        return m.forEach(j, function(K, H) {
          if (H !== B) if (v.isFieldDef(K)) {
            if (K.aggregate && K.aggregate !== u.BOXPLOT) U.push({ op: K.aggregate, field: K.field, as: v.vgField(K) });
            else if (K.aggregate === void 0) {
              var Y = v.vgField(K), Q = K.bin;
              if (Q) {
                var Z = K.field;
                V.push({ bin: Q, field: Z, as: Y });
              } else if (K.timeUnit) {
                var J = K.timeUnit, Z = K.field;
                G.push({ timeUnit: J, field: Z, as: Y });
              }
              $.push(Y);
            }
            X[H] = { field: v.vgField(K), type: K.type };
          } else X[H] = j[H];
        }), { transform: [].concat(V, G, [{ aggregate: U, groupby: $ }], W), continuousAxisChannelDef: q, continuousAxis: B, encodingWithoutContinuousAxis: X };
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var d = a(3), p = a(4), b = a(71), m = a(71), v = a(10), O = a(8), T = a(651);
      u.BOXPLOT = "box-plot", u.isBoxPlotDef = s, u.BOXPLOT_STYLES = ["boxWhisker", "box", "boxMid"], u.VL_ONLY_BOXPLOT_CONFIG_PROPERTY_INDEX = { box: ["size", "color", "extent"], boxWhisker: ["color"], boxMid: ["color"] };
      var w = ["x", "y", "color", "detail", "opacity", "size"];
      u.filterUnsupportedChannels = h, u.normalizeBoxPlot = E;
    }, function(A, u, a) {
      function s(h, E) {
        var f = h[E];
        return f !== void 0 ? (S = {}, S[E] = { value: f }, S) : {};
        var S;
      }
      Object.defineProperty(u, "__esModule", { value: !0 }), u.getMarkSpecificConfigMixins = s;
    }, function(A, u, a) {
      function s(E) {
        var f = (E.mark, E.selection, E.projection, E.encoding), S = h.__rest(E, ["mark", "selection", "projection", "encoding"]), _ = (f.size, h.__rest(f, ["size"])), d = (f.x2, f.y2, h.__rest(f, ["x2", "y2"])), p = (d.x, d.y, h.__rest(d, ["x", "y"]));
        if (!f.x2 && !f.y2) throw new Error("Neither x2 or y2 provided");
        return h.__assign({}, S, { layer: [{ mark: "rule", encoding: _ }, { mark: "tick", encoding: d }, { mark: "tick", encoding: f.x2 ? h.__assign({ x: f.x2, y: f.y }, p) : h.__assign({ x: f.x, y: f.y2 }, p) }] });
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(3);
      u.ERRORBAR = "error-bar", u.normalizeErrorBar = s;
    }, function(A, u, a) {
      function s(b, m) {
        p[b] = m;
      }
      function h(b) {
        delete p[b];
      }
      function E(b, m) {
        var v = S.isMarkDef(b.mark) ? b.mark.type : b.mark, O = p[v];
        if (O) return O(b, m);
        throw new Error('Invalid mark type "' + v + '"');
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = a(3), S = a(28), _ = a(650), d = a(652), p = {};
      u.add = s, u.remove = h, u.COMPOSITE_MARK_STYLES = _.BOXPLOT_STYLES, u.VL_ONLY_COMPOSITE_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX = f.__assign({}, _.VL_ONLY_BOXPLOT_CONFIG_PROPERTY_INDEX), s(_.BOXPLOT, _.normalizeBoxPlot), s(d.ERRORBAR, d.normalizeErrorBar), u.normalize = E;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 }), u.PROJECTION_PROPERTIES = ["type", "clipAngle", "clipExtent", "center", "rotate", "precision", "coefficient", "distance", "fraction", "lobes", "parallel", "radius", "ratio", "spacing", "tilt"];
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 }), u.SELECTION_ID = "_vgsid_", u.defaultConfig = { single: { on: "click", fields: [u.SELECTION_ID], resolve: "global", empty: "all" }, multi: { on: "click", fields: [u.SELECTION_ID], toggle: "event.shiftKey", resolve: "global", empty: "all" }, interval: { on: "[mousedown, window:mouseup] > window:mousemove!", encodings: ["x", "y"], translate: "[mousedown, window:mouseup] > window:mousemove!", zoom: "wheel!", mark: { fill: "#333", fillOpacity: 0.125, stroke: "white" }, resolve: "global" } };
    }, function(A, u, a) {
      function s(E) {
        var f = E.anchor, S = E.offset, _ = E.orient, d = E.color, p = h.__rest(E, ["anchor", "offset", "orient", "color"]);
        return { mark: h.__assign({}, p, d ? { fill: d } : {}), nonMark: h.__assign({}, f ? { anchor: f } : {}, S ? { offset: S } : {}, _ ? { orient: _ } : {}) };
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(3);
      u.extractTitleConfig = s;
    }, function(A, u, a) {
      var s = a(89), h = a(162), E = a(164), f = a(109), S = a(110);
      u.a = function(_, d) {
        var p, b, m, v, O, T, w, P, I, L = [], R = (_ = a.i(h.a)(_)).map(function(k, U) {
          return k == null ? null : (L.push(U), a.i(E.a)(k) ? k : a.i(f.a)(k).map(S.a).join("]["));
        }), q = L.length - 1, B = a.i(h.a)(d), j = "var u,v;return ";
        if (q < 0) return null;
        for (b = 0; b <= q; ++b) p = L[b], m = R[p], a.i(E.a)(m) ? (T = "f" + p, v = "(u=this." + T + "(a))", O = "(v=this." + T + "(b))", (w = w || {})[T] = m) : (v = "(u=a[" + m + "])", O = "(v=b[" + m + "])"), T = "((v=v instanceof Date?+v:v),(u=u instanceof Date?+u:u))", B[p] !== "descending" ? (I = 1, P = -1) : (I = -1, P = 1), j += "(" + v + "<" + O + "||u==null)&&v!=null?" + P + ":(u>v||v==null)&&u!=null?" + I + ":" + T + "!==u&&v===v?" + P + ":v!==v&&u===u?" + I + (p < q ? ":" : ":0");
        return m = Function("a", "b", j + ";"), w && (m = m.bind(w)), _ = _.reduce(function(k, U) {
          return a.i(E.a)(U) ? (a.i(s.c)(U) || []).forEach(function(W) {
            k[W] = 1;
          }) : U != null && (k[U + ""] = 1), k;
        }, {}), a.i(s.a)(m, Object.keys(_));
      };
    }, function(A, u, a) {
      var s = a(164);
      u.a = function(h) {
        return a.i(s.a)(h) ? h : function() {
          return h;
        };
      };
    }, function(A, u, a) {
      u.a = function(s, h) {
        function E() {
          h(S), f = S = null;
        }
        var f, S;
        return function(_) {
          S = _, f && clearTimeout(f), f = setTimeout(E, s);
        };
      };
    }, function(A, u, a) {
      u.a = function(s) {
        for (var h, E, f = 1, S = arguments.length; f < S; ++f) {
          h = arguments[f];
          for (E in h) s[E] = h[E];
        }
        return s;
      };
    }, function(A, u, a) {
      u.a = function(s, h) {
        var E, f, S, _, d, p = -1, b = s.length;
        if (h == null) {
          for (; ++p < b; ) if ((f = s[p]) != null && f >= f) {
            E = S = f;
            break;
          }
          for (_ = d = p; ++p < b; ) (f = s[p]) != null && (E > f && (E = f, _ = p), S < f && (S = f, d = p));
        } else {
          for (; ++p < b; ) if ((f = h(s[p], p, s)) != null && f >= f) {
            E = S = f;
            break;
          }
          for (_ = d = p; ++p < b; ) (f = h(s[p], p, s)) != null && (E > f && (E = f, _ = p), S < f && (S = f, d = p));
        }
        return [_, d];
      };
    }, function(A, u, a) {
      var s = {};
      u.a = function(h) {
        function E(d) {
          return _.hasOwnProperty(d) && _[d] !== s;
        }
        var f, S, _ = {};
        return f = { size: 0, empty: 0, object: _, has: E, get: function(d) {
          return E(d) ? _[d] : void 0;
        }, set: function(d, p) {
          return E(d) || (++f.size, _[d] === s && --f.empty), _[d] = p, this;
        }, delete: function(d) {
          return E(d) && (--f.size, ++f.empty, _[d] = s), this;
        }, clear: function() {
          f.size = f.empty = 0, f.object = _ = {};
        }, test: function(d) {
          return arguments.length ? (S = d, f) : S;
        }, clean: function() {
          var d, p, b = {}, m = 0;
          for (d in _) (p = _[d]) === s || S && S(p) || (b[d] = p, ++m);
          f.size = m, f.empty = 0, f.object = _ = b;
        } }, h && Object.keys(h).forEach(function(d) {
          f.set(d, h[d]);
        }), f;
      };
    }, function(A, u, a) {
      u.a = function(s, h) {
        var E = s.prototype = Object.create(h.prototype);
        return E.constructor = s, E;
      };
    }, function(A, u, a) {
      u.a = function(s) {
        return typeof s == "boolean";
      };
    }, function(A, u, a) {
      u.a = function(s) {
        return Object.prototype.toString.call(s) === "[object RegExp]";
      };
    }, function(A, u, a) {
      var s = a(89), h = a(162), E = a(109), f = a(110);
      u.a = function(S, _) {
        S && (S = _ ? a.i(h.a)(S).map(function(p) {
          return p.replace(/\\(.)/g, "$1");
        }) : a.i(h.a)(S));
        var d = S && S.length ? Function("_", "return ''+" + S.map(function(p) {
          return "_[" + (_ ? a.i(f.a)(p) : a.i(E.a)(p).map(f.a).join("][")) + "]";
        }).join("+'|'+") + ";") : function() {
          return "";
        };
        return a.i(s.a)(d, S, "key");
      };
    }, function(A, u, a) {
      function s(d, p, b) {
        var m = [p].concat([].slice.call(b));
        console[d].apply(console, m);
      }
      a.d(u, "b", function() {
        return h;
      }), a.d(u, "c", function() {
        return E;
      }), a.d(u, "d", function() {
        return f;
      }), a.d(u, "e", function() {
        return S;
      }), a.d(u, "f", function() {
        return _;
      });
      var h = 0, E = 1, f = 2, S = 3, _ = 4;
      u.a = function(d) {
        var p = d || h;
        return { level: function(b) {
          return arguments.length ? (p = +b, this) : p;
        }, error: function() {
          return p >= E && s("error", "ERROR", arguments), this;
        }, warn: function() {
          return p >= f && s("warn", "WARN", arguments), this;
        }, info: function() {
          return p >= S && s("log", "INFO", arguments), this;
        }, debug: function() {
          return p >= _ && s("log", "DEBUG", arguments), this;
        } };
      };
    }, function(A, u, a) {
      u.a = function(s, h, E, f) {
        var S = h.length, _ = E.length;
        if (!_) return h;
        if (!S) return E;
        for (var d = f || new h.constructor(S + _), p = 0, b = 0, m = 0; p < S && b < _; ++m) d[m] = s(h[p], E[b]) > 0 ? E[b++] : h[p++];
        for (; p < S; ++p, ++m) d[m] = h[p];
        for (; b < _; ++b, ++m) d[m] = E[b];
        return d;
      };
    }, function(A, u, a) {
      var s = a(260);
      u.a = function(h, E, f, S) {
        var _ = f || " ", d = h + "", p = E - d.length;
        return p <= 0 ? d : S === "left" ? a.i(s.a)(_, p) + d : S === "center" ? a.i(s.a)(_, ~~(p / 2)) + d + a.i(s.a)(_, Math.ceil(p / 2)) : d + a.i(s.a)(_, p);
      };
    }, function(A, u, a) {
      u.a = function(s) {
        return s == null || s === "" ? null : !(!s || s === "false" || s === "0") && !!s;
      };
    }, function(A, u, a) {
      function s(f) {
        return a.i(E.a)(f) || a.i(h.a)(f) ? f : Date.parse(f);
      }
      var h = a(255), E = a(256);
      u.a = function(f, S) {
        return S = S || s, f == null || f === "" ? null : S(f);
      };
    }, function(A, u, a) {
      u.a = function(s) {
        for (var h = {}, E = 0, f = s.length; E < f; ++E) h[s[E]] = !0;
        return h;
      };
    }, function(A, u, a) {
      u.a = function(s) {
        return s == null || s === "" ? null : s + "";
      };
    }, function(A, u, a) {
      function s(P) {
        return function(I) {
          return P * Math.exp(I);
        };
      }
      function h(P) {
        return function(I) {
          return Math.log(P * I);
        };
      }
      function E(P) {
        return function(I) {
          return I < 0 ? -Math.pow(-I, P) : Math.pow(I, P);
        };
      }
      function f(P, I, L, R) {
        var q = L(P[0]), B = L(a.i(T.a)(P)), j = (B - q) * I;
        return [R(q - j), R(B - j)];
      }
      function S(P, I) {
        return f(P, I, w.a, O.b);
      }
      function _(P, I) {
        var L = Math.sign(P[0]);
        return f(P, I, h(L), s(L));
      }
      function d(P, I, L) {
        return f(P, I, E(L), E(1 / L));
      }
      function p(P, I, L, R, q) {
        var B = R(P[0]), j = R(a.i(T.a)(P)), k = I != null ? R(I) : (B + j) / 2;
        return [q(k + (B - k) * L), q(k + (j - k) * L)];
      }
      function b(P, I, L) {
        return p(P, I, L, w.a, O.b);
      }
      function m(P, I, L) {
        var R = Math.sign(P[0]);
        return p(P, I, L, h(R), s(R));
      }
      function v(P, I, L, R) {
        return p(P, I, L, E(R), E(1 / R));
      }
      u.a = S, u.b = _, u.c = d, u.d = b, u.e = m, u.f = v;
      var O = a(252), T = a(259), w = a(261);
    }, function(A, u, a) {
      u.a = function(s, h, E, f) {
        var S = f ?? "…", _ = s + "", d = _.length, p = Math.max(0, h - S.length);
        return d <= h ? _ : E === "left" ? S + _.slice(d - p) : E === "center" ? _.slice(0, Math.ceil(p / 2)) + S + _.slice(d - ~~(p / 2)) : _.slice(0, p) + S;
      };
    }, function(A, u, a) {
      u.a = function(s, h, E) {
        if (s) {
          var f, S = 0, _ = s.length;
          if (h) for (; S < _; ++S) (f = h(s[S])) && E(f, S, s);
          else s.forEach(E);
        }
      };
    }, function(A, u) {
      A.exports = function(a) {
        return a.webpackPolyfill || (a.deprecate = function() {
        }, a.paths = [], a.children || (a.children = []), Object.defineProperty(a, "loaded", { enumerable: !0, get: function() {
          return a.l;
        } }), Object.defineProperty(a, "id", { enumerable: !0, get: function() {
          return a.i;
        } }), a.webpackPolyfill = 1), a;
      };
    }, function(A, u) {
      (function(a) {
        function s(U) {
          if (typeof U != "string" && (U = String(U)), /[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(U)) throw new TypeError("Invalid character in header field name");
          return U.toLowerCase();
        }
        function h(U) {
          return typeof U != "string" && (U = String(U)), U;
        }
        function E(U) {
          var W = { next: function() {
            var $ = U.shift();
            return { done: $ === void 0, value: $ };
          } };
          return L.iterable && (W[Symbol.iterator] = function() {
            return W;
          }), W;
        }
        function f(U) {
          this.map = {}, U instanceof f ? U.forEach(function(W, $) {
            this.append($, W);
          }, this) : U && Object.getOwnPropertyNames(U).forEach(function(W) {
            this.append(W, U[W]);
          }, this);
        }
        function S(U) {
          if (U.bodyUsed) return Promise.reject(new TypeError("Already read"));
          U.bodyUsed = !0;
        }
        function _(U) {
          return new Promise(function(W, $) {
            U.onload = function() {
              W(U.result);
            }, U.onerror = function() {
              $(U.error);
            };
          });
        }
        function d(U) {
          var W = new FileReader(), $ = _(W);
          return W.readAsArrayBuffer(U), $;
        }
        function p(U) {
          var W = new FileReader(), $ = _(W);
          return W.readAsText(U), $;
        }
        function b(U) {
          for (var W = new Uint8Array(U), $ = new Array(W.length), V = 0; V < W.length; V++) $[V] = String.fromCharCode(W[V]);
          return $.join("");
        }
        function m(U) {
          if (U.slice) return U.slice(0);
          var W = new Uint8Array(U.byteLength);
          return W.set(new Uint8Array(U)), W.buffer;
        }
        function v() {
          return this.bodyUsed = !1, this._initBody = function(U) {
            if (this._bodyInit = U, U) if (typeof U == "string") this._bodyText = U;
            else if (L.blob && Blob.prototype.isPrototypeOf(U)) this._bodyBlob = U;
            else if (L.formData && FormData.prototype.isPrototypeOf(U)) this._bodyFormData = U;
            else if (L.searchParams && URLSearchParams.prototype.isPrototypeOf(U)) this._bodyText = U.toString();
            else if (L.arrayBuffer && L.blob && q(U)) this._bodyArrayBuffer = m(U.buffer), this._bodyInit = new Blob([this._bodyArrayBuffer]);
            else {
              if (!L.arrayBuffer || !ArrayBuffer.prototype.isPrototypeOf(U) && !B(U)) throw new Error("unsupported BodyInit type");
              this._bodyArrayBuffer = m(U);
            }
            else this._bodyText = "";
            this.headers.get("content-type") || (typeof U == "string" ? this.headers.set("content-type", "text/plain;charset=UTF-8") : this._bodyBlob && this._bodyBlob.type ? this.headers.set("content-type", this._bodyBlob.type) : L.searchParams && URLSearchParams.prototype.isPrototypeOf(U) && this.headers.set("content-type", "application/x-www-form-urlencoded;charset=UTF-8"));
          }, L.blob && (this.blob = function() {
            var U = S(this);
            if (U) return U;
            if (this._bodyBlob) return Promise.resolve(this._bodyBlob);
            if (this._bodyArrayBuffer) return Promise.resolve(new Blob([this._bodyArrayBuffer]));
            if (this._bodyFormData) throw new Error("could not read FormData body as blob");
            return Promise.resolve(new Blob([this._bodyText]));
          }, this.arrayBuffer = function() {
            return this._bodyArrayBuffer ? S(this) || Promise.resolve(this._bodyArrayBuffer) : this.blob().then(d);
          }), this.text = function() {
            var U = S(this);
            if (U) return U;
            if (this._bodyBlob) return p(this._bodyBlob);
            if (this._bodyArrayBuffer) return Promise.resolve(b(this._bodyArrayBuffer));
            if (this._bodyFormData) throw new Error("could not read FormData body as text");
            return Promise.resolve(this._bodyText);
          }, L.formData && (this.formData = function() {
            return this.text().then(w);
          }), this.json = function() {
            return this.text().then(JSON.parse);
          }, this;
        }
        function O(U) {
          var W = U.toUpperCase();
          return j.indexOf(W) > -1 ? W : U;
        }
        function T(U, W) {
          W = W || {};
          var $ = W.body;
          if (U instanceof T) {
            if (U.bodyUsed) throw new TypeError("Already read");
            this.url = U.url, this.credentials = U.credentials, W.headers || (this.headers = new f(U.headers)), this.method = U.method, this.mode = U.mode, $ || U._bodyInit == null || ($ = U._bodyInit, U.bodyUsed = !0);
          } else this.url = String(U);
          if (this.credentials = W.credentials || this.credentials || "omit", !W.headers && this.headers || (this.headers = new f(W.headers)), this.method = O(W.method || this.method || "GET"), this.mode = W.mode || this.mode || null, this.referrer = null, (this.method === "GET" || this.method === "HEAD") && $) throw new TypeError("Body not allowed for GET or HEAD requests");
          this._initBody($);
        }
        function w(U) {
          var W = new FormData();
          return U.trim().split("&").forEach(function($) {
            if ($) {
              var V = $.split("="), G = V.shift().replace(/\+/g, " "), X = V.join("=").replace(/\+/g, " ");
              W.append(decodeURIComponent(G), decodeURIComponent(X));
            }
          }), W;
        }
        function P(U) {
          var W = new f();
          return U.split(/\r?\n/).forEach(function($) {
            var V = $.split(":"), G = V.shift().trim();
            if (G) {
              var X = V.join(":").trim();
              W.append(G, X);
            }
          }), W;
        }
        function I(U, W) {
          W || (W = {}), this.type = "default", this.status = "status" in W ? W.status : 200, this.ok = this.status >= 200 && this.status < 300, this.statusText = "statusText" in W ? W.statusText : "OK", this.headers = new f(W.headers), this.url = W.url || "", this._initBody(U);
        }
        if (!a.fetch) {
          var L = { searchParams: "URLSearchParams" in a, iterable: "Symbol" in a && "iterator" in Symbol, blob: "FileReader" in a && "Blob" in a && function() {
            try {
              return new Blob(), !0;
            } catch {
              return !1;
            }
          }(), formData: "FormData" in a, arrayBuffer: "ArrayBuffer" in a };
          if (L.arrayBuffer) var R = ["[object Int8Array]", "[object Uint8Array]", "[object Uint8ClampedArray]", "[object Int16Array]", "[object Uint16Array]", "[object Int32Array]", "[object Uint32Array]", "[object Float32Array]", "[object Float64Array]"], q = function(U) {
            return U && DataView.prototype.isPrototypeOf(U);
          }, B = ArrayBuffer.isView || function(U) {
            return U && R.indexOf(Object.prototype.toString.call(U)) > -1;
          };
          f.prototype.append = function(U, W) {
            U = s(U), W = h(W);
            var $ = this.map[U];
            this.map[U] = $ ? $ + "," + W : W;
          }, f.prototype.delete = function(U) {
            delete this.map[s(U)];
          }, f.prototype.get = function(U) {
            return U = s(U), this.has(U) ? this.map[U] : null;
          }, f.prototype.has = function(U) {
            return this.map.hasOwnProperty(s(U));
          }, f.prototype.set = function(U, W) {
            this.map[s(U)] = h(W);
          }, f.prototype.forEach = function(U, W) {
            for (var $ in this.map) this.map.hasOwnProperty($) && U.call(W, this.map[$], $, this);
          }, f.prototype.keys = function() {
            var U = [];
            return this.forEach(function(W, $) {
              U.push($);
            }), E(U);
          }, f.prototype.values = function() {
            var U = [];
            return this.forEach(function(W) {
              U.push(W);
            }), E(U);
          }, f.prototype.entries = function() {
            var U = [];
            return this.forEach(function(W, $) {
              U.push([$, W]);
            }), E(U);
          }, L.iterable && (f.prototype[Symbol.iterator] = f.prototype.entries);
          var j = ["DELETE", "GET", "HEAD", "OPTIONS", "POST", "PUT"];
          T.prototype.clone = function() {
            return new T(this, { body: this._bodyInit });
          }, v.call(T.prototype), v.call(I.prototype), I.prototype.clone = function() {
            return new I(this._bodyInit, { status: this.status, statusText: this.statusText, headers: new f(this.headers), url: this.url });
          }, I.error = function() {
            var U = new I(null, { status: 0, statusText: "" });
            return U.type = "error", U;
          };
          var k = [301, 302, 303, 307, 308];
          I.redirect = function(U, W) {
            if (k.indexOf(W) === -1) throw new RangeError("Invalid status code");
            return new I(null, { status: W, headers: { location: U } });
          }, a.Headers = f, a.Request = T, a.Response = I, a.fetch = function(U, W) {
            return new Promise(function($, V) {
              var G = new T(U, W), X = new XMLHttpRequest();
              X.onload = function() {
                var K = { status: X.status, statusText: X.statusText, headers: P(X.getAllResponseHeaders() || "") };
                K.url = "responseURL" in X ? X.responseURL : K.headers.get("X-Request-URL");
                var H = "response" in X ? X.response : X.responseText;
                $(new I(H, K));
              }, X.onerror = function() {
                V(new TypeError("Network request failed"));
              }, X.ontimeout = function() {
                V(new TypeError("Network request failed"));
              }, X.open(G.method, G.url, !0), G.credentials === "include" && (X.withCredentials = !0), "responseType" in X && L.blob && (X.responseType = "blob"), G.headers.forEach(function(K, H) {
                X.setRequestHeader(H, K);
              }), X.send(G._bodyInit === void 0 ? null : G._bodyInit);
            });
          }, a.fetch.polyfill = !0;
        }
      })(typeof self < "u" ? self : this);
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 }), u.SET_APPLICATION_STATE = "SET_APPLICATION_STATE";
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var q = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(B, j) {
          B.__proto__ = j;
        } || function(B, j) {
          for (var k in j) j.hasOwnProperty(k) && (B[k] = j[k]);
        };
        return function(B, j) {
          function k() {
            this.constructor = B;
          }
          q(B, j), B.prototype = j === null ? Object.create(j) : (k.prototype = j.prototype, new k());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(0), E = a(116), f = a(731), S = a(20), _ = a(148), d = a(577), p = a(38), b = a(14), m = a(63);
      a(286);
      var v = a(683), O = a(687), T = a(693), w = a(695), P = a(697), I = a(698), L = a(702), R = function(q) {
        function B() {
          return q !== null && q.apply(this, arguments) || this;
        }
        return s(B, q), B.prototype.render = function() {
          var j, k, U = this.props, W = U.dataset, $ = U.config, V = $.hideHeader, G = $.hideFooter;
          return W.isLoading || (W.data ? (j = h.createElement(d, { split: "vertical", defaultSize: 200, minSize: 175, maxSize: 350 }, h.createElement(v.DataPane, null), h.createElement(d, { split: "vertical", defaultSize: 235, minSize: 200, maxSize: 350 }, h.createElement(O.EncodingPane, null), h.createElement(L.ViewPane, null))), G || (k = h.createElement(T.Footer, null))) : j = h.createElement(P.LoadData, null)), h.createElement("div", { className: "voyager" }, h.createElement(I.LogPane, null), !V && h.createElement(w.Header, null), h.createElement(_.ClipLoader, { color: p.SPINNER_COLOR, loading: W.isLoading }), j, k);
        }, B;
      }(h.PureComponent);
      u.AppRoot = S.connect(function(q) {
        return { dataset: m.selectDataset(q), config: b.selectConfig(q) };
      })(E.DragDropContext(f.default)(R));
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var P = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(I, L) {
          I.__proto__ = L;
        } || function(I, L) {
          for (var R in L) L.hasOwnProperty(R) && (I[R] = L[R]);
        };
        return function(I, L) {
          function R() {
            this.constructor = I;
          }
          P(I, L), I.prototype = L === null ? Object.create(L) : (R.prototype = L.prototype, new R());
        };
      }(), h = this && this.__assign || Object.assign || function(P) {
        for (var I, L = 1, R = arguments.length; L < R; L++) {
          I = arguments[L];
          for (var q in I) Object.prototype.hasOwnProperty.call(I, q) && (P[q] = I[q]);
        }
        return P;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(0), f = a(7), S = a(221), _ = a(20), d = a(112), p = a(61), b = a(63), m = a(14), v = a(168), O = a(287), T = function(P) {
        function I(L) {
          var R = P.call(this, L) || this;
          return R.state = { modalIsOpen: !1 }, R.openModal = R.openModal.bind(R), R.closeModal = R.closeModal.bind(R), R.onClearAll = R.onClearAll.bind(R), R.onExport = R.onExport.bind(R), R;
        }
        return s(I, P), I.prototype.render = function() {
          return E.createElement("div", null, E.createElement("button", { onClick: this.openModal }, E.createElement("i", { className: "fa fa-bookmark" }), " Bookmarks (", this.props.bookmark.count, ")"), E.createElement(S.default, { isOpen: this.state.modalIsOpen, onRequestClose: this.closeModal, contentLabel: "Bookmark Selector", styleName: "modal", className: "voyager" }, E.createElement("div", { className: "modal-header" }, E.createElement("a", { className: "right", onClick: this.closeModal }, "Close"), E.createElement("h3", null, "Bookmarks (", this.props.bookmark.count, ")"), E.createElement("a", { styleName: "bookmark-list-util", onClick: this.onClearAll }, E.createElement("i", { className: "fa fa-trash-o" }), " ", "Clear all"), E.createElement("a", { styleName: "bookmark-list-util", onClick: this.onExport }, E.createElement("i", { className: "fa fa-clipboard" }), " ", "Export")), this.renderBookmarks(this.props.bookmark)));
        }, I.prototype.onExport = function() {
          for (var L = this.props.bookmark, R = [], q = 0, B = L.list; q < B.length; q++) {
            var j = B[q], k = L.dict[j];
            R.push(h({}, k.plot.spec, { description: k.note }));
          }
          var U = window.open();
          U.document.write("<html><body><pre>" + JSON.stringify(R, null, 2) + "</pre></body></html>"), U.document.close();
        }, I.prototype.onClearAll = function() {
          this.props.handleAction({ type: d.BOOKMARK_CLEAR_ALL });
        }, I.prototype.openModal = function() {
          this.setState({ modalIsOpen: !0 });
        }, I.prototype.closeModal = function() {
          this.setState({ modalIsOpen: !1 });
        }, I.prototype.renderBookmarks = function(L) {
          var R = this, q = this.props.data, B = L.list.map(function(k) {
            return L.dict[k].plot;
          }), j = B.map(function(k, U) {
            var W = k.spec, $ = k.fieldInfos;
            return E.createElement(v.Plot, { bookmark: R.props.bookmark, closeModal: R.closeModal.bind(R), data: q, filters: [], key: U, fieldInfos: $, handleAction: R.props.handleAction, isPlotListItem: !0, showBookmarkButton: !0, showSpecifyButton: !0, spec: W });
          });
          return E.createElement("div", null, j.length > 0 ? j : E.createElement("div", { styleName: "vis-list-empty" }, "You have no bookmarks"));
        }, I;
      }(E.PureComponent);
      u.BookmarkBase = T;
      var w = f(T, O);
      u.BookmarkPane = _.connect(function(P) {
        return { bookmark: m.selectBookmark(P), data: b.selectData(P) };
      }, p.createDispatchHandler())(w);
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var j = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(k, U) {
          k.__proto__ = U;
        } || function(k, U) {
          for (var W in U) U.hasOwnProperty(W) && (k[W] = U[W]);
        };
        return function(k, U) {
          function W() {
            this.constructor = k;
          }
          j(k, U), k.prototype = U === null ? Object.create(U) : (W.prototype = U.prototype, new W());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(34), E = a(57), f = a(6), S = a(82), _ = a(0), d = a(7), p = a(20), b = a(61), m = a(21), v = a(263), O = a(38), T = a(44), w = a(14), P = a(56), I = a(115), L = a(289), R = a(684), q = function(j) {
        function k(U) {
          var W = j.call(this, U) || this;
          return W.onAdd = W.onAdd.bind(W), W.onFilterToggle = W.onFilterToggle.bind(W), W;
        }
        return s(k, j), k.prototype.render = function() {
          var U = this, W = this.props, $ = W.config, V = W.fieldDefs, G = W.schema, X = V.map(function(K) {
            var H;
            f.isWildcard(K.field) || (H = G.primitiveType(K.field));
            var Y = U.getValidTypes(H).length < 2, Q = f.isWildcard(K.field) ? S(K) : K.field;
            return _.createElement("div", { key: Q, styleName: "field-list-item" }, U.renderComponent(K, Y, H));
          });
          return _.createElement("div", { styleName: $.wildcards === "disabled" ? "field-list-no-wildcards" : "field-list" }, X);
        }, k.prototype.onAdd = function(U) {
          (0, this.props.handleAction)({ type: m.SPEC_FIELD_AUTO_ADD, payload: { fieldDef: U } });
        }, k.prototype.onFilterToggle = function(U) {
          (0, this.props.handleAction)({ type: v.FILTER_TOGGLE, payload: { filter: this.getFilter(U) } });
        }, k.prototype.getFilter = function(U) {
          var W = this.props.schema;
          if (!f.isWildcard(U.field)) {
            var $ = W.domain({ field: U.field });
            return T.createDefaultFilter(U, $);
          }
        }, k.prototype.renderComponent = function(U, W, $) {
          if (W) return this.renderField(U);
          var V = this.renderTypeChanger(U, $);
          return this.renderField(U, V);
        }, k.prototype.renderTypeChanger = function(U, W) {
          var $ = this.props.handleAction;
          if (!f.isWildcard(U.field)) return _.createElement(R.TypeChanger, { field: U.field, type: U.type, validTypes: this.getValidTypes(W), handleAction: $ });
        }, k.prototype.renderField = function(U, W) {
          var $ = this.props, V = $.schema, G = $.filters, X = { active: !f.isWildcard(U.field) && T.filterHasField(G, U.field), onToggle: this.onFilterToggle };
          return _.createElement(I.Field, { fieldDef: U, isPill: !0, draggable: !0, filter: X, parentId: { type: O.FieldParentType.FIELD_LIST }, caretShow: !0, popupComponent: W, onDoubleClick: this.onAdd, onAdd: this.onAdd, schema: V });
        }, k.prototype.getValidTypes = function(U) {
          switch (U) {
            case E.PrimitiveType.NUMBER:
            case E.PrimitiveType.INTEGER:
              return [h.ExpandedType.QUANTITATIVE, h.ExpandedType.NOMINAL];
            case E.PrimitiveType.DATETIME:
              return [h.ExpandedType.TEMPORAL];
            case E.PrimitiveType.STRING:
            case E.PrimitiveType.BOOLEAN:
              return [h.ExpandedType.NOMINAL];
            default:
              return [];
          }
        }, k;
      }(_.PureComponent), B = d(q, L);
      u.FieldList = p.connect(function(j) {
        return { fieldDefs: w.selectSchemaFieldDefs(j).concat([{ fn: "count", field: "*", type: "quantitative" }]), schema: w.selectSchema(j), filters: P.selectFilters(j), config: w.selectConfig(j) };
      }, b.createDispatchHandler())(B), u.PresetWildcardFieldList = p.connect(function(j) {
        return { fieldDefs: w.selectPresetWildcardFields(j), schema: w.selectSchema(j), config: w.selectConfig(j) };
      }, b.createDispatchHandler())(B);
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var m = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(v, O) {
          v.__proto__ = O;
        } || function(v, O) {
          for (var T in O) O.hasOwnProperty(T) && (v[T] = O[T]);
        };
        return function(v, O) {
          function T() {
            this.constructor = v;
          }
          m(v, O), v.prototype = O === null ? Object.create(O) : (T.prototype = O.prototype, new T());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(0), E = a(7), f = a(20), S = a(14), _ = a(267), d = a(288), p = a(682), b = function(m) {
        function v() {
          return m !== null && m.apply(this, arguments) || this;
        }
        return s(v, m), v.prototype.render = function() {
          var O = this.props.data.name, T = this.props.data.schema.fieldSchemas.length, w = this.props.config, P = w.showDataSourceSelector, I = w.wildcards, L = T > 0 ? h.createElement("div", { styleName: "data-pane-section" }, h.createElement("h3", null, "Fields"), h.createElement(p.FieldList, null)) : null, R = I !== "disabled" && T > 0 && h.createElement("div", { styleName: "data-pane-section" }, h.createElement("h3", null, "Wildcard Fields"), h.createElement(p.PresetWildcardFieldList, null));
          return h.createElement("div", { className: "pane", styleName: "data-pane" }, h.createElement("h2", { styleName: "data-pane-title" }, "Data"), h.createElement("div", null, h.createElement("span", { styleName: "current-dataset" }, h.createElement("i", { className: "fa fa-database" }), " ", O), h.createElement("span", { className: "right" }, P ? h.createElement(_.DataSelector, { title: "Change" }) : null)), L, R);
        }, v;
      }(h.PureComponent);
      u.DataPaneBase = b, u.DataPane = f.connect(function(m) {
        return { data: S.selectDataset(m), config: S.selectConfig(m) };
      })(E(b, d));
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var d = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(p, b) {
          p.__proto__ = b;
        } || function(p, b) {
          for (var m in b) b.hasOwnProperty(m) && (p[m] = b[m]);
        };
        return function(p, b) {
          function m() {
            this.constructor = p;
          }
          d(p, b), p.prototype = b === null ? Object.create(b) : (m.prototype = b.prototype, new m());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(0), E = a(7), f = a(166), S = a(290), _ = function(d) {
        function p() {
          return d !== null && d.apply(this, arguments) || this;
        }
        return s(p, d), p.prototype.render = function() {
          var b = this, m = this.props.validTypes;
          return h.createElement("div", { styleName: "type-changer" }, h.createElement("h4", null, "Type"), m.map(function(v) {
            return h.createElement("label", { key: v }, h.createElement("input", { type: "radio", value: v, name: "type", onChange: b.onTypeChange.bind(b), checked: b.props.type === v }), h.createElement("span", { styleName: "type" }, " ", v, " "));
          }));
        }, p.prototype.onTypeChange = function(b) {
          var m = b.target.value, v = this.props, O = v.handleAction, T = v.field;
          O({ type: f.DATASET_SCHEMA_CHANGE_FIELD_TYPE, payload: { field: T, type: m } });
        }, p;
      }(h.PureComponent);
      u.TypeChangerBase = _, u.TypeChanger = E(_, S);
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var q = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(B, j) {
          B.__proto__ = j;
        } || function(B, j) {
          for (var k in j) j.hasOwnProperty(k) && (B[k] = j[k]);
        };
        return function(B, j) {
          function k() {
            this.constructor = B;
          }
          q(B, j), B.prototype = j === null ? Object.create(j) : (k.prototype = j.prototype, new k());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(6), E = a(0), f = a(7), S = a(116), _ = a(94), d = a(2), p = a(21), b = a(38), m = a(169), v = a(115), O = a(293), T = a(686), w = a(268), P = a(167), I = function(q) {
        function B(j) {
          var k = q.call(this, j) || this;
          return k.popupRefHandler = function(U) {
            k.fieldCustomizer = U;
          }, k.fieldHandler = function(U) {
            k.encodingShelf = U;
          }, k.state = { customizerIsOpened: !1 }, k.onWildcardAdd = k.onWildcardAdd.bind(k), k.onWildcardRemove = k.onWildcardRemove.bind(k), k.onWildcardDisable = k.onWildcardDisable.bind(k), k.onWildcardEnable = k.onWildcardEnable.bind(k), k.toggleCustomizer = k.toggleCustomizer.bind(k), k;
        }
        return s(B, q), B.prototype.componentWillUpdate = function(j, k) {
          k && (k.customizerIsOpened ? document.addEventListener("click", this.handleClickOutside.bind(this), !0) : this.state.customizerIsOpened && document.removeEventListener("click", this.handleClickOutside.bind(this), !0));
        }, B.prototype.render = function() {
          var j = this.props, k = j.id, U = j.connectDropTarget, W = j.fieldDef, $ = j.handleAction, V = h.isWildcard(k.channel), G = V ? "any" : k.channel;
          return U(E.createElement("div", { styleName: V ? "wildcard-shelf" : "encoding-shelf" }, E.createElement("div", { styleName: "shelf-label" }, E.createElement(_, { attachment: "top left", targetAttachment: "bottom left" }, W && !m.isWildcardChannelId(k) && d.contains(P.CUSTOMIZABLE_ENCODING_CHANNELS, k.channel) ? E.createElement("span", { onClick: this.toggleCustomizer, ref: this.fieldHandler }, G, " ", " ", E.createElement("i", { className: "fa fa-caret-down" })) : E.createElement("span", null, G), this.state.customizerIsOpened && E.createElement("div", { ref: this.popupRefHandler }, E.createElement(T.FieldCustomizer, { shelfId: k, fieldDef: W, handleAction: $ })))), W ? this.renderField() : this.renderFieldPlaceholder()));
        }, B.prototype.onWildcardEnable = function() {
          var j = this.props, k = j.id;
          (0, j.handleAction)({ type: p.SPEC_FUNCTION_ENABLE_WILDCARD, payload: { shelfId: k } });
        }, B.prototype.onWildcardDisable = function() {
          var j = this.props, k = j.id;
          (0, j.handleAction)({ type: p.SPEC_FUNCTION_DISABLE_WILDCARD, payload: { shelfId: k } });
        }, B.prototype.onWildcardAdd = function(j) {
          var k = this.props, U = k.id;
          (0, k.handleAction)({ type: p.SPEC_FUNCTION_ADD_WILDCARD, payload: { shelfId: U, fn: j } });
        }, B.prototype.onWildcardRemove = function(j) {
          var k = this.props, U = k.id;
          (0, k.handleAction)({ type: p.SPEC_FUNCTION_REMOVE_WILDCARD, payload: { shelfId: U, fn: j } });
        }, B.prototype.onFunctionChange = function(j) {
          var k = this.props, U = k.id;
          (0, k.handleAction)({ type: p.SPEC_FUNCTION_CHANGE, payload: { shelfId: U, fn: j } });
        }, B.prototype.onRemove = function() {
          var j = this.props, k = j.id, U = j.handleAction;
          this.closePopup(), U({ type: p.SPEC_FIELD_REMOVE, payload: k });
        }, B.prototype.renderField = function() {
          var j = this.props, k = j.id, U = j.fieldDef, W = j.schema, $ = U.type === "quantitative" || U.type === "temporal", V = $ ? E.createElement(w.FunctionPicker, { fieldDefParts: U, onFunctionChange: this.onFunctionChange.bind(this), wildcardHandler: this }) : null;
          return E.createElement("div", { styleName: "field-wrapper" }, E.createElement(v.Field, { draggable: !0, fieldDef: U, caretShow: !0, isPill: !0, schema: W, popupComponent: V, onRemove: this.onRemove.bind(this), parentId: { type: b.FieldParentType.ENCODING_SHELF, id: k } }));
        }, B.prototype.renderFieldPlaceholder = function() {
          var j = this.props, k = j.item, U = j.isOver;
          return E.createElement("span", { styleName: U ? "placeholder-over" : k ? "placeholder-active" : "placeholder" }, "Drop a field here");
        }, B.prototype.handleClickOutside = function(j) {
          this.fieldCustomizer && this.encodingShelf && (this.fieldCustomizer.contains(j.target) || this.encodingShelf.contains(j.target)) || this.closePopup();
        }, B.prototype.closePopup = function() {
          this.setState({ customizerIsOpened: !1 });
        }, B.prototype.toggleCustomizer = function() {
          this.setState({ customizerIsOpened: !this.state.customizerIsOpened });
        }, B;
      }(E.PureComponent), L = { drop: function(q, B) {
        if (!B.didDrop()) {
          var j = B.getItem(), k = j.fieldDef, U = j.parentId;
          switch (U.type) {
            case b.FieldParentType.FIELD_LIST:
              q.handleAction({ type: p.SPEC_FIELD_ADD, payload: { shelfId: q.id, fieldDef: k, replace: !0 } });
              break;
            case b.FieldParentType.ENCODING_SHELF:
              q.handleAction({ type: p.SPEC_FIELD_MOVE, payload: { from: U.id, to: q.id } });
              break;
            default:
              throw new Error("Field dragged from unregistered source type to EncodingShelf");
          }
        }
      } }, R = function(q, B) {
        return { connectDropTarget: q.dropTarget(), isOver: B.isOver(), item: B.getItem() };
      };
      u.EncodingShelf = S.DropTarget(b.DraggableType.FIELD, L, R)(f(I, O));
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var b = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(m, v) {
          m.__proto__ = v;
        } || function(m, v) {
          for (var O in v) v.hasOwnProperty(O) && (m[O] = v[O]);
        };
        return function(m, v) {
          function O() {
            this.constructor = m;
          }
          b(m, v), m.prototype = v === null ? Object.create(v) : (O.prototype = v.prototype, new O());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(0), E = a(7), f = a(226), S = a(294), _ = a(689), d = a(167), p = function(b) {
        function m() {
          return b !== null && b.apply(this, arguments) || this;
        }
        return s(m, b), m.prototype.render = function() {
          var v = this.props, O = v.shelfId, T = v.handleAction, w = v.fieldDef, P = d.getFieldPropertyGroupIndex(O, w), I = P ? Object.keys(P) : void 0;
          return h.createElement("div", { styleName: "field-customizer" }, I && h.createElement(f.Tabs, null, h.createElement(f.TabList, null, I.map(function(L, R) {
            return h.createElement(f.Tab, { key: "tab" + R }, L);
          })), h.createElement("div", null, I.map(function(L, R) {
            var q = P[L];
            return h.createElement(f.TabPanel, { key: "tabPanel" + L + R }, q.map(function(B) {
              var j = B.prop, k = B.nestedProp;
              return h.createElement(_.PropertyEditor, { key: j + "_" + k + R, prop: j, nestedProp: k, shelfId: O, fieldDef: w, handleAction: T, propTab: L });
            }));
          }))));
        }, m;
      }(h.PureComponent);
      u.FieldCustomizerBase = p, u.FieldCustomizer = E(p, S);
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var I = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(L, R) {
          L.__proto__ = R;
        } || function(L, R) {
          for (var q in R) R.hasOwnProperty(q) && (L[q] = R[q]);
        };
        return function(L, R) {
          function q() {
            this.constructor = L;
          }
          I(L, R), L.prototype = R === null ? Object.create(R) : (q.prototype = R.prototype, new q());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(6), E = a(0), f = a(7), S = a(20), _ = a(61), d = a(21), p = a(14), b = a(14), m = a(56), v = a(690), O = a(292), T = a(685), w = a(688), P = function(I) {
        function L(R) {
          var q = I.call(this, R) || this;
          return q.onClear = q.onClear.bind(q), q;
        }
        return s(L, I), L.prototype.render = function() {
          var R = this.props, q = R.specPreview, B = R.spec, j = this.props.config.wildcards, k = (q || B).anyEncodings, U = ["x", "y"].map(this.encodingShelf, this), W = ["row", "column"].map(this.encodingShelf, this), $ = ["size", "color", "shape", "detail", "text"].map(this.encodingShelf, this), V = j !== "disabled" && E.createElement("div", { styleName: "shelf-group" }, E.createElement("h3", null, "Wildcard Shelves"), k.map(function(G, X) {
            return X;
          }).concat([-1]).map(this.wildcardShelf, this));
          return E.createElement("div", { className: "pane", styleName: "encoding-pane" }, E.createElement("a", { className: "right", onClick: this.onClear }, E.createElement("i", { className: "fa fa-eraser" }), " ", "Clear"), E.createElement("h2", null, "Encoding", q && " Preview"), E.createElement("div", { styleName: "shelf-group" }, U), E.createElement("div", { styleName: "shelf-group" }, E.createElement("div", { className: "right" }, this.markPicker()), E.createElement("h3", null, "Mark"), $), E.createElement("div", { styleName: "shelf-group" }, E.createElement("h3", null, "Facet"), W), V, E.createElement("div", { styleName: "shelf-group" }, E.createElement("h3", null, "Filter"), this.filterPane()));
        }, L.prototype.encodingShelf = function(R) {
          var q = this.props, B = q.handleAction, j = q.spec, k = q.specPreview, U = q.schema, W = (k || j).encoding;
          return E.createElement(T.EncodingShelf, { key: R, id: { channel: R }, fieldDef: W[R], schema: U, handleAction: B, valueDef: W[R] });
        }, L.prototype.markPicker = function() {
          var R = this.props, q = R.handleAction, B = R.spec, j = R.specPreview, k = (j || B).mark;
          return E.createElement(w.MarkPicker, { mark: k, handleAction: q });
        }, L.prototype.wildcardShelf = function(R) {
          var q = this.props, B = q.handleAction, j = q.spec, k = q.specPreview, U = q.schema, W = (k || j).anyEncodings, $ = { channel: h.SHORT_WILDCARD, index: R };
          return E.createElement(T.EncodingShelf, { key: R, id: $, schema: U, fieldDef: W[R], handleAction: B, valueDef: void 0 });
        }, L.prototype.filterPane = function() {
          var R = this.props, q = R.filters, B = R.schema, j = R.handleAction;
          return E.createElement(v.FilterPane, { filters: q, schema: B, handleAction: j });
        }, L.prototype.onClear = function() {
          this.props.handleAction({ type: d.SPEC_CLEAR });
        }, L;
      }(E.PureComponent);
      u.EncodingPane = S.connect(function(I) {
        return I.undoable.present, { spec: m.selectShelfSpec(I), filters: m.selectFilters(I), schema: p.selectDataset(I).schema, fieldDefs: b.selectSchemaFieldDefs(I), specPreview: p.selectShelfPreview(I).spec, config: p.selectConfig(I) };
      }, _.createDispatchHandler())(f(P, O));
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var v = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(O, T) {
          O.__proto__ = T;
        } || function(O, T) {
          for (var w in T) T.hasOwnProperty(w) && (O[w] = T[w]);
        };
        return function(O, T) {
          function w() {
            this.constructor = O;
          }
          v(O, T), O.prototype = T === null ? Object.create(T) : (w.prototype = T.prototype, new w());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(6), E = a(0), f = a(7), S = a(28), _ = a(296), d = a(17), p = [h.SHORT_WILDCARD].concat(S.PRIMITIVE_MARKS), b = p.map(function(v) {
        return E.createElement("option", { key: v, value: v }, v === h.SHORT_WILDCARD ? "auto" : v);
      }), m = function(v) {
        function O(T) {
          var w = v.call(this, T) || this;
          return w.onMarkChange = w.onMarkChange.bind(w), w;
        }
        return s(O, v), O.prototype.render = function() {
          var T = this.props.mark;
          return E.createElement("select", { styleName: h.isWildcard(T) ? "mark-picker-any" : "mark-picker", value: T, onChange: this.onMarkChange }, b);
        }, O.prototype.onMarkChange = function(T) {
          this.props.handleAction({ type: d.SPEC_MARK_CHANGE_TYPE, payload: T.target.value });
        }, O;
      }(E.PureComponent);
      u.MarkPickerBase = m, u.MarkPicker = f(m, _);
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var O = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(T, w) {
          T.__proto__ = w;
        } || function(T, w) {
          for (var P in w) w.hasOwnProperty(P) && (T[P] = w[P]);
        };
        return function(T, w) {
          function P() {
            this.constructor = T;
          }
          O(T, w), T.prototype = w === null ? Object.create(w) : (P.prototype = w.prototype, new P());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(34), E = a(0), f = a(7), S = a(549), _ = a(588), d = a(21), p = a(55), b = a(167), m = a(297), v = function(O) {
        function T(w) {
          var P = O.call(this, w) || this;
          return P.changeFieldProperty = P.changeFieldProperty.bind(P), P.changeFieldProperty = _.debounce(500, P.changeFieldProperty), P;
        }
        return s(T, O), T.prototype.render = function() {
          var w = this.props, P = w.prop, I = w.nestedProp, L = w.propTab, R = w.shelfId, q = w.fieldDef;
          if (!p.isWildcardChannelId(R)) {
            var B = b.generatePropertyEditorSchema(P, I, L, q, R.channel), j = B.schema, k = B.uiSchema, U = b.generateFormData(R, q);
            return E.createElement("div", { styleName: "property-editor" }, E.createElement(S.default, { schema: j, uiSchema: k, formData: U, onChange: this.changeFieldProperty }, E.createElement("button", { type: "submit", style: { display: "none" } }, "Submit")));
          }
        }, T.prototype.changeFieldProperty = function(w) {
          var P = this.props, I = P.prop, L = P.nestedProp, R = P.shelfId, q = P.handleAction, B = this.parseFormDataResult(w.formData[Object.keys(w.formData)[0]]);
          q(L ? { type: d.SPEC_FIELD_NESTED_PROP_CHANGE, payload: { shelfId: R, prop: I, nestedProp: L, value: B } } : { type: d.SPEC_FIELD_PROP_CHANGE, payload: { shelfId: R, prop: I, value: B } });
        }, T.prototype.parseFormDataResult = function(w) {
          var P = this.props, I = P.fieldDef, L = P.prop, R = P.nestedProp;
          if (w !== "") {
            if (L === "scale") {
              if (R === "range") {
                var q = w.split(/\s*,\s*/);
                if (b.isContinuous(I) && q.length !== 2) throw new Error("Invalid format for range. Must follow format: Min Number, Max Number");
                return w === "" ? void 0 : q;
              }
              if (R === "domain") {
                var B = w.split(/\s*,\s*/);
                if (I.type === h.ExpandedType.QUANTITATIVE && B.length !== 2) throw new Error("Invalid format for domain. Must follow format: Min Number, Max Number");
                if (I.type === h.ExpandedType.TEMPORAL) throw new Error("Voyager does not currently support temporal domain values");
                return w === "" ? void 0 : B;
              }
            }
            return w === "" ? void 0 : w;
          }
        }, T;
      }(E.PureComponent);
      u.PropertyEditorBase = v, u.PropertyEditor = f(v, m);
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var B = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(j, k) {
          j.__proto__ = k;
        } || function(j, k) {
          for (var U in k) k.hasOwnProperty(U) && (j[U] = k[U]);
        };
        return function(j, k) {
          function U() {
            this.constructor = j;
          }
          B(j, k), j.prototype = k === null ? Object.create(k) : (U.prototype = k.prototype, new U());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(34), E = a(6), f = a(0), S = a(7), _ = a(116), d = a(88), p = a(29), b = a(17), m = a(38), v = a(44), O = a(268), T = a(115), w = a(299), P = a(691), I = a(692), L = function(B) {
        function j(k) {
          var U = B.call(this, k) || this;
          return U.filterModifyTimeUnit = U.filterModifyTimeUnit.bind(U), U;
        }
        return s(j, B), j.prototype.render = function() {
          var k = this, U = this.props, W = U.filters, $ = U.connectDropTarget, V = W.map(function(G, X) {
            return k.renderFilterShelf(G, X);
          });
          return $(f.createElement("div", { styleName: "filter-pane" }, V, this.renderFieldPlaceholder()));
        }, j.prototype.filterRemove = function(k) {
          (0, this.props.handleAction)({ type: b.FILTER_REMOVE, payload: { index: k } });
        }, j.prototype.filterModifyTimeUnit = function(k, U) {
          var W = this.props, $ = W.handleAction, V = W.schema, G = W.filters, X = V.domain({ field: G[U].field });
          k === "-" && (k = void 0), $({ type: b.FILTER_MODIFY_TIME_UNIT, payload: { index: U, domain: X, timeUnit: k } });
        }, j.prototype.renderFilterShelf = function(k, U) {
          var W, $ = this, V = this.props, G = V.handleAction, X = V.schema, K = X.domain({ field: k.field }), H = k.field, Y = k.timeUnit, Q = X.fieldSchema(k.field), Z = { fn: Y, field: H, type: Q.vlType }, J = function(ie) {
            $.filterModifyTimeUnit(ie, U);
          }, ne = Z.type === h.ExpandedType.TEMPORAL && f.createElement(O.FunctionPicker, { fieldDefParts: { fn: Y, type: h.ExpandedType.TEMPORAL }, onFunctionChange: J });
          return d.isFieldRangePredicate(k) ? (Z.type === h.ExpandedType.TEMPORAL && (K = v.getDefaultTimeRange(K, Y)), W = f.createElement(I.RangeFilterShelf, { domain: K, filter: k, index: U, renderDateTimePicker: this.renderDateTimePicker(Z.type, Y), handleAction: G })) : d.isFieldOneOfPredicate(k) && (Y && (K = v.getDefaultList(Y)), W = f.createElement(P.OneOfFilterShelf, { domain: K, index: U, filter: k, handleAction: G })), f.createElement("div", { styleName: "filter-shelf", key: U }, f.createElement(T.Field, { draggable: !1, fieldDef: Z, caretShow: !0, isPill: !0, onRemove: this.filterRemove.bind(this, U), popupComponent: ne }), W);
        }, j.prototype.renderFieldPlaceholder = function() {
          var k, U, W = this.props, $ = W.item, V = W.isOver, G = W.canDrop;
          return $ && !G ? (k = "placeholder-disabled", U = "Cannot drop a field here") : (k = V ? "placeholder-over" : $ ? "placeholder-active" : "placeholder", U = "Drop a field here"), f.createElement("span", { styleName: k }, U);
        }, j.prototype.renderDateTimePicker = function(k, U) {
          if (!U) {
            if (k === h.ExpandedType.QUANTITATIVE) return !1;
            if (k === h.ExpandedType.TEMPORAL) return !0;
          }
          switch (U) {
            case p.TimeUnit.YEAR:
            case p.TimeUnit.MONTH:
            case p.TimeUnit.DAY:
            case p.TimeUnit.DATE:
            case p.TimeUnit.HOURS:
            case p.TimeUnit.MINUTES:
            case p.TimeUnit.SECONDS:
            case p.TimeUnit.MILLISECONDS:
              return !1;
            case p.TimeUnit.YEARMONTHDATE:
              return !0;
            default:
              throw new Error(U + " is not supported");
          }
        }, j;
      }(f.PureComponent), R = { drop: function(B, j) {
        if (!j.didDrop()) {
          var k = j.getItem().filter;
          if (E.isWildcard(k.field)) throw window.alert("Cannot add wildcard filter"), new Error("Cannot add wildcard filter");
          if (v.filterHasField(B.filters, k.field)) return void window.alert("Cannot add more than one filter of the same field");
          B.handleAction({ type: b.FILTER_ADD, payload: { filter: k } });
        }
      }, canDrop: function(B, j) {
        var k = j.getItem().fieldDef;
        return !E.isWildcard(k.field) && k.field !== "*";
      } }, q = function(B, j) {
        return { connectDropTarget: B.dropTarget(), isOver: j.isOver(), item: j.getItem(), canDrop: j.canDrop() };
      };
      u.FilterPane = _.DropTarget(m.DraggableType.FIELD, R, q)(S(L, w));
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var p = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(b, m) {
          b.__proto__ = m;
        } || function(b, m) {
          for (var v in m) m.hasOwnProperty(v) && (b[v] = m[v]);
        };
        return function(b, m) {
          function v() {
            this.constructor = b;
          }
          p(b, m), b.prototype = m === null ? Object.create(m) : (v.prototype = m.prototype, new v());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(0), E = a(7), f = a(17), S = a(62), _ = a(300), d = function(p) {
        function b(m) {
          var v = p.call(this, m) || this;
          return v.state = { hideSearchBar: !0 }, v;
        }
        return s(b, p), b.prototype.render = function() {
          var m = this, v = this.props, O = v.domain, T = v.filter, w = v.index, P = O.map(function(I) {
            return h.createElement("div", { key: I, className: "option-div", styleName: "option-row" }, h.createElement("label", null, h.createElement("input", { name: w.toString(), value: I, type: "checkbox", checked: T.oneOf.indexOf(I) !== -1, onChange: m.toggleCheckbox.bind(m, I) }), " ", "" + I), h.createElement("span", { onClick: m.onSelectOne.bind(m, I), styleName: "keep-only" }, "Keep Only"));
          });
          return h.createElement("div", { id: w.toString() }, h.createElement("div", { styleName: "below-header" }, h.createElement("span", null, h.createElement("a", { styleName: "select-all", onClick: this.onSelectAll.bind(this) }, "Select All"), " /", h.createElement("a", { styleName: "clear-all", onClick: this.onClearAll.bind(this) }, "Clear All")), this.state.hideSearchBar ? null : h.createElement("input", { type: "text", onChange: this.onSearch.bind(this), autoFocus: !0 }), h.createElement("a", { styleName: "search", onClick: this.onClickSearch.bind(this) }, h.createElement("i", { className: "fa fa-search" }))), P);
        }, b.prototype.filterModifyOneOf = function(m, v) {
          (0, this.props.handleAction)({ type: f.FILTER_MODIFY_ONE_OF, payload: { index: m, oneOf: v } });
        }, b.prototype.toggleCheckbox = function(m) {
          var v, O = this.props.filter.oneOf, T = O.indexOf(m);
          v = T === -1 ? S.insertItemToArray(O, O.length, m) : S.removeItemFromArray(O, T).array, this.filterModifyOneOf(this.props.index, v);
        }, b.prototype.onSelectOne = function(m) {
          var v = this.props.index;
          this.filterModifyOneOf(v, [m]);
        }, b.prototype.onSelectAll = function() {
          var m = this.props, v = m.domain, O = m.index;
          this.filterModifyOneOf(O, v.slice());
        }, b.prototype.onClearAll = function() {
          var m = this.props.index;
          this.filterModifyOneOf(m, []);
        }, b.prototype.onClickSearch = function() {
          if (!this.state.hideSearchBar) {
            var m = this.getDivs();
            Array.prototype.forEach.call(m, function(v) {
              v.style.display = "block";
            });
          }
          this.setState({ hideSearchBar: !this.state.hideSearchBar });
        }, b.prototype.onSearch = function(m) {
          var v = this.getDivs();
          Array.prototype.forEach.call(v, function(O) {
            O.childNodes[0].childNodes[0].value.toLowerCase().indexOf(m.target.value.toLowerCase().trim()) === -1 ? O.style.display = "none" : O.style.display = "block";
          });
        }, b.prototype.getDivs = function() {
          return document.getElementById(this.props.index.toString()).getElementsByClassName("option-div");
        }, b;
      }(h.PureComponent);
      u.OneOfFilterShelfBase = d, u.OneOfFilterShelf = E(d, _);
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var O = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(T, w) {
          T.__proto__ = w;
        } || function(T, w) {
          for (var P in w) w.hasOwnProperty(P) && (T[P] = w[P]);
        };
        return function(T, w) {
          function P() {
            this.constructor = T;
          }
          O(T, w), T.prototype = w === null ? Object.create(w) : (P.prototype = w.prototype, new P());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(500), E = a(0), f = a(7), S = a(513), _ = a(94), d = a(29), p = a(17), b = a(44), m = a(301), v = function(O) {
        function T(w) {
          var P = O.call(this, w) || this;
          return P.state = { minDateTimePickerOpen: !1, maxDateTimePickerOpen: !1 }, P.filterModifyExtent = P.filterModifyExtent.bind(P), P.filterModifyMaxBound = P.filterModifyMaxBound.bind(P), P.filterModifyMinBound = P.filterModifyMinBound.bind(P), P.toggleMinDateTimePicker = P.toggleMinDateTimePicker.bind(P), P.toggleMaxDateTimePicker = P.toggleMaxDateTimePicker.bind(P), P;
        }
        return s(T, O), T.prototype.render = function() {
          var w, P, I, L, R, q, B = this.props, j = B.filter, k = B.domain, U = B.renderDateTimePicker, W = h.createSliderWithTooltip, $ = W(h.Range);
          return U ? (w = this.renderDateTimePicker(new Date(b.convertToTimestamp(j.range[0])), "min"), P = this.renderDateTimePicker(new Date(b.convertToTimestamp(j.range[1])), "max"), I = b.convertToTimestamp(j.range[0]), L = b.convertToTimestamp(j.range[1]), R = Math.floor(b.convertToTimestamp(k[0])), q = Math.ceil(b.convertToTimestamp(k[1]))) : (w = this.renderNumberInput("min"), P = this.renderNumberInput("max"), I = j.range[0], L = j.range[1], R = Math.floor(Number(k[0])), q = Math.ceil(Number(k[1]))), E.createElement("div", { styleName: "range-filter-pane" }, E.createElement("div", null, E.createElement("div", { styleName: "bound" }, w), E.createElement("div", { styleName: "bound" }, P)), E.createElement($, { allowCross: !1, defaultValue: [I, L], min: R, max: q, onAfterChange: this.filterModifyExtent.bind(this), tipFormatter: this.getFormat(U, j.timeUnit), step: this.getStep(j.timeUnit) }));
        }, T.prototype.filterModifyExtent = function(w) {
          var P;
          if (P = this.props.renderDateTimePicker ? [b.convertToDateTimeObject(w[0]), b.convertToDateTimeObject(w[1])] : w, P[0] > P[1]) return void window.alert("Invalid bound");
          var I = this.props, L = I.handleAction, R = I.index;
          L({ type: p.FILTER_MODIFY_EXTENT, payload: { index: R, range: P } });
        }, T.prototype.filterModifyMaxBound = function(w) {
          var P;
          P = w.hasOwnProperty("target") ? Number(w.target.value) : w;
          var I = this.props, L = I.handleAction, R = I.index;
          if (this.props.renderDateTimePicker && (P = b.convertToDateTimeObject(P)), P < this.props.filter.range[0]) return void window.alert("Maximum bound cannot be smaller than minimum bound");
          L({ type: p.FILTER_MODIFY_MAX_BOUND, payload: { index: R, maxBound: P } });
        }, T.prototype.filterModifyMinBound = function(w) {
          var P;
          P = w.hasOwnProperty("target") ? Number(w.target.value) : w;
          var I = this.props, L = I.handleAction, R = I.index;
          if (I.renderDateTimePicker && (P = b.convertToDateTimeObject(P)), P > this.props.filter.range[1]) return void window.alert("Minimum bound cannot be greater than maximum bound");
          L({ type: p.FILTER_MODIFY_MIN_BOUND, payload: { index: R, minBound: P } });
        }, T.prototype.renderNumberInput = function(w) {
          var P, I, L = this.props.filter;
          return w === "min" ? (P = this.filterModifyMinBound, I = L.range[0]) : w === "max" && (P = this.filterModifyMaxBound, I = L.range[1]), E.createElement("div", null, w, ":", E.createElement("a", { onClick: this.focusInput.bind(this, L.field + "_" + w) }, E.createElement("i", { className: "fa fa-pencil" })), E.createElement("input", { id: L.field + "_" + w, type: "number", value: I.toString(), onChange: P }));
        }, T.prototype.renderDateTimePicker = function(w, P) {
          var I, L, R;
          return P === "min" ? (I = this.filterModifyMinBound, L = this.state.minDateTimePickerOpen, R = this.toggleMinDateTimePicker) : P === "max" && (I = this.filterModifyMaxBound, L = this.state.maxDateTimePickerOpen, R = this.toggleMaxDateTimePicker), E.createElement("div", null, E.createElement(_, { attachment: "bottom center" }, E.createElement("div", { styleName: "bound" }, P, ":", E.createElement("a", { onClick: R }, E.createElement("i", { className: "fa fa-pencil" })), w.toString()), L && E.createElement("div", { styleName: "date-time-picker-wrapper" }, E.createElement(S, { defaultValue: w, timeFormat: this.showTime(this.props.filter.timeUnit), open: !1, onChange: I, disableOnClickOutside: !1 }))));
        }, T.prototype.focusInput = function(w) {
          document.getElementById(w).focus();
        }, T.prototype.toggleMinDateTimePicker = function() {
          this.setState({ minDateTimePickerOpen: !this.state.minDateTimePickerOpen });
        }, T.prototype.toggleMaxDateTimePicker = function() {
          this.setState({ maxDateTimePickerOpen: !this.state.maxDateTimePickerOpen });
        }, T.prototype.showTime = function(w) {
          switch (w) {
            case void 0:
            case d.TimeUnit.YEAR:
            case d.TimeUnit.MONTH:
            case d.TimeUnit.DAY:
            case d.TimeUnit.DATE:
            case d.TimeUnit.HOURS:
            case d.TimeUnit.MINUTES:
            case d.TimeUnit.SECONDS:
            case d.TimeUnit.MILLISECONDS:
              return !0;
            case d.TimeUnit.YEARMONTHDATE:
              return !1;
            default:
              throw new Error(w + " is not supported");
          }
        }, T.prototype.getFormat = function(w, P) {
          if (!P) return w ? function(I) {
            return new Date(I).toString();
          } : void 0;
          switch (P) {
            case d.TimeUnit.YEAR:
            case d.TimeUnit.MONTH:
            case d.TimeUnit.DAY:
            case d.TimeUnit.DATE:
            case d.TimeUnit.HOURS:
            case d.TimeUnit.MINUTES:
            case d.TimeUnit.SECONDS:
            case d.TimeUnit.MILLISECONDS:
              return;
            case d.TimeUnit.YEARMONTHDATE:
              return function(I) {
                return new Date(I).toString();
              };
            default:
              throw new Error(P + " is not supported");
          }
        }, T.prototype.getStep = function(w) {
          switch (w) {
            case void 0:
            case d.TimeUnit.YEAR:
            case d.TimeUnit.MONTH:
            case d.TimeUnit.DAY:
            case d.TimeUnit.DATE:
            case d.TimeUnit.HOURS:
            case d.TimeUnit.MINUTES:
            case d.TimeUnit.SECONDS:
            case d.TimeUnit.MILLISECONDS:
              return 1;
            case d.TimeUnit.YEARMONTHDATE:
              return 864e5;
            default:
              throw new Error(w + " is not supported");
          }
        }, T;
      }(E.PureComponent);
      u.RangeFilterShelfBase = v, u.RangeFilterShelf = f(v, m);
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var m = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(v, O) {
          v.__proto__ = O;
        } || function(v, O) {
          for (var T in O) O.hasOwnProperty(T) && (v[T] = O[T]);
        };
        return function(v, O) {
          function T() {
            this.constructor = v;
          }
          m(v, O), v.prototype = O === null ? Object.create(O) : (T.prototype = O.prototype, new T());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(481), E = a(0), f = a(7), S = a(519), _ = a(707), d = a(175), p = a(302), b = function(m) {
        function v() {
          return m !== null && m.apply(this, arguments) || this;
        }
        return s(v, m), v.prototype.render = function() {
          return E.createElement("div", { styleName: "footer" }, E.createElement("a", { onClick: this.exportLogs }, "Download logs"));
        }, v.prototype.exportLogs = function() {
          var O = _.constructLogString(d.actionLogs.getLog().actions), T = h.unparse(O), w = "Logs_voyager_" + /* @__PURE__ */ new Date() + ".csv";
          S(T, w);
        }, v;
      }(E.PureComponent);
      u.FooterBase = b, u.Footer = f(b, p);
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var p = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(b, m) {
          b.__proto__ = m;
        } || function(b, m) {
          for (var v in m) m.hasOwnProperty(v) && (b[v] = m[v]);
        };
        return function(b, m) {
          function v() {
            this.constructor = b;
          }
          p(b, m), b.prototype = m === null ? Object.create(m) : (v.prototype = m.prototype, new v());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(0), E = a(7), f = a(681), S = a(303), _ = a(696), d = function(p) {
        function b() {
          return p !== null && p.apply(this, arguments) || this;
        }
        return s(b, p), b.prototype.render = function() {
          return h.createElement("div", { styleName: "controls" }, h.createElement(f.BookmarkPane, null), h.createElement(_.UndoRedo, null));
        }, b;
      }(h.PureComponent);
      u.ControlsBase = d, u.Controls = E(d, S);
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var v = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(O, T) {
          O.__proto__ = T;
        } || function(O, T) {
          for (var w in T) T.hasOwnProperty(w) && (O[w] = T[w]);
        };
        return function(O, T) {
          function w() {
            this.constructor = O;
          }
          v(O, T), O.prototype = T === null ? Object.create(T) : (w.prototype = T.prototype, new w());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(0), E = a(7), f = a(20), S = a(728), _ = a(729), d = a(63), p = a(694), b = a(304), m = function(v) {
        function O() {
          return v !== null && v.apply(this, arguments) || this;
        }
        return s(O, v), O.prototype.render = function() {
          var T = this.props.data;
          return h.createElement("div", { styleName: "header" }, h.createElement("img", { styleName: "voyager-logo", src: _ }), T && h.createElement(p.Controls, null), h.createElement("a", { styleName: "idl-logo", onClick: this.openLink }, h.createElement("img", { src: S })));
        }, O.prototype.openLink = function() {
          window.open("https://idl.cs.washington.edu/");
        }, O;
      }(h.PureComponent);
      u.HeaderBase = m, u.Header = f.connect(function(v) {
        return { data: d.selectData(v) };
      })(E(m, b));
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var _ = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d, p) {
          d.__proto__ = p;
        } || function(d, p) {
          for (var b in p) p.hasOwnProperty(b) && (d[b] = p[b]);
        };
        return function(d, p) {
          function b() {
            this.constructor = d;
          }
          _(d, p), d.prototype = p === null ? Object.create(p) : (b.prototype = p.prototype, new b());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(0), E = a(20), f = a(265), S = function(_) {
        function d() {
          return _ !== null && _.apply(this, arguments) || this;
        }
        return s(d, _), d.prototype.render = function() {
          var p = this.props, b = p.canUndo, m = p.canRedo, v = p.onUndo, O = p.onRedo;
          return h.createElement("div", null, h.createElement("button", { onClick: v, disabled: !b }, h.createElement("i", { className: "fa fa-undo" }), " Undo"), h.createElement("button", { onClick: O, disabled: !m }, h.createElement("i", { className: "fa fa-repeat" }), " Redo"));
        }, d;
      }(h.PureComponent);
      u.UndoRedo = E.connect(function(_) {
        return { canUndo: _.undoable.past.length > 0, canRedo: _.undoable.future.length > 0 };
      }, function(_) {
        return { onUndo: function() {
          _({ type: f.UNDO });
        }, onRedo: function() {
          _({ type: f.REDO });
        } };
      })(S);
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var b = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(m, v) {
          m.__proto__ = v;
        } || function(m, v) {
          for (var O in v) v.hasOwnProperty(O) && (m[O] = v[O]);
        };
        return function(m, v) {
          function O() {
            this.constructor = m;
          }
          b(m, v), m.prototype = v === null ? Object.create(v) : (O.prototype = v.prototype, new O());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(0), E = a(7), f = a(20), S = a(14), _ = a(267), d = a(305), p = function(b) {
        function m() {
          return b !== null && b.apply(this, arguments) || this;
        }
        return s(m, b), m.prototype.render = function() {
          return this.props.config.showDataSourceSelector ? h.createElement("div", { className: "pane", styleName: "load-data-pane" }, "Please load a dataset", " ", h.createElement(_.DataSelector, { title: "Load" })) : h.createElement("div", { className: "pane", styleName: "load-data-pane" }, "Please load a dataset.  (For the Electron app, please use the menu bar.)");
        }, m;
      }(h.PureComponent);
      u.LoadDataBase = p, u.LoadData = f.connect(function(b) {
        return { config: S.selectConfig(b) };
      })(E(p, d));
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var m = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(v, O) {
          v.__proto__ = O;
        } || function(v, O) {
          for (var T in O) O.hasOwnProperty(T) && (v[T] = O[T]);
        };
        return function(v, O) {
          function T() {
            this.constructor = v;
          }
          m(v, O), v.prototype = O === null ? Object.create(O) : (T.prototype = O.prototype, new T());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(0), E = a(7), f = a(20), S = a(90), _ = a(61), d = a(14), p = a(306), b = function(m) {
        function v() {
          return m !== null && m.apply(this, arguments) || this;
        }
        return s(v, m), v.prototype.render = function() {
          var O = this.props.log.warnings, T = this.props.log.errors, w = O.warn.length > 0 || O.debug.length > 0 || O.info.length > 0 ? h.createElement("div", { styleName: "warning-pane" }, h.createElement("a", { styleName: "close", onClick: this.closeWarnings.bind(this) }, "x"), h.createElement("ul", null, this.returnLevelWarnings(O, "warn"), this.returnLevelWarnings(O, "info"), this.returnLevelWarnings(O, "debug"))) : null, P = T.length > 0 ? h.createElement("div", { styleName: "error-pane" }, h.createElement("a", { styleName: "close", onClick: this.closeErrors.bind(this) }, "x"), h.createElement("ul", null, T.map(function(I, L) {
            return h.createElement("li", { key: L }, I);
          }))) : null;
          return h.createElement("div", null, w, P);
        }, v.prototype.closeWarnings = function() {
          this.props.handleAction({ type: S.LOG_WARNINGS_CLEAR });
        }, v.prototype.closeErrors = function() {
          this.props.handleAction({ type: S.LOG_ERRORS_CLEAR });
        }, v.prototype.returnLevelWarnings = function(O, T) {
          return O[T].map(function(w, P) {
            return h.createElement("li", { key: P }, "[", T.toUpperCase(), "] ", w);
          });
        }, v;
      }(h.PureComponent);
      u.LogPaneBase = b, u.LogPane = f.connect(function(m) {
        return { log: d.selectLog(m) };
      }, _.createDispatchHandler())(E(b, p));
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var p = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(b, m) {
          b.__proto__ = m;
        } || function(b, m) {
          for (var v in m) m.hasOwnProperty(v) && (b[v] = m[v]);
        };
        return function(b, m) {
          function v() {
            this.constructor = b;
          }
          p(b, m), b.prototype = m === null ? Object.create(m) : (v.prototype = m.prototype, new v());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(0), E = a(7), f = a(94), S = a(112), _ = a(308), d = function(p) {
        function b(m) {
          var v = p.call(this, m) || this;
          return v.bookmarkHandler = function(O) {
            v.bookmarkPopup = O;
          }, v.alertHandler = function(O) {
            v.bookmarkDialog = O;
          }, v.state = { openDialog: !1 }, v.onBookmarkRemove = v.onBookmarkRemove.bind(v), v.onBookmarkAdd = v.onBookmarkAdd.bind(v), v.onBookmarkClick = v.onBookmarkClick.bind(v), v.onKeepBookmark = v.onKeepBookmark.bind(v), v;
        }
        return s(b, p), b.prototype.componentWillUpdate = function(m, v) {
          v && (v.openDialog ? document.addEventListener("click", this.handleClickOutside.bind(this), !0) : this.state.openDialog && document.removeEventListener("click", this.handleClickOutside.bind(this), !0));
        }, b.prototype.render = function() {
          var m = this.isBookmarked() ? "bookmark-command-selected" : "command";
          return h.createElement(f, { attachment: "top right", targetAttachment: "bottom left" }, h.createElement("i", { title: "Bookmark", className: "fa fa-bookmark", styleName: m, onClick: this.onBookmarkClick }), this.state.openDialog && h.createElement("div", { styleName: "bookmark-alert", ref: this.alertHandler }, h.createElement("div", { ref: this.bookmarkHandler }, "Remove Bookmark?"), h.createElement("small", null, "Your notes will be lost."), h.createElement("div", null, h.createElement("a", { onClick: this.onBookmarkRemove }, h.createElement("span", { styleName: "fa-span" }, h.createElement("i", { className: "fa fa-trash-o" }), " Remove it  ")), h.createElement("a", { onClick: this.onKeepBookmark }, h.createElement("span", { styleName: "fa-span" }, h.createElement("i", { className: "fa fa-bookmark" }), " Keep it  ")))));
        }, b.prototype.onKeepBookmark = function() {
          this.setState({ openDialog: !1 });
        }, b.prototype.isBookmarked = function() {
          var m = this.props, v = m.bookmark, O = m.plot;
          return !!v.dict[JSON.stringify(O.spec)];
        }, b.prototype.onBookmarkClick = function() {
          this.isBookmarked() ? this.setState({ openDialog: !this.state.openDialog }) : this.onBookmarkAdd();
        }, b.prototype.onBookmarkRemove = function() {
          this.setState({ openDialog: !1 }), this.props.handleAction({ type: S.BOOKMARK_REMOVE_PLOT, payload: { spec: this.props.plot.spec } });
        }, b.prototype.onBookmarkAdd = function() {
          this.props.handleAction({ type: S.BOOKMARK_ADD_PLOT, payload: { plot: this.props.plot } });
        }, b.prototype.handleClickOutside = function(m) {
          this.bookmarkPopup && this.bookmarkDialog && (this.bookmarkDialog.contains(m.target) || this.bookmarkPopup.contains(m.target)) || this.setState({ openDialog: !1 });
        }, b;
      }(h.PureComponent);
      u.BookmarkButtonBase = d, u.BookmarkButton = E(d, _);
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(90), h = function() {
        function E(f) {
          this.handleAction = f;
        }
        return E.prototype.level = function() {
          return this;
        }, E.prototype.error = function() {
          for (var f = [], S = 0; S < arguments.length; S++) f[S] = arguments[S];
          this.handleAction({ type: s.LOG_ERRORS_ADD, payload: { errors: f } });
        }, E.prototype.warn = function() {
          for (var f = [], S = 0; S < arguments.length; S++) f[S] = arguments[S];
          return this.handleAction({ type: s.LOG_WARNINGS_ADD, payload: { warnings: f, level: "warn" } }), this;
        }, E.prototype.info = function() {
          for (var f = [], S = 0; S < arguments.length; S++) f[S] = arguments[S];
          return this.handleAction({ type: s.LOG_WARNINGS_ADD, payload: { warnings: f, level: "info" } }), this;
        }, E.prototype.debug = function() {
          for (var f = [], S = 0; S < arguments.length; S++) f[S] = arguments[S];
          return this.handleAction({ type: s.LOG_WARNINGS_ADD, payload: { warnings: f, level: "debug" } }), this;
        }, E;
      }();
      u.Logger = h;
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var m = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(v, O) {
          v.__proto__ = O;
        } || function(v, O) {
          for (var T in O) O.hasOwnProperty(T) && (v[T] = O[T]);
        };
        return function(v, O) {
          function T() {
            this.constructor = v;
          }
          m(v, O), v.prototype = O === null ? Object.create(O) : (T.prototype = O.prototype, new T());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(0), E = a(148), f = a(279), S = a(733), _ = a(53), d = a(734), p = a(38), b = function(m) {
        function v(O) {
          var T = m.call(this, O) || this;
          return T.state = { isLoading: !0 }, T;
        }
        return s(v, m), v.prototype.render = function() {
          return h.createElement("div", null, h.createElement(E.ClipLoader, { color: p.SPINNER_COLOR, loading: this.state.isLoading }), h.createElement("div", { className: "chart", ref: "chart" }), h.createElement("div", { id: "vis-tooltip", className: "vg-tooltip" }));
        }, v.prototype.componentDidMount = function() {
          var O = this;
          this.mountTimeout && clearTimeout(this.mountTimeout), this.setState({ isLoading: !0 }), this.mountTimeout = window.setTimeout(function() {
            O.updateSpec(), O.runView(), O.setState({ isLoading: !1 });
          });
        }, v.prototype.componentWillReceiveProps = function(O) {
          O.spec !== this.props.spec && (this.setState({ isLoading: !0 }), this.size = this.getChartSize());
        }, v.prototype.componentDidUpdate = function(O, T) {
          var w = this;
          this.updateTimeout && clearTimeout(this.updateTimeout), this.updateTimeout = window.setTimeout(function(P, I) {
            if (O.spec !== P) {
              var L = w.refs.chart;
              L.style.width = w.size.width + "px", L.style.height = w.size.height + "px", w.updateSpec();
            } else O.data !== I && w.bindData();
            w.runView(), w.setState({ isLoading: !1 });
          }, 0, this.props.spec, this.props.data);
        }, v.prototype.componentWillUnmount = function() {
          this.mountTimeout && clearTimeout(this.mountTimeout), this.updateTimeout && clearTimeout(this.updateTimeout), this.view && this.view.finalize();
        }, v.prototype.updateSpec = function() {
          var O = this.props.logger, T = this.props.spec;
          try {
            var w = S.compile(T, O).spec, P = f.parse(w, T.config);
            this.view = new f.View(P).logLevel(f.Warn).initialize(this.refs.chart).renderer(this.props.renderer || "canvas").hover(), d.vega(this.view), this.bindData();
          } catch (I) {
            O.error(I);
          }
        }, v.prototype.bindData = function() {
          var O = this.props, T = O.data, w = O.spec;
          T && _.isNamedData(w.data) && this.view.change(w.data.name, f.changeset().remove(function() {
            return !0;
          }).insert(T.values));
        }, v.prototype.runView = function() {
          try {
            this.view.run(), this.props.viewRunAfter && this.view.runAfter(this.props.viewRunAfter);
          } catch (O) {
            this.props.logger.error(O);
          }
        }, v.prototype.getChartSize = function() {
          var O = this.refs.chart, T = O.querySelector(this.props.renderer || "canvas");
          return { width: Number(T.getAttribute("width")), height: Number(T.getAttribute("height")) };
        }, v;
      }(h.PureComponent);
      u.VegaLite = b;
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var B = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(j, k) {
          j.__proto__ = k;
        } || function(j, k) {
          for (var U in k) k.hasOwnProperty(U) && (j[U] = k[U]);
        };
        return function(j, k) {
          function U() {
            this.constructor = j;
          }
          B(j, k), j.prototype = k === null ? Object.create(k) : (U.prototype = k.prototype, new U());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(0), E = a(7), f = a(20), S = a(61), _ = a(21), d = a(54), p = a(39), b = a(14), m = a(14), v = a(96), O = a(56), T = a(168), w = a(269), P = a(704), I = a(703), L = a(312), R = { auto: "Automatic", field: "Field", fieldTransform: "Field and Transformations", encoding: "Visual Encodings" }, q = function(B) {
        function j(k) {
          var U = B.call(this, k) || this;
          return U.onSort = U.onSort.bind(U), U.onAutoAddCountChange = U.onAutoAddCountChange.bind(U), U.onGroupByChange = U.onGroupByChange.bind(U), U;
        }
        return s(j, B), j.prototype.render = function() {
          var k = this.props, U = k.isQuerySpecific, W = k.handleAction, $ = k.relatedViews, V = k.config, G = $.isCollapsed === void 0 ? V.relatedViews === "initiallyCollapsed" : $.isCollapsed, X = V.relatedViews !== "disabled" && h.createElement("div", { className: "pane", styleName: G ? "view-pane-related-views-collapse" : "view-pane-related-views" }, h.createElement(I.RelatedViewsButton, { collapseRelatedViews: G, handleAction: W }), h.createElement("h2", null, "Related Views"), !G && h.createElement(P.RelatedViews, null));
          return U ? h.createElement("div", { styleName: "view-pane" }, h.createElement("div", { className: "pane", styleName: G ? "view-pane-specific-stretch" : "view-pane-specific" }, h.createElement("h2", null, "Specified View"), this.renderSpecifiedView()), X) : this.renderSpecifiedViews();
        }, j.prototype.onSort = function(k, U) {
          (0, this.props.handleAction)({ type: d.SPEC_FIELD_PROP_CHANGE, payload: { shelfId: { channel: k }, prop: "sort", value: U } });
        }, j.prototype.renderSpecifiedView = function() {
          var k = this.props, U = k.bookmark, W = k.data, $ = k.filters, V = k.handleAction, G = k.spec;
          return G ? h.createElement(T.Plot, { bookmark: U, data: W, filters: $, handleAction: V, onSort: this.onSort, showBookmarkButton: !0, spec: G }) : h.createElement("span", null, "No specified visualization yet. Start exploring by dragging a field to encoding pane on the left or examining univariate summaries below.");
        }, j.prototype.renderSpecifiedViews = function() {
          var k = this.props, U = k.bookmark, W = k.handleAction, $ = k.autoAddCount, V = k.groupBy, G = k.defaultGroupBy, X = k.result, K = p.SHELF_GROUP_BYS.map(function(H) {
            var Y = H === "auto" ? R[G] + " (Automatic)" : R[H];
            return h.createElement("option", { value: H, key: H }, Y);
          });
          return h.createElement("div", { className: "pane", styleName: "view-pane-gallery" }, h.createElement("div", { className: "right" }, h.createElement("label", { styleName: "gallery-command" }, "Showing views with different", " ", h.createElement("select", { value: V, onChange: this.onGroupByChange }, K)), h.createElement("label", { styleName: "gallery-command" }, h.createElement("input", { type: "checkbox", checked: $, onChange: this.onAutoAddCountChange }), " ", "Auto Add Count")), h.createElement("h2", null, "Specified Views"), h.createElement(w.PlotList, { result: X, resultType: "main", handleAction: W, bookmark: U }));
        }, j.prototype.onAutoAddCountChange = function(k) {
          var U = k.target.checked;
          (0, this.props.handleAction)({ type: _.SHELF_AUTO_ADD_COUNT_CHANGE, payload: { autoAddCount: U } });
        }, j.prototype.onGroupByChange = function(k) {
          (0, this.props.handleAction)({ type: _.SHELF_GROUP_BY_CHANGE, payload: { groupBy: k.target.value } });
        }, j;
      }(h.PureComponent);
      u.ViewPane = f.connect(function(B) {
        return { autoAddCount: O.selectShelfAutoAddCount(B), bookmark: b.selectBookmark(B), config: b.selectConfig(B), data: m.selectFilteredData(B), filters: O.selectFilters(B), groupBy: O.selectShelfGroupBy(B), defaultGroupBy: O.selectDefaultGroupBy(B), isQuerySpecific: O.selectIsQuerySpecific(B), result: v.selectResult.main(B), spec: b.selectMainSpec(B), relatedViews: m.selectRelatedViews(B) };
      }, S.createDispatchHandler())(E(q, L));
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var d = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(p, b) {
          p.__proto__ = b;
        } || function(p, b) {
          for (var m in b) b.hasOwnProperty(m) && (p[m] = b[m]);
        };
        return function(p, b) {
          function m() {
            this.constructor = p;
          }
          d(p, b), p.prototype = b === null ? Object.create(b) : (m.prototype = b.prototype, new m());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(0), E = a(7), f = a(113), S = a(310), _ = function(d) {
        function p(b) {
          var m = d.call(this, b) || this;
          return m.onHideClick = m.onHideClick.bind(m), m;
        }
        return s(p, d), p.prototype.render = function() {
          var b = this.props.collapseRelatedViews;
          return h.createElement("div", { styleName: "right" }, h.createElement("a", { onClick: this.onHideClick }, b ? "Expand" : "Collapse", "  ", b ? h.createElement("i", { className: "fa fa-toggle-up" }) : h.createElement("i", { className: "fa fa-toggle-down" })));
        }, p.prototype.onHideClick = function() {
          var b = this.props.collapseRelatedViews;
          this.props.handleAction({ type: f.RELATED_VIEWS_HIDE_TOGGLE, payload: { newIsCollapsed: !b } });
        }, p;
      }(h.PureComponent);
      u.RelatedViewsButtonBase = _, u.RelatedViewsButton = E(_, S);
    }, function(A, u, a) {
      var s = this && this.__extends || function() {
        var P = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(I, L) {
          I.__proto__ = L;
        } || function(I, L) {
          for (var R in L) L.hasOwnProperty(R) && (I[R] = L[R]);
        };
        return function(I, L) {
          function R() {
            this.constructor = I;
          }
          P(I, L), I.prototype = L === null ? Object.create(L) : (R.prototype = L.prototype, new R());
        };
      }();
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(0), E = a(7), f = a(20), S = a(61), _ = a(92), d = a(21), p = a(93), b = a(277), m = a(14), v = a(96), O = a(269), T = a(311), w = function(P) {
        function I() {
          return P !== null && P.apply(this, arguments) || this;
        }
        return s(I, P), I.prototype.render = function() {
          var L = this, R = this.props, q = R.bookmark, B = R.handleAction, j = R.results, k = b.RELATED_VIEWS_TYPES.map(function(U) {
            var W = b.RELATED_VIEWS_INDEX[U].title, $ = j[U], V = $.isLoading, G = $.plots;
            return (V || G && G.length > 0) && h.createElement("div", { styleName: "related-views-subpane", key: U }, h.createElement("div", null, h.createElement("h3", null, W), U !== "histograms" && h.createElement("i", { title: "Specify", styleName: "command", className: "fa fa-server", onClick: L.onSpecify.bind(L, U), onMouseEnter: L.onPreviewMouseEnter.bind(L, U), onMouseLeave: L.onPreviewMouseLeave.bind(L, U) })), h.createElement(O.PlotList, { handleAction: B, bookmark: q, resultType: U, result: $ }));
          });
          return h.createElement("div", null, k);
        }, I.prototype.onSpecify = function(L) {
          var R = this.props, q = R.handleAction, B = R.results, j = B[L].query;
          q({ type: d.SHELF_LOAD_QUERY, payload: { query: j } });
        }, I.prototype.onPreviewMouseEnter = function(L) {
          var R = this.props, q = R.handleAction, B = R.results, j = B[L].query;
          q({ type: _.SHELF_PREVIEW_QUERY, payload: { query: j } });
        }, I.prototype.onPreviewMouseLeave = function(L) {
          (0, this.props.handleAction)({ type: _.SHELF_PREVIEW_DISABLE });
        }, I;
      }(h.PureComponent);
      u.RelatedViewsBase = w, u.RelatedViews = f.connect(function(P) {
        return { results: p.RESULT_TYPES.reduce(function(I, L) {
          return I[L] = v.selectResult[L](P), I;
        }, {}), bookmark: m.selectBookmark(P) };
      }, S.createDispatchHandler())(E(w, T));
    }, function(A, u, a) {
      function s(B, j, k) {
        return new q(B, j, k);
      }
      var h = this && this.__assign || Object.assign || function(B) {
        for (var j, k = 1, U = arguments.length; k < U; k++) {
          j = arguments[k];
          for (var W in j) Object.prototype.hasOwnProperty.call(j, W) && (B[W] = j[W]);
        }
        return B;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(281), f = a(280);
      a(283);
      var S = a(0), _ = a(24), d = a(20), p = a(174), b = a(176), m = a(4), v = a(17), O = a(282), T = a(95), w = a(35), P = a(63), I = a(14), L = a(96), R = a(175), q = function() {
        function B(j, k, U) {
          m.isString(j) ? this.container = document.querySelector(j) : this.container = j, this.config = h({}, T.DEFAULT_VOYAGER_CONFIG, k), this.data = U, this.init();
        }
        return B.prototype.updateData = function(j) {
          this.data = j, this.render();
        }, B.prototype.undo = function() {
          this.store.dispatch({ type: v.UNDO }), this.render();
        }, B.prototype.redo = function() {
          this.store.dispatch({ type: v.REDO }), this.render();
        }, B.prototype.updateConfig = function(j) {
          this.config = j, this.render();
        }, B.prototype.setFilename = function(j) {
          this.filename = j;
        }, B.prototype.setSpec = function(j) {
          var k = new E({ validateSchema: !0, allErrors: !0, extendRefs: "fail" });
          k.addMetaSchema(f, "http://json-schema.org/draft-04/schema#");
          var U = k.compile(b);
          if (!U(j)) throw new Error("Invalid spec:" + U.errors.toString());
          if (!p.isUnitSpec(j)) throw new Error("Voyager does not support layered or multi-view vega-lite specs");
          var W = j;
          this.data = W.data, this.render(W);
        }, B.prototype.setApplicationState = function(j) {
          this.data = void 0, this.config = void 0, this.renderFromState(w.fromSerializable(j));
        }, B.prototype.getApplicationState = function() {
          return w.toSerializable(this.store.getState());
        }, B.prototype.getSpec = function(j) {
          var k = L.selectMainSpec(this.store.getState());
          return j ? h({}, k, { data: P.selectData(this.store.getState()) }) : k;
        }, B.prototype.getBookmarkedSpecs = function() {
          return I.selectBookmark(this.store.getState()).list;
        }, B.prototype.onStateChange = function(j) {
          var k, U = this, W = function() {
            var $ = U.store.getState();
            $ !== k && (k = $, j(w.toSerializable(k)));
          };
          return this.store.subscribe(W);
        }, B.prototype.init = function() {
          this.store = R.configureStore(), this.render();
        }, B.prototype.render = function(j) {
          var k = this.store, U = this.container;
          _.render(S.createElement(d.Provider, { store: k }, S.createElement(O.App, { dispatch: k.dispatch, data: this.data, config: this.config, spec: j, filename: this.filename })), U);
        }, B.prototype.renderFromState = function(j) {
          var k = this.store, U = this.container;
          _.render(S.createElement(d.Provider, { store: k }, S.createElement(O.App, { dispatch: k.dispatch, applicationState: j })), U);
        }, B;
      }();
      u.Voyager = q, u.CreateVoyager = s;
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 }), u.DEFAULT_CUSTOM_WILDCARD_FIELDS = [];
    }, function(A, u, a) {
      function s(S) {
        for (var _ = [], d = 0, p = S; d < p.length; d++) {
          var b = p[d], m = b.action.type, v = b.action.payload;
          m === f.DATASET_RECEIVE && E.isInlineData(v.data) && (v = h({}, v, { data: { name: "source" } })), _.push({ timestamp: b.timestamp, ISOString: new Date(b.timestamp).toISOString(), type: m, payload: JSON.stringify(v) });
        }
        return _;
      }
      var h = this && this.__assign || Object.assign || function(S) {
        for (var _, d = 1, p = arguments.length; d < p; d++) {
          _ = arguments[d];
          for (var b in _) Object.prototype.hasOwnProperty.call(_, b) && (S[b] = _[b]);
        }
        return S;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(53), f = a(166);
      u.constructLogString = s;
    }, function(A, u, a) {
      function s(p, b) {
        return p.items.map(function(m) {
          return S.isResultTree(m) ? h(b, S.getTopResultTreeItem(m), p.groupBy) : h(b, m, p.groupBy);
        });
      }
      function h(p, b, m) {
        var v = _.toMap(b.wildcardIndex.encodingIndicesByProperty.get("field") || []);
        return { plot: { fieldInfos: b.getEncodings().filter(f.isFieldQuery).map(function(O, T) {
          return { fieldDef: d.fromFieldQuery(O), isEnumeratedWildcardField: T in v };
        }), spec: E({ data: p }, b.toSpec()) }, groupByKey: b.toShorthand(m) };
      }
      var E = this && this.__assign || Object.assign || function(p) {
        for (var b, m = 1, v = arguments.length; m < v; m++) {
          b = arguments[m];
          for (var O in b) Object.prototype.hasOwnProperty.call(b, O) && (p[O] = b[O]);
        }
        return p;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = a(16), S = a(124), _ = a(15), d = a(39);
      u.fromSpecQueryModelGroup = s;
    }, function(A, u, a) {
      var s = this && this.__assign || Object.assign || function(f) {
        for (var S, _ = 1, d = arguments.length; _ < d; _++) {
          S = arguments[_];
          for (var p in S) Object.prototype.hasOwnProperty.call(S, p) && (f[p] = S[p]);
        }
        return f;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(6), E = a(276);
      u.alternativeEncodings = { type: "alternativeEncodings", title: "Alternative Encodings", filterSpecifiedView: !0, createQuery: function(f) {
        var S = f.spec, _ = S.mark, d = S.encodings;
        return { spec: s({}, f.spec, { mark: E.makeWildcard(_), encodings: d.map(function(p) {
          return h.isWildcard(p.channel) ? p : s({}, p, { channel: h.SHORT_WILDCARD });
        }) }), groupBy: "encoding", orderBy: ["fieldOrder", "aggregationQuality", "effectiveness"], chooseBy: ["aggregationQuality", "effectiveness"] };
      } };
    }, function(A, u, a) {
      function s(f) {
        var S = f.type, _ = f.title, d = f.additionalFieldQuery;
        return { type: S, title: _, filterSpecifiedView: void 0, createQuery: function(p) {
          return { spec: h({}, p.spec, { encodings: p.spec.encodings.concat([d]) }), groupBy: "field", orderBy: ["fieldOrder", "aggregationQuality", "effectiveness"], chooseBy: ["aggregationQuality", "effectiveness"], config: { autoAddCount: !0 } };
        } };
      }
      var h = this && this.__assign || Object.assign || function(f) {
        for (var S, _ = 1, d = arguments.length; _ < d; _++) {
          S = arguments[_];
          for (var p in S) Object.prototype.hasOwnProperty.call(S, p) && (f[p] = S[p]);
        }
        return f;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(6);
      u.addCategoricalField = s({ type: "addCategoricalField", title: "Add Categorical Field", additionalFieldQuery: { channel: E.SHORT_WILDCARD, field: E.SHORT_WILDCARD, type: "nominal", description: "Categorical Fields" } }), u.addQuantitativeField = s({ type: "addQuantitativeField", title: "Add Quantitative Field", additionalFieldQuery: { channel: E.SHORT_WILDCARD, bin: E.SHORT_WILDCARD, aggregate: E.SHORT_WILDCARD, field: E.SHORT_WILDCARD, type: "quantitative", description: "Quantitative Fields" } }), u.addTemporalField = s({ type: "addTemporalField", title: "Add Temporal Field", additionalFieldQuery: { channel: E.SHORT_WILDCARD, hasFn: !0, timeUnit: E.SHORT_WILDCARD, field: E.SHORT_WILDCARD, type: "temporal", description: "Temporal Fields" } });
    }, function(A, u, a) {
      Object.defineProperty(u, "__esModule", { value: !0 });
      var s = a(6);
      u.histograms = { type: "histograms", title: "Univariate Summaries", filterSpecifiedView: void 0, createQuery: function(h) {
        return { spec: { data: h.spec.data, mark: s.SHORT_WILDCARD, transform: h.spec.transform, encodings: [{ channel: s.SHORT_WILDCARD, bin: s.SHORT_WILDCARD, timeUnit: s.SHORT_WILDCARD, field: s.SHORT_WILDCARD, type: s.SHORT_WILDCARD }, { channel: s.SHORT_WILDCARD, aggregate: "count", field: "*", type: "quantitative" }] }, groupBy: "fieldTransform", orderBy: ["fieldOrder", "aggregationQuality", "effectiveness"], chooseBy: ["aggregationQuality", "effectiveness"], config: { autoAddCount: !1 } };
      } };
    }, function(A, u, a) {
      var s = this && this.__assign || Object.assign || function(f) {
        for (var S, _ = 1, d = arguments.length; _ < d; _++) {
          S = arguments[_];
          for (var p in S) Object.prototype.hasOwnProperty.call(S, p) && (f[p] = S[p]);
        }
        return f;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(16), E = a(276);
      u.summaries = { type: "summaries", title: "Related Summaries", filterSpecifiedView: !0, createQuery: function(f) {
        var S = f.spec;
        return { spec: s({}, S, { mark: E.makeWildcard(S.mark), encodings: S.encodings.reduce(function(_, d) {
          if (h.isFieldQuery(d)) {
            switch (d.type) {
              case "quantitative":
                return d.aggregate === "count" ? _ : _.concat(s({}, d, { aggregate: E.makeWildcard(d.aggregate), bin: E.makeWildcard(d.bin), hasFn: !0 }));
              case "temporal":
                return _.concat(s({}, d, { timeUnit: E.makeWildcard(d.timeUnit) }));
              case "nominal":
              case "ordinal":
              case "key":
                return _.concat(d);
            }
            throw new Error("Unsupported type in related summaries query creator.");
          }
          return _;
        }, []) }), groupBy: "fieldTransform", orderBy: ["fieldOrder", "aggregationQuality", "effectiveness"], chooseBy: ["aggregationQuality", "effectiveness"], config: { autoAddCount: !0, omitRaw: !0 } };
      } };
    }, function(A, u, a) {
      function s(_, d) {
        _ === void 0 && (_ = S.DEFAULT_BOOKMARK);
        var p = _.count, b = _.dict, m = _.list;
        switch (d.type) {
          case f.BOOKMARK_ADD_PLOT:
            var v = d.payload.plot, w = JSON.stringify(v.spec);
            return { dict: h({}, b, (R = {}, R[w] = { plot: v, note: "" }, R)), count: p + 1, list: m.concat([w]) };
          case f.BOOKMARK_MODIFY_NOTE:
            var O = d.payload, T = O.note, P = O.spec, w = JSON.stringify(P);
            return { dict: h({}, b, (q = {}, q[w] = h({}, b[w], { note: T }), q)), count: p, list: m };
          case f.BOOKMARK_REMOVE_PLOT:
            var P = d.payload.spec, I = JSON.stringify(P), L = I;
            return b[L], { dict: E(b, [typeof L == "symbol" ? L : L + ""]), count: p - 1, list: m.filter(function(B) {
              return B !== I;
            }) };
          case f.BOOKMARK_CLEAR_ALL:
            return S.DEFAULT_BOOKMARK;
        }
        return _;
        var R, q;
      }
      var h = this && this.__assign || Object.assign || function(_) {
        for (var d, p = 1, b = arguments.length; p < b; p++) {
          d = arguments[p];
          for (var m in d) Object.prototype.hasOwnProperty.call(d, m) && (_[m] = d[m]);
        }
        return _;
      }, E = this && this.__rest || function(_, d) {
        var p = {};
        for (var b in _) Object.prototype.hasOwnProperty.call(_, b) && d.indexOf(b) < 0 && (p[b] = _[b]);
        if (_ != null && typeof Object.getOwnPropertySymbols == "function") for (var m = 0, b = Object.getOwnPropertySymbols(_); m < b.length; m++) d.indexOf(b[m]) < 0 && (p[b[m]] = _[b[m]]);
        return p;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = a(17), S = a(35);
      u.bookmarkReducer = s;
    }, function(A, u, a) {
      function s(S, _) {
        switch (S === void 0 && (S = f.DEFAULT_VOYAGER_CONFIG), _.type) {
          case E.SET_CONFIG:
            var d = _.payload.config;
            return h({}, S, d);
        }
        return S;
      }
      var h = this && this.__assign || Object.assign || function(S) {
        for (var _, d = 1, p = arguments.length; d < p; d++) {
          _ = arguments[d];
          for (var b in _) Object.prototype.hasOwnProperty.call(_, b) && (S[b] = _[b]);
        }
        return S;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(17), f = a(95);
      u.configReducer = s;
    }, function(A, u, a) {
      function s(d) {
        return function(p) {
          return E({}, p, { fields: d });
        };
      }
      function h(d, p) {
        switch (d === void 0 && (d = []), p.type) {
          case S.CUSTOM_WILDCARD_ADD:
            var b = p.payload, O = b.fields, m = b.type, B = p.payload.index;
            return B || (B = d.length), _.insertItemToArray(d, B, { fields: O, type: m, description: null });
          case S.CUSTOM_WILDCARD_REMOVE:
            var B = p.payload.index;
            return _.removeItemFromArray(d, B).array;
          case S.CUSTOM_WILDCARD_ADD_FIELD:
            var v = p.payload, B = v.index, O = v.fields, L = d[B].fields, T = f.toMap(L), w = O.filter(function(U) {
              return !T[U];
            });
            return w.length > 0 ? _.modifyItemInArray(d, B, s(L.concat(w))) : d;
          case S.CUSTOM_WILDCARD_REMOVE_FIELD:
            var P = p.payload, B = P.index, I = P.field, L = d[B].fields, R = L.filter(function(U) {
              return U !== I;
            });
            return _.modifyItemInArray(d, B, s(R));
          case S.CUSTOM_WILDCARD_MODIFY_DESCRIPTION:
            var q = p.payload, B = q.index, j = q.description, k = function(U) {
              return E({}, U, { description: j });
            };
            return _.modifyItemInArray(d, B, k);
        }
        return d;
      }
      var E = this && this.__assign || Object.assign || function(d) {
        for (var p, b = 1, m = arguments.length; b < m; b++) {
          p = arguments[b];
          for (var v in p) Object.prototype.hasOwnProperty.call(p, v) && (d[v] = p[v]);
        }
        return d;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = a(15), S = a(165), _ = a(62);
      u.customWildcardFieldReducer = h;
    }, function(A, u, a) {
      function s(m, v) {
        switch (m === void 0 && (m = p.DEFAULT_DATASET), v.type) {
          case d.DATASET_REQUEST:
            return _({}, m, { isLoading: !0 });
          case d.DATASET_RECEIVE:
            var O = v.payload, T = O.name, w = O.data, P = O.schema;
            return _({}, m, { isLoading: !1, name: T, schema: P, data: w });
        }
        var I = h(m.schema, v);
        return m.schema !== I ? _({}, m, { schema: I }) : m;
      }
      function h(m, v) {
        switch (m === void 0 && (m = p.DEFAULT_DATASET.schema), v.type) {
          case d.DATASET_SCHEMA_CHANGE_FIELD_TYPE:
            var O = v.payload, w = O.field;
            return f(m, w, O.type);
          case d.DATASET_SCHEMA_CHANGE_ORDINAL_DOMAIN:
            var T = v.payload, w = T.field;
            return S(m, w, T.domain);
        }
        return m;
      }
      function E(m, v, O) {
        var T = m.tableSchema(), w = T.fields.map(function(P) {
          return P.name !== v ? P : O;
        });
        return new b.Schema(_({}, T, { fields: w }));
      }
      function f(m, v, O) {
        return E(m, v, _({}, m.fieldSchema(v), { vlType: O }));
      }
      function S(m, v, O) {
        return E(m, v, _({}, m.fieldSchema(v), { ordinalDomain: O }));
      }
      var _ = this && this.__assign || Object.assign || function(m) {
        for (var v, O = 1, T = arguments.length; O < T; O++) {
          v = arguments[O];
          for (var w in v) Object.prototype.hasOwnProperty.call(v, w) && (m[w] = v[w]);
        }
        return m;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var d = a(17), p = a(35), b = a(57);
      u.datasetReducer = s, u.schemaReducer = h, u.changeFieldType = f, u.changeOrdinalDomain = S;
    }, function(A, u, a) {
      function s() {
        return ne += 1;
      }
      function h(te, ue, le) {
        var ae = te.type;
        return u.USER_ACTION_INDEX[ae] ? ae + s() : le.group;
      }
      function E(te, ue) {
        return te === void 0 && (te = b.DEFAULT_STATE), ue.type === O.SET_APPLICATION_STATE ? Y.stateReducer(te, ue) : ee(te, ue);
      }
      var f = this && this.__assign || Object.assign || function(te) {
        for (var ue, le = 1, ae = arguments.length; le < ae; le++) {
          ue = arguments[le];
          for (var ce in ue) Object.prototype.hasOwnProperty.call(ue, ce) && (te[ce] = ue[ce]);
        }
        return te;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var S = a(173), _ = a(4), d = a(17), p = a(38), b = a(35), m = a(262), v = a(117), O = a(17), T = a(165), w = a(90), P = a(113), I = a(114), L = a(91), R = a(92), q = a(21), B = a(54), j = a(35), k = a(713), U = a(714), W = a(715), $ = a(716), V = a(718), G = a(719), X = a(720), K = a(722), H = a(171), Y = a(725), Q = a(726), Z = a(62), J = { bookmark: !0, config: !1, log: !1, relatedViews: !0, shelfPreview: !0 };
      u.persistentReducer = X.makeResetReducer(v.combineReducers({ bookmark: k.bookmarkReducer, config: U.configReducer, relatedViews: G.relatedViewsReducer, log: V.logReducer, shelfPreview: K.shelfPreviewReducer }), J, j.DEFAULT_PERSISTENT_STATE), u.ACTIONS_EXCLUDED_FROM_HISTORY = [O.BOOKMARK_ADD_PLOT, O.BOOKMARK_CLEAR_ALL, O.BOOKMARK_MODIFY_NOTE, O.BOOKMARK_REMOVE_PLOT, w.LOG_ERRORS_ADD, w.LOG_ERRORS_CLEAR, w.LOG_WARNINGS_ADD, w.LOG_WARNINGS_CLEAR, O.RESULT_RECEIVE, O.RESULT_REQUEST, m.SET_CONFIG, O.SHELF_PREVIEW_SPEC, R.SHELF_PREVIEW_QUERY, O.SHELF_PREVIEW_DISABLE, d.UNDO, d.REDO, I.RESET, O.SET_APPLICATION_STATE], u.USER_ACTIONS = [O.CUSTOM_WILDCARD_ADD, O.CUSTOM_WILDCARD_ADD_FIELD, T.CUSTOM_WILDCARD_MODIFY_DESCRIPTION, O.CUSTOM_WILDCARD_REMOVE, O.CUSTOM_WILDCARD_REMOVE_FIELD, O.DATASET_SCHEMA_CHANGE_FIELD_TYPE, O.DATASET_SCHEMA_CHANGE_ORDINAL_DOMAIN, O.DATASET_REQUEST, O.FILTER_ADD, O.FILTER_CLEAR, O.FILTER_MODIFY_EXTENT, O.FILTER_MODIFY_MAX_BOUND, O.FILTER_MODIFY_MIN_BOUND, O.FILTER_MODIFY_ONE_OF, O.FILTER_MODIFY_TIME_UNIT, O.FILTER_REMOVE, O.FILTER_TOGGLE, P.RELATED_VIEWS_HIDE_TOGGLE, L.RESULT_LIMIT_INCREASE, L.RESULT_MODIFY_FIELD_PROP, L.RESULT_MODIFY_NESTED_FIELD_PROP, q.SHELF_AUTO_ADD_COUNT_CHANGE, q.SHELF_GROUP_BY_CHANGE, O.SHELF_LOAD_QUERY, O.SPEC_CLEAR, O.SPEC_MARK_CHANGE_TYPE, O.SPEC_FIELD_ADD, O.SPEC_FIELD_AUTO_ADD, O.SPEC_FIELD_REMOVE, O.SPEC_FIELD_MOVE, B.SPEC_FIELD_PROP_CHANGE, B.SPEC_FIELD_NESTED_PROP_CHANGE, O.SPEC_FUNCTION_CHANGE, O.SPEC_FUNCTION_ADD_WILDCARD, O.SPEC_FUNCTION_DISABLE_WILDCARD, O.SPEC_FUNCTION_ENABLE_WILDCARD, O.SPEC_FUNCTION_REMOVE_WILDCARD, O.SPEC_LOAD, O.SPEC_VALUE_CHANGE, O.TAB_ADD, O.TAB_SWITCH, O.TAB_REMOVE, O.TAB_TITLE_UPDATE], u.USER_ACTION_INDEX = _.toSet(u.USER_ACTIONS), u.GROUPED_ACTIONS = [O.DATASET_RECEIVE];
      var ne = 0;
      u.undoableStateToReset = { customWildcardFields: !0, dataset: !0, tab: !0 };
      var ie = v.combineReducers({ customWildcardFields: W.customWildcardFieldReducer, dataset: $.datasetReducer, tab: Q.tabReducer });
      u.undoableReducerBase = X.makeResetReducer(function(te, ue) {
        switch (te === void 0 && (te = b.DEFAULT_UNDOABLE_STATE_BASE), ue.type) {
          case O.SPEC_FIELD_AUTO_ADD:
            return f({}, te, { tab: f({}, te.tab, { list: Z.modifyItemInArray(te.tab.list, te.tab.activeTabID, function(le) {
              return f({}, le, { shelf: f({}, le.shelf, { spec: H.shelfSpecFieldAutoAddReducer(le.shelf.spec, ue, te.dataset.schema) }) });
            }) }) });
        }
        return ie(te, ue);
      }, u.undoableStateToReset, b.DEFAULT_UNDOABLE_STATE_BASE);
      var re = S.default(u.undoableReducerBase, { limit: p.HISTORY_LIMIT, undoType: d.UNDO, redoType: d.REDO, groupBy: h, filter: S.excludeAction(u.ACTIONS_EXCLUDED_FROM_HISTORY) }), ee = v.combineReducers({ persistent: u.persistentReducer, undoable: re });
      u.rootReducer = E;
    }, function(A, u, a) {
      function s(p, b) {
        if (p === void 0 && (p = d.DEFAULT_LOG), _.isSpecAction(b)) return { errors: [], warnings: { warn: [], info: [], debug: [] } };
        switch (b.type) {
          case S.LOG_ERRORS_ADD:
            var m = b.payload.errors, v = m.filter(function(P) {
              return !f.contains(p.errors, P);
            });
            return v ? E({}, p, { errors: p.errors.concat(v) }) : p;
          case S.LOG_WARNINGS_ADD:
            var O = b.payload, T = O.warnings, w = O.level;
            return h(p, T, w);
          case S.LOG_WARNINGS_CLEAR:
            return E({}, p, { warnings: { warn: [], info: [], debug: [] } });
          case S.LOG_ERRORS_CLEAR:
            return E({}, p, { errors: [] });
          default:
            return p;
        }
      }
      function h(p, b, m) {
        var v = p.warnings, O = b.filter(function(w) {
          return !f.contains(v[m], w);
        });
        return O ? E({}, p, { warnings: E({}, v, (T = {}, T[m] = v[m].concat(O), T)) }) : p;
        var T;
      }
      var E = this && this.__assign || Object.assign || function(p) {
        for (var b, m = 1, v = arguments.length; m < v; m++) {
          b = arguments[m];
          for (var O in b) Object.prototype.hasOwnProperty.call(b, O) && (p[O] = b[O]);
        }
        return p;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = a(2), S = a(90), _ = a(54), d = a(272);
      u.logReducer = s;
    }, function(A, u, a) {
      function s(f, S) {
        switch (f === void 0 && (f = E.DEFAULT_RELATED_VIEWS), S.type) {
          case h.RELATED_VIEWS_HIDE_TOGGLE:
            return { isCollapsed: S.payload.newIsCollapsed };
        }
        return f;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(113), E = a(273);
      u.relatedViewsReducer = s;
    }, function(A, u, a) {
      function s(f, S, _) {
        return function(d, p) {
          if (p.type === E.RESET) {
            var b = h({}, d);
            return Object.keys(S).forEach(function(m) {
              b[m] = _[m];
            }), b;
          }
          return f(d, p);
        };
      }
      var h = this && this.__assign || Object.assign || function(f) {
        for (var S, _ = 1, d = arguments.length; _ < d; _++) {
          S = arguments[_];
          for (var p in S) Object.prototype.hasOwnProperty.call(S, p) && (f[p] = S[p]);
        }
        return f;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(114);
      u.makeResetReducer = s;
    }, function(A, u, a) {
      function s(O, T, w) {
        switch (O === void 0 && (O = b.DEFAULT_RESULT), T.type) {
          case d.RESULT_REQUEST:
            return f({}, O, { isLoading: !0, plots: void 0, query: void 0, limit: u.DEFAULT_LIMIT[w] });
          case d.RESULT_RECEIVE:
            var P = T.payload, I = P.plots, L = P.query;
            return f({}, O, { isLoading: !1, plots: I, query: L });
          case p.RESULT_LIMIT_INCREASE:
            var R = T.payload.increment;
            return f({}, O, { limit: O.limit + R });
          case p.RESULT_MODIFY_FIELD_PROP:
          case p.RESULT_MODIFY_NESTED_FIELD_PROP:
            var q = T.payload.index;
            return f({}, O, { plots: v.modifyItemInArray(O.plots, q, function(B) {
              return f({}, B, { spec: f({}, B.spec, { encoding: h(B.spec.encoding, T) }) });
            }) });
        }
        return O;
      }
      function h(O, T) {
        var w = T.payload, P = w.channel, I = w.prop, L = w.value, R = O[P];
        if (R) {
          if (S.isArray(R) || !_.isFieldDef(R)) return console.error(T.type + "  not supported for detail and order"), O;
        } else console.error(T.type + " no working for channel " + P + " without field.");
        var q = O[P];
        switch (T.type) {
          case p.RESULT_MODIFY_FIELD_PROP:
            return f({}, O, (j = {}, j[P] = m.modifyFieldProp(q, I, L), j));
          case p.RESULT_MODIFY_NESTED_FIELD_PROP:
            var B = T.payload.nestedProp;
            return f({}, O, (k = {}, k[P] = m.modifyNestedFieldProp(q, I, B, L), k));
        }
        return O;
        var j, k;
      }
      function E(O, T) {
        if (O === void 0 && (O = b.DEFAULT_RESULT_INDEX), p.isResultAction(T)) {
          var w = T.payload.resultType;
          return f({}, T.type === d.RESULT_REQUEST && w === "main" ? b.DEFAULT_RESULT_INDEX : O, (P = {}, P[w] = s(O[w], T, w), P));
        }
        return O;
        var P;
      }
      var f = this && this.__assign || Object.assign || function(O) {
        for (var T, w = 1, P = arguments.length; w < P; w++) {
          T = arguments[w];
          for (var I in T) Object.prototype.hasOwnProperty.call(T, I) && (O[I] = T[I]);
        }
        return O;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var S = a(229), _ = a(10), d = a(17), p = a(91), b = a(35), m = a(171), v = a(62);
      u.DEFAULT_LIMIT = { main: 12, addCategoricalField: 4, addQuantitativeField: 4, addTemporalField: 2, alternativeEncodings: 2, summaries: 2, histograms: 12 }, u.resultIndexReducer = E;
    }, function(A, u, a) {
      function s(b, m) {
        switch (b === void 0 && (b = d.DEFAULT_SHELF_PREVIEW), m.type) {
          case f.SHELF_PREVIEW_QUERY:
            var v = m.payload.query;
            return { spec: p.fromSpecQuery(v.spec) };
          case f.SHELF_PREVIEW_SPEC:
            var O = m.payload.spec, T = (O.transform, h(O, ["transform"])), w = E.fromSpec(T);
            return { spec: p.fromSpecQuery(w) };
          case _.SPEC_LOAD:
          case S.SHELF_LOAD_QUERY:
          case f.SHELF_PREVIEW_DISABLE:
            return { spec: null };
        }
        return b;
      }
      var h = this && this.__rest || function(b, m) {
        var v = {};
        for (var O in b) Object.prototype.hasOwnProperty.call(b, O) && m.indexOf(O) < 0 && (v[O] = b[O]);
        if (b != null && typeof Object.getOwnPropertySymbols == "function") for (var T = 0, O = Object.getOwnPropertySymbols(b); T < O.length; T++) m.indexOf(O[T]) < 0 && (v[O[T]] = b[O[T]]);
        return v;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var E = a(75), f = a(92), S = a(21), _ = a(54), d = a(274), p = a(55);
      u.shelfPreviewReducer = s;
    }, function(A, u, a) {
      function s(p, b) {
        switch (p === void 0 && (p = []), b.type) {
          case S.FILTER_ADD:
            var m = b.payload.filter, W = b.payload.index;
            return W || (W = p.length), d.insertItemToArray(p, W, m);
          case S.FILTER_CLEAR:
            return [];
          case S.FILTER_REMOVE:
            var W = b.payload.index;
            return d.removeItemFromArray(p, W).array;
          case S.FILTER_TOGGLE:
            var m = b.payload.filter, W = _.filterIndexOf(p, m.field);
            return W === -1 ? d.insertItemToArray(p, p.length, m) : d.removeItemFromArray(p, W).array;
          case S.FILTER_MODIFY_EXTENT:
            var v = b.payload, W = v.index, O = v.range, T = function(G) {
              return E({}, G, { range: O });
            };
            return d.modifyItemInArray(p, W, T);
          case S.FILTER_MODIFY_MAX_BOUND:
            var w = b.payload, W = w.index, P = w.maxBound, I = function(G) {
              return E({}, G, { range: [G.range[0], P] });
            };
            return d.modifyItemInArray(p, W, I);
          case S.FILTER_MODIFY_MIN_BOUND:
            var L = b.payload, W = L.index, R = L.minBound, q = function(G) {
              return E({}, G, { range: [R, G.range[1]] });
            };
            return d.modifyItemInArray(p, W, q);
          case S.FILTER_MODIFY_ONE_OF:
            var B = b.payload, W = B.index, j = B.oneOf, k = function(G) {
              return E({}, G, { oneOf: j });
            };
            return d.modifyItemInArray(p, W, k);
          case S.FILTER_MODIFY_TIME_UNIT:
            var U = b.payload, W = U.index, $ = U.timeUnit, V = U.domain;
            return d.modifyItemInArray(p, W, h($, V));
          default:
            return p;
        }
      }
      function h(p, b) {
        return p === f.TimeUnit.MONTH || p === f.TimeUnit.DAY ? function(m) {
          return { field: m.field, timeUnit: p, oneOf: _.getDefaultList(p) };
        } : function(m) {
          return E({ field: m.field }, p ? { timeUnit: p } : {}, { range: _.getDefaultTimeRange(b, p) });
        };
      }
      var E = this && this.__assign || Object.assign || function(p) {
        for (var b, m = 1, v = arguments.length; m < v; m++) {
          b = arguments[m];
          for (var O in b) Object.prototype.hasOwnProperty.call(b, O) && (p[O] = b[O]);
        }
        return p;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = a(29), S = a(17), _ = a(44), d = a(62);
      u.filterReducer = s;
    }, function(A, u, a) {
      function s(q, B) {
        switch (q === void 0 && (q = O.DEFAULT_SHELF.groupBy), B.type) {
          case m.SHELF_GROUP_BY_CHANGE:
            return B.payload.groupBy;
        }
        return q;
      }
      function h(q, B) {
        switch (q === void 0 && (q = O.DEFAULT_SHELF.autoAddCount), B.type) {
          case m.SHELF_AUTO_ADD_COUNT_CHANGE:
            return B.payload.autoAddCount;
        }
        return q;
      }
      function E(q, B) {
        switch (q === void 0 && (q = O.DEFAULT_SHELF), B.type) {
          case m.SHELF_LOAD_QUERY:
            var j = B.payload.query, k = P.fromSpecQuery(j.spec, q.spec.config), U = w.getDefaultGroupBy(P.hasWildcards(j.spec)), W = j.groupBy === U ? "auto" : j.groupBy, $ = (j.config || { autoAddCount: !1 }).autoAddCount;
            if (w.isShelfGroupBy(W)) return f({}, q, { spec: k, groupBy: W }, $ ? { autoAddCount: $ } : {});
            throw new Error("SHELF_LOAD_QUERY does not support groupBy " + JSON.stringify(W));
          case v.SPEC_LOAD:
            var V = B.payload.keepWildcardMark, G = B.payload.spec, X = G.transform, K = S(G, ["transform"]), H = f({}, _.fromSpec(K), V && d.isWildcard(q.spec.mark) ? { mark: d.SHORT_WILDCARD } : {}), Y = P.fromSpecQuery(H, q.spec.config), Q = T.fromTransforms(X), Z = p(Q) !== p(q.filters) ? Q : q.filters;
            return f({}, O.DEFAULT_SHELF, { spec: Y, filters: Z });
        }
        return R(q, B);
      }
      var f = this && this.__assign || Object.assign || function(q) {
        for (var B, j = 1, k = arguments.length; j < k; j++) {
          B = arguments[j];
          for (var U in B) Object.prototype.hasOwnProperty.call(B, U) && (q[U] = B[U]);
        }
        return q;
      }, S = this && this.__rest || function(q, B) {
        var j = {};
        for (var k in q) Object.prototype.hasOwnProperty.call(q, k) && B.indexOf(k) < 0 && (j[k] = q[k]);
        if (q != null && typeof Object.getOwnPropertySymbols == "function") for (var U = 0, k = Object.getOwnPropertySymbols(q); U < k.length; U++) B.indexOf(k[U]) < 0 && (j[k[U]] = q[k[U]]);
        return j;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var _ = a(75), d = a(6), p = a(82), b = a(117), m = a(21), v = a(54), O = a(39), T = a(44), w = a(39), P = a(55), I = a(723), L = a(171), R = b.combineReducers({ spec: L.shelfSpecReducer, autoAddCount: h, groupBy: s, filters: I.filterReducer });
      u.shelfReducer = E;
    }, function(A, u, a) {
      function s(f, S) {
        switch (f === void 0 && (f = E.DEFAULT_STATE), S.type) {
          case h.SET_APPLICATION_STATE:
            return S.payload.state;
        }
        return f;
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(17), E = a(35);
      u.stateReducer = s;
    }, function(A, u, a) {
      function s(v, O) {
        switch (v === void 0 && (v = _.DEFAULT_TAB_TITLE), O.type) {
          case S.TAB_TITLE_UPDATE:
            return O.payload.title;
        }
        return v;
      }
      function h(v, O) {
        v === void 0 && (v = _.DEFAULT_TAB);
        var T = v.activeTabID, w = v.list;
        switch (O.type) {
          case S.TAB_ADD:
            return E({}, v, { activeTabID: w.length, list: w.concat([_.DEFAULT_PLOT_TAB_STATE]) });
          case S.TAB_REMOVE:
            if (w.length === 1) return v;
            var P = T < w.length - 1 ? T : T - 1;
            return E({}, v, { activeTabID: P, list: b.removeItemFromArray(w, T).array });
          case S.TAB_SWITCH:
            return T === O.payload.tabID ? v : E({}, v, { activeTabID: O.payload.tabID });
        }
        return E({}, v, { list: b.modifyItemInArray(v.list, v.activeTabID, function(I) {
          return m(I, O);
        }) });
      }
      var E = this && this.__assign || Object.assign || function(v) {
        for (var O, T = 1, w = arguments.length; T < w; T++) {
          O = arguments[T];
          for (var P in O) Object.prototype.hasOwnProperty.call(O, P) && (v[P] = O[P]);
        }
        return v;
      };
      Object.defineProperty(u, "__esModule", { value: !0 });
      var f = a(117), S = a(17), _ = a(35), d = a(721), p = a(724), b = a(62), m = f.combineReducers({ title: s, shelf: p.shelfReducer, result: d.resultIndexReducer });
      u.titleReducer = s, u.tabReducer = h;
    }, function(A, u, a) {
      function s(f) {
        var S, _, d;
        return function() {
          var p = f.getState(), b = _;
          _ = E.selectQuery(p);
          var m = S;
          S = E.selectData(p);
          var v = d;
          d = E.selectRelatedViews(p), S && (b === _ && m === S && v === d || h.dispatchQueries(f, _));
        };
      }
      Object.defineProperty(u, "__esModule", { value: !0 });
      var h = a(277), E = a(14);
      u.createQueryListener = s;
    }, function(A, u) {
      A.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAA4CAYAAABqtn+aAAAAAXNSR0IArs4c6QAABDFJREFUeAHtm8lrFFEQxqt6JmNEjCuIChrBRDEacvHi2ZugHlxQT4IJJJpxOakXI4Lbxcy4RMf1oKD+AYpH9SAiqBcFg4i7N5eEaOxMT1lt6GG67dfVD4wLVEPo9+r7ul6/32xd/Tp4/GQfgbARwev8ts65gm1M5PbmwiNEbJOSe0Plaeff7voY53tyPbcRwbkSp9XGGMThlnXDe2pjUtuRDKonE1CAyXxEVQGKiJINCjCZj6gqQBFRskEBJvMRVQUoIko2KMBkPqKa9S+SJRcCvJM8Y6fjBwCaKuXP5FzP6KnAEDnyPIkqn405VBgbAvzm+re3LU2FzQ7CDOksXfdT76WXPcNxPi7lFnF8ZZxWG/Ogcq91Xfl2bUxqZyXD39YRIQ8pauFMuaHE5xoLkONtXAsfkuaSAecwgB1A/RGRqAq6AhQASbIClAgJugIUAEmyApQICboCFABJsgKUCAm6AhQASfJ/cCFNBwFwujSR9/XZIZMHR/AB1FGXSa/GvcrDalsbf4YA8rKmeAeCgN7kt3YtMZ1SR3PxMWuNJj2Il/rzU3iZcjUCXgxipj1BpXC2f8e+9ubiHS7YW02+IO66XuOllztj58K18Boe81zgNe2J6FjLene/SY+L+x/hSXFCKEb4JdSPdHg9tYFrVjkP9CC/GDle5xW9XLuOHx2GJnItLPozZb5hZd5y/DUg5uBx6s0p4pWkQeOP0GiIgAIM4bDvKEB7ZqEjFGAIh31HAdozCx2hAEM47DsK0J5Z6Aj/OjDxGu+nG2kgdFSkwxe6A0Ap8kAPIRTcNF6+kP42OgwOpvF7WaxETqu26/LSqDxPItOaSm0ubf9OAlg80dcpJUSiwe7urssmX/v84ibMQINJD+KlZ/m+oJ1237Ggdy2AI95MeOPBhZvP89/j8j69Mq4J6mB5nFYbI76Z0LJh5H5tTGpnuQQ7JZkI8DV7jADBgQOsz5PyAPSc4b+kj9ovKYhwL59j2y9CJDBruHyNQ7EAqY6WcmkozhMyGV7WtAOoPyKRF8K2qwBtiUX8CjACxLarAG2JRfwKMALEtqsAbYlF/AowAsS2qwBtiUX8fi2c5n/DkutIoqOcZ3Ikd0zX7iLaT8CPIBcRSHzA0ssOfI0ZMAg95tpanKf/gGVwgO7/EAG/Fn4ljcV3W951b+tcZvJ1NBfuAsIckx7ES8+2N7Y39a5AB08GMdOe33mnz/ZvP8TLmjcQqcXkq8ZHvrWWXuyO/aQ8uZpbBY5TrHoNDX7I/NTi9e6Rp9fH3eLydaHBVg1/Ghxe7NfC4sR5MokbDzabIYt5uA5Gvp81gddoRS+f15TRQWkmL0mKfs/NZYwn6fhjpjg/dIKvoZlp/PUT+WUxDqpCKgIKMBUms0kBmtmkUhRgKkxmkwI0s0mlKMBUmMwmBWhmk0pRgKkwmU0/APS09G59i6H6AAAAAElFTkSuQmCC";
    }, function(A, u) {
      A.exports = "data:image/png;base64, ";
    }, function(A, u) {
      A.exports = function() {
        throw new Error("define cannot be used indirect");
      };
    }, function(A, u) {
      A.exports = M;
    }, function(A, u) {
      A.exports = N;
    }, function(A, u) {
      A.exports = F;
    }, function(A, u) {
      A.exports = z;
    }]);
  });
})(sV);
var Pje = sV.exports;
const kje = {
  showDataSourceSelector: !1,
  hideHeader: !0,
  hideFooter: !0
}, Rje = {
  data() {
    return {
      containerId: "voyager-embed"
    };
  },
  props: {
    data: {
      type: Object,
      default: () => null
    },
    spec: {
      type: Object,
      default: () => null
    }
  },
  methods: {
    updateSpec() {
      this.$emit("update:spec", this.voyagerInstance.getSpec());
    },
    createVoyager() {
      const e = document.getElementById(this.containerId);
      this.voyagerInstance = Pje.CreateVoyager(e, kje, void 0), this.voyagerInstance.onStateChange(() => this.updateSpec()), this.voyagerInstance.updateData(this.data);
    }
  },
  watch: {
    data() {
      this.createVoyager();
    }
  },
  mounted() {
    this.createVoyager();
  }
};
var Mje = function() {
  var t = this, r = t._self._c;
  return r("div", [r("div", { attrs: { id: t.containerId } })]);
}, Nje = [], Ije = /* @__PURE__ */ Hte(
  Rje,
  Mje,
  Nje,
  !1,
  null,
  null
);
const Uje = Ije.exports;
export {
  Uje as default
};
