fluxxor-rails 1.3.2 → 1.4.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8ce161443f8f80328efc4fe622b64c3152463cab
4
- data.tar.gz: 66dae89dacd2457aad81a3e7ef0762ee7d801187
3
+ metadata.gz: 293edc0a1aafb930f600c6572256b4497290c931
4
+ data.tar.gz: 813526f79678e0424c8d07f7ff99569e5da18e81
5
5
  SHA512:
6
- metadata.gz: f33dede9fa13b97de793d6f3f1ce55e4caafe9af31c07f8a5fcc6f002e452d4dfe622ad8046bdb6cc01e6d9262619aca1b3398707d49e0da35cda4993478f163
7
- data.tar.gz: cf57ba00068dbde161b520b0605dac0c9d2213f66a4b2febc10bb561144092530f8bc9ceb7829101d85c8e7108577fce80ae5a36b68d0b15e8fd119809ba3c84
6
+ metadata.gz: 217bf6eee10ebd99bd0ecacf32e45c56711b61c4c7ea71f9339d103cca98f6fbaa95bcacc00b67419f6c99f971c3148b19a7f68d0842a200ecfdc63a20e6ce32
7
+ data.tar.gz: e1f9ca2729e3cb00a1d7622e77088b9d6a19be7553eaa40234dc3d194ef4dc90be270aea1514deea347d67ac97ebda8d15e964f821c53f1406d5416313a8e075
@@ -1,5 +1,5 @@
1
1
  module Fluxxor
2
2
  module Rails
3
- VERSION = '1.3.2'
3
+ VERSION = '1.4.0'
4
4
  end
5
5
  end
@@ -80,3 +80,8 @@ Compiled fluxxor.js (1ms) (pid 17115)
80
80
  Served asset /fluxxor.js - 200 OK (7ms)
81
81
  Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:51:18 -0500
82
82
  Served asset /fluxxor.js - 200 OK (0ms)
83
+ Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:51:46 -0500
84
+ Compiled fluxxor.js (1ms) (pid 17644)
85
+ Served asset /fluxxor.js - 200 OK (7ms)
86
+ Started GET "/assets/fluxxor.js" for 127.0.0.1 at 2015-09-23 13:51:46 -0500
87
+ Served asset /fluxxor.js - 200 OK (0ms)
@@ -79,22 +79,22 @@ return /******/ (function(modules) { // webpackBootstrap
79
79
  /* 1 */
80
80
  /***/ function(module, exports, __webpack_require__) {
81
81
 
82
- module.exports = {"name":"fluxxor","version":"1.3.2","description":"Flux architecture tools for React","repository":{"type":"git","url":"https://github.com/BinaryMuse/fluxxor.git"},"main":"index.js","scripts":{"test":"npm run jshint && mocha --recursive","jshint":"jsxhint lib/ test/","build":"./script/build-fluxxor && ./script/build-examples","preview-site":"wintersmith preview -C site","build-site":"wintersmith build -C site"},"keywords":["react","flux"],"author":"Brandon Tilley <brandon@brandontilley.com>","license":"MIT","devDependencies":{"chai":"^1.9.1","css-loader":"^0.6.12","envify":"^1.2.1","jsdom":"^0.10.5","json-loader":"^0.5.0","jsx-loader":"^0.10.2","jsxhint":"^0.4.9","less":"^1.7.0","less-loader":"^0.7.3","mocha":"^1.18.2","react":"^0.10.0","sinon":"^1.9.1","sinon-chai":"^2.5.0","style-loader":"^0.6.3","webpack":"^1.1.11","webpack-dev-server":"^1.2.7","wintersmith":"^2.0.10","wintersmith-ejs":"^0.1.4","wintersmith-less":"^0.2.2"},"dependencies":{"lodash-node":"^2.4.1"},"jshintConfig":{"camelcase":true,"curly":true,"eqeqeq":true,"forin":true,"latedef":true,"newcap":false,"undef":true,"unused":true,"trailing":true,"node":true,"browser":true,"predef":["it","describe","beforeEach","afterEach"]}}
82
+ module.exports = {"name":"fluxxor","version":"1.4.0","description":"Flux architecture tools for React","repository":{"type":"git","url":"https://github.com/BinaryMuse/fluxxor.git"},"main":"index.js","scripts":{"test":"npm run jshint && mocha --recursive","jshint":"jsxhint lib/ test/","build":"./script/build-fluxxor && ./script/build-examples","preview-site":"wintersmith preview -C site","build-site":"wintersmith build -C site"},"keywords":["react","flux"],"author":"Brandon Tilley <brandon@brandontilley.com>","license":"MIT","devDependencies":{"chai":"^1.9.1","css-loader":"^0.6.12","envify":"^1.2.1","jsdom":"^0.10.5","json-loader":"^0.5.0","jsx-loader":"^0.10.2","jsxhint":"^0.4.9","less":"^1.7.0","less-loader":"^0.7.3","mocha":"^1.18.2","react":"^0.11.0 >0.11.0-rc1","sinon":"^1.9.1","sinon-chai":"^2.5.0","style-loader":"^0.6.3","webpack":"^1.1.11","webpack-dev-server":"^1.2.7","wintersmith":"^2.0.10","wintersmith-ejs":"^0.1.4","wintersmith-less":"^0.2.2"},"dependencies":{"lodash-node":"^2.4.1"},"jshintConfig":{"camelcase":true,"curly":true,"eqeqeq":true,"forin":true,"latedef":true,"newcap":false,"undef":true,"unused":true,"trailing":true,"node":true,"browser":true,"predef":["it","describe","beforeEach","afterEach"]}}
83
83
 
84
84
  /***/ },
85
85
  /* 2 */
86
86
  /***/ function(module, exports, __webpack_require__) {
87
87
 
88
- var _clone = __webpack_require__(10),
89
- _mapValues = __webpack_require__(11),
90
- _forOwn = __webpack_require__(12),
91
- _intersection = __webpack_require__(15),
92
- _keys = __webpack_require__(13),
93
- _map = __webpack_require__(17),
94
- _each = __webpack_require__(18),
95
- _size = __webpack_require__(19),
96
- _findKey = __webpack_require__(14),
97
- _uniq = __webpack_require__(16);
88
+ var _clone = __webpack_require__(11),
89
+ _mapValues = __webpack_require__(12),
90
+ _forOwn = __webpack_require__(13),
91
+ _intersection = __webpack_require__(16),
92
+ _keys = __webpack_require__(14),
93
+ _map = __webpack_require__(18),
94
+ _each = __webpack_require__(19),
95
+ _size = __webpack_require__(20),
96
+ _findKey = __webpack_require__(15),
97
+ _uniq = __webpack_require__(17);
98
98
 
99
99
  var Dispatcher = function(stores) {
100
100
  this.stores = stores;
@@ -197,7 +197,7 @@ return /******/ (function(modules) { // webpackBootstrap
197
197
  _each(stores, function(storeName) {
198
198
  var storeDispatch = this.currentDispatch[storeName];
199
199
  if (!this.stores[storeName]) {
200
- throw new Error("Cannot wait for non-existant store " + storeName);
200
+ throw new Error("Cannot wait for non-existent store " + storeName);
201
201
  }
202
202
  if (storeDispatch.waitingOn.indexOf(waitingStoreName) > -1) {
203
203
  throw new Error("Circular wait detected between " + waitingStoreName + " and " + storeName);
@@ -234,6 +234,7 @@ return /******/ (function(modules) { // webpackBootstrap
234
234
  var Flux = function(stores, actions) {
235
235
  var dispatcher = new Dispatcher(stores),
236
236
  dispatchBinder = {
237
+ flux: this,
237
238
  dispatch: function(type, payload) {
238
239
  dispatcher.dispatch({type: type, payload: payload});
239
240
  }
@@ -321,7 +322,7 @@ return /******/ (function(modules) { // webpackBootstrap
321
322
  /* 6 */
322
323
  /***/ function(module, exports, __webpack_require__) {
323
324
 
324
- var _each = __webpack_require__(18);
325
+ var _each = __webpack_require__(19);
325
326
 
326
327
  var StoreWatchMixin = function() {
327
328
  var storeNames = Array.prototype.slice.call(arguments);
@@ -365,7 +366,7 @@ return /******/ (function(modules) { // webpackBootstrap
365
366
  /* 7 */
366
367
  /***/ function(module, exports, __webpack_require__) {
367
368
 
368
- var _each = __webpack_require__(18),
369
+ var _each = __webpack_require__(19),
369
370
  Store = __webpack_require__(8),
370
371
  util = __webpack_require__(9);
371
372
 
@@ -410,7 +411,7 @@ return /******/ (function(modules) { // webpackBootstrap
410
411
  /* 8 */
411
412
  /***/ function(module, exports, __webpack_require__) {
412
413
 
413
- var EventEmitter = __webpack_require__(20).EventEmitter,
414
+ var EventEmitter = __webpack_require__(10).EventEmitter,
414
415
  util = __webpack_require__(9);
415
416
 
416
417
  function Store(dispatcher) {
@@ -1044,10 +1045,319 @@ return /******/ (function(modules) { // webpackBootstrap
1044
1045
  return Object.prototype.hasOwnProperty.call(obj, prop);
1045
1046
  }
1046
1047
 
1047
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(39)))
1048
+ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(25)))
1048
1049
 
1049
1050
  /***/ },
1050
1051
  /* 10 */
1052
+ /***/ function(module, exports, __webpack_require__) {
1053
+
1054
+ // Copyright Joyent, Inc. and other Node contributors.
1055
+ //
1056
+ // Permission is hereby granted, free of charge, to any person obtaining a
1057
+ // copy of this software and associated documentation files (the
1058
+ // "Software"), to deal in the Software without restriction, including
1059
+ // without limitation the rights to use, copy, modify, merge, publish,
1060
+ // distribute, sublicense, and/or sell copies of the Software, and to permit
1061
+ // persons to whom the Software is furnished to do so, subject to the
1062
+ // following conditions:
1063
+ //
1064
+ // The above copyright notice and this permission notice shall be included
1065
+ // in all copies or substantial portions of the Software.
1066
+ //
1067
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1068
+ // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1069
+ // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
1070
+ // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
1071
+ // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
1072
+ // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
1073
+ // USE OR OTHER DEALINGS IN THE SOFTWARE.
1074
+
1075
+ function EventEmitter() {
1076
+ this._events = this._events || {};
1077
+ this._maxListeners = this._maxListeners || undefined;
1078
+ }
1079
+ module.exports = EventEmitter;
1080
+
1081
+ // Backwards-compat with node 0.10.x
1082
+ EventEmitter.EventEmitter = EventEmitter;
1083
+
1084
+ EventEmitter.prototype._events = undefined;
1085
+ EventEmitter.prototype._maxListeners = undefined;
1086
+
1087
+ // By default EventEmitters will print a warning if more than 10 listeners are
1088
+ // added to it. This is a useful default which helps finding memory leaks.
1089
+ EventEmitter.defaultMaxListeners = 10;
1090
+
1091
+ // Obviously not all Emitters should be limited to 10. This function allows
1092
+ // that to be increased. Set to zero for unlimited.
1093
+ EventEmitter.prototype.setMaxListeners = function(n) {
1094
+ if (!isNumber(n) || n < 0 || isNaN(n))
1095
+ throw TypeError('n must be a positive number');
1096
+ this._maxListeners = n;
1097
+ return this;
1098
+ };
1099
+
1100
+ EventEmitter.prototype.emit = function(type) {
1101
+ var er, handler, len, args, i, listeners;
1102
+
1103
+ if (!this._events)
1104
+ this._events = {};
1105
+
1106
+ // If there is no 'error' event listener then throw.
1107
+ if (type === 'error') {
1108
+ if (!this._events.error ||
1109
+ (isObject(this._events.error) && !this._events.error.length)) {
1110
+ er = arguments[1];
1111
+ if (er instanceof Error) {
1112
+ throw er; // Unhandled 'error' event
1113
+ } else {
1114
+ throw TypeError('Uncaught, unspecified "error" event.');
1115
+ }
1116
+ return false;
1117
+ }
1118
+ }
1119
+
1120
+ handler = this._events[type];
1121
+
1122
+ if (isUndefined(handler))
1123
+ return false;
1124
+
1125
+ if (isFunction(handler)) {
1126
+ switch (arguments.length) {
1127
+ // fast cases
1128
+ case 1:
1129
+ handler.call(this);
1130
+ break;
1131
+ case 2:
1132
+ handler.call(this, arguments[1]);
1133
+ break;
1134
+ case 3:
1135
+ handler.call(this, arguments[1], arguments[2]);
1136
+ break;
1137
+ // slower
1138
+ default:
1139
+ len = arguments.length;
1140
+ args = new Array(len - 1);
1141
+ for (i = 1; i < len; i++)
1142
+ args[i - 1] = arguments[i];
1143
+ handler.apply(this, args);
1144
+ }
1145
+ } else if (isObject(handler)) {
1146
+ len = arguments.length;
1147
+ args = new Array(len - 1);
1148
+ for (i = 1; i < len; i++)
1149
+ args[i - 1] = arguments[i];
1150
+
1151
+ listeners = handler.slice();
1152
+ len = listeners.length;
1153
+ for (i = 0; i < len; i++)
1154
+ listeners[i].apply(this, args);
1155
+ }
1156
+
1157
+ return true;
1158
+ };
1159
+
1160
+ EventEmitter.prototype.addListener = function(type, listener) {
1161
+ var m;
1162
+
1163
+ if (!isFunction(listener))
1164
+ throw TypeError('listener must be a function');
1165
+
1166
+ if (!this._events)
1167
+ this._events = {};
1168
+
1169
+ // To avoid recursion in the case that type === "newListener"! Before
1170
+ // adding it to the listeners, first emit "newListener".
1171
+ if (this._events.newListener)
1172
+ this.emit('newListener', type,
1173
+ isFunction(listener.listener) ?
1174
+ listener.listener : listener);
1175
+
1176
+ if (!this._events[type])
1177
+ // Optimize the case of one listener. Don't need the extra array object.
1178
+ this._events[type] = listener;
1179
+ else if (isObject(this._events[type]))
1180
+ // If we've already got an array, just append.
1181
+ this._events[type].push(listener);
1182
+ else
1183
+ // Adding the second element, need to change to array.
1184
+ this._events[type] = [this._events[type], listener];
1185
+
1186
+ // Check for listener leak
1187
+ if (isObject(this._events[type]) && !this._events[type].warned) {
1188
+ var m;
1189
+ if (!isUndefined(this._maxListeners)) {
1190
+ m = this._maxListeners;
1191
+ } else {
1192
+ m = EventEmitter.defaultMaxListeners;
1193
+ }
1194
+
1195
+ if (m && m > 0 && this._events[type].length > m) {
1196
+ this._events[type].warned = true;
1197
+ console.error('(node) warning: possible EventEmitter memory ' +
1198
+ 'leak detected. %d listeners added. ' +
1199
+ 'Use emitter.setMaxListeners() to increase limit.',
1200
+ this._events[type].length);
1201
+ if (typeof console.trace === 'function') {
1202
+ // not supported in IE 10
1203
+ console.trace();
1204
+ }
1205
+ }
1206
+ }
1207
+
1208
+ return this;
1209
+ };
1210
+
1211
+ EventEmitter.prototype.on = EventEmitter.prototype.addListener;
1212
+
1213
+ EventEmitter.prototype.once = function(type, listener) {
1214
+ if (!isFunction(listener))
1215
+ throw TypeError('listener must be a function');
1216
+
1217
+ var fired = false;
1218
+
1219
+ function g() {
1220
+ this.removeListener(type, g);
1221
+
1222
+ if (!fired) {
1223
+ fired = true;
1224
+ listener.apply(this, arguments);
1225
+ }
1226
+ }
1227
+
1228
+ g.listener = listener;
1229
+ this.on(type, g);
1230
+
1231
+ return this;
1232
+ };
1233
+
1234
+ // emits a 'removeListener' event iff the listener was removed
1235
+ EventEmitter.prototype.removeListener = function(type, listener) {
1236
+ var list, position, length, i;
1237
+
1238
+ if (!isFunction(listener))
1239
+ throw TypeError('listener must be a function');
1240
+
1241
+ if (!this._events || !this._events[type])
1242
+ return this;
1243
+
1244
+ list = this._events[type];
1245
+ length = list.length;
1246
+ position = -1;
1247
+
1248
+ if (list === listener ||
1249
+ (isFunction(list.listener) && list.listener === listener)) {
1250
+ delete this._events[type];
1251
+ if (this._events.removeListener)
1252
+ this.emit('removeListener', type, listener);
1253
+
1254
+ } else if (isObject(list)) {
1255
+ for (i = length; i-- > 0;) {
1256
+ if (list[i] === listener ||
1257
+ (list[i].listener && list[i].listener === listener)) {
1258
+ position = i;
1259
+ break;
1260
+ }
1261
+ }
1262
+
1263
+ if (position < 0)
1264
+ return this;
1265
+
1266
+ if (list.length === 1) {
1267
+ list.length = 0;
1268
+ delete this._events[type];
1269
+ } else {
1270
+ list.splice(position, 1);
1271
+ }
1272
+
1273
+ if (this._events.removeListener)
1274
+ this.emit('removeListener', type, listener);
1275
+ }
1276
+
1277
+ return this;
1278
+ };
1279
+
1280
+ EventEmitter.prototype.removeAllListeners = function(type) {
1281
+ var key, listeners;
1282
+
1283
+ if (!this._events)
1284
+ return this;
1285
+
1286
+ // not listening for removeListener, no need to emit
1287
+ if (!this._events.removeListener) {
1288
+ if (arguments.length === 0)
1289
+ this._events = {};
1290
+ else if (this._events[type])
1291
+ delete this._events[type];
1292
+ return this;
1293
+ }
1294
+
1295
+ // emit removeListener for all listeners on all events
1296
+ if (arguments.length === 0) {
1297
+ for (key in this._events) {
1298
+ if (key === 'removeListener') continue;
1299
+ this.removeAllListeners(key);
1300
+ }
1301
+ this.removeAllListeners('removeListener');
1302
+ this._events = {};
1303
+ return this;
1304
+ }
1305
+
1306
+ listeners = this._events[type];
1307
+
1308
+ if (isFunction(listeners)) {
1309
+ this.removeListener(type, listeners);
1310
+ } else {
1311
+ // LIFO order
1312
+ while (listeners.length)
1313
+ this.removeListener(type, listeners[listeners.length - 1]);
1314
+ }
1315
+ delete this._events[type];
1316
+
1317
+ return this;
1318
+ };
1319
+
1320
+ EventEmitter.prototype.listeners = function(type) {
1321
+ var ret;
1322
+ if (!this._events || !this._events[type])
1323
+ ret = [];
1324
+ else if (isFunction(this._events[type]))
1325
+ ret = [this._events[type]];
1326
+ else
1327
+ ret = this._events[type].slice();
1328
+ return ret;
1329
+ };
1330
+
1331
+ EventEmitter.listenerCount = function(emitter, type) {
1332
+ var ret;
1333
+ if (!emitter._events || !emitter._events[type])
1334
+ ret = 0;
1335
+ else if (isFunction(emitter._events[type]))
1336
+ ret = 1;
1337
+ else
1338
+ ret = emitter._events[type].length;
1339
+ return ret;
1340
+ };
1341
+
1342
+ function isFunction(arg) {
1343
+ return typeof arg === 'function';
1344
+ }
1345
+
1346
+ function isNumber(arg) {
1347
+ return typeof arg === 'number';
1348
+ }
1349
+
1350
+ function isObject(arg) {
1351
+ return typeof arg === 'object' && arg !== null;
1352
+ }
1353
+
1354
+ function isUndefined(arg) {
1355
+ return arg === void 0;
1356
+ }
1357
+
1358
+
1359
+ /***/ },
1360
+ /* 11 */
1051
1361
  /***/ function(module, exports, __webpack_require__) {
1052
1362
 
1053
1363
  /**
@@ -1058,8 +1368,8 @@ return /******/ (function(modules) { // webpackBootstrap
1058
1368
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1059
1369
  * Available under MIT license <http://lodash.com/license>
1060
1370
  */
1061
- var baseClone = __webpack_require__(25),
1062
- baseCreateCallback = __webpack_require__(26);
1371
+ var baseClone = __webpack_require__(26),
1372
+ baseCreateCallback = __webpack_require__(27);
1063
1373
 
1064
1374
  /**
1065
1375
  * Creates a clone of `value`. If `isDeep` is `true` nested objects will also
@@ -1116,7 +1426,7 @@ return /******/ (function(modules) { // webpackBootstrap
1116
1426
 
1117
1427
 
1118
1428
  /***/ },
1119
- /* 11 */
1429
+ /* 12 */
1120
1430
  /***/ function(module, exports, __webpack_require__) {
1121
1431
 
1122
1432
  /**
@@ -1127,8 +1437,8 @@ return /******/ (function(modules) { // webpackBootstrap
1127
1437
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1128
1438
  * Available under MIT license <http://lodash.com/license>
1129
1439
  */
1130
- var createCallback = __webpack_require__(38),
1131
- forOwn = __webpack_require__(12);
1440
+ var createCallback = __webpack_require__(39),
1441
+ forOwn = __webpack_require__(13);
1132
1442
 
1133
1443
  /**
1134
1444
  * Creates an object with the same keys as `object` and values generated by
@@ -1180,7 +1490,7 @@ return /******/ (function(modules) { // webpackBootstrap
1180
1490
 
1181
1491
 
1182
1492
  /***/ },
1183
- /* 12 */
1493
+ /* 13 */
1184
1494
  /***/ function(module, exports, __webpack_require__) {
1185
1495
 
1186
1496
  /**
@@ -1191,9 +1501,9 @@ return /******/ (function(modules) { // webpackBootstrap
1191
1501
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1192
1502
  * Available under MIT license <http://lodash.com/license>
1193
1503
  */
1194
- var baseCreateCallback = __webpack_require__(26),
1195
- keys = __webpack_require__(13),
1196
- objectTypes = __webpack_require__(27);
1504
+ var baseCreateCallback = __webpack_require__(27),
1505
+ keys = __webpack_require__(14),
1506
+ objectTypes = __webpack_require__(28);
1197
1507
 
1198
1508
  /**
1199
1509
  * Iterates over own enumerable properties of an object, executing the callback
@@ -1236,7 +1546,7 @@ return /******/ (function(modules) { // webpackBootstrap
1236
1546
 
1237
1547
 
1238
1548
  /***/ },
1239
- /* 13 */
1549
+ /* 14 */
1240
1550
  /***/ function(module, exports, __webpack_require__) {
1241
1551
 
1242
1552
  /**
@@ -1247,9 +1557,9 @@ return /******/ (function(modules) { // webpackBootstrap
1247
1557
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1248
1558
  * Available under MIT license <http://lodash.com/license>
1249
1559
  */
1250
- var isNative = __webpack_require__(28),
1560
+ var isNative = __webpack_require__(29),
1251
1561
  isObject = __webpack_require__(22),
1252
- shimKeys = __webpack_require__(29);
1562
+ shimKeys = __webpack_require__(30);
1253
1563
 
1254
1564
  /* Native method shortcuts for methods with the same name as other `lodash` methods */
1255
1565
  var nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys;
@@ -1278,7 +1588,7 @@ return /******/ (function(modules) { // webpackBootstrap
1278
1588
 
1279
1589
 
1280
1590
  /***/ },
1281
- /* 14 */
1591
+ /* 15 */
1282
1592
  /***/ function(module, exports, __webpack_require__) {
1283
1593
 
1284
1594
  /**
@@ -1289,8 +1599,8 @@ return /******/ (function(modules) { // webpackBootstrap
1289
1599
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1290
1600
  * Available under MIT license <http://lodash.com/license>
1291
1601
  */
1292
- var createCallback = __webpack_require__(38),
1293
- forOwn = __webpack_require__(12);
1602
+ var createCallback = __webpack_require__(39),
1603
+ forOwn = __webpack_require__(13);
1294
1604
 
1295
1605
  /**
1296
1606
  * This method is like `_.findIndex` except that it returns the key of the
@@ -1349,7 +1659,7 @@ return /******/ (function(modules) { // webpackBootstrap
1349
1659
 
1350
1660
 
1351
1661
  /***/ },
1352
- /* 15 */
1662
+ /* 16 */
1353
1663
  /***/ function(module, exports, __webpack_require__) {
1354
1664
 
1355
1665
  /**
@@ -1360,15 +1670,15 @@ return /******/ (function(modules) { // webpackBootstrap
1360
1670
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1361
1671
  * Available under MIT license <http://lodash.com/license>
1362
1672
  */
1363
- var baseIndexOf = __webpack_require__(30),
1364
- cacheIndexOf = __webpack_require__(31),
1365
- createCache = __webpack_require__(32),
1366
- getArray = __webpack_require__(33),
1673
+ var baseIndexOf = __webpack_require__(31),
1674
+ cacheIndexOf = __webpack_require__(32),
1675
+ createCache = __webpack_require__(33),
1676
+ getArray = __webpack_require__(34),
1367
1677
  isArguments = __webpack_require__(23),
1368
1678
  isArray = __webpack_require__(24),
1369
- largeArraySize = __webpack_require__(34),
1370
- releaseArray = __webpack_require__(35),
1371
- releaseObject = __webpack_require__(36);
1679
+ largeArraySize = __webpack_require__(35),
1680
+ releaseArray = __webpack_require__(36),
1681
+ releaseObject = __webpack_require__(37);
1372
1682
 
1373
1683
  /**
1374
1684
  * Creates an array of unique values present in all provided arrays using
@@ -1395,262 +1705,50 @@ return /******/ (function(modules) { // webpackBootstrap
1395
1705
 
1396
1706
  while (++argsIndex < argsLength) {
1397
1707
  var value = arguments[argsIndex];
1398
- if (isArray(value) || isArguments(value)) {
1399
- args.push(value);
1400
- caches.push(trustIndexOf && value.length >= largeArraySize &&
1401
- createCache(argsIndex ? args[argsIndex] : seen));
1402
- }
1403
- }
1404
- var array = args[0],
1405
- index = -1,
1406
- length = array ? array.length : 0,
1407
- result = [];
1408
-
1409
- outer:
1410
- while (++index < length) {
1411
- var cache = caches[0];
1412
- value = array[index];
1413
-
1414
- if ((cache ? cacheIndexOf(cache, value) : indexOf(seen, value)) < 0) {
1415
- argsIndex = argsLength;
1416
- (cache || seen).push(value);
1417
- while (--argsIndex) {
1418
- cache = caches[argsIndex];
1419
- if ((cache ? cacheIndexOf(cache, value) : indexOf(args[argsIndex], value)) < 0) {
1420
- continue outer;
1421
- }
1422
- }
1423
- result.push(value);
1424
- }
1425
- }
1426
- while (argsLength--) {
1427
- cache = caches[argsLength];
1428
- if (cache) {
1429
- releaseObject(cache);
1430
- }
1431
- }
1432
- releaseArray(caches);
1433
- releaseArray(seen);
1434
- return result;
1435
- }
1436
-
1437
- module.exports = intersection;
1438
-
1439
-
1440
- /***/ },
1441
- /* 16 */
1442
- /***/ function(module, exports, __webpack_require__) {
1443
-
1444
- /**
1445
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1446
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1447
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1448
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1449
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1450
- * Available under MIT license <http://lodash.com/license>
1451
- */
1452
- var baseUniq = __webpack_require__(37),
1453
- createCallback = __webpack_require__(38);
1454
-
1455
- /**
1456
- * Creates a duplicate-value-free version of an array using strict equality
1457
- * for comparisons, i.e. `===`. If the array is sorted, providing
1458
- * `true` for `isSorted` will use a faster algorithm. If a callback is provided
1459
- * each element of `array` is passed through the callback before uniqueness
1460
- * is computed. The callback is bound to `thisArg` and invoked with three
1461
- * arguments; (value, index, array).
1462
- *
1463
- * If a property name is provided for `callback` the created "_.pluck" style
1464
- * callback will return the property value of the given element.
1465
- *
1466
- * If an object is provided for `callback` the created "_.where" style callback
1467
- * will return `true` for elements that have the properties of the given object,
1468
- * else `false`.
1469
- *
1470
- * @static
1471
- * @memberOf _
1472
- * @alias unique
1473
- * @category Arrays
1474
- * @param {Array} array The array to process.
1475
- * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.
1476
- * @param {Function|Object|string} [callback=identity] The function called
1477
- * per iteration. If a property name or object is provided it will be used
1478
- * to create a "_.pluck" or "_.where" style callback, respectively.
1479
- * @param {*} [thisArg] The `this` binding of `callback`.
1480
- * @returns {Array} Returns a duplicate-value-free array.
1481
- * @example
1482
- *
1483
- * _.uniq([1, 2, 1, 3, 1]);
1484
- * // => [1, 2, 3]
1485
- *
1486
- * _.uniq([1, 1, 2, 2, 3], true);
1487
- * // => [1, 2, 3]
1488
- *
1489
- * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return letter.toLowerCase(); });
1490
- * // => ['A', 'b', 'C']
1491
- *
1492
- * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, Math);
1493
- * // => [1, 2.5, 3]
1494
- *
1495
- * // using "_.pluck" callback shorthand
1496
- * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
1497
- * // => [{ 'x': 1 }, { 'x': 2 }]
1498
- */
1499
- function uniq(array, isSorted, callback, thisArg) {
1500
- // juggle arguments
1501
- if (typeof isSorted != 'boolean' && isSorted != null) {
1502
- thisArg = callback;
1503
- callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] === array) ? null : isSorted;
1504
- isSorted = false;
1505
- }
1506
- if (callback != null) {
1507
- callback = createCallback(callback, thisArg, 3);
1508
- }
1509
- return baseUniq(array, isSorted, callback);
1510
- }
1511
-
1512
- module.exports = uniq;
1513
-
1514
-
1515
- /***/ },
1516
- /* 17 */
1517
- /***/ function(module, exports, __webpack_require__) {
1518
-
1519
- /**
1520
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1521
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1522
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1523
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1524
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1525
- * Available under MIT license <http://lodash.com/license>
1526
- */
1527
- var createCallback = __webpack_require__(38),
1528
- forOwn = __webpack_require__(12);
1529
-
1530
- /**
1531
- * Creates an array of values by running each element in the collection
1532
- * through the callback. The callback is bound to `thisArg` and invoked with
1533
- * three arguments; (value, index|key, collection).
1534
- *
1535
- * If a property name is provided for `callback` the created "_.pluck" style
1536
- * callback will return the property value of the given element.
1537
- *
1538
- * If an object is provided for `callback` the created "_.where" style callback
1539
- * will return `true` for elements that have the properties of the given object,
1540
- * else `false`.
1541
- *
1542
- * @static
1543
- * @memberOf _
1544
- * @alias collect
1545
- * @category Collections
1546
- * @param {Array|Object|string} collection The collection to iterate over.
1547
- * @param {Function|Object|string} [callback=identity] The function called
1548
- * per iteration. If a property name or object is provided it will be used
1549
- * to create a "_.pluck" or "_.where" style callback, respectively.
1550
- * @param {*} [thisArg] The `this` binding of `callback`.
1551
- * @returns {Array} Returns a new array of the results of each `callback` execution.
1552
- * @example
1553
- *
1554
- * _.map([1, 2, 3], function(num) { return num * 3; });
1555
- * // => [3, 6, 9]
1556
- *
1557
- * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; });
1558
- * // => [3, 6, 9] (property order is not guaranteed across environments)
1559
- *
1560
- * var characters = [
1561
- * { 'name': 'barney', 'age': 36 },
1562
- * { 'name': 'fred', 'age': 40 }
1563
- * ];
1564
- *
1565
- * // using "_.pluck" callback shorthand
1566
- * _.map(characters, 'name');
1567
- * // => ['barney', 'fred']
1568
- */
1569
- function map(collection, callback, thisArg) {
1570
- var index = -1,
1571
- length = collection ? collection.length : 0;
1572
-
1573
- callback = createCallback(callback, thisArg, 3);
1574
- if (typeof length == 'number') {
1575
- var result = Array(length);
1576
- while (++index < length) {
1577
- result[index] = callback(collection[index], index, collection);
1578
- }
1579
- } else {
1580
- result = [];
1581
- forOwn(collection, function(value, key, collection) {
1582
- result[++index] = callback(value, key, collection);
1583
- });
1584
- }
1585
- return result;
1586
- }
1587
-
1588
- module.exports = map;
1589
-
1590
-
1591
- /***/ },
1592
- /* 18 */
1593
- /***/ function(module, exports, __webpack_require__) {
1594
-
1595
- /**
1596
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1597
- * Build: `lodash modularize modern exports="node" -o ./modern/`
1598
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1599
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1600
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1601
- * Available under MIT license <http://lodash.com/license>
1602
- */
1603
- var baseCreateCallback = __webpack_require__(26),
1604
- forOwn = __webpack_require__(12);
1605
-
1606
- /**
1607
- * Iterates over elements of a collection, executing the callback for each
1608
- * element. The callback is bound to `thisArg` and invoked with three arguments;
1609
- * (value, index|key, collection). Callbacks may exit iteration early by
1610
- * explicitly returning `false`.
1611
- *
1612
- * Note: As with other "Collections" methods, objects with a `length` property
1613
- * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`
1614
- * may be used for object iteration.
1615
- *
1616
- * @static
1617
- * @memberOf _
1618
- * @alias each
1619
- * @category Collections
1620
- * @param {Array|Object|string} collection The collection to iterate over.
1621
- * @param {Function} [callback=identity] The function called per iteration.
1622
- * @param {*} [thisArg] The `this` binding of `callback`.
1623
- * @returns {Array|Object|string} Returns `collection`.
1624
- * @example
1625
- *
1626
- * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(',');
1627
- * // => logs each number and returns '1,2,3'
1628
- *
1629
- * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); });
1630
- * // => logs each number and returns the object (property order is not guaranteed across environments)
1631
- */
1632
- function forEach(collection, callback, thisArg) {
1633
- var index = -1,
1634
- length = collection ? collection.length : 0;
1708
+ if (isArray(value) || isArguments(value)) {
1709
+ args.push(value);
1710
+ caches.push(trustIndexOf && value.length >= largeArraySize &&
1711
+ createCache(argsIndex ? args[argsIndex] : seen));
1712
+ }
1713
+ }
1714
+ var array = args[0],
1715
+ index = -1,
1716
+ length = array ? array.length : 0,
1717
+ result = [];
1635
1718
 
1636
- callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
1637
- if (typeof length == 'number') {
1638
- while (++index < length) {
1639
- if (callback(collection[index], index, collection) === false) {
1640
- break;
1719
+ outer:
1720
+ while (++index < length) {
1721
+ var cache = caches[0];
1722
+ value = array[index];
1723
+
1724
+ if ((cache ? cacheIndexOf(cache, value) : indexOf(seen, value)) < 0) {
1725
+ argsIndex = argsLength;
1726
+ (cache || seen).push(value);
1727
+ while (--argsIndex) {
1728
+ cache = caches[argsIndex];
1729
+ if ((cache ? cacheIndexOf(cache, value) : indexOf(args[argsIndex], value)) < 0) {
1730
+ continue outer;
1731
+ }
1641
1732
  }
1733
+ result.push(value);
1642
1734
  }
1643
- } else {
1644
- forOwn(collection, callback);
1645
1735
  }
1646
- return collection;
1736
+ while (argsLength--) {
1737
+ cache = caches[argsLength];
1738
+ if (cache) {
1739
+ releaseObject(cache);
1740
+ }
1741
+ }
1742
+ releaseArray(caches);
1743
+ releaseArray(seen);
1744
+ return result;
1647
1745
  }
1648
1746
 
1649
- module.exports = forEach;
1747
+ module.exports = intersection;
1650
1748
 
1651
1749
 
1652
1750
  /***/ },
1653
- /* 19 */
1751
+ /* 17 */
1654
1752
  /***/ function(module, exports, __webpack_require__) {
1655
1753
 
1656
1754
  /**
@@ -1661,343 +1759,246 @@ return /******/ (function(modules) { // webpackBootstrap
1661
1759
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1662
1760
  * Available under MIT license <http://lodash.com/license>
1663
1761
  */
1664
- var keys = __webpack_require__(13);
1762
+ var baseUniq = __webpack_require__(38),
1763
+ createCallback = __webpack_require__(39);
1665
1764
 
1666
1765
  /**
1667
- * Gets the size of the `collection` by returning `collection.length` for arrays
1668
- * and array-like objects or the number of own enumerable properties for objects.
1766
+ * Creates a duplicate-value-free version of an array using strict equality
1767
+ * for comparisons, i.e. `===`. If the array is sorted, providing
1768
+ * `true` for `isSorted` will use a faster algorithm. If a callback is provided
1769
+ * each element of `array` is passed through the callback before uniqueness
1770
+ * is computed. The callback is bound to `thisArg` and invoked with three
1771
+ * arguments; (value, index, array).
1772
+ *
1773
+ * If a property name is provided for `callback` the created "_.pluck" style
1774
+ * callback will return the property value of the given element.
1775
+ *
1776
+ * If an object is provided for `callback` the created "_.where" style callback
1777
+ * will return `true` for elements that have the properties of the given object,
1778
+ * else `false`.
1669
1779
  *
1670
1780
  * @static
1671
1781
  * @memberOf _
1672
- * @category Collections
1673
- * @param {Array|Object|string} collection The collection to inspect.
1674
- * @returns {number} Returns `collection.length` or number of own enumerable properties.
1782
+ * @alias unique
1783
+ * @category Arrays
1784
+ * @param {Array} array The array to process.
1785
+ * @param {boolean} [isSorted=false] A flag to indicate that `array` is sorted.
1786
+ * @param {Function|Object|string} [callback=identity] The function called
1787
+ * per iteration. If a property name or object is provided it will be used
1788
+ * to create a "_.pluck" or "_.where" style callback, respectively.
1789
+ * @param {*} [thisArg] The `this` binding of `callback`.
1790
+ * @returns {Array} Returns a duplicate-value-free array.
1675
1791
  * @example
1676
1792
  *
1677
- * _.size([1, 2]);
1678
- * // => 2
1793
+ * _.uniq([1, 2, 1, 3, 1]);
1794
+ * // => [1, 2, 3]
1679
1795
  *
1680
- * _.size({ 'one': 1, 'two': 2, 'three': 3 });
1681
- * // => 3
1796
+ * _.uniq([1, 1, 2, 2, 3], true);
1797
+ * // => [1, 2, 3]
1682
1798
  *
1683
- * _.size('pebbles');
1684
- * // => 7
1799
+ * _.uniq(['A', 'b', 'C', 'a', 'B', 'c'], function(letter) { return letter.toLowerCase(); });
1800
+ * // => ['A', 'b', 'C']
1801
+ *
1802
+ * _.uniq([1, 2.5, 3, 1.5, 2, 3.5], function(num) { return this.floor(num); }, Math);
1803
+ * // => [1, 2.5, 3]
1804
+ *
1805
+ * // using "_.pluck" callback shorthand
1806
+ * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
1807
+ * // => [{ 'x': 1 }, { 'x': 2 }]
1685
1808
  */
1686
- function size(collection) {
1687
- var length = collection ? collection.length : 0;
1688
- return typeof length == 'number' ? length : keys(collection).length;
1689
- }
1690
-
1691
- module.exports = size;
1692
-
1693
-
1694
- /***/ },
1695
- /* 20 */
1696
- /***/ function(module, exports, __webpack_require__) {
1697
-
1698
- // Copyright Joyent, Inc. and other Node contributors.
1699
- //
1700
- // Permission is hereby granted, free of charge, to any person obtaining a
1701
- // copy of this software and associated documentation files (the
1702
- // "Software"), to deal in the Software without restriction, including
1703
- // without limitation the rights to use, copy, modify, merge, publish,
1704
- // distribute, sublicense, and/or sell copies of the Software, and to permit
1705
- // persons to whom the Software is furnished to do so, subject to the
1706
- // following conditions:
1707
- //
1708
- // The above copyright notice and this permission notice shall be included
1709
- // in all copies or substantial portions of the Software.
1710
- //
1711
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1712
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1713
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
1714
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
1715
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
1716
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
1717
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
1718
-
1719
- function EventEmitter() {
1720
- this._events = this._events || {};
1721
- this._maxListeners = this._maxListeners || undefined;
1722
- }
1723
- module.exports = EventEmitter;
1724
-
1725
- // Backwards-compat with node 0.10.x
1726
- EventEmitter.EventEmitter = EventEmitter;
1727
-
1728
- EventEmitter.prototype._events = undefined;
1729
- EventEmitter.prototype._maxListeners = undefined;
1730
-
1731
- // By default EventEmitters will print a warning if more than 10 listeners are
1732
- // added to it. This is a useful default which helps finding memory leaks.
1733
- EventEmitter.defaultMaxListeners = 10;
1734
-
1735
- // Obviously not all Emitters should be limited to 10. This function allows
1736
- // that to be increased. Set to zero for unlimited.
1737
- EventEmitter.prototype.setMaxListeners = function(n) {
1738
- if (!isNumber(n) || n < 0 || isNaN(n))
1739
- throw TypeError('n must be a positive number');
1740
- this._maxListeners = n;
1741
- return this;
1742
- };
1743
-
1744
- EventEmitter.prototype.emit = function(type) {
1745
- var er, handler, len, args, i, listeners;
1746
-
1747
- if (!this._events)
1748
- this._events = {};
1749
-
1750
- // If there is no 'error' event listener then throw.
1751
- if (type === 'error') {
1752
- if (!this._events.error ||
1753
- (isObject(this._events.error) && !this._events.error.length)) {
1754
- er = arguments[1];
1755
- if (er instanceof Error) {
1756
- throw er; // Unhandled 'error' event
1757
- } else {
1758
- throw TypeError('Uncaught, unspecified "error" event.');
1759
- }
1760
- return false;
1761
- }
1762
- }
1763
-
1764
- handler = this._events[type];
1765
-
1766
- if (isUndefined(handler))
1767
- return false;
1768
-
1769
- if (isFunction(handler)) {
1770
- switch (arguments.length) {
1771
- // fast cases
1772
- case 1:
1773
- handler.call(this);
1774
- break;
1775
- case 2:
1776
- handler.call(this, arguments[1]);
1777
- break;
1778
- case 3:
1779
- handler.call(this, arguments[1], arguments[2]);
1780
- break;
1781
- // slower
1782
- default:
1783
- len = arguments.length;
1784
- args = new Array(len - 1);
1785
- for (i = 1; i < len; i++)
1786
- args[i - 1] = arguments[i];
1787
- handler.apply(this, args);
1788
- }
1789
- } else if (isObject(handler)) {
1790
- len = arguments.length;
1791
- args = new Array(len - 1);
1792
- for (i = 1; i < len; i++)
1793
- args[i - 1] = arguments[i];
1794
-
1795
- listeners = handler.slice();
1796
- len = listeners.length;
1797
- for (i = 0; i < len; i++)
1798
- listeners[i].apply(this, args);
1799
- }
1800
-
1801
- return true;
1802
- };
1803
-
1804
- EventEmitter.prototype.addListener = function(type, listener) {
1805
- var m;
1806
-
1807
- if (!isFunction(listener))
1808
- throw TypeError('listener must be a function');
1809
-
1810
- if (!this._events)
1811
- this._events = {};
1812
-
1813
- // To avoid recursion in the case that type === "newListener"! Before
1814
- // adding it to the listeners, first emit "newListener".
1815
- if (this._events.newListener)
1816
- this.emit('newListener', type,
1817
- isFunction(listener.listener) ?
1818
- listener.listener : listener);
1819
-
1820
- if (!this._events[type])
1821
- // Optimize the case of one listener. Don't need the extra array object.
1822
- this._events[type] = listener;
1823
- else if (isObject(this._events[type]))
1824
- // If we've already got an array, just append.
1825
- this._events[type].push(listener);
1826
- else
1827
- // Adding the second element, need to change to array.
1828
- this._events[type] = [this._events[type], listener];
1829
-
1830
- // Check for listener leak
1831
- if (isObject(this._events[type]) && !this._events[type].warned) {
1832
- var m;
1833
- if (!isUndefined(this._maxListeners)) {
1834
- m = this._maxListeners;
1835
- } else {
1836
- m = EventEmitter.defaultMaxListeners;
1837
- }
1838
-
1839
- if (m && m > 0 && this._events[type].length > m) {
1840
- this._events[type].warned = true;
1841
- console.error('(node) warning: possible EventEmitter memory ' +
1842
- 'leak detected. %d listeners added. ' +
1843
- 'Use emitter.setMaxListeners() to increase limit.',
1844
- this._events[type].length);
1845
- if (typeof console.trace === 'function') {
1846
- // not supported in IE 10
1847
- console.trace();
1848
- }
1849
- }
1809
+ function uniq(array, isSorted, callback, thisArg) {
1810
+ // juggle arguments
1811
+ if (typeof isSorted != 'boolean' && isSorted != null) {
1812
+ thisArg = callback;
1813
+ callback = (typeof isSorted != 'function' && thisArg && thisArg[isSorted] === array) ? null : isSorted;
1814
+ isSorted = false;
1850
1815
  }
1816
+ if (callback != null) {
1817
+ callback = createCallback(callback, thisArg, 3);
1818
+ }
1819
+ return baseUniq(array, isSorted, callback);
1820
+ }
1851
1821
 
1852
- return this;
1853
- };
1854
-
1855
- EventEmitter.prototype.on = EventEmitter.prototype.addListener;
1856
-
1857
- EventEmitter.prototype.once = function(type, listener) {
1858
- if (!isFunction(listener))
1859
- throw TypeError('listener must be a function');
1860
-
1861
- var fired = false;
1822
+ module.exports = uniq;
1823
+
1824
+
1825
+ /***/ },
1826
+ /* 18 */
1827
+ /***/ function(module, exports, __webpack_require__) {
1828
+
1829
+ /**
1830
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1831
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1832
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1833
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1834
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1835
+ * Available under MIT license <http://lodash.com/license>
1836
+ */
1837
+ var createCallback = __webpack_require__(39),
1838
+ forOwn = __webpack_require__(13);
1862
1839
 
1863
- function g() {
1864
- this.removeListener(type, g);
1840
+ /**
1841
+ * Creates an array of values by running each element in the collection
1842
+ * through the callback. The callback is bound to `thisArg` and invoked with
1843
+ * three arguments; (value, index|key, collection).
1844
+ *
1845
+ * If a property name is provided for `callback` the created "_.pluck" style
1846
+ * callback will return the property value of the given element.
1847
+ *
1848
+ * If an object is provided for `callback` the created "_.where" style callback
1849
+ * will return `true` for elements that have the properties of the given object,
1850
+ * else `false`.
1851
+ *
1852
+ * @static
1853
+ * @memberOf _
1854
+ * @alias collect
1855
+ * @category Collections
1856
+ * @param {Array|Object|string} collection The collection to iterate over.
1857
+ * @param {Function|Object|string} [callback=identity] The function called
1858
+ * per iteration. If a property name or object is provided it will be used
1859
+ * to create a "_.pluck" or "_.where" style callback, respectively.
1860
+ * @param {*} [thisArg] The `this` binding of `callback`.
1861
+ * @returns {Array} Returns a new array of the results of each `callback` execution.
1862
+ * @example
1863
+ *
1864
+ * _.map([1, 2, 3], function(num) { return num * 3; });
1865
+ * // => [3, 6, 9]
1866
+ *
1867
+ * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; });
1868
+ * // => [3, 6, 9] (property order is not guaranteed across environments)
1869
+ *
1870
+ * var characters = [
1871
+ * { 'name': 'barney', 'age': 36 },
1872
+ * { 'name': 'fred', 'age': 40 }
1873
+ * ];
1874
+ *
1875
+ * // using "_.pluck" callback shorthand
1876
+ * _.map(characters, 'name');
1877
+ * // => ['barney', 'fred']
1878
+ */
1879
+ function map(collection, callback, thisArg) {
1880
+ var index = -1,
1881
+ length = collection ? collection.length : 0;
1865
1882
 
1866
- if (!fired) {
1867
- fired = true;
1868
- listener.apply(this, arguments);
1883
+ callback = createCallback(callback, thisArg, 3);
1884
+ if (typeof length == 'number') {
1885
+ var result = Array(length);
1886
+ while (++index < length) {
1887
+ result[index] = callback(collection[index], index, collection);
1869
1888
  }
1889
+ } else {
1890
+ result = [];
1891
+ forOwn(collection, function(value, key, collection) {
1892
+ result[++index] = callback(value, key, collection);
1893
+ });
1870
1894
  }
1895
+ return result;
1896
+ }
1871
1897
 
1872
- g.listener = listener;
1873
- this.on(type, g);
1874
-
1875
- return this;
1876
- };
1877
-
1878
- // emits a 'removeListener' event iff the listener was removed
1879
- EventEmitter.prototype.removeListener = function(type, listener) {
1880
- var list, position, length, i;
1881
-
1882
- if (!isFunction(listener))
1883
- throw TypeError('listener must be a function');
1884
-
1885
- if (!this._events || !this._events[type])
1886
- return this;
1887
-
1888
- list = this._events[type];
1889
- length = list.length;
1890
- position = -1;
1898
+ module.exports = map;
1899
+
1900
+
1901
+ /***/ },
1902
+ /* 19 */
1903
+ /***/ function(module, exports, __webpack_require__) {
1904
+
1905
+ /**
1906
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1907
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1908
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1909
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1910
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1911
+ * Available under MIT license <http://lodash.com/license>
1912
+ */
1913
+ var baseCreateCallback = __webpack_require__(27),
1914
+ forOwn = __webpack_require__(13);
1891
1915
 
1892
- if (list === listener ||
1893
- (isFunction(list.listener) && list.listener === listener)) {
1894
- delete this._events[type];
1895
- if (this._events.removeListener)
1896
- this.emit('removeListener', type, listener);
1916
+ /**
1917
+ * Iterates over elements of a collection, executing the callback for each
1918
+ * element. The callback is bound to `thisArg` and invoked with three arguments;
1919
+ * (value, index|key, collection). Callbacks may exit iteration early by
1920
+ * explicitly returning `false`.
1921
+ *
1922
+ * Note: As with other "Collections" methods, objects with a `length` property
1923
+ * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`
1924
+ * may be used for object iteration.
1925
+ *
1926
+ * @static
1927
+ * @memberOf _
1928
+ * @alias each
1929
+ * @category Collections
1930
+ * @param {Array|Object|string} collection The collection to iterate over.
1931
+ * @param {Function} [callback=identity] The function called per iteration.
1932
+ * @param {*} [thisArg] The `this` binding of `callback`.
1933
+ * @returns {Array|Object|string} Returns `collection`.
1934
+ * @example
1935
+ *
1936
+ * _([1, 2, 3]).forEach(function(num) { console.log(num); }).join(',');
1937
+ * // => logs each number and returns '1,2,3'
1938
+ *
1939
+ * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { console.log(num); });
1940
+ * // => logs each number and returns the object (property order is not guaranteed across environments)
1941
+ */
1942
+ function forEach(collection, callback, thisArg) {
1943
+ var index = -1,
1944
+ length = collection ? collection.length : 0;
1897
1945
 
1898
- } else if (isObject(list)) {
1899
- for (i = length; i-- > 0;) {
1900
- if (list[i] === listener ||
1901
- (list[i].listener && list[i].listener === listener)) {
1902
- position = i;
1946
+ callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
1947
+ if (typeof length == 'number') {
1948
+ while (++index < length) {
1949
+ if (callback(collection[index], index, collection) === false) {
1903
1950
  break;
1904
1951
  }
1905
1952
  }
1906
-
1907
- if (position < 0)
1908
- return this;
1909
-
1910
- if (list.length === 1) {
1911
- list.length = 0;
1912
- delete this._events[type];
1913
- } else {
1914
- list.splice(position, 1);
1915
- }
1916
-
1917
- if (this._events.removeListener)
1918
- this.emit('removeListener', type, listener);
1919
- }
1920
-
1921
- return this;
1922
- };
1923
-
1924
- EventEmitter.prototype.removeAllListeners = function(type) {
1925
- var key, listeners;
1926
-
1927
- if (!this._events)
1928
- return this;
1929
-
1930
- // not listening for removeListener, no need to emit
1931
- if (!this._events.removeListener) {
1932
- if (arguments.length === 0)
1933
- this._events = {};
1934
- else if (this._events[type])
1935
- delete this._events[type];
1936
- return this;
1937
- }
1938
-
1939
- // emit removeListener for all listeners on all events
1940
- if (arguments.length === 0) {
1941
- for (key in this._events) {
1942
- if (key === 'removeListener') continue;
1943
- this.removeAllListeners(key);
1944
- }
1945
- this.removeAllListeners('removeListener');
1946
- this._events = {};
1947
- return this;
1948
- }
1949
-
1950
- listeners = this._events[type];
1951
-
1952
- if (isFunction(listeners)) {
1953
- this.removeListener(type, listeners);
1954
1953
  } else {
1955
- // LIFO order
1956
- while (listeners.length)
1957
- this.removeListener(type, listeners[listeners.length - 1]);
1954
+ forOwn(collection, callback);
1958
1955
  }
1959
- delete this._events[type];
1960
-
1961
- return this;
1962
- };
1963
-
1964
- EventEmitter.prototype.listeners = function(type) {
1965
- var ret;
1966
- if (!this._events || !this._events[type])
1967
- ret = [];
1968
- else if (isFunction(this._events[type]))
1969
- ret = [this._events[type]];
1970
- else
1971
- ret = this._events[type].slice();
1972
- return ret;
1973
- };
1974
-
1975
- EventEmitter.listenerCount = function(emitter, type) {
1976
- var ret;
1977
- if (!emitter._events || !emitter._events[type])
1978
- ret = 0;
1979
- else if (isFunction(emitter._events[type]))
1980
- ret = 1;
1981
- else
1982
- ret = emitter._events[type].length;
1983
- return ret;
1984
- };
1985
-
1986
- function isFunction(arg) {
1987
- return typeof arg === 'function';
1988
- }
1989
-
1990
- function isNumber(arg) {
1991
- return typeof arg === 'number';
1956
+ return collection;
1992
1957
  }
1993
1958
 
1994
- function isObject(arg) {
1995
- return typeof arg === 'object' && arg !== null;
1996
- }
1959
+ module.exports = forEach;
1960
+
1961
+
1962
+ /***/ },
1963
+ /* 20 */
1964
+ /***/ function(module, exports, __webpack_require__) {
1965
+
1966
+ /**
1967
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
1968
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
1969
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
1970
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
1971
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
1972
+ * Available under MIT license <http://lodash.com/license>
1973
+ */
1974
+ var keys = __webpack_require__(14);
1997
1975
 
1998
- function isUndefined(arg) {
1999
- return arg === void 0;
1976
+ /**
1977
+ * Gets the size of the `collection` by returning `collection.length` for arrays
1978
+ * and array-like objects or the number of own enumerable properties for objects.
1979
+ *
1980
+ * @static
1981
+ * @memberOf _
1982
+ * @category Collections
1983
+ * @param {Array|Object|string} collection The collection to inspect.
1984
+ * @returns {number} Returns `collection.length` or number of own enumerable properties.
1985
+ * @example
1986
+ *
1987
+ * _.size([1, 2]);
1988
+ * // => 2
1989
+ *
1990
+ * _.size({ 'one': 1, 'two': 2, 'three': 3 });
1991
+ * // => 3
1992
+ *
1993
+ * _.size('pebbles');
1994
+ * // => 7
1995
+ */
1996
+ function size(collection) {
1997
+ var length = collection ? collection.length : 0;
1998
+ return typeof length == 'number' ? length : keys(collection).length;
2000
1999
  }
2000
+
2001
+ module.exports = size;
2001
2002
 
2002
2003
 
2003
2004
  /***/ },
@@ -2023,7 +2024,7 @@ return /******/ (function(modules) { // webpackBootstrap
2023
2024
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2024
2025
  * Available under MIT license <http://lodash.com/license>
2025
2026
  */
2026
- var objectTypes = __webpack_require__(27);
2027
+ var objectTypes = __webpack_require__(28);
2027
2028
 
2028
2029
  /**
2029
2030
  * Checks if `value` is the language type of Object.
@@ -2114,7 +2115,7 @@ return /******/ (function(modules) { // webpackBootstrap
2114
2115
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2115
2116
  * Available under MIT license <http://lodash.com/license>
2116
2117
  */
2117
- var isNative = __webpack_require__(28);
2118
+ var isNative = __webpack_require__(29);
2118
2119
 
2119
2120
  /** `Object#toString` result shortcuts */
2120
2121
  var arrayClass = '[object Array]';
@@ -2155,6 +2156,72 @@ return /******/ (function(modules) { // webpackBootstrap
2155
2156
 
2156
2157
  /***/ },
2157
2158
  /* 25 */
2159
+ /***/ function(module, exports, __webpack_require__) {
2160
+
2161
+ // shim for using process in browser
2162
+
2163
+ var process = module.exports = {};
2164
+
2165
+ process.nextTick = (function () {
2166
+ var canSetImmediate = typeof window !== 'undefined'
2167
+ && window.setImmediate;
2168
+ var canPost = typeof window !== 'undefined'
2169
+ && window.postMessage && window.addEventListener
2170
+ ;
2171
+
2172
+ if (canSetImmediate) {
2173
+ return function (f) { return window.setImmediate(f) };
2174
+ }
2175
+
2176
+ if (canPost) {
2177
+ var queue = [];
2178
+ window.addEventListener('message', function (ev) {
2179
+ var source = ev.source;
2180
+ if ((source === window || source === null) && ev.data === 'process-tick') {
2181
+ ev.stopPropagation();
2182
+ if (queue.length > 0) {
2183
+ var fn = queue.shift();
2184
+ fn();
2185
+ }
2186
+ }
2187
+ }, true);
2188
+
2189
+ return function nextTick(fn) {
2190
+ queue.push(fn);
2191
+ window.postMessage('process-tick', '*');
2192
+ };
2193
+ }
2194
+
2195
+ return function nextTick(fn) {
2196
+ setTimeout(fn, 0);
2197
+ };
2198
+ })();
2199
+
2200
+ process.title = 'browser';
2201
+ process.browser = true;
2202
+ process.env = {};
2203
+ process.argv = [];
2204
+
2205
+ function noop() {}
2206
+
2207
+ process.on = noop;
2208
+ process.once = noop;
2209
+ process.off = noop;
2210
+ process.emit = noop;
2211
+
2212
+ process.binding = function (name) {
2213
+ throw new Error('process.binding is not supported');
2214
+ }
2215
+
2216
+ // TODO(shtylman)
2217
+ process.cwd = function () { return '/' };
2218
+ process.chdir = function (dir) {
2219
+ throw new Error('process.chdir is not supported');
2220
+ };
2221
+
2222
+
2223
+ /***/ },
2224
+ /* 26 */
2158
2225
  /***/ function(module, exports, __webpack_require__) {
2159
2226
 
2160
2227
  /**
@@ -2166,12 +2233,12 @@ return /******/ (function(modules) { // webpackBootstrap
2166
2233
  * Available under MIT license <http://lodash.com/license>
2167
2234
  */
2168
2235
  var assign = __webpack_require__(41),
2169
- forEach = __webpack_require__(18),
2170
- forOwn = __webpack_require__(12),
2171
- getArray = __webpack_require__(33),
2236
+ forEach = __webpack_require__(19),
2237
+ forOwn = __webpack_require__(13),
2238
+ getArray = __webpack_require__(34),
2172
2239
  isArray = __webpack_require__(24),
2173
2240
  isObject = __webpack_require__(22),
2174
- releaseArray = __webpack_require__(35),
2241
+ releaseArray = __webpack_require__(36),
2175
2242
  slice = __webpack_require__(42);
2176
2243
 
2177
2244
  /** Used to match regexp flags from their coerced string values */
@@ -2312,7 +2379,7 @@ return /******/ (function(modules) { // webpackBootstrap
2312
2379
 
2313
2380
 
2314
2381
  /***/ },
2315
- /* 26 */
2382
+ /* 27 */
2316
2383
  /***/ function(module, exports, __webpack_require__) {
2317
2384
 
2318
2385
  /**
@@ -2398,7 +2465,7 @@ return /******/ (function(modules) { // webpackBootstrap
2398
2465
 
2399
2466
 
2400
2467
  /***/ },
2401
- /* 27 */
2468
+ /* 28 */
2402
2469
  /***/ function(module, exports, __webpack_require__) {
2403
2470
 
2404
2471
  /**
@@ -2424,7 +2491,7 @@ return /******/ (function(modules) { // webpackBootstrap
2424
2491
 
2425
2492
 
2426
2493
  /***/ },
2427
- /* 28 */
2494
+ /* 29 */
2428
2495
  /***/ function(module, exports, __webpack_require__) {
2429
2496
 
2430
2497
  /**
@@ -2464,7 +2531,7 @@ return /******/ (function(modules) { // webpackBootstrap
2464
2531
 
2465
2532
 
2466
2533
  /***/ },
2467
- /* 29 */
2534
+ /* 30 */
2468
2535
  /***/ function(module, exports, __webpack_require__) {
2469
2536
 
2470
2537
  /**
@@ -2475,7 +2542,7 @@ return /******/ (function(modules) { // webpackBootstrap
2475
2542
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2476
2543
  * Available under MIT license <http://lodash.com/license>
2477
2544
  */
2478
- var objectTypes = __webpack_require__(27);
2545
+ var objectTypes = __webpack_require__(28);
2479
2546
 
2480
2547
  /** Used for native method references */
2481
2548
  var objectProto = Object.prototype;
@@ -2508,7 +2575,7 @@ return /******/ (function(modules) { // webpackBootstrap
2508
2575
 
2509
2576
 
2510
2577
  /***/ },
2511
- /* 30 */
2578
+ /* 31 */
2512
2579
  /***/ function(module, exports, __webpack_require__) {
2513
2580
 
2514
2581
  /**
@@ -2546,7 +2613,7 @@ return /******/ (function(modules) { // webpackBootstrap
2546
2613
 
2547
2614
 
2548
2615
  /***/ },
2549
- /* 31 */
2616
+ /* 32 */
2550
2617
  /***/ function(module, exports, __webpack_require__) {
2551
2618
 
2552
2619
  /**
@@ -2557,8 +2624,8 @@ return /******/ (function(modules) { // webpackBootstrap
2557
2624
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2558
2625
  * Available under MIT license <http://lodash.com/license>
2559
2626
  */
2560
- var baseIndexOf = __webpack_require__(30),
2561
- keyPrefix = __webpack_require__(48);
2627
+ var baseIndexOf = __webpack_require__(31),
2628
+ keyPrefix = __webpack_require__(46);
2562
2629
 
2563
2630
  /**
2564
2631
  * An implementation of `_.contains` for cache objects that mimics the return
@@ -2591,7 +2658,7 @@ return /******/ (function(modules) { // webpackBootstrap
2591
2658
 
2592
2659
 
2593
2660
  /***/ },
2594
- /* 32 */
2661
+ /* 33 */
2595
2662
  /***/ function(module, exports, __webpack_require__) {
2596
2663
 
2597
2664
  /**
@@ -2602,9 +2669,9 @@ return /******/ (function(modules) { // webpackBootstrap
2602
2669
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2603
2670
  * Available under MIT license <http://lodash.com/license>
2604
2671
  */
2605
- var cachePush = __webpack_require__(46),
2606
- getObject = __webpack_require__(47),
2607
- releaseObject = __webpack_require__(36);
2672
+ var cachePush = __webpack_require__(47),
2673
+ getObject = __webpack_require__(48),
2674
+ releaseObject = __webpack_require__(37);
2608
2675
 
2609
2676
  /**
2610
2677
  * Creates a cache object to optimize linear searches of large arrays.
@@ -2642,7 +2709,7 @@ return /******/ (function(modules) { // webpackBootstrap
2642
2709
 
2643
2710
 
2644
2711
  /***/ },
2645
- /* 33 */
2712
+ /* 34 */
2646
2713
  /***/ function(module, exports, __webpack_require__) {
2647
2714
 
2648
2715
  /**
@@ -2653,7 +2720,7 @@ return /******/ (function(modules) { // webpackBootstrap
2653
2720
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2654
2721
  * Available under MIT license <http://lodash.com/license>
2655
2722
  */
2656
- var arrayPool = __webpack_require__(51);
2723
+ var arrayPool = __webpack_require__(49);
2657
2724
 
2658
2725
  /**
2659
2726
  * Gets an array from the array pool or creates a new one if the pool is empty.
@@ -2669,7 +2736,7 @@ return /******/ (function(modules) { // webpackBootstrap
2669
2736
 
2670
2737
 
2671
2738
  /***/ },
2672
- /* 34 */
2739
+ /* 35 */
2673
2740
  /***/ function(module, exports, __webpack_require__) {
2674
2741
 
2675
2742
  /**
@@ -2688,7 +2755,7 @@ return /******/ (function(modules) { // webpackBootstrap
2688
2755
 
2689
2756
 
2690
2757
  /***/ },
2691
- /* 35 */
2758
+ /* 36 */
2692
2759
  /***/ function(module, exports, __webpack_require__) {
2693
2760
 
2694
2761
  /**
@@ -2699,8 +2766,8 @@ return /******/ (function(modules) { // webpackBootstrap
2699
2766
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2700
2767
  * Available under MIT license <http://lodash.com/license>
2701
2768
  */
2702
- var arrayPool = __webpack_require__(51),
2703
- maxPoolSize = __webpack_require__(49);
2769
+ var arrayPool = __webpack_require__(49),
2770
+ maxPoolSize = __webpack_require__(50);
2704
2771
 
2705
2772
  /**
2706
2773
  * Releases the given array back to the array pool.
@@ -2719,7 +2786,7 @@ return /******/ (function(modules) { // webpackBootstrap
2719
2786
 
2720
2787
 
2721
2788
  /***/ },
2722
- /* 36 */
2789
+ /* 37 */
2723
2790
  /***/ function(module, exports, __webpack_require__) {
2724
2791
 
2725
2792
  /**
@@ -2730,8 +2797,8 @@ return /******/ (function(modules) { // webpackBootstrap
2730
2797
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2731
2798
  * Available under MIT license <http://lodash.com/license>
2732
2799
  */
2733
- var maxPoolSize = __webpack_require__(49),
2734
- objectPool = __webpack_require__(50);
2800
+ var maxPoolSize = __webpack_require__(50),
2801
+ objectPool = __webpack_require__(51);
2735
2802
 
2736
2803
  /**
2737
2804
  * Releases the given object back to the object pool.
@@ -2754,7 +2821,7 @@ return /******/ (function(modules) { // webpackBootstrap
2754
2821
 
2755
2822
 
2756
2823
  /***/ },
2757
- /* 37 */
2824
+ /* 38 */
2758
2825
  /***/ function(module, exports, __webpack_require__) {
2759
2826
 
2760
2827
  /**
@@ -2765,13 +2832,13 @@ return /******/ (function(modules) { // webpackBootstrap
2765
2832
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2766
2833
  * Available under MIT license <http://lodash.com/license>
2767
2834
  */
2768
- var baseIndexOf = __webpack_require__(30),
2769
- cacheIndexOf = __webpack_require__(31),
2770
- createCache = __webpack_require__(32),
2771
- getArray = __webpack_require__(33),
2772
- largeArraySize = __webpack_require__(34),
2773
- releaseArray = __webpack_require__(35),
2774
- releaseObject = __webpack_require__(36);
2835
+ var baseIndexOf = __webpack_require__(31),
2836
+ cacheIndexOf = __webpack_require__(32),
2837
+ createCache = __webpack_require__(33),
2838
+ getArray = __webpack_require__(34),
2839
+ largeArraySize = __webpack_require__(35),
2840
+ releaseArray = __webpack_require__(36),
2841
+ releaseObject = __webpack_require__(37);
2775
2842
 
2776
2843
  /**
2777
2844
  * The base implementation of `_.uniq` without support for callback shorthands
@@ -2824,7 +2891,7 @@ return /******/ (function(modules) { // webpackBootstrap
2824
2891
 
2825
2892
 
2826
2893
  /***/ },
2827
- /* 38 */
2894
+ /* 39 */
2828
2895
  /***/ function(module, exports, __webpack_require__) {
2829
2896
 
2830
2897
  /**
@@ -2835,10 +2902,10 @@ return /******/ (function(modules) { // webpackBootstrap
2835
2902
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
2836
2903
  * Available under MIT license <http://lodash.com/license>
2837
2904
  */
2838
- var baseCreateCallback = __webpack_require__(26),
2905
+ var baseCreateCallback = __webpack_require__(27),
2839
2906
  baseIsEqual = __webpack_require__(52),
2840
2907
  isObject = __webpack_require__(22),
2841
- keys = __webpack_require__(13),
2908
+ keys = __webpack_require__(14),
2842
2909
  property = __webpack_require__(54);
2843
2910
 
2844
2911
  /**
@@ -2910,72 +2977,6 @@ return /******/ (function(modules) { // webpackBootstrap
2910
2977
  module.exports = createCallback;
2911
2978
 
2912
2979
 
2913
- /***/ },
2914
- /* 39 */
2915
- /***/ function(module, exports, __webpack_require__) {
2916
-
2917
- // shim for using process in browser
2918
-
2919
- var process = module.exports = {};
2920
-
2921
- process.nextTick = (function () {
2922
- var canSetImmediate = typeof window !== 'undefined'
2923
- && window.setImmediate;
2924
- var canPost = typeof window !== 'undefined'
2925
- && window.postMessage && window.addEventListener
2926
- ;
2927
-
2928
- if (canSetImmediate) {
2929
- return function (f) { return window.setImmediate(f) };
2930
- }
2931
-
2932
- if (canPost) {
2933
- var queue = [];
2934
- window.addEventListener('message', function (ev) {
2935
- var source = ev.source;
2936
- if ((source === window || source === null) && ev.data === 'process-tick') {
2937
- ev.stopPropagation();
2938
- if (queue.length > 0) {
2939
- var fn = queue.shift();
2940
- fn();
2941
- }
2942
- }
2943
- }, true);
2944
-
2945
- return function nextTick(fn) {
2946
- queue.push(fn);
2947
- window.postMessage('process-tick', '*');
2948
- };
2949
- }
2950
-
2951
- return function nextTick(fn) {
2952
- setTimeout(fn, 0);
2953
- };
2954
- })();
2955
-
2956
- process.title = 'browser';
2957
- process.browser = true;
2958
- process.env = {};
2959
- process.argv = [];
2960
-
2961
- function noop() {}
2962
-
2963
- process.on = noop;
2964
- process.once = noop;
2965
- process.off = noop;
2966
- process.emit = noop;
2967
-
2968
- process.binding = function (name) {
2969
- throw new Error('process.binding is not supported');
2970
- }
2971
-
2972
- // TODO(shtylman)
2973
- process.cwd = function () { return '/' };
2974
- process.chdir = function (dir) {
2975
- throw new Error('process.chdir is not supported');
2976
- };
2977
-
2978
-
2979
2980
  /***/ },
2980
2981
  /* 40 */
2981
2982
  /***/ function(module, exports, __webpack_require__) {
@@ -3017,9 +3018,9 @@ return /******/ (function(modules) { // webpackBootstrap
3017
3018
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3018
3019
  * Available under MIT license <http://lodash.com/license>
3019
3020
  */
3020
- var baseCreateCallback = __webpack_require__(26),
3021
- keys = __webpack_require__(13),
3022
- objectTypes = __webpack_require__(27);
3021
+ var baseCreateCallback = __webpack_require__(27),
3022
+ keys = __webpack_require__(14),
3023
+ objectTypes = __webpack_require__(28);
3023
3024
 
3024
3025
  /**
3025
3026
  * Assigns own enumerable properties of source object(s) to the destination
@@ -3183,7 +3184,7 @@ return /******/ (function(modules) { // webpackBootstrap
3183
3184
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3184
3185
  * Available under MIT license <http://lodash.com/license>
3185
3186
  */
3186
- var isNative = __webpack_require__(28),
3187
+ var isNative = __webpack_require__(29),
3187
3188
  noop = __webpack_require__(56);
3188
3189
 
3189
3190
  /** Used as the property descriptor for `__bindData__` */
@@ -3232,7 +3233,7 @@ return /******/ (function(modules) { // webpackBootstrap
3232
3233
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3233
3234
  * Available under MIT license <http://lodash.com/license>
3234
3235
  */
3235
- var isNative = __webpack_require__(28);
3236
+ var isNative = __webpack_require__(29);
3236
3237
 
3237
3238
  /** Used to detect functions containing a `this` reference */
3238
3239
  var reThis = /\bthis\b/;
@@ -3279,7 +3280,26 @@ return /******/ (function(modules) { // webpackBootstrap
3279
3280
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3280
3281
  * Available under MIT license <http://lodash.com/license>
3281
3282
  */
3282
- var keyPrefix = __webpack_require__(48);
3283
+
3284
+ /** Used to prefix keys to avoid issues with `__proto__` and properties on `Object.prototype` */
3285
+ var keyPrefix = +new Date + '';
3286
+
3287
+ module.exports = keyPrefix;
3288
+
3289
+
3290
+ /***/ },
3291
+ /* 47 */
3292
+ /***/ function(module, exports, __webpack_require__) {
3293
+
3294
+ /**
3295
+ * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
3296
+ * Build: `lodash modularize modern exports="node" -o ./modern/`
3297
+ * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
3298
+ * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
3299
+ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3300
+ * Available under MIT license <http://lodash.com/license>
3301
+ */
3302
+ var keyPrefix = __webpack_require__(46);
3283
3303
 
3284
3304
  /**
3285
3305
  * Adds a given value to the corresponding cache object.
@@ -3312,7 +3332,7 @@ return /******/ (function(modules) { // webpackBootstrap
3312
3332
 
3313
3333
 
3314
3334
  /***/ },
3315
- /* 47 */
3335
+ /* 48 */
3316
3336
  /***/ function(module, exports, __webpack_require__) {
3317
3337
 
3318
3338
  /**
@@ -3323,7 +3343,7 @@ return /******/ (function(modules) { // webpackBootstrap
3323
3343
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3324
3344
  * Available under MIT license <http://lodash.com/license>
3325
3345
  */
3326
- var objectPool = __webpack_require__(50);
3346
+ var objectPool = __webpack_require__(51);
3327
3347
 
3328
3348
  /**
3329
3349
  * Gets an object from the object pool or creates a new one if the pool is empty.
@@ -3353,7 +3373,7 @@ return /******/ (function(modules) { // webpackBootstrap
3353
3373
 
3354
3374
 
3355
3375
  /***/ },
3356
- /* 48 */
3376
+ /* 49 */
3357
3377
  /***/ function(module, exports, __webpack_require__) {
3358
3378
 
3359
3379
  /**
@@ -3365,14 +3385,14 @@ return /******/ (function(modules) { // webpackBootstrap
3365
3385
  * Available under MIT license <http://lodash.com/license>
3366
3386
  */
3367
3387
 
3368
- /** Used to prefix keys to avoid issues with `__proto__` and properties on `Object.prototype` */
3369
- var keyPrefix = +new Date + '';
3388
+ /** Used to pool arrays and objects used internally */
3389
+ var arrayPool = [];
3370
3390
 
3371
- module.exports = keyPrefix;
3391
+ module.exports = arrayPool;
3372
3392
 
3373
3393
 
3374
3394
  /***/ },
3375
- /* 49 */
3395
+ /* 50 */
3376
3396
  /***/ function(module, exports, __webpack_require__) {
3377
3397
 
3378
3398
  /**
@@ -3391,7 +3411,7 @@ return /******/ (function(modules) { // webpackBootstrap
3391
3411
 
3392
3412
 
3393
3413
  /***/ },
3394
- /* 50 */
3414
+ /* 51 */
3395
3415
  /***/ function(module, exports, __webpack_require__) {
3396
3416
 
3397
3417
  /**
@@ -3409,25 +3429,6 @@ return /******/ (function(modules) { // webpackBootstrap
3409
3429
  module.exports = objectPool;
3410
3430
 
3411
3431
 
3412
- /***/ },
3413
- /* 51 */
3414
- /***/ function(module, exports, __webpack_require__) {
3415
-
3416
- /**
3417
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
3418
- * Build: `lodash modularize modern exports="node" -o ./modern/`
3419
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
3420
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
3421
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3422
- * Available under MIT license <http://lodash.com/license>
3423
- */
3424
-
3425
- /** Used to pool arrays and objects used internally */
3426
- var arrayPool = [];
3427
-
3428
- module.exports = arrayPool;
3429
-
3430
-
3431
3432
  /***/ },
3432
3433
  /* 52 */
3433
3434
  /***/ function(module, exports, __webpack_require__) {
@@ -3441,10 +3442,10 @@ return /******/ (function(modules) { // webpackBootstrap
3441
3442
  * Available under MIT license <http://lodash.com/license>
3442
3443
  */
3443
3444
  var forIn = __webpack_require__(57),
3444
- getArray = __webpack_require__(33),
3445
+ getArray = __webpack_require__(34),
3445
3446
  isFunction = __webpack_require__(58),
3446
- objectTypes = __webpack_require__(27),
3447
- releaseArray = __webpack_require__(35);
3447
+ objectTypes = __webpack_require__(28),
3448
+ releaseArray = __webpack_require__(36);
3448
3449
 
3449
3450
  /** `Object#toString` result shortcuts */
3450
3451
  var argsClass = '[object Arguments]',
@@ -3879,8 +3880,8 @@ return /******/ (function(modules) { // webpackBootstrap
3879
3880
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
3880
3881
  * Available under MIT license <http://lodash.com/license>
3881
3882
  */
3882
- var baseCreateCallback = __webpack_require__(26),
3883
- objectTypes = __webpack_require__(27);
3883
+ var baseCreateCallback = __webpack_require__(27),
3884
+ objectTypes = __webpack_require__(28);
3884
3885
 
3885
3886
  /**
3886
3887
  * Iterates over own and inherited enumerable properties of an object,
@@ -4124,7 +4125,7 @@ return /******/ (function(modules) { // webpackBootstrap
4124
4125
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
4125
4126
  * Available under MIT license <http://lodash.com/license>
4126
4127
  */
4127
- var isNative = __webpack_require__(28),
4128
+ var isNative = __webpack_require__(29),
4128
4129
  isObject = __webpack_require__(22),
4129
4130
  noop = __webpack_require__(56);
4130
4131