System.register(["__unresolved_0", "__unresolved_1", "__unresolved_2", "__unresolved_3", "__unresolved_4"], function (_export, _context) {
  "use strict";

  var _req, _req2, _req3, _req4, _loader, _cjsExports, __cjsMetaURL;

  _export("default", void 0);

  return {
    setters: [function (_unresolved_) {
      _req = _unresolved_.__cjsMetaURL;
    }, function (_unresolved_2) {
      _req2 = _unresolved_2.__cjsMetaURL;
    }, function (_unresolved_3) {
      _req3 = _unresolved_3.__cjsMetaURL;
    }, function (_unresolved_4) {
      _req4 = _unresolved_4.__cjsMetaURL;
    }, function (_unresolved_5) {
      _loader = _unresolved_5.default;
    }],
    execute: function () {
      _loader.define(_context.meta.url, function (exports, _require, module, __filename, __dirname) {
        let require = _loader.createRequireWithReqMap({
          "../internals/function-uncurry-this": _req,
          "../internals/to-integer-or-infinity": _req2,
          "../internals/to-string": _req3,
          "../internals/require-object-coercible": _req4
        }, _require);

        (function () {
          var uncurryThis = require('../internals/function-uncurry-this');

          var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');

          var toString = require('../internals/to-string');

          var requireObjectCoercible = require('../internals/require-object-coercible');

          var charAt = uncurryThis(''.charAt);
          var charCodeAt = uncurryThis(''.charCodeAt);
          var stringSlice = uncurryThis(''.slice);

          var createMethod = function (CONVERT_TO_STRING) {
            return function ($this, pos) {
              var S = toString(requireObjectCoercible($this));
              var position = toIntegerOrInfinity(pos);
              var size = S.length;
              var first, second;
              if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
              first = charCodeAt(S, position);
              return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? charAt(S, position) : first : CONVERT_TO_STRING ? stringSlice(S, position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
            };
          };

          module.exports = {
            // `String.prototype.codePointAt` method
            // https://tc39.es/ecma262/#sec-string.prototype.codepointat
            codeAt: createMethod(false),
            // `String.prototype.at` method
            // https://github.com/mathiasbynens/String.prototype.at
            charAt: createMethod(true)
          };
        })();

        _export("default", _cjsExports = module.exports);
      });

      _export("__cjsMetaURL", __cjsMetaURL = _context.meta.url);
    }
  };
});
//# sourceMappingURL=string-multibyte.js.map