text: /******/ (function(modules) { // webpackBootstrap
  /******/ 	// The module cache
  /******/ 	var installedModules = {};
  /******/
  /******/ 	// The require function
  /******/ 	function __webpack_require__(moduleId) {
  /******/
  /******/ 		// Check if module is in cache
  /******/ 		if(installedModules[moduleId]) {
  /******/ 			return installedModules[moduleId].exports;
  /******/ 		}
  /******/ 		// Create a new module (and put it into the cache)
  /******/ 		var module = installedModules[moduleId] = {
  /******/ 			i: moduleId,
  /******/ 			l: false,
  /******/ 			exports: {}
  /******/ 		};
  /******/
  /******/ 		// Execute the module function
  /******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
  /******/
  /******/ 		// Flag the module as loaded
  /******/ 		module.l = true;
  /******/
  /******/ 		// Return the exports of the module
  /******/ 		return module.exports;
  /******/ 	}
  /******/
  /******/
  /******/ 	// expose the modules object (__webpack_modules__)
  /******/ 	__webpack_require__.m = modules;
  /******/
  /******/ 	// expose the module cache
  /******/ 	__webpack_require__.c = installedModules;
  /******/
  /******/ 	// define getter function for harmony exports
  /******/ 	__webpack_require__.d = function(exports, name, getter) {
  /******/ 		if(!__webpack_require__.o(exports, name)) {
  /******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
  /******/ 		}
  /******/ 	};
  /******/
  /******/ 	// define __esModule on exports
  /******/ 	__webpack_require__.r = function(exports) {
  /******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  /******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  /******/ 		}
  /******/ 		Object.defineProperty(exports, '__esModule', { value: true });
  /******/ 	};
  /******/
  /******/ 	// create a fake namespace object
  /******/ 	// mode & 1: value is a module id, require it
  /******/ 	// mode & 2: merge all properties of value into the ns
  /******/ 	// mode & 4: return value when already ns object
  /******/ 	// mode & 8|1: behave like require
  /******/ 	__webpack_require__.t = function(value, mode) {
  /******/ 		if(mode & 1) value = __webpack_require__(value);
  /******/ 		if(mode & 8) return value;
  /******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
  /******/ 		var ns = Object.create(null);
  /******/ 		__webpack_require__.r(ns);
  /******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
  /******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
  /******/ 		return ns;
  /******/ 	};
  /******/
  /******/ 	// getDefaultExport function for compatibility with non-harmony modules
  /******/ 	__webpack_require__.n = function(module) {
  /******/ 		var getter = module && module.__esModule ?
  /******/ 			function getDefault() { return module['default']; } :
  /******/ 			function getModuleExports() { return module; };
  /******/ 		__webpack_require__.d(getter, 'a', getter);
  /******/ 		return getter;
  /******/ 	};
  /******/
  /******/ 	// Object.prototype.hasOwnProperty.call
  /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
  /******/
  /******/ 	// __webpack_public_path__
  /******/ 	__webpack_require__.p = "";
  /******/
  /******/
  /******/ 	// Load entry module and return exports
  /******/ 	return __webpack_require__(__webpack_require__.s = "./src/main.js");
  /******/ })
  /************************************************************************/
  /******/ ({
  
  /***/ "./node_modules/css-loader/dist/cjs.js!./src/assets/css/style.css":
  /*!************************************************************************!*\
    !*** ./node_modules/css-loader/dist/cjs.js!./src/assets/css/style.css ***!
    \************************************************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");
  /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
  // Imports
  
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(true);
  ___CSS_LOADER_EXPORT___.push([module.i, "@import url(https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap);"]);
  // Module
  ___CSS_LOADER_EXPORT___.push([module.i, ":root {\r\n\t--primary-color: rgb(13, 106, 134);\r\n\t--primary-color-dark: rgb(9, 48, 56);\r\n}\r\n\r\n* {\r\n\tbox-sizing: border-box;\r\n\toutline: none;\r\n}\r\n\r\nbody {\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\tbackground-color: var(--primary-color);\r\n\tfont-family: 'Open Sans', sans-serif;\r\n\tfont-size: 1.3rem;\r\n\tline-height: 1.5rem;\r\n}\r\n\r\n.container {\r\n\tmax-width: 640px;\r\n\tmargin: 50px auto;\r\n\tbackground-color: white;\r\n\tpadding: 20px;\r\n\tborder-radius: 10px;\r\n}\r\n\r\nform input,\r\nform label,\r\nform button {\r\n\tdisplay: block;\r\n\twidth: 100%;\r\n\tmargin-bottom: 10px;\r\n}\r\n\r\nform input {\r\n\tfont-size: 24px;\r\n\theight: 50px;\r\n\tpadding: 0 20px;\r\n}\r\n\r\nform input:focus {\r\n\toutline: 1px solid var(--primary-color);\r\n}\r\n\r\nform button {\r\n\tborder: none;\r\n\tbackground-color: var(--primary-color);\r\n\tcolor: white;\r\n\tfont-size: 18px;\r\n\tfont-weight: 700;\r\n\theight: 50px;\r\n\tcursor: pointer;\r\n\tmargin-top: 30px;\r\n}\r\n\r\nform button:hover {\r\n\tbackground-color: var(--primary-color-dark);\r\n}\r\n\r\nform button:active {\r\n\tbackground-color: red;\r\n}\r\n\r\nh1 {\r\n\ttext-align: center;\r\n}\r\n", "",{"version":3,"sources":["webpack://src/assets/css/style.css"],"names":[],"mappings":"AAEA;CACC,kCAAkC;CAClC,oCAAoC;AACrC;;AAEA;CACC,sBAAsB;CACtB,aAAa;AACd;;AAEA;CACC,SAAS;CACT,UAAU;CACV,sCAAsC;CACtC,oCAAoC;CACpC,iBAAiB;CACjB,mBAAmB;AACpB;;AAEA;CACC,gBAAgB;CAChB,iBAAiB;CACjB,uBAAuB;CACvB,aAAa;CACb,mBAAmB;AACpB;;AAEA;;;CAGC,cAAc;CACd,WAAW;CACX,mBAAmB;AACpB;;AAEA;CACC,eAAe;CACf,YAAY;CACZ,eAAe;AAChB;;AAEA;CACC,uCAAuC;AACxC;;AAEA;CACC,YAAY;CACZ,sCAAsC;CACtC,YAAY;CACZ,eAAe;CACf,gBAAgB;CAChB,YAAY;CACZ,eAAe;CACf,gBAAgB;AACjB;;AAEA;CACC,2CAA2C;AAC5C;;AAEA;CACC,qBAAqB;AACtB;;AAEA;CACC,kBAAkB;AACnB","sourcesContent":["@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');\r\n\r\n:root {\r\n\t--primary-color: rgb(13, 106, 134);\r\n\t--primary-color-dark: rgb(9, 48, 56);\r\n}\r\n\r\n* {\r\n\tbox-sizing: border-box;\r\n\toutline: none;\r\n}\r\n\r\nbody {\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\tbackground-color: var(--primary-color);\r\n\tfont-family: 'Open Sans', sans-serif;\r\n\tfont-size: 1.3rem;\r\n\tline-height: 1.5rem;\r\n}\r\n\r\n.container {\r\n\tmax-width: 640px;\r\n\tmargin: 50px auto;\r\n\tbackground-color: white;\r\n\tpadding: 20px;\r\n\tborder-radius: 10px;\r\n}\r\n\r\nform input,\r\nform label,\r\nform button {\r\n\tdisplay: block;\r\n\twidth: 100%;\r\n\tmargin-bottom: 10px;\r\n}\r\n\r\nform input {\r\n\tfont-size: 24px;\r\n\theight: 50px;\r\n\tpadding: 0 20px;\r\n}\r\n\r\nform input:focus {\r\n\toutline: 1px solid var(--primary-color);\r\n}\r\n\r\nform button {\r\n\tborder: none;\r\n\tbackground-color: var(--primary-color);\r\n\tcolor: white;\r\n\tfont-size: 18px;\r\n\tfont-weight: 700;\r\n\theight: 50px;\r\n\tcursor: pointer;\r\n\tmargin-top: 30px;\r\n}\r\n\r\nform button:hover {\r\n\tbackground-color: var(--primary-color-dark);\r\n}\r\n\r\nform button:active {\r\n\tbackground-color: red;\r\n}\r\n\r\nh1 {\r\n\ttext-align: center;\r\n}\r\n"],"sourceRoot":""}]);
  // Exports
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
  
  
  /***/ }),
  
  /***/ "./node_modules/css-loader/dist/runtime/api.js":
  /*!*****************************************************!*\
    !*** ./node_modules/css-loader/dist/runtime/api.js ***!
    \*****************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  /*
    MIT License http://www.opensource.org/licenses/mit-license.php
    Author Tobias Koppers @sokra
  */
  // css base code, injected by the css-loader
  // eslint-disable-next-line func-names
  module.exports = function (useSourceMap) {
    var list = []; // return the list of modules as css string
  
    list.toString = function toString() {
      return this.map(function (item) {
        var content = cssWithMappingToString(item, useSourceMap);
  
        if (item[2]) {
          return "@media ".concat(item[2], " {").concat(content, "}");
        }
  
        return content;
      }).join('');
    }; // import a list of modules into the list
    // eslint-disable-next-line func-names
  
  
    list.i = function (modules, mediaQuery, dedupe) {
      if (typeof modules === 'string') {
        // eslint-disable-next-line no-param-reassign
        modules = [[null, modules, '']];
      }
  
      var alreadyImportedModules = {};
  
      if (dedupe) {
        for (var i = 0; i < this.length; i++) {
          // eslint-disable-next-line prefer-destructuring
          var id = this[i][0];
  
          if (id != null) {
            alreadyImportedModules[id] = true;
          }
        }
      }
  
      for (var _i = 0; _i < modules.length; _i++) {
        var item = [].concat(modules[_i]);
  
        if (dedupe && alreadyImportedModules[item[0]]) {
          // eslint-disable-next-line no-continue
          continue;
        }
  
        if (mediaQuery) {
          if (!item[2]) {
            item[2] = mediaQuery;
          } else {
            item[2] = "".concat(mediaQuery, " and ").concat(item[2]);
          }
        }
  
        list.push(item);
      }
    };
  
    return list;
  };
  
  function cssWithMappingToString(item, useSourceMap) {
    var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring
  
    var cssMapping = item[3];
  
    if (!cssMapping) {
      return content;
    }
  
    if (useSourceMap && typeof btoa === 'function') {
      var sourceMapping = toComment(cssMapping);
      var sourceURLs = cssMapping.sources.map(function (source) {
        return "/*# sourceURL=".concat(cssMapping.sourceRoot || '').concat(source, " */");
      });
      return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
    }
  
    return [content].join('\n');
  } // Adapted from convert-source-map (MIT)
  
  
  function toComment(sourceMap) {
    // eslint-disable-next-line no-undef
    var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));
    var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64);
    return "/*# ".concat(data, " */");
  }
  
  /***/ }),
  
  /***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":
  /*!****************************************************************************!*\
    !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!
    \****************************************************************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  var isOldIE = function isOldIE() {
    var memo;
    return function memorize() {
      if (typeof memo === 'undefined') {
        // Test for IE <= 9 as proposed by Browserhacks
        // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805
        // Tests for existence of standard globals is to allow style-loader
        // to operate correctly into non-standard environments
        // @see https://github.com/webpack-contrib/style-loader/issues/177
        memo = Boolean(window && document && document.all && !window.atob);
      }
  
      return memo;
    };
  }();
  
  var getTarget = function getTarget() {
    var memo = {};
    return function memorize(target) {
      if (typeof memo[target] === 'undefined') {
        var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself
  
        if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {
          try {
            // This will throw an exception if access to iframe is blocked
            // due to cross-origin restrictions
            styleTarget = styleTarget.contentDocument.head;
          } catch (e) {
            // istanbul ignore next
            styleTarget = null;
          }
        }
  
        memo[target] = styleTarget;
      }
  
      return memo[target];
    };
  }();
  
  var stylesInDom = [];
  
  function getIndexByIdentifier(identifier) {
    var result = -1;
  
    for (var i = 0; i < stylesInDom.length; i++) {
      if (stylesInDom[i].identifier === identifier) {
        result = i;
        break;
      }
    }
  
    return result;
  }
  
  function modulesToDom(list, options) {
    var idCountMap = {};
    var identifiers = [];
  
    for (var i = 0; i < list.length; i++) {
      var item = list[i];
      var id = options.base ? item[0] + options.base : item[0];
      var count = idCountMap[id] || 0;
      var identifier = "".concat(id, " ").concat(count);
      idCountMap[id] = count + 1;
      var index = getIndexByIdentifier(identifier);
      var obj = {
        css: item[1],
        media: item[2],
        sourceMap: item[3]
      };
  
      if (index !== -1) {
        stylesInDom[index].references++;
        stylesInDom[index].updater(obj);
      } else {
        stylesInDom.push({
          identifier: identifier,
          updater: addStyle(obj, options),
          references: 1
        });
      }
  
      identifiers.push(identifier);
    }
  
    return identifiers;
  }
  
  function insertStyleElement(options) {
    var style = document.createElement('style');
    var attributes = options.attributes || {};
  
    if (typeof attributes.nonce === 'undefined') {
      var nonce =  true ? __webpack_require__.nc : undefined;
  
      if (nonce) {
        attributes.nonce = nonce;
      }
    }
  
    Object.keys(attributes).forEach(function (key) {
      style.setAttribute(key, attributes[key]);
    });
  
    if (typeof options.insert === 'function') {
      options.insert(style);
    } else {
      var target = getTarget(options.insert || 'head');
  
      if (!target) {
        throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");
      }
  
      target.appendChild(style);
    }
  
    return style;
  }
  
  function removeStyleElement(style) {
    // istanbul ignore if
    if (style.parentNode === null) {
      return false;
    }
  
    style.parentNode.removeChild(style);
  }
  /* istanbul ignore next  */
  
  
  var replaceText = function replaceText() {
    var textStore = [];
    return function replace(index, replacement) {
      textStore[index] = replacement;
      return textStore.filter(Boolean).join('\n');
    };
  }();
  
  function applyToSingletonTag(style, index, remove, obj) {
    var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE
  
    /* istanbul ignore if  */
  
    if (style.styleSheet) {
      style.styleSheet.cssText = replaceText(index, css);
    } else {
      var cssNode = document.createTextNode(css);
      var childNodes = style.childNodes;
  
      if (childNodes[index]) {
        style.removeChild(childNodes[index]);
      }
  
      if (childNodes.length) {
        style.insertBefore(cssNode, childNodes[index]);
      } else {
        style.appendChild(cssNode);
      }
    }
  }
  
  function applyToTag(style, options, obj) {
    var css = obj.css;
    var media = obj.media;
    var sourceMap = obj.sourceMap;
  
    if (media) {
      style.setAttribute('media', media);
    } else {
      style.removeAttribute('media');
    }
  
    if (sourceMap && typeof btoa !== 'undefined') {
      css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */");
    } // For old IE
  
    /* istanbul ignore if  */
  
  
    if (style.styleSheet) {
      style.styleSheet.cssText = css;
    } else {
      while (style.firstChild) {
        style.removeChild(style.firstChild);
      }
  
      style.appendChild(document.createTextNode(css));
    }
  }
  
  var singleton = null;
  var singletonCounter = 0;
  
  function addStyle(obj, options) {
    var style;
    var update;
    var remove;
  
    if (options.singleton) {
      var styleIndex = singletonCounter++;
      style = singleton || (singleton = insertStyleElement(options));
      update = applyToSingletonTag.bind(null, style, styleIndex, false);
      remove = applyToSingletonTag.bind(null, style, styleIndex, true);
    } else {
      style = insertStyleElement(options);
      update = applyToTag.bind(null, style, options);
  
      remove = function remove() {
        removeStyleElement(style);
      };
    }
  
    update(obj);
    return function updateStyle(newObj) {
      if (newObj) {
        if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {
          return;
        }
  
        update(obj = newObj);
      } else {
        remove();
      }
    };
  }
  
  module.exports = function (list, options) {
    options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>
    // tags it will allow on a page
  
    if (!options.singleton && typeof options.singleton !== 'boolean') {
      options.singleton = isOldIE();
    }
  
    list = list || [];
    var lastIdentifiers = modulesToDom(list, options);
    return function update(newList) {
      newList = newList || [];
  
      if (Object.prototype.toString.call(newList) !== '[object Array]') {
        return;
      }
  
      for (var i = 0; i < lastIdentifiers.length; i++) {
        var identifier = lastIdentifiers[i];
        var index = getIndexByIdentifier(identifier);
        stylesInDom[index].references--;
      }
  
      var newLastIdentifiers = modulesToDom(newList, options);
  
      for (var _i = 0; _i < lastIdentifiers.length; _i++) {
        var _identifier = lastIdentifiers[_i];
  
        var _index = getIndexByIdentifier(_identifier);
  
        if (stylesInDom[_index].references === 0) {
          stylesInDom[_index].updater();
  
          stylesInDom.splice(_index, 1);
        }
      }
  
      lastIdentifiers = newLastIdentifiers;
    };
  };
  
  /***/ }),
  
  /***/ "./src/assets/css/style.css":
  /*!**********************************!*\
    !*** ./src/assets/css/style.css ***!
    \**********************************/
  /*! no static exports found */
  /***/ (function(module, exports, __webpack_require__) {
  
  var api = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
              var content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!./style.css */ "./node_modules/css-loader/dist/cjs.js!./src/assets/css/style.css");
  
              content = content.__esModule ? content.default : content;
  
              if (typeof content === 'string') {
                content = [[module.i, content, '']];
              }
  
  var options = {};
  
  options.insert = "head";
  options.singleton = false;
  
  var update = api(content, options);
  
  
  
  module.exports = content.locals || {};
  
  /***/ }),
  
  /***/ "./src/main.js":
  /*!*********************!*\
    !*** ./src/main.js ***!
    \*********************/
  /*! no exports provided */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony import */ var _modules_GeraCPF__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modules/GeraCPF */ "./src/modules/GeraCPF.js");
  /* harmony import */ var _assets_css_style_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assets/css/style.css */ "./src/assets/css/style.css");
  /* harmony import */ var _assets_css_style_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_assets_css_style_css__WEBPACK_IMPORTED_MODULE_1__);
  
  
  
  (function (win, doc) {
    var gera = new _modules_GeraCPF__WEBPACK_IMPORTED_MODULE_0__["default"]();
    var section = doc.querySelector('section');
    var cpfGerado = doc.createElement('div');
    var btnHTML = doc.createElement('button');
    var pHTML = doc.createElement('p');
    btnHTML.innerText = 'Novo CPF';
    btnHTML.addEventListener('click', function (e) {
      e.preventDefault();
      var novoCPF = gera.geraNovoCpf();
      var cpfFormatado = gera.formatado(novoCPF);
      return pHTML.innerText = cpfFormatado;
    });
    section.appendChild(cpfGerado);
    cpfGerado.appendChild(btnHTML);
    cpfGerado.appendChild(pHTML);
    cpfGerado.style.display = 'flex';
    cpfGerado.style.justifyContent = 'space-between';
    cpfGerado.style.alignItems = 'center';
    cpfGerado.style.height = '5rem';
    cpfGerado.style.fontSize = '3rem';
    cpfGerado.style.color = 'var(--primary-color)';
    cpfGerado.style.fontWeight = 'bold';
    cpfGerado.style.letterSpacing = '0.3rem';
    btnHTML.style.padding = '1rem';
    btnHTML.style.borderRadius = '10px';
    btnHTML.style.fontSize = '1.2rem';
    btnHTML.style.textTransform = 'uppercase';
    btnHTML.style.fontWeight = 'bold';
    btnHTML.style.cursor = 'pointer';
  })(window, document);
  
  /***/ }),
  
  /***/ "./src/modules/GeraCPF.js":
  /*!********************************!*\
    !*** ./src/modules/GeraCPF.js ***!
    \********************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return GeraCPF; });
  /* harmony import */ var _ValidaCPF__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ValidaCPF */ "./src/modules/ValidaCPF.js");
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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; Object.defineProperty(target, descriptor.key, descriptor); } }
  
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  
  
  
  var GeraCPF = /*#__PURE__*/function () {
    function GeraCPF() {
      _classCallCheck(this, GeraCPF);
    }
  
    _createClass(GeraCPF, [{
      key: "rand",
      value: function rand() {
        var min = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 100000000;
        var max = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 999999999;
        return String(Math.floor(Math.random() * (max - min) + min));
      }
    }, {
      key: "geraNovoCpf",
      value: function geraNovoCpf() {
        var cpfSemDigitio = this.rand();
        var digito1 = _ValidaCPF__WEBPACK_IMPORTED_MODULE_0__["default"].geraDigito(cpfSemDigitio);
        var digito2 = _ValidaCPF__WEBPACK_IMPORTED_MODULE_0__["default"].geraDigito(cpfSemDigitio + digito1);
        var novoCpf = cpfSemDigitio + digito1 + digito2;
        return novoCpf;
      }
    }, {
      key: "formatado",
      value: function formatado(cpf) {
        var primeiraParte = cpf.slice(0, 3);
        var segundaParte = cpf.slice(3, 6);
        var terceiraParte = cpf.slice(6, 9);
        var digitos = cpf.slice(9, 11);
        return "".concat(primeiraParte, ".").concat(segundaParte, ".").concat(terceiraParte, "-").concat(digitos);
      }
    }]);
  
    return GeraCPF;
  }();
  
  
  
  /***/ }),
  
  /***/ "./src/modules/ValidaCPF.js":
  /*!**********************************!*\
    !*** ./src/modules/ValidaCPF.js ***!
    \**********************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return ValidaCPF; });
  function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
  
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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; Object.defineProperty(target, descriptor.key, descriptor); } }
  
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  
  var ValidaCPF = /*#__PURE__*/function () {
    function ValidaCPF(cpfEnviado) {
      _classCallCheck(this, ValidaCPF);
  
      Object.defineProperty(this, 'cpfLimpo', {
        value: cpfEnviado.replace(/\D/g, ''),
        writable: false,
        enumerable: true,
        configurable: false
      });
    }
  
    _createClass(ValidaCPF, [{
      key: "eSequencia",
      value: function eSequencia() {
        return this.cpfLimpo.charAt(0).repeat(11) === this.cpfLimpo;
      }
    }, {
      key: "geraNovoCpf",
      value: function geraNovoCpf() {
        var cpfSemDigitos = this.cpfLimpo.slice(0, -2);
        var digito1 = ValidaCPF.geraDigito(cpfSemDigitos);
        var digito2 = ValidaCPF.geraDigito(cpfSemDigitos + digito1);
        this.novoCPF = cpfSemDigitos + digito1 + digito2;
      }
    }, {
      key: "valida",
      value: function valida() {
        if (!this.cpfLimpo) return false;
        if (typeof this.cpfLimpo !== 'string') return false;
        if (this.cpfLimpo.length !== 11) return false;
        if (this.eSequencia()) return false;
        this.geraNovoCpf();
        return this.novoCPF === this.cpfLimpo;
      }
    }], [{
      key: "geraDigito",
      value: function geraDigito(cpfSemDigitos) {
        var total = 0;
        var reverso = cpfSemDigitos.length + 1;
  
        var _iterator = _createForOfIteratorHelper(cpfSemDigitos),
            _step;
  
        try {
          for (_iterator.s(); !(_step = _iterator.n()).done;) {
            var stringNumerica = _step.value;
            total += reverso * Number(stringNumerica);
            reverso--;
          }
        } catch (err) {
          _iterator.e(err);
        } finally {
          _iterator.f();
        }
  
        var digito = 11 - total % 11;
        return digito <= 9 ? String(digito) : '0';
      }
    }]);
  
    return ValidaCPF;
  }();
  
  
  
  /***/ })
  
  /******/ });
  //# sourceMappingURL=bundle.js.map