'use strict';

var _commonjsHelpers = require('./_commonjsHelpers-06173234.js');
var _toObject = require('./_to-object-329a650b.js');
var es6_string_iterator = require('./es6.string.iterator-cc0bbaa4.js');
var _objectSap = require('./_object-sap-5e74ba08.js');
var defineProperty = require('./define-property-f4d12f4e.js');
var _typeof = require('./typeof-725500bc.js');

// 19.1.2.9 Object.getPrototypeOf(O)



_objectSap._objectSap('getPrototypeOf', function () {
  return function getPrototypeOf(it) {
    return es6_string_iterator._objectGpo(_toObject._toObject(it));
  };
});

var getPrototypeOf = _toObject._core.Object.getPrototypeOf;

var getPrototypeOf$1 = _commonjsHelpers.createCommonjsModule(function (module) {
module.exports = { "default": getPrototypeOf, __esModule: true };
});

var _Object$getPrototypeOf = _commonjsHelpers.unwrapExports(getPrototypeOf$1);

var classCallCheck = _commonjsHelpers.createCommonjsModule(function (module, exports) {

exports.__esModule = true;

exports.default = function (instance, Constructor) {
  if (!(instance instanceof Constructor)) {
    throw new TypeError("Cannot call a class as a function");
  }
};
});

var _classCallCheck = _commonjsHelpers.unwrapExports(classCallCheck);

var createClass = _commonjsHelpers.createCommonjsModule(function (module, exports) {

exports.__esModule = true;



var _defineProperty2 = _interopRequireDefault(defineProperty.defineProperty);

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

exports.default = function () {
  function defineProperties(target, props) {
    for (var i = 0; i < props.length; i++) {
      var descriptor = props[i];
      descriptor.enumerable = descriptor.enumerable || false;
      descriptor.configurable = true;
      if ("value" in descriptor) descriptor.writable = true;
      (0, _defineProperty2.default)(target, descriptor.key, descriptor);
    }
  }

  return function (Constructor, protoProps, staticProps) {
    if (protoProps) defineProperties(Constructor.prototype, protoProps);
    if (staticProps) defineProperties(Constructor, staticProps);
    return Constructor;
  };
}();
});

var _createClass = _commonjsHelpers.unwrapExports(createClass);

var possibleConstructorReturn = _commonjsHelpers.createCommonjsModule(function (module, exports) {

exports.__esModule = true;



var _typeof3 = _interopRequireDefault(_typeof._typeof_1);

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

exports.default = function (self, call) {
  if (!self) {
    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
  }

  return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self;
};
});

var _possibleConstructorReturn = _commonjsHelpers.unwrapExports(possibleConstructorReturn);

// Works with __proto__ only. Old v8 can't work with null proto objects.
/* eslint-disable no-proto */


var check = function (O, proto) {
  _toObject._anObject(O);
  if (!_toObject._isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
};
var _setProto = {
  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
    function (test, buggy, set) {
      try {
        set = _toObject._ctx(Function.call, _typeof._objectGopd.f(Object.prototype, '__proto__').set, 2);
        set(test, []);
        buggy = !(test instanceof Array);
      } catch (e) { buggy = true; }
      return function setPrototypeOf(O, proto) {
        check(O, proto);
        if (buggy) O.__proto__ = proto;
        else set(O, proto);
        return O;
      };
    }({}, false) : undefined),
  check: check
};

// 19.1.3.19 Object.setPrototypeOf(O, proto)

_toObject._export(_toObject._export.S, 'Object', { setPrototypeOf: _setProto.set });

var setPrototypeOf = _toObject._core.Object.setPrototypeOf;

var setPrototypeOf$1 = _commonjsHelpers.createCommonjsModule(function (module) {
module.exports = { "default": setPrototypeOf, __esModule: true };
});

_commonjsHelpers.unwrapExports(setPrototypeOf$1);

// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
_toObject._export(_toObject._export.S, 'Object', { create: es6_string_iterator._objectCreate });

var $Object = _toObject._core.Object;
var create = function create(P, D) {
  return $Object.create(P, D);
};

var create$1 = _commonjsHelpers.createCommonjsModule(function (module) {
module.exports = { "default": create, __esModule: true };
});

_commonjsHelpers.unwrapExports(create$1);

var inherits = _commonjsHelpers.createCommonjsModule(function (module, exports) {

exports.__esModule = true;



var _setPrototypeOf2 = _interopRequireDefault(setPrototypeOf$1);



var _create2 = _interopRequireDefault(create$1);



var _typeof3 = _interopRequireDefault(_typeof._typeof_1);

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

exports.default = function (subClass, superClass) {
  if (typeof superClass !== "function" && superClass !== null) {
    throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : (0, _typeof3.default)(superClass)));
  }

  subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {
    constructor: {
      value: subClass,
      enumerable: false,
      writable: true,
      configurable: true
    }
  });
  if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;
};
});

var _inherits = _commonjsHelpers.unwrapExports(inherits);

exports._Object$getPrototypeOf = _Object$getPrototypeOf;
exports._classCallCheck = _classCallCheck;
exports._createClass = _createClass;
exports._inherits = _inherits;
exports._possibleConstructorReturn = _possibleConstructorReturn;
