lodash-rails 3.7.0 → 3.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/lodash/rails/version.rb +1 -1
- data/vendor/assets/javascripts/lodash.compat.js +755 -693
- data/vendor/assets/javascripts/lodash.compat.min.js +97 -140
- data/vendor/assets/javascripts/lodash.js +752 -683
- data/vendor/assets/javascripts/lodash.min.js +93 -136
- metadata +2 -2
@@ -1,145 +1,102 @@
|
|
1
1
|
/**
|
2
2
|
* @license
|
3
|
-
* lodash 3.
|
3
|
+
* lodash 3.9.3 (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
|
4
4
|
* Build: `lodash compat -o ./lodash.js`
|
5
5
|
*/
|
6
|
-
;(function(){function n(n,t){if(n!==t){var r=
|
7
|
-
return r}function
|
8
|
-
|
9
|
-
}function
|
10
|
-
|
11
|
-
return n
|
12
|
-
|
13
|
-
}function
|
14
|
-
|
15
|
-
}function
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
}),
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
r=
|
28
|
-
|
29
|
-
|
30
|
-
return
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
e=
|
41
|
-
|
42
|
-
|
43
|
-
n(
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
return
|
48
|
-
|
49
|
-
var
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
}function
|
62
|
-
|
63
|
-
return
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
return function(){
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
return
|
82
|
-
return
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
n
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
var i=n[0],c=-1,l=i?i.length:0,s=u[0];n:for(;++c<l;)if(f=i[c],0>(s?qn(s,f):o(a,f,0))){for(t=e;--t;){var p=u[t];if(0>(p?qn(p,f):o(n[t],f,0)))continue n}s&&s.push(f),a.push(f)}return a},Ln.invert=function(n,t,r){r&&Er(n,t,r)&&(t=null),r=-1;for(var e=Ko(n),u=e.length,o={};++r<u;){var i=e[r],a=n[i];t?Ze.call(o,a)?o[a].push(i):o[a]=[i]:o[a]=i}return o},Ln.invoke=_o,Ln.keys=Ko,Ln.keysIn=de,Ln.map=Qr,Ln.mapValues=function(n,t,r){var e={};return t=mr(t,r,3),vt(n,function(n,r,u){e[r]=t(n,r,u)}),e},Ln.matches=function(n){
|
101
|
-
return xt(at(n,true))},Ln.matchesProperty=function(n,t){return At(n,at(t,true))},Ln.memoize=oe,Ln.merge=Vo,Ln.method=ri,Ln.methodOf=ei,Ln.mixin=Re,Ln.negate=function(n){if(typeof n!="function")throw new ze(L);return function(){return!n.apply(this,arguments)}},Ln.omit=Yo,Ln.once=function(n){return ee(2,n)},Ln.pairs=function(n){for(var t=-1,r=Ko(n),e=r.length,u=Te(e);++t<e;){var o=r[t];u[t]=[o,n[o]]}return u},Ln.partial=So,Ln.partialRight=Co,Ln.partition=vo,Ln.pick=Zo,Ln.pluck=function(n,t){return Qr(n,Ce(t));
|
102
|
-
|
103
|
-
},Ln.property=Ce,Ln.propertyOf=function(n){return function(t){return dt(n,$r(t),t+"")}},Ln.pull=function(){var n=arguments,t=n[0];if(!t||!t.length)return t;for(var r=0,e=wr(),u=n.length;++r<u;)for(var o=0,i=n[r];-1<(o=e(t,i,o));)su.call(t,o,1);return t},Ln.pullAt=no,Ln.range=function(n,t,r){r&&Er(n,t,r)&&(t=r=null),n=+n||0,r=null==r?1:+r||0,null==t?(t=n,n=0):t=+t||0;var e=-1;t=wu(tu((t-n)/(r||1)),0);for(var u=Te(t);++e<t;)u[e]=n,n+=r;return u},Ln.rearg=To,Ln.reject=function(n,t,r){var e=Uo(n)?Xn:st;
|
104
|
-
|
105
|
-
return t=mr(t,r,3),e(n,function(n,r,e){return!t(n,r,e)})},Ln.remove=function(n,t,r){var e=[];if(!n||!n.length)return e;var u=-1,o=[],i=n.length;for(t=mr(t,r,3);++u<i;)r=n[u],t(r,u,n)&&(e.push(r),o.push(u));return kt(n,o),e},Ln.rest=qr,Ln.restParam=ie,Ln.set=function(n,t,r){if(null==n)return n;var e=t+"";t=null!=n[e]||kr(t,n)?[e]:$r(t);for(var e=-1,u=t.length,o=u-1,i=n;null!=i&&++e<u;){var a=t[e];le(i)&&(e==o?i[a]=r:null==i[a]&&(i[a]=Or(t[e+1])?[]:{})),i=i[a]}return n},Ln.shuffle=te,Ln.slice=function(n,t,r){
|
106
|
-
var e=n?n.length:0;return e?(r&&typeof r!="number"&&Er(n,t,r)&&(t=0,r=e),St(n,t,r)):[]},Ln.sortBy=function(n,t,r){if(null==n)return[];r&&Er(n,t,r)&&(t=null);var e=-1;return t=mr(t,r,3),n=bt(n,function(n,r,u){return{a:t(n,r,u),b:++e,c:n}}),Tt(n,f)},Ln.sortByAll=mo,Ln.sortByOrder=function(n,t,r,e){return null==n?[]:(e&&Er(t,r,e)&&(r=null),Uo(t)||(t=null==t?[]:[t]),Uo(r)||(r=null==r?[]:[r]),Ut(n,t,r))},Ln.spread=function(n){if(typeof n!="function")throw new ze(L);return function(t){return n.apply(this,t);
|
107
|
-
|
108
|
-
}},Ln.take=function(n,t,r){return n&&n.length?((r?Er(n,t,r):null==t)&&(t=1),St(n,0,0>t?0:t)):[]},Ln.takeRight=function(n,t,r){var e=n?n.length:0;return e?((r?Er(n,t,r):null==t)&&(t=1),t=e-(+t||0),St(n,0>t?0:t)):[]},Ln.takeRightWhile=function(n,t,r){return n&&n.length?$t(n,mr(t,r,3),false,true):[]},Ln.takeWhile=function(n,t,r){return n&&n.length?$t(n,mr(t,r,3)):[]},Ln.tap=function(n,t,r){return t.call(r,n),n},Ln.throttle=function(n,t,r){var e=true,u=true;if(typeof n!="function")throw new ze(L);return false===r?e=false:le(r)&&(e="leading"in r?!!r.leading:e,
|
109
|
-
u="trailing"in r?!!r.trailing:u),$n.leading=e,$n.maxWait=+t,$n.trailing=u,ue(n,t,$n)},Ln.thru=Gr,Ln.times=function(n,t,r){if(n=eu(n),1>n||!du(n))return[];var e=-1,u=Te(bu(n,Iu));for(t=zt(t,r,1);++e<n;)e<Iu?u[e]=t(e):t(e);return u},Ln.toArray=function(n){var t=n?Zu(n):0;return Rr(t)?t?Ln.support.unindexedChars&&_e(n)?n.split(""):Kn(n):[]:me(n)},Ln.toPlainObject=ge,Ln.transform=function(n,t,r,e){var u=Uo(n)||ve(n);return t=mr(t,e,4),null==r&&(u||le(n)?(e=n.constructor,r=u?Uo(n)?new e:[]:Pu(Fo(e)&&e.prototype)):r={}),
|
110
|
-
(u?Vn:vt)(n,function(n,e,u){return t(r,n,e,u)}),r},Ln.union=eo,Ln.uniq=Kr,Ln.unzip=Vr,Ln.values=me,Ln.valuesIn=function(n){return Nt(n,de(n))},Ln.where=function(n,t){return Xr(n,xt(t))},Ln.without=uo,Ln.wrap=function(n,t){return t=null==t?Ie:t,_r(t,k,null,[n],[])},Ln.xor=function(){for(var n=-1,t=arguments.length;++n<t;){var r=arguments[n];if(Uo(r)||ae(r))var e=e?ct(e,r).concat(ct(r,e)):r}return e?Ft(e):[]},Ln.zip=oo,Ln.zipObject=Yr,Ln.backflow=Ro,Ln.collect=Qr,Ln.compose=Ro,Ln.each=lo,Ln.eachRight=so,
|
111
|
-
Ln.extend=$o,Ln.iteratee=Ee,Ln.methods=ye,Ln.object=Yr,Ln.select=Xr,Ln.tail=qr,Ln.unique=Kr,Re(Ln,Ln),Ln.add=function(n,t){return(+n||0)+(+t||0)},Ln.attempt=ti,Ln.camelCase=Go,Ln.capitalize=function(n){return(n=u(n))&&n.charAt(0).toUpperCase()+n.slice(1)},Ln.clone=function(n,t,r,e){return t&&typeof t!="boolean"&&Er(n,t,r)?t=false:typeof t=="function"&&(e=r,r=t,t=false),r=typeof r=="function"&&zt(r,e,1),at(n,t,r)},Ln.cloneDeep=function(n,t,r){return t=typeof t=="function"&&zt(t,r,1),at(n,true,t)},Ln.deburr=we,
|
112
|
-
Ln.endsWith=function(n,t,r){n=u(n),t+="";var e=n.length;return r=r===w?e:bu(0>r?0:+r||0,e),r-=t.length,0<=r&&n.indexOf(t,r)==r},Ln.escape=function(n){return(n=u(n))&&hn.test(n)?n.replace(sn,l):n},Ln.escapeRegExp=be,Ln.every=Jr,Ln.find=fo,Ln.findIndex=Hu,Ln.findKey=Po,Ln.findLast=co,Ln.findLastIndex=Qu,Ln.findLastKey=Bo,Ln.findWhere=function(n,t){return fo(n,xt(t))},Ln.first=zr,Ln.get=function(n,t,r){return n=null==n?w:dt(n,$r(t),t+""),n===w?r:n},Ln.has=function(n,t){if(null==n)return false;var r=Ze.call(n,t);
|
113
|
-
|
114
|
-
return r||kr(t)||(t=$r(t),n=1==t.length?n:dt(n,St(t,0,-1)),t=Dr(t),r=null!=n&&Ze.call(n,t)),r||Ln.support.nonEnumStrings&&_e(n)&&Or(t,n.length)},Ln.identity=Ie,Ln.includes=Hr,Ln.indexOf=Mr,Ln.inRange=function(n,t,r){return t=+t||0,"undefined"===typeof r?(r=t,t=0):r=+r||0,n>=bu(t,r)&&n<wu(t,r)},Ln.isArguments=ae,Ln.isArray=Uo,Ln.isBoolean=function(n){return true===n||false===n||h(n)&&Je.call(n)==M},Ln.isDate=function(n){return h(n)&&Je.call(n)==D},Ln.isElement=fe,Ln.isEmpty=function(n){if(null==n)return true;
|
115
|
-
|
116
|
-
var t=Zu(n);return Rr(t)&&(Uo(n)||_e(n)||ae(n)||h(n)&&Fo(n.splice))?!t:!Ko(n).length},Ln.isEqual=function(n,t,r,e){return r=typeof r=="function"&&zt(r,e,3),!r&&Sr(n)&&Sr(t)?n===t:(e=r?r(n,t):w,e===w?mt(n,t,r):!!e)},Ln.isError=ce,Ln.isFinite=Wo,Ln.isFunction=Fo,Ln.isMatch=function(n,t,r,e){var u=Ko(t),o=u.length;if(!o)return true;if(null==n)return false;if(r=typeof r=="function"&&zt(r,e,3),n=Nr(n),!r&&1==o){var i=u[0];if(e=t[i],Sr(e))return e===n[i]&&(e!==w||i in n)}for(var i=Te(o),a=Te(o);o--;)e=i[o]=t[u[o]],
|
117
|
-
a[o]=Sr(e);return wt(n,u,i,a,r)},Ln.isNaN=function(n){return pe(n)&&n!=+n},Ln.isNative=se,Ln.isNull=function(n){return null===n},Ln.isNumber=pe,Ln.isObject=le,Ln.isPlainObject=No,Ln.isRegExp=he,Ln.isString=_e,Ln.isTypedArray=ve,Ln.isUndefined=function(n){return n===w},Ln.kebabCase=Jo,Ln.last=Dr,Ln.lastIndexOf=function(n,t,r){var e=n?n.length:0;if(!e)return-1;var u=e;if(typeof r=="number")u=(0>r?wu(e+r,0):bu(r||0,e-1))+1;else if(r)return u=Pt(n,t,true)-1,n=n[u],(t===t?t===n:n!==n)?u:-1;if(t!==t)return p(n,u,true);
|
118
|
-
|
119
|
-
for(;u--;)if(n[u]===t)return u;return-1},Ln.max=ui,Ln.min=oi,Ln.noConflict=function(){return _._=Xe,this},Ln.noop=Se,Ln.now=wo,Ln.pad=function(n,t,r){n=u(n),t=+t;var e=n.length;return e<t&&du(t)?(e=(t-e)/2,t=eu(e),e=tu(e),r=sr("",e,r),r.slice(0,t)+n+r):n},Ln.padLeft=Xo,Ln.padRight=Ho,Ln.parseInt=xe,Ln.random=function(n,t,r){r&&Er(n,t,r)&&(t=r=null);var e=null==n,u=null==t;return null==r&&(u&&typeof n=="boolean"?(r=n,n=1):typeof t=="boolean"&&(r=t,u=true)),e&&u&&(t=1,u=false),n=+n||0,u?(t=n,n=0):t=+t||0,
|
120
|
-
r||n%1||t%1?(r=Ou(),bu(n+r*(t-n+parseFloat("1e-"+((r+"").length-1))),t)):It(n,t)},Ln.reduce=go,Ln.reduceRight=yo,Ln.repeat=Ae,Ln.result=function(n,t,r){var e=null==n?w:Nr(n)[t];return e===w&&(null==n||kr(t,n)||(t=$r(t),n=1==t.length?n:dt(n,St(t,0,-1)),e=null==n?w:Nr(n)[Dr(t)]),e=e===w?r:e),Fo(e)?e.call(n):e},Ln.runInContext=m,Ln.size=function(n){var t=n?Zu(n):0;return Rr(t)?t:Ko(n).length},Ln.snakeCase=Qo,Ln.some=re,Ln.sortedIndex=to,Ln.sortedLastIndex=ro,Ln.startCase=ni,Ln.startsWith=function(n,t,r){
|
121
|
-
return n=u(n),r=null==r?0:bu(0>r?0:+r||0,n.length),n.lastIndexOf(t,r)==r},Ln.sum=function(n,t,r){r&&Er(n,t,r)&&(t=null);var e=mr(),u=null==t;if(e===it&&u||(u=false,t=e(t,r,3)),u){for(n=Uo(n)?n:Fr(n),t=n.length,r=0;t--;)r+=+n[t]||0;n=r}else n=Wt(n,t);return n},Ln.template=function(n,t,r){var e=Ln.templateSettings;r&&Er(n,t,r)&&(t=r=null),n=u(n),t=et(Lu({},r||t),e,rt),r=et(Lu({},t.imports),e.imports,rt);var o,i,a=Ko(r),f=Nt(r,a),c=0;r=t.interpolate||Rn;var l="__p+='";r=Pe((t.escape||Rn).source+"|"+r.source+"|"+(r===gn?jn:Rn).source+"|"+(t.evaluate||Rn).source+"|$","g");
|
122
|
-
|
123
|
-
var p="sourceURL"in t?"//# sourceURL="+t.sourceURL+"\n":"";if(n.replace(r,function(t,r,e,u,a,f){return e||(e=u),l+=n.slice(c,f).replace(Sn,s),r&&(o=true,l+="'+__e("+r+")+'"),a&&(i=true,l+="';"+a+";\n__p+='"),e&&(l+="'+((__t=("+e+"))==null?'':__t)+'"),c=f+t.length,t}),l+="';",(t=t.variable)||(l="with(obj){"+l+"}"),l=(i?l.replace(an,""):l).replace(fn,"$1").replace(cn,"$1;"),l="function("+(t||"obj")+"){"+(t?"":"obj||(obj={});")+"var __t,__p=''"+(o?",__e=_.escape":"")+(i?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+l+"return __p}",
|
124
|
-
t=ti(function(){return Fe(a,p+"return "+l).apply(w,f)}),t.source=l,ce(t))throw t;return t},Ln.trim=je,Ln.trimLeft=function(n,t,r){var e=n;return(n=u(n))?n.slice((r?Er(e,t,r):null==t)?g(n):i(n,t+"")):n},Ln.trimRight=function(n,t,r){var e=n;return(n=u(n))?(r?Er(e,t,r):null==t)?n.slice(0,y(n)+1):n.slice(0,a(n,t+"")+1):n},Ln.trunc=function(n,t,r){r&&Er(n,t,r)&&(t=null);var e=C;if(r=T,null!=t)if(le(t)){var o="separator"in t?t.separator:o,e="length"in t?+t.length||0:e;r="omission"in t?u(t.omission):r}else e=+t||0;
|
125
|
-
|
126
|
-
if(n=u(n),e>=n.length)return n;if(e-=r.length,1>e)return r;if(t=n.slice(0,e),null==o)return t+r;if(he(o)){if(n.slice(e).search(o)){var i,a=n.slice(0,e);for(o.global||(o=Pe(o.source,(On.exec(o)||"")+"g")),o.lastIndex=0;n=o.exec(a);)i=n.index;t=t.slice(0,null==i?e:i)}}else n.indexOf(o,e)!=e&&(o=t.lastIndexOf(o),-1<o&&(t=t.slice(0,o)));return t+r},Ln.unescape=function(n){return(n=u(n))&&pn.test(n)?n.replace(ln,d):n},Ln.uniqueId=function(n){var t=++Ge;return u(n)+t},Ln.words=Oe,Ln.all=Jr,Ln.any=re,Ln.contains=Hr,
|
127
|
-
Ln.detect=fo,Ln.foldl=go,Ln.foldr=yo,Ln.head=zr,Ln.include=Hr,Ln.inject=go,Re(Ln,function(){var n={};return vt(Ln,function(t,r){Ln.prototype[r]||(n[r]=t)}),n}(),false),Ln.sample=ne,Ln.prototype.sample=function(n){return this.__chain__||null!=n?this.thru(function(t){return ne(t,n)}):ne(this.value())},Ln.VERSION=b,Vn("bind bindKey curry curryRight partial partialRight".split(" "),function(n){Ln[n].placeholder=Ln}),Vn(["dropWhile","filter","map","takeWhile"],function(n,t){var r=t!=$,e=t==F;zn.prototype[n]=function(n,u){
|
128
|
-
var o=this.__filtered__,i=o&&e?new zn(this):this.clone();return(i.__iteratees__||(i.__iteratees__=[])).push({done:false,count:0,index:0,iteratee:mr(n,u,1),limit:-1,type:t}),i.__filtered__=o||r,i}}),Vn(["drop","take"],function(n,t){var r=n+"While";zn.prototype[n]=function(r){var e=this.__filtered__,u=e&&!t?this.dropWhile():this.clone();return r=null==r?1:wu(eu(r)||0,0),e?t?u.__takeCount__=bu(u.__takeCount__,r):Dr(u.__iteratees__).limit=r:(u.__views__||(u.__views__=[])).push({size:r,type:n+(0>u.__dir__?"Right":"")
|
129
|
-
}),u},zn.prototype[n+"Right"]=function(t){return this.reverse()[n](t).reverse()},zn.prototype[n+"RightWhile"]=function(n,t){return this.reverse()[r](n,t).reverse()}}),Vn(["first","last"],function(n,t){var r="take"+(t?"Right":"");zn.prototype[n]=function(){return this[r](1).value()[0]}}),Vn(["initial","rest"],function(n,t){var r="drop"+(t?"":"Right");zn.prototype[n]=function(){return this[r](1)}}),Vn(["pluck","where"],function(n,t){var r=t?"filter":"map",e=t?xt:Ce;zn.prototype[n]=function(n){return this[r](e(n));
|
130
|
-
|
131
|
-
}}),zn.prototype.compact=function(){return this.filter(Ie)},zn.prototype.reject=function(n,t){return n=mr(n,t,1),this.filter(function(t){return!n(t)})},zn.prototype.slice=function(n,t){n=null==n?0:+n||0;var r=0>n?this.takeRight(-n):this.drop(n);return t!==w&&(t=+t||0,r=0>t?r.dropRight(-t):r.take(t-n)),r},zn.prototype.toArray=function(){return this.drop(0)},vt(zn.prototype,function(n,t){var r=Ln[t];if(r){var e=/^(?:filter|map|reject)|While$/.test(t),u=/^(?:first|last)$/.test(t);Ln.prototype[t]=function(){
|
132
|
-
function t(n){return n=[n],iu.apply(n,o),r.apply(Ln,n)}var o=arguments,i=this.__chain__,a=this.__wrapped__,f=!!this.__actions__.length,c=a instanceof zn,l=o[0],s=c||Uo(a);return s&&e&&typeof l=="function"&&1!=l.length&&(c=s=false),c=c&&!f,u&&!i?c?n.call(a):r.call(Ln,this.value()):s?(a=n.apply(c?a:new zn(this),o),u||!f&&!a.__actions__||(a.__actions__||(a.__actions__=[])).push({func:Gr,args:[t],thisArg:Ln}),new Bn(a,i)):this.thru(t)}}}),Vn("concat join pop push replace shift sort splice split unshift".split(" "),function(n){
|
133
|
-
var t=(/^(?:replace|split)$/.test(n)?Ke:Me)[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:join|pop|replace|shift)$/.test(n),u=$u.spliceObjects||!/^(?:pop|shift|splice)$/.test(n)?t:function(){var n=t.apply(this,arguments);return 0===this.length&&delete this[0],n};Ln.prototype[n]=function(){var n=arguments;return e&&!this.__chain__?u.apply(this.value(),n):this[r](function(t){return u.apply(t,n)})}}),vt(zn.prototype,function(n,t){var r=Ln[t];if(r){var e=r.name;(Wu[e]||(Wu[e]=[])).push({
|
134
|
-
name:t,func:r})}}),Wu[lr(null,A).name]=[{name:"wrapper",func:null}],zn.prototype.clone=function(){var n=this.__actions__,t=this.__iteratees__,r=this.__views__,e=new zn(this.__wrapped__);return e.__actions__=n?Kn(n):null,e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=t?Kn(t):null,e.__takeCount__=this.__takeCount__,e.__views__=r?Kn(r):null,e},zn.prototype.reverse=function(){if(this.__filtered__){var n=new zn(this);n.__dir__=-1,n.__filtered__=true}else n=this.clone(),n.__dir__*=-1;
|
135
|
-
|
136
|
-
return n},zn.prototype.value=function(){var n=this.__wrapped__.value();if(!Uo(n))return Lt(n,this.__actions__);var t,r=this.__dir__,e=0>r;t=n.length;for(var u=this.__views__,o=0,i=-1,a=u?u.length:0;++i<a;){var f=u[i],c=f.size;switch(f.type){case"drop":o+=c;break;case"dropRight":t-=c;break;case"take":t=bu(t,o+c);break;case"takeRight":o=wu(o,t-c)}}t={start:o,end:t},u=t.start,o=t.end,t=o-u,u=e?o:u-1,o=bu(t,this.__takeCount__),a=(i=this.__iteratees__)?i.length:0,f=0,c=[];n:for(;t--&&f<o;){for(var u=u+r,l=-1,s=n[u];++l<a;){
|
137
|
-
var p=i[l],h=p.iteratee,_=p.type;if(_==F){if(p.done&&(e?u>p.index:u<p.index)&&(p.count=0,p.done=false),p.index=u,!(p.done||(_=p.limit,p.done=-1<_?p.count++>=_:!h(s))))continue n}else if(p=h(s),_==$)s=p;else if(!p){if(_==N)continue n;break n}}c[f++]=s}return c},Ln.prototype.chain=function(){return Zr(this)},Ln.prototype.commit=function(){return new Bn(this.value(),this.__chain__)},Ln.prototype.plant=function(n){for(var t,r=this;r instanceof Pn;){var e=Lr(r);t?u.__wrapped__=e:t=e;var u=e,r=r.__wrapped__;
|
138
|
-
|
139
|
-
}return u.__wrapped__=n,t},Ln.prototype.reverse=function(){var n=this.__wrapped__;return n instanceof zn?(this.__actions__.length&&(n=new zn(this)),new Bn(n.reverse(),this.__chain__)):this.thru(function(n){return n.reverse()})},Ln.prototype.toString=function(){return this.value()+""},Ln.prototype.run=Ln.prototype.toJSON=Ln.prototype.valueOf=Ln.prototype.value=function(){return Lt(this.__wrapped__,this.__actions__)},Ln.prototype.collect=Ln.prototype.map,Ln.prototype.head=Ln.prototype.first,Ln.prototype.select=Ln.prototype.filter,
|
140
|
-
Ln.prototype.tail=Ln.prototype.rest,Ln}var w,b="3.7.0",x=1,A=2,j=4,O=8,E=16,k=32,I=64,R=128,S=256,C=30,T="...",U=150,W=16,F=0,N=1,$=2,L="Expected a function",P="__lodash_placeholder__",B="[object Arguments]",z="[object Array]",M="[object Boolean]",D="[object Date]",q="[object Error]",K="[object Function]",V="[object Number]",Y="[object Object]",Z="[object RegExp]",G="[object String]",J="[object ArrayBuffer]",X="[object Float32Array]",H="[object Float64Array]",Q="[object Int8Array]",nn="[object Int16Array]",tn="[object Int32Array]",rn="[object Uint8Array]",en="[object Uint8ClampedArray]",un="[object Uint16Array]",on="[object Uint32Array]",an=/\b__p\+='';/g,fn=/\b(__p\+=)''\+/g,cn=/(__e\(.*?\)|\b__t\))\+'';/g,ln=/&(?:amp|lt|gt|quot|#39|#96);/g,sn=/[&<>"'`]/g,pn=RegExp(ln.source),hn=RegExp(sn.source),_n=/<%-([\s\S]+?)%>/g,vn=/<%([\s\S]+?)%>/g,gn=/<%=([\s\S]+?)%>/g,yn=/\.|\[(?:[^[\]]+|(["'])(?:(?!\1)[^\n\\]|\\.)*?)\1\]/,dn=/^\w*$/,mn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,wn=/[.*+?^${}()|[\]\/\\]/g,bn=RegExp(wn.source),xn=/[\u0300-\u036f\ufe20-\ufe23]/g,An=/\\(\\)?/g,jn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,On=/\w*$/,En=/^0[xX]/,kn=/^\[object .+?Constructor\]$/,In=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,Rn=/($^)/,Sn=/['\n\r\u2028\u2029\\]/g,Cn=RegExp("[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?=[A-Z\\xc0-\\xd6\\xd8-\\xde][a-z\\xdf-\\xf6\\xf8-\\xff]+)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+|[A-Z\\xc0-\\xd6\\xd8-\\xde]+|[0-9]+","g"),Tn=" \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",Un="Array ArrayBuffer Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Math Number Object RegExp Set String _ clearTimeout document isFinite parseInt setTimeout TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap window".split(" "),Wn="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),Fn={};
|
141
|
-
|
142
|
-
Fn[X]=Fn[H]=Fn[Q]=Fn[nn]=Fn[tn]=Fn[rn]=Fn[en]=Fn[un]=Fn[on]=true,Fn[B]=Fn[z]=Fn[J]=Fn[M]=Fn[D]=Fn[q]=Fn[K]=Fn["[object Map]"]=Fn[V]=Fn[Y]=Fn[Z]=Fn["[object Set]"]=Fn[G]=Fn["[object WeakMap]"]=false;var Nn={};Nn[B]=Nn[z]=Nn[J]=Nn[M]=Nn[D]=Nn[X]=Nn[H]=Nn[Q]=Nn[nn]=Nn[tn]=Nn[V]=Nn[Y]=Nn[Z]=Nn[G]=Nn[rn]=Nn[en]=Nn[un]=Nn[on]=true,Nn[q]=Nn[K]=Nn["[object Map]"]=Nn["[object Set]"]=Nn["[object WeakMap]"]=false;var $n={leading:false,maxWait:0,trailing:false},Ln={"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A",
|
6
|
+
;(function(){function n(n,t){if(n!==t){var r=null===n,e=n===m,u=n===n,o=null===t,i=t===m,a=t===t;if(n>t&&!o||!u||r&&!i&&a||e&&a)return 1;if(n<t&&!r||!a||o&&!e&&u||i&&u)return-1}return 0}function t(n,t,r){for(var e=n.length,u=r?e:-1;r?u--:++u<e;)if(t(n[u],u,n))return u;return-1}function r(n,t,r){if(t!==t)return s(n,r);r-=1;for(var e=n.length;++r<e;)if(n[r]===t)return r;return-1}function e(n){return typeof n=="function"||false}function u(n){return typeof n=="string"?n:null==n?"":n+""}function o(n,t){for(var r=-1,e=n.length;++r<e&&-1<t.indexOf(n.charAt(r)););
|
7
|
+
return r}function i(n,t){for(var r=n.length;r--&&-1<t.indexOf(n.charAt(r)););return r}function a(t,r){return n(t.a,r.a)||t.b-r.b}function l(n){return Nn[n]}function f(n){return Pn[n]}function c(n){return"\\"+Mn[n]}function s(n,t,r){var e=n.length;for(t+=r?0:-1;r?t--:++t<e;){var u=n[t];if(u!==u)return t}return-1}function p(n){return!!n&&typeof n=="object"}function h(n){return 160>=n&&9<=n&&13>=n||32==n||160==n||5760==n||6158==n||8192<=n&&(8202>=n||8232==n||8233==n||8239==n||8287==n||12288==n||65279==n);
|
8
|
+
}function _(n,t){for(var r=-1,e=n.length,u=-1,o=[];++r<e;)n[r]===t&&(n[r]=N,o[++u]=r);return o}function v(n){for(var t=-1,r=n.length;++t<r&&h(n.charCodeAt(t)););return t}function g(n){for(var t=n.length;t--&&h(n.charCodeAt(t)););return t}function y(n){return zn[n]}function d(h){function Nn(n){if(p(n)&&!(zo(n)||n instanceof Bn)){if(n instanceof zn)return n;if(ou.call(n,"__chain__")&&ou.call(n,"__wrapped__"))return qr(n)}return new zn(n)}function Pn(){}function zn(n,t,r){this.__wrapped__=n,this.__actions__=r||[],
|
9
|
+
this.__chain__=!!t}function Bn(n){this.__wrapped__=n,this.__actions__=null,this.__dir__=1,this.__filtered__=false,this.__iteratees__=null,this.__takeCount__=$u,this.__views__=null}function Mn(){this.__data__={}}function qn(n){var t=n?n.length:0;for(this.data={hash:Ou(null),set:new mu};t--;)this.push(n[t])}function Dn(n,t){var r=n.data;return(typeof t=="string"||ye(t)?r.set.has(t):r.hash[t])?0:-1}function Kn(n,t){var r=-1,e=n.length;for(t||(t=qe(e));++r<e;)t[r]=n[r];return t}function Vn(n,t){for(var r=-1,e=n.length;++r<e&&false!==t(n[r],r,n););
|
10
|
+
return n}function Yn(n,t){for(var r=-1,e=n.length;++r<e;)if(!t(n[r],r,n))return false;return true}function Xn(n,t){for(var r=-1,e=n.length,u=-1,o=[];++r<e;){var i=n[r];t(i,r,n)&&(o[++u]=i)}return o}function Hn(n,t){for(var r=-1,e=n.length,u=qe(e);++r<e;)u[r]=t(n[r],r,n);return u}function Qn(n,t,r,e){var u=-1,o=n.length;for(e&&o&&(r=n[++u]);++u<o;)r=t(r,n[u],u,n);return r}function nt(n,t){for(var r=-1,e=n.length;++r<e;)if(t(n[r],r,n))return true;return false}function tt(n,t){return n===m?t:n}function rt(n,t,r,e){
|
11
|
+
return n!==m&&ou.call(e,r)?n:t}function et(n,t,r){for(var e=-1,u=Ho(t),o=u.length;++e<o;){var i=u[e],a=n[i],l=r(a,t[i],i,n,t);(l===l?l===a:a!==a)&&(a!==m||i in n)||(n[i]=l)}return n}function ut(n,t){return null==t?n:it(t,Ho(t),n)}function ot(n,t){for(var r=-1,e=null==n,u=!e&&Cr(n),o=u?n.length:0,i=t.length,a=qe(i);++r<i;){var l=t[r];a[r]=u?Sr(l,o)?n[l]:m:e?m:n[l]}return a}function it(n,t,r){r||(r={});for(var e=-1,u=t.length;++e<u;){var o=t[e];r[o]=n[o]}return r}function at(n,t,r){var e=typeof n;return"function"==e?t===m?n:qt(n,t,r):null==n?Ne:"object"==e?jt(n):t===m?Me(n):Ot(n,t);
|
12
|
+
}function lt(n,t,r,e,u,o,i){var a;if(r&&(a=u?r(n,e,u):r(n)),a!==m)return a;if(!ye(n))return n;if(e=zo(n)){if(a=kr(n),!t)return Kn(n,a)}else{var l=au.call(n),f=l==D;if(l!=V&&l!=P&&(!f||u))return $n[l]?Er(n,l,t):u?n:{};if(Gn(n))return u?n:{};if(a=Ir(f?{}:n),!t)return ut(a,n)}for(o||(o=[]),i||(i=[]),u=o.length;u--;)if(o[u]==n)return i[u];return o.push(n),i.push(a),(e?Vn:yt)(n,function(e,u){a[u]=lt(e,t,r,u,n,o,i)}),a}function ft(n,t,r){if(typeof n!="function")throw new He(L);return wu(function(){n.apply(m,r);
|
13
|
+
},t)}function ct(n,t){var e=n?n.length:0,u=[];if(!e)return u;var o=-1,i=Ar(),a=i==r,l=a&&200<=t.length?Hu(t):null,f=t.length;l&&(i=Dn,a=false,t=l);n:for(;++o<e;)if(l=n[o],a&&l===l){for(var c=f;c--;)if(t[c]===l)continue n;u.push(l)}else 0>i(t,l,0)&&u.push(l);return u}function st(n,t){var r=true;return Yu(n,function(n,e,u){return r=!!t(n,e,u)}),r}function pt(n,t,r,e){var u=e,o=u;return Yu(n,function(n,i,a){i=+t(n,i,a),(r(i,u)||i===e&&i===o)&&(u=i,o=n)}),o}function ht(n,t){var r=[];return Yu(n,function(n,e,u){
|
14
|
+
t(n,e,u)&&r.push(n)}),r}function _t(n,t,r,e){var u;return r(n,function(n,r,o){return t(n,r,o)?(u=e?r:n,false):void 0}),u}function vt(n,t,r){for(var e=-1,u=n.length,o=-1,i=[];++e<u;){var a=n[e];if(p(a)&&Cr(a)&&(r||zo(a)||he(a))){t&&(a=vt(a,t,r));for(var l=-1,f=a.length;++l<f;)i[++o]=a[l]}else r||(i[++o]=a)}return i}function gt(n,t){Gu(n,t,Ie)}function yt(n,t){return Gu(n,t,Ho)}function dt(n,t){return Ju(n,t,Ho)}function mt(n,t){for(var r=-1,e=t.length,u=-1,o=[];++r<e;){var i=t[r];Mo(n[i])&&(o[++u]=i);
|
15
|
+
}return o}function wt(n,t,r){if(null!=n){n=Br(n),r!==m&&r in n&&(t=[r]),r=0;for(var e=t.length;null!=n&&r<e;)n=Br(n)[t[r++]];return r&&r==e?n:m}}function bt(n,t,r,e,u,o){if(n===t)n=true;else if(null==n||null==t||!ye(n)&&!p(t))n=n!==n&&t!==t;else n:{var i=bt,a=zo(n),l=zo(t),f=z,c=z;a||(f=au.call(n),f==P?f=V:f!=V&&(a=xe(n))),l||(c=au.call(t),c==P?c=V:c!=V&&xe(t));var s=f==V&&!Gn(n),l=c==V&&!Gn(t),c=f==c;if(!c||a||s){if(!e&&(f=s&&ou.call(n,"__wrapped__"),l=l&&ou.call(t,"__wrapped__"),f||l)){n=i(f?n.value():n,l?t.value():t,r,e,u,o);
|
16
|
+
break n}if(c){for(u||(u=[]),o||(o=[]),f=u.length;f--;)if(u[f]==n){n=o[f]==t;break n}u.push(n),o.push(t),n=(a?dr:wr)(n,t,i,r,e,u,o),u.pop(),o.pop()}else n=false}else n=mr(n,t,f)}return n}function xt(n,t,r){var e=t.length,u=e,o=!r;if(null==n)return!u;for(n=Br(n);e--;){var i=t[e];if(o&&i[2]?i[1]!==n[i[0]]:!(i[0]in n))return false}for(;++e<u;){var i=t[e],a=i[0],l=n[a],f=i[1];if(o&&i[2]){if(l===m&&!(a in n))return false}else if(i=r?r(l,f,a):m,i===m?!bt(f,l,r,true):!i)return false}return true}function At(n,t){var r=-1,e=Cr(n)?qe(n.length):[];
|
17
|
+
return Yu(n,function(n,u,o){e[++r]=t(n,u,o)}),e}function jt(n){var t=jr(n);if(1==t.length&&t[0][2]){var r=t[0][0],e=t[0][1];return function(n){return null==n?false:(n=Br(n),n[r]===e&&(e!==m||r in n))}}return function(n){return xt(n,t)}}function Ot(n,t){var r=zo(n),e=Ur(n)&&t===t&&!ye(t),u=n+"";return n=Mr(n),function(o){if(null==o)return false;var i=u;if(o=Br(o),!(!r&&e||i in o)){if(o=1==n.length?o:wt(o,Tt(n,0,-1)),null==o)return false;i=Zr(n),o=Br(o)}return o[i]===t?t!==m||i in o:bt(t,o[i],m,true)}}function kt(n,t,r,e,u){
|
18
|
+
if(!ye(n))return n;var o=Cr(t)&&(zo(t)||xe(t)),i=o?null:Ho(t);return Vn(i||t,function(a,l){if(i&&(l=a,a=t[l]),p(a)){e||(e=[]),u||(u=[]);n:{for(var f=l,c=e,s=u,h=c.length,_=t[f];h--;)if(c[h]==_){n[f]=s[h];break n}var h=n[f],v=r?r(h,_,f,n,t):m,g=v===m;g&&(v=_,Cr(_)&&(zo(_)||xe(_))?v=zo(h)?h:Cr(h)?Kn(h):[]:qo(_)||he(_)?v=he(h)?Oe(h):qo(h)?h:{}:g=false),c.push(_),s.push(v),g?n[f]=kt(v,_,r,c,s):(v===v?v!==h:h===h)&&(n[f]=v)}}else f=n[l],c=r?r(f,a,l,n,t):m,(s=c===m)&&(c=a),c===m&&(!o||l in n)||!s&&(c===c?c===f:f!==f)||(n[l]=c);
|
19
|
+
}),n}function It(n){return function(t){return null==t?m:Br(t)[n]}}function Et(n){var t=n+"";return n=Mr(n),function(r){return wt(r,n,t)}}function Rt(n,t){for(var r=n?t.length:0;r--;){var e=t[r];if(e!=u&&Sr(e)){var u=e;bu.call(n,e,1)}}}function Ct(n,t){return n+_u(Wu()*(t-n+1))}function St(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function Tt(n,t,r){var e=-1,u=n.length;for(t=null==t?0:+t||0,0>t&&(t=-t>u?0:u+t),r=r===m||r>u?u:+r||0,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=qe(u);++e<u;)r[e]=n[e+t];
|
20
|
+
return r}function Ut(n,t){var r;return Yu(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function Wt(n,t){var r=n.length;for(n.sort(t);r--;)n[r]=n[r].c;return n}function Ft(t,r,e){var u=br(),o=-1;return r=Hn(r,function(n){return u(n)}),t=At(t,function(n){return{a:Hn(r,function(t){return t(n)}),b:++o,c:n}}),Wt(t,function(t,r){var u;n:{u=-1;for(var o=t.a,i=r.a,a=o.length,l=e.length;++u<a;){var f=n(o[u],i[u]);if(f){u=u<l?f*(e[u]?1:-1):f;break n}}u=t.b-r.b}return u})}function $t(n,t){var r=0;return Yu(n,function(n,e,u){
|
21
|
+
r+=+t(n,e,u)||0}),r}function Lt(n,t){var e=-1,u=Ar(),o=n.length,i=u==r,a=i&&200<=o,l=a?Hu():null,f=[];l?(u=Dn,i=false):(a=false,l=t?[]:f);n:for(;++e<o;){var c=n[e],s=t?t(c,e,n):c;if(i&&c===c){for(var p=l.length;p--;)if(l[p]===s)continue n;t&&l.push(s),f.push(c)}else 0>u(l,s,0)&&((t||a)&&l.push(s),f.push(c))}return f}function Nt(n,t){for(var r=-1,e=t.length,u=qe(e);++r<e;)u[r]=n[t[r]];return u}function Pt(n,t,r,e){for(var u=n.length,o=e?u:-1;(e?o--:++o<u)&&t(n[o],o,n););return r?Tt(n,e?0:o,e?o+1:u):Tt(n,e?o+1:0,e?u:o);
|
22
|
+
}function zt(n,t){var r=n;r instanceof Bn&&(r=r.value());for(var e=-1,u=t.length;++e<u;){var r=[r],o=t[e];yu.apply(r,o.args),r=o.func.apply(o.thisArg,r)}return r}function Bt(n,t,r){var e=0,u=n?n.length:e;if(typeof t=="number"&&t===t&&u<=Nu){for(;e<u;){var o=e+u>>>1,i=n[o];(r?i<=t:i<t)&&null!==i?e=o+1:u=o}return u}return Mt(n,t,Ne,r)}function Mt(n,t,r,e){t=r(t);for(var u=0,o=n?n.length:0,i=t!==t,a=null===t,l=t===m;u<o;){var f=_u((u+o)/2),c=r(n[f]),s=c!==m,p=c===c;(i?p||e:a?p&&s&&(e||null!=c):l?p&&(e||s):null==c?0:e?c<=t:c<t)?u=f+1:o=f;
|
23
|
+
}return Cu(o,Lu)}function qt(n,t,r){if(typeof n!="function")return Ne;if(t===m)return n;switch(r){case 1:return function(r){return n.call(t,r)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,o){return n.call(t,r,e,u,o)};case 5:return function(r,e,u,o,i){return n.call(t,r,e,u,o,i)}}return function(){return n.apply(t,arguments)}}function Dt(n){return su.call(n,0)}function Kt(n,t,r){for(var e=r.length,u=-1,o=Ru(n.length-e,0),i=-1,a=t.length,l=qe(o+a);++i<a;)l[i]=t[i];
|
24
|
+
for(;++u<e;)l[r[u]]=n[u];for(;o--;)l[i++]=n[u++];return l}function Vt(n,t,r){for(var e=-1,u=r.length,o=-1,i=Ru(n.length-u,0),a=-1,l=t.length,f=qe(i+l);++o<i;)f[o]=n[o];for(i=o;++a<l;)f[i+a]=t[a];for(;++e<u;)f[i+r[e]]=n[o++];return f}function Yt(n,t){return function(r,e,u){var o=t?t():{};if(e=br(e,u,3),zo(r)){u=-1;for(var i=r.length;++u<i;){var a=r[u];n(o,a,e(a,u,r),r)}}else Yu(r,function(t,r,u){n(o,t,e(t,r,u),u)});return o}}function Zt(n){return se(function(t,r){var e=-1,u=null==t?0:r.length,o=2<u?r[u-2]:m,i=2<u?r[2]:m,a=1<u?r[u-1]:m;
|
25
|
+
for(typeof o=="function"?(o=qt(o,a,5),u-=2):(o=typeof a=="function"?a:m,u-=o?1:0),i&&Tr(r[0],r[1],i)&&(o=3>u?m:o,u=1);++e<u;)(i=r[e])&&n(t,i,o);return t})}function Gt(n,t){return function(r,e){var u=r?no(r):0;if(!Fr(u))return n(r,e);for(var o=t?u:-1,i=Br(r);(t?o--:++o<u)&&false!==e(i[o],o,i););return r}}function Jt(n){return function(t,r,e){var u=Br(t);e=e(t);for(var o=e.length,i=n?o:-1;n?i--:++i<o;){var a=e[i];if(false===r(u[a],a,u))break}return t}}function Xt(n,t){function r(){return(this&&this!==Zn&&this instanceof r?e:n).apply(t,arguments);
|
26
|
+
}var e=Qt(n);return r}function Ht(n){return function(t){var r=-1;t=Fe(Ce(t));for(var e=t.length,u="";++r<e;)u=n(u,t[r],r);return u}}function Qt(n){return function(){var t=arguments;switch(t.length){case 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4])}var r=Vu(n.prototype),t=n.apply(r,t);return ye(t)?t:r}}function nr(n){function t(r,e,u){return u&&Tr(r,e,u)&&(e=null),
|
27
|
+
r=yr(r,n,null,null,null,null,null,e),r.placeholder=t.placeholder,r}return t}function tr(n,t){return function(r,e,u){if(u&&Tr(r,e,u)&&(e=null),e=br(e,u,3),1==e.length){u=r=zr(r);for(var o=e,i=-1,a=u.length,l=t,f=l;++i<a;){var c=u[i],s=+o(c);n(s,l)&&(l=s,f=c)}if(u=f,!r.length||u!==t)return u}return pt(r,e,n,t)}}function rr(n,r){return function(e,u,o){return u=br(u,o,3),zo(e)?(u=t(e,u,r),-1<u?e[u]:m):_t(e,u,n)}}function er(n){return function(r,e,u){return r&&r.length?(e=br(e,u,3),t(r,e,n)):-1}}function ur(n){
|
28
|
+
return function(t,r,e){return r=br(r,e,3),_t(t,r,n,true)}}function or(n){return function(){for(var t,r=arguments.length,e=n?r:-1,u=0,o=qe(r);n?e--:++e<r;){var i=o[u++]=arguments[e];if(typeof i!="function")throw new He(L);!t&&zn.prototype.thru&&"wrapper"==xr(i)&&(t=new zn([]))}for(e=t?-1:r;++e<r;){var i=o[e],u=xr(i),a="wrapper"==u?Qu(i):null;t=a&&Wr(a[0])&&a[1]==(E|j|k|R)&&!a[4].length&&1==a[9]?t[xr(a[0])].apply(t,a[3]):1==i.length&&Wr(i)?t[u]():t.thru(i)}return function(){var n=arguments;if(t&&1==n.length&&zo(n[0]))return t.plant(n[0]).value();
|
29
|
+
for(var e=0,n=r?o[e].apply(this,n):n[0];++e<r;)n=o[e].call(this,n);return n}}}function ir(n,t){return function(r,e,u){return typeof e=="function"&&u===m&&zo(r)?n(r,e):t(r,qt(e,u,3))}}function ar(n){return function(t,r,e){return(typeof r!="function"||e!==m)&&(r=qt(r,e,3)),n(t,r,Ie)}}function lr(n){return function(t,r,e){return(typeof r!="function"||e!==m)&&(r=qt(r,e,3)),n(t,r)}}function fr(n){return function(t,r,e){var u={};return r=br(r,e,3),yt(t,function(t,e,o){o=r(t,e,o),e=n?o:e,t=n?t:o,u[e]=t}),
|
30
|
+
u}}function cr(n){return function(t,r,e){return t=u(t),(n?t:"")+_r(t,r,e)+(n?"":t)}}function sr(n){var t=se(function(r,e){var u=_(e,t.placeholder);return yr(r,n,null,e,u)});return t}function pr(n,t){return function(r,e,u,o){var i=3>arguments.length;return typeof e=="function"&&o===m&&zo(r)?n(r,e,u,i):St(r,br(e,o,4),u,i,t)}}function hr(n,t,r,e,u,o,i,a,l,f){function c(){for(var w=arguments.length,A=w,j=qe(w);A--;)j[A]=arguments[A];if(e&&(j=Kt(j,e,u)),o&&(j=Vt(j,o,i)),v||y){var A=c.placeholder,O=_(j,A),w=w-O.length;
|
31
|
+
if(w<f){var E=a?Kn(a):null,w=Ru(f-w,0),R=v?O:null,O=v?null:O,C=v?j:null,j=v?null:j;return t|=v?k:I,t&=~(v?I:k),g||(t&=~(b|x)),j=[n,t,r,C,R,j,O,E,l,w],E=hr.apply(m,j),Wr(n)&&to(E,j),E.placeholder=A,E}}if(A=p?r:this,E=h?A[n]:n,a)for(w=j.length,R=Cu(a.length,w),O=Kn(j);R--;)C=a[R],j[R]=Sr(C,w)?O[C]:m;return s&&l<j.length&&(j.length=l),this&&this!==Zn&&this instanceof c&&(E=d||Qt(n)),E.apply(A,j)}var s=t&E,p=t&b,h=t&x,v=t&j,g=t&A,y=t&O,d=h?null:Qt(n);return c}function _r(n,t,r){return n=n.length,t=+t,
|
32
|
+
n<t&&Iu(t)?(t-=n,r=null==r?" ":r+"",Ue(r,pu(t/r.length)).slice(0,t)):""}function vr(n,t,r,e){function u(){for(var t=-1,a=arguments.length,l=-1,f=e.length,c=qe(a+f);++l<f;)c[l]=e[l];for(;a--;)c[l++]=arguments[++t];return(this&&this!==Zn&&this instanceof u?i:n).apply(o?r:this,c)}var o=t&b,i=Qt(n);return u}function gr(n){return function(t,r,e,u){var o=br(e);return null==e&&o===at?Bt(t,r,n):Mt(t,r,o(e,u,1),n)}}function yr(n,t,r,e,u,o,i,a){var l=t&x;if(!l&&typeof n!="function")throw new He(L);var f=e?e.length:0;
|
33
|
+
if(f||(t&=~(k|I),e=u=null),f-=u?u.length:0,t&I){var c=e,s=u;e=u=null}var p=l?null:Qu(n);return r=[n,t,r,e,u,c,s,o,i,a],p&&(e=r[1],t=p[1],a=e|t,u=t==E&&e==j||t==E&&e==R&&r[7].length<=p[8]||t==(E|R)&&e==j,(a<E||u)&&(t&b&&(r[2]=p[2],a|=e&b?0:A),(e=p[3])&&(u=r[3],r[3]=u?Kt(u,e,p[4]):Kn(e),r[4]=u?_(r[3],N):Kn(p[4])),(e=p[5])&&(u=r[5],r[5]=u?Vt(u,e,p[6]):Kn(e),r[6]=u?_(r[5],N):Kn(p[6])),(e=p[7])&&(r[7]=Kn(e)),t&E&&(r[8]=null==r[8]?p[8]:Cu(r[8],p[8])),null==r[9]&&(r[9]=p[9]),r[0]=p[0],r[1]=a),t=r[1],a=r[9]),
|
34
|
+
r[9]=null==a?l?0:n.length:Ru(a-f,0)||0,(p?Xu:to)(t==b?Xt(r[0],r[2]):t!=k&&t!=(b|k)||r[4].length?hr.apply(m,r):vr.apply(m,r),r)}function dr(n,t,r,e,u,o,i){var a=-1,l=n.length,f=t.length;if(l!=f&&(!u||f<=l))return false;for(;++a<l;){var c=n[a],f=t[a],s=e?e(u?f:c,u?c:f,a):m;if(s!==m){if(s)continue;return false}if(u){if(!nt(t,function(n){return c===n||r(c,n,e,u,o,i)}))return false}else if(c!==f&&!r(c,f,e,u,o,i))return false}return true}function mr(n,t,r){switch(r){case B:case M:return+n==+t;case q:return n.name==t.name&&n.message==t.message;
|
35
|
+
case K:return n!=+n?t!=+t:n==+t;case Y:case Z:return n==t+""}return false}function wr(n,t,r,e,u,o,i){var a=Ho(n),l=a.length,f=Ho(t).length;if(l!=f&&!u)return false;for(f=l;f--;){var c=a[f];if(!(u?c in t:ou.call(t,c)))return false}for(var s=u;++f<l;){var c=a[f],p=n[c],h=t[c],_=e?e(u?h:p,u?p:h,c):m;if(_===m?!r(p,h,e,u,o,i):!_)return false;s||(s="constructor"==c)}return s||(r=n.constructor,e=t.constructor,!(r!=e&&"constructor"in n&&"constructor"in t)||typeof r=="function"&&r instanceof r&&typeof e=="function"&&e instanceof e)?true:false;
|
36
|
+
}function br(n,t,r){var e=Nn.callback||$e,e=e===$e?at:e;return r?e(n,t,r):e}function xr(n){for(var t=n.name,r=Mu[t],e=r?r.length:0;e--;){var u=r[e],o=u.func;if(null==o||o==n)return u.name}return t}function Ar(n,t,e){var u=Nn.indexOf||Yr,u=u===Yr?r:u;return n?u(n,t,e):u}function jr(n){n=Ee(n);for(var t=n.length;t--;){var r=n[t][1];n[t][2]=r===r&&!ye(r)}return n}function Or(n,t){var r=null==n?m:n[t];return de(r)?r:m}function kr(n){var t=n.length,r=new n.constructor(t);return t&&"string"==typeof n[0]&&ou.call(n,"index")&&(r.index=n.index,
|
37
|
+
r.input=n.input),r}function Ir(n){return n=n.constructor,typeof n=="function"&&n instanceof n||(n=Ge),new n}function Er(n,t,r){var e=n.constructor;switch(t){case G:return Dt(n);case B:case M:return new e(+n);case J:case X:case H:case Q:case nn:case tn:case rn:case en:case un:return e instanceof e&&(e=qu[t]),t=n.buffer,new e(r?Dt(t):t,n.byteOffset,n.length);case K:case Z:return new e(n);case Y:var u=new e(n.source,jn.exec(n));u.lastIndex=n.lastIndex}return u}function Rr(n,t,r){return null==n||Ur(t,n)||(t=Mr(t),
|
38
|
+
n=1==t.length?n:wt(n,Tt(t,0,-1)),t=Zr(t)),t=null==n?n:n[t],null==t?m:t.apply(n,r)}function Cr(n){return null!=n&&Fr(no(n))}function Sr(n,t){return n=typeof n=="number"||In.test(n)?+n:-1,t=null==t?zu:t,-1<n&&0==n%1&&n<t}function Tr(n,t,r){if(!ye(r))return false;var e=typeof t;return("number"==e?Cr(r)&&Sr(t,r.length):"string"==e&&t in r)?(t=r[t],n===n?n===t:t!==t):false}function Ur(n,t){var r=typeof n;return"string"==r&&yn.test(n)||"number"==r?true:zo(n)?false:!gn.test(n)||null!=t&&n in Br(t)}function Wr(n){var t=xr(n);
|
39
|
+
return t in Bn.prototype?(t=Nn[t],n===t?true:(t=Qu(t),!!t&&n===t[0])):false}function Fr(n){return typeof n=="number"&&-1<n&&0==n%1&&n<=zu}function $r(n,t){n=Br(n);for(var r=-1,e=t.length,u={};++r<e;){var o=t[r];o in n&&(u[o]=n[o])}return u}function Lr(n,t){var r={};return gt(n,function(n,e,u){t(n,e,u)&&(r[e]=n)}),r}function Nr(n){var t,r=Nn.support;if(!p(n)||au.call(n)!=V||Gn(n)||!(ou.call(n,"constructor")||(t=n.constructor,typeof t!="function"||t instanceof t))||!r.argsTag&&he(n))return false;var e;return r.ownLast?(gt(n,function(n,t,r){
|
40
|
+
return e=ou.call(r,t),false}),false!==e):(gt(n,function(n,t){e=t}),e===m||ou.call(n,e))}function Pr(n){for(var t=Ie(n),r=t.length,e=r&&n.length,u=!!e&&Fr(e)&&(zo(n)||he(n)||be(n)),o=-1,i=[];++o<r;){var a=t[o];(u&&Sr(a,e)||ou.call(n,a))&&i.push(a)}return i}function zr(n){return null==n?[]:Cr(n)?Nn.support.unindexedChars&&be(n)?n.split(""):ye(n)?n:Ge(n):Re(n)}function Br(n){if(Nn.support.unindexedChars&&be(n)){for(var t=-1,r=n.length,e=Ge(n);++t<r;)e[t]=n.charAt(t);return e}return ye(n)?n:Ge(n)}function Mr(n){
|
41
|
+
if(zo(n))return n;var t=[];return u(n).replace(dn,function(n,r,e,u){t.push(e?u.replace(xn,"$1"):r||n)}),t}function qr(n){return n instanceof Bn?n.clone():new zn(n.__wrapped__,n.__chain__,Kn(n.__actions__))}function Dr(n,t,r){return n&&n.length?((r?Tr(n,t,r):null==t)&&(t=1),Tt(n,0>t?0:t)):[]}function Kr(n,t,r){var e=n?n.length:0;return e?((r?Tr(n,t,r):null==t)&&(t=1),t=e-(+t||0),Tt(n,0,0>t?0:t)):[]}function Vr(n){return n?n[0]:m}function Yr(n,t,e){var u=n?n.length:0;if(!u)return-1;if(typeof e=="number")e=0>e?Ru(u+e,0):e;else if(e)return e=Bt(n,t),
|
42
|
+
n=n[e],(t===t?t===n:n!==n)?e:-1;return r(n,t,e||0)}function Zr(n){var t=n?n.length:0;return t?n[t-1]:m}function Gr(n){return Dr(n,1)}function Jr(n,t,e,u){if(!n||!n.length)return[];null!=t&&typeof t!="boolean"&&(u=e,e=Tr(n,t,u)?null:t,t=false);var o=br();if((null!=e||o!==at)&&(e=o(e,u,3)),t&&Ar()==r){t=e;var i;e=-1,u=n.length;for(var o=-1,a=[];++e<u;){var l=n[e],f=t?t(l,e,n):l;e&&i===f||(i=f,a[++o]=l)}n=a}else n=Lt(n,e);return n}function Xr(n){if(!n||!n.length)return[];var t=-1,r=0;n=Xn(n,function(n){
|
43
|
+
return Cr(n)?(r=Ru(n.length,r),true):void 0});for(var e=qe(r);++t<r;)e[t]=Hn(n,It(t));return e}function Hr(n,t,r){return n&&n.length?(n=Xr(n),null==t?n:(t=qt(t,r,4),Hn(n,function(n){return Qn(n,t,m,true)}))):[]}function Qr(n,t){var r=-1,e=n?n.length:0,u={};for(!e||t||zo(n[0])||(t=[]);++r<e;){var o=n[r];t?u[o]=t[r]:o&&(u[o[0]]=o[1])}return u}function ne(n){return n=Nn(n),n.__chain__=true,n}function te(n,t,r){return t.call(r,n)}function re(n,t,r){var e=zo(n)?Yn:st;return r&&Tr(n,t,r)&&(t=null),(typeof t!="function"||r!==m)&&(t=br(t,r,3)),
|
44
|
+
e(n,t)}function ee(n,t,r){var e=zo(n)?Xn:ht;return t=br(t,r,3),e(n,t)}function ue(n,t,r,e){var u=n?no(n):0;return Fr(u)||(n=Re(n),u=n.length),u?(r=typeof r!="number"||e&&Tr(t,r,e)?0:0>r?Ru(u+r,0):r||0,typeof n=="string"||!zo(n)&&be(n)?r<u&&-1<n.indexOf(t,r):-1<Ar(n,t,r)):false}function oe(n,t,r){var e=zo(n)?Hn:At;return t=br(t,r,3),e(n,t)}function ie(n,t,r){if(r?Tr(n,t,r):null==t){n=zr(n);var e=n.length;return 0<e?n[Ct(0,e-1)]:m}r=-1,n=je(n);var e=n.length,u=e-1;for(t=Cu(0>t?0:+t||0,e);++r<t;){var e=Ct(r,u),o=n[e];
|
45
|
+
n[e]=n[r],n[r]=o}return n.length=t,n}function ae(n,t,r){var e=zo(n)?nt:Ut;return r&&Tr(n,t,r)&&(t=null),(typeof t!="function"||r!==m)&&(t=br(t,r,3)),e(n,t)}function le(n,t){var r;if(typeof t!="function"){if(typeof n!="function")throw new He(L);var e=n;n=t,t=e}return function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=null),r}}function fe(n,t,r){function e(){var r=t-(Io()-f);0>=r||r>t?(a&&hu(a),r=p,a=s=p=m,r&&(h=Io(),l=n.apply(c,i),s||a||(i=c=null))):s=wu(e,r)}function u(){s&&hu(s),a=s=p=m,
|
46
|
+
(v||_!==t)&&(h=Io(),l=n.apply(c,i),s||a||(i=c=null))}function o(){if(i=arguments,f=Io(),c=this,p=v&&(s||!g),false===_)var r=g&&!s;else{a||g||(h=f);var o=_-(f-h),y=0>=o||o>_;y?(a&&(a=hu(a)),h=f,l=n.apply(c,i)):a||(a=wu(u,o))}return y&&s?s=hu(s):s||t===_||(s=wu(e,t)),r&&(y=true,l=n.apply(c,i)),!y||s||a||(i=c=null),l}var i,a,l,f,c,s,p,h=0,_=false,v=true;if(typeof n!="function")throw new He(L);if(t=0>t?0:+t||0,true===r)var g=true,v=false;else ye(r)&&(g=r.leading,_="maxWait"in r&&Ru(+r.maxWait||0,t),v="trailing"in r?r.trailing:v);
|
47
|
+
return o.cancel=function(){s&&hu(s),a&&hu(a),a=s=p=m},o}function ce(n,t){function r(){var e=arguments,u=t?t.apply(this,e):e[0],o=r.cache;return o.has(u)?o.get(u):(e=n.apply(this,e),r.cache=o.set(u,e),e)}if(typeof n!="function"||t&&typeof t!="function")throw new He(L);return r.cache=new ce.Cache,r}function se(n,t){if(typeof n!="function")throw new He(L);return t=Ru(t===m?n.length-1:+t||0,0),function(){for(var r=arguments,e=-1,u=Ru(r.length-t,0),o=qe(u);++e<u;)o[e]=r[t+e];switch(t){case 0:return n.call(this,o);
|
48
|
+
case 1:return n.call(this,r[0],o);case 2:return n.call(this,r[0],r[1],o)}for(u=qe(t+1),e=-1;++e<t;)u[e]=r[e];return u[t]=o,n.apply(this,u)}}function pe(n,t){return n>t}function he(n){return p(n)&&Cr(n)&&au.call(n)==P}function _e(n){return!!n&&1===n.nodeType&&p(n)&&(Nn.support.nodeTag?-1<au.call(n).indexOf("Element"):Gn(n))}function ve(n,t,r,e){return e=(r=typeof r=="function"?qt(r,e,3):m)?r(n,t):m,e===m?bt(n,t,r):!!e}function ge(n){return p(n)&&typeof n.message=="string"&&au.call(n)==q}function ye(n){
|
49
|
+
var t=typeof n;return!!n&&("object"==t||"function"==t)}function de(n){return null==n?false:au.call(n)==D?fu.test(uu.call(n)):p(n)&&(Gn(n)?fu:kn).test(n)}function me(n){return typeof n=="number"||p(n)&&au.call(n)==K}function we(n){return ye(n)&&au.call(n)==Y}function be(n){return typeof n=="string"||p(n)&&au.call(n)==Z}function xe(n){return p(n)&&Fr(n.length)&&!!Fn[au.call(n)]}function Ae(n,t){return n<t}function je(n){var t=n?no(n):0;return Fr(t)?t?Nn.support.unindexedChars&&be(n)?n.split(""):Kn(n):[]:Re(n);
|
50
|
+
}function Oe(n){return it(n,Ie(n))}function ke(n){return mt(n,Ie(n))}function Ie(n){if(null==n)return[];ye(n)||(n=Ge(n));for(var t=n.length,r=Nn.support,t=t&&Fr(t)&&(zo(n)||he(n)||be(n))&&t||0,e=n.constructor,u=-1,e=Mo(e)&&e.prototype||tu,o=e===n,i=qe(t),a=0<t,l=r.enumErrorProps&&(n===nu||n instanceof Ke),f=r.enumPrototypes&&Mo(n);++u<t;)i[u]=u+"";for(var c in n)f&&"prototype"==c||l&&("message"==c||"name"==c)||a&&Sr(c,t)||"constructor"==c&&(o||!ou.call(n,c))||i.push(c);if(r.nonEnumShadows&&n!==tu)for(t=n===ru?Z:n===nu?q:au.call(n),
|
51
|
+
r=Du[t]||Du[V],t==V&&(e=tu),t=Wn.length;t--;)c=Wn[t],u=r[c],o&&u||(u?!ou.call(n,c):n[c]===e[c])||i.push(c);return i}function Ee(n){n=Br(n);for(var t=-1,r=Ho(n),e=r.length,u=qe(e);++t<e;){var o=r[t];u[t]=[o,n[o]]}return u}function Re(n){return Nt(n,Ho(n))}function Ce(n){return(n=u(n))&&n.replace(En,l).replace(bn,"")}function Se(n){return(n=u(n))&&wn.test(n)?n.replace(mn,"\\$&"):n}function Te(n,t,r){return r&&Tr(n,t,r)&&(t=0),Uu(n,t)}function Ue(n,t){var r="";if(n=u(n),t=+t,1>t||!n||!Iu(t))return r;
|
52
|
+
do t%2&&(r+=n),t=_u(t/2),n+=n;while(t);return r}function We(n,t,r){var e=n;return(n=u(n))?(r?Tr(e,t,r):null==t)?n.slice(v(n),g(n)+1):(t+="",n.slice(o(n,t),i(n,t)+1)):n}function Fe(n,t,r){return r&&Tr(n,t,r)&&(t=null),n=u(n),n.match(t||Sn)||[]}function $e(n,t,r){return r&&Tr(n,t,r)&&(t=null),p(n)?Pe(n):at(n,t)}function Le(n){return function(){return n}}function Ne(n){return n}function Pe(n){return jt(lt(n,true))}function ze(n,t,r){if(null==r){var e=ye(t),u=e?Ho(t):null;((u=u&&u.length?mt(t,u):null)?u.length:e)||(u=false,
|
53
|
+
r=t,t=n,n=this)}u||(u=mt(t,Ho(t)));var o=true,e=-1,i=Mo(n),a=u.length;false===r?o=false:ye(r)&&"chain"in r&&(o=r.chain);for(;++e<a;){r=u[e];var l=t[r];n[r]=l,i&&(n.prototype[r]=function(t){return function(){var r=this.__chain__;if(o||r){var e=n(this.__wrapped__);return(e.__actions__=Kn(this.__actions__)).push({func:t,args:arguments,thisArg:n}),e.__chain__=r,e}return r=[this.value()],yu.apply(r,arguments),t.apply(n,r)}}(l))}return n}function Be(){}function Me(n){return Ur(n)?It(n):Et(n)}h=h?Jn.defaults(Zn.Object(),h,Jn.pick(Zn,Un)):Zn;
|
54
|
+
var qe=h.Array,De=h.Date,Ke=h.Error,Ve=h.Function,Ye=h.Math,Ze=h.Number,Ge=h.Object,Je=h.RegExp,Xe=h.String,He=h.TypeError,Qe=qe.prototype,nu=Ke.prototype,tu=Ge.prototype,ru=Xe.prototype,eu=(eu=h.window)?eu.document:null,uu=Ve.prototype.toString,ou=tu.hasOwnProperty,iu=0,au=tu.toString,lu=h._,fu=Je("^"+Se(uu.call(ou)).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),cu=Or(h,"ArrayBuffer"),su=Or(cu&&new cu(0),"slice"),pu=Ye.ceil,hu=h.clearTimeout,_u=Ye.floor,vu=Or(Ge,"getPrototypeOf"),gu=h.parseFloat,yu=Qe.push,du=tu.propertyIsEnumerable,mu=Or(h,"Set"),wu=h.setTimeout,bu=Qe.splice,xu=Or(h,"Uint8Array"),Au=Or(h,"WeakMap"),ju=function(){
|
55
|
+
try{var n=Or(h,"Float64Array"),t=new n(new cu(10),0,1)&&n}catch(r){}return t||null}(),Ou=Or(Ge,"create"),ku=Or(qe,"isArray"),Iu=h.isFinite,Eu=Or(Ge,"keys"),Ru=Ye.max,Cu=Ye.min,Su=Or(De,"now"),Tu=Or(Ze,"isFinite"),Uu=h.parseInt,Wu=Ye.random,Fu=Ze.NEGATIVE_INFINITY,$u=Ze.POSITIVE_INFINITY,Lu=4294967294,Nu=2147483647,Pu=ju?ju.BYTES_PER_ELEMENT:0,zu=9007199254740991,Bu=Au&&new Au,Mu={},qu={};qu[J]=h.Float32Array,qu[X]=h.Float64Array,qu[H]=h.Int8Array,qu[Q]=h.Int16Array,qu[nn]=h.Int32Array,qu[tn]=h.Uint8Array,
|
56
|
+
qu[rn]=h.Uint8ClampedArray,qu[en]=h.Uint16Array,qu[un]=h.Uint32Array;var Du={};Du[z]=Du[M]=Du[K]={constructor:true,toLocaleString:true,toString:true,valueOf:true},Du[B]=Du[Z]={constructor:true,toString:true,valueOf:true},Du[q]=Du[D]=Du[Y]={constructor:true,toString:true},Du[V]={constructor:true},Vn(Wn,function(n){for(var t in Du)if(ou.call(Du,t)){var r=Du[t];r[n]=ou.call(r,n)}});var Ku=Nn.support={};!function(n){function t(){this.x=n}var r={0:n,length:n},e=[];t.prototype={valueOf:n,y:n};for(var u in new t)e.push(u);Ku.argsTag=au.call(arguments)==P,
|
57
|
+
Ku.enumErrorProps=du.call(nu,"message")||du.call(nu,"name"),Ku.enumPrototypes=du.call(t,"prototype"),Ku.nodeTag=au.call(eu)!=V,Ku.nonEnumShadows=!/valueOf/.test(e),Ku.ownLast="x"!=e[0],Ku.spliceObjects=(bu.call(r,0,1),!r[0]),Ku.unindexedChars="xx"!="x"[0]+Ge("x")[0];try{Ku.dom=11===eu.createDocumentFragment().nodeType}catch(o){Ku.dom=false}}(1,0),Nn.templateSettings={escape:hn,evaluate:_n,interpolate:vn,variable:"",imports:{_:Nn}};var Vu=function(){function n(){}return function(t){if(ye(t)){n.prototype=t;
|
58
|
+
var r=new n;n.prototype=null}return r||{}}}(),Yu=Gt(yt),Zu=Gt(dt,true),Gu=Jt(),Ju=Jt(true),Xu=Bu?function(n,t){return Bu.set(n,t),n}:Ne;su||(Dt=cu&&xu?function(n){var t=n.byteLength,r=ju?_u(t/Pu):0,e=r*Pu,u=new cu(t);if(r){var o=new ju(u,0,r);o.set(new ju(n,0,r))}return t!=e&&(o=new xu(u,e),o.set(new xu(n,e))),u}:Le(null));var Hu=Ou&&mu?function(n){return new qn(n)}:Le(null),Qu=Bu?function(n){return Bu.get(n)}:Be,no=It("length"),to=function(){var n=0,t=0;return function(r,e){var u=Io(),o=U-(u-t);if(t=u,
|
59
|
+
0<o){if(++n>=T)return r}else n=0;return Xu(r,e)}}(),ro=se(function(n,t){return Cr(n)?ct(n,vt(t,false,true)):[]}),eo=er(),uo=er(true),oo=se(function(n){for(var t=n.length,e=t,u=qe(c),o=Ar(),i=o==r,a=[];e--;){var l=n[e]=Cr(l=n[e])?l:[];u[e]=i&&120<=l.length?Hu(e&&l):null}var i=n[0],f=-1,c=i?i.length:0,s=u[0];n:for(;++f<c;)if(l=i[f],0>(s?Dn(s,l):o(a,l,0))){for(e=t;--e;){var p=u[e];if(0>(p?Dn(p,l):o(n[e],l,0)))continue n}s&&s.push(l),a.push(l)}return a}),io=se(function(t,r){r=vt(r);var e=ot(t,r);return Rt(t,r.sort(n)),
|
60
|
+
e}),ao=gr(),lo=gr(true),fo=se(function(n){return Lt(vt(n,false,true))}),co=se(function(n,t){return Cr(n)?ct(n,t):[]}),so=se(Xr),po=se(function(n){var t=n.length,r=2<t?n[t-2]:m,e=1<t?n[t-1]:m;return 2<t&&typeof r=="function"?t-=2:(r=1<t&&typeof e=="function"?(--t,e):m,e=m),n.length=t,Hr(n,r,e)}),ho=se(function(n,t){return Cr(n)&&(n=zr(n)),ot(n,vt(t))}),_o=Yt(function(n,t,r){ou.call(n,r)?++n[r]:n[r]=1}),vo=rr(Yu),go=rr(Zu,true),yo=ir(Vn,Yu),mo=ir(function(n,t){for(var r=n.length;r--&&false!==t(n[r],r,n););return n;
|
61
|
+
},Zu),wo=Yt(function(n,t,r){ou.call(n,r)?n[r].push(t):n[r]=[t]}),bo=Yt(function(n,t,r){n[r]=t}),xo=se(function(n,t,r){var e=-1,u=typeof t=="function",o=Ur(t),i=Cr(n)?qe(n.length):[];return Yu(n,function(n){var a=u?t:o&&null!=n?n[t]:null;i[++e]=a?a.apply(n,r):Rr(n,t,r)}),i}),Ao=Yt(function(n,t,r){n[r?0:1].push(t)},function(){return[[],[]]}),jo=pr(Qn,Yu),Oo=pr(function(n,t,r,e){var u=n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r},Zu),ko=se(function(n,t){if(null==n)return[];var r=t[2];return r&&Tr(t[0],t[1],r)&&(t.length=1),
|
62
|
+
Ft(n,vt(t),[])}),Io=Su||function(){return(new De).getTime()},Eo=se(function(n,t,r){var e=b;if(r.length)var u=_(r,Eo.placeholder),e=e|k;return yr(n,e,t,r,u)}),Ro=se(function(n,t){t=t.length?vt(t):ke(n);for(var r=-1,e=t.length;++r<e;){var u=t[r];n[u]=yr(n[u],b,n)}return n}),Co=se(function(n,t,r){var e=b|x;if(r.length)var u=_(r,Co.placeholder),e=e|k;return yr(t,e,n,r,u)}),So=nr(j),To=nr(O),Uo=se(function(n,t){return ft(n,1,t)}),Wo=se(function(n,t,r){return ft(n,t,r)}),Fo=or(),$o=or(true),Lo=sr(k),No=sr(I),Po=se(function(n,t){
|
63
|
+
return yr(n,R,null,null,null,vt(t))});Ku.argsTag||(he=function(n){return p(n)&&Cr(n)&&ou.call(n,"callee")&&!du.call(n,"callee")});var zo=ku||function(n){return p(n)&&Fr(n.length)&&au.call(n)==z};Ku.dom||(_e=function(n){return!!n&&1===n.nodeType&&p(n)&&!qo(n)});var Bo=Tu||function(n){return typeof n=="number"&&Iu(n)},Mo=e(/x/)||xu&&!e(xu)?function(n){return au.call(n)==D}:e,qo=vu?function(n){if(!n||au.call(n)!=V||!Nn.support.argsTag&&he(n))return false;var t=Or(n,"valueOf"),r=t&&(r=vu(t))&&vu(r);return r?n==r||vu(n)==r:Nr(n);
|
64
|
+
}:Nr,Do=Zt(function(n,t,r){return r?et(n,t,r):ut(n,t)}),Ko=se(function(n){var t=n[0];return null==t?t:(n.push(tt),Do.apply(m,n))}),Vo=ur(yt),Yo=ur(dt),Zo=ar(Gu),Go=ar(Ju),Jo=lr(yt),Xo=lr(dt),Ho=Eu?function(n){var t=null==n?null:n.constructor;return typeof t=="function"&&t.prototype===n||(typeof n=="function"?Nn.support.enumPrototypes:Cr(n))?Pr(n):ye(n)?Eu(n):[]}:Pr,Qo=fr(true),ni=fr(),ti=Zt(kt),ri=se(function(n,t){if(null==n)return{};if("function"!=typeof t[0])return t=Hn(vt(t),Xe),$r(n,ct(Ie(n),t));
|
65
|
+
var r=qt(t[0],t[1],3);return Lr(n,function(n,t,e){return!r(n,t,e)})}),ei=se(function(n,t){return null==n?{}:"function"==typeof t[0]?Lr(n,qt(t[0],t[1],3)):$r(n,vt(t))}),ui=Ht(function(n,t,r){return t=t.toLowerCase(),n+(r?t.charAt(0).toUpperCase()+t.slice(1):t)}),oi=Ht(function(n,t,r){return n+(r?"-":"")+t.toLowerCase()}),ii=cr(),ai=cr(true);8!=Uu(Tn+"08")&&(Te=function(n,t,r){return(r?Tr(n,t,r):null==t)?t=0:t&&(t=+t),n=We(n),Uu(n,t||(On.test(n)?16:10))});var li=Ht(function(n,t,r){return n+(r?"_":"")+t.toLowerCase();
|
66
|
+
}),fi=Ht(function(n,t,r){return n+(r?" ":"")+(t.charAt(0).toUpperCase()+t.slice(1))}),ci=se(function(n,t){try{return n.apply(m,t)}catch(r){return ge(r)?r:new Ke(r)}}),si=se(function(n,t){return function(r){return Rr(r,n,t)}}),pi=se(function(n,t){return function(r){return Rr(n,r,t)}}),hi=tr(pe,Fu),_i=tr(Ae,$u);return Nn.prototype=Pn.prototype,zn.prototype=Vu(Pn.prototype),zn.prototype.constructor=zn,Bn.prototype=Vu(Pn.prototype),Bn.prototype.constructor=Bn,Mn.prototype["delete"]=function(n){return this.has(n)&&delete this.__data__[n];
|
67
|
+
},Mn.prototype.get=function(n){return"__proto__"==n?m:this.__data__[n]},Mn.prototype.has=function(n){return"__proto__"!=n&&ou.call(this.__data__,n)},Mn.prototype.set=function(n,t){return"__proto__"!=n&&(this.__data__[n]=t),this},qn.prototype.push=function(n){var t=this.data;typeof n=="string"||ye(n)?t.set.add(n):t.hash[n]=true},ce.Cache=Mn,Nn.after=function(n,t){if(typeof t!="function"){if(typeof n!="function")throw new He(L);var r=n;n=t,t=r}return n=Iu(n=+n)?n:0,function(){return 1>--n?t.apply(this,arguments):void 0;
|
68
|
+
}},Nn.ary=function(n,t,r){return r&&Tr(n,t,r)&&(t=null),t=n&&null==t?n.length:Ru(+t||0,0),yr(n,E,null,null,null,null,t)},Nn.assign=Do,Nn.at=ho,Nn.before=le,Nn.bind=Eo,Nn.bindAll=Ro,Nn.bindKey=Co,Nn.callback=$e,Nn.chain=ne,Nn.chunk=function(n,t,r){t=(r?Tr(n,t,r):null==t)?1:Ru(+t||1,1),r=0;for(var e=n?n.length:0,u=-1,o=qe(pu(e/t));r<e;)o[++u]=Tt(n,r,r+=t);return o},Nn.compact=function(n){for(var t=-1,r=n?n.length:0,e=-1,u=[];++t<r;){var o=n[t];o&&(u[++e]=o)}return u},Nn.constant=Le,Nn.countBy=_o,Nn.create=function(n,t,r){
|
69
|
+
var e=Vu(n);return r&&Tr(n,t,r)&&(t=null),t?ut(e,t):e},Nn.curry=So,Nn.curryRight=To,Nn.debounce=fe,Nn.defaults=Ko,Nn.defer=Uo,Nn.delay=Wo,Nn.difference=ro,Nn.drop=Dr,Nn.dropRight=Kr,Nn.dropRightWhile=function(n,t,r){return n&&n.length?Pt(n,br(t,r,3),true,true):[]},Nn.dropWhile=function(n,t,r){return n&&n.length?Pt(n,br(t,r,3),true):[]},Nn.fill=function(n,t,r,e){var u=n?n.length:0;if(!u)return[];for(r&&typeof r!="number"&&Tr(n,t,r)&&(r=0,e=u),u=n.length,r=null==r?0:+r||0,0>r&&(r=-r>u?0:u+r),e=e===m||e>u?u:+e||0,
|
70
|
+
0>e&&(e+=u),u=r>e?0:e>>>0,r>>>=0;r<u;)n[r++]=t;return n},Nn.filter=ee,Nn.flatten=function(n,t,r){var e=n?n.length:0;return r&&Tr(n,t,r)&&(t=false),e?vt(n,t):[]},Nn.flattenDeep=function(n){return n&&n.length?vt(n,true):[]},Nn.flow=Fo,Nn.flowRight=$o,Nn.forEach=yo,Nn.forEachRight=mo,Nn.forIn=Zo,Nn.forInRight=Go,Nn.forOwn=Jo,Nn.forOwnRight=Xo,Nn.functions=ke,Nn.groupBy=wo,Nn.indexBy=bo,Nn.initial=function(n){return Kr(n,1)},Nn.intersection=oo,Nn.invert=function(n,t,r){r&&Tr(n,t,r)&&(t=null),r=-1;for(var e=Ho(n),u=e.length,o={};++r<u;){
|
71
|
+
var i=e[r],a=n[i];t?ou.call(o,a)?o[a].push(i):o[a]=[i]:o[a]=i}return o},Nn.invoke=xo,Nn.keys=Ho,Nn.keysIn=Ie,Nn.map=oe,Nn.mapKeys=Qo,Nn.mapValues=ni,Nn.matches=Pe,Nn.matchesProperty=function(n,t){return Ot(n,lt(t,true))},Nn.memoize=ce,Nn.merge=ti,Nn.method=si,Nn.methodOf=pi,Nn.mixin=ze,Nn.negate=function(n){if(typeof n!="function")throw new He(L);return function(){return!n.apply(this,arguments)}},Nn.omit=ri,Nn.once=function(n){return le(2,n)},Nn.pairs=Ee,Nn.partial=Lo,Nn.partialRight=No,Nn.partition=Ao,
|
72
|
+
Nn.pick=ei,Nn.pluck=function(n,t){return oe(n,Me(t))},Nn.property=Me,Nn.propertyOf=function(n){return function(t){return wt(n,Mr(t),t+"")}},Nn.pull=function(){var n=arguments,t=n[0];if(!t||!t.length)return t;for(var r=0,e=Ar(),u=n.length;++r<u;)for(var o=0,i=n[r];-1<(o=e(t,i,o));)bu.call(t,o,1);return t},Nn.pullAt=io,Nn.range=function(n,t,r){r&&Tr(n,t,r)&&(t=r=null),n=+n||0,r=null==r?1:+r||0,null==t?(t=n,n=0):t=+t||0;var e=-1;t=Ru(pu((t-n)/(r||1)),0);for(var u=qe(t);++e<t;)u[e]=n,n+=r;return u},Nn.rearg=Po,
|
73
|
+
Nn.reject=function(n,t,r){var e=zo(n)?Xn:ht;return t=br(t,r,3),e(n,function(n,r,e){return!t(n,r,e)})},Nn.remove=function(n,t,r){var e=[];if(!n||!n.length)return e;var u=-1,o=[],i=n.length;for(t=br(t,r,3);++u<i;)r=n[u],t(r,u,n)&&(e.push(r),o.push(u));return Rt(n,o),e},Nn.rest=Gr,Nn.restParam=se,Nn.set=function(n,t,r){if(null==n)return n;var e=t+"";t=null!=n[e]||Ur(t,n)?[e]:Mr(t);for(var e=-1,u=t.length,o=u-1,i=n;null!=i&&++e<u;){var a=t[e];ye(i)&&(e==o?i[a]=r:null==i[a]&&(i[a]=Sr(t[e+1])?[]:{})),i=i[a];
|
74
|
+
}return n},Nn.shuffle=function(n){return ie(n,$u)},Nn.slice=function(n,t,r){var e=n?n.length:0;return e?(r&&typeof r!="number"&&Tr(n,t,r)&&(t=0,r=e),Tt(n,t,r)):[]},Nn.sortBy=function(n,t,r){if(null==n)return[];r&&Tr(n,t,r)&&(t=null);var e=-1;return t=br(t,r,3),n=At(n,function(n,r,u){return{a:t(n,r,u),b:++e,c:n}}),Wt(n,a)},Nn.sortByAll=ko,Nn.sortByOrder=function(n,t,r,e){return null==n?[]:(e&&Tr(t,r,e)&&(r=null),zo(t)||(t=null==t?[]:[t]),zo(r)||(r=null==r?[]:[r]),Ft(n,t,r))},Nn.spread=function(n){
|
75
|
+
if(typeof n!="function")throw new He(L);return function(t){return n.apply(this,t)}},Nn.take=function(n,t,r){return n&&n.length?((r?Tr(n,t,r):null==t)&&(t=1),Tt(n,0,0>t?0:t)):[]},Nn.takeRight=function(n,t,r){var e=n?n.length:0;return e?((r?Tr(n,t,r):null==t)&&(t=1),t=e-(+t||0),Tt(n,0>t?0:t)):[]},Nn.takeRightWhile=function(n,t,r){return n&&n.length?Pt(n,br(t,r,3),false,true):[]},Nn.takeWhile=function(n,t,r){return n&&n.length?Pt(n,br(t,r,3)):[]},Nn.tap=function(n,t,r){return t.call(r,n),n},Nn.throttle=function(n,t,r){
|
76
|
+
var e=true,u=true;if(typeof n!="function")throw new He(L);return false===r?e=false:ye(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),Ln.leading=e,Ln.maxWait=+t,Ln.trailing=u,fe(n,t,Ln)},Nn.thru=te,Nn.times=function(n,t,r){if(n=_u(n),1>n||!Iu(n))return[];var e=-1,u=qe(Cu(n,4294967295));for(t=qt(t,r,1);++e<n;)4294967295>e?u[e]=t(e):t(e);return u},Nn.toArray=je,Nn.toPlainObject=Oe,Nn.transform=function(n,t,r,e){var u=zo(n)||xe(n);return t=br(t,e,4),null==r&&(u||ye(n)?(e=n.constructor,r=u?zo(n)?new e:[]:Vu(Mo(e)?e.prototype:null)):r={}),
|
77
|
+
(u?Vn:yt)(n,function(n,e,u){return t(r,n,e,u)}),r},Nn.union=fo,Nn.uniq=Jr,Nn.unzip=Xr,Nn.unzipWith=Hr,Nn.values=Re,Nn.valuesIn=function(n){return Nt(n,Ie(n))},Nn.where=function(n,t){return ee(n,jt(t))},Nn.without=co,Nn.wrap=function(n,t){return t=null==t?Ne:t,yr(t,k,null,[n],[])},Nn.xor=function(){for(var n=-1,t=arguments.length;++n<t;){var r=arguments[n];if(Cr(r))var e=e?ct(e,r).concat(ct(r,e)):r}return e?Lt(e):[]},Nn.zip=so,Nn.zipObject=Qr,Nn.zipWith=po,Nn.backflow=$o,Nn.collect=oe,Nn.compose=$o,
|
78
|
+
Nn.each=yo,Nn.eachRight=mo,Nn.extend=Do,Nn.iteratee=$e,Nn.methods=ke,Nn.object=Qr,Nn.select=ee,Nn.tail=Gr,Nn.unique=Jr,ze(Nn,Nn),Nn.add=function(n,t){return(+n||0)+(+t||0)},Nn.attempt=ci,Nn.camelCase=ui,Nn.capitalize=function(n){return(n=u(n))&&n.charAt(0).toUpperCase()+n.slice(1)},Nn.clone=function(n,t,r,e){return t&&typeof t!="boolean"&&Tr(n,t,r)?t=false:typeof t=="function"&&(e=r,r=t,t=false),typeof r=="function"?lt(n,t,qt(r,e,1)):lt(n,t)},Nn.cloneDeep=function(n,t,r){return typeof t=="function"?lt(n,true,qt(t,r,1)):lt(n,true);
|
79
|
+
},Nn.deburr=Ce,Nn.endsWith=function(n,t,r){n=u(n),t+="";var e=n.length;return r=r===m?e:Cu(0>r?0:+r||0,e),r-=t.length,0<=r&&n.indexOf(t,r)==r},Nn.escape=function(n){return(n=u(n))&&pn.test(n)?n.replace(cn,f):n},Nn.escapeRegExp=Se,Nn.every=re,Nn.find=vo,Nn.findIndex=eo,Nn.findKey=Vo,Nn.findLast=go,Nn.findLastIndex=uo,Nn.findLastKey=Yo,Nn.findWhere=function(n,t){return vo(n,jt(t))},Nn.first=Vr,Nn.get=function(n,t,r){return n=null==n?m:wt(n,Mr(t),t+""),n===m?r:n},Nn.gt=pe,Nn.gte=function(n,t){return n>=t;
|
80
|
+
},Nn.has=function(n,t){if(null==n)return false;var r=ou.call(n,t);if(!r&&!Ur(t)){if(t=Mr(t),n=1==t.length?n:wt(n,Tt(t,0,-1)),null==n)return false;t=Zr(t),r=ou.call(n,t)}return r||Fr(n.length)&&Sr(t,n.length)&&(zo(n)||he(n)||be(n))},Nn.identity=Ne,Nn.includes=ue,Nn.indexOf=Yr,Nn.inRange=function(n,t,r){return t=+t||0,"undefined"===typeof r?(r=t,t=0):r=+r||0,n>=Cu(t,r)&&n<Ru(t,r)},Nn.isArguments=he,Nn.isArray=zo,Nn.isBoolean=function(n){return true===n||false===n||p(n)&&au.call(n)==B},Nn.isDate=function(n){return p(n)&&au.call(n)==M;
|
81
|
+
},Nn.isElement=_e,Nn.isEmpty=function(n){return null==n?true:Cr(n)&&(zo(n)||be(n)||he(n)||p(n)&&Mo(n.splice))?!n.length:!Ho(n).length},Nn.isEqual=ve,Nn.isError=ge,Nn.isFinite=Bo,Nn.isFunction=Mo,Nn.isMatch=function(n,t,r,e){return r=typeof r=="function"?qt(r,e,3):m,xt(n,jr(t),r)},Nn.isNaN=function(n){return me(n)&&n!=+n},Nn.isNative=de,Nn.isNull=function(n){return null===n},Nn.isNumber=me,Nn.isObject=ye,Nn.isPlainObject=qo,Nn.isRegExp=we,Nn.isString=be,Nn.isTypedArray=xe,Nn.isUndefined=function(n){
|
82
|
+
return n===m},Nn.kebabCase=oi,Nn.last=Zr,Nn.lastIndexOf=function(n,t,r){var e=n?n.length:0;if(!e)return-1;var u=e;if(typeof r=="number")u=(0>r?Ru(e+r,0):Cu(r||0,e-1))+1;else if(r)return u=Bt(n,t,true)-1,n=n[u],(t===t?t===n:n!==n)?u:-1;if(t!==t)return s(n,u,true);for(;u--;)if(n[u]===t)return u;return-1},Nn.lt=Ae,Nn.lte=function(n,t){return n<=t},Nn.max=hi,Nn.min=_i,Nn.noConflict=function(){return h._=lu,this},Nn.noop=Be,Nn.now=Io,Nn.pad=function(n,t,r){n=u(n),t=+t;var e=n.length;return e<t&&Iu(t)?(e=(t-e)/2,
|
83
|
+
t=_u(e),e=pu(e),r=_r("",e,r),r.slice(0,t)+n+r):n},Nn.padLeft=ii,Nn.padRight=ai,Nn.parseInt=Te,Nn.random=function(n,t,r){r&&Tr(n,t,r)&&(t=r=null);var e=null==n,u=null==t;return null==r&&(u&&typeof n=="boolean"?(r=n,n=1):typeof t=="boolean"&&(r=t,u=true)),e&&u&&(t=1,u=false),n=+n||0,u?(t=n,n=0):t=+t||0,r||n%1||t%1?(r=Wu(),Cu(n+r*(t-n+gu("1e-"+((r+"").length-1))),t)):Ct(n,t)},Nn.reduce=jo,Nn.reduceRight=Oo,Nn.repeat=Ue,Nn.result=function(n,t,r){var e=null==n?m:Br(n)[t];return e===m&&(null==n||Ur(t,n)||(t=Mr(t),
|
84
|
+
n=1==t.length?n:wt(n,Tt(t,0,-1)),e=null==n?m:Br(n)[Zr(t)]),e=e===m?r:e),Mo(e)?e.call(n):e},Nn.runInContext=d,Nn.size=function(n){var t=n?no(n):0;return Fr(t)?t:Ho(n).length},Nn.snakeCase=li,Nn.some=ae,Nn.sortedIndex=ao,Nn.sortedLastIndex=lo,Nn.startCase=fi,Nn.startsWith=function(n,t,r){return n=u(n),r=null==r?0:Cu(0>r?0:+r||0,n.length),n.lastIndexOf(t,r)==r},Nn.sum=function(n,t,r){r&&Tr(n,t,r)&&(t=null);var e=br(),u=null==t;if(u&&e===at||(u=false,t=e(t,r,3)),u){for(n=zo(n)?n:zr(n),t=n.length,r=0;t--;)r+=+n[t]||0;
|
85
|
+
n=r}else n=$t(n,t);return n},Nn.template=function(n,t,r){var e=Nn.templateSettings;r&&Tr(n,t,r)&&(t=r=null),n=u(n),t=et(ut({},r||t),e,rt),r=et(ut({},t.imports),e.imports,rt);var o,i,a=Ho(r),l=Nt(r,a),f=0;r=t.interpolate||Rn;var s="__p+='";r=Je((t.escape||Rn).source+"|"+r.source+"|"+(r===vn?An:Rn).source+"|"+(t.evaluate||Rn).source+"|$","g");var p="sourceURL"in t?"//# sourceURL="+t.sourceURL+"\n":"";if(n.replace(r,function(t,r,e,u,a,l){return e||(e=u),s+=n.slice(f,l).replace(Cn,c),r&&(o=true,s+="'+__e("+r+")+'"),
|
86
|
+
a&&(i=true,s+="';"+a+";\n__p+='"),e&&(s+="'+((__t=("+e+"))==null?'':__t)+'"),f=l+t.length,t}),s+="';",(t=t.variable)||(s="with(obj){"+s+"}"),s=(i?s.replace(on,""):s).replace(an,"$1").replace(ln,"$1;"),s="function("+(t||"obj")+"){"+(t?"":"obj||(obj={});")+"var __t,__p=''"+(o?",__e=_.escape":"")+(i?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+s+"return __p}",t=ci(function(){return Ve(a,p+"return "+s).apply(m,l)}),t.source=s,ge(t))throw t;return t},Nn.trim=We,Nn.trimLeft=function(n,t,r){
|
87
|
+
var e=n;return(n=u(n))?n.slice((r?Tr(e,t,r):null==t)?v(n):o(n,t+"")):n},Nn.trimRight=function(n,t,r){var e=n;return(n=u(n))?(r?Tr(e,t,r):null==t)?n.slice(0,g(n)+1):n.slice(0,i(n,t+"")+1):n},Nn.trunc=function(n,t,r){r&&Tr(n,t,r)&&(t=null);var e=C;if(r=S,null!=t)if(ye(t)){var o="separator"in t?t.separator:o,e="length"in t?+t.length||0:e;r="omission"in t?u(t.omission):r}else e=+t||0;if(n=u(n),e>=n.length)return n;if(e-=r.length,1>e)return r;if(t=n.slice(0,e),null==o)return t+r;if(we(o)){if(n.slice(e).search(o)){
|
88
|
+
var i,a=n.slice(0,e);for(o.global||(o=Je(o.source,(jn.exec(o)||"")+"g")),o.lastIndex=0;n=o.exec(a);)i=n.index;t=t.slice(0,null==i?e:i)}}else n.indexOf(o,e)!=e&&(o=t.lastIndexOf(o),-1<o&&(t=t.slice(0,o)));return t+r},Nn.unescape=function(n){return(n=u(n))&&sn.test(n)?n.replace(fn,y):n},Nn.uniqueId=function(n){var t=++iu;return u(n)+t},Nn.words=Fe,Nn.all=re,Nn.any=ae,Nn.contains=ue,Nn.eq=ve,Nn.detect=vo,Nn.foldl=jo,Nn.foldr=Oo,Nn.head=Vr,Nn.include=ue,Nn.inject=jo,ze(Nn,function(){var n={};return yt(Nn,function(t,r){
|
89
|
+
Nn.prototype[r]||(n[r]=t)}),n}(),false),Nn.sample=ie,Nn.prototype.sample=function(n){return this.__chain__||null!=n?this.thru(function(t){return ie(t,n)}):ie(this.value())},Nn.VERSION=w,Vn("bind bindKey curry curryRight partial partialRight".split(" "),function(n){Nn[n].placeholder=Nn}),Vn(["dropWhile","filter","map","takeWhile"],function(n,t){var r=t!=$,e=t==W;Bn.prototype[n]=function(n,u){var o=this.__filtered__,i=o&&e?new Bn(this):this.clone();return(i.__iteratees__||(i.__iteratees__=[])).push({done:false,
|
90
|
+
count:0,index:0,iteratee:br(n,u,1),limit:-1,type:t}),i.__filtered__=o||r,i}}),Vn(["drop","take"],function(n,t){var r=n+"While";Bn.prototype[n]=function(r){var e=this.__filtered__,u=e&&!t?this.dropWhile():this.clone();return r=null==r?1:Ru(_u(r)||0,0),e?t?u.__takeCount__=Cu(u.__takeCount__,r):Zr(u.__iteratees__).limit=r:(u.__views__||(u.__views__=[])).push({size:r,type:n+(0>u.__dir__?"Right":"")}),u},Bn.prototype[n+"Right"]=function(t){return this.reverse()[n](t).reverse()},Bn.prototype[n+"RightWhile"]=function(n,t){
|
91
|
+
return this.reverse()[r](n,t).reverse()}}),Vn(["first","last"],function(n,t){var r="take"+(t?"Right":"");Bn.prototype[n]=function(){return this[r](1).value()[0]}}),Vn(["initial","rest"],function(n,t){var r="drop"+(t?"":"Right");Bn.prototype[n]=function(){return this[r](1)}}),Vn(["pluck","where"],function(n,t){var r=t?"filter":"map",e=t?jt:Me;Bn.prototype[n]=function(n){return this[r](e(n))}}),Bn.prototype.compact=function(){return this.filter(Ne)},Bn.prototype.reject=function(n,t){return n=br(n,t,1),
|
92
|
+
this.filter(function(t){return!n(t)})},Bn.prototype.slice=function(n,t){n=null==n?0:+n||0;var r=this;return 0>n?r=this.takeRight(-n):n&&(r=this.drop(n)),t!==m&&(t=+t||0,r=0>t?r.dropRight(-t):r.take(t-n)),r},Bn.prototype.toArray=function(){return this.drop(0)},yt(Bn.prototype,function(n,t){var r=Nn[t];if(r){var e=/^(?:filter|map|reject)|While$/.test(t),u=/^(?:first|last)$/.test(t);Nn.prototype[t]=function(){function t(n){return n=[n],yu.apply(n,o),r.apply(Nn,n)}var o=arguments,i=this.__chain__,a=this.__wrapped__,l=!!this.__actions__.length,f=a instanceof Bn,c=o[0],s=f||zo(a);
|
93
|
+
return s&&e&&typeof c=="function"&&1!=c.length&&(f=s=false),f=f&&!l,u&&!i?f?n.call(a):r.call(Nn,this.value()):s?(a=n.apply(f?a:new Bn(this),o),u||!l&&!a.__actions__||(a.__actions__||(a.__actions__=[])).push({func:te,args:[t],thisArg:Nn}),new zn(a,i)):this.thru(t)}}}),Vn("concat join pop push replace shift sort splice split unshift".split(" "),function(n){var t=(/^(?:replace|split)$/.test(n)?ru:Qe)[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:join|pop|replace|shift)$/.test(n),u=Ku.spliceObjects||!/^(?:pop|shift|splice)$/.test(n)?t:function(){
|
94
|
+
var n=t.apply(this,arguments);return 0===this.length&&delete this[0],n};Nn.prototype[n]=function(){var n=arguments;return e&&!this.__chain__?u.apply(this.value(),n):this[r](function(t){return u.apply(t,n)})}}),yt(Bn.prototype,function(n,t){var r=Nn[t];if(r){var e=r.name;(Mu[e]||(Mu[e]=[])).push({name:t,func:r})}}),Mu[hr(null,x).name]=[{name:"wrapper",func:null}],Bn.prototype.clone=function(){var n=this.__actions__,t=this.__iteratees__,r=this.__views__,e=new Bn(this.__wrapped__);return e.__actions__=n?Kn(n):null,
|
95
|
+
e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=t?Kn(t):null,e.__takeCount__=this.__takeCount__,e.__views__=r?Kn(r):null,e},Bn.prototype.reverse=function(){if(this.__filtered__){var n=new Bn(this);n.__dir__=-1,n.__filtered__=true}else n=this.clone(),n.__dir__*=-1;return n},Bn.prototype.value=function(){var n=this.__wrapped__.value();if(!zo(n))return zt(n,this.__actions__);var t,r=this.__dir__,e=0>r;t=n.length;for(var u=this.__views__,o=0,i=-1,a=u?u.length:0;++i<a;){var l=u[i],f=l.size;
|
96
|
+
switch(l.type){case"drop":o+=f;break;case"dropRight":t-=f;break;case"take":t=Cu(t,o+f);break;case"takeRight":o=Ru(o,t-f)}}t={start:o,end:t},u=t.start,o=t.end,t=o-u,u=e?o:u-1,o=Cu(t,this.__takeCount__),a=(i=this.__iteratees__)?i.length:0,l=0,f=[];n:for(;t--&&l<o;){for(var u=u+r,c=-1,s=n[u];++c<a;){var p=i[c],h=p.iteratee,_=p.type;if(_==W){if(p.done&&(e?u>p.index:u<p.index)&&(p.count=0,p.done=false),p.index=u,!(p.done||(_=p.limit,p.done=-1<_?p.count++>=_:!h(s))))continue n}else if(p=h(s),_==$)s=p;else if(!p){
|
97
|
+
if(_==F)continue n;break n}}f[l++]=s}return f},Nn.prototype.chain=function(){return ne(this)},Nn.prototype.commit=function(){return new zn(this.value(),this.__chain__)},Nn.prototype.plant=function(n){for(var t,r=this;r instanceof Pn;){var e=qr(r);t?u.__wrapped__=e:t=e;var u=e,r=r.__wrapped__}return u.__wrapped__=n,t},Nn.prototype.reverse=function(){var n=this.__wrapped__;return n instanceof Bn?(this.__actions__.length&&(n=new Bn(this)),new zn(n.reverse(),this.__chain__)):this.thru(function(n){return n.reverse();
|
98
|
+
})},Nn.prototype.toString=function(){return this.value()+""},Nn.prototype.run=Nn.prototype.toJSON=Nn.prototype.valueOf=Nn.prototype.value=function(){return zt(this.__wrapped__,this.__actions__)},Nn.prototype.collect=Nn.prototype.map,Nn.prototype.head=Nn.prototype.first,Nn.prototype.select=Nn.prototype.filter,Nn.prototype.tail=Nn.prototype.rest,Nn}var m,w="3.9.3",b=1,x=2,A=4,j=8,O=16,k=32,I=64,E=128,R=256,C=30,S="...",T=150,U=16,W=0,F=1,$=2,L="Expected a function",N="__lodash_placeholder__",P="[object Arguments]",z="[object Array]",B="[object Boolean]",M="[object Date]",q="[object Error]",D="[object Function]",K="[object Number]",V="[object Object]",Y="[object RegExp]",Z="[object String]",G="[object ArrayBuffer]",J="[object Float32Array]",X="[object Float64Array]",H="[object Int8Array]",Q="[object Int16Array]",nn="[object Int32Array]",tn="[object Uint8Array]",rn="[object Uint8ClampedArray]",en="[object Uint16Array]",un="[object Uint32Array]",on=/\b__p\+='';/g,an=/\b(__p\+=)''\+/g,ln=/(__e\(.*?\)|\b__t\))\+'';/g,fn=/&(?:amp|lt|gt|quot|#39|#96);/g,cn=/[&<>"'`]/g,sn=RegExp(fn.source),pn=RegExp(cn.source),hn=/<%-([\s\S]+?)%>/g,_n=/<%([\s\S]+?)%>/g,vn=/<%=([\s\S]+?)%>/g,gn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,yn=/^\w*$/,dn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,mn=/[.*+?^${}()|[\]\/\\]/g,wn=RegExp(mn.source),bn=/[\u0300-\u036f\ufe20-\ufe23]/g,xn=/\\(\\)?/g,An=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,jn=/\w*$/,On=/^0[xX]/,kn=/^\[object .+?Constructor\]$/,In=/^\d+$/,En=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,Rn=/($^)/,Cn=/['\n\r\u2028\u2029\\]/g,Sn=RegExp("[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?=[A-Z\\xc0-\\xd6\\xd8-\\xde][a-z\\xdf-\\xf6\\xf8-\\xff]+)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+|[A-Z\\xc0-\\xd6\\xd8-\\xde]+|[0-9]+","g"),Tn=" \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",Un="Array ArrayBuffer Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Math Number Object RegExp Set String _ clearTimeout document isFinite parseFloat parseInt setTimeout TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap window".split(" "),Wn="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),Fn={};
|
99
|
+
Fn[J]=Fn[X]=Fn[H]=Fn[Q]=Fn[nn]=Fn[tn]=Fn[rn]=Fn[en]=Fn[un]=true,Fn[P]=Fn[z]=Fn[G]=Fn[B]=Fn[M]=Fn[q]=Fn[D]=Fn["[object Map]"]=Fn[K]=Fn[V]=Fn[Y]=Fn["[object Set]"]=Fn[Z]=Fn["[object WeakMap]"]=false;var $n={};$n[P]=$n[z]=$n[G]=$n[B]=$n[M]=$n[J]=$n[X]=$n[H]=$n[Q]=$n[nn]=$n[K]=$n[V]=$n[Y]=$n[Z]=$n[tn]=$n[rn]=$n[en]=$n[un]=true,$n[q]=$n[D]=$n["[object Map]"]=$n["[object Set]"]=$n["[object WeakMap]"]=false;var Ln={leading:false,maxWait:0,trailing:false},Nn={"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A",
|
143
100
|
"\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u",
|
144
|
-
"\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss"},Pn={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},
|
145
|
-
try{Object({toString:0}+"")}catch(n){return function(){return false}}return function(n){return typeof n.toString!="function"&&typeof(n+"")=="string"}}(),Jn=
|
101
|
+
"\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss"},Pn={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},zn={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},Bn={"function":true,object:true},Mn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},qn=Bn[typeof exports]&&exports&&!exports.nodeType&&exports,Dn=Bn[typeof module]&&module&&!module.nodeType&&module,Kn=Bn[typeof self]&&self&&self.Object&&self,Vn=Bn[typeof window]&&window&&window.Object&&window,Yn=Dn&&Dn.exports===qn&&qn,Zn=qn&&Dn&&typeof global=="object"&&global&&global.Object&&global||Vn!==(this&&this.window)&&Vn||Kn||this,Gn=function(){
|
102
|
+
try{Object({toString:0}+"")}catch(n){return function(){return false}}return function(n){return typeof n.toString!="function"&&typeof(n+"")=="string"}}(),Jn=d();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Zn._=Jn, define(function(){return Jn})):qn&&Dn?Yn?(Dn.exports=Jn)._=Jn:qn._=Jn:Zn._=Jn}).call(this);
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/**
|
2
2
|
* @license
|
3
|
-
* lodash 3.
|
3
|
+
* lodash 3.9.3 (Custom Build) <https://lodash.com/>
|
4
4
|
* Build: `lodash modern -o ./lodash.js`
|
5
5
|
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
|
6
6
|
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
@@ -13,7 +13,7 @@
|
|
13
13
|
var undefined;
|
14
14
|
|
15
15
|
/** Used as the semantic version number. */
|
16
|
-
var VERSION = '3.
|
16
|
+
var VERSION = '3.9.3';
|
17
17
|
|
18
18
|
/** Used to compose bitmasks for wrapper metadata. */
|
19
19
|
var BIND_FLAG = 1,
|
@@ -88,7 +88,7 @@
|
|
88
88
|
reInterpolate = /<%=([\s\S]+?)%>/g;
|
89
89
|
|
90
90
|
/** Used to match property names within property paths. */
|
91
|
-
var reIsDeepProp = /\.|\[(?:[^[\]]
|
91
|
+
var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,
|
92
92
|
reIsPlainProp = /^\w*$/,
|
93
93
|
rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g;
|
94
94
|
|
@@ -118,6 +118,9 @@
|
|
118
118
|
/** Used to detect host constructors (Safari > 5). */
|
119
119
|
var reIsHostCtor = /^\[object .+?Constructor\]$/;
|
120
120
|
|
121
|
+
/** Used to detect unsigned integer values. */
|
122
|
+
var reIsUint = /^\d+$/;
|
123
|
+
|
121
124
|
/** Used to match latin-1 supplementary letters (excluding mathematical operators). */
|
122
125
|
var reLatin1 = /[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g;
|
123
126
|
|
@@ -152,9 +155,8 @@
|
|
152
155
|
'Array', 'ArrayBuffer', 'Date', 'Error', 'Float32Array', 'Float64Array',
|
153
156
|
'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Math', 'Number',
|
154
157
|
'Object', 'RegExp', 'Set', 'String', '_', 'clearTimeout', 'document',
|
155
|
-
'isFinite', 'parseInt', 'setTimeout', 'TypeError', 'Uint8Array',
|
156
|
-
'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',
|
157
|
-
'window'
|
158
|
+
'isFinite', 'parseFloat', 'parseInt', 'setTimeout', 'TypeError', 'Uint8Array',
|
159
|
+
'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap', 'window'
|
158
160
|
];
|
159
161
|
|
160
162
|
/** Used to make template sourceURLs easier to identify. */
|
@@ -275,7 +277,7 @@
|
|
275
277
|
/**
|
276
278
|
* Used as a reference to the global object.
|
277
279
|
*
|
278
|
-
* The `this` value is used if it
|
280
|
+
* The `this` value is used if it's the global object to avoid Greasemonkey's
|
279
281
|
* restricted `window` object, otherwise the `window` object is used.
|
280
282
|
*/
|
281
283
|
var root = freeGlobal || ((freeWindow !== (this && this.window)) && freeWindow) || freeSelf || this;
|
@@ -287,19 +289,28 @@
|
|
287
289
|
* sorts them in ascending order without guaranteeing a stable sort.
|
288
290
|
*
|
289
291
|
* @private
|
290
|
-
* @param {*} value The value to compare
|
291
|
-
* @param {*} other The value to compare
|
292
|
+
* @param {*} value The value to compare.
|
293
|
+
* @param {*} other The other value to compare.
|
292
294
|
* @returns {number} Returns the sort order indicator for `value`.
|
293
295
|
*/
|
294
296
|
function baseCompareAscending(value, other) {
|
295
297
|
if (value !== other) {
|
296
|
-
var
|
298
|
+
var valIsNull = value === null,
|
299
|
+
valIsUndef = value === undefined,
|
300
|
+
valIsReflexive = value === value;
|
301
|
+
|
302
|
+
var othIsNull = other === null,
|
303
|
+
othIsUndef = other === undefined,
|
297
304
|
othIsReflexive = other === other;
|
298
305
|
|
299
|
-
if (value > other || !valIsReflexive ||
|
306
|
+
if ((value > other && !othIsNull) || !valIsReflexive ||
|
307
|
+
(valIsNull && !othIsUndef && othIsReflexive) ||
|
308
|
+
(valIsUndef && othIsReflexive)) {
|
300
309
|
return 1;
|
301
310
|
}
|
302
|
-
if (value < other || !othIsReflexive ||
|
311
|
+
if ((value < other && !valIsNull) || !othIsReflexive ||
|
312
|
+
(othIsNull && !valIsUndef && valIsReflexive) ||
|
313
|
+
(othIsUndef && valIsReflexive)) {
|
303
314
|
return -1;
|
304
315
|
}
|
305
316
|
}
|
@@ -367,7 +378,7 @@
|
|
367
378
|
}
|
368
379
|
|
369
380
|
/**
|
370
|
-
* Converts `value` to a string if it
|
381
|
+
* Converts `value` to a string if it's not one. An empty string is returned
|
371
382
|
* for `null` or `undefined` values.
|
372
383
|
*
|
373
384
|
* @private
|
@@ -381,17 +392,6 @@
|
|
381
392
|
return value == null ? '' : (value + '');
|
382
393
|
}
|
383
394
|
|
384
|
-
/**
|
385
|
-
* Used by `_.max` and `_.min` as the default callback for string values.
|
386
|
-
*
|
387
|
-
* @private
|
388
|
-
* @param {string} string The string to inspect.
|
389
|
-
* @returns {number} Returns the code unit of the first character of the string.
|
390
|
-
*/
|
391
|
-
function charAtCallback(string) {
|
392
|
-
return string.charCodeAt(0);
|
393
|
-
}
|
394
|
-
|
395
395
|
/**
|
396
396
|
* Used by `_.trim` and `_.trimLeft` to get the index of the first character
|
397
397
|
* of `string` that is not found in `chars`.
|
@@ -714,7 +714,7 @@
|
|
714
714
|
stringProto = String.prototype;
|
715
715
|
|
716
716
|
/** Used to detect DOM support. */
|
717
|
-
var document = (document = context.window)
|
717
|
+
var document = (document = context.window) ? document.document : null;
|
718
718
|
|
719
719
|
/** Used to resolve the decompiled source of functions. */
|
720
720
|
var fnToString = Function.prototype.toString;
|
@@ -736,26 +736,24 @@
|
|
736
736
|
|
737
737
|
/** Used to detect if a method is native. */
|
738
738
|
var reIsNative = RegExp('^' +
|
739
|
-
escapeRegExp(
|
740
|
-
.replace(/
|
739
|
+
escapeRegExp(fnToString.call(hasOwnProperty))
|
740
|
+
.replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
|
741
741
|
);
|
742
742
|
|
743
743
|
/** Native method references. */
|
744
|
-
var ArrayBuffer =
|
745
|
-
bufferSlice =
|
744
|
+
var ArrayBuffer = getNative(context, 'ArrayBuffer'),
|
745
|
+
bufferSlice = getNative(ArrayBuffer && new ArrayBuffer(0), 'slice'),
|
746
746
|
ceil = Math.ceil,
|
747
747
|
clearTimeout = context.clearTimeout,
|
748
748
|
floor = Math.floor,
|
749
|
-
|
750
|
-
|
749
|
+
getPrototypeOf = getNative(Object, 'getPrototypeOf'),
|
750
|
+
parseFloat = context.parseFloat,
|
751
751
|
push = arrayProto.push,
|
752
|
-
|
753
|
-
propertyIsEnumerable = objectProto.propertyIsEnumerable,
|
754
|
-
Set = isNative(Set = context.Set) && Set,
|
752
|
+
Set = getNative(context, 'Set'),
|
755
753
|
setTimeout = context.setTimeout,
|
756
754
|
splice = arrayProto.splice,
|
757
|
-
Uint8Array =
|
758
|
-
WeakMap =
|
755
|
+
Uint8Array = getNative(context, 'Uint8Array'),
|
756
|
+
WeakMap = getNative(context, 'WeakMap');
|
759
757
|
|
760
758
|
/** Used to clone array buffers. */
|
761
759
|
var Float64Array = (function() {
|
@@ -763,37 +761,21 @@
|
|
763
761
|
// where the array buffer's `byteLength` is not a multiple of the typed
|
764
762
|
// array's `BYTES_PER_ELEMENT`.
|
765
763
|
try {
|
766
|
-
var func =
|
764
|
+
var func = getNative(context, 'Float64Array'),
|
767
765
|
result = new func(new ArrayBuffer(10), 0, 1) && func;
|
768
766
|
} catch(e) {}
|
769
|
-
return result;
|
770
|
-
}());
|
771
|
-
|
772
|
-
/** Used as `baseAssign`. */
|
773
|
-
var nativeAssign = (function() {
|
774
|
-
// Avoid `Object.assign` in Firefox 34-37 which have an early implementation
|
775
|
-
// with a now defunct try/catch behavior. See https://bugzilla.mozilla.org/show_bug.cgi?id=1103344
|
776
|
-
// for more details.
|
777
|
-
//
|
778
|
-
// Use `Object.preventExtensions` on a plain object instead of simply using
|
779
|
-
// `Object('x')` because Chrome and IE fail to throw an error when attempting
|
780
|
-
// to assign values to readonly indexes of strings in strict mode.
|
781
|
-
var object = { '1': 0 },
|
782
|
-
func = preventExtensions && isNative(func = Object.assign) && func;
|
783
|
-
|
784
|
-
try { func(preventExtensions(object), 'xo'); } catch(e) {}
|
785
|
-
return !object[1] && func;
|
767
|
+
return result || null;
|
786
768
|
}());
|
787
769
|
|
788
770
|
/* Native method references for those with the same name as other `lodash` methods. */
|
789
|
-
var
|
790
|
-
|
771
|
+
var nativeCreate = getNative(Object, 'create'),
|
772
|
+
nativeIsArray = getNative(Array, 'isArray'),
|
791
773
|
nativeIsFinite = context.isFinite,
|
792
|
-
nativeKeys =
|
774
|
+
nativeKeys = getNative(Object, 'keys'),
|
793
775
|
nativeMax = Math.max,
|
794
776
|
nativeMin = Math.min,
|
795
|
-
nativeNow =
|
796
|
-
nativeNumIsFinite =
|
777
|
+
nativeNow = getNative(Date, 'now'),
|
778
|
+
nativeNumIsFinite = getNative(Number, 'isFinite'),
|
797
779
|
nativeParseInt = context.parseInt,
|
798
780
|
nativeRandom = Math.random;
|
799
781
|
|
@@ -802,8 +784,8 @@
|
|
802
784
|
POSITIVE_INFINITY = Number.POSITIVE_INFINITY;
|
803
785
|
|
804
786
|
/** Used as references for the maximum length and index of an array. */
|
805
|
-
var MAX_ARRAY_LENGTH =
|
806
|
-
MAX_ARRAY_INDEX =
|
787
|
+
var MAX_ARRAY_LENGTH = 4294967295,
|
788
|
+
MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,
|
807
789
|
HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;
|
808
790
|
|
809
791
|
/** Used as the size, in bytes, of each `Float64Array` element. */
|
@@ -813,7 +795,7 @@
|
|
813
795
|
* Used as the [maximum length](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer)
|
814
796
|
* of an array-like value.
|
815
797
|
*/
|
816
|
-
var MAX_SAFE_INTEGER =
|
798
|
+
var MAX_SAFE_INTEGER = 9007199254740991;
|
817
799
|
|
818
800
|
/** Used to store function metadata. */
|
819
801
|
var metaMap = WeakMap && new WeakMap;
|
@@ -862,30 +844,31 @@
|
|
862
844
|
* `filter`, `flatten`, `flattenDeep`, `flow`, `flowRight`, `forEach`,
|
863
845
|
* `forEachRight`, `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `functions`,
|
864
846
|
* `groupBy`, `indexBy`, `initial`, `intersection`, `invert`, `invoke`, `keys`,
|
865
|
-
* `keysIn`, `map`, `mapValues`, `matches`, `matchesProperty`,
|
866
|
-
* `
|
867
|
-
* `
|
868
|
-
* `
|
869
|
-
* `
|
870
|
-
* `
|
871
|
-
* `
|
872
|
-
* `
|
873
|
-
* `
|
847
|
+
* `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,
|
848
|
+
* `memoize`, `merge`, `method`, `methodOf`, `mixin`, `negate`, `omit`, `once`,
|
849
|
+
* `pairs`, `partial`, `partialRight`, `partition`, `pick`, `plant`, `pluck`,
|
850
|
+
* `property`, `propertyOf`, `pull`, `pullAt`, `push`, `range`, `rearg`,
|
851
|
+
* `reject`, `remove`, `rest`, `restParam`, `reverse`, `set`, `shuffle`,
|
852
|
+
* `slice`, `sort`, `sortBy`, `sortByAll`, `sortByOrder`, `splice`, `spread`,
|
853
|
+
* `take`, `takeRight`, `takeRightWhile`, `takeWhile`, `tap`, `throttle`,
|
854
|
+
* `thru`, `times`, `toArray`, `toPlainObject`, `transform`, `union`, `uniq`,
|
855
|
+
* `unshift`, `unzip`, `unzipWith`, `values`, `valuesIn`, `where`, `without`,
|
856
|
+
* `wrap`, `xor`, `zip`, `zipObject`, `zipWith`
|
874
857
|
*
|
875
858
|
* The wrapper methods that are **not** chainable by default are:
|
876
859
|
* `add`, `attempt`, `camelCase`, `capitalize`, `clone`, `cloneDeep`, `deburr`,
|
877
860
|
* `endsWith`, `escape`, `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`,
|
878
|
-
* `findLast`, `findLastIndex`, `findLastKey`, `findWhere`, `first`, `
|
879
|
-
* `identity`, `includes`, `indexOf`, `inRange`, `isArguments`,
|
880
|
-
* `isBoolean`, `isDate`, `isElement`, `isEmpty`, `isEqual`, `isError`,
|
881
|
-
* `isFunction`, `isMatch`, `isNative`, `isNaN`, `isNull`, `isNumber`,
|
882
|
-
* `isPlainObject`, `isRegExp`, `isString`, `isUndefined`,
|
883
|
-
* `join`, `kebabCase`, `last`, `lastIndexOf`, `
|
884
|
-
* `
|
885
|
-
* `
|
886
|
-
* `
|
887
|
-
* `
|
888
|
-
* `uniqueId`, `value`, and `words`
|
861
|
+
* `findLast`, `findLastIndex`, `findLastKey`, `findWhere`, `first`, `get`,
|
862
|
+
* `gt`, `gte`, `has`, `identity`, `includes`, `indexOf`, `inRange`, `isArguments`,
|
863
|
+
* `isArray`, `isBoolean`, `isDate`, `isElement`, `isEmpty`, `isEqual`, `isError`,
|
864
|
+
* `isFinite` `isFunction`, `isMatch`, `isNative`, `isNaN`, `isNull`, `isNumber`,
|
865
|
+
* `isObject`, `isPlainObject`, `isRegExp`, `isString`, `isUndefined`,
|
866
|
+
* `isTypedArray`, `join`, `kebabCase`, `last`, `lastIndexOf`, `lt`, `lte`,
|
867
|
+
* `max`, `min`, `noConflict`, `noop`, `now`, `pad`, `padLeft`, `padRight`,
|
868
|
+
* `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, `repeat`, `result`,
|
869
|
+
* `runInContext`, `shift`, `size`, `snakeCase`, `some`, `sortedIndex`,
|
870
|
+
* `sortedLastIndex`, `startCase`, `startsWith`, `sum`, `template`, `trim`,
|
871
|
+
* `trimLeft`, `trimRight`, `trunc`, `unescape`, `uniqueId`, `value`, and `words`
|
889
872
|
*
|
890
873
|
* The wrapper method `sample` will return a wrapped value when `n` is provided,
|
891
874
|
* otherwise an unwrapped value is returned.
|
@@ -968,24 +951,6 @@
|
|
968
951
|
Ctor.prototype = { 'valueOf': x, 'y': x };
|
969
952
|
for (var key in new Ctor) { props.push(key); }
|
970
953
|
|
971
|
-
/**
|
972
|
-
* Detect if functions can be decompiled by `Function#toString`
|
973
|
-
* (all but Firefox OS certified apps, older Opera mobile browsers, and
|
974
|
-
* the PlayStation 3; forced `false` for Windows 8 apps).
|
975
|
-
*
|
976
|
-
* @memberOf _.support
|
977
|
-
* @type boolean
|
978
|
-
*/
|
979
|
-
support.funcDecomp = /\bthis\b/.test(function() { return this; });
|
980
|
-
|
981
|
-
/**
|
982
|
-
* Detect if `Function#name` is supported (all but IE).
|
983
|
-
*
|
984
|
-
* @memberOf _.support
|
985
|
-
* @type boolean
|
986
|
-
*/
|
987
|
-
support.funcNames = typeof Function.name == 'string';
|
988
|
-
|
989
954
|
/**
|
990
955
|
* Detect if the DOM is supported.
|
991
956
|
*
|
@@ -997,24 +962,6 @@
|
|
997
962
|
} catch(e) {
|
998
963
|
support.dom = false;
|
999
964
|
}
|
1000
|
-
|
1001
|
-
/**
|
1002
|
-
* Detect if `arguments` object indexes are non-enumerable.
|
1003
|
-
*
|
1004
|
-
* In Firefox < 4, IE < 9, PhantomJS, and Safari < 5.1 `arguments` object
|
1005
|
-
* indexes are non-enumerable. Chrome < 25 and Node.js < 0.11.0 treat
|
1006
|
-
* `arguments` object indexes as non-enumerable and fail `hasOwnProperty`
|
1007
|
-
* checks for indexes that exceed the number of function parameters and
|
1008
|
-
* whose associated argument values are `0`.
|
1009
|
-
*
|
1010
|
-
* @memberOf _.support
|
1011
|
-
* @type boolean
|
1012
|
-
*/
|
1013
|
-
try {
|
1014
|
-
support.nonEnumArgs = !propertyIsEnumerable.call(arguments, 1);
|
1015
|
-
} catch(e) {
|
1016
|
-
support.nonEnumArgs = true;
|
1017
|
-
}
|
1018
965
|
}(1, 0));
|
1019
966
|
|
1020
967
|
/**
|
@@ -1413,6 +1360,35 @@
|
|
1413
1360
|
return true;
|
1414
1361
|
}
|
1415
1362
|
|
1363
|
+
/**
|
1364
|
+
* A specialized version of `baseExtremum` for arrays which invokes `iteratee`
|
1365
|
+
* with one argument: (value).
|
1366
|
+
*
|
1367
|
+
* @private
|
1368
|
+
* @param {Array} array The array to iterate over.
|
1369
|
+
* @param {Function} iteratee The function invoked per iteration.
|
1370
|
+
* @param {Function} comparator The function used to compare values.
|
1371
|
+
* @param {*} exValue The initial extremum value.
|
1372
|
+
* @returns {*} Returns the extremum value.
|
1373
|
+
*/
|
1374
|
+
function arrayExtremum(array, iteratee, comparator, exValue) {
|
1375
|
+
var index = -1,
|
1376
|
+
length = array.length,
|
1377
|
+
computed = exValue,
|
1378
|
+
result = computed;
|
1379
|
+
|
1380
|
+
while (++index < length) {
|
1381
|
+
var value = array[index],
|
1382
|
+
current = +iteratee(value);
|
1383
|
+
|
1384
|
+
if (comparator(current, computed)) {
|
1385
|
+
computed = current;
|
1386
|
+
result = value;
|
1387
|
+
}
|
1388
|
+
}
|
1389
|
+
return result;
|
1390
|
+
}
|
1391
|
+
|
1416
1392
|
/**
|
1417
1393
|
* A specialized version of `_.filter` for arrays without support for callback
|
1418
1394
|
* shorthands and `this` binding.
|
@@ -1457,48 +1433,6 @@
|
|
1457
1433
|
return result;
|
1458
1434
|
}
|
1459
1435
|
|
1460
|
-
/**
|
1461
|
-
* A specialized version of `_.max` for arrays without support for iteratees.
|
1462
|
-
*
|
1463
|
-
* @private
|
1464
|
-
* @param {Array} array The array to iterate over.
|
1465
|
-
* @returns {*} Returns the maximum value.
|
1466
|
-
*/
|
1467
|
-
function arrayMax(array) {
|
1468
|
-
var index = -1,
|
1469
|
-
length = array.length,
|
1470
|
-
result = NEGATIVE_INFINITY;
|
1471
|
-
|
1472
|
-
while (++index < length) {
|
1473
|
-
var value = array[index];
|
1474
|
-
if (value > result) {
|
1475
|
-
result = value;
|
1476
|
-
}
|
1477
|
-
}
|
1478
|
-
return result;
|
1479
|
-
}
|
1480
|
-
|
1481
|
-
/**
|
1482
|
-
* A specialized version of `_.min` for arrays without support for iteratees.
|
1483
|
-
*
|
1484
|
-
* @private
|
1485
|
-
* @param {Array} array The array to iterate over.
|
1486
|
-
* @returns {*} Returns the minimum value.
|
1487
|
-
*/
|
1488
|
-
function arrayMin(array) {
|
1489
|
-
var index = -1,
|
1490
|
-
length = array.length,
|
1491
|
-
result = POSITIVE_INFINITY;
|
1492
|
-
|
1493
|
-
while (++index < length) {
|
1494
|
-
var value = array[index];
|
1495
|
-
if (value < result) {
|
1496
|
-
result = value;
|
1497
|
-
}
|
1498
|
-
}
|
1499
|
-
return result;
|
1500
|
-
}
|
1501
|
-
|
1502
1436
|
/**
|
1503
1437
|
* A specialized version of `_.reduce` for arrays without support for callback
|
1504
1438
|
* shorthands and `this` binding.
|
@@ -1629,10 +1563,8 @@
|
|
1629
1563
|
* @returns {Object} Returns `object`.
|
1630
1564
|
*/
|
1631
1565
|
function assignWith(object, source, customizer) {
|
1632
|
-
var props = keys(source);
|
1633
|
-
push.apply(props, getSymbols(source));
|
1634
|
-
|
1635
1566
|
var index = -1,
|
1567
|
+
props = keys(source),
|
1636
1568
|
length = props.length;
|
1637
1569
|
|
1638
1570
|
while (++index < length) {
|
@@ -1657,11 +1589,11 @@
|
|
1657
1589
|
* @param {Object} source The source object.
|
1658
1590
|
* @returns {Object} Returns `object`.
|
1659
1591
|
*/
|
1660
|
-
|
1592
|
+
function baseAssign(object, source) {
|
1661
1593
|
return source == null
|
1662
1594
|
? object
|
1663
|
-
: baseCopy(source,
|
1664
|
-
}
|
1595
|
+
: baseCopy(source, keys(source), object);
|
1596
|
+
}
|
1665
1597
|
|
1666
1598
|
/**
|
1667
1599
|
* The base implementation of `_.at` without support for string collections
|
@@ -1674,8 +1606,9 @@
|
|
1674
1606
|
*/
|
1675
1607
|
function baseAt(collection, props) {
|
1676
1608
|
var index = -1,
|
1677
|
-
|
1678
|
-
isArr =
|
1609
|
+
isNil = collection == null,
|
1610
|
+
isArr = !isNil && isArrayLike(collection),
|
1611
|
+
length = isArr ? collection.length : 0,
|
1679
1612
|
propsLength = props.length,
|
1680
1613
|
result = Array(propsLength);
|
1681
1614
|
|
@@ -1684,7 +1617,7 @@
|
|
1684
1617
|
if (isArr) {
|
1685
1618
|
result[index] = isIndex(key, length) ? collection[key] : undefined;
|
1686
1619
|
} else {
|
1687
|
-
result[index] = collection[key];
|
1620
|
+
result[index] = isNil ? undefined : collection[key];
|
1688
1621
|
}
|
1689
1622
|
}
|
1690
1623
|
return result;
|
@@ -1816,14 +1749,14 @@
|
|
1816
1749
|
* @returns {Object} Returns the new object.
|
1817
1750
|
*/
|
1818
1751
|
var baseCreate = (function() {
|
1819
|
-
function
|
1752
|
+
function object() {}
|
1820
1753
|
return function(prototype) {
|
1821
1754
|
if (isObject(prototype)) {
|
1822
|
-
|
1823
|
-
var result = new
|
1824
|
-
|
1755
|
+
object.prototype = prototype;
|
1756
|
+
var result = new object;
|
1757
|
+
object.prototype = null;
|
1825
1758
|
}
|
1826
|
-
return result ||
|
1759
|
+
return result || {};
|
1827
1760
|
};
|
1828
1761
|
}());
|
1829
1762
|
|
@@ -1932,6 +1865,32 @@
|
|
1932
1865
|
return result;
|
1933
1866
|
}
|
1934
1867
|
|
1868
|
+
/**
|
1869
|
+
* Gets the extremum value of `collection` invoking `iteratee` for each value
|
1870
|
+
* in `collection` to generate the criterion by which the value is ranked.
|
1871
|
+
* The `iteratee` is invoked with three arguments: (value, index|key, collection).
|
1872
|
+
*
|
1873
|
+
* @private
|
1874
|
+
* @param {Array|Object|string} collection The collection to iterate over.
|
1875
|
+
* @param {Function} iteratee The function invoked per iteration.
|
1876
|
+
* @param {Function} comparator The function used to compare values.
|
1877
|
+
* @param {*} exValue The initial extremum value.
|
1878
|
+
* @returns {*} Returns the extremum value.
|
1879
|
+
*/
|
1880
|
+
function baseExtremum(collection, iteratee, comparator, exValue) {
|
1881
|
+
var computed = exValue,
|
1882
|
+
result = computed;
|
1883
|
+
|
1884
|
+
baseEach(collection, function(value, index, collection) {
|
1885
|
+
var current = +iteratee(value, index, collection);
|
1886
|
+
if (comparator(current, computed) || (current === exValue && current === result)) {
|
1887
|
+
computed = current;
|
1888
|
+
result = value;
|
1889
|
+
}
|
1890
|
+
});
|
1891
|
+
return result;
|
1892
|
+
}
|
1893
|
+
|
1935
1894
|
/**
|
1936
1895
|
* The base implementation of `_.fill` without an iteratee call guard.
|
1937
1896
|
*
|
@@ -2011,8 +1970,8 @@
|
|
2011
1970
|
*
|
2012
1971
|
* @private
|
2013
1972
|
* @param {Array} array The array to flatten.
|
2014
|
-
* @param {boolean} isDeep Specify a deep flatten.
|
2015
|
-
* @param {boolean} isStrict Restrict flattening to arrays
|
1973
|
+
* @param {boolean} [isDeep] Specify a deep flatten.
|
1974
|
+
* @param {boolean} [isStrict] Restrict flattening to arrays-like objects.
|
2016
1975
|
* @returns {Array} Returns the new flattened array.
|
2017
1976
|
*/
|
2018
1977
|
function baseFlatten(array, isDeep, isStrict) {
|
@@ -2023,8 +1982,8 @@
|
|
2023
1982
|
|
2024
1983
|
while (++index < length) {
|
2025
1984
|
var value = array[index];
|
2026
|
-
|
2027
|
-
|
1985
|
+
if (isObjectLike(value) && isArrayLike(value) &&
|
1986
|
+
(isStrict || isArray(value) || isArguments(value))) {
|
2028
1987
|
if (isDeep) {
|
2029
1988
|
// Recursively flatten arrays (susceptible to call stack limits).
|
2030
1989
|
value = baseFlatten(value, isDeep, isStrict);
|
@@ -2032,7 +1991,6 @@
|
|
2032
1991
|
var valIndex = -1,
|
2033
1992
|
valLength = value.length;
|
2034
1993
|
|
2035
|
-
result.length += valLength;
|
2036
1994
|
while (++valIndex < valLength) {
|
2037
1995
|
result[++resIndex] = value[valIndex];
|
2038
1996
|
}
|
@@ -2149,13 +2107,13 @@
|
|
2149
2107
|
if (pathKey !== undefined && pathKey in toObject(object)) {
|
2150
2108
|
path = [pathKey];
|
2151
2109
|
}
|
2152
|
-
var index =
|
2110
|
+
var index = 0,
|
2153
2111
|
length = path.length;
|
2154
2112
|
|
2155
|
-
while (object != null &&
|
2156
|
-
|
2113
|
+
while (object != null && index < length) {
|
2114
|
+
object = object[path[index++]];
|
2157
2115
|
}
|
2158
|
-
return
|
2116
|
+
return (index && index == length) ? object : undefined;
|
2159
2117
|
}
|
2160
2118
|
|
2161
2119
|
/**
|
@@ -2172,18 +2130,10 @@
|
|
2172
2130
|
* @returns {boolean} Returns `true` if the values are equivalent, else `false`.
|
2173
2131
|
*/
|
2174
2132
|
function baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {
|
2175
|
-
// Exit early for identical values.
|
2176
2133
|
if (value === other) {
|
2177
|
-
|
2178
|
-
return value !== 0 || (1 / value == 1 / other);
|
2134
|
+
return true;
|
2179
2135
|
}
|
2180
|
-
|
2181
|
-
othType = typeof other;
|
2182
|
-
|
2183
|
-
// Exit early for unlike primitive values.
|
2184
|
-
if ((valType != 'function' && valType != 'object' && othType != 'function' && othType != 'object') ||
|
2185
|
-
value == null || other == null) {
|
2186
|
-
// Return `false` unless both values are `NaN`.
|
2136
|
+
if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {
|
2187
2137
|
return value !== value && other !== other;
|
2188
2138
|
}
|
2189
2139
|
return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);
|
@@ -2234,11 +2184,11 @@
|
|
2234
2184
|
return equalByTag(object, other, objTag);
|
2235
2185
|
}
|
2236
2186
|
if (!isLoose) {
|
2237
|
-
var
|
2238
|
-
|
2187
|
+
var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
|
2188
|
+
othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
|
2239
2189
|
|
2240
|
-
if (
|
2241
|
-
return equalFunc(
|
2190
|
+
if (objIsWrapped || othIsWrapped) {
|
2191
|
+
return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);
|
2242
2192
|
}
|
2243
2193
|
}
|
2244
2194
|
if (!isSameTag) {
|
@@ -2273,42 +2223,44 @@
|
|
2273
2223
|
*
|
2274
2224
|
* @private
|
2275
2225
|
* @param {Object} object The object to inspect.
|
2276
|
-
* @param {Array}
|
2277
|
-
* @param {Array} values The source values to match.
|
2278
|
-
* @param {Array} strictCompareFlags Strict comparison flags for source values.
|
2226
|
+
* @param {Array} matchData The propery names, values, and compare flags to match.
|
2279
2227
|
* @param {Function} [customizer] The function to customize comparing objects.
|
2280
2228
|
* @returns {boolean} Returns `true` if `object` is a match, else `false`.
|
2281
2229
|
*/
|
2282
|
-
function baseIsMatch(object,
|
2283
|
-
var index =
|
2284
|
-
length =
|
2230
|
+
function baseIsMatch(object, matchData, customizer) {
|
2231
|
+
var index = matchData.length,
|
2232
|
+
length = index,
|
2285
2233
|
noCustomizer = !customizer;
|
2286
2234
|
|
2287
|
-
|
2288
|
-
|
2289
|
-
|
2290
|
-
|
2235
|
+
if (object == null) {
|
2236
|
+
return !length;
|
2237
|
+
}
|
2238
|
+
object = toObject(object);
|
2239
|
+
while (index--) {
|
2240
|
+
var data = matchData[index];
|
2241
|
+
if ((noCustomizer && data[2])
|
2242
|
+
? data[1] !== object[data[0]]
|
2243
|
+
: !(data[0] in object)
|
2291
2244
|
) {
|
2292
2245
|
return false;
|
2293
2246
|
}
|
2294
2247
|
}
|
2295
|
-
index = -1;
|
2296
2248
|
while (++index < length) {
|
2297
|
-
|
2249
|
+
data = matchData[index];
|
2250
|
+
var key = data[0],
|
2298
2251
|
objValue = object[key],
|
2299
|
-
srcValue =
|
2252
|
+
srcValue = data[1];
|
2300
2253
|
|
2301
|
-
if (noCustomizer &&
|
2302
|
-
|
2254
|
+
if (noCustomizer && data[2]) {
|
2255
|
+
if (objValue === undefined && !(key in object)) {
|
2256
|
+
return false;
|
2257
|
+
}
|
2303
2258
|
} else {
|
2304
|
-
result = customizer ? customizer(objValue, srcValue, key) : undefined;
|
2305
|
-
if (result === undefined) {
|
2306
|
-
|
2259
|
+
var result = customizer ? customizer(objValue, srcValue, key) : undefined;
|
2260
|
+
if (!(result === undefined ? baseIsEqual(srcValue, objValue, customizer, true) : result)) {
|
2261
|
+
return false;
|
2307
2262
|
}
|
2308
2263
|
}
|
2309
|
-
if (!result) {
|
2310
|
-
return false;
|
2311
|
-
}
|
2312
2264
|
}
|
2313
2265
|
return true;
|
2314
2266
|
}
|
@@ -2324,8 +2276,7 @@
|
|
2324
2276
|
*/
|
2325
2277
|
function baseMap(collection, iteratee) {
|
2326
2278
|
var index = -1,
|
2327
|
-
|
2328
|
-
result = isLength(length) ? Array(length) : [];
|
2279
|
+
result = isArrayLike(collection) ? Array(collection.length) : [];
|
2329
2280
|
|
2330
2281
|
baseEach(collection, function(value, key, collection) {
|
2331
2282
|
result[++index] = iteratee(value, key, collection);
|
@@ -2341,50 +2292,34 @@
|
|
2341
2292
|
* @returns {Function} Returns the new function.
|
2342
2293
|
*/
|
2343
2294
|
function baseMatches(source) {
|
2344
|
-
var
|
2345
|
-
|
2295
|
+
var matchData = getMatchData(source);
|
2296
|
+
if (matchData.length == 1 && matchData[0][2]) {
|
2297
|
+
var key = matchData[0][0],
|
2298
|
+
value = matchData[0][1];
|
2346
2299
|
|
2347
|
-
|
2348
|
-
|
2349
|
-
|
2350
|
-
|
2351
|
-
|
2352
|
-
|
2353
|
-
|
2354
|
-
if (isStrictComparable(value)) {
|
2355
|
-
return function(object) {
|
2356
|
-
if (object == null) {
|
2357
|
-
return false;
|
2358
|
-
}
|
2359
|
-
return object[key] === value && (value !== undefined || (key in toObject(object)));
|
2360
|
-
};
|
2361
|
-
}
|
2362
|
-
}
|
2363
|
-
var values = Array(length),
|
2364
|
-
strictCompareFlags = Array(length);
|
2365
|
-
|
2366
|
-
while (length--) {
|
2367
|
-
value = source[props[length]];
|
2368
|
-
values[length] = value;
|
2369
|
-
strictCompareFlags[length] = isStrictComparable(value);
|
2300
|
+
return function(object) {
|
2301
|
+
if (object == null) {
|
2302
|
+
return false;
|
2303
|
+
}
|
2304
|
+
return object[key] === value && (value !== undefined || (key in toObject(object)));
|
2305
|
+
};
|
2370
2306
|
}
|
2371
2307
|
return function(object) {
|
2372
|
-
return
|
2308
|
+
return baseIsMatch(object, matchData);
|
2373
2309
|
};
|
2374
2310
|
}
|
2375
2311
|
|
2376
2312
|
/**
|
2377
|
-
* The base implementation of `_.matchesProperty` which does not
|
2378
|
-
* not clone `value`.
|
2313
|
+
* The base implementation of `_.matchesProperty` which does not clone `srcValue`.
|
2379
2314
|
*
|
2380
2315
|
* @private
|
2381
2316
|
* @param {string} path The path of the property to get.
|
2382
|
-
* @param {*}
|
2317
|
+
* @param {*} srcValue The value to compare.
|
2383
2318
|
* @returns {Function} Returns the new function.
|
2384
2319
|
*/
|
2385
|
-
function baseMatchesProperty(path,
|
2320
|
+
function baseMatchesProperty(path, srcValue) {
|
2386
2321
|
var isArr = isArray(path),
|
2387
|
-
isCommon = isKey(path) && isStrictComparable(
|
2322
|
+
isCommon = isKey(path) && isStrictComparable(srcValue),
|
2388
2323
|
pathKey = (path + '');
|
2389
2324
|
|
2390
2325
|
path = toPath(path);
|
@@ -2402,9 +2337,9 @@
|
|
2402
2337
|
key = last(path);
|
2403
2338
|
object = toObject(object);
|
2404
2339
|
}
|
2405
|
-
return object[key] ===
|
2406
|
-
? (
|
2407
|
-
: baseIsEqual(
|
2340
|
+
return object[key] === srcValue
|
2341
|
+
? (srcValue !== undefined || (key in object))
|
2342
|
+
: baseIsEqual(srcValue, object[key], undefined, true);
|
2408
2343
|
};
|
2409
2344
|
}
|
2410
2345
|
|
@@ -2424,11 +2359,9 @@
|
|
2424
2359
|
if (!isObject(object)) {
|
2425
2360
|
return object;
|
2426
2361
|
}
|
2427
|
-
var isSrcArr =
|
2428
|
-
|
2429
|
-
|
2430
|
-
push.apply(props, getSymbols(source));
|
2431
|
-
}
|
2362
|
+
var isSrcArr = isArrayLike(source) && (isArray(source) || isTypedArray(source)),
|
2363
|
+
props = isSrcArr ? null : keys(source);
|
2364
|
+
|
2432
2365
|
arrayEach(props || source, function(srcValue, key) {
|
2433
2366
|
if (props) {
|
2434
2367
|
key = srcValue;
|
@@ -2447,7 +2380,7 @@
|
|
2447
2380
|
if (isCommon) {
|
2448
2381
|
result = srcValue;
|
2449
2382
|
}
|
2450
|
-
if ((
|
2383
|
+
if ((result !== undefined || (isSrcArr && !(key in object))) &&
|
2451
2384
|
(isCommon || (result === result ? (result !== value) : (value === value)))) {
|
2452
2385
|
object[key] = result;
|
2453
2386
|
}
|
@@ -2487,10 +2420,10 @@
|
|
2487
2420
|
|
2488
2421
|
if (isCommon) {
|
2489
2422
|
result = srcValue;
|
2490
|
-
if (
|
2423
|
+
if (isArrayLike(srcValue) && (isArray(srcValue) || isTypedArray(srcValue))) {
|
2491
2424
|
result = isArray(value)
|
2492
2425
|
? value
|
2493
|
-
: (
|
2426
|
+
: (isArrayLike(value) ? arrayCopy(value) : []);
|
2494
2427
|
}
|
2495
2428
|
else if (isPlainObject(srcValue) || isArguments(srcValue)) {
|
2496
2429
|
result = isArguments(value)
|
@@ -2552,9 +2485,9 @@
|
|
2552
2485
|
* @returns {Array} Returns `array`.
|
2553
2486
|
*/
|
2554
2487
|
function basePullAt(array, indexes) {
|
2555
|
-
var length = indexes.length;
|
2488
|
+
var length = array ? indexes.length : 0;
|
2556
2489
|
while (length--) {
|
2557
|
-
var index =
|
2490
|
+
var index = indexes[length];
|
2558
2491
|
if (index != previous && isIndex(index)) {
|
2559
2492
|
var previous = index;
|
2560
2493
|
splice.call(array, index, 1);
|
@@ -2867,7 +2800,7 @@
|
|
2867
2800
|
var mid = (low + high) >>> 1,
|
2868
2801
|
computed = array[mid];
|
2869
2802
|
|
2870
|
-
if (retHighest ? (computed <= value) : (computed < value)) {
|
2803
|
+
if ((retHighest ? (computed <= value) : (computed < value)) && computed !== null) {
|
2871
2804
|
low = mid + 1;
|
2872
2805
|
} else {
|
2873
2806
|
high = mid;
|
@@ -2897,17 +2830,23 @@
|
|
2897
2830
|
var low = 0,
|
2898
2831
|
high = array ? array.length : 0,
|
2899
2832
|
valIsNaN = value !== value,
|
2833
|
+
valIsNull = value === null,
|
2900
2834
|
valIsUndef = value === undefined;
|
2901
2835
|
|
2902
2836
|
while (low < high) {
|
2903
2837
|
var mid = floor((low + high) / 2),
|
2904
2838
|
computed = iteratee(array[mid]),
|
2839
|
+
isDef = computed !== undefined,
|
2905
2840
|
isReflexive = computed === computed;
|
2906
2841
|
|
2907
2842
|
if (valIsNaN) {
|
2908
2843
|
var setLow = isReflexive || retHighest;
|
2844
|
+
} else if (valIsNull) {
|
2845
|
+
setLow = isReflexive && isDef && (retHighest || computed != null);
|
2909
2846
|
} else if (valIsUndef) {
|
2910
|
-
setLow = isReflexive && (retHighest ||
|
2847
|
+
setLow = isReflexive && (retHighest || isDef);
|
2848
|
+
} else if (computed == null) {
|
2849
|
+
setLow = false;
|
2911
2850
|
} else {
|
2912
2851
|
setLow = retHighest ? (computed <= value) : (computed < value);
|
2913
2852
|
}
|
@@ -3038,12 +2977,12 @@
|
|
3038
2977
|
while (++argsIndex < argsLength) {
|
3039
2978
|
result[argsIndex] = args[argsIndex];
|
3040
2979
|
}
|
3041
|
-
var
|
2980
|
+
var offset = argsIndex;
|
3042
2981
|
while (++rightIndex < rightLength) {
|
3043
|
-
result[
|
2982
|
+
result[offset + rightIndex] = partials[rightIndex];
|
3044
2983
|
}
|
3045
2984
|
while (++holdersIndex < holdersLength) {
|
3046
|
-
result[
|
2985
|
+
result[offset + holders[holdersIndex]] = args[argsIndex++];
|
3047
2986
|
}
|
3048
2987
|
return result;
|
3049
2988
|
}
|
@@ -3097,19 +3036,19 @@
|
|
3097
3036
|
return restParam(function(object, sources) {
|
3098
3037
|
var index = -1,
|
3099
3038
|
length = object == null ? 0 : sources.length,
|
3100
|
-
customizer = length > 2
|
3101
|
-
guard = length > 2
|
3102
|
-
thisArg = length > 1
|
3039
|
+
customizer = length > 2 ? sources[length - 2] : undefined,
|
3040
|
+
guard = length > 2 ? sources[2] : undefined,
|
3041
|
+
thisArg = length > 1 ? sources[length - 1] : undefined;
|
3103
3042
|
|
3104
3043
|
if (typeof customizer == 'function') {
|
3105
3044
|
customizer = bindCallback(customizer, thisArg, 5);
|
3106
3045
|
length -= 2;
|
3107
3046
|
} else {
|
3108
|
-
customizer = typeof thisArg == 'function' ? thisArg :
|
3047
|
+
customizer = typeof thisArg == 'function' ? thisArg : undefined;
|
3109
3048
|
length -= (customizer ? 1 : 0);
|
3110
3049
|
}
|
3111
3050
|
if (guard && isIterateeCall(sources[0], sources[1], guard)) {
|
3112
|
-
customizer = length < 3 ?
|
3051
|
+
customizer = length < 3 ? undefined : customizer;
|
3113
3052
|
length = 1;
|
3114
3053
|
}
|
3115
3054
|
while (++index < length) {
|
@@ -3234,8 +3173,20 @@
|
|
3234
3173
|
*/
|
3235
3174
|
function createCtorWrapper(Ctor) {
|
3236
3175
|
return function() {
|
3176
|
+
// Use a `switch` statement to work with class constructors.
|
3177
|
+
// See https://people.mozilla.org/~jorendorff/es6-draft.html#sec-ecmascript-function-objects-call-thisargument-argumentslist
|
3178
|
+
// for more details.
|
3179
|
+
var args = arguments;
|
3180
|
+
switch (args.length) {
|
3181
|
+
case 0: return new Ctor;
|
3182
|
+
case 1: return new Ctor(args[0]);
|
3183
|
+
case 2: return new Ctor(args[0], args[1]);
|
3184
|
+
case 3: return new Ctor(args[0], args[1], args[2]);
|
3185
|
+
case 4: return new Ctor(args[0], args[1], args[2], args[3]);
|
3186
|
+
case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);
|
3187
|
+
}
|
3237
3188
|
var thisBinding = baseCreate(Ctor.prototype),
|
3238
|
-
result = Ctor.apply(thisBinding,
|
3189
|
+
result = Ctor.apply(thisBinding, args);
|
3239
3190
|
|
3240
3191
|
// Mimic the constructor's `return` behavior.
|
3241
3192
|
// See https://es5.github.io/#x13.2.2 for more details.
|
@@ -3266,32 +3217,24 @@
|
|
3266
3217
|
* Creates a `_.max` or `_.min` function.
|
3267
3218
|
*
|
3268
3219
|
* @private
|
3269
|
-
* @param {Function}
|
3270
|
-
* @param {
|
3271
|
-
* extremum value.
|
3220
|
+
* @param {Function} comparator The function used to compare values.
|
3221
|
+
* @param {*} exValue The initial extremum value.
|
3272
3222
|
* @returns {Function} Returns the new extremum function.
|
3273
3223
|
*/
|
3274
|
-
function createExtremum(
|
3224
|
+
function createExtremum(comparator, exValue) {
|
3275
3225
|
return function(collection, iteratee, thisArg) {
|
3276
3226
|
if (thisArg && isIterateeCall(collection, iteratee, thisArg)) {
|
3277
3227
|
iteratee = null;
|
3278
3228
|
}
|
3279
|
-
|
3280
|
-
|
3281
|
-
|
3282
|
-
|
3283
|
-
|
3284
|
-
|
3285
|
-
}
|
3286
|
-
if (noIteratee) {
|
3287
|
-
var isArr = isArray(collection);
|
3288
|
-
if (!isArr && isString(collection)) {
|
3289
|
-
iteratee = charAtCallback;
|
3290
|
-
} else {
|
3291
|
-
return arrayFunc(isArr ? collection : toIterable(collection));
|
3229
|
+
iteratee = getCallback(iteratee, thisArg, 3);
|
3230
|
+
if (iteratee.length == 1) {
|
3231
|
+
collection = toIterable(collection);
|
3232
|
+
var result = arrayExtremum(collection, iteratee, comparator, exValue);
|
3233
|
+
if (!(collection.length && result === exValue)) {
|
3234
|
+
return result;
|
3292
3235
|
}
|
3293
3236
|
}
|
3294
|
-
return
|
3237
|
+
return baseExtremum(collection, iteratee, comparator, exValue);
|
3295
3238
|
};
|
3296
3239
|
}
|
3297
3240
|
|
@@ -3311,7 +3254,7 @@
|
|
3311
3254
|
return index > -1 ? collection[index] : undefined;
|
3312
3255
|
}
|
3313
3256
|
return baseFind(collection, predicate, eachFunc);
|
3314
|
-
}
|
3257
|
+
};
|
3315
3258
|
}
|
3316
3259
|
|
3317
3260
|
/**
|
@@ -3354,11 +3297,8 @@
|
|
3354
3297
|
*/
|
3355
3298
|
function createFlow(fromRight) {
|
3356
3299
|
return function() {
|
3357
|
-
var length = arguments.length;
|
3358
|
-
if (!length) {
|
3359
|
-
return function() { return arguments[0]; };
|
3360
|
-
}
|
3361
3300
|
var wrapper,
|
3301
|
+
length = arguments.length,
|
3362
3302
|
index = fromRight ? length : -1,
|
3363
3303
|
leftIndex = 0,
|
3364
3304
|
funcs = Array(length);
|
@@ -3368,16 +3308,18 @@
|
|
3368
3308
|
if (typeof func != 'function') {
|
3369
3309
|
throw new TypeError(FUNC_ERROR_TEXT);
|
3370
3310
|
}
|
3371
|
-
|
3372
|
-
|
3311
|
+
if (!wrapper && LodashWrapper.prototype.thru && getFuncName(func) == 'wrapper') {
|
3312
|
+
wrapper = new LodashWrapper([]);
|
3313
|
+
}
|
3373
3314
|
}
|
3374
3315
|
index = wrapper ? -1 : length;
|
3375
3316
|
while (++index < length) {
|
3376
3317
|
func = funcs[index];
|
3377
|
-
funcName = getFuncName(func);
|
3378
3318
|
|
3379
|
-
var
|
3380
|
-
|
3319
|
+
var funcName = getFuncName(func),
|
3320
|
+
data = funcName == 'wrapper' ? getData(func) : null;
|
3321
|
+
|
3322
|
+
if (data && isLaziable(data[0]) && data[1] == (ARY_FLAG | CURRY_FLAG | PARTIAL_FLAG | REARG_FLAG) && !data[4].length && data[9] == 1) {
|
3381
3323
|
wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);
|
3382
3324
|
} else {
|
3383
3325
|
wrapper = (func.length == 1 && isLaziable(func)) ? wrapper[funcName]() : wrapper.thru(func);
|
@@ -3389,7 +3331,7 @@
|
|
3389
3331
|
return wrapper.plant(args[0]).value();
|
3390
3332
|
}
|
3391
3333
|
var index = 0,
|
3392
|
-
result = funcs[index].apply(this, args);
|
3334
|
+
result = length ? funcs[index].apply(this, args) : args[0];
|
3393
3335
|
|
3394
3336
|
while (++index < length) {
|
3395
3337
|
result = funcs[index].call(this, result);
|
@@ -3447,6 +3389,28 @@
|
|
3447
3389
|
};
|
3448
3390
|
}
|
3449
3391
|
|
3392
|
+
/**
|
3393
|
+
* Creates a function for `_.mapKeys` or `_.mapValues`.
|
3394
|
+
*
|
3395
|
+
* @private
|
3396
|
+
* @param {boolean} [isMapKeys] Specify mapping keys instead of values.
|
3397
|
+
* @returns {Function} Returns the new map function.
|
3398
|
+
*/
|
3399
|
+
function createObjectMapper(isMapKeys) {
|
3400
|
+
return function(object, iteratee, thisArg) {
|
3401
|
+
var result = {};
|
3402
|
+
iteratee = getCallback(iteratee, thisArg, 3);
|
3403
|
+
|
3404
|
+
baseForOwn(object, function(value, key, object) {
|
3405
|
+
var mapped = iteratee(value, key, object);
|
3406
|
+
key = isMapKeys ? mapped : key;
|
3407
|
+
value = isMapKeys ? value : mapped;
|
3408
|
+
result[key] = value;
|
3409
|
+
});
|
3410
|
+
return result;
|
3411
|
+
};
|
3412
|
+
}
|
3413
|
+
|
3450
3414
|
/**
|
3451
3415
|
* Creates a function for `_.padLeft` or `_.padRight`.
|
3452
3416
|
*
|
@@ -3457,7 +3421,7 @@
|
|
3457
3421
|
function createPadDir(fromRight) {
|
3458
3422
|
return function(string, length, chars) {
|
3459
3423
|
string = baseToString(string);
|
3460
|
-
return
|
3424
|
+
return (fromRight ? string : '') + createPadding(string, length, chars) + (fromRight ? '' : string);
|
3461
3425
|
};
|
3462
3426
|
}
|
3463
3427
|
|
@@ -3516,10 +3480,8 @@
|
|
3516
3480
|
isBindKey = bitmask & BIND_KEY_FLAG,
|
3517
3481
|
isCurry = bitmask & CURRY_FLAG,
|
3518
3482
|
isCurryBound = bitmask & CURRY_BOUND_FLAG,
|
3519
|
-
isCurryRight = bitmask & CURRY_RIGHT_FLAG
|
3520
|
-
|
3521
|
-
var Ctor = !isBindKey && createCtorWrapper(func),
|
3522
|
-
key = func;
|
3483
|
+
isCurryRight = bitmask & CURRY_RIGHT_FLAG,
|
3484
|
+
Ctor = isBindKey ? null : createCtorWrapper(func);
|
3523
3485
|
|
3524
3486
|
function wrapper() {
|
3525
3487
|
// Avoid `arguments` object use disqualifying optimizations by
|
@@ -3566,17 +3528,18 @@
|
|
3566
3528
|
return result;
|
3567
3529
|
}
|
3568
3530
|
}
|
3569
|
-
var thisBinding = isBind ? thisArg : this
|
3570
|
-
|
3571
|
-
|
3572
|
-
}
|
3531
|
+
var thisBinding = isBind ? thisArg : this,
|
3532
|
+
fn = isBindKey ? thisBinding[func] : func;
|
3533
|
+
|
3573
3534
|
if (argPos) {
|
3574
3535
|
args = reorder(args, argPos);
|
3575
3536
|
}
|
3576
3537
|
if (isAry && ary < args.length) {
|
3577
3538
|
args.length = ary;
|
3578
3539
|
}
|
3579
|
-
|
3540
|
+
if (this && this !== root && this instanceof wrapper) {
|
3541
|
+
fn = Ctor || createCtorWrapper(func);
|
3542
|
+
}
|
3580
3543
|
return fn.apply(thisBinding, args);
|
3581
3544
|
}
|
3582
3545
|
return wrapper;
|
@@ -3650,10 +3613,10 @@
|
|
3650
3613
|
*/
|
3651
3614
|
function createSortedIndex(retHighest) {
|
3652
3615
|
return function(array, value, iteratee, thisArg) {
|
3653
|
-
var
|
3654
|
-
return (
|
3616
|
+
var callback = getCallback(iteratee);
|
3617
|
+
return (iteratee == null && callback === baseCallback)
|
3655
3618
|
? binaryIndex(array, value, retHighest)
|
3656
|
-
: binaryIndexBy(array, value,
|
3619
|
+
: binaryIndexBy(array, value, callback(iteratee, thisArg, 1), retHighest);
|
3657
3620
|
};
|
3658
3621
|
}
|
3659
3622
|
|
@@ -3739,40 +3702,35 @@
|
|
3739
3702
|
function equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {
|
3740
3703
|
var index = -1,
|
3741
3704
|
arrLength = array.length,
|
3742
|
-
othLength = other.length
|
3743
|
-
result = true;
|
3705
|
+
othLength = other.length;
|
3744
3706
|
|
3745
3707
|
if (arrLength != othLength && !(isLoose && othLength > arrLength)) {
|
3746
3708
|
return false;
|
3747
3709
|
}
|
3748
|
-
//
|
3749
|
-
while (
|
3710
|
+
// Ignore non-index properties.
|
3711
|
+
while (++index < arrLength) {
|
3750
3712
|
var arrValue = array[index],
|
3751
|
-
othValue = other[index]
|
3752
|
-
|
3753
|
-
|
3754
|
-
if (
|
3755
|
-
result
|
3756
|
-
|
3757
|
-
: customizer(arrValue, othValue, index);
|
3758
|
-
}
|
3759
|
-
if (result === undefined) {
|
3760
|
-
// Recursively compare arrays (susceptible to call stack limits).
|
3761
|
-
if (isLoose) {
|
3762
|
-
var othIndex = othLength;
|
3763
|
-
while (othIndex--) {
|
3764
|
-
othValue = other[othIndex];
|
3765
|
-
result = (arrValue && arrValue === othValue) || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);
|
3766
|
-
if (result) {
|
3767
|
-
break;
|
3768
|
-
}
|
3769
|
-
}
|
3770
|
-
} else {
|
3771
|
-
result = (arrValue && arrValue === othValue) || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);
|
3713
|
+
othValue = other[index],
|
3714
|
+
result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;
|
3715
|
+
|
3716
|
+
if (result !== undefined) {
|
3717
|
+
if (result) {
|
3718
|
+
continue;
|
3772
3719
|
}
|
3720
|
+
return false;
|
3721
|
+
}
|
3722
|
+
// Recursively compare arrays (susceptible to call stack limits).
|
3723
|
+
if (isLoose) {
|
3724
|
+
if (!arraySome(other, function(othValue) {
|
3725
|
+
return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);
|
3726
|
+
})) {
|
3727
|
+
return false;
|
3728
|
+
}
|
3729
|
+
} else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {
|
3730
|
+
return false;
|
3773
3731
|
}
|
3774
3732
|
}
|
3775
|
-
return
|
3733
|
+
return true;
|
3776
3734
|
}
|
3777
3735
|
|
3778
3736
|
/**
|
@@ -3803,8 +3761,7 @@
|
|
3803
3761
|
// Treat `NaN` vs. `NaN` as equal.
|
3804
3762
|
return (object != +object)
|
3805
3763
|
? other != +other
|
3806
|
-
|
3807
|
-
: (object == 0 ? ((1 / object) == (1 / other)) : object == +other);
|
3764
|
+
: object == +other;
|
3808
3765
|
|
3809
3766
|
case regexpTag:
|
3810
3767
|
case stringTag:
|
@@ -3838,29 +3795,22 @@
|
|
3838
3795
|
if (objLength != othLength && !isLoose) {
|
3839
3796
|
return false;
|
3840
3797
|
}
|
3841
|
-
var
|
3842
|
-
|
3843
|
-
|
3798
|
+
var index = objLength;
|
3799
|
+
while (index--) {
|
3800
|
+
var key = objProps[index];
|
3801
|
+
if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {
|
3802
|
+
return false;
|
3803
|
+
}
|
3804
|
+
}
|
3805
|
+
var skipCtor = isLoose;
|
3844
3806
|
while (++index < objLength) {
|
3845
|
-
|
3846
|
-
|
3807
|
+
key = objProps[index];
|
3808
|
+
var objValue = object[key],
|
3809
|
+
othValue = other[key],
|
3810
|
+
result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;
|
3847
3811
|
|
3848
|
-
|
3849
|
-
|
3850
|
-
othValue = other[key];
|
3851
|
-
|
3852
|
-
result = undefined;
|
3853
|
-
if (customizer) {
|
3854
|
-
result = isLoose
|
3855
|
-
? customizer(othValue, objValue, key)
|
3856
|
-
: customizer(objValue, othValue, key);
|
3857
|
-
}
|
3858
|
-
if (result === undefined) {
|
3859
|
-
// Recursively compare objects (susceptible to call stack limits).
|
3860
|
-
result = (objValue && objValue === othValue) || equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB);
|
3861
|
-
}
|
3862
|
-
}
|
3863
|
-
if (!result) {
|
3812
|
+
// Recursively compare objects (susceptible to call stack limits).
|
3813
|
+
if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {
|
3864
3814
|
return false;
|
3865
3815
|
}
|
3866
3816
|
skipCtor || (skipCtor = key == 'constructor');
|
@@ -3880,34 +3830,6 @@
|
|
3880
3830
|
return true;
|
3881
3831
|
}
|
3882
3832
|
|
3883
|
-
/**
|
3884
|
-
* Gets the extremum value of `collection` invoking `iteratee` for each value
|
3885
|
-
* in `collection` to generate the criterion by which the value is ranked.
|
3886
|
-
* The `iteratee` is invoked with three arguments: (value, index, collection).
|
3887
|
-
*
|
3888
|
-
* @private
|
3889
|
-
* @param {Array|Object|string} collection The collection to iterate over.
|
3890
|
-
* @param {Function} iteratee The function invoked per iteration.
|
3891
|
-
* @param {boolean} [isMin] Specify returning the minimum, instead of the
|
3892
|
-
* maximum, extremum value.
|
3893
|
-
* @returns {*} Returns the extremum value.
|
3894
|
-
*/
|
3895
|
-
function extremumBy(collection, iteratee, isMin) {
|
3896
|
-
var exValue = isMin ? POSITIVE_INFINITY : NEGATIVE_INFINITY,
|
3897
|
-
computed = exValue,
|
3898
|
-
result = computed;
|
3899
|
-
|
3900
|
-
baseEach(collection, function(value, index, collection) {
|
3901
|
-
var current = iteratee(value, index, collection);
|
3902
|
-
if ((isMin ? (current < computed) : (current > computed)) ||
|
3903
|
-
(current === exValue && current === result)) {
|
3904
|
-
computed = current;
|
3905
|
-
result = value;
|
3906
|
-
}
|
3907
|
-
});
|
3908
|
-
return result;
|
3909
|
-
}
|
3910
|
-
|
3911
3833
|
/**
|
3912
3834
|
* Gets the appropriate "callback" function. If the `_.callback` method is
|
3913
3835
|
* customized this function returns the custom method, otherwise it returns
|
@@ -3941,29 +3863,20 @@
|
|
3941
3863
|
* @param {Function} func The function to query.
|
3942
3864
|
* @returns {string} Returns the function name.
|
3943
3865
|
*/
|
3944
|
-
|
3945
|
-
|
3946
|
-
|
3947
|
-
|
3948
|
-
if (constant.name == 'constant') {
|
3949
|
-
return baseProperty('name');
|
3950
|
-
}
|
3951
|
-
return function(func) {
|
3952
|
-
var result = func.name,
|
3953
|
-
array = realNames[result],
|
3954
|
-
length = array ? array.length : 0;
|
3955
|
-
|
3956
|
-
while (length--) {
|
3957
|
-
var data = array[length],
|
3958
|
-
otherFunc = data.func;
|
3866
|
+
function getFuncName(func) {
|
3867
|
+
var result = func.name,
|
3868
|
+
array = realNames[result],
|
3869
|
+
length = array ? array.length : 0;
|
3959
3870
|
|
3960
|
-
|
3961
|
-
|
3962
|
-
|
3871
|
+
while (length--) {
|
3872
|
+
var data = array[length],
|
3873
|
+
otherFunc = data.func;
|
3874
|
+
if (otherFunc == null || otherFunc == func) {
|
3875
|
+
return data.name;
|
3963
3876
|
}
|
3964
|
-
|
3965
|
-
|
3966
|
-
}
|
3877
|
+
}
|
3878
|
+
return result;
|
3879
|
+
}
|
3967
3880
|
|
3968
3881
|
/**
|
3969
3882
|
* Gets the appropriate "indexOf" function. If the `_.indexOf` method is
|
@@ -3984,7 +3897,7 @@
|
|
3984
3897
|
* Gets the "length" property value of `object`.
|
3985
3898
|
*
|
3986
3899
|
* **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)
|
3987
|
-
*
|
3900
|
+
* that affects Safari on at least iOS 8.1-8.3 ARM64.
|
3988
3901
|
*
|
3989
3902
|
* @private
|
3990
3903
|
* @param {Object} object The object to query.
|
@@ -3993,15 +3906,34 @@
|
|
3993
3906
|
var getLength = baseProperty('length');
|
3994
3907
|
|
3995
3908
|
/**
|
3996
|
-
*
|
3909
|
+
* Gets the propery names, values, and compare flags of `object`.
|
3997
3910
|
*
|
3998
3911
|
* @private
|
3999
3912
|
* @param {Object} object The object to query.
|
4000
|
-
* @returns {Array} Returns the
|
3913
|
+
* @returns {Array} Returns the match data of `object`.
|
4001
3914
|
*/
|
4002
|
-
|
4003
|
-
|
4004
|
-
|
3915
|
+
function getMatchData(object) {
|
3916
|
+
var result = pairs(object),
|
3917
|
+
length = result.length;
|
3918
|
+
|
3919
|
+
while (length--) {
|
3920
|
+
result[length][2] = isStrictComparable(result[length][1]);
|
3921
|
+
}
|
3922
|
+
return result;
|
3923
|
+
}
|
3924
|
+
|
3925
|
+
/**
|
3926
|
+
* Gets the native function at `key` of `object`.
|
3927
|
+
*
|
3928
|
+
* @private
|
3929
|
+
* @param {Object} object The object to query.
|
3930
|
+
* @param {string} key The key of the method to get.
|
3931
|
+
* @returns {*} Returns the function if it's native, else `undefined`.
|
3932
|
+
*/
|
3933
|
+
function getNative(object, key) {
|
3934
|
+
var value = object == null ? undefined : object[key];
|
3935
|
+
return isNative(value) ? value : undefined;
|
3936
|
+
}
|
4005
3937
|
|
4006
3938
|
/**
|
4007
3939
|
* Gets the view, applying any `transforms` to the `start` and `end` positions.
|
@@ -4123,6 +4055,17 @@
|
|
4123
4055
|
return func == null ? undefined : func.apply(object, args);
|
4124
4056
|
}
|
4125
4057
|
|
4058
|
+
/**
|
4059
|
+
* Checks if `value` is array-like.
|
4060
|
+
*
|
4061
|
+
* @private
|
4062
|
+
* @param {*} value The value to check.
|
4063
|
+
* @returns {boolean} Returns `true` if `value` is array-like, else `false`.
|
4064
|
+
*/
|
4065
|
+
function isArrayLike(value) {
|
4066
|
+
return value != null && isLength(getLength(value));
|
4067
|
+
}
|
4068
|
+
|
4126
4069
|
/**
|
4127
4070
|
* Checks if `value` is a valid array-like index.
|
4128
4071
|
*
|
@@ -4132,7 +4075,7 @@
|
|
4132
4075
|
* @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
|
4133
4076
|
*/
|
4134
4077
|
function isIndex(value, length) {
|
4135
|
-
value = +value;
|
4078
|
+
value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;
|
4136
4079
|
length = length == null ? MAX_SAFE_INTEGER : length;
|
4137
4080
|
return value > -1 && value % 1 == 0 && value < length;
|
4138
4081
|
}
|
@@ -4151,13 +4094,9 @@
|
|
4151
4094
|
return false;
|
4152
4095
|
}
|
4153
4096
|
var type = typeof index;
|
4154
|
-
if (type == 'number'
|
4155
|
-
|
4156
|
-
|
4157
|
-
} else {
|
4158
|
-
prereq = type == 'string' && index in object;
|
4159
|
-
}
|
4160
|
-
if (prereq) {
|
4097
|
+
if (type == 'number'
|
4098
|
+
? (isArrayLike(object) && isIndex(index, object.length))
|
4099
|
+
: (type == 'string' && index in object)) {
|
4161
4100
|
var other = object[index];
|
4162
4101
|
return value === value ? (value === other) : (other !== other);
|
4163
4102
|
}
|
@@ -4193,7 +4132,15 @@
|
|
4193
4132
|
*/
|
4194
4133
|
function isLaziable(func) {
|
4195
4134
|
var funcName = getFuncName(func);
|
4196
|
-
|
4135
|
+
if (!(funcName in LazyWrapper.prototype)) {
|
4136
|
+
return false;
|
4137
|
+
}
|
4138
|
+
var other = lodash[funcName];
|
4139
|
+
if (func === other) {
|
4140
|
+
return true;
|
4141
|
+
}
|
4142
|
+
var data = getData(other);
|
4143
|
+
return !!data && func === data[0];
|
4197
4144
|
}
|
4198
4145
|
|
4199
4146
|
/**
|
@@ -4218,7 +4165,7 @@
|
|
4218
4165
|
* equality comparisons, else `false`.
|
4219
4166
|
*/
|
4220
4167
|
function isStrictComparable(value) {
|
4221
|
-
return value === value &&
|
4168
|
+
return value === value && !isObject(value);
|
4222
4169
|
}
|
4223
4170
|
|
4224
4171
|
/**
|
@@ -4292,7 +4239,7 @@
|
|
4292
4239
|
}
|
4293
4240
|
|
4294
4241
|
/**
|
4295
|
-
* A specialized version of `_.pick`
|
4242
|
+
* A specialized version of `_.pick` which picks `object` properties specified
|
4296
4243
|
* by `props`.
|
4297
4244
|
*
|
4298
4245
|
* @private
|
@@ -4317,7 +4264,7 @@
|
|
4317
4264
|
}
|
4318
4265
|
|
4319
4266
|
/**
|
4320
|
-
* A specialized version of `_.pick`
|
4267
|
+
* A specialized version of `_.pick` which picks `object` properties `predicate`
|
4321
4268
|
* returns truthy for.
|
4322
4269
|
*
|
4323
4270
|
* @private
|
@@ -4433,11 +4380,10 @@
|
|
4433
4380
|
function shimKeys(object) {
|
4434
4381
|
var props = keysIn(object),
|
4435
4382
|
propsLength = props.length,
|
4436
|
-
length = propsLength && object.length
|
4437
|
-
support = lodash.support;
|
4383
|
+
length = propsLength && object.length;
|
4438
4384
|
|
4439
|
-
var allowIndexes = length && isLength(length) &&
|
4440
|
-
(isArray(object) ||
|
4385
|
+
var allowIndexes = !!length && isLength(length) &&
|
4386
|
+
(isArray(object) || isArguments(object));
|
4441
4387
|
|
4442
4388
|
var index = -1,
|
4443
4389
|
result = [];
|
@@ -4452,7 +4398,7 @@
|
|
4452
4398
|
}
|
4453
4399
|
|
4454
4400
|
/**
|
4455
|
-
* Converts `value` to an array-like object if it
|
4401
|
+
* Converts `value` to an array-like object if it's not one.
|
4456
4402
|
*
|
4457
4403
|
* @private
|
4458
4404
|
* @param {*} value The value to process.
|
@@ -4462,14 +4408,14 @@
|
|
4462
4408
|
if (value == null) {
|
4463
4409
|
return [];
|
4464
4410
|
}
|
4465
|
-
if (!
|
4411
|
+
if (!isArrayLike(value)) {
|
4466
4412
|
return values(value);
|
4467
4413
|
}
|
4468
4414
|
return isObject(value) ? value : Object(value);
|
4469
4415
|
}
|
4470
4416
|
|
4471
4417
|
/**
|
4472
|
-
* Converts `value` to an object if it
|
4418
|
+
* Converts `value` to an object if it's not one.
|
4473
4419
|
*
|
4474
4420
|
* @private
|
4475
4421
|
* @param {*} value The value to process.
|
@@ -4480,7 +4426,7 @@
|
|
4480
4426
|
}
|
4481
4427
|
|
4482
4428
|
/**
|
4483
|
-
* Converts `value` to property path array if it
|
4429
|
+
* Converts `value` to property path array if it's not one.
|
4484
4430
|
*
|
4485
4431
|
* @private
|
4486
4432
|
* @param {*} value The value to process.
|
@@ -4579,12 +4525,9 @@
|
|
4579
4525
|
}
|
4580
4526
|
|
4581
4527
|
/**
|
4582
|
-
* Creates an array
|
4583
|
-
* `SameValueZero`
|
4584
|
-
*
|
4585
|
-
* **Note:** [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
|
4586
|
-
* comparisons are like strict equality comparisons, e.g. `===`, except that
|
4587
|
-
* `NaN` matches `NaN`.
|
4528
|
+
* Creates an array of unique `array` values not included in the other
|
4529
|
+
* provided arrays using [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
|
4530
|
+
* for equality comparisons.
|
4588
4531
|
*
|
4589
4532
|
* @static
|
4590
4533
|
* @memberOf _
|
@@ -4598,7 +4541,7 @@
|
|
4598
4541
|
* // => [1, 3]
|
4599
4542
|
*/
|
4600
4543
|
var difference = restParam(function(array, values) {
|
4601
|
-
return (
|
4544
|
+
return isArrayLike(array)
|
4602
4545
|
? baseDifference(array, baseFlatten(values, false, true))
|
4603
4546
|
: [];
|
4604
4547
|
});
|
@@ -4993,13 +4936,10 @@
|
|
4993
4936
|
|
4994
4937
|
/**
|
4995
4938
|
* Gets the index at which the first occurrence of `value` is found in `array`
|
4996
|
-
* using `SameValueZero`
|
4997
|
-
*
|
4998
|
-
* providing `true` for `fromIndex`
|
4999
|
-
*
|
5000
|
-
* **Note:** [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
|
5001
|
-
* comparisons are like strict equality comparisons, e.g. `===`, except that
|
5002
|
-
* `NaN` matches `NaN`.
|
4939
|
+
* using [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
|
4940
|
+
* for equality comparisons. If `fromIndex` is negative, it is used as the offset
|
4941
|
+
* from the end of `array`. If `array` is sorted providing `true` for `fromIndex`
|
4942
|
+
* performs a faster binary search.
|
5003
4943
|
*
|
5004
4944
|
* @static
|
5005
4945
|
* @memberOf _
|
@@ -5059,13 +4999,10 @@
|
|
5059
4999
|
}
|
5060
5000
|
|
5061
5001
|
/**
|
5062
|
-
* Creates an array of unique values in all
|
5002
|
+
* Creates an array of unique values that are included in all of the provided
|
5003
|
+
* arrays using [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
|
5063
5004
|
* for equality comparisons.
|
5064
5005
|
*
|
5065
|
-
* **Note:** [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
|
5066
|
-
* comparisons are like strict equality comparisons, e.g. `===`, except that
|
5067
|
-
* `NaN` matches `NaN`.
|
5068
|
-
*
|
5069
5006
|
* @static
|
5070
5007
|
* @memberOf _
|
5071
5008
|
* @category Array
|
@@ -5075,27 +5012,19 @@
|
|
5075
5012
|
* _.intersection([1, 2], [4, 2], [2, 1]);
|
5076
5013
|
* // => [2]
|
5077
5014
|
*/
|
5078
|
-
|
5079
|
-
var
|
5080
|
-
|
5081
|
-
|
5082
|
-
caches = [],
|
5015
|
+
var intersection = restParam(function(arrays) {
|
5016
|
+
var othLength = arrays.length,
|
5017
|
+
othIndex = othLength,
|
5018
|
+
caches = Array(length),
|
5083
5019
|
indexOf = getIndexOf(),
|
5084
5020
|
isCommon = indexOf == baseIndexOf,
|
5085
5021
|
result = [];
|
5086
5022
|
|
5087
|
-
while (
|
5088
|
-
var value =
|
5089
|
-
|
5090
|
-
args.push(value);
|
5091
|
-
caches.push((isCommon && value.length >= 120) ? createCache(argsIndex && value) : null);
|
5092
|
-
}
|
5023
|
+
while (othIndex--) {
|
5024
|
+
var value = arrays[othIndex] = isArrayLike(value = arrays[othIndex]) ? value : [];
|
5025
|
+
caches[othIndex] = (isCommon && value.length >= 120) ? createCache(othIndex && value) : null;
|
5093
5026
|
}
|
5094
|
-
|
5095
|
-
if (argsLength < 2) {
|
5096
|
-
return result;
|
5097
|
-
}
|
5098
|
-
var array = args[0],
|
5027
|
+
var array = arrays[0],
|
5099
5028
|
index = -1,
|
5100
5029
|
length = array ? array.length : 0,
|
5101
5030
|
seen = caches[0];
|
@@ -5104,10 +5033,10 @@
|
|
5104
5033
|
while (++index < length) {
|
5105
5034
|
value = array[index];
|
5106
5035
|
if ((seen ? cacheIndexOf(seen, value) : indexOf(result, value, 0)) < 0) {
|
5107
|
-
|
5108
|
-
while (--
|
5109
|
-
var cache = caches[
|
5110
|
-
if ((cache ? cacheIndexOf(cache, value) : indexOf(
|
5036
|
+
var othIndex = othLength;
|
5037
|
+
while (--othIndex) {
|
5038
|
+
var cache = caches[othIndex];
|
5039
|
+
if ((cache ? cacheIndexOf(cache, value) : indexOf(arrays[othIndex], value, 0)) < 0) {
|
5111
5040
|
continue outer;
|
5112
5041
|
}
|
5113
5042
|
}
|
@@ -5118,7 +5047,7 @@
|
|
5118
5047
|
}
|
5119
5048
|
}
|
5120
5049
|
return result;
|
5121
|
-
}
|
5050
|
+
});
|
5122
5051
|
|
5123
5052
|
/**
|
5124
5053
|
* Gets the last element of `array`.
|
@@ -5191,14 +5120,11 @@
|
|
5191
5120
|
}
|
5192
5121
|
|
5193
5122
|
/**
|
5194
|
-
* Removes all provided values from `array` using
|
5195
|
-
*
|
5123
|
+
* Removes all provided values from `array` using
|
5124
|
+
* [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
|
5125
|
+
* for equality comparisons.
|
5196
5126
|
*
|
5197
|
-
* **
|
5198
|
-
* - Unlike `_.without`, this method mutates `array`
|
5199
|
-
* - [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
|
5200
|
-
* comparisons are like strict equality comparisons, e.g. `===`, except
|
5201
|
-
* that `NaN` matches `NaN`
|
5127
|
+
* **Note:** Unlike `_.without`, this method mutates `array`.
|
5202
5128
|
*
|
5203
5129
|
* @static
|
5204
5130
|
* @memberOf _
|
@@ -5262,7 +5188,6 @@
|
|
5262
5188
|
* // => [10, 20]
|
5263
5189
|
*/
|
5264
5190
|
var pullAt = restParam(function(array, indexes) {
|
5265
|
-
array || (array = []);
|
5266
5191
|
indexes = baseFlatten(indexes);
|
5267
5192
|
|
5268
5193
|
var result = baseAt(array, indexes);
|
@@ -5628,12 +5553,9 @@
|
|
5628
5553
|
}
|
5629
5554
|
|
5630
5555
|
/**
|
5631
|
-
* Creates an array of unique values, in order, of the provided arrays
|
5632
|
-
* `SameValueZero`
|
5633
|
-
*
|
5634
|
-
* **Note:** [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
|
5635
|
-
* comparisons are like strict equality comparisons, e.g. `===`, except that
|
5636
|
-
* `NaN` matches `NaN`.
|
5556
|
+
* Creates an array of unique values, in order, from all of the provided arrays
|
5557
|
+
* using [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
|
5558
|
+
* for equality comparisons.
|
5637
5559
|
*
|
5638
5560
|
* @static
|
5639
5561
|
* @memberOf _
|
@@ -5650,8 +5572,9 @@
|
|
5650
5572
|
});
|
5651
5573
|
|
5652
5574
|
/**
|
5653
|
-
* Creates a duplicate-free version of an array, using
|
5654
|
-
*
|
5575
|
+
* Creates a duplicate-free version of an array, using
|
5576
|
+
* [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
|
5577
|
+
* for equality comparisons, in which only the first occurence of each element
|
5655
5578
|
* is kept. Providing `true` for `isSorted` performs a faster search algorithm
|
5656
5579
|
* for sorted arrays. If an iteratee function is provided it is invoked for
|
5657
5580
|
* each element in the array to generate the criterion by which uniqueness
|
@@ -5669,10 +5592,6 @@
|
|
5669
5592
|
* callback returns `true` for elements that have the properties of the given
|
5670
5593
|
* object, else `false`.
|
5671
5594
|
*
|
5672
|
-
* **Note:** [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
|
5673
|
-
* comparisons are like strict equality comparisons, e.g. `===`, except that
|
5674
|
-
* `NaN` matches `NaN`.
|
5675
|
-
*
|
5676
5595
|
* @static
|
5677
5596
|
* @memberOf _
|
5678
5597
|
* @alias unique
|
@@ -5711,9 +5630,9 @@
|
|
5711
5630
|
iteratee = isIterateeCall(array, isSorted, thisArg) ? null : isSorted;
|
5712
5631
|
isSorted = false;
|
5713
5632
|
}
|
5714
|
-
var
|
5715
|
-
if (!(
|
5716
|
-
iteratee =
|
5633
|
+
var callback = getCallback();
|
5634
|
+
if (!(iteratee == null && callback === baseCallback)) {
|
5635
|
+
iteratee = callback(iteratee, thisArg, 3);
|
5717
5636
|
}
|
5718
5637
|
return (isSorted && getIndexOf() == baseIndexOf)
|
5719
5638
|
? sortedUniq(array, iteratee)
|
@@ -5722,7 +5641,7 @@
|
|
5722
5641
|
|
5723
5642
|
/**
|
5724
5643
|
* This method is like `_.zip` except that it accepts an array of grouped
|
5725
|
-
* elements and creates an array regrouping the elements to their pre
|
5644
|
+
* elements and creates an array regrouping the elements to their pre-zip
|
5726
5645
|
* configuration.
|
5727
5646
|
*
|
5728
5647
|
* @static
|
@@ -5739,10 +5658,19 @@
|
|
5739
5658
|
* // => [['fred', 'barney'], [30, 40], [true, false]]
|
5740
5659
|
*/
|
5741
5660
|
function unzip(array) {
|
5661
|
+
if (!(array && array.length)) {
|
5662
|
+
return [];
|
5663
|
+
}
|
5742
5664
|
var index = -1,
|
5743
|
-
length =
|
5744
|
-
result = Array(length);
|
5665
|
+
length = 0;
|
5745
5666
|
|
5667
|
+
array = arrayFilter(array, function(group) {
|
5668
|
+
if (isArrayLike(group)) {
|
5669
|
+
length = nativeMax(group.length, length);
|
5670
|
+
return true;
|
5671
|
+
}
|
5672
|
+
});
|
5673
|
+
var result = Array(length);
|
5746
5674
|
while (++index < length) {
|
5747
5675
|
result[index] = arrayMap(array, baseProperty(index));
|
5748
5676
|
}
|
@@ -5750,12 +5678,44 @@
|
|
5750
5678
|
}
|
5751
5679
|
|
5752
5680
|
/**
|
5753
|
-
*
|
5754
|
-
*
|
5681
|
+
* This method is like `_.unzip` except that it accepts an iteratee to specify
|
5682
|
+
* how regrouped values should be combined. The `iteratee` is bound to `thisArg`
|
5683
|
+
* and invoked with four arguments: (accumulator, value, index, group).
|
5684
|
+
*
|
5685
|
+
* @static
|
5686
|
+
* @memberOf _
|
5687
|
+
* @category Array
|
5688
|
+
* @param {Array} array The array of grouped elements to process.
|
5689
|
+
* @param {Function} [iteratee] The function to combine regrouped values.
|
5690
|
+
* @param {*} [thisArg] The `this` binding of `iteratee`.
|
5691
|
+
* @returns {Array} Returns the new array of regrouped elements.
|
5692
|
+
* @example
|
5755
5693
|
*
|
5756
|
-
*
|
5757
|
-
*
|
5758
|
-
*
|
5694
|
+
* var zipped = _.zip([1, 2], [10, 20], [100, 200]);
|
5695
|
+
* // => [[1, 10, 100], [2, 20, 200]]
|
5696
|
+
*
|
5697
|
+
* _.unzipWith(zipped, _.add);
|
5698
|
+
* // => [3, 30, 300]
|
5699
|
+
*/
|
5700
|
+
function unzipWith(array, iteratee, thisArg) {
|
5701
|
+
var length = array ? array.length : 0;
|
5702
|
+
if (!length) {
|
5703
|
+
return [];
|
5704
|
+
}
|
5705
|
+
var result = unzip(array);
|
5706
|
+
if (iteratee == null) {
|
5707
|
+
return result;
|
5708
|
+
}
|
5709
|
+
iteratee = bindCallback(iteratee, thisArg, 4);
|
5710
|
+
return arrayMap(result, function(group) {
|
5711
|
+
return arrayReduce(group, iteratee, undefined, true);
|
5712
|
+
});
|
5713
|
+
}
|
5714
|
+
|
5715
|
+
/**
|
5716
|
+
* Creates an array excluding all provided values using
|
5717
|
+
* [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
|
5718
|
+
* for equality comparisons.
|
5759
5719
|
*
|
5760
5720
|
* @static
|
5761
5721
|
* @memberOf _
|
@@ -5769,13 +5729,13 @@
|
|
5769
5729
|
* // => [3]
|
5770
5730
|
*/
|
5771
5731
|
var without = restParam(function(array, values) {
|
5772
|
-
return (
|
5732
|
+
return isArrayLike(array)
|
5773
5733
|
? baseDifference(array, values)
|
5774
5734
|
: [];
|
5775
5735
|
});
|
5776
5736
|
|
5777
5737
|
/**
|
5778
|
-
* Creates an array that is the [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)
|
5738
|
+
* Creates an array of unique values that is the [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)
|
5779
5739
|
* of the provided arrays.
|
5780
5740
|
*
|
5781
5741
|
* @static
|
@@ -5794,7 +5754,7 @@
|
|
5794
5754
|
|
5795
5755
|
while (++index < length) {
|
5796
5756
|
var array = arguments[index];
|
5797
|
-
if (
|
5757
|
+
if (isArrayLike(array)) {
|
5798
5758
|
var result = result
|
5799
5759
|
? baseDifference(result, array).concat(baseDifference(array, result))
|
5800
5760
|
: array;
|
@@ -5860,6 +5820,38 @@
|
|
5860
5820
|
return result;
|
5861
5821
|
}
|
5862
5822
|
|
5823
|
+
/**
|
5824
|
+
* This method is like `_.zip` except that it accepts an iteratee to specify
|
5825
|
+
* how grouped values should be combined. The `iteratee` is bound to `thisArg`
|
5826
|
+
* and invoked with four arguments: (accumulator, value, index, group).
|
5827
|
+
*
|
5828
|
+
* @static
|
5829
|
+
* @memberOf _
|
5830
|
+
* @category Array
|
5831
|
+
* @param {...Array} [arrays] The arrays to process.
|
5832
|
+
* @param {Function} [iteratee] The function to combine grouped values.
|
5833
|
+
* @param {*} [thisArg] The `this` binding of `iteratee`.
|
5834
|
+
* @returns {Array} Returns the new array of grouped elements.
|
5835
|
+
* @example
|
5836
|
+
*
|
5837
|
+
* _.zipWith([1, 2], [10, 20], [100, 200], _.add);
|
5838
|
+
* // => [111, 222]
|
5839
|
+
*/
|
5840
|
+
var zipWith = restParam(function(arrays) {
|
5841
|
+
var length = arrays.length,
|
5842
|
+
iteratee = length > 2 ? arrays[length - 2] : undefined,
|
5843
|
+
thisArg = length > 1 ? arrays[length - 1] : undefined;
|
5844
|
+
|
5845
|
+
if (length > 2 && typeof iteratee == 'function') {
|
5846
|
+
length -= 2;
|
5847
|
+
} else {
|
5848
|
+
iteratee = (length > 1 && typeof thisArg == 'function') ? (--length, thisArg) : undefined;
|
5849
|
+
thisArg = undefined;
|
5850
|
+
}
|
5851
|
+
arrays.length = length;
|
5852
|
+
return unzipWith(arrays, iteratee, thisArg);
|
5853
|
+
});
|
5854
|
+
|
5863
5855
|
/*------------------------------------------------------------------------*/
|
5864
5856
|
|
5865
5857
|
/**
|
@@ -6135,10 +6127,6 @@
|
|
6135
6127
|
* // => ['barney', 'pebbles']
|
6136
6128
|
*/
|
6137
6129
|
var at = restParam(function(collection, props) {
|
6138
|
-
var length = collection ? getLength(collection) : 0;
|
6139
|
-
if (isLength(length)) {
|
6140
|
-
collection = toIterable(collection);
|
6141
|
-
}
|
6142
6130
|
return baseAt(collection, baseFlatten(props));
|
6143
6131
|
});
|
6144
6132
|
|
@@ -6511,13 +6499,10 @@
|
|
6511
6499
|
});
|
6512
6500
|
|
6513
6501
|
/**
|
6514
|
-
* Checks if `value` is in `collection` using
|
6515
|
-
*
|
6516
|
-
*
|
6517
|
-
*
|
6518
|
-
* **Note:** [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
|
6519
|
-
* comparisons are like strict equality comparisons, e.g. `===`, except that
|
6520
|
-
* `NaN` matches `NaN`.
|
6502
|
+
* Checks if `value` is in `collection` using
|
6503
|
+
* [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
|
6504
|
+
* for equality comparisons. If `fromIndex` is negative, it is used as the offset
|
6505
|
+
* from the end of `collection`.
|
6521
6506
|
*
|
6522
6507
|
* @static
|
6523
6508
|
* @memberOf _
|
@@ -6612,7 +6597,7 @@
|
|
6612
6597
|
});
|
6613
6598
|
|
6614
6599
|
/**
|
6615
|
-
* Invokes the method at `path`
|
6600
|
+
* Invokes the method at `path` of each element in `collection`, returning
|
6616
6601
|
* an array of the results of each invoked method. Any additional arguments
|
6617
6602
|
* are provided to each invoked method. If `methodName` is a function it is
|
6618
6603
|
* invoked for, and `this` bound to, each element in `collection`.
|
@@ -6637,11 +6622,10 @@
|
|
6637
6622
|
var index = -1,
|
6638
6623
|
isFunc = typeof path == 'function',
|
6639
6624
|
isProp = isKey(path),
|
6640
|
-
|
6641
|
-
result = isLength(length) ? Array(length) : [];
|
6625
|
+
result = isArrayLike(collection) ? Array(collection.length) : [];
|
6642
6626
|
|
6643
6627
|
baseEach(collection, function(value) {
|
6644
|
-
var func = isFunc ? path : (isProp && value != null
|
6628
|
+
var func = isFunc ? path : ((isProp && value != null) ? value[path] : null);
|
6645
6629
|
result[++index] = func ? func.apply(value, args) : invokePath(value, path, args);
|
6646
6630
|
});
|
6647
6631
|
return result;
|
@@ -6663,14 +6647,15 @@
|
|
6663
6647
|
* callback returns `true` for elements that have the properties of the given
|
6664
6648
|
* object, else `false`.
|
6665
6649
|
*
|
6666
|
-
* Many lodash methods are guarded to work as
|
6650
|
+
* Many lodash methods are guarded to work as iteratees for methods like
|
6667
6651
|
* `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.
|
6668
6652
|
*
|
6669
6653
|
* The guarded methods are:
|
6670
|
-
* `ary`, `callback`, `chunk`, `clone`, `create`, `curry`, `curryRight`,
|
6671
|
-
* `dropRight`, `every`, `fill`, `flatten`, `invert`, `max`, `min`,
|
6672
|
-
* `slice`, `sortBy`, `take`, `takeRight`, `template`, `trim`,
|
6673
|
-
* `trimRight`, `trunc`, `random`, `range`, `sample`, `some`,
|
6654
|
+
* `ary`, `callback`, `chunk`, `clone`, `create`, `curry`, `curryRight`,
|
6655
|
+
* `drop`, `dropRight`, `every`, `fill`, `flatten`, `invert`, `max`, `min`,
|
6656
|
+
* `parseInt`, `slice`, `sortBy`, `take`, `takeRight`, `template`, `trim`,
|
6657
|
+
* `trimLeft`, `trimRight`, `trunc`, `random`, `range`, `sample`, `some`,
|
6658
|
+
* `sum`, `uniq`, and `words`
|
6674
6659
|
*
|
6675
6660
|
* @static
|
6676
6661
|
* @memberOf _
|
@@ -6806,7 +6791,7 @@
|
|
6806
6791
|
* value. The `iteratee` is bound to `thisArg` and invoked with four arguments:
|
6807
6792
|
* (accumulator, value, index|key, collection).
|
6808
6793
|
*
|
6809
|
-
* Many lodash methods are guarded to work as
|
6794
|
+
* Many lodash methods are guarded to work as iteratees for methods like
|
6810
6795
|
* `_.reduce`, `_.reduceRight`, and `_.transform`.
|
6811
6796
|
*
|
6812
6797
|
* The guarded methods are:
|
@@ -6858,23 +6843,12 @@
|
|
6858
6843
|
* }, []);
|
6859
6844
|
* // => [4, 5, 2, 3, 0, 1]
|
6860
6845
|
*/
|
6861
|
-
var reduceRight =
|
6846
|
+
var reduceRight = createReduce(arrayReduceRight, baseEachRight);
|
6862
6847
|
|
6863
6848
|
/**
|
6864
6849
|
* The opposite of `_.filter`; this method returns the elements of `collection`
|
6865
6850
|
* that `predicate` does **not** return truthy for.
|
6866
6851
|
*
|
6867
|
-
* If a property name is provided for `predicate` the created `_.property`
|
6868
|
-
* style callback returns the property value of the given element.
|
6869
|
-
*
|
6870
|
-
* If a value is also provided for `thisArg` the created `_.matchesProperty`
|
6871
|
-
* style callback returns `true` for elements that have a matching property
|
6872
|
-
* value, else `false`.
|
6873
|
-
*
|
6874
|
-
* If an object is provided for `predicate` the created `_.matches` style
|
6875
|
-
* callback returns `true` for elements that have the properties of the given
|
6876
|
-
* object, else `false`.
|
6877
|
-
*
|
6878
6852
|
* @static
|
6879
6853
|
* @memberOf _
|
6880
6854
|
* @category Collection
|
@@ -6939,8 +6913,20 @@
|
|
6939
6913
|
var length = collection.length;
|
6940
6914
|
return length > 0 ? collection[baseRandom(0, length - 1)] : undefined;
|
6941
6915
|
}
|
6942
|
-
var
|
6943
|
-
|
6916
|
+
var index = -1,
|
6917
|
+
result = toArray(collection),
|
6918
|
+
length = result.length,
|
6919
|
+
lastIndex = length - 1;
|
6920
|
+
|
6921
|
+
n = nativeMin(n < 0 ? 0 : (+n || 0), length);
|
6922
|
+
while (++index < n) {
|
6923
|
+
var rand = baseRandom(index, lastIndex),
|
6924
|
+
value = result[rand];
|
6925
|
+
|
6926
|
+
result[rand] = result[index];
|
6927
|
+
result[index] = value;
|
6928
|
+
}
|
6929
|
+
result.length = n;
|
6944
6930
|
return result;
|
6945
6931
|
}
|
6946
6932
|
|
@@ -6959,20 +6945,7 @@
|
|
6959
6945
|
* // => [4, 1, 3, 2]
|
6960
6946
|
*/
|
6961
6947
|
function shuffle(collection) {
|
6962
|
-
|
6963
|
-
|
6964
|
-
var index = -1,
|
6965
|
-
length = collection.length,
|
6966
|
-
result = Array(length);
|
6967
|
-
|
6968
|
-
while (++index < length) {
|
6969
|
-
var rand = baseRandom(0, index);
|
6970
|
-
if (index != rand) {
|
6971
|
-
result[index] = result[rand];
|
6972
|
-
}
|
6973
|
-
result[rand] = collection[index];
|
6974
|
-
}
|
6975
|
-
return result;
|
6948
|
+
return sample(collection, POSITIVE_INFINITY);
|
6976
6949
|
}
|
6977
6950
|
|
6978
6951
|
/**
|
@@ -7598,12 +7571,13 @@
|
|
7598
7571
|
var curryRight = createCurry(CURRY_RIGHT_FLAG);
|
7599
7572
|
|
7600
7573
|
/**
|
7601
|
-
* Creates a function that delays invoking `func` until after `wait`
|
7602
|
-
* have elapsed since the last time
|
7603
|
-
* with a `cancel` method to cancel
|
7604
|
-
* object to indicate that `func`
|
7605
|
-
* trailing edge of the `wait` timeout.
|
7606
|
-
* function return the result of the last
|
7574
|
+
* Creates a debounced function that delays invoking `func` until after `wait`
|
7575
|
+
* milliseconds have elapsed since the last time the debounced function was
|
7576
|
+
* invoked. The debounced function comes with a `cancel` method to cancel
|
7577
|
+
* delayed invocations. Provide an options object to indicate that `func`
|
7578
|
+
* should be invoked on the leading and/or trailing edge of the `wait` timeout.
|
7579
|
+
* Subsequent calls to the debounced function return the result of the last
|
7580
|
+
* `func` invocation.
|
7607
7581
|
*
|
7608
7582
|
* **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
|
7609
7583
|
* on the trailing edge of the timeout only if the the debounced function is
|
@@ -7917,14 +7891,14 @@
|
|
7917
7891
|
}
|
7918
7892
|
var memoized = function() {
|
7919
7893
|
var args = arguments,
|
7920
|
-
|
7921
|
-
|
7894
|
+
key = resolver ? resolver.apply(this, args) : args[0],
|
7895
|
+
cache = memoized.cache;
|
7922
7896
|
|
7923
7897
|
if (cache.has(key)) {
|
7924
7898
|
return cache.get(key);
|
7925
7899
|
}
|
7926
7900
|
var result = func.apply(this, args);
|
7927
|
-
cache.set(key, result);
|
7901
|
+
memoized.cache = cache.set(key, result);
|
7928
7902
|
return result;
|
7929
7903
|
};
|
7930
7904
|
memoized.cache = new memoize.Cache;
|
@@ -8171,12 +8145,12 @@
|
|
8171
8145
|
}
|
8172
8146
|
|
8173
8147
|
/**
|
8174
|
-
* Creates a function that only invokes `func` at most once per
|
8175
|
-
* milliseconds. The
|
8176
|
-
* delayed invocations. Provide an options object to indicate
|
8177
|
-
* should be invoked on the leading and/or trailing edge of the
|
8178
|
-
* Subsequent calls to the throttled function return the
|
8179
|
-
* `func` call.
|
8148
|
+
* Creates a throttled function that only invokes `func` at most once per
|
8149
|
+
* every `wait` milliseconds. The throttled function comes with a `cancel`
|
8150
|
+
* method to cancel delayed invocations. Provide an options object to indicate
|
8151
|
+
* that `func` should be invoked on the leading and/or trailing edge of the
|
8152
|
+
* `wait` timeout. Subsequent calls to the throttled function return the
|
8153
|
+
* result of the last `func` call.
|
8180
8154
|
*
|
8181
8155
|
* **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
|
8182
8156
|
* on the trailing edge of the timeout only if the the throttled function is
|
@@ -8316,8 +8290,9 @@
|
|
8316
8290
|
customizer = isDeep;
|
8317
8291
|
isDeep = false;
|
8318
8292
|
}
|
8319
|
-
|
8320
|
-
|
8293
|
+
return typeof customizer == 'function'
|
8294
|
+
? baseClone(value, isDeep, bindCallback(customizer, thisArg, 1))
|
8295
|
+
: baseClone(value, isDeep);
|
8321
8296
|
}
|
8322
8297
|
|
8323
8298
|
/**
|
@@ -8366,8 +8341,57 @@
|
|
8366
8341
|
* // => 20
|
8367
8342
|
*/
|
8368
8343
|
function cloneDeep(value, customizer, thisArg) {
|
8369
|
-
|
8370
|
-
|
8344
|
+
return typeof customizer == 'function'
|
8345
|
+
? baseClone(value, true, bindCallback(customizer, thisArg, 1))
|
8346
|
+
: baseClone(value, true);
|
8347
|
+
}
|
8348
|
+
|
8349
|
+
/**
|
8350
|
+
* Checks if `value` is greater than `other`.
|
8351
|
+
*
|
8352
|
+
* @static
|
8353
|
+
* @memberOf _
|
8354
|
+
* @category Lang
|
8355
|
+
* @param {*} value The value to compare.
|
8356
|
+
* @param {*} other The other value to compare.
|
8357
|
+
* @returns {boolean} Returns `true` if `value` is greater than `other`, else `false`.
|
8358
|
+
* @example
|
8359
|
+
*
|
8360
|
+
* _.gt(3, 1);
|
8361
|
+
* // => true
|
8362
|
+
*
|
8363
|
+
* _.gt(3, 3);
|
8364
|
+
* // => false
|
8365
|
+
*
|
8366
|
+
* _.gt(1, 3);
|
8367
|
+
* // => false
|
8368
|
+
*/
|
8369
|
+
function gt(value, other) {
|
8370
|
+
return value > other;
|
8371
|
+
}
|
8372
|
+
|
8373
|
+
/**
|
8374
|
+
* Checks if `value` is greater than or equal to `other`.
|
8375
|
+
*
|
8376
|
+
* @static
|
8377
|
+
* @memberOf _
|
8378
|
+
* @category Lang
|
8379
|
+
* @param {*} value The value to compare.
|
8380
|
+
* @param {*} other The other value to compare.
|
8381
|
+
* @returns {boolean} Returns `true` if `value` is greater than or equal to `other`, else `false`.
|
8382
|
+
* @example
|
8383
|
+
*
|
8384
|
+
* _.gte(3, 1);
|
8385
|
+
* // => true
|
8386
|
+
*
|
8387
|
+
* _.gte(3, 3);
|
8388
|
+
* // => true
|
8389
|
+
*
|
8390
|
+
* _.gte(1, 3);
|
8391
|
+
* // => false
|
8392
|
+
*/
|
8393
|
+
function gte(value, other) {
|
8394
|
+
return value >= other;
|
8371
8395
|
}
|
8372
8396
|
|
8373
8397
|
/**
|
@@ -8387,8 +8411,7 @@
|
|
8387
8411
|
* // => false
|
8388
8412
|
*/
|
8389
8413
|
function isArguments(value) {
|
8390
|
-
|
8391
|
-
return isLength(length) && objToString.call(value) == argsTag;
|
8414
|
+
return isObjectLike(value) && isArrayLike(value) && objToString.call(value) == argsTag;
|
8392
8415
|
}
|
8393
8416
|
|
8394
8417
|
/**
|
@@ -8509,10 +8532,9 @@
|
|
8509
8532
|
if (value == null) {
|
8510
8533
|
return true;
|
8511
8534
|
}
|
8512
|
-
|
8513
|
-
if (isLength(length) && (isArray(value) || isString(value) || isArguments(value) ||
|
8535
|
+
if (isArrayLike(value) && (isArray(value) || isString(value) || isArguments(value) ||
|
8514
8536
|
(isObjectLike(value) && isFunction(value.splice)))) {
|
8515
|
-
return !length;
|
8537
|
+
return !value.length;
|
8516
8538
|
}
|
8517
8539
|
return !keys(value).length;
|
8518
8540
|
}
|
@@ -8532,6 +8554,7 @@
|
|
8532
8554
|
*
|
8533
8555
|
* @static
|
8534
8556
|
* @memberOf _
|
8557
|
+
* @alias eq
|
8535
8558
|
* @category Lang
|
8536
8559
|
* @param {*} value The value to compare.
|
8537
8560
|
* @param {*} other The other value to compare.
|
@@ -8561,12 +8584,9 @@
|
|
8561
8584
|
* // => true
|
8562
8585
|
*/
|
8563
8586
|
function isEqual(value, other, customizer, thisArg) {
|
8564
|
-
customizer = typeof customizer == 'function'
|
8565
|
-
if (!customizer && isStrictComparable(value) && isStrictComparable(other)) {
|
8566
|
-
return value === other;
|
8567
|
-
}
|
8587
|
+
customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;
|
8568
8588
|
var result = customizer ? customizer(value, other) : undefined;
|
8569
|
-
return
|
8589
|
+
return result === undefined ? baseIsEqual(value, other, customizer) : !!result;
|
8570
8590
|
}
|
8571
8591
|
|
8572
8592
|
/**
|
@@ -8668,7 +8688,7 @@
|
|
8668
8688
|
// Avoid a V8 JIT bug in Chrome 19-20.
|
8669
8689
|
// See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
|
8670
8690
|
var type = typeof value;
|
8671
|
-
return type == '
|
8691
|
+
return !!value && (type == 'object' || type == 'function');
|
8672
8692
|
}
|
8673
8693
|
|
8674
8694
|
/**
|
@@ -8711,33 +8731,8 @@
|
|
8711
8731
|
* // => true
|
8712
8732
|
*/
|
8713
8733
|
function isMatch(object, source, customizer, thisArg) {
|
8714
|
-
|
8715
|
-
|
8716
|
-
|
8717
|
-
if (!length) {
|
8718
|
-
return true;
|
8719
|
-
}
|
8720
|
-
if (object == null) {
|
8721
|
-
return false;
|
8722
|
-
}
|
8723
|
-
customizer = typeof customizer == 'function' && bindCallback(customizer, thisArg, 3);
|
8724
|
-
object = toObject(object);
|
8725
|
-
if (!customizer && length == 1) {
|
8726
|
-
var key = props[0],
|
8727
|
-
value = source[key];
|
8728
|
-
|
8729
|
-
if (isStrictComparable(value)) {
|
8730
|
-
return value === object[key] && (value !== undefined || (key in object));
|
8731
|
-
}
|
8732
|
-
}
|
8733
|
-
var values = Array(length),
|
8734
|
-
strictCompareFlags = Array(length);
|
8735
|
-
|
8736
|
-
while (length--) {
|
8737
|
-
value = values[length] = source[props[length]];
|
8738
|
-
strictCompareFlags[length] = isStrictComparable(value);
|
8739
|
-
}
|
8740
|
-
return baseIsMatch(object, props, values, strictCompareFlags, customizer);
|
8734
|
+
customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;
|
8735
|
+
return baseIsMatch(object, getMatchData(source), customizer);
|
8741
8736
|
}
|
8742
8737
|
|
8743
8738
|
/**
|
@@ -8877,8 +8872,8 @@
|
|
8877
8872
|
if (!(value && objToString.call(value) == objectTag)) {
|
8878
8873
|
return false;
|
8879
8874
|
}
|
8880
|
-
var valueOf = value
|
8881
|
-
objProto =
|
8875
|
+
var valueOf = getNative(value, 'valueOf'),
|
8876
|
+
objProto = valueOf && (objProto = getPrototypeOf(valueOf)) && getPrototypeOf(objProto);
|
8882
8877
|
|
8883
8878
|
return objProto
|
8884
8879
|
? (value == objProto || getPrototypeOf(value) == objProto)
|
@@ -8902,7 +8897,7 @@
|
|
8902
8897
|
* // => false
|
8903
8898
|
*/
|
8904
8899
|
function isRegExp(value) {
|
8905
|
-
return
|
8900
|
+
return isObjectLike(value) && objToString.call(value) == regexpTag;
|
8906
8901
|
}
|
8907
8902
|
|
8908
8903
|
/**
|
@@ -8965,6 +8960,54 @@
|
|
8965
8960
|
return value === undefined;
|
8966
8961
|
}
|
8967
8962
|
|
8963
|
+
/**
|
8964
|
+
* Checks if `value` is less than `other`.
|
8965
|
+
*
|
8966
|
+
* @static
|
8967
|
+
* @memberOf _
|
8968
|
+
* @category Lang
|
8969
|
+
* @param {*} value The value to compare.
|
8970
|
+
* @param {*} other The other value to compare.
|
8971
|
+
* @returns {boolean} Returns `true` if `value` is less than `other`, else `false`.
|
8972
|
+
* @example
|
8973
|
+
*
|
8974
|
+
* _.lt(1, 3);
|
8975
|
+
* // => true
|
8976
|
+
*
|
8977
|
+
* _.lt(3, 3);
|
8978
|
+
* // => false
|
8979
|
+
*
|
8980
|
+
* _.lt(3, 1);
|
8981
|
+
* // => false
|
8982
|
+
*/
|
8983
|
+
function lt(value, other) {
|
8984
|
+
return value < other;
|
8985
|
+
}
|
8986
|
+
|
8987
|
+
/**
|
8988
|
+
* Checks if `value` is less than or equal to `other`.
|
8989
|
+
*
|
8990
|
+
* @static
|
8991
|
+
* @memberOf _
|
8992
|
+
* @category Lang
|
8993
|
+
* @param {*} value The value to compare.
|
8994
|
+
* @param {*} other The other value to compare.
|
8995
|
+
* @returns {boolean} Returns `true` if `value` is less than or equal to `other`, else `false`.
|
8996
|
+
* @example
|
8997
|
+
*
|
8998
|
+
* _.lte(1, 3);
|
8999
|
+
* // => true
|
9000
|
+
*
|
9001
|
+
* _.lte(3, 3);
|
9002
|
+
* // => true
|
9003
|
+
*
|
9004
|
+
* _.lte(3, 1);
|
9005
|
+
* // => false
|
9006
|
+
*/
|
9007
|
+
function lte(value, other) {
|
9008
|
+
return value <= other;
|
9009
|
+
}
|
9010
|
+
|
8968
9011
|
/**
|
8969
9012
|
* Converts `value` to an array.
|
8970
9013
|
*
|
@@ -9030,7 +9073,6 @@
|
|
9030
9073
|
* **Note:** This method mutates `object` and is based on
|
9031
9074
|
* [`Object.assign`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign).
|
9032
9075
|
*
|
9033
|
-
*
|
9034
9076
|
* @static
|
9035
9077
|
* @memberOf _
|
9036
9078
|
* @alias extend
|
@@ -9360,7 +9402,7 @@
|
|
9360
9402
|
}
|
9361
9403
|
|
9362
9404
|
/**
|
9363
|
-
* Gets the property value
|
9405
|
+
* Gets the property value at `path` of `object`. If the resolved value is
|
9364
9406
|
* `undefined` the `defaultValue` is used in its place.
|
9365
9407
|
*
|
9366
9408
|
* @static
|
@@ -9418,10 +9460,14 @@
|
|
9418
9460
|
if (!result && !isKey(path)) {
|
9419
9461
|
path = toPath(path);
|
9420
9462
|
object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
|
9463
|
+
if (object == null) {
|
9464
|
+
return false;
|
9465
|
+
}
|
9421
9466
|
path = last(path);
|
9422
|
-
result =
|
9467
|
+
result = hasOwnProperty.call(object, path);
|
9423
9468
|
}
|
9424
|
-
return result
|
9469
|
+
return result || (isLength(object.length) && isIndex(path, object.length) &&
|
9470
|
+
(isArray(object) || isArguments(object)));
|
9425
9471
|
}
|
9426
9472
|
|
9427
9473
|
/**
|
@@ -9502,12 +9548,9 @@
|
|
9502
9548
|
* // => ['0', '1']
|
9503
9549
|
*/
|
9504
9550
|
var keys = !nativeKeys ? shimKeys : function(object) {
|
9505
|
-
|
9506
|
-
var Ctor = object.constructor,
|
9507
|
-
length = object.length;
|
9508
|
-
}
|
9551
|
+
var Ctor = object == null ? null : object.constructor;
|
9509
9552
|
if ((typeof Ctor == 'function' && Ctor.prototype === object) ||
|
9510
|
-
(typeof object != 'function' &&
|
9553
|
+
(typeof object != 'function' && isArrayLike(object))) {
|
9511
9554
|
return shimKeys(object);
|
9512
9555
|
}
|
9513
9556
|
return isObject(object) ? nativeKeys(object) : [];
|
@@ -9544,7 +9587,7 @@
|
|
9544
9587
|
}
|
9545
9588
|
var length = object.length;
|
9546
9589
|
length = (length && isLength(length) &&
|
9547
|
-
(isArray(object) ||
|
9590
|
+
(isArray(object) || isArguments(object)) && length) || 0;
|
9548
9591
|
|
9549
9592
|
var Ctor = object.constructor,
|
9550
9593
|
index = -1,
|
@@ -9564,6 +9607,28 @@
|
|
9564
9607
|
return result;
|
9565
9608
|
}
|
9566
9609
|
|
9610
|
+
/**
|
9611
|
+
* The opposite of `_.mapValues`; this method creates an object with the
|
9612
|
+
* same values as `object` and keys generated by running each own enumerable
|
9613
|
+
* property of `object` through `iteratee`.
|
9614
|
+
*
|
9615
|
+
* @static
|
9616
|
+
* @memberOf _
|
9617
|
+
* @category Object
|
9618
|
+
* @param {Object} object The object to iterate over.
|
9619
|
+
* @param {Function|Object|string} [iteratee=_.identity] The function invoked
|
9620
|
+
* per iteration.
|
9621
|
+
* @param {*} [thisArg] The `this` binding of `iteratee`.
|
9622
|
+
* @returns {Object} Returns the new mapped object.
|
9623
|
+
* @example
|
9624
|
+
*
|
9625
|
+
* _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {
|
9626
|
+
* return key + value;
|
9627
|
+
* });
|
9628
|
+
* // => { 'a1': 1, 'b2': 2 }
|
9629
|
+
*/
|
9630
|
+
var mapKeys = createObjectMapper(true);
|
9631
|
+
|
9567
9632
|
/**
|
9568
9633
|
* Creates an object with the same keys as `object` and values generated by
|
9569
9634
|
* running each own enumerable property of `object` through `iteratee`. The
|
@@ -9605,15 +9670,7 @@
|
|
9605
9670
|
* _.mapValues(users, 'age');
|
9606
9671
|
* // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)
|
9607
9672
|
*/
|
9608
|
-
|
9609
|
-
var result = {};
|
9610
|
-
iteratee = getCallback(iteratee, thisArg, 3);
|
9611
|
-
|
9612
|
-
baseForOwn(object, function(value, key, object) {
|
9613
|
-
result[key] = iteratee(value, key, object);
|
9614
|
-
});
|
9615
|
-
return result;
|
9616
|
-
}
|
9673
|
+
var mapValues = createObjectMapper();
|
9617
9674
|
|
9618
9675
|
/**
|
9619
9676
|
* Recursively merges own enumerable properties of the source object(s), that
|
@@ -9668,11 +9725,6 @@
|
|
9668
9725
|
/**
|
9669
9726
|
* The opposite of `_.pick`; this method creates an object composed of the
|
9670
9727
|
* own and inherited enumerable properties of `object` that are not omitted.
|
9671
|
-
* Property names may be specified as individual arguments or as arrays of
|
9672
|
-
* property names. If `predicate` is provided it is invoked for each property
|
9673
|
-
* of `object` omitting the properties `predicate` returns truthy for. The
|
9674
|
-
* predicate is bound to `thisArg` and invoked with three arguments:
|
9675
|
-
* (value, key, object).
|
9676
9728
|
*
|
9677
9729
|
* @static
|
9678
9730
|
* @memberOf _
|
@@ -9722,6 +9774,8 @@
|
|
9722
9774
|
* // => [['barney', 36], ['fred', 40]] (iteration order is not guaranteed)
|
9723
9775
|
*/
|
9724
9776
|
function pairs(object) {
|
9777
|
+
object = toObject(object);
|
9778
|
+
|
9725
9779
|
var index = -1,
|
9726
9780
|
props = keys(object),
|
9727
9781
|
length = props.length,
|
@@ -9842,13 +9896,13 @@
|
|
9842
9896
|
|
9843
9897
|
var index = -1,
|
9844
9898
|
length = path.length,
|
9845
|
-
|
9899
|
+
lastIndex = length - 1,
|
9846
9900
|
nested = object;
|
9847
9901
|
|
9848
9902
|
while (nested != null && ++index < length) {
|
9849
9903
|
var key = path[index];
|
9850
9904
|
if (isObject(nested)) {
|
9851
|
-
if (index ==
|
9905
|
+
if (index == lastIndex) {
|
9852
9906
|
nested[key] = value;
|
9853
9907
|
} else if (nested[key] == null) {
|
9854
9908
|
nested[key] = isIndex(path[index + 1]) ? [] : {};
|
@@ -9898,7 +9952,7 @@
|
|
9898
9952
|
if (isArr) {
|
9899
9953
|
accumulator = isArray(object) ? new Ctor : [];
|
9900
9954
|
} else {
|
9901
|
-
accumulator = baseCreate(isFunction(Ctor)
|
9955
|
+
accumulator = baseCreate(isFunction(Ctor) ? Ctor.prototype : null);
|
9902
9956
|
}
|
9903
9957
|
} else {
|
9904
9958
|
accumulator = {};
|
@@ -10177,7 +10231,7 @@
|
|
10177
10231
|
* use a third-party library like [_he_](https://mths.be/he).
|
10178
10232
|
*
|
10179
10233
|
* Though the ">" character is escaped for symmetry, characters like
|
10180
|
-
* ">" and "/" don't
|
10234
|
+
* ">" and "/" don't need escaping in HTML and have no special meaning
|
10181
10235
|
* unless they're part of a tag or unquoted attribute value.
|
10182
10236
|
* See [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)
|
10183
10237
|
* (under "semi-related fun fact") for more details.
|
@@ -10254,7 +10308,7 @@
|
|
10254
10308
|
});
|
10255
10309
|
|
10256
10310
|
/**
|
10257
|
-
* Pads `string` on the left and right sides if it
|
10311
|
+
* Pads `string` on the left and right sides if it's shorter than `length`.
|
10258
10312
|
* Padding characters are truncated if they can't be evenly divided by `length`.
|
10259
10313
|
*
|
10260
10314
|
* @static
|
@@ -10292,7 +10346,7 @@
|
|
10292
10346
|
}
|
10293
10347
|
|
10294
10348
|
/**
|
10295
|
-
* Pads `string` on the left side if it
|
10349
|
+
* Pads `string` on the left side if it's shorter than `length`. Padding
|
10296
10350
|
* characters are truncated if they exceed `length`.
|
10297
10351
|
*
|
10298
10352
|
* @static
|
@@ -10316,7 +10370,7 @@
|
|
10316
10370
|
var padLeft = createPadDir();
|
10317
10371
|
|
10318
10372
|
/**
|
10319
|
-
* Pads `string` on the right side if it
|
10373
|
+
* Pads `string` on the right side if it's shorter than `length`. Padding
|
10320
10374
|
* characters are truncated if they exceed `length`.
|
10321
10375
|
*
|
10322
10376
|
* @static
|
@@ -10797,7 +10851,7 @@
|
|
10797
10851
|
}
|
10798
10852
|
|
10799
10853
|
/**
|
10800
|
-
* Truncates `string` if it
|
10854
|
+
* Truncates `string` if it's longer than the given maximum string length.
|
10801
10855
|
* The last characters of the truncated string are replaced with the omission
|
10802
10856
|
* string which defaults to "...".
|
10803
10857
|
*
|
@@ -11011,7 +11065,9 @@
|
|
11011
11065
|
if (guard && isIterateeCall(func, thisArg, guard)) {
|
11012
11066
|
thisArg = null;
|
11013
11067
|
}
|
11014
|
-
return
|
11068
|
+
return isObjectLike(func)
|
11069
|
+
? matches(func)
|
11070
|
+
: baseCallback(func, thisArg);
|
11015
11071
|
}
|
11016
11072
|
|
11017
11073
|
/**
|
@@ -11056,7 +11112,7 @@
|
|
11056
11112
|
}
|
11057
11113
|
|
11058
11114
|
/**
|
11059
|
-
* Creates a function
|
11115
|
+
* Creates a function that performs a deep comparison between a given object
|
11060
11116
|
* and `source`, returning `true` if the given object has equivalent property
|
11061
11117
|
* values, else `false`.
|
11062
11118
|
*
|
@@ -11085,7 +11141,7 @@
|
|
11085
11141
|
}
|
11086
11142
|
|
11087
11143
|
/**
|
11088
|
-
* Creates a function
|
11144
|
+
* Creates a function that compares the property value of `path` on a given
|
11089
11145
|
* object to `value`.
|
11090
11146
|
*
|
11091
11147
|
* **Note:** This method supports comparing arrays, booleans, `Date` objects,
|
@@ -11096,7 +11152,7 @@
|
|
11096
11152
|
* @memberOf _
|
11097
11153
|
* @category Utility
|
11098
11154
|
* @param {Array|string} path The path of the property to get.
|
11099
|
-
* @param {*}
|
11155
|
+
* @param {*} srcValue The value to match.
|
11100
11156
|
* @returns {Function} Returns the new function.
|
11101
11157
|
* @example
|
11102
11158
|
*
|
@@ -11108,17 +11164,19 @@
|
|
11108
11164
|
* _.find(users, _.matchesProperty('user', 'fred'));
|
11109
11165
|
* // => { 'user': 'fred' }
|
11110
11166
|
*/
|
11111
|
-
function matchesProperty(path,
|
11112
|
-
return baseMatchesProperty(path, baseClone(
|
11167
|
+
function matchesProperty(path, srcValue) {
|
11168
|
+
return baseMatchesProperty(path, baseClone(srcValue, true));
|
11113
11169
|
}
|
11114
11170
|
|
11115
11171
|
/**
|
11116
|
-
* Creates a function
|
11172
|
+
* Creates a function that invokes the method at `path` on a given object.
|
11173
|
+
* Any additional arguments are provided to the invoked method.
|
11117
11174
|
*
|
11118
11175
|
* @static
|
11119
11176
|
* @memberOf _
|
11120
11177
|
* @category Utility
|
11121
11178
|
* @param {Array|string} path The path of the method to invoke.
|
11179
|
+
* @param {...*} [args] The arguments to invoke the method with.
|
11122
11180
|
* @returns {Function} Returns the new function.
|
11123
11181
|
* @example
|
11124
11182
|
*
|
@@ -11136,17 +11194,19 @@
|
|
11136
11194
|
var method = restParam(function(path, args) {
|
11137
11195
|
return function(object) {
|
11138
11196
|
return invokePath(object, path, args);
|
11139
|
-
}
|
11197
|
+
};
|
11140
11198
|
});
|
11141
11199
|
|
11142
11200
|
/**
|
11143
|
-
* The opposite of `_.method`; this method creates a function
|
11144
|
-
* the method at a given path on `object`.
|
11201
|
+
* The opposite of `_.method`; this method creates a function that invokes
|
11202
|
+
* the method at a given path on `object`. Any additional arguments are
|
11203
|
+
* provided to the invoked method.
|
11145
11204
|
*
|
11146
11205
|
* @static
|
11147
11206
|
* @memberOf _
|
11148
11207
|
* @category Utility
|
11149
11208
|
* @param {Object} object The object to query.
|
11209
|
+
* @param {...*} [args] The arguments to invoke the method with.
|
11150
11210
|
* @returns {Function} Returns the new function.
|
11151
11211
|
* @example
|
11152
11212
|
*
|
@@ -11190,9 +11250,6 @@
|
|
11190
11250
|
* });
|
11191
11251
|
* }
|
11192
11252
|
*
|
11193
|
-
* // use `_.runInContext` to avoid conflicts (esp. in Node.js)
|
11194
|
-
* var _ = require('lodash').runInContext();
|
11195
|
-
*
|
11196
11253
|
* _.mixin({ 'vowels': vowels });
|
11197
11254
|
* _.vowels('fred');
|
11198
11255
|
* // => ['e']
|
@@ -11207,8 +11264,8 @@
|
|
11207
11264
|
function mixin(object, source, options) {
|
11208
11265
|
if (options == null) {
|
11209
11266
|
var isObj = isObject(source),
|
11210
|
-
props = isObj
|
11211
|
-
methodNames = props && props.length
|
11267
|
+
props = isObj ? keys(source) : null,
|
11268
|
+
methodNames = (props && props.length) ? baseFunctions(source, props) : null;
|
11212
11269
|
|
11213
11270
|
if (!(methodNames ? methodNames.length : isObj)) {
|
11214
11271
|
methodNames = false;
|
@@ -11275,7 +11332,7 @@
|
|
11275
11332
|
}
|
11276
11333
|
|
11277
11334
|
/**
|
11278
|
-
* A no-operation function
|
11335
|
+
* A no-operation function that returns `undefined` regardless of the
|
11279
11336
|
* arguments it receives.
|
11280
11337
|
*
|
11281
11338
|
* @static
|
@@ -11293,7 +11350,7 @@
|
|
11293
11350
|
}
|
11294
11351
|
|
11295
11352
|
/**
|
11296
|
-
* Creates a function
|
11353
|
+
* Creates a function that returns the property value at `path` on a
|
11297
11354
|
* given object.
|
11298
11355
|
*
|
11299
11356
|
* @static
|
@@ -11319,7 +11376,7 @@
|
|
11319
11376
|
}
|
11320
11377
|
|
11321
11378
|
/**
|
11322
|
-
* The opposite of `_.property`; this method creates a function
|
11379
|
+
* The opposite of `_.property`; this method creates a function that returns
|
11323
11380
|
* the property value at a given path on `object`.
|
11324
11381
|
*
|
11325
11382
|
* @static
|
@@ -11431,7 +11488,7 @@
|
|
11431
11488
|
* // => also invokes `mage.castSpell(n)` three times
|
11432
11489
|
*/
|
11433
11490
|
function times(n, iteratee, thisArg) {
|
11434
|
-
n =
|
11491
|
+
n = floor(n);
|
11435
11492
|
|
11436
11493
|
// Exit early to avoid a JSC JIT bug in Safari 8
|
11437
11494
|
// where `Array(0)` is treated as `Array(1)`.
|
@@ -11540,7 +11597,7 @@
|
|
11540
11597
|
* _.max(users, 'age');
|
11541
11598
|
* // => { 'user': 'fred', 'age': 40 }
|
11542
11599
|
*/
|
11543
|
-
var max = createExtremum(
|
11600
|
+
var max = createExtremum(gt, NEGATIVE_INFINITY);
|
11544
11601
|
|
11545
11602
|
/**
|
11546
11603
|
* Gets the minimum value of `collection`. If `collection` is empty or falsey
|
@@ -11589,7 +11646,7 @@
|
|
11589
11646
|
* _.min(users, 'age');
|
11590
11647
|
* // => { 'user': 'barney', 'age': 36 }
|
11591
11648
|
*/
|
11592
|
-
var min = createExtremum(
|
11649
|
+
var min = createExtremum(lt, POSITIVE_INFINITY);
|
11593
11650
|
|
11594
11651
|
/**
|
11595
11652
|
* Gets the sum of the values in `collection`.
|
@@ -11627,12 +11684,12 @@
|
|
11627
11684
|
if (thisArg && isIterateeCall(collection, iteratee, thisArg)) {
|
11628
11685
|
iteratee = null;
|
11629
11686
|
}
|
11630
|
-
var
|
11687
|
+
var callback = getCallback(),
|
11631
11688
|
noIteratee = iteratee == null;
|
11632
11689
|
|
11633
|
-
if (!(
|
11690
|
+
if (!(noIteratee && callback === baseCallback)) {
|
11634
11691
|
noIteratee = false;
|
11635
|
-
iteratee =
|
11692
|
+
iteratee = callback(iteratee, thisArg, 3);
|
11636
11693
|
}
|
11637
11694
|
return noIteratee
|
11638
11695
|
? arraySum(isArray(collection) ? collection : toIterable(collection))
|
@@ -11711,6 +11768,7 @@
|
|
11711
11768
|
lodash.keys = keys;
|
11712
11769
|
lodash.keysIn = keysIn;
|
11713
11770
|
lodash.map = map;
|
11771
|
+
lodash.mapKeys = mapKeys;
|
11714
11772
|
lodash.mapValues = mapValues;
|
11715
11773
|
lodash.matches = matches;
|
11716
11774
|
lodash.matchesProperty = matchesProperty;
|
@@ -11759,6 +11817,7 @@
|
|
11759
11817
|
lodash.union = union;
|
11760
11818
|
lodash.uniq = uniq;
|
11761
11819
|
lodash.unzip = unzip;
|
11820
|
+
lodash.unzipWith = unzipWith;
|
11762
11821
|
lodash.values = values;
|
11763
11822
|
lodash.valuesIn = valuesIn;
|
11764
11823
|
lodash.where = where;
|
@@ -11767,6 +11826,7 @@
|
|
11767
11826
|
lodash.xor = xor;
|
11768
11827
|
lodash.zip = zip;
|
11769
11828
|
lodash.zipObject = zipObject;
|
11829
|
+
lodash.zipWith = zipWith;
|
11770
11830
|
|
11771
11831
|
// Add aliases.
|
11772
11832
|
lodash.backflow = flowRight;
|
@@ -11808,6 +11868,8 @@
|
|
11808
11868
|
lodash.findWhere = findWhere;
|
11809
11869
|
lodash.first = first;
|
11810
11870
|
lodash.get = get;
|
11871
|
+
lodash.gt = gt;
|
11872
|
+
lodash.gte = gte;
|
11811
11873
|
lodash.has = has;
|
11812
11874
|
lodash.identity = identity;
|
11813
11875
|
lodash.includes = includes;
|
@@ -11837,6 +11899,8 @@
|
|
11837
11899
|
lodash.kebabCase = kebabCase;
|
11838
11900
|
lodash.last = last;
|
11839
11901
|
lodash.lastIndexOf = lastIndexOf;
|
11902
|
+
lodash.lt = lt;
|
11903
|
+
lodash.lte = lte;
|
11840
11904
|
lodash.max = max;
|
11841
11905
|
lodash.min = min;
|
11842
11906
|
lodash.noConflict = noConflict;
|
@@ -11873,6 +11937,7 @@
|
|
11873
11937
|
lodash.all = every;
|
11874
11938
|
lodash.any = some;
|
11875
11939
|
lodash.contains = includes;
|
11940
|
+
lodash.eq = isEqual;
|
11876
11941
|
lodash.detect = find;
|
11877
11942
|
lodash.foldl = reduce;
|
11878
11943
|
lodash.foldr = reduceRight;
|
@@ -12016,8 +12081,13 @@
|
|
12016
12081
|
|
12017
12082
|
LazyWrapper.prototype.slice = function(start, end) {
|
12018
12083
|
start = start == null ? 0 : (+start || 0);
|
12019
|
-
var result = start < 0 ? this.takeRight(-start) : this.drop(start);
|
12020
12084
|
|
12085
|
+
var result = this;
|
12086
|
+
if (start < 0) {
|
12087
|
+
result = this.takeRight(-start);
|
12088
|
+
} else if (start) {
|
12089
|
+
result = this.drop(start);
|
12090
|
+
}
|
12021
12091
|
if (end !== undefined) {
|
12022
12092
|
end = (+end || 0);
|
12023
12093
|
result = end < 0 ? result.dropRight(-end) : result.take(end - start);
|
@@ -12040,7 +12110,6 @@
|
|
12040
12110
|
|
12041
12111
|
lodash.prototype[methodName] = function() {
|
12042
12112
|
var args = arguments,
|
12043
|
-
length = args.length,
|
12044
12113
|
chainAll = this.__chain__,
|
12045
12114
|
value = this.__wrapped__,
|
12046
12115
|
isHybrid = !!this.__actions__.length,
|
@@ -12154,7 +12223,7 @@
|
|
12154
12223
|
if (moduleExports) {
|
12155
12224
|
(freeModule.exports = _)._ = _;
|
12156
12225
|
}
|
12157
|
-
// Export for
|
12226
|
+
// Export for Rhino with CommonJS support.
|
12158
12227
|
else {
|
12159
12228
|
freeExports._ = _;
|
12160
12229
|
}
|