import { __require as requireRequireObjectCoercible } from "../es-object-atoms/RequireObjectCoercible.js";
import { __require as requireToString } from "../es-abstract/2024/ToString.js";
import { __require as requireCallBound } from "../call-bound/index.js";
var implementation;
var hasRequiredImplementation;
function requireImplementation() {
  if (hasRequiredImplementation) return implementation;
  hasRequiredImplementation = 1;
  var RequireObjectCoercible = requireRequireObjectCoercible();
  var ToString = requireToString();
  var callBound = requireCallBound();
  var $replace = callBound("String.prototype.replace");
  var mvsIsWS = /^\s$/.test("᠎");
  var leftWhitespace = mvsIsWS ? /^[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+/ : /^[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+/;
  var rightWhitespace = mvsIsWS ? /[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+$/ : /[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+$/;
  implementation = function trim() {
    var S = ToString(RequireObjectCoercible(this));
    return $replace($replace(S, leftWhitespace, ""), rightWhitespace, "");
  };
  return implementation;
}
export {
  requireImplementation as __require
};
