import m from "./index.es43.js";
import { toString as g, SymbolProto as h } from "./index.es39.js";
import j from "./index.es258.js";
import D from "./index.es137.js";
import y from "./index.es40.js";
import { hasStringTagBug as V } from "./index.es41.js";
import v from "./index.es133.js";
import w from "./index.es142.js";
import q from "./index.es255.js";
import d from "./index.es259.js";
var B = "[object DataView]";
function c(e, r, f, n) {
  if (e === r)
    return e !== 0 || 1 / e === 1 / r;
  if (e == null || r == null)
    return !1;
  if (e !== e)
    return r !== r;
  var o = typeof e;
  return o !== "function" && o !== "object" && typeof r != "object" ? !1 : O(e, r, f, n);
}
function O(e, r, f, n) {
  e instanceof m && (e = e._wrapped), r instanceof m && (r = r._wrapped);
  var o = g.call(e);
  if (o !== g.call(r))
    return !1;
  if (V && o == "[object Object]" && v(e)) {
    if (!v(r))
      return !1;
    o = B;
  }
  switch (o) {
    case "[object RegExp]":
    case "[object String]":
      return "" + e == "" + r;
    case "[object Number]":
      return +e != +e ? +r != +r : +e == 0 ? 1 / +e === 1 / r : +e == +r;
    case "[object Date]":
    case "[object Boolean]":
      return +e == +r;
    case "[object Symbol]":
      return h.valueOf.call(e) === h.valueOf.call(r);
    case "[object ArrayBuffer]":
    case B:
      return O(d(e), d(r), f, n);
  }
  var i = o === "[object Array]";
  if (!i && D(e)) {
    var A = j(e);
    if (A !== j(r))
      return !1;
    if (e.buffer === r.buffer && e.byteOffset === r.byteOffset)
      return !0;
    i = !0;
  }
  if (!i) {
    if (typeof e != "object" || typeof r != "object")
      return !1;
    var u = e.constructor, s = r.constructor;
    if (u !== s && !(y(u) && u instanceof u && y(s) && s instanceof s) && "constructor" in e && "constructor" in r)
      return !1;
  }
  f = f || [], n = n || [];
  for (var t = f.length; t--; )
    if (f[t] === e)
      return n[t] === r;
  if (f.push(e), n.push(r), i) {
    if (t = e.length, t !== r.length)
      return !1;
    for (; t--; )
      if (!c(e[t], r[t], f, n))
        return !1;
  } else {
    var p = w(e), l;
    if (t = p.length, w(r).length !== t)
      return !1;
    for (; t--; )
      if (l = p[t], !(q(r, l) && c(e[l], r[l], f, n)))
        return !1;
  }
  return f.pop(), n.pop(), !0;
}
function z(e, r) {
  return c(e, r);
}
export {
  z as default
};
//# sourceMappingURL=index.es140.js.map
