@ -1,7 +1,7 @@
/ * *
/ * *
* @ license
* @ license
* Lodash ( Custom Build ) < https : //lodash.com/>
* Lodash ( Custom Build ) < https : //lodash.com/>
* Build : ` lodash core plus="debounce,throttle,get,set,findIndex,findLastIndex,findKey,findLastKey,isArrayLike,invert,invertBy,uniq,uniqBy,omit,omitBy,zip,unzip,rest,range,random,reject,intersection,drop,countBy,union,zipObject,initial,cloneDeep,clamp,isPlainObject,take,takeRight,without,difference,defaultsDeep,trim,merge,groupBy,uniqBy,before,after,unescape" `
* Build : ` lodash core plus="debounce,throttle,get,set,findIndex,findLastIndex,findKey,findLastKey,isArrayLike,invert,invertBy,uniq,uniqBy,omit,omitBy,zip,unzip,rest,range,random,reject,intersection,drop,countBy,union,zipObject,initial,cloneDeep,clamp,isPlainObject,take,takeRight,without,difference,defaultsDeep,trim,merge,groupBy,uniqBy,before,after,unescape,chunk " `
* Copyright JS Foundation and other contributors < https : //js.foundation/>
* Copyright JS Foundation and other contributors < https : //js.foundation/>
* Released under MIT license < https : //lodash.com/license>
* Released under MIT license < https : //lodash.com/license>
* Based on Underscore . js 1.8 . 3 < http : //underscorejs.org/LICENSE>
* Based on Underscore . js 1.8 . 3 < http : //underscorejs.org/LICENSE>
@ -272,7 +272,8 @@
var nodeUtil = ( function ( ) {
var nodeUtil = ( function ( ) {
try {
try {
return freeProcess && freeProcess . binding && freeProcess . binding ( 'util' ) ;
return freeProcess && freeProcess . binding && freeProcess . binding ( 'util' ) ;
} catch ( e ) { }
} catch ( e ) {
}
} ( ) ) ;
} ( ) ) ;
/* Node.js helper references. */
/* Node.js helper references. */
@ -296,10 +297,14 @@
* /
* /
function apply ( func , thisArg , args ) {
function apply ( func , thisArg , args ) {
switch ( args . length ) {
switch ( args . length ) {
case 0 : return func . call ( thisArg ) ;
case 0 :
case 1 : return func . call ( thisArg , args [ 0 ] ) ;
return func . call ( thisArg ) ;
case 2 : return func . call ( thisArg , args [ 0 ] , args [ 1 ] ) ;
case 1 :
case 3 : return func . call ( thisArg , args [ 0 ] , args [ 1 ] , args [ 2 ] ) ;
return func . call ( thisArg , args [ 0 ] ) ;
case 2 :
return func . call ( thisArg , args [ 0 ] , args [ 1 ] ) ;
case 3 :
return func . call ( thisArg , args [ 0 ] , args [ 1 ] , args [ 2 ] ) ;
}
}
return func . apply ( thisArg , args ) ;
return func . apply ( thisArg , args ) ;
}
}
@ -745,7 +750,8 @@
var index = - 1 ,
var index = - 1 ,
length = strSymbols . length ;
length = strSymbols . length ;
while ( ++ index < length && baseIndexOf ( chrSymbols , strSymbols [ index ] , 0 ) > - 1 ) { }
while ( ++ index < length && baseIndexOf ( chrSymbols , strSymbols [ index ] , 0 ) > - 1 ) {
}
return index ;
return index ;
}
}
@ -761,7 +767,8 @@
function charsEndIndex ( strSymbols , chrSymbols ) {
function charsEndIndex ( strSymbols , chrSymbols ) {
var index = strSymbols . length ;
var index = strSymbols . length ;
while ( index -- && baseIndexOf ( chrSymbols , strSymbols [ index ] , 0 ) > - 1 ) { }
while ( index -- && baseIndexOf ( chrSymbols , strSymbols [ index ] , 0 ) > - 1 ) {
}
return index ;
return index ;
}
}
@ -1066,7 +1073,8 @@
var func = getNative ( Object , 'defineProperty' ) ;
var func = getNative ( Object , 'defineProperty' ) ;
func ( { } , '' , { } ) ;
func ( { } , '' , { } ) ;
return func ;
return func ;
} catch ( e ) { }
} catch ( e ) {
}
} ( ) ) ;
} ( ) ) ;
/* Built-in method references for those with the same name as other `lodash` methods. */
/* Built-in method references for those with the same name as other `lodash` methods. */
@ -1248,7 +1256,9 @@
* @ returns { Object } Returns the new object .
* @ returns { Object } Returns the new object .
* /
* /
var baseCreate = ( function ( ) {
var baseCreate = ( function ( ) {
function object ( ) { }
function object ( ) {
}
return function ( proto ) {
return function ( proto ) {
if ( ! isObject ( proto ) ) {
if ( ! isObject ( proto ) ) {
return { } ;
return { } ;
@ -2199,7 +2209,9 @@
if ( typeof func != 'function' ) {
if ( typeof func != 'function' ) {
throw new TypeError ( FUNC _ERROR _TEXT ) ;
throw new TypeError ( FUNC _ERROR _TEXT ) ;
}
}
return setTimeout ( function ( ) { func . apply ( undefined , args ) ; } , wait ) ;
return setTimeout ( function ( ) {
func . apply ( undefined , args ) ;
} , wait ) ;
}
}
/ * *
/ * *
@ -2230,8 +2242,7 @@
if ( comparator ) {
if ( comparator ) {
includes = arrayIncludesWith ;
includes = arrayIncludesWith ;
isCommon = false ;
isCommon = false ;
}
} else if ( values . length >= LARGE _ARRAY _SIZE ) {
else if ( values . length >= LARGE _ARRAY _SIZE ) {
includes = cacheHas ;
includes = cacheHas ;
isCommon = false ;
isCommon = false ;
values = new SetCache ( values ) ;
values = new SetCache ( values ) ;
@ -2250,8 +2261,7 @@
}
}
}
}
result . push ( value ) ;
result . push ( value ) ;
}
} else if ( ! includes ( values , computed , comparator ) ) {
else if ( ! includes ( values , computed , comparator ) ) {
result . push ( value ) ;
result . push ( value ) ;
}
}
}
}
@ -2991,8 +3001,7 @@
if ( isObject ( srcValue ) ) {
if ( isObject ( srcValue ) ) {
stack || ( stack = new Stack ) ;
stack || ( stack = new Stack ) ;
baseMergeDeep ( object , source , key , srcIndex , baseMerge , customizer , stack ) ;
baseMergeDeep ( object , source , key , srcIndex , baseMerge , customizer , stack ) ;
}
} else {
else {
var newValue = customizer
var newValue = customizer
? customizer ( safeGet ( object , key ) , srcValue , ( key + '' ) , object , source , stack )
? customizer ( safeGet ( object , key ) , srcValue , ( key + '' ) , object , source , stack )
: undefined ;
: undefined ;
@ -3044,32 +3053,25 @@
if ( isArr || isBuff || isTyped ) {
if ( isArr || isBuff || isTyped ) {
if ( isArray ( objValue ) ) {
if ( isArray ( objValue ) ) {
newValue = objValue ;
newValue = objValue ;
}
} else if ( isArrayLikeObject ( objValue ) ) {
else if ( isArrayLikeObject ( objValue ) ) {
newValue = copyArray ( objValue ) ;
newValue = copyArray ( objValue ) ;
}
} else if ( isBuff ) {
else if ( isBuff ) {
isCommon = false ;
isCommon = false ;
newValue = cloneBuffer ( srcValue , true ) ;
newValue = cloneBuffer ( srcValue , true ) ;
}
} else if ( isTyped ) {
else if ( isTyped ) {
isCommon = false ;
isCommon = false ;
newValue = cloneTypedArray ( srcValue , true ) ;
newValue = cloneTypedArray ( srcValue , true ) ;
}
} else {
else {
newValue = [ ] ;
newValue = [ ] ;
}
}
}
} else if ( isPlainObject ( srcValue ) || isArguments ( srcValue ) ) {
else if ( isPlainObject ( srcValue ) || isArguments ( srcValue ) ) {
newValue = objValue ;
newValue = objValue ;
if ( isArguments ( objValue ) ) {
if ( isArguments ( objValue ) ) {
newValue = toPlainObject ( objValue ) ;
newValue = toPlainObject ( objValue ) ;
}
} else if ( ! isObject ( objValue ) || ( srcIndex && isFunction ( objValue ) ) ) {
else if ( ! isObject ( objValue ) || ( srcIndex && isFunction ( objValue ) ) ) {
newValue = initCloneObject ( srcValue ) ;
newValue = initCloneObject ( srcValue ) ;
}
}
}
} else {
else {
isCommon = false ;
isCommon = false ;
}
}
}
}
@ -3371,8 +3373,7 @@
if ( comparator ) {
if ( comparator ) {
isCommon = false ;
isCommon = false ;
includes = arrayIncludesWith ;
includes = arrayIncludesWith ;
}
} else if ( length >= LARGE _ARRAY _SIZE ) {
else if ( length >= LARGE _ARRAY _SIZE ) {
var set = iteratee ? null : createSet ( array ) ;
var set = iteratee ? null : createSet ( array ) ;
if ( set ) {
if ( set ) {
return setToArray ( set ) ;
return setToArray ( set ) ;
@ -3380,8 +3381,7 @@
isCommon = false ;
isCommon = false ;
includes = cacheHas ;
includes = cacheHas ;
seen = new SetCache ;
seen = new SetCache ;
}
} else {
else {
seen = iteratee ? [ ] : result ;
seen = iteratee ? [ ] : result ;
}
}
outer :
outer :
@ -3401,8 +3401,7 @@
seen . push ( computed ) ;
seen . push ( computed ) ;
}
}
result . push ( value ) ;
result . push ( value ) ;
}
} else if ( ! includes ( seen , computed , comparator ) ) {
else if ( ! includes ( seen , computed , comparator ) ) {
if ( seen !== result ) {
if ( seen !== result ) {
seen . push ( computed ) ;
seen . push ( computed ) ;
}
}
@ -3942,6 +3941,7 @@
var fn = ( this && this !== root && this instanceof wrapper ) ? Ctor : func ;
var fn = ( this && this !== root && this instanceof wrapper ) ? Ctor : func ;
return fn . apply ( isBind ? thisArg : this , arguments ) ;
return fn . apply ( isBind ? thisArg : this , arguments ) ;
}
}
return wrapper ;
return wrapper ;
}
}
@ -3960,14 +3960,22 @@
// for more details.
// for more details.
var args = arguments ;
var args = arguments ;
switch ( args . length ) {
switch ( args . length ) {
case 0 : return new Ctor ;
case 0 :
case 1 : return new Ctor ( args [ 0 ] ) ;
return new Ctor ;
case 2 : return new Ctor ( args [ 0 ] , args [ 1 ] ) ;
case 1 :
case 3 : return new Ctor ( args [ 0 ] , args [ 1 ] , args [ 2 ] ) ;
return new Ctor ( args [ 0 ] ) ;
case 4 : return new Ctor ( args [ 0 ] , args [ 1 ] , args [ 2 ] , args [ 3 ] ) ;
case 2 :
case 5 : return new Ctor ( args [ 0 ] , args [ 1 ] , args [ 2 ] , args [ 3 ] , args [ 4 ] ) ;
return new Ctor ( args [ 0 ] , args [ 1 ] ) ;
case 6 : return new Ctor ( args [ 0 ] , args [ 1 ] , args [ 2 ] , args [ 3 ] , args [ 4 ] , args [ 5 ] ) ;
case 3 :
case 7 : return new Ctor ( args [ 0 ] , args [ 1 ] , args [ 2 ] , args [ 3 ] , args [ 4 ] , args [ 5 ] , args [ 6 ] ) ;
return new Ctor ( args [ 0 ] , args [ 1 ] , args [ 2 ] ) ;
case 4 :
return new Ctor ( args [ 0 ] , args [ 1 ] , args [ 2 ] , args [ 3 ] ) ;
case 5 :
return new Ctor ( args [ 0 ] , args [ 1 ] , args [ 2 ] , args [ 3 ] , args [ 4 ] ) ;
case 6 :
return new Ctor ( args [ 0 ] , args [ 1 ] , args [ 2 ] , args [ 3 ] , args [ 4 ] , args [ 5 ] ) ;
case 7 :
return new Ctor ( args [ 0 ] , args [ 1 ] , args [ 2 ] , args [ 3 ] , args [ 4 ] , args [ 5 ] , args [ 6 ] ) ;
}
}
var thisBinding = baseCreate ( Ctor . prototype ) ,
var thisBinding = baseCreate ( Ctor . prototype ) ,
result = Ctor . apply ( thisBinding , args ) ;
result = Ctor . apply ( thisBinding , args ) ;
@ -4012,6 +4020,7 @@
var fn = ( this && this !== root && this instanceof wrapper ) ? Ctor : func ;
var fn = ( this && this !== root && this instanceof wrapper ) ? Ctor : func ;
return apply ( fn , this , args ) ;
return apply ( fn , this , args ) ;
}
}
return wrapper ;
return wrapper ;
}
}
@ -4028,7 +4037,9 @@
if ( ! isArrayLike ( collection ) ) {
if ( ! isArrayLike ( collection ) ) {
var iteratee = baseIteratee ( predicate , 3 ) ;
var iteratee = baseIteratee ( predicate , 3 ) ;
collection = keys ( collection ) ;
collection = keys ( collection ) ;
predicate = function ( key ) { return iteratee ( iterable [ key ] , key , iterable ) ; } ;
predicate = function ( key ) {
return iteratee ( iterable [ key ] , key , iterable ) ;
} ;
}
}
var index = findIndexFunc ( collection , predicate , fromIndex ) ;
var index = findIndexFunc ( collection , predicate , fromIndex ) ;
return index > - 1 ? iterable [ iteratee ? collection [ index ] : index ] : undefined ;
return index > - 1 ? iterable [ iteratee ? collection [ index ] : index ] : undefined ;
@ -4105,6 +4116,7 @@
}
}
return fn . apply ( thisBinding , args ) ;
return fn . apply ( thisBinding , args ) ;
}
}
return wrapper ;
return wrapper ;
}
}
@ -4154,6 +4166,7 @@
}
}
return apply ( fn , isBind ? thisArg : this , args ) ;
return apply ( fn , isBind ? thisArg : this , args ) ;
}
}
return wrapper ;
return wrapper ;
}
}
@ -4727,7 +4740,8 @@
try {
try {
value [ symToStringTag ] = undefined ;
value [ symToStringTag ] = undefined ;
var unmasked = true ;
var unmasked = true ;
} catch ( e ) { }
} catch ( e ) {
}
var result = nativeObjectToString . call ( value ) ;
var result = nativeObjectToString . call ( value ) ;
if ( unmasked ) {
if ( unmasked ) {
@ -4795,11 +4809,16 @@
if ( ctorString ) {
if ( ctorString ) {
switch ( ctorString ) {
switch ( ctorString ) {
case dataViewCtorString : return dataViewTag ;
case dataViewCtorString :
case mapCtorString : return mapTag ;
return dataViewTag ;
case promiseCtorString : return promiseTag ;
case mapCtorString :
case setCtorString : return setTag ;
return mapTag ;
case weakMapCtorString : return weakMapTag ;
case promiseCtorString :
return promiseTag ;
case setCtorString :
return setTag ;
case weakMapCtorString :
return weakMapTag ;
}
}
}
}
return result ;
return result ;
@ -4825,10 +4844,18 @@
size = data . size ;
size = data . size ;
switch ( data . type ) {
switch ( data . type ) {
case 'drop' : start += size ; break ;
case 'drop' :
case 'dropRight' : end -= size ; break ;
start += size ;
case 'take' : end = nativeMin ( end , start + size ) ; break ;
break ;
case 'takeRight' : start = nativeMax ( start , end - size ) ; break ;
case 'dropRight' :
end -= size ;
break ;
case 'take' :
end = nativeMin ( end , start + size ) ;
break ;
case 'takeRight' :
start = nativeMax ( start , end - size ) ;
break ;
}
}
}
}
return { 'start' : start , 'end' : end } ;
return { 'start' : start , 'end' : end } ;
@ -4934,9 +4961,15 @@
case dataViewTag :
case dataViewTag :
return cloneDataView ( object , isDeep ) ;
return cloneDataView ( object , isDeep ) ;
case float32Tag : case float64Tag :
case float32Tag :
case int8Tag : case int16Tag : case int32Tag :
case float64Tag :
case uint8Tag : case uint8ClampedTag : case uint16Tag : case uint32Tag :
case int8Tag :
case int16Tag :
case int32Tag :
case uint8Tag :
case uint8ClampedTag :
case uint16Tag :
case uint32Tag :
return cloneTypedArray ( object , isDeep ) ;
return cloneTypedArray ( object , isDeep ) ;
case mapTag :
case mapTag :
@ -5442,10 +5475,12 @@
if ( func != null ) {
if ( func != null ) {
try {
try {
return funcToString . call ( func ) ;
return funcToString . call ( func ) ;
} catch ( e ) { }
} catch ( e ) {
}
try {
try {
return ( func + '' ) ;
return ( func + '' ) ;
} catch ( e ) { }
} catch ( e ) {
}
}
}
return '' ;
return '' ;
}
}
@ -5488,6 +5523,47 @@
/*------------------------------------------------------------------------*/
/*------------------------------------------------------------------------*/
/ * *
* Creates an array of elements split into groups the length of ` size ` .
* If ` array ` can ' t be split evenly , the final chunk will be the remaining
* elements .
*
* @ static
* @ memberOf _
* @ since 3.0 . 0
* @ category Array
* @ param { Array } array The array to process .
* @ param { number } [ size = 1 ] The length of each chunk
* @ param - { Object } [ guard ] Enables use as an iteratee for methods like ` _.map ` .
* @ returns { Array } Returns the new array of chunks .
* @ example
*
* _ . chunk ( [ 'a' , 'b' , 'c' , 'd' ] , 2 ) ;
* // => [['a', 'b'], ['c', 'd']]
*
* _ . chunk ( [ 'a' , 'b' , 'c' , 'd' ] , 3 ) ;
* // => [['a', 'b', 'c'], ['d']]
* /
function chunk ( array , size , guard ) {
if ( ( guard ? isIterateeCall ( array , size , guard ) : size === undefined ) ) {
size = 1 ;
} else {
size = nativeMax ( toInteger ( size ) , 0 ) ;
}
var length = array == null ? 0 : array . length ;
if ( ! length || size < 1 ) {
return [ ] ;
}
var index = 0 ,
resIndex = 0 ,
result = Array ( nativeCeil ( length / size ) ) ;
while ( index < length ) {
result [ resIndex ++ ] = baseSlice ( array , index , ( index += size ) ) ;
}
return result ;
}
/ * *
/ * *
* Creates an array with all falsey values removed . The values ` false ` , ` null ` ,
* Creates an array with all falsey values removed . The values ` false ` , ` null ` ,
* ` 0 ` , ` "" ` , ` undefined ` , and ` NaN ` are falsey .
* ` 0 ` , ` "" ` , ` undefined ` , and ` NaN ` are falsey .
@ -5921,8 +5997,7 @@
if ( end && typeof end != 'number' && isIterateeCall ( array , start , end ) ) {
if ( end && typeof end != 'number' && isIterateeCall ( array , start , end ) ) {
start = 0 ;
start = 0 ;
end = length ;
end = length ;
}
} else {
else {
start = start == null ? 0 : toInteger ( start ) ;
start = start == null ? 0 : toInteger ( start ) ;
end = end === undefined ? length : toInteger ( end ) ;
end = end === undefined ? length : toInteger ( end ) ;
}
}
@ -6277,7 +6352,9 @@
var length = paths . length ,
var length = paths . length ,
start = length ? paths [ 0 ] : 0 ,
start = length ? paths [ 0 ] : 0 ,
value = this . _ _wrapped _ _ ,
value = this . _ _wrapped _ _ ,
interceptor = function ( object ) { return baseAt ( object , paths ) ; } ;
interceptor = function ( object ) {
return baseAt ( object , paths ) ;
} ;
if ( length > 1 || this . _ _actions _ _ . length ||
if ( length > 1 || this . _ _actions _ _ . length ||
! ( value instanceof LazyWrapper ) || ! isIndex ( start ) ) {
! ( value instanceof LazyWrapper ) || ! isIndex ( start ) ) {
@ -7301,6 +7378,7 @@
}
}
return result ;
return result ;
}
}
debounced . cancel = cancel ;
debounced . cancel = cancel ;
debounced . flush = flush ;
debounced . flush = flush ;
return debounced ;
return debounced ;
@ -7445,10 +7523,14 @@
return function ( ) {
return function ( ) {
var args = arguments ;
var args = arguments ;
switch ( args . length ) {
switch ( args . length ) {
case 0 : return ! predicate . call ( this ) ;
case 0 :
case 1 : return ! predicate . call ( this , args [ 0 ] ) ;
return ! predicate . call ( this ) ;
case 2 : return ! predicate . call ( this , args [ 0 ] , args [ 1 ] ) ;
case 1 :
case 3 : return ! predicate . call ( this , args [ 0 ] , args [ 1 ] , args [ 2 ] ) ;
return ! predicate . call ( this , args [ 0 ] ) ;
case 2 :
return ! predicate . call ( this , args [ 0 ] , args [ 1 ] ) ;
case 3 :
return ! predicate . call ( this , args [ 0 ] , args [ 1 ] , args [ 2 ] ) ;
}
}
return ! predicate . apply ( this , args ) ;
return ! predicate . apply ( this , args ) ;
} ;
} ;
@ -7679,7 +7761,9 @@
* _ . isArguments ( [ 1 , 2 , 3 ] ) ;
* _ . isArguments ( [ 1 , 2 , 3 ] ) ;
* // => false
* // => false
* /
* /
var isArguments = baseIsArguments ( function ( ) { return arguments ; } ( ) ) ? baseIsArguments : function ( value ) {
var isArguments = baseIsArguments ( function ( ) {
return arguments ;
} ( ) ) ? baseIsArguments : function ( value ) {
return isObjectLike ( value ) && hasOwnProperty . call ( value , 'callee' ) &&
return isObjectLike ( value ) && hasOwnProperty . call ( value , 'callee' ) &&
! propertyIsEnumerable . call ( value , 'callee' ) ;
! propertyIsEnumerable . call ( value , 'callee' ) ;
} ;
} ;
@ -9358,8 +9442,7 @@
if ( typeof upper == 'boolean' ) {
if ( typeof upper == 'boolean' ) {
floating = upper ;
floating = upper ;
upper = undefined ;
upper = undefined ;
}
} else if ( typeof lower == 'boolean' ) {
else if ( typeof lower == 'boolean' ) {
floating = lower ;
floating = lower ;
lower = undefined ;
lower = undefined ;
}
}
@ -9367,8 +9450,7 @@
if ( lower === undefined && upper === undefined ) {
if ( lower === undefined && upper === undefined ) {
lower = 0 ;
lower = 0 ;
upper = 1 ;
upper = 1 ;
}
} else {
else {
lower = toFinite ( lower ) ;
lower = toFinite ( lower ) ;
if ( upper === undefined ) {
if ( upper === undefined ) {
upper = lower ;
upper = lower ;
@ -9911,6 +9993,7 @@
lodash . before = before ;
lodash . before = before ;
lodash . bind = bind ;
lodash . bind = bind ;
lodash . chain = chain ;
lodash . chain = chain ;
lodash . chunk = chunk ;
lodash . compact = compact ;
lodash . compact = compact ;
lodash . concat = concat ;
lodash . concat = concat ;
lodash . countBy = countBy ;
lodash . countBy = countBy ;
@ -10267,8 +10350,7 @@
( freeModule . exports = lodash ) . _ = lodash ;
( freeModule . exports = lodash ) . _ = lodash ;
// Export for CommonJS support.
// Export for CommonJS support.
freeExports . _ = lodash ;
freeExports . _ = lodash ;
}
} else {
else {
// Export to the global object.
// Export to the global object.
BI . _ = lodash ;
BI . _ = lodash ;
}
}