UNPKG

241 kBSource Map (JSON)View Raw
1{"version":3,"sources":["/source/node_modules/browser-pack/_prelude.js","/source/lib/App.js","plait.min.js","/source/lib/Map.js","/source/lib/index.js","/source/lib/utils/clone.js","/source/node_modules/browserify/node_modules/process/browser.js","/source/node_modules/cuid/dist/browser-cuid.js","/source/node_modules/dom-delegator/add-event.js","/source/node_modules/dom-delegator/dom-delegator.js","/source/node_modules/dom-delegator/index.js","/source/node_modules/dom-delegator/node_modules/individual/index.js","/source/node_modules/dom-delegator/proxy-event.js","/source/node_modules/dom-delegator/remove-event.js","/source/node_modules/ev-store/index.js","/source/node_modules/global/document.js","/source/node_modules/individual/index.js","/source/node_modules/individual/one-version.js","/source/node_modules/inherits/inherits_browser.js","/source/node_modules/is-object/index.js","/source/node_modules/ramda/src/assoc.js","/source/node_modules/ramda/src/assocPath.js","/source/node_modules/ramda/src/curry.js","/source/node_modules/ramda/src/curryN.js","/source/node_modules/ramda/src/internal/_arity.js","/source/node_modules/ramda/src/internal/_curry1.js","/source/node_modules/ramda/src/internal/_curry2.js","/source/node_modules/ramda/src/internal/_curry3.js","/source/node_modules/ramda/src/internal/_curryN.js","/source/node_modules/ramda/src/internal/_isPlaceholder.js","/source/node_modules/ramda/src/internal/_slice.js","/source/node_modules/ramda/src/path.js","/source/node_modules/redux-thunk/lib/index.js","/source/node_modules/redux/lib/createStore.js","/source/node_modules/redux/lib/index.js","/source/node_modules/redux/lib/utils/applyMiddleware.js","/source/node_modules/redux/lib/utils/bindActionCreators.js","/source/node_modules/redux/lib/utils/combineReducers.js","/source/node_modules/redux/lib/utils/compose.js","/source/node_modules/redux/lib/utils/isPlainObject.js","/source/node_modules/redux/lib/utils/mapValues.js","/source/node_modules/redux/lib/utils/pick.js","/source/node_modules/virtual-dom/create-element.js","/source/node_modules/virtual-dom/diff.js","/source/node_modules/virtual-dom/patch.js","/source/node_modules/virtual-dom/vdom/apply-properties.js","/source/node_modules/virtual-dom/vdom/create-element.js","/source/node_modules/virtual-dom/vdom/dom-index.js","/source/node_modules/virtual-dom/vdom/patch-op.js","/source/node_modules/virtual-dom/vdom/patch.js","/source/node_modules/virtual-dom/vdom/update-widget.js","/source/node_modules/virtual-dom/vnode/handle-thunk.js","/source/node_modules/virtual-dom/vnode/is-thunk.js","/source/node_modules/virtual-dom/vnode/is-vhook.js","/source/node_modules/virtual-dom/vnode/is-vnode.js","/source/node_modules/virtual-dom/vnode/is-vtext.js","/source/node_modules/virtual-dom/vnode/is-widget.js","/source/node_modules/virtual-dom/vnode/version.js","/source/node_modules/virtual-dom/vnode/vpatch.js","/source/node_modules/virtual-dom/vtree/diff-props.js","/source/node_modules/virtual-dom/vtree/diff.js","/source/node_modules/weakmap-shim/create-store.js","/source/node_modules/weakmap-shim/hidden-store.js","/source/node_modules/x-is-array/index.js"],"names":["f","exports","module","define","amd","g","window","global","self","this","plait","e","t","n","r","s","o","u","a","require","i","Error","code","l","call","length",1,"_interopRequireDefault","obj","__esModule","default","start","component","init","update","view","_handleInit","handleInit","_handleInit2","_slicedToArray","initialState","initialAction","dispatch","x","store","createStoreWithMiddleware","state","arguments","undefined","action","newState","event","tree","rootNode","_createElement2","subscribe","patchTree","getState","oldTree","newTree","_patch2","_diff2","initializeComponent","_ref","_handleInit3","_handleInit4","_res","res","Array","isArray","_Map2","sliceIterator","arr","_arr","_n","_d","_e","_s","_i","Symbol","iterator","next","done","push","value","err","Object","TypeError","defineProperty","forwardDispatch","_curry","_curry2","_redux","_reduxThunk","_reduxThunk2","_diff","_patch","_createElement","_domDelegator","_domDelegator2","_Map","applyMiddleware","createStore","forwardAction","rawDispatch","fwd","assign","__fwdAction","./Map","dom-delegator","ramda/src/curry","redux","redux-thunk","virtual-dom/create-element","virtual-dom/diff","virtual-dom/patch",2,"_typeof","constructor","_classCallCheck","instance","Constructor","_createClass","defineProperties","target","props","descriptor","enumerable","configurable","writable","key","protoProps","staticProps","prototype","_assocPath","_assocPath2","_clone","_clone2","_path","_path2","Map","toObject","prop","val","updater","set","get","propPath","./utils/clone","ramda/src/assocPath","ramda/src/path",3,"_interopRequireWildcard","newObj","hasOwnProperty","App","_App","./App",4,"clone",5,6,"cleanUpNextTick","draining","currentQueue","queue","concat","queueIndex","drainQueue","timeout","setTimeout","len","run","clearTimeout","Item","fun","array","noop","process","nextTick","args","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","binding","name","cwd","chdir","dir","umask",7,"app","namespace","c","blockSize","base","discreteValues","Math","pow","pad","num","size","substr","randomBlock","random","toString","safeCounter","api","counter","letter","timestamp","Date","getTime","fingerprint","slug","date","print","slice","globalCount","cache","count","navigator","mimeTypes","userAgent","register","applitude",8,"addEvent","type","handler","events","EvStore","indexOf","ev-store",9,"DOMDelegator","document","globalDocument","documentElement","rawEventListeners","globalListeners","createHandler","eventName","delegator","ev","globalHandlers","globalEvent","ProxyEvent","currentTarget","delegatorTarget","callListeners","findAndInvokeListeners","elem","listener","getListener","handlers","listenerEvent","_bubbles","nextTarget","parentNode","allHandler","Listener","forEach","handleEvent","JSON","stringify","HANDLER_STORE","func","Handle","removeEvent","addEventListener","removeEventListener","allocateHandle","handle","transformHandle","broadcast","addGlobalEventListener","fn","listeners","removeGlobalEventListener","index","splice","listenTo","unlistenTo","./add-event.js","./proxy-event.js","./remove-event.js","global/document","weakmap-shim/create-store",10,"Delegator","opts","cacheKey","cacheTokenKey","cuid","delegatorCache","delegators","defaultEvents","commonEvents","Individual","versionKey","./dom-delegator.js","individual",11,"root",12,"rkeyEvent","test","KeyEvent","rmouseEvent","MouseEvent","ALL_PROPS","propKey","_rawEvent","j","MOUSE_PROPS","mousePropKey","KEY_PROPS","keyPropKey","inherits","preventDefault","startPropagation",13,14,"hash","hashKey","OneVersionConstraint","MY_VERSION","individual/one-version",15,"topLevel","minDoc","doccy","min-document",16,17,"OneVersion","moduleName","defaultValue","enforceKey","versionValue","./index.js",18,"create","ctor","superCtor","super_","TempCtor",19,20,"_curry3","result","p","./internal/_curry3",21,"_slice","assoc","assocPath","path","./assoc","./internal/_slice",22,"_curry1","curryN","./curryN","./internal/_curry1",23,"_arity","_curryN","./internal/_arity","./internal/_curry2","./internal/_curryN",24,"a0","a1","a2","a3","a4","a5","a6","a7","a8","a9",25,"_isPlaceholder","f1","./_isPlaceholder",26,"f2","b","_b","_a","./_curry1",27,"f3","_c","./_curry2",28,"received","combined","argsIdx","left","combinedIdx","./_arity",29,30,"from","to","list","idx","max","min",31,"paths",32,"thunkMiddleware",33,"reducer","currentState","isSubscribed","_utilsIsPlainObject2","isDispatching","currentReducer","replaceReducer","nextReducer","ActionTypes","INIT","_utilsIsPlainObject","./utils/isPlainObject",34,"_createStore","_createStore2","_utilsCombineReducers","_utilsCombineReducers2","_utilsBindActionCreators","_utilsBindActionCreators2","_utilsApplyMiddleware","_utilsApplyMiddleware2","_utilsCompose","_utilsCompose2","combineReducers","bindActionCreators","compose","./createStore","./utils/applyMiddleware","./utils/bindActionCreators","./utils/combineReducers","./utils/compose",35,"_len","middlewares","_key","_dispatch","chain","middlewareAPI","map","middleware","_compose2","_extends","source","_compose","./compose",36,"bindActionCreator","actionCreator","actionCreators","_mapValues2","_mapValues","./mapValues",37,"getUndefinedStateErrorMessage","actionType","actionName","getUnexpectedStateKeyWarningMessage","inputState","outputState","reducerKeys","keys","argumentName","_isPlainObject2","match","join","unexpectedKeys","filter","assertReducerSanity","reducers","substring","split","sanityError","finalReducers","_pick2","defaultState","hasChanged","finalState","previousStateForKey","nextStateForKey","errorMessage","NODE_ENV","warningMessage","console","error","_isPlainObject","_pick","../createStore","./isPlainObject","./pick","_process",38,"funcs","arg","reduceRight","composed",39,"isPlainObject","proto","getPrototypeOf","fnToString","objStringValue","Function",40,"mapValues","reduce",41,"pick",42,"createElement","./vdom/create-element.js",43,"diff","./vtree/diff.js",44,"patch","./vdom/patch.js",45,"applyProperties","node","previous","propName","propValue","removeProperty","isHook","hook","isObject","patchObject","previousValue","unhook","attrName","removeAttribute","style","getPrototype","replacer","k","attrValue","setAttribute","__proto__","../vnode/is-vhook.js","is-object",46,"vnode","doc","warn","handleThunk","isWidget","isVText","createTextNode","text","isVNode","tagName","createElementNS","properties","children","childNode","appendChild","../vnode/handle-thunk.js","../vnode/is-vnode.js","../vnode/is-vtext.js","../vnode/is-widget.js","./apply-properties",47,"domIndex","indices","nodes","sort","ascending","recurse","rootIndex","indexInRange","vChildren","childNodes","vChild","noChild","nextIndex","right","currentIndex","currentItem","minIndex","maxIndex",48,"applyPatch","vpatch","domNode","renderOptions","vNode","VPatch","REMOVE","removeNode","INSERT","insertNode","VTEXT","stringPatch","WIDGET","widgetPatch","VNODE","vNodePatch","ORDER","reorderChildren","PROPS","THUNK","replaceRoot","removeChild","destroyWidget","newNode","render","leftVNode","vText","nodeType","replaceData","replaceChild","widget","updating","updateWidget","w","destroy","moves","remove","insert","keyMap","removes","inserts","insertBefore","oldRoot","newRoot","../vnode/vpatch.js","./update-widget",49,"patches","patchRecursive","patchIndices","ownerDocument","nodeIndex","patchList","patchOp","Number","./create-element","./dom-index","./patch-op","x-is-array",50,"id",51,"renderedA","renderedB","isThunk","renderThunk","thunk","renderedThunk","./is-thunk","./is-vnode","./is-vtext","./is-widget",52,53,54,"isVirtualNode","./version",55,"isVirtualText",56,57,58,"VirtualPatch","NONE",59,"diffProps","aKey","aValue","bValue","objectDiff","bKey","../vnode/is-vhook",60,"walk","applyClear","thunks","clearState","appendPatch","propsPatch","diffChildren","aChildren","orderedSet","reorder","bChildren","aLen","bLen","leftNode","rightNode","destroyWidgets","hasWidgets","hasThunks","child","thunkPatch","hasPatches","hooks","undefinedKeys","descendantHooks","bChildIndex","keyIndex","bKeys","bFree","free","aChildIndex","aKeys","aFree","newChildren","freeIndex","freeCount","deletedItems","itemIndex","aItem","lastFreeIndex","newItem","simulateItem","simulate","simulateIndex","wantedItem","../vnode/handle-thunk","../vnode/is-thunk","../vnode/is-vnode","../vnode/is-vtext","../vnode/is-widget","../vnode/vpatch","./diff-props",61,"valueOf","identity","hiddenStore","./hidden-store.js",62,63,"nativeIsArray"],"mappings":"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","file":"plait.min.js","sourcesContent":["(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})","'use strict';\n\nvar _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.forwardDispatch = undefined;\nexports.start = start;\nexports.initializeComponent = initializeComponent;\n\nvar _curry = require('ramda/src/curry');\n\nvar _curry2 = _interopRequireDefault(_curry);\n\nvar _redux = require('redux');\n\nvar _reduxThunk = require('redux-thunk');\n\nvar _reduxThunk2 = _interopRequireDefault(_reduxThunk);\n\nvar _diff = require('virtual-dom/diff');\n\nvar _diff2 = _interopRequireDefault(_diff);\n\nvar _patch = require('virtual-dom/patch');\n\nvar _patch2 = _interopRequireDefault(_patch);\n\nvar _createElement = require('virtual-dom/create-element');\n\nvar _createElement2 = _interopRequireDefault(_createElement);\n\nvar _domDelegator = require('dom-delegator');\n\nvar _domDelegator2 = _interopRequireDefault(_domDelegator);\n\nvar _Map = require('./Map');\n\nvar _Map2 = _interopRequireDefault(_Map);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar delegator = (0, _domDelegator2.default)();\nvar createStoreWithMiddleware = (0, _redux.applyMiddleware)(_reduxThunk2.default)(_redux.createStore);\n\n// Component = {\n// init : _ -> Object\n// update : Map -> Action -> Map\n// view : Map -> (Action -> Action) -> VirtualNode\n// }\n\n// start :: Component -> Element\nfunction start(component) {\n var init = component.init;\n var update = component.update;\n var view = component.view;\n\n var _handleInit = handleInit(init);\n\n var _handleInit2 = _slicedToArray(_handleInit, 2);\n\n var initialState = _handleInit2[0];\n var initialAction = _handleInit2[1];\n\n // Initial call to update() will be @@redux/INIT so bogus dispatch() is okay\n\n var dispatch = function dispatch(x) {\n return x;\n };\n\n var store = createStoreWithMiddleware(function () {\n var state = arguments.length <= 0 || arguments[0] === undefined ? initialState : arguments[0];\n var action = arguments[1];\n\n var newState = update(state, action, dispatch);\n\n return typeof newState === 'undefined' ? state : newState;\n });\n\n dispatch = function (action) {\n return function (event) {\n if (event) {\n action.event = event;\n }\n\n store.dispatch(action);\n };\n };\n\n if (initialAction) {\n store.dispatch(initialAction);\n }\n\n var tree = view(initialState, dispatch);\n var rootNode = (0, _createElement2.default)(tree);\n\n store.subscribe(function () {\n tree = patchTree(rootNode, tree, view(store.getState(), dispatch));\n });\n\n return rootNode;\n}\n\n// patchTree :: Element -> VirtualNode -> VirtualNode -> VirtualNode\nfunction patchTree(rootNode, oldTree, newTree) {\n (0, _patch2.default)(rootNode, (0, _diff2.default)(oldTree, newTree));\n\n return newTree;\n}\n\n// initializeComponent :: Component -> Map\nfunction initializeComponent(_ref, dispatch) {\n var init = _ref.init;\n\n var _handleInit3 = handleInit(init);\n\n var _handleInit4 = _slicedToArray(_handleInit3, 2);\n\n var initialState = _handleInit4[0];\n var initialAction = _handleInit4[1];\n\n if (dispatch && initialAction) {\n dispatch(initialState)(initialAction)();\n }\n\n return initialState;\n}\n\n// handleInit :: (_ -> Object) -> [Map, Maybe Action]\nfunction handleInit(init) {\n var _res = init();\n var res = Array.isArray(_res) ? _res : [_res];\n\n return [new _Map2.default(res[0]), res[1]];\n}\n\n// Wrap a dispatcher, forwarding any actions onto the specified action by attaching\n// them to the __action property.\n//\n// Usually used by parent components to capture actions from child components.\nvar forwardDispatch = exports.forwardDispatch = (0, _curry2.default)(function (action, dispatch, state) {\n return function (forwardAction) {\n if (typeof forwardAction === 'function') {\n // In order to forward thunks, an intermediate thunk needs to be returned\n // to gain access to the raw `action => <dispatch>` dispatcher rather than\n // the application's wrapped `action => event => <dispatch>` dispatcher.\n return dispatch(function (rawDispatch) {\n var getState = function getState() {\n return state;\n };\n var fwd = forwardDispatch(action, rawDispatch, state);\n\n forwardAction(fwd, getState);\n });\n }\n\n // Annotate and dispatch a simple action object\n return dispatch(Object.assign({}, action, { __fwdAction: forwardAction }));\n };\n});","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.plait = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){\n'use strict';\n\nvar _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.forwardDispatch = undefined;\nexports.start = start;\nexports.initializeComponent = initializeComponent;\n\nvar _curry = require('ramda/src/curry');\n\nvar _curry2 = _interopRequireDefault(_curry);\n\nvar _redux = require('redux');\n\nvar _reduxThunk = require('redux-thunk');\n\nvar _reduxThunk2 = _interopRequireDefault(_reduxThunk);\n\nvar _diff = require('virtual-dom/diff');\n\nvar _diff2 = _interopRequireDefault(_diff);\n\nvar _patch = require('virtual-dom/patch');\n\nvar _patch2 = _interopRequireDefault(_patch);\n\nvar _createElement = require('virtual-dom/create-element');\n\nvar _createElement2 = _interopRequireDefault(_createElement);\n\nvar _domDelegator = require('dom-delegator');\n\nvar _domDelegator2 = _interopRequireDefault(_domDelegator);\n\nvar _Map = require('./Map');\n\nvar _Map2 = _interopRequireDefault(_Map);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar delegator = (0, _domDelegator2.default)();\nvar createStoreWithMiddleware = (0, _redux.applyMiddleware)(_reduxThunk2.default)(_redux.createStore);\n\n// Component = {\n// init : _ -> Object\n// update : Map -> Action -> Map\n// view : Map -> (Action -> Action) -> VirtualNode\n// }\n\n// start :: Component -> Element\nfunction start(component) {\n var init = component.init;\n var update = component.update;\n var view = component.view;\n\n var _handleInit = handleInit(init);\n\n var _handleInit2 = _slicedToArray(_handleInit, 2);\n\n var initialState = _handleInit2[0];\n var initialAction = _handleInit2[1];\n\n // Initial call to update() will be @@redux/INIT so bogus dispatch() is okay\n\n var dispatch = function dispatch(x) {\n return x;\n };\n\n var store = createStoreWithMiddleware(function () {\n var state = arguments.length <= 0 || arguments[0] === undefined ? initialState : arguments[0];\n var action = arguments[1];\n\n var newState = update(state, action, dispatch);\n\n return typeof newState === 'undefined' ? state : newState;\n });\n\n dispatch = function (action) {\n return function (event) {\n if (event) {\n action.event = event;\n }\n\n store.dispatch(action);\n };\n };\n\n if (initialAction) {\n store.dispatch(initialAction);\n }\n\n var tree = view(initialState, dispatch);\n var rootNode = (0, _createElement2.default)(tree);\n\n store.subscribe(function () {\n tree = patchTree(rootNode, tree, view(store.getState(), dispatch));\n });\n\n return rootNode;\n}\n\n// patchTree :: Element -> VirtualNode -> VirtualNode -> VirtualNode\nfunction patchTree(rootNode, oldTree, newTree) {\n (0, _patch2.default)(rootNode, (0, _diff2.default)(oldTree, newTree));\n\n return newTree;\n}\n\n// initializeComponent :: Component -> Map\nfunction initializeComponent(_ref, dispatch) {\n var init = _ref.init;\n\n var _handleInit3 = handleInit(init);\n\n var _handleInit4 = _slicedToArray(_handleInit3, 2);\n\n var initialState = _handleInit4[0];\n var initialAction = _handleInit4[1];\n\n if (dispatch && initialAction) {\n dispatch(initialState)(initialAction)();\n }\n\n return initialState;\n}\n\n// handleInit :: (_ -> Object) -> [Map, Maybe Action]\nfunction handleInit(init) {\n var _res = init();\n var res = Array.isArray(_res) ? _res : [_res];\n\n return [new _Map2.default(res[0]), res[1]];\n}\n\n// Wrap a dispatcher, forwarding any actions onto the specified action by attaching\n// them to the __action property.\n//\n// Usually used by parent components to capture actions from child components.\nvar forwardDispatch = exports.forwardDispatch = (0, _curry2.default)(function (action, dispatch, state) {\n return function (forwardAction) {\n if (typeof forwardAction === 'function') {\n // In order to forward thunks, an intermediate thunk needs to be returned\n // to gain access to the raw `action => <dispatch>` dispatcher rather than\n // the application's wrapped `action => event => <dispatch>` dispatcher.\n return dispatch(function (rawDispatch) {\n var getState = function getState() {\n return state;\n };\n var fwd = forwardDispatch(action, rawDispatch, state);\n\n forwardAction(fwd, getState);\n });\n }\n\n // Annotate and dispatch a simple action object\n return dispatch(Object.assign({}, action, { __fwdAction: forwardAction }));\n };\n});\n},{\"./Map\":2,\"dom-delegator\":10,\"ramda/src/curry\":22,\"redux\":34,\"redux-thunk\":32,\"virtual-dom/create-element\":42,\"virtual-dom/diff\":43,\"virtual-dom/patch\":44}],2:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assocPath = require('ramda/src/assocPath');\n\nvar _assocPath2 = _interopRequireDefault(_assocPath);\n\nvar _clone = require('./utils/clone');\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _path = require('ramda/src/path');\n\nvar _path2 = _interopRequireDefault(_path);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _typeof(obj) { return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Map = (function () {\n function Map(obj) {\n _classCallCheck(this, Map);\n\n if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) !== 'object') {\n throw new TypeError(obj, 'is not an object');\n }\n\n this.obj = obj;\n this['@@Plait/Map'] = 1;\n }\n\n _createClass(Map, [{\n key: 'clone',\n value: function clone() {\n return new Map(this.toObject());\n }\n }, {\n key: 'toObject',\n value: function toObject() {\n return (0, _clone2.default)(this.obj);\n }\n }, {\n key: 'set',\n value: function set(prop, val) {\n var obj = this.toObject();\n\n obj[prop] = val;\n\n return new Map(obj);\n }\n }, {\n key: 'get',\n value: function get(prop) {\n var obj = this.toObject();\n\n return obj[prop];\n }\n }, {\n key: 'update',\n value: function update(prop, updater) {\n return this.set(prop, updater(this.get(prop)));\n }\n }, {\n key: 'setIn',\n value: function setIn(propPath, val) {\n var obj = (0, _assocPath2.default)(propPath, val, this.obj);\n\n return new Map(obj);\n }\n }, {\n key: 'getIn',\n value: function getIn(propPath) {\n return (0, _path2.default)(propPath, this.obj);\n }\n }]);\n\n return Map;\n})();\n\nexports.default = Map;\n},{\"./utils/clone\":4,\"ramda/src/assocPath\":21,\"ramda/src/path\":31}],3:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Map = exports.App = undefined;\n\nvar _App = require('./App');\n\nvar App = _interopRequireWildcard(_App);\n\nvar _Map = require('./Map');\n\nvar _Map2 = _interopRequireDefault(_Map);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nexports.App = App;\nexports.Map = _Map2.default;\n},{\"./App\":1,\"./Map\":2}],4:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = clone;\n\nfunction _typeof(obj) { return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; }\n\nfunction clone(obj) {\n var newObj = [];\n\n for (var i in obj) {\n var val = obj[i];\n\n if ((typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object') {\n if (val.hasOwnProperty('@@Plait/Map')) {\n newObj[i] = val.clone();\n } else {\n newObj[i] = clone(val);\n }\n } else {\n newObj[i] = val;\n }\n }\n\n return newObj;\n}\n},{}],5:[function(require,module,exports){\n\n},{}],6:[function(require,module,exports){\n// shim for using process in browser\n\nvar process = module.exports = {};\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = setTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n clearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n setTimeout(drainQueue, 0);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n},{}],7:[function(require,module,exports){\n/**\n * cuid.js\n * Collision-resistant UID generator for browsers and node.\n * Sequential for fast db lookups and recency sorting.\n * Safe for element IDs and server-side lookups.\n *\n * Extracted from CLCTR\n *\n * Copyright (c) Eric Elliott 2012\n * MIT License\n */\n\n/*global window, navigator, document, require, process, module */\n(function (app) {\n 'use strict';\n var namespace = 'cuid',\n c = 0,\n blockSize = 4,\n base = 36,\n discreteValues = Math.pow(base, blockSize),\n\n pad = function pad(num, size) {\n var s = \"000000000\" + num;\n return s.substr(s.length-size);\n },\n\n randomBlock = function randomBlock() {\n return pad((Math.random() *\n discreteValues << 0)\n .toString(base), blockSize);\n },\n\n safeCounter = function () {\n c = (c < discreteValues) ? c : 0;\n c++; // this is not subliminal\n return c - 1;\n },\n\n api = function cuid() {\n // Starting with a lowercase letter makes\n // it HTML element ID friendly.\n var letter = 'c', // hard-coded allows for sequential access\n\n // timestamp\n // warning: this exposes the exact date and time\n // that the uid was created.\n timestamp = (new Date().getTime()).toString(base),\n\n // Prevent same-machine collisions.\n counter,\n\n // A few chars to generate distinct ids for different\n // clients (so different computers are far less\n // likely to generate the same id)\n fingerprint = api.fingerprint(),\n\n // Grab some more chars from Math.random()\n random = randomBlock() + randomBlock();\n\n counter = pad(safeCounter().toString(base), blockSize);\n\n return (letter + timestamp + counter + fingerprint + random);\n };\n\n api.slug = function slug() {\n var date = new Date().getTime().toString(36),\n counter,\n print = api.fingerprint().slice(0,1) +\n api.fingerprint().slice(-1),\n random = randomBlock().slice(-2);\n\n counter = safeCounter().toString(36).slice(-4);\n\n return date.slice(-2) +\n counter + print + random;\n };\n\n api.globalCount = function globalCount() {\n // We want to cache the results of this\n var cache = (function calc() {\n var i,\n count = 0;\n\n for (i in window) {\n count++;\n }\n\n return count;\n }());\n\n api.globalCount = function () { return cache; };\n return cache;\n };\n\n api.fingerprint = function browserPrint() {\n return pad((navigator.mimeTypes.length +\n navigator.userAgent.length).toString(36) +\n api.globalCount().toString(36), 4);\n };\n\n // don't change anything from here down.\n if (app.register) {\n app.register(namespace, api);\n } else if (typeof module !== 'undefined') {\n module.exports = api;\n } else {\n app[namespace] = api;\n }\n\n}(this.applitude || this));\n\n},{}],8:[function(require,module,exports){\nvar EvStore = require(\"ev-store\")\n\nmodule.exports = addEvent\n\nfunction addEvent(target, type, handler) {\n var events = EvStore(target)\n var event = events[type]\n\n if (!event) {\n events[type] = handler\n } else if (Array.isArray(event)) {\n if (event.indexOf(handler) === -1) {\n event.push(handler)\n }\n } else if (event !== handler) {\n events[type] = [event, handler]\n }\n}\n\n},{\"ev-store\":14}],9:[function(require,module,exports){\nvar globalDocument = require(\"global/document\")\nvar EvStore = require(\"ev-store\")\nvar createStore = require(\"weakmap-shim/create-store\")\n\nvar addEvent = require(\"./add-event.js\")\nvar removeEvent = require(\"./remove-event.js\")\nvar ProxyEvent = require(\"./proxy-event.js\")\n\nvar HANDLER_STORE = createStore()\n\nmodule.exports = DOMDelegator\n\nfunction DOMDelegator(document) {\n if (!(this instanceof DOMDelegator)) {\n return new DOMDelegator(document);\n }\n\n document = document || globalDocument\n\n this.target = document.documentElement\n this.events = {}\n this.rawEventListeners = {}\n this.globalListeners = {}\n}\n\nDOMDelegator.prototype.addEventListener = addEvent\nDOMDelegator.prototype.removeEventListener = removeEvent\n\nDOMDelegator.allocateHandle =\n function allocateHandle(func) {\n var handle = new Handle()\n\n HANDLER_STORE(handle).func = func;\n\n return handle\n }\n\nDOMDelegator.transformHandle =\n function transformHandle(handle, broadcast) {\n var func = HANDLER_STORE(handle).func\n\n return this.allocateHandle(function (ev) {\n broadcast(ev, func);\n })\n }\n\nDOMDelegator.prototype.addGlobalEventListener =\n function addGlobalEventListener(eventName, fn) {\n var listeners = this.globalListeners[eventName] || [];\n if (listeners.indexOf(fn) === -1) {\n listeners.push(fn)\n }\n\n this.globalListeners[eventName] = listeners;\n }\n\nDOMDelegator.prototype.removeGlobalEventListener =\n function removeGlobalEventListener(eventName, fn) {\n var listeners = this.globalListeners[eventName] || [];\n\n var index = listeners.indexOf(fn)\n if (index !== -1) {\n listeners.splice(index, 1)\n }\n }\n\nDOMDelegator.prototype.listenTo = function listenTo(eventName) {\n if (!(eventName in this.events)) {\n this.events[eventName] = 0;\n }\n\n this.events[eventName]++;\n\n if (this.events[eventName] !== 1) {\n return\n }\n\n var listener = this.rawEventListeners[eventName]\n if (!listener) {\n listener = this.rawEventListeners[eventName] =\n createHandler(eventName, this)\n }\n\n this.target.addEventListener(eventName, listener, true)\n}\n\nDOMDelegator.prototype.unlistenTo = function unlistenTo(eventName) {\n if (!(eventName in this.events)) {\n this.events[eventName] = 0;\n }\n\n if (this.events[eventName] === 0) {\n throw new Error(\"already unlistened to event.\");\n }\n\n this.events[eventName]--;\n\n if (this.events[eventName] !== 0) {\n return\n }\n\n var listener = this.rawEventListeners[eventName]\n\n if (!listener) {\n throw new Error(\"dom-delegator#unlistenTo: cannot \" +\n \"unlisten to \" + eventName)\n }\n\n this.target.removeEventListener(eventName, listener, true)\n}\n\nfunction createHandler(eventName, delegator) {\n var globalListeners = delegator.globalListeners;\n var delegatorTarget = delegator.target;\n\n return handler\n\n function handler(ev) {\n var globalHandlers = globalListeners[eventName] || []\n\n if (globalHandlers.length > 0) {\n var globalEvent = new ProxyEvent(ev);\n globalEvent.currentTarget = delegatorTarget;\n callListeners(globalHandlers, globalEvent)\n }\n\n findAndInvokeListeners(ev.target, ev, eventName)\n }\n}\n\nfunction findAndInvokeListeners(elem, ev, eventName) {\n var listener = getListener(elem, eventName)\n\n if (listener && listener.handlers.length > 0) {\n var listenerEvent = new ProxyEvent(ev);\n listenerEvent.currentTarget = listener.currentTarget\n callListeners(listener.handlers, listenerEvent)\n\n if (listenerEvent._bubbles) {\n var nextTarget = listener.currentTarget.parentNode\n findAndInvokeListeners(nextTarget, ev, eventName)\n }\n }\n}\n\nfunction getListener(target, type) {\n // terminate recursion if parent is `null`\n if (target === null || typeof target === \"undefined\") {\n return null\n }\n\n var events = EvStore(target)\n // fetch list of handler fns for this event\n var handler = events[type]\n var allHandler = events.event\n\n if (!handler && !allHandler) {\n return getListener(target.parentNode, type)\n }\n\n var handlers = [].concat(handler || [], allHandler || [])\n return new Listener(target, handlers)\n}\n\nfunction callListeners(handlers, ev) {\n handlers.forEach(function (handler) {\n if (typeof handler === \"function\") {\n handler(ev)\n } else if (typeof handler.handleEvent === \"function\") {\n handler.handleEvent(ev)\n } else if (handler.type === \"dom-delegator-handle\") {\n HANDLER_STORE(handler).func(ev)\n } else {\n throw new Error(\"dom-delegator: unknown handler \" +\n \"found: \" + JSON.stringify(handlers));\n }\n })\n}\n\nfunction Listener(target, handlers) {\n this.currentTarget = target\n this.handlers = handlers\n}\n\nfunction Handle() {\n this.type = \"dom-delegator-handle\"\n}\n\n},{\"./add-event.js\":8,\"./proxy-event.js\":12,\"./remove-event.js\":13,\"ev-store\":14,\"global/document\":15,\"weakmap-shim/create-store\":61}],10:[function(require,module,exports){\nvar Individual = require(\"individual\")\nvar cuid = require(\"cuid\")\nvar globalDocument = require(\"global/document\")\n\nvar DOMDelegator = require(\"./dom-delegator.js\")\n\nvar versionKey = \"13\"\nvar cacheKey = \"__DOM_DELEGATOR_CACHE@\" + versionKey\nvar cacheTokenKey = \"__DOM_DELEGATOR_CACHE_TOKEN@\" + versionKey\nvar delegatorCache = Individual(cacheKey, {\n delegators: {}\n})\nvar commonEvents = [\n \"blur\", \"change\", \"click\", \"contextmenu\", \"dblclick\",\n \"error\",\"focus\", \"focusin\", \"focusout\", \"input\", \"keydown\",\n \"keypress\", \"keyup\", \"load\", \"mousedown\", \"mouseup\",\n \"resize\", \"select\", \"submit\", \"touchcancel\",\n \"touchend\", \"touchstart\", \"unload\"\n]\n\n/* Delegator is a thin wrapper around a singleton `DOMDelegator`\n instance.\n\n Only one DOMDelegator should exist because we do not want\n duplicate event listeners bound to the DOM.\n\n `Delegator` will also `listenTo()` all events unless\n every caller opts out of it\n*/\nmodule.exports = Delegator\n\nfunction Delegator(opts) {\n opts = opts || {}\n var document = opts.document || globalDocument\n\n var cacheKey = document[cacheTokenKey]\n\n if (!cacheKey) {\n cacheKey =\n document[cacheTokenKey] = cuid()\n }\n\n var delegator = delegatorCache.delegators[cacheKey]\n\n if (!delegator) {\n delegator = delegatorCache.delegators[cacheKey] =\n new DOMDelegator(document)\n }\n\n if (opts.defaultEvents !== false) {\n for (var i = 0; i < commonEvents.length; i++) {\n delegator.listenTo(commonEvents[i])\n }\n }\n\n return delegator\n}\n\nDelegator.allocateHandle = DOMDelegator.allocateHandle;\nDelegator.transformHandle = DOMDelegator.transformHandle;\n\n},{\"./dom-delegator.js\":9,\"cuid\":7,\"global/document\":15,\"individual\":11}],11:[function(require,module,exports){\n(function (global){\nvar root = typeof window !== 'undefined' ?\n window : typeof global !== 'undefined' ?\n global : {};\n\nmodule.exports = Individual\n\nfunction Individual(key, value) {\n if (root[key]) {\n return root[key]\n }\n\n Object.defineProperty(root, key, {\n value: value\n , configurable: true\n })\n\n return value\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{}],12:[function(require,module,exports){\nvar inherits = require(\"inherits\")\n\nvar ALL_PROPS = [\n \"altKey\", \"bubbles\", \"cancelable\", \"ctrlKey\",\n \"eventPhase\", \"metaKey\", \"relatedTarget\", \"shiftKey\",\n \"target\", \"timeStamp\", \"type\", \"view\", \"which\"\n]\nvar KEY_PROPS = [\"char\", \"charCode\", \"key\", \"keyCode\"]\nvar MOUSE_PROPS = [\n \"button\", \"buttons\", \"clientX\", \"clientY\", \"layerX\",\n \"layerY\", \"offsetX\", \"offsetY\", \"pageX\", \"pageY\",\n \"screenX\", \"screenY\", \"toElement\"\n]\n\nvar rkeyEvent = /^key|input/\nvar rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/\n\nmodule.exports = ProxyEvent\n\nfunction ProxyEvent(ev) {\n if (!(this instanceof ProxyEvent)) {\n return new ProxyEvent(ev)\n }\n\n if (rkeyEvent.test(ev.type)) {\n return new KeyEvent(ev)\n } else if (rmouseEvent.test(ev.type)) {\n return new MouseEvent(ev)\n }\n\n for (var i = 0; i < ALL_PROPS.length; i++) {\n var propKey = ALL_PROPS[i]\n this[propKey] = ev[propKey]\n }\n\n this._rawEvent = ev\n this._bubbles = false;\n}\n\nProxyEvent.prototype.preventDefault = function () {\n this._rawEvent.preventDefault()\n}\n\nProxyEvent.prototype.startPropagation = function () {\n this._bubbles = true;\n}\n\nfunction MouseEvent(ev) {\n for (var i = 0; i < ALL_PROPS.length; i++) {\n var propKey = ALL_PROPS[i]\n this[propKey] = ev[propKey]\n }\n\n for (var j = 0; j < MOUSE_PROPS.length; j++) {\n var mousePropKey = MOUSE_PROPS[j]\n this[mousePropKey] = ev[mousePropKey]\n }\n\n this._rawEvent = ev\n}\n\ninherits(MouseEvent, ProxyEvent)\n\nfunction KeyEvent(ev) {\n for (var i = 0; i < ALL_PROPS.length; i++) {\n var propKey = ALL_PROPS[i]\n this[propKey] = ev[propKey]\n }\n\n for (var j = 0; j < KEY_PROPS.length; j++) {\n var keyPropKey = KEY_PROPS[j]\n this[keyPropKey] = ev[keyPropKey]\n }\n\n this._rawEvent = ev\n}\n\ninherits(KeyEvent, ProxyEvent)\n\n},{\"inherits\":18}],13:[function(require,module,exports){\nvar EvStore = require(\"ev-store\")\n\nmodule.exports = removeEvent\n\nfunction removeEvent(target, type, handler) {\n var events = EvStore(target)\n var event = events[type]\n\n if (!event) {\n return\n } else if (Array.isArray(event)) {\n var index = event.indexOf(handler)\n if (index !== -1) {\n event.splice(index, 1)\n }\n } else if (event === handler) {\n events[type] = null\n }\n}\n\n},{\"ev-store\":14}],14:[function(require,module,exports){\n'use strict';\n\nvar OneVersionConstraint = require('individual/one-version');\n\nvar MY_VERSION = '7';\nOneVersionConstraint('ev-store', MY_VERSION);\n\nvar hashKey = '__EV_STORE_KEY@' + MY_VERSION;\n\nmodule.exports = EvStore;\n\nfunction EvStore(elem) {\n var hash = elem[hashKey];\n\n if (!hash) {\n hash = elem[hashKey] = {};\n }\n\n return hash;\n}\n\n},{\"individual/one-version\":17}],15:[function(require,module,exports){\n(function (global){\nvar topLevel = typeof global !== 'undefined' ? global :\n typeof window !== 'undefined' ? window : {}\nvar minDoc = require('min-document');\n\nif (typeof document !== 'undefined') {\n module.exports = document;\n} else {\n var doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'];\n\n if (!doccy) {\n doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'] = minDoc;\n }\n\n module.exports = doccy;\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{\"min-document\":5}],16:[function(require,module,exports){\n(function (global){\n'use strict';\n\n/*global window, global*/\n\nvar root = typeof window !== 'undefined' ?\n window : typeof global !== 'undefined' ?\n global : {};\n\nmodule.exports = Individual;\n\nfunction Individual(key, value) {\n if (key in root) {\n return root[key];\n }\n\n root[key] = value;\n\n return value;\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{}],17:[function(require,module,exports){\n'use strict';\n\nvar Individual = require('./index.js');\n\nmodule.exports = OneVersion;\n\nfunction OneVersion(moduleName, version, defaultValue) {\n var key = '__INDIVIDUAL_ONE_VERSION_' + moduleName;\n var enforceKey = key + '_ENFORCE_SINGLETON';\n\n var versionValue = Individual(enforceKey, version);\n\n if (versionValue !== version) {\n throw new Error('Can only have one copy of ' +\n moduleName + '.\\n' +\n 'You already have version ' + versionValue +\n ' installed.\\n' +\n 'This means you cannot install version ' + version);\n }\n\n return Individual(key, defaultValue);\n}\n\n},{\"./index.js\":16}],18:[function(require,module,exports){\nif (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n\n},{}],19:[function(require,module,exports){\n\"use strict\";\n\nmodule.exports = function isObject(x) {\n\treturn typeof x === \"object\" && x !== null;\n};\n\n},{}],20:[function(require,module,exports){\nvar _curry3 = require('./internal/_curry3');\n\n\n/**\n * Makes a shallow clone of an object, setting or overriding the specified\n * property with the given value. Note that this copies and flattens prototype\n * properties onto the new object as well. All non-primitive properties are\n * copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig String -> a -> {k: v} -> {k: v}\n * @param {String} prop the property name to set\n * @param {*} val the new value\n * @param {Object} obj the object to clone\n * @return {Object} a new object similar to the original except for the specified property.\n * @see R.dissoc\n * @example\n *\n * R.assoc('c', 3, {a: 1, b: 2}); //=> {a: 1, b: 2, c: 3}\n */\nmodule.exports = _curry3(function assoc(prop, val, obj) {\n var result = {};\n for (var p in obj) {\n result[p] = obj[p];\n }\n result[prop] = val;\n return result;\n});\n\n},{\"./internal/_curry3\":27}],21:[function(require,module,exports){\nvar _curry3 = require('./internal/_curry3');\nvar _slice = require('./internal/_slice');\nvar assoc = require('./assoc');\n\n\n/**\n * Makes a shallow clone of an object, setting or overriding the nodes required\n * to create the given path, and placing the specific value at the tail end of\n * that path. Note that this copies and flattens prototype properties onto the\n * new object as well. All non-primitive properties are copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig [String] -> a -> {k: v} -> {k: v}\n * @param {Array} path the path to set\n * @param {*} val the new value\n * @param {Object} obj the object to clone\n * @return {Object} a new object similar to the original except along the specified path.\n * @see R.dissocPath\n * @example\n *\n * R.assocPath(['a', 'b', 'c'], 42, {a: {b: {c: 0}}}); //=> {a: {b: {c: 42}}}\n */\nmodule.exports = _curry3(function assocPath(path, val, obj) {\n switch (path.length) {\n case 0:\n return val;\n case 1:\n return assoc(path[0], val, obj);\n default:\n return assoc(path[0], assocPath(_slice(path, 1), val, Object(obj[path[0]])), obj);\n }\n});\n\n},{\"./assoc\":20,\"./internal/_curry3\":27,\"./internal/_slice\":30}],22:[function(require,module,exports){\nvar _curry1 = require('./internal/_curry1');\nvar curryN = require('./curryN');\n\n\n/**\n * Returns a curried equivalent of the provided function. The curried function\n * has two unusual capabilities. First, its arguments needn't be provided one\n * at a time. If `f` is a ternary function and `g` is `R.curry(f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value `R.__` may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is `R.__`, the\n * following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (* -> a) -> (* -> a)\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curryN\n * @example\n *\n * var addFourNumbers = (a, b, c, d) => a + b + c + d;\n *\n * var curriedAddFourNumbers = R.curry(addFourNumbers);\n * var f = curriedAddFourNumbers(1, 2);\n * var g = f(3);\n * g(4); //=> 10\n */\nmodule.exports = _curry1(function curry(fn) {\n return curryN(fn.length, fn);\n});\n\n},{\"./curryN\":23,\"./internal/_curry1\":25}],23:[function(require,module,exports){\nvar _arity = require('./internal/_arity');\nvar _curry1 = require('./internal/_curry1');\nvar _curry2 = require('./internal/_curry2');\nvar _curryN = require('./internal/_curryN');\n\n\n/**\n * Returns a curried equivalent of the provided function, with the specified\n * arity. The curried function has two unusual capabilities. First, its\n * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value `R.__` may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is `R.__`, the\n * following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curry\n * @example\n *\n * var sumArgs = (...args) => R.sum(args);\n *\n * var curriedAddFourNumbers = R.curryN(4, sumArgs);\n * var f = curriedAddFourNumbers(1, 2);\n * var g = f(3);\n * g(4); //=> 10\n */\nmodule.exports = _curry2(function curryN(length, fn) {\n if (length === 1) {\n return _curry1(fn);\n }\n return _arity(length, _curryN(length, [], fn));\n});\n\n},{\"./internal/_arity\":24,\"./internal/_curry1\":25,\"./internal/_curry2\":26,\"./internal/_curryN\":28}],24:[function(require,module,exports){\nmodule.exports = function _arity(n, fn) {\n /* eslint-disable no-unused-vars */\n switch (n) {\n case 0: return function() { return fn.apply(this, arguments); };\n case 1: return function(a0) { return fn.apply(this, arguments); };\n case 2: return function(a0, a1) { return fn.apply(this, arguments); };\n case 3: return function(a0, a1, a2) { return fn.apply(this, arguments); };\n case 4: return function(a0, a1, a2, a3) { return fn.apply(this, arguments); };\n case 5: return function(a0, a1, a2, a3, a4) { return fn.apply(this, arguments); };\n case 6: return function(a0, a1, a2, a3, a4, a5) { return fn.apply(this, arguments); };\n case 7: return function(a0, a1, a2, a3, a4, a5, a6) { return fn.apply(this, arguments); };\n case 8: return function(a0, a1, a2, a3, a4, a5, a6, a7) { return fn.apply(this, arguments); };\n case 9: return function(a0, a1, a2, a3, a4, a5, a6, a7, a8) { return fn.apply(this, arguments); };\n case 10: return function(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) { return fn.apply(this, arguments); };\n default: throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n }\n};\n\n},{}],25:[function(require,module,exports){\nvar _isPlaceholder = require('./_isPlaceholder');\n\n\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nmodule.exports = function _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n};\n\n},{\"./_isPlaceholder\":29}],26:[function(require,module,exports){\nvar _curry1 = require('./_curry1');\nvar _isPlaceholder = require('./_isPlaceholder');\n\n\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nmodule.exports = function _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n case 1:\n return _isPlaceholder(a) ? f2\n : _curry1(function(_b) { return fn(a, _b); });\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2\n : _isPlaceholder(a) ? _curry1(function(_a) { return fn(_a, b); })\n : _isPlaceholder(b) ? _curry1(function(_b) { return fn(a, _b); })\n : fn(a, b);\n }\n };\n};\n\n},{\"./_curry1\":25,\"./_isPlaceholder\":29}],27:[function(require,module,exports){\nvar _curry1 = require('./_curry1');\nvar _curry2 = require('./_curry2');\nvar _isPlaceholder = require('./_isPlaceholder');\n\n\n/**\n * Optimized internal three-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nmodule.exports = function _curry3(fn) {\n return function f3(a, b, c) {\n switch (arguments.length) {\n case 0:\n return f3;\n case 1:\n return _isPlaceholder(a) ? f3\n : _curry2(function(_b, _c) { return fn(a, _b, _c); });\n case 2:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f3\n : _isPlaceholder(a) ? _curry2(function(_a, _c) { return fn(_a, b, _c); })\n : _isPlaceholder(b) ? _curry2(function(_b, _c) { return fn(a, _b, _c); })\n : _curry1(function(_c) { return fn(a, b, _c); });\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3\n : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function(_a, _b) { return fn(_a, _b, c); })\n : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function(_a, _c) { return fn(_a, b, _c); })\n : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function(_b, _c) { return fn(a, _b, _c); })\n : _isPlaceholder(a) ? _curry1(function(_a) { return fn(_a, b, c); })\n : _isPlaceholder(b) ? _curry1(function(_b) { return fn(a, _b, c); })\n : _isPlaceholder(c) ? _curry1(function(_c) { return fn(a, b, _c); })\n : fn(a, b, c);\n }\n };\n};\n\n},{\"./_curry1\":25,\"./_curry2\":26,\"./_isPlaceholder\":29}],28:[function(require,module,exports){\nvar _arity = require('./_arity');\nvar _isPlaceholder = require('./_isPlaceholder');\n\n\n/**\n * Internal curryN function.\n *\n * @private\n * @category Function\n * @param {Number} length The arity of the curried function.\n * @param {Array} received An array of arguments received thus far.\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nmodule.exports = function _curryN(length, received, fn) {\n return function() {\n var combined = [];\n var argsIdx = 0;\n var left = length;\n var combinedIdx = 0;\n while (combinedIdx < received.length || argsIdx < arguments.length) {\n var result;\n if (combinedIdx < received.length &&\n (!_isPlaceholder(received[combinedIdx]) ||\n argsIdx >= arguments.length)) {\n result = received[combinedIdx];\n } else {\n result = arguments[argsIdx];\n argsIdx += 1;\n }\n combined[combinedIdx] = result;\n if (!_isPlaceholder(result)) {\n left -= 1;\n }\n combinedIdx += 1;\n }\n return left <= 0 ? fn.apply(this, combined)\n : _arity(left, _curryN(length, combined, fn));\n };\n};\n\n},{\"./_arity\":24,\"./_isPlaceholder\":29}],29:[function(require,module,exports){\nmodule.exports = function _isPlaceholder(a) {\n return a != null &&\n typeof a === 'object' &&\n a['@@functional/placeholder'] === true;\n};\n\n},{}],30:[function(require,module,exports){\n/**\n * An optimized, private array `slice` implementation.\n *\n * @private\n * @param {Arguments|Array} args The array or arguments object to consider.\n * @param {Number} [from=0] The array index to slice from, inclusive.\n * @param {Number} [to=args.length] The array index to slice to, exclusive.\n * @return {Array} A new, sliced array.\n * @example\n *\n * _slice([1, 2, 3, 4, 5], 1, 3); //=> [2, 3]\n *\n * var firstThreeArgs = function(a, b, c, d) {\n * return _slice(arguments, 0, 3);\n * };\n * firstThreeArgs(1, 2, 3, 4); //=> [1, 2, 3]\n */\nmodule.exports = function _slice(args, from, to) {\n switch (arguments.length) {\n case 1: return _slice(args, 0, args.length);\n case 2: return _slice(args, from, args.length);\n default:\n var list = [];\n var idx = 0;\n var len = Math.max(0, Math.min(args.length, to) - from);\n while (idx < len) {\n list[idx] = args[from + idx];\n idx += 1;\n }\n return list;\n }\n};\n\n},{}],31:[function(require,module,exports){\nvar _curry2 = require('./internal/_curry2');\n\n\n/**\n * Retrieve the value at a given path.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @sig [String] -> {k: v} -> v | Undefined\n * @param {Array} path The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path`.\n * @example\n *\n * R.path(['a', 'b'], {a: {b: 2}}); //=> 2\n * R.path(['a', 'b'], {c: {b: 2}}); //=> undefined\n */\nmodule.exports = _curry2(function path(paths, obj) {\n var val = obj;\n var idx = 0;\n while (idx < paths.length) {\n if (val == null) {\n return;\n }\n val = val[paths[idx]];\n idx += 1;\n }\n return val;\n});\n\n},{\"./internal/_curry2\":26}],32:[function(require,module,exports){\n'use strict';\n\nfunction thunkMiddleware(_ref) {\n var dispatch = _ref.dispatch;\n var getState = _ref.getState;\n\n return function (next) {\n return function (action) {\n return typeof action === 'function' ? action(dispatch, getState) : next(action);\n };\n };\n}\n\nmodule.exports = thunkMiddleware;\n},{}],33:[function(require,module,exports){\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = createStore;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utilsIsPlainObject = require('./utils/isPlainObject');\n\nvar _utilsIsPlainObject2 = _interopRequireDefault(_utilsIsPlainObject);\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar ActionTypes = {\n INIT: '@@redux/INIT'\n};\n\nexports.ActionTypes = ActionTypes;\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [initialState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nfunction createStore(reducer, initialState) {\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = initialState;\n var listeners = [];\n var isDispatching = false;\n\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n function getState() {\n return currentState;\n }\n\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n function subscribe(listener) {\n listeners.push(listener);\n var isSubscribed = true;\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n var index = listeners.indexOf(listener);\n listeners.splice(index, 1);\n };\n }\n\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n function dispatch(action) {\n if (!_utilsIsPlainObject2['default'](action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n listeners.slice().forEach(function (listener) {\n return listener();\n });\n return action;\n }\n\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n function replaceReducer(nextReducer) {\n currentReducer = nextReducer;\n dispatch({ type: ActionTypes.INIT });\n }\n\n // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n dispatch({ type: ActionTypes.INIT });\n\n return {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n };\n}\n},{\"./utils/isPlainObject\":39}],34:[function(require,module,exports){\n'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _createStore = require('./createStore');\n\nvar _createStore2 = _interopRequireDefault(_createStore);\n\nvar _utilsCombineReducers = require('./utils/combineReducers');\n\nvar _utilsCombineReducers2 = _interopRequireDefault(_utilsCombineReducers);\n\nvar _utilsBindActionCreators = require('./utils/bindActionCreators');\n\nvar _utilsBindActionCreators2 = _interopRequireDefault(_utilsBindActionCreators);\n\nvar _utilsApplyMiddleware = require('./utils/applyMiddleware');\n\nvar _utilsApplyMiddleware2 = _interopRequireDefault(_utilsApplyMiddleware);\n\nvar _utilsCompose = require('./utils/compose');\n\nvar _utilsCompose2 = _interopRequireDefault(_utilsCompose);\n\nexports.createStore = _createStore2['default'];\nexports.combineReducers = _utilsCombineReducers2['default'];\nexports.bindActionCreators = _utilsBindActionCreators2['default'];\nexports.applyMiddleware = _utilsApplyMiddleware2['default'];\nexports.compose = _utilsCompose2['default'];\n},{\"./createStore\":33,\"./utils/applyMiddleware\":35,\"./utils/bindActionCreators\":36,\"./utils/combineReducers\":37,\"./utils/compose\":38}],35:[function(require,module,exports){\n'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports['default'] = applyMiddleware;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _compose = require('./compose');\n\nvar _compose2 = _interopRequireDefault(_compose);\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (next) {\n return function (reducer, initialState) {\n var store = next(reducer, initialState);\n var _dispatch = store.dispatch;\n var chain = [];\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch(action) {\n return _dispatch(action);\n }\n };\n chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = _compose2['default'].apply(undefined, chain)(store.dispatch);\n\n return _extends({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}\n\nmodule.exports = exports['default'];\n},{\"./compose\":38}],36:[function(require,module,exports){\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = bindActionCreators;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _mapValues = require('./mapValues');\n\nvar _mapValues2 = _interopRequireDefault(_mapValues);\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(undefined, arguments));\n };\n}\n\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass a single function as the first argument,\n * and get a function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null || actionCreators === undefined) {\n throw new Error('bindActionCreators expected an object or a function, instead received ' + (actionCreators === null ? 'null' : typeof actionCreators) + '. ' + 'Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?');\n }\n\n return _mapValues2['default'](actionCreators, function (actionCreator) {\n return bindActionCreator(actionCreator, dispatch);\n });\n}\n\nmodule.exports = exports['default'];\n},{\"./mapValues\":40}],37:[function(require,module,exports){\n(function (process){\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = combineReducers;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _createStore = require('../createStore');\n\nvar _isPlainObject = require('./isPlainObject');\n\nvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\nvar _mapValues = require('./mapValues');\n\nvar _mapValues2 = _interopRequireDefault(_mapValues);\n\nvar _pick = require('./pick');\n\nvar _pick2 = _interopRequireDefault(_pick);\n\n/* eslint-disable no-console */\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionName = actionType && '\"' + actionType.toString() + '\"' || 'an action';\n\n return 'Reducer \"' + key + '\" returned undefined handling ' + actionName + '. ' + 'To ignore an action, you must explicitly return the previous state.';\n}\n\nfunction getUnexpectedStateKeyWarningMessage(inputState, outputState, action) {\n var reducerKeys = Object.keys(outputState);\n var argumentName = action && action.type === _createStore.ActionTypes.INIT ? 'initialState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!_isPlainObject2['default'](inputState)) {\n return 'The ' + argumentName + ' has unexpected type of \"' + ({}).toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + '\". Expected argument to be an object with the following ' + ('keys: \"' + reducerKeys.join('\", \"') + '\"');\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return reducerKeys.indexOf(key) < 0;\n });\n\n if (unexpectedKeys.length > 0) {\n return 'Unexpected ' + (unexpectedKeys.length > 1 ? 'keys' : 'key') + ' ' + ('\"' + unexpectedKeys.join('\", \"') + '\" found in ' + argumentName + '. ') + 'Expected to find one of the known reducer keys instead: ' + ('\"' + reducerKeys.join('\", \"') + '\". Unexpected keys will be ignored.');\n }\n}\n\nfunction assertReducerSanity(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, { type: _createStore.ActionTypes.INIT });\n\n if (typeof initialState === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined during initialization. ' + 'If the state passed to the reducer is undefined, you must ' + 'explicitly return the initial state. The initial state may ' + 'not be undefined.');\n }\n\n var type = '@@redux/PROBE_UNKNOWN_ACTION_' + Math.random().toString(36).substring(7).split('').join('.');\n if (typeof reducer(undefined, { type: type }) === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined when probed with a random type. ' + ('Don\\'t try to handle ' + _createStore.ActionTypes.INIT + ' or other actions in \"redux/*\" ') + 'namespace. They are considered private. Instead, you must return the ' + 'current state for any unknown actions, unless it is undefined, ' + 'in which case you must return the initial state, regardless of the ' + 'action type. The initial state may not be undefined.');\n }\n });\n}\n\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\nfunction combineReducers(reducers) {\n var finalReducers = _pick2['default'](reducers, function (val) {\n return typeof val === 'function';\n });\n var sanityError;\n\n try {\n assertReducerSanity(finalReducers);\n } catch (e) {\n sanityError = e;\n }\n\n var defaultState = _mapValues2['default'](finalReducers, function () {\n return undefined;\n });\n\n return function combination(state, action) {\n if (state === undefined) state = defaultState;\n\n if (sanityError) {\n throw sanityError;\n }\n\n var hasChanged = false;\n var finalState = _mapValues2['default'](finalReducers, function (reducer, key) {\n var previousStateForKey = state[key];\n var nextStateForKey = reducer(previousStateForKey, action);\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(key, action);\n throw new Error(errorMessage);\n }\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n return nextStateForKey;\n });\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateKeyWarningMessage(state, finalState, action);\n if (warningMessage) {\n console.error(warningMessage);\n }\n }\n\n return hasChanged ? finalState : state;\n };\n}\n\nmodule.exports = exports['default'];\n}).call(this,require('_process'))\n\n},{\"../createStore\":33,\"./isPlainObject\":39,\"./mapValues\":40,\"./pick\":41,\"_process\":6}],38:[function(require,module,exports){\n/**\n * Composes single-argument functions from right to left.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing functions from right to\n * left. For example, compose(f, g, h) is identical to arg => f(g(h(arg))).\n */\n\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = compose;\n\nfunction compose() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n return function (arg) {\n return funcs.reduceRight(function (composed, f) {\n return f(composed);\n }, arg);\n };\n}\n\nmodule.exports = exports[\"default\"];\n},{}],39:[function(require,module,exports){\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = isPlainObject;\nvar fnToString = function fnToString(fn) {\n return Function.prototype.toString.call(fn);\n};\nvar objStringValue = fnToString(Object);\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\n\nfunction isPlainObject(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n var proto = typeof obj.constructor === 'function' ? Object.getPrototypeOf(obj) : Object.prototype;\n\n if (proto === null) {\n return true;\n }\n\n var constructor = proto.constructor;\n\n return typeof constructor === 'function' && constructor instanceof constructor && fnToString(constructor) === objStringValue;\n}\n\nmodule.exports = exports['default'];\n},{}],40:[function(require,module,exports){\n/**\n * Applies a function to every key-value pair inside an object.\n *\n * @param {Object} obj The source object.\n * @param {Function} fn The mapper function that receives the value and the key.\n * @returns {Object} A new object that contains the mapped values for the keys.\n */\n\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = mapValues;\n\nfunction mapValues(obj, fn) {\n return Object.keys(obj).reduce(function (result, key) {\n result[key] = fn(obj[key], key);\n return result;\n }, {});\n}\n\nmodule.exports = exports[\"default\"];\n},{}],41:[function(require,module,exports){\n/**\n * Picks key-value pairs from an object where values satisfy a predicate.\n *\n * @param {Object} obj The object to pick from.\n * @param {Function} fn The predicate the values must satisfy to be copied.\n * @returns {Object} The object with the values that satisfied the predicate.\n */\n\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = pick;\n\nfunction pick(obj, fn) {\n return Object.keys(obj).reduce(function (result, key) {\n if (fn(obj[key])) {\n result[key] = obj[key];\n }\n return result;\n }, {});\n}\n\nmodule.exports = exports[\"default\"];\n},{}],42:[function(require,module,exports){\nvar createElement = require(\"./vdom/create-element.js\")\n\nmodule.exports = createElement\n\n},{\"./vdom/create-element.js\":46}],43:[function(require,module,exports){\nvar diff = require(\"./vtree/diff.js\")\n\nmodule.exports = diff\n\n},{\"./vtree/diff.js\":60}],44:[function(require,module,exports){\nvar patch = require(\"./vdom/patch.js\")\n\nmodule.exports = patch\n\n},{\"./vdom/patch.js\":49}],45:[function(require,module,exports){\nvar isObject = require(\"is-object\")\nvar isHook = require(\"../vnode/is-vhook.js\")\n\nmodule.exports = applyProperties\n\nfunction applyProperties(node, props, previous) {\n for (var propName in props) {\n var propValue = props[propName]\n\n if (propValue === undefined) {\n removeProperty(node, propName, propValue, previous);\n } else if (isHook(propValue)) {\n removeProperty(node, propName, propValue, previous)\n if (propValue.hook) {\n propValue.hook(node,\n propName,\n previous ? previous[propName] : undefined)\n }\n } else {\n if (isObject(propValue)) {\n patchObject(node, props, previous, propName, propValue);\n } else {\n node[propName] = propValue\n }\n }\n }\n}\n\nfunction removeProperty(node, propName, propValue, previous) {\n if (previous) {\n var previousValue = previous[propName]\n\n if (!isHook(previousValue)) {\n if (propName === \"attributes\") {\n for (var attrName in previousValue) {\n node.removeAttribute(attrName)\n }\n } else if (propName === \"style\") {\n for (var i in previousValue) {\n node.style[i] = \"\"\n }\n } else if (typeof previousValue === \"string\") {\n node[propName] = \"\"\n } else {\n node[propName] = null\n }\n } else if (previousValue.unhook) {\n previousValue.unhook(node, propName, propValue)\n }\n }\n}\n\nfunction patchObject(node, props, previous, propName, propValue) {\n var previousValue = previous ? previous[propName] : undefined\n\n // Set attributes\n if (propName === \"attributes\") {\n for (var attrName in propValue) {\n var attrValue = propValue[attrName]\n\n if (attrValue === undefined) {\n node.removeAttribute(attrName)\n } else {\n node.setAttribute(attrName, attrValue)\n }\n }\n\n return\n }\n\n if(previousValue && isObject(previousValue) &&\n getPrototype(previousValue) !== getPrototype(propValue)) {\n node[propName] = propValue\n return\n }\n\n if (!isObject(node[propName])) {\n node[propName] = {}\n }\n\n var replacer = propName === \"style\" ? \"\" : undefined\n\n for (var k in propValue) {\n var value = propValue[k]\n node[propName][k] = (value === undefined) ? replacer : value\n }\n}\n\nfunction getPrototype(value) {\n if (Object.getPrototypeOf) {\n return Object.getPrototypeOf(value)\n } else if (value.__proto__) {\n return value.__proto__\n } else if (value.constructor) {\n return value.constructor.prototype\n }\n}\n\n},{\"../vnode/is-vhook.js\":53,\"is-object\":19}],46:[function(require,module,exports){\nvar document = require(\"global/document\")\n\nvar applyProperties = require(\"./apply-properties\")\n\nvar isVNode = require(\"../vnode/is-vnode.js\")\nvar isVText = require(\"../vnode/is-vtext.js\")\nvar isWidget = require(\"../vnode/is-widget.js\")\nvar handleThunk = require(\"../vnode/handle-thunk.js\")\n\nmodule.exports = createElement\n\nfunction createElement(vnode, opts) {\n var doc = opts ? opts.document || document : document\n var warn = opts ? opts.warn : null\n\n vnode = handleThunk(vnode).a\n\n if (isWidget(vnode)) {\n return vnode.init()\n } else if (isVText(vnode)) {\n return doc.createTextNode(vnode.text)\n } else if (!isVNode(vnode)) {\n if (warn) {\n warn(\"Item is not a valid virtual dom node\", vnode)\n }\n return null\n }\n\n var node = (vnode.namespace === null) ?\n doc.createElement(vnode.tagName) :\n doc.createElementNS(vnode.namespace, vnode.tagName)\n\n var props = vnode.properties\n applyProperties(node, props)\n\n var children = vnode.children\n\n for (var i = 0; i < children.length; i++) {\n var childNode = createElement(children[i], opts)\n if (childNode) {\n node.appendChild(childNode)\n }\n }\n\n return node\n}\n\n},{\"../vnode/handle-thunk.js\":51,\"../vnode/is-vnode.js\":54,\"../vnode/is-vtext.js\":55,\"../vnode/is-widget.js\":56,\"./apply-properties\":45,\"global/document\":15}],47:[function(require,module,exports){\n// Maps a virtual DOM tree onto a real DOM tree in an efficient manner.\n// We don't want to read all of the DOM nodes in the tree so we use\n// the in-order tree indexing to eliminate recursion down certain branches.\n// We only recurse into a DOM node if we know that it contains a child of\n// interest.\n\nvar noChild = {}\n\nmodule.exports = domIndex\n\nfunction domIndex(rootNode, tree, indices, nodes) {\n if (!indices || indices.length === 0) {\n return {}\n } else {\n indices.sort(ascending)\n return recurse(rootNode, tree, indices, nodes, 0)\n }\n}\n\nfunction recurse(rootNode, tree, indices, nodes, rootIndex) {\n nodes = nodes || {}\n\n\n if (rootNode) {\n if (indexInRange(indices, rootIndex, rootIndex)) {\n nodes[rootIndex] = rootNode\n }\n\n var vChildren = tree.children\n\n if (vChildren) {\n\n var childNodes = rootNode.childNodes\n\n for (var i = 0; i < tree.children.length; i++) {\n rootIndex += 1\n\n var vChild = vChildren[i] || noChild\n var nextIndex = rootIndex + (vChild.count || 0)\n\n // skip recursion down the tree if there are no nodes down here\n if (indexInRange(indices, rootIndex, nextIndex)) {\n recurse(childNodes[i], vChild, indices, nodes, rootIndex)\n }\n\n rootIndex = nextIndex\n }\n }\n }\n\n return nodes\n}\n\n// Binary search for an index in the interval [left, right]\nfunction indexInRange(indices, left, right) {\n if (indices.length === 0) {\n return false\n }\n\n var minIndex = 0\n var maxIndex = indices.length - 1\n var currentIndex\n var currentItem\n\n while (minIndex <= maxIndex) {\n currentIndex = ((maxIndex + minIndex) / 2) >> 0\n currentItem = indices[currentIndex]\n\n if (minIndex === maxIndex) {\n return currentItem >= left && currentItem <= right\n } else if (currentItem < left) {\n minIndex = currentIndex + 1\n } else if (currentItem > right) {\n maxIndex = currentIndex - 1\n } else {\n return true\n }\n }\n\n return false;\n}\n\nfunction ascending(a, b) {\n return a > b ? 1 : -1\n}\n\n},{}],48:[function(require,module,exports){\nvar applyProperties = require(\"./apply-properties\")\n\nvar isWidget = require(\"../vnode/is-widget.js\")\nvar VPatch = require(\"../vnode/vpatch.js\")\n\nvar updateWidget = require(\"./update-widget\")\n\nmodule.exports = applyPatch\n\nfunction applyPatch(vpatch, domNode, renderOptions) {\n var type = vpatch.type\n var vNode = vpatch.vNode\n var patch = vpatch.patch\n\n switch (type) {\n case VPatch.REMOVE:\n return removeNode(domNode, vNode)\n case VPatch.INSERT:\n return insertNode(domNode, patch, renderOptions)\n case VPatch.VTEXT:\n return stringPatch(domNode, vNode, patch, renderOptions)\n case VPatch.WIDGET:\n return widgetPatch(domNode, vNode, patch, renderOptions)\n case VPatch.VNODE:\n return vNodePatch(domNode, vNode, patch, renderOptions)\n case VPatch.ORDER:\n reorderChildren(domNode, patch)\n return domNode\n case VPatch.PROPS:\n applyProperties(domNode, patch, vNode.properties)\n return domNode\n case VPatch.THUNK:\n return replaceRoot(domNode,\n renderOptions.patch(domNode, patch, renderOptions))\n default:\n return domNode\n }\n}\n\nfunction removeNode(domNode, vNode) {\n var parentNode = domNode.parentNode\n\n if (parentNode) {\n parentNode.removeChild(domNode)\n }\n\n destroyWidget(domNode, vNode);\n\n return null\n}\n\nfunction insertNode(parentNode, vNode, renderOptions) {\n var newNode = renderOptions.render(vNode, renderOptions)\n\n if (parentNode) {\n parentNode.appendChild(newNode)\n }\n\n return parentNode\n}\n\nfunction stringPatch(domNode, leftVNode, vText, renderOptions) {\n var newNode\n\n if (domNode.nodeType === 3) {\n domNode.replaceData(0, domNode.length, vText.text)\n newNode = domNode\n } else {\n var parentNode = domNode.parentNode\n newNode = renderOptions.render(vText, renderOptions)\n\n if (parentNode && newNode !== domNode) {\n parentNode.replaceChild(newNode, domNode)\n }\n }\n\n return newNode\n}\n\nfunction widgetPatch(domNode, leftVNode, widget, renderOptions) {\n var updating = updateWidget(leftVNode, widget)\n var newNode\n\n if (updating) {\n newNode = widget.update(leftVNode, domNode) || domNode\n } else {\n newNode = renderOptions.render(widget, renderOptions)\n }\n\n var parentNode = domNode.parentNode\n\n if (parentNode && newNode !== domNode) {\n parentNode.replaceChild(newNode, domNode)\n }\n\n if (!updating) {\n destroyWidget(domNode, leftVNode)\n }\n\n return newNode\n}\n\nfunction vNodePatch(domNode, leftVNode, vNode, renderOptions) {\n var parentNode = domNode.parentNode\n var newNode = renderOptions.render(vNode, renderOptions)\n\n if (parentNode && newNode !== domNode) {\n parentNode.replaceChild(newNode, domNode)\n }\n\n return newNode\n}\n\nfunction destroyWidget(domNode, w) {\n if (typeof w.destroy === \"function\" && isWidget(w)) {\n w.destroy(domNode)\n }\n}\n\nfunction reorderChildren(domNode, moves) {\n var childNodes = domNode.childNodes\n var keyMap = {}\n var node\n var remove\n var insert\n\n for (var i = 0; i < moves.removes.length; i++) {\n remove = moves.removes[i]\n node = childNodes[remove.from]\n if (remove.key) {\n keyMap[remove.key] = node\n }\n domNode.removeChild(node)\n }\n\n var length = childNodes.length\n for (var j = 0; j < moves.inserts.length; j++) {\n insert = moves.inserts[j]\n node = keyMap[insert.key]\n // this is the weirdest bug i've ever seen in webkit\n domNode.insertBefore(node, insert.to >= length++ ? null : childNodes[insert.to])\n }\n}\n\nfunction replaceRoot(oldRoot, newRoot) {\n if (oldRoot && newRoot && oldRoot !== newRoot && oldRoot.parentNode) {\n oldRoot.parentNode.replaceChild(newRoot, oldRoot)\n }\n\n return newRoot;\n}\n\n},{\"../vnode/is-widget.js\":56,\"../vnode/vpatch.js\":58,\"./apply-properties\":45,\"./update-widget\":50}],49:[function(require,module,exports){\nvar document = require(\"global/document\")\nvar isArray = require(\"x-is-array\")\n\nvar render = require(\"./create-element\")\nvar domIndex = require(\"./dom-index\")\nvar patchOp = require(\"./patch-op\")\nmodule.exports = patch\n\nfunction patch(rootNode, patches, renderOptions) {\n renderOptions = renderOptions || {}\n renderOptions.patch = renderOptions.patch && renderOptions.patch !== patch\n ? renderOptions.patch\n : patchRecursive\n renderOptions.render = renderOptions.render || render\n\n return renderOptions.patch(rootNode, patches, renderOptions)\n}\n\nfunction patchRecursive(rootNode, patches, renderOptions) {\n var indices = patchIndices(patches)\n\n if (indices.length === 0) {\n return rootNode\n }\n\n var index = domIndex(rootNode, patches.a, indices)\n var ownerDocument = rootNode.ownerDocument\n\n if (!renderOptions.document && ownerDocument !== document) {\n renderOptions.document = ownerDocument\n }\n\n for (var i = 0; i < indices.length; i++) {\n var nodeIndex = indices[i]\n rootNode = applyPatch(rootNode,\n index[nodeIndex],\n patches[nodeIndex],\n renderOptions)\n }\n\n return rootNode\n}\n\nfunction applyPatch(rootNode, domNode, patchList, renderOptions) {\n if (!domNode) {\n return rootNode\n }\n\n var newNode\n\n if (isArray(patchList)) {\n for (var i = 0; i < patchList.length; i++) {\n newNode = patchOp(patchList[i], domNode, renderOptions)\n\n if (domNode === rootNode) {\n rootNode = newNode\n }\n }\n } else {\n newNode = patchOp(patchList, domNode, renderOptions)\n\n if (domNode === rootNode) {\n rootNode = newNode\n }\n }\n\n return rootNode\n}\n\nfunction patchIndices(patches) {\n var indices = []\n\n for (var key in patches) {\n if (key !== \"a\") {\n indices.push(Number(key))\n }\n }\n\n return indices\n}\n\n},{\"./create-element\":46,\"./dom-index\":47,\"./patch-op\":48,\"global/document\":15,\"x-is-array\":63}],50:[function(require,module,exports){\nvar isWidget = require(\"../vnode/is-widget.js\")\n\nmodule.exports = updateWidget\n\nfunction updateWidget(a, b) {\n if (isWidget(a) && isWidget(b)) {\n if (\"name\" in a && \"name\" in b) {\n return a.id === b.id\n } else {\n return a.init === b.init\n }\n }\n\n return false\n}\n\n},{\"../vnode/is-widget.js\":56}],51:[function(require,module,exports){\nvar isVNode = require(\"./is-vnode\")\nvar isVText = require(\"./is-vtext\")\nvar isWidget = require(\"./is-widget\")\nvar isThunk = require(\"./is-thunk\")\n\nmodule.exports = handleThunk\n\nfunction handleThunk(a, b) {\n var renderedA = a\n var renderedB = b\n\n if (isThunk(b)) {\n renderedB = renderThunk(b, a)\n }\n\n if (isThunk(a)) {\n renderedA = renderThunk(a, null)\n }\n\n return {\n a: renderedA,\n b: renderedB\n }\n}\n\nfunction renderThunk(thunk, previous) {\n var renderedThunk = thunk.vnode\n\n if (!renderedThunk) {\n renderedThunk = thunk.vnode = thunk.render(previous)\n }\n\n if (!(isVNode(renderedThunk) ||\n isVText(renderedThunk) ||\n isWidget(renderedThunk))) {\n throw new Error(\"thunk did not return a valid node\");\n }\n\n return renderedThunk\n}\n\n},{\"./is-thunk\":52,\"./is-vnode\":54,\"./is-vtext\":55,\"./is-widget\":56}],52:[function(require,module,exports){\nmodule.exports = isThunk\r\n\r\nfunction isThunk(t) {\r\n return t && t.type === \"Thunk\"\r\n}\r\n\n},{}],53:[function(require,module,exports){\nmodule.exports = isHook\n\nfunction isHook(hook) {\n return hook &&\n (typeof hook.hook === \"function\" && !hook.hasOwnProperty(\"hook\") ||\n typeof hook.unhook === \"function\" && !hook.hasOwnProperty(\"unhook\"))\n}\n\n},{}],54:[function(require,module,exports){\nvar version = require(\"./version\")\n\nmodule.exports = isVirtualNode\n\nfunction isVirtualNode(x) {\n return x && x.type === \"VirtualNode\" && x.version === version\n}\n\n},{\"./version\":57}],55:[function(require,module,exports){\nvar version = require(\"./version\")\n\nmodule.exports = isVirtualText\n\nfunction isVirtualText(x) {\n return x && x.type === \"VirtualText\" && x.version === version\n}\n\n},{\"./version\":57}],56:[function(require,module,exports){\nmodule.exports = isWidget\n\nfunction isWidget(w) {\n return w && w.type === \"Widget\"\n}\n\n},{}],57:[function(require,module,exports){\nmodule.exports = \"2\"\n\n},{}],58:[function(require,module,exports){\nvar version = require(\"./version\")\n\nVirtualPatch.NONE = 0\nVirtualPatch.VTEXT = 1\nVirtualPatch.VNODE = 2\nVirtualPatch.WIDGET = 3\nVirtualPatch.PROPS = 4\nVirtualPatch.ORDER = 5\nVirtualPatch.INSERT = 6\nVirtualPatch.REMOVE = 7\nVirtualPatch.THUNK = 8\n\nmodule.exports = VirtualPatch\n\nfunction VirtualPatch(type, vNode, patch) {\n this.type = Number(type)\n this.vNode = vNode\n this.patch = patch\n}\n\nVirtualPatch.prototype.version = version\nVirtualPatch.prototype.type = \"VirtualPatch\"\n\n},{\"./version\":57}],59:[function(require,module,exports){\nvar isObject = require(\"is-object\")\nvar isHook = require(\"../vnode/is-vhook\")\n\nmodule.exports = diffProps\n\nfunction diffProps(a, b) {\n var diff\n\n for (var aKey in a) {\n if (!(aKey in b)) {\n diff = diff || {}\n diff[aKey] = undefined\n }\n\n var aValue = a[aKey]\n var bValue = b[aKey]\n\n if (aValue === bValue) {\n continue\n } else if (isObject(aValue) && isObject(bValue)) {\n if (getPrototype(bValue) !== getPrototype(aValue)) {\n diff = diff || {}\n diff[aKey] = bValue\n } else if (isHook(bValue)) {\n diff = diff || {}\n diff[aKey] = bValue\n } else {\n var objectDiff = diffProps(aValue, bValue)\n if (objectDiff) {\n diff = diff || {}\n diff[aKey] = objectDiff\n }\n }\n } else {\n diff = diff || {}\n diff[aKey] = bValue\n }\n }\n\n for (var bKey in b) {\n if (!(bKey in a)) {\n diff = diff || {}\n diff[bKey] = b[bKey]\n }\n }\n\n return diff\n}\n\nfunction getPrototype(value) {\n if (Object.getPrototypeOf) {\n return Object.getPrototypeOf(value)\n } else if (value.__proto__) {\n return value.__proto__\n } else if (value.constructor) {\n return value.constructor.prototype\n }\n}\n\n},{\"../vnode/is-vhook\":53,\"is-object\":19}],60:[function(require,module,exports){\nvar isArray = require(\"x-is-array\")\n\nvar VPatch = require(\"../vnode/vpatch\")\nvar isVNode = require(\"../vnode/is-vnode\")\nvar isVText = require(\"../vnode/is-vtext\")\nvar isWidget = require(\"../vnode/is-widget\")\nvar isThunk = require(\"../vnode/is-thunk\")\nvar handleThunk = require(\"../vnode/handle-thunk\")\n\nvar diffProps = require(\"./diff-props\")\n\nmodule.exports = diff\n\nfunction diff(a, b) {\n var patch = { a: a }\n walk(a, b, patch, 0)\n return patch\n}\n\nfunction walk(a, b, patch, index) {\n if (a === b) {\n return\n }\n\n var apply = patch[index]\n var applyClear = false\n\n if (isThunk(a) || isThunk(b)) {\n thunks(a, b, patch, index)\n } else if (b == null) {\n\n // If a is a widget we will add a remove patch for it\n // Otherwise any child widgets/hooks must be destroyed.\n // This prevents adding two remove patches for a widget.\n if (!isWidget(a)) {\n clearState(a, patch, index)\n apply = patch[index]\n }\n\n apply = appendPatch(apply, new VPatch(VPatch.REMOVE, a, b))\n } else if (isVNode(b)) {\n if (isVNode(a)) {\n if (a.tagName === b.tagName &&\n a.namespace === b.namespace &&\n a.key === b.key) {\n var propsPatch = diffProps(a.properties, b.properties)\n if (propsPatch) {\n apply = appendPatch(apply,\n new VPatch(VPatch.PROPS, a, propsPatch))\n }\n apply = diffChildren(a, b, patch, apply, index)\n } else {\n apply = appendPatch(apply, new VPatch(VPatch.VNODE, a, b))\n applyClear = true\n }\n } else {\n apply = appendPatch(apply, new VPatch(VPatch.VNODE, a, b))\n applyClear = true\n }\n } else if (isVText(b)) {\n if (!isVText(a)) {\n apply = appendPatch(apply, new VPatch(VPatch.VTEXT, a, b))\n applyClear = true\n } else if (a.text !== b.text) {\n apply = appendPatch(apply, new VPatch(VPatch.VTEXT, a, b))\n }\n } else if (isWidget(b)) {\n if (!isWidget(a)) {\n applyClear = true\n }\n\n apply = appendPatch(apply, new VPatch(VPatch.WIDGET, a, b))\n }\n\n if (apply) {\n patch[index] = apply\n }\n\n if (applyClear) {\n clearState(a, patch, index)\n }\n}\n\nfunction diffChildren(a, b, patch, apply, index) {\n var aChildren = a.children\n var orderedSet = reorder(aChildren, b.children)\n var bChildren = orderedSet.children\n\n var aLen = aChildren.length\n var bLen = bChildren.length\n var len = aLen > bLen ? aLen : bLen\n\n for (var i = 0; i < len; i++) {\n var leftNode = aChildren[i]\n var rightNode = bChildren[i]\n index += 1\n\n if (!leftNode) {\n if (rightNode) {\n // Excess nodes in b need to be added\n apply = appendPatch(apply,\n new VPatch(VPatch.INSERT, null, rightNode))\n }\n } else {\n walk(leftNode, rightNode, patch, index)\n }\n\n if (isVNode(leftNode) && leftNode.count) {\n index += leftNode.count\n }\n }\n\n if (orderedSet.moves) {\n // Reorder nodes last\n apply = appendPatch(apply, new VPatch(\n VPatch.ORDER,\n a,\n orderedSet.moves\n ))\n }\n\n return apply\n}\n\nfunction clearState(vNode, patch, index) {\n // TODO: Make this a single walk, not two\n unhook(vNode, patch, index)\n destroyWidgets(vNode, patch, index)\n}\n\n// Patch records for all destroyed widgets must be added because we need\n// a DOM node reference for the destroy function\nfunction destroyWidgets(vNode, patch, index) {\n if (isWidget(vNode)) {\n if (typeof vNode.destroy === \"function\") {\n patch[index] = appendPatch(\n patch[index],\n new VPatch(VPatch.REMOVE, vNode, null)\n )\n }\n } else if (isVNode(vNode) && (vNode.hasWidgets || vNode.hasThunks)) {\n var children = vNode.children\n var len = children.length\n for (var i = 0; i < len; i++) {\n var child = children[i]\n index += 1\n\n destroyWidgets(child, patch, index)\n\n if (isVNode(child) && child.count) {\n index += child.count\n }\n }\n } else if (isThunk(vNode)) {\n thunks(vNode, null, patch, index)\n }\n}\n\n// Create a sub-patch for thunks\nfunction thunks(a, b, patch, index) {\n var nodes = handleThunk(a, b)\n var thunkPatch = diff(nodes.a, nodes.b)\n if (hasPatches(thunkPatch)) {\n patch[index] = new VPatch(VPatch.THUNK, null, thunkPatch)\n }\n}\n\nfunction hasPatches(patch) {\n for (var index in patch) {\n if (index !== \"a\") {\n return true\n }\n }\n\n return false\n}\n\n// Execute hooks when two nodes are identical\nfunction unhook(vNode, patch, index) {\n if (isVNode(vNode)) {\n if (vNode.hooks) {\n patch[index] = appendPatch(\n patch[index],\n new VPatch(\n VPatch.PROPS,\n vNode,\n undefinedKeys(vNode.hooks)\n )\n )\n }\n\n if (vNode.descendantHooks || vNode.hasThunks) {\n var children = vNode.children\n var len = children.length\n for (var i = 0; i < len; i++) {\n var child = children[i]\n index += 1\n\n unhook(child, patch, index)\n\n if (isVNode(child) && child.count) {\n index += child.count\n }\n }\n }\n } else if (isThunk(vNode)) {\n thunks(vNode, null, patch, index)\n }\n}\n\nfunction undefinedKeys(obj) {\n var result = {}\n\n for (var key in obj) {\n result[key] = undefined\n }\n\n return result\n}\n\n// List diff, naive left to right reordering\nfunction reorder(aChildren, bChildren) {\n // O(M) time, O(M) memory\n var bChildIndex = keyIndex(bChildren)\n var bKeys = bChildIndex.keys\n var bFree = bChildIndex.free\n\n if (bFree.length === bChildren.length) {\n return {\n children: bChildren,\n moves: null\n }\n }\n\n // O(N) time, O(N) memory\n var aChildIndex = keyIndex(aChildren)\n var aKeys = aChildIndex.keys\n var aFree = aChildIndex.free\n\n if (aFree.length === aChildren.length) {\n return {\n children: bChildren,\n moves: null\n }\n }\n\n // O(MAX(N, M)) memory\n var newChildren = []\n\n var freeIndex = 0\n var freeCount = bFree.length\n var deletedItems = 0\n\n // Iterate through a and match a node in b\n // O(N) time,\n for (var i = 0 ; i < aChildren.length; i++) {\n var aItem = aChildren[i]\n var itemIndex\n\n if (aItem.key) {\n if (bKeys.hasOwnProperty(aItem.key)) {\n // Match up the old keys\n itemIndex = bKeys[aItem.key]\n newChildren.push(bChildren[itemIndex])\n\n } else {\n // Remove old keyed items\n itemIndex = i - deletedItems++\n newChildren.push(null)\n }\n } else {\n // Match the item in a with the next free item in b\n if (freeIndex < freeCount) {\n itemIndex = bFree[freeIndex++]\n newChildren.push(bChildren[itemIndex])\n } else {\n // There are no free items in b to match with\n // the free items in a, so the extra free nodes\n // are deleted.\n itemIndex = i - deletedItems++\n newChildren.push(null)\n }\n }\n }\n\n var lastFreeIndex = freeIndex >= bFree.length ?\n bChildren.length :\n bFree[freeIndex]\n\n // Iterate through b and append any new keys\n // O(M) time\n for (var j = 0; j < bChildren.length; j++) {\n var newItem = bChildren[j]\n\n if (newItem.key) {\n if (!aKeys.hasOwnProperty(newItem.key)) {\n // Add any new keyed items\n // We are adding new items to the end and then sorting them\n // in place. In future we should insert new items in place.\n newChildren.push(newItem)\n }\n } else if (j >= lastFreeIndex) {\n // Add any leftover non-keyed items\n newChildren.push(newItem)\n }\n }\n\n var simulate = newChildren.slice()\n var simulateIndex = 0\n var removes = []\n var inserts = []\n var simulateItem\n\n for (var k = 0; k < bChildren.length;) {\n var wantedItem = bChildren[k]\n simulateItem = simulate[simulateIndex]\n\n // remove items\n while (simulateItem === null && simulate.length) {\n removes.push(remove(simulate, simulateIndex, null))\n simulateItem = simulate[simulateIndex]\n }\n\n if (!simulateItem || simulateItem.key !== wantedItem.key) {\n // if we need a key in this position...\n if (wantedItem.key) {\n if (simulateItem && simulateItem.key) {\n // if an insert doesn't put this key in place, it needs to move\n if (bKeys[simulateItem.key] !== k + 1) {\n removes.push(remove(simulate, simulateIndex, simulateItem.key))\n simulateItem = simulate[simulateIndex]\n // if the remove didn't put the wanted item in place, we need to insert it\n if (!simulateItem || simulateItem.key !== wantedItem.key) {\n inserts.push({key: wantedItem.key, to: k})\n }\n // items are matching, so skip ahead\n else {\n simulateIndex++\n }\n }\n else {\n inserts.push({key: wantedItem.key, to: k})\n }\n }\n else {\n inserts.push({key: wantedItem.key, to: k})\n }\n k++\n }\n // a key in simulate has no matching wanted key, remove it\n else if (simulateItem && simulateItem.key) {\n removes.push(remove(simulate, simulateIndex, simulateItem.key))\n }\n }\n else {\n simulateIndex++\n k++\n }\n }\n\n // remove all the remaining nodes from simulate\n while(simulateIndex < simulate.length) {\n simulateItem = simulate[simulateIndex]\n removes.push(remove(simulate, simulateIndex, simulateItem && simulateItem.key))\n }\n\n // If the only moves we have are deletes then we can just\n // let the delete patch remove these items.\n if (removes.length === deletedItems && !inserts.length) {\n return {\n children: newChildren,\n moves: null\n }\n }\n\n return {\n children: newChildren,\n moves: {\n removes: removes,\n inserts: inserts\n }\n }\n}\n\nfunction remove(arr, index, key) {\n arr.splice(index, 1)\n\n return {\n from: index,\n key: key\n }\n}\n\nfunction keyIndex(children) {\n var keys = {}\n var free = []\n var length = children.length\n\n for (var i = 0; i < length; i++) {\n var child = children[i]\n\n if (child.key) {\n keys[child.key] = i\n } else {\n free.push(i)\n }\n }\n\n return {\n keys: keys, // A hash of key name to index\n free: free // An array of unkeyed item indices\n }\n}\n\nfunction appendPatch(apply, patch) {\n if (apply) {\n if (isArray(apply)) {\n apply.push(patch)\n } else {\n apply = [apply, patch]\n }\n\n return apply\n } else {\n return patch\n }\n}\n\n},{\"../vnode/handle-thunk\":51,\"../vnode/is-thunk\":52,\"../vnode/is-vnode\":54,\"../vnode/is-vtext\":55,\"../vnode/is-widget\":56,\"../vnode/vpatch\":58,\"./diff-props\":59,\"x-is-array\":63}],61:[function(require,module,exports){\nvar hiddenStore = require('./hidden-store.js');\n\nmodule.exports = createStore;\n\nfunction createStore() {\n var key = {};\n\n return function (obj) {\n if ((typeof obj !== 'object' || obj === null) &&\n typeof obj !== 'function'\n ) {\n throw new Error('Weakmap-shim: Key must be object')\n }\n\n var store = obj.valueOf(key);\n return store && store.identity === key ?\n store : hiddenStore(obj, key);\n };\n}\n\n},{\"./hidden-store.js\":62}],62:[function(require,module,exports){\nmodule.exports = hiddenStore;\n\nfunction hiddenStore(obj, key) {\n var store = { identity: key };\n var valueOf = obj.valueOf;\n\n Object.defineProperty(obj, \"valueOf\", {\n value: function (value) {\n return value !== key ?\n valueOf.apply(this, arguments) : store;\n },\n writable: true\n });\n\n return store;\n}\n\n},{}],63:[function(require,module,exports){\nvar nativeIsArray = Array.isArray\nvar toString = Object.prototype.toString\n\nmodule.exports = nativeIsArray || isArray\n\nfunction isArray(obj) {\n return toString.call(obj) === \"[object Array]\"\n}\n\n},{}]},{},[3])(3)\n});\n\n\n\n","'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assocPath = require('ramda/src/assocPath');\n\nvar _assocPath2 = _interopRequireDefault(_assocPath);\n\nvar _clone = require('./utils/clone');\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _path = require('ramda/src/path');\n\nvar _path2 = _interopRequireDefault(_path);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _typeof(obj) { return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Map = (function () {\n function Map(obj) {\n _classCallCheck(this, Map);\n\n if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) !== 'object') {\n throw new TypeError(obj, 'is not an object');\n }\n\n this.obj = obj;\n this['@@Plait/Map'] = 1;\n }\n\n _createClass(Map, [{\n key: 'clone',\n value: function clone() {\n return new Map(this.toObject());\n }\n }, {\n key: 'toObject',\n value: function toObject() {\n return (0, _clone2.default)(this.obj);\n }\n }, {\n key: 'set',\n value: function set(prop, val) {\n var obj = this.toObject();\n\n obj[prop] = val;\n\n return new Map(obj);\n }\n }, {\n key: 'get',\n value: function get(prop) {\n var obj = this.toObject();\n\n return obj[prop];\n }\n }, {\n key: 'update',\n value: function update(prop, updater) {\n return this.set(prop, updater(this.get(prop)));\n }\n }, {\n key: 'setIn',\n value: function setIn(propPath, val) {\n var obj = (0, _assocPath2.default)(propPath, val, this.obj);\n\n return new Map(obj);\n }\n }, {\n key: 'getIn',\n value: function getIn(propPath) {\n return (0, _path2.default)(propPath, this.obj);\n }\n }]);\n\n return Map;\n})();\n\nexports.default = Map;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Map = exports.App = undefined;\n\nvar _App = require('./App');\n\nvar App = _interopRequireWildcard(_App);\n\nvar _Map = require('./Map');\n\nvar _Map2 = _interopRequireDefault(_Map);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nexports.App = App;\nexports.Map = _Map2.default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = clone;\n\nfunction _typeof(obj) { return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; }\n\nfunction clone(obj) {\n var newObj = [];\n\n for (var i in obj) {\n var val = obj[i];\n\n if ((typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object') {\n if (val.hasOwnProperty('@@Plait/Map')) {\n newObj[i] = val.clone();\n } else {\n newObj[i] = clone(val);\n }\n } else {\n newObj[i] = val;\n }\n }\n\n return newObj;\n}","// shim for using process in browser\n\nvar process = module.exports = {};\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = setTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n clearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n setTimeout(drainQueue, 0);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/**\n * cuid.js\n * Collision-resistant UID generator for browsers and node.\n * Sequential for fast db lookups and recency sorting.\n * Safe for element IDs and server-side lookups.\n *\n * Extracted from CLCTR\n *\n * Copyright (c) Eric Elliott 2012\n * MIT License\n */\n\n/*global window, navigator, document, require, process, module */\n(function (app) {\n 'use strict';\n var namespace = 'cuid',\n c = 0,\n blockSize = 4,\n base = 36,\n discreteValues = Math.pow(base, blockSize),\n\n pad = function pad(num, size) {\n var s = \"000000000\" + num;\n return s.substr(s.length-size);\n },\n\n randomBlock = function randomBlock() {\n return pad((Math.random() *\n discreteValues << 0)\n .toString(base), blockSize);\n },\n\n safeCounter = function () {\n c = (c < discreteValues) ? c : 0;\n c++; // this is not subliminal\n return c - 1;\n },\n\n api = function cuid() {\n // Starting with a lowercase letter makes\n // it HTML element ID friendly.\n var letter = 'c', // hard-coded allows for sequential access\n\n // timestamp\n // warning: this exposes the exact date and time\n // that the uid was created.\n timestamp = (new Date().getTime()).toString(base),\n\n // Prevent same-machine collisions.\n counter,\n\n // A few chars to generate distinct ids for different\n // clients (so different computers are far less\n // likely to generate the same id)\n fingerprint = api.fingerprint(),\n\n // Grab some more chars from Math.random()\n random = randomBlock() + randomBlock();\n\n counter = pad(safeCounter().toString(base), blockSize);\n\n return (letter + timestamp + counter + fingerprint + random);\n };\n\n api.slug = function slug() {\n var date = new Date().getTime().toString(36),\n counter,\n print = api.fingerprint().slice(0,1) +\n api.fingerprint().slice(-1),\n random = randomBlock().slice(-2);\n\n counter = safeCounter().toString(36).slice(-4);\n\n return date.slice(-2) +\n counter + print + random;\n };\n\n api.globalCount = function globalCount() {\n // We want to cache the results of this\n var cache = (function calc() {\n var i,\n count = 0;\n\n for (i in window) {\n count++;\n }\n\n return count;\n }());\n\n api.globalCount = function () { return cache; };\n return cache;\n };\n\n api.fingerprint = function browserPrint() {\n return pad((navigator.mimeTypes.length +\n navigator.userAgent.length).toString(36) +\n api.globalCount().toString(36), 4);\n };\n\n // don't change anything from here down.\n if (app.register) {\n app.register(namespace, api);\n } else if (typeof module !== 'undefined') {\n module.exports = api;\n } else {\n app[namespace] = api;\n }\n\n}(this.applitude || this));\n","var EvStore = require(\"ev-store\")\n\nmodule.exports = addEvent\n\nfunction addEvent(target, type, handler) {\n var events = EvStore(target)\n var event = events[type]\n\n if (!event) {\n events[type] = handler\n } else if (Array.isArray(event)) {\n if (event.indexOf(handler) === -1) {\n event.push(handler)\n }\n } else if (event !== handler) {\n events[type] = [event, handler]\n }\n}\n","var globalDocument = require(\"global/document\")\nvar EvStore = require(\"ev-store\")\nvar createStore = require(\"weakmap-shim/create-store\")\n\nvar addEvent = require(\"./add-event.js\")\nvar removeEvent = require(\"./remove-event.js\")\nvar ProxyEvent = require(\"./proxy-event.js\")\n\nvar HANDLER_STORE = createStore()\n\nmodule.exports = DOMDelegator\n\nfunction DOMDelegator(document) {\n if (!(this instanceof DOMDelegator)) {\n return new DOMDelegator(document);\n }\n\n document = document || globalDocument\n\n this.target = document.documentElement\n this.events = {}\n this.rawEventListeners = {}\n this.globalListeners = {}\n}\n\nDOMDelegator.prototype.addEventListener = addEvent\nDOMDelegator.prototype.removeEventListener = removeEvent\n\nDOMDelegator.allocateHandle =\n function allocateHandle(func) {\n var handle = new Handle()\n\n HANDLER_STORE(handle).func = func;\n\n return handle\n }\n\nDOMDelegator.transformHandle =\n function transformHandle(handle, broadcast) {\n var func = HANDLER_STORE(handle).func\n\n return this.allocateHandle(function (ev) {\n broadcast(ev, func);\n })\n }\n\nDOMDelegator.prototype.addGlobalEventListener =\n function addGlobalEventListener(eventName, fn) {\n var listeners = this.globalListeners[eventName] || [];\n if (listeners.indexOf(fn) === -1) {\n listeners.push(fn)\n }\n\n this.globalListeners[eventName] = listeners;\n }\n\nDOMDelegator.prototype.removeGlobalEventListener =\n function removeGlobalEventListener(eventName, fn) {\n var listeners = this.globalListeners[eventName] || [];\n\n var index = listeners.indexOf(fn)\n if (index !== -1) {\n listeners.splice(index, 1)\n }\n }\n\nDOMDelegator.prototype.listenTo = function listenTo(eventName) {\n if (!(eventName in this.events)) {\n this.events[eventName] = 0;\n }\n\n this.events[eventName]++;\n\n if (this.events[eventName] !== 1) {\n return\n }\n\n var listener = this.rawEventListeners[eventName]\n if (!listener) {\n listener = this.rawEventListeners[eventName] =\n createHandler(eventName, this)\n }\n\n this.target.addEventListener(eventName, listener, true)\n}\n\nDOMDelegator.prototype.unlistenTo = function unlistenTo(eventName) {\n if (!(eventName in this.events)) {\n this.events[eventName] = 0;\n }\n\n if (this.events[eventName] === 0) {\n throw new Error(\"already unlistened to event.\");\n }\n\n this.events[eventName]--;\n\n if (this.events[eventName] !== 0) {\n return\n }\n\n var listener = this.rawEventListeners[eventName]\n\n if (!listener) {\n throw new Error(\"dom-delegator#unlistenTo: cannot \" +\n \"unlisten to \" + eventName)\n }\n\n this.target.removeEventListener(eventName, listener, true)\n}\n\nfunction createHandler(eventName, delegator) {\n var globalListeners = delegator.globalListeners;\n var delegatorTarget = delegator.target;\n\n return handler\n\n function handler(ev) {\n var globalHandlers = globalListeners[eventName] || []\n\n if (globalHandlers.length > 0) {\n var globalEvent = new ProxyEvent(ev);\n globalEvent.currentTarget = delegatorTarget;\n callListeners(globalHandlers, globalEvent)\n }\n\n findAndInvokeListeners(ev.target, ev, eventName)\n }\n}\n\nfunction findAndInvokeListeners(elem, ev, eventName) {\n var listener = getListener(elem, eventName)\n\n if (listener && listener.handlers.length > 0) {\n var listenerEvent = new ProxyEvent(ev);\n listenerEvent.currentTarget = listener.currentTarget\n callListeners(listener.handlers, listenerEvent)\n\n if (listenerEvent._bubbles) {\n var nextTarget = listener.currentTarget.parentNode\n findAndInvokeListeners(nextTarget, ev, eventName)\n }\n }\n}\n\nfunction getListener(target, type) {\n // terminate recursion if parent is `null`\n if (target === null || typeof target === \"undefined\") {\n return null\n }\n\n var events = EvStore(target)\n // fetch list of handler fns for this event\n var handler = events[type]\n var allHandler = events.event\n\n if (!handler && !allHandler) {\n return getListener(target.parentNode, type)\n }\n\n var handlers = [].concat(handler || [], allHandler || [])\n return new Listener(target, handlers)\n}\n\nfunction callListeners(handlers, ev) {\n handlers.forEach(function (handler) {\n if (typeof handler === \"function\") {\n handler(ev)\n } else if (typeof handler.handleEvent === \"function\") {\n handler.handleEvent(ev)\n } else if (handler.type === \"dom-delegator-handle\") {\n HANDLER_STORE(handler).func(ev)\n } else {\n throw new Error(\"dom-delegator: unknown handler \" +\n \"found: \" + JSON.stringify(handlers));\n }\n })\n}\n\nfunction Listener(target, handlers) {\n this.currentTarget = target\n this.handlers = handlers\n}\n\nfunction Handle() {\n this.type = \"dom-delegator-handle\"\n}\n","var Individual = require(\"individual\")\nvar cuid = require(\"cuid\")\nvar globalDocument = require(\"global/document\")\n\nvar DOMDelegator = require(\"./dom-delegator.js\")\n\nvar versionKey = \"13\"\nvar cacheKey = \"__DOM_DELEGATOR_CACHE@\" + versionKey\nvar cacheTokenKey = \"__DOM_DELEGATOR_CACHE_TOKEN@\" + versionKey\nvar delegatorCache = Individual(cacheKey, {\n delegators: {}\n})\nvar commonEvents = [\n \"blur\", \"change\", \"click\", \"contextmenu\", \"dblclick\",\n \"error\",\"focus\", \"focusin\", \"focusout\", \"input\", \"keydown\",\n \"keypress\", \"keyup\", \"load\", \"mousedown\", \"mouseup\",\n \"resize\", \"select\", \"submit\", \"touchcancel\",\n \"touchend\", \"touchstart\", \"unload\"\n]\n\n/* Delegator is a thin wrapper around a singleton `DOMDelegator`\n instance.\n\n Only one DOMDelegator should exist because we do not want\n duplicate event listeners bound to the DOM.\n\n `Delegator` will also `listenTo()` all events unless\n every caller opts out of it\n*/\nmodule.exports = Delegator\n\nfunction Delegator(opts) {\n opts = opts || {}\n var document = opts.document || globalDocument\n\n var cacheKey = document[cacheTokenKey]\n\n if (!cacheKey) {\n cacheKey =\n document[cacheTokenKey] = cuid()\n }\n\n var delegator = delegatorCache.delegators[cacheKey]\n\n if (!delegator) {\n delegator = delegatorCache.delegators[cacheKey] =\n new DOMDelegator(document)\n }\n\n if (opts.defaultEvents !== false) {\n for (var i = 0; i < commonEvents.length; i++) {\n delegator.listenTo(commonEvents[i])\n }\n }\n\n return delegator\n}\n\nDelegator.allocateHandle = DOMDelegator.allocateHandle;\nDelegator.transformHandle = DOMDelegator.transformHandle;\n","var root = typeof window !== 'undefined' ?\n window : typeof global !== 'undefined' ?\n global : {};\n\nmodule.exports = Individual\n\nfunction Individual(key, value) {\n if (root[key]) {\n return root[key]\n }\n\n Object.defineProperty(root, key, {\n value: value\n , configurable: true\n })\n\n return value\n}\n","var inherits = require(\"inherits\")\n\nvar ALL_PROPS = [\n \"altKey\", \"bubbles\", \"cancelable\", \"ctrlKey\",\n \"eventPhase\", \"metaKey\", \"relatedTarget\", \"shiftKey\",\n \"target\", \"timeStamp\", \"type\", \"view\", \"which\"\n]\nvar KEY_PROPS = [\"char\", \"charCode\", \"key\", \"keyCode\"]\nvar MOUSE_PROPS = [\n \"button\", \"buttons\", \"clientX\", \"clientY\", \"layerX\",\n \"layerY\", \"offsetX\", \"offsetY\", \"pageX\", \"pageY\",\n \"screenX\", \"screenY\", \"toElement\"\n]\n\nvar rkeyEvent = /^key|input/\nvar rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/\n\nmodule.exports = ProxyEvent\n\nfunction ProxyEvent(ev) {\n if (!(this instanceof ProxyEvent)) {\n return new ProxyEvent(ev)\n }\n\n if (rkeyEvent.test(ev.type)) {\n return new KeyEvent(ev)\n } else if (rmouseEvent.test(ev.type)) {\n return new MouseEvent(ev)\n }\n\n for (var i = 0; i < ALL_PROPS.length; i++) {\n var propKey = ALL_PROPS[i]\n this[propKey] = ev[propKey]\n }\n\n this._rawEvent = ev\n this._bubbles = false;\n}\n\nProxyEvent.prototype.preventDefault = function () {\n this._rawEvent.preventDefault()\n}\n\nProxyEvent.prototype.startPropagation = function () {\n this._bubbles = true;\n}\n\nfunction MouseEvent(ev) {\n for (var i = 0; i < ALL_PROPS.length; i++) {\n var propKey = ALL_PROPS[i]\n this[propKey] = ev[propKey]\n }\n\n for (var j = 0; j < MOUSE_PROPS.length; j++) {\n var mousePropKey = MOUSE_PROPS[j]\n this[mousePropKey] = ev[mousePropKey]\n }\n\n this._rawEvent = ev\n}\n\ninherits(MouseEvent, ProxyEvent)\n\nfunction KeyEvent(ev) {\n for (var i = 0; i < ALL_PROPS.length; i++) {\n var propKey = ALL_PROPS[i]\n this[propKey] = ev[propKey]\n }\n\n for (var j = 0; j < KEY_PROPS.length; j++) {\n var keyPropKey = KEY_PROPS[j]\n this[keyPropKey] = ev[keyPropKey]\n }\n\n this._rawEvent = ev\n}\n\ninherits(KeyEvent, ProxyEvent)\n","var EvStore = require(\"ev-store\")\n\nmodule.exports = removeEvent\n\nfunction removeEvent(target, type, handler) {\n var events = EvStore(target)\n var event = events[type]\n\n if (!event) {\n return\n } else if (Array.isArray(event)) {\n var index = event.indexOf(handler)\n if (index !== -1) {\n event.splice(index, 1)\n }\n } else if (event === handler) {\n events[type] = null\n }\n}\n","'use strict';\n\nvar OneVersionConstraint = require('individual/one-version');\n\nvar MY_VERSION = '7';\nOneVersionConstraint('ev-store', MY_VERSION);\n\nvar hashKey = '__EV_STORE_KEY@' + MY_VERSION;\n\nmodule.exports = EvStore;\n\nfunction EvStore(elem) {\n var hash = elem[hashKey];\n\n if (!hash) {\n hash = elem[hashKey] = {};\n }\n\n return hash;\n}\n","var topLevel = typeof global !== 'undefined' ? global :\n typeof window !== 'undefined' ? window : {}\nvar minDoc = require('min-document');\n\nif (typeof document !== 'undefined') {\n module.exports = document;\n} else {\n var doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'];\n\n if (!doccy) {\n doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'] = minDoc;\n }\n\n module.exports = doccy;\n}\n","'use strict';\n\n/*global window, global*/\n\nvar root = typeof window !== 'undefined' ?\n window : typeof global !== 'undefined' ?\n global : {};\n\nmodule.exports = Individual;\n\nfunction Individual(key, value) {\n if (key in root) {\n return root[key];\n }\n\n root[key] = value;\n\n return value;\n}\n","'use strict';\n\nvar Individual = require('./index.js');\n\nmodule.exports = OneVersion;\n\nfunction OneVersion(moduleName, version, defaultValue) {\n var key = '__INDIVIDUAL_ONE_VERSION_' + moduleName;\n var enforceKey = key + '_ENFORCE_SINGLETON';\n\n var versionValue = Individual(enforceKey, version);\n\n if (versionValue !== version) {\n throw new Error('Can only have one copy of ' +\n moduleName + '.\\n' +\n 'You already have version ' + versionValue +\n ' installed.\\n' +\n 'This means you cannot install version ' + version);\n }\n\n return Individual(key, defaultValue);\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","\"use strict\";\n\nmodule.exports = function isObject(x) {\n\treturn typeof x === \"object\" && x !== null;\n};\n","var _curry3 = require('./internal/_curry3');\n\n\n/**\n * Makes a shallow clone of an object, setting or overriding the specified\n * property with the given value. Note that this copies and flattens prototype\n * properties onto the new object as well. All non-primitive properties are\n * copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig String -> a -> {k: v} -> {k: v}\n * @param {String} prop the property name to set\n * @param {*} val the new value\n * @param {Object} obj the object to clone\n * @return {Object} a new object similar to the original except for the specified property.\n * @see R.dissoc\n * @example\n *\n * R.assoc('c', 3, {a: 1, b: 2}); //=> {a: 1, b: 2, c: 3}\n */\nmodule.exports = _curry3(function assoc(prop, val, obj) {\n var result = {};\n for (var p in obj) {\n result[p] = obj[p];\n }\n result[prop] = val;\n return result;\n});\n","var _curry3 = require('./internal/_curry3');\nvar _slice = require('./internal/_slice');\nvar assoc = require('./assoc');\n\n\n/**\n * Makes a shallow clone of an object, setting or overriding the nodes required\n * to create the given path, and placing the specific value at the tail end of\n * that path. Note that this copies and flattens prototype properties onto the\n * new object as well. All non-primitive properties are copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig [String] -> a -> {k: v} -> {k: v}\n * @param {Array} path the path to set\n * @param {*} val the new value\n * @param {Object} obj the object to clone\n * @return {Object} a new object similar to the original except along the specified path.\n * @see R.dissocPath\n * @example\n *\n * R.assocPath(['a', 'b', 'c'], 42, {a: {b: {c: 0}}}); //=> {a: {b: {c: 42}}}\n */\nmodule.exports = _curry3(function assocPath(path, val, obj) {\n switch (path.length) {\n case 0:\n return val;\n case 1:\n return assoc(path[0], val, obj);\n default:\n return assoc(path[0], assocPath(_slice(path, 1), val, Object(obj[path[0]])), obj);\n }\n});\n","var _curry1 = require('./internal/_curry1');\nvar curryN = require('./curryN');\n\n\n/**\n * Returns a curried equivalent of the provided function. The curried function\n * has two unusual capabilities. First, its arguments needn't be provided one\n * at a time. If `f` is a ternary function and `g` is `R.curry(f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value `R.__` may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is `R.__`, the\n * following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (* -> a) -> (* -> a)\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curryN\n * @example\n *\n * var addFourNumbers = (a, b, c, d) => a + b + c + d;\n *\n * var curriedAddFourNumbers = R.curry(addFourNumbers);\n * var f = curriedAddFourNumbers(1, 2);\n * var g = f(3);\n * g(4); //=> 10\n */\nmodule.exports = _curry1(function curry(fn) {\n return curryN(fn.length, fn);\n});\n","var _arity = require('./internal/_arity');\nvar _curry1 = require('./internal/_curry1');\nvar _curry2 = require('./internal/_curry2');\nvar _curryN = require('./internal/_curryN');\n\n\n/**\n * Returns a curried equivalent of the provided function, with the specified\n * arity. The curried function has two unusual capabilities. First, its\n * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value `R.__` may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is `R.__`, the\n * following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curry\n * @example\n *\n * var sumArgs = (...args) => R.sum(args);\n *\n * var curriedAddFourNumbers = R.curryN(4, sumArgs);\n * var f = curriedAddFourNumbers(1, 2);\n * var g = f(3);\n * g(4); //=> 10\n */\nmodule.exports = _curry2(function curryN(length, fn) {\n if (length === 1) {\n return _curry1(fn);\n }\n return _arity(length, _curryN(length, [], fn));\n});\n","module.exports = function _arity(n, fn) {\n /* eslint-disable no-unused-vars */\n switch (n) {\n case 0: return function() { return fn.apply(this, arguments); };\n case 1: return function(a0) { return fn.apply(this, arguments); };\n case 2: return function(a0, a1) { return fn.apply(this, arguments); };\n case 3: return function(a0, a1, a2) { return fn.apply(this, arguments); };\n case 4: return function(a0, a1, a2, a3) { return fn.apply(this, arguments); };\n case 5: return function(a0, a1, a2, a3, a4) { return fn.apply(this, arguments); };\n case 6: return function(a0, a1, a2, a3, a4, a5) { return fn.apply(this, arguments); };\n case 7: return function(a0, a1, a2, a3, a4, a5, a6) { return fn.apply(this, arguments); };\n case 8: return function(a0, a1, a2, a3, a4, a5, a6, a7) { return fn.apply(this, arguments); };\n case 9: return function(a0, a1, a2, a3, a4, a5, a6, a7, a8) { return fn.apply(this, arguments); };\n case 10: return function(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) { return fn.apply(this, arguments); };\n default: throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n }\n};\n","var _isPlaceholder = require('./_isPlaceholder');\n\n\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nmodule.exports = function _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n};\n","var _curry1 = require('./_curry1');\nvar _isPlaceholder = require('./_isPlaceholder');\n\n\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nmodule.exports = function _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n case 1:\n return _isPlaceholder(a) ? f2\n : _curry1(function(_b) { return fn(a, _b); });\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2\n : _isPlaceholder(a) ? _curry1(function(_a) { return fn(_a, b); })\n : _isPlaceholder(b) ? _curry1(function(_b) { return fn(a, _b); })\n : fn(a, b);\n }\n };\n};\n","var _curry1 = require('./_curry1');\nvar _curry2 = require('./_curry2');\nvar _isPlaceholder = require('./_isPlaceholder');\n\n\n/**\n * Optimized internal three-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nmodule.exports = function _curry3(fn) {\n return function f3(a, b, c) {\n switch (arguments.length) {\n case 0:\n return f3;\n case 1:\n return _isPlaceholder(a) ? f3\n : _curry2(function(_b, _c) { return fn(a, _b, _c); });\n case 2:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f3\n : _isPlaceholder(a) ? _curry2(function(_a, _c) { return fn(_a, b, _c); })\n : _isPlaceholder(b) ? _curry2(function(_b, _c) { return fn(a, _b, _c); })\n : _curry1(function(_c) { return fn(a, b, _c); });\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3\n : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function(_a, _b) { return fn(_a, _b, c); })\n : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function(_a, _c) { return fn(_a, b, _c); })\n : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function(_b, _c) { return fn(a, _b, _c); })\n : _isPlaceholder(a) ? _curry1(function(_a) { return fn(_a, b, c); })\n : _isPlaceholder(b) ? _curry1(function(_b) { return fn(a, _b, c); })\n : _isPlaceholder(c) ? _curry1(function(_c) { return fn(a, b, _c); })\n : fn(a, b, c);\n }\n };\n};\n","var _arity = require('./_arity');\nvar _isPlaceholder = require('./_isPlaceholder');\n\n\n/**\n * Internal curryN function.\n *\n * @private\n * @category Function\n * @param {Number} length The arity of the curried function.\n * @param {Array} received An array of arguments received thus far.\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nmodule.exports = function _curryN(length, received, fn) {\n return function() {\n var combined = [];\n var argsIdx = 0;\n var left = length;\n var combinedIdx = 0;\n while (combinedIdx < received.length || argsIdx < arguments.length) {\n var result;\n if (combinedIdx < received.length &&\n (!_isPlaceholder(received[combinedIdx]) ||\n argsIdx >= arguments.length)) {\n result = received[combinedIdx];\n } else {\n result = arguments[argsIdx];\n argsIdx += 1;\n }\n combined[combinedIdx] = result;\n if (!_isPlaceholder(result)) {\n left -= 1;\n }\n combinedIdx += 1;\n }\n return left <= 0 ? fn.apply(this, combined)\n : _arity(left, _curryN(length, combined, fn));\n };\n};\n","module.exports = function _isPlaceholder(a) {\n return a != null &&\n typeof a === 'object' &&\n a['@@functional/placeholder'] === true;\n};\n","/**\n * An optimized, private array `slice` implementation.\n *\n * @private\n * @param {Arguments|Array} args The array or arguments object to consider.\n * @param {Number} [from=0] The array index to slice from, inclusive.\n * @param {Number} [to=args.length] The array index to slice to, exclusive.\n * @return {Array} A new, sliced array.\n * @example\n *\n * _slice([1, 2, 3, 4, 5], 1, 3); //=> [2, 3]\n *\n * var firstThreeArgs = function(a, b, c, d) {\n * return _slice(arguments, 0, 3);\n * };\n * firstThreeArgs(1, 2, 3, 4); //=> [1, 2, 3]\n */\nmodule.exports = function _slice(args, from, to) {\n switch (arguments.length) {\n case 1: return _slice(args, 0, args.length);\n case 2: return _slice(args, from, args.length);\n default:\n var list = [];\n var idx = 0;\n var len = Math.max(0, Math.min(args.length, to) - from);\n while (idx < len) {\n list[idx] = args[from + idx];\n idx += 1;\n }\n return list;\n }\n};\n","var _curry2 = require('./internal/_curry2');\n\n\n/**\n * Retrieve the value at a given path.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @sig [String] -> {k: v} -> v | Undefined\n * @param {Array} path The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path`.\n * @example\n *\n * R.path(['a', 'b'], {a: {b: 2}}); //=> 2\n * R.path(['a', 'b'], {c: {b: 2}}); //=> undefined\n */\nmodule.exports = _curry2(function path(paths, obj) {\n var val = obj;\n var idx = 0;\n while (idx < paths.length) {\n if (val == null) {\n return;\n }\n val = val[paths[idx]];\n idx += 1;\n }\n return val;\n});\n","'use strict';\n\nfunction thunkMiddleware(_ref) {\n var dispatch = _ref.dispatch;\n var getState = _ref.getState;\n\n return function (next) {\n return function (action) {\n return typeof action === 'function' ? action(dispatch, getState) : next(action);\n };\n };\n}\n\nmodule.exports = thunkMiddleware;","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createStore;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _utilsIsPlainObject = require('./utils/isPlainObject');\n\nvar _utilsIsPlainObject2 = _interopRequireDefault(_utilsIsPlainObject);\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar ActionTypes = {\n INIT: '@@redux/INIT'\n};\n\nexports.ActionTypes = ActionTypes;\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [initialState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nfunction createStore(reducer, initialState) {\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = initialState;\n var listeners = [];\n var isDispatching = false;\n\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n function getState() {\n return currentState;\n }\n\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n function subscribe(listener) {\n listeners.push(listener);\n var isSubscribed = true;\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n var index = listeners.indexOf(listener);\n listeners.splice(index, 1);\n };\n }\n\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n function dispatch(action) {\n if (!_utilsIsPlainObject2['default'](action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n listeners.slice().forEach(function (listener) {\n return listener();\n });\n return action;\n }\n\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n function replaceReducer(nextReducer) {\n currentReducer = nextReducer;\n dispatch({ type: ActionTypes.INIT });\n }\n\n // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n dispatch({ type: ActionTypes.INIT });\n\n return {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n };\n}","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _createStore = require('./createStore');\n\nvar _createStore2 = _interopRequireDefault(_createStore);\n\nvar _utilsCombineReducers = require('./utils/combineReducers');\n\nvar _utilsCombineReducers2 = _interopRequireDefault(_utilsCombineReducers);\n\nvar _utilsBindActionCreators = require('./utils/bindActionCreators');\n\nvar _utilsBindActionCreators2 = _interopRequireDefault(_utilsBindActionCreators);\n\nvar _utilsApplyMiddleware = require('./utils/applyMiddleware');\n\nvar _utilsApplyMiddleware2 = _interopRequireDefault(_utilsApplyMiddleware);\n\nvar _utilsCompose = require('./utils/compose');\n\nvar _utilsCompose2 = _interopRequireDefault(_utilsCompose);\n\nexports.createStore = _createStore2['default'];\nexports.combineReducers = _utilsCombineReducers2['default'];\nexports.bindActionCreators = _utilsBindActionCreators2['default'];\nexports.applyMiddleware = _utilsApplyMiddleware2['default'];\nexports.compose = _utilsCompose2['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports['default'] = applyMiddleware;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _compose = require('./compose');\n\nvar _compose2 = _interopRequireDefault(_compose);\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (next) {\n return function (reducer, initialState) {\n var store = next(reducer, initialState);\n var _dispatch = store.dispatch;\n var chain = [];\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch(action) {\n return _dispatch(action);\n }\n };\n chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = _compose2['default'].apply(undefined, chain)(store.dispatch);\n\n return _extends({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports['default'] = bindActionCreators;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _mapValues = require('./mapValues');\n\nvar _mapValues2 = _interopRequireDefault(_mapValues);\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(undefined, arguments));\n };\n}\n\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass a single function as the first argument,\n * and get a function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null || actionCreators === undefined) {\n throw new Error('bindActionCreators expected an object or a function, instead received ' + (actionCreators === null ? 'null' : typeof actionCreators) + '. ' + 'Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?');\n }\n\n return _mapValues2['default'](actionCreators, function (actionCreator) {\n return bindActionCreator(actionCreator, dispatch);\n });\n}\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports['default'] = combineReducers;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _createStore = require('../createStore');\n\nvar _isPlainObject = require('./isPlainObject');\n\nvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\nvar _mapValues = require('./mapValues');\n\nvar _mapValues2 = _interopRequireDefault(_mapValues);\n\nvar _pick = require('./pick');\n\nvar _pick2 = _interopRequireDefault(_pick);\n\n/* eslint-disable no-console */\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionName = actionType && '\"' + actionType.toString() + '\"' || 'an action';\n\n return 'Reducer \"' + key + '\" returned undefined handling ' + actionName + '. ' + 'To ignore an action, you must explicitly return the previous state.';\n}\n\nfunction getUnexpectedStateKeyWarningMessage(inputState, outputState, action) {\n var reducerKeys = Object.keys(outputState);\n var argumentName = action && action.type === _createStore.ActionTypes.INIT ? 'initialState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!_isPlainObject2['default'](inputState)) {\n return 'The ' + argumentName + ' has unexpected type of \"' + ({}).toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + '\". Expected argument to be an object with the following ' + ('keys: \"' + reducerKeys.join('\", \"') + '\"');\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return reducerKeys.indexOf(key) < 0;\n });\n\n if (unexpectedKeys.length > 0) {\n return 'Unexpected ' + (unexpectedKeys.length > 1 ? 'keys' : 'key') + ' ' + ('\"' + unexpectedKeys.join('\", \"') + '\" found in ' + argumentName + '. ') + 'Expected to find one of the known reducer keys instead: ' + ('\"' + reducerKeys.join('\", \"') + '\". Unexpected keys will be ignored.');\n }\n}\n\nfunction assertReducerSanity(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, { type: _createStore.ActionTypes.INIT });\n\n if (typeof initialState === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined during initialization. ' + 'If the state passed to the reducer is undefined, you must ' + 'explicitly return the initial state. The initial state may ' + 'not be undefined.');\n }\n\n var type = '@@redux/PROBE_UNKNOWN_ACTION_' + Math.random().toString(36).substring(7).split('').join('.');\n if (typeof reducer(undefined, { type: type }) === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined when probed with a random type. ' + ('Don\\'t try to handle ' + _createStore.ActionTypes.INIT + ' or other actions in \"redux/*\" ') + 'namespace. They are considered private. Instead, you must return the ' + 'current state for any unknown actions, unless it is undefined, ' + 'in which case you must return the initial state, regardless of the ' + 'action type. The initial state may not be undefined.');\n }\n });\n}\n\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\nfunction combineReducers(reducers) {\n var finalReducers = _pick2['default'](reducers, function (val) {\n return typeof val === 'function';\n });\n var sanityError;\n\n try {\n assertReducerSanity(finalReducers);\n } catch (e) {\n sanityError = e;\n }\n\n var defaultState = _mapValues2['default'](finalReducers, function () {\n return undefined;\n });\n\n return function combination(state, action) {\n if (state === undefined) state = defaultState;\n\n if (sanityError) {\n throw sanityError;\n }\n\n var hasChanged = false;\n var finalState = _mapValues2['default'](finalReducers, function (reducer, key) {\n var previousStateForKey = state[key];\n var nextStateForKey = reducer(previousStateForKey, action);\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(key, action);\n throw new Error(errorMessage);\n }\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n return nextStateForKey;\n });\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateKeyWarningMessage(state, finalState, action);\n if (warningMessage) {\n console.error(warningMessage);\n }\n }\n\n return hasChanged ? finalState : state;\n };\n}\n\nmodule.exports = exports['default'];","/**\n * Composes single-argument functions from right to left.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing functions from right to\n * left. For example, compose(f, g, h) is identical to arg => f(g(h(arg))).\n */\n\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = compose;\n\nfunction compose() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n return function (arg) {\n return funcs.reduceRight(function (composed, f) {\n return f(composed);\n }, arg);\n };\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nexports.__esModule = true;\nexports['default'] = isPlainObject;\nvar fnToString = function fnToString(fn) {\n return Function.prototype.toString.call(fn);\n};\nvar objStringValue = fnToString(Object);\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\n\nfunction isPlainObject(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n var proto = typeof obj.constructor === 'function' ? Object.getPrototypeOf(obj) : Object.prototype;\n\n if (proto === null) {\n return true;\n }\n\n var constructor = proto.constructor;\n\n return typeof constructor === 'function' && constructor instanceof constructor && fnToString(constructor) === objStringValue;\n}\n\nmodule.exports = exports['default'];","/**\n * Applies a function to every key-value pair inside an object.\n *\n * @param {Object} obj The source object.\n * @param {Function} fn The mapper function that receives the value and the key.\n * @returns {Object} A new object that contains the mapped values for the keys.\n */\n\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = mapValues;\n\nfunction mapValues(obj, fn) {\n return Object.keys(obj).reduce(function (result, key) {\n result[key] = fn(obj[key], key);\n return result;\n }, {});\n}\n\nmodule.exports = exports[\"default\"];","/**\n * Picks key-value pairs from an object where values satisfy a predicate.\n *\n * @param {Object} obj The object to pick from.\n * @param {Function} fn The predicate the values must satisfy to be copied.\n * @returns {Object} The object with the values that satisfied the predicate.\n */\n\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = pick;\n\nfunction pick(obj, fn) {\n return Object.keys(obj).reduce(function (result, key) {\n if (fn(obj[key])) {\n result[key] = obj[key];\n }\n return result;\n }, {});\n}\n\nmodule.exports = exports[\"default\"];","var createElement = require(\"./vdom/create-element.js\")\n\nmodule.exports = createElement\n","var diff = require(\"./vtree/diff.js\")\n\nmodule.exports = diff\n","var patch = require(\"./vdom/patch.js\")\n\nmodule.exports = patch\n","var isObject = require(\"is-object\")\nvar isHook = require(\"../vnode/is-vhook.js\")\n\nmodule.exports = applyProperties\n\nfunction applyProperties(node, props, previous) {\n for (var propName in props) {\n var propValue = props[propName]\n\n if (propValue === undefined) {\n removeProperty(node, propName, propValue, previous);\n } else if (isHook(propValue)) {\n removeProperty(node, propName, propValue, previous)\n if (propValue.hook) {\n propValue.hook(node,\n propName,\n previous ? previous[propName] : undefined)\n }\n } else {\n if (isObject(propValue)) {\n patchObject(node, props, previous, propName, propValue);\n } else {\n node[propName] = propValue\n }\n }\n }\n}\n\nfunction removeProperty(node, propName, propValue, previous) {\n if (previous) {\n var previousValue = previous[propName]\n\n if (!isHook(previousValue)) {\n if (propName === \"attributes\") {\n for (var attrName in previousValue) {\n node.removeAttribute(attrName)\n }\n } else if (propName === \"style\") {\n for (var i in previousValue) {\n node.style[i] = \"\"\n }\n } else if (typeof previousValue === \"string\") {\n node[propName] = \"\"\n } else {\n node[propName] = null\n }\n } else if (previousValue.unhook) {\n previousValue.unhook(node, propName, propValue)\n }\n }\n}\n\nfunction patchObject(node, props, previous, propName, propValue) {\n var previousValue = previous ? previous[propName] : undefined\n\n // Set attributes\n if (propName === \"attributes\") {\n for (var attrName in propValue) {\n var attrValue = propValue[attrName]\n\n if (attrValue === undefined) {\n node.removeAttribute(attrName)\n } else {\n node.setAttribute(attrName, attrValue)\n }\n }\n\n return\n }\n\n if(previousValue && isObject(previousValue) &&\n getPrototype(previousValue) !== getPrototype(propValue)) {\n node[propName] = propValue\n return\n }\n\n if (!isObject(node[propName])) {\n node[propName] = {}\n }\n\n var replacer = propName === \"style\" ? \"\" : undefined\n\n for (var k in propValue) {\n var value = propValue[k]\n node[propName][k] = (value === undefined) ? replacer : value\n }\n}\n\nfunction getPrototype(value) {\n if (Object.getPrototypeOf) {\n return Object.getPrototypeOf(value)\n } else if (value.__proto__) {\n return value.__proto__\n } else if (value.constructor) {\n return value.constructor.prototype\n }\n}\n","var document = require(\"global/document\")\n\nvar applyProperties = require(\"./apply-properties\")\n\nvar isVNode = require(\"../vnode/is-vnode.js\")\nvar isVText = require(\"../vnode/is-vtext.js\")\nvar isWidget = require(\"../vnode/is-widget.js\")\nvar handleThunk = require(\"../vnode/handle-thunk.js\")\n\nmodule.exports = createElement\n\nfunction createElement(vnode, opts) {\n var doc = opts ? opts.document || document : document\n var warn = opts ? opts.warn : null\n\n vnode = handleThunk(vnode).a\n\n if (isWidget(vnode)) {\n return vnode.init()\n } else if (isVText(vnode)) {\n return doc.createTextNode(vnode.text)\n } else if (!isVNode(vnode)) {\n if (warn) {\n warn(\"Item is not a valid virtual dom node\", vnode)\n }\n return null\n }\n\n var node = (vnode.namespace === null) ?\n doc.createElement(vnode.tagName) :\n doc.createElementNS(vnode.namespace, vnode.tagName)\n\n var props = vnode.properties\n applyProperties(node, props)\n\n var children = vnode.children\n\n for (var i = 0; i < children.length; i++) {\n var childNode = createElement(children[i], opts)\n if (childNode) {\n node.appendChild(childNode)\n }\n }\n\n return node\n}\n","// Maps a virtual DOM tree onto a real DOM tree in an efficient manner.\n// We don't want to read all of the DOM nodes in the tree so we use\n// the in-order tree indexing to eliminate recursion down certain branches.\n// We only recurse into a DOM node if we know that it contains a child of\n// interest.\n\nvar noChild = {}\n\nmodule.exports = domIndex\n\nfunction domIndex(rootNode, tree, indices, nodes) {\n if (!indices || indices.length === 0) {\n return {}\n } else {\n indices.sort(ascending)\n return recurse(rootNode, tree, indices, nodes, 0)\n }\n}\n\nfunction recurse(rootNode, tree, indices, nodes, rootIndex) {\n nodes = nodes || {}\n\n\n if (rootNode) {\n if (indexInRange(indices, rootIndex, rootIndex)) {\n nodes[rootIndex] = rootNode\n }\n\n var vChildren = tree.children\n\n if (vChildren) {\n\n var childNodes = rootNode.childNodes\n\n for (var i = 0; i < tree.children.length; i++) {\n rootIndex += 1\n\n var vChild = vChildren[i] || noChild\n var nextIndex = rootIndex + (vChild.count || 0)\n\n // skip recursion down the tree if there are no nodes down here\n if (indexInRange(indices, rootIndex, nextIndex)) {\n recurse(childNodes[i], vChild, indices, nodes, rootIndex)\n }\n\n rootIndex = nextIndex\n }\n }\n }\n\n return nodes\n}\n\n// Binary search for an index in the interval [left, right]\nfunction indexInRange(indices, left, right) {\n if (indices.length === 0) {\n return false\n }\n\n var minIndex = 0\n var maxIndex = indices.length - 1\n var currentIndex\n var currentItem\n\n while (minIndex <= maxIndex) {\n currentIndex = ((maxIndex + minIndex) / 2) >> 0\n currentItem = indices[currentIndex]\n\n if (minIndex === maxIndex) {\n return currentItem >= left && currentItem <= right\n } else if (currentItem < left) {\n minIndex = currentIndex + 1\n } else if (currentItem > right) {\n maxIndex = currentIndex - 1\n } else {\n return true\n }\n }\n\n return false;\n}\n\nfunction ascending(a, b) {\n return a > b ? 1 : -1\n}\n","var applyProperties = require(\"./apply-properties\")\n\nvar isWidget = require(\"../vnode/is-widget.js\")\nvar VPatch = require(\"../vnode/vpatch.js\")\n\nvar updateWidget = require(\"./update-widget\")\n\nmodule.exports = applyPatch\n\nfunction applyPatch(vpatch, domNode, renderOptions) {\n var type = vpatch.type\n var vNode = vpatch.vNode\n var patch = vpatch.patch\n\n switch (type) {\n case VPatch.REMOVE:\n return removeNode(domNode, vNode)\n case VPatch.INSERT:\n return insertNode(domNode, patch, renderOptions)\n case VPatch.VTEXT:\n return stringPatch(domNode, vNode, patch, renderOptions)\n case VPatch.WIDGET:\n return widgetPatch(domNode, vNode, patch, renderOptions)\n case VPatch.VNODE:\n return vNodePatch(domNode, vNode, patch, renderOptions)\n case VPatch.ORDER:\n reorderChildren(domNode, patch)\n return domNode\n case VPatch.PROPS:\n applyProperties(domNode, patch, vNode.properties)\n return domNode\n case VPatch.THUNK:\n return replaceRoot(domNode,\n renderOptions.patch(domNode, patch, renderOptions))\n default:\n return domNode\n }\n}\n\nfunction removeNode(domNode, vNode) {\n var parentNode = domNode.parentNode\n\n if (parentNode) {\n parentNode.removeChild(domNode)\n }\n\n destroyWidget(domNode, vNode);\n\n return null\n}\n\nfunction insertNode(parentNode, vNode, renderOptions) {\n var newNode = renderOptions.render(vNode, renderOptions)\n\n if (parentNode) {\n parentNode.appendChild(newNode)\n }\n\n return parentNode\n}\n\nfunction stringPatch(domNode, leftVNode, vText, renderOptions) {\n var newNode\n\n if (domNode.nodeType === 3) {\n domNode.replaceData(0, domNode.length, vText.text)\n newNode = domNode\n } else {\n var parentNode = domNode.parentNode\n newNode = renderOptions.render(vText, renderOptions)\n\n if (parentNode && newNode !== domNode) {\n parentNode.replaceChild(newNode, domNode)\n }\n }\n\n return newNode\n}\n\nfunction widgetPatch(domNode, leftVNode, widget, renderOptions) {\n var updating = updateWidget(leftVNode, widget)\n var newNode\n\n if (updating) {\n newNode = widget.update(leftVNode, domNode) || domNode\n } else {\n newNode = renderOptions.render(widget, renderOptions)\n }\n\n var parentNode = domNode.parentNode\n\n if (parentNode && newNode !== domNode) {\n parentNode.replaceChild(newNode, domNode)\n }\n\n if (!updating) {\n destroyWidget(domNode, leftVNode)\n }\n\n return newNode\n}\n\nfunction vNodePatch(domNode, leftVNode, vNode, renderOptions) {\n var parentNode = domNode.parentNode\n var newNode = renderOptions.render(vNode, renderOptions)\n\n if (parentNode && newNode !== domNode) {\n parentNode.replaceChild(newNode, domNode)\n }\n\n return newNode\n}\n\nfunction destroyWidget(domNode, w) {\n if (typeof w.destroy === \"function\" && isWidget(w)) {\n w.destroy(domNode)\n }\n}\n\nfunction reorderChildren(domNode, moves) {\n var childNodes = domNode.childNodes\n var keyMap = {}\n var node\n var remove\n var insert\n\n for (var i = 0; i < moves.removes.length; i++) {\n remove = moves.removes[i]\n node = childNodes[remove.from]\n if (remove.key) {\n keyMap[remove.key] = node\n }\n domNode.removeChild(node)\n }\n\n var length = childNodes.length\n for (var j = 0; j < moves.inserts.length; j++) {\n insert = moves.inserts[j]\n node = keyMap[insert.key]\n // this is the weirdest bug i've ever seen in webkit\n domNode.insertBefore(node, insert.to >= length++ ? null : childNodes[insert.to])\n }\n}\n\nfunction replaceRoot(oldRoot, newRoot) {\n if (oldRoot && newRoot && oldRoot !== newRoot && oldRoot.parentNode) {\n oldRoot.parentNode.replaceChild(newRoot, oldRoot)\n }\n\n return newRoot;\n}\n","var document = require(\"global/document\")\nvar isArray = require(\"x-is-array\")\n\nvar render = require(\"./create-element\")\nvar domIndex = require(\"./dom-index\")\nvar patchOp = require(\"./patch-op\")\nmodule.exports = patch\n\nfunction patch(rootNode, patches, renderOptions) {\n renderOptions = renderOptions || {}\n renderOptions.patch = renderOptions.patch && renderOptions.patch !== patch\n ? renderOptions.patch\n : patchRecursive\n renderOptions.render = renderOptions.render || render\n\n return renderOptions.patch(rootNode, patches, renderOptions)\n}\n\nfunction patchRecursive(rootNode, patches, renderOptions) {\n var indices = patchIndices(patches)\n\n if (indices.length === 0) {\n return rootNode\n }\n\n var index = domIndex(rootNode, patches.a, indices)\n var ownerDocument = rootNode.ownerDocument\n\n if (!renderOptions.document && ownerDocument !== document) {\n renderOptions.document = ownerDocument\n }\n\n for (var i = 0; i < indices.length; i++) {\n var nodeIndex = indices[i]\n rootNode = applyPatch(rootNode,\n index[nodeIndex],\n patches[nodeIndex],\n renderOptions)\n }\n\n return rootNode\n}\n\nfunction applyPatch(rootNode, domNode, patchList, renderOptions) {\n if (!domNode) {\n return rootNode\n }\n\n var newNode\n\n if (isArray(patchList)) {\n for (var i = 0; i < patchList.length; i++) {\n newNode = patchOp(patchList[i], domNode, renderOptions)\n\n if (domNode === rootNode) {\n rootNode = newNode\n }\n }\n } else {\n newNode = patchOp(patchList, domNode, renderOptions)\n\n if (domNode === rootNode) {\n rootNode = newNode\n }\n }\n\n return rootNode\n}\n\nfunction patchIndices(patches) {\n var indices = []\n\n for (var key in patches) {\n if (key !== \"a\") {\n indices.push(Number(key))\n }\n }\n\n return indices\n}\n","var isWidget = require(\"../vnode/is-widget.js\")\n\nmodule.exports = updateWidget\n\nfunction updateWidget(a, b) {\n if (isWidget(a) && isWidget(b)) {\n if (\"name\" in a && \"name\" in b) {\n return a.id === b.id\n } else {\n return a.init === b.init\n }\n }\n\n return false\n}\n","var isVNode = require(\"./is-vnode\")\nvar isVText = require(\"./is-vtext\")\nvar isWidget = require(\"./is-widget\")\nvar isThunk = require(\"./is-thunk\")\n\nmodule.exports = handleThunk\n\nfunction handleThunk(a, b) {\n var renderedA = a\n var renderedB = b\n\n if (isThunk(b)) {\n renderedB = renderThunk(b, a)\n }\n\n if (isThunk(a)) {\n renderedA = renderThunk(a, null)\n }\n\n return {\n a: renderedA,\n b: renderedB\n }\n}\n\nfunction renderThunk(thunk, previous) {\n var renderedThunk = thunk.vnode\n\n if (!renderedThunk) {\n renderedThunk = thunk.vnode = thunk.render(previous)\n }\n\n if (!(isVNode(renderedThunk) ||\n isVText(renderedThunk) ||\n isWidget(renderedThunk))) {\n throw new Error(\"thunk did not return a valid node\");\n }\n\n return renderedThunk\n}\n","module.exports = isThunk\r\n\r\nfunction isThunk(t) {\r\n return t && t.type === \"Thunk\"\r\n}\r\n","module.exports = isHook\n\nfunction isHook(hook) {\n return hook &&\n (typeof hook.hook === \"function\" && !hook.hasOwnProperty(\"hook\") ||\n typeof hook.unhook === \"function\" && !hook.hasOwnProperty(\"unhook\"))\n}\n","var version = require(\"./version\")\n\nmodule.exports = isVirtualNode\n\nfunction isVirtualNode(x) {\n return x && x.type === \"VirtualNode\" && x.version === version\n}\n","var version = require(\"./version\")\n\nmodule.exports = isVirtualText\n\nfunction isVirtualText(x) {\n return x && x.type === \"VirtualText\" && x.version === version\n}\n","module.exports = isWidget\n\nfunction isWidget(w) {\n return w && w.type === \"Widget\"\n}\n","module.exports = \"2\"\n","var version = require(\"./version\")\n\nVirtualPatch.NONE = 0\nVirtualPatch.VTEXT = 1\nVirtualPatch.VNODE = 2\nVirtualPatch.WIDGET = 3\nVirtualPatch.PROPS = 4\nVirtualPatch.ORDER = 5\nVirtualPatch.INSERT = 6\nVirtualPatch.REMOVE = 7\nVirtualPatch.THUNK = 8\n\nmodule.exports = VirtualPatch\n\nfunction VirtualPatch(type, vNode, patch) {\n this.type = Number(type)\n this.vNode = vNode\n this.patch = patch\n}\n\nVirtualPatch.prototype.version = version\nVirtualPatch.prototype.type = \"VirtualPatch\"\n","var isObject = require(\"is-object\")\nvar isHook = require(\"../vnode/is-vhook\")\n\nmodule.exports = diffProps\n\nfunction diffProps(a, b) {\n var diff\n\n for (var aKey in a) {\n if (!(aKey in b)) {\n diff = diff || {}\n diff[aKey] = undefined\n }\n\n var aValue = a[aKey]\n var bValue = b[aKey]\n\n if (aValue === bValue) {\n continue\n } else if (isObject(aValue) && isObject(bValue)) {\n if (getPrototype(bValue) !== getPrototype(aValue)) {\n diff = diff || {}\n diff[aKey] = bValue\n } else if (isHook(bValue)) {\n diff = diff || {}\n diff[aKey] = bValue\n } else {\n var objectDiff = diffProps(aValue, bValue)\n if (objectDiff) {\n diff = diff || {}\n diff[aKey] = objectDiff\n }\n }\n } else {\n diff = diff || {}\n diff[aKey] = bValue\n }\n }\n\n for (var bKey in b) {\n if (!(bKey in a)) {\n diff = diff || {}\n diff[bKey] = b[bKey]\n }\n }\n\n return diff\n}\n\nfunction getPrototype(value) {\n if (Object.getPrototypeOf) {\n return Object.getPrototypeOf(value)\n } else if (value.__proto__) {\n return value.__proto__\n } else if (value.constructor) {\n return value.constructor.prototype\n }\n}\n","var isArray = require(\"x-is-array\")\n\nvar VPatch = require(\"../vnode/vpatch\")\nvar isVNode = require(\"../vnode/is-vnode\")\nvar isVText = require(\"../vnode/is-vtext\")\nvar isWidget = require(\"../vnode/is-widget\")\nvar isThunk = require(\"../vnode/is-thunk\")\nvar handleThunk = require(\"../vnode/handle-thunk\")\n\nvar diffProps = require(\"./diff-props\")\n\nmodule.exports = diff\n\nfunction diff(a, b) {\n var patch = { a: a }\n walk(a, b, patch, 0)\n return patch\n}\n\nfunction walk(a, b, patch, index) {\n if (a === b) {\n return\n }\n\n var apply = patch[index]\n var applyClear = false\n\n if (isThunk(a) || isThunk(b)) {\n thunks(a, b, patch, index)\n } else if (b == null) {\n\n // If a is a widget we will add a remove patch for it\n // Otherwise any child widgets/hooks must be destroyed.\n // This prevents adding two remove patches for a widget.\n if (!isWidget(a)) {\n clearState(a, patch, index)\n apply = patch[index]\n }\n\n apply = appendPatch(apply, new VPatch(VPatch.REMOVE, a, b))\n } else if (isVNode(b)) {\n if (isVNode(a)) {\n if (a.tagName === b.tagName &&\n a.namespace === b.namespace &&\n a.key === b.key) {\n var propsPatch = diffProps(a.properties, b.properties)\n if (propsPatch) {\n apply = appendPatch(apply,\n new VPatch(VPatch.PROPS, a, propsPatch))\n }\n apply = diffChildren(a, b, patch, apply, index)\n } else {\n apply = appendPatch(apply, new VPatch(VPatch.VNODE, a, b))\n applyClear = true\n }\n } else {\n apply = appendPatch(apply, new VPatch(VPatch.VNODE, a, b))\n applyClear = true\n }\n } else if (isVText(b)) {\n if (!isVText(a)) {\n apply = appendPatch(apply, new VPatch(VPatch.VTEXT, a, b))\n applyClear = true\n } else if (a.text !== b.text) {\n apply = appendPatch(apply, new VPatch(VPatch.VTEXT, a, b))\n }\n } else if (isWidget(b)) {\n if (!isWidget(a)) {\n applyClear = true\n }\n\n apply = appendPatch(apply, new VPatch(VPatch.WIDGET, a, b))\n }\n\n if (apply) {\n patch[index] = apply\n }\n\n if (applyClear) {\n clearState(a, patch, index)\n }\n}\n\nfunction diffChildren(a, b, patch, apply, index) {\n var aChildren = a.children\n var orderedSet = reorder(aChildren, b.children)\n var bChildren = orderedSet.children\n\n var aLen = aChildren.length\n var bLen = bChildren.length\n var len = aLen > bLen ? aLen : bLen\n\n for (var i = 0; i < len; i++) {\n var leftNode = aChildren[i]\n var rightNode = bChildren[i]\n index += 1\n\n if (!leftNode) {\n if (rightNode) {\n // Excess nodes in b need to be added\n apply = appendPatch(apply,\n new VPatch(VPatch.INSERT, null, rightNode))\n }\n } else {\n walk(leftNode, rightNode, patch, index)\n }\n\n if (isVNode(leftNode) && leftNode.count) {\n index += leftNode.count\n }\n }\n\n if (orderedSet.moves) {\n // Reorder nodes last\n apply = appendPatch(apply, new VPatch(\n VPatch.ORDER,\n a,\n orderedSet.moves\n ))\n }\n\n return apply\n}\n\nfunction clearState(vNode, patch, index) {\n // TODO: Make this a single walk, not two\n unhook(vNode, patch, index)\n destroyWidgets(vNode, patch, index)\n}\n\n// Patch records for all destroyed widgets must be added because we need\n// a DOM node reference for the destroy function\nfunction destroyWidgets(vNode, patch, index) {\n if (isWidget(vNode)) {\n if (typeof vNode.destroy === \"function\") {\n patch[index] = appendPatch(\n patch[index],\n new VPatch(VPatch.REMOVE, vNode, null)\n )\n }\n } else if (isVNode(vNode) && (vNode.hasWidgets || vNode.hasThunks)) {\n var children = vNode.children\n var len = children.length\n for (var i = 0; i < len; i++) {\n var child = children[i]\n index += 1\n\n destroyWidgets(child, patch, index)\n\n if (isVNode(child) && child.count) {\n index += child.count\n }\n }\n } else if (isThunk(vNode)) {\n thunks(vNode, null, patch, index)\n }\n}\n\n// Create a sub-patch for thunks\nfunction thunks(a, b, patch, index) {\n var nodes = handleThunk(a, b)\n var thunkPatch = diff(nodes.a, nodes.b)\n if (hasPatches(thunkPatch)) {\n patch[index] = new VPatch(VPatch.THUNK, null, thunkPatch)\n }\n}\n\nfunction hasPatches(patch) {\n for (var index in patch) {\n if (index !== \"a\") {\n return true\n }\n }\n\n return false\n}\n\n// Execute hooks when two nodes are identical\nfunction unhook(vNode, patch, index) {\n if (isVNode(vNode)) {\n if (vNode.hooks) {\n patch[index] = appendPatch(\n patch[index],\n new VPatch(\n VPatch.PROPS,\n vNode,\n undefinedKeys(vNode.hooks)\n )\n )\n }\n\n if (vNode.descendantHooks || vNode.hasThunks) {\n var children = vNode.children\n var len = children.length\n for (var i = 0; i < len; i++) {\n var child = children[i]\n index += 1\n\n unhook(child, patch, index)\n\n if (isVNode(child) && child.count) {\n index += child.count\n }\n }\n }\n } else if (isThunk(vNode)) {\n thunks(vNode, null, patch, index)\n }\n}\n\nfunction undefinedKeys(obj) {\n var result = {}\n\n for (var key in obj) {\n result[key] = undefined\n }\n\n return result\n}\n\n// List diff, naive left to right reordering\nfunction reorder(aChildren, bChildren) {\n // O(M) time, O(M) memory\n var bChildIndex = keyIndex(bChildren)\n var bKeys = bChildIndex.keys\n var bFree = bChildIndex.free\n\n if (bFree.length === bChildren.length) {\n return {\n children: bChildren,\n moves: null\n }\n }\n\n // O(N) time, O(N) memory\n var aChildIndex = keyIndex(aChildren)\n var aKeys = aChildIndex.keys\n var aFree = aChildIndex.free\n\n if (aFree.length === aChildren.length) {\n return {\n children: bChildren,\n moves: null\n }\n }\n\n // O(MAX(N, M)) memory\n var newChildren = []\n\n var freeIndex = 0\n var freeCount = bFree.length\n var deletedItems = 0\n\n // Iterate through a and match a node in b\n // O(N) time,\n for (var i = 0 ; i < aChildren.length; i++) {\n var aItem = aChildren[i]\n var itemIndex\n\n if (aItem.key) {\n if (bKeys.hasOwnProperty(aItem.key)) {\n // Match up the old keys\n itemIndex = bKeys[aItem.key]\n newChildren.push(bChildren[itemIndex])\n\n } else {\n // Remove old keyed items\n itemIndex = i - deletedItems++\n newChildren.push(null)\n }\n } else {\n // Match the item in a with the next free item in b\n if (freeIndex < freeCount) {\n itemIndex = bFree[freeIndex++]\n newChildren.push(bChildren[itemIndex])\n } else {\n // There are no free items in b to match with\n // the free items in a, so the extra free nodes\n // are deleted.\n itemIndex = i - deletedItems++\n newChildren.push(null)\n }\n }\n }\n\n var lastFreeIndex = freeIndex >= bFree.length ?\n bChildren.length :\n bFree[freeIndex]\n\n // Iterate through b and append any new keys\n // O(M) time\n for (var j = 0; j < bChildren.length; j++) {\n var newItem = bChildren[j]\n\n if (newItem.key) {\n if (!aKeys.hasOwnProperty(newItem.key)) {\n // Add any new keyed items\n // We are adding new items to the end and then sorting them\n // in place. In future we should insert new items in place.\n newChildren.push(newItem)\n }\n } else if (j >= lastFreeIndex) {\n // Add any leftover non-keyed items\n newChildren.push(newItem)\n }\n }\n\n var simulate = newChildren.slice()\n var simulateIndex = 0\n var removes = []\n var inserts = []\n var simulateItem\n\n for (var k = 0; k < bChildren.length;) {\n var wantedItem = bChildren[k]\n simulateItem = simulate[simulateIndex]\n\n // remove items\n while (simulateItem === null && simulate.length) {\n removes.push(remove(simulate, simulateIndex, null))\n simulateItem = simulate[simulateIndex]\n }\n\n if (!simulateItem || simulateItem.key !== wantedItem.key) {\n // if we need a key in this position...\n if (wantedItem.key) {\n if (simulateItem && simulateItem.key) {\n // if an insert doesn't put this key in place, it needs to move\n if (bKeys[simulateItem.key] !== k + 1) {\n removes.push(remove(simulate, simulateIndex, simulateItem.key))\n simulateItem = simulate[simulateIndex]\n // if the remove didn't put the wanted item in place, we need to insert it\n if (!simulateItem || simulateItem.key !== wantedItem.key) {\n inserts.push({key: wantedItem.key, to: k})\n }\n // items are matching, so skip ahead\n else {\n simulateIndex++\n }\n }\n else {\n inserts.push({key: wantedItem.key, to: k})\n }\n }\n else {\n inserts.push({key: wantedItem.key, to: k})\n }\n k++\n }\n // a key in simulate has no matching wanted key, remove it\n else if (simulateItem && simulateItem.key) {\n removes.push(remove(simulate, simulateIndex, simulateItem.key))\n }\n }\n else {\n simulateIndex++\n k++\n }\n }\n\n // remove all the remaining nodes from simulate\n while(simulateIndex < simulate.length) {\n simulateItem = simulate[simulateIndex]\n removes.push(remove(simulate, simulateIndex, simulateItem && simulateItem.key))\n }\n\n // If the only moves we have are deletes then we can just\n // let the delete patch remove these items.\n if (removes.length === deletedItems && !inserts.length) {\n return {\n children: newChildren,\n moves: null\n }\n }\n\n return {\n children: newChildren,\n moves: {\n removes: removes,\n inserts: inserts\n }\n }\n}\n\nfunction remove(arr, index, key) {\n arr.splice(index, 1)\n\n return {\n from: index,\n key: key\n }\n}\n\nfunction keyIndex(children) {\n var keys = {}\n var free = []\n var length = children.length\n\n for (var i = 0; i < length; i++) {\n var child = children[i]\n\n if (child.key) {\n keys[child.key] = i\n } else {\n free.push(i)\n }\n }\n\n return {\n keys: keys, // A hash of key name to index\n free: free // An array of unkeyed item indices\n }\n}\n\nfunction appendPatch(apply, patch) {\n if (apply) {\n if (isArray(apply)) {\n apply.push(patch)\n } else {\n apply = [apply, patch]\n }\n\n return apply\n } else {\n return patch\n }\n}\n","var hiddenStore = require('./hidden-store.js');\n\nmodule.exports = createStore;\n\nfunction createStore() {\n var key = {};\n\n return function (obj) {\n if ((typeof obj !== 'object' || obj === null) &&\n typeof obj !== 'function'\n ) {\n throw new Error('Weakmap-shim: Key must be object')\n }\n\n var store = obj.valueOf(key);\n return store && store.identity === key ?\n store : hiddenStore(obj, key);\n };\n}\n","module.exports = hiddenStore;\n\nfunction hiddenStore(obj, key) {\n var store = { identity: key };\n var valueOf = obj.valueOf;\n\n Object.defineProperty(obj, \"valueOf\", {\n value: function (value) {\n return value !== key ?\n valueOf.apply(this, arguments) : store;\n },\n writable: true\n });\n\n return store;\n}\n","var nativeIsArray = Array.isArray\nvar toString = Object.prototype.toString\n\nmodule.exports = nativeIsArray || isArray\n\nfunction isArray(obj) {\n return toString.call(obj) === \"[object Array]\"\n}\n"],"sourceRoot":"/source/"}
\No newline at end of file