UNPKG

kinto

Version:

An Offline-First JavaScript client for Kinto.

15,774 lines 556 kB
"use strict";

var _interopRequireDefault2 = require("@babel/runtime/helpers/interopRequireDefault");

var _typeof5 = _interopRequireDefault2(require("@babel/runtime/helpers/typeof"));

(function (f) {
  if ((typeof exports === "undefined" ? "undefined" : (0, _typeof5.default)(exports)) === "object" && typeof module !== "undefined") {
    module.exports = f();
  } else if (typeof define === "function" && define.amd) {
    define([], f);
  } else {
    var g;

    if (typeof window !== "undefined") {
      g = window;
    } else if (typeof global !== "undefined") {
      g = global;
    } else if (typeof self !== "undefined") {
      g = self;
    } else {
      g = this;
    }

    g.Kinto = f();
  }
})(function () {
  var define, module, exports;
  return function () {
    function r(e, n, t) {
      function o(i, f) {
        if (!n[i]) {
          if (!e[i]) {
            var c = "function" == typeof require && require;
            if (!f && c) return c(i, !0);
            if (u) return u(i, !0);
            var a = new Error("Cannot find module '" + i + "'");
            throw a.code = "MODULE_NOT_FOUND", a;
          }

          var p = n[i] = {
            exports: {}
          };
          e[i][0].call(p.exports, function (r) {
            var n = e[i][1][r];
            return o(n || r);
          }, p, p.exports, r, e, n, t);
        }

        return n[i].exports;
      }

      for (var u = "function" == typeof require && require, i = 0; i < t.length; i++) {
        o(t[i]);
      }

      return o;
    }

    return r;
  }()({
    1: [function (require, module, exports) {
      (function (global) {
        "use strict";

        require("core-js/es6"), require("core-js/fn/array/includes"), require("core-js/fn/string/pad-start"), require("core-js/fn/string/pad-end"), require("core-js/fn/symbol/async-iterator"), require("core-js/fn/object/get-own-property-descriptors"), require("core-js/fn/object/values"), require("core-js/fn/object/entries"), require("core-js/fn/promise/finally"), require("core-js/web"), require("regenerator-runtime/runtime"), global._babelPolyfill && "undefined" != typeof console && console.warn && console.warn("@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended and may have consequences if different versions of the polyfills are applied sequentially. If you do need to load the polyfill more than once, use @babel/polyfill/noConflict instead to bypass the warning."), global._babelPolyfill = !0;
      }).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {});
    }, {
      "core-js/es6": 2,
      "core-js/fn/array/includes": 3,
      "core-js/fn/object/entries": 4,
      "core-js/fn/object/get-own-property-descriptors": 5,
      "core-js/fn/object/values": 6,
      "core-js/fn/promise/finally": 7,
      "core-js/fn/string/pad-end": 8,
      "core-js/fn/string/pad-start": 9,
      "core-js/fn/symbol/async-iterator": 10,
      "core-js/web": 275,
      "regenerator-runtime/runtime": 276
    }],
    2: [function (require, module, exports) {
      require("../modules/es6.symbol"), require("../modules/es6.object.create"), require("../modules/es6.object.define-property"), require("../modules/es6.object.define-properties"), require("../modules/es6.object.get-own-property-descriptor"), require("../modules/es6.object.get-prototype-of"), require("../modules/es6.object.keys"), require("../modules/es6.object.get-own-property-names"), require("../modules/es6.object.freeze"), require("../modules/es6.object.seal"), require("../modules/es6.object.prevent-extensions"), require("../modules/es6.object.is-frozen"), require("../modules/es6.object.is-sealed"), require("../modules/es6.object.is-extensible"), require("../modules/es6.object.assign"), require("../modules/es6.object.is"), require("../modules/es6.object.set-prototype-of"), require("../modules/es6.object.to-string"), require("../modules/es6.function.bind"), require("../modules/es6.function.name"), require("../modules/es6.function.has-instance"), require("../modules/es6.parse-int"), require("../modules/es6.parse-float"), require("../modules/es6.number.constructor"), require("../modules/es6.number.to-fixed"), require("../modules/es6.number.to-precision"), require("../modules/es6.number.epsilon"), require("../modules/es6.number.is-finite"), require("../modules/es6.number.is-integer"), require("../modules/es6.number.is-nan"), require("../modules/es6.number.is-safe-integer"), require("../modules/es6.number.max-safe-integer"), require("../modules/es6.number.min-safe-integer"), require("../modules/es6.number.parse-float"), require("../modules/es6.number.parse-int"), require("../modules/es6.math.acosh"), require("../modules/es6.math.asinh"), require("../modules/es6.math.atanh"), require("../modules/es6.math.cbrt"), require("../modules/es6.math.clz32"), require("../modules/es6.math.cosh"), require("../modules/es6.math.expm1"), require("../modules/es6.math.fround"), require("../modules/es6.math.hypot"), require("../modules/es6.math.imul"), require("../modules/es6.math.log10"), require("../modules/es6.math.log1p"), require("../modules/es6.math.log2"), require("../modules/es6.math.sign"), require("../modules/es6.math.sinh"), require("../modules/es6.math.tanh"), require("../modules/es6.math.trunc"), require("../modules/es6.string.from-code-point"), require("../modules/es6.string.raw"), require("../modules/es6.string.trim"), require("../modules/es6.string.iterator"), require("../modules/es6.string.code-point-at"), require("../modules/es6.string.ends-with"), require("../modules/es6.string.includes"), require("../modules/es6.string.repeat"), require("../modules/es6.string.starts-with"), require("../modules/es6.string.anchor"), require("../modules/es6.string.big"), require("../modules/es6.string.blink"), require("../modules/es6.string.bold"), require("../modules/es6.string.fixed"), require("../modules/es6.string.fontcolor"), require("../modules/es6.string.fontsize"), require("../modules/es6.string.italics"), require("../modules/es6.string.link"), require("../modules/es6.string.small"), require("../modules/es6.string.strike"), require("../modules/es6.string.sub"), require("../modules/es6.string.sup"), require("../modules/es6.date.now"), require("../modules/es6.date.to-json"), require("../modules/es6.date.to-iso-string"), require("../modules/es6.date.to-string"), require("../modules/es6.date.to-primitive"), require("../modules/es6.array.is-array"), require("../modules/es6.array.from"), require("../modules/es6.array.of"), require("../modules/es6.array.join"), require("../modules/es6.array.slice"), require("../modules/es6.array.sort"), require("../modules/es6.array.for-each"), require("../modules/es6.array.map"), require("../modules/es6.array.filter"), require("../modules/es6.array.some"), require("../modules/es6.array.every"), require("../modules/es6.array.reduce"), require("../modules/es6.array.reduce-right"), require("../modules/es6.array.index-of"), require("../modules/es6.array.last-index-of"), require("../modules/es6.array.copy-within"), require("../modules/es6.array.fill"), require("../modules/es6.array.find"), require("../modules/es6.array.find-index"), require("../modules/es6.array.species"), require("../modules/es6.array.iterator"), require("../modules/es6.regexp.constructor"), require("../modules/es6.regexp.to-string"), require("../modules/es6.regexp.flags"), require("../modules/es6.regexp.match"), require("../modules/es6.regexp.replace"), require("../modules/es6.regexp.search"), require("../modules/es6.regexp.split"), require("../modules/es6.promise"), require("../modules/es6.map"), require("../modules/es6.set"), require("../modules/es6.weak-map"), require("../modules/es6.weak-set"), require("../modules/es6.typed.array-buffer"), require("../modules/es6.typed.data-view"), require("../modules/es6.typed.int8-array"), require("../modules/es6.typed.uint8-array"), require("../modules/es6.typed.uint8-clamped-array"), require("../modules/es6.typed.int16-array"), require("../modules/es6.typed.uint16-array"), require("../modules/es6.typed.int32-array"), require("../modules/es6.typed.uint32-array"), require("../modules/es6.typed.float32-array"), require("../modules/es6.typed.float64-array"), require("../modules/es6.reflect.apply"), require("../modules/es6.reflect.construct"), require("../modules/es6.reflect.define-property"), require("../modules/es6.reflect.delete-property"), require("../modules/es6.reflect.enumerate"), require("../modules/es6.reflect.get"), require("../modules/es6.reflect.get-own-property-descriptor"), require("../modules/es6.reflect.get-prototype-of"), require("../modules/es6.reflect.has"), require("../modules/es6.reflect.is-extensible"), require("../modules/es6.reflect.own-keys"), require("../modules/es6.reflect.prevent-extensions"), require("../modules/es6.reflect.set"), require("../modules/es6.reflect.set-prototype-of"), module.exports = require("../modules/_core");
    }, {
      "../modules/_core": 29,
      "../modules/es6.array.copy-within": 127,
      "../modules/es6.array.every": 128,
      "../modules/es6.array.fill": 129,
      "../modules/es6.array.filter": 130,
      "../modules/es6.array.find": 132,
      "../modules/es6.array.find-index": 131,
      "../modules/es6.array.for-each": 133,
      "../modules/es6.array.from": 134,
      "../modules/es6.array.index-of": 135,
      "../modules/es6.array.is-array": 136,
      "../modules/es6.array.iterator": 137,
      "../modules/es6.array.join": 138,
      "../modules/es6.array.last-index-of": 139,
      "../modules/es6.array.map": 140,
      "../modules/es6.array.of": 141,
      "../modules/es6.array.reduce": 143,
      "../modules/es6.array.reduce-right": 142,
      "../modules/es6.array.slice": 144,
      "../modules/es6.array.some": 145,
      "../modules/es6.array.sort": 146,
      "../modules/es6.array.species": 147,
      "../modules/es6.date.now": 148,
      "../modules/es6.date.to-iso-string": 149,
      "../modules/es6.date.to-json": 150,
      "../modules/es6.date.to-primitive": 151,
      "../modules/es6.date.to-string": 152,
      "../modules/es6.function.bind": 153,
      "../modules/es6.function.has-instance": 154,
      "../modules/es6.function.name": 155,
      "../modules/es6.map": 156,
      "../modules/es6.math.acosh": 157,
      "../modules/es6.math.asinh": 158,
      "../modules/es6.math.atanh": 159,
      "../modules/es6.math.cbrt": 160,
      "../modules/es6.math.clz32": 161,
      "../modules/es6.math.cosh": 162,
      "../modules/es6.math.expm1": 163,
      "../modules/es6.math.fround": 164,
      "../modules/es6.math.hypot": 165,
      "../modules/es6.math.imul": 166,
      "../modules/es6.math.log10": 167,
      "../modules/es6.math.log1p": 168,
      "../modules/es6.math.log2": 169,
      "../modules/es6.math.sign": 170,
      "../modules/es6.math.sinh": 171,
      "../modules/es6.math.tanh": 172,
      "../modules/es6.math.trunc": 173,
      "../modules/es6.number.constructor": 174,
      "../modules/es6.number.epsilon": 175,
      "../modules/es6.number.is-finite": 176,
      "../modules/es6.number.is-integer": 177,
      "../modules/es6.number.is-nan": 178,
      "../modules/es6.number.is-safe-integer": 179,
      "../modules/es6.number.max-safe-integer": 180,
      "../modules/es6.number.min-safe-integer": 181,
      "../modules/es6.number.parse-float": 182,
      "../modules/es6.number.parse-int": 183,
      "../modules/es6.number.to-fixed": 184,
      "../modules/es6.number.to-precision": 185,
      "../modules/es6.object.assign": 186,
      "../modules/es6.object.create": 187,
      "../modules/es6.object.define-properties": 188,
      "../modules/es6.object.define-property": 189,
      "../modules/es6.object.freeze": 190,
      "../modules/es6.object.get-own-property-descriptor": 191,
      "../modules/es6.object.get-own-property-names": 192,
      "../modules/es6.object.get-prototype-of": 193,
      "../modules/es6.object.is": 197,
      "../modules/es6.object.is-extensible": 194,
      "../modules/es6.object.is-frozen": 195,
      "../modules/es6.object.is-sealed": 196,
      "../modules/es6.object.keys": 198,
      "../modules/es6.object.prevent-extensions": 199,
      "../modules/es6.object.seal": 200,
      "../modules/es6.object.set-prototype-of": 201,
      "../modules/es6.object.to-string": 202,
      "../modules/es6.parse-float": 203,
      "../modules/es6.parse-int": 204,
      "../modules/es6.promise": 205,
      "../modules/es6.reflect.apply": 206,
      "../modules/es6.reflect.construct": 207,
      "../modules/es6.reflect.define-property": 208,
      "../modules/es6.reflect.delete-property": 209,
      "../modules/es6.reflect.enumerate": 210,
      "../modules/es6.reflect.get": 213,
      "../modules/es6.reflect.get-own-property-descriptor": 211,
      "../modules/es6.reflect.get-prototype-of": 212,
      "../modules/es6.reflect.has": 214,
      "../modules/es6.reflect.is-extensible": 215,
      "../modules/es6.reflect.own-keys": 216,
      "../modules/es6.reflect.prevent-extensions": 217,
      "../modules/es6.reflect.set": 219,
      "../modules/es6.reflect.set-prototype-of": 218,
      "../modules/es6.regexp.constructor": 220,
      "../modules/es6.regexp.flags": 221,
      "../modules/es6.regexp.match": 222,
      "../modules/es6.regexp.replace": 223,
      "../modules/es6.regexp.search": 224,
      "../modules/es6.regexp.split": 225,
      "../modules/es6.regexp.to-string": 226,
      "../modules/es6.set": 227,
      "../modules/es6.string.anchor": 228,
      "../modules/es6.string.big": 229,
      "../modules/es6.string.blink": 230,
      "../modules/es6.string.bold": 231,
      "../modules/es6.string.code-point-at": 232,
      "../modules/es6.string.ends-with": 233,
      "../modules/es6.string.fixed": 234,
      "../modules/es6.string.fontcolor": 235,
      "../modules/es6.string.fontsize": 236,
      "../modules/es6.string.from-code-point": 237,
      "../modules/es6.string.includes": 238,
      "../modules/es6.string.italics": 239,
      "../modules/es6.string.iterator": 240,
      "../modules/es6.string.link": 241,
      "../modules/es6.string.raw": 242,
      "../modules/es6.string.repeat": 243,
      "../modules/es6.string.small": 244,
      "../modules/es6.string.starts-with": 245,
      "../modules/es6.string.strike": 246,
      "../modules/es6.string.sub": 247,
      "../modules/es6.string.sup": 248,
      "../modules/es6.string.trim": 249,
      "../modules/es6.symbol": 250,
      "../modules/es6.typed.array-buffer": 251,
      "../modules/es6.typed.data-view": 252,
      "../modules/es6.typed.float32-array": 253,
      "../modules/es6.typed.float64-array": 254,
      "../modules/es6.typed.int16-array": 255,
      "../modules/es6.typed.int32-array": 256,
      "../modules/es6.typed.int8-array": 257,
      "../modules/es6.typed.uint16-array": 258,
      "../modules/es6.typed.uint32-array": 259,
      "../modules/es6.typed.uint8-array": 260,
      "../modules/es6.typed.uint8-clamped-array": 261,
      "../modules/es6.weak-map": 262,
      "../modules/es6.weak-set": 263
    }],
    3: [function (require, module, exports) {
      require("../../modules/es7.array.includes"), module.exports = require("../../modules/_core").Array.includes;
    }, {
      "../../modules/_core": 29,
      "../../modules/es7.array.includes": 264
    }],
    4: [function (require, module, exports) {
      require("../../modules/es7.object.entries"), module.exports = require("../../modules/_core").Object.entries;
    }, {
      "../../modules/_core": 29,
      "../../modules/es7.object.entries": 265
    }],
    5: [function (require, module, exports) {
      require("../../modules/es7.object.get-own-property-descriptors"), module.exports = require("../../modules/_core").Object.getOwnPropertyDescriptors;
    }, {
      "../../modules/_core": 29,
      "../../modules/es7.object.get-own-property-descriptors": 266
    }],
    6: [function (require, module, exports) {
      require("../../modules/es7.object.values"), module.exports = require("../../modules/_core").Object.values;
    }, {
      "../../modules/_core": 29,
      "../../modules/es7.object.values": 267
    }],
    7: [function (require, module, exports) {
      "use strict";

      require("../../modules/es6.promise"), require("../../modules/es7.promise.finally"), module.exports = require("../../modules/_core").Promise.finally;
    }, {
      "../../modules/_core": 29,
      "../../modules/es6.promise": 205,
      "../../modules/es7.promise.finally": 268
    }],
    8: [function (require, module, exports) {
      require("../../modules/es7.string.pad-end"), module.exports = require("../../modules/_core").String.padEnd;
    }, {
      "../../modules/_core": 29,
      "../../modules/es7.string.pad-end": 269
    }],
    9: [function (require, module, exports) {
      require("../../modules/es7.string.pad-start"), module.exports = require("../../modules/_core").String.padStart;
    }, {
      "../../modules/_core": 29,
      "../../modules/es7.string.pad-start": 270
    }],
    10: [function (require, module, exports) {
      require("../../modules/es7.symbol.async-iterator"), module.exports = require("../../modules/_wks-ext").f("asyncIterator");
    }, {
      "../../modules/_wks-ext": 124,
      "../../modules/es7.symbol.async-iterator": 271
    }],
    11: [function (require, module, exports) {
      module.exports = function (o) {
        if ("function" != typeof o) throw TypeError(o + " is not a function!");
        return o;
      };
    }, {}],
    12: [function (require, module, exports) {
      var cof = require("./_cof");

      module.exports = function (r, e) {
        if ("number" != typeof r && "Number" != cof(r)) throw TypeError(e);
        return +r;
      };
    }, {
      "./_cof": 25
    }],
    13: [function (require, module, exports) {
      var UNSCOPABLES = require("./_wks")("unscopables"),
          ArrayProto = Array.prototype;

      null == ArrayProto[UNSCOPABLES] && require("./_hide")(ArrayProto, UNSCOPABLES, {}), module.exports = function (r) {
        ArrayProto[UNSCOPABLES][r] = !0;
      };
    }, {
      "./_hide": 47,
      "./_wks": 125
    }],
    14: [function (require, module, exports) {
      module.exports = function (o, n, r, i) {
        if (!(o instanceof n) || void 0 !== i && i in o) throw TypeError(r + ": incorrect invocation!");
        return o;
      };
    }, {}],
    15: [function (require, module, exports) {
      var isObject = require("./_is-object");

      module.exports = function (e) {
        if (!isObject(e)) throw TypeError(e + " is not an object!");
        return e;
      };
    }, {
      "./_is-object": 56
    }],
    16: [function (require, module, exports) {
      "use strict";

      var toObject = require("./_to-object"),
          toAbsoluteIndex = require("./_to-absolute-index"),
          toLength = require("./_to-length");

      module.exports = [].copyWithin || function (t, e) {
        var o = toObject(this),
            n = toLength(o.length),
            i = toAbsoluteIndex(t, n),
            r = toAbsoluteIndex(e, n),
            u = arguments.length > 2 ? arguments[2] : void 0,
            l = Math.min((void 0 === u ? n : toAbsoluteIndex(u, n)) - r, n - i),
            d = 1;

        for (r < i && i < r + l && (d = -1, r += l - 1, i += l - 1); l-- > 0;) {
          r in o ? o[i] = o[r] : delete o[i], i += d, r += d;
        }

        return o;
      };
    }, {
      "./_to-absolute-index": 110,
      "./_to-length": 114,
      "./_to-object": 115
    }],
    17: [function (require, module, exports) {
      "use strict";

      var toObject = require("./_to-object"),
          toAbsoluteIndex = require("./_to-absolute-index"),
          toLength = require("./_to-length");

      module.exports = function (t) {
        for (var e = toObject(this), o = toLength(e.length), r = arguments.length, n = toAbsoluteIndex(r > 1 ? arguments[1] : void 0, o), u = r > 2 ? arguments[2] : void 0, i = void 0 === u ? o : toAbsoluteIndex(u, o); i > n;) {
          e[n++] = t;
        }

        return e;
      };
    }, {
      "./_to-absolute-index": 110,
      "./_to-length": 114,
      "./_to-object": 115
    }],
    18: [function (require, module, exports) {
      var toIObject = require("./_to-iobject"),
          toLength = require("./_to-length"),
          toAbsoluteIndex = require("./_to-absolute-index");

      module.exports = function (e) {
        return function (t, o, r) {
          var n,
              u = toIObject(t),
              i = toLength(u.length),
              f = toAbsoluteIndex(r, i);

          if (e && o != o) {
            for (; i > f;) {
              if ((n = u[f++]) != n) return !0;
            }
          } else for (; i > f; f++) {
            if ((e || f in u) && u[f] === o) return e || f || 0;
          }

          return !e && -1;
        };
      };
    }, {
      "./_to-absolute-index": 110,
      "./_to-iobject": 113,
      "./_to-length": 114
    }],
    19: [function (require, module, exports) {
      var ctx = require("./_ctx"),
          IObject = require("./_iobject"),
          toObject = require("./_to-object"),
          toLength = require("./_to-length"),
          asc = require("./_array-species-create");

      module.exports = function (e, r) {
        var t = 1 == e,
            c = 2 == e,
            i = 3 == e,
            n = 4 == e,
            u = 6 == e,
            o = 5 == e || u,
            s = r || asc;
        return function (r, a, f) {
          for (var b, h, j = toObject(r), l = IObject(j), q = ctx(a, f, 3), _ = toLength(l.length), g = 0, v = t ? s(r, _) : c ? s(r, 0) : void 0; _ > g; g++) {
            if ((o || g in l) && (h = q(b = l[g], g, j), e)) if (t) v[g] = h;else if (h) switch (e) {
              case 3:
                return !0;

              case 5:
                return b;

              case 6:
                return g;

              case 2:
                v.push(b);
            } else if (n) return !1;
          }

          return u ? -1 : i || n ? n : v;
        };
      };
    }, {
      "./_array-species-create": 22,
      "./_ctx": 31,
      "./_iobject": 52,
      "./_to-length": 114,
      "./_to-object": 115
    }],
    20: [function (require, module, exports) {
      var aFunction = require("./_a-function"),
          toObject = require("./_to-object"),
          IObject = require("./_iobject"),
          toLength = require("./_to-length");

      module.exports = function (e, t, r, o, i) {
        aFunction(t);
        var n = toObject(e),
            u = IObject(n),
            c = toLength(n.length),
            a = i ? c - 1 : 0,
            f = i ? -1 : 1;
        if (r < 2) for (;;) {
          if (a in u) {
            o = u[a], a += f;
            break;
          }

          if (a += f, i ? a < 0 : c <= a) throw TypeError("Reduce of empty array with no initial value");
        }

        for (; i ? a >= 0 : c > a; a += f) {
          a in u && (o = t(o, u[a], a, n));
        }

        return o;
      };
    }, {
      "./_a-function": 11,
      "./_iobject": 52,
      "./_to-length": 114,
      "./_to-object": 115
    }],
    21: [function (require, module, exports) {
      var isObject = require("./_is-object"),
          isArray = require("./_is-array"),
          SPECIES = require("./_wks")("species");

      module.exports = function (r) {
        var e;
        return isArray(r) && ("function" != typeof (e = r.constructor) || e !== Array && !isArray(e.prototype) || (e = void 0), isObject(e) && null === (e = e[SPECIES]) && (e = void 0)), void 0 === e ? Array : e;
      };
    }, {
      "./_is-array": 54,
      "./_is-object": 56,
      "./_wks": 125
    }],
    22: [function (require, module, exports) {
      var speciesConstructor = require("./_array-species-constructor");

      module.exports = function (r, e) {
        return new (speciesConstructor(r))(e);
      };
    }, {
      "./_array-species-constructor": 21
    }],
    23: [function (require, module, exports) {
      "use strict";

      var aFunction = require("./_a-function"),
          isObject = require("./_is-object"),
          invoke = require("./_invoke"),
          arraySlice = [].slice,
          factories = {},
          construct = function construct(t, r, e) {
        if (!(r in factories)) {
          for (var i = [], n = 0; n < r; n++) {
            i[n] = "a[" + n + "]";
          }

          factories[r] = Function("F,a", "return new F(" + i.join(",") + ")");
        }

        return factories[r](t, e);
      };

      module.exports = Function.bind || function (t) {
        var r = aFunction(this),
            e = arraySlice.call(arguments, 1),
            i = function i() {
          var n = e.concat(arraySlice.call(arguments));
          return this instanceof i ? construct(r, n.length, n) : invoke(r, n, t);
        };

        return isObject(r.prototype) && (i.prototype = r.prototype), i;
      };
    }, {
      "./_a-function": 11,
      "./_invoke": 51,
      "./_is-object": 56
    }],
    24: [function (require, module, exports) {
      var cof = require("./_cof"),
          TAG = require("./_wks")("toStringTag"),
          ARG = "Arguments" == cof(function () {
        return arguments;
      }()),
          tryGet = function tryGet(t, e) {
        try {
          return t[e];
        } catch (t) {}
      };

      module.exports = function (t) {
        var e, r, n;
        return void 0 === t ? "Undefined" : null === t ? "Null" : "string" == typeof (r = tryGet(e = Object(t), TAG)) ? r : ARG ? cof(e) : "Object" == (n = cof(e)) && "function" == typeof e.callee ? "Arguments" : n;
      };
    }, {
      "./_cof": 25,
      "./_wks": 125
    }],
    25: [function (require, module, exports) {
      var toString = {}.toString;

      module.exports = function (t) {
        return toString.call(t).slice(8, -1);
      };
    }, {}],
    26: [function (require, module, exports) {
      "use strict";

      var dP = require("./_object-dp").f,
          create = require("./_object-create"),
          redefineAll = require("./_redefine-all"),
          ctx = require("./_ctx"),
          anInstance = require("./_an-instance"),
          forOf = require("./_for-of"),
          $iterDefine = require("./_iter-define"),
          step = require("./_iter-step"),
          setSpecies = require("./_set-species"),
          DESCRIPTORS = require("./_descriptors"),
          fastKey = require("./_meta").fastKey,
          validate = require("./_validate-collection"),
          SIZE = DESCRIPTORS ? "_s" : "size",
          getEntry = function getEntry(e, t) {
        var r,
            i = fastKey(t);
        if ("F" !== i) return e._i[i];

        for (r = e._f; r; r = r.n) {
          if (r.k == t) return r;
        }
      };

      module.exports = {
        getConstructor: function getConstructor(e, t, r, i) {
          var n = e(function (e, f) {
            anInstance(e, n, t, "_i"), e._t = t, e._i = create(null), e._f = void 0, e._l = void 0, e[SIZE] = 0, null != f && forOf(f, r, e[i], e);
          });
          return redefineAll(n.prototype, {
            clear: function clear() {
              for (var e = validate(this, t), r = e._i, i = e._f; i; i = i.n) {
                i.r = !0, i.p && (i.p = i.p.n = void 0), delete r[i.i];
              }

              e._f = e._l = void 0, e[SIZE] = 0;
            },
            delete: function _delete(e) {
              var r = validate(this, t),
                  i = getEntry(r, e);

              if (i) {
                var n = i.n,
                    f = i.p;
                delete r._i[i.i], i.r = !0, f && (f.n = n), n && (n.p = f), r._f == i && (r._f = n), r._l == i && (r._l = f), r[SIZE]--;
              }

              return !!i;
            },
            forEach: function forEach(e) {
              validate(this, t);

              for (var r, i = ctx(e, arguments.length > 1 ? arguments[1] : void 0, 3); r = r ? r.n : this._f;) {
                for (i(r.v, r.k, this); r && r.r;) {
                  r = r.p;
                }
              }
            },
            has: function has(e) {
              return !!getEntry(validate(this, t), e);
            }
          }), DESCRIPTORS && dP(n.prototype, "size", {
            get: function get() {
              return validate(this, t)[SIZE];
            }
          }), n;
        },
        def: function def(e, t, r) {
          var i,
              n,
              f = getEntry(e, t);
          return f ? f.v = r : (e._l = f = {
            i: n = fastKey(t, !0),
            k: t,
            v: r,
            p: i = e._l,
            n: void 0,
            r: !1
          }, e._f || (e._f = f), i && (i.n = f), e[SIZE]++, "F" !== n && (e._i[n] = f)), e;
        },
        getEntry: getEntry,
        setStrong: function setStrong(e, t, r) {
          $iterDefine(e, t, function (e, r) {
            this._t = validate(e, t), this._k = r, this._l = void 0;
          }, function () {
            for (var e = this._k, t = this._l; t && t.r;) {
              t = t.p;
            }

            return this._t && (this._l = t = t ? t.n : this._t._f) ? step(0, "keys" == e ? t.k : "values" == e ? t.v : [t.k, t.v]) : (this._t = void 0, step(1));
          }, r ? "entries" : "values", !r, !0), setSpecies(t);
        }
      };
    }, {
      "./_an-instance": 14,
      "./_ctx": 31,
      "./_descriptors": 35,
      "./_for-of": 44,
      "./_iter-define": 60,
      "./_iter-step": 62,
      "./_meta": 69,
      "./_object-create": 73,
      "./_object-dp": 74,
      "./_redefine-all": 92,
      "./_set-species": 96,
      "./_validate-collection": 122
    }],
    27: [function (require, module, exports) {
      "use strict";

      var redefineAll = require("./_redefine-all"),
          getWeak = require("./_meta").getWeak,
          anObject = require("./_an-object"),
          isObject = require("./_is-object"),
          anInstance = require("./_an-instance"),
          forOf = require("./_for-of"),
          createArrayMethod = require("./_array-methods"),
          $has = require("./_has"),
          validate = require("./_validate-collection"),
          arrayFind = createArrayMethod(5),
          arrayFindIndex = createArrayMethod(6),
          id = 0,
          uncaughtFrozenStore = function uncaughtFrozenStore(e) {
        return e._l || (e._l = new UncaughtFrozenStore());
      },
          UncaughtFrozenStore = function UncaughtFrozenStore() {
        this.a = [];
      },
          findUncaughtFrozen = function findUncaughtFrozen(e, t) {
        return arrayFind(e.a, function (e) {
          return e[0] === t;
        });
      };

      UncaughtFrozenStore.prototype = {
        get: function get(e) {
          var t = findUncaughtFrozen(this, e);
          if (t) return t[1];
        },
        has: function has(e) {
          return !!findUncaughtFrozen(this, e);
        },
        set: function set(e, t) {
          var r = findUncaughtFrozen(this, e);
          r ? r[1] = t : this.a.push([e, t]);
        },
        delete: function _delete(e) {
          var t = arrayFindIndex(this.a, function (t) {
            return t[0] === e;
          });
          return ~t && this.a.splice(t, 1), !!~t;
        }
      }, module.exports = {
        getConstructor: function getConstructor(e, t, r, n) {
          var a = e(function (e, i) {
            anInstance(e, a, t, "_i"), e._t = t, e._i = id++, e._l = void 0, null != i && forOf(i, r, e[n], e);
          });
          return redefineAll(a.prototype, {
            delete: function _delete(e) {
              if (!isObject(e)) return !1;
              var r = getWeak(e);
              return !0 === r ? uncaughtFrozenStore(validate(this, t)).delete(e) : r && $has(r, this._i) && delete r[this._i];
            },
            has: function has(e) {
              if (!isObject(e)) return !1;
              var r = getWeak(e);
              return !0 === r ? uncaughtFrozenStore(validate(this, t)).has(e) : r && $has(r, this._i);
            }
          }), a;
        },
        def: function def(e, t, r) {
          var n = getWeak(anObject(t), !0);
          return !0 === n ? uncaughtFrozenStore(e).set(t, r) : n[e._i] = r, e;
        },
        ufstore: uncaughtFrozenStore
      };
    }, {
      "./_an-instance": 14,
      "./_an-object": 15,
      "./_array-methods": 19,
      "./_for-of": 44,
      "./_has": 46,
      "./_is-object": 56,
      "./_meta": 69,
      "./_redefine-all": 92,
      "./_validate-collection": 122
    }],
    28: [function (require, module, exports) {
      "use strict";

      var global = require("./_global"),
          $export = require("./_export"),
          redefine = require("./_redefine"),
          redefineAll = require("./_redefine-all"),
          meta = require("./_meta"),
          forOf = require("./_for-of"),
          anInstance = require("./_an-instance"),
          isObject = require("./_is-object"),
          fails = require("./_fails"),
          $iterDetect = require("./_iter-detect"),
          setToStringTag = require("./_set-to-string-tag"),
          inheritIfRequired = require("./_inherit-if-required");

      module.exports = function (e, t, r, i, n, o) {
        var a = global[e],
            u = a,
            f = n ? "set" : "add",
            s = u && u.prototype,
            c = {},
            l = function l(e) {
          var t = s[e];
          redefine(s, e, "delete" == e ? function (e) {
            return !(o && !isObject(e)) && t.call(this, 0 === e ? 0 : e);
          } : "has" == e ? function (e) {
            return !(o && !isObject(e)) && t.call(this, 0 === e ? 0 : e);
          } : "get" == e ? function (e) {
            return o && !isObject(e) ? void 0 : t.call(this, 0 === e ? 0 : e);
          } : "add" == e ? function (e) {
            return t.call(this, 0 === e ? 0 : e), this;
          } : function (e, r) {
            return t.call(this, 0 === e ? 0 : e, r), this;
          });
        };

        if ("function" == typeof u && (o || s.forEach && !fails(function () {
          new u().entries().next();
        }))) {
          var d = new u(),
              h = d[f](o ? {} : -0, 1) != d,
              q = fails(function () {
            d.has(1);
          }),
              p = $iterDetect(function (e) {
            new u(e);
          }),
              g = !o && fails(function () {
            for (var e = new u(), t = 5; t--;) {
              e[f](t, t);
            }

            return !e.has(-0);
          });
          p || ((u = t(function (t, r) {
            anInstance(t, u, e);
            var i = inheritIfRequired(new a(), t, u);
            return null != r && forOf(r, n, i[f], i), i;
          })).prototype = s, s.constructor = u), (q || g) && (l("delete"), l("has"), n && l("get")), (g || h) && l(f), o && s.clear && delete s.clear;
        } else u = i.getConstructor(t, e, n, f), redefineAll(u.prototype, r), meta.NEED = !0;

        return setToStringTag(u, e), c[e] = u, $export($export.G + $export.W + $export.F * (u != a), c), o || i.setStrong(u, e, n), u;
      };
    }, {
      "./_an-instance": 14,
      "./_export": 39,
      "./_fails": 41,
      "./_for-of": 44,
      "./_global": 45,
      "./_inherit-if-required": 50,
      "./_is-object": 56,
      "./_iter-detect": 61,
      "./_meta": 69,
      "./_redefine": 93,
      "./_redefine-all": 92,
      "./_set-to-string-tag": 97
    }],
    29: [function (require, module, exports) {
      var core = module.exports = {
        version: "2.5.7"
      };
      "number" == typeof __e && (__e = core);
    }, {}],
    30: [function (require, module, exports) {
      "use strict";

      var $defineProperty = require("./_object-dp"),
          createDesc = require("./_property-desc");

      module.exports = function (e, r, t) {
        r in e ? $defineProperty.f(e, r, createDesc(0, t)) : e[r] = t;
      };
    }, {
      "./_object-dp": 74,
      "./_property-desc": 91
    }],
    31: [function (require, module, exports) {
      var aFunction = require("./_a-function");

      module.exports = function (n, r, t) {
        if (aFunction(n), void 0 === r) return n;

        switch (t) {
          case 1:
            return function (t) {
              return n.call(r, t);
            };

          case 2:
            return function (t, u) {
              return n.call(r, t, u);
            };

          case 3:
            return function (t, u, e) {
              return n.call(r, t, u, e);
            };
        }

        return function () {
          return n.apply(r, arguments);
        };
      };
    }, {
      "./_a-function": 11
    }],
    32: [function (require, module, exports) {
      "use strict";

      var fails = require("./_fails"),
          getTime = Date.prototype.getTime,
          $toISOString = Date.prototype.toISOString,
          lz = function lz(t) {
        return t > 9 ? t : "0" + t;
      };

      module.exports = fails(function () {
        return "0385-07-25T07:06:39.999Z" != $toISOString.call(new Date(-5e13 - 1));
      }) || !fails(function () {
        $toISOString.call(new Date(NaN));
      }) ? function () {
        if (!isFinite(getTime.call(this))) throw RangeError("Invalid time value");
        var t = this,
            e = t.getUTCFullYear(),
            i = t.getUTCMilliseconds(),
            l = e < 0 ? "-" : e > 9999 ? "+" : "";
        return l + ("00000" + Math.abs(e)).slice(l ? -6 : -4) + "-" + lz(t.getUTCMonth() + 1) + "-" + lz(t.getUTCDate()) + "T" + lz(t.getUTCHours()) + ":" + lz(t.getUTCMinutes()) + ":" + lz(t.getUTCSeconds()) + "." + (i > 99 ? i : "0" + lz(i)) + "Z";
      } : $toISOString;
    }, {
      "./_fails": 41
    }],
    33: [function (require, module, exports) {
      "use strict";

      var anObject = require("./_an-object"),
          toPrimitive = require("./_to-primitive"),
          NUMBER = "number";

      module.exports = function (r) {
        if ("string" !== r && r !== NUMBER && "default" !== r) throw TypeError("Incorrect hint");
        return toPrimitive(anObject(this), r != NUMBER);
      };
    }, {
      "./_an-object": 15,
      "./_to-primitive": 116
    }],
    34: [function (require, module, exports) {
      module.exports = function (o) {
        if (null == o) throw TypeError("Can't call method on  " + o);
        return o;
      };
    }, {}],
    35: [function (require, module, exports) {
      module.exports = !require("./_fails")(function () {
        return 7 != Object.defineProperty({}, "a", {
          get: function get() {
            return 7;
          }
        }).a;
      });
    }, {
      "./_fails": 41
    }],
    36: [function (require, module, exports) {
      var isObject = require("./_is-object"),
          document = require("./_global").document,
          is = isObject(document) && isObject(document.createElement);

      module.exports = function (e) {
        return is ? document.createElement(e) : {};
      };
    }, {
      "./_global": 45,
      "./_is-object": 56
    }],
    37: [function (require, module, exports) {
      module.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",");
    }, {}],
    38: [function (require, module, exports) {
      var getKeys = require("./_object-keys"),
          gOPS = require("./_object-gops"),
          pIE = require("./_object-pie");

      module.exports = function (e) {
        var r = getKeys(e),
            t = gOPS.f;
        if (t) for (var o, u = t(e), g = pIE.f, i = 0; u.length > i;) {
          g.call(e, o = u[i++]) && r.push(o);
        }
        return r;
      };
    }, {
      "./_object-gops": 79,
      "./_object-keys": 82,
      "./_object-pie": 83
    }],
    39: [function (require, module, exports) {
      var global = require("./_global"),
          core = require("./_core"),
          hide = require("./_hide"),
          redefine = require("./_redefine"),
          ctx = require("./_ctx"),
          PROTOTYPE = "prototype",
          $export = function $export(e, o, r) {
        var t,
            x,
            p,
            l,
            i = e & $export.F,
            $ = e & $export.G,
            c = e & $export.S,
            a = e & $export.P,
            n = e & $export.B,
            P = $ ? global : c ? global[o] || (global[o] = {}) : (global[o] || {})[PROTOTYPE],
            u = $ ? core : core[o] || (core[o] = {}),
            b = u[PROTOTYPE] || (u[PROTOTYPE] = {});

        for (t in $ && (r = o), r) {
          p = ((x = !i && P && void 0 !== P[t]) ? P : r)[t], l = n && x ? ctx(p, global) : a && "function" == typeof p ? ctx(Function.call, p) : p, P && redefine(P, t, p, e & $export.U), u[t] != p && hide(u, t, l), a && b[t] != p && (b[t] = p);
        }
      };

      global.core = core, $export.F = 1, $export.G = 2, $export.S = 4, $export.P = 8, $export.B = 16, $export.W = 32, $export.U = 64, $export.R = 128, module.exports = $export;
    }, {
      "./_core": 29,
      "./_ctx": 31,
      "./_global": 45,
      "./_hide": 47,
      "./_redefine": 93
    }],
    40: [function (require, module, exports) {
      var MATCH = require("./_wks")("match");

      module.exports = function (r) {
        var t = /./;

        try {
          "/./"[r](t);
        } catch (c) {
          try {
            return t[MATCH] = !1, !"/./"[r](t);
          } catch (r) {}
        }

        return !0;
      };
    }, {
      "./_wks": 125
    }],
    41: [function (require, module, exports) {
      module.exports = function (r) {
        try {
          return !!r();
        } catch (r) {
          return !0;
        }
      };
    }, {}],
    42: [function (require, module, exports) {
      "use strict";

      var hide = require("./_hide"),
          redefine = require("./_redefine"),
          fails = require("./_fails"),
          defined = require("./_defined"),
          wks = require("./_wks");

      module.exports = function (e, r, i) {
        var n = wks(e),
            t = i(defined, n, ""[e]),
            u = t[0],
            f = t[1];
        fails(function () {
          var r = {};
          return r[n] = function () {
            return 7;
          }, 7 != ""[e](r);
        }) && (redefine(String.prototype, e, u), hide(RegExp.prototype, n, 2 == r ? function (e, r) {
          return f.call(e, this, r);
        } : function (e) {
          return f.call(e, this);
        }));
      };
    }, {
      "./_defined": 34,
      "./_fails": 41,
      "./_hide": 47,
      "./_redefine": 93,
      "./_wks": 125
    }],
    43: [function (require, module, exports) {
      "use strict";

      var anObject = require("./_an-object");

      module.exports = function () {
        var e = anObject(this),
            t = "";
        return e.global && (t += "g"), e.ignoreCase && (t += "i"), e.multiline && (t += "m"), e.unicode && (t += "u"), e.sticky && (t += "y"), t;
      };
    }, {
      "./_an-object": 15
    }],
    44: [function (require, module, exports) {
      var ctx = require("./_ctx"),
          call = require("./_iter-call"),
          isArrayIter = require("./_is-array-iter"),
          anObject = require("./_an-object"),
          toLength = require("./_to-length"),
          getIterFn = require("./core.get-iterator-method"),
          BREAK = {},
          RETURN = {},
          exports = module.exports = function (e, r, t, o, i) {
        var n,
            a,
            R,
            c,
            l = i ? function () {
          return e;
        } : getIterFn(e),
            u = ctx(t, o, r ? 2 : 1),
            E = 0;
        if ("function" != typeof l) throw TypeError(e + " is not iterable!");

        if (isArrayIter(l)) {
          for (n = toLength(e.length); n > E; E++) {
            if ((c = r ? u(anObject(a = e[E])[0], a[1]) : u(e[E])) === BREAK || c === RETURN) return c;
          }
        } else for (R = l.call(e); !(a = R.next()).done;) {
          if ((c = call(R, u, a.value, r)) === BREAK || c === RETURN) return c;
        }
      };

      exports.BREAK = BREAK, exports.RETURN = RETURN;
    }, {
      "./_an-object": 15,
      "./_ctx": 31,
      "./_is-array-iter": 53,
      "./_iter-call": 58,
      "./_to-length": 114,
      "./core.get-iterator-method": 126
    }],
    45: [function (require, module, exports) {
      var global = module.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")();
      "number" == typeof __g && (__g = global);
    }, {}],
    46: [function (require, module, exports) {
      var hasOwnProperty = {}.hasOwnProperty;

      module.exports = function (r, e) {
        return hasOwnProperty.call(r, e);
      };
    }, {}],
    47: [function (require, module, exports) {
      var dP = require("./_object-dp"),
          createDesc = require("./_property-desc");

      module.exports = require("./_descriptors") ? function (e, r, t) {
        return dP.f(e, r, createDesc(1, t));
      } : function (e, r, t) {
        return e[r] = t, e;
      };
    }, {
      "./_descriptors": 35,
      "./_object-dp": 74,
      "./_property-desc": 91
    }],
    48: [function (require, module, exports) {
      var document = require("./_global").document;

      module.exports = document && document.documentElement;
    }, {
      "./_global": 45
    }],
    49: [function (require, module, exports) {
      module.exports = !require("./_descriptors") && !require("./_fails")(function () {
        return 7 != Object.defineProperty(require("./_dom-create")("div"), "a", {
          get: function get() {
            return 7;
          }
        }).a;
      });
    }, {
      "./_descriptors": 35,
      "./_dom-create": 36,
      "./_fails": 41
    }],
    50: [function (require, module, exports) {
      var isObject = require("./_is-object"),
          setPrototypeOf = require("./_set-proto").set;

      module.exports = function (t, e, o) {
        var r,
            p = e.constructor;
        return p !== o && "function" == typeof p && (r = p.prototype) !== o.prototype && isObject(r) && setPrototypeOf && setPrototypeOf(t, r), t;
      };
    }, {
      "./_is-object": 56,
      "./_set-proto": 95
    }],
    51: [function (require, module, exports) {
      module.exports = function (e, r, l) {
        var a = void 0 === l;

        switch (r.length) {
          case 0:
            return a ? e() : e.call(l);

          case 1:
            return a ? e(r[0]) : e.call(l, r[0]);

          case 2:
            return a ? e(r[0], r[1]) : e.call(l, r[0], r[1]);

          case 3:
            return a ? e(r[0], r[1], r[2]) : e.call(l, r[0], r[1], r[2]);

          case 4:
            return a ? e(r[0], r[1], r[2], r[3]) : e.call(l, r[0], r[1], r[2], r[3]);
        }

        return e.apply(l, r);
      };
    }, {}],
    52: [function (require, module, exports) {
      var cof = require("./_cof");

      module.exports = Object("z").propertyIsEnumerable(0) ? Object : function (e) {
        return "String" == cof(e) ? e.split("") : Object(e);
      };
    }, {
      "./_cof": 25
    }],
    53: [function (require, module, exports) {
      var Iterators = require("./_iterators"),
          ITERATOR = require("./_wks")("iterator"),
          ArrayProto = Array.prototype;

      module.exports = function (r) {
        return void 0 !== r && (Iterators.Array === r || ArrayProto[ITERATOR] === r);
      };
    }, {
      "./_iterators": 63,
      "./_wks": 125
    }],
    54: [function (require, module, exports) {
      var cof = require("./_cof");

      module.exports = Array.isArray || function (r) {
        return "Array" == cof(r);
      };
    }, {
      "./_cof": 25
    }],
    55: [function (require, module, exports) {
      var isObject = require("./_is-object"),
          floor = Math.floor;

      module.exports = function (o) {
        return !isObject(o) && isFinite(o) && floor(o) === o;
      };
    }, {
      "./_is-object": 56
    }],
    56: [function (require, module, exports) {
      module.exports = function (o) {
        return "object" == (0, _typeof5.default)(o) ? null !== o : "function" == typeof o;
      };
    }, {}],
    57: [function (require, module, exports) {
      var isObject = require("./_is-object"),
          cof = require("./_cof"),
          MATCH = require("./_wks")("match");

      module.exports = function (e) {
        var r;
        return isObject(e) && (void 0 !== (r = e[MATCH]) ? !!r : "RegExp" == cof(e));
      };
    }, {
      "./_cof": 25,
      "./_is-object": 56,
      "./_wks": 125
    }],
    58: [function (require, module, exports) {
      var anObject = require("./_an-object");

      module.exports = function (r, t, e, a) {
        try {
          return a ? t(anObject(e)[0], e[1]) : t(e);
        } catch (t) {
          var c = r.return;
          throw void 0 !== c && anObject(c.call(r)), t;
        }
      };
    }, {
      "./_an-object": 15
    }],
    59: [function (require, module, exports) {
      "use strict";

      var create = require("./_object-create"),
          descriptor = require("./_property-desc"),
          setToStringTag = require("./_set-to-string-tag"),
          IteratorPrototype = {};

      require("./_hide")(IteratorPrototype, require("./_wks")("iterator"), function () {
        return this;
      }), module.exports = function (r, t, e) {
        r.prototype = create(IteratorPrototype, {
          next: descriptor(1, e)
        }), setToStringTag(r, t + " Iterator");
      };
    }, {
      "./_hide": 47,
      "./_object-create": 73,
      "./_property-desc": 91,
      "./_set-to-string-tag": 97,
      "./_wks": 125
    }],
    60: [function (require, module, exports) {
      "use strict";

      var LIBRARY = require("./_library"),
          $export = require("./_export"),
          redefine = require("./_redefine"),
          hide = require("./_hide"),
          Iterators = require("./_iterators"),
          $iterCreate = require("./_iter-create"),
          setToStringTag = require("./_set-to-string-tag"),
          getPrototypeOf = require("./_object-gpo"),
          ITERATOR = require("./_wks")("iterator"),
          BUGGY = !([].keys && "next" in [].keys()),
          FF_ITERATOR = "@@iterator",
          KEYS = "keys",
          VALUES = "values",
          returnThis = function returnThis() {
        return this;
      };

      module.exports = function (e, r, t, i, n, o, s) {
        $iterCreate(t, r, i);

        var u,
            a,
            T,
            R = function R(e) {
          if (!BUGGY && e in E) return E[e];

          switch (e) {
            case KEYS:
            case VALUES:
              return function () {
                return new t(this, e);
              };
          }

          return function () {
            return new t(this, e);
          };
        },
            f = r + " Iterator",
            A = n == VALUES,
            c = !1,
            E = e.prototype,
            I = E[ITERATOR] || E[FF_ITERATOR] || n && E[n],
            p = I || R(n),
            h = n ? A ? R("entries") : p : void 0,
            y = "Array" == r && E.entries || I;

        if (y && (T = getPrototypeOf(y.call(new e()))) !== Object.prototype && T.next && (setToStringTag(T, f, !0), LIBRARY || "function" == typeof T[ITERATOR] || hide(T, ITERATOR, returnThis)), A && I && I.name !== VALUES && (c = !0, p = function p() {
          return I.call(this);
        }), LIBRARY && !s || !BUGGY && !c && E[ITERATOR] || hide(E, ITERATOR, p), Iterators[r] = p, Iterators[f] = returnThis, n) if (u = {
          values: A ? p : R(VALUES),
          keys: o ? p : R(KEYS),
          entries: h
        }, s) for (a in u) {
          a in E || redefine(E, a, u[a]);
        } else $export($export.P + $export.F * (BUGGY || c), r, u);
        return u;
      };
    }, {
      "./_export": 39,
      "./_hide": 47,
      "./_iter-create": 59,
      "./_iterators": 63,
      "./_library": 64,
      "./_object-gpo": 80,
      "./_redefine": 93,
      "./_set-to-string-tag": 97,
      "./_wks": 125
    }],
    61: [function (require, module, exports) {
      var ITERATOR = require("./_wks")("iterator"),
          SAFE_CLOSING = !1;

      try {
        var riter = [7][ITERATOR]();
        riter.return = function () {
          SAFE_CLOSING = !0;
        }, Array.from(riter, function () {
          throw 2;
        });
      } catch (r) {}

      module.exports = function (r, t) {
        if (!t && !SAFE_CLOSING) return !1;
        var n = !1;

        try {
          var e = [7],
              u = e[ITERATOR]();
          u.next = function () {
            return {
              done: n = !0
            };
          }, e[ITERATOR] = function () {
            return u;
          }, r(e);
        } catch (r) {}

        return n;
      };
    }, {
      "./_wks": 125
    }],
    62: [function (require, module, exports) {
      module.exports = function (e, n) {
        return {
          value: n,
          done: !!e
        };
      };
    }, {}],
    63: [function (require, module, exports) {
      module.exports = {};
    }, {}],
    64: [function (require, module, exports) {
      module.exports = !1;
    }, {}],
    65: [function (require, module, exports) {
      var $expm1 = Math.expm1;
      module.exports = !$expm1 || $expm1(10) > 22025.465794806718 || $expm1(10) < 22025.465794806718 || -2e-17 != $expm1(-2e-17) ? function (e) {
        return 0 == (e = +e) ? e : e > -1e-6 && e < 1e-6 ? e + e * e / 2 : Math.exp(e) - 1;
      } : $expm1;
    }, {}],
    66: [function (require, module, exports) {
      var sign = require("./_math-sign"),
          pow = Math.pow,
          EPSILON = pow(2, -52),
          EPSILON32 = pow(2, -23),
          MAX32 = pow(2, 127) * (2 - EPSILON32),
          MIN32 = pow(2, -126),
          roundTiesToEven = function roundTiesToEven(o) {
        return o + 1 / EPSILON - 1 / EPSILON;
      };

      module.exports = Math.fround || function (o) {
        var n,
            I,
            N = Math.abs(o),
            r = sign(o);
        return N < MIN32 ? r * roundTiesToEven(N / MIN32 / EPSILON32) * MIN32 * EPSILON32 : (I = (n = (1 + EPSILON32 / EPSILON) * N) - (n - N)) > MAX32 || I != I ? r * (1 / 0) : r * I;
      };
    }, {
      "./_math-sign": 68
    }],
    67: [function (require, module, exports) {
      module.exports = Math.log1p || function (e) {
        return (e = +e) > -1e-8 && e < 1e-8 ? e - e * e / 2 : Math.log(1 + e);
      };
    }, {}],
    68: [function (require, module, exports) {
      module.exports = Math.sign || function (n) {
        return 0 == (n = +n) || n != n ? n : n < 0 ? -1 : 1;
      };
    }, {}],
    69: [function (require, module, exports) {
      var META = require("./_uid")("meta"),
          isObject = require("./_is-object"),
          has = require("./_has"),
          setDesc = require("./_object-dp").f,
          id = 0,
          isExtensible = Object.isExtensible || function () {
        return !0;
      },
          FREEZE = !require("./_fails")(function () {
        return isExtensible(Object.preventExtensions({}));
      }),
          setMeta = function setMeta(e) {
        setDesc(e, META, {
          value: {
            i: "O" + ++id,
            w: {}
          }
        });
      },
          fastKey = function fastKey(e, t) {
        if (!isObject(e)) return "symbol" == (0, _typeof5.default)(e) ? e : ("string" == typeof e ? "S" : "P") + e;

        if (!has(e, META)) {
          if (!isExtensible(e)) return "F";
          if (!t) return "E";
          setMeta(e);
        }

        return e[META].i;
      },
          getWeak = function getWeak(e, t) {
        if (!has(e, META)) {
          if (!isExtensible(e)) return !0;
          if (!t) return !1;
          setMeta(e);
        }

        return e[META].w;
      },
          onFreeze = function onFreeze(e) {
        return FREEZE && meta.NEED && isExtensible(e) && !has(e, META) && setMeta(e), e;
      },
          meta = module.exports = {
        KEY: META,
        NEED: !1,
        fastKey: fastKey,
        getWeak: getWeak,
        onFreeze: onFreeze
      };
    }, {
      "./_fails": 41,
      "./_has": 46,
      "./_is-object": 56,
      "./_object-dp": 74,
      "./_uid": 120
    }],
    70: [function (require, module, exports) {
      var global = require("./_global"),
          macrotask = require("./_task").set,
          Observer = global.MutationObserver || global.WebKitMutationObserver,
          process = global.process,
          Promise = global.Promise,
          isNode = "process" == require("./_cof")(process);

      module.exports = function () {
        var e,
            o,
            r,
            a = function a() {
          var a, s;

          for (isNode && (a = process.domain) && a.exit(); e;) {
            s = e.fn, e = e.next;

            try {
              s();
            } catch (a) {
              throw e ? r() : o = void 0, a;
            }
          }

          o = void 0, a && a.enter();
        };

        if (isNode) r = function r() {
          process.nextTick(a);
        };else if (!Observer || global.navigator && global.navigator.standalone) {
          if (Promise && Promise.resolve) {
            var s = Promise.resolve(void 0);

            r = function r() {
              s.then(a);
            };
          } else r = function r() {
            macrotask.call(global, a);
          };
        } else {
          var t = !0,
              i = document.createTextNode("");
          new Observer(a).observe(i, {
            characterData: !0
          }), r = function r() {
            i.data = t = !t;
          };
        }
        return function (a) {
          var s = {
            fn: a,
            next: void 0
          };
          o && (o.next = s), e || (e = s, r()), o = s;
        };
      };
    }, {
      "./_cof": 25,
      "./_global": 45,
      "./_task": 109
    }],
    71: [function (require, module, exports) {
      "use strict";

      var aFunction = require("./_a-function");

      function PromiseCapability(i) {
        var o, r;
        this.promise = new i(function (i, t) {
          if (void 0 !== o || void 0 !== r) throw TypeError("Bad Promise constructor");
          o = i, r = t;
        }), this.resolve = aFunction(o), this.reject = aFunction(r);
      }

      module.exports.f = function (i) {
        return new PromiseCapability(i);
      };
    }, {
      "./_a-function": 11
    }],
    72: [function (require, module, exports) {
      "use strict";

      var getKeys = require("./_object-keys"),
          gOPS = require("./_object-gops"),
          pIE = require("./_object-pie"),
          toObject = require("./_to-object"),
          IObject = require("./_iobject"),
          $assign = Object.assign;

      module.exports = !$assign || require("./_fails")(function () {
        var e = {},
            t = {},
            r = Symbol(),
            s = "abcdefghijklmnopqrst";
        return e[r] = 7, s.split("").forEach(function (e) {
          t[e] = e;
        }), 7 != $assign({}, e)[r] || Object.keys($assign({}, t)).join("") != s;
      }) ? function (e, t) {
        for (var r = toObject(e), s = arguments.length, i = 1, o = gOPS.f, c = pIE.f; s > i;) {
          for (var n, a = IObject(arguments[i++]), g = o ? getKeys(a).concat(o(a)) : getKeys(a), b = g.length, j = 0; b > j;) {
            c.call(a, n = g[j++]) && (r[n] = a[n]);
          }
        }

        return r;
      } : $assign;
    }, {
      "./_fails": 41,
      "./_iobject": 52,
      "./_object-gops": 79,
      "./_object-keys": 82,
      "./_object-pie": 83,
      "./_to-object": 115
    }],
    73: [function (require, module, exports) {
      var anObject = require("./_an-object"),
          dPs = require("./_object-dps"),
          enumBugKeys = require("./_enum-bug-keys"),
          IE_PROTO = require("./_shared-key")("IE_PROTO"),
          Empty = function Empty() {},
          PROTOTYPE = "prototype",
          _createDict = function createDict() {
        var e,
            t = require("./_dom-create")("iframe"),
            r = enumBugKeys.length;

        for (t.style.display = "none", require("./_html").appendChild(t), t.src = "javascript:", (e = t.contentWindow.document).open(), e.write("<script>document.F=Object<\/script>"), e.close(), _createDict = e.F; r--;) {
          delete _createDict[PROTOTYPE][enumBugKeys[r]];
        }

        return _createDict();
      };

      module.exports = Object.create || function (e, t) {
        var r;
        return null !== e ? (Empty[PROTOTYPE] = anObject(e), r = new Empty(), Empty[PROTOTYPE] = null, r[IE_PROTO] = e) : r = _createDict(), void 0 === t ? r : dPs(r, t);
      };
    }, {
      "./_an-object": 15,
      "./_dom-create": 36,
      "./_enum-bug-keys": 37,
      "./_html": 48,
      "./_object-dps": 75,
      "./_shared-key": 98
    }],
    74: [function (require, module, exports) {
      var anObject = require("./_an-object"),
          IE8_DOM_DEFINE = require("./_ie8-dom-define"),
          toPrimitive = require("./_to-primitive"),
          dP = Object.defineProperty;

      exports.f = require("./_descriptors") ? Object.defineProperty : function (e, r, t) {
        if (anObject(e), r = toPrimitive(r, !0), anObject(t), IE8_DOM_DEFINE) try {
          return dP(e, r, t);
        } catch (e) {}
        if ("get" in t || "set" in t) throw TypeError("Accessors not supported!");
        return "value" in t && (e[r] = t.value), e;
      };
    }, {
      "./_an-object": 15,
      "./_descriptors": 35,
      "./_ie8-dom-define": 49,
      "./_to-primitive": 116
    }],
    75: [function (require, module, exports) {
      var dP = require("./_object-dp"),
          anObject = require("./_an-object"),
          getKeys = require("./_object-keys");

      module.exports = require("./_descriptors") ? Object.defineProperties : function (e, r) {
        anObject(e);

        for (var t, o = getKeys(r), c = o.length, i = 0; c > i;) {
          dP.f(e, t = o[i++], r[t]);
        }

        return e;
      };
    }, {
      "./_an-object": 15,
      "./_descriptors": 35,
      "./_object-dp": 74,
      "./_object-keys": 82
    }],
    76: [function (require, module, exports) {
      var pIE = require("./_object-pie"),
          createDesc = require("./_property-desc"),
          toIObject = require("./_to-iobject"),
          toPrimitive = require("./_to-primitive"),
          has = require("./_has"),
          IE8_DOM_DEFINE = require("./_ie8-dom-define"),
          gOPD = Object.getOwnPropertyDescriptor;

      exports.f = require("./_descriptors") ? gOPD : function (e, r) {
        if (e = toIObject(e), r = toPrimitive(r, !0), IE8_DOM_DEFINE) try {
          return gOPD(e, r);
        } catch (e) {}
        if (has(e, r)) return createDesc(!pIE.f.call(e, r), e[r]);
      };
    }, {
      "./_descriptors": 35,
      "./_has": 46,
      "./_ie8-dom-define": 49,
      "./_object-pie": 83,
      "./_property-desc": 91,
      "./_to-iobject": 113,
      "./_to-primitive": 116
    }],
    77: [function (require, module, exports) {
      var toIObject = require("./_to-iobject"),
          gOPN = require("./_object-gopn").f,
          toString = {}.toString,
          windowNames = "object" == (typeof window === "undefined" ? "undefined" : (0, _typeof5.default)(window)) && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [],
          getWindowNames = function getWindowNames(e) {
        try {
          return gOPN(e);
        } catch (e) {
          return windowNames.slice();
        }
      };

      module.exports.f = function (e) {
        return windowNames && "[object Window]" == toString.call(e) ? getWindowNames(e) : gOPN(toIObject(e));
      };
    }, {
      "./_object-gopn": 78,
      "./_to-iobject": 113
    }],
    78: [function (require, module, exports) {
      var $keys = require("./_object-keys-internal"),
          hiddenKeys = require("./_enum-bug-keys").concat("length", "prototype");

      exports.f = Object.getOwnPropertyNames || function (e) {
        return $keys(e, hiddenKeys);
      };
    }, {
      "./_enum-bug-keys": 37,
      "./_object-keys-internal": 81
    }],
    79: [function (require, module, exports) {
      exports.f = Object.getOwnPropertySymbols;
    }, {}],
    80: [function (require, module, exports) {
      var has = require("./_has"),
          toObject = require("./_to-object"),
          IE_PROTO = require("./_shared-key")("IE_PROTO"),
          ObjectProto = Object.prototype;

      module.exports = Object.getPrototypeOf || function (t) {
        return t = toObject(t), has(t, IE_PROTO) ? t[IE_PROTO] : "function" == typeof t.constructor && t instanceof t.constructor ? t.constructor.prototype : t instanceof Object ? ObjectProto : null;
      };
    }, {
      "./_has": 46,
      "./_shared-key": 98,
      "./_to-object": 115
    }],
    81: [function (require, module, exports) {
      var has = require("./_has"),
          toIObject = require("./_to-iobject"),
          arrayIndexOf = require("./_array-includes")(!1),
          IE_PROTO = require("./_shared-key")("IE_PROTO");

      module.exports = function (r, e) {
        var a,
            t = toIObject(r),
            u = 0,
            O = [];

        for (a in t) {
          a != IE_PROTO && has(t, a) && O.push(a);
        }

        for (; e.length > u;) {
          has(t, a = e[u++]) && (~arrayIndexOf(O, a) || O.push(a));
        }

        return O;
      };
    }, {
      "./_array-includes": 18,
      "./_has": 46,
      "./_shared-key": 98,
      "./_to-iobject": 113
    }],
    82: [function (require, module, exports) {
      var $keys = require("./_object-keys-internal"),
          enumBugKeys = require("./_enum-bug-keys");

      module.exports = Object.keys || function (e) {
        return $keys(e, enumBugKeys);
      };
    }, {
      "./_enum-bug-keys": 37,
      "./_object-keys-internal": 81
    }],
    83: [function (require, module, exports) {
      exports.f = {}.propertyIsEnumerable;
    }, {}],
    84: [function (require, module, exports) {
      var $export = require("./_export"),
          core = require("./_core"),
          fails = require("./_fails");

      module.exports = function (e, r) {
        var o = (core.Object || {})[e] || Object[e],
            t = {};
        t[e] = r(o), $export($export.S + $export.F * fails(function () {
          o(1);
        }), "Object", t);
      };
    }, {
      "./_core": 29,
      "./_export": 39,
      "./_fails": 41
    }],
    85: [function (require, module, exports) {
      var getKeys = require("./_object-keys"),
          toIObject = require("./_to-iobject"),
          isEnum = require("./_object-pie").f;

      module.exports = function (e) {
        return function (t) {
          for (var r, o = toIObject(t), u = getKeys(o), i = u.length, n = 0, c = []; i > n;) {
            isEnum.call(o, r = u[n++]) && c.push(e ? [r, o[r]] : o[r]);
          }

          return c;
        };
      };
    }, {
      "./_object-keys": 82,
      "./_object-pie": 83,
      "./_to-iobject": 113
    }],
    86: [function (require, module, exports) {
      var gOPN = require("./_object-gopn"),
          gOPS = require("./_object-gops"),
          anObject = require("./_an-object"),
          Reflect = require("./_global").Reflect;

      module.exports = Reflect && Reflect.ownKeys || function (e) {
        var r = gOPN.f(anObject(e)),
            t = gOPS.f;
        return t ? r.concat(t(e)) : r;
      };
    }, {
      "./_an-object": 15,
      "./_global": 45,
      "./_object-gopn": 78,
      "./_object-gops": 79
    }],
    87: [function (require, module, exports) {
      var $parseFloat = require("./_global").parseFloat,
          $trim = require("./_string-trim").trim;

      module.exports = 1 / $parseFloat(require("./_string-ws") + "-0") != -1 / 0 ? function (r) {
        var t = $trim(String(r), 3),
            a = $parseFloat(t);
        return 0 === a && "-" == t.charAt(0) ? -0 : a;
      } : $parseFloat;
    }, {
      "./_global": 45,
      "./_string-trim": 107,
      "./_string-ws": 108
    }],
    88: [function (require, module, exports) {
      var $parseInt = require("./_global").parseInt,
          $trim = require("./_string-trim").trim,
          ws = require("./_string-ws"),
          hex = /^[-+]?0[xX]/;

      module.exports = 8 !== $parseInt(ws + "08") || 22 !== $parseInt(ws + "0x16") ? function (r, e) {
        var t = $trim(String(r), 3);
        return $parseInt(t, e >>> 0 || (hex.test(t) ? 16 : 10));
      } : $parseInt;
    }, {
      "./_global": 45,
      "./_string-trim": 107,
      "./_string-ws": 108
    }],
    89: [function (require, module, exports) {
      module.exports = function (e) {
        try {
          return {
            e: !1,
            v: e()
          };
        } catch (e) {
          return {
            e: !0,
            v: e
          };
        }
      };
    }, {}],
    90: [function (require, module, exports) {
      var anObject = require("./_an-object"),
          isObject = require("./_is-object"),
          newPromiseCapability = require("./_new-promise-capability");

      module.exports = function (e, r) {
        if (anObject(e), isObject(r) && r.constructor === e) return r;
        var i = newPromiseCapability.f(e);
        return (0, i.resolve)(r), i.promise;
      };
    }, {
      "./_an-object": 15,
      "./_is-object": 56,
      "./_new-promise-capability": 71
    }],
    91: [function (require, module, exports) {
      module.exports = function (e, r) {
        return {
          enumerable: !(1 & e),
          configurable: !(2 & e),
          writable: !(4 & e),
          value: r
        };
      };
    }, {}],
    92: [function (require, module, exports) {
      var redefine = require("./_redefine");

      module.exports = function (e, r, n) {
        for (var i in r) {
          redefine(e, i, r[i], n);
        }

        return e;
      };
    }, {
      "./_redefine": 93
    }],
    93: [function (require, module, exports) {
      var global = require("./_global"),
          hide = require("./_hide"),
          has = require("./_has"),
          SRC = require("./_uid")("src"),
          TO_STRING = "toString",
          $toString = Function[TO_STRING],
          TPL = ("" + $toString).split(TO_STRING);

      require("./_core").inspectSource = function (e) {
        return $toString.call(e);
      }, (module.exports = function (e, i, t, r) {
        var n = "function" == typeof t;
        n && (has(t, "name") || hide(t, "name", i)), e[i] !== t && (n && (has(t, SRC) || hide(t, SRC, e[i] ? "" + e[i] : TPL.join(String(i)))), e === global ? e[i] = t : r ? e[i] ? e[i] = t : hide(e, i, t) : (delete e[i], hide(e, i, t)));
      })(Function.prototype, TO_STRING, function () {
        return "function" == typeof this && this[SRC] || $toString.call(this);
      });
    }, {
      "./_core": 29,
      "./_global": 45,
      "./_has": 46,
      "./_hide": 47,
      "./_uid": 120
    }],
    94: [function (require, module, exports) {
      module.exports = Object.is || function (e, t) {
        return e === t ? 0 !== e || 1 / e == 1 / t : e != e && t != t;
      };
    }, {}],
    95: [function (require, module, exports) {
      var isObject = require("./_is-object"),
          anObject = require("./_an-object"),
          check = function check(t, e) {
        if (anObject(t), !isObject(e) && null !== e) throw TypeError(e + ": can't set as prototype!");
      };

      module.exports = {
        set: Object.setPrototypeOf || ("__proto__" in {} ? function (t, e, c) {
          try {
            (c = require("./_ctx")(Function.call, require("./_object-gopd").f(Object.prototype, "__proto__").set, 2))(t, []), e = !(t instanceof Array);
          } catch (t) {
            e = !0;
          }

          return function (t, r) {
            return check(t, r), e ? t.__proto__ = r : c(t, r), t;
          };
        }({}, !1) : void 0),
        check: check
      };
    }, {
      "./_an-object": 15,
      "./_ctx": 31,
      "./_is-object": 56,
      "./_object-gopd": 76
    }],
    96: [function (require, module, exports) {
      "use strict";

      var global = require("./_global"),
          dP = require("./_object-dp"),
          DESCRIPTORS = require("./_descriptors"),
          SPECIES = require("./_wks")("species");

      module.exports = function (e) {
        var r = global[e];
        DESCRIPTORS && r && !r[SPECIES] && dP.f(r, SPECIES, {
          configurable: !0,
          get: function get() {
            return this;
          }
        });
      };
    }, {
      "./_descriptors": 35,
      "./_global": 45,
      "./_object-dp": 74,
      "./_wks": 125
    }],
    97: [function (require, module, exports) {
      var def = require("./_object-dp").f,
          has = require("./_has"),
          TAG = require("./_wks")("toStringTag");

      module.exports = function (e, r, o) {
        e && !has(e = o ? e : e.prototype, TAG) && def(e, TAG, {
          configurable: !0,
          value: r
        });
      };
    }, {
      "./_has": 46,
      "./_object-dp": 74,
      "./_wks": 125
    }],
    98: [function (require, module, exports) {
      var shared = require("./_shared")("keys"),
          uid = require("./_uid");

      module.exports = function (e) {
        return shared[e] || (shared[e] = uid(e));
      };
    }, {
      "./_shared": 99,
      "./_uid": 120
    }],
    99: [function (require, module, exports) {
      var core = require("./_core"),
          global = require("./_global"),
          SHARED = "__core-js_shared__",
          store = global[SHARED] || (global[SHARED] = {});

      (module.exports = function (r, e) {
        return store[r] || (store[r] = void 0 !== e ? e : {});
      })("versions", []).push({
        version: core.version,
        mode: require("./_library") ? "pure" : "global",
        copyright: "© 2018 Denis Pushkarev (zloirock.ru)"
      });
    }, {
      "./_core": 29,
      "./_global": 45,
      "./_library": 64
    }],
    100: [function (require, module, exports) {
      var anObject = require("./_an-object"),
          aFunction = require("./_a-function"),
          SPECIES = require("./_wks")("species");

      module.exports = function (e, n) {
        var r,
            t = anObject(e).constructor;
        return void 0 === t || null == (r = anObject(t)[SPECIES]) ? n : aFunction(r);
      };
    }, {
      "./_a-function": 11,
      "./_an-object": 15,
      "./_wks": 125
    }],
    101: [function (require, module, exports) {
      "use strict";

      var fails = require("./_fails");

      module.exports = function (l, n) {
        return !!l && fails(function () {
          n ? l.call(null, function () {}, 1) : l.call(null);
        });
      };
    }, {
      "./_fails": 41
    }],
    102: [function (require, module, exports) {
      var toInteger = require("./_to-integer"),
          defined = require("./_defined");

      module.exports = function (e) {
        return function (r, t) {
          var n,
              i,
              d = String(defined(r)),
              o = toInteger(t),
              u = d.length;
          return o < 0 || o >= u ? e ? "" : void 0 : (n = d.charCodeAt(o)) < 55296 || n > 56319 || o + 1 === u || (i = d.charCodeAt(o + 1)) < 56320 || i > 57343 ? e ? d.charAt(o) : n : e ? d.slice(o, o + 2) : i - 56320 + (n - 55296 << 10) + 65536;
        };
      };
    }, {
      "./_defined": 34,
      "./_to-integer": 112
    }],
    103: [function (require, module, exports) {
      var isRegExp = require("./_is-regexp"),
          defined = require("./_defined");

      module.exports = function (e, r, i) {
        if (isRegExp(r)) throw TypeError("String#" + i + " doesn't accept regex!");
        return String(defined(e));
      };
    }, {
      "./_defined": 34,
      "./_is-regexp": 57
    }],
    104: [function (require, module, exports) {
      var $export = require("./_export"),
          fails = require("./_fails"),
          defined = require("./_defined"),
          quot = /"/g,
          createHTML = function createHTML(e, r, t, i) {
        var n = String(defined(e)),
            o = "<" + r;
        return "" !== t && (o += " " + t + '="' + String(i).replace(quot, "&quot;") + '"'), o + ">" + n + "</" + r + ">";
      };

      module.exports = function (e, r) {
        var t = {};
        t[e] = r(createHTML), $export($export.P + $export.F * fails(function () {
          var r = ""[e]('"');
          return r !== r.toLowerCase() || r.split('"').length > 3;
        }), "String", t);
      };
    }, {
      "./_defined": 34,
      "./_export": 39,
      "./_fails": 41
    }],
    105: [function (require, module, exports) {
      var toLength = require("./_to-length"),
          repeat = require("./_string-repeat"),
          defined = require("./_defined");

      module.exports = function (e, r, t, n) {
        var i = String(defined(e)),
            g = i.length,
            l = void 0 === t ? " " : String(t),
            a = toLength(r);
        if (a <= g || "" == l) return i;
        var d = a - g,
            h = repeat.call(l, Math.ceil(d / l.length));
        return h.length > d && (h = h.slice(0, d)), n ? h + i : i + h;
      };
    }, {
      "./_defined": 34,
      "./_string-repeat": 106,
      "./_to-length": 114
    }],
    106: [function (require, module, exports) {
      "use strict";

      var toInteger = require("./_to-integer"),
          defined = require("./_defined");

      module.exports = function (e) {
        var r = String(defined(this)),
            t = "",
            n = toInteger(e);
        if (n < 0 || n == 1 / 0) throw RangeError("Count can't be negative");

        for (; n > 0; (n >>>= 1) && (r += r)) {
          1 & n && (t += r);
        }

        return t;
      };
    }, {
      "./_defined": 34,
      "./_to-integer": 112
    }],
    107: [function (require, module, exports) {
      var $export = require("./_export"),
          defined = require("./_defined"),
          fails = require("./_fails"),
          spaces = require("./_string-ws"),
          space = "[" + spaces + "]",
          non = "​…",
          ltrim = RegExp("^" + space + space + "*"),
          rtrim = RegExp(space + space + "*$"),
          exporter = function exporter(e, r, t) {
        var i = {},
            p = fails(function () {
          return !!spaces[e]() || non[e]() != non;
        }),
            n = i[e] = p ? r(trim) : spaces[e];
        t && (i[t] = n), $export($export.P + $export.F * p, "String", i);
      },
          trim = exporter.trim = function (e, r) {
        return e = String(defined(e)), 1 & r && (e = e.replace(ltrim, "")), 2 & r && (e = e.replace(rtrim, "")), e;
      };

      module.exports = exporter;
    }, {
      "./_defined": 34,
      "./_export": 39,
      "./_fails": 41,
      "./_string-ws": 108
    }],
    108: [function (require, module, exports) {
      module.exports = "\t\n\x0B\f\r \xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF";
    }, {}],
    109: [function (require, module, exports) {
      var defer,
          channel,
          port,
          ctx = require("./_ctx"),
          invoke = require("./_invoke"),
          html = require("./_html"),
          cel = require("./_dom-create"),
          global = require("./_global"),
          process = global.process,
          setTask = global.setImmediate,
          clearTask = global.clearImmediate,
          MessageChannel = global.MessageChannel,
          Dispatch = global.Dispatch,
          counter = 0,
          queue = {},
          ONREADYSTATECHANGE = "onreadystatechange",
          run = function run() {
        var e = +this;

        if (queue.hasOwnProperty(e)) {
          var t = queue[e];
          delete queue[e], t();
        }
      },
          listener = function listener(e) {
        run.call(e.data);
      };

      setTask && clearTask || (setTask = function setTask(e) {
        for (var t = [], n = 1; arguments.length > n;) {
          t.push(arguments[n++]);
        }

        return queue[++counter] = function () {
          invoke("function" == typeof e ? e : Function(e), t);
        }, defer(counter), counter;
      }, clearTask = function clearTask(e) {
        delete queue[e];
      }, "process" == require("./_cof")(process) ? defer = function defer(e) {
        process.nextTick(ctx(run, e, 1));
      } : Dispatch && Dispatch.now ? defer = function defer(e) {
        Dispatch.now(ctx(run, e, 1));
      } : MessageChannel ? (port = (channel = new MessageChannel()).port2, channel.port1.onmessage = listener, defer = ctx(port.postMessage, port, 1)) : global.addEventListener && "function" == typeof postMessage && !global.importScripts ? (defer = function defer(e) {
        global.postMessage(e + "", "*");
      }, global.addEventListener("message", listener, !1)) : defer = ONREADYSTATECHANGE in cel("script") ? function (e) {
        html.appendChild(cel("script"))[ONREADYSTATECHANGE] = function () {
          html.removeChild(this), run.call(e);
        };
      } : function (e) {
        setTimeout(ctx(run, e, 1), 0);
      }), module.exports = {
        set: setTask,
        clear: clearTask
      };
    }, {
      "./_cof": 25,
      "./_ctx": 31,
      "./_dom-create": 36,
      "./_global": 45,
      "./_html": 48,
      "./_invoke": 51
    }],
    110: [function (require, module, exports) {
      var toInteger = require("./_to-integer"),
          max = Math.max,
          min = Math.min;

      module.exports = function (e, t) {
        return (e = toInteger(e)) < 0 ? max(e + t, 0) : min(e, t);
      };
    }, {
      "./_to-integer": 112
    }],
    111: [function (require, module, exports) {
      var toInteger = require("./_to-integer"),
          toLength = require("./_to-length");

      module.exports = function (e) {
        if (void 0 === e) return 0;
        var r = toInteger(e),
            t = toLength(r);
        if (r !== t) throw RangeError("Wrong length!");
        return t;
      };
    }, {
      "./_to-integer": 112,
      "./_to-length": 114
    }],
    112: [function (require, module, exports) {
      var ceil = Math.ceil,
          floor = Math.floor;

      module.exports = function (o) {
        return isNaN(o = +o) ? 0 : (o > 0 ? floor : ceil)(o);
      };
    }, {}],
    113: [function (require, module, exports) {
      var IObject = require("./_iobject"),
          defined = require("./_defined");

      module.exports = function (e) {
        return IObject(defined(e));
      };
    }, {
      "./_defined": 34,
      "./_iobject": 52
    }],
    114: [function (require, module, exports) {
      var toInteger = require("./_to-integer"),
          min = Math.min;

      module.exports = function (e) {
        return e > 0 ? min(toInteger(e), 9007199254740991) : 0;
      };
    }, {
      "./_to-integer": 112
    }],
    115: [function (require, module, exports) {
      var defined = require("./_defined");

      module.exports = function (e) {
        return Object(defined(e));
      };
    }, {
      "./_defined": 34
    }],
    116: [function (require, module, exports) {
      var isObject = require("./_is-object");

      module.exports = function (t, e) {
        if (!isObject(t)) return t;
        var r, i;
        if (e && "function" == typeof (r = t.toString) && !isObject(i = r.call(t))) return i;
        if ("function" == typeof (r = t.valueOf) && !isObject(i = r.call(t))) return i;
        if (!e && "function" == typeof (r = t.toString) && !isObject(i = r.call(t))) return i;
        throw TypeError("Can't convert object to primitive value");
      };
    }, {
      "./_is-object": 56
    }],
    117: [function (require, module, exports) {
      "use strict";

      if (require("./_descriptors")) {
        var LIBRARY = require("./_library"),
            global = require("./_global"),
            fails = require("./_fails"),
            $export = require("./_export"),
            $typed = require("./_typed"),
            $buffer = require("./_typed-buffer"),
            ctx = require("./_ctx"),
            anInstance = require("./_an-instance"),
            propertyDesc = require("./_property-desc"),
            hide = require("./_hide"),
            redefineAll = require("./_redefine-all"),
            toInteger = require("./_to-integer"),
            toLength = require("./_to-length"),
            toIndex = require("./_to-index"),
            toAbsoluteIndex = require("./_to-absolute-index"),
            toPrimitive = require("./_to-primitive"),
            has = require("./_has"),
            classof = require("./_classof"),
            isObject = require("./_is-object"),
            toObject = require("./_to-object"),
            isArrayIter = require("./_is-array-iter"),
            create = require("./_object-create"),
            getPrototypeOf = require("./_object-gpo"),
            gOPN = require("./_object-gopn").f,
            getIterFn = require("./core.get-iterator-method"),
            uid = require("./_uid"),
            wks = require("./_wks"),
            createArrayMethod = require("./_array-methods"),
            createArrayIncludes = require("./_array-includes"),
            speciesConstructor = require("./_species-constructor"),
            ArrayIterators = require("./es6.array.iterator"),
            Iterators = require("./_iterators"),
            $iterDetect = require("./_iter-detect"),
            setSpecies = require("./_set-species"),
            arrayFill = require("./_array-fill"),
            arrayCopyWithin = require("./_array-copy-within"),
            $DP = require("./_object-dp"),
            $GOPD = require("./_object-gopd"),
            dP = $DP.f,
            gOPD = $GOPD.f,
            RangeError = global.RangeError,
            TypeError = global.TypeError,
            Uint8Array = global.Uint8Array,
            ARRAY_BUFFER = "ArrayBuffer",
            SHARED_BUFFER = "Shared" + ARRAY_BUFFER,
            BYTES_PER_ELEMENT = "BYTES_PER_ELEMENT",
            PROTOTYPE = "prototype",
            ArrayProto = Array[PROTOTYPE],
            $ArrayBuffer = $buffer.ArrayBuffer,
            $DataView = $buffer.DataView,
            arrayForEach = createArrayMethod(0),
            arrayFilter = createArrayMethod(2),
            arraySome = createArrayMethod(3),
            arrayEvery = createArrayMethod(4),
            arrayFind = createArrayMethod(5),
            arrayFindIndex = createArrayMethod(6),
            arrayIncludes = createArrayIncludes(!0),
            arrayIndexOf = createArrayIncludes(!1),
            arrayValues = ArrayIterators.values,
            arrayKeys = ArrayIterators.keys,
            arrayEntries = ArrayIterators.entries,
            arrayLastIndexOf = ArrayProto.lastIndexOf,
            arrayReduce = ArrayProto.reduce,
            arrayReduceRight = ArrayProto.reduceRight,
            arrayJoin = ArrayProto.join,
            arraySort = ArrayProto.sort,
            arraySlice = ArrayProto.slice,
            arrayToString = ArrayProto.toString,
            arrayToLocaleString = ArrayProto.toLocaleString,
            ITERATOR = wks("iterator"),
            TAG = wks("toStringTag"),
            TYPED_CONSTRUCTOR = uid("typed_constructor"),
            DEF_CONSTRUCTOR = uid("def_constructor"),
            ALL_CONSTRUCTORS = $typed.CONSTR,
            TYPED_ARRAY = $typed.TYPED,
            VIEW = $typed.VIEW,
            WRONG_LENGTH = "Wrong length!",
            $map = createArrayMethod(1, function (r, e) {
          return allocate(speciesConstructor(r, r[DEF_CONSTRUCTOR]), e);
        }),
            LITTLE_ENDIAN = fails(function () {
          return 1 === new Uint8Array(new Uint16Array([1]).buffer)[0];
        }),
            FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {
          new Uint8Array(1).set({});
        }),
            toOffset = function toOffset(r, e) {
          var t = toInteger(r);
          if (t < 0 || t % e) throw RangeError("Wrong offset!");
          return t;
        },
            validate = function validate(r) {
          if (isObject(r) && TYPED_ARRAY in r) return r;
          throw TypeError(r + " is not a typed array!");
        },
            allocate = function allocate(r, e) {
          if (!(isObject(r) && TYPED_CONSTRUCTOR in r)) throw TypeError("It is not a typed array constructor!");
          return new r(e);
        },
            speciesFromList = function speciesFromList(r, e) {
          return fromList(speciesConstructor(r, r[DEF_CONSTRUCTOR]), e);
        },
            fromList = function fromList(r, e) {
          for (var t = 0, a = e.length, i = allocate(r, a); a > t;) {
            i[t] = e[t++];
          }

          return i;
        },
            addGetter = function addGetter(r, e, t) {
          dP(r, e, {
            get: function get() {
              return this._d[t];
            }
          });
        },
            $from = function $from(r) {
          var e,
              t,
              a,
              i,
              o,
              n,
              s = toObject(r),
              c = arguments.length,
              u = c > 1 ? arguments[1] : void 0,
              l = void 0 !== u,
              f = getIterFn(s);

          if (null != f && !isArrayIter(f)) {
            for (n = f.call(s), a = [], e = 0; !(o = n.next()).done; e++) {
              a.push(o.value);
            }

            s = a;
          }

          for (l && c > 2 && (u = ctx(u, arguments[2], 2)), e = 0, t = toLength(s.length), i = allocate(this, t); t > e; e++) {
            i[e] = l ? u(s[e], e) : s[e];
          }

          return i;
        },
            $of = function $of() {
          for (var r = 0, e = arguments.length, t = allocate(this, e); e > r;) {
            t[r] = arguments[r++];
          }

          return t;
        },
            TO_LOCALE_BUG = !!Uint8Array && fails(function () {
          arrayToLocaleString.call(new Uint8Array(1));
        }),
            $toLocaleString = function $toLocaleString() {
          return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);
        },
            proto = {
          copyWithin: function copyWithin(r, e) {
            return arrayCopyWithin.call(validate(this), r, e, arguments.length > 2 ? arguments[2] : void 0);
          },
          every: function every(r) {
            return arrayEvery(validate(this), r, arguments.length > 1 ? arguments[1] : void 0);
          },
          fill: function fill(r) {
            return arrayFill.apply(validate(this), arguments);
          },
          filter: function filter(r) {
            return speciesFromList(this, arrayFilter(validate(this), r, arguments.length > 1 ? arguments[1] : void 0));
          },
          find: function find(r) {
            return arrayFind(validate(this), r, arguments.length > 1 ? arguments[1] : void 0);
          },
          findIndex: function findIndex(r) {
            return arrayFindIndex(validate(this), r, arguments.length > 1 ? arguments[1] : void 0);
          },
          forEach: function forEach(r) {
            arrayForEach(validate(this), r, arguments.length > 1 ? arguments[1] : void 0);
          },
          indexOf: function indexOf(r) {
            return arrayIndexOf(validate(this), r, arguments.length > 1 ? arguments[1] : void 0);
          },
          includes: function includes(r) {
            return arrayIncludes(validate(this), r, arguments.length > 1 ? arguments[1] : void 0);
          },
          join: function join(r) {
            return arrayJoin.apply(validate(this), arguments);
          },
          lastIndexOf: function lastIndexOf(r) {
            return arrayLastIndexOf.apply(validate(this), arguments);
          },
          map: function map(r) {
            return $map(validate(this), r, arguments.length > 1 ? arguments[1] : void 0);
          },
          reduce: function reduce(r) {
            return arrayReduce.apply(validate(this), arguments);
          },
          reduceRight: function reduceRight(r) {
            return arrayReduceRight.apply(validate(this), arguments);
          },
          reverse: function reverse() {
            for (var r, e = validate(this).length, t = Math.floor(e / 2), a = 0; a < t;) {
              r = this[a], this[a++] = this[--e], this[e] = r;
            }

            return this;
          },
          some: function some(r) {
            return arraySome(validate(this), r, arguments.length > 1 ? arguments[1] : void 0);
          },
          sort: function sort(r) {
            return arraySort.call(validate(this), r);
          },
          subarray: function subarray(r, e) {
            var t = validate(this),
                a = t.length,
                i = toAbsoluteIndex(r, a);
            return new (speciesConstructor(t, t[DEF_CONSTRUCTOR]))(t.buffer, t.byteOffset + i * t.BYTES_PER_ELEMENT, toLength((void 0 === e ? a : toAbsoluteIndex(e, a)) - i));
          }
        },
            $slice = function $slice(r, e) {
          return speciesFromList(this, arraySlice.call(validate(this), r, e));
        },
            $set = function $set(r) {
          validate(this);
          var e = toOffset(arguments[1], 1),
              t = this.length,
              a = toObject(r),
              i = toLength(a.length),
              o = 0;
          if (i + e > t) throw RangeError(WRONG_LENGTH);

          for (; o < i;) {
            this[e + o] = a[o++];
          }
        },
            $iterators = {
          entries: function entries() {
            return arrayEntries.call(validate(this));
          },
          keys: function keys() {
            return arrayKeys.call(validate(this));
          },
          values: function values() {
            return arrayValues.call(validate(this));
          }
        },
            isTAIndex = function isTAIndex(r, e) {
          return isObject(r) && r[TYPED_ARRAY] && "symbol" != (0, _typeof5.default)(e) && e in r && String(+e) == String(e);
        },
            $getDesc = function $getDesc(r, e) {
          return isTAIndex(r, e = toPrimitive(e, !0)) ? propertyDesc(2, r[e]) : gOPD(r, e);
        },
            $setDesc = function $setDesc(r, e, t) {
          return !(isTAIndex(r, e = toPrimitive(e, !0)) && isObject(t) && has(t, "value")) || has(t, "get") || has(t, "set") || t.configurable || has(t, "writable") && !t.writable || has(t, "enumerable") && !t.enumerable ? dP(r, e, t) : (r[e] = t.value, r);
        };

        ALL_CONSTRUCTORS || ($GOPD.f = $getDesc, $DP.f = $setDesc), $export($export.S + $export.F * !ALL_CONSTRUCTORS, "Object", {
          getOwnPropertyDescriptor: $getDesc,
          defineProperty: $setDesc
        }), fails(function () {
          arrayToString.call({});
        }) && (arrayToString = arrayToLocaleString = function arrayToLocaleString() {
          return arrayJoin.call(this);
        });
        var $TypedArrayPrototype$ = redefineAll({}, proto);
        redefineAll($TypedArrayPrototype$, $iterators), hide($TypedArrayPrototype$, ITERATOR, $iterators.values), redefineAll($TypedArrayPrototype$, {
          slice: $slice,
          set: $set,
          constructor: function constructor() {},
          toString: arrayToString,
          toLocaleString: $toLocaleString
        }), addGetter($TypedArrayPrototype$, "buffer", "b"), addGetter($TypedArrayPrototype$, "byteOffset", "o"), addGetter($TypedArrayPrototype$, "byteLength", "l"), addGetter($TypedArrayPrototype$, "length", "e"), dP($TypedArrayPrototype$, TAG, {
          get: function get() {
            return this[TYPED_ARRAY];
          }
        }), module.exports = function (r, e, t, a) {
          var i = r + ((a = !!a) ? "Clamped" : "") + "Array",
              o = "get" + r,
              n = "set" + r,
              s = global[i],
              c = s || {},
              u = s && getPrototypeOf(s),
              l = !s || !$typed.ABV,
              f = {},
              y = s && s[PROTOTYPE],
              d = function d(r, t) {
            dP(r, t, {
              get: function get() {
                return function (r, t) {
                  var a = r._d;
                  return a.v[o](t * e + a.o, LITTLE_ENDIAN);
                }(this, t);
              },
              set: function set(r) {
                return function (r, t, i) {
                  var o = r._d;
                  a && (i = (i = Math.round(i)) < 0 ? 0 : i > 255 ? 255 : 255 & i), o.v[n](t * e + o.o, i, LITTLE_ENDIAN);
                }(this, t, r);
              },
              enumerable: !0
            });
          };

          l ? (s = t(function (r, t, a, o) {
            anInstance(r, s, i, "_d");
            var n,
                c,
                u,
                l,
                f = 0,
                y = 0;

            if (isObject(t)) {
              if (!(t instanceof $ArrayBuffer || (l = classof(t)) == ARRAY_BUFFER || l == SHARED_BUFFER)) return TYPED_ARRAY in t ? fromList(s, t) : $from.call(s, t);
              n = t, y = toOffset(a, e);
              var h = t.byteLength;

              if (void 0 === o) {
                if (h % e) throw RangeError(WRONG_LENGTH);
                if ((c = h - y) < 0) throw RangeError(WRONG_LENGTH);
              } else if ((c = toLength(o) * e) + y > h) throw RangeError(WRONG_LENGTH);

              u = c / e;
            } else u = toIndex(t), n = new $ArrayBuffer(c = u * e);

            for (hide(r, "_d", {
              b: n,
              o: y,
              l: c,
              e: u,
              v: new $DataView(n)
            }); f < u;) {
              d(r, f++);
            }
          }), y = s[PROTOTYPE] = create($TypedArrayPrototype$), hide(y, "constructor", s)) : fails(function () {
            s(1);
          }) && fails(function () {
            new s(-1);
          }) && $iterDetect(function (r) {
            new s(), new s(null), new s(1.5), new s(r);
          }, !0) || (s = t(function (r, t, a, o) {
            var n;
            return anInstance(r, s, i), isObject(t) ? t instanceof $ArrayBuffer || (n = classof(t)) == ARRAY_BUFFER || n == SHARED_BUFFER ? void 0 !== o ? new c(t, toOffset(a, e), o) : void 0 !== a ? new c(t, toOffset(a, e)) : new c(t) : TYPED_ARRAY in t ? fromList(s, t) : $from.call(s, t) : new c(toIndex(t));
          }), arrayForEach(u !== Function.prototype ? gOPN(c).concat(gOPN(u)) : gOPN(c), function (r) {
            r in s || hide(s, r, c[r]);
          }), s[PROTOTYPE] = y, LIBRARY || (y.constructor = s));
          var h = y[ITERATOR],
              p = !!h && ("values" == h.name || null == h.name),
              T = $iterators.values;
          hide(s, TYPED_CONSTRUCTOR, !0), hide(y, TYPED_ARRAY, i), hide(y, VIEW, !0), hide(y, DEF_CONSTRUCTOR, s), (a ? new s(1)[TAG] == i : TAG in y) || dP(y, TAG, {
            get: function get() {
              return i;
            }
          }), f[i] = s, $export($export.G + $export.W + $export.F * (s != c), f), $export($export.S, i, {
            BYTES_PER_ELEMENT: e
          }), $export($export.S + $export.F * fails(function () {
            c.of.call(s, 1);
          }), i, {
            from: $from,
            of: $of
          }), BYTES_PER_ELEMENT in y || hide(y, BYTES_PER_ELEMENT, e), $export($export.P, i, proto), setSpecies(i), $export($export.P + $export.F * FORCED_SET, i, {
            set: $set
          }), $export($export.P + $export.F * !p, i, $iterators), LIBRARY || y.toString == arrayToString || (y.toString = arrayToString), $export($export.P + $export.F * fails(function () {
            new s(1).slice();
          }), i, {
            slice: $slice
          }), $export($export.P + $export.F * (fails(function () {
            return [1, 2].toLocaleString() != new s([1, 2]).toLocaleString();
          }) || !fails(function () {
            y.toLocaleString.call([1, 2]);
          })), i, {
            toLocaleString: $toLocaleString
          }), Iterators[i] = p ? h : T, LIBRARY || p || hide(y, ITERATOR, T);
        };
      } else module.exports = function () {};
    }, {
      "./_an-instance": 14,
      "./_array-copy-within": 16,
      "./_array-fill": 17,
      "./_array-includes": 18,
      "./_array-methods": 19,
      "./_classof": 24,
      "./_ctx": 31,
      "./_descriptors": 35,
      "./_export": 39,
      "./_fails": 41,
      "./_global": 45,
      "./_has": 46,
      "./_hide": 47,
      "./_is-array-iter": 53,
      "./_is-object": 56,
      "./_iter-detect": 61,
      "./_iterators": 63,
      "./_library": 64,
      "./_object-create": 73,
      "./_object-dp": 74,
      "./_object-gopd": 76,
      "./_object-gopn": 78,
      "./_object-gpo": 80,
      "./_property-desc": 91,
      "./_redefine-all": 92,
      "./_set-species": 96,
      "./_species-constructor": 100,
      "./_to-absolute-index": 110,
      "./_to-index": 111,
      "./_to-integer": 112,
      "./_to-length": 114,
      "./_to-object": 115,
      "./_to-primitive": 116,
      "./_typed": 119,
      "./_typed-buffer": 118,
      "./_uid": 120,
      "./_wks": 125,
      "./core.get-iterator-method": 126,
      "./es6.array.iterator": 137
    }],
    118: [function (require, module, exports) {
      "use strict";

      var global = require("./_global"),
          DESCRIPTORS = require("./_descriptors"),
          LIBRARY = require("./_library"),
          $typed = require("./_typed"),
          hide = require("./_hide"),
          redefineAll = require("./_redefine-all"),
          fails = require("./_fails"),
          anInstance = require("./_an-instance"),
          toInteger = require("./_to-integer"),
          toLength = require("./_to-length"),
          toIndex = require("./_to-index"),
          gOPN = require("./_object-gopn").f,
          dP = require("./_object-dp").f,
          arrayFill = require("./_array-fill"),
          setToStringTag = require("./_set-to-string-tag"),
          ARRAY_BUFFER = "ArrayBuffer",
          DATA_VIEW = "DataView",
          PROTOTYPE = "prototype",
          WRONG_LENGTH = "Wrong length!",
          WRONG_INDEX = "Wrong index!",
          _$ArrayBuffer2 = global[ARRAY_BUFFER],
          _$DataView = global[DATA_VIEW],
          Math = global.Math,
          RangeError = global.RangeError,
          Infinity = global.Infinity,
          BaseBuffer = _$ArrayBuffer2,
          abs = Math.abs,
          pow = Math.pow,
          floor = Math.floor,
          log = Math.log,
          LN2 = Math.LN2,
          BUFFER = "buffer",
          BYTE_LENGTH = "byteLength",
          BYTE_OFFSET = "byteOffset",
          $BUFFER = DESCRIPTORS ? "_b" : BUFFER,
          $LENGTH = DESCRIPTORS ? "_l" : BYTE_LENGTH,
          $OFFSET = DESCRIPTORS ? "_o" : BYTE_OFFSET;

      function packIEEE754(t, e, r) {
        var n,
            a,
            i,
            f = new Array(r),
            o = 8 * r - e - 1,
            u = (1 << o) - 1,
            s = u >> 1,
            E = 23 === e ? pow(2, -24) - pow(2, -77) : 0,
            c = 0,
            I = t < 0 || 0 === t && 1 / t < 0 ? 1 : 0;

        for ((t = abs(t)) != t || t === Infinity ? (a = t != t ? 1 : 0, n = u) : (n = floor(log(t) / LN2), t * (i = pow(2, -n)) < 1 && (n--, i *= 2), (t += n + s >= 1 ? E / i : E * pow(2, 1 - s)) * i >= 2 && (n++, i /= 2), n + s >= u ? (a = 0, n = u) : n + s >= 1 ? (a = (t * i - 1) * pow(2, e), n += s) : (a = t * pow(2, s - 1) * pow(2, e), n = 0)); e >= 8; f[c++] = 255 & a, a /= 256, e -= 8) {
          ;
        }

        for (n = n << e | a, o += e; o > 0; f[c++] = 255 & n, n /= 256, o -= 8) {
          ;
        }

        return f[--c] |= 128 * I, f;
      }

      function unpackIEEE754(t, e, r) {
        var n,
            a = 8 * r - e - 1,
            i = (1 << a) - 1,
            f = i >> 1,
            o = a - 7,
            u = r - 1,
            s = t[u--],
            E = 127 & s;

        for (s >>= 7; o > 0; E = 256 * E + t[u], u--, o -= 8) {
          ;
        }

        for (n = E & (1 << -o) - 1, E >>= -o, o += e; o > 0; n = 256 * n + t[u], u--, o -= 8) {
          ;
        }

        if (0 === E) E = 1 - f;else {
          if (E === i) return n ? NaN : s ? -Infinity : Infinity;
          n += pow(2, e), E -= f;
        }
        return (s ? -1 : 1) * n * pow(2, E - e);
      }

      function unpackI32(t) {
        return t[3] << 24 | t[2] << 16 | t[1] << 8 | t[0];
      }

      function packI8(t) {
        return [255 & t];
      }

      function packI16(t) {
        return [255 & t, t >> 8 & 255];
      }

      function packI32(t) {
        return [255 & t, t >> 8 & 255, t >> 16 & 255, t >> 24 & 255];
      }

      function packF64(t) {
        return packIEEE754(t, 52, 8);
      }

      function packF32(t) {
        return packIEEE754(t, 23, 4);
      }

      function addGetter(t, e, r) {
        dP(t[PROTOTYPE], e, {
          get: function get() {
            return this[r];
          }
        });
      }

      function get(t, e, r, n) {
        var a = toIndex(+r);
        if (a + e > t[$LENGTH]) throw RangeError(WRONG_INDEX);
        var i = t[$BUFFER]._b,
            f = a + t[$OFFSET],
            o = i.slice(f, f + e);
        return n ? o : o.reverse();
      }

      function set(t, e, r, n, a, i) {
        var f = toIndex(+r);
        if (f + e > t[$LENGTH]) throw RangeError(WRONG_INDEX);

        for (var o = t[$BUFFER]._b, u = f + t[$OFFSET], s = n(+a), E = 0; E < e; E++) {
          o[u + E] = s[i ? E : e - E - 1];
        }
      }

      if ($typed.ABV) {
        if (!fails(function () {
          _$ArrayBuffer2(1);
        }) || !fails(function () {
          new _$ArrayBuffer2(-1);
        }) || fails(function () {
          return new _$ArrayBuffer2(), new _$ArrayBuffer2(1.5), new _$ArrayBuffer2(NaN), _$ArrayBuffer2.name != ARRAY_BUFFER;
        })) {
          for (var key, ArrayBufferProto = (_$ArrayBuffer2 = function $ArrayBuffer(t) {
            return anInstance(this, _$ArrayBuffer2), new BaseBuffer(toIndex(t));
          })[PROTOTYPE] = BaseBuffer[PROTOTYPE], keys = gOPN(BaseBuffer), j = 0; keys.length > j;) {
            (key = keys[j++]) in _$ArrayBuffer2 || hide(_$ArrayBuffer2, key, BaseBuffer[key]);
          }

          LIBRARY || (ArrayBufferProto.constructor = _$ArrayBuffer2);
        }

        var view = new _$DataView(new _$ArrayBuffer2(2)),
            $setInt8 = _$DataView[PROTOTYPE].setInt8;
        view.setInt8(0, 2147483648), view.setInt8(1, 2147483649), !view.getInt8(0) && view.getInt8(1) || redefineAll(_$DataView[PROTOTYPE], {
          setInt8: function setInt8(t, e) {
            $setInt8.call(this, t, e << 24 >> 24);
          },
          setUint8: function setUint8(t, e) {
            $setInt8.call(this, t, e << 24 >> 24);
          }
        }, !0);
      } else _$ArrayBuffer2 = function _$ArrayBuffer(t) {
        anInstance(this, _$ArrayBuffer2, ARRAY_BUFFER);
        var e = toIndex(t);
        this._b = arrayFill.call(new Array(e), 0), this[$LENGTH] = e;
      }, _$DataView = function $DataView(t, e, r) {
        anInstance(this, _$DataView, DATA_VIEW), anInstance(t, _$ArrayBuffer2, DATA_VIEW);
        var n = t[$LENGTH],
            a = toInteger(e);
        if (a < 0 || a > n) throw RangeError("Wrong offset!");
        if (a + (r = void 0 === r ? n - a : toLength(r)) > n) throw RangeError(WRONG_LENGTH);
        this[$BUFFER] = t, this[$OFFSET] = a, this[$LENGTH] = r;
      }, DESCRIPTORS && (addGetter(_$ArrayBuffer2, BYTE_LENGTH, "_l"), addGetter(_$DataView, BUFFER, "_b"), addGetter(_$DataView, BYTE_LENGTH, "_l"), addGetter(_$DataView, BYTE_OFFSET, "_o")), redefineAll(_$DataView[PROTOTYPE], {
        getInt8: function getInt8(t) {
          return get(this, 1, t)[0] << 24 >> 24;
        },
        getUint8: function getUint8(t) {
          return get(this, 1, t)[0];
        },
        getInt16: function getInt16(t) {
          var e = get(this, 2, t, arguments[1]);
          return (e[1] << 8 | e[0]) << 16 >> 16;
        },
        getUint16: function getUint16(t) {
          var e = get(this, 2, t, arguments[1]);
          return e[1] << 8 | e[0];
        },
        getInt32: function getInt32(t) {
          return unpackI32(get(this, 4, t, arguments[1]));
        },
        getUint32: function getUint32(t) {
          return unpackI32(get(this, 4, t, arguments[1])) >>> 0;
        },
        getFloat32: function getFloat32(t) {
          return unpackIEEE754(get(this, 4, t, arguments[1]), 23, 4);
        },
        getFloat64: function getFloat64(t) {
          return unpackIEEE754(get(this, 8, t, arguments[1]), 52, 8);
        },
        setInt8: function setInt8(t, e) {
          set(this, 1, t, packI8, e);
        },
        setUint8: function setUint8(t, e) {
          set(this, 1, t, packI8, e);
        },
        setInt16: function setInt16(t, e) {
          set(this, 2, t, packI16, e, arguments[2]);
        },
        setUint16: function setUint16(t, e) {
          set(this, 2, t, packI16, e, arguments[2]);
        },
        setInt32: function setInt32(t, e) {
          set(this, 4, t, packI32, e, arguments[2]);
        },
        setUint32: function setUint32(t, e) {
          set(this, 4, t, packI32, e, arguments[2]);
        },
        setFloat32: function setFloat32(t, e) {
          set(this, 4, t, packF32, e, arguments[2]);
        },
        setFloat64: function setFloat64(t, e) {
          set(this, 8, t, packF64, e, arguments[2]);
        }
      });

      setToStringTag(_$ArrayBuffer2, ARRAY_BUFFER), setToStringTag(_$DataView, DATA_VIEW), hide(_$DataView[PROTOTYPE], $typed.VIEW, !0), exports[ARRAY_BUFFER] = _$ArrayBuffer2, exports[DATA_VIEW] = _$DataView;
    }, {
      "./_an-instance": 14,
      "./_array-fill": 17,
      "./_descriptors": 35,
      "./_fails": 41,
      "./_global": 45,
      "./_hide": 47,
      "./_library": 64,
      "./_object-dp": 74,
      "./_object-gopn": 78,
      "./_redefine-all": 92,
      "./_set-to-string-tag": 97,
      "./_to-index": 111,
      "./_to-integer": 112,
      "./_to-length": 114,
      "./_typed": 119
    }],
    119: [function (require, module, exports) {
      for (var Typed, global = require("./_global"), hide = require("./_hide"), uid = require("./_uid"), TYPED = uid("typed_array"), VIEW = uid("view"), ABV = !(!global.ArrayBuffer || !global.DataView), CONSTR = ABV, i = 0, l = 9, TypedArrayConstructors = "Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(","); i < l;) {
        (Typed = global[TypedArrayConstructors[i++]]) ? (hide(Typed.prototype, TYPED, !0), hide(Typed.prototype, VIEW, !0)) : CONSTR = !1;
      }

      module.exports = {
        ABV: ABV,
        CONSTR: CONSTR,
        TYPED: TYPED,
        VIEW: VIEW
      };
    }, {
      "./_global": 45,
      "./_hide": 47,
      "./_uid": 120
    }],
    120: [function (require, module, exports) {
      var id = 0,
          px = Math.random();

      module.exports = function (o) {
        return "Symbol(".concat(void 0 === o ? "" : o, ")_", (++id + px).toString(36));
      };
    }, {}],
    121: [function (require, module, exports) {
      var global = require("./_global"),
          navigator = global.navigator;

      module.exports = navigator && navigator.userAgent || "";
    }, {
      "./_global": 45
    }],
    122: [function (require, module, exports) {
      var isObject = require("./_is-object");

      module.exports = function (e, r) {
        if (!isObject(e) || e._t !== r) throw TypeError("Incompatible receiver, " + r + " required!");
        return e;
      };
    }, {
      "./_is-object": 56
    }],
    123: [function (require, module, exports) {
      var global = require("./_global"),
          core = require("./_core"),
          LIBRARY = require("./_library"),
          wksExt = require("./_wks-ext"),
          defineProperty = require("./_object-dp").f;

      module.exports = function (e) {
        var r = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
        "_" == e.charAt(0) || e in r || defineProperty(r, e, {
          value: wksExt.f(e)
        });
      };
    }, {
      "./_core": 29,
      "./_global": 45,
      "./_library": 64,
      "./_object-dp": 74,
      "./_wks-ext": 124
    }],
    124: [function (require, module, exports) {
      exports.f = require("./_wks");
    }, {
      "./_wks": 125
    }],
    125: [function (require, module, exports) {
      var store = require("./_shared")("wks"),
          uid = require("./_uid"),
          _Symbol = require("./_global").Symbol,
          USE_SYMBOL = "function" == typeof _Symbol,
          $exports = module.exports = function (o) {
        return store[o] || (store[o] = USE_SYMBOL && _Symbol[o] || (USE_SYMBOL ? _Symbol : uid)("Symbol." + o));
      };

      $exports.store = store;
    }, {
      "./_global": 45,
      "./_shared": 99,
      "./_uid": 120
    }],
    126: [function (require, module, exports) {
      var classof = require("./_classof"),
          ITERATOR = require("./_wks")("iterator"),
          Iterators = require("./_iterators");

      module.exports = require("./_core").getIteratorMethod = function (r) {
        if (null != r) return r[ITERATOR] || r["@@iterator"] || Iterators[classof(r)];
      };
    }, {
      "./_classof": 24,
      "./_core": 29,
      "./_iterators": 63,
      "./_wks": 125
    }],
    127: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.P, "Array", {
        copyWithin: require("./_array-copy-within")
      }), require("./_add-to-unscopables")("copyWithin");
    }, {
      "./_add-to-unscopables": 13,
      "./_array-copy-within": 16,
      "./_export": 39
    }],
    128: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          $every = require("./_array-methods")(4);

      $export($export.P + $export.F * !require("./_strict-method")([].every, !0), "Array", {
        every: function every(r) {
          return $every(this, r, arguments[1]);
        }
      });
    }, {
      "./_array-methods": 19,
      "./_export": 39,
      "./_strict-method": 101
    }],
    129: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.P, "Array", {
        fill: require("./_array-fill")
      }), require("./_add-to-unscopables")("fill");
    }, {
      "./_add-to-unscopables": 13,
      "./_array-fill": 17,
      "./_export": 39
    }],
    130: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          $filter = require("./_array-methods")(2);

      $export($export.P + $export.F * !require("./_strict-method")([].filter, !0), "Array", {
        filter: function filter(r) {
          return $filter(this, r, arguments[1]);
        }
      });
    }, {
      "./_array-methods": 19,
      "./_export": 39,
      "./_strict-method": 101
    }],
    131: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          $find = require("./_array-methods")(6),
          KEY = "findIndex",
          forced = !0;

      KEY in [] && Array(1)[KEY](function () {
        forced = !1;
      }), $export($export.P + $export.F * forced, "Array", {
        findIndex: function findIndex(r) {
          return $find(this, r, arguments.length > 1 ? arguments[1] : void 0);
        }
      }), require("./_add-to-unscopables")(KEY);
    }, {
      "./_add-to-unscopables": 13,
      "./_array-methods": 19,
      "./_export": 39
    }],
    132: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          $find = require("./_array-methods")(5),
          KEY = "find",
          forced = !0;

      KEY in [] && Array(1)[KEY](function () {
        forced = !1;
      }), $export($export.P + $export.F * forced, "Array", {
        find: function find(r) {
          return $find(this, r, arguments.length > 1 ? arguments[1] : void 0);
        }
      }), require("./_add-to-unscopables")(KEY);
    }, {
      "./_add-to-unscopables": 13,
      "./_array-methods": 19,
      "./_export": 39
    }],
    133: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          $forEach = require("./_array-methods")(0),
          STRICT = require("./_strict-method")([].forEach, !0);

      $export($export.P + $export.F * !STRICT, "Array", {
        forEach: function forEach(r) {
          return $forEach(this, r, arguments[1]);
        }
      });
    }, {
      "./_array-methods": 19,
      "./_export": 39,
      "./_strict-method": 101
    }],
    134: [function (require, module, exports) {
      "use strict";

      var ctx = require("./_ctx"),
          $export = require("./_export"),
          toObject = require("./_to-object"),
          call = require("./_iter-call"),
          isArrayIter = require("./_is-array-iter"),
          toLength = require("./_to-length"),
          createProperty = require("./_create-property"),
          getIterFn = require("./core.get-iterator-method");

      $export($export.S + $export.F * !require("./_iter-detect")(function (e) {
        Array.from(e);
      }), "Array", {
        from: function from(e) {
          var r,
              t,
              o,
              i,
              a = toObject(e),
              c = "function" == typeof this ? this : Array,
              n = arguments.length,
              l = n > 1 ? arguments[1] : void 0,
              u = void 0 !== l,
              y = 0,
              p = getIterFn(a);
          if (u && (l = ctx(l, n > 2 ? arguments[2] : void 0, 2)), null == p || c == Array && isArrayIter(p)) for (t = new c(r = toLength(a.length)); r > y; y++) {
            createProperty(t, y, u ? l(a[y], y) : a[y]);
          } else for (i = p.call(a), t = new c(); !(o = i.next()).done; y++) {
            createProperty(t, y, u ? call(i, l, [o.value, y], !0) : o.value);
          }
          return t.length = y, t;
        }
      });
    }, {
      "./_create-property": 30,
      "./_ctx": 31,
      "./_export": 39,
      "./_is-array-iter": 53,
      "./_iter-call": 58,
      "./_iter-detect": 61,
      "./_to-length": 114,
      "./_to-object": 115,
      "./core.get-iterator-method": 126
    }],
    135: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          $indexOf = require("./_array-includes")(!1),
          $native = [].indexOf,
          NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;

      $export($export.P + $export.F * (NEGATIVE_ZERO || !require("./_strict-method")($native)), "Array", {
        indexOf: function indexOf(e) {
          return NEGATIVE_ZERO ? $native.apply(this, arguments) || 0 : $indexOf(this, e, arguments[1]);
        }
      });
    }, {
      "./_array-includes": 18,
      "./_export": 39,
      "./_strict-method": 101
    }],
    136: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S, "Array", {
        isArray: require("./_is-array")
      });
    }, {
      "./_export": 39,
      "./_is-array": 54
    }],
    137: [function (require, module, exports) {
      "use strict";

      var addToUnscopables = require("./_add-to-unscopables"),
          step = require("./_iter-step"),
          Iterators = require("./_iterators"),
          toIObject = require("./_to-iobject");

      module.exports = require("./_iter-define")(Array, "Array", function (e, t) {
        this._t = toIObject(e), this._i = 0, this._k = t;
      }, function () {
        var e = this._t,
            t = this._k,
            s = this._i++;
        return !e || s >= e.length ? (this._t = void 0, step(1)) : step(0, "keys" == t ? s : "values" == t ? e[s] : [s, e[s]]);
      }, "values"), Iterators.Arguments = Iterators.Array, addToUnscopables("keys"), addToUnscopables("values"), addToUnscopables("entries");
    }, {
      "./_add-to-unscopables": 13,
      "./_iter-define": 60,
      "./_iter-step": 62,
      "./_iterators": 63,
      "./_to-iobject": 113
    }],
    138: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          toIObject = require("./_to-iobject"),
          arrayJoin = [].join;

      $export($export.P + $export.F * (require("./_iobject") != Object || !require("./_strict-method")(arrayJoin)), "Array", {
        join: function join(r) {
          return arrayJoin.call(toIObject(this), void 0 === r ? "," : r);
        }
      });
    }, {
      "./_export": 39,
      "./_iobject": 52,
      "./_strict-method": 101,
      "./_to-iobject": 113
    }],
    139: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          toIObject = require("./_to-iobject"),
          toInteger = require("./_to-integer"),
          toLength = require("./_to-length"),
          $native = [].lastIndexOf,
          NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;

      $export($export.P + $export.F * (NEGATIVE_ZERO || !require("./_strict-method")($native)), "Array", {
        lastIndexOf: function lastIndexOf(t) {
          if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;
          var e = toIObject(this),
              r = toLength(e.length),
              n = r - 1;

          for (arguments.length > 1 && (n = Math.min(n, toInteger(arguments[1]))), n < 0 && (n = r + n); n >= 0; n--) {
            if (n in e && e[n] === t) return n || 0;
          }

          return -1;
        }
      });
    }, {
      "./_export": 39,
      "./_strict-method": 101,
      "./_to-integer": 112,
      "./_to-iobject": 113,
      "./_to-length": 114
    }],
    140: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          $map = require("./_array-methods")(1);

      $export($export.P + $export.F * !require("./_strict-method")([].map, !0), "Array", {
        map: function map(r) {
          return $map(this, r, arguments[1]);
        }
      });
    }, {
      "./_array-methods": 19,
      "./_export": 39,
      "./_strict-method": 101
    }],
    141: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          createProperty = require("./_create-property");

      $export($export.S + $export.F * require("./_fails")(function () {
        function r() {}

        return !(Array.of.call(r) instanceof r);
      }), "Array", {
        of: function of() {
          for (var r = 0, e = arguments.length, t = new ("function" == typeof this ? this : Array)(e); e > r;) {
            createProperty(t, r, arguments[r++]);
          }

          return t.length = e, t;
        }
      });
    }, {
      "./_create-property": 30,
      "./_export": 39,
      "./_fails": 41
    }],
    142: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          $reduce = require("./_array-reduce");

      $export($export.P + $export.F * !require("./_strict-method")([].reduceRight, !0), "Array", {
        reduceRight: function reduceRight(e) {
          return $reduce(this, e, arguments.length, arguments[1], !0);
        }
      });
    }, {
      "./_array-reduce": 20,
      "./_export": 39,
      "./_strict-method": 101
    }],
    143: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          $reduce = require("./_array-reduce");

      $export($export.P + $export.F * !require("./_strict-method")([].reduce, !0), "Array", {
        reduce: function reduce(e) {
          return $reduce(this, e, arguments.length, arguments[1], !1);
        }
      });
    }, {
      "./_array-reduce": 20,
      "./_export": 39,
      "./_strict-method": 101
    }],
    144: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          html = require("./_html"),
          cof = require("./_cof"),
          toAbsoluteIndex = require("./_to-absolute-index"),
          toLength = require("./_to-length"),
          arraySlice = [].slice;

      $export($export.P + $export.F * require("./_fails")(function () {
        html && arraySlice.call(html);
      }), "Array", {
        slice: function slice(r, e) {
          var t = toLength(this.length),
              i = cof(this);
          if (e = void 0 === e ? t : e, "Array" == i) return arraySlice.call(this, r, e);

          for (var o = toAbsoluteIndex(r, t), l = toAbsoluteIndex(e, t), a = toLength(l - o), n = new Array(a), h = 0; h < a; h++) {
            n[h] = "String" == i ? this.charAt(o + h) : this[o + h];
          }

          return n;
        }
      });
    }, {
      "./_cof": 25,
      "./_export": 39,
      "./_fails": 41,
      "./_html": 48,
      "./_to-absolute-index": 110,
      "./_to-length": 114
    }],
    145: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          $some = require("./_array-methods")(3);

      $export($export.P + $export.F * !require("./_strict-method")([].some, !0), "Array", {
        some: function some(r) {
          return $some(this, r, arguments[1]);
        }
      });
    }, {
      "./_array-methods": 19,
      "./_export": 39,
      "./_strict-method": 101
    }],
    146: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          aFunction = require("./_a-function"),
          toObject = require("./_to-object"),
          fails = require("./_fails"),
          $sort = [].sort,
          test = [1, 2, 3];

      $export($export.P + $export.F * (fails(function () {
        test.sort(void 0);
      }) || !fails(function () {
        test.sort(null);
      }) || !require("./_strict-method")($sort)), "Array", {
        sort: function sort(t) {
          return void 0 === t ? $sort.call(toObject(this)) : $sort.call(toObject(this), aFunction(t));
        }
      });
    }, {
      "./_a-function": 11,
      "./_export": 39,
      "./_fails": 41,
      "./_strict-method": 101,
      "./_to-object": 115
    }],
    147: [function (require, module, exports) {
      require("./_set-species")("Array");
    }, {
      "./_set-species": 96
    }],
    148: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S, "Date", {
        now: function now() {
          return new Date().getTime();
        }
      });
    }, {
      "./_export": 39
    }],
    149: [function (require, module, exports) {
      var $export = require("./_export"),
          toISOString = require("./_date-to-iso-string");

      $export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), "Date", {
        toISOString: toISOString
      });
    }, {
      "./_date-to-iso-string": 32,
      "./_export": 39
    }],
    150: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          toObject = require("./_to-object"),
          toPrimitive = require("./_to-primitive");

      $export($export.P + $export.F * require("./_fails")(function () {
        return null !== new Date(NaN).toJSON() || 1 !== Date.prototype.toJSON.call({
          toISOString: function toISOString() {
            return 1;
          }
        });
      }), "Date", {
        toJSON: function toJSON(t) {
          var e = toObject(this),
              r = toPrimitive(e);
          return "number" != typeof r || isFinite(r) ? e.toISOString() : null;
        }
      });
    }, {
      "./_export": 39,
      "./_fails": 41,
      "./_to-object": 115,
      "./_to-primitive": 116
    }],
    151: [function (require, module, exports) {
      var TO_PRIMITIVE = require("./_wks")("toPrimitive"),
          proto = Date.prototype;

      TO_PRIMITIVE in proto || require("./_hide")(proto, TO_PRIMITIVE, require("./_date-to-primitive"));
    }, {
      "./_date-to-primitive": 33,
      "./_hide": 47,
      "./_wks": 125
    }],
    152: [function (require, module, exports) {
      var DateProto = Date.prototype,
          INVALID_DATE = "Invalid Date",
          TO_STRING = "toString",
          $toString = DateProto[TO_STRING],
          getTime = DateProto.getTime;
      new Date(NaN) + "" != INVALID_DATE && require("./_redefine")(DateProto, TO_STRING, function () {
        var t = getTime.call(this);
        return t == t ? $toString.call(this) : INVALID_DATE;
      });
    }, {
      "./_redefine": 93
    }],
    153: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.P, "Function", {
        bind: require("./_bind")
      });
    }, {
      "./_bind": 23,
      "./_export": 39
    }],
    154: [function (require, module, exports) {
      "use strict";

      var isObject = require("./_is-object"),
          getPrototypeOf = require("./_object-gpo"),
          HAS_INSTANCE = require("./_wks")("hasInstance"),
          FunctionProto = Function.prototype;

      HAS_INSTANCE in FunctionProto || require("./_object-dp").f(FunctionProto, HAS_INSTANCE, {
        value: function value(t) {
          if ("function" != typeof this || !isObject(t)) return !1;
          if (!isObject(this.prototype)) return t instanceof this;

          for (; t = getPrototypeOf(t);) {
            if (this.prototype === t) return !0;
          }

          return !1;
        }
      });
    }, {
      "./_is-object": 56,
      "./_object-dp": 74,
      "./_object-gpo": 80,
      "./_wks": 125
    }],
    155: [function (require, module, exports) {
      var dP = require("./_object-dp").f,
          FProto = Function.prototype,
          nameRE = /^\s*function ([^ (]*)/,
          NAME = "name";

      NAME in FProto || require("./_descriptors") && dP(FProto, NAME, {
        configurable: !0,
        get: function get() {
          try {
            return ("" + this).match(nameRE)[1];
          } catch (r) {
            return "";
          }
        }
      });
    }, {
      "./_descriptors": 35,
      "./_object-dp": 74
    }],
    156: [function (require, module, exports) {
      "use strict";

      var strong = require("./_collection-strong"),
          validate = require("./_validate-collection"),
          MAP = "Map";

      module.exports = require("./_collection")(MAP, function (t) {
        return function () {
          return t(this, arguments.length > 0 ? arguments[0] : void 0);
        };
      }, {
        get: function get(t) {
          var e = strong.getEntry(validate(this, MAP), t);
          return e && e.v;
        },
        set: function set(t, e) {
          return strong.def(validate(this, MAP), 0 === t ? 0 : t, e);
        }
      }, strong, !0);
    }, {
      "./_collection": 28,
      "./_collection-strong": 26,
      "./_validate-collection": 122
    }],
    157: [function (require, module, exports) {
      var $export = require("./_export"),
          log1p = require("./_math-log1p"),
          sqrt = Math.sqrt,
          $acosh = Math.acosh;

      $export($export.S + $export.F * !($acosh && 710 == Math.floor($acosh(Number.MAX_VALUE)) && $acosh(1 / 0) == 1 / 0), "Math", {
        acosh: function acosh(o) {
          return (o = +o) < 1 ? NaN : o > 94906265.62425156 ? Math.log(o) + Math.LN2 : log1p(o - 1 + sqrt(o - 1) * sqrt(o + 1));
        }
      });
    }, {
      "./_export": 39,
      "./_math-log1p": 67
    }],
    158: [function (require, module, exports) {
      var $export = require("./_export"),
          $asinh = Math.asinh;

      function asinh(a) {
        return isFinite(a = +a) && 0 != a ? a < 0 ? -asinh(-a) : Math.log(a + Math.sqrt(a * a + 1)) : a;
      }

      $export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), "Math", {
        asinh: asinh
      });
    }, {
      "./_export": 39
    }],
    159: [function (require, module, exports) {
      var $export = require("./_export"),
          $atanh = Math.atanh;

      $export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), "Math", {
        atanh: function atanh(t) {
          return 0 == (t = +t) ? t : Math.log((1 + t) / (1 - t)) / 2;
        }
      });
    }, {
      "./_export": 39
    }],
    160: [function (require, module, exports) {
      var $export = require("./_export"),
          sign = require("./_math-sign");

      $export($export.S, "Math", {
        cbrt: function cbrt(r) {
          return sign(r = +r) * Math.pow(Math.abs(r), 1 / 3);
        }
      });
    }, {
      "./_export": 39,
      "./_math-sign": 68
    }],
    161: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S, "Math", {
        clz32: function clz32(r) {
          return (r >>>= 0) ? 31 - Math.floor(Math.log(r + .5) * Math.LOG2E) : 32;
        }
      });
    }, {
      "./_export": 39
    }],
    162: [function (require, module, exports) {
      var $export = require("./_export"),
          exp = Math.exp;

      $export($export.S, "Math", {
        cosh: function cosh(e) {
          return (exp(e = +e) + exp(-e)) / 2;
        }
      });
    }, {
      "./_export": 39
    }],
    163: [function (require, module, exports) {
      var $export = require("./_export"),
          $expm1 = require("./_math-expm1");

      $export($export.S + $export.F * ($expm1 != Math.expm1), "Math", {
        expm1: $expm1
      });
    }, {
      "./_export": 39,
      "./_math-expm1": 65
    }],
    164: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S, "Math", {
        fround: require("./_math-fround")
      });
    }, {
      "./_export": 39,
      "./_math-fround": 66
    }],
    165: [function (require, module, exports) {
      var $export = require("./_export"),
          abs = Math.abs;

      $export($export.S, "Math", {
        hypot: function hypot(r, t) {
          for (var a, e, o = 0, h = 0, p = arguments.length, n = 0; h < p;) {
            n < (a = abs(arguments[h++])) ? (o = o * (e = n / a) * e + 1, n = a) : o += a > 0 ? (e = a / n) * e : a;
          }

          return n === 1 / 0 ? 1 / 0 : n * Math.sqrt(o);
        }
      });
    }, {
      "./_export": 39
    }],
    166: [function (require, module, exports) {
      var $export = require("./_export"),
          $imul = Math.imul;

      $export($export.S + $export.F * require("./_fails")(function () {
        return -5 != $imul(4294967295, 5) || 2 != $imul.length;
      }), "Math", {
        imul: function imul(r, e) {
          var t = +r,
              u = +e,
              i = 65535 & t,
              l = 65535 & u;
          return 0 | i * l + ((65535 & t >>> 16) * l + i * (65535 & u >>> 16) << 16 >>> 0);
        }
      });
    }, {
      "./_export": 39,
      "./_fails": 41
    }],
    167: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S, "Math", {
        log10: function log10(r) {
          return Math.log(r) * Math.LOG10E;
        }
      });
    }, {
      "./_export": 39
    }],
    168: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S, "Math", {
        log1p: require("./_math-log1p")
      });
    }, {
      "./_export": 39,
      "./_math-log1p": 67
    }],
    169: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S, "Math", {
        log2: function log2(r) {
          return Math.log(r) / Math.LN2;
        }
      });
    }, {
      "./_export": 39
    }],
    170: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S, "Math", {
        sign: require("./_math-sign")
      });
    }, {
      "./_export": 39,
      "./_math-sign": 68
    }],
    171: [function (require, module, exports) {
      var $export = require("./_export"),
          expm1 = require("./_math-expm1"),
          exp = Math.exp;

      $export($export.S + $export.F * require("./_fails")(function () {
        return -2e-17 != !Math.sinh(-2e-17);
      }), "Math", {
        sinh: function sinh(e) {
          return Math.abs(e = +e) < 1 ? (expm1(e) - expm1(-e)) / 2 : (exp(e - 1) - exp(-e - 1)) * (Math.E / 2);
        }
      });
    }, {
      "./_export": 39,
      "./_fails": 41,
      "./_math-expm1": 65
    }],
    172: [function (require, module, exports) {
      var $export = require("./_export"),
          expm1 = require("./_math-expm1"),
          exp = Math.exp;

      $export($export.S, "Math", {
        tanh: function tanh(e) {
          var p = expm1(e = +e),
              r = expm1(-e);
          return p == 1 / 0 ? 1 : r == 1 / 0 ? -1 : (p - r) / (exp(e) + exp(-e));
        }
      });
    }, {
      "./_export": 39,
      "./_math-expm1": 65
    }],
    173: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S, "Math", {
        trunc: function trunc(r) {
          return (r > 0 ? Math.floor : Math.ceil)(r);
        }
      });
    }, {
      "./_export": 39
    }],
    174: [function (require, module, exports) {
      "use strict";

      var global = require("./_global"),
          has = require("./_has"),
          cof = require("./_cof"),
          inheritIfRequired = require("./_inherit-if-required"),
          toPrimitive = require("./_to-primitive"),
          fails = require("./_fails"),
          gOPN = require("./_object-gopn").f,
          gOPD = require("./_object-gopd").f,
          dP = require("./_object-dp").f,
          $trim = require("./_string-trim").trim,
          NUMBER = "Number",
          _$Number = global[NUMBER],
          Base = _$Number,
          proto = _$Number.prototype,
          BROKEN_COF = cof(require("./_object-create")(proto)) == NUMBER,
          TRIM = "trim" in String.prototype,
          toNumber = function toNumber(e) {
        var r = toPrimitive(e, !1);

        if ("string" == typeof r && r.length > 2) {
          var t,
              i,
              o,
              u = (r = TRIM ? r.trim() : $trim(r, 3)).charCodeAt(0);

          if (43 === u || 45 === u) {
            if (88 === (t = r.charCodeAt(2)) || 120 === t) return NaN;
          } else if (48 === u) {
            switch (r.charCodeAt(1)) {
              case 66:
              case 98:
                i = 2, o = 49;
                break;

              case 79:
              case 111:
                i = 8, o = 55;
                break;

              default:
                return +r;
            }

            for (var a, N = r.slice(2), s = 0, n = N.length; s < n; s++) {
              if ((a = N.charCodeAt(s)) < 48 || a > o) return NaN;
            }

            return parseInt(N, i);
          }
        }

        return +r;
      };

      if (!_$Number(" 0o1") || !_$Number("0b1") || _$Number("+0x1")) {
        _$Number = function $Number(e) {
          var r = arguments.length < 1 ? 0 : e,
              t = this;
          return t instanceof _$Number && (BROKEN_COF ? fails(function () {
            proto.valueOf.call(t);
          }) : cof(t) != NUMBER) ? inheritIfRequired(new Base(toNumber(r)), t, _$Number) : toNumber(r);
        };

        for (var key, keys = require("./_descriptors") ? gOPN(Base) : "MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","), j = 0; keys.length > j; j++) {
          has(Base, key = keys[j]) && !has(_$Number, key) && dP(_$Number, key, gOPD(Base, key));
        }

        _$Number.prototype = proto, proto.constructor = _$Number, require("./_redefine")(global, NUMBER, _$Number);
      }
    }, {
      "./_cof": 25,
      "./_descriptors": 35,
      "./_fails": 41,
      "./_global": 45,
      "./_has": 46,
      "./_inherit-if-required": 50,
      "./_object-create": 73,
      "./_object-dp": 74,
      "./_object-gopd": 76,
      "./_object-gopn": 78,
      "./_redefine": 93,
      "./_string-trim": 107,
      "./_to-primitive": 116
    }],
    175: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S, "Number", {
        EPSILON: Math.pow(2, -52)
      });
    }, {
      "./_export": 39
    }],
    176: [function (require, module, exports) {
      var $export = require("./_export"),
          _isFinite = require("./_global").isFinite;

      $export($export.S, "Number", {
        isFinite: function isFinite(e) {
          return "number" == typeof e && _isFinite(e);
        }
      });
    }, {
      "./_export": 39,
      "./_global": 45
    }],
    177: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S, "Number", {
        isInteger: require("./_is-integer")
      });
    }, {
      "./_export": 39,
      "./_is-integer": 55
    }],
    178: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S, "Number", {
        isNaN: function isNaN(r) {
          return r != r;
        }
      });
    }, {
      "./_export": 39
    }],
    179: [function (require, module, exports) {
      var $export = require("./_export"),
          isInteger = require("./_is-integer"),
          abs = Math.abs;

      $export($export.S, "Number", {
        isSafeInteger: function isSafeInteger(e) {
          return isInteger(e) && abs(e) <= 9007199254740991;
        }
      });
    }, {
      "./_export": 39,
      "./_is-integer": 55
    }],
    180: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S, "Number", {
        MAX_SAFE_INTEGER: 9007199254740991
      });
    }, {
      "./_export": 39
    }],
    181: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S, "Number", {
        MIN_SAFE_INTEGER: -9007199254740991
      });
    }, {
      "./_export": 39
    }],
    182: [function (require, module, exports) {
      var $export = require("./_export"),
          $parseFloat = require("./_parse-float");

      $export($export.S + $export.F * (Number.parseFloat != $parseFloat), "Number", {
        parseFloat: $parseFloat
      });
    }, {
      "./_export": 39,
      "./_parse-float": 87
    }],
    183: [function (require, module, exports) {
      var $export = require("./_export"),
          $parseInt = require("./_parse-int");

      $export($export.S + $export.F * (Number.parseInt != $parseInt), "Number", {
        parseInt: $parseInt
      });
    }, {
      "./_export": 39,
      "./_parse-int": 88
    }],
    184: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          toInteger = require("./_to-integer"),
          aNumberValue = require("./_a-number-value"),
          repeat = require("./_string-repeat"),
          $toFixed = 1..toFixed,
          floor = Math.floor,
          data = [0, 0, 0, 0, 0, 0],
          ERROR = "Number.toFixed: incorrect invocation!",
          ZERO = "0",
          multiply = function multiply(e, r) {
        for (var t = -1, i = r; ++t < 6;) {
          i += e * data[t], data[t] = i % 1e7, i = floor(i / 1e7);
        }
      },
          divide = function divide(e) {
        for (var r = 6, t = 0; --r >= 0;) {
          t += data[r], data[r] = floor(t / e), t = t % e * 1e7;
        }
      },
          numToString = function numToString() {
        for (var e = 6, r = ""; --e >= 0;) {
          if ("" !== r || 0 === e || 0 !== data[e]) {
            var t = String(data[e]);
            r = "" === r ? t : r + repeat.call(ZERO, 7 - t.length) + t;
          }
        }

        return r;
      },
          pow = function pow(e, r, t) {
        return 0 === r ? t : r % 2 == 1 ? pow(e, r - 1, t * e) : pow(e * e, r / 2, t);
      },
          log = function log(e) {
        for (var r = 0, t = e; t >= 4096;) {
          r += 12, t /= 4096;
        }

        for (; t >= 2;) {
          r += 1, t /= 2;
        }

        return r;
      };

      $export($export.P + $export.F * (!!$toFixed && ("0.000" !== 8e-5.toFixed(3) || "1" !== .9.toFixed(0) || "1.25" !== 1.255.toFixed(2) || "1000000000000000128" !== 0xde0b6b3a7640080.toFixed(0)) || !require("./_fails")(function () {
        $toFixed.call({});
      })), "Number", {
        toFixed: function toFixed(e) {
          var r,
              t,
              i,
              o,
              a = aNumberValue(this, ERROR),
              n = toInteger(e),
              l = "",
              u = ZERO;
          if (n < 0 || n > 20) throw RangeError(ERROR);
          if (a != a) return "NaN";
          if (a <= -1e21 || a >= 1e21) return String(a);
          if (a < 0 && (l = "-", a = -a), a > 1e-21) if (t = (r = log(a * pow(2, 69, 1)) - 69) < 0 ? a * pow(2, -r, 1) : a / pow(2, r, 1), t *= 4503599627370496, (r = 52 - r) > 0) {
            for (multiply(0, t), i = n; i >= 7;) {
              multiply(1e7, 0), i -= 7;
            }

            for (multiply(pow(10, i, 1), 0), i = r - 1; i >= 23;) {
              divide(1 << 23), i -= 23;
            }

            divide(1 << i), multiply(1, 1), divide(2), u = numToString();
          } else multiply(0, t), multiply(1 << -r, 0), u = numToString() + repeat.call(ZERO, n);
          return u = n > 0 ? l + ((o = u.length) <= n ? "0." + repeat.call(ZERO, n - o) + u : u.slice(0, o - n) + "." + u.slice(o - n)) : l + u;
        }
      });
    }, {
      "./_a-number-value": 12,
      "./_export": 39,
      "./_fails": 41,
      "./_string-repeat": 106,
      "./_to-integer": 112
    }],
    185: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          $fails = require("./_fails"),
          aNumberValue = require("./_a-number-value"),
          $toPrecision = 1..toPrecision;

      $export($export.P + $export.F * ($fails(function () {
        return "1" !== $toPrecision.call(1, void 0);
      }) || !$fails(function () {
        $toPrecision.call({});
      })), "Number", {
        toPrecision: function toPrecision(i) {
          var r = aNumberValue(this, "Number#toPrecision: incorrect invocation!");
          return void 0 === i ? $toPrecision.call(r) : $toPrecision.call(r, i);
        }
      });
    }, {
      "./_a-number-value": 12,
      "./_export": 39,
      "./_fails": 41
    }],
    186: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S + $export.F, "Object", {
        assign: require("./_object-assign")
      });
    }, {
      "./_export": 39,
      "./_object-assign": 72
    }],
    187: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S, "Object", {
        create: require("./_object-create")
      });
    }, {
      "./_export": 39,
      "./_object-create": 73
    }],
    188: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S + $export.F * !require("./_descriptors"), "Object", {
        defineProperties: require("./_object-dps")
      });
    }, {
      "./_descriptors": 35,
      "./_export": 39,
      "./_object-dps": 75
    }],
    189: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S + $export.F * !require("./_descriptors"), "Object", {
        defineProperty: require("./_object-dp").f
      });
    }, {
      "./_descriptors": 35,
      "./_export": 39,
      "./_object-dp": 74
    }],
    190: [function (require, module, exports) {
      var isObject = require("./_is-object"),
          meta = require("./_meta").onFreeze;

      require("./_object-sap")("freeze", function (e) {
        return function (r) {
          return e && isObject(r) ? e(meta(r)) : r;
        };
      });
    }, {
      "./_is-object": 56,
      "./_meta": 69,
      "./_object-sap": 84
    }],
    191: [function (require, module, exports) {
      var toIObject = require("./_to-iobject"),
          $getOwnPropertyDescriptor = require("./_object-gopd").f;

      require("./_object-sap")("getOwnPropertyDescriptor", function () {
        return function (r, e) {
          return $getOwnPropertyDescriptor(toIObject(r), e);
        };
      });
    }, {
      "./_object-gopd": 76,
      "./_object-sap": 84,
      "./_to-iobject": 113
    }],
    192: [function (require, module, exports) {
      require("./_object-sap")("getOwnPropertyNames", function () {
        return require("./_object-gopn-ext").f;
      });
    }, {
      "./_object-gopn-ext": 77,
      "./_object-sap": 84
    }],
    193: [function (require, module, exports) {
      var toObject = require("./_to-object"),
          $getPrototypeOf = require("./_object-gpo");

      require("./_object-sap")("getPrototypeOf", function () {
        return function (t) {
          return $getPrototypeOf(toObject(t));
        };
      });
    }, {
      "./_object-gpo": 80,
      "./_object-sap": 84,
      "./_to-object": 115
    }],
    194: [function (require, module, exports) {
      var isObject = require("./_is-object");

      require("./_object-sap")("isExtensible", function (e) {
        return function (i) {
          return !!isObject(i) && (!e || e(i));
        };
      });
    }, {
      "./_is-object": 56,
      "./_object-sap": 84
    }],
    195: [function (require, module, exports) {
      var isObject = require("./_is-object");

      require("./_object-sap")("isFrozen", function (e) {
        return function (r) {
          return !isObject(r) || !!e && e(r);
        };
      });
    }, {
      "./_is-object": 56,
      "./_object-sap": 84
    }],
    196: [function (require, module, exports) {
      var isObject = require("./_is-object");

      require("./_object-sap")("isSealed", function (e) {
        return function (r) {
          return !isObject(r) || !!e && e(r);
        };
      });
    }, {
      "./_is-object": 56,
      "./_object-sap": 84
    }],
    197: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S, "Object", {
        is: require("./_same-value")
      });
    }, {
      "./_export": 39,
      "./_same-value": 94
    }],
    198: [function (require, module, exports) {
      var toObject = require("./_to-object"),
          $keys = require("./_object-keys");

      require("./_object-sap")("keys", function () {
        return function (e) {
          return $keys(toObject(e));
        };
      });
    }, {
      "./_object-keys": 82,
      "./_object-sap": 84,
      "./_to-object": 115
    }],
    199: [function (require, module, exports) {
      var isObject = require("./_is-object"),
          meta = require("./_meta").onFreeze;

      require("./_object-sap")("preventExtensions", function (e) {
        return function (r) {
          return e && isObject(r) ? e(meta(r)) : r;
        };
      });
    }, {
      "./_is-object": 56,
      "./_meta": 69,
      "./_object-sap": 84
    }],
    200: [function (require, module, exports) {
      var isObject = require("./_is-object"),
          meta = require("./_meta").onFreeze;

      require("./_object-sap")("seal", function (e) {
        return function (r) {
          return e && isObject(r) ? e(meta(r)) : r;
        };
      });
    }, {
      "./_is-object": 56,
      "./_meta": 69,
      "./_object-sap": 84
    }],
    201: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S, "Object", {
        setPrototypeOf: require("./_set-proto").set
      });
    }, {
      "./_export": 39,
      "./_set-proto": 95
    }],
    202: [function (require, module, exports) {
      "use strict";

      var classof = require("./_classof"),
          test = {};

      test[require("./_wks")("toStringTag")] = "z", test + "" != "[object z]" && require("./_redefine")(Object.prototype, "toString", function () {
        return "[object " + classof(this) + "]";
      }, !0);
    }, {
      "./_classof": 24,
      "./_redefine": 93,
      "./_wks": 125
    }],
    203: [function (require, module, exports) {
      var $export = require("./_export"),
          $parseFloat = require("./_parse-float");

      $export($export.G + $export.F * (parseFloat != $parseFloat), {
        parseFloat: $parseFloat
      });
    }, {
      "./_export": 39,
      "./_parse-float": 87
    }],
    204: [function (require, module, exports) {
      var $export = require("./_export"),
          $parseInt = require("./_parse-int");

      $export($export.G + $export.F * (parseInt != $parseInt), {
        parseInt: $parseInt
      });
    }, {
      "./_export": 39,
      "./_parse-int": 88
    }],
    205: [function (require, module, exports) {
      "use strict";

      var Internal,
          newGenericPromiseCapability,
          OwnPromiseCapability,
          Wrapper,
          LIBRARY = require("./_library"),
          global = require("./_global"),
          ctx = require("./_ctx"),
          classof = require("./_classof"),
          $export = require("./_export"),
          isObject = require("./_is-object"),
          aFunction = require("./_a-function"),
          anInstance = require("./_an-instance"),
          forOf = require("./_for-of"),
          speciesConstructor = require("./_species-constructor"),
          task = require("./_task").set,
          microtask = require("./_microtask")(),
          newPromiseCapabilityModule = require("./_new-promise-capability"),
          perform = require("./_perform"),
          userAgent = require("./_user-agent"),
          promiseResolve = require("./_promise-resolve"),
          PROMISE = "Promise",
          TypeError = global.TypeError,
          process = global.process,
          versions = process && process.versions,
          v8 = versions && versions.v8 || "",
          _$Promise = global[PROMISE],
          isNode = "process" == classof(process),
          empty = function empty() {},
          newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f,
          USE_NATIVE = !!function () {
        try {
          var e = _$Promise.resolve(1),
              r = (e.constructor = {})[require("./_wks")("species")] = function (e) {
            e(empty, empty);
          };

          return (isNode || "function" == typeof PromiseRejectionEvent) && e.then(empty) instanceof r && 0 !== v8.indexOf("6.6") && -1 === userAgent.indexOf("Chrome/66");
        } catch (e) {}
      }(),
          isThenable = function isThenable(e) {
        var r;
        return !(!isObject(e) || "function" != typeof (r = e.then)) && r;
      },
          notify = function notify(e, r) {
        if (!e._n) {
          e._n = !0;
          var i = e._c;
          microtask(function () {
            for (var o = e._v, t = 1 == e._s, n = 0, s = function s(r) {
              var i,
                  n,
                  s,
                  a = t ? r.ok : r.fail,
                  c = r.resolve,
                  l = r.reject,
                  p = r.domain;

              try {
                a ? (t || (2 == e._h && onHandleUnhandled(e), e._h = 1), !0 === a ? i = o : (p && p.enter(), i = a(o), p && (p.exit(), s = !0)), i === r.promise ? l(TypeError("Promise-chain cycle")) : (n = isThenable(i)) ? n.call(i, c, l) : c(i)) : l(o);
              } catch (e) {
                p && !s && p.exit(), l(e);
              }
            }; i.length > n;) {
              s(i[n++]);
            }

            e._c = [], e._n = !1, r && !e._h && onUnhandled(e);
          });
        }
      },
          onUnhandled = function onUnhandled(e) {
        task.call(global, function () {
          var r,
              i,
              o,
              t = e._v,
              n = isUnhandled(e);
          if (n && (r = perform(function () {
            isNode ? process.emit("unhandledRejection", t, e) : (i = global.onunhandledrejection) ? i({
              promise: e,
              reason: t
            }) : (o = global.console) && o.error && o.error("Unhandled promise rejection", t);
          }), e._h = isNode || isUnhandled(e) ? 2 : 1), e._a = void 0, n && r.e) throw r.v;
        });
      },
          isUnhandled = function isUnhandled(e) {
        return 1 !== e._h && 0 === (e._a || e._c).length;
      },
          onHandleUnhandled = function onHandleUnhandled(e) {
        task.call(global, function () {
          var r;
          isNode ? process.emit("rejectionHandled", e) : (r = global.onrejectionhandled) && r({
            promise: e,
            reason: e._v
          });
        });
      },
          $reject = function $reject(e) {
        var r = this;
        r._d || (r._d = !0, (r = r._w || r)._v = e, r._s = 2, r._a || (r._a = r._c.slice()), notify(r, !0));
      },
          $resolve = function $resolve(e) {
        var r,
            i = this;

        if (!i._d) {
          i._d = !0, i = i._w || i;

          try {
            if (i === e) throw TypeError("Promise can't be resolved itself");
            (r = isThenable(e)) ? microtask(function () {
              var o = {
                _w: i,
                _d: !1
              };

              try {
                r.call(e, ctx($resolve, o, 1), ctx($reject, o, 1));
              } catch (e) {
                $reject.call(o, e);
              }
            }) : (i._v = e, i._s = 1, notify(i, !1));
          } catch (e) {
            $reject.call({
              _w: i,
              _d: !1
            }, e);
          }
        }
      };

      USE_NATIVE || (_$Promise = function $Promise(e) {
        anInstance(this, _$Promise, PROMISE, "_h"), aFunction(e), Internal.call(this);

        try {
          e(ctx($resolve, this, 1), ctx($reject, this, 1));
        } catch (e) {
          $reject.call(this, e);
        }
      }, (Internal = function Internal(e) {
        this._c = [], this._a = void 0, this._s = 0, this._d = !1, this._v = void 0, this._h = 0, this._n = !1;
      }).prototype = require("./_redefine-all")(_$Promise.prototype, {
        then: function then(e, r) {
          var i = newPromiseCapability(speciesConstructor(this, _$Promise));
          return i.ok = "function" != typeof e || e, i.fail = "function" == typeof r && r, i.domain = isNode ? process.domain : void 0, this._c.push(i), this._a && this._a.push(i), this._s && notify(this, !1), i.promise;
        },
        catch: function _catch(e) {
          return this.then(void 0, e);
        }
      }), OwnPromiseCapability = function OwnPromiseCapability() {
        var e = new Internal();
        this.promise = e, this.resolve = ctx($resolve, e, 1), this.reject = ctx($reject, e, 1);
      }, newPromiseCapabilityModule.f = newPromiseCapability = function newPromiseCapability(e) {
        return e === _$Promise || e === Wrapper ? new OwnPromiseCapability(e) : newGenericPromiseCapability(e);
      }), $export($export.G + $export.W + $export.F * !USE_NATIVE, {
        Promise: _$Promise
      }), require("./_set-to-string-tag")(_$Promise, PROMISE), require("./_set-species")(PROMISE), Wrapper = require("./_core")[PROMISE], $export($export.S + $export.F * !USE_NATIVE, PROMISE, {
        reject: function reject(e) {
          var r = newPromiseCapability(this);
          return (0, r.reject)(e), r.promise;
        }
      }), $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {
        resolve: function resolve(e) {
          return promiseResolve(LIBRARY && this === Wrapper ? _$Promise : this, e);
        }
      }), $export($export.S + $export.F * !(USE_NATIVE && require("./_iter-detect")(function (e) {
        _$Promise.all(e).catch(empty);
      })), PROMISE, {
        all: function all(e) {
          var r = this,
              i = newPromiseCapability(r),
              o = i.resolve,
              t = i.reject,
              n = perform(function () {
            var i = [],
                n = 0,
                s = 1;
            forOf(e, !1, function (e) {
              var a = n++,
                  c = !1;
              i.push(void 0), s++, r.resolve(e).then(function (e) {
                c || (c = !0, i[a] = e, --s || o(i));
              }, t);
            }), --s || o(i);
          });
          return n.e && t(n.v), i.promise;
        },
        race: function race(e) {
          var r = this,
              i = newPromiseCapability(r),
              o = i.reject,
              t = perform(function () {
            forOf(e, !1, function (e) {
              r.resolve(e).then(i.resolve, o);
            });
          });
          return t.e && o(t.v), i.promise;
        }
      });
    }, {
      "./_a-function": 11,
      "./_an-instance": 14,
      "./_classof": 24,
      "./_core": 29,
      "./_ctx": 31,
      "./_export": 39,
      "./_for-of": 44,
      "./_global": 45,
      "./_is-object": 56,
      "./_iter-detect": 61,
      "./_library": 64,
      "./_microtask": 70,
      "./_new-promise-capability": 71,
      "./_perform": 89,
      "./_promise-resolve": 90,
      "./_redefine-all": 92,
      "./_set-species": 96,
      "./_set-to-string-tag": 97,
      "./_species-constructor": 100,
      "./_task": 109,
      "./_user-agent": 121,
      "./_wks": 125
    }],
    206: [function (require, module, exports) {
      var $export = require("./_export"),
          aFunction = require("./_a-function"),
          anObject = require("./_an-object"),
          rApply = (require("./_global").Reflect || {}).apply,
          fApply = Function.apply;

      $export($export.S + $export.F * !require("./_fails")(function () {
        rApply(function () {});
      }), "Reflect", {
        apply: function apply(e, p, r) {
          var n = aFunction(e),
              t = anObject(r);
          return rApply ? rApply(n, p, t) : fApply.call(n, p, t);
        }
      });
    }, {
      "./_a-function": 11,
      "./_an-object": 15,
      "./_export": 39,
      "./_fails": 41,
      "./_global": 45
    }],
    207: [function (require, module, exports) {
      var $export = require("./_export"),
          create = require("./_object-create"),
          aFunction = require("./_a-function"),
          anObject = require("./_an-object"),
          isObject = require("./_is-object"),
          fails = require("./_fails"),
          bind = require("./_bind"),
          rConstruct = (require("./_global").Reflect || {}).construct,
          NEW_TARGET_BUG = fails(function () {
        function e() {}

        return !(rConstruct(function () {}, [], e) instanceof e);
      }),
          ARGS_BUG = !fails(function () {
        rConstruct(function () {});
      });

      $export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), "Reflect", {
        construct: function construct(e, t) {
          aFunction(e), anObject(t);
          var r = arguments.length < 3 ? e : aFunction(arguments[2]);
          if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(e, t, r);

          if (e == r) {
            switch (t.length) {
              case 0:
                return new e();

              case 1:
                return new e(t[0]);

              case 2:
                return new e(t[0], t[1]);

              case 3:
                return new e(t[0], t[1], t[2]);

              case 4:
                return new e(t[0], t[1], t[2], t[3]);
            }

            var n = [null];
            return n.push.apply(n, t), new (bind.apply(e, n))();
          }

          var c = r.prototype,
              u = create(isObject(c) ? c : Object.prototype),
              i = Function.apply.call(e, u, t);
          return isObject(i) ? i : u;
        }
      });
    }, {
      "./_a-function": 11,
      "./_an-object": 15,
      "./_bind": 23,
      "./_export": 39,
      "./_fails": 41,
      "./_global": 45,
      "./_is-object": 56,
      "./_object-create": 73
    }],
    208: [function (require, module, exports) {
      var dP = require("./_object-dp"),
          $export = require("./_export"),
          anObject = require("./_an-object"),
          toPrimitive = require("./_to-primitive");

      $export($export.S + $export.F * require("./_fails")(function () {
        Reflect.defineProperty(dP.f({}, 1, {
          value: 1
        }), 1, {
          value: 2
        });
      }), "Reflect", {
        defineProperty: function defineProperty(e, r, t) {
          anObject(e), r = toPrimitive(r, !0), anObject(t);

          try {
            return dP.f(e, r, t), !0;
          } catch (e) {
            return !1;
          }
        }
      });
    }, {
      "./_an-object": 15,
      "./_export": 39,
      "./_fails": 41,
      "./_object-dp": 74,
      "./_to-primitive": 116
    }],
    209: [function (require, module, exports) {
      var $export = require("./_export"),
          gOPD = require("./_object-gopd").f,
          anObject = require("./_an-object");

      $export($export.S, "Reflect", {
        deleteProperty: function deleteProperty(e, r) {
          var t = gOPD(anObject(e), r);
          return !(t && !t.configurable) && delete e[r];
        }
      });
    }, {
      "./_an-object": 15,
      "./_export": 39,
      "./_object-gopd": 76
    }],
    210: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          anObject = require("./_an-object"),
          Enumerate = function Enumerate(e) {
        this._t = anObject(e), this._i = 0;
        var t,
            r = this._k = [];

        for (t in e) {
          r.push(t);
        }
      };

      require("./_iter-create")(Enumerate, "Object", function () {
        var e,
            t = this._k;

        do {
          if (this._i >= t.length) return {
            value: void 0,
            done: !0
          };
        } while (!((e = t[this._i++]) in this._t));

        return {
          value: e,
          done: !1
        };
      }), $export($export.S, "Reflect", {
        enumerate: function enumerate(e) {
          return new Enumerate(e);
        }
      });
    }, {
      "./_an-object": 15,
      "./_export": 39,
      "./_iter-create": 59
    }],
    211: [function (require, module, exports) {
      var gOPD = require("./_object-gopd"),
          $export = require("./_export"),
          anObject = require("./_an-object");

      $export($export.S, "Reflect", {
        getOwnPropertyDescriptor: function getOwnPropertyDescriptor(e, r) {
          return gOPD.f(anObject(e), r);
        }
      });
    }, {
      "./_an-object": 15,
      "./_export": 39,
      "./_object-gopd": 76
    }],
    212: [function (require, module, exports) {
      var $export = require("./_export"),
          getProto = require("./_object-gpo"),
          anObject = require("./_an-object");

      $export($export.S, "Reflect", {
        getPrototypeOf: function getPrototypeOf(e) {
          return getProto(anObject(e));
        }
      });
    }, {
      "./_an-object": 15,
      "./_export": 39,
      "./_object-gpo": 80
    }],
    213: [function (require, module, exports) {
      var gOPD = require("./_object-gopd"),
          getPrototypeOf = require("./_object-gpo"),
          has = require("./_has"),
          $export = require("./_export"),
          isObject = require("./_is-object"),
          anObject = require("./_an-object");

      function get(e, t) {
        var r,
            o,
            g = arguments.length < 3 ? e : arguments[2];
        return anObject(e) === g ? e[t] : (r = gOPD.f(e, t)) ? has(r, "value") ? r.value : void 0 !== r.get ? r.get.call(g) : void 0 : isObject(o = getPrototypeOf(e)) ? get(o, t, g) : void 0;
      }

      $export($export.S, "Reflect", {
        get: get
      });
    }, {
      "./_an-object": 15,
      "./_export": 39,
      "./_has": 46,
      "./_is-object": 56,
      "./_object-gopd": 76,
      "./_object-gpo": 80
    }],
    214: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S, "Reflect", {
        has: function has(e, r) {
          return r in e;
        }
      });
    }, {
      "./_export": 39
    }],
    215: [function (require, module, exports) {
      var $export = require("./_export"),
          anObject = require("./_an-object"),
          $isExtensible = Object.isExtensible;

      $export($export.S, "Reflect", {
        isExtensible: function isExtensible(e) {
          return anObject(e), !$isExtensible || $isExtensible(e);
        }
      });
    }, {
      "./_an-object": 15,
      "./_export": 39
    }],
    216: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S, "Reflect", {
        ownKeys: require("./_own-keys")
      });
    }, {
      "./_export": 39,
      "./_own-keys": 86
    }],
    217: [function (require, module, exports) {
      var $export = require("./_export"),
          anObject = require("./_an-object"),
          $preventExtensions = Object.preventExtensions;

      $export($export.S, "Reflect", {
        preventExtensions: function preventExtensions(e) {
          anObject(e);

          try {
            return $preventExtensions && $preventExtensions(e), !0;
          } catch (e) {
            return !1;
          }
        }
      });
    }, {
      "./_an-object": 15,
      "./_export": 39
    }],
    218: [function (require, module, exports) {
      var $export = require("./_export"),
          setProto = require("./_set-proto");

      setProto && $export($export.S, "Reflect", {
        setPrototypeOf: function setPrototypeOf(t, e) {
          setProto.check(t, e);

          try {
            return setProto.set(t, e), !0;
          } catch (t) {
            return !1;
          }
        }
      });
    }, {
      "./_export": 39,
      "./_set-proto": 95
    }],
    219: [function (require, module, exports) {
      var dP = require("./_object-dp"),
          gOPD = require("./_object-gopd"),
          getPrototypeOf = require("./_object-gpo"),
          has = require("./_has"),
          $export = require("./_export"),
          createDesc = require("./_property-desc"),
          anObject = require("./_an-object"),
          isObject = require("./_is-object");

      function set(e, t, r) {
        var i,
            c,
            s = arguments.length < 4 ? e : arguments[3],
            o = gOPD.f(anObject(e), t);

        if (!o) {
          if (isObject(c = getPrototypeOf(e))) return set(c, t, r, s);
          o = createDesc(0);
        }

        if (has(o, "value")) {
          if (!1 === o.writable || !isObject(s)) return !1;

          if (i = gOPD.f(s, t)) {
            if (i.get || i.set || !1 === i.writable) return !1;
            i.value = r, dP.f(s, t, i);
          } else dP.f(s, t, createDesc(0, r));

          return !0;
        }

        return void 0 !== o.set && (o.set.call(s, r), !0);
      }

      $export($export.S, "Reflect", {
        set: set
      });
    }, {
      "./_an-object": 15,
      "./_export": 39,
      "./_has": 46,
      "./_is-object": 56,
      "./_object-dp": 74,
      "./_object-gopd": 76,
      "./_object-gpo": 80,
      "./_property-desc": 91
    }],
    220: [function (require, module, exports) {
      var global = require("./_global"),
          inheritIfRequired = require("./_inherit-if-required"),
          dP = require("./_object-dp").f,
          gOPN = require("./_object-gopn").f,
          isRegExp = require("./_is-regexp"),
          $flags = require("./_flags"),
          _$RegExp = global.RegExp,
          Base = _$RegExp,
          proto = _$RegExp.prototype,
          re1 = /a/g,
          re2 = /a/g,
          CORRECT_NEW = new _$RegExp(re1) !== re1;

      if (require("./_descriptors") && (!CORRECT_NEW || require("./_fails")(function () {
        return re2[require("./_wks")("match")] = !1, _$RegExp(re1) != re1 || _$RegExp(re2) == re2 || "/a/i" != _$RegExp(re1, "i");
      }))) {
        _$RegExp = function $RegExp(e, r) {
          var i = this instanceof _$RegExp,
              g = isRegExp(e),
              o = void 0 === r;
          return !i && g && e.constructor === _$RegExp && o ? e : inheritIfRequired(CORRECT_NEW ? new Base(g && !o ? e.source : e, r) : Base((g = e instanceof _$RegExp) ? e.source : e, g && o ? $flags.call(e) : r), i ? this : proto, _$RegExp);
        };

        for (var proxy = function proxy(e) {
          (e in _$RegExp) || dP(_$RegExp, e, {
            configurable: !0,
            get: function get() {
              return Base[e];
            },
            set: function set(r) {
              Base[e] = r;
            }
          });
        }, keys = gOPN(Base), i = 0; keys.length > i;) {
          proxy(keys[i++]);
        }

        proto.constructor = _$RegExp, _$RegExp.prototype = proto, require("./_redefine")(global, "RegExp", _$RegExp);
      }

      require("./_set-species")("RegExp");
    }, {
      "./_descriptors": 35,
      "./_fails": 41,
      "./_flags": 43,
      "./_global": 45,
      "./_inherit-if-required": 50,
      "./_is-regexp": 57,
      "./_object-dp": 74,
      "./_object-gopn": 78,
      "./_redefine": 93,
      "./_set-species": 96,
      "./_wks": 125
    }],
    221: [function (require, module, exports) {
      require("./_descriptors") && "g" != /./g.flags && require("./_object-dp").f(RegExp.prototype, "flags", {
        configurable: !0,
        get: require("./_flags")
      });
    }, {
      "./_descriptors": 35,
      "./_flags": 43,
      "./_object-dp": 74
    }],
    222: [function (require, module, exports) {
      require("./_fix-re-wks")("match", 1, function (r, i, n) {
        return [function (n) {
          "use strict";

          var t = r(this),
              e = null == n ? void 0 : n[i];
          return void 0 !== e ? e.call(n, t) : new RegExp(n)[i](String(t));
        }, n];
      });
    }, {
      "./_fix-re-wks": 42
    }],
    223: [function (require, module, exports) {
      require("./_fix-re-wks")("replace", 2, function (r, i, e) {
        return [function (n, t) {
          "use strict";

          var l = r(this),
              u = null == n ? void 0 : n[i];
          return void 0 !== u ? u.call(n, l, t) : e.call(String(l), n, t);
        }, e];
      });
    }, {
      "./_fix-re-wks": 42
    }],
    224: [function (require, module, exports) {
      require("./_fix-re-wks")("search", 1, function (r, e, i) {
        return [function (i) {
          "use strict";

          var n = r(this),
              t = null == i ? void 0 : i[e];
          return void 0 !== t ? t.call(i, n) : new RegExp(i)[e](String(n));
        }, i];
      });
    }, {
      "./_fix-re-wks": 42
    }],
    225: [function (require, module, exports) {
      require("./_fix-re-wks")("split", 2, function (e, i, t) {
        "use strict";

        var n = require("./_is-regexp"),
            l = t,
            s = [].push;

        if ("c" == "abbc".split(/(b)*/)[1] || 4 != "test".split(/(?:)/, -1).length || 2 != "ab".split(/(?:ab)*/).length || 4 != ".".split(/(.?)(.?)/).length || ".".split(/()()/).length > 1 || "".split(/.?/).length) {
          var r = void 0 === /()??/.exec("")[1];

          t = function t(e, i) {
            var t = String(this);
            if (void 0 === e && 0 === i) return [];
            if (!n(e)) return l.call(t, e, i);
            var u,
                c,
                g,
                h,
                o,
                p = [],
                a = (e.ignoreCase ? "i" : "") + (e.multiline ? "m" : "") + (e.unicode ? "u" : "") + (e.sticky ? "y" : ""),
                d = 0,
                v = void 0 === i ? 4294967295 : i >>> 0,
                x = new RegExp(e.source, a + "g");

            for (r || (u = new RegExp("^" + x.source + "$(?!\\s)", a)); (c = x.exec(t)) && !((g = c.index + c[0].length) > d && (p.push(t.slice(d, c.index)), !r && c.length > 1 && c[0].replace(u, function () {
              for (o = 1; o < arguments.length - 2; o++) {
                void 0 === arguments[o] && (c[o] = void 0);
              }
            }), c.length > 1 && c.index < t.length && s.apply(p, c.slice(1)), h = c[0].length, d = g, p.length >= v));) {
              x.lastIndex === c.index && x.lastIndex++;
            }

            return d === t.length ? !h && x.test("") || p.push("") : p.push(t.slice(d)), p.length > v ? p.slice(0, v) : p;
          };
        } else "0".split(void 0, 0).length && (t = function t(e, i) {
          return void 0 === e && 0 === i ? [] : l.call(this, e, i);
        });

        return [function (n, l) {
          var s = e(this),
              r = null == n ? void 0 : n[i];
          return void 0 !== r ? r.call(n, s, l) : t.call(String(s), n, l);
        }, t];
      });
    }, {
      "./_fix-re-wks": 42,
      "./_is-regexp": 57
    }],
    226: [function (require, module, exports) {
      "use strict";

      require("./es6.regexp.flags");

      var anObject = require("./_an-object"),
          $flags = require("./_flags"),
          DESCRIPTORS = require("./_descriptors"),
          TO_STRING = "toString",
          $toString = /./[TO_STRING],
          define = function define(e) {
        require("./_redefine")(RegExp.prototype, TO_STRING, e, !0);
      };

      require("./_fails")(function () {
        return "/a/b" != $toString.call({
          source: "a",
          flags: "b"
        });
      }) ? define(function () {
        var e = anObject(this);
        return "/".concat(e.source, "/", "flags" in e ? e.flags : !DESCRIPTORS && e instanceof RegExp ? $flags.call(e) : void 0);
      }) : $toString.name != TO_STRING && define(function () {
        return $toString.call(this);
      });
    }, {
      "./_an-object": 15,
      "./_descriptors": 35,
      "./_fails": 41,
      "./_flags": 43,
      "./_redefine": 93,
      "./es6.regexp.flags": 221
    }],
    227: [function (require, module, exports) {
      "use strict";

      var strong = require("./_collection-strong"),
          validate = require("./_validate-collection"),
          SET = "Set";

      module.exports = require("./_collection")(SET, function (t) {
        return function () {
          return t(this, arguments.length > 0 ? arguments[0] : void 0);
        };
      }, {
        add: function add(t) {
          return strong.def(validate(this, SET), t = 0 === t ? 0 : t, t);
        }
      }, strong);
    }, {
      "./_collection": 28,
      "./_collection-strong": 26,
      "./_validate-collection": 122
    }],
    228: [function (require, module, exports) {
      "use strict";

      require("./_string-html")("anchor", function (n) {
        return function (r) {
          return n(this, "a", "name", r);
        };
      });
    }, {
      "./_string-html": 104
    }],
    229: [function (require, module, exports) {
      "use strict";

      require("./_string-html")("big", function (t) {
        return function () {
          return t(this, "big", "", "");
        };
      });
    }, {
      "./_string-html": 104
    }],
    230: [function (require, module, exports) {
      "use strict";

      require("./_string-html")("blink", function (n) {
        return function () {
          return n(this, "blink", "", "");
        };
      });
    }, {
      "./_string-html": 104
    }],
    231: [function (require, module, exports) {
      "use strict";

      require("./_string-html")("bold", function (t) {
        return function () {
          return t(this, "b", "", "");
        };
      });
    }, {
      "./_string-html": 104
    }],
    232: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          $at = require("./_string-at")(!1);

      $export($export.P, "String", {
        codePointAt: function codePointAt(t) {
          return $at(this, t);
        }
      });
    }, {
      "./_export": 39,
      "./_string-at": 102
    }],
    233: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          toLength = require("./_to-length"),
          context = require("./_string-context"),
          ENDS_WITH = "endsWith",
          $endsWith = ""[ENDS_WITH];

      $export($export.P + $export.F * require("./_fails-is-regexp")(ENDS_WITH), "String", {
        endsWith: function endsWith(t) {
          var e = context(this, t, ENDS_WITH),
              n = arguments.length > 1 ? arguments[1] : void 0,
              r = toLength(e.length),
              i = void 0 === n ? r : Math.min(toLength(n), r),
              o = String(t);
          return $endsWith ? $endsWith.call(e, o, i) : e.slice(i - o.length, i) === o;
        }
      });
    }, {
      "./_export": 39,
      "./_fails-is-regexp": 40,
      "./_string-context": 103,
      "./_to-length": 114
    }],
    234: [function (require, module, exports) {
      "use strict";

      require("./_string-html")("fixed", function (t) {
        return function () {
          return t(this, "tt", "", "");
        };
      });
    }, {
      "./_string-html": 104
    }],
    235: [function (require, module, exports) {
      "use strict";

      require("./_string-html")("fontcolor", function (t) {
        return function (r) {
          return t(this, "font", "color", r);
        };
      });
    }, {
      "./_string-html": 104
    }],
    236: [function (require, module, exports) {
      "use strict";

      require("./_string-html")("fontsize", function (t) {
        return function (n) {
          return t(this, "font", "size", n);
        };
      });
    }, {
      "./_string-html": 104
    }],
    237: [function (require, module, exports) {
      var $export = require("./_export"),
          toAbsoluteIndex = require("./_to-absolute-index"),
          fromCharCode = String.fromCharCode,
          $fromCodePoint = String.fromCodePoint;

      $export($export.S + $export.F * (!!$fromCodePoint && 1 != $fromCodePoint.length), "String", {
        fromCodePoint: function fromCodePoint(o) {
          for (var r, e = [], t = arguments.length, n = 0; t > n;) {
            if (r = +arguments[n++], toAbsoluteIndex(r, 1114111) !== r) throw RangeError(r + " is not a valid code point");
            e.push(r < 65536 ? fromCharCode(r) : fromCharCode(55296 + ((r -= 65536) >> 10), r % 1024 + 56320));
          }

          return e.join("");
        }
      });
    }, {
      "./_export": 39,
      "./_to-absolute-index": 110
    }],
    238: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          context = require("./_string-context"),
          INCLUDES = "includes";

      $export($export.P + $export.F * require("./_fails-is-regexp")(INCLUDES), "String", {
        includes: function includes(e) {
          return !!~context(this, e, INCLUDES).indexOf(e, arguments.length > 1 ? arguments[1] : void 0);
        }
      });
    }, {
      "./_export": 39,
      "./_fails-is-regexp": 40,
      "./_string-context": 103
    }],
    239: [function (require, module, exports) {
      "use strict";

      require("./_string-html")("italics", function (t) {
        return function () {
          return t(this, "i", "", "");
        };
      });
    }, {
      "./_string-html": 104
    }],
    240: [function (require, module, exports) {
      "use strict";

      var $at = require("./_string-at")(!0);

      require("./_iter-define")(String, "String", function (t) {
        this._t = String(t), this._i = 0;
      }, function () {
        var t,
            i = this._t,
            e = this._i;
        return e >= i.length ? {
          value: void 0,
          done: !0
        } : (t = $at(i, e), this._i += t.length, {
          value: t,
          done: !1
        });
      });
    }, {
      "./_iter-define": 60,
      "./_string-at": 102
    }],
    241: [function (require, module, exports) {
      "use strict";

      require("./_string-html")("link", function (r) {
        return function (t) {
          return r(this, "a", "href", t);
        };
      });
    }, {
      "./_string-html": 104
    }],
    242: [function (require, module, exports) {
      var $export = require("./_export"),
          toIObject = require("./_to-iobject"),
          toLength = require("./_to-length");

      $export($export.S, "String", {
        raw: function raw(t) {
          for (var r = toIObject(t.raw), e = toLength(r.length), o = arguments.length, n = [], i = 0; e > i;) {
            n.push(String(r[i++])), i < o && n.push(String(arguments[i]));
          }

          return n.join("");
        }
      });
    }, {
      "./_export": 39,
      "./_to-iobject": 113,
      "./_to-length": 114
    }],
    243: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.P, "String", {
        repeat: require("./_string-repeat")
      });
    }, {
      "./_export": 39,
      "./_string-repeat": 106
    }],
    244: [function (require, module, exports) {
      "use strict";

      require("./_string-html")("small", function (t) {
        return function () {
          return t(this, "small", "", "");
        };
      });
    }, {
      "./_string-html": 104
    }],
    245: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          toLength = require("./_to-length"),
          context = require("./_string-context"),
          STARTS_WITH = "startsWith",
          $startsWith = ""[STARTS_WITH];

      $export($export.P + $export.F * require("./_fails-is-regexp")(STARTS_WITH), "String", {
        startsWith: function startsWith(t) {
          var e = context(this, t, STARTS_WITH),
              r = toLength(Math.min(arguments.length > 1 ? arguments[1] : void 0, e.length)),
              i = String(t);
          return $startsWith ? $startsWith.call(e, i, r) : e.slice(r, r + i.length) === i;
        }
      });
    }, {
      "./_export": 39,
      "./_fails-is-regexp": 40,
      "./_string-context": 103,
      "./_to-length": 114
    }],
    246: [function (require, module, exports) {
      "use strict";

      require("./_string-html")("strike", function (t) {
        return function () {
          return t(this, "strike", "", "");
        };
      });
    }, {
      "./_string-html": 104
    }],
    247: [function (require, module, exports) {
      "use strict";

      require("./_string-html")("sub", function (t) {
        return function () {
          return t(this, "sub", "", "");
        };
      });
    }, {
      "./_string-html": 104
    }],
    248: [function (require, module, exports) {
      "use strict";

      require("./_string-html")("sup", function (t) {
        return function () {
          return t(this, "sup", "", "");
        };
      });
    }, {
      "./_string-html": 104
    }],
    249: [function (require, module, exports) {
      "use strict";

      require("./_string-trim")("trim", function (r) {
        return function () {
          return r(this, 3);
        };
      });
    }, {
      "./_string-trim": 107
    }],
    250: [function (require, module, exports) {
      "use strict";

      var global = require("./_global"),
          has = require("./_has"),
          DESCRIPTORS = require("./_descriptors"),
          $export = require("./_export"),
          redefine = require("./_redefine"),
          META = require("./_meta").KEY,
          $fails = require("./_fails"),
          shared = require("./_shared"),
          setToStringTag = require("./_set-to-string-tag"),
          uid = require("./_uid"),
          wks = require("./_wks"),
          wksExt = require("./_wks-ext"),
          wksDefine = require("./_wks-define"),
          enumKeys = require("./_enum-keys"),
          isArray = require("./_is-array"),
          anObject = require("./_an-object"),
          isObject = require("./_is-object"),
          toIObject = require("./_to-iobject"),
          toPrimitive = require("./_to-primitive"),
          createDesc = require("./_property-desc"),
          _create = require("./_object-create"),
          gOPNExt = require("./_object-gopn-ext"),
          $GOPD = require("./_object-gopd"),
          $DP = require("./_object-dp"),
          $keys = require("./_object-keys"),
          gOPD = $GOPD.f,
          dP = $DP.f,
          gOPN = gOPNExt.f,
          _$Symbol = global.Symbol,
          $JSON = global.JSON,
          _stringify = $JSON && $JSON.stringify,
          PROTOTYPE = "prototype",
          HIDDEN = wks("_hidden"),
          TO_PRIMITIVE = wks("toPrimitive"),
          isEnum = {}.propertyIsEnumerable,
          SymbolRegistry = shared("symbol-registry"),
          AllSymbols = shared("symbols"),
          OPSymbols = shared("op-symbols"),
          ObjectProto = Object[PROTOTYPE],
          USE_NATIVE = "function" == typeof _$Symbol,
          QObject = global.QObject,
          setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild,
          setSymbolDesc = DESCRIPTORS && $fails(function () {
        return 7 != _create(dP({}, "a", {
          get: function get() {
            return dP(this, "a", {
              value: 7
            }).a;
          }
        })).a;
      }) ? function (e, r, t) {
        var o = gOPD(ObjectProto, r);
        o && delete ObjectProto[r], dP(e, r, t), o && e !== ObjectProto && dP(ObjectProto, r, o);
      } : dP,
          wrap = function wrap(e) {
        var r = AllSymbols[e] = _create(_$Symbol[PROTOTYPE]);

        return r._k = e, r;
      },
          isSymbol = USE_NATIVE && "symbol" == (0, _typeof5.default)(_$Symbol.iterator) ? function (e) {
        return "symbol" == (0, _typeof5.default)(e);
      } : function (e) {
        return e instanceof _$Symbol;
      },
          $defineProperty = function $defineProperty(e, r, t) {
        return e === ObjectProto && $defineProperty(OPSymbols, r, t), anObject(e), r = toPrimitive(r, !0), anObject(t), has(AllSymbols, r) ? (t.enumerable ? (has(e, HIDDEN) && e[HIDDEN][r] && (e[HIDDEN][r] = !1), t = _create(t, {
          enumerable: createDesc(0, !1)
        })) : (has(e, HIDDEN) || dP(e, HIDDEN, createDesc(1, {})), e[HIDDEN][r] = !0), setSymbolDesc(e, r, t)) : dP(e, r, t);
      },
          $defineProperties = function $defineProperties(e, r) {
        anObject(e);

        for (var t, o = enumKeys(r = toIObject(r)), i = 0, s = o.length; s > i;) {
          $defineProperty(e, t = o[i++], r[t]);
        }

        return e;
      },
          $create = function $create(e, r) {
        return void 0 === r ? _create(e) : $defineProperties(_create(e), r);
      },
          $propertyIsEnumerable = function $propertyIsEnumerable(e) {
        var r = isEnum.call(this, e = toPrimitive(e, !0));
        return !(this === ObjectProto && has(AllSymbols, e) && !has(OPSymbols, e)) && (!(r || !has(this, e) || !has(AllSymbols, e) || has(this, HIDDEN) && this[HIDDEN][e]) || r);
      },
          $getOwnPropertyDescriptor = function $getOwnPropertyDescriptor(e, r) {
        if (e = toIObject(e), r = toPrimitive(r, !0), e !== ObjectProto || !has(AllSymbols, r) || has(OPSymbols, r)) {
          var t = gOPD(e, r);
          return !t || !has(AllSymbols, r) || has(e, HIDDEN) && e[HIDDEN][r] || (t.enumerable = !0), t;
        }
      },
          $getOwnPropertyNames = function $getOwnPropertyNames(e) {
        for (var r, t = gOPN(toIObject(e)), o = [], i = 0; t.length > i;) {
          has(AllSymbols, r = t[i++]) || r == HIDDEN || r == META || o.push(r);
        }

        return o;
      },
          $getOwnPropertySymbols = function $getOwnPropertySymbols(e) {
        for (var r, t = e === ObjectProto, o = gOPN(t ? OPSymbols : toIObject(e)), i = [], s = 0; o.length > s;) {
          !has(AllSymbols, r = o[s++]) || t && !has(ObjectProto, r) || i.push(AllSymbols[r]);
        }

        return i;
      };

      USE_NATIVE || (redefine((_$Symbol = function $Symbol() {
        if (this instanceof _$Symbol) throw TypeError("Symbol is not a constructor!");

        var e = uid(arguments.length > 0 ? arguments[0] : void 0),
            r = function r(t) {
          this === ObjectProto && r.call(OPSymbols, t), has(this, HIDDEN) && has(this[HIDDEN], e) && (this[HIDDEN][e] = !1), setSymbolDesc(this, e, createDesc(1, t));
        };

        return DESCRIPTORS && setter && setSymbolDesc(ObjectProto, e, {
          configurable: !0,
          set: r
        }), wrap(e);
      })[PROTOTYPE], "toString", function () {
        return this._k;
      }), $GOPD.f = $getOwnPropertyDescriptor, $DP.f = $defineProperty, require("./_object-gopn").f = gOPNExt.f = $getOwnPropertyNames, require("./_object-pie").f = $propertyIsEnumerable, require("./_object-gops").f = $getOwnPropertySymbols, DESCRIPTORS && !require("./_library") && redefine(ObjectProto, "propertyIsEnumerable", $propertyIsEnumerable, !0), wksExt.f = function (e) {
        return wrap(wks(e));
      }), $export($export.G + $export.W + $export.F * !USE_NATIVE, {
        Symbol: _$Symbol
      });

      for (var es6Symbols = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), j = 0; es6Symbols.length > j;) {
        wks(es6Symbols[j++]);
      }

      for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) {
        wksDefine(wellKnownSymbols[k++]);
      }

      $export($export.S + $export.F * !USE_NATIVE, "Symbol", {
        for: function _for(e) {
          return has(SymbolRegistry, e += "") ? SymbolRegistry[e] : SymbolRegistry[e] = _$Symbol(e);
        },
        keyFor: function keyFor(e) {
          if (!isSymbol(e)) throw TypeError(e + " is not a symbol!");

          for (var r in SymbolRegistry) {
            if (SymbolRegistry[r] === e) return r;
          }
        },
        useSetter: function useSetter() {
          setter = !0;
        },
        useSimple: function useSimple() {
          setter = !1;
        }
      }), $export($export.S + $export.F * !USE_NATIVE, "Object", {
        create: $create,
        defineProperty: $defineProperty,
        defineProperties: $defineProperties,
        getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
        getOwnPropertyNames: $getOwnPropertyNames,
        getOwnPropertySymbols: $getOwnPropertySymbols
      }), $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {
        var e = _$Symbol();

        return "[null]" != _stringify([e]) || "{}" != _stringify({
          a: e
        }) || "{}" != _stringify(Object(e));
      })), "JSON", {
        stringify: function stringify(e) {
          for (var r, t, o = [e], i = 1; arguments.length > i;) {
            o.push(arguments[i++]);
          }

          if (t = r = o[1], (isObject(r) || void 0 !== e) && !isSymbol(e)) return isArray(r) || (r = function r(e, _r) {
            if ("function" == typeof t && (_r = t.call(this, e, _r)), !isSymbol(_r)) return _r;
          }), o[1] = r, _stringify.apply($JSON, o);
        }
      }), _$Symbol[PROTOTYPE][TO_PRIMITIVE] || require("./_hide")(_$Symbol[PROTOTYPE], TO_PRIMITIVE, _$Symbol[PROTOTYPE].valueOf), setToStringTag(_$Symbol, "Symbol"), setToStringTag(Math, "Math", !0), setToStringTag(global.JSON, "JSON", !0);
    }, {
      "./_an-object": 15,
      "./_descriptors": 35,
      "./_enum-keys": 38,
      "./_export": 39,
      "./_fails": 41,
      "./_global": 45,
      "./_has": 46,
      "./_hide": 47,
      "./_is-array": 54,
      "./_is-object": 56,
      "./_library": 64,
      "./_meta": 69,
      "./_object-create": 73,
      "./_object-dp": 74,
      "./_object-gopd": 76,
      "./_object-gopn": 78,
      "./_object-gopn-ext": 77,
      "./_object-gops": 79,
      "./_object-keys": 82,
      "./_object-pie": 83,
      "./_property-desc": 91,
      "./_redefine": 93,
      "./_set-to-string-tag": 97,
      "./_shared": 99,
      "./_to-iobject": 113,
      "./_to-primitive": 116,
      "./_uid": 120,
      "./_wks": 125,
      "./_wks-define": 123,
      "./_wks-ext": 124
    }],
    251: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          $typed = require("./_typed"),
          buffer = require("./_typed-buffer"),
          anObject = require("./_an-object"),
          toAbsoluteIndex = require("./_to-absolute-index"),
          toLength = require("./_to-length"),
          isObject = require("./_is-object"),
          ArrayBuffer = require("./_global").ArrayBuffer,
          speciesConstructor = require("./_species-constructor"),
          $ArrayBuffer = buffer.ArrayBuffer,
          $DataView = buffer.DataView,
          $isView = $typed.ABV && ArrayBuffer.isView,
          $slice = $ArrayBuffer.prototype.slice,
          VIEW = $typed.VIEW,
          ARRAY_BUFFER = "ArrayBuffer";

      $export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), {
        ArrayBuffer: $ArrayBuffer
      }), $export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {
        isView: function isView(e) {
          return $isView && $isView(e) || isObject(e) && VIEW in e;
        }
      }), $export($export.P + $export.U + $export.F * require("./_fails")(function () {
        return !new $ArrayBuffer(2).slice(1, void 0).byteLength;
      }), ARRAY_BUFFER, {
        slice: function slice(e, r) {
          if (void 0 !== $slice && void 0 === r) return $slice.call(anObject(this), e);

          for (var t = anObject(this).byteLength, i = toAbsoluteIndex(e, t), o = toAbsoluteIndex(void 0 === r ? t : r, t), u = new (speciesConstructor(this, $ArrayBuffer))(toLength(o - i)), f = new $DataView(this), s = new $DataView(u), n = 0; i < o;) {
            s.setUint8(n++, f.getUint8(i++));
          }

          return u;
        }
      }), require("./_set-species")(ARRAY_BUFFER);
    }, {
      "./_an-object": 15,
      "./_export": 39,
      "./_fails": 41,
      "./_global": 45,
      "./_is-object": 56,
      "./_set-species": 96,
      "./_species-constructor": 100,
      "./_to-absolute-index": 110,
      "./_to-length": 114,
      "./_typed": 119,
      "./_typed-buffer": 118
    }],
    252: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.G + $export.W + $export.F * !require("./_typed").ABV, {
        DataView: require("./_typed-buffer").DataView
      });
    }, {
      "./_export": 39,
      "./_typed": 119,
      "./_typed-buffer": 118
    }],
    253: [function (require, module, exports) {
      require("./_typed-array")("Float32", 4, function (r) {
        return function (t, n, e) {
          return r(this, t, n, e);
        };
      });
    }, {
      "./_typed-array": 117
    }],
    254: [function (require, module, exports) {
      require("./_typed-array")("Float64", 8, function (r) {
        return function (t, n, e) {
          return r(this, t, n, e);
        };
      });
    }, {
      "./_typed-array": 117
    }],
    255: [function (require, module, exports) {
      require("./_typed-array")("Int16", 2, function (r) {
        return function (n, t, e) {
          return r(this, n, t, e);
        };
      });
    }, {
      "./_typed-array": 117
    }],
    256: [function (require, module, exports) {
      require("./_typed-array")("Int32", 4, function (r) {
        return function (n, t, e) {
          return r(this, n, t, e);
        };
      });
    }, {
      "./_typed-array": 117
    }],
    257: [function (require, module, exports) {
      require("./_typed-array")("Int8", 1, function (r) {
        return function (n, t, e) {
          return r(this, n, t, e);
        };
      });
    }, {
      "./_typed-array": 117
    }],
    258: [function (require, module, exports) {
      require("./_typed-array")("Uint16", 2, function (r) {
        return function (n, t, e) {
          return r(this, n, t, e);
        };
      });
    }, {
      "./_typed-array": 117
    }],
    259: [function (require, module, exports) {
      require("./_typed-array")("Uint32", 4, function (r) {
        return function (n, t, e) {
          return r(this, n, t, e);
        };
      });
    }, {
      "./_typed-array": 117
    }],
    260: [function (require, module, exports) {
      require("./_typed-array")("Uint8", 1, function (r) {
        return function (n, t, e) {
          return r(this, n, t, e);
        };
      });
    }, {
      "./_typed-array": 117
    }],
    261: [function (require, module, exports) {
      require("./_typed-array")("Uint8", 1, function (r) {
        return function (n, t, e) {
          return r(this, n, t, e);
        };
      }, !0);
    }, {
      "./_typed-array": 117
    }],
    262: [function (require, module, exports) {
      "use strict";

      var InternalMap,
          each = require("./_array-methods")(0),
          redefine = require("./_redefine"),
          meta = require("./_meta"),
          assign = require("./_object-assign"),
          weak = require("./_collection-weak"),
          isObject = require("./_is-object"),
          fails = require("./_fails"),
          validate = require("./_validate-collection"),
          WEAK_MAP = "WeakMap",
          getWeak = meta.getWeak,
          isExtensible = Object.isExtensible,
          uncaughtFrozenStore = weak.ufstore,
          tmp = {},
          wrapper = function wrapper(e) {
        return function () {
          return e(this, arguments.length > 0 ? arguments[0] : void 0);
        };
      },
          methods = {
        get: function get(e) {
          if (isObject(e)) {
            var t = getWeak(e);
            return !0 === t ? uncaughtFrozenStore(validate(this, WEAK_MAP)).get(e) : t ? t[this._i] : void 0;
          }
        },
        set: function set(e, t) {
          return weak.def(validate(this, WEAK_MAP), e, t);
        }
      },
          $WeakMap = module.exports = require("./_collection")(WEAK_MAP, wrapper, methods, weak, !0, !0);

      fails(function () {
        return 7 != new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp);
      }) && (assign((InternalMap = weak.getConstructor(wrapper, WEAK_MAP)).prototype, methods), meta.NEED = !0, each(["delete", "has", "get", "set"], function (e) {
        var t = $WeakMap.prototype,
            r = t[e];
        redefine(t, e, function (t, i) {
          if (isObject(t) && !isExtensible(t)) {
            this._f || (this._f = new InternalMap());

            var a = this._f[e](t, i);

            return "set" == e ? this : a;
          }

          return r.call(this, t, i);
        });
      }));
    }, {
      "./_array-methods": 19,
      "./_collection": 28,
      "./_collection-weak": 27,
      "./_fails": 41,
      "./_is-object": 56,
      "./_meta": 69,
      "./_object-assign": 72,
      "./_redefine": 93,
      "./_validate-collection": 122
    }],
    263: [function (require, module, exports) {
      "use strict";

      var weak = require("./_collection-weak"),
          validate = require("./_validate-collection"),
          WEAK_SET = "WeakSet";

      require("./_collection")(WEAK_SET, function (e) {
        return function () {
          return e(this, arguments.length > 0 ? arguments[0] : void 0);
        };
      }, {
        add: function add(e) {
          return weak.def(validate(this, WEAK_SET), e, !0);
        }
      }, weak, !1, !0);
    }, {
      "./_collection": 28,
      "./_collection-weak": 27,
      "./_validate-collection": 122
    }],
    264: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          $includes = require("./_array-includes")(!0);

      $export($export.P, "Array", {
        includes: function includes(e) {
          return $includes(this, e, arguments.length > 1 ? arguments[1] : void 0);
        }
      }), require("./_add-to-unscopables")("includes");
    }, {
      "./_add-to-unscopables": 13,
      "./_array-includes": 18,
      "./_export": 39
    }],
    265: [function (require, module, exports) {
      var $export = require("./_export"),
          $entries = require("./_object-to-array")(!0);

      $export($export.S, "Object", {
        entries: function entries(e) {
          return $entries(e);
        }
      });
    }, {
      "./_export": 39,
      "./_object-to-array": 85
    }],
    266: [function (require, module, exports) {
      var $export = require("./_export"),
          ownKeys = require("./_own-keys"),
          toIObject = require("./_to-iobject"),
          gOPD = require("./_object-gopd"),
          createProperty = require("./_create-property");

      $export($export.S, "Object", {
        getOwnPropertyDescriptors: function getOwnPropertyDescriptors(e) {
          for (var r, t, o = toIObject(e), p = gOPD.f, c = ownKeys(o), i = {}, n = 0; c.length > n;) {
            void 0 !== (t = p(o, r = c[n++])) && createProperty(i, r, t);
          }

          return i;
        }
      });
    }, {
      "./_create-property": 30,
      "./_export": 39,
      "./_object-gopd": 76,
      "./_own-keys": 86,
      "./_to-iobject": 113
    }],
    267: [function (require, module, exports) {
      var $export = require("./_export"),
          $values = require("./_object-to-array")(!1);

      $export($export.S, "Object", {
        values: function values(e) {
          return $values(e);
        }
      });
    }, {
      "./_export": 39,
      "./_object-to-array": 85
    }],
    268: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          core = require("./_core"),
          global = require("./_global"),
          speciesConstructor = require("./_species-constructor"),
          promiseResolve = require("./_promise-resolve");

      $export($export.P + $export.R, "Promise", {
        finally: function _finally(e) {
          var r = speciesConstructor(this, core.Promise || global.Promise),
              o = "function" == typeof e;
          return this.then(o ? function (o) {
            return promiseResolve(r, e()).then(function () {
              return o;
            });
          } : e, o ? function (o) {
            return promiseResolve(r, e()).then(function () {
              throw o;
            });
          } : e);
        }
      });
    }, {
      "./_core": 29,
      "./_export": 39,
      "./_global": 45,
      "./_promise-resolve": 90,
      "./_species-constructor": 100
    }],
    269: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          $pad = require("./_string-pad"),
          userAgent = require("./_user-agent");

      $export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), "String", {
        padEnd: function padEnd(e) {
          return $pad(this, e, arguments.length > 1 ? arguments[1] : void 0, !1);
        }
      });
    }, {
      "./_export": 39,
      "./_string-pad": 105,
      "./_user-agent": 121
    }],
    270: [function (require, module, exports) {
      "use strict";

      var $export = require("./_export"),
          $pad = require("./_string-pad"),
          userAgent = require("./_user-agent");

      $export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), "String", {
        padStart: function padStart(r) {
          return $pad(this, r, arguments.length > 1 ? arguments[1] : void 0, !0);
        }
      });
    }, {
      "./_export": 39,
      "./_string-pad": 105,
      "./_user-agent": 121
    }],
    271: [function (require, module, exports) {
      require("./_wks-define")("asyncIterator");
    }, {
      "./_wks-define": 123
    }],
    272: [function (require, module, exports) {
      for (var $iterators = require("./es6.array.iterator"), getKeys = require("./_object-keys"), redefine = require("./_redefine"), global = require("./_global"), hide = require("./_hide"), Iterators = require("./_iterators"), wks = require("./_wks"), ITERATOR = wks("iterator"), TO_STRING_TAG = wks("toStringTag"), ArrayValues = Iterators.Array, DOMIterables = {
        CSSRuleList: !0,
        CSSStyleDeclaration: !1,
        CSSValueList: !1,
        ClientRectList: !1,
        DOMRectList: !1,
        DOMStringList: !1,
        DOMTokenList: !0,
        DataTransferItemList: !1,
        FileList: !1,
        HTMLAllCollection: !1,
        HTMLCollection: !1,
        HTMLFormElement: !1,
        HTMLSelectElement: !1,
        MediaList: !0,
        MimeTypeArray: !1,
        NamedNodeMap: !1,
        NodeList: !0,
        PaintRequestList: !1,
        Plugin: !1,
        PluginArray: !1,
        SVGLengthList: !1,
        SVGNumberList: !1,
        SVGPathSegList: !1,
        SVGPointList: !1,
        SVGStringList: !1,
        SVGTransformList: !1,
        SourceBufferList: !1,
        StyleSheetList: !0,
        TextTrackCueList: !1,
        TextTrackList: !1,
        TouchList: !1
      }, collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {
        var key,
            NAME = collections[i],
            explicit = DOMIterables[NAME],
            Collection = global[NAME],
            proto = Collection && Collection.prototype;
        if (proto && (proto[ITERATOR] || hide(proto, ITERATOR, ArrayValues), proto[TO_STRING_TAG] || hide(proto, TO_STRING_TAG, NAME), Iterators[NAME] = ArrayValues, explicit)) for (key in $iterators) {
          proto[key] || redefine(proto, key, $iterators[key], !0);
        }
      }
    }, {
      "./_global": 45,
      "./_hide": 47,
      "./_iterators": 63,
      "./_object-keys": 82,
      "./_redefine": 93,
      "./_wks": 125,
      "./es6.array.iterator": 137
    }],
    273: [function (require, module, exports) {
      var $export = require("./_export"),
          $task = require("./_task");

      $export($export.G + $export.B, {
        setImmediate: $task.set,
        clearImmediate: $task.clear
      });
    }, {
      "./_export": 39,
      "./_task": 109
    }],
    274: [function (require, module, exports) {
      var global = require("./_global"),
          $export = require("./_export"),
          userAgent = require("./_user-agent"),
          slice = [].slice,
          MSIE = /MSIE .\./.test(userAgent),
          wrap = function wrap(e) {
        return function (t, r) {
          var n = arguments.length > 2,
              o = !!n && slice.call(arguments, 2);
          return e(n ? function () {
            ("function" == typeof t ? t : Function(t)).apply(this, o);
          } : t, r);
        };
      };

      $export($export.G + $export.B + $export.F * MSIE, {
        setTimeout: wrap(global.setTimeout),
        setInterval: wrap(global.setInterval)
      });
    }, {
      "./_export": 39,
      "./_global": 45,
      "./_user-agent": 121
    }],
    275: [function (require, module, exports) {
      require("../modules/web.timers"), require("../modules/web.immediate"), require("../modules/web.dom.iterable"), module.exports = require("../modules/_core");
    }, {
      "../modules/_core": 29,
      "../modules/web.dom.iterable": 272,
      "../modules/web.immediate": 273,
      "../modules/web.timers": 274
    }],
    276: [function (require, module, exports) {
      !function (t) {
        "use strict";

        var r,
            e = Object.prototype,
            n = e.hasOwnProperty,
            o = "function" == typeof Symbol ? Symbol : {},
            i = o.iterator || "@@iterator",
            a = o.asyncIterator || "@@asyncIterator",
            c = o.toStringTag || "@@toStringTag",
            u = "object" == (0, _typeof5.default)(module),
            h = t.regeneratorRuntime;
        if (h) u && (module.exports = h);else {
          (h = t.regeneratorRuntime = u ? module.exports : {}).wrap = w;
          var s = "suspendedStart",
              f = "suspendedYield",
              l = "executing",
              p = "completed",
              y = {},
              v = {};

          v[i] = function () {
            return this;
          };

          var d = Object.getPrototypeOf,
              g = d && d(d(P([])));
          g && g !== e && n.call(g, i) && (v = g);
          var m = b.prototype = x.prototype = Object.create(v);
          E.prototype = m.constructor = b, b.constructor = E, b[c] = E.displayName = "GeneratorFunction", h.isGeneratorFunction = function (t) {
            var r = "function" == typeof t && t.constructor;
            return !!r && (r === E || "GeneratorFunction" === (r.displayName || r.name));
          }, h.mark = function (t) {
            return Object.setPrototypeOf ? Object.setPrototypeOf(t, b) : (t.__proto__ = b, c in t || (t[c] = "GeneratorFunction")), t.prototype = Object.create(m), t;
          }, h.awrap = function (t) {
            return {
              __await: t
            };
          }, _(j.prototype), j.prototype[a] = function () {
            return this;
          }, h.AsyncIterator = j, h.async = function (t, r, e, n) {
            var o = new j(w(t, r, e, n));
            return h.isGeneratorFunction(r) ? o : o.next().then(function (t) {
              return t.done ? t.value : o.next();
            });
          }, _(m), m[c] = "Generator", m[i] = function () {
            return this;
          }, m.toString = function () {
            return "[object Generator]";
          }, h.keys = function (t) {
            var r = [];

            for (var e in t) {
              r.push(e);
            }

            return r.reverse(), function e() {
              for (; r.length;) {
                var n = r.pop();
                if (n in t) return e.value = n, e.done = !1, e;
              }

              return e.done = !0, e;
            };
          }, h.values = P, N.prototype = {
            constructor: N,
            reset: function reset(t) {
              if (this.prev = 0, this.next = 0, this.sent = this._sent = r, this.done = !1, this.delegate = null, this.method = "next", this.arg = r, this.tryEntries.forEach(G), !t) for (var e in this) {
                "t" === e.charAt(0) && n.call(this, e) && !isNaN(+e.slice(1)) && (this[e] = r);
              }
            },
            stop: function stop() {
              this.done = !0;
              var t = this.tryEntries[0].completion;
              if ("throw" === t.type) throw t.arg;
              return this.rval;
            },
            dispatchException: function dispatchException(t) {
              if (this.done) throw t;
              var e = this;

              function o(n, o) {
                return c.type = "throw", c.arg = t, e.next = n, o && (e.method = "next", e.arg = r), !!o;
              }

              for (var i = this.tryEntries.length - 1; i >= 0; --i) {
                var a = this.tryEntries[i],
                    c = a.completion;
                if ("root" === a.tryLoc) return o("end");

                if (a.tryLoc <= this.prev) {
                  var u = n.call(a, "catchLoc"),
                      h = n.call(a, "finallyLoc");

                  if (u && h) {
                    if (this.prev < a.catchLoc) return o(a.catchLoc, !0);
                    if (this.prev < a.finallyLoc) return o(a.finallyLoc);
                  } else if (u) {
                    if (this.prev < a.catchLoc) return o(a.catchLoc, !0);
                  } else {
                    if (!h) throw new Error("try statement without catch or finally");
                    if (this.prev < a.finallyLoc) return o(a.finallyLoc);
                  }
                }
              }
            },
            abrupt: function abrupt(t, r) {
              for (var e = this.tryEntries.length - 1; e >= 0; --e) {
                var o = this.tryEntries[e];

                if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
                  var i = o;
                  break;
                }
              }

              i && ("break" === t || "continue" === t) && i.tryLoc <= r && r <= i.finallyLoc && (i = null);
              var a = i ? i.completion : {};
              return a.type = t, a.arg = r, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
            },
            complete: function complete(t, r) {
              if ("throw" === t.type) throw t.arg;
              return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && r && (this.next = r), y;
            },
            finish: function finish(t) {
              for (var r = this.tryEntries.length - 1; r >= 0; --r) {
                var e = this.tryEntries[r];
                if (e.finallyLoc === t) return this.complete(e.completion, e.afterLoc), G(e), y;
              }
            },
            catch: function _catch(t) {
              for (var r = this.tryEntries.length - 1; r >= 0; --r) {
                var e = this.tryEntries[r];

                if (e.tryLoc === t) {
                  var n = e.completion;

                  if ("throw" === n.type) {
                    var o = n.arg;
                    G(e);
                  }

                  return o;
                }
              }

              throw new Error("illegal catch attempt");
            },
            delegateYield: function delegateYield(t, e, n) {
              return this.delegate = {
                iterator: P(t),
                resultName: e,
                nextLoc: n
              }, "next" === this.method && (this.arg = r), y;
            }
          };
        }

        function w(t, r, e, n) {
          var o = r && r.prototype instanceof x ? r : x,
              i = Object.create(o.prototype),
              a = new N(n || []);
          return i._invoke = function (t, r, e) {
            var n = s;
            return function (o, i) {
              if (n === l) throw new Error("Generator is already running");

              if (n === p) {
                if ("throw" === o) throw i;
                return F();
              }

              for (e.method = o, e.arg = i;;) {
                var a = e.delegate;

                if (a) {
                  var c = O(a, e);

                  if (c) {
                    if (c === y) continue;
                    return c;
                  }
                }

                if ("next" === e.method) e.sent = e._sent = e.arg;else if ("throw" === e.method) {
                  if (n === s) throw n = p, e.arg;
                  e.dispatchException(e.arg);
                } else "return" === e.method && e.abrupt("return", e.arg);
                n = l;
                var u = L(t, r, e);

                if ("normal" === u.type) {
                  if (n = e.done ? p : f, u.arg === y) continue;
                  return {
                    value: u.arg,
                    done: e.done
                  };
                }

                "throw" === u.type && (n = p, e.method = "throw", e.arg = u.arg);
              }
            };
          }(t, e, a), i;
        }

        function L(t, r, e) {
          try {
            return {
              type: "normal",
              arg: t.call(r, e)
            };
          } catch (t) {
            return {
              type: "throw",
              arg: t
            };
          }
        }

        function x() {}

        function E() {}

        function b() {}

        function _(t) {
          ["next", "throw", "return"].forEach(function (r) {
            t[r] = function (t) {
              return this._invoke(r, t);
            };
          });
        }

        function j(t) {
          var r;

          this._invoke = function (e, o) {
            function i() {
              return new Promise(function (r, i) {
                !function r(e, o, i, a) {
                  var c = L(t[e], t, o);

                  if ("throw" !== c.type) {
                    var u = c.arg,
                        h = u.value;
                    return h && "object" == (0, _typeof5.default)(h) && n.call(h, "__await") ? Promise.resolve(h.__await).then(function (t) {
                      r("next", t, i, a);
                    }, function (t) {
                      r("throw", t, i, a);
                    }) : Promise.resolve(h).then(function (t) {
                      u.value = t, i(u);
                    }, a);
                  }

                  a(c.arg);
                }(e, o, r, i);
              });
            }

            return r = r ? r.then(i, i) : i();
          };
        }

        function O(t, e) {
          var n = t.iterator[e.method];

          if (n === r) {
            if (e.delegate = null, "throw" === e.method) {
              if (t.iterator.return && (e.method = "return", e.arg = r, O(t, e), "throw" === e.method)) return y;
              e.method = "throw", e.arg = new TypeError("The iterator does not provide a 'throw' method");
            }

            return y;
          }

          var o = L(n, t.iterator, e.arg);
          if ("throw" === o.type) return e.method = "throw", e.arg = o.arg, e.delegate = null, y;
          var i = o.arg;
          return i ? i.done ? (e[t.resultName] = i.value, e.next = t.nextLoc, "return" !== e.method && (e.method = "next", e.arg = r), e.delegate = null, y) : i : (e.method = "throw", e.arg = new TypeError("iterator result is not an object"), e.delegate = null, y);
        }

        function k(t) {
          var r = {
            tryLoc: t[0]
          };
          1 in t && (r.catchLoc = t[1]), 2 in t && (r.finallyLoc = t[2], r.afterLoc = t[3]), this.tryEntries.push(r);
        }

        function G(t) {
          var r = t.completion || {};
          r.type = "normal", delete r.arg, t.completion = r;
        }

        function N(t) {
          this.tryEntries = [{
            tryLoc: "root"
          }], t.forEach(k, this), this.reset(!0);
        }

        function P(t) {
          if (t) {
            var e = t[i];
            if (e) return e.call(t);
            if ("function" == typeof t.next) return t;

            if (!isNaN(t.length)) {
              var o = -1,
                  a = function e() {
                for (; ++o < t.length;) {
                  if (n.call(t, o)) return e.value = t[o], e.done = !1, e;
                }

                return e.value = r, e.done = !0, e;
              };

              return a.next = a;
            }
          }

          return {
            next: F
          };
        }

        function F() {
          return {
            value: r,
            done: !0
          };
        }
      }(function () {
        return this;
      }() || Function("return this")());
    }, {}],
    277: [function (require, module, exports) {
      function _arrayWithoutHoles(r) {
        if (Array.isArray(r)) {
          for (var t = 0, a = new Array(r.length); t < r.length; t++) {
            a[t] = r[t];
          }

          return a;
        }
      }

      module.exports = _arrayWithoutHoles;
    }, {}],
    278: [function (require, module, exports) {
      function _assertThisInitialized(e) {
        if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return e;
      }

      module.exports = _assertThisInitialized;
    }, {}],
    279: [function (require, module, exports) {
      function asyncGeneratorStep(n, e, r, t, o, a, c) {
        try {
          var i = n[a](c),
              u = i.value;
        } catch (n) {
          return void r(n);
        }

        i.done ? e(u) : Promise.resolve(u).then(t, o);
      }

      function _asyncToGenerator(n) {
        return function () {
          var e = this,
              r = arguments;
          return new Promise(function (t, o) {
            var a = n.apply(e, r);

            function c(n) {
              asyncGeneratorStep(a, t, o, c, i, "next", n);
            }

            function i(n) {
              asyncGeneratorStep(a, t, o, c, i, "throw", n);
            }

            c(void 0);
          });
        };
      }

      module.exports = _asyncToGenerator;
    }, {}],
    280: [function (require, module, exports) {
      function _classCallCheck(a, l) {
        if (!(a instanceof l)) throw new TypeError("Cannot call a class as a function");
      }

      module.exports = _classCallCheck;
    }, {}],
    281: [function (require, module, exports) {
      function _defineProperties(e, r) {
        for (var t = 0; t < r.length; t++) {
          var n = r[t];
          n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);
        }
      }

      function _createClass(e, r, t) {
        return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), e;
      }

      module.exports = _createClass;
    }, {}],
    282: [function (require, module, exports) {
      function _defineProperty(e, r, n) {
        return r in e ? Object.defineProperty(e, r, {
          value: n,
          enumerable: !0,
          configurable: !0,
          writable: !0
        }) : e[r] = n, e;
      }

      module.exports = _defineProperty;
    }, {}],
    283: [function (require, module, exports) {
      function _getPrototypeOf(t) {
        return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function (t) {
          return t.__proto__ || Object.getPrototypeOf(t);
        }, _getPrototypeOf(t);
      }

      module.exports = _getPrototypeOf;
    }, {}],
    284: [function (require, module, exports) {
      var setPrototypeOf = require("./setPrototypeOf");

      function _inherits(e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");
        e.prototype = Object.create(t && t.prototype, {
          constructor: {
            value: e,
            writable: !0,
            configurable: !0
          }
        }), t && setPrototypeOf(e, t);
      }

      module.exports = _inherits;
    }, {
      "./setPrototypeOf": 290
    }],
    285: [function (require, module, exports) {
      function _interopRequireDefault(e) {
        return e && e.__esModule ? e : {
          default: e
        };
      }

      module.exports = _interopRequireDefault;
    }, {}],
    286: [function (require, module, exports) {
      function _iterableToArray(r) {
        if (Symbol.iterator in Object(r) || "[object Arguments]" === Object.prototype.toString.call(r)) return Array.from(r);
      }

      module.exports = _iterableToArray;
    }, {}],
    287: [function (require, module, exports) {
      function _nonIterableSpread() {
        throw new TypeError("Invalid attempt to spread non-iterable instance");
      }

      module.exports = _nonIterableSpread;
    }, {}],
    288: [function (require, module, exports) {
      var defineProperty = require("./defineProperty");

      function _objectSpread(e) {
        for (var r = 1; r < arguments.length; r++) {
          var t = null != arguments[r] ? arguments[r] : {},
              o = Object.keys(t);
          "function" == typeof Object.getOwnPropertySymbols && (o = o.concat(Object.getOwnPropertySymbols(t).filter(function (e) {
            return Object.getOwnPropertyDescriptor(t, e).enumerable;
          }))), o.forEach(function (r) {
            defineProperty(e, r, t[r]);
          });
        }

        return e;
      }

      module.exports = _objectSpread;
    }, {
      "./defineProperty": 282
    }],
    289: [function (require, module, exports) {
      var _typeof = require("../helpers/typeof"),
          assertThisInitialized = require("./assertThisInitialized");

      function _possibleConstructorReturn(e, t) {
        return !t || "object" !== _typeof(t) && "function" != typeof t ? assertThisInitialized(e) : t;
      }

      module.exports = _possibleConstructorReturn;
    }, {
      "../helpers/typeof": 292,
      "./assertThisInitialized": 278
    }],
    290: [function (require, module, exports) {
      function _setPrototypeOf(t, o) {
        return module.exports = _setPrototypeOf = Object.setPrototypeOf || function (t, o) {
          return t.__proto__ = o, t;
        }, _setPrototypeOf(t, o);
      }

      module.exports = _setPrototypeOf;
    }, {}],
    291: [function (require, module, exports) {
      var arrayWithoutHoles = require("./arrayWithoutHoles"),
          iterableToArray = require("./iterableToArray"),
          nonIterableSpread = require("./nonIterableSpread");

      function _toConsumableArray(r) {
        return arrayWithoutHoles(r) || iterableToArray(r) || nonIterableSpread();
      }

      module.exports = _toConsumableArray;
    }, {
      "./arrayWithoutHoles": 277,
      "./iterableToArray": 286,
      "./nonIterableSpread": 287
    }],
    292: [function (require, module, exports) {
      function _typeof2(o) {
        return (_typeof2 = "function" == typeof Symbol && "symbol" == (0, _typeof5.default)(Symbol.iterator) ? function (o) {
          return (0, _typeof5.default)(o);
        } : function (o) {
          return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : (0, _typeof5.default)(o);
        })(o);
      }

      function _typeof(o) {
        return "function" == typeof Symbol && "symbol" === _typeof2(Symbol.iterator) ? module.exports = _typeof = function _typeof(o) {
          return _typeof2(o);
        } : module.exports = _typeof = function _typeof(o) {
          return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : _typeof2(o);
        }, _typeof(o);
      }

      module.exports = _typeof;
    }, {}],
    293: [function (require, module, exports) {
      var g = function () {
        return this || "object" == (typeof self === "undefined" ? "undefined" : (0, _typeof5.default)(self)) && self;
      }() || Function("return this")(),
          hadRuntime = g.regeneratorRuntime && Object.getOwnPropertyNames(g).indexOf("regeneratorRuntime") >= 0,
          oldRuntime = hadRuntime && g.regeneratorRuntime;

      if (g.regeneratorRuntime = void 0, module.exports = require("./runtime"), hadRuntime) g.regeneratorRuntime = oldRuntime;else try {
        delete g.regeneratorRuntime;
      } catch (e) {
        g.regeneratorRuntime = void 0;
      }
    }, {
      "./runtime": 294
    }],
    294: [function (require, module, exports) {
      !function (t) {
        "use strict";

        var r,
            e = Object.prototype,
            n = e.hasOwnProperty,
            o = "function" == typeof Symbol ? Symbol : {},
            i = o.iterator || "@@iterator",
            a = o.asyncIterator || "@@asyncIterator",
            c = o.toStringTag || "@@toStringTag",
            u = "object" == (0, _typeof5.default)(module),
            h = t.regeneratorRuntime;
        if (h) u && (module.exports = h);else {
          (h = t.regeneratorRuntime = u ? module.exports : {}).wrap = w;
          var f = "suspendedStart",
              s = "suspendedYield",
              l = "executing",
              p = "completed",
              y = {},
              v = {};

          v[i] = function () {
            return this;
          };

          var d = Object.getPrototypeOf,
              g = d && d(d(P([])));
          g && g !== e && n.call(g, i) && (v = g);
          var m = b.prototype = x.prototype = Object.create(v);
          E.prototype = m.constructor = b, b.constructor = E, b[c] = E.displayName = "GeneratorFunction", h.isGeneratorFunction = function (t) {
            var r = "function" == typeof t && t.constructor;
            return !!r && (r === E || "GeneratorFunction" === (r.displayName || r.name));
          }, h.mark = function (t) {
            return Object.setPrototypeOf ? Object.setPrototypeOf(t, b) : (t.__proto__ = b, c in t || (t[c] = "GeneratorFunction")), t.prototype = Object.create(m), t;
          }, h.awrap = function (t) {
            return {
              __await: t
            };
          }, _(j.prototype), j.prototype[a] = function () {
            return this;
          }, h.AsyncIterator = j, h.async = function (t, r, e, n) {
            var o = new j(w(t, r, e, n));
            return h.isGeneratorFunction(r) ? o : o.next().then(function (t) {
              return t.done ? t.value : o.next();
            });
          }, _(m), m[c] = "Generator", m[i] = function () {
            return this;
          }, m.toString = function () {
            return "[object Generator]";
          }, h.keys = function (t) {
            var r = [];

            for (var e in t) {
              r.push(e);
            }

            return r.reverse(), function e() {
              for (; r.length;) {
                var n = r.pop();
                if (n in t) return e.value = n, e.done = !1, e;
              }

              return e.done = !0, e;
            };
          }, h.values = P, N.prototype = {
            constructor: N,
            reset: function reset(t) {
              if (this.prev = 0, this.next = 0, this.sent = this._sent = r, this.done = !1, this.delegate = null, this.method = "next", this.arg = r, this.tryEntries.forEach(G), !t) for (var e in this) {
                "t" === e.charAt(0) && n.call(this, e) && !isNaN(+e.slice(1)) && (this[e] = r);
              }
            },
            stop: function stop() {
              this.done = !0;
              var t = this.tryEntries[0].completion;
              if ("throw" === t.type) throw t.arg;
              return this.rval;
            },
            dispatchException: function dispatchException(t) {
              if (this.done) throw t;
              var e = this;

              function o(n, o) {
                return c.type = "throw", c.arg = t, e.next = n, o && (e.method = "next", e.arg = r), !!o;
              }

              for (var i = this.tryEntries.length - 1; i >= 0; --i) {
                var a = this.tryEntries[i],
                    c = a.completion;
                if ("root" === a.tryLoc) return o("end");

                if (a.tryLoc <= this.prev) {
                  var u = n.call(a, "catchLoc"),
                      h = n.call(a, "finallyLoc");

                  if (u && h) {
                    if (this.prev < a.catchLoc) return o(a.catchLoc, !0);
                    if (this.prev < a.finallyLoc) return o(a.finallyLoc);
                  } else if (u) {
                    if (this.prev < a.catchLoc) return o(a.catchLoc, !0);
                  } else {
                    if (!h) throw new Error("try statement without catch or finally");
                    if (this.prev < a.finallyLoc) return o(a.finallyLoc);
                  }
                }
              }
            },
            abrupt: function abrupt(t, r) {
              for (var e = this.tryEntries.length - 1; e >= 0; --e) {
                var o = this.tryEntries[e];

                if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
                  var i = o;
                  break;
                }
              }

              i && ("break" === t || "continue" === t) && i.tryLoc <= r && r <= i.finallyLoc && (i = null);
              var a = i ? i.completion : {};
              return a.type = t, a.arg = r, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
            },
            complete: function complete(t, r) {
              if ("throw" === t.type) throw t.arg;
              return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && r && (this.next = r), y;
            },
            finish: function finish(t) {
              for (var r = this.tryEntries.length - 1; r >= 0; --r) {
                var e = this.tryEntries[r];
                if (e.finallyLoc === t) return this.complete(e.completion, e.afterLoc), G(e), y;
              }
            },
            catch: function _catch(t) {
              for (var r = this.tryEntries.length - 1; r >= 0; --r) {
                var e = this.tryEntries[r];

                if (e.tryLoc === t) {
                  var n = e.completion;

                  if ("throw" === n.type) {
                    var o = n.arg;
                    G(e);
                  }

                  return o;
                }
              }

              throw new Error("illegal catch attempt");
            },
            delegateYield: function delegateYield(t, e, n) {
              return this.delegate = {
                iterator: P(t),
                resultName: e,
                nextLoc: n
              }, "next" === this.method && (this.arg = r), y;
            }
          };
        }

        function w(t, r, e, n) {
          var o = r && r.prototype instanceof x ? r : x,
              i = Object.create(o.prototype),
              a = new N(n || []);
          return i._invoke = function (t, r, e) {
            var n = f;
            return function (o, i) {
              if (n === l) throw new Error("Generator is already running");

              if (n === p) {
                if ("throw" === o) throw i;
                return F();
              }

              for (e.method = o, e.arg = i;;) {
                var a = e.delegate;

                if (a) {
                  var c = O(a, e);

                  if (c) {
                    if (c === y) continue;
                    return c;
                  }
                }

                if ("next" === e.method) e.sent = e._sent = e.arg;else if ("throw" === e.method) {
                  if (n === f) throw n = p, e.arg;
                  e.dispatchException(e.arg);
                } else "return" === e.method && e.abrupt("return", e.arg);
                n = l;
                var u = L(t, r, e);

                if ("normal" === u.type) {
                  if (n = e.done ? p : s, u.arg === y) continue;
                  return {
                    value: u.arg,
                    done: e.done
                  };
                }

                "throw" === u.type && (n = p, e.method = "throw", e.arg = u.arg);
              }
            };
          }(t, e, a), i;
        }

        function L(t, r, e) {
          try {
            return {
              type: "normal",
              arg: t.call(r, e)
            };
          } catch (t) {
            return {
              type: "throw",
              arg: t
            };
          }
        }

        function x() {}

        function E() {}

        function b() {}

        function _(t) {
          ["next", "throw", "return"].forEach(function (r) {
            t[r] = function (t) {
              return this._invoke(r, t);
            };
          });
        }

        function j(t) {
          var r;

          this._invoke = function (e, o) {
            function i() {
              return new Promise(function (r, i) {
                !function r(e, o, i, a) {
                  var c = L(t[e], t, o);

                  if ("throw" !== c.type) {
                    var u = c.arg,
                        h = u.value;
                    return h && "object" == (0, _typeof5.default)(h) && n.call(h, "__await") ? Promise.resolve(h.__await).then(function (t) {
                      r("next", t, i, a);
                    }, function (t) {
                      r("throw", t, i, a);
                    }) : Promise.resolve(h).then(function (t) {
                      u.value = t, i(u);
                    }, function (t) {
                      return r("throw", t, i, a);
                    });
                  }

                  a(c.arg);
                }(e, o, r, i);
              });
            }

            return r = r ? r.then(i, i) : i();
          };
        }

        function O(t, e) {
          var n = t.iterator[e.method];

          if (n === r) {
            if (e.delegate = null, "throw" === e.method) {
              if (t.iterator.return && (e.method = "return", e.arg = r, O(t, e), "throw" === e.method)) return y;
              e.method = "throw", e.arg = new TypeError("The iterator does not provide a 'throw' method");
            }

            return y;
          }

          var o = L(n, t.iterator, e.arg);
          if ("throw" === o.type) return e.method = "throw", e.arg = o.arg, e.delegate = null, y;
          var i = o.arg;
          return i ? i.done ? (e[t.resultName] = i.value, e.next = t.nextLoc, "return" !== e.method && (e.method = "next", e.arg = r), e.delegate = null, y) : i : (e.method = "throw", e.arg = new TypeError("iterator result is not an object"), e.delegate = null, y);
        }

        function k(t) {
          var r = {
            tryLoc: t[0]
          };
          1 in t && (r.catchLoc = t[1]), 2 in t && (r.finallyLoc = t[2], r.afterLoc = t[3]), this.tryEntries.push(r);
        }

        function G(t) {
          var r = t.completion || {};
          r.type = "normal", delete r.arg, t.completion = r;
        }

        function N(t) {
          this.tryEntries = [{
            tryLoc: "root"
          }], t.forEach(k, this), this.reset(!0);
        }

        function P(t) {
          if (t) {
            var e = t[i];
            if (e) return e.call(t);
            if ("function" == typeof t.next) return t;

            if (!isNaN(t.length)) {
              var o = -1,
                  a = function e() {
                for (; ++o < t.length;) {
                  if (n.call(t, o)) return e.value = t[o], e.done = !1, e;
                }

                return e.value = r, e.done = !0, e;
              };

              return a.next = a;
            }
          }

          return {
            next: F
          };
        }

        function F() {
          return {
            value: r,
            done: !0
          };
        }
      }(function () {
        return this || "object" == (typeof self === "undefined" ? "undefined" : (0, _typeof5.default)(self)) && self;
      }() || Function("return this")());
    }, {}],
    295: [function (require, module, exports) {
      module.exports = require("regenerator-runtime");
    }, {
      "regenerator-runtime": 293
    }],
    296: [function (require, module, exports) {
      module.exports = {
        default: require("core-js/library/fn/array/from"),
        __esModule: !0
      };
    }, {
      "core-js/library/fn/array/from": 318
    }],
    297: [function (require, module, exports) {
      module.exports = {
        default: require("core-js/library/fn/get-iterator"),
        __esModule: !0
      };
    }, {
      "core-js/library/fn/get-iterator": 319
    }],
    298: [function (require, module, exports) {
      module.exports = {
        default: require("core-js/library/fn/is-iterable"),
        __esModule: !0
      };
    }, {
      "core-js/library/fn/is-iterable": 320
    }],
    299: [function (require, module, exports) {
      module.exports = {
        default: require("core-js/library/fn/object/assign"),
        __esModule: !0
      };
    }, {
      "core-js/library/fn/object/assign": 321
    }],
    300: [function (require, module, exports) {
      module.exports = {
        default: require("core-js/library/fn/object/create"),
        __esModule: !0
      };
    }, {
      "core-js/library/fn/object/create": 322
    }],
    301: [function (require, module, exports) {
      module.exports = {
        default: require("core-js/library/fn/object/define-property"),
        __esModule: !0
      };
    }, {
      "core-js/library/fn/object/define-property": 323
    }],
    302: [function (require, module, exports) {
      module.exports = {
        default: require("core-js/library/fn/object/set-prototype-of"),
        __esModule: !0
      };
    }, {
      "core-js/library/fn/object/set-prototype-of": 324
    }],
    303: [function (require, module, exports) {
      module.exports = {
        default: require("core-js/library/fn/promise"),
        __esModule: !0
      };
    }, {
      "core-js/library/fn/promise": 325
    }],
    304: [function (require, module, exports) {
      module.exports = {
        default: require("core-js/library/fn/symbol"),
        __esModule: !0
      };
    }, {
      "core-js/library/fn/symbol": 326
    }],
    305: [function (require, module, exports) {
      module.exports = {
        default: require("core-js/library/fn/symbol/iterator"),
        __esModule: !0
      };
    }, {
      "core-js/library/fn/symbol/iterator": 327
    }],
    306: [function (require, module, exports) {
      "use strict";

      exports.__esModule = !0;

      var _promise = require("../core-js/promise"),
          _promise2 = _interopRequireDefault(_promise);

      function _interopRequireDefault(e) {
        return e && e.__esModule ? e : {
          default: e
        };
      }

      exports.default = function (e) {
        return function () {
          var r = e.apply(this, arguments);
          return new _promise2.default(function (e, t) {
            return function n(u, o) {
              try {
                var i = r[u](o),
                    s = i.value;
              } catch (e) {
                return void t(e);
              }

              if (!i.done) return _promise2.default.resolve(s).then(function (e) {
                n("next", e);
              }, function (e) {
                n("throw", e);
              });
              e(s);
            }("next");
          });
        };
      };
    }, {
      "../core-js/promise": 303
    }],
    307: [function (require, module, exports) {
      "use strict";

      exports.__esModule = !0, exports.default = function (t, e) {
        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
      };
    }, {}],
    308: [function (require, module, exports) {
      "use strict";

      exports.__esModule = !0;

      var _defineProperty = require("../core-js/object/define-property"),
          _defineProperty2 = _interopRequireDefault(_defineProperty);

      function _interopRequireDefault(e) {
        return e && e.__esModule ? e : {
          default: e
        };
      }

      exports.default = function () {
        function e(e, r) {
          for (var t = 0; t < r.length; t++) {
            var n = r[t];
            n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), (0, _defineProperty2.default)(e, n.key, n);
          }
        }

        return function (r, t, n) {
          return t && e(r.prototype, t), n && e(r, n), r;
        };
      }();
    }, {
      "../core-js/object/define-property": 301
    }],
    309: [function (require, module, exports) {
      "use strict";

      exports.__esModule = !0;

      var _defineProperty = require("../core-js/object/define-property"),
          _defineProperty2 = _interopRequireDefault(_defineProperty);

      function _interopRequireDefault(e) {
        return e && e.__esModule ? e : {
          default: e
        };
      }

      exports.default = function (e, r, t) {
        return r in e ? (0, _defineProperty2.default)(e, r, {
          value: t,
          enumerable: !0,
          configurable: !0,
          writable: !0
        }) : e[r] = t, e;
      };
    }, {
      "../core-js/object/define-property": 301
    }],
    310: [function (require, module, exports) {
      "use strict";

      exports.__esModule = !0;

      var _assign = require("../core-js/object/assign"),
          _assign2 = _interopRequireDefault(_assign);

      function _interopRequireDefault(e) {
        return e && e.__esModule ? e : {
          default: e
        };
      }

      exports.default = _assign2.default || function (e) {
        for (var r = 1; r < arguments.length; r++) {
          var t = arguments[r];

          for (var s in t) {
            Object.prototype.hasOwnProperty.call(t, s) && (e[s] = t[s]);
          }
        }

        return e;
      };
    }, {
      "../core-js/object/assign": 299
    }],
    311: [function (require, module, exports) {
      "use strict";

      exports.__esModule = !0;

      var _setPrototypeOf = require("../core-js/object/set-prototype-of"),
          _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf),
          _create = require("../core-js/object/create"),
          _create2 = _interopRequireDefault(_create),
          _typeof2 = require("../helpers/typeof"),
          _typeof3 = _interopRequireDefault(_typeof2);

      function _interopRequireDefault(e) {
        return e && e.__esModule ? e : {
          default: e
        };
      }

      exports.default = function (e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + (void 0 === t ? "undefined" : (0, _typeof3.default)(t)));
        e.prototype = (0, _create2.default)(t && t.prototype, {
          constructor: {
            value: e,
            enumerable: !1,
            writable: !0,
            configurable: !0
          }
        }), t && (_setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(e, t) : e.__proto__ = t);
      };
    }, {
      "../core-js/object/create": 300,
      "../core-js/object/set-prototype-of": 302,
      "../helpers/typeof": 315
    }],
    312: [function (require, module, exports) {
      "use strict";

      exports.__esModule = !0;

      var _typeof2 = require("../helpers/typeof"),
          _typeof3 = _interopRequireDefault(_typeof2);

      function _interopRequireDefault(e) {
        return e && e.__esModule ? e : {
          default: e
        };
      }

      exports.default = function (e, t) {
        if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return !t || "object" !== (void 0 === t ? "undefined" : (0, _typeof3.default)(t)) && "function" != typeof t ? e : t;
      };
    }, {
      "../helpers/typeof": 315
    }],
    313: [function (require, module, exports) {
      "use strict";

      exports.__esModule = !0;

      var _isIterable2 = require("../core-js/is-iterable"),
          _isIterable3 = _interopRequireDefault(_isIterable2),
          _getIterator2 = require("../core-js/get-iterator"),
          _getIterator3 = _interopRequireDefault(_getIterator2);

      function _interopRequireDefault(e) {
        return e && e.__esModule ? e : {
          default: e
        };
      }

      exports.default = function () {
        return function (e, r) {
          if (Array.isArray(e)) return e;
          if ((0, _isIterable3.default)(Object(e))) return function (e, r) {
            var t = [],
                a = !0,
                i = !1,
                u = void 0;

            try {
              for (var n, o = (0, _getIterator3.default)(e); !(a = (n = o.next()).done) && (t.push(n.value), !r || t.length !== r); a = !0) {
                ;
              }
            } catch (e) {
              i = !0, u = e;
            } finally {
              try {
                !a && o.return && o.return();
              } finally {
                if (i) throw u;
              }
            }

            return t;
          }(e, r);
          throw new TypeError("Invalid attempt to destructure non-iterable instance");
        };
      }();
    }, {
      "../core-js/get-iterator": 297,
      "../core-js/is-iterable": 298
    }],
    314: [function (require, module, exports) {
      "use strict";

      exports.__esModule = !0;

      var _from = require("../core-js/array/from"),
          _from2 = _interopRequireDefault(_from);

      function _interopRequireDefault(r) {
        return r && r.__esModule ? r : {
          default: r
        };
      }

      exports.default = function (r) {
        return Array.isArray(r) ? r : (0, _from2.default)(r);
      };
    }, {
      "../core-js/array/from": 296
    }],
    315: [function (require, module, exports) {
      "use strict";

      exports.__esModule = !0;

      var _iterator = require("../core-js/symbol/iterator"),
          _iterator2 = _interopRequireDefault(_iterator),
          _symbol = require("../core-js/symbol"),
          _symbol2 = _interopRequireDefault(_symbol),
          _typeof = "function" == typeof _symbol2.default && "symbol" == (0, _typeof5.default)(_iterator2.default) ? function (t) {
        return (0, _typeof5.default)(t);
      } : function (t) {
        return t && "function" == typeof _symbol2.default && t.constructor === _symbol2.default && t !== _symbol2.default.prototype ? "symbol" : (0, _typeof5.default)(t);
      };

      function _interopRequireDefault(t) {
        return t && t.__esModule ? t : {
          default: t
        };
      }

      exports.default = "function" == typeof _symbol2.default && "symbol" === _typeof(_iterator2.default) ? function (t) {
        return void 0 === t ? "undefined" : _typeof(t);
      } : function (t) {
        return t && "function" == typeof _symbol2.default && t.constructor === _symbol2.default && t !== _symbol2.default.prototype ? "symbol" : void 0 === t ? "undefined" : _typeof(t);
      };
    }, {
      "../core-js/symbol": 304,
      "../core-js/symbol/iterator": 305
    }],
    316: [function (require, module, exports) {
      module.exports = require("regenerator-runtime");
    }, {
      "regenerator-runtime": 426
    }],
    317: [function (require, module, exports) {}, {}],
    318: [function (require, module, exports) {
      require("../../modules/es6.string.iterator"), require("../../modules/es6.array.from"), module.exports = require("../../modules/_core").Array.from;
    }, {
      "../../modules/_core": 335,
      "../../modules/es6.array.from": 402,
      "../../modules/es6.string.iterator": 410
    }],
    319: [function (require, module, exports) {
      require("../modules/web.dom.iterable"), require("../modules/es6.string.iterator"), module.exports = require("../modules/core.get-iterator");
    }, {
      "../modules/core.get-iterator": 400,
      "../modules/es6.string.iterator": 410,
      "../modules/web.dom.iterable": 414
    }],
    320: [function (require, module, exports) {
      require("../modules/web.dom.iterable"), require("../modules/es6.string.iterator"), module.exports = require("../modules/core.is-iterable");
    }, {
      "../modules/core.is-iterable": 401,
      "../modules/es6.string.iterator": 410,
      "../modules/web.dom.iterable": 414
    }],
    321: [function (require, module, exports) {
      require("../../modules/es6.object.assign"), module.exports = require("../../modules/_core").Object.assign;
    }, {
      "../../modules/_core": 335,
      "../../modules/es6.object.assign": 404
    }],
    322: [function (require, module, exports) {
      require("../../modules/es6.object.create");

      var $Object = require("../../modules/_core").Object;

      module.exports = function (e, r) {
        return $Object.create(e, r);
      };
    }, {
      "../../modules/_core": 335,
      "../../modules/es6.object.create": 405
    }],
    323: [function (require, module, exports) {
      require("../../modules/es6.object.define-property");

      var $Object = require("../../modules/_core").Object;

      module.exports = function (e, r, o) {
        return $Object.defineProperty(e, r, o);
      };
    }, {
      "../../modules/_core": 335,
      "../../modules/es6.object.define-property": 406
    }],
    324: [function (require, module, exports) {
      require("../../modules/es6.object.set-prototype-of"), module.exports = require("../../modules/_core").Object.setPrototypeOf;
    }, {
      "../../modules/_core": 335,
      "../../modules/es6.object.set-prototype-of": 407
    }],
    325: [function (require, module, exports) {
      require("../modules/es6.object.to-string"), require("../modules/es6.string.iterator"), require("../modules/web.dom.iterable"), require("../modules/es6.promise"), module.exports = require("../modules/_core").Promise;
    }, {
      "../modules/_core": 335,
      "../modules/es6.object.to-string": 408,
      "../modules/es6.promise": 409,
      "../modules/es6.string.iterator": 410,
      "../modules/web.dom.iterable": 414
    }],
    326: [function (require, module, exports) {
      require("../../modules/es6.symbol"), require("../../modules/es6.object.to-string"), require("../../modules/es7.symbol.async-iterator"), require("../../modules/es7.symbol.observable"), module.exports = require("../../modules/_core").Symbol;
    }, {
      "../../modules/_core": 335,
      "../../modules/es6.object.to-string": 408,
      "../../modules/es6.symbol": 411,
      "../../modules/es7.symbol.async-iterator": 412,
      "../../modules/es7.symbol.observable": 413
    }],
    327: [function (require, module, exports) {
      require("../../modules/es6.string.iterator"), require("../../modules/web.dom.iterable"), module.exports = require("../../modules/_wks-ext").f("iterator");
    }, {
      "../../modules/_wks-ext": 397,
      "../../modules/es6.string.iterator": 410,
      "../../modules/web.dom.iterable": 414
    }],
    328: [function (require, module, exports) {
      module.exports = function (o) {
        if ("function" != typeof o) throw TypeError(o + " is not a function!");
        return o;
      };
    }, {}],
    329: [function (require, module, exports) {
      module.exports = function () {};
    }, {}],
    330: [function (require, module, exports) {
      module.exports = function (o, n, r, i) {
        if (!(o instanceof n) || void 0 !== i && i in o) throw TypeError(r + ": incorrect invocation!");
        return o;
      };
    }, {}],
    331: [function (require, module, exports) {
      var isObject = require("./_is-object");

      module.exports = function (e) {
        if (!isObject(e)) throw TypeError(e + " is not an object!");
        return e;
      };
    }, {
      "./_is-object": 355
    }],
    332: [function (require, module, exports) {
      var toIObject = require("./_to-iobject"),
          toLength = require("./_to-length"),
          toIndex = require("./_to-index");

      module.exports = function (e) {
        return function (t, r, n) {
          var o,
              i = toIObject(t),
              u = toLength(i.length),
              f = toIndex(n, u);

          if (e && r != r) {
            for (; u > f;) {
              if ((o = i[f++]) != o) return !0;
            }
          } else for (; u > f; f++) {
            if ((e || f in i) && i[f] === r) return e || f || 0;
          }

          return !e && -1;
        };
      };
    }, {
      "./_to-index": 389,
      "./_to-iobject": 391,
      "./_to-length": 392
    }],
    333: [function (require, module, exports) {
      var cof = require("./_cof"),
          TAG = require("./_wks")("toStringTag"),
          ARG = "Arguments" == cof(function () {
        return arguments;
      }()),
          tryGet = function tryGet(t, e) {
        try {
          return t[e];
        } catch (t) {}
      };

      module.exports = function (t) {
        var e, r, n;
        return void 0 === t ? "Undefined" : null === t ? "Null" : "string" == typeof (r = tryGet(e = Object(t), TAG)) ? r : ARG ? cof(e) : "Object" == (n = cof(e)) && "function" == typeof e.callee ? "Arguments" : n;
      };
    }, {
      "./_cof": 334,
      "./_wks": 398
    }],
    334: [function (require, module, exports) {
      var toString = {}.toString;

      module.exports = function (t) {
        return toString.call(t).slice(8, -1);
      };
    }, {}],
    335: [function (require, module, exports) {
      var core = module.exports = {
        version: "2.4.0"
      };
      "number" == typeof __e && (__e = core);
    }, {}],
    336: [function (require, module, exports) {
      "use strict";

      var $defineProperty = require("./_object-dp"),
          createDesc = require("./_property-desc");

      module.exports = function (e, r, t) {
        r in e ? $defineProperty.f(e, r, createDesc(0, t)) : e[r] = t;
      };
    }, {
      "./_object-dp": 368,
      "./_property-desc": 378
    }],
    337: [function (require, module, exports) {
      var aFunction = require("./_a-function");

      module.exports = function (n, r, t) {
        if (aFunction(n), void 0 === r) return n;

        switch (t) {
          case 1:
            return function (t) {
              return n.call(r, t);
            };

          case 2:
            return function (t, u) {
              return n.call(r, t, u);
            };

          case 3:
            return function (t, u, e) {
              return n.call(r, t, u, e);
            };
        }

        return function () {
          return n.apply(r, arguments);
        };
      };
    }, {
      "./_a-function": 328
    }],
    338: [function (require, module, exports) {
      module.exports = function (o) {
        if (null == o) throw TypeError("Can't call method on  " + o);
        return o;
      };
    }, {}],
    339: [function (require, module, exports) {
      module.exports = !require("./_fails")(function () {
        return 7 != Object.defineProperty({}, "a", {
          get: function get() {
            return 7;
          }
        }).a;
      });
    }, {
      "./_fails": 344
    }],
    340: [function (require, module, exports) {
      var isObject = require("./_is-object"),
          document = require("./_global").document,
          is = isObject(document) && isObject(document.createElement);

      module.exports = function (e) {
        return is ? document.createElement(e) : {};
      };
    }, {
      "./_global": 346,
      "./_is-object": 355
    }],
    341: [function (require, module, exports) {
      module.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",");
    }, {}],
    342: [function (require, module, exports) {
      var getKeys = require("./_object-keys"),
          gOPS = require("./_object-gops"),
          pIE = require("./_object-pie");

      module.exports = function (e) {
        var r = getKeys(e),
            t = gOPS.f;
        if (t) for (var o, u = t(e), g = pIE.f, i = 0; u.length > i;) {
          g.call(e, o = u[i++]) && r.push(o);
        }
        return r;
      };
    }, {
      "./_object-gops": 373,
      "./_object-keys": 376,
      "./_object-pie": 377
    }],
    343: [function (require, module, exports) {
      var global = require("./_global"),
          core = require("./_core"),
          ctx = require("./_ctx"),
          hide = require("./_hide"),
          PROTOTYPE = "prototype",
          $export = function $export(e, r, t) {
        var o,
            n,
            p,
            i = e & $export.F,
            x = e & $export.G,
            c = e & $export.S,
            l = e & $export.P,
            u = e & $export.B,
            a = e & $export.W,
            $ = x ? core : core[r] || (core[r] = {}),
            P = $[PROTOTYPE],
            f = x ? global : c ? global[r] : (global[r] || {})[PROTOTYPE];

        for (o in x && (t = r), t) {
          (n = !i && f && void 0 !== f[o]) && o in $ || (p = n ? f[o] : t[o], $[o] = x && "function" != typeof f[o] ? t[o] : u && n ? ctx(p, global) : a && f[o] == p ? function (e) {
            var r = function r(_r2, t, o) {
              if (this instanceof e) {
                switch (arguments.length) {
                  case 0:
                    return new e();

                  case 1:
                    return new e(_r2);

                  case 2:
                    return new e(_r2, t);
                }

                return new e(_r2, t, o);
              }

              return e.apply(this, arguments);
            };

            return r[PROTOTYPE] = e[PROTOTYPE], r;
          }(p) : l && "function" == typeof p ? ctx(Function.call, p) : p, l && (($.virtual || ($.virtual = {}))[o] = p, e & $export.R && P && !P[o] && hide(P, o, p)));
        }
      };

      $export.F = 1, $export.G = 2, $export.S = 4, $export.P = 8, $export.B = 16, $export.W = 32, $export.U = 64, $export.R = 128, module.exports = $export;
    }, {
      "./_core": 335,
      "./_ctx": 337,
      "./_global": 346,
      "./_hide": 348
    }],
    344: [function (require, module, exports) {
      module.exports = function (r) {
        try {
          return !!r();
        } catch (r) {
          return !0;
        }
      };
    }, {}],
    345: [function (require, module, exports) {
      var ctx = require("./_ctx"),
          call = require("./_iter-call"),
          isArrayIter = require("./_is-array-iter"),
          anObject = require("./_an-object"),
          toLength = require("./_to-length"),
          getIterFn = require("./core.get-iterator-method"),
          BREAK = {},
          RETURN = {},
          exports = module.exports = function (e, r, t, o, i) {
        var n,
            a,
            R,
            c,
            l = i ? function () {
          return e;
        } : getIterFn(e),
            u = ctx(t, o, r ? 2 : 1),
            E = 0;
        if ("function" != typeof l) throw TypeError(e + " is not iterable!");

        if (isArrayIter(l)) {
          for (n = toLength(e.length); n > E; E++) {
            if ((c = r ? u(anObject(a = e[E])[0], a[1]) : u(e[E])) === BREAK || c === RETURN) return c;
          }
        } else for (R = l.call(e); !(a = R.next()).done;) {
          if ((c = call(R, u, a.value, r)) === BREAK || c === RETURN) return c;
        }
      };

      exports.BREAK = BREAK, exports.RETURN = RETURN;
    }, {
      "./_an-object": 331,
      "./_ctx": 337,
      "./_is-array-iter": 353,
      "./_iter-call": 356,
      "./_to-length": 392,
      "./core.get-iterator-method": 399
    }],
    346: [function (require, module, exports) {
      var global = module.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")();
      "number" == typeof __g && (__g = global);
    }, {}],
    347: [function (require, module, exports) {
      var hasOwnProperty = {}.hasOwnProperty;

      module.exports = function (r, e) {
        return hasOwnProperty.call(r, e);
      };
    }, {}],
    348: [function (require, module, exports) {
      var dP = require("./_object-dp"),
          createDesc = require("./_property-desc");

      module.exports = require("./_descriptors") ? function (e, r, t) {
        return dP.f(e, r, createDesc(1, t));
      } : function (e, r, t) {
        return e[r] = t, e;
      };
    }, {
      "./_descriptors": 339,
      "./_object-dp": 368,
      "./_property-desc": 378
    }],
    349: [function (require, module, exports) {
      module.exports = require("./_global").document && document.documentElement;
    }, {
      "./_global": 346
    }],
    350: [function (require, module, exports) {
      module.exports = !require("./_descriptors") && !require("./_fails")(function () {
        return 7 != Object.defineProperty(require("./_dom-create")("div"), "a", {
          get: function get() {
            return 7;
          }
        }).a;
      });
    }, {
      "./_descriptors": 339,
      "./_dom-create": 340,
      "./_fails": 344
    }],
    351: [function (require, module, exports) {
      module.exports = function (e, r, l) {
        var a = void 0 === l;

        switch (r.length) {
          case 0:
            return a ? e() : e.call(l);

          case 1:
            return a ? e(r[0]) : e.call(l, r[0]);

          case 2:
            return a ? e(r[0], r[1]) : e.call(l, r[0], r[1]);

          case 3:
            return a ? e(r[0], r[1], r[2]) : e.call(l, r[0], r[1], r[2]);

          case 4:
            return a ? e(r[0], r[1], r[2], r[3]) : e.call(l, r[0], r[1], r[2], r[3]);
        }

        return e.apply(l, r);
      };
    }, {}],
    352: [function (require, module, exports) {
      var cof = require("./_cof");

      module.exports = Object("z").propertyIsEnumerable(0) ? Object : function (e) {
        return "String" == cof(e) ? e.split("") : Object(e);
      };
    }, {
      "./_cof": 334
    }],
    353: [function (require, module, exports) {
      var Iterators = require("./_iterators"),
          ITERATOR = require("./_wks")("iterator"),
          ArrayProto = Array.prototype;

      module.exports = function (r) {
        return void 0 !== r && (Iterators.Array === r || ArrayProto[ITERATOR] === r);
      };
    }, {
      "./_iterators": 361,
      "./_wks": 398
    }],
    354: [function (require, module, exports) {
      var cof = require("./_cof");

      module.exports = Array.isArray || function (r) {
        return "Array" == cof(r);
      };
    }, {
      "./_cof": 334
    }],
    355: [function (require, module, exports) {
      module.exports = function (o) {
        return "object" == (0, _typeof5.default)(o) ? null !== o : "function" == typeof o;
      };
    }, {}],
    356: [function (require, module, exports) {
      var anObject = require("./_an-object");

      module.exports = function (r, t, e, a) {
        try {
          return a ? t(anObject(e)[0], e[1]) : t(e);
        } catch (t) {
          var c = r.return;
          throw void 0 !== c && anObject(c.call(r)), t;
        }
      };
    }, {
      "./_an-object": 331
    }],
    357: [function (require, module, exports) {
      "use strict";

      var create = require("./_object-create"),
          descriptor = require("./_property-desc"),
          setToStringTag = require("./_set-to-string-tag"),
          IteratorPrototype = {};

      require("./_hide")(IteratorPrototype, require("./_wks")("iterator"), function () {
        return this;
      }), module.exports = function (r, t, e) {
        r.prototype = create(IteratorPrototype, {
          next: descriptor(1, e)
        }), setToStringTag(r, t + " Iterator");
      };
    }, {
      "./_hide": 348,
      "./_object-create": 367,
      "./_property-desc": 378,
      "./_set-to-string-tag": 383,
      "./_wks": 398
    }],
    358: [function (require, module, exports) {
      "use strict";

      var LIBRARY = require("./_library"),
          $export = require("./_export"),
          redefine = require("./_redefine"),
          hide = require("./_hide"),
          has = require("./_has"),
          Iterators = require("./_iterators"),
          $iterCreate = require("./_iter-create"),
          setToStringTag = require("./_set-to-string-tag"),
          getPrototypeOf = require("./_object-gpo"),
          ITERATOR = require("./_wks")("iterator"),
          BUGGY = !([].keys && "next" in [].keys()),
          FF_ITERATOR = "@@iterator",
          KEYS = "keys",
          VALUES = "values",
          returnThis = function returnThis() {
        return this;
      };

      module.exports = function (e, r, t, i, n, o, s) {
        $iterCreate(t, r, i);

        var u,
            a,
            T,
            R = function R(e) {
          if (!BUGGY && e in f) return f[e];

          switch (e) {
            case KEYS:
            case VALUES:
              return function () {
                return new t(this, e);
              };
          }

          return function () {
            return new t(this, e);
          };
        },
            A = r + " Iterator",
            E = n == VALUES,
            c = !1,
            f = e.prototype,
            h = f[ITERATOR] || f[FF_ITERATOR] || n && f[n],
            I = h || R(n),
            p = n ? E ? R("entries") : I : void 0,
            _ = "Array" == r && f.entries || h;

        if (_ && (T = getPrototypeOf(_.call(new e()))) !== Object.prototype && (setToStringTag(T, A, !0), LIBRARY || has(T, ITERATOR) || hide(T, ITERATOR, returnThis)), E && h && h.name !== VALUES && (c = !0, I = function I() {
          return h.call(this);
        }), LIBRARY && !s || !BUGGY && !c && f[ITERATOR] || hide(f, ITERATOR, I), Iterators[r] = I, Iterators[A] = returnThis, n) if (u = {
          values: E ? I : R(VALUES),
          keys: o ? I : R(KEYS),
          entries: p
        }, s) for (a in u) {
          a in f || redefine(f, a, u[a]);
        } else $export($export.P + $export.F * (BUGGY || c), r, u);
        return u;
      };
    }, {
      "./_export": 343,
      "./_has": 347,
      "./_hide": 348,
      "./_iter-create": 357,
      "./_iterators": 361,
      "./_library": 363,
      "./_object-gpo": 374,
      "./_redefine": 380,
      "./_set-to-string-tag": 383,
      "./_wks": 398
    }],
    359: [function (require, module, exports) {
      var ITERATOR = require("./_wks")("iterator"),
          SAFE_CLOSING = !1;

      try {
        var riter = [7][ITERATOR]();
        riter.return = function () {
          SAFE_CLOSING = !0;
        }, Array.from(riter, function () {
          throw 2;
        });
      } catch (r) {}

      module.exports = function (r, t) {
        if (!t && !SAFE_CLOSING) return !1;
        var n = !1;

        try {
          var e = [7],
              u = e[ITERATOR]();
          u.next = function () {
            return {
              done: n = !0
            };
          }, e[ITERATOR] = function () {
            return u;
          }, r(e);
        } catch (r) {}

        return n;
      };
    }, {
      "./_wks": 398
    }],
    360: [function (require, module, exports) {
      module.exports = function (e, n) {
        return {
          value: n,
          done: !!e
        };
      };
    }, {}],
    361: [function (require, module, exports) {
      module.exports = {};
    }, {}],
    362: [function (require, module, exports) {
      var getKeys = require("./_object-keys"),
          toIObject = require("./_to-iobject");

      module.exports = function (e, t) {
        for (var r, o = toIObject(e), c = getKeys(o), i = c.length, u = 0; i > u;) {
          if (o[r = c[u++]] === t) return r;
        }
      };
    }, {
      "./_object-keys": 376,
      "./_to-iobject": 391
    }],
    363: [function (require, module, exports) {
      module.exports = !0;
    }, {}],
    364: [function (require, module, exports) {
      var META = require("./_uid")("meta"),
          isObject = require("./_is-object"),
          has = require("./_has"),
          setDesc = require("./_object-dp").f,
          id = 0,
          isExtensible = Object.isExtensible || function () {
        return !0;
      },
          FREEZE = !require("./_fails")(function () {
        return isExtensible(Object.preventExtensions({}));
      }),
          setMeta = function setMeta(e) {
        setDesc(e, META, {
          value: {
            i: "O" + ++id,
            w: {}
          }
        });
      },
          fastKey = function fastKey(e, t) {
        if (!isObject(e)) return "symbol" == (0, _typeof5.default)(e) ? e : ("string" == typeof e ? "S" : "P") + e;

        if (!has(e, META)) {
          if (!isExtensible(e)) return "F";
          if (!t) return "E";
          setMeta(e);
        }

        return e[META].i;
      },
          getWeak = function getWeak(e, t) {
        if (!has(e, META)) {
          if (!isExtensible(e)) return !0;
          if (!t) return !1;
          setMeta(e);
        }

        return e[META].w;
      },
          onFreeze = function onFreeze(e) {
        return FREEZE && meta.NEED && isExtensible(e) && !has(e, META) && setMeta(e), e;
      },
          meta = module.exports = {
        KEY: META,
        NEED: !1,
        fastKey: fastKey,
        getWeak: getWeak,
        onFreeze: onFreeze
      };
    }, {
      "./_fails": 344,
      "./_has": 347,
      "./_is-object": 355,
      "./_object-dp": 368,
      "./_uid": 395
    }],
    365: [function (require, module, exports) {
      var global = require("./_global"),
          macrotask = require("./_task").set,
          Observer = global.MutationObserver || global.WebKitMutationObserver,
          process = global.process,
          Promise = global.Promise,
          isNode = "process" == require("./_cof")(process);

      module.exports = function () {
        var e,
            r,
            o,
            s = function s() {
          var s, t;

          for (isNode && (s = process.domain) && s.exit(); e;) {
            t = e.fn, e = e.next;

            try {
              t();
            } catch (s) {
              throw e ? o() : r = void 0, s;
            }
          }

          r = void 0, s && s.enter();
        };

        if (isNode) o = function o() {
          process.nextTick(s);
        };else if (Observer) {
          var t = !0,
              a = document.createTextNode("");
          new Observer(s).observe(a, {
            characterData: !0
          }), o = function o() {
            a.data = t = !t;
          };
        } else if (Promise && Promise.resolve) {
          var i = Promise.resolve();

          o = function o() {
            i.then(s);
          };
        } else o = function o() {
          macrotask.call(global, s);
        };
        return function (s) {
          var t = {
            fn: s,
            next: void 0
          };
          r && (r.next = t), e || (e = t, o()), r = t;
        };
      };
    }, {
      "./_cof": 334,
      "./_global": 346,
      "./_task": 388
    }],
    366: [function (require, module, exports) {
      "use strict";

      var getKeys = require("./_object-keys"),
          gOPS = require("./_object-gops"),
          pIE = require("./_object-pie"),
          toObject = require("./_to-object"),
          IObject = require("./_iobject"),
          $assign = Object.assign;

      module.exports = !$assign || require("./_fails")(function () {
        var e = {},
            t = {},
            r = Symbol(),
            s = "abcdefghijklmnopqrst";
        return e[r] = 7, s.split("").forEach(function (e) {
          t[e] = e;
        }), 7 != $assign({}, e)[r] || Object.keys($assign({}, t)).join("") != s;
      }) ? function (e, t) {
        for (var r = toObject(e), s = arguments.length, i = 1, o = gOPS.f, c = pIE.f; s > i;) {
          for (var n, a = IObject(arguments[i++]), g = o ? getKeys(a).concat(o(a)) : getKeys(a), b = g.length, j = 0; b > j;) {
            c.call(a, n = g[j++]) && (r[n] = a[n]);
          }
        }

        return r;
      } : $assign;
    }, {
      "./_fails": 344,
      "./_iobject": 352,
      "./_object-gops": 373,
      "./_object-keys": 376,
      "./_object-pie": 377,
      "./_to-object": 393
    }],
    367: [function (require, module, exports) {
      var anObject = require("./_an-object"),
          dPs = require("./_object-dps"),
          enumBugKeys = require("./_enum-bug-keys"),
          IE_PROTO = require("./_shared-key")("IE_PROTO"),
          Empty = function Empty() {},
          PROTOTYPE = "prototype",
          _createDict2 = function createDict() {
        var e,
            t = require("./_dom-create")("iframe"),
            r = enumBugKeys.length;

        for (t.style.display = "none", require("./_html").appendChild(t), t.src = "javascript:", (e = t.contentWindow.document).open(), e.write("<script>document.F=Object<\/script>"), e.close(), _createDict2 = e.F; r--;) {
          delete _createDict2[PROTOTYPE][enumBugKeys[r]];
        }

        return _createDict2();
      };

      module.exports = Object.create || function (e, t) {
        var r;
        return null !== e ? (Empty[PROTOTYPE] = anObject(e), r = new Empty(), Empty[PROTOTYPE] = null, r[IE_PROTO] = e) : r = _createDict2(), void 0 === t ? r : dPs(r, t);
      };
    }, {
      "./_an-object": 331,
      "./_dom-create": 340,
      "./_enum-bug-keys": 341,
      "./_html": 349,
      "./_object-dps": 369,
      "./_shared-key": 384
    }],
    368: [function (require, module, exports) {
      var anObject = require("./_an-object"),
          IE8_DOM_DEFINE = require("./_ie8-dom-define"),
          toPrimitive = require("./_to-primitive"),
          dP = Object.defineProperty;

      exports.f = require("./_descriptors") ? Object.defineProperty : function (e, r, t) {
        if (anObject(e), r = toPrimitive(r, !0), anObject(t), IE8_DOM_DEFINE) try {
          return dP(e, r, t);
        } catch (e) {}
        if ("get" in t || "set" in t) throw TypeError("Accessors not supported!");
        return "value" in t && (e[r] = t.value), e;
      };
    }, {
      "./_an-object": 331,
      "./_descriptors": 339,
      "./_ie8-dom-define": 350,
      "./_to-primitive": 394
    }],
    369: [function (require, module, exports) {
      var dP = require("./_object-dp"),
          anObject = require("./_an-object"),
          getKeys = require("./_object-keys");

      module.exports = require("./_descriptors") ? Object.defineProperties : function (e, r) {
        anObject(e);

        for (var t, o = getKeys(r), c = o.length, i = 0; c > i;) {
          dP.f(e, t = o[i++], r[t]);
        }

        return e;
      };
    }, {
      "./_an-object": 331,
      "./_descriptors": 339,
      "./_object-dp": 368,
      "./_object-keys": 376
    }],
    370: [function (require, module, exports) {
      var pIE = require("./_object-pie"),
          createDesc = require("./_property-desc"),
          toIObject = require("./_to-iobject"),
          toPrimitive = require("./_to-primitive"),
          has = require("./_has"),
          IE8_DOM_DEFINE = require("./_ie8-dom-define"),
          gOPD = Object.getOwnPropertyDescriptor;

      exports.f = require("./_descriptors") ? gOPD : function (e, r) {
        if (e = toIObject(e), r = toPrimitive(r, !0), IE8_DOM_DEFINE) try {
          return gOPD(e, r);
        } catch (e) {}
        if (has(e, r)) return createDesc(!pIE.f.call(e, r), e[r]);
      };
    }, {
      "./_descriptors": 339,
      "./_has": 347,
      "./_ie8-dom-define": 350,
      "./_object-pie": 377,
      "./_property-desc": 378,
      "./_to-iobject": 391,
      "./_to-primitive": 394
    }],
    371: [function (require, module, exports) {
      var toIObject = require("./_to-iobject"),
          gOPN = require("./_object-gopn").f,
          toString = {}.toString,
          windowNames = "object" == (typeof window === "undefined" ? "undefined" : (0, _typeof5.default)(window)) && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [],
          getWindowNames = function getWindowNames(e) {
        try {
          return gOPN(e);
        } catch (e) {
          return windowNames.slice();
        }
      };

      module.exports.f = function (e) {
        return windowNames && "[object Window]" == toString.call(e) ? getWindowNames(e) : gOPN(toIObject(e));
      };
    }, {
      "./_object-gopn": 372,
      "./_to-iobject": 391
    }],
    372: [function (require, module, exports) {
      var $keys = require("./_object-keys-internal"),
          hiddenKeys = require("./_enum-bug-keys").concat("length", "prototype");

      exports.f = Object.getOwnPropertyNames || function (e) {
        return $keys(e, hiddenKeys);
      };
    }, {
      "./_enum-bug-keys": 341,
      "./_object-keys-internal": 375
    }],
    373: [function (require, module, exports) {
      exports.f = Object.getOwnPropertySymbols;
    }, {}],
    374: [function (require, module, exports) {
      var has = require("./_has"),
          toObject = require("./_to-object"),
          IE_PROTO = require("./_shared-key")("IE_PROTO"),
          ObjectProto = Object.prototype;

      module.exports = Object.getPrototypeOf || function (t) {
        return t = toObject(t), has(t, IE_PROTO) ? t[IE_PROTO] : "function" == typeof t.constructor && t instanceof t.constructor ? t.constructor.prototype : t instanceof Object ? ObjectProto : null;
      };
    }, {
      "./_has": 347,
      "./_shared-key": 384,
      "./_to-object": 393
    }],
    375: [function (require, module, exports) {
      var has = require("./_has"),
          toIObject = require("./_to-iobject"),
          arrayIndexOf = require("./_array-includes")(!1),
          IE_PROTO = require("./_shared-key")("IE_PROTO");

      module.exports = function (r, e) {
        var a,
            t = toIObject(r),
            u = 0,
            O = [];

        for (a in t) {
          a != IE_PROTO && has(t, a) && O.push(a);
        }

        for (; e.length > u;) {
          has(t, a = e[u++]) && (~arrayIndexOf(O, a) || O.push(a));
        }

        return O;
      };
    }, {
      "./_array-includes": 332,
      "./_has": 347,
      "./_shared-key": 384,
      "./_to-iobject": 391
    }],
    376: [function (require, module, exports) {
      var $keys = require("./_object-keys-internal"),
          enumBugKeys = require("./_enum-bug-keys");

      module.exports = Object.keys || function (e) {
        return $keys(e, enumBugKeys);
      };
    }, {
      "./_enum-bug-keys": 341,
      "./_object-keys-internal": 375
    }],
    377: [function (require, module, exports) {
      exports.f = {}.propertyIsEnumerable;
    }, {}],
    378: [function (require, module, exports) {
      module.exports = function (e, r) {
        return {
          enumerable: !(1 & e),
          configurable: !(2 & e),
          writable: !(4 & e),
          value: r
        };
      };
    }, {}],
    379: [function (require, module, exports) {
      var hide = require("./_hide");

      module.exports = function (e, r, i) {
        for (var d in r) {
          i && e[d] ? e[d] = r[d] : hide(e, d, r[d]);
        }

        return e;
      };
    }, {
      "./_hide": 348
    }],
    380: [function (require, module, exports) {
      module.exports = require("./_hide");
    }, {
      "./_hide": 348
    }],
    381: [function (require, module, exports) {
      var isObject = require("./_is-object"),
          anObject = require("./_an-object"),
          check = function check(t, e) {
        if (anObject(t), !isObject(e) && null !== e) throw TypeError(e + ": can't set as prototype!");
      };

      module.exports = {
        set: Object.setPrototypeOf || ("__proto__" in {} ? function (t, e, c) {
          try {
            (c = require("./_ctx")(Function.call, require("./_object-gopd").f(Object.prototype, "__proto__").set, 2))(t, []), e = !(t instanceof Array);
          } catch (t) {
            e = !0;
          }

          return function (t, r) {
            return check(t, r), e ? t.__proto__ = r : c(t, r), t;
          };
        }({}, !1) : void 0),
        check: check
      };
    }, {
      "./_an-object": 331,
      "./_ctx": 337,
      "./_is-object": 355,
      "./_object-gopd": 370
    }],
    382: [function (require, module, exports) {
      "use strict";

      var global = require("./_global"),
          core = require("./_core"),
          dP = require("./_object-dp"),
          DESCRIPTORS = require("./_descriptors"),
          SPECIES = require("./_wks")("species");

      module.exports = function (e) {
        var r = "function" == typeof core[e] ? core[e] : global[e];
        DESCRIPTORS && r && !r[SPECIES] && dP.f(r, SPECIES, {
          configurable: !0,
          get: function get() {
            return this;
          }
        });
      };
    }, {
      "./_core": 335,
      "./_descriptors": 339,
      "./_global": 346,
      "./_object-dp": 368,
      "./_wks": 398
    }],
    383: [function (require, module, exports) {
      var def = require("./_object-dp").f,
          has = require("./_has"),
          TAG = require("./_wks")("toStringTag");

      module.exports = function (e, r, o) {
        e && !has(e = o ? e : e.prototype, TAG) && def(e, TAG, {
          configurable: !0,
          value: r
        });
      };
    }, {
      "./_has": 347,
      "./_object-dp": 368,
      "./_wks": 398
    }],
    384: [function (require, module, exports) {
      var shared = require("./_shared")("keys"),
          uid = require("./_uid");

      module.exports = function (e) {
        return shared[e] || (shared[e] = uid(e));
      };
    }, {
      "./_shared": 385,
      "./_uid": 395
    }],
    385: [function (require, module, exports) {
      var global = require("./_global"),
          SHARED = "__core-js_shared__",
          store = global[SHARED] || (global[SHARED] = {});

      module.exports = function (o) {
        return store[o] || (store[o] = {});
      };
    }, {
      "./_global": 346
    }],
    386: [function (require, module, exports) {
      var anObject = require("./_an-object"),
          aFunction = require("./_a-function"),
          SPECIES = require("./_wks")("species");

      module.exports = function (e, n) {
        var r,
            t = anObject(e).constructor;
        return void 0 === t || null == (r = anObject(t)[SPECIES]) ? n : aFunction(r);
      };
    }, {
      "./_a-function": 328,
      "./_an-object": 331,
      "./_wks": 398
    }],
    387: [function (require, module, exports) {
      var toInteger = require("./_to-integer"),
          defined = require("./_defined");

      module.exports = function (e) {
        return function (r, t) {
          var n,
              i,
              d = String(defined(r)),
              o = toInteger(t),
              u = d.length;
          return o < 0 || o >= u ? e ? "" : void 0 : (n = d.charCodeAt(o)) < 55296 || n > 56319 || o + 1 === u || (i = d.charCodeAt(o + 1)) < 56320 || i > 57343 ? e ? d.charAt(o) : n : e ? d.slice(o, o + 2) : i - 56320 + (n - 55296 << 10) + 65536;
        };
      };
    }, {
      "./_defined": 338,
      "./_to-integer": 390
    }],
    388: [function (require, module, exports) {
      var defer,
          channel,
          port,
          ctx = require("./_ctx"),
          invoke = require("./_invoke"),
          html = require("./_html"),
          cel = require("./_dom-create"),
          global = require("./_global"),
          process = global.process,
          setTask = global.setImmediate,
          clearTask = global.clearImmediate,
          MessageChannel = global.MessageChannel,
          counter = 0,
          queue = {},
          ONREADYSTATECHANGE = "onreadystatechange",
          run = function run() {
        var e = +this;

        if (queue.hasOwnProperty(e)) {
          var t = queue[e];
          delete queue[e], t();
        }
      },
          listener = function listener(e) {
        run.call(e.data);
      };

      setTask && clearTask || (setTask = function setTask(e) {
        for (var t = [], n = 1; arguments.length > n;) {
          t.push(arguments[n++]);
        }

        return queue[++counter] = function () {
          invoke("function" == typeof e ? e : Function(e), t);
        }, defer(counter), counter;
      }, clearTask = function clearTask(e) {
        delete queue[e];
      }, "process" == require("./_cof")(process) ? defer = function defer(e) {
        process.nextTick(ctx(run, e, 1));
      } : MessageChannel ? (port = (channel = new MessageChannel()).port2, channel.port1.onmessage = listener, defer = ctx(port.postMessage, port, 1)) : global.addEventListener && "function" == typeof postMessage && !global.importScripts ? (defer = function defer(e) {
        global.postMessage(e + "", "*");
      }, global.addEventListener("message", listener, !1)) : defer = ONREADYSTATECHANGE in cel("script") ? function (e) {
        html.appendChild(cel("script"))[ONREADYSTATECHANGE] = function () {
          html.removeChild(this), run.call(e);
        };
      } : function (e) {
        setTimeout(ctx(run, e, 1), 0);
      }), module.exports = {
        set: setTask,
        clear: clearTask
      };
    }, {
      "./_cof": 334,
      "./_ctx": 337,
      "./_dom-create": 340,
      "./_global": 346,
      "./_html": 349,
      "./_invoke": 351
    }],
    389: [function (require, module, exports) {
      var toInteger = require("./_to-integer"),
          max = Math.max,
          min = Math.min;

      module.exports = function (e, t) {
        return (e = toInteger(e)) < 0 ? max(e + t, 0) : min(e, t);
      };
    }, {
      "./_to-integer": 390
    }],
    390: [function (require, module, exports) {
      var ceil = Math.ceil,
          floor = Math.floor;

      module.exports = function (o) {
        return isNaN(o = +o) ? 0 : (o > 0 ? floor : ceil)(o);
      };
    }, {}],
    391: [function (require, module, exports) {
      var IObject = require("./_iobject"),
          defined = require("./_defined");

      module.exports = function (e) {
        return IObject(defined(e));
      };
    }, {
      "./_defined": 338,
      "./_iobject": 352
    }],
    392: [function (require, module, exports) {
      var toInteger = require("./_to-integer"),
          min = Math.min;

      module.exports = function (e) {
        return e > 0 ? min(toInteger(e), 9007199254740991) : 0;
      };
    }, {
      "./_to-integer": 390
    }],
    393: [function (require, module, exports) {
      var defined = require("./_defined");

      module.exports = function (e) {
        return Object(defined(e));
      };
    }, {
      "./_defined": 338
    }],
    394: [function (require, module, exports) {
      var isObject = require("./_is-object");

      module.exports = function (t, e) {
        if (!isObject(t)) return t;
        var r, i;
        if (e && "function" == typeof (r = t.toString) && !isObject(i = r.call(t))) return i;
        if ("function" == typeof (r = t.valueOf) && !isObject(i = r.call(t))) return i;
        if (!e && "function" == typeof (r = t.toString) && !isObject(i = r.call(t))) return i;
        throw TypeError("Can't convert object to primitive value");
      };
    }, {
      "./_is-object": 355
    }],
    395: [function (require, module, exports) {
      var id = 0,
          px = Math.random();

      module.exports = function (o) {
        return "Symbol(".concat(void 0 === o ? "" : o, ")_", (++id + px).toString(36));
      };
    }, {}],
    396: [function (require, module, exports) {
      var global = require("./_global"),
          core = require("./_core"),
          LIBRARY = require("./_library"),
          wksExt = require("./_wks-ext"),
          defineProperty = require("./_object-dp").f;

      module.exports = function (e) {
        var r = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
        "_" == e.charAt(0) || e in r || defineProperty(r, e, {
          value: wksExt.f(e)
        });
      };
    }, {
      "./_core": 335,
      "./_global": 346,
      "./_library": 363,
      "./_object-dp": 368,
      "./_wks-ext": 397
    }],
    397: [function (require, module, exports) {
      exports.f = require("./_wks");
    }, {
      "./_wks": 398
    }],
    398: [function (require, module, exports) {
      var store = require("./_shared")("wks"),
          uid = require("./_uid"),
          _Symbol2 = require("./_global").Symbol,
          USE_SYMBOL = "function" == typeof _Symbol2,
          $exports = module.exports = function (o) {
        return store[o] || (store[o] = USE_SYMBOL && _Symbol2[o] || (USE_SYMBOL ? _Symbol2 : uid)("Symbol." + o));
      };

      $exports.store = store;
    }, {
      "./_global": 346,
      "./_shared": 385,
      "./_uid": 395
    }],
    399: [function (require, module, exports) {
      var classof = require("./_classof"),
          ITERATOR = require("./_wks")("iterator"),
          Iterators = require("./_iterators");

      module.exports = require("./_core").getIteratorMethod = function (r) {
        if (null != r) return r[ITERATOR] || r["@@iterator"] || Iterators[classof(r)];
      };
    }, {
      "./_classof": 333,
      "./_core": 335,
      "./_iterators": 361,
      "./_wks": 398
    }],
    400: [function (require, module, exports) {
      var anObject = require("./_an-object"),
          get = require("./core.get-iterator-method");

      module.exports = require("./_core").getIterator = function (e) {
        var r = get(e);
        if ("function" != typeof r) throw TypeError(e + " is not iterable!");
        return anObject(r.call(e));
      };
    }, {
      "./_an-object": 331,
      "./_core": 335,
      "./core.get-iterator-method": 399
    }],
    401: [function (require, module, exports) {
      var classof = require("./_classof"),
          ITERATOR = require("./_wks")("iterator"),
          Iterators = require("./_iterators");

      module.exports = require("./_core").isIterable = function (r) {
        var e = Object(r);
        return void 0 !== e[ITERATOR] || "@@iterator" in e || Iterators.hasOwnProperty(classof(e));
      };
    }, {
      "./_classof": 333,
      "./_core": 335,
      "./_iterators": 361,
      "./_wks": 398
    }],
    402: [function (require, module, exports) {
      "use strict";

      var ctx = require("./_ctx"),
          $export = require("./_export"),
          toObject = require("./_to-object"),
          call = require("./_iter-call"),
          isArrayIter = require("./_is-array-iter"),
          toLength = require("./_to-length"),
          createProperty = require("./_create-property"),
          getIterFn = require("./core.get-iterator-method");

      $export($export.S + $export.F * !require("./_iter-detect")(function (e) {
        Array.from(e);
      }), "Array", {
        from: function from(e) {
          var r,
              t,
              o,
              i,
              a = toObject(e),
              c = "function" == typeof this ? this : Array,
              n = arguments.length,
              l = n > 1 ? arguments[1] : void 0,
              u = void 0 !== l,
              y = 0,
              p = getIterFn(a);
          if (u && (l = ctx(l, n > 2 ? arguments[2] : void 0, 2)), null == p || c == Array && isArrayIter(p)) for (t = new c(r = toLength(a.length)); r > y; y++) {
            createProperty(t, y, u ? l(a[y], y) : a[y]);
          } else for (i = p.call(a), t = new c(); !(o = i.next()).done; y++) {
            createProperty(t, y, u ? call(i, l, [o.value, y], !0) : o.value);
          }
          return t.length = y, t;
        }
      });
    }, {
      "./_create-property": 336,
      "./_ctx": 337,
      "./_export": 343,
      "./_is-array-iter": 353,
      "./_iter-call": 356,
      "./_iter-detect": 359,
      "./_to-length": 392,
      "./_to-object": 393,
      "./core.get-iterator-method": 399
    }],
    403: [function (require, module, exports) {
      "use strict";

      var addToUnscopables = require("./_add-to-unscopables"),
          step = require("./_iter-step"),
          Iterators = require("./_iterators"),
          toIObject = require("./_to-iobject");

      module.exports = require("./_iter-define")(Array, "Array", function (e, t) {
        this._t = toIObject(e), this._i = 0, this._k = t;
      }, function () {
        var e = this._t,
            t = this._k,
            s = this._i++;
        return !e || s >= e.length ? (this._t = void 0, step(1)) : step(0, "keys" == t ? s : "values" == t ? e[s] : [s, e[s]]);
      }, "values"), Iterators.Arguments = Iterators.Array, addToUnscopables("keys"), addToUnscopables("values"), addToUnscopables("entries");
    }, {
      "./_add-to-unscopables": 329,
      "./_iter-define": 358,
      "./_iter-step": 360,
      "./_iterators": 361,
      "./_to-iobject": 391
    }],
    404: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S + $export.F, "Object", {
        assign: require("./_object-assign")
      });
    }, {
      "./_export": 343,
      "./_object-assign": 366
    }],
    405: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S, "Object", {
        create: require("./_object-create")
      });
    }, {
      "./_export": 343,
      "./_object-create": 367
    }],
    406: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S + $export.F * !require("./_descriptors"), "Object", {
        defineProperty: require("./_object-dp").f
      });
    }, {
      "./_descriptors": 339,
      "./_export": 343,
      "./_object-dp": 368
    }],
    407: [function (require, module, exports) {
      var $export = require("./_export");

      $export($export.S, "Object", {
        setPrototypeOf: require("./_set-proto").set
      });
    }, {
      "./_export": 343,
      "./_set-proto": 381
    }],
    408: [function (require, module, exports) {}, {}],
    409: [function (require, module, exports) {
      "use strict";

      var Internal,
          GenericPromiseCapability,
          Wrapper,
          LIBRARY = require("./_library"),
          global = require("./_global"),
          ctx = require("./_ctx"),
          classof = require("./_classof"),
          $export = require("./_export"),
          isObject = require("./_is-object"),
          aFunction = require("./_a-function"),
          anInstance = require("./_an-instance"),
          forOf = require("./_for-of"),
          speciesConstructor = require("./_species-constructor"),
          task = require("./_task").set,
          microtask = require("./_microtask")(),
          PROMISE = "Promise",
          TypeError = global.TypeError,
          process = global.process,
          _$Promise2 = global[PROMISE],
          isNode = "process" == classof(process = global.process),
          empty = function empty() {},
          USE_NATIVE = !!function () {
        try {
          var e = _$Promise2.resolve(1),
              r = (e.constructor = {})[require("./_wks")("species")] = function (e) {
            e(empty, empty);
          };

          return (isNode || "function" == typeof PromiseRejectionEvent) && e.then(empty) instanceof r;
        } catch (e) {}
      }(),
          sameConstructor = function sameConstructor(e, r) {
        return e === r || e === _$Promise2 && r === Wrapper;
      },
          isThenable = function isThenable(e) {
        var r;
        return !(!isObject(e) || "function" != typeof (r = e.then)) && r;
      },
          newPromiseCapability = function newPromiseCapability(e) {
        return sameConstructor(_$Promise2, e) ? new PromiseCapability(e) : new GenericPromiseCapability(e);
      },
          PromiseCapability = GenericPromiseCapability = function GenericPromiseCapability(e) {
        var r, t;
        this.promise = new e(function (e, o) {
          if (void 0 !== r || void 0 !== t) throw TypeError("Bad Promise constructor");
          r = e, t = o;
        }), this.resolve = aFunction(r), this.reject = aFunction(t);
      },
          perform = function perform(e) {
        try {
          e();
        } catch (e) {
          return {
            error: e
          };
        }
      },
          notify = function notify(e, r) {
        if (!e._n) {
          e._n = !0;
          var t = e._c;
          microtask(function () {
            for (var o = e._v, i = 1 == e._s, n = 0, s = function s(r) {
              var t,
                  n,
                  s = i ? r.ok : r.fail,
                  c = r.resolve,
                  a = r.reject,
                  l = r.domain;

              try {
                s ? (i || (2 == e._h && onHandleUnhandled(e), e._h = 1), !0 === s ? t = o : (l && l.enter(), t = s(o), l && l.exit()), t === r.promise ? a(TypeError("Promise-chain cycle")) : (n = isThenable(t)) ? n.call(t, c, a) : c(t)) : a(o);
              } catch (e) {
                a(e);
              }
            }; t.length > n;) {
              s(t[n++]);
            }

            e._c = [], e._n = !1, r && !e._h && onUnhandled(e);
          });
        }
      },
          onUnhandled = function onUnhandled(e) {
        task.call(global, function () {
          var r,
              t,
              o,
              i = e._v;
          if (isUnhandled(e) && (r = perform(function () {
            isNode ? process.emit("unhandledRejection", i, e) : (t = global.onunhandledrejection) ? t({
              promise: e,
              reason: i
            }) : (o = global.console) && o.error && o.error("Unhandled promise rejection", i);
          }), e._h = isNode || isUnhandled(e) ? 2 : 1), e._a = void 0, r) throw r.error;
        });
      },
          isUnhandled = function isUnhandled(e) {
        if (1 == e._h) return !1;

        for (var r, t = e._a || e._c, o = 0; t.length > o;) {
          if ((r = t[o++]).fail || !isUnhandled(r.promise)) return !1;
        }

        return !0;
      },
          onHandleUnhandled = function onHandleUnhandled(e) {
        task.call(global, function () {
          var r;
          isNode ? process.emit("rejectionHandled", e) : (r = global.onrejectionhandled) && r({
            promise: e,
            reason: e._v
          });
        });
      },
          $reject = function $reject(e) {
        var r = this;
        r._d || (r._d = !0, (r = r._w || r)._v = e, r._s = 2, r._a || (r._a = r._c.slice()), notify(r, !0));
      },
          $resolve = function $resolve(e) {
        var r,
            t = this;

        if (!t._d) {
          t._d = !0, t = t._w || t;

          try {
            if (t === e) throw TypeError("Promise can't be resolved itself");
            (r = isThenable(e)) ? microtask(function () {
              var o = {
                _w: t,
                _d: !1
              };

              try {
                r.call(e, ctx($resolve, o, 1), ctx($reject, o, 1));
              } catch (e) {
                $reject.call(o, e);
              }
            }) : (t._v = e, t._s = 1, notify(t, !1));
          } catch (e) {
            $reject.call({
              _w: t,
              _d: !1
            }, e);
          }
        }
      };

      USE_NATIVE || (_$Promise2 = function $Promise(e) {
        anInstance(this, _$Promise2, PROMISE, "_h"), aFunction(e), Internal.call(this);

        try {
          e(ctx($resolve, this, 1), ctx($reject, this, 1));
        } catch (e) {
          $reject.call(this, e);
        }
      }, (Internal = function Internal(e) {
        this._c = [], this._a = void 0, this._s = 0, this._d = !1, this._v = void 0, this._h = 0, this._n = !1;
      }).prototype = require("./_redefine-all")(_$Promise2.prototype, {
        then: function then(e, r) {
          var t = newPromiseCapability(speciesConstructor(this, _$Promise2));
          return t.ok = "function" != typeof e || e, t.fail = "function" == typeof r && r, t.domain = isNode ? process.domain : void 0, this._c.push(t), this._a && this._a.push(t), this._s && notify(this, !1), t.promise;
        },
        catch: function _catch(e) {
          return this.then(void 0, e);
        }
      }), PromiseCapability = function PromiseCapability() {
        var e = new Internal();
        this.promise = e, this.resolve = ctx($resolve, e, 1), this.reject = ctx($reject, e, 1);
      }), $export($export.G + $export.W + $export.F * !USE_NATIVE, {
        Promise: _$Promise2
      }), require("./_set-to-string-tag")(_$Promise2, PROMISE), require("./_set-species")(PROMISE), Wrapper = require("./_core")[PROMISE], $export($export.S + $export.F * !USE_NATIVE, PROMISE, {
        reject: function reject(e) {
          var r = newPromiseCapability(this);
          return (0, r.reject)(e), r.promise;
        }
      }), $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {
        resolve: function resolve(e) {
          if (e instanceof _$Promise2 && sameConstructor(e.constructor, this)) return e;
          var r = newPromiseCapability(this);
          return (0, r.resolve)(e), r.promise;
        }
      }), $export($export.S + $export.F * !(USE_NATIVE && require("./_iter-detect")(function (e) {
        _$Promise2.all(e).catch(empty);
      })), PROMISE, {
        all: function all(e) {
          var r = this,
              t = newPromiseCapability(r),
              o = t.resolve,
              i = t.reject,
              n = perform(function () {
            var t = [],
                n = 0,
                s = 1;
            forOf(e, !1, function (e) {
              var c = n++,
                  a = !1;
              t.push(void 0), s++, r.resolve(e).then(function (e) {
                a || (a = !0, t[c] = e, --s || o(t));
              }, i);
            }), --s || o(t);
          });
          return n && i(n.error), t.promise;
        },
        race: function race(e) {
          var r = this,
              t = newPromiseCapability(r),
              o = t.reject,
              i = perform(function () {
            forOf(e, !1, function (e) {
              r.resolve(e).then(t.resolve, o);
            });
          });
          return i && o(i.error), t.promise;
        }
      });
    }, {
      "./_a-function": 328,
      "./_an-instance": 330,
      "./_classof": 333,
      "./_core": 335,
      "./_ctx": 337,
      "./_export": 343,
      "./_for-of": 345,
      "./_global": 346,
      "./_is-object": 355,
      "./_iter-detect": 359,
      "./_library": 363,
      "./_microtask": 365,
      "./_redefine-all": 379,
      "./_set-species": 382,
      "./_set-to-string-tag": 383,
      "./_species-constructor": 386,
      "./_task": 388,
      "./_wks": 398
    }],
    410: [function (require, module, exports) {
      "use strict";

      var $at = require("./_string-at")(!0);

      require("./_iter-define")(String, "String", function (t) {
        this._t = String(t), this._i = 0;
      }, function () {
        var t,
            i = this._t,
            e = this._i;
        return e >= i.length ? {
          value: void 0,
          done: !0
        } : (t = $at(i, e), this._i += t.length, {
          value: t,
          done: !1
        });
      });
    }, {
      "./_iter-define": 358,
      "./_string-at": 387
    }],
    411: [function (require, module, exports) {
      "use strict";

      var global = require("./_global"),
          has = require("./_has"),
          DESCRIPTORS = require("./_descriptors"),
          $export = require("./_export"),
          redefine = require("./_redefine"),
          META = require("./_meta").KEY,
          $fails = require("./_fails"),
          shared = require("./_shared"),
          setToStringTag = require("./_set-to-string-tag"),
          uid = require("./_uid"),
          wks = require("./_wks"),
          wksExt = require("./_wks-ext"),
          wksDefine = require("./_wks-define"),
          keyOf = require("./_keyof"),
          enumKeys = require("./_enum-keys"),
          isArray = require("./_is-array"),
          anObject = require("./_an-object"),
          toIObject = require("./_to-iobject"),
          toPrimitive = require("./_to-primitive"),
          createDesc = require("./_property-desc"),
          _create = require("./_object-create"),
          gOPNExt = require("./_object-gopn-ext"),
          $GOPD = require("./_object-gopd"),
          $DP = require("./_object-dp"),
          $keys = require("./_object-keys"),
          gOPD = $GOPD.f,
          dP = $DP.f,
          gOPN = gOPNExt.f,
          _$Symbol2 = global.Symbol,
          $JSON = global.JSON,
          _stringify = $JSON && $JSON.stringify,
          PROTOTYPE = "prototype",
          HIDDEN = wks("_hidden"),
          TO_PRIMITIVE = wks("toPrimitive"),
          isEnum = {}.propertyIsEnumerable,
          SymbolRegistry = shared("symbol-registry"),
          AllSymbols = shared("symbols"),
          OPSymbols = shared("op-symbols"),
          ObjectProto = Object[PROTOTYPE],
          USE_NATIVE = "function" == typeof _$Symbol2,
          QObject = global.QObject,
          setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild,
          setSymbolDesc = DESCRIPTORS && $fails(function () {
        return 7 != _create(dP({}, "a", {
          get: function get() {
            return dP(this, "a", {
              value: 7
            }).a;
          }
        })).a;
      }) ? function (e, r, t) {
        var o = gOPD(ObjectProto, r);
        o && delete ObjectProto[r], dP(e, r, t), o && e !== ObjectProto && dP(ObjectProto, r, o);
      } : dP,
          wrap = function wrap(e) {
        var r = AllSymbols[e] = _create(_$Symbol2[PROTOTYPE]);

        return r._k = e, r;
      },
          isSymbol = USE_NATIVE && "symbol" == (0, _typeof5.default)(_$Symbol2.iterator) ? function (e) {
        return "symbol" == (0, _typeof5.default)(e);
      } : function (e) {
        return e instanceof _$Symbol2;
      },
          $defineProperty = function $defineProperty(e, r, t) {
        return e === ObjectProto && $defineProperty(OPSymbols, r, t), anObject(e), r = toPrimitive(r, !0), anObject(t), has(AllSymbols, r) ? (t.enumerable ? (has(e, HIDDEN) && e[HIDDEN][r] && (e[HIDDEN][r] = !1), t = _create(t, {
          enumerable: createDesc(0, !1)
        })) : (has(e, HIDDEN) || dP(e, HIDDEN, createDesc(1, {})), e[HIDDEN][r] = !0), setSymbolDesc(e, r, t)) : dP(e, r, t);
      },
          $defineProperties = function $defineProperties(e, r) {
        anObject(e);

        for (var t, o = enumKeys(r = toIObject(r)), i = 0, s = o.length; s > i;) {
          $defineProperty(e, t = o[i++], r[t]);
        }

        return e;
      },
          $create = function $create(e, r) {
        return void 0 === r ? _create(e) : $defineProperties(_create(e), r);
      },
          $propertyIsEnumerable = function $propertyIsEnumerable(e) {
        var r = isEnum.call(this, e = toPrimitive(e, !0));
        return !(this === ObjectProto && has(AllSymbols, e) && !has(OPSymbols, e)) && (!(r || !has(this, e) || !has(AllSymbols, e) || has(this, HIDDEN) && this[HIDDEN][e]) || r);
      },
          $getOwnPropertyDescriptor = function $getOwnPropertyDescriptor(e, r) {
        if (e = toIObject(e), r = toPrimitive(r, !0), e !== ObjectProto || !has(AllSymbols, r) || has(OPSymbols, r)) {
          var t = gOPD(e, r);
          return !t || !has(AllSymbols, r) || has(e, HIDDEN) && e[HIDDEN][r] || (t.enumerable = !0), t;
        }
      },
          $getOwnPropertyNames = function $getOwnPropertyNames(e) {
        for (var r, t = gOPN(toIObject(e)), o = [], i = 0; t.length > i;) {
          has(AllSymbols, r = t[i++]) || r == HIDDEN || r == META || o.push(r);
        }

        return o;
      },
          $getOwnPropertySymbols = function $getOwnPropertySymbols(e) {
        for (var r, t = e === ObjectProto, o = gOPN(t ? OPSymbols : toIObject(e)), i = [], s = 0; o.length > s;) {
          !has(AllSymbols, r = o[s++]) || t && !has(ObjectProto, r) || i.push(AllSymbols[r]);
        }

        return i;
      };

      USE_NATIVE || (redefine((_$Symbol2 = function $Symbol() {
        if (this instanceof _$Symbol2) throw TypeError("Symbol is not a constructor!");

        var e = uid(arguments.length > 0 ? arguments[0] : void 0),
            r = function r(t) {
          this === ObjectProto && r.call(OPSymbols, t), has(this, HIDDEN) && has(this[HIDDEN], e) && (this[HIDDEN][e] = !1), setSymbolDesc(this, e, createDesc(1, t));
        };

        return DESCRIPTORS && setter && setSymbolDesc(ObjectProto, e, {
          configurable: !0,
          set: r
        }), wrap(e);
      })[PROTOTYPE], "toString", function () {
        return this._k;
      }), $GOPD.f = $getOwnPropertyDescriptor, $DP.f = $defineProperty, require("./_object-gopn").f = gOPNExt.f = $getOwnPropertyNames, require("./_object-pie").f = $propertyIsEnumerable, require("./_object-gops").f = $getOwnPropertySymbols, DESCRIPTORS && !require("./_library") && redefine(ObjectProto, "propertyIsEnumerable", $propertyIsEnumerable, !0), wksExt.f = function (e) {
        return wrap(wks(e));
      }), $export($export.G + $export.W + $export.F * !USE_NATIVE, {
        Symbol: _$Symbol2
      });

      for (var symbols = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), i = 0; symbols.length > i;) {
        wks(symbols[i++]);
      }

      for (symbols = $keys(wks.store), i = 0; symbols.length > i;) {
        wksDefine(symbols[i++]);
      }

      $export($export.S + $export.F * !USE_NATIVE, "Symbol", {
        for: function _for(e) {
          return has(SymbolRegistry, e += "") ? SymbolRegistry[e] : SymbolRegistry[e] = _$Symbol2(e);
        },
        keyFor: function keyFor(e) {
          if (isSymbol(e)) return keyOf(SymbolRegistry, e);
          throw TypeError(e + " is not a symbol!");
        },
        useSetter: function useSetter() {
          setter = !0;
        },
        useSimple: function useSimple() {
          setter = !1;
        }
      }), $export($export.S + $export.F * !USE_NATIVE, "Object", {
        create: $create,
        defineProperty: $defineProperty,
        defineProperties: $defineProperties,
        getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
        getOwnPropertyNames: $getOwnPropertyNames,
        getOwnPropertySymbols: $getOwnPropertySymbols
      }), $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {
        var e = _$Symbol2();

        return "[null]" != _stringify([e]) || "{}" != _stringify({
          a: e
        }) || "{}" != _stringify(Object(e));
      })), "JSON", {
        stringify: function stringify(e) {
          if (void 0 !== e && !isSymbol(e)) {
            for (var r, t, o = [e], i = 1; arguments.length > i;) {
              o.push(arguments[i++]);
            }

            return "function" == typeof (r = o[1]) && (t = r), !t && isArray(r) || (r = function r(e, _r3) {
              if (t && (_r3 = t.call(this, e, _r3)), !isSymbol(_r3)) return _r3;
            }), o[1] = r, _stringify.apply($JSON, o);
          }
        }
      }), _$Symbol2[PROTOTYPE][TO_PRIMITIVE] || require("./_hide")(_$Symbol2[PROTOTYPE], TO_PRIMITIVE, _$Symbol2[PROTOTYPE].valueOf), setToStringTag(_$Symbol2, "Symbol"), setToStringTag(Math, "Math", !0), setToStringTag(global.JSON, "JSON", !0);
    }, {
      "./_an-object": 331,
      "./_descriptors": 339,
      "./_enum-keys": 342,
      "./_export": 343,
      "./_fails": 344,
      "./_global": 346,
      "./_has": 347,
      "./_hide": 348,
      "./_is-array": 354,
      "./_keyof": 362,
      "./_library": 363,
      "./_meta": 364,
      "./_object-create": 367,
      "./_object-dp": 368,
      "./_object-gopd": 370,
      "./_object-gopn": 372,
      "./_object-gopn-ext": 371,
      "./_object-gops": 373,
      "./_object-keys": 376,
      "./_object-pie": 377,
      "./_property-desc": 378,
      "./_redefine": 380,
      "./_set-to-string-tag": 383,
      "./_shared": 385,
      "./_to-iobject": 391,
      "./_to-primitive": 394,
      "./_uid": 395,
      "./_wks": 398,
      "./_wks-define": 396,
      "./_wks-ext": 397
    }],
    412: [function (require, module, exports) {
      require("./_wks-define")("asyncIterator");
    }, {
      "./_wks-define": 396
    }],
    413: [function (require, module, exports) {
      require("./_wks-define")("observable");
    }, {
      "./_wks-define": 396
    }],
    414: [function (require, module, exports) {
      require("./es6.array.iterator");

      for (var global = require("./_global"), hide = require("./_hide"), Iterators = require("./_iterators"), TO_STRING_TAG = require("./_wks")("toStringTag"), collections = ["NodeList", "DOMTokenList", "MediaList", "StyleSheetList", "CSSRuleList"], i = 0; i < 5; i++) {
        var NAME = collections[i],
            Collection = global[NAME],
            proto = Collection && Collection.prototype;
        proto && !proto[TO_STRING_TAG] && hide(proto, TO_STRING_TAG, NAME), Iterators[NAME] = Iterators.Array;
      }
    }, {
      "./_global": 346,
      "./_hide": 348,
      "./_iterators": 361,
      "./_wks": 398,
      "./es6.array.iterator": 403
    }],
    415: [function (require, module, exports) {
      var objectCreate = Object.create || objectCreatePolyfill,
          objectKeys = Object.keys || objectKeysPolyfill,
          bind = Function.prototype.bind || functionBindPolyfill;

      function EventEmitter() {
        this._events && Object.prototype.hasOwnProperty.call(this, "_events") || (this._events = objectCreate(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0;
      }

      module.exports = EventEmitter, EventEmitter.EventEmitter = EventEmitter, EventEmitter.prototype._events = void 0, EventEmitter.prototype._maxListeners = void 0;
      var hasDefineProperty,
          defaultMaxListeners = 10;

      try {
        var o = {};
        Object.defineProperty && Object.defineProperty(o, "x", {
          value: 0
        }), hasDefineProperty = 0 === o.x;
      } catch (e) {
        hasDefineProperty = !1;
      }

      function $getMaxListeners(e) {
        return void 0 === e._maxListeners ? EventEmitter.defaultMaxListeners : e._maxListeners;
      }

      function emitNone(e, t, n) {
        if (t) e.call(n);else for (var r = e.length, i = arrayClone(e, r), s = 0; s < r; ++s) {
          i[s].call(n);
        }
      }

      function emitOne(e, t, n, r) {
        if (t) e.call(n, r);else for (var i = e.length, s = arrayClone(e, i), o = 0; o < i; ++o) {
          s[o].call(n, r);
        }
      }

      function emitTwo(e, t, n, r, i) {
        if (t) e.call(n, r, i);else for (var s = e.length, o = arrayClone(e, s), a = 0; a < s; ++a) {
          o[a].call(n, r, i);
        }
      }

      function emitThree(e, t, n, r, i, s) {
        if (t) e.call(n, r, i, s);else for (var o = e.length, a = arrayClone(e, o), l = 0; l < o; ++l) {
          a[l].call(n, r, i, s);
        }
      }

      function emitMany(e, t, n, r) {
        if (t) e.apply(n, r);else for (var i = e.length, s = arrayClone(e, i), o = 0; o < i; ++o) {
          s[o].apply(n, r);
        }
      }

      function _addListener(e, t, n, r) {
        var i, s, o;
        if ("function" != typeof n) throw new TypeError('"listener" argument must be a function');

        if ((s = e._events) ? (s.newListener && (e.emit("newListener", t, n.listener ? n.listener : n), s = e._events), o = s[t]) : (s = e._events = objectCreate(null), e._eventsCount = 0), o) {
          if ("function" == typeof o ? o = s[t] = r ? [n, o] : [o, n] : r ? o.unshift(n) : o.push(n), !o.warned && (i = $getMaxListeners(e)) && i > 0 && o.length > i) {
            o.warned = !0;
            var a = new Error("Possible EventEmitter memory leak detected. " + o.length + ' "' + String(t) + '" listeners added. Use emitter.setMaxListeners() to increase limit.');
            a.name = "MaxListenersExceededWarning", a.emitter = e, a.type = t, a.count = o.length, "object" == (typeof console === "undefined" ? "undefined" : (0, _typeof5.default)(console)) && console.warn && console.warn("%s: %s", a.name, a.message);
          }
        } else o = s[t] = n, ++e._eventsCount;

        return e;
      }

      function onceWrapper() {
        if (!this.fired) switch (this.target.removeListener(this.type, this.wrapFn), this.fired = !0, arguments.length) {
          case 0:
            return this.listener.call(this.target);

          case 1:
            return this.listener.call(this.target, arguments[0]);

          case 2:
            return this.listener.call(this.target, arguments[0], arguments[1]);

          case 3:
            return this.listener.call(this.target, arguments[0], arguments[1], arguments[2]);

          default:
            for (var e = new Array(arguments.length), t = 0; t < e.length; ++t) {
              e[t] = arguments[t];
            }

            this.listener.apply(this.target, e);
        }
      }

      function _onceWrap(e, t, n) {
        var r = {
          fired: !1,
          wrapFn: void 0,
          target: e,
          type: t,
          listener: n
        },
            i = bind.call(onceWrapper, r);
        return i.listener = n, r.wrapFn = i, i;
      }

      function _listeners(e, t, n) {
        var r = e._events;
        if (!r) return [];
        var i = r[t];
        return i ? "function" == typeof i ? n ? [i.listener || i] : [i] : n ? unwrapListeners(i) : arrayClone(i, i.length) : [];
      }

      function listenerCount(e) {
        var t = this._events;

        if (t) {
          var n = t[e];
          if ("function" == typeof n) return 1;
          if (n) return n.length;
        }

        return 0;
      }

      function spliceOne(e, t) {
        for (var n = t, r = n + 1, i = e.length; r < i; n += 1, r += 1) {
          e[n] = e[r];
        }

        e.pop();
      }

      function arrayClone(e, t) {
        for (var n = new Array(t), r = 0; r < t; ++r) {
          n[r] = e[r];
        }

        return n;
      }

      function unwrapListeners(e) {
        for (var t = new Array(e.length), n = 0; n < t.length; ++n) {
          t[n] = e[n].listener || e[n];
        }

        return t;
      }

      function objectCreatePolyfill(e) {
        var t = function t() {};

        return t.prototype = e, new t();
      }

      function objectKeysPolyfill(e) {
        var t = [];

        for (var n in e) {
          Object.prototype.hasOwnProperty.call(e, n) && t.push(n);
        }

        return n;
      }

      function functionBindPolyfill(e) {
        var t = this;
        return function () {
          return t.apply(e, arguments);
        };
      }

      hasDefineProperty ? Object.defineProperty(EventEmitter, "defaultMaxListeners", {
        enumerable: !0,
        get: function get() {
          return defaultMaxListeners;
        },
        set: function set(e) {
          if ("number" != typeof e || e < 0 || e != e) throw new TypeError('"defaultMaxListeners" must be a positive number');
          defaultMaxListeners = e;
        }
      }) : EventEmitter.defaultMaxListeners = defaultMaxListeners, EventEmitter.prototype.setMaxListeners = function (e) {
        if ("number" != typeof e || e < 0 || isNaN(e)) throw new TypeError('"n" argument must be a positive number');
        return this._maxListeners = e, this;
      }, EventEmitter.prototype.getMaxListeners = function () {
        return $getMaxListeners(this);
      }, EventEmitter.prototype.emit = function (e) {
        var t,
            n,
            r,
            i,
            s,
            o,
            a = "error" === e;
        if (o = this._events) a = a && null == o.error;else if (!a) return !1;

        if (a) {
          if (arguments.length > 1 && (t = arguments[1]), t instanceof Error) throw t;
          var l = new Error('Unhandled "error" event. (' + t + ")");
          throw l.context = t, l;
        }

        if (!(n = o[e])) return !1;
        var u = "function" == typeof n;

        switch (r = arguments.length) {
          case 1:
            emitNone(n, u, this);
            break;

          case 2:
            emitOne(n, u, this, arguments[1]);
            break;

          case 3:
            emitTwo(n, u, this, arguments[1], arguments[2]);
            break;

          case 4:
            emitThree(n, u, this, arguments[1], arguments[2], arguments[3]);
            break;

          default:
            for (i = new Array(r - 1), s = 1; s < r; s++) {
              i[s - 1] = arguments[s];
            }

            emitMany(n, u, this, i);
        }

        return !0;
      }, EventEmitter.prototype.addListener = function (e, t) {
        return _addListener(this, e, t, !1);
      }, EventEmitter.prototype.on = EventEmitter.prototype.addListener, EventEmitter.prototype.prependListener = function (e, t) {
        return _addListener(this, e, t, !0);
      }, EventEmitter.prototype.once = function (e, t) {
        if ("function" != typeof t) throw new TypeError('"listener" argument must be a function');
        return this.on(e, _onceWrap(this, e, t)), this;
      }, EventEmitter.prototype.prependOnceListener = function (e, t) {
        if ("function" != typeof t) throw new TypeError('"listener" argument must be a function');
        return this.prependListener(e, _onceWrap(this, e, t)), this;
      }, EventEmitter.prototype.removeListener = function (e, t) {
        var n, r, i, s, o;
        if ("function" != typeof t) throw new TypeError('"listener" argument must be a function');
        if (!(r = this._events)) return this;
        if (!(n = r[e])) return this;
        if (n === t || n.listener === t) 0 == --this._eventsCount ? this._events = objectCreate(null) : (delete r[e], r.removeListener && this.emit("removeListener", e, n.listener || t));else if ("function" != typeof n) {
          for (i = -1, s = n.length - 1; s >= 0; s--) {
            if (n[s] === t || n[s].listener === t) {
              o = n[s].listener, i = s;
              break;
            }
          }

          if (i < 0) return this;
          0 === i ? n.shift() : spliceOne(n, i), 1 === n.length && (r[e] = n[0]), r.removeListener && this.emit("removeListener", e, o || t);
        }
        return this;
      }, EventEmitter.prototype.removeAllListeners = function (e) {
        var t, n, r;
        if (!(n = this._events)) return this;
        if (!n.removeListener) return 0 === arguments.length ? (this._events = objectCreate(null), this._eventsCount = 0) : n[e] && (0 == --this._eventsCount ? this._events = objectCreate(null) : delete n[e]), this;

        if (0 === arguments.length) {
          var i,
              s = objectKeys(n);

          for (r = 0; r < s.length; ++r) {
            "removeListener" !== (i = s[r]) && this.removeAllListeners(i);
          }

          return this.removeAllListeners("removeListener"), this._events = objectCreate(null), this._eventsCount = 0, this;
        }

        if ("function" == typeof (t = n[e])) this.removeListener(e, t);else if (t) for (r = t.length - 1; r >= 0; r--) {
          this.removeListener(e, t[r]);
        }
        return this;
      }, EventEmitter.prototype.listeners = function (e) {
        return _listeners(this, e, !0);
      }, EventEmitter.prototype.rawListeners = function (e) {
        return _listeners(this, e, !1);
      }, EventEmitter.listenerCount = function (e, t) {
        return "function" == typeof e.listenerCount ? e.listenerCount(t) : listenerCount.call(e, t);
      }, EventEmitter.prototype.listenerCount = listenerCount, EventEmitter.prototype.eventNames = function () {
        return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : [];
      };
    }, {}],
    416: [function (require, module, exports) {
      "use strict";

      Object.defineProperty(exports, "__esModule", {
        value: !0
      }), exports.default = exports.SUPPORTED_PROTOCOL_VERSION = void 0;

      var _dec,
          _dec2,
          _dec3,
          _dec4,
          _dec5,
          _dec6,
          _dec7,
          _desc,
          _value,
          _class,
          _regenerator = require("babel-runtime/regenerator"),
          _regenerator2 = _interopRequireDefault(_regenerator),
          _asyncToGenerator2 = require("babel-runtime/helpers/asyncToGenerator"),
          _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2),
          _extends2 = require("babel-runtime/helpers/extends"),
          _extends3 = _interopRequireDefault(_extends2),
          _classCallCheck2 = require("babel-runtime/helpers/classCallCheck"),
          _classCallCheck3 = _interopRequireDefault(_classCallCheck2),
          _createClass2 = require("babel-runtime/helpers/createClass"),
          _createClass3 = _interopRequireDefault(_createClass2),
          _utils = require("./utils"),
          _http = require("./http"),
          _http2 = _interopRequireDefault(_http),
          _endpoint = require("./endpoint"),
          _endpoint2 = _interopRequireDefault(_endpoint),
          _requests = require("./requests"),
          requests = _interopRequireWildcard(_requests),
          _batch = require("./batch"),
          _bucket = require("./bucket"),
          _bucket2 = _interopRequireDefault(_bucket);

      function _interopRequireWildcard(e) {
        if (e && e.__esModule) return e;
        var t = {};
        if (null != e) for (var r in e) {
          Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]);
        }
        return t.default = e, t;
      }

      function _interopRequireDefault(e) {
        return e && e.__esModule ? e : {
          default: e
        };
      }

      function _applyDecoratedDescriptor(e, t, r, n, a) {
        var s = {};
        return Object.keys(n).forEach(function (e) {
          s[e] = n[e];
        }), s.enumerable = !!s.enumerable, s.configurable = !!s.configurable, ("value" in s || s.initializer) && (s.writable = !0), s = r.slice().reverse().reduce(function (r, n) {
          return n(e, t, r) || r;
        }, s), a && void 0 !== s.initializer && (s.value = s.initializer ? s.initializer.call(a) : void 0, s.initializer = void 0), void 0 === s.initializer && (Object.defineProperty(e, t, s), s = null), s;
      }

      var SUPPORTED_PROTOCOL_VERSION = exports.SUPPORTED_PROTOCOL_VERSION = "v1",
          KintoClientBase = (_dec = (0, _utils.nobatch)("This operation is not supported within a batch operation."), _dec2 = (0, _utils.nobatch)("This operation is not supported within a batch operation."), _dec3 = (0, _utils.nobatch)("This operation is not supported within a batch operation."), _dec4 = (0, _utils.nobatch)("This operation is not supported within a batch operation."), _dec5 = (0, _utils.nobatch)("Can't use batch within a batch!"), _dec6 = (0, _utils.capable)(["permissions_endpoint"]), _dec7 = (0, _utils.support)("1.4", "2.0"), _applyDecoratedDescriptor((_class = function () {
        function e(t) {
          var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
          if ((0, _classCallCheck3.default)(this, e), "string" != typeof t || !t.length) throw new Error("Invalid remote URL: " + t);
          "/" === t[t.length - 1] && (t = t.slice(0, -1)), this._backoffReleaseTime = null, this._requests = [], this._isBatch = !!r.batch, this._retry = r.retry || 0, this._safe = !!r.safe, this._headers = r.headers || {}, this.remote = t, this.serverInfo = null, this.events = r.events;
          var n = r.requestMode,
              a = r.timeout;
          this.http = new _http2.default(this.events, {
            requestMode: n,
            timeout: a
          }), this._registerHTTPEvents();
        }

        return (0, _createClass3.default)(e, [{
          key: "_registerHTTPEvents",
          value: function value() {
            var e = this;
            this._isBatch || this.events.on("backoff", function (t) {
              e._backoffReleaseTime = t;
            });
          }
        }, {
          key: "bucket",
          value: function value(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
            return new _bucket2.default(this, e, {
              batch: this._isBatch,
              headers: this._getHeaders(t),
              safe: this._getSafe(t),
              retry: this._getRetry(t)
            });
          }
        }, {
          key: "setHeaders",
          value: function value(e) {
            this._headers = (0, _extends3.default)({}, this._headers, e), this.serverInfo = null;
          }
        }, {
          key: "_getHeaders",
          value: function value(e) {
            return (0, _extends3.default)({}, this._headers, e.headers);
          }
        }, {
          key: "_getSafe",
          value: function value(e) {
            return (0, _extends3.default)({
              safe: this._safe
            }, e).safe;
          }
        }, {
          key: "_getRetry",
          value: function value(e) {
            return (0, _extends3.default)({
              retry: this._retry
            }, e).retry;
          }
        }, {
          key: "_getHello",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e() {
              var t,
                  r,
                  n,
                  a = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return t = this.remote + (0, _endpoint2.default)("root"), e.next = 3, this.http.request(t, {
                        headers: this._getHeaders(a)
                      }, {
                        retry: this._getRetry(a)
                      });

                    case 3:
                      return r = e.sent, n = r.json, e.abrupt("return", n);

                    case 6:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function () {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "fetchServerInfo",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e() {
              var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      if (!this.serverInfo) {
                        e.next = 2;
                        break;
                      }

                      return e.abrupt("return", this.serverInfo);

                    case 2:
                      return e.next = 4, this._getHello({
                        retry: this._getRetry(t)
                      });

                    case 4:
                      return this.serverInfo = e.sent, e.abrupt("return", this.serverInfo);

                    case 6:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function () {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "fetchServerSettings",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r, n;
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return e.next = 2, this.fetchServerInfo(t);

                    case 2:
                      return r = e.sent, n = r.settings, e.abrupt("return", n);

                    case 5:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "fetchServerCapabilities",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e() {
              var t,
                  r,
                  n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return e.next = 2, this.fetchServerInfo(n);

                    case 2:
                      return t = e.sent, r = t.capabilities, e.abrupt("return", r);

                    case 5:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function () {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "fetchUser",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e() {
              var t,
                  r,
                  n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return e.next = 2, this._getHello(n);

                    case 2:
                      return t = e.sent, r = t.user, e.abrupt("return", r);

                    case 5:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function () {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "fetchHTTPApiVersion",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e() {
              var t,
                  r,
                  n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return e.next = 2, this.fetchServerInfo(n);

                    case 2:
                      return t = e.sent, r = t.http_api_version, e.abrupt("return", r);

                    case 5:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function () {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "_batchRequests",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  n,
                  a,
                  s,
                  i,
                  u,
                  o = this,
                  c = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      if (r = this._getHeaders(c), t.length) {
                        e.next = 3;
                        break;
                      }

                      return e.abrupt("return", []);

                    case 3:
                      return e.next = 5, this.fetchServerSettings({
                        retry: this._getRetry(c)
                      });

                    case 5:
                      if (n = e.sent, !((a = n.batch_max_requests) && t.length > a)) {
                        e.next = 10;
                        break;
                      }

                      return s = (0, _utils.partition)(t, a), e.abrupt("return", (0, _utils.pMap)(s, function (e) {
                        return o._batchRequests(e, c);
                      }));

                    case 10:
                      return e.next = 12, this.execute({
                        headers: r,
                        path: (0, _endpoint2.default)("batch"),
                        method: "POST",
                        body: {
                          defaults: {
                            headers: r
                          },
                          requests: t
                        }
                      }, {
                        retry: this._getRetry(c)
                      });

                    case 12:
                      return i = e.sent, u = i.responses, e.abrupt("return", u);

                    case 15:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "batch",
          value: function () {
            var t = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function t(r) {
              var n,
                  a,
                  s,
                  i,
                  u = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (t) {
                for (;;) {
                  switch (t.prev = t.next) {
                    case 0:
                      return n = new e(this.remote, {
                        events: this.events,
                        batch: !0,
                        safe: this._getSafe(u),
                        retry: this._getRetry(u)
                      }), a = void 0, s = void 0, u.bucket && (a = n.bucket(u.bucket), u.collection && (s = a.collection(u.collection))), r(s || a || n), t.next = 7, this._batchRequests(n._requests, u);

                    case 7:
                      if (i = t.sent, !u.aggregate) {
                        t.next = 12;
                        break;
                      }

                      return t.abrupt("return", (0, _batch.aggregate)(i, n._requests));

                    case 12:
                      return t.abrupt("return", i);

                    case 13:
                    case "end":
                      return t.stop();
                  }
                }
              }, t, this);
            }));
            return function (e) {
              return t.apply(this, arguments);
            };
          }()
        }, {
          key: "execute",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  n,
                  a,
                  s,
                  i,
                  u,
                  o = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      if (r = o.raw, n = void 0 !== r && r, a = o.stringify, s = void 0 === a || a, !this._isBatch) {
                        e.next = 5;
                        break;
                      }

                      return this._requests.push(t), i = "This result is generated from within a batch operation and should not be consumed.", e.abrupt("return", n ? {
                        json: i,
                        headers: {
                          get: function get() {}
                        }
                      } : i);

                    case 5:
                      return e.next = 7, this.http.request(this.remote + t.path, (0, _utils.cleanUndefinedProperties)({
                        method: t.method,
                        headers: t.headers,
                        body: s ? JSON.stringify(t.body) : t.body
                      }), {
                        retry: this._getRetry(o)
                      });

                    case 7:
                      return u = e.sent, e.abrupt("return", n ? u : u.json);

                    case 9:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "paginatedList",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t, r) {
              var n,
                  a,
                  s,
                  i,
                  u,
                  o,
                  c,
                  l,
                  p,
                  f,
                  d,
                  h,
                  _,
                  v = this,
                  y = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};

              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      if (n = (0, _extends3.default)({
                        sort: "-last_modified"
                      }, r), a = n.sort, s = n.filters, i = n.limit, u = n.pages, !(o = n.since) || "string" == typeof o) {
                        e.next = 3;
                        break;
                      }

                      throw new Error("Invalid value for since (" + o + "), should be ETag value.");

                    case 3:
                      return c = (0, _utils.qsify)((0, _extends3.default)({}, s, {
                        _sort: a,
                        _limit: i,
                        _since: o
                      })), l = [], p = 0, f = function () {
                        var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
                          return _regenerator2.default.wrap(function (e) {
                            for (;;) {
                              switch (e.prev = e.next) {
                                case 0:
                                  if (t) {
                                    e.next = 2;
                                    break;
                                  }

                                  throw new Error("Pagination exhausted.");

                                case 2:
                                  return e.abrupt("return", d(t));

                                case 3:
                                case "end":
                                  return e.stop();
                              }
                            }
                          }, e, this);
                        }));
                        return function (t) {
                          return e.apply(this, arguments);
                        };
                      }(), d = function () {
                        var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
                          var r;
                          return _regenerator2.default.wrap(function (e) {
                            for (;;) {
                              switch (e.prev = e.next) {
                                case 0:
                                  return r = y.headers, e.t0 = _, e.next = 4, v.http.request(t, {
                                    headers: r
                                  });

                                case 4:
                                  return e.t1 = e.sent, e.abrupt("return", (0, e.t0)(e.t1));

                                case 6:
                                case "end":
                                  return e.stop();
                              }
                            }
                          }, e, v);
                        }));
                        return function (t) {
                          return e.apply(this, arguments);
                        };
                      }(), h = function h(e, t, r, n) {
                        return {
                          last_modified: r ? r.replace(/"/g, "") : r,
                          data: e,
                          next: f.bind(null, t),
                          hasNextPage: !!t,
                          totalRecords: n
                        };
                      }, _ = function () {
                        var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
                          var r,
                              n,
                              a,
                              s = t.headers,
                              i = t.json;
                          return _regenerator2.default.wrap(function (e) {
                            for (;;) {
                              switch (e.prev = e.next) {
                                case 0:
                                  if (r = s.get("Next-Page"), n = s.get("ETag"), a = parseInt(s.get("Total-Records"), 10), u) {
                                    e.next = 5;
                                    break;
                                  }

                                  return e.abrupt("return", h(i.data, r, n, a));

                                case 5:
                                  if (l = l.concat(i.data), !((p += 1) >= u) && r) {
                                    e.next = 9;
                                    break;
                                  }

                                  return e.abrupt("return", h(l, r, n, a));

                                case 9:
                                  return e.abrupt("return", d(r));

                                case 10:
                                case "end":
                                  return e.stop();
                              }
                            }
                          }, e, this);
                        }));
                        return function (t) {
                          return e.apply(this, arguments);
                        };
                      }(), e.t0 = _, e.next = 12, this.execute({
                        headers: y.headers,
                        path: t + "?" + c
                      }, {
                        raw: !0,
                        retry: y.retry || 0
                      });

                    case 12:
                      return e.t1 = e.sent, e.abrupt("return", (0, e.t0)(e.t1));

                    case 14:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t, r) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "listPermissions",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e() {
              var t,
                  r,
                  n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return t = (0, _endpoint2.default)("permissions"), r = (0, _extends3.default)({
                        sort: "id"
                      }, n), e.abrupt("return", this.paginatedList(t, r, {
                        headers: this._getHeaders(n),
                        retry: this._getRetry(n)
                      }));

                    case 3:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function () {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "listBuckets",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e() {
              var t,
                  r = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return t = (0, _endpoint2.default)("bucket"), e.abrupt("return", this.paginatedList(t, r, {
                        headers: this._getHeaders(r),
                        retry: this._getRetry(r)
                      }));

                    case 2:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function () {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "createBucket",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  n,
                  a,
                  s,
                  i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return r = i.data, n = void 0 === r ? {} : r, a = i.permissions, null != t && (n.id = t), s = n.id ? (0, _endpoint2.default)("bucket", n.id) : (0, _endpoint2.default)("bucket"), e.abrupt("return", this.execute(requests.createRequest(s, {
                        data: n,
                        permissions: a
                      }, {
                        headers: this._getHeaders(i),
                        safe: this._getSafe(i)
                      }), {
                        retry: this._getRetry(i)
                      }));

                    case 4:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "deleteBucket",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  n,
                  a,
                  s,
                  i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      if ((r = (0, _utils.toDataBody)(t)).id) {
                        e.next = 3;
                        break;
                      }

                      throw new Error("A bucket id is required.");

                    case 3:
                      return n = (0, _endpoint2.default)("bucket", r.id), a = (0, _extends3.default)({}, r, i), s = a.last_modified, e.abrupt("return", this.execute(requests.deleteRequest(n, {
                        last_modified: s,
                        headers: this._getHeaders(i),
                        safe: this._getSafe(i)
                      }), {
                        retry: this._getRetry(i)
                      }));

                    case 6:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "deleteBuckets",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e() {
              var t,
                  r = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return t = (0, _endpoint2.default)("bucket"), e.abrupt("return", this.execute(requests.deleteRequest(t, {
                        last_modified: r.last_modified,
                        headers: this._getHeaders(r),
                        safe: this._getSafe(r)
                      }), {
                        retry: this._getRetry(r)
                      }));

                    case 2:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function () {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "remote",
          get: function get() {
            return this._remote;
          },
          set: function set(e) {
            var t = void 0;

            try {
              t = e.match(/\/(v\d+)\/?$/)[1];
            } catch (t) {
              throw new Error("The remote URL must contain the version: " + e);
            }

            if (t !== SUPPORTED_PROTOCOL_VERSION) throw new Error("Unsupported protocol version: " + t);
            this._remote = e, this._version = t;
          }
        }, {
          key: "version",
          get: function get() {
            return this._version;
          }
        }, {
          key: "backoff",
          get: function get() {
            var e = new Date().getTime();
            return this._backoffReleaseTime && e < this._backoffReleaseTime ? this._backoffReleaseTime - e : 0;
          }
        }]), e;
      }()).prototype, "fetchServerSettings", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "fetchServerSettings"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "fetchServerCapabilities", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, "fetchServerCapabilities"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "fetchUser", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, "fetchUser"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "fetchHTTPApiVersion", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, "fetchHTTPApiVersion"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "batch", [_dec5], Object.getOwnPropertyDescriptor(_class.prototype, "batch"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "listPermissions", [_dec6], Object.getOwnPropertyDescriptor(_class.prototype, "listPermissions"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "deleteBuckets", [_dec7], Object.getOwnPropertyDescriptor(_class.prototype, "deleteBuckets"), _class.prototype), _class);
      exports.default = KintoClientBase;
    }, {
      "./batch": 417,
      "./bucket": 418,
      "./endpoint": 420,
      "./http": 422,
      "./requests": 424,
      "./utils": 425,
      "babel-runtime/helpers/asyncToGenerator": 306,
      "babel-runtime/helpers/classCallCheck": 307,
      "babel-runtime/helpers/createClass": 308,
      "babel-runtime/helpers/extends": 310,
      "babel-runtime/regenerator": 316
    }],
    417: [function (require, module, exports) {
      "use strict";

      function aggregate() {
        var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [],
            t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [];
        if (e.length !== t.length) throw new Error("Responses length should match requests one.");
        return e.reduce(function (e, r, s) {
          var o = r.status,
              i = t[s];
          if (o >= 200 && o < 400) e.published.push(r.body);else if (404 === o) {
            var l = i.path.match(/(buckets|groups|collections|records)\/([^\/]+)$/),
                n = 3 === l.length ? l[2] : void 0;
            e.skipped.push({
              id: n,
              path: i.path,
              error: r.body
            });
          } else 412 === o ? e.conflicts.push({
            type: "outgoing",
            local: i.body,
            remote: r.body.details && r.body.details.existing || null
          }) : e.errors.push({
            path: i.path,
            sent: i,
            error: r.body
          });
          return e;
        }, {
          errors: [],
          published: [],
          conflicts: [],
          skipped: []
        });
      }

      Object.defineProperty(exports, "__esModule", {
        value: !0
      }), exports.aggregate = aggregate;
    }, {}],
    418: [function (require, module, exports) {
      "use strict";

      Object.defineProperty(exports, "__esModule", {
        value: !0
      }), exports.default = void 0;

      var _dec,
          _desc,
          _value,
          _class,
          _regenerator = require("babel-runtime/regenerator"),
          _regenerator2 = _interopRequireDefault(_regenerator),
          _asyncToGenerator2 = require("babel-runtime/helpers/asyncToGenerator"),
          _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2),
          _extends2 = require("babel-runtime/helpers/extends"),
          _extends3 = _interopRequireDefault(_extends2),
          _classCallCheck2 = require("babel-runtime/helpers/classCallCheck"),
          _classCallCheck3 = _interopRequireDefault(_classCallCheck2),
          _createClass2 = require("babel-runtime/helpers/createClass"),
          _createClass3 = _interopRequireDefault(_createClass2),
          _utils = require("./utils"),
          _collection = require("./collection"),
          _collection2 = _interopRequireDefault(_collection),
          _requests = require("./requests"),
          requests = _interopRequireWildcard(_requests),
          _endpoint = require("./endpoint"),
          _endpoint2 = _interopRequireDefault(_endpoint);

      function _interopRequireWildcard(e) {
        if (e && e.__esModule) return e;
        var t = {};
        if (null != e) for (var r in e) {
          Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]);
        }
        return t.default = e, t;
      }

      function _interopRequireDefault(e) {
        return e && e.__esModule ? e : {
          default: e
        };
      }

      function _applyDecoratedDescriptor(e, t, r, a, n) {
        var s = {};
        return Object.keys(a).forEach(function (e) {
          s[e] = a[e];
        }), s.enumerable = !!s.enumerable, s.configurable = !!s.configurable, ("value" in s || s.initializer) && (s.writable = !0), s = r.slice().reverse().reduce(function (r, a) {
          return a(e, t, r) || r;
        }, s), n && void 0 !== s.initializer && (s.value = s.initializer ? s.initializer.call(n) : void 0, s.initializer = void 0), void 0 === s.initializer && (Object.defineProperty(e, t, s), s = null), s;
      }

      var Bucket = (_dec = (0, _utils.capable)(["history"]), _applyDecoratedDescriptor((_class = function () {
        function e(t, r) {
          var a = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
          (0, _classCallCheck3.default)(this, e), this.client = t, this.name = r, this._isBatch = !!a.batch, this._headers = a.headers || {}, this._retry = a.retry || 0, this._safe = !!a.safe;
        }

        return (0, _createClass3.default)(e, [{
          key: "_getHeaders",
          value: function value(e) {
            return (0, _extends3.default)({}, this._headers, e.headers);
          }
        }, {
          key: "_getSafe",
          value: function value(e) {
            return (0, _extends3.default)({
              safe: this._safe
            }, e).safe;
          }
        }, {
          key: "_getRetry",
          value: function value(e) {
            return (0, _extends3.default)({
              retry: this._retry
            }, e).retry;
          }
        }, {
          key: "collection",
          value: function value(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
            return new _collection2.default(this.client, this, e, {
              batch: this._isBatch,
              headers: this._getHeaders(t),
              retry: this._getRetry(t),
              safe: this._getSafe(t)
            });
          }
        }, {
          key: "getData",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e() {
              var t,
                  r,
                  a,
                  n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return t = {
                        headers: this._getHeaders(n),
                        path: (0, _endpoint2.default)("bucket", this.name)
                      }, e.next = 3, this.client.execute(t, {
                        retry: this._getRetry(n)
                      });

                    case 3:
                      return r = e.sent, a = r.data, e.abrupt("return", a);

                    case 6:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function () {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "setData",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  a,
                  n,
                  s,
                  i,
                  u,
                  o,
                  c,
                  l = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      if ((0, _utils.isObject)(t)) {
                        e.next = 2;
                        break;
                      }

                      throw new Error("A bucket object is required.");

                    case 2:
                      return r = (0, _extends3.default)({}, t, {
                        id: this.name
                      }), a = r.id, "default" === r.id && delete r.id, n = (0, _endpoint2.default)("bucket", a), s = l.patch, i = l.permissions, u = (0, _extends3.default)({}, t, l), o = u.last_modified, c = requests.updateRequest(n, {
                        data: r,
                        permissions: i
                      }, {
                        last_modified: o,
                        patch: s,
                        headers: this._getHeaders(l),
                        safe: this._getSafe(l)
                      }), e.abrupt("return", this.client.execute(c, {
                        retry: this._getRetry(l)
                      }));

                    case 10:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "listHistory",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e() {
              var t,
                  r = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return t = (0, _endpoint2.default)("history", this.name), e.abrupt("return", this.client.paginatedList(t, r, {
                        headers: this._getHeaders(r),
                        retry: this._getRetry(r)
                      }));

                    case 2:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function () {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "listCollections",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e() {
              var t,
                  r = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return t = (0, _endpoint2.default)("collection", this.name), e.abrupt("return", this.client.paginatedList(t, r, {
                        headers: this._getHeaders(r),
                        retry: this._getRetry(r)
                      }));

                    case 2:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function () {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "createCollection",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  a,
                  n,
                  s,
                  i,
                  u = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return r = u.permissions, a = u.data, (n = void 0 === a ? {} : a).id = t, s = (0, _endpoint2.default)("collection", this.name, t), i = requests.createRequest(s, {
                        data: n,
                        permissions: r
                      }, {
                        headers: this._getHeaders(u),
                        safe: this._getSafe(u)
                      }), e.abrupt("return", this.client.execute(i, {
                        retry: this._getRetry(u)
                      }));

                    case 5:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "deleteCollection",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  a,
                  n,
                  s,
                  i,
                  u,
                  o = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      if ((r = (0, _utils.toDataBody)(t)).id) {
                        e.next = 3;
                        break;
                      }

                      throw new Error("A collection id is required.");

                    case 3:
                      return a = r.id, n = (0, _extends3.default)({}, r, o), s = n.last_modified, i = (0, _endpoint2.default)("collection", this.name, a), u = requests.deleteRequest(i, {
                        last_modified: s,
                        headers: this._getHeaders(o),
                        safe: this._getSafe(o)
                      }), e.abrupt("return", this.client.execute(u, {
                        retry: this._getRetry(o)
                      }));

                    case 8:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "listGroups",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e() {
              var t,
                  r = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return t = (0, _endpoint2.default)("group", this.name), e.abrupt("return", this.client.paginatedList(t, r, {
                        headers: this._getHeaders(r),
                        retry: this._getRetry(r)
                      }));

                    case 2:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function () {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "getGroup",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  a = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return r = {
                        headers: this._getHeaders(a),
                        path: (0, _endpoint2.default)("group", this.name, t)
                      }, e.abrupt("return", this.client.execute(r, {
                        retry: this._getRetry(a)
                      }));

                    case 2:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "createGroup",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  a,
                  n,
                  s,
                  i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [],
                  u = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return r = (0, _extends3.default)({}, u.data, {
                        id: t,
                        members: i
                      }), a = (0, _endpoint2.default)("group", this.name, t), n = u.permissions, s = requests.createRequest(a, {
                        data: r,
                        permissions: n
                      }, {
                        headers: this._getHeaders(u),
                        safe: this._getSafe(u)
                      }), e.abrupt("return", this.client.execute(s, {
                        retry: this._getRetry(u)
                      }));

                    case 5:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "updateGroup",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  a,
                  n,
                  s,
                  i,
                  u,
                  o,
                  c = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      if ((0, _utils.isObject)(t)) {
                        e.next = 2;
                        break;
                      }

                      throw new Error("A group object is required.");

                    case 2:
                      if (t.id) {
                        e.next = 4;
                        break;
                      }

                      throw new Error("A group id is required.");

                    case 4:
                      return r = (0, _extends3.default)({}, c.data, t), a = (0, _endpoint2.default)("group", this.name, t.id), n = c.patch, s = c.permissions, i = (0, _extends3.default)({}, r, c), u = i.last_modified, o = requests.updateRequest(a, {
                        data: r,
                        permissions: s
                      }, {
                        last_modified: u,
                        patch: n,
                        headers: this._getHeaders(c),
                        safe: this._getSafe(c)
                      }), e.abrupt("return", this.client.execute(o, {
                        retry: this._getRetry(c)
                      }));

                    case 10:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "deleteGroup",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  a,
                  n,
                  s,
                  i,
                  u,
                  o = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return r = (0, _utils.toDataBody)(t), a = r.id, n = (0, _extends3.default)({}, r, o), s = n.last_modified, i = (0, _endpoint2.default)("group", this.name, a), u = requests.deleteRequest(i, {
                        last_modified: s,
                        headers: this._getHeaders(o),
                        safe: this._getSafe(o)
                      }), e.abrupt("return", this.client.execute(u, {
                        retry: this._getRetry(o)
                      }));

                    case 6:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "getPermissions",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e() {
              var t,
                  r,
                  a,
                  n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return t = {
                        headers: this._getHeaders(n),
                        path: (0, _endpoint2.default)("bucket", this.name)
                      }, e.next = 3, this.client.execute(t, {
                        retry: this._getRetry(n)
                      });

                    case 3:
                      return r = e.sent, a = r.permissions, e.abrupt("return", a);

                    case 6:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function () {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "setPermissions",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  a,
                  n,
                  s,
                  i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      if ((0, _utils.isObject)(t)) {
                        e.next = 2;
                        break;
                      }

                      throw new Error("A permissions object is required.");

                    case 2:
                      return r = (0, _endpoint2.default)("bucket", this.name), a = i.last_modified, n = {
                        last_modified: a
                      }, s = requests.updateRequest(r, {
                        data: n,
                        permissions: t
                      }, {
                        headers: this._getHeaders(i),
                        safe: this._getSafe(i)
                      }), e.abrupt("return", this.client.execute(s, {
                        retry: this._getRetry(i)
                      }));

                    case 7:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "addPermissions",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  a,
                  n,
                  s = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      if ((0, _utils.isObject)(t)) {
                        e.next = 2;
                        break;
                      }

                      throw new Error("A permissions object is required.");

                    case 2:
                      return r = (0, _endpoint2.default)("bucket", this.name), a = s.last_modified, n = requests.jsonPatchPermissionsRequest(r, t, "add", {
                        last_modified: a,
                        headers: this._getHeaders(s),
                        safe: this._getSafe(s)
                      }), e.abrupt("return", this.client.execute(n, {
                        retry: this._getRetry(s)
                      }));

                    case 6:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "removePermissions",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  a,
                  n,
                  s = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      if ((0, _utils.isObject)(t)) {
                        e.next = 2;
                        break;
                      }

                      throw new Error("A permissions object is required.");

                    case 2:
                      return r = (0, _endpoint2.default)("bucket", this.name), a = s.last_modified, n = requests.jsonPatchPermissionsRequest(r, t, "remove", {
                        last_modified: a,
                        headers: this._getHeaders(s),
                        safe: this._getSafe(s)
                      }), e.abrupt("return", this.client.execute(n, {
                        retry: this._getRetry(s)
                      }));

                    case 6:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "batch",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return e.abrupt("return", this.client.batch(t, {
                        bucket: this.name,
                        headers: this._getHeaders(r),
                        retry: this._getRetry(r),
                        safe: this._getSafe(r),
                        aggregate: !!r.aggregate
                      }));

                    case 1:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }]), e;
      }()).prototype, "listHistory", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "listHistory"), _class.prototype), _class);
      exports.default = Bucket;
    }, {
      "./collection": 419,
      "./endpoint": 420,
      "./requests": 424,
      "./utils": 425,
      "babel-runtime/helpers/asyncToGenerator": 306,
      "babel-runtime/helpers/classCallCheck": 307,
      "babel-runtime/helpers/createClass": 308,
      "babel-runtime/helpers/extends": 310,
      "babel-runtime/regenerator": 316
    }],
    419: [function (require, module, exports) {
      "use strict";

      Object.defineProperty(exports, "__esModule", {
        value: !0
      }), exports.default = void 0;

      var _dec,
          _dec2,
          _dec3,
          _desc,
          _value,
          _class,
          _slicedToArray2 = require("babel-runtime/helpers/slicedToArray"),
          _slicedToArray3 = _interopRequireDefault(_slicedToArray2),
          _regenerator = require("babel-runtime/regenerator"),
          _regenerator2 = _interopRequireDefault(_regenerator),
          _asyncToGenerator2 = require("babel-runtime/helpers/asyncToGenerator"),
          _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2),
          _extends2 = require("babel-runtime/helpers/extends"),
          _extends3 = _interopRequireDefault(_extends2),
          _classCallCheck2 = require("babel-runtime/helpers/classCallCheck"),
          _classCallCheck3 = _interopRequireDefault(_classCallCheck2),
          _createClass2 = require("babel-runtime/helpers/createClass"),
          _createClass3 = _interopRequireDefault(_createClass2),
          _uuid = require("uuid"),
          _utils = require("./utils"),
          _requests = require("./requests"),
          requests = _interopRequireWildcard(_requests),
          _endpoint = require("./endpoint"),
          _endpoint2 = _interopRequireDefault(_endpoint);

      function _interopRequireWildcard(e) {
        if (e && e.__esModule) return e;
        var t = {};
        if (null != e) for (var r in e) {
          Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]);
        }
        return t.default = e, t;
      }

      function _interopRequireDefault(e) {
        return e && e.__esModule ? e : {
          default: e
        };
      }

      function _applyDecoratedDescriptor(e, t, r, a, n) {
        var s = {};
        return Object.keys(a).forEach(function (e) {
          s[e] = a[e];
        }), s.enumerable = !!s.enumerable, s.configurable = !!s.configurable, ("value" in s || s.initializer) && (s.writable = !0), s = r.slice().reverse().reduce(function (r, a) {
          return a(e, t, r) || r;
        }, s), n && void 0 !== s.initializer && (s.value = s.initializer ? s.initializer.call(n) : void 0, s.initializer = void 0), void 0 === s.initializer && (Object.defineProperty(e, t, s), s = null), s;
      }

      var Collection = (_dec = (0, _utils.capable)(["attachments"]), _dec2 = (0, _utils.capable)(["attachments"]), _dec3 = (0, _utils.capable)(["history"]), _applyDecoratedDescriptor((_class = function () {
        function e(t, r, a) {
          var n = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {};
          (0, _classCallCheck3.default)(this, e), this.client = t, this.bucket = r, this.name = a, this._isBatch = !!n.batch, this._retry = n.retry || 0, this._safe = !!n.safe, this._headers = (0, _extends3.default)({}, this.bucket._headers, n.headers);
        }

        return (0, _createClass3.default)(e, [{
          key: "_getHeaders",
          value: function value(e) {
            return (0, _extends3.default)({}, this._headers, e.headers);
          }
        }, {
          key: "_getSafe",
          value: function value(e) {
            return (0, _extends3.default)({
              safe: this._safe
            }, e).safe;
          }
        }, {
          key: "_getRetry",
          value: function value(e) {
            return (0, _extends3.default)({
              retry: this._retry
            }, e).retry;
          }
        }, {
          key: "getTotalRecords",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e() {
              var t,
                  r,
                  a,
                  n,
                  s = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return t = (0, _endpoint2.default)("record", this.bucket.name, this.name), r = {
                        headers: this._getHeaders(s),
                        path: t,
                        method: "HEAD"
                      }, e.next = 4, this.client.execute(r, {
                        raw: !0,
                        retry: this._getRetry(s)
                      });

                    case 4:
                      return a = e.sent, n = a.headers, e.abrupt("return", parseInt(n.get("Total-Records"), 10));

                    case 7:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function () {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "getData",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e() {
              var t,
                  r,
                  a,
                  n,
                  s = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return t = (0, _endpoint2.default)("collection", this.bucket.name, this.name), r = {
                        headers: this._getHeaders(s),
                        path: t
                      }, e.next = 4, this.client.execute(r, {
                        retry: this._getRetry(s)
                      });

                    case 4:
                      return a = e.sent, n = a.data, e.abrupt("return", n);

                    case 7:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function () {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "setData",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  a,
                  n,
                  s,
                  i,
                  u,
                  o = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      if ((0, _utils.isObject)(t)) {
                        e.next = 2;
                        break;
                      }

                      throw new Error("A collection object is required.");

                    case 2:
                      return r = o.patch, a = o.permissions, n = (0, _extends3.default)({}, t, o), s = n.last_modified, i = (0, _endpoint2.default)("collection", this.bucket.name, this.name), u = requests.updateRequest(i, {
                        data: t,
                        permissions: a
                      }, {
                        last_modified: s,
                        patch: r,
                        headers: this._getHeaders(o),
                        safe: this._getSafe(o)
                      }), e.abrupt("return", this.client.execute(u, {
                        retry: this._getRetry(o)
                      }));

                    case 7:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "getPermissions",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e() {
              var t,
                  r,
                  a,
                  n,
                  s = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return t = (0, _endpoint2.default)("collection", this.bucket.name, this.name), r = {
                        headers: this._getHeaders(s),
                        path: t
                      }, e.next = 4, this.client.execute(r, {
                        retry: this._getRetry(s)
                      });

                    case 4:
                      return a = e.sent, n = a.permissions, e.abrupt("return", n);

                    case 7:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function () {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "setPermissions",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  a,
                  n,
                  s = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      if ((0, _utils.isObject)(t)) {
                        e.next = 2;
                        break;
                      }

                      throw new Error("A permissions object is required.");

                    case 2:
                      return r = (0, _endpoint2.default)("collection", this.bucket.name, this.name), a = {
                        last_modified: s.last_modified
                      }, n = requests.updateRequest(r, {
                        data: a,
                        permissions: t
                      }, {
                        headers: this._getHeaders(s),
                        safe: this._getSafe(s)
                      }), e.abrupt("return", this.client.execute(n, {
                        retry: this._getRetry(s)
                      }));

                    case 6:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "addPermissions",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  a,
                  n,
                  s = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      if ((0, _utils.isObject)(t)) {
                        e.next = 2;
                        break;
                      }

                      throw new Error("A permissions object is required.");

                    case 2:
                      return r = (0, _endpoint2.default)("collection", this.bucket.name, this.name), a = s.last_modified, n = requests.jsonPatchPermissionsRequest(r, t, "add", {
                        last_modified: a,
                        headers: this._getHeaders(s),
                        safe: this._getSafe(s)
                      }), e.abrupt("return", this.client.execute(n, {
                        retry: this._getRetry(s)
                      }));

                    case 6:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "removePermissions",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  a,
                  n,
                  s = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      if ((0, _utils.isObject)(t)) {
                        e.next = 2;
                        break;
                      }

                      throw new Error("A permissions object is required.");

                    case 2:
                      return r = (0, _endpoint2.default)("collection", this.bucket.name, this.name), a = s.last_modified, n = requests.jsonPatchPermissionsRequest(r, t, "remove", {
                        last_modified: a,
                        headers: this._getHeaders(s),
                        safe: this._getSafe(s)
                      }), e.abrupt("return", this.client.execute(n, {
                        retry: this._getRetry(s)
                      }));

                    case 6:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "createRecord",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  a,
                  n,
                  s = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return r = s.permissions, a = (0, _endpoint2.default)("record", this.bucket.name, this.name, t.id), n = requests.createRequest(a, {
                        data: t,
                        permissions: r
                      }, {
                        headers: this._getHeaders(s),
                        safe: this._getSafe(s)
                      }), e.abrupt("return", this.client.execute(n, {
                        retry: this._getRetry(s)
                      }));

                    case 4:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "addAttachment",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  a,
                  n,
                  s,
                  i,
                  u,
                  o = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
                  c = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return r = c.permissions, a = o.id || _uuid.v4.v4(), n = (0, _endpoint2.default)("attachment", this.bucket.name, this.name, a), s = (0, _extends3.default)({}, o, c), i = s.last_modified, u = requests.addAttachmentRequest(n, t, {
                        data: o,
                        permissions: r
                      }, {
                        last_modified: i,
                        filename: c.filename,
                        gzipped: c.gzipped,
                        headers: this._getHeaders(c),
                        safe: this._getSafe(c)
                      }), e.next = 7, this.client.execute(u, {
                        stringify: !1,
                        retry: this._getRetry(c)
                      });

                    case 7:
                      return e.abrupt("return", this.getRecord(a));

                    case 8:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "removeAttachment",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  a,
                  n,
                  s = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return r = s.last_modified, a = (0, _endpoint2.default)("attachment", this.bucket.name, this.name, t), n = requests.deleteRequest(a, {
                        last_modified: r,
                        headers: this._getHeaders(s),
                        safe: this._getSafe(s)
                      }), e.abrupt("return", this.client.execute(n, {
                        retry: this._getRetry(s)
                      }));

                    case 4:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "updateRecord",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  a,
                  n,
                  s,
                  i,
                  u = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      if ((0, _utils.isObject)(t)) {
                        e.next = 2;
                        break;
                      }

                      throw new Error("A record object is required.");

                    case 2:
                      if (t.id) {
                        e.next = 4;
                        break;
                      }

                      throw new Error("A record id is required.");

                    case 4:
                      return r = u.permissions, a = (0, _extends3.default)({}, t, u), n = a.last_modified, s = (0, _endpoint2.default)("record", this.bucket.name, this.name, t.id), i = requests.updateRequest(s, {
                        data: t,
                        permissions: r
                      }, {
                        headers: this._getHeaders(u),
                        safe: this._getSafe(u),
                        last_modified: n,
                        patch: !!u.patch
                      }), e.abrupt("return", this.client.execute(i, {
                        retry: this._getRetry(u)
                      }));

                    case 9:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "deleteRecord",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  a,
                  n,
                  s,
                  i,
                  u,
                  o = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      if ((r = (0, _utils.toDataBody)(t)).id) {
                        e.next = 3;
                        break;
                      }

                      throw new Error("A record id is required.");

                    case 3:
                      return a = r.id, n = (0, _extends3.default)({}, r, o), s = n.last_modified, i = (0, _endpoint2.default)("record", this.bucket.name, this.name, a), u = requests.deleteRequest(i, {
                        last_modified: s,
                        headers: this._getHeaders(o),
                        safe: this._getSafe(o)
                      }), e.abrupt("return", this.client.execute(u, {
                        retry: this._getRetry(o)
                      }));

                    case 8:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "getRecord",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r,
                  a,
                  n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return r = (0, _endpoint2.default)("record", this.bucket.name, this.name, t), a = {
                        headers: this._getHeaders(n),
                        path: r
                      }, e.abrupt("return", this.client.execute(a, {
                        retry: this._getRetry(n)
                      }));

                    case 3:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "listRecords",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e() {
              var t,
                  r = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      if (t = (0, _endpoint2.default)("record", this.bucket.name, this.name), !r.hasOwnProperty("at")) {
                        e.next = 5;
                        break;
                      }

                      return e.abrupt("return", this.getSnapshot(r.at));

                    case 5:
                      return e.abrupt("return", this.client.paginatedList(t, r, {
                        headers: this._getHeaders(r),
                        retry: this._getRetry(r)
                      }));

                    case 6:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function () {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "isHistoryComplete",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e() {
              var t, r, a;
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return e.next = 2, this.bucket.listHistory({
                        limit: 1,
                        filters: {
                          action: "create",
                          resource_name: "collection",
                          collection_id: this.name
                        }
                      });

                    case 2:
                      return t = e.sent, r = (0, _slicedToArray3.default)(t.data, 1), a = r[0], e.abrupt("return", !!a);

                    case 6:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function () {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "listChangesBackTo",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r, a;
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return e.next = 2, this.isHistoryComplete();

                    case 2:
                      if (e.sent) {
                        e.next = 4;
                        break;
                      }

                      throw new Error("Computing a snapshot is only possible when the full history for a collection is available. Here, the history plugin seems to have been enabled after the creation of the collection.");

                    case 4:
                      return e.next = 6, this.bucket.listHistory({
                        pages: 1 / 0,
                        sort: "-target.data.last_modified",
                        filters: {
                          resource_name: "record",
                          collection_id: this.name,
                          "max_target.data.last_modified": String(t)
                        }
                      });

                    case 6:
                      return r = e.sent, a = r.data, e.abrupt("return", a);

                    case 9:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "getSnapshot",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r, a, n, s, i, u, o, c, d;
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      if (Number.isInteger(t) && !(t <= 0)) {
                        e.next = 2;
                        break;
                      }

                      throw new Error("Invalid argument, expected a positive integer.");

                    case 2:
                      return e.next = 4, this.listChangesBackTo(t);

                    case 4:
                      for (r = e.sent, a = new Set(), n = [], s = !0, i = !1, u = void 0, e.prev = 10, o = function o() {
                        var e = d.value,
                            t = e.action,
                            r = e.target.data;
                        "delete" == t ? (a.add(r.id), n = n.filter(function (e) {
                          return e.id !== r.id;
                        })) : a.has(r.id) || (a.add(r.id), n.push(r));
                      }, c = r[Symbol.iterator](); !(s = (d = c.next()).done); s = !0) {
                        o();
                      }

                      e.next = 19;
                      break;

                    case 15:
                      e.prev = 15, e.t0 = e.catch(10), i = !0, u = e.t0;

                    case 19:
                      e.prev = 19, e.prev = 20, !s && c.return && c.return();

                    case 22:
                      if (e.prev = 22, !i) {
                        e.next = 25;
                        break;
                      }

                      throw u;

                    case 25:
                      return e.finish(22);

                    case 26:
                      return e.finish(19);

                    case 27:
                      return e.abrupt("return", {
                        last_modified: String(t),
                        data: n.sort(function (e, t) {
                          return t.last_modified - e.last_modified;
                        }),
                        next: function next() {
                          throw new Error("Snapshots don't support pagination");
                        },
                        hasNextPage: !1,
                        totalRecords: n.length
                      });

                    case 28:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this, [[10, 15, 19, 27], [20,, 22, 26]]);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "batch",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(t) {
              var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return e.abrupt("return", this.client.batch(t, {
                        bucket: this.bucket.name,
                        collection: this.name,
                        headers: this._getHeaders(r),
                        retry: this._getRetry(r),
                        safe: this._getSafe(r),
                        aggregate: !!r.aggregate
                      }));

                    case 1:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (t) {
              return e.apply(this, arguments);
            };
          }()
        }]), e;
      }()).prototype, "addAttachment", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "addAttachment"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "removeAttachment", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, "removeAttachment"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "getSnapshot", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, "getSnapshot"), _class.prototype), _class);
      exports.default = Collection;
    }, {
      "./endpoint": 420,
      "./requests": 424,
      "./utils": 425,
      "babel-runtime/helpers/asyncToGenerator": 306,
      "babel-runtime/helpers/classCallCheck": 307,
      "babel-runtime/helpers/createClass": 308,
      "babel-runtime/helpers/extends": 310,
      "babel-runtime/helpers/slicedToArray": 313,
      "babel-runtime/regenerator": 316,
      "uuid": 428
    }],
    420: [function (require, module, exports) {
      "use strict";

      Object.defineProperty(exports, "__esModule", {
        value: !0
      }), exports.default = endpoint;
      var ENDPOINTS = {
        root: function root() {
          return "/";
        },
        batch: function batch() {
          return "/batch";
        },
        permissions: function permissions() {
          return "/permissions";
        },
        bucket: function bucket(t) {
          return "/buckets" + (t ? "/" + t : "");
        },
        history: function history(t) {
          return ENDPOINTS.bucket(t) + "/history";
        },
        collection: function collection(t, n) {
          return ENDPOINTS.bucket(t) + "/collections" + (n ? "/" + n : "");
        },
        group: function group(t, n) {
          return ENDPOINTS.bucket(t) + "/groups" + (n ? "/" + n : "");
        },
        record: function record(t, n, r) {
          return ENDPOINTS.collection(t, n) + "/records" + (r ? "/" + r : "");
        },
        attachment: function attachment(t, n, r) {
          return ENDPOINTS.record(t, n, r) + "/attachment";
        }
      };

      function endpoint(t) {
        for (var n = arguments.length, r = Array(n > 1 ? n - 1 : 0), e = 1; e < n; e++) {
          r[e - 1] = arguments[e];
        }

        return ENDPOINTS[t].apply(ENDPOINTS, r);
      }
    }, {}],
    421: [function (require, module, exports) {
      "use strict";

      Object.defineProperty(exports, "__esModule", {
        value: !0
      }), exports.UnparseableResponseError = exports.ServerResponse = exports.NetworkTimeoutError = void 0;

      var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck"),
          _classCallCheck3 = _interopRequireDefault(_classCallCheck2),
          _possibleConstructorReturn2 = require("babel-runtime/helpers/possibleConstructorReturn"),
          _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2),
          _inherits2 = require("babel-runtime/helpers/inherits"),
          _inherits3 = _interopRequireDefault(_inherits2);

      function _interopRequireDefault(e) {
        return e && e.__esModule ? e : {
          default: e
        };
      }

      function _extendableBuiltin5(e) {
        function r() {
          var r = Reflect.construct(e, Array.from(arguments));
          return Object.setPrototypeOf(r, Object.getPrototypeOf(this)), r;
        }

        return r.prototype = Object.create(e.prototype, {
          constructor: {
            value: e,
            enumerable: !1,
            writable: !0,
            configurable: !0
          }
        }), Object.setPrototypeOf ? Object.setPrototypeOf(r, e) : r.__proto__ = e, r;
      }

      function _extendableBuiltin3(e) {
        function r() {
          var r = Reflect.construct(e, Array.from(arguments));
          return Object.setPrototypeOf(r, Object.getPrototypeOf(this)), r;
        }

        return r.prototype = Object.create(e.prototype, {
          constructor: {
            value: e,
            enumerable: !1,
            writable: !0,
            configurable: !0
          }
        }), Object.setPrototypeOf ? Object.setPrototypeOf(r, e) : r.__proto__ = e, r;
      }

      function _extendableBuiltin(e) {
        function r() {
          var r = Reflect.construct(e, Array.from(arguments));
          return Object.setPrototypeOf(r, Object.getPrototypeOf(this)), r;
        }

        return r.prototype = Object.create(e.prototype, {
          constructor: {
            value: e,
            enumerable: !1,
            writable: !0,
            configurable: !0
          }
        }), Object.setPrototypeOf ? Object.setPrototypeOf(r, e) : r.__proto__ = e, r;
      }

      var ERROR_CODES = {
        104: "Missing Authorization Token",
        105: "Invalid Authorization Token",
        106: "Request body was not valid JSON",
        107: "Invalid request parameter",
        108: "Missing request parameter",
        109: "Invalid posted data",
        110: "Invalid Token / id",
        111: "Missing Token / id",
        112: "Content-Length header was not provided",
        113: "Request body too large",
        114: "Resource was created, updated or deleted meanwhile",
        115: "Method not allowed on this end point (hint: server may be readonly)",
        116: "Requested version not available on this server",
        117: "Client has sent too many requests",
        121: "Resource access is forbidden for this user",
        122: "Another resource violates constraint",
        201: "Service Temporary unavailable due to high load",
        202: "Service deprecated",
        999: "Internal Server Error"
      };
      exports.default = ERROR_CODES;

      var NetworkTimeoutError = function (e) {
        function r(e, t) {
          (0, _classCallCheck3.default)(this, r);
          var o = (0, _possibleConstructorReturn3.default)(this, (r.__proto__ || Object.getPrototypeOf(r)).call(this, "Timeout while trying to access " + e + " with " + JSON.stringify(t)));
          return Error.captureStackTrace && Error.captureStackTrace(o, r), o.url = e, o.options = t, o;
        }

        return (0, _inherits3.default)(r, e), r;
      }(_extendableBuiltin(Error)),
          UnparseableResponseError = function (e) {
        function r(e, t, o) {
          (0, _classCallCheck3.default)(this, r);
          var s = e.status,
              n = (0, _possibleConstructorReturn3.default)(this, (r.__proto__ || Object.getPrototypeOf(r)).call(this, "Response from server unparseable (HTTP " + (s || 0) + "; " + o + "): " + t));
          return Error.captureStackTrace && Error.captureStackTrace(n, r), n.status = s, n.response = e, n.stack = o.stack, n.error = o, n;
        }

        return (0, _inherits3.default)(r, e), r;
      }(_extendableBuiltin3(Error)),
          ServerResponse = function (e) {
        function r(e, t) {
          (0, _classCallCheck3.default)(this, r);
          var o = e.status,
              s = e.statusText,
              n = void 0;
          t && (s = t.error || s, t.errno && t.errno in ERROR_CODES ? n = ERROR_CODES[t.errno] : t.message && (n = t.message), n && t.message && t.message !== n && (n += " (" + t.message + ")"));
          var a = "HTTP " + o + " " + s;
          n && (a += ": " + n);
          var i = (0, _possibleConstructorReturn3.default)(this, (r.__proto__ || Object.getPrototypeOf(r)).call(this, a.trim()));
          return Error.captureStackTrace && Error.captureStackTrace(i, r), i.response = e, i.data = t, i;
        }

        return (0, _inherits3.default)(r, e), r;
      }(_extendableBuiltin5(Error));

      exports.NetworkTimeoutError = NetworkTimeoutError, exports.ServerResponse = ServerResponse, exports.UnparseableResponseError = UnparseableResponseError;
    }, {
      "babel-runtime/helpers/classCallCheck": 307,
      "babel-runtime/helpers/inherits": 311,
      "babel-runtime/helpers/possibleConstructorReturn": 312
    }],
    422: [function (require, module, exports) {
      "use strict";

      Object.defineProperty(exports, "__esModule", {
        value: !0
      }), exports.default = void 0;

      var _extends2 = require("babel-runtime/helpers/extends"),
          _extends3 = _interopRequireDefault(_extends2),
          _regenerator = require("babel-runtime/regenerator"),
          _regenerator2 = _interopRequireDefault(_regenerator),
          _asyncToGenerator2 = require("babel-runtime/helpers/asyncToGenerator"),
          _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2),
          _classCallCheck2 = require("babel-runtime/helpers/classCallCheck"),
          _classCallCheck3 = _interopRequireDefault(_classCallCheck2),
          _createClass2 = require("babel-runtime/helpers/createClass"),
          _createClass3 = _interopRequireDefault(_createClass2),
          _utils = require("./utils"),
          _errors = require("./errors");

      function _interopRequireDefault(e) {
        return e && e.__esModule ? e : {
          default: e
        };
      }

      var HTTP = function () {
        function e(r) {
          var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
          if ((0, _classCallCheck3.default)(this, e), !r) throw new Error("No events handler provided");
          this.events = r, this.requestMode = t.requestMode || e.defaultOptions.requestMode, this.timeout = t.timeout || e.defaultOptions.timeout;
        }

        return (0, _createClass3.default)(e, null, [{
          key: "DEFAULT_REQUEST_HEADERS",
          get: function get() {
            return {
              Accept: "application/json",
              "Content-Type": "application/json"
            };
          }
        }, {
          key: "defaultOptions",
          get: function get() {
            return {
              timeout: null,
              requestMode: "cors"
            };
          }
        }]), (0, _createClass3.default)(e, [{
          key: "timedFetch",
          value: function value(e, r) {
            var t = this,
                n = !1;
            return new Promise(function (a, s) {
              var o = void 0;

              function u(e) {
                return function (r) {
                  n || (o && clearTimeout(o), e(r));
                };
              }

              t.timeout && (o = setTimeout(function () {
                n = !0, s(new _errors.NetworkTimeoutError(e, r));
              }, t.timeout)), fetch(e, r).then(u(a)).catch(u(s));
            });
          }
        }, {
          key: "processResponse",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(r) {
              var t, n, a, s;
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return t = r.status, n = r.headers, e.next = 3, r.text();

                    case 3:
                      if (a = e.sent, s = void 0, 0 === a.length) {
                        e.next = 13;
                        break;
                      }

                      e.prev = 6, s = JSON.parse(a), e.next = 13;
                      break;

                    case 10:
                      throw e.prev = 10, e.t0 = e.catch(6), new _errors.UnparseableResponseError(r, a, e.t0);

                    case 13:
                      if (!(t >= 400)) {
                        e.next = 15;
                        break;
                      }

                      throw new _errors.ServerResponse(r, s);

                    case 15:
                      return e.abrupt("return", {
                        status: t,
                        json: s,
                        headers: n
                      });

                    case 16:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this, [[6, 10]]);
            }));
            return function (r) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "retry",
          value: function () {
            var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(r, t, n, a) {
              return _regenerator2.default.wrap(function (e) {
                for (;;) {
                  switch (e.prev = e.next) {
                    case 0:
                      return e.next = 2, (0, _utils.delay)(t);

                    case 2:
                      return e.abrupt("return", this.request(r, n, (0, _extends3.default)({}, a, {
                        retry: a.retry - 1
                      })));

                    case 3:
                    case "end":
                      return e.stop();
                  }
                }
              }, e, this);
            }));
            return function (r, t, n, a) {
              return e.apply(this, arguments);
            };
          }()
        }, {
          key: "request",
          value: function () {
            var r = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function r(t) {
              var n,
                  a,
                  s,
                  o,
                  u = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {
                headers: {}
              },
                  i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {
                retry: 0
              };
              return _regenerator2.default.wrap(function (r) {
                for (;;) {
                  switch (r.prev = r.next) {
                    case 0:
                      return u.headers = (0, _extends3.default)({}, e.DEFAULT_REQUEST_HEADERS, u.headers), u.body && "function" == typeof u.body.append && delete u.headers["Content-Type"], u.mode = this.requestMode, r.next = 5, this.timedFetch(t, u);

                    case 5:
                      if (n = r.sent, a = n.status, s = n.headers, this._checkForDeprecationHeader(s), this._checkForBackoffHeader(a, s), !((o = this._checkForRetryAfterHeader(a, s)) && i.retry > 0)) {
                        r.next = 14;
                        break;
                      }

                      return r.abrupt("return", this.retry(t, o, u, i));

                    case 14:
                      return r.abrupt("return", this.processResponse(n));

                    case 15:
                    case "end":
                      return r.stop();
                  }
                }
              }, r, this);
            }));
            return function (e) {
              return r.apply(this, arguments);
            };
          }()
        }, {
          key: "_checkForDeprecationHeader",
          value: function value(e) {
            var r = e.get("Alert");

            if (r) {
              var t = void 0;

              try {
                t = JSON.parse(r);
              } catch (e) {
                return void console.warn("Unable to parse Alert header message", r);
              }

              console.warn(t.message, t.url), this.events.emit("deprecated", t);
            }
          }
        }, {
          key: "_checkForBackoffHeader",
          value: function value(e, r) {
            var t = void 0,
                n = parseInt(r.get("Backoff"), 10);
            t = n > 0 ? new Date().getTime() + 1e3 * n : 0, this.events.emit("backoff", t);
          }
        }, {
          key: "_checkForRetryAfterHeader",
          value: function value(e, r) {
            var t = r.get("Retry-After");

            if (t) {
              var n = 1e3 * parseInt(t, 10);
              return t = new Date().getTime() + n, this.events.emit("retry-after", t), n;
            }
          }
        }]), e;
      }();

      exports.default = HTTP;
    }, {
      "./errors": 421,
      "./utils": 425,
      "babel-runtime/helpers/asyncToGenerator": 306,
      "babel-runtime/helpers/classCallCheck": 307,
      "babel-runtime/helpers/createClass": 308,
      "babel-runtime/helpers/extends": 310,
      "babel-runtime/regenerator": 316
    }],
    423: [function (require, module, exports) {
      "use strict";

      Object.defineProperty(exports, "__esModule", {
        value: !0
      }), exports.default = void 0;

      var _typeof2 = require("babel-runtime/helpers/typeof"),
          _typeof3 = _interopRequireDefault(_typeof2),
          _classCallCheck2 = require("babel-runtime/helpers/classCallCheck"),
          _classCallCheck3 = _interopRequireDefault(_classCallCheck2),
          _possibleConstructorReturn2 = require("babel-runtime/helpers/possibleConstructorReturn"),
          _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2),
          _inherits2 = require("babel-runtime/helpers/inherits"),
          _inherits3 = _interopRequireDefault(_inherits2),
          _events = require("events"),
          _base = require("./base"),
          _base2 = _interopRequireDefault(_base);

      function _interopRequireDefault(e) {
        return e && e.__esModule ? e : {
          default: e
        };
      }

      var KintoClient = function (e) {
        function t(e) {
          var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
          (0, _classCallCheck3.default)(this, t);
          var i = r.events || new _events.EventEmitter();
          return (0, _possibleConstructorReturn3.default)(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e, Object.assign({
            events: i
          }, r)));
        }

        return (0, _inherits3.default)(t, e), t;
      }(_base2.default);

      exports.default = KintoClient, "object" === ("undefined" == typeof module ? "undefined" : (0, _typeof3.default)(module)) && (module.exports = KintoClient);
    }, {
      "./base": 416,
      "babel-runtime/helpers/classCallCheck": 307,
      "babel-runtime/helpers/inherits": 311,
      "babel-runtime/helpers/possibleConstructorReturn": 312,
      "babel-runtime/helpers/typeof": 315,
      "events": 415
    }],
    424: [function (require, module, exports) {
      "use strict";

      Object.defineProperty(exports, "__esModule", {
        value: !0
      });

      var _slicedToArray2 = require("babel-runtime/helpers/slicedToArray"),
          _slicedToArray3 = _interopRequireDefault(_slicedToArray2),
          _extends2 = require("babel-runtime/helpers/extends"),
          _extends3 = _interopRequireDefault(_extends2);

      exports.createRequest = createRequest, exports.updateRequest = updateRequest, exports.jsonPatchPermissionsRequest = jsonPatchPermissionsRequest, exports.deleteRequest = deleteRequest, exports.addAttachmentRequest = addAttachmentRequest;

      var _utils = require("./utils");

      function _interopRequireDefault(e) {
        return e && e.__esModule ? e : {
          default: e
        };
      }

      var requestDefaults = {
        safe: !1,
        headers: {},
        permissions: void 0,
        data: void 0,
        patch: !1
      };

      function safeHeader(e, t) {
        return e ? t ? {
          "If-Match": '"' + t + '"'
        } : {
          "If-None-Match": "*"
        } : {};
      }

      function createRequest(e, t) {
        var a = t.data,
            s = t.permissions,
            r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
            d = (0, _extends3.default)({}, requestDefaults, r),
            i = d.headers,
            n = d.safe;
        return {
          method: a && a.id ? "PUT" : "POST",
          path: e,
          headers: (0, _extends3.default)({}, i, safeHeader(n)),
          body: {
            data: a,
            permissions: s
          }
        };
      }

      function updateRequest(e, t) {
        var a = t.data,
            s = t.permissions,
            r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
            d = (0, _extends3.default)({}, requestDefaults, r),
            i = d.headers,
            n = d.safe,
            u = d.patch,
            o = (0, _extends3.default)({}, a, r).last_modified;
        return 0 === Object.keys((0, _utils.omit)(a, "id", "last_modified")).length && (a = void 0), {
          method: u ? "PATCH" : "PUT",
          path: e,
          headers: (0, _extends3.default)({}, i, safeHeader(n, o)),
          body: {
            data: a,
            permissions: s
          }
        };
      }

      function jsonPatchPermissionsRequest(e, t, a) {
        var s = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {},
            r = (0, _extends3.default)({}, requestDefaults, s),
            d = r.headers,
            i = r.safe,
            n = r.last_modified,
            u = [],
            o = !0,
            l = !1,
            f = void 0;

        try {
          for (var h, c = Object.entries(t)[Symbol.iterator](); !(o = (h = c.next()).done); o = !0) {
            var p = (0, _slicedToArray3.default)(h.value, 2),
                _ = p[0],
                m = p[1],
                q = !0,
                v = !1,
                x = void 0;

            try {
              for (var y, R = m[Symbol.iterator](); !(q = (y = R.next()).done); q = !0) {
                var b = y.value;
                u.push({
                  op: a,
                  path: "/permissions/" + _ + "/" + b
                });
              }
            } catch (e) {
              v = !0, x = e;
            } finally {
              try {
                !q && R.return && R.return();
              } finally {
                if (v) throw x;
              }
            }
          }
        } catch (e) {
          l = !0, f = e;
        } finally {
          try {
            !o && c.return && c.return();
          } finally {
            if (l) throw f;
          }
        }

        return {
          method: "PATCH",
          path: e,
          headers: (0, _extends3.default)({}, d, safeHeader(i, n), {
            "Content-Type": "application/json-patch+json"
          }),
          body: u
        };
      }

      function deleteRequest(e) {
        var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
            a = (0, _extends3.default)({}, requestDefaults, t),
            s = a.headers,
            r = a.safe,
            d = a.last_modified;
        if (r && !d) throw new Error("Safe concurrency check requires a last_modified value.");
        return {
          method: "DELETE",
          path: e,
          headers: (0, _extends3.default)({}, s, safeHeader(r, d))
        };
      }

      function addAttachmentRequest(e, t) {
        var a = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
            s = a.data,
            r = a.permissions,
            d = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {},
            i = (0, _extends3.default)({}, requestDefaults, d),
            n = i.headers,
            u = i.safe,
            o = i.gzipped,
            l = (0, _extends3.default)({}, s, d).last_modified,
            f = {
          data: s,
          permissions: r
        },
            h = (0, _utils.createFormData)(t, f, d),
            c = null != o ? c = e + "?gzipped=" + (o ? "true" : "false") : e;
        return {
          method: "POST",
          path: c,
          headers: (0, _extends3.default)({}, n, safeHeader(u, l)),
          body: h
        };
      }
    }, {
      "./utils": 425,
      "babel-runtime/helpers/extends": 310,
      "babel-runtime/helpers/slicedToArray": 313
    }],
    425: [function (require, module, exports) {
      "use strict";

      Object.defineProperty(exports, "__esModule", {
        value: !0
      }), exports.pMap = void 0;

      var _defineProperty2 = require("babel-runtime/helpers/defineProperty"),
          _defineProperty3 = _interopRequireDefault(_defineProperty2),
          _extends3 = require("babel-runtime/helpers/extends"),
          _extends4 = _interopRequireDefault(_extends3),
          _toArray2 = require("babel-runtime/helpers/toArray"),
          _toArray3 = _interopRequireDefault(_toArray2),
          _typeof2 = require("babel-runtime/helpers/typeof"),
          _typeof3 = _interopRequireDefault(_typeof2),
          _slicedToArray2 = require("babel-runtime/helpers/slicedToArray"),
          _slicedToArray3 = _interopRequireDefault(_slicedToArray2),
          _regenerator = require("babel-runtime/regenerator"),
          _regenerator2 = _interopRequireDefault(_regenerator),
          _asyncToGenerator2 = require("babel-runtime/helpers/asyncToGenerator"),
          _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2),
          pMap = exports.pMap = function () {
        var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(r, t) {
          var n;
          return _regenerator2.default.wrap(function (e) {
            for (;;) {
              switch (e.prev = e.next) {
                case 0:
                  return n = [], e.next = 3, r.reduce(function () {
                    var e = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function e(r, a) {
                      return _regenerator2.default.wrap(function (e) {
                        for (;;) {
                          switch (e.prev = e.next) {
                            case 0:
                              return e.next = 2, r;

                            case 2:
                              return e.t0 = n, e.next = 5, t(a);

                            case 5:
                              e.t1 = e.sent, n = e.t0.concat.call(e.t0, e.t1);

                            case 7:
                            case "end":
                              return e.stop();
                          }
                        }
                      }, e, this);
                    }));
                    return function (r, t) {
                      return e.apply(this, arguments);
                    };
                  }(), Promise.resolve());

                case 3:
                  return e.abrupt("return", n);

                case 4:
                case "end":
                  return e.stop();
              }
            }
          }, e, this);
        }));
        return function (r, t) {
          return e.apply(this, arguments);
        };
      }();

      function _interopRequireDefault(e) {
        return e && e.__esModule ? e : {
          default: e
        };
      }

      function partition(e, r) {
        return r <= 0 ? e : e.reduce(function (e, t, n) {
          return 0 === n || n % r == 0 ? e.push([t]) : e[e.length - 1].push(t), e;
        }, []);
      }

      function delay(e) {
        return new Promise(function (r) {
          return setTimeout(r, e);
        });
      }

      function omit(e) {
        for (var r = arguments.length, t = Array(r > 1 ? r - 1 : 0), n = 1; n < r; n++) {
          t[n - 1] = arguments[n];
        }

        return Object.keys(e).reduce(function (r, n) {
          return t.includes(n) || (r[n] = e[n]), r;
        }, {});
      }

      function toDataBody(e) {
        if (isObject(e)) return e;
        if ("string" == typeof e) return {
          id: e
        };
        throw new Error("Invalid argument.");
      }

      function qsify(e) {
        var r,
            t = function t(e) {
          return encodeURIComponent("boolean" == typeof e ? String(e) : e);
        },
            n = (r = e, JSON.parse(JSON.stringify(r)));

        return Object.keys(n).map(function (e) {
          var r = t(e) + "=";
          return Array.isArray(n[e]) ? r + n[e].map(function (e) {
            return t(e);
          }).join(",") : r + t(n[e]);
        }).join("&");
      }

      function checkVersion(e, r, t) {
        var n = function n(e) {
          return e.split(".").map(function (e) {
            return parseInt(e, 10);
          });
        },
            a = n(e),
            o = (0, _slicedToArray3.default)(a, 2),
            i = o[0],
            u = o[1],
            c = n(r),
            s = (0, _slicedToArray3.default)(c, 2),
            f = s[0],
            l = s[1],
            p = n(t),
            d = (0, _slicedToArray3.default)(p, 2),
            y = d[0],
            b = d[1];

        if ([i < f, i === f && u < l, i > y, i === y && u >= b].some(function (e) {
          return e;
        })) throw new Error("Version " + e + " doesn't satisfy " + r + " <= x < " + t);
      }

      function support(e, r) {
        return function (t, n, a) {
          var o = a.value;
          return {
            configurable: !0,
            get: function get() {
              var t = this,
                  a = function a() {
                for (var n = arguments.length, a = Array(n), i = 0; i < n; i++) {
                  a[i] = arguments[i];
                }

                return ("client" in t ? t.client : t).fetchHTTPApiVersion().then(function (t) {
                  return checkVersion(t, e, r);
                }).then(function () {
                  return o.apply(t, a);
                });
              };

              return Object.defineProperty(this, n, {
                value: a,
                configurable: !0,
                writable: !0
              }), a;
            }
          };
        };
      }

      function capable(e) {
        return function (r, t, n) {
          var a = n.value;
          return {
            configurable: !0,
            get: function get() {
              var r = this,
                  n = function n() {
                for (var t = arguments.length, n = Array(t), o = 0; o < t; o++) {
                  n[o] = arguments[o];
                }

                return ("client" in r ? r.client : r).fetchServerCapabilities().then(function (r) {
                  var t = e.filter(function (e) {
                    return !(e in r);
                  });

                  if (t.length > 0) {
                    var n = t.join(", ");
                    throw new Error("Required capabilities " + n + " not present on server");
                  }
                }).then(function () {
                  return a.apply(r, n);
                });
              };

              return Object.defineProperty(this, t, {
                value: n,
                configurable: !0,
                writable: !0
              }), n;
            }
          };
        };
      }

      function nobatch(e) {
        return function (r, t, n) {
          var a = n.value;
          return {
            configurable: !0,
            get: function get() {
              var r = this,
                  n = function n() {
                for (var t = arguments.length, n = Array(t), o = 0; o < t; o++) {
                  n[o] = arguments[o];
                }

                if (r._isBatch) throw new Error(e);
                return a.apply(r, n);
              };

              return Object.defineProperty(this, t, {
                value: n,
                configurable: !0,
                writable: !0
              }), n;
            }
          };
        };
      }

      function isObject(e) {
        return "object" === (void 0 === e ? "undefined" : (0, _typeof3.default)(e)) && null !== e && !Array.isArray(e);
      }

      function parseDataURL(e) {
        var r = e.match(/^data:(.*);base64,(.*)/);
        if (!r) throw new Error("Invalid data-url: " + String(e).substr(0, 32) + "...");
        var t = r[1],
            n = r[2],
            a = t.split(";"),
            o = (0, _toArray3.default)(a),
            i = o[0],
            u = o.slice(1).reduce(function (e, r) {
          var t = r.split("="),
              n = (0, _slicedToArray3.default)(t, 2),
              a = n[0],
              o = n[1];
          return (0, _extends4.default)({}, e, (0, _defineProperty3.default)({}, a, o));
        }, {});
        return (0, _extends4.default)({}, u, {
          type: i,
          base64: n
        });
      }

      function extractFileInfo(e) {
        for (var r = parseDataURL(e), t = r.name, n = r.type, a = r.base64, o = atob(a), i = [], u = 0; u < o.length; u++) {
          i.push(o.charCodeAt(u));
        }

        return {
          blob: new Blob([new Uint8Array(i)], {
            type: n
          }),
          name: t
        };
      }

      function createFormData(e, r) {
        var t = (arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}).filename,
            n = void 0 === t ? "untitled" : t,
            a = extractFileInfo(e),
            o = a.blob,
            i = a.name,
            u = new FormData();

        for (var c in u.append("attachment", o, i || n), r) {
          void 0 !== r[c] && u.append(c, JSON.stringify(r[c]));
        }

        return u;
      }

      function cleanUndefinedProperties(e) {
        var r = {};

        for (var t in e) {
          void 0 !== e[t] && (r[t] = e[t]);
        }

        return r;
      }

      exports.partition = partition, exports.delay = delay, exports.omit = omit, exports.toDataBody = toDataBody, exports.qsify = qsify, exports.checkVersion = checkVersion, exports.support = support, exports.capable = capable, exports.nobatch = nobatch, exports.isObject = isObject, exports.parseDataURL = parseDataURL, exports.extractFileInfo = extractFileInfo, exports.createFormData = createFormData, exports.cleanUndefinedProperties = cleanUndefinedProperties;
    }, {
      "babel-runtime/helpers/asyncToGenerator": 306,
      "babel-runtime/helpers/defineProperty": 309,
      "babel-runtime/helpers/extends": 310,
      "babel-runtime/helpers/slicedToArray": 313,
      "babel-runtime/helpers/toArray": 314,
      "babel-runtime/helpers/typeof": 315,
      "babel-runtime/regenerator": 316
    }],
    426: [function (require, module, exports) {
      (function (global) {
        var g = "object" == (0, _typeof5.default)(global) ? global : "object" == (typeof window === "undefined" ? "undefined" : (0, _typeof5.default)(window)) ? window : "object" == (typeof self === "undefined" ? "undefined" : (0, _typeof5.default)(self)) ? self : this,
            hadRuntime = g.regeneratorRuntime && Object.getOwnPropertyNames(g).indexOf("regeneratorRuntime") >= 0,
            oldRuntime = hadRuntime && g.regeneratorRuntime;
        if (g.regeneratorRuntime = void 0, module.exports = require("./runtime"), hadRuntime) g.regeneratorRuntime = oldRuntime;else try {
          delete g.regeneratorRuntime;
        } catch (e) {
          g.regeneratorRuntime = void 0;
        }
      }).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {});
    }, {
      "./runtime": 427
    }],
    427: [function (require, module, exports) {
      (function (process, global) {
        !function (t) {
          "use strict";

          var r,
              e = Object.prototype,
              n = e.hasOwnProperty,
              o = "function" == typeof Symbol ? Symbol : {},
              i = o.iterator || "@@iterator",
              a = o.toStringTag || "@@toStringTag",
              c = "object" == (0, _typeof5.default)(module),
              u = t.regeneratorRuntime;
          if (u) c && (module.exports = u);else {
            (u = t.regeneratorRuntime = c ? module.exports : {}).wrap = w;
            var f = "suspendedStart",
                l = "suspendedYield",
                s = "executing",
                h = "completed",
                p = {},
                y = {};

            y[i] = function () {
              return this;
            };

            var v = Object.getPrototypeOf,
                g = v && v(v(G([])));
            g && g !== e && n.call(g, i) && (y = g);
            var d = b.prototype = L.prototype = Object.create(y);
            x.prototype = d.constructor = b, b.constructor = x, b[a] = x.displayName = "GeneratorFunction", u.isGeneratorFunction = function (t) {
              var r = "function" == typeof t && t.constructor;
              return !!r && (r === x || "GeneratorFunction" === (r.displayName || r.name));
            }, u.mark = function (t) {
              return Object.setPrototypeOf ? Object.setPrototypeOf(t, b) : (t.__proto__ = b, a in t || (t[a] = "GeneratorFunction")), t.prototype = Object.create(d), t;
            }, u.awrap = function (t) {
              return {
                __await: t
              };
            }, E(_.prototype), u.AsyncIterator = _, u.async = function (t, r, e, n) {
              var o = new _(w(t, r, e, n));
              return u.isGeneratorFunction(r) ? o : o.next().then(function (t) {
                return t.done ? t.value : o.next();
              });
            }, E(d), d[a] = "Generator", d.toString = function () {
              return "[object Generator]";
            }, u.keys = function (t) {
              var r = [];

              for (var e in t) {
                r.push(e);
              }

              return r.reverse(), function e() {
                for (; r.length;) {
                  var n = r.pop();
                  if (n in t) return e.value = n, e.done = !1, e;
                }

                return e.done = !0, e;
              };
            }, u.values = G, k.prototype = {
              constructor: k,
              reset: function reset(t) {
                if (this.prev = 0, this.next = 0, this.sent = this._sent = r, this.done = !1, this.delegate = null, this.tryEntries.forEach(O), !t) for (var e in this) {
                  "t" === e.charAt(0) && n.call(this, e) && !isNaN(+e.slice(1)) && (this[e] = r);
                }
              },
              stop: function stop() {
                this.done = !0;
                var t = this.tryEntries[0].completion;
                if ("throw" === t.type) throw t.arg;
                return this.rval;
              },
              dispatchException: function dispatchException(t) {
                if (this.done) throw t;
                var r = this;

                function e(e, n) {
                  return a.type = "throw", a.arg = t, r.next = e, !!n;
                }

                for (var o = this.tryEntries.length - 1; o >= 0; --o) {
                  var i = this.tryEntries[o],
                      a = i.completion;
                  if ("root" === i.tryLoc) return e("end");

                  if (i.tryLoc <= this.prev) {
                    var c = n.call(i, "catchLoc"),
                        u = n.call(i, "finallyLoc");

                    if (c && u) {
                      if (this.prev < i.catchLoc) return e(i.catchLoc, !0);
                      if (this.prev < i.finallyLoc) return e(i.finallyLoc);
                    } else if (c) {
                      if (this.prev < i.catchLoc) return e(i.catchLoc, !0);
                    } else {
                      if (!u) throw new Error("try statement without catch or finally");
                      if (this.prev < i.finallyLoc) return e(i.finallyLoc);
                    }
                  }
                }
              },
              abrupt: function abrupt(t, r) {
                for (var e = this.tryEntries.length - 1; e >= 0; --e) {
                  var o = this.tryEntries[e];

                  if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
                    var i = o;
                    break;
                  }
                }

                i && ("break" === t || "continue" === t) && i.tryLoc <= r && r <= i.finallyLoc && (i = null);
                var a = i ? i.completion : {};
                return a.type = t, a.arg = r, i ? this.next = i.finallyLoc : this.complete(a), p;
              },
              complete: function complete(t, r) {
                if ("throw" === t.type) throw t.arg;
                "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = t.arg, this.next = "end") : "normal" === t.type && r && (this.next = r);
              },
              finish: function finish(t) {
                for (var r = this.tryEntries.length - 1; r >= 0; --r) {
                  var e = this.tryEntries[r];
                  if (e.finallyLoc === t) return this.complete(e.completion, e.afterLoc), O(e), p;
                }
              },
              catch: function _catch(t) {
                for (var r = this.tryEntries.length - 1; r >= 0; --r) {
                  var e = this.tryEntries[r];

                  if (e.tryLoc === t) {
                    var n = e.completion;

                    if ("throw" === n.type) {
                      var o = n.arg;
                      O(e);
                    }

                    return o;
                  }
                }

                throw new Error("illegal catch attempt");
              },
              delegateYield: function delegateYield(t, r, e) {
                return this.delegate = {
                  iterator: G(t),
                  resultName: r,
                  nextLoc: e
                }, p;
              }
            };
          }

          function w(t, e, n, o) {
            var i = e && e.prototype instanceof L ? e : L,
                a = Object.create(i.prototype),
                c = new k(o || []);
            return a._invoke = function (t, e, n) {
              var o = f;
              return function (i, a) {
                if (o === s) throw new Error("Generator is already running");

                if (o === h) {
                  if ("throw" === i) throw a;
                  return N();
                }

                for (;;) {
                  var c = n.delegate;

                  if (c) {
                    if ("return" === i || "throw" === i && c.iterator[i] === r) {
                      n.delegate = null;
                      var u = c.iterator.return;

                      if (u) {
                        var y = m(u, c.iterator, a);

                        if ("throw" === y.type) {
                          i = "throw", a = y.arg;
                          continue;
                        }
                      }

                      if ("return" === i) continue;
                    }

                    var y = m(c.iterator[i], c.iterator, a);

                    if ("throw" === y.type) {
                      n.delegate = null, i = "throw", a = y.arg;
                      continue;
                    }

                    i = "next", a = r;
                    var v = y.arg;
                    if (!v.done) return o = l, v;
                    n[c.resultName] = v.value, n.next = c.nextLoc, n.delegate = null;
                  }

                  if ("next" === i) n.sent = n._sent = a;else if ("throw" === i) {
                    if (o === f) throw o = h, a;
                    n.dispatchException(a) && (i = "next", a = r);
                  } else "return" === i && n.abrupt("return", a);
                  o = s;
                  var y = m(t, e, n);

                  if ("normal" === y.type) {
                    o = n.done ? h : l;
                    var v = {
                      value: y.arg,
                      done: n.done
                    };
                    if (y.arg !== p) return v;
                    n.delegate && "next" === i && (a = r);
                  } else "throw" === y.type && (o = h, i = "throw", a = y.arg);
                }
              };
            }(t, n, c), a;
          }

          function m(t, r, e) {
            try {
              return {
                type: "normal",
                arg: t.call(r, e)
              };
            } catch (t) {
              return {
                type: "throw",
                arg: t
              };
            }
          }

          function L() {}

          function x() {}

          function b() {}

          function E(t) {
            ["next", "throw", "return"].forEach(function (r) {
              t[r] = function (t) {
                return this._invoke(r, t);
              };
            });
          }

          function _(t) {
            function r(e, o, i, a) {
              var c = m(t[e], t, o);

              if ("throw" !== c.type) {
                var u = c.arg,
                    f = u.value;
                return f && "object" == (0, _typeof5.default)(f) && n.call(f, "__await") ? Promise.resolve(f.__await).then(function (t) {
                  r("next", t, i, a);
                }, function (t) {
                  r("throw", t, i, a);
                }) : Promise.resolve(f).then(function (t) {
                  u.value = t, i(u);
                }, a);
              }

              a(c.arg);
            }

            var e;
            "object" == (0, _typeof5.default)(process) && process.domain && (r = process.domain.bind(r)), this._invoke = function (t, n) {
              function o() {
                return new Promise(function (e, o) {
                  r(t, n, e, o);
                });
              }

              return e = e ? e.then(o, o) : o();
            };
          }

          function j(t) {
            var r = {
              tryLoc: t[0]
            };
            1 in t && (r.catchLoc = t[1]), 2 in t && (r.finallyLoc = t[2], r.afterLoc = t[3]), this.tryEntries.push(r);
          }

          function O(t) {
            var r = t.completion || {};
            r.type = "normal", delete r.arg, t.completion = r;
          }

          function k(t) {
            this.tryEntries = [{
              tryLoc: "root"
            }], t.forEach(j, this), this.reset(!0);
          }

          function G(t) {
            if (t) {
              var e = t[i];
              if (e) return e.call(t);
              if ("function" == typeof t.next) return t;

              if (!isNaN(t.length)) {
                var o = -1,
                    a = function e() {
                  for (; ++o < t.length;) {
                    if (n.call(t, o)) return e.value = t[o], e.done = !1, e;
                  }

                  return e.value = r, e.done = !0, e;
                };

                return a.next = a;
              }
            }

            return {
              next: N
            };
          }

          function N() {
            return {
              value: r,
              done: !0
            };
          }
        }("object" == (0, _typeof5.default)(global) ? global : "object" == (typeof window === "undefined" ? "undefined" : (0, _typeof5.default)(window)) ? window : "object" == (typeof self === "undefined" ? "undefined" : (0, _typeof5.default)(self)) ? self : this);
      }).call(this, require('_process'), typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {});
    }, {
      "_process": 317
    }],
    428: [function (require, module, exports) {
      var v1 = require("./v1"),
          v4 = require("./v4"),
          uuid = v4;

      uuid.v1 = v1, uuid.v4 = v4, module.exports = uuid;
    }, {
      "./v1": 431,
      "./v4": 432
    }],
    429: [function (require, module, exports) {
      for (var byteToHex = [], i = 0; i < 256; ++i) {
        byteToHex[i] = (i + 256).toString(16).substr(1);
      }

      function bytesToUuid(e, o) {
        var t = o || 0,
            i = byteToHex;
        return [i[e[t++]], i[e[t++]], i[e[t++]], i[e[t++]], "-", i[e[t++]], i[e[t++]], "-", i[e[t++]], i[e[t++]], "-", i[e[t++]], i[e[t++]], "-", i[e[t++]], i[e[t++]], i[e[t++]], i[e[t++]], i[e[t++]], i[e[t++]]].join("");
      }

      module.exports = bytesToUuid;
    }, {}],
    430: [function (require, module, exports) {
      var getRandomValues = "undefined" != typeof crypto && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || "undefined" != typeof msCrypto && "function" == typeof window.msCrypto.getRandomValues && msCrypto.getRandomValues.bind(msCrypto);

      if (getRandomValues) {
        var rnds8 = new Uint8Array(16);

        module.exports = function () {
          return getRandomValues(rnds8), rnds8;
        };
      } else {
        var rnds = new Array(16);

        module.exports = function () {
          for (var n, e = 0; e < 16; e++) {
            0 == (3 & e) && (n = 4294967296 * Math.random()), rnds[e] = n >>> ((3 & e) << 3) & 255;
          }

          return rnds;
        };
      }
    }, {}],
    431: [function (require, module, exports) {
      var _nodeId,
          _clockseq,
          rng = require("./lib/rng"),
          bytesToUuid = require("./lib/bytesToUuid"),
          _lastMSecs = 0,
          _lastNSecs = 0;

      function v1(e, s, c) {
        var l = s && c || 0,
            o = s || [],
            r = (e = e || {}).node || _nodeId,
            n = void 0 !== e.clockseq ? e.clockseq : _clockseq;

        if (null == r || null == n) {
          var t = rng();
          null == r && (r = _nodeId = [1 | t[0], t[1], t[2], t[3], t[4], t[5]]), null == n && (n = _clockseq = 16383 & (t[6] << 8 | t[7]));
        }

        var a = void 0 !== e.msecs ? e.msecs : new Date().getTime(),
            d = void 0 !== e.nsecs ? e.nsecs : _lastNSecs + 1,
            i = a - _lastMSecs + (d - _lastNSecs) / 1e4;
        if (i < 0 && void 0 === e.clockseq && (n = n + 1 & 16383), (i < 0 || a > _lastMSecs) && void 0 === e.nsecs && (d = 0), d >= 1e4) throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");
        _lastMSecs = a, _lastNSecs = d, _clockseq = n;
        var u = (1e4 * (268435455 & (a += 122192928e5)) + d) % 4294967296;
        o[l++] = u >>> 24 & 255, o[l++] = u >>> 16 & 255, o[l++] = u >>> 8 & 255, o[l++] = 255 & u;
        var v = a / 4294967296 * 1e4 & 268435455;
        o[l++] = v >>> 8 & 255, o[l++] = 255 & v, o[l++] = v >>> 24 & 15 | 16, o[l++] = v >>> 16 & 255, o[l++] = n >>> 8 | 128, o[l++] = 255 & n;

        for (var _ = 0; _ < 6; ++_) {
          o[l + _] = r[_];
        }

        return s || bytesToUuid(o);
      }

      module.exports = v1;
    }, {
      "./lib/bytesToUuid": 429,
      "./lib/rng": 430
    }],
    432: [function (require, module, exports) {
      var rng = require("./lib/rng"),
          bytesToUuid = require("./lib/bytesToUuid");

      function v4(r, n, e) {
        var i = n && e || 0;
        "string" == typeof r && (n = "binary" === r ? new Array(16) : null, r = null);
        var u = (r = r || {}).random || (r.rng || rng)();
        if (u[6] = 15 & u[6] | 64, u[8] = 63 & u[8] | 128, n) for (var o = 0; o < 16; ++o) {
          n[i + o] = u[o];
        }
        return n || bytesToUuid(u);
      }

      module.exports = v4;
    }, {
      "./lib/bytesToUuid": 429,
      "./lib/rng": 430
    }],
    433: [function (require, module, exports) {
      "use strict";

      var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");

      Object.defineProperty(exports, "__esModule", {
        value: !0
      }), exports.default = void 0;

      var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread")),
          _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")),
          _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")),
          _collection = _interopRequireDefault(require("./collection")),
          _base = _interopRequireDefault(require("./adapters/base")),
          DEFAULT_BUCKET_NAME = "default",
          DEFAULT_REMOTE = "http://localhost:8888/v1",
          DEFAULT_RETRY = 1,
          KintoBase = function () {
        function e() {
          var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
          (0, _classCallCheck2.default)(this, e);
          var r = {
            bucket: DEFAULT_BUCKET_NAME,
            remote: DEFAULT_REMOTE,
            retry: DEFAULT_RETRY
          };
          if (this._options = (0, _objectSpread2.default)({}, r, t), !this._options.adapter) throw new Error("No adapter provided");
          var a = this._options,
              o = a.ApiClass,
              s = a.events,
              i = a.headers,
              l = a.remote,
              n = a.requestMode,
              u = a.retry,
              c = a.timeout;
          this.api = new o(l, {
            events: s,
            headers: i,
            requestMode: n,
            retry: u,
            timeout: c
          }), this.events = this._options.events;
        }

        return (0, _createClass2.default)(e, null, [{
          key: "adapters",
          get: function get() {
            return {
              BaseAdapter: _base.default
            };
          }
        }, {
          key: "syncStrategy",
          get: function get() {
            return _collection.default.strategy;
          }
        }]), (0, _createClass2.default)(e, [{
          key: "collection",
          value: function value(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
            if (!e) throw new Error("missing collection name");
            var r = (0, _objectSpread2.default)({}, this._options, t),
                a = r.bucket,
                o = r.events,
                s = r.adapter,
                i = r.adapterOptions,
                l = t.idSchema,
                n = t.remoteTransformers,
                u = t.hooks,
                c = t.localFields;
            return new _collection.default(a, e, this.api, {
              events: o,
              adapter: s,
              adapterOptions: i,
              idSchema: l,
              remoteTransformers: n,
              hooks: u,
              localFields: c
            });
          }
        }]), e;
      }();

      exports.default = KintoBase;
    }, {
      "./adapters/base": 435,
      "./collection": 436,
      "@babel/runtime/helpers/classCallCheck": 280,
      "@babel/runtime/helpers/createClass": 281,
      "@babel/runtime/helpers/interopRequireDefault": 285,
      "@babel/runtime/helpers/objectSpread": 288
    }],
    434: [function (require, module, exports) {
      "use strict";

      var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");

      Object.defineProperty(exports, "__esModule", {
        value: !0
      }), exports.open = _open2, exports.execute = execute, exports.default = void 0;

      var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread")),
          _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")),
          _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")),
          _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")),
          _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")),
          _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")),
          _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")),
          _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")),
          _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")),
          _base = _interopRequireDefault(require("./base.js")),
          _utils = require("../utils"),
          INDEXED_FIELDS = ["id", "_status", "last_modified"];

      function _open2(e, r) {
        return _open.apply(this, arguments);
      }

      function _open() {
        return (_open = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function e(r, t) {
          var n, a;
          return _regenerator.default.wrap(function (e) {
            for (;;) {
              switch (e.prev = e.next) {
                case 0:
                  return n = t.version, a = t.onupgradeneeded, e.abrupt("return", new Promise(function (e, t) {
                    var u = indexedDB.open(r, n);
                    u.onupgradeneeded = function (e) {
                      return e.target.result.onerror = function (e) {
                        return t(e.target.error);
                      }, a(e);
                    }, u.onerror = function (e) {
                      t(e.target.error);
                    }, u.onsuccess = function (r) {
                      var t = r.target.result;
                      e(t);
                    };
                  }));

                case 2:
                case "end":
                  return e.stop();
              }
            }
          }, e, this);
        }))).apply(this, arguments);
      }

      function execute(e, r, t) {
        return _execute.apply(this, arguments);
      }

      function _execute() {
        return (_execute = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function e(r, t, n) {
          var a,
              u,
              o = arguments;
          return _regenerator.default.wrap(function (e) {
            for (;;) {
              switch (e.prev = e.next) {
                case 0:
                  return a = o.length > 3 && void 0 !== o[3] ? o[3] : {}, u = a.mode, e.abrupt("return", new Promise(function (e, a) {
                    var o,
                        s = u ? r.transaction([t], u) : r.transaction([t]),
                        i = s.objectStore(t),
                        c = function c(e) {
                      s.abort(), a(e);
                    };

                    try {
                      o = n(i, c);
                    } catch (e) {
                      c(e);
                    }

                    s.onerror = function (e) {
                      return a(e.target.error);
                    }, s.oncomplete = function (r) {
                      return e(o);
                    };
                  }));

                case 3:
                case "end":
                  return e.stop();
              }
            }
          }, e, this);
        }))).apply(this, arguments);
      }

      function deleteDatabase(e) {
        return _deleteDatabase.apply(this, arguments);
      }

      function _deleteDatabase() {
        return (_deleteDatabase = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function e(r) {
          return _regenerator.default.wrap(function (e) {
            for (;;) {
              switch (e.prev = e.next) {
                case 0:
                  return e.abrupt("return", new Promise(function (e, t) {
                    var n = indexedDB.deleteDatabase(r);
                    n.onsuccess = function (r) {
                      return e(r.target);
                    }, n.onerror = function (e) {
                      return t(e.target.error);
                    };
                  }));

                case 1:
                case "end":
                  return e.stop();
              }
            }
          }, e, this);
        }))).apply(this, arguments);
      }

      var cursorHandlers = {
        all: function all(e, r) {
          var t = [];
          return function (n) {
            var a = n.target.result;

            if (a) {
              var u = a.value;
              (0, _utils.filterObject)(e, u) && t.push(u), a.continue();
            } else r(t);
          };
        },
        in: function _in(e, r, t) {
          var n = [];
          return function (a) {
            var u = a.target.result;

            if (u) {
              for (var o = u.key, s = u.value, i = 0; o > e[i];) {
                if (++i === e.length) return void t(n);
              }

              (Array.isArray(o) ? (0, _utils.arrayEqual)(o, e[i]) : o === e[i]) ? ((0, _utils.filterObject)(r, s) && n.push(s), u.continue()) : u.continue(e[i]);
            } else t(n);
          };
        }
      };

      function createListRequest(e, r, t, n) {
        var a = Object.keys(t).find(function (e) {
          return INDEXED_FIELDS.includes(e);
        });

        if (!a) {
          var u = r.index("cid").openCursor(IDBKeyRange.only(e));
          return u.onsuccess = cursorHandlers.all(t, n), u;
        }

        var o = (0, _utils.omitKeys)(t, a),
            s = t[a];

        if (Array.isArray(s)) {
          if (0 === s.length) return n([]);
          var i = s.map(function (r) {
            return [e, r];
          }).sort(),
              c = IDBKeyRange.bound(i[0], i[i.length - 1]),
              l = r.index(a).openCursor(c);
          return l.onsuccess = cursorHandlers.in(i, o, n), l;
        }

        var d = r.index(a).openCursor(IDBKeyRange.only([e, s]));
        return d.onsuccess = cursorHandlers.all(o, n), d;
      }

      var IDB = function (e) {
        function r(e) {
          var t,
              n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
          return (0, _classCallCheck2.default)(this, r), (t = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(r).call(this))).cid = e, t.dbName = n.dbName || "KintoDB", t._options = n, t._db = null, t;
        }

        var t, n, a, u, o, s, i, c, l;
        return (0, _inherits2.default)(r, e), (0, _createClass2.default)(r, [{
          key: "_handleError",
          value: function value(e, r) {
            var t = new Error(e + "() " + r.message);
            throw t.stack = r.stack, t;
          }
        }, {
          key: "open",
          value: (l = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function e() {
            var r, t, n;
            return _regenerator.default.wrap(function (e) {
              for (;;) {
                switch (e.prev = e.next) {
                  case 0:
                    if (!this._db) {
                      e.next = 2;
                      break;
                    }

                    return e.abrupt("return", this);

                  case 2:
                    if (!this._options.migrateOldData) {
                      e.next = 8;
                      break;
                    }

                    return e.next = 5, migrationRequired(this.cid);

                  case 5:
                    e.t0 = e.sent, e.next = 9;
                    break;

                  case 8:
                    e.t0 = null;

                  case 9:
                    return r = e.t0, e.next = 12, _open2(this.dbName, {
                      version: 1,
                      onupgradeneeded: function onupgradeneeded(e) {
                        var r = e.target.result,
                            t = r.createObjectStore("records", {
                          keyPath: ["_cid", "id"]
                        });
                        t.createIndex("cid", "_cid"), t.createIndex("id", ["_cid", "id"]), t.createIndex("_status", ["_cid", "_status"]), t.createIndex("last_modified", ["_cid", "last_modified"]), r.createObjectStore("timestamps", {
                          keyPath: "cid"
                        });
                      }
                    });

                  case 12:
                    if (this._db = e.sent, !r) {
                      e.next = 23;
                      break;
                    }

                    return t = r.records, n = r.timestamp, e.next = 17, this.loadDump(t);

                  case 17:
                    return e.next = 19, this.saveLastModified(n);

                  case 19:
                    return console.log("".concat(this.cid, ": data was migrated successfully.")), e.next = 22, deleteDatabase(this.cid);

                  case 22:
                    console.warn("".concat(this.cid, ": old database was deleted."));

                  case 23:
                    return e.abrupt("return", this);

                  case 24:
                  case "end":
                    return e.stop();
                }
              }
            }, e, this);
          })), function () {
            return l.apply(this, arguments);
          })
        }, {
          key: "close",
          value: function value() {
            return this._db && (this._db.close(), this._db = null), Promise.resolve();
          }
        }, {
          key: "prepare",
          value: (c = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function e(r, t, n) {
            return _regenerator.default.wrap(function (e) {
              for (;;) {
                switch (e.prev = e.next) {
                  case 0:
                    return e.next = 2, this.open();

                  case 2:
                    return e.next = 4, execute(this._db, r, t, n);

                  case 4:
                  case "end":
                    return e.stop();
                }
              }
            }, e, this);
          })), function (e, r, t) {
            return c.apply(this, arguments);
          })
        }, {
          key: "clear",
          value: (i = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function e() {
            var r = this;
            return _regenerator.default.wrap(function (e) {
              for (;;) {
                switch (e.prev = e.next) {
                  case 0:
                    return e.prev = 0, e.next = 3, this.prepare("records", function (e) {
                      var t = IDBKeyRange.only(r.cid),
                          n = e.index("cid").openKeyCursor(t);
                      return n.onsuccess = function (r) {
                        var t = r.target.result;
                        t && (e.delete(t.primaryKey), t.continue());
                      }, n;
                    }, {
                      mode: "readwrite"
                    });

                  case 3:
                    e.next = 8;
                    break;

                  case 5:
                    e.prev = 5, e.t0 = e.catch(0), this._handleError("clear", e.t0);

                  case 8:
                  case "end":
                    return e.stop();
                }
              }
            }, e, this, [[0, 5]]);
          })), function () {
            return i.apply(this, arguments);
          })
        }, {
          key: "execute",
          value: (s = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function e(r) {
            var t,
                n,
                a = this,
                u = arguments;
            return _regenerator.default.wrap(function (e) {
              for (;;) {
                switch (e.prev = e.next) {
                  case 0:
                    return t = u.length > 1 && void 0 !== u[1] ? u[1] : {
                      preload: []
                    }, e.next = 3, this.prepare("records", function (e, u) {
                      var o = function o() {
                        var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [],
                            o = transactionProxy(a, e, t);

                        try {
                          var s = r(o);
                          if (s instanceof Promise) throw new Error("execute() callback should not return a Promise.");
                          n = s;
                        } catch (e) {
                          u(e);
                        }
                      };

                      if (!t.preload.length) return o();
                      var s = {
                        id: t.preload
                      };
                      createListRequest(a.cid, e, s, function (e) {
                        var r = e.reduce(function (e, r) {
                          return e[r.id] = (0, _utils.omitKeys)(r, ["_cid"]), e;
                        }, {});
                        o(r);
                      });
                    }, {
                      mode: "readwrite"
                    });

                  case 3:
                    return e.abrupt("return", n);

                  case 4:
                  case "end":
                    return e.stop();
                }
              }
            }, e, this);
          })), function (e) {
            return s.apply(this, arguments);
          })
        }, {
          key: "get",
          value: (o = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function e(r) {
            var t,
                n = this;
            return _regenerator.default.wrap(function (e) {
              for (;;) {
                switch (e.prev = e.next) {
                  case 0:
                    return e.prev = 0, e.next = 3, this.prepare("records", function (e) {
                      e.get([n.cid, r]).onsuccess = function (e) {
                        return t = e.target.result;
                      };
                    });

                  case 3:
                    return e.abrupt("return", t);

                  case 6:
                    e.prev = 6, e.t0 = e.catch(0), this._handleError("get", e.t0);

                  case 9:
                  case "end":
                    return e.stop();
                }
              }
            }, e, this, [[0, 6]]);
          })), function (e) {
            return o.apply(this, arguments);
          })
        }, {
          key: "list",
          value: (u = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function e() {
            var r,
                t,
                n,
                a = this,
                u = arguments;
            return _regenerator.default.wrap(function (e) {
              for (;;) {
                switch (e.prev = e.next) {
                  case 0:
                    return r = u.length > 0 && void 0 !== u[0] ? u[0] : {
                      filters: {}
                    }, t = r.filters, e.prev = 2, n = [], e.next = 6, this.prepare("records", function (e) {
                      createListRequest(a.cid, e, t, function (e) {
                        n = e.map(function (e) {
                          return (0, _utils.omitKeys)(e, ["_cid"]);
                        });
                      });
                    });

                  case 6:
                    return e.abrupt("return", r.order ? (0, _utils.sortObjects)(r.order, n) : n);

                  case 9:
                    e.prev = 9, e.t0 = e.catch(2), this._handleError("list", e.t0);

                  case 12:
                  case "end":
                    return e.stop();
                }
              }
            }, e, this, [[2, 9]]);
          })), function () {
            return u.apply(this, arguments);
          })
        }, {
          key: "saveLastModified",
          value: (a = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function e(r) {
            var t,
                n = this;
            return _regenerator.default.wrap(function (e) {
              for (;;) {
                switch (e.prev = e.next) {
                  case 0:
                    return t = parseInt(r, 10) || null, e.prev = 1, e.next = 4, this.prepare("timestamps", function (e) {
                      return e.put({
                        cid: n.cid,
                        value: t
                      });
                    }, {
                      mode: "readwrite"
                    });

                  case 4:
                    return e.abrupt("return", t);

                  case 7:
                    e.prev = 7, e.t0 = e.catch(1), this._handleError("saveLastModified", e.t0);

                  case 10:
                  case "end":
                    return e.stop();
                }
              }
            }, e, this, [[1, 7]]);
          })), function (e) {
            return a.apply(this, arguments);
          })
        }, {
          key: "getLastModified",
          value: (n = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function e() {
            var r,
                t = this;
            return _regenerator.default.wrap(function (e) {
              for (;;) {
                switch (e.prev = e.next) {
                  case 0:
                    return e.prev = 0, r = null, e.next = 4, this.prepare("timestamps", function (e) {
                      e.get(t.cid).onsuccess = function (e) {
                        return r = e.target.result;
                      };
                    });

                  case 4:
                    return e.abrupt("return", r ? r.value : null);

                  case 7:
                    e.prev = 7, e.t0 = e.catch(0), this._handleError("getLastModified", e.t0);

                  case 10:
                  case "end":
                    return e.stop();
                }
              }
            }, e, this, [[0, 7]]);
          })), function () {
            return n.apply(this, arguments);
          })
        }, {
          key: "loadDump",
          value: (t = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function e(r) {
            var t, n;
            return _regenerator.default.wrap(function (e) {
              for (;;) {
                switch (e.prev = e.next) {
                  case 0:
                    return e.prev = 0, e.next = 3, this.execute(function (e) {
                      r.forEach(function (r) {
                        return e.update(r);
                      });
                    });

                  case 3:
                    return e.next = 5, this.getLastModified();

                  case 5:
                    if (t = e.sent, !((n = Math.max.apply(Math, (0, _toConsumableArray2.default)(r.map(function (e) {
                      return e.last_modified;
                    })))) > t)) {
                      e.next = 10;
                      break;
                    }

                    return e.next = 10, this.saveLastModified(n);

                  case 10:
                    return e.abrupt("return", r);

                  case 13:
                    e.prev = 13, e.t0 = e.catch(0), this._handleError("loadDump", e.t0);

                  case 16:
                  case "end":
                    return e.stop();
                }
              }
            }, e, this, [[0, 13]]);
          })), function (e) {
            return t.apply(this, arguments);
          })
        }]), r;
      }(_base.default);

      function transactionProxy(e, r) {
        var t = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [],
            n = e.cid;
        return {
          create: function create(e) {
            r.add((0, _objectSpread2.default)({}, e, {
              _cid: n
            }));
          },
          update: function update(e) {
            r.put((0, _objectSpread2.default)({}, e, {
              _cid: n
            }));
          },
          delete: function _delete(e) {
            r.delete([n, e]);
          },
          get: function get(e) {
            return t[e];
          }
        };
      }

      function migrationRequired(e) {
        return _migrationRequired.apply(this, arguments);
      }

      function _migrationRequired() {
        return (_migrationRequired = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function e(r) {
          var t, n, a, u;
          return _regenerator.default.wrap(function (e) {
            for (;;) {
              switch (e.prev = e.next) {
                case 0:
                  return t = !0, e.next = 3, _open2(r, {
                    version: 1,
                    onupgradeneeded: function onupgradeneeded(e) {
                      t = !1;
                    }
                  });

                case 3:
                  if (n = e.sent, t &= n.objectStoreNames.contains("__meta__")) {
                    e.next = 10;
                    break;
                  }

                  return n.close(), e.next = 9, deleteDatabase(r);

                case 9:
                  return e.abrupt("return", null);

                case 10:
                  return console.warn("".concat(r, ": old IndexedDB database found.")), e.prev = 11, e.next = 14, execute(n, r, function (e) {
                    e.openCursor().onsuccess = cursorHandlers.all({}, function (e) {
                      return a = e;
                    });
                  });

                case 14:
                  return console.log("".concat(r, ": found ").concat(a.length, " records.")), u = null, e.next = 18, execute(n, "__meta__", function (e) {
                    e.get("".concat(r, "-lastModified")).onsuccess = function (e) {
                      u = e.target.result ? e.target.result.value : null;
                    };
                  });

                case 18:
                  if (u) {
                    e.next = 21;
                    break;
                  }

                  return e.next = 21, execute(n, "__meta__", function (e) {
                    e.get("lastModified").onsuccess = function (e) {
                      u = e.target.result ? e.target.result.value : null;
                    };
                  });

                case 21:
                  return console.log("".concat(r, ": ").concat(u ? "found" : "no", " timestamp.")), e.abrupt("return", {
                    records: a,
                    timestamp: u
                  });

                case 25:
                  return e.prev = 25, e.t0 = e.catch(11), console.error("Error occured during migration", e.t0), e.abrupt("return", null);

                case 29:
                  return e.prev = 29, n.close(), e.finish(29);

                case 32:
                case "end":
                  return e.stop();
              }
            }
          }, e, this, [[11, 25, 29, 32]]);
        }))).apply(this, arguments);
      }

      exports.default = IDB;
    }, {
      "../utils": 438,
      "./base.js": 435,
      "@babel/runtime/helpers/asyncToGenerator": 279,
      "@babel/runtime/helpers/classCallCheck": 280,
      "@babel/runtime/helpers/createClass": 281,
      "@babel/runtime/helpers/getPrototypeOf": 283,
      "@babel/runtime/helpers/inherits": 284,
      "@babel/runtime/helpers/interopRequireDefault": 285,
      "@babel/runtime/helpers/objectSpread": 288,
      "@babel/runtime/helpers/possibleConstructorReturn": 289,
      "@babel/runtime/helpers/toConsumableArray": 291,
      "@babel/runtime/regenerator": 295
    }],
    435: [function (require, module, exports) {
      "use strict";

      var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");

      Object.defineProperty(exports, "__esModule", {
        value: !0
      }), exports.default = void 0;

      var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")),
          _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")),
          BaseAdapter = function () {
        function e() {
          (0, _classCallCheck2.default)(this, e);
        }

        return (0, _createClass2.default)(e, [{
          key: "clear",
          value: function value() {
            throw new Error("Not Implemented.");
          }
        }, {
          key: "execute",
          value: function value(e) {
            arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
            throw new Error("Not Implemented.");
          }
        }, {
          key: "get",
          value: function value(e) {
            throw new Error("Not Implemented.");
          }
        }, {
          key: "list",
          value: function value() {
            arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
            throw new Error("Not Implemented.");
          }
        }, {
          key: "saveLastModified",
          value: function value(e) {
            throw new Error("Not Implemented.");
          }
        }, {
          key: "getLastModified",
          value: function value() {
            throw new Error("Not Implemented.");
          }
        }, {
          key: "loadDump",
          value: function value(e) {
            throw new Error("Not Implemented.");
          }
        }]), e;
      }();

      exports.default = BaseAdapter;
    }, {
      "@babel/runtime/helpers/classCallCheck": 280,
      "@babel/runtime/helpers/createClass": 281,
      "@babel/runtime/helpers/interopRequireDefault": 285
    }],
    436: [function (require, module, exports) {
      "use strict";

      var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");

      Object.defineProperty(exports, "__esModule", {
        value: !0
      }), exports.recordsEqual = recordsEqual, exports.CollectionTransaction = exports.default = exports.SyncResultObject = void 0;

      var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")),
          _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")),
          _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")),
          _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread")),
          _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")),
          _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")),
          _base = _interopRequireDefault(require("./adapters/base")),
          _IDB = _interopRequireDefault(require("./adapters/IDB")),
          _utils = require("./utils"),
          _uuid = require("uuid"),
          RECORD_FIELDS_TO_CLEAN = ["_status"],
          AVAILABLE_HOOKS = ["incoming-changes"];

      function recordsEqual(e, t) {
        var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [],
            a = RECORD_FIELDS_TO_CLEAN.concat(["last_modified"]).concat(r),
            n = function n(e) {
          return (0, _utils.omitKeys)(e, a);
        };

        return (0, _utils.deepEqual)(n(e), n(t));
      }

      var SyncResultObject = function () {
        function e() {
          (0, _classCallCheck2.default)(this, e), this.ok = !0, Object.assign(this, e.defaults);
        }

        return (0, _createClass2.default)(e, null, [{
          key: "defaults",
          get: function get() {
            return {
              ok: !0,
              lastModified: null,
              errors: [],
              created: [],
              updated: [],
              deleted: [],
              published: [],
              conflicts: [],
              skipped: [],
              resolved: []
            };
          }
        }]), (0, _createClass2.default)(e, [{
          key: "add",
          value: function value(e, t) {
            if (Array.isArray(this[e])) {
              Array.isArray(t) || (t = [t]);
              var r = new Set(),
                  a = new Map();
              return this[e].forEach(n), t.forEach(n), this[e] = Array.from(a.values()).concat(Array.from(r)), this.ok = this.errors.length + this.conflicts.length === 0, this;
            }

            function n(e) {
              e.id ? a.set(e.id, e) : r.add(e);
            }
          }
        }, {
          key: "reset",
          value: function value(t) {
            return this[t] = e.defaults[t], this.ok = this.errors.length + this.conflicts.length === 0, this;
          }
        }]), e;
      }();

      function createUUIDSchema() {
        return {
          generate: function generate() {
            return (0, _uuid.v4)();
          },
          validate: function validate(e) {
            return "string" == typeof e && _utils.RE_RECORD_ID.test(e);
          }
        };
      }

      function markStatus(e, t) {
        return (0, _objectSpread2.default)({}, e, {
          _status: t
        });
      }

      function markDeleted(e) {
        return markStatus(e, "deleted");
      }

      function markSynced(e) {
        return markStatus(e, "synced");
      }

      function importChange(e, t, r) {
        var a = e.get(t.id);

        if (!a) {
          if (t.deleted) return {
            type: "skipped",
            data: t
          };
          var n = markSynced(t);
          return e.create(n), {
            type: "created",
            data: n
          };
        }

        var i = recordsEqual(a, t, r),
            o = (0, _objectSpread2.default)({}, a, markSynced(t));
        return "synced" !== a._status ? "deleted" === a._status ? {
          type: "skipped",
          data: a
        } : i ? (e.update(o), {
          type: "updated",
          data: {
            old: a,
            new: o
          }
        }) : void 0 !== a.last_modified && a.last_modified === t.last_modified ? {
          type: "void"
        } : {
          type: "conflicts",
          data: {
            type: "incoming",
            local: a,
            remote: t
          }
        } : t.deleted ? (e.delete(t.id), {
          type: "deleted",
          data: a
        }) : (e.update(o), {
          type: i ? "void" : "updated",
          data: {
            old: a,
            new: o
          }
        });
      }

      exports.SyncResultObject = SyncResultObject;

      var Collection = function () {
        function e(t, r, a) {
          var n = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {};
          (0, _classCallCheck2.default)(this, e), this._bucket = t, this._name = r, this._lastModified = null;
          var i = n.adapter || _IDB.default;
          if (!i) throw new Error("No adapter provided");
          var o = new i("".concat(t, "/").concat(r), n.adapterOptions);
          if (!(o instanceof _base.default)) throw new Error("Unsupported adapter.");
          this.db = o, this.api = a, this.events = n.events, this.idSchema = this._validateIdSchema(n.idSchema), this.remoteTransformers = this._validateRemoteTransformers(n.remoteTransformers), this.hooks = this._validateHooks(n.hooks), this.localFields = n.localFields || [];
        }

        var t, r, a, n, i, o, s, d, u, c, l;
        return (0, _createClass2.default)(e, [{
          key: "_validateIdSchema",
          value: function value(e) {
            if (void 0 === e) return createUUIDSchema();
            if ("object" !== (0, _typeof2.default)(e)) throw new Error("idSchema must be an object.");
            if ("function" != typeof e.generate) throw new Error("idSchema must provide a generate function.");
            if ("function" != typeof e.validate) throw new Error("idSchema must provide a validate function.");
            return e;
          }
        }, {
          key: "_validateRemoteTransformers",
          value: function value(e) {
            if (void 0 === e) return [];
            if (!Array.isArray(e)) throw new Error("remoteTransformers should be an array.");
            return e.map(function (e) {
              if ("object" !== (0, _typeof2.default)(e)) throw new Error("A transformer must be an object.");
              if ("function" != typeof e.encode) throw new Error("A transformer must provide an encode function.");
              if ("function" != typeof e.decode) throw new Error("A transformer must provide a decode function.");
              return e;
            });
          }
        }, {
          key: "_validateHook",
          value: function value(e) {
            if (!Array.isArray(e)) throw new Error("A hook definition should be an array of functions.");
            return e.map(function (e) {
              if ("function" != typeof e) throw new Error("A hook definition should be an array of functions.");
              return e;
            });
          }
        }, {
          key: "_validateHooks",
          value: function value(e) {
            if (void 0 === e) return {};
            if (Array.isArray(e)) throw new Error("hooks should be an object, not an array.");
            if ("object" !== (0, _typeof2.default)(e)) throw new Error("hooks should be an object.");
            var t = {};

            for (var r in e) {
              if (!AVAILABLE_HOOKS.includes(r)) throw new Error("The hook should be one of " + AVAILABLE_HOOKS.join(", "));
              t[r] = this._validateHook(e[r]);
            }

            return t;
          }
        }, {
          key: "clear",
          value: (l = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function e() {
            return _regenerator.default.wrap(function (e) {
              for (;;) {
                switch (e.prev = e.next) {
                  case 0:
                    return e.next = 2, this.db.clear();

                  case 2:
                    return e.next = 4, this.db.saveLastModified(null);

                  case 4:
                    return e.abrupt("return", {
                      data: [],
                      permissions: {}
                    });

                  case 5:
                  case "end":
                    return e.stop();
                }
              }
            }, e, this);
          })), function () {
            return l.apply(this, arguments);
          })
        }, {
          key: "_encodeRecord",
          value: function value(e, t) {
            return this["".concat(e, "Transformers")].length ? (0, _utils.waterfall)(this["".concat(e, "Transformers")].map(function (e) {
              return function (t) {
                return e.encode(t);
              };
            }), t) : Promise.resolve(t);
          }
        }, {
          key: "_decodeRecord",
          value: function value(e, t) {
            return this["".concat(e, "Transformers")].length ? (0, _utils.waterfall)(this["".concat(e, "Transformers")].reverse().map(function (e) {
              return function (t) {
                return e.decode(t);
              };
            }), t) : Promise.resolve(t);
          }
        }, {
          key: "create",
          value: function value(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {
              useRecordId: !1,
              synced: !1
            },
                r = function r(e) {
              return Promise.reject(new Error(e));
            };

            if ("object" !== (0, _typeof2.default)(e)) return r("Record is not an object.");
            if ((t.synced || t.useRecordId) && !e.hasOwnProperty("id")) return r("Missing required Id; synced and useRecordId options require one");
            if (!t.synced && !t.useRecordId && e.hasOwnProperty("id")) return r("Extraneous Id; can't create a record having one set.");
            var a = (0, _objectSpread2.default)({}, e, {
              id: t.synced || t.useRecordId ? e.id : this.idSchema.generate(e),
              _status: t.synced ? "synced" : "created"
            });
            return this.idSchema.validate(a.id) ? this.execute(function (e) {
              return e.create(a);
            }, {
              preloadIds: [a.id]
            }).catch(function (e) {
              if (t.useRecordId) throw new Error("Couldn't create record. It may have been virtually deleted.");
              throw e;
            }) : r("Invalid Id: ".concat(a.id));
          }
        }, {
          key: "update",
          value: function value(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {
              synced: !1,
              patch: !1
            };
            return "object" !== (0, _typeof2.default)(e) ? Promise.reject(new Error("Record is not an object.")) : e.hasOwnProperty("id") ? this.idSchema.validate(e.id) ? this.execute(function (r) {
              return r.update(e, t);
            }, {
              preloadIds: [e.id]
            }) : Promise.reject(new Error("Invalid Id: ".concat(e.id))) : Promise.reject(new Error("Cannot update a record missing id."));
          }
        }, {
          key: "upsert",
          value: function value(e) {
            return "object" !== (0, _typeof2.default)(e) ? Promise.reject(new Error("Record is not an object.")) : e.hasOwnProperty("id") ? this.idSchema.validate(e.id) ? this.execute(function (t) {
              return t.upsert(e);
            }, {
              preloadIds: [e.id]
            }) : Promise.reject(new Error("Invalid Id: ".concat(e.id))) : Promise.reject(new Error("Cannot update a record missing id."));
          }
        }, {
          key: "get",
          value: function value(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {
              includeDeleted: !1
            };
            return this.execute(function (r) {
              return r.get(e, t);
            }, {
              preloadIds: [e]
            });
          }
        }, {
          key: "getAny",
          value: function value(e) {
            return this.execute(function (t) {
              return t.getAny(e);
            }, {
              preloadIds: [e]
            });
          }
        }, {
          key: "delete",
          value: function value(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {
              virtual: !0
            };
            return this.execute(function (r) {
              return r.delete(e, t);
            }, {
              preloadIds: [e]
            });
          }
        }, {
          key: "deleteAll",
          value: (c = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function e() {
            var t, r, a;
            return _regenerator.default.wrap(function (e) {
              for (;;) {
                switch (e.prev = e.next) {
                  case 0:
                    return e.next = 2, this.list({}, {
                      includeDeleted: !1
                    });

                  case 2:
                    return t = e.sent, r = t.data, a = r.map(function (e) {
                      return e.id;
                    }), e.abrupt("return", this.execute(function (e) {
                      return e.deleteAll(a);
                    }, {
                      preloadIds: a
                    }));

                  case 6:
                  case "end":
                    return e.stop();
                }
              }
            }, e, this);
          })), function () {
            return c.apply(this, arguments);
          })
        }, {
          key: "deleteAny",
          value: function value(e) {
            return this.execute(function (t) {
              return t.deleteAny(e);
            }, {
              preloadIds: [e]
            });
          }
        }, {
          key: "list",
          value: (u = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function e() {
            var t,
                r,
                a,
                n,
                i = arguments;
            return _regenerator.default.wrap(function (e) {
              for (;;) {
                switch (e.prev = e.next) {
                  case 0:
                    return t = i.length > 0 && void 0 !== i[0] ? i[0] : {}, r = i.length > 1 && void 0 !== i[1] ? i[1] : {
                      includeDeleted: !1
                    }, t = (0, _objectSpread2.default)({
                      order: "-last_modified",
                      filters: {}
                    }, t), e.next = 5, this.db.list(t);

                  case 5:
                    return a = e.sent, n = a, r.includeDeleted || (n = a.filter(function (e) {
                      return "deleted" !== e._status;
                    })), e.abrupt("return", {
                      data: n,
                      permissions: {}
                    });

                  case 9:
                  case "end":
                    return e.stop();
                }
              }
            }, e, this);
          })), function () {
            return u.apply(this, arguments);
          })
        }, {
          key: "importChanges",
          value: (d = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function t(r, a) {
            var n,
                i,
                o,
                s,
                d,
                u = this,
                c = arguments;
            return _regenerator.default.wrap(function (t) {
              for (;;) {
                switch (t.prev = t.next) {
                  case 0:
                    return n = c.length > 2 && void 0 !== c[2] ? c[2] : e.strategy.MANUAL, t.prev = 1, t.next = 4, this.db.execute(function (e) {
                      var t = a.map(function (t) {
                        return importChange(e, t, u.localFields);
                      }),
                          r = t.filter(function (e) {
                        return "conflicts" === e.type;
                      }).map(function (e) {
                        return e.data;
                      });
                      return {
                        imports: t,
                        resolved: u._handleConflicts(e, r, n)
                      };
                    }, {
                      preload: a.map(function (e) {
                        return e.id;
                      })
                    });

                  case 4:
                    i = t.sent, o = i.imports, s = i.resolved, o.forEach(function (e) {
                      var t = e.type,
                          a = e.data;
                      return r.add(t, a);
                    }), s.length > 0 && r.reset("conflicts").add("resolved", s), t.next = 15;
                    break;

                  case 11:
                    t.prev = 11, t.t0 = t.catch(1), d = {
                      type: "incoming",
                      message: t.t0.message,
                      stack: t.t0.stack
                    }, r.add("errors", d);

                  case 15:
                    return t.abrupt("return", r);

                  case 16:
                  case "end":
                    return t.stop();
                }
              }
            }, t, this, [[1, 11]]);
          })), function (e, t) {
            return d.apply(this, arguments);
          })
        }, {
          key: "_applyPushedResults",
          value: (s = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function t(r, a, n) {
            var i,
                o,
                s,
                d,
                u,
                c,
                l = this,
                f = arguments;
            return _regenerator.default.wrap(function (t) {
              for (;;) {
                switch (t.prev = t.next) {
                  case 0:
                    return i = f.length > 3 && void 0 !== f[3] ? f[3] : e.strategy.MANUAL, o = a.filter(function (e) {
                      return e.deleted;
                    }), s = a.filter(function (e) {
                      return !e.deleted;
                    }), t.next = 5, this.db.execute(function (e) {
                      var t = s.map(function (t) {
                        var r = markSynced(t);
                        return e.update(r), r;
                      }),
                          r = o.map(function (t) {
                        return e.delete(t.id), {
                          id: t.id,
                          deleted: !0
                        };
                      });
                      return {
                        published: t.concat(r),
                        resolved: l._handleConflicts(e, n, i)
                      };
                    });

                  case 5:
                    return d = t.sent, u = d.published, c = d.resolved, r.add("published", u), c.length > 0 && r.reset("conflicts").reset("resolved").add("resolved", c), t.abrupt("return", r);

                  case 11:
                  case "end":
                    return t.stop();
                }
              }
            }, t, this);
          })), function (e, t, r) {
            return s.apply(this, arguments);
          })
        }, {
          key: "_handleConflicts",
          value: function value(t, r, a) {
            var n = this;
            return a === e.strategy.MANUAL ? [] : r.map(function (r) {
              var i,
                  o,
                  s,
                  d = a === e.strategy.CLIENT_WINS ? r.local : r.remote,
                  u = a === e.strategy.CLIENT_WINS ? r.remote : r.local;
              if (null === d) t.delete(r.local.id), i = null, o = "synced", s = r.local.id;else {
                var c = n._resolveRaw(r, d);

                t.update(c), i = c, o = c._status, s = c.id;
              }
              return {
                rejected: u,
                accepted: i,
                id: s,
                _status: o
              };
            });
          }
        }, {
          key: "execute",
          value: function value(e) {
            var t = this,
                r = (arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}).preloadIds,
                a = void 0 === r ? [] : r,
                n = !0,
                i = !1,
                o = void 0;

            try {
              for (var s, d = a[Symbol.iterator](); !(n = (s = d.next()).done); n = !0) {
                var u = s.value;
                if (!this.idSchema.validate(u)) return Promise.reject(Error("Invalid Id: ".concat(u)));
              }
            } catch (e) {
              i = !0, o = e;
            } finally {
              try {
                n || null == d.return || d.return();
              } finally {
                if (i) throw o;
              }
            }

            return this.db.execute(function (r) {
              var a = new CollectionTransaction(t, r),
                  n = e(a);
              return a.emitEvents(), n;
            }, {
              preload: a
            });
          }
        }, {
          key: "resetSyncStatus",
          value: (o = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function e() {
            var t;
            return _regenerator.default.wrap(function (e) {
              for (;;) {
                switch (e.prev = e.next) {
                  case 0:
                    return e.next = 2, this.list({
                      filters: {
                        _status: ["deleted", "synced"]
                      },
                      order: ""
                    }, {
                      includeDeleted: !0
                    });

                  case 2:
                    return t = e.sent, e.next = 5, this.db.execute(function (e) {
                      t.data.forEach(function (t) {
                        "deleted" === t._status ? e.delete(t.id) : e.update((0, _objectSpread2.default)({}, t, {
                          last_modified: void 0,
                          _status: "created"
                        }));
                      });
                    });

                  case 5:
                    return this._lastModified = null, e.next = 8, this.db.saveLastModified(null);

                  case 8:
                    return e.abrupt("return", t.data.length);

                  case 9:
                  case "end":
                    return e.stop();
                }
              }
            }, e, this);
          })), function () {
            return o.apply(this, arguments);
          })
        }, {
          key: "gatherLocalChanges",
          value: (i = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function e() {
            var t, r;
            return _regenerator.default.wrap(function (e) {
              for (;;) {
                switch (e.prev = e.next) {
                  case 0:
                    return e.next = 2, this.list({
                      filters: {
                        _status: ["created", "updated"]
                      },
                      order: ""
                    });

                  case 2:
                    return t = e.sent, e.next = 5, this.list({
                      filters: {
                        _status: "deleted"
                      },
                      order: ""
                    }, {
                      includeDeleted: !0
                    });

                  case 5:
                    return r = e.sent, e.next = 8, Promise.all(t.data.concat(r.data).map(this._encodeRecord.bind(this, "remote")));

                  case 8:
                    return e.abrupt("return", e.sent);

                  case 9:
                  case "end":
                    return e.stop();
                }
              }
            }, e, this);
          })), function () {
            return i.apply(this, arguments);
          })
        }, {
          key: "pullChanges",
          value: (n = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function t(r, a) {
            var n,
                i,
                o,
                s,
                d,
                u,
                c,
                l,
                f,
                h,
                p,
                v,
                y,
                _,
                m = this,
                b = arguments;

            return _regenerator.default.wrap(function (t) {
              for (;;) {
                switch (t.prev = t.next) {
                  case 0:
                    if (n = b.length > 2 && void 0 !== b[2] ? b[2] : {}, a.ok) {
                      t.next = 3;
                      break;
                    }

                    return t.abrupt("return", a);

                  case 3:
                    if (!this.lastModified) {
                      t.next = 7;
                      break;
                    }

                    t.t0 = this.lastModified, t.next = 10;
                    break;

                  case 7:
                    return t.next = 9, this.db.getLastModified();

                  case 9:
                    t.t0 = t.sent;

                  case 10:
                    return i = t.t0, (n = (0, _objectSpread2.default)({
                      strategy: e.strategy.MANUAL,
                      lastModified: i,
                      headers: {}
                    }, n)).exclude && (s = n.exclude.slice(0, 50).map(function (e) {
                      return e.id;
                    }).join(","), o = {
                      exclude_id: s
                    }), t.next = 15, r.listRecords({
                      since: n.lastModified ? "".concat(n.lastModified) : void 0,
                      headers: n.headers,
                      retry: n.retry,
                      pages: 1 / 0,
                      filters: o
                    });

                  case 15:
                    if (d = t.sent, u = d.data, c = d.last_modified, l = c ? parseInt(c, 10) : void 0, f = n.lastModified, h = l > n.lastModified, p = 0 === u.length, n.exclude || !f || !h || !p) {
                      t.next = 24;
                      break;
                    }

                    throw Error("Server has been flushed.");

                  case 24:
                    return a.lastModified = l, t.next = 27, Promise.all(u.map(function (e) {
                      return m._decodeRecord("remote", e);
                    }));

                  case 27:
                    return v = t.sent, y = {
                      lastModified: l,
                      changes: v
                    }, t.next = 31, this.applyHook("incoming-changes", y);

                  case 31:
                    if (!((_ = t.sent).changes.length > 0)) {
                      t.next = 35;
                      break;
                    }

                    return t.next = 35, this.importChanges(a, _.changes, n.strategy);

                  case 35:
                    return t.abrupt("return", a);

                  case 36:
                  case "end":
                    return t.stop();
                }
              }
            }, t, this);
          })), function (e, t) {
            return n.apply(this, arguments);
          })
        }, {
          key: "applyHook",
          value: function value(e, t) {
            var r = this;
            return void 0 === this.hooks[e] ? Promise.resolve(t) : (0, _utils.waterfall)(this.hooks[e].map(function (e) {
              return function (a) {
                var n = e(t, r),
                    i = n && "function" == typeof n.then,
                    o = n && n.hasOwnProperty("changes");
                if (!i && !o) throw new Error("Invalid return value for hook: ".concat(JSON.stringify(n), " has no 'then()' or 'changes' properties"));
                return n;
              };
            }), t);
          }
        }, {
          key: "pushChanges",
          value: (a = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function t(r, a, n) {
            var i,
                o,
                s,
                d,
                u,
                c,
                l,
                f,
                h,
                p,
                v,
                y,
                _,
                m,
                b,
                g,
                k,
                w,
                x,
                E,
                S,
                R,
                I,
                j = this,
                C = arguments;

            return _regenerator.default.wrap(function (t) {
              for (;;) {
                switch (t.prev = t.next) {
                  case 0:
                    if (i = C.length > 3 && void 0 !== C[3] ? C[3] : {}, n.ok) {
                      t.next = 3;
                      break;
                    }

                    return t.abrupt("return", n);

                  case 3:
                    return o = !i.strategy || i.strategy !== e.CLIENT_WINS, s = a.filter(function (e) {
                      return "deleted" == e._status;
                    }), d = a.filter(function (e) {
                      return "deleted" != e._status;
                    }), t.next = 8, r.batch(function (e) {
                      s.forEach(function (t) {
                        t.last_modified && e.deleteRecord(t);
                      }), d.forEach(function (t) {
                        var r = j.cleanLocalFields(t);
                        "created" === t._status ? e.createRecord(r) : e.updateRecord(r);
                      });
                    }, {
                      headers: i.headers,
                      retry: i.retry,
                      safe: o,
                      aggregate: !0
                    });

                  case 8:
                    u = t.sent, n.add("errors", u.errors.map(function (e) {
                      return (0, _objectSpread2.default)({}, e, {
                        type: "outgoing"
                      });
                    })), c = [], l = !0, f = !1, h = void 0, t.prev = 14, p = u.conflicts[Symbol.iterator]();

                  case 16:
                    if (l = (v = p.next()).done) {
                      t.next = 33;
                      break;
                    }

                    return y = v.value, _ = y.type, m = y.local, b = y.remote, g = m && m.data || {
                      id: b.id
                    }, t.next = 21, this._decodeRecord("remote", g);

                  case 21:
                    if (k = t.sent, t.t0 = b, !t.t0) {
                      t.next = 27;
                      break;
                    }

                    return t.next = 26, this._decodeRecord("remote", b);

                  case 26:
                    t.t0 = t.sent;

                  case 27:
                    w = t.t0, x = {
                      type: _,
                      local: k,
                      remote: w
                    }, c.push(x);

                  case 30:
                    l = !0, t.next = 16;
                    break;

                  case 33:
                    t.next = 39;
                    break;

                  case 35:
                    t.prev = 35, t.t1 = t.catch(14), f = !0, h = t.t1;

                  case 39:
                    t.prev = 39, t.prev = 40, l || null == p.return || p.return();

                  case 42:
                    if (t.prev = 42, !f) {
                      t.next = 45;
                      break;
                    }

                    throw h;

                  case 45:
                    return t.finish(42);

                  case 46:
                    return t.finish(39);

                  case 47:
                    return n.add("conflicts", c), E = u.skipped.map(function (e) {
                      return (0, _objectSpread2.default)({}, e, {
                        deleted: !0
                      });
                    }), S = u.published.map(function (e) {
                      return e.data;
                    }), R = S.concat(E), t.next = 53, Promise.all(R.map(function (e) {
                      return j._decodeRecord("remote", e);
                    }));

                  case 53:
                    if (!((I = t.sent).length > 0 || c.length > 0)) {
                      t.next = 57;
                      break;
                    }

                    return t.next = 57, this._applyPushedResults(n, I, c, i.strategy);

                  case 57:
                    return t.abrupt("return", n);

                  case 58:
                  case "end":
                    return t.stop();
                }
              }
            }, t, this, [[14, 35, 39, 47], [40,, 42, 46]]);
          })), function (e, t, r) {
            return a.apply(this, arguments);
          })
        }, {
          key: "cleanLocalFields",
          value: function value(e) {
            var t = RECORD_FIELDS_TO_CLEAN.concat(this.localFields);
            return (0, _utils.omitKeys)(e, t);
          }
        }, {
          key: "resolve",
          value: function value(e, t) {
            var r = this;
            return this.db.execute(function (a) {
              var n = r._resolveRaw(e, t);

              return a.update(n), {
                data: n,
                permissions: {}
              };
            });
          }
        }, {
          key: "_resolveRaw",
          value: function value(e, t) {
            var r = (0, _objectSpread2.default)({}, t, {
              last_modified: e.remote && e.remote.last_modified
            });
            return markStatus(r, (0, _utils.deepEqual)(r, e.remote) ? "synced" : "updated");
          }
        }, {
          key: "sync",
          value: (r = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function t() {
            var r,
                a,
                n,
                i,
                o,
                s,
                d,
                u,
                c,
                l,
                f = this,
                h = arguments;
            return _regenerator.default.wrap(function (t) {
              for (;;) {
                switch (t.prev = t.next) {
                  case 0:
                    if (r = h.length > 0 && void 0 !== h[0] ? h[0] : {
                      strategy: e.strategy.MANUAL,
                      headers: {},
                      retry: 1,
                      ignoreBackoff: !1,
                      bucket: null,
                      collection: null,
                      remote: null
                    }, r = (0, _objectSpread2.default)({}, r, {
                      bucket: r.bucket || this.bucket,
                      collection: r.collection || this.name
                    }), a = this.api.remote, r.remote && (this.api.remote = r.remote), r.ignoreBackoff || !(this.api.backoff > 0)) {
                      t.next = 7;
                      break;
                    }

                    return n = Math.ceil(this.api.backoff / 1e3), t.abrupt("return", Promise.reject(new Error("Server is asking clients to back off; retry in ".concat(n, "s or use the ignoreBackoff option."))));

                  case 7:
                    return i = this.api.bucket(r.bucket).collection(r.collection), o = new SyncResultObject(), t.prev = 9, t.next = 12, this.pullChanges(i, o, r);

                  case 12:
                    return s = o.lastModified, t.next = 15, this.gatherLocalChanges();

                  case 15:
                    return d = t.sent, t.next = 18, this.pushChanges(i, d, o, r);

                  case 18:
                    if (!((u = o.resolved.filter(function (e) {
                      return "synced" !== e._status;
                    })).length > 0)) {
                      t.next = 25;
                      break;
                    }

                    return t.next = 22, Promise.all(u.map(function (e) {
                      var t = e.accepted;
                      return null === t && (t = {
                        id: e.id,
                        _status: e._status
                      }), f._encodeRecord("remote", t);
                    }));

                  case 22:
                    return c = t.sent, t.next = 25, this.pushChanges(i, c, o, r);

                  case 25:
                    if (!(o.published.length > 0)) {
                      t.next = 29;
                      break;
                    }

                    return l = (0, _objectSpread2.default)({}, r, {
                      lastModified: s,
                      exclude: o.published
                    }), t.next = 29, this.pullChanges(i, o, l);

                  case 29:
                    if (!o.ok) {
                      t.next = 33;
                      break;
                    }

                    return t.next = 32, this.db.saveLastModified(o.lastModified);

                  case 32:
                    this._lastModified = t.sent;

                  case 33:
                    t.next = 39;
                    break;

                  case 35:
                    throw t.prev = 35, t.t0 = t.catch(9), this.events.emit("sync:error", (0, _objectSpread2.default)({}, r, {
                      error: t.t0
                    })), t.t0;

                  case 39:
                    return t.prev = 39, this.api.remote = a, t.finish(39);

                  case 42:
                    return this.events.emit("sync:success", (0, _objectSpread2.default)({}, r, {
                      result: o
                    })), t.abrupt("return", o);

                  case 44:
                  case "end":
                    return t.stop();
                }
              }
            }, t, this, [[9, 35, 39, 42]]);
          })), function () {
            return r.apply(this, arguments);
          })
        }, {
          key: "loadDump",
          value: (t = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function e(t) {
            var r, a, n, i, o, s, d, u, c, l;
            return _regenerator.default.wrap(function (e) {
              for (;;) {
                switch (e.prev = e.next) {
                  case 0:
                    if (Array.isArray(t)) {
                      e.next = 2;
                      break;
                    }

                    throw new Error("Records is not an array.");

                  case 2:
                    r = !0, a = !1, n = void 0, e.prev = 5, i = t[Symbol.iterator]();

                  case 7:
                    if (r = (o = i.next()).done) {
                      e.next = 16;
                      break;
                    }

                    if ((s = o.value).hasOwnProperty("id") && this.idSchema.validate(s.id)) {
                      e.next = 11;
                      break;
                    }

                    throw new Error("Record has invalid ID: " + JSON.stringify(s));

                  case 11:
                    if (s.last_modified) {
                      e.next = 13;
                      break;
                    }

                    throw new Error("Record has no last_modified value: " + JSON.stringify(s));

                  case 13:
                    r = !0, e.next = 7;
                    break;

                  case 16:
                    e.next = 22;
                    break;

                  case 18:
                    e.prev = 18, e.t0 = e.catch(5), a = !0, n = e.t0;

                  case 22:
                    e.prev = 22, e.prev = 23, r || null == i.return || i.return();

                  case 25:
                    if (e.prev = 25, !a) {
                      e.next = 28;
                      break;
                    }

                    throw n;

                  case 28:
                    return e.finish(25);

                  case 29:
                    return e.finish(22);

                  case 30:
                    return e.next = 32, this.list({}, {
                      includeDeleted: !0
                    });

                  case 32:
                    return d = e.sent, u = d.data, c = u.reduce(function (e, t) {
                      return e[t.id] = t, e;
                    }, {}), l = t.filter(function (e) {
                      var t = c[e.id];
                      return void 0 === t || "synced" === t._status && void 0 !== t.last_modified && e.last_modified > t.last_modified;
                    }), e.next = 38, this.db.loadDump(l.map(markSynced));

                  case 38:
                    return e.abrupt("return", e.sent);

                  case 39:
                  case "end":
                    return e.stop();
                }
              }
            }, e, this, [[5, 18, 22, 30], [23,, 25, 29]]);
          })), function (e) {
            return t.apply(this, arguments);
          })
        }, {
          key: "name",
          get: function get() {
            return this._name;
          }
        }, {
          key: "bucket",
          get: function get() {
            return this._bucket;
          }
        }, {
          key: "lastModified",
          get: function get() {
            return this._lastModified;
          }
        }], [{
          key: "strategy",
          get: function get() {
            return {
              CLIENT_WINS: "client_wins",
              SERVER_WINS: "server_wins",
              MANUAL: "manual"
            };
          }
        }]), e;
      }();

      exports.default = Collection;

      var CollectionTransaction = function () {
        function e(t, r) {
          (0, _classCallCheck2.default)(this, e), this.collection = t, this.adapterTransaction = r, this._events = [];
        }

        return (0, _createClass2.default)(e, [{
          key: "_queueEvent",
          value: function value(e, t) {
            this._events.push({
              action: e,
              payload: t
            });
          }
        }, {
          key: "emitEvents",
          value: function value() {
            var e = !0,
                t = !1,
                r = void 0;

            try {
              for (var a, n = this._events[Symbol.iterator](); !(e = (a = n.next()).done); e = !0) {
                var i = a.value,
                    o = i.action,
                    s = i.payload;
                this.collection.events.emit(o, s);
              }
            } catch (e) {
              t = !0, r = e;
            } finally {
              try {
                e || null == n.return || n.return();
              } finally {
                if (t) throw r;
              }
            }

            if (this._events.length > 0) {
              var d = this._events.map(function (e) {
                var t = e.action,
                    r = e.payload;
                return (0, _objectSpread2.default)({
                  action: t
                }, r);
              });

              this.collection.events.emit("change", {
                targets: d
              });
            }

            this._events = [];
          }
        }, {
          key: "getAny",
          value: function value(e) {
            return {
              data: this.adapterTransaction.get(e),
              permissions: {}
            };
          }
        }, {
          key: "get",
          value: function value(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {
              includeDeleted: !1
            },
                r = this.getAny(e);
            if (!r.data || !t.includeDeleted && "deleted" === r.data._status) throw new Error("Record with id=".concat(e, " not found."));
            return r;
          }
        }, {
          key: "delete",
          value: function value(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {
              virtual: !0
            },
                r = this.adapterTransaction.get(e),
                a = r && "deleted" == r._status;
            if (!r || a && t.virtual) throw new Error("Record with id=".concat(e, " not found."));
            return t.virtual ? this.adapterTransaction.update(markDeleted(r)) : this.adapterTransaction.delete(e), this._queueEvent("delete", {
              data: r
            }), {
              data: r,
              permissions: {}
            };
          }
        }, {
          key: "deleteAll",
          value: function value(e) {
            var t = this,
                r = [];
            return e.forEach(function (e) {
              r.push(t.adapterTransaction.get(e)), t.delete(e);
            }), this._queueEvent("deleteAll", {
              data: r
            }), {
              data: r,
              permissions: {}
            };
          }
        }, {
          key: "deleteAny",
          value: function value(e) {
            var t = this.adapterTransaction.get(e);
            return t && (this.adapterTransaction.update(markDeleted(t)), this._queueEvent("delete", {
              data: t
            })), {
              data: (0, _objectSpread2.default)({
                id: e
              }, t),
              deleted: !!t,
              permissions: {}
            };
          }
        }, {
          key: "create",
          value: function value(e) {
            if ("object" !== (0, _typeof2.default)(e)) throw new Error("Record is not an object.");
            if (!e.hasOwnProperty("id")) throw new Error("Cannot create a record missing id");
            if (!this.collection.idSchema.validate(e.id)) throw new Error("Invalid Id: ".concat(e.id));
            return this.adapterTransaction.create(e), this._queueEvent("create", {
              data: e
            }), {
              data: e,
              permissions: {}
            };
          }
        }, {
          key: "update",
          value: function value(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {
              synced: !1,
              patch: !1
            };
            if ("object" !== (0, _typeof2.default)(e)) throw new Error("Record is not an object.");
            if (!e.hasOwnProperty("id")) throw new Error("Cannot update a record missing id.");
            if (!this.collection.idSchema.validate(e.id)) throw new Error("Invalid Id: ".concat(e.id));
            var r = this.adapterTransaction.get(e.id);
            if (!r) throw new Error("Record with id=".concat(e.id, " not found."));

            var a = t.patch ? (0, _objectSpread2.default)({}, r, e) : e,
                n = this._updateRaw(r, a, t);

            return this.adapterTransaction.update(n), this._queueEvent("update", {
              data: n,
              oldRecord: r
            }), {
              data: n,
              oldRecord: r,
              permissions: {}
            };
          }
        }, {
          key: "_updateRaw",
          value: function value(e, t) {
            var r = (arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}).synced,
                a = void 0 !== r && r,
                n = (0, _objectSpread2.default)({}, t);
            e && e.last_modified && !n.last_modified && (n.last_modified = e.last_modified);

            var i = e && recordsEqual(e, n, this.localFields) && "synced" == e._status,
                o = !e || e && "created" == e._status;

            return markStatus(n, i || a ? "synced" : o ? "created" : "updated");
          }
        }, {
          key: "upsert",
          value: function value(e) {
            if ("object" !== (0, _typeof2.default)(e)) throw new Error("Record is not an object.");
            if (!e.hasOwnProperty("id")) throw new Error("Cannot update a record missing id.");
            if (!this.collection.idSchema.validate(e.id)) throw new Error("Invalid Id: ".concat(e.id));

            var t = this.adapterTransaction.get(e.id),
                r = this._updateRaw(t, e);

            return this.adapterTransaction.update(r), t && "deleted" == t._status && (t = void 0), t ? this._queueEvent("update", {
              data: r,
              oldRecord: t
            }) : this._queueEvent("create", {
              data: r
            }), {
              data: r,
              oldRecord: t,
              permissions: {}
            };
          }
        }]), e;
      }();

      exports.CollectionTransaction = CollectionTransaction;
    }, {
      "./adapters/IDB": 434,
      "./adapters/base": 435,
      "./utils": 438,
      "@babel/runtime/helpers/asyncToGenerator": 279,
      "@babel/runtime/helpers/classCallCheck": 280,
      "@babel/runtime/helpers/createClass": 281,
      "@babel/runtime/helpers/interopRequireDefault": 285,
      "@babel/runtime/helpers/objectSpread": 288,
      "@babel/runtime/helpers/typeof": 292,
      "@babel/runtime/regenerator": 295,
      "uuid": 428
    }],
    437: [function (require, module, exports) {
      (function (global) {
        "use strict";

        var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");

        Object.defineProperty(exports, "__esModule", {
          value: !0
        }), exports.default = void 0;

        var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")),
            _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread")),
            _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")),
            _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")),
            _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")),
            _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")),
            _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")),
            _events = require("events"),
            _kintoHttp = _interopRequireDefault(require("kinto-http")),
            _base = _interopRequireDefault(require("./adapters/base")),
            _IDB = _interopRequireDefault(require("./adapters/IDB")),
            _KintoBase2 = _interopRequireDefault(require("./KintoBase"));

        global._babelPolyfill || require("@babel/polyfill");

        var Kinto = function (e) {
          function t() {
            var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
            (0, _classCallCheck2.default)(this, t);
            var r = {
              adapter: t.adapters.IDB,
              events: new _events.EventEmitter(),
              ApiClass: _kintoHttp.default
            };
            return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(t).call(this, (0, _objectSpread2.default)({}, r, e)));
          }

          return (0, _inherits2.default)(t, e), (0, _createClass2.default)(t, null, [{
            key: "adapters",
            get: function get() {
              return {
                BaseAdapter: _base.default,
                IDB: _IDB.default
              };
            }
          }]), t;
        }(_KintoBase2.default);

        exports.default = Kinto, "object" === ("undefined" == typeof module ? "undefined" : (0, _typeof2.default)(module)) && (module.exports = Kinto);
      }).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {});
    }, {
      "./KintoBase": 433,
      "./adapters/IDB": 434,
      "./adapters/base": 435,
      "@babel/polyfill": 1,
      "@babel/runtime/helpers/classCallCheck": 280,
      "@babel/runtime/helpers/createClass": 281,
      "@babel/runtime/helpers/getPrototypeOf": 283,
      "@babel/runtime/helpers/inherits": 284,
      "@babel/runtime/helpers/interopRequireDefault": 285,
      "@babel/runtime/helpers/objectSpread": 288,
      "@babel/runtime/helpers/possibleConstructorReturn": 289,
      "@babel/runtime/helpers/typeof": 292,
      "events": 415,
      "kinto-http": 423
    }],
    438: [function (require, module, exports) {
      "use strict";

      var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");

      Object.defineProperty(exports, "__esModule", {
        value: !0
      }), exports.sortObjects = sortObjects, exports.filterObject = filterObject, exports.filterObjects = filterObjects, exports.waterfall = waterfall, exports.deepEqual = deepEqual, exports.omitKeys = omitKeys, exports.arrayEqual = arrayEqual, exports.RE_RECORD_ID = void 0;

      var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")),
          RE_RECORD_ID = /^[a-zA-Z0-9][a-zA-Z0-9_-]*$/;

      function _isUndefined(e) {
        return void 0 === e;
      }

      function sortObjects(e, r) {
        var t = "-" === e[0],
            n = t ? e.slice(1) : e,
            i = t ? -1 : 1;
        return r.slice().sort(function (e, r) {
          return e[n] && _isUndefined(r[n]) ? i : r[n] && _isUndefined(e[n]) ? -i : _isUndefined(e[n]) && _isUndefined(r[n]) ? 0 : e[n] > r[n] ? i : -i;
        });
      }

      function filterObject(e, r) {
        return Object.keys(e).every(function (t) {
          var n = e[t];
          return Array.isArray(n) ? n.some(function (e) {
            return e === r[t];
          }) : r[t] === n;
        });
      }

      function filterObjects(e, r) {
        return r.filter(function (r) {
          return filterObject(e, r);
        });
      }

      function waterfall(e, r) {
        return e.length ? e.reduce(function (e, r) {
          return e.then(r);
        }, Promise.resolve(r)) : Promise.resolve(r);
      }

      function deepEqual(e, r) {
        if (e === r) return !0;
        if ((0, _typeof2.default)(e) !== (0, _typeof2.default)(r)) return !1;
        if (!e || "object" != (0, _typeof2.default)(e) || !r || "object" != (0, _typeof2.default)(r)) return !1;
        if (Object.keys(e).length !== Object.keys(r).length) return !1;

        for (var t in e) {
          if (!deepEqual(e[t], r[t])) return !1;
        }

        return !0;
      }

      function omitKeys(e) {
        var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [];
        return Object.keys(e).reduce(function (t, n) {
          return r.includes(n) || (t[n] = e[n]), t;
        }, {});
      }

      function arrayEqual(e, r) {
        if (e.length !== r.length) return !1;

        for (var t = e.length; t--;) {
          if (e[t] !== r[t]) return !1;
        }

        return !0;
      }

      exports.RE_RECORD_ID = RE_RECORD_ID;
    }, {
      "@babel/runtime/helpers/interopRequireDefault": 285,
      "@babel/runtime/helpers/typeof": 292
    }]
  }, {}, [437])(437);
});