{"version":3,"sources":["webpack:///./src/js/components/Component.js","webpack:///./src/js/components/FeaturedReviewsSlider.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/lodash/isSymbol.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./node_modules/lodash/_baseTrim.js","webpack:///./node_modules/lodash/_trimmedEndIndex.js","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/lodash/now.js"],"names":["domTree","WeakMap","configuration","Component","el","config","arguments","length","undefined","_classCallCheck","this","Error","$el","jQuery","$","set","hasOwnProperty","dom","setupDefaults","addListeners","get","elements","__webpack_require__","FeaturedReviewsSlider","_this","_possibleConstructorReturn","__proto__","Object","getPrototypeOf","call","initSlick","$slider","find","$dotsContainer","$slides","window","on","_debounce3","default","bind","hasClass","slick","arrows","infinite","dots","appendDots","slidesToShow","slidesToScroll","mobileFirst","adaptiveHeight","prevArrow","nextArrow","module","exports","value","Symbol","getRawTag","objectToString","nullTag","undefinedTag","symToStringTag","toStringTag","freeGlobal","freeSelf","self","root","Function","type","baseGetTag","isObjectLike","symbolTag","global","objectProto","prototype","nativeObjectToString","toString","isOwn","tag","unmasked","e","result","baseTrim","isObject","isSymbol","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","other","valueOf","isBinary","test","slice","trimmedEndIndex","reTrimStart","string","replace","reWhitespace","index","charAt","now","toNumber","FUNC_ERROR_TEXT","nativeMax","Math","max","nativeMin","min","func","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","apply","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","timeWaiting","remainingWait","debounced","isInvoking","leadingEdge","clearTimeout","cancel","flush","Date"],"mappings":"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","file":"16.f60f5be5cb104223ce52.js","sourcesContent":["const domTree = new WeakMap();\r\nconst configuration = new WeakMap();\r\n\r\n/**\r\n * Component is a class that should be extended for every component that's being made. It\r\n * is a helper class to keep the code uniform.\r\n *\r\n * __PLEASE NOTE__: This is only to be extended, not instantiated.\r\n *\r\n * @example\r\n * import Component from 'component';\r\n *\r\n * class Foo extends Component {\r\n *   construction(el){\r\n *     super(el);\r\n *   }\r\n *\r\n *   setupDefaults(){\r\n *     // ...defaults go here\r\n *   }\r\n *\r\n *   addListeners(){\r\n *     // ...listeners go here\r\n *   }\r\n * }\r\n *\r\n * // Create a new Foo component\r\n * new Foo('.foo');\r\n */\r\nclass Component {\r\n  /**\r\n   * Component constructor - see {@link config} on how to pass in additional configuration to the constructor\r\n   *\r\n   * @param {string|Object} el - Main DOM element, you can pass a string such as `'.foo'` __or__ a jQuery object such as `$('.foo')`\r\n   * @param {Object} [config={ }] - Additional component configuration; reachable with `this.config`\r\n   */\r\n  constructor(el, config = {}){\r\n    if (typeof el === 'undefined') {\r\n      throw new Error('You must provide an element as a String type or a jQuery object type');\r\n    }\r\n\r\n    /**\r\n     * Main class element, this will be a jQuery instance\r\n     * This can be reachable at any time in your superclass with `this.$el`\r\n     *\r\n     * @type {Object}\r\n     */\r\n    this.$el = el instanceof jQuery ? el : $(el);\r\n\r\n    if (this.$el.length === 0) return;\r\n\r\n    domTree.set(this, {});\r\n    configuration.set(this, config);\r\n\r\n    if (this.config.hasOwnProperty('dom')) {\r\n      this.dom = this.config.dom;\r\n    }\r\n\r\n    this.setupDefaults();\r\n    this.addListeners();\r\n  }\r\n\r\n  /**\r\n   * This method is used for override;\r\n   * It's called directly after the element and configuration have been set up\r\n   * @abstract\r\n   */\r\n  setupDefaults(){}\r\n\r\n  /**\r\n   * This method is used for override;\r\n   * It's called directly after `setupDefaults()`, so everything is ready and setup at this point.\r\n   * @abstract\r\n   */\r\n  addListeners(){}\r\n\r\n  /**\r\n   * Get component configuration\r\n   *\r\n   * @example\r\n   * class Foo extends Component {\r\n   *   construction(el, config){\r\n   *     super(el, config);\r\n   *   }\r\n   *\r\n   *   setupDefaults(){\r\n   *     console.log(this.config.name); // Outputs \"Foo\"\r\n   *   }\r\n   * }\r\n   *\r\n   * // Create a new Foo component with some configuration\r\n   * new Foo('.foo', {\r\n   *   name: 'Foo'\r\n   * });\r\n   *\r\n   * @type {Object}\r\n   */\r\n  get config(){\r\n    return configuration.get(this);\r\n  }\r\n\r\n  /**\r\n   * Set DOM object\r\n   *\r\n   * @example\r\n   * class Foo extends Component {\r\n   *   construction(el){\r\n   *     super(el);\r\n   *   }\r\n   *\r\n   *   setupDefaults(){\r\n   *     this.dom = {\r\n   *       $container: this.$el.find('.container')\r\n   *     }\r\n   *   }\r\n   *\r\n   *   addListeners(){\r\n   *     //DOM object is available\r\n   *     console.log(this.dom.$container);\r\n   *   }\r\n   * }\r\n   *\r\n   * // Create a new Foo component\r\n   * new Foo('.foo');\r\n   *\r\n   * @type {Object}\r\n   */\r\n  set dom(elements){\r\n    elements = {\r\n      ...this.dom,\r\n      ...elements\r\n    };\r\n\r\n    domTree.set(this, elements);\r\n  }\r\n\r\n  /**\r\n   * Get DOM object\r\n   *\r\n   * @example\r\n   * this.dom\r\n   *\r\n   * @type {Object}\r\n   */\r\n  get dom(){\r\n    return domTree.get(this);\r\n  }\r\n}\r\n\r\nexport default Component;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/components/Component.js","import Component from 'component';\r\nimport _debounce from 'lodash/debounce';\r\n\r\nclass FeaturedReviewsSlider extends Component {\r\n  constructor(el) {\r\n    super(el);\r\n    this.initSlick();\r\n  }\r\n\r\n  setupDefaults() {\r\n    this.dom = {\r\n      $slider: this.$el.find('.reviews-list__content'),\r\n      $dotsContainer: this.$el.find('.featured-review__dots'),\r\n      $slides: this.$el.find('.reviews-list__review')\r\n    };\r\n  }\r\n\r\n  addListeners() {\r\n    $(window).on('resize', _debounce(::this.initSlick, 100));\r\n  }\r\n\r\n  initSlick() {\r\n    const _that = this;\r\n    if (!this.dom.$slider.hasClass('slick-initialized')) {\r\n      _that.dom.$slider.slick({\r\n        arrows: true,\r\n        infinite: false,\r\n        dots: true,\r\n        appendDots: _that.dom.$dotsContainer,\r\n        slidesToShow: 1,\r\n        slidesToScroll: 1,\r\n        mobileFirst: true,\r\n        adaptiveHeight: true,\r\n        prevArrow:\r\n          '<img class=\"slick-prev slick-arrow\" src=\"/images/contentManaged/icons/icon-arrow-left.svg\" alt=\"prev slide\">',\r\n        nextArrow:\r\n          '<img class=\"slick-next slick-arrow\" src=\"/images/contentManaged/icons/icon-arrow-right.svg\" alt=\"next slide\">'\r\n      });\r\n    }\r\n  }\r\n}\r\n\r\nexport default FeaturedReviewsSlider;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/components/FeaturedReviewsSlider.js","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isObjectLike.js\n// module id = 387\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16","var Symbol = require('./_Symbol'),\n    getRawTag = require('./_getRawTag'),\n    objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseGetTag.js\n// module id = 388\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_root.js\n// module id = 389\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isObject.js\n// module id = 390\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_Symbol.js\n// module id = 391\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isSymbol.js\n// module id = 393\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_freeGlobal.js\n// module id = 397\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nmodule.exports = getRawTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_getRawTag.js\n// module id = 401\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_objectToString.js\n// module id = 402\n// module chunks = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16","var baseTrim = require('./_baseTrim'),\n    isObject = require('./isObject'),\n    isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n  if (typeof value == 'number') {\n    return value;\n  }\n  if (isSymbol(value)) {\n    return NAN;\n  }\n  if (isObject(value)) {\n    var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n    value = isObject(other) ? (other + '') : other;\n  }\n  if (typeof value != 'string') {\n    return value === 0 ? value : +value;\n  }\n  value = baseTrim(value);\n  var isBinary = reIsBinary.test(value);\n  return (isBinary || reIsOctal.test(value))\n    ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n    : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/toNumber.js\n// module id = 423\n// module chunks = 0 1 2 9 10 11 12 13 14 15 16","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n  return string\n    ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n    : string;\n}\n\nmodule.exports = baseTrim;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseTrim.js\n// module id = 425\n// module chunks = 0 1 2 9 10 11 12 13 14 15 16","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n  var index = string.length;\n\n  while (index-- && reWhitespace.test(string.charAt(index))) {}\n  return index;\n}\n\nmodule.exports = trimmedEndIndex;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_trimmedEndIndex.js\n// module id = 426\n// module chunks = 0 1 2 9 10 11 12 13 14 15 16","var isObject = require('./isObject'),\n    now = require('./now'),\n    toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n    nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n *  Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n *  The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n *  Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n *   'leading': true,\n *   'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n  var lastArgs,\n      lastThis,\n      maxWait,\n      result,\n      timerId,\n      lastCallTime,\n      lastInvokeTime = 0,\n      leading = false,\n      maxing = false,\n      trailing = true;\n\n  if (typeof func != 'function') {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  wait = toNumber(wait) || 0;\n  if (isObject(options)) {\n    leading = !!options.leading;\n    maxing = 'maxWait' in options;\n    maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n    trailing = 'trailing' in options ? !!options.trailing : trailing;\n  }\n\n  function invokeFunc(time) {\n    var args = lastArgs,\n        thisArg = lastThis;\n\n    lastArgs = lastThis = undefined;\n    lastInvokeTime = time;\n    result = func.apply(thisArg, args);\n    return result;\n  }\n\n  function leadingEdge(time) {\n    // Reset any `maxWait` timer.\n    lastInvokeTime = time;\n    // Start the timer for the trailing edge.\n    timerId = setTimeout(timerExpired, wait);\n    // Invoke the leading edge.\n    return leading ? invokeFunc(time) : result;\n  }\n\n  function remainingWait(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime,\n        timeWaiting = wait - timeSinceLastCall;\n\n    return maxing\n      ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n      : timeWaiting;\n  }\n\n  function shouldInvoke(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime;\n\n    // Either this is the first call, activity has stopped and we're at the\n    // trailing edge, the system time has gone backwards and we're treating\n    // it as the trailing edge, or we've hit the `maxWait` limit.\n    return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n      (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n  }\n\n  function timerExpired() {\n    var time = now();\n    if (shouldInvoke(time)) {\n      return trailingEdge(time);\n    }\n    // Restart the timer.\n    timerId = setTimeout(timerExpired, remainingWait(time));\n  }\n\n  function trailingEdge(time) {\n    timerId = undefined;\n\n    // Only invoke if we have `lastArgs` which means `func` has been\n    // debounced at least once.\n    if (trailing && lastArgs) {\n      return invokeFunc(time);\n    }\n    lastArgs = lastThis = undefined;\n    return result;\n  }\n\n  function cancel() {\n    if (timerId !== undefined) {\n      clearTimeout(timerId);\n    }\n    lastInvokeTime = 0;\n    lastArgs = lastCallTime = lastThis = timerId = undefined;\n  }\n\n  function flush() {\n    return timerId === undefined ? result : trailingEdge(now());\n  }\n\n  function debounced() {\n    var time = now(),\n        isInvoking = shouldInvoke(time);\n\n    lastArgs = arguments;\n    lastThis = this;\n    lastCallTime = time;\n\n    if (isInvoking) {\n      if (timerId === undefined) {\n        return leadingEdge(lastCallTime);\n      }\n      if (maxing) {\n        // Handle invocations in a tight loop.\n        clearTimeout(timerId);\n        timerId = setTimeout(timerExpired, wait);\n        return invokeFunc(lastCallTime);\n      }\n    }\n    if (timerId === undefined) {\n      timerId = setTimeout(timerExpired, wait);\n    }\n    return result;\n  }\n  debounced.cancel = cancel;\n  debounced.flush = flush;\n  return debounced;\n}\n\nmodule.exports = debounce;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/debounce.js\n// module id = 434\n// module chunks = 1 2 9 10 11 12 13 14 15 16","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n *   console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n  return root.Date.now();\n};\n\nmodule.exports = now;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/now.js\n// module id = 435\n// module chunks = 1 2 9 10 11 12 13 14 15 16"],"sourceRoot":""}