docs: function (module, exports, __webpack_require__) {
  
    "use strict";
  
    var hide = __webpack_require__(12);
    var redefine = __webpack_require__(13);
    var fails = __webpack_require__(3);
    var defined = __webpack_require__(23);
    var wks = __webpack_require__(5);
  
    module.exports = function (KEY, length, exec) {
      var SYMBOL = wks(KEY);
      var fns = exec(defined, SYMBOL, ''[KEY]);
      var strfn = fns[0];
      var rxfn = fns[1];
      if (fails(function () {
        var O = {};
        O[SYMBOL] = function () {
          return 7;
        };
        return ''[KEY](O) != 7;
      })) {
        redefine(String.prototype, KEY, strfn);
        hide(RegExp.prototype, SYMBOL, length == 2
        // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
        // 21.2.5.11 RegExp.prototype[@@split](string, limit)
        ? function (string, arg) {
          return rxfn.call(string, this, arg);
        }
        // 21.2.5.6 RegExp.prototype[@@match](string)
        // 21.2.5.9 RegExp.prototype[@@search](string)
        : function (string) {
          return rxfn.call(string, this);
        });
      }
    };
  
    /***/
  }