Skip to content
Snippets Groups Projects
index.js 8.75 MiB
Newer Older
  • Learn to ignore specific revisions
  •     isBuffer = __webpack_require__(1454),
        isIndex = __webpack_require__(1456),
        isTypedArray = __webpack_require__(1457);
    
    /** Used for built-in method references. */
    var objectProto = Object.prototype;
    
    /** Used to check objects for own properties. */
    var hasOwnProperty = objectProto.hasOwnProperty;
    
    /**
     * Creates an array of the enumerable property names of the array-like `value`.
     *
     * @private
     * @param {*} value The value to query.
     * @param {boolean} inherited Specify returning inherited property names.
     * @returns {Array} Returns the array of property names.
     */
    function arrayLikeKeys(value, inherited) {
      var isArr = isArray(value),
          isArg = !isArr && isArguments(value),
          isBuff = !isArr && !isArg && isBuffer(value),
          isType = !isArr && !isArg && !isBuff && isTypedArray(value),
          skipIndexes = isArr || isArg || isBuff || isType,
          result = skipIndexes ? baseTimes(value.length, String) : [],
          length = result.length;
    
      for (var key in value) {
        if ((inherited || hasOwnProperty.call(value, key)) &&
            !(skipIndexes && (
               // Safari 9 has enumerable `arguments.length` in strict mode.
               key == 'length' ||
               // Node.js 0.10 has enumerable non-index properties on buffers.
               (isBuff && (key == 'offset' || key == 'parent')) ||
               // PhantomJS 2 has enumerable non-index properties on typed arrays.
               (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||
               // Skip index properties.
               isIndex(key, length)
            ))) {
          result.push(key);
        }
      }
      return result;
    }
    
    module.exports = arrayLikeKeys;
    
    
    /***/ }),
    /* 1449 */
    /***/ (function(module, exports) {
    
    /**
     * The base implementation of `_.times` without support for iteratee shorthands
     * or max array length checks.
     *
     * @private
     * @param {number} n The number of times to invoke `iteratee`.
     * @param {Function} iteratee The function invoked per iteration.
     * @returns {Array} Returns the array of results.
     */
    function baseTimes(n, iteratee) {
      var index = -1,
          result = Array(n);
    
      while (++index < n) {
        result[index] = iteratee(index);
      }
      return result;
    }
    
    module.exports = baseTimes;
    
    
    /***/ }),
    /* 1450 */
    /***/ (function(module, exports, __webpack_require__) {
    
    var baseIsArguments = __webpack_require__(1451),
        isObjectLike = __webpack_require__(1452);
    
    /** Used for built-in method references. */
    var objectProto = Object.prototype;
    
    /** Used to check objects for own properties. */
    var hasOwnProperty = objectProto.hasOwnProperty;
    
    /** Built-in value references. */
    var propertyIsEnumerable = objectProto.propertyIsEnumerable;
    
    /**
     * Checks if `value` is likely an `arguments` object.
     *
     * @static
     * @memberOf _
     * @since 0.1.0
     * @category Lang
     * @param {*} value The value to check.
     * @returns {boolean} Returns `true` if `value` is an `arguments` object,
     *  else `false`.
     * @example
     *
     * _.isArguments(function() { return arguments; }());
     * // => true
     *
     * _.isArguments([1, 2, 3]);
     * // => false
     */
    var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
      return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&
        !propertyIsEnumerable.call(value, 'callee');
    };
    
    module.exports = isArguments;
    
    
    /***/ }),
    /* 1451 */
    /***/ (function(module, exports, __webpack_require__) {
    
    var baseGetTag = __webpack_require__(1415),
        isObjectLike = __webpack_require__(1452);
    
    /** `Object#toString` result references. */
    var argsTag = '[object Arguments]';
    
    /**
     * The base implementation of `_.isArguments`.
     *
     * @private
     * @param {*} value The value to check.
     * @returns {boolean} Returns `true` if `value` is an `arguments` object,
     */
    function baseIsArguments(value) {
      return isObjectLike(value) && baseGetTag(value) == argsTag;
    }
    
    module.exports = baseIsArguments;
    
    
    /***/ }),
    /* 1452 */
    /***/ (function(module, exports) {
    
    /**
     * Checks if `value` is object-like. A value is object-like if it's not `null`
     * and has a `typeof` result of "object".
     *
     * @static
     * @memberOf _
     * @since 4.0.0
     * @category Lang
     * @param {*} value The value to check.
     * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
     * @example
     *
     * _.isObjectLike({});
     * // => true
     *
     * _.isObjectLike([1, 2, 3]);
     * // => true
     *
     * _.isObjectLike(_.noop);
     * // => false
     *
     * _.isObjectLike(null);
     * // => false
     */
    function isObjectLike(value) {
      return value != null && typeof value == 'object';
    }
    
    module.exports = isObjectLike;
    
    
    /***/ }),
    /* 1453 */
    /***/ (function(module, exports) {
    
    /**
     * Checks if `value` is classified as an `Array` object.
     *
     * @static
     * @memberOf _
     * @since 0.1.0
     * @category Lang
     * @param {*} value The value to check.
     * @returns {boolean} Returns `true` if `value` is an array, else `false`.
     * @example
     *
     * _.isArray([1, 2, 3]);
     * // => true
     *
     * _.isArray(document.body.children);
     * // => false
     *
     * _.isArray('abc');
     * // => false
     *
     * _.isArray(_.noop);
     * // => false
     */
    var isArray = Array.isArray;
    
    module.exports = isArray;
    
    
    /***/ }),
    /* 1454 */
    
    Romain CREY's avatar
    Romain CREY committed
    /***/ (function(module, exports, __webpack_require__) {
    
    
    /* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(1417),
        stubFalse = __webpack_require__(1455);
    
    /** Detect free variable `exports`. */
    var freeExports =  true && exports && !exports.nodeType && exports;
    
    /** Detect free variable `module`. */
    var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
    
    /** Detect the popular CommonJS extension `module.exports`. */
    var moduleExports = freeModule && freeModule.exports === freeExports;
    
    /** Built-in value references. */
    var Buffer = moduleExports ? root.Buffer : undefined;
    
    /* Built-in method references for those with the same name as other `lodash` methods. */
    var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;
    
    Romain CREY's avatar
    Romain CREY committed
    
    /**
    
     * Checks if `value` is a buffer.
     *
     * @static
     * @memberOf _
     * @since 4.3.0
     * @category Lang
     * @param {*} value The value to check.
     * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
     * @example
     *
     * _.isBuffer(new Buffer(2));
     * // => true
     *
     * _.isBuffer(new Uint8Array(2));
     * // => false
     */
    var isBuffer = nativeIsBuffer || stubFalse;
    
    module.exports = isBuffer;
    
    /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(13)(module)))
    
    /***/ }),
    /* 1455 */
    /***/ (function(module, exports) {
    
    /**
     * This method returns `false`.
     *
     * @static
     * @memberOf _
     * @since 4.13.0
     * @category Util
     * @returns {boolean} Returns `false`.
     * @example
     *
     * _.times(2, _.stubFalse);
     * // => [false, false]
     */
    function stubFalse() {
      return false;
    }
    
    module.exports = stubFalse;
    
    
    /***/ }),
    /* 1456 */
    /***/ (function(module, exports) {
    
    /** Used as references for various `Number` constants. */
    var MAX_SAFE_INTEGER = 9007199254740991;
    
    /** Used to detect unsigned integer values. */
    var reIsUint = /^(?:0|[1-9]\d*)$/;
    
    /**
     * Checks if `value` is a valid array-like index.
     *
     * @private
     * @param {*} value The value to check.
     * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
     * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
     */
    function isIndex(value, length) {
      var type = typeof value;
      length = length == null ? MAX_SAFE_INTEGER : length;
    
      return !!length &&
        (type == 'number' ||
          (type != 'symbol' && reIsUint.test(value))) &&
            (value > -1 && value % 1 == 0 && value < length);
    }
    
    module.exports = isIndex;
    
    
    /***/ }),
    /* 1457 */
    /***/ (function(module, exports, __webpack_require__) {
    
    var baseIsTypedArray = __webpack_require__(1458),
        baseUnary = __webpack_require__(1460),
        nodeUtil = __webpack_require__(1461);
    
    /* Node.js helper references. */
    var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
    
    /**
     * Checks if `value` is classified as a typed array.
     *
     * @static
     * @memberOf _
     * @since 3.0.0
     * @category Lang
     * @param {*} value The value to check.
     * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
     * @example
     *
     * _.isTypedArray(new Uint8Array);
     * // => true
     *
     * _.isTypedArray([]);
     * // => false
     */
    var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
    
    module.exports = isTypedArray;
    
    
    /***/ }),
    /* 1458 */
    /***/ (function(module, exports, __webpack_require__) {
    
    var baseGetTag = __webpack_require__(1415),
        isLength = __webpack_require__(1459),
        isObjectLike = __webpack_require__(1452);
    
    /** `Object#toString` result references. */
    var argsTag = '[object Arguments]',
        arrayTag = '[object Array]',
        boolTag = '[object Boolean]',
        dateTag = '[object Date]',
        errorTag = '[object Error]',
        funcTag = '[object Function]',
        mapTag = '[object Map]',
        numberTag = '[object Number]',
        objectTag = '[object Object]',
        regexpTag = '[object RegExp]',
        setTag = '[object Set]',
        stringTag = '[object String]',
        weakMapTag = '[object WeakMap]';
    
    var arrayBufferTag = '[object ArrayBuffer]',
        dataViewTag = '[object DataView]',
        float32Tag = '[object Float32Array]',
        float64Tag = '[object Float64Array]',
        int8Tag = '[object Int8Array]',
        int16Tag = '[object Int16Array]',
        int32Tag = '[object Int32Array]',
        uint8Tag = '[object Uint8Array]',
        uint8ClampedTag = '[object Uint8ClampedArray]',
        uint16Tag = '[object Uint16Array]',
        uint32Tag = '[object Uint32Array]';
    
    /** Used to identify `toStringTag` values of typed arrays. */
    var typedArrayTags = {};
    typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
    typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
    typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
    typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
    typedArrayTags[uint32Tag] = true;
    typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
    typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
    typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =
    typedArrayTags[errorTag] = typedArrayTags[funcTag] =
    typedArrayTags[mapTag] = typedArrayTags[numberTag] =
    typedArrayTags[objectTag] = typedArrayTags[regexpTag] =
    typedArrayTags[setTag] = typedArrayTags[stringTag] =
    typedArrayTags[weakMapTag] = false;
    
    /**
     * The base implementation of `_.isTypedArray` without Node.js optimizations.
     *
     * @private
     * @param {*} value The value to check.
     * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
     */
    function baseIsTypedArray(value) {
      return isObjectLike(value) &&
        isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
    }
    
    module.exports = baseIsTypedArray;
    
    
    /***/ }),
    /* 1459 */
    /***/ (function(module, exports) {
    
    /** Used as references for various `Number` constants. */
    var MAX_SAFE_INTEGER = 9007199254740991;
    
    /**
     * Checks if `value` is a valid array-like length.
     *
     * **Note:** This method is loosely based on
     * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
    
    Romain CREY's avatar
    Romain CREY committed
     *
     * @static
     * @memberOf _
     * @since 4.0.0
    
     * @category Lang
     * @param {*} value The value to check.
     * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
    
    Romain CREY's avatar
    Romain CREY committed
     * @example
     *
    
     * _.isLength(3);
     * // => true
    
    Romain CREY's avatar
    Romain CREY committed
     *
    
     * _.isLength(Number.MIN_VALUE);
     * // => false
    
    Romain CREY's avatar
    Romain CREY committed
     *
    
     * _.isLength(Infinity);
     * // => false
     *
     * _.isLength('3');
     * // => false
    
    Romain CREY's avatar
    Romain CREY committed
     */
    
    function isLength(value) {
      return typeof value == 'number' &&
        value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
    
    Romain CREY's avatar
    Romain CREY committed
    }
    
    
    module.exports = isLength;
    
    Romain CREY's avatar
    Romain CREY committed
    
    
    /***/ }),
    
    /* 1460 */
    /***/ (function(module, exports) {
    
    /**
     * The base implementation of `_.unary` without support for storing metadata.
     *
     * @private
     * @param {Function} func The function to cap arguments for.
     * @returns {Function} Returns the new capped function.
     */
    function baseUnary(func) {
      return function(value) {
        return func(value);
      };
    }
    
    module.exports = baseUnary;
    
    
    /***/ }),
    /* 1461 */
    /***/ (function(module, exports, __webpack_require__) {
    
    /* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(1418);
    
    /** Detect free variable `exports`. */
    var freeExports =  true && exports && !exports.nodeType && exports;
    
    /** Detect free variable `module`. */
    var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
    
    /** Detect the popular CommonJS extension `module.exports`. */
    var moduleExports = freeModule && freeModule.exports === freeExports;
    
    /** Detect free variable `process` from Node.js. */
    var freeProcess = moduleExports && freeGlobal.process;
    
    /** Used to access faster Node.js helpers. */
    var nodeUtil = (function() {
      try {
        // Use `util.types` for Node.js 10+.
        var types = freeModule && freeModule.require && freeModule.require('util').types;
    
        if (types) {
          return types;
        }
    
        // Legacy `process.binding('util')` for Node.js < 10.
        return freeProcess && freeProcess.binding && freeProcess.binding('util');
      } catch (e) {}
    }());
    
    module.exports = nodeUtil;
    
    /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(13)(module)))
    
    /***/ }),
    /* 1462 */
    
    Romain CREY's avatar
    Romain CREY committed
    /***/ (function(module, exports, __webpack_require__) {
    
    
    var isPrototype = __webpack_require__(1463),
        nativeKeys = __webpack_require__(1464);
    
    /** Used for built-in method references. */
    var objectProto = Object.prototype;
    
    /** Used to check objects for own properties. */
    var hasOwnProperty = objectProto.hasOwnProperty;
    
    Romain CREY's avatar
    Romain CREY committed
    
    /**
    
     * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
    
    Romain CREY's avatar
    Romain CREY committed
     *
     * @private
    
     * @param {Object} object The object to query.
     * @returns {Array} Returns the array of property names.
    
    Romain CREY's avatar
    Romain CREY committed
     */
    
    199525 199526 199527 199528 199529 199530 199531 199532 199533 199534 199535 199536 199537 199538 199539 199540 199541 199542 199543 199544 199545 199546 199547 199548 199549 199550 199551 199552 199553 199554 199555 199556 199557 199558 199559 199560 199561 199562 199563 199564 199565 199566 199567 199568 199569 199570 199571 199572 199573 199574 199575 199576 199577 199578 199579 199580 199581 199582 199583 199584 199585 199586 199587 199588 199589 199590 199591 199592 199593 199594 199595 199596 199597 199598 199599 199600 199601 199602 199603 199604 199605 199606 199607 199608 199609 199610 199611 199612 199613 199614 199615 199616 199617 199618 199619 199620 199621 199622 199623 199624 199625 199626 199627 199628 199629 199630 199631 199632 199633 199634 199635 199636 199637 199638 199639 199640 199641 199642 199643 199644 199645 199646 199647 199648 199649 199650 199651 199652 199653 199654 199655 199656 199657 199658 199659 199660 199661 199662 199663 199664 199665 199666 199667 199668 199669 199670 199671 199672 199673 199674 199675 199676 199677 199678 199679 199680 199681 199682 199683 199684 199685 199686 199687 199688 199689 199690 199691 199692 199693 199694 199695 199696 199697 199698 199699 199700 199701 199702 199703 199704 199705 199706 199707 199708 199709 199710 199711 199712 199713 199714 199715 199716 199717 199718 199719 199720 199721 199722 199723 199724 199725 199726 199727 199728 199729 199730 199731 199732 199733 199734 199735 199736 199737 199738 199739 199740 199741 199742 199743 199744 199745 199746 199747 199748 199749 199750 199751 199752 199753 199754 199755 199756 199757 199758 199759 199760 199761 199762 199763 199764 199765 199766 199767 199768 199769 199770 199771 199772 199773 199774 199775 199776 199777 199778 199779 199780 199781 199782 199783 199784 199785 199786 199787 199788 199789 199790 199791 199792 199793 199794 199795 199796 199797 199798 199799 199800 199801 199802 199803 199804 199805 199806 199807 199808 199809 199810 199811 199812 199813 199814 199815 199816 199817
    function baseKeys(object) {
      if (!isPrototype(object)) {
        return nativeKeys(object);
      }
      var result = [];
      for (var key in Object(object)) {
        if (hasOwnProperty.call(object, key) && key != 'constructor') {
          result.push(key);
        }
      }
      return result;
    }
    
    module.exports = baseKeys;
    
    
    /***/ }),
    /* 1463 */
    /***/ (function(module, exports) {
    
    /** Used for built-in method references. */
    var objectProto = Object.prototype;
    
    /**
     * Checks if `value` is likely a prototype object.
     *
     * @private
     * @param {*} value The value to check.
     * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
     */
    function isPrototype(value) {
      var Ctor = value && value.constructor,
          proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;
    
      return value === proto;
    }
    
    module.exports = isPrototype;
    
    
    /***/ }),
    /* 1464 */
    /***/ (function(module, exports, __webpack_require__) {
    
    var overArg = __webpack_require__(1465);
    
    /* Built-in method references for those with the same name as other `lodash` methods. */
    var nativeKeys = overArg(Object.keys, Object);
    
    module.exports = nativeKeys;
    
    
    /***/ }),
    /* 1465 */
    /***/ (function(module, exports) {
    
    /**
     * Creates a unary function that invokes `func` with its argument transformed.
     *
     * @private
     * @param {Function} func The function to wrap.
     * @param {Function} transform The argument transform.
     * @returns {Function} Returns the new function.
     */
    function overArg(func, transform) {
      return function(arg) {
        return func(transform(arg));
      };
    }
    
    module.exports = overArg;
    
    
    /***/ }),
    /* 1466 */
    /***/ (function(module, exports, __webpack_require__) {
    
    var isFunction = __webpack_require__(1414),
        isLength = __webpack_require__(1459);
    
    /**
     * Checks if `value` is array-like. A value is considered array-like if it's
     * not a function and has a `value.length` that's an integer greater than or
     * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
     *
     * @static
     * @memberOf _
     * @since 4.0.0
     * @category Lang
     * @param {*} value The value to check.
     * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
     * @example
     *
     * _.isArrayLike([1, 2, 3]);
     * // => true
     *
     * _.isArrayLike(document.body.children);
     * // => true
     *
     * _.isArrayLike('abc');
     * // => true
     *
     * _.isArrayLike(_.noop);
     * // => false
     */
    function isArrayLike(value) {
      return value != null && isLength(value.length) && !isFunction(value);
    }
    
    module.exports = isArrayLike;
    
    
    /***/ }),
    /* 1467 */
    /***/ (function(module, exports, __webpack_require__) {
    
    var copyObject = __webpack_require__(1446),
        keysIn = __webpack_require__(1468);
    
    /**
     * The base implementation of `_.assignIn` without support for multiple sources
     * or `customizer` functions.
     *
     * @private
     * @param {Object} object The destination object.
     * @param {Object} source The source object.
     * @returns {Object} Returns `object`.
     */
    function baseAssignIn(object, source) {
      return object && copyObject(source, keysIn(source), object);
    }
    
    module.exports = baseAssignIn;
    
    
    /***/ }),
    /* 1468 */
    /***/ (function(module, exports, __webpack_require__) {
    
    var arrayLikeKeys = __webpack_require__(1448),
        baseKeysIn = __webpack_require__(1469),
        isArrayLike = __webpack_require__(1466);
    
    /**
     * Creates an array of the own and inherited enumerable property names of `object`.
     *
     * **Note:** Non-object values are coerced to objects.
     *
     * @static
     * @memberOf _
     * @since 3.0.0
     * @category Object
     * @param {Object} object The object to query.
     * @returns {Array} Returns the array of property names.
     * @example
     *
     * function Foo() {
     *   this.a = 1;
     *   this.b = 2;
     * }
     *
     * Foo.prototype.c = 3;
     *
     * _.keysIn(new Foo);
     * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
     */
    function keysIn(object) {
      return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
    }
    
    module.exports = keysIn;
    
    
    /***/ }),
    /* 1469 */
    /***/ (function(module, exports, __webpack_require__) {
    
    var isObject = __webpack_require__(1421),
        isPrototype = __webpack_require__(1463),
        nativeKeysIn = __webpack_require__(1470);
    
    /** Used for built-in method references. */
    var objectProto = Object.prototype;
    
    /** Used to check objects for own properties. */
    var hasOwnProperty = objectProto.hasOwnProperty;
    
    /**
     * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.
     *
     * @private
     * @param {Object} object The object to query.
     * @returns {Array} Returns the array of property names.
     */
    function baseKeysIn(object) {
      if (!isObject(object)) {
        return nativeKeysIn(object);
      }
      var isProto = isPrototype(object),
          result = [];
    
      for (var key in object) {
        if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {
          result.push(key);
        }
      }
      return result;
    }
    
    module.exports = baseKeysIn;
    
    
    /***/ }),
    /* 1470 */
    /***/ (function(module, exports) {
    
    /**
     * This function is like
     * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
     * except that it includes inherited enumerable properties.
     *
     * @private
     * @param {Object} object The object to query.
     * @returns {Array} Returns the array of property names.
     */
    function nativeKeysIn(object) {
      var result = [];
      if (object != null) {
        for (var key in Object(object)) {
          result.push(key);
        }
      }
      return result;
    }
    
    module.exports = nativeKeysIn;
    
    
    /***/ }),
    /* 1471 */
    /***/ (function(module, exports, __webpack_require__) {
    
    /* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(1417);
    
    /** Detect free variable `exports`. */
    var freeExports =  true && exports && !exports.nodeType && exports;
    
    /** Detect free variable `module`. */
    var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
    
    /** Detect the popular CommonJS extension `module.exports`. */
    var moduleExports = freeModule && freeModule.exports === freeExports;
    
    /** Built-in value references. */
    var Buffer = moduleExports ? root.Buffer : undefined,
        allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;
    
    /**
     * Creates a clone of  `buffer`.
     *
     * @private
     * @param {Buffer} buffer The buffer to clone.
     * @param {boolean} [isDeep] Specify a deep clone.
     * @returns {Buffer} Returns the cloned buffer.
     */
    function cloneBuffer(buffer, isDeep) {
      if (isDeep) {
        return buffer.slice();
      }
      var length = buffer.length,
          result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
    
      buffer.copy(result);
      return result;
    }
    
    module.exports = cloneBuffer;
    
    /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(13)(module)))
    
    /***/ }),
    /* 1472 */
    /***/ (function(module, exports) {
    
    /**
     * Copies the values of `source` to `array`.
     *
     * @private
     * @param {Array} source The array to copy values from.
     * @param {Array} [array=[]] The array to copy values to.
     * @returns {Array} Returns `array`.
     */
    function copyArray(source, array) {
    
    Romain CREY's avatar
    Romain CREY committed
      var index = -1,
    
          length = source.length;
    
      array || (array = Array(length));
      while (++index < length) {
        array[index] = source[index];
      }
      return array;
    }
    
    module.exports = copyArray;
    
    
    /***/ }),
    /* 1473 */
    /***/ (function(module, exports, __webpack_require__) {
    
    var copyObject = __webpack_require__(1446),
        getSymbols = __webpack_require__(1474);
    
    /**
     * Copies own symbols of `source` to `object`.
     *
     * @private
     * @param {Object} source The object to copy symbols from.
     * @param {Object} [object={}] The object to copy symbols to.
     * @returns {Object} Returns `object`.
     */
    function copySymbols(source, object) {
      return copyObject(source, getSymbols(source), object);
    }
    
    module.exports = copySymbols;
    
    
    /***/ }),
    /* 1474 */
    /***/ (function(module, exports, __webpack_require__) {
    
    var arrayFilter = __webpack_require__(1475),
        stubArray = __webpack_require__(1476);
    
    /** Used for built-in method references. */
    var objectProto = Object.prototype;
    
    /** Built-in value references. */
    var propertyIsEnumerable = objectProto.propertyIsEnumerable;
    
    /* Built-in method references for those with the same name as other `lodash` methods. */
    var nativeGetSymbols = Object.getOwnPropertySymbols;
    
    /**
     * Creates an array of the own enumerable symbols of `object`.
     *
     * @private
     * @param {Object} object The object to query.
     * @returns {Array} Returns the array of symbols.
     */
    var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
      if (object == null) {
        return [];
      }
      object = Object(object);
      return arrayFilter(nativeGetSymbols(object), function(symbol) {
        return propertyIsEnumerable.call(object, symbol);
      });
    };
    
    module.exports = getSymbols;
    
    
    /***/ }),
    /* 1475 */
    /***/ (function(module, exports) {
    
    /**
     * A specialized version of `_.filter` for arrays without support for
     * iteratee shorthands.
     *
     * @private
     * @param {Array} [array] The array to iterate over.
     * @param {Function} predicate The function invoked per iteration.
     * @returns {Array} Returns the new filtered array.
     */
    function arrayFilter(array, predicate) {
      var index = -1,
          length = array == null ? 0 : array.length,
          resIndex = 0,
          result = [];
    
      while (++index < length) {
        var value = array[index];
        if (predicate(value, index, array)) {
          result[resIndex++] = value;
        }
      }
      return result;
    }
    
    module.exports = arrayFilter;
    
    
    /***/ }),
    /* 1476 */
    /***/ (function(module, exports) {
    
    /**
     * This method returns a new empty array.
     *
     * @static
     * @memberOf _
     * @since 4.13.0
     * @category Util
     * @returns {Array} Returns the new empty array.
     * @example
     *
     * var arrays = _.times(2, _.stubArray);
     *
     * console.log(arrays);
     * // => [[], []]
     *
     * console.log(arrays[0] === arrays[1]);
     * // => false
     */
    function stubArray() {
      return [];
    }
    
    module.exports = stubArray;
    
    
    /***/ }),
    /* 1477 */
    /***/ (function(module, exports, __webpack_require__) {
    
    var copyObject = __webpack_require__(1446),
        getSymbolsIn = __webpack_require__(1478);
    
    /**
     * Copies own and inherited symbols of `source` to `object`.
     *
     * @private
     * @param {Object} source The object to copy symbols from.
     * @param {Object} [object={}] The object to copy symbols to.
     * @returns {Object} Returns `object`.
     */
    function copySymbolsIn(source, object) {
      return copyObject(source, getSymbolsIn(source), object);
    }
    
    module.exports = copySymbolsIn;
    
    
    /***/ }),
    /* 1478 */
    /***/ (function(module, exports, __webpack_require__) {
    
    var arrayPush = __webpack_require__(1479),
        getPrototype = __webpack_require__(1480),
        getSymbols = __webpack_require__(1474),
        stubArray = __webpack_require__(1476);
    
    /* Built-in method references for those with the same name as other `lodash` methods. */
    var nativeGetSymbols = Object.getOwnPropertySymbols;
    
    /**
     * Creates an array of the own and inherited enumerable symbols of `object`.
     *
     * @private
     * @param {Object} object The object to query.
     * @returns {Array} Returns the array of symbols.
     */
    var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {
      var result = [];
      while (object) {
        arrayPush(result, getSymbols(object));
        object = getPrototype(object);
      }
      return result;
    };
    
    module.exports = getSymbolsIn;