elements don't support innerText even when does.\n\t contentKey = 'textContent' in document.documentElement ? 'textContent' : 'innerText';\n\t }\n\t return contentKey;\n\t}\n\t\n\tmodule.exports = getTextContentAccessor;\n\n/***/ },\n/* 272 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule getVendorPrefixedEventName\n\t */\n\t\n\t'use strict';\n\t\n\tvar ExecutionEnvironment = __webpack_require__(13);\n\t\n\t/**\n\t * Generate a mapping of standard vendor prefixes using the defined style property and event name.\n\t *\n\t * @param {string} styleProp\n\t * @param {string} eventName\n\t * @returns {object}\n\t */\n\tfunction makePrefixMap(styleProp, eventName) {\n\t var prefixes = {};\n\t\n\t prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n\t prefixes['Webkit' + styleProp] = 'webkit' + eventName;\n\t prefixes['Moz' + styleProp] = 'moz' + eventName;\n\t prefixes['ms' + styleProp] = 'MS' + eventName;\n\t prefixes['O' + styleProp] = 'o' + eventName.toLowerCase();\n\t\n\t return prefixes;\n\t}\n\t\n\t/**\n\t * A list of event names to a configurable list of vendor prefixes.\n\t */\n\tvar vendorPrefixes = {\n\t animationend: makePrefixMap('Animation', 'AnimationEnd'),\n\t animationiteration: makePrefixMap('Animation', 'AnimationIteration'),\n\t animationstart: makePrefixMap('Animation', 'AnimationStart'),\n\t transitionend: makePrefixMap('Transition', 'TransitionEnd')\n\t};\n\t\n\t/**\n\t * Event names that have already been detected and prefixed (if applicable).\n\t */\n\tvar prefixedEventNames = {};\n\t\n\t/**\n\t * Element to check for prefixes on.\n\t */\n\tvar style = {};\n\t\n\t/**\n\t * Bootstrap if a DOM exists.\n\t */\n\tif (ExecutionEnvironment.canUseDOM) {\n\t style = document.createElement('div').style;\n\t\n\t // On some platforms, in particular some releases of Android 4.x,\n\t // the un-prefixed \"animation\" and \"transition\" properties are defined on the\n\t // style object but the events that fire will still be prefixed, so we need\n\t // to check if the un-prefixed events are usable, and if not remove them from the map.\n\t if (!('AnimationEvent' in window)) {\n\t delete vendorPrefixes.animationend.animation;\n\t delete vendorPrefixes.animationiteration.animation;\n\t delete vendorPrefixes.animationstart.animation;\n\t }\n\t\n\t // Same as above\n\t if (!('TransitionEvent' in window)) {\n\t delete vendorPrefixes.transitionend.transition;\n\t }\n\t}\n\t\n\t/**\n\t * Attempts to determine the correct vendor prefixed event name.\n\t *\n\t * @param {string} eventName\n\t * @returns {string}\n\t */\n\tfunction getVendorPrefixedEventName(eventName) {\n\t if (prefixedEventNames[eventName]) {\n\t return prefixedEventNames[eventName];\n\t } else if (!vendorPrefixes[eventName]) {\n\t return eventName;\n\t }\n\t\n\t var prefixMap = vendorPrefixes[eventName];\n\t\n\t for (var styleProp in prefixMap) {\n\t if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) {\n\t return prefixedEventNames[eventName] = prefixMap[styleProp];\n\t }\n\t }\n\t\n\t return '';\n\t}\n\t\n\tmodule.exports = getVendorPrefixedEventName;\n\n/***/ },\n/* 273 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule instantiateReactComponent\n\t */\n\t\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(6),\n\t _assign = __webpack_require__(8);\n\t\n\tvar ReactCompositeComponent = __webpack_require__(526);\n\tvar ReactEmptyComponent = __webpack_require__(255);\n\tvar ReactHostComponent = __webpack_require__(257);\n\t\n\tvar invariant = __webpack_require__(5);\n\tvar warning = __webpack_require__(7);\n\t\n\t// To avoid a cyclic dependency, we create the final class in this module\n\tvar ReactCompositeComponentWrapper = function (element) {\n\t this.construct(element);\n\t};\n\t_assign(ReactCompositeComponentWrapper.prototype, ReactCompositeComponent.Mixin, {\n\t _instantiateReactComponent: instantiateReactComponent\n\t});\n\t\n\tfunction getDeclarationErrorAddendum(owner) {\n\t if (owner) {\n\t var name = owner.getName();\n\t if (name) {\n\t return ' Check the render method of `' + name + '`.';\n\t }\n\t }\n\t return '';\n\t}\n\t\n\t/**\n\t * Check if the type reference is a known internal type. I.e. not a user\n\t * provided composite type.\n\t *\n\t * @param {function} type\n\t * @return {boolean} Returns true if this is a valid internal type.\n\t */\n\tfunction isInternalComponentType(type) {\n\t return typeof type === 'function' && typeof type.prototype !== 'undefined' && typeof type.prototype.mountComponent === 'function' && typeof type.prototype.receiveComponent === 'function';\n\t}\n\t\n\tvar nextDebugID = 1;\n\t\n\t/**\n\t * Given a ReactNode, create an instance that will actually be mounted.\n\t *\n\t * @param {ReactNode} node\n\t * @param {boolean} shouldHaveDebugID\n\t * @return {object} A new instance of the element's constructor.\n\t * @protected\n\t */\n\tfunction instantiateReactComponent(node, shouldHaveDebugID) {\n\t var instance;\n\t\n\t if (node === null || node === false) {\n\t instance = ReactEmptyComponent.create(instantiateReactComponent);\n\t } else if (typeof node === 'object') {\n\t var element = node;\n\t !(element && (typeof element.type === 'function' || typeof element.type === 'string')) ? false ? invariant(false, 'Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s', element.type == null ? element.type : typeof element.type, getDeclarationErrorAddendum(element._owner)) : _prodInvariant('130', element.type == null ? element.type : typeof element.type, getDeclarationErrorAddendum(element._owner)) : void 0;\n\t\n\t // Special case string values\n\t if (typeof element.type === 'string') {\n\t instance = ReactHostComponent.createInternalComponent(element);\n\t } else if (isInternalComponentType(element.type)) {\n\t // This is temporarily available for custom components that are not string\n\t // representations. I.e. ART. Once those are updated to use the string\n\t // representation, we can drop this code path.\n\t instance = new element.type(element);\n\t\n\t // We renamed this. Allow the old name for compat. :(\n\t if (!instance.getHostNode) {\n\t instance.getHostNode = instance.getNativeNode;\n\t }\n\t } else {\n\t instance = new ReactCompositeComponentWrapper(element);\n\t }\n\t } else if (typeof node === 'string' || typeof node === 'number') {\n\t instance = ReactHostComponent.createInstanceForText(node);\n\t } else {\n\t true ? false ? invariant(false, 'Encountered invalid React node of type %s', typeof node) : _prodInvariant('131', typeof node) : void 0;\n\t }\n\t\n\t if (false) {\n\t process.env.NODE_ENV !== 'production' ? warning(typeof instance.mountComponent === 'function' && typeof instance.receiveComponent === 'function' && typeof instance.getHostNode === 'function' && typeof instance.unmountComponent === 'function', 'Only React Components can be mounted.') : void 0;\n\t }\n\t\n\t // These two fields are used by the DOM and ART diffing algorithms\n\t // respectively. Instead of using expandos on components, we should be\n\t // storing the state needed by the diffing algorithms elsewhere.\n\t instance._mountIndex = 0;\n\t instance._mountImage = null;\n\t\n\t if (false) {\n\t instance._debugID = shouldHaveDebugID ? nextDebugID++ : 0;\n\t }\n\t\n\t // Internal instances should fully constructed at this point, so they should\n\t // not get any new fields added to them at this point.\n\t if (false) {\n\t if (Object.preventExtensions) {\n\t Object.preventExtensions(instance);\n\t }\n\t }\n\t\n\t return instance;\n\t}\n\t\n\tmodule.exports = instantiateReactComponent;\n\n/***/ },\n/* 274 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule isTextInputElement\n\t * \n\t */\n\t\n\t'use strict';\n\t\n\t/**\n\t * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary\n\t */\n\t\n\tvar supportedInputTypes = {\n\t 'color': true,\n\t 'date': true,\n\t 'datetime': true,\n\t 'datetime-local': true,\n\t 'email': true,\n\t 'month': true,\n\t 'number': true,\n\t 'password': true,\n\t 'range': true,\n\t 'search': true,\n\t 'tel': true,\n\t 'text': true,\n\t 'time': true,\n\t 'url': true,\n\t 'week': true\n\t};\n\t\n\tfunction isTextInputElement(elem) {\n\t var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n\t\n\t if (nodeName === 'input') {\n\t return !!supportedInputTypes[elem.type];\n\t }\n\t\n\t if (nodeName === 'textarea') {\n\t return true;\n\t }\n\t\n\t return false;\n\t}\n\t\n\tmodule.exports = isTextInputElement;\n\n/***/ },\n/* 275 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule onlyChild\n\t */\n\t'use strict';\n\t\n\tvar _prodInvariant = __webpack_require__(6);\n\t\n\tvar ReactElement = __webpack_require__(25);\n\t\n\tvar invariant = __webpack_require__(5);\n\t\n\t/**\n\t * Returns the first child in a collection of children and verifies that there\n\t * is only one child in the collection.\n\t *\n\t * See https://facebook.github.io/react/docs/top-level-api.html#react.children.only\n\t *\n\t * The current implementation of this function assumes that a single child gets\n\t * passed without a wrapper, but the purpose of this helper function is to\n\t * abstract away the particular structure of children.\n\t *\n\t * @param {?object} children Child collection structure.\n\t * @return {ReactElement} The first and only `ReactElement` contained in the\n\t * structure.\n\t */\n\tfunction onlyChild(children) {\n\t !ReactElement.isValidElement(children) ? false ? invariant(false, 'React.Children.only expected to receive a single React element child.') : _prodInvariant('143') : void 0;\n\t return children;\n\t}\n\t\n\tmodule.exports = onlyChild;\n\n/***/ },\n/* 276 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @providesModule setTextContent\n\t */\n\t\n\t'use strict';\n\t\n\tvar ExecutionEnvironment = __webpack_require__(13);\n\tvar escapeTextContentForBrowser = __webpack_require__(98);\n\tvar setInnerHTML = __webpack_require__(99);\n\t\n\t/**\n\t * Set the textContent property of a node, ensuring that whitespace is preserved\n\t * even in IE8. innerText is a poor substitute for textContent and, among many\n\t * issues, inserts
instead of the literal newline chars. innerHTML behaves\n\t * as it should.\n\t *\n\t * @param {DOMElement} node\n\t * @param {string} text\n\t * @internal\n\t */\n\tvar setTextContent = function (node, text) {\n\t if (text) {\n\t var firstChild = node.firstChild;\n\t\n\t if (firstChild && firstChild === node.lastChild && firstChild.nodeType === 3) {\n\t firstChild.nodeValue = text;\n\t return;\n\t }\n\t }\n\t node.textContent = text;\n\t};\n\t\n\tif (ExecutionEnvironment.canUseDOM) {\n\t if (!('textContent' in document.documentElement)) {\n\t setTextContent = function (node, text) {\n\t setInnerHTML(node, escapeTextContentForBrowser(text));\n\t };\n\t }\n\t}\n\t\n\tmodule.exports = setTextContent;\n\n/***/ },\n/* 277 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports[\"default\"] = compose;\n\t/**\n\t * Composes single-argument functions from right to left. The rightmost\n\t * function can take multiple arguments as it provides the signature for\n\t * the resulting composite function.\n\t *\n\t * @param {...Function} funcs The functions to compose.\n\t * @returns {Function} A function obtained by composing the argument functions\n\t * from right to left. For example, compose(f, g, h) is identical to doing\n\t * (...args) => f(g(h(...args))).\n\t */\n\t\n\tfunction compose() {\n\t for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n\t funcs[_key] = arguments[_key];\n\t }\n\t\n\t if (funcs.length === 0) {\n\t return function (arg) {\n\t return arg;\n\t };\n\t }\n\t\n\t if (funcs.length === 1) {\n\t return funcs[0];\n\t }\n\t\n\t var last = funcs[funcs.length - 1];\n\t var rest = funcs.slice(0, -1);\n\t return function () {\n\t return rest.reduceRight(function (composed, f) {\n\t return f(composed);\n\t }, last.apply(undefined, arguments));\n\t };\n\t}\n\n/***/ },\n/* 278 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports.ActionTypes = undefined;\n\texports['default'] = createStore;\n\t\n\tvar _isPlainObject = __webpack_require__(106);\n\t\n\tvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\t\n\tvar _symbolObservable = __webpack_require__(582);\n\t\n\tvar _symbolObservable2 = _interopRequireDefault(_symbolObservable);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\t\n\t/**\n\t * These are private action types reserved by Redux.\n\t * For any unknown actions, you must return the current state.\n\t * If the current state is undefined, you must return the initial state.\n\t * Do not reference these action types directly in your code.\n\t */\n\tvar ActionTypes = exports.ActionTypes = {\n\t INIT: '@@redux/INIT'\n\t};\n\t\n\t/**\n\t * Creates a Redux store that holds the state tree.\n\t * The only way to change the data in the store is to call `dispatch()` on it.\n\t *\n\t * There should only be a single store in your app. To specify how different\n\t * parts of the state tree respond to actions, you may combine several reducers\n\t * into a single reducer function by using `combineReducers`.\n\t *\n\t * @param {Function} reducer A function that returns the next state tree, given\n\t * the current state tree and the action to handle.\n\t *\n\t * @param {any} [preloadedState] The initial state. You may optionally specify it\n\t * to hydrate the state from the server in universal apps, or to restore a\n\t * previously serialized user session.\n\t * If you use `combineReducers` to produce the root reducer function, this must be\n\t * an object with the same shape as `combineReducers` keys.\n\t *\n\t * @param {Function} enhancer The store enhancer. You may optionally specify it\n\t * to enhance the store with third-party capabilities such as middleware,\n\t * time travel, persistence, etc. The only store enhancer that ships with Redux\n\t * is `applyMiddleware()`.\n\t *\n\t * @returns {Store} A Redux store that lets you read the state, dispatch actions\n\t * and subscribe to changes.\n\t */\n\tfunction createStore(reducer, preloadedState, enhancer) {\n\t var _ref2;\n\t\n\t if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n\t enhancer = preloadedState;\n\t preloadedState = undefined;\n\t }\n\t\n\t if (typeof enhancer !== 'undefined') {\n\t if (typeof enhancer !== 'function') {\n\t throw new Error('Expected the enhancer to be a function.');\n\t }\n\t\n\t return enhancer(createStore)(reducer, preloadedState);\n\t }\n\t\n\t if (typeof reducer !== 'function') {\n\t throw new Error('Expected the reducer to be a function.');\n\t }\n\t\n\t var currentReducer = reducer;\n\t var currentState = preloadedState;\n\t var currentListeners = [];\n\t var nextListeners = currentListeners;\n\t var isDispatching = false;\n\t\n\t function ensureCanMutateNextListeners() {\n\t if (nextListeners === currentListeners) {\n\t nextListeners = currentListeners.slice();\n\t }\n\t }\n\t\n\t /**\n\t * Reads the state tree managed by the store.\n\t *\n\t * @returns {any} The current state tree of your application.\n\t */\n\t function getState() {\n\t return currentState;\n\t }\n\t\n\t /**\n\t * Adds a change listener. It will be called any time an action is dispatched,\n\t * and some part of the state tree may potentially have changed. You may then\n\t * call `getState()` to read the current state tree inside the callback.\n\t *\n\t * You may call `dispatch()` from a change listener, with the following\n\t * caveats:\n\t *\n\t * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n\t * If you subscribe or unsubscribe while the listeners are being invoked, this\n\t * will not have any effect on the `dispatch()` that is currently in progress.\n\t * However, the next `dispatch()` call, whether nested or not, will use a more\n\t * recent snapshot of the subscription list.\n\t *\n\t * 2. The listener should not expect to see all state changes, as the state\n\t * might have been updated multiple times during a nested `dispatch()` before\n\t * the listener is called. It is, however, guaranteed that all subscribers\n\t * registered before the `dispatch()` started will be called with the latest\n\t * state by the time it exits.\n\t *\n\t * @param {Function} listener A callback to be invoked on every dispatch.\n\t * @returns {Function} A function to remove this change listener.\n\t */\n\t function subscribe(listener) {\n\t if (typeof listener !== 'function') {\n\t throw new Error('Expected listener to be a function.');\n\t }\n\t\n\t var isSubscribed = true;\n\t\n\t ensureCanMutateNextListeners();\n\t nextListeners.push(listener);\n\t\n\t return function unsubscribe() {\n\t if (!isSubscribed) {\n\t return;\n\t }\n\t\n\t isSubscribed = false;\n\t\n\t ensureCanMutateNextListeners();\n\t var index = nextListeners.indexOf(listener);\n\t nextListeners.splice(index, 1);\n\t };\n\t }\n\t\n\t /**\n\t * Dispatches an action. It is the only way to trigger a state change.\n\t *\n\t * The `reducer` function, used to create the store, will be called with the\n\t * current state tree and the given `action`. Its return value will\n\t * be considered the **next** state of the tree, and the change listeners\n\t * will be notified.\n\t *\n\t * The base implementation only supports plain object actions. If you want to\n\t * dispatch a Promise, an Observable, a thunk, or something else, you need to\n\t * wrap your store creating function into the corresponding middleware. For\n\t * example, see the documentation for the `redux-thunk` package. Even the\n\t * middleware will eventually dispatch plain object actions using this method.\n\t *\n\t * @param {Object} action A plain object representing “what changed”. It is\n\t * a good idea to keep actions serializable so you can record and replay user\n\t * sessions, or use the time travelling `redux-devtools`. An action must have\n\t * a `type` property which may not be `undefined`. It is a good idea to use\n\t * string constants for action types.\n\t *\n\t * @returns {Object} For convenience, the same action object you dispatched.\n\t *\n\t * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n\t * return something else (for example, a Promise you can await).\n\t */\n\t function dispatch(action) {\n\t if (!(0, _isPlainObject2['default'])(action)) {\n\t throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n\t }\n\t\n\t if (typeof action.type === 'undefined') {\n\t throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n\t }\n\t\n\t if (isDispatching) {\n\t throw new Error('Reducers may not dispatch actions.');\n\t }\n\t\n\t try {\n\t isDispatching = true;\n\t currentState = currentReducer(currentState, action);\n\t } finally {\n\t isDispatching = false;\n\t }\n\t\n\t var listeners = currentListeners = nextListeners;\n\t for (var i = 0; i < listeners.length; i++) {\n\t listeners[i]();\n\t }\n\t\n\t return action;\n\t }\n\t\n\t /**\n\t * Replaces the reducer currently used by the store to calculate the state.\n\t *\n\t * You might need this if your app implements code splitting and you want to\n\t * load some of the reducers dynamically. You might also need this if you\n\t * implement a hot reloading mechanism for Redux.\n\t *\n\t * @param {Function} nextReducer The reducer for the store to use instead.\n\t * @returns {void}\n\t */\n\t function replaceReducer(nextReducer) {\n\t if (typeof nextReducer !== 'function') {\n\t throw new Error('Expected the nextReducer to be a function.');\n\t }\n\t\n\t currentReducer = nextReducer;\n\t dispatch({ type: ActionTypes.INIT });\n\t }\n\t\n\t /**\n\t * Interoperability point for observable/reactive libraries.\n\t * @returns {observable} A minimal observable of state changes.\n\t * For more information, see the observable proposal:\n\t * https://github.com/zenparsing/es-observable\n\t */\n\t function observable() {\n\t var _ref;\n\t\n\t var outerSubscribe = subscribe;\n\t return _ref = {\n\t /**\n\t * The minimal observable subscription method.\n\t * @param {Object} observer Any object that can be used as an observer.\n\t * The observer object should have a `next` method.\n\t * @returns {subscription} An object with an `unsubscribe` method that can\n\t * be used to unsubscribe the observable from the store, and prevent further\n\t * emission of values from the observable.\n\t */\n\t subscribe: function subscribe(observer) {\n\t if (typeof observer !== 'object') {\n\t throw new TypeError('Expected the observer to be an object.');\n\t }\n\t\n\t function observeState() {\n\t if (observer.next) {\n\t observer.next(getState());\n\t }\n\t }\n\t\n\t observeState();\n\t var unsubscribe = outerSubscribe(observeState);\n\t return { unsubscribe: unsubscribe };\n\t }\n\t }, _ref[_symbolObservable2['default']] = function () {\n\t return this;\n\t }, _ref;\n\t }\n\t\n\t // When a store is created, an \"INIT\" action is dispatched so that every\n\t // reducer returns their initial state. This effectively populates\n\t // the initial state tree.\n\t dispatch({ type: ActionTypes.INIT });\n\t\n\t return _ref2 = {\n\t dispatch: dispatch,\n\t subscribe: subscribe,\n\t getState: getState,\n\t replaceReducer: replaceReducer\n\t }, _ref2[_symbolObservable2['default']] = observable, _ref2;\n\t}\n\n/***/ },\n/* 279 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\texports.__esModule = true;\n\texports['default'] = warning;\n\t/**\n\t * Prints a warning in the console if it exists.\n\t *\n\t * @param {String} message The warning message.\n\t * @returns {void}\n\t */\n\tfunction warning(message) {\n\t /* eslint-disable no-console */\n\t if (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t console.error(message);\n\t }\n\t /* eslint-enable no-console */\n\t try {\n\t // This error was thrown as a convenience so that if you enable\n\t // \"break on all exceptions\" in your console,\n\t // it would pause the execution at this line.\n\t throw new Error(message);\n\t /* eslint-disable no-empty */\n\t } catch (e) {}\n\t /* eslint-enable no-empty */\n\t}\n\n/***/ },\n/* 280 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _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\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactToolbox = __webpack_require__(195);\n\t\n\tvar _styles = __webpack_require__(163);\n\t\n\tvar _styles2 = _interopRequireDefault(_styles);\n\t\n\tvar _errorContainer = __webpack_require__(288);\n\t\n\tvar _errorContainer2 = _interopRequireDefault(_errorContainer);\n\t\n\tvar _nav = __webpack_require__(303);\n\t\n\tvar _nav2 = _interopRequireDefault(_nav);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar App = function (_Component) {\n\t _inherits(App, _Component);\n\t\n\t function App(props) {\n\t _classCallCheck(this, App);\n\t\n\t var _this = _possibleConstructorReturn(this, (App.__proto__ || Object.getPrototypeOf(App)).call(this, props));\n\t\n\t _this.onOverlayClick = function () {\n\t return _this.setState({ drawerActive: false });\n\t };\n\t\n\t _this.state = { drawerActive: false };\n\t\n\t _this.toggleDrawerActive = function () {\n\t _this.setState({ drawerActive: !_this.state.drawerActive });\n\t };\n\t return _this;\n\t }\n\t\n\t _createClass(App, [{\n\t key: 'render',\n\t value: function render() {\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: _styles2.default.container },\n\t _react2.default.createElement(_reactToolbox.AppBar, { title: 'Unleash Admin', leftIcon: 'menu', onLeftIconClick: this.toggleDrawerActive, className: _styles2.default.appBar }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: _styles2.default.container, style: { top: '6.4rem' } },\n\t _react2.default.createElement(\n\t _reactToolbox.Layout,\n\t null,\n\t _react2.default.createElement(\n\t _reactToolbox.NavDrawer,\n\t { active: this.state.drawerActive, permanentAt: 'sm', onOverlayClick: this.onOverlayClick },\n\t _react2.default.createElement(_nav2.default, null)\n\t ),\n\t _react2.default.createElement(\n\t _reactToolbox.Panel,\n\t { scrollY: true },\n\t _react2.default.createElement(\n\t 'div',\n\t { style: { padding: '1.8rem' } },\n\t this.props.children\n\t )\n\t ),\n\t _react2.default.createElement(_errorContainer2.default, null)\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return App;\n\t}(_react.Component);\n\t\n\texports.default = App;\n\t;\n\n/***/ },\n/* 281 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _reactRedux = __webpack_require__(14);\n\t\n\tvar _archiveListComponent = __webpack_require__(282);\n\t\n\tvar _archiveListComponent2 = _interopRequireDefault(_archiveListComponent);\n\t\n\tvar _archiveActions = __webpack_require__(155);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t var archive = state.archive.get('list').toArray();\n\t\n\t return {\n\t archive: archive\n\t };\n\t};\n\t\n\tvar ArchiveListContainer = (0, _reactRedux.connect)(mapStateToProps, { fetchArchive: _archiveActions.fetchArchive, revive: _archiveActions.revive })(_archiveListComponent2.default);\n\t\n\texports.default = ArchiveListContainer;\n\n/***/ },\n/* 282 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _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\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _list = __webpack_require__(27);\n\t\n\tvar _font_icon = __webpack_require__(55);\n\t\n\tvar _font_icon2 = _interopRequireDefault(_font_icon);\n\t\n\tvar _chip = __webpack_require__(54);\n\t\n\tvar _chip2 = _interopRequireDefault(_chip);\n\t\n\tvar _switch = __webpack_require__(64);\n\t\n\tvar _switch2 = _interopRequireDefault(_switch);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar ArchivedFeature = function ArchivedFeature(_ref) {\n\t var feature = _ref.feature,\n\t revive = _ref.revive;\n\t var name = feature.name,\n\t description = feature.description,\n\t enabled = feature.enabled,\n\t strategies = feature.strategies;\n\t\n\t var actions = [_react2.default.createElement(\n\t 'div',\n\t null,\n\t strategies && strategies.map(function (s) {\n\t return _react2.default.createElement(\n\t _chip2.default,\n\t null,\n\t _react2.default.createElement(\n\t 'small',\n\t null,\n\t s.name\n\t )\n\t );\n\t })\n\t ), _react2.default.createElement(_font_icon2.default, { style: { cursor: 'pointer' }, value: 'restore', onClick: function onClick() {\n\t return revive(feature);\n\t } })];\n\t\n\t var leftActions = [_react2.default.createElement(_switch2.default, { disabled: true, checked: enabled })];\n\t\n\t return _react2.default.createElement(_list.ListItem, {\n\t key: name,\n\t leftActions: leftActions,\n\t rightActions: actions,\n\t caption: name,\n\t legend: description && description.substring(0, 100) || '-'\n\t });\n\t};\n\t\n\tvar ArchiveList = function (_Component) {\n\t _inherits(ArchiveList, _Component);\n\t\n\t function ArchiveList() {\n\t _classCallCheck(this, ArchiveList);\n\t\n\t return _possibleConstructorReturn(this, (ArchiveList.__proto__ || Object.getPrototypeOf(ArchiveList)).apply(this, arguments));\n\t }\n\t\n\t _createClass(ArchiveList, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t this.props.fetchArchive();\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t archive = _props.archive,\n\t revive = _props.revive;\n\t\n\t return _react2.default.createElement(\n\t _list.List,\n\t { ripple: true },\n\t _react2.default.createElement(_list.ListSubHeader, { caption: 'Archive' }),\n\t archive.length > 0 ? archive.map(function (feature, i) {\n\t return _react2.default.createElement(ArchivedFeature, { key: i, feature: feature, revive: revive });\n\t }) : _react2.default.createElement(_list.ListItem, { caption: 'No archived feature toggles' })\n\t );\n\t }\n\t }]);\n\t\n\t return ArchiveList;\n\t}(_react.Component);\n\t\n\texports.default = ArchiveList;\n\n/***/ },\n/* 283 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _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\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _table = __webpack_require__(115);\n\t\n\tvar _table2 = _interopRequireDefault(_table);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Model = {\n\t appName: { type: String, title: 'Application Name' },\n\t instanceId: { type: String },\n\t clientIp: { type: String },\n\t createdAt: { type: String },\n\t lastSeen: { type: String }\n\t};\n\t\n\tvar ClientStrategies = function (_Component) {\n\t _inherits(ClientStrategies, _Component);\n\t\n\t function ClientStrategies() {\n\t _classCallCheck(this, ClientStrategies);\n\t\n\t return _possibleConstructorReturn(this, (ClientStrategies.__proto__ || Object.getPrototypeOf(ClientStrategies)).apply(this, arguments));\n\t }\n\t\n\t _createClass(ClientStrategies, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t this.props.fetchClientInstances();\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var source = this.props.clientInstances;\n\t\n\t return _react2.default.createElement(_table2.default, {\n\t model: Model,\n\t source: source,\n\t selectable: false\n\t });\n\t }\n\t }], [{\n\t key: 'propTypes',\n\t value: function propTypes() {\n\t return {\n\t fetchClientInstances: _react.PropTypes.func.isRequired,\n\t clientInstances: _react.PropTypes.array.isRequired\n\t };\n\t }\n\t }]);\n\t\n\t return ClientStrategies;\n\t}(_react.Component);\n\t\n\texports.default = ClientStrategies;\n\n/***/ },\n/* 284 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _reactRedux = __webpack_require__(14);\n\t\n\tvar _clientInstanceComponent = __webpack_require__(283);\n\t\n\tvar _clientInstanceComponent2 = _interopRequireDefault(_clientInstanceComponent);\n\t\n\tvar _clientInstanceActions = __webpack_require__(156);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t return { clientInstances: state.clientInstances.toJS() };\n\t};\n\t\n\tvar StrategiesContainer = (0, _reactRedux.connect)(mapStateToProps, { fetchClientInstances: _clientInstanceActions.fetchClientInstances })(_clientInstanceComponent2.default);\n\t\n\texports.default = StrategiesContainer;\n\n/***/ },\n/* 285 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _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\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _table = __webpack_require__(115);\n\t\n\tvar _table2 = _interopRequireDefault(_table);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Model = {\n\t appName: { type: String, title: 'Application Name' },\n\t strategies: { type: String }\n\t};\n\t\n\tvar ClientStrategies = function (_Component) {\n\t _inherits(ClientStrategies, _Component);\n\t\n\t function ClientStrategies() {\n\t _classCallCheck(this, ClientStrategies);\n\t\n\t return _possibleConstructorReturn(this, (ClientStrategies.__proto__ || Object.getPrototypeOf(ClientStrategies)).apply(this, arguments));\n\t }\n\t\n\t _createClass(ClientStrategies, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t this.props.fetchClientStrategies();\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var source = this.props.clientStrategies.map(function (item) {\n\t return {\n\t appName: item.appName,\n\t strategies: item.strategies.join(', ')\n\t };\n\t });\n\t\n\t return _react2.default.createElement(_table2.default, {\n\t model: Model,\n\t source: source,\n\t selectable: false\n\t });\n\t }\n\t }]);\n\t\n\t return ClientStrategies;\n\t}(_react.Component);\n\t\n\texports.default = ClientStrategies;\n\n/***/ },\n/* 286 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _reactRedux = __webpack_require__(14);\n\t\n\tvar _strategyComponent = __webpack_require__(285);\n\t\n\tvar _strategyComponent2 = _interopRequireDefault(_strategyComponent);\n\t\n\tvar _clientStrategyActions = __webpack_require__(157);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t return { clientStrategies: state.clientStrategies.toJS() };\n\t};\n\t\n\tvar StrategiesContainer = (0, _reactRedux.connect)(mapStateToProps, { fetchClientStrategies: _clientStrategyActions.fetchClientStrategies })(_strategyComponent2.default);\n\t\n\texports.default = StrategiesContainer;\n\n/***/ },\n/* 287 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _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\t\n\tvar _snackbar = __webpack_require__(213);\n\t\n\tvar _snackbar2 = _interopRequireDefault(_snackbar);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar ErrorComponent = function (_React$Component) {\n\t _inherits(ErrorComponent, _React$Component);\n\t\n\t function ErrorComponent() {\n\t _classCallCheck(this, ErrorComponent);\n\t\n\t return _possibleConstructorReturn(this, (ErrorComponent.__proto__ || Object.getPrototypeOf(ErrorComponent)).apply(this, arguments));\n\t }\n\t\n\t _createClass(ErrorComponent, [{\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var showError = this.props.errors.length > 0;\n\t var error = showError ? this.props.errors[0] : undefined;\n\t return _react2.default.createElement(_snackbar2.default, {\n\t action: 'Dismiss',\n\t active: showError,\n\t icon: 'question_answer',\n\t label: error,\n\t onClick: function onClick() {\n\t return _this2.props.muteError(error);\n\t },\n\t type: 'warning'\n\t });\n\t }\n\t }], [{\n\t key: 'propTypes',\n\t value: function propTypes() {\n\t return {\n\t errors: _react.PropTypes.array.isRequired,\n\t muteError: _react.PropTypes.func.isRequired\n\t };\n\t }\n\t }]);\n\t\n\t return ErrorComponent;\n\t}(_react2.default.Component);\n\t\n\texports.default = ErrorComponent;\n\n/***/ },\n/* 288 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _reactRedux = __webpack_require__(14);\n\t\n\tvar _errorComponent = __webpack_require__(287);\n\t\n\tvar _errorComponent2 = _interopRequireDefault(_errorComponent);\n\t\n\tvar _errorActions = __webpack_require__(158);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar mapDispatchToProps = {\n\t muteError: _errorActions.muteError\n\t};\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t return {\n\t errors: state.error.get('list').toArray()\n\t };\n\t};\n\t\n\texports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(_errorComponent2.default);\n\n/***/ },\n/* 289 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactRouter = __webpack_require__(82);\n\t\n\tvar _font_icon = __webpack_require__(55);\n\t\n\tvar _font_icon2 = _interopRequireDefault(_font_icon);\n\t\n\tvar _switch = __webpack_require__(64);\n\t\n\tvar _switch2 = _interopRequireDefault(_switch);\n\t\n\tvar _list = __webpack_require__(27);\n\t\n\tvar _chip = __webpack_require__(54);\n\t\n\tvar _chip2 = _interopRequireDefault(_chip);\n\t\n\tvar _feature = __webpack_require__(374);\n\t\n\tvar _feature2 = _interopRequireDefault(_feature);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Feature = function Feature(_ref) {\n\t var feature = _ref.feature,\n\t onFeatureClick = _ref.onFeatureClick,\n\t onFeatureRemove = _ref.onFeatureRemove,\n\t _ref$metricsLastHour = _ref.metricsLastHour,\n\t metricsLastHour = _ref$metricsLastHour === undefined ? { yes: 0, no: 0, hasData: false } : _ref$metricsLastHour,\n\t _ref$metricsLastMinut = _ref.metricsLastMinute,\n\t metricsLastMinute = _ref$metricsLastMinut === undefined ? { yes: 0, no: 0, hasData: false } : _ref$metricsLastMinut;\n\t var name = feature.name,\n\t description = feature.description,\n\t enabled = feature.enabled,\n\t strategies = feature.strategies,\n\t createdAt = feature.createdAt;\n\t\n\t var created = new Date(createdAt);\n\t\n\t var actions = [_react2.default.createElement(\n\t 'div',\n\t { key: 'strategies' },\n\t strategies && strategies.map(function (s, i) {\n\t return _react2.default.createElement(\n\t _chip2.default,\n\t { key: i },\n\t _react2.default.createElement(\n\t 'small',\n\t null,\n\t s.name\n\t )\n\t );\n\t })\n\t ), _react2.default.createElement(\n\t 'div',\n\t { key: 'created' },\n\t _react2.default.createElement(\n\t 'small',\n\t null,\n\t '(',\n\t created.toLocaleDateString('nb-NO'),\n\t ')'\n\t )\n\t ), _react2.default.createElement(\n\t _reactRouter.Link,\n\t { key: 'change', to: '/features/edit/' + name, title: 'Edit ' + name },\n\t _react2.default.createElement(_font_icon2.default, { value: 'edit', className: _feature2.default.action })\n\t ), _react2.default.createElement(_font_icon2.default, { key: 'delete', className: _feature2.default.action, value: 'delete', onClick: function onClick() {\n\t return onFeatureRemove(name);\n\t } })];\n\t\n\t var leftActions = [_react2.default.createElement(\n\t _chip2.default,\n\t null,\n\t _react2.default.createElement(\n\t 'span',\n\t { className: _feature2.default.yes },\n\t metricsLastHour.yes\n\t ),\n\t ' / ',\n\t _react2.default.createElement(\n\t 'span',\n\t { className: _feature2.default.no },\n\t metricsLastHour.no\n\t )\n\t ), _react2.default.createElement(\n\t _chip2.default,\n\t null,\n\t _react2.default.createElement(\n\t 'span',\n\t { className: _feature2.default.yes },\n\t metricsLastMinute.yes\n\t ),\n\t ' / ',\n\t _react2.default.createElement(\n\t 'span',\n\t { className: _feature2.default.no },\n\t metricsLastMinute.no\n\t )\n\t ), _react2.default.createElement(_switch2.default, { key: 'left-actions', onChange: function onChange() {\n\t return onFeatureClick(feature);\n\t }, checked: enabled })];\n\t\n\t return _react2.default.createElement(_list.ListItem, {\n\t key: name,\n\t leftActions: leftActions,\n\t rightActions: actions,\n\t caption: name,\n\t legend: description && description.substring(0, 100) || '-'\n\t });\n\t};\n\t\n\tFeature.propTypes = {\n\t feature: _react.PropTypes.object,\n\t onFeatureClick: _react.PropTypes.func,\n\t onFeatureRemove: _react.PropTypes.func\n\t};\n\t\n\texports.default = Feature;\n\n/***/ },\n/* 290 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _reactRedux = __webpack_require__(14);\n\t\n\tvar _reactRouter = __webpack_require__(82);\n\t\n\tvar _featureActions = __webpack_require__(61);\n\t\n\tvar _inputHelpers = __webpack_require__(100);\n\t\n\tvar _form = __webpack_require__(154);\n\t\n\tvar _form2 = _interopRequireDefault(_form);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar ID = 'add-feature-toggle';\n\tvar mapStateToProps = (0, _inputHelpers.createMapper)({ id: ID });\n\tvar prepare = function prepare(methods, dispatch) {\n\t methods.onSubmit = function (input) {\n\t return function (e) {\n\t e.preventDefault();\n\t (0, _featureActions.createFeatureToggles)(input)(dispatch).then(function () {\n\t return methods.clear();\n\t }).then(function () {\n\t return _reactRouter.hashHistory.push('/features');\n\t });\n\t };\n\t };\n\t\n\t methods.onCancel = function (evt) {\n\t evt.preventDefault();\n\t _reactRouter.hashHistory.push('/features');\n\t };\n\t\n\t methods.addStrategy = function (v) {\n\t methods.pushToList('strategies', v);\n\t };\n\t\n\t methods.updateStrategy = function (v, n) {\n\t methods.updateInList('strategies', v, n);\n\t };\n\t\n\t methods.removeStrategy = function (v) {\n\t methods.removeFromList('strategies', v);\n\t };\n\t\n\t methods.validateName = function (v) {\n\t var featureToggleName = v.target.value;\n\t (0, _featureActions.validateName)(featureToggleName).then(function () {\n\t return methods.setValue('nameError', undefined);\n\t }).catch(function (err) {\n\t return methods.setValue('nameError', err.message);\n\t });\n\t };\n\t\n\t return methods;\n\t};\n\tvar actions = (0, _inputHelpers.createActions)({ id: ID, prepare: prepare });\n\t\n\texports.default = (0, _reactRedux.connect)(mapStateToProps, actions)(_form2.default);\n\n/***/ },\n/* 291 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _reactRedux = __webpack_require__(14);\n\t\n\tvar _reactRouter = __webpack_require__(82);\n\t\n\tvar _featureActions = __webpack_require__(61);\n\t\n\tvar _inputHelpers = __webpack_require__(100);\n\t\n\tvar _form = __webpack_require__(154);\n\t\n\tvar _form2 = _interopRequireDefault(_form);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar ID = 'edit-feature-toggle';\n\tfunction getId(props) {\n\t return [ID, props.featureToggleName];\n\t}\n\t// TODO: need to scope to the active featureToggle\n\t// best is to emulate the \"input-storage\"?\n\tvar mapStateToProps = (0, _inputHelpers.createMapper)({\n\t id: getId,\n\t getDefault: function getDefault(state, ownProps) {\n\t if (ownProps.featureToggleName) {\n\t var match = state.features.findEntry(function (entry) {\n\t return entry.get('name') === ownProps.featureToggleName;\n\t });\n\t\n\t if (match && match[1]) {\n\t return match[1].toJS();\n\t }\n\t }\n\t return {};\n\t },\n\t prepare: function prepare(props) {\n\t props.editmode = true;\n\t return props;\n\t }\n\t});\n\t\n\tvar prepare = function prepare(methods, dispatch) {\n\t methods.onSubmit = function (input) {\n\t return function (e) {\n\t e.preventDefault();\n\t // TODO: should add error handling\n\t (0, _featureActions.requestUpdateFeatureToggle)(input)(dispatch).then(function () {\n\t return methods.clear();\n\t }).then(function () {\n\t return window.history.back();\n\t });\n\t };\n\t };\n\t\n\t methods.onCancel = function (evt) {\n\t evt.preventDefault();\n\t _reactRouter.hashHistory.push('/features');\n\t };\n\t\n\t methods.addStrategy = function (v) {\n\t methods.pushToList('strategies', v);\n\t };\n\t\n\t methods.removeStrategy = function (v) {\n\t methods.removeFromList('strategies', v);\n\t };\n\t\n\t methods.updateStrategy = function (v, n) {\n\t methods.updateInList('strategies', v, n);\n\t };\n\t\n\t methods.validateName = function () {};\n\t\n\t return methods;\n\t};\n\t\n\tvar actions = (0, _inputHelpers.createActions)({\n\t id: getId,\n\t prepare: prepare\n\t});\n\t\n\texports.default = (0, _reactRedux.connect)(mapStateToProps, actions)(_form2.default);\n\n/***/ },\n/* 292 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _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\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _dropdown = __webpack_require__(112);\n\t\n\tvar _dropdown2 = _interopRequireDefault(_dropdown);\n\t\n\tvar _font_icon = __webpack_require__(55);\n\t\n\tvar _font_icon2 = _interopRequireDefault(_font_icon);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar AddStrategy = function (_React$Component) {\n\t _inherits(AddStrategy, _React$Component);\n\t\n\t function AddStrategy() {\n\t var _ref;\n\t\n\t var _temp, _this, _ret;\n\t\n\t _classCallCheck(this, AddStrategy);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = AddStrategy.__proto__ || Object.getPrototypeOf(AddStrategy)).call.apply(_ref, [this].concat(args))), _this), _this.addStrategy = function (strategyName) {\n\t var selectedStrategy = _this.props.strategies.find(function (s) {\n\t return s.name === strategyName;\n\t });\n\t var parameters = {};\n\t var keys = Object.keys(selectedStrategy.parametersTemplate || {});\n\t keys.forEach(function (prop) {\n\t parameters[prop] = '';\n\t });\n\t\n\t _this.props.addStrategy({\n\t name: selectedStrategy.name,\n\t parameters: parameters\n\t });\n\t }, _temp), _possibleConstructorReturn(_this, _ret);\n\t }\n\t\n\t _createClass(AddStrategy, [{\n\t key: 'customItem',\n\t value: function customItem(item) {\n\t var containerStyle = {\n\t display: 'flex',\n\t flexDirection: 'row'\n\t };\n\t\n\t var contentStyle = {\n\t display: 'flex',\n\t flexDirection: 'column',\n\t flexGrow: 2,\n\t marginLeft: '10px'\n\t };\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { style: containerStyle },\n\t _react2.default.createElement(_font_icon2.default, { value: 'add' }),\n\t _react2.default.createElement(\n\t 'div',\n\t { style: contentStyle },\n\t _react2.default.createElement(\n\t 'strong',\n\t null,\n\t item.name\n\t ),\n\t _react2.default.createElement(\n\t 'small',\n\t null,\n\t item.description\n\t )\n\t )\n\t );\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var strats = this.props.strategies.map(function (s) {\n\t s.value = s.name;\n\t return s;\n\t });\n\t\n\t return _react2.default.createElement(_dropdown2.default, {\n\t allowBlank: false,\n\t source: strats,\n\t onChange: this.addStrategy,\n\t label: 'Add an activation strategy',\n\t template: this.customItem\n\t });\n\t }\n\t }], [{\n\t key: 'propTypes',\n\t value: function propTypes() {\n\t return {\n\t strategies: _react.PropTypes.array.isRequired,\n\t addStrategy: _react.PropTypes.func.isRequired,\n\t fetchStrategies: _react.PropTypes.func.isRequired\n\t };\n\t }\n\t }]);\n\t\n\t return AddStrategy;\n\t}(_react2.default.Component);\n\t\n\texports.default = AddStrategy;\n\n/***/ },\n/* 293 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _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\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _strategyConfigure = __webpack_require__(296);\n\t\n\tvar _strategyConfigure2 = _interopRequireDefault(_strategyConfigure);\n\t\n\tvar _list = __webpack_require__(27);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar StrategiesList = function (_React$Component) {\n\t _inherits(StrategiesList, _React$Component);\n\t\n\t function StrategiesList() {\n\t _classCallCheck(this, StrategiesList);\n\t\n\t return _possibleConstructorReturn(this, (StrategiesList.__proto__ || Object.getPrototypeOf(StrategiesList)).apply(this, arguments));\n\t }\n\t\n\t _createClass(StrategiesList, [{\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _props = this.props,\n\t strategies = _props.strategies,\n\t configuredStrategies = _props.configuredStrategies;\n\t\n\t\n\t if (!configuredStrategies || configuredStrategies.length === 0) {\n\t return _react2.default.createElement(\n\t 'i',\n\t null,\n\t 'No strategies added'\n\t );\n\t }\n\t\n\t var blocks = configuredStrategies.map(function (strat, i) {\n\t return _react2.default.createElement(_strategyConfigure2.default, {\n\t key: strat.name + '-' + i,\n\t strategy: strat,\n\t removeStrategy: _this2.props.removeStrategy,\n\t updateStrategy: _this2.props.updateStrategy,\n\t strategyDefinition: strategies.find(function (s) {\n\t return s.name === strat.name;\n\t }) });\n\t });\n\t return _react2.default.createElement(\n\t _list.List,\n\t null,\n\t blocks\n\t );\n\t }\n\t }], [{\n\t key: 'propTypes',\n\t value: function propTypes() {\n\t return {\n\t strategies: _react.PropTypes.array.isRequired,\n\t configuredStrategies: _react.PropTypes.array.isRequired,\n\t updateStrategy: _react.PropTypes.func.isRequired,\n\t removeStrategy: _react.PropTypes.func.isRequired\n\t };\n\t }\n\t }]);\n\t\n\t return StrategiesList;\n\t}(_react2.default.Component);\n\t\n\texports.default = StrategiesList;\n\n/***/ },\n/* 294 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _reactRedux = __webpack_require__(14);\n\t\n\tvar _strategiesSection = __webpack_require__(295);\n\t\n\tvar _strategiesSection2 = _interopRequireDefault(_strategiesSection);\n\t\n\tvar _strategyActions = __webpack_require__(75);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = (0, _reactRedux.connect)(function (state) {\n\t return {\n\t strategies: state.strategies.get('list').toArray()\n\t };\n\t}, { fetchStrategies: _strategyActions.fetchStrategies })(_strategiesSection2.default);\n\n/***/ },\n/* 295 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _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\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _strategiesList = __webpack_require__(293);\n\t\n\tvar _strategiesList2 = _interopRequireDefault(_strategiesList);\n\t\n\tvar _strategiesAdd = __webpack_require__(292);\n\t\n\tvar _strategiesAdd2 = _interopRequireDefault(_strategiesAdd);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar headerStyle = {\n\t borderBottom: '1px solid rgba(0, 0, 0, 0.12)',\n\t paddingBottom: '5px',\n\t marginBottom: '10px'\n\t};\n\t\n\tvar StrategiesSection = function (_React$Component) {\n\t _inherits(StrategiesSection, _React$Component);\n\t\n\t function StrategiesSection() {\n\t _classCallCheck(this, StrategiesSection);\n\t\n\t return _possibleConstructorReturn(this, (StrategiesSection.__proto__ || Object.getPrototypeOf(StrategiesSection)).apply(this, arguments));\n\t }\n\t\n\t _createClass(StrategiesSection, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t this.props.fetchStrategies();\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t if (!this.props.strategies || this.props.strategies.length === 0) {\n\t return _react2.default.createElement(\n\t 'i',\n\t null,\n\t 'Loding available strategies'\n\t );\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(\n\t 'h5',\n\t { style: headerStyle },\n\t 'Strategies:'\n\t ),\n\t _react2.default.createElement(_strategiesList2.default, this.props),\n\t _react2.default.createElement(_strategiesAdd2.default, this.props)\n\t )\n\t );\n\t }\n\t }], [{\n\t key: 'propTypes',\n\t value: function propTypes() {\n\t return {\n\t strategies: _react.PropTypes.array.isRequired,\n\t addStrategy: _react.PropTypes.func.isRequired,\n\t removeStrategy: _react.PropTypes.func.isRequired,\n\t updateStrategy: _react.PropTypes.func.isRequired,\n\t fetchStrategies: _react.PropTypes.func.isRequired\n\t };\n\t }\n\t }]);\n\t\n\t return StrategiesSection;\n\t}(_react2.default.Component);\n\t\n\texports.default = StrategiesSection;\n\n/***/ },\n/* 296 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _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\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _input = __webpack_require__(23);\n\t\n\tvar _input2 = _interopRequireDefault(_input);\n\t\n\tvar _button = __webpack_require__(17);\n\t\n\tvar _button2 = _interopRequireDefault(_button);\n\t\n\tvar _list = __webpack_require__(27);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar StrategyConfigure = function (_React$Component) {\n\t _inherits(StrategyConfigure, _React$Component);\n\t\n\t function StrategyConfigure() {\n\t var _ref;\n\t\n\t var _temp, _this, _ret;\n\t\n\t _classCallCheck(this, StrategyConfigure);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = StrategyConfigure.__proto__ || Object.getPrototypeOf(StrategyConfigure)).call.apply(_ref, [this].concat(args))), _this), _this.updateStrategy = function (evt) {\n\t evt.preventDefault();\n\t _this.props.updateStrategy({\n\t name: _this.state.selectedStrategy.name,\n\t parameters: _this.state.parameters\n\t });\n\t }, _this.handleConfigChange = function (key, value) {\n\t var parameters = {};\n\t parameters[key] = value;\n\t\n\t var updatedStrategy = Object.assign({}, _this.props.strategy, { parameters: parameters });\n\t\n\t _this.props.updateStrategy(_this.props.strategy, updatedStrategy);\n\t }, _this.handleRemove = function (evt) {\n\t evt.preventDefault();\n\t _this.props.removeStrategy(_this.props.strategy);\n\t }, _temp), _possibleConstructorReturn(_this, _ret);\n\t }\n\t\n\t _createClass(StrategyConfigure, [{\n\t key: 'renderInputFields',\n\t value: function renderInputFields(strategyDefinition) {\n\t var _this2 = this;\n\t\n\t if (strategyDefinition.parametersTemplate) {\n\t return Object.keys(strategyDefinition.parametersTemplate).map(function (field) {\n\t return _react2.default.createElement(_input2.default, {\n\t type: 'text',\n\t key: field,\n\t name: field,\n\t label: field,\n\t onChange: _this2.handleConfigChange.bind(_this2, field),\n\t value: _this2.props.strategy.parameters[field]\n\t });\n\t });\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var leftActions = [_react2.default.createElement(_button2.default, { key: 'remove', onClick: this.handleRemove, icon: 'remove', floating: true, accent: true, mini: true })];\n\t\n\t if (!this.props.strategyDefinition) {\n\t return _react2.default.createElement(_list.ListItem, {\n\t leftActions: leftActions,\n\t caption: _react2.default.createElement(\n\t 'span',\n\t { style: { color: 'red' } },\n\t 'Strategy \"',\n\t this.props.strategy.name,\n\t '\" deleted'\n\t )\n\t });\n\t }\n\t\n\t var inputFields = this.renderInputFields(this.props.strategyDefinition) || [];\n\t\n\t return _react2.default.createElement(_list.ListItem, { leftActions: leftActions,\n\t caption: this.props.strategy.name,\n\t legend: this.props.strategyDefinition.description,\n\t rightActions: inputFields\n\t });\n\t }\n\t }], [{\n\t key: 'propTypes',\n\t value: function propTypes() {\n\t return {\n\t strategy: _react.PropTypes.object.isRequired,\n\t strategyDefinition: _react.PropTypes.object.isRequired,\n\t updateStrategy: _react.PropTypes.func.isRequired,\n\t removeStrategy: _react.PropTypes.func.isRequired\n\t };\n\t }\n\t }]);\n\t\n\t return StrategyConfigure;\n\t}(_react2.default.Component);\n\t\n\texports.default = StrategyConfigure;\n\n/***/ },\n/* 297 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _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\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _featureComponent = __webpack_require__(289);\n\t\n\tvar _featureComponent2 = _interopRequireDefault(_featureComponent);\n\t\n\tvar _list = __webpack_require__(27);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar FeatureListComponent = function (_React$Component) {\n\t _inherits(FeatureListComponent, _React$Component);\n\t\n\t function FeatureListComponent() {\n\t _classCallCheck(this, FeatureListComponent);\n\t\n\t return _possibleConstructorReturn(this, (FeatureListComponent.__proto__ || Object.getPrototypeOf(FeatureListComponent)).apply(this, arguments));\n\t }\n\t\n\t _createClass(FeatureListComponent, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var _this2 = this;\n\t\n\t this.props.fetchFeatureToggles();\n\t this.props.fetchFeatureMetrics();\n\t this.timer = setInterval(function () {\n\t _this2.props.fetchFeatureMetrics();\n\t }, 5000);\n\t }\n\t }, {\n\t key: 'componentWillUnmount',\n\t value: function componentWillUnmount() {\n\t clearInterval(this.timer);\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this3 = this;\n\t\n\t var _props = this.props,\n\t features = _props.features,\n\t onFeatureClick = _props.onFeatureClick,\n\t onFeatureRemove = _props.onFeatureRemove,\n\t featureMetrics = _props.featureMetrics;\n\t\n\t\n\t return _react2.default.createElement(\n\t _list.List,\n\t null,\n\t _react2.default.createElement(_list.ListSubHeader, { caption: 'Feature toggles' }),\n\t features.map(function (feature, i) {\n\t return _react2.default.createElement(_featureComponent2.default, { key: i,\n\t metricsLastHour: featureMetrics.lastHour[feature.name],\n\t metricsLastMinute: featureMetrics.lastMinute[feature.name],\n\t feature: feature,\n\t onFeatureClick: onFeatureClick,\n\t onFeatureRemove: onFeatureRemove });\n\t }),\n\t _react2.default.createElement(_list.ListDivider, null),\n\t _react2.default.createElement(_list.ListItem, {\n\t onClick: function onClick() {\n\t return _this3.context.router.push('/features/create');\n\t },\n\t caption: 'Add', legend: 'new feature toggle', leftIcon: 'add' })\n\t );\n\t }\n\t }], [{\n\t key: 'propTypes',\n\t value: function propTypes() {\n\t return {\n\t onFeatureClick: _react.PropTypes.func.isRequired,\n\t onFeatureRemove: _react.PropTypes.func.isRequired,\n\t features: _react.PropTypes.array.isRequired,\n\t featureMetrics: _react.PropTypes.object.isRequired,\n\t fetchFeatureToggles: _react.PropTypes.func.isRequired,\n\t fetchFeatureMetrics: _react.PropTypes.func.isRequired\n\t };\n\t }\n\t }]);\n\t\n\t return FeatureListComponent;\n\t}(_react2.default.Component);\n\t\n\tFeatureListComponent.contextTypes = {\n\t router: _react2.default.PropTypes.object\n\t};\n\texports.default = FeatureListComponent;\n\n/***/ },\n/* 298 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _reactRedux = __webpack_require__(14);\n\t\n\tvar _featureActions = __webpack_require__(61);\n\t\n\tvar _featureMetricsActions = __webpack_require__(159);\n\t\n\tvar _listComponent = __webpack_require__(297);\n\t\n\tvar _listComponent2 = _interopRequireDefault(_listComponent);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t return {\n\t features: state.features.toJS(),\n\t featureMetrics: state.featureMetrics.toJS()\n\t };\n\t};\n\t\n\tvar mapDispatchToProps = {\n\t onFeatureClick: _featureActions.toggleFeature,\n\t onFeatureRemove: _featureActions.removeFeatureToggle,\n\t fetchFeatureToggles: _featureActions.fetchFeatureToggles,\n\t fetchFeatureMetrics: _featureMetricsActions.fetchFeatureMetrics\n\t};\n\t\n\tvar FeatureListContainer = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(_listComponent2.default);\n\t\n\texports.default = FeatureListContainer;\n\n/***/ },\n/* 299 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _reactRedux = __webpack_require__(14);\n\t\n\tvar _historyListComponent = __webpack_require__(300);\n\t\n\tvar _historyListComponent2 = _interopRequireDefault(_historyListComponent);\n\t\n\tvar _historyActions = __webpack_require__(160);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t var history = state.history.get('list').toArray();\n\t\n\t return {\n\t history: history\n\t };\n\t};\n\t\n\tvar HistoryListContainer = (0, _reactRedux.connect)(mapStateToProps, { fetchHistory: _historyActions.fetchHistory })(_historyListComponent2.default);\n\t\n\texports.default = HistoryListContainer;\n\n/***/ },\n/* 300 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _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\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _list = __webpack_require__(27);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar HistoryList = function (_Component) {\n\t _inherits(HistoryList, _Component);\n\t\n\t function HistoryList() {\n\t _classCallCheck(this, HistoryList);\n\t\n\t return _possibleConstructorReturn(this, (HistoryList.__proto__ || Object.getPrototypeOf(HistoryList)).apply(this, arguments));\n\t }\n\t\n\t _createClass(HistoryList, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t this.props.fetchHistory();\n\t }\n\t }, {\n\t key: 'getIcon',\n\t value: function getIcon(type) {\n\t if (type.indexOf('created') > -1) {\n\t return 'add';\n\t }\n\t\n\t if (type.indexOf('deleted') > -1) {\n\t return 'remove';\n\t }\n\t\n\t if (type.indexOf('updated') > -1) {\n\t return 'update';\n\t }\n\t\n\t if (type.indexOf('archived') > -1) {\n\t return 'archived';\n\t }\n\t return 'bookmark';\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var history = this.props.history;\n\t\n\t\n\t return _react2.default.createElement(\n\t _list.List,\n\t { ripple: true },\n\t _react2.default.createElement(_list.ListSubHeader, { caption: 'History' }),\n\t history.length > 0 ? history.map(function (log, i) {\n\t var actions = [];\n\t\n\t var icon = _this2.getIcon(log.type);\n\t\n\t var caption = _react2.default.createElement(\n\t 'div',\n\t null,\n\t log.data.name,\n\t ' ',\n\t _react2.default.createElement(\n\t 'small',\n\t null,\n\t log.type\n\t )\n\t );\n\t\n\t return _react2.default.createElement(_list.ListItem, { key: i,\n\t leftIcon: icon,\n\t rightActions: actions,\n\t caption: caption,\n\t legend: log.createdAt });\n\t }) : _react2.default.createElement(_list.ListItem, { caption: 'No log entries' })\n\t );\n\t }\n\t }]);\n\t\n\t return HistoryList;\n\t}(_react.Component);\n\t\n\texports.default = HistoryList;\n\n/***/ },\n/* 301 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _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\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _list = __webpack_require__(27);\n\t\n\tvar _chip = __webpack_require__(54);\n\t\n\tvar _chip2 = _interopRequireDefault(_chip);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Metrics = function (_Component) {\n\t _inherits(Metrics, _Component);\n\t\n\t function Metrics() {\n\t _classCallCheck(this, Metrics);\n\t\n\t return _possibleConstructorReturn(this, (Metrics.__proto__ || Object.getPrototypeOf(Metrics)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Metrics, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t this.props.fetchMetrics();\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t globalCount = _props.globalCount,\n\t clientList = _props.clientList;\n\t\n\t\n\t return _react2.default.createElement(\n\t _list.List,\n\t null,\n\t _react2.default.createElement(_list.ListSubHeader, { caption: _react2.default.createElement(\n\t 'span',\n\t null,\n\t 'Total of ',\n\t globalCount,\n\t ' toggles '\n\t ) }),\n\t _react2.default.createElement(_list.ListDivider, null),\n\t clientList.map(function (_ref, i) {\n\t var name = _ref.name,\n\t count = _ref.count,\n\t ping = _ref.ping,\n\t appName = _ref.appName;\n\t return _react2.default.createElement(_list.ListItem, {\n\t leftActions: [_react2.default.createElement(\n\t _chip2.default,\n\t null,\n\t count\n\t )],\n\t key: name + i,\n\t caption: appName,\n\t legend: name + ' pinged ' + ping });\n\t })\n\t );\n\t }\n\t }]);\n\t\n\t return Metrics;\n\t}(_react.Component);\n\t\n\texports.default = Metrics;\n\n/***/ },\n/* 302 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _reactRedux = __webpack_require__(14);\n\t\n\tvar _metricsComponent = __webpack_require__(301);\n\t\n\tvar _metricsComponent2 = _interopRequireDefault(_metricsComponent);\n\t\n\tvar _metricsActions = __webpack_require__(162);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t var globalCount = state.metrics.get('globalCount');\n\t var apps = state.metrics.get('apps').toArray();\n\t var clients = state.metrics.get('clients').toJS();\n\t\n\t var clientList = Object.keys(clients).map(function (k) {\n\t var client = clients[k];\n\t return {\n\t name: k,\n\t appName: client.appName,\n\t count: client.count,\n\t ping: new Date(client.ping)\n\t };\n\t }).sort(function (a, b) {\n\t return a.ping > b.ping ? -1 : 1;\n\t });\n\t\n\t /*\n\t Possible stuff to ask/answer:\n\t * toggles in use but not in unleash-server\n\t * nr of toggles using fallbackValue\n\t * strategies implemented but not used\n\t */\n\t return {\n\t globalCount: globalCount,\n\t apps: apps,\n\t clientList: clientList\n\t };\n\t};\n\t\n\tvar MetricsContainer = (0, _reactRedux.connect)(mapStateToProps, { fetchMetrics: _metricsActions.fetchMetrics })(_metricsComponent2.default);\n\t\n\texports.default = MetricsContainer;\n\n/***/ },\n/* 303 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _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\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactToolbox = __webpack_require__(195);\n\t\n\tvar _styles = __webpack_require__(163);\n\t\n\tvar _styles2 = _interopRequireDefault(_styles);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar UnleashNav = function (_Component) {\n\t _inherits(UnleashNav, _Component);\n\t\n\t function UnleashNav() {\n\t _classCallCheck(this, UnleashNav);\n\t\n\t return _possibleConstructorReturn(this, (UnleashNav.__proto__ || Object.getPrototypeOf(UnleashNav)).apply(this, arguments));\n\t }\n\t\n\t _createClass(UnleashNav, [{\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var createListItem = function createListItem(path, caption) {\n\t return _react2.default.createElement(_reactToolbox.ListItem, { to: _this2.context.router.createHref(path), caption: caption,\n\t className: _this2.context.router.isActive(path) ? _styles2.default.active : '' });\n\t };\n\t\n\t return _react2.default.createElement(\n\t _reactToolbox.List,\n\t { selectable: true, ripple: true, className: _styles2.default.navigation },\n\t createListItem('/features', 'Feature toggles'),\n\t createListItem('/strategies', 'Strategies'),\n\t createListItem('/history', 'Event history'),\n\t createListItem('/archive', 'Archived toggles'),\n\t _react2.default.createElement(_reactToolbox.ListDivider, null),\n\t _react2.default.createElement(_reactToolbox.ListSubHeader, { caption: 'Clients' }),\n\t createListItem('/metrics', 'Client metrics'),\n\t createListItem('/client-strategies', 'Client strategies'),\n\t createListItem('/client-instances', 'Client instances'),\n\t _react2.default.createElement(_reactToolbox.ListDivider, null),\n\t _react2.default.createElement(_reactToolbox.ListSubHeader, { caption: 'Resources' }),\n\t createListItem('/docs', 'Documentation'),\n\t _react2.default.createElement(\n\t 'a',\n\t { href: 'https://github.com/finn-no/unleash/', target: '_blank' },\n\t _react2.default.createElement(_reactToolbox.ListItem, { caption: 'GitHub' })\n\t ),\n\t _react2.default.createElement(_reactToolbox.ListDivider, null),\n\t _react2.default.createElement(\n\t _reactToolbox.ListItem,\n\t { selectable: false, ripple: 'false' },\n\t _react2.default.createElement(\n\t 'p',\n\t null,\n\t 'A product by ',\n\t _react2.default.createElement(\n\t 'a',\n\t { href: 'https://finn.no', target: '_blank' },\n\t 'FINN.no'\n\t )\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return UnleashNav;\n\t}(_react.Component);\n\t\n\tUnleashNav.contextTypes = {\n\t router: _react2.default.PropTypes.object\n\t};\n\texports.default = UnleashNav;\n\t;\n\n/***/ },\n/* 304 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _reactRedux = __webpack_require__(14);\n\t\n\tvar _inputHelpers = __webpack_require__(100);\n\t\n\tvar _strategyActions = __webpack_require__(75);\n\t\n\tvar _addStrategy = __webpack_require__(305);\n\t\n\tvar _addStrategy2 = _interopRequireDefault(_addStrategy);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar ID = 'add-strategy';\n\t\n\tvar prepare = function prepare(methods, dispatch) {\n\t methods.onSubmit = function (input) {\n\t return function (e) {\n\t e.preventDefault();\n\t\n\t var parametersTemplate = {};\n\t Object.keys(input).forEach(function (key) {\n\t if (key.startsWith(_addStrategy.PARAM_PREFIX)) {\n\t parametersTemplate[input[key]] = 'string';\n\t }\n\t });\n\t input.parametersTemplate = parametersTemplate;\n\t\n\t (0, _strategyActions.createStrategy)(input)(dispatch).then(function () {\n\t return methods.clear();\n\t })\n\t // somewhat quickfix / hacky to go back..\n\t .then(function () {\n\t return window.history.back();\n\t });\n\t };\n\t };\n\t\n\t methods.onCancel = function (e) {\n\t e.preventDefault();\n\t // somewhat quickfix / hacky to go back..\n\t window.history.back();\n\t };\n\t\n\t return methods;\n\t};\n\t\n\tvar actions = (0, _inputHelpers.createActions)({\n\t id: ID,\n\t prepare: prepare\n\t});\n\t\n\texports.default = (0, _reactRedux.connect)((0, _inputHelpers.createMapper)({ id: ID }), actions)(_addStrategy2.default);\n\n/***/ },\n/* 305 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.PARAM_PREFIX = undefined;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _input = __webpack_require__(23);\n\t\n\tvar _input2 = _interopRequireDefault(_input);\n\t\n\tvar _button = __webpack_require__(17);\n\t\n\tvar _button2 = _interopRequireDefault(_button);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction gerArrayWithEntries(num) {\n\t return Array.from(Array(num));\n\t}\n\tvar PARAM_PREFIX = exports.PARAM_PREFIX = 'param_';\n\t\n\tvar genParams = function genParams(input) {\n\t var num = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\t var setValue = arguments[2];\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t gerArrayWithEntries(num).map(function (v, i) {\n\t var key = '' + PARAM_PREFIX + (i + 1);\n\t return _react2.default.createElement(_input2.default, {\n\t type: 'text',\n\t label: 'Parameter name ' + (i + 1),\n\t name: key, key: key,\n\t onChange: function onChange(value) {\n\t return setValue(key, value);\n\t },\n\t value: input[key] });\n\t })\n\t );\n\t};\n\t\n\tvar AddStrategy = function AddStrategy(_ref) {\n\t var input = _ref.input,\n\t setValue = _ref.setValue,\n\t incValue = _ref.incValue,\n\t onCancel = _ref.onCancel,\n\t onSubmit = _ref.onSubmit;\n\t return _react2.default.createElement(\n\t 'form',\n\t { onSubmit: onSubmit(input) },\n\t _react2.default.createElement(\n\t 'section',\n\t null,\n\t _react2.default.createElement(_input2.default, { type: 'text', label: 'Strategy name',\n\t name: 'name', required: true,\n\t pattern: '^[0-9a-zA-Z\\\\.\\\\-]+$',\n\t onChange: function onChange(value) {\n\t return setValue('name', value);\n\t },\n\t value: input.name\n\t }),\n\t _react2.default.createElement(_input2.default, { type: 'text', multiline: true, label: 'Description',\n\t name: 'description',\n\t onChange: function onChange(value) {\n\t return setValue('description', value);\n\t },\n\t value: input.description\n\t })\n\t ),\n\t _react2.default.createElement(\n\t 'section',\n\t null,\n\t genParams(input, input._params, setValue),\n\t _react2.default.createElement(_button2.default, { icon: 'add', accent: true, label: 'Add parameter', onClick: function onClick(e) {\n\t e.preventDefault();\n\t incValue('_params');\n\t } })\n\t ),\n\t _react2.default.createElement('br', null),\n\t _react2.default.createElement('hr', null),\n\t _react2.default.createElement(\n\t 'section',\n\t null,\n\t _react2.default.createElement(_button2.default, { type: 'submit', raised: true, primary: true, label: 'Create' }),\n\t '\\xA0',\n\t _react2.default.createElement(_button2.default, { type: 'cancel', raised: true, label: 'Cancel', onClick: onCancel })\n\t )\n\t );\n\t};\n\t\n\tAddStrategy.propTypes = {\n\t input: _react.PropTypes.object,\n\t setValue: _react.PropTypes.func,\n\t incValue: _react.PropTypes.func,\n\t clear: _react.PropTypes.func,\n\t onCancel: _react.PropTypes.func,\n\t onSubmit: _react.PropTypes.func\n\t};\n\t\n\texports.default = AddStrategy;\n\n/***/ },\n/* 306 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _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\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _list = __webpack_require__(27);\n\t\n\tvar _font_icon = __webpack_require__(55);\n\t\n\tvar _font_icon2 = _interopRequireDefault(_font_icon);\n\t\n\tvar _chip = __webpack_require__(54);\n\t\n\tvar _chip2 = _interopRequireDefault(_chip);\n\t\n\tvar _strategies = __webpack_require__(375);\n\t\n\tvar _strategies2 = _interopRequireDefault(_strategies);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar StrategiesListComponent = function (_Component) {\n\t _inherits(StrategiesListComponent, _Component);\n\t\n\t function StrategiesListComponent() {\n\t _classCallCheck(this, StrategiesListComponent);\n\t\n\t return _possibleConstructorReturn(this, (StrategiesListComponent.__proto__ || Object.getPrototypeOf(StrategiesListComponent)).apply(this, arguments));\n\t }\n\t\n\t _createClass(StrategiesListComponent, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t this.props.fetchStrategies();\n\t }\n\t }, {\n\t key: 'getParameterMap',\n\t value: function getParameterMap(_ref) {\n\t var parametersTemplate = _ref.parametersTemplate;\n\t\n\t return Object.keys(parametersTemplate || {}).map(function (k) {\n\t return _react2.default.createElement(\n\t _chip2.default,\n\t { key: k },\n\t _react2.default.createElement(\n\t 'small',\n\t null,\n\t k\n\t )\n\t );\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _props = this.props,\n\t strategies = _props.strategies,\n\t removeStrategy = _props.removeStrategy;\n\t\n\t\n\t return _react2.default.createElement(\n\t _list.List,\n\t { ripple: true },\n\t _react2.default.createElement(_list.ListSubHeader, { caption: 'Strategies' }),\n\t strategies.length > 0 ? strategies.map(function (strategy, i) {\n\t var actions = _this2.getParameterMap(strategy).concat([_react2.default.createElement(\n\t 'button',\n\t { className: _strategies2.default['non-style-button'], key: '1', onClick: function onClick() {\n\t return removeStrategy(strategy);\n\t } },\n\t _react2.default.createElement(_font_icon2.default, { value: 'delete' })\n\t )]);\n\t\n\t return _react2.default.createElement(_list.ListItem, { key: i, rightActions: actions,\n\t caption: strategy.name,\n\t legend: strategy.description });\n\t }) : _react2.default.createElement(_list.ListItem, { caption: 'No entries' }),\n\t _react2.default.createElement(_list.ListDivider, null),\n\t _react2.default.createElement(_list.ListItem, {\n\t onClick: function onClick() {\n\t return _this2.context.router.push('/strategies/create');\n\t },\n\t caption: 'Add', legend: 'new strategy', leftIcon: 'add' })\n\t );\n\t }\n\t }]);\n\t\n\t return StrategiesListComponent;\n\t}(_react.Component);\n\t\n\tStrategiesListComponent.contextTypes = {\n\t router: _react2.default.PropTypes.object\n\t};\n\texports.default = StrategiesListComponent;\n\n/***/ },\n/* 307 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _reactRedux = __webpack_require__(14);\n\t\n\tvar _listComponent = __webpack_require__(306);\n\t\n\tvar _listComponent2 = _interopRequireDefault(_listComponent);\n\t\n\tvar _strategyActions = __webpack_require__(75);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t var list = state.strategies.get('list').toArray();\n\t\n\t return {\n\t strategies: list\n\t };\n\t};\n\t\n\tvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n\t return {\n\t removeStrategy: function removeStrategy(strategy) {\n\t if (window.confirm('Are you sure you want to remove this strategy?')) {\n\t // eslint-disable-line no-alert\n\t (0, _strategyActions.removeStrategy)(strategy)(dispatch);\n\t }\n\t },\n\t fetchStrategies: function fetchStrategies() {\n\t return (0, _strategyActions.fetchStrategies)()(dispatch);\n\t }\n\t };\n\t};\n\t\n\tvar StrategiesListContainer = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(_listComponent2.default);\n\t\n\texports.default = StrategiesListContainer;\n\n/***/ },\n/* 308 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _helper = __webpack_require__(42);\n\t\n\tvar URI = '/api/archive';\n\t\n\tfunction fetchAll() {\n\t return fetch(URI + '/features').then(_helper.throwIfNotSuccess).then(function (response) {\n\t return response.json();\n\t });\n\t}\n\t\n\tfunction revive(feature) {\n\t return fetch(URI + '/revive', {\n\t method: 'POST',\n\t headers: _helper.headers,\n\t body: JSON.stringify(feature)\n\t }).then(_helper.throwIfNotSuccess);\n\t}\n\t\n\tmodule.exports = {\n\t fetchAll: fetchAll,\n\t revive: revive\n\t};\n\n/***/ },\n/* 309 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _helper = __webpack_require__(42);\n\t\n\tvar URI = '/api/client/instances';\n\t\n\tfunction fetchAll() {\n\t return fetch(URI, { headers: _helper.headers }).then(_helper.throwIfNotSuccess).then(function (response) {\n\t return response.json();\n\t });\n\t}\n\t\n\tmodule.exports = {\n\t fetchAll: fetchAll\n\t};\n\n/***/ },\n/* 310 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _helper = __webpack_require__(42);\n\t\n\tvar URI = '/api/client/strategies';\n\t\n\tfunction fetchAll() {\n\t return fetch(URI, { headers: _helper.headers }).then(_helper.throwIfNotSuccess).then(function (response) {\n\t return response.json();\n\t });\n\t}\n\t\n\tmodule.exports = {\n\t fetchAll: fetchAll\n\t};\n\n/***/ },\n/* 311 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _helper = __webpack_require__(42);\n\t\n\tvar URI = '/api/features';\n\tvar URI_VALIDATE = '/api/features-validate';\n\t\n\tfunction fetchAll() {\n\t return fetch(URI).then(_helper.throwIfNotSuccess).then(function (response) {\n\t return response.json();\n\t });\n\t}\n\t\n\tfunction create(featureToggle) {\n\t return fetch(URI, {\n\t method: 'POST',\n\t headers: _helper.headers,\n\t body: JSON.stringify(featureToggle)\n\t }).then(_helper.throwIfNotSuccess);\n\t}\n\t\n\tfunction validate(featureToggle) {\n\t return fetch(URI_VALIDATE, {\n\t method: 'POST',\n\t headers: _helper.headers,\n\t body: JSON.stringify(featureToggle)\n\t }).then(_helper.throwIfNotSuccess);\n\t}\n\t\n\tfunction update(featureToggle) {\n\t return fetch(URI + '/' + featureToggle.name, {\n\t method: 'PUT',\n\t headers: _helper.headers,\n\t body: JSON.stringify(featureToggle)\n\t }).then(_helper.throwIfNotSuccess);\n\t}\n\t\n\tfunction remove(featureToggleName) {\n\t return fetch(URI + '/' + featureToggleName, {\n\t method: 'DELETE'\n\t }).then(_helper.throwIfNotSuccess);\n\t}\n\t\n\tmodule.exports = {\n\t fetchAll: fetchAll,\n\t create: create,\n\t validate: validate,\n\t update: update,\n\t remove: remove\n\t};\n\n/***/ },\n/* 312 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _helper = __webpack_require__(42);\n\t\n\tvar URI = '/api/api/events';\n\t\n\tfunction fetchAll() {\n\t return fetch(URI).then(_helper.throwIfNotSuccess).then(function (response) {\n\t return response.json();\n\t });\n\t}\n\t\n\tmodule.exports = {\n\t fetchAll: fetchAll\n\t};\n\n/***/ },\n/* 313 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _helper = __webpack_require__(42);\n\t\n\tvar URI = '/api/metrics';\n\t\n\tfunction fetchAll() {\n\t return fetch(URI).then(_helper.throwIfNotSuccess).then(function (response) {\n\t return response.json();\n\t });\n\t}\n\t\n\tmodule.exports = {\n\t fetchAll: fetchAll\n\t};\n\n/***/ },\n/* 314 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _helper = __webpack_require__(42);\n\t\n\tvar URI = '/api/strategies';\n\t\n\tfunction fetchAll() {\n\t return fetch(URI).then(_helper.throwIfNotSuccess).then(function (response) {\n\t return response.json();\n\t });\n\t}\n\t\n\tfunction create(strategy) {\n\t return fetch(URI, {\n\t method: 'POST',\n\t headers: _helper.headers,\n\t body: JSON.stringify(strategy)\n\t }).then(_helper.throwIfNotSuccess);\n\t}\n\t\n\tfunction remove(strategy) {\n\t return fetch(URI + '/' + strategy.name, {\n\t method: 'DELETE',\n\t headers: _helper.headers\n\t }).then(_helper.throwIfNotSuccess);\n\t}\n\t\n\tmodule.exports = {\n\t fetchAll: fetchAll,\n\t create: create,\n\t remove: remove\n\t};\n\n/***/ },\n/* 315 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDom = __webpack_require__(44);\n\t\n\tvar _reactDom2 = _interopRequireDefault(_reactDom);\n\t\n\tvar _reactRouter = __webpack_require__(82);\n\t\n\tvar _reactRedux = __webpack_require__(14);\n\t\n\tvar _reduxThunk = __webpack_require__(577);\n\t\n\tvar _reduxThunk2 = _interopRequireDefault(_reduxThunk);\n\t\n\tvar _redux = __webpack_require__(153);\n\t\n\tvar _store = __webpack_require__(334);\n\t\n\tvar _store2 = _interopRequireDefault(_store);\n\t\n\tvar _app = __webpack_require__(280);\n\t\n\tvar _app2 = _interopRequireDefault(_app);\n\t\n\tvar _features = __webpack_require__(321);\n\t\n\tvar _features2 = _interopRequireDefault(_features);\n\t\n\tvar _create = __webpack_require__(319);\n\t\n\tvar _create2 = _interopRequireDefault(_create);\n\t\n\tvar _edit = __webpack_require__(320);\n\t\n\tvar _edit2 = _interopRequireDefault(_edit);\n\t\n\tvar _strategies = __webpack_require__(325);\n\t\n\tvar _strategies2 = _interopRequireDefault(_strategies);\n\t\n\tvar _create3 = __webpack_require__(324);\n\t\n\tvar _create4 = _interopRequireDefault(_create3);\n\t\n\tvar _history = __webpack_require__(322);\n\t\n\tvar _history2 = _interopRequireDefault(_history);\n\t\n\tvar _archive = __webpack_require__(316);\n\t\n\tvar _archive2 = _interopRequireDefault(_archive);\n\t\n\tvar _metrics = __webpack_require__(323);\n\t\n\tvar _metrics2 = _interopRequireDefault(_metrics);\n\t\n\tvar _clientStrategies = __webpack_require__(318);\n\t\n\tvar _clientStrategies2 = _interopRequireDefault(_clientStrategies);\n\t\n\tvar _clientInstances = __webpack_require__(317);\n\t\n\tvar _clientInstances2 = _interopRequireDefault(_clientInstances);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar unleashStore = (0, _redux.createStore)(_store2.default, (0, _redux.applyMiddleware)(_reduxThunk2.default));\n\t\n\t_reactDom2.default.render(_react2.default.createElement(\n\t _reactRedux.Provider,\n\t { store: unleashStore },\n\t _react2.default.createElement(\n\t _reactRouter.Router,\n\t { history: _reactRouter.hashHistory },\n\t _react2.default.createElement(\n\t _reactRouter.Route,\n\t { path: '/', component: _app2.default },\n\t _react2.default.createElement(_reactRouter.IndexRedirect, { to: '/features' }),\n\t _react2.default.createElement(_reactRouter.Route, { path: '/features', component: _features2.default }),\n\t _react2.default.createElement(_reactRouter.Route, { path: '/features/create', component: _create2.default }),\n\t _react2.default.createElement(_reactRouter.Route, { path: '/features/edit/:name', component: _edit2.default }),\n\t _react2.default.createElement(_reactRouter.Route, { path: '/strategies', component: _strategies2.default }),\n\t _react2.default.createElement(_reactRouter.Route, { path: '/strategies/create', component: _create4.default }),\n\t _react2.default.createElement(_reactRouter.Route, { path: '/history', component: _history2.default }),\n\t _react2.default.createElement(_reactRouter.Route, { path: '/archive', component: _archive2.default }),\n\t _react2.default.createElement(_reactRouter.Route, { path: '/metrics', component: _metrics2.default }),\n\t _react2.default.createElement(_reactRouter.Route, { path: '/client-strategies', component: _clientStrategies2.default }),\n\t _react2.default.createElement(_reactRouter.Route, { path: '/client-instances', component: _clientInstances2.default })\n\t )\n\t )\n\t), document.getElementById('app'));\n\n/***/ },\n/* 316 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _archiveContainer = __webpack_require__(281);\n\t\n\tvar _archiveContainer2 = _interopRequireDefault(_archiveContainer);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar render = function render() {\n\t return _react2.default.createElement(_archiveContainer2.default, null);\n\t};\n\t\n\texports.default = render;\n\n/***/ },\n/* 317 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _clientInstanceContainer = __webpack_require__(284);\n\t\n\tvar _clientInstanceContainer2 = _interopRequireDefault(_clientInstanceContainer);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar render = function render() {\n\t return _react2.default.createElement(_clientInstanceContainer2.default, null);\n\t};\n\t\n\texports.default = render;\n\n/***/ },\n/* 318 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _strategyContainer = __webpack_require__(286);\n\t\n\tvar _strategyContainer2 = _interopRequireDefault(_strategyContainer);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar render = function render() {\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(\n\t 'h5',\n\t null,\n\t 'Client Strategies'\n\t ),\n\t _react2.default.createElement(_strategyContainer2.default, null)\n\t );\n\t};\n\t\n\texports.default = render;\n\n/***/ },\n/* 319 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _formAddContainer = __webpack_require__(290);\n\t\n\tvar _formAddContainer2 = _interopRequireDefault(_formAddContainer);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar render = function render() {\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(\n\t 'h3',\n\t null,\n\t 'Create feature toggle'\n\t ),\n\t _react2.default.createElement(_formAddContainer2.default, null)\n\t );\n\t};\n\t\n\texports.default = render;\n\n/***/ },\n/* 320 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _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\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _formEditContainer = __webpack_require__(291);\n\t\n\tvar _formEditContainer2 = _interopRequireDefault(_formEditContainer);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Features = function (_Component) {\n\t _inherits(Features, _Component);\n\t\n\t function Features() {\n\t _classCallCheck(this, Features);\n\t\n\t return _possibleConstructorReturn(this, (Features.__proto__ || Object.getPrototypeOf(Features)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Features, [{\n\t key: 'render',\n\t value: function render() {\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(\n\t 'h3',\n\t null,\n\t 'Edit feature toggle'\n\t ),\n\t _react2.default.createElement(_formEditContainer2.default, { featureToggleName: this.props.params.name })\n\t );\n\t }\n\t }], [{\n\t key: 'propTypes',\n\t value: function propTypes() {\n\t return {\n\t params: _react.PropTypes.object.isRequired\n\t };\n\t }\n\t }]);\n\t\n\t return Features;\n\t}(_react.Component);\n\t\n\texports.default = Features;\n\t;\n\n/***/ },\n/* 321 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _listContainer = __webpack_require__(298);\n\t\n\tvar _listContainer2 = _interopRequireDefault(_listContainer);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar render = function render() {\n\t return _react2.default.createElement(_listContainer2.default, null);\n\t};\n\t\n\texports.default = render;\n\n/***/ },\n/* 322 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _historyContainer = __webpack_require__(299);\n\t\n\tvar _historyContainer2 = _interopRequireDefault(_historyContainer);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar render = function render() {\n\t return _react2.default.createElement(_historyContainer2.default, null);\n\t};\n\t\n\texports.default = render;\n\n/***/ },\n/* 323 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _metricsContainer = __webpack_require__(302);\n\t\n\tvar _metricsContainer2 = _interopRequireDefault(_metricsContainer);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar render = function render() {\n\t return _react2.default.createElement(_metricsContainer2.default, null);\n\t};\n\t\n\texports.default = render;\n\n/***/ },\n/* 324 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _addContainer = __webpack_require__(304);\n\t\n\tvar _addContainer2 = _interopRequireDefault(_addContainer);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = function () {\n\t return _react2.default.createElement(_addContainer2.default, null);\n\t};\n\n/***/ },\n/* 325 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _listContainer = __webpack_require__(307);\n\t\n\tvar _listContainer2 = _interopRequireDefault(_listContainer);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = function () {\n\t return _react2.default.createElement(_listContainer2.default, null);\n\t};\n\n/***/ },\n/* 326 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _immutable = __webpack_require__(22);\n\t\n\tvar _archiveActions = __webpack_require__(155);\n\t\n\tfunction getInitState() {\n\t return new _immutable.Map({ list: new _immutable.List() });\n\t}\n\t\n\tvar archiveStore = function archiveStore() {\n\t var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getInitState();\n\t var action = arguments[1];\n\t\n\t switch (action.type) {\n\t case _archiveActions.REVIVE_TOGGLE:\n\t return state.update('list', function (list) {\n\t return list.remove(list.indexOf(action.value));\n\t });\n\t case _archiveActions.RECEIVE_ARCHIVE:\n\t return state.set('list', new _immutable.List(action.value));\n\t default:\n\t return state;\n\t }\n\t};\n\t\n\texports.default = archiveStore;\n\n/***/ },\n/* 327 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _immutable = __webpack_require__(22);\n\t\n\tvar _clientInstanceActions = __webpack_require__(156);\n\t\n\tfunction getInitState() {\n\t return (0, _immutable.fromJS)([]);\n\t}\n\t\n\tvar store = function store() {\n\t var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getInitState();\n\t var action = arguments[1];\n\t\n\t switch (action.type) {\n\t case _clientInstanceActions.RECEIVE_CLIENT_INSTANCES:\n\t return (0, _immutable.fromJS)(action.value);\n\t default:\n\t return state;\n\t }\n\t};\n\t\n\texports.default = store;\n\n/***/ },\n/* 328 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _immutable = __webpack_require__(22);\n\t\n\tvar _clientStrategyActions = __webpack_require__(157);\n\t\n\tfunction getInitState() {\n\t return (0, _immutable.fromJS)([]);\n\t}\n\t\n\tvar store = function store() {\n\t var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getInitState();\n\t var action = arguments[1];\n\t\n\t switch (action.type) {\n\t case _clientStrategyActions.RECEIVE_CLIENT_STRATEGIES:\n\t return (0, _immutable.fromJS)(action.value);\n\t default:\n\t return state;\n\t }\n\t};\n\t\n\texports.default = store;\n\n/***/ },\n/* 329 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _immutable = __webpack_require__(22);\n\t\n\tvar _errorActions = __webpack_require__(158);\n\t\n\tvar _featureActions = __webpack_require__(61);\n\t\n\tvar debug = __webpack_require__(101)('unleash:error-store');\n\t\n\tfunction getInitState() {\n\t return new _immutable.Map({\n\t list: new _immutable.List()\n\t });\n\t}\n\t\n\tfunction addErrorIfNotAlreadyInList(state, error) {\n\t debug('Got error', error);\n\t if (state.get('list').indexOf(error) < 0) {\n\t return state.update('list', function (list) {\n\t return list.push(error);\n\t });\n\t }\n\t return state;\n\t}\n\t\n\tvar strategies = function strategies() {\n\t var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getInitState();\n\t var action = arguments[1];\n\t\n\t switch (action.type) {\n\t case _featureActions.ERROR_CREATING_FEATURE_TOGGLE:\n\t case _featureActions.ERROR_REMOVE_FEATURE_TOGGLE:\n\t case _featureActions.ERROR_FETCH_FEATURE_TOGGLES:\n\t case _featureActions.ERROR_UPDATE_FEATURE_TOGGLE:\n\t return addErrorIfNotAlreadyInList(state, action.error.message);\n\t case _errorActions.MUTE_ERROR:\n\t return state.update('list', function (list) {\n\t return list.remove(list.indexOf(action.error));\n\t });\n\t default:\n\t return state;\n\t }\n\t};\n\t\n\texports.default = strategies;\n\n/***/ },\n/* 330 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar defaultErrorMessage = 'Unexptected exception when talking to unleash-api';\n\t\n\tvar URI = '/api/metrics/features';\n\t\n\tfunction throwIfNotSuccess(response) {\n\t if (!response.ok) {\n\t if (response.status > 400 && response.status < 404) {\n\t return new Promise(function (resolve, reject) {\n\t response.json().then(function (body) {\n\t var errorMsg = body && body.length > 0 ? body[0].msg : defaultErrorMessage;\n\t var error = new Error(errorMsg);\n\t error.statusCode = response.status;\n\t reject(error);\n\t });\n\t });\n\t } else {\n\t return Promise.reject(new Error(defaultErrorMessage));\n\t }\n\t }\n\t return Promise.resolve(response);\n\t}\n\t\n\tfunction fetchFeatureMetrics() {\n\t return fetch(URI).then(throwIfNotSuccess).then(function (response) {\n\t return response.json();\n\t });\n\t}\n\t\n\tmodule.exports = {\n\t fetchFeatureMetrics: fetchFeatureMetrics\n\t};\n\n/***/ },\n/* 331 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _immutable = __webpack_require__(22);\n\t\n\tvar _featureMetricsActions = __webpack_require__(159);\n\t\n\tvar metrics = function metrics() {\n\t var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _immutable.fromJS)({ lastHour: {}, lastMinute: {} });\n\t var action = arguments[1];\n\t\n\t switch (action.type) {\n\t case _featureMetricsActions.RECEIVE_FEATURE_METRICS:\n\t return state.withMutations(function (ctx) {\n\t ctx.set('lastHour', new _immutable.Map(action.metrics.lastHour));\n\t ctx.set('lastMinute', new _immutable.Map(action.metrics.lastMinute));\n\t return ctx;\n\t });\n\t default:\n\t return state;\n\t }\n\t};\n\t\n\texports.default = metrics;\n\n/***/ },\n/* 332 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _immutable = __webpack_require__(22);\n\t\n\tvar _featureActions = __webpack_require__(61);\n\t\n\tvar debug = __webpack_require__(101)('unleash:feature-store');\n\t\n\tvar features = function features() {\n\t var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new _immutable.List([]);\n\t var action = arguments[1];\n\t\n\t switch (action.type) {\n\t case _featureActions.ADD_FEATURE_TOGGLE:\n\t debug(_featureActions.ADD_FEATURE_TOGGLE, action);\n\t return state.push(new _immutable.Map(action.featureToggle));\n\t case _featureActions.REMOVE_FEATURE_TOGGLE:\n\t debug(_featureActions.REMOVE_FEATURE_TOGGLE, action);\n\t return state.filter(function (toggle) {\n\t return toggle.get('name') !== action.featureToggleName;\n\t });\n\t case _featureActions.UPDATE_FEATURE_TOGGLE:\n\t debug(_featureActions.UPDATE_FEATURE_TOGGLE, action);\n\t return state.map(function (toggle) {\n\t if (toggle.get('name') === action.featureToggle.name) {\n\t return new _immutable.Map(action.featureToggle);\n\t } else {\n\t return toggle;\n\t }\n\t });\n\t case _featureActions.RECEIVE_FEATURE_TOGGLES:\n\t debug(_featureActions.RECEIVE_FEATURE_TOGGLES, action);\n\t return new _immutable.List(action.featureToggles.map(_immutable.Map));\n\t default:\n\t return state;\n\t }\n\t};\n\t\n\texports.default = features;\n\n/***/ },\n/* 333 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _immutable = __webpack_require__(22);\n\t\n\tvar _historyActions = __webpack_require__(160);\n\t\n\tfunction getInitState() {\n\t return new _immutable.Map({ list: new _immutable.List() });\n\t}\n\t\n\tvar historyStore = function historyStore() {\n\t var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getInitState();\n\t var action = arguments[1];\n\t\n\t switch (action.type) {\n\t case _historyActions.RECEIVE_HISTORY:\n\t return state.set('list', new _immutable.List(action.value));\n\t default:\n\t return state;\n\t }\n\t};\n\t\n\texports.default = historyStore;\n\n/***/ },\n/* 334 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _redux = __webpack_require__(153);\n\t\n\tvar _featureStore = __webpack_require__(332);\n\t\n\tvar _featureStore2 = _interopRequireDefault(_featureStore);\n\t\n\tvar _featureMetricsStore = __webpack_require__(331);\n\t\n\tvar _featureMetricsStore2 = _interopRequireDefault(_featureMetricsStore);\n\t\n\tvar _strategyStore = __webpack_require__(337);\n\t\n\tvar _strategyStore2 = _interopRequireDefault(_strategyStore);\n\t\n\tvar _inputStore = __webpack_require__(335);\n\t\n\tvar _inputStore2 = _interopRequireDefault(_inputStore);\n\t\n\tvar _historyStore = __webpack_require__(333);\n\t\n\tvar _historyStore2 = _interopRequireDefault(_historyStore);\n\t\n\tvar _archiveStore = __webpack_require__(326);\n\t\n\tvar _archiveStore2 = _interopRequireDefault(_archiveStore);\n\t\n\tvar _errorStore = __webpack_require__(329);\n\t\n\tvar _errorStore2 = _interopRequireDefault(_errorStore);\n\t\n\tvar _metricsStore = __webpack_require__(336);\n\t\n\tvar _metricsStore2 = _interopRequireDefault(_metricsStore);\n\t\n\tvar _clientStrategyStore = __webpack_require__(328);\n\t\n\tvar _clientStrategyStore2 = _interopRequireDefault(_clientStrategyStore);\n\t\n\tvar _clientInstanceStore = __webpack_require__(327);\n\t\n\tvar _clientInstanceStore2 = _interopRequireDefault(_clientInstanceStore);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar unleashStore = (0, _redux.combineReducers)({\n\t features: _featureStore2.default,\n\t featureMetrics: _featureMetricsStore2.default,\n\t strategies: _strategyStore2.default,\n\t input: _inputStore2.default,\n\t history: _historyStore2.default,\n\t archive: _archiveStore2.default,\n\t error: _errorStore2.default,\n\t metrics: _metricsStore2.default,\n\t clientStrategies: _clientStrategyStore2.default,\n\t clientInstances: _clientInstanceStore2.default\n\t}); // eslint-disable-line\n\texports.default = unleashStore;\n\n/***/ },\n/* 335 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _immutable = __webpack_require__(22);\n\t\n\tvar _inputActions = __webpack_require__(161);\n\t\n\tvar _inputActions2 = _interopRequireDefault(_inputActions);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction getInitState() {\n\t return new _immutable.Map();\n\t}\n\t\n\tfunction init(state, _ref) {\n\t var id = _ref.id,\n\t value = _ref.value;\n\t\n\t state = assertId(state, id);\n\t return state.setIn(id, (0, _immutable.fromJS)(value));\n\t}\n\t\n\tfunction assertId(state, id) {\n\t if (!state.hasIn(id)) {\n\t return state.setIn(id, new _immutable.Map({ inputId: id }));\n\t }\n\t return state;\n\t}\n\t\n\tfunction assertList(state, id, key) {\n\t if (!state.getIn(id).has(key)) {\n\t return state.setIn(id.concat([key]), new _immutable.List());\n\t }\n\t return state;\n\t}\n\t\n\tfunction setKeyValue(state, _ref2) {\n\t var id = _ref2.id,\n\t key = _ref2.key,\n\t value = _ref2.value;\n\t\n\t state = assertId(state, id);\n\t return state.setIn(id.concat([key]), value);\n\t}\n\t\n\tfunction increment(state, _ref3) {\n\t var id = _ref3.id,\n\t key = _ref3.key;\n\t\n\t state = assertId(state, id);\n\t return state.updateIn(id.concat([key]), function () {\n\t var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\t return value + 1;\n\t });\n\t}\n\t\n\tfunction clear(state, _ref4) {\n\t var id = _ref4.id;\n\t\n\t if (state.hasIn(id)) {\n\t return state.removeIn(id);\n\t }\n\t return state;\n\t}\n\t\n\tfunction addToList(state, _ref5) {\n\t var id = _ref5.id,\n\t key = _ref5.key,\n\t value = _ref5.value;\n\t\n\t state = assertId(state, id);\n\t state = assertList(state, id, key);\n\t\n\t return state.updateIn(id.concat([key]), function (list) {\n\t return list.push(value);\n\t });\n\t}\n\t\n\tfunction updateInList(state, _ref6) {\n\t var id = _ref6.id,\n\t key = _ref6.key,\n\t value = _ref6.value,\n\t newValue = _ref6.newValue;\n\t\n\t state = assertId(state, id);\n\t state = assertList(state, id, key);\n\t\n\t return state.updateIn(id.concat([key]), function (list) {\n\t return list.set(list.indexOf(value), newValue);\n\t });\n\t}\n\t\n\tfunction removeFromList(state, _ref7) {\n\t var id = _ref7.id,\n\t key = _ref7.key,\n\t value = _ref7.value;\n\t\n\t state = assertId(state, id);\n\t state = assertList(state, id, key);\n\t\n\t return state.updateIn(id.concat([key]), function (list) {\n\t return list.remove(list.indexOf(value));\n\t });\n\t}\n\t\n\tvar inputState = function inputState() {\n\t var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getInitState();\n\t var action = arguments[1];\n\t\n\t if (!action.id) {\n\t return state;\n\t }\n\t\n\t switch (action.type) {\n\t case _inputActions2.default.INIT:\n\t return init(state, action);\n\t case _inputActions2.default.SET_VALUE:\n\t if (_inputActions2.default.key != null && _inputActions2.default.value != null) {\n\t throw new Error('Missing required key / value');\n\t }\n\t return setKeyValue(state, action);\n\t case _inputActions2.default.INCREMENT_VALUE:\n\t return increment(state, action);\n\t case _inputActions2.default.LIST_PUSH:\n\t return addToList(state, action);\n\t case _inputActions2.default.LIST_POP:\n\t return removeFromList(state, action);\n\t case _inputActions2.default.LIST_UP:\n\t return updateInList(state, action);\n\t case _inputActions2.default.CLEAR:\n\t return clear(state, action);\n\t default:\n\t // console.log('TYPE', action.type, action);\n\t return state;\n\t }\n\t};\n\t\n\texports.default = inputState;\n\n/***/ },\n/* 336 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _immutable = __webpack_require__(22);\n\t\n\tvar _metricsActions = __webpack_require__(162);\n\t\n\tfunction getInitState() {\n\t return (0, _immutable.fromJS)({\n\t totalCount: 0,\n\t apps: [],\n\t clients: {}\n\t });\n\t}\n\t\n\tvar historyStore = function historyStore() {\n\t var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getInitState();\n\t var action = arguments[1];\n\t\n\t switch (action.type) {\n\t case _metricsActions.RECEIVE_METRICS:\n\t return (0, _immutable.fromJS)(action.value);\n\t default:\n\t return state;\n\t }\n\t};\n\t\n\texports.default = historyStore;\n\n/***/ },\n/* 337 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _immutable = __webpack_require__(22);\n\t\n\tvar _strategyActions = __webpack_require__(75);\n\t\n\tfunction getInitState() {\n\t return new _immutable.Map({ list: new _immutable.List() });\n\t}\n\t\n\tfunction removeStrategy(state, action) {\n\t var indexToRemove = state.get('list').indexOf(action.strategy);\n\t if (indexToRemove !== -1) {\n\t return state.update('list', function (list) {\n\t return list.remove(indexToRemove);\n\t });\n\t }\n\t return state;\n\t}\n\t\n\tvar strategies = function strategies() {\n\t var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getInitState();\n\t var action = arguments[1];\n\t\n\t switch (action.type) {\n\t case _strategyActions.RECEIVE_STRATEGIES:\n\t return state.set('list', new _immutable.List(action.value));\n\t case _strategyActions.REMOVE_STRATEGY:\n\t return removeStrategy(state, action);\n\t case _strategyActions.ADD_STRATEGY:\n\t return state.update('list', function (list) {\n\t return list.push(action.strategy);\n\t });\n\t default:\n\t return state;\n\t }\n\t};\n\t\n\texports.default = strategies;\n\n/***/ },\n/* 338 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\n\t/**\n\t * This is the common logic for both the Node.js and web browser\n\t * implementations of `debug()`.\n\t *\n\t * Expose `debug()` as the module.\n\t */\n\t\n\texports = module.exports = debug.debug = debug;\n\texports.coerce = coerce;\n\texports.disable = disable;\n\texports.enable = enable;\n\texports.enabled = enabled;\n\texports.humanize = __webpack_require__(402);\n\t\n\t/**\n\t * The currently active debug mode names, and names to skip.\n\t */\n\t\n\texports.names = [];\n\texports.skips = [];\n\t\n\t/**\n\t * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t *\n\t * Valid key names are a single, lowercased letter, i.e. \"n\".\n\t */\n\t\n\texports.formatters = {};\n\t\n\t/**\n\t * Previously assigned color.\n\t */\n\t\n\tvar prevColor = 0;\n\t\n\t/**\n\t * Previous log timestamp.\n\t */\n\t\n\tvar prevTime;\n\t\n\t/**\n\t * Select a color.\n\t *\n\t * @return {Number}\n\t * @api private\n\t */\n\t\n\tfunction selectColor() {\n\t return exports.colors[prevColor++ % exports.colors.length];\n\t}\n\t\n\t/**\n\t * Create a debugger with the given `namespace`.\n\t *\n\t * @param {String} namespace\n\t * @return {Function}\n\t * @api public\n\t */\n\t\n\tfunction debug(namespace) {\n\t\n\t // define the `disabled` version\n\t function disabled() {\n\t }\n\t disabled.enabled = false;\n\t\n\t // define the `enabled` version\n\t function enabled() {\n\t\n\t var self = enabled;\n\t\n\t // set `diff` timestamp\n\t var curr = +new Date();\n\t var ms = curr - (prevTime || curr);\n\t self.diff = ms;\n\t self.prev = prevTime;\n\t self.curr = curr;\n\t prevTime = curr;\n\t\n\t // add the `color` if not set\n\t if (null == self.useColors) self.useColors = exports.useColors();\n\t if (null == self.color && self.useColors) self.color = selectColor();\n\t\n\t var args = new Array(arguments.length);\n\t for (var i = 0; i < args.length; i++) {\n\t args[i] = arguments[i];\n\t }\n\t\n\t args[0] = exports.coerce(args[0]);\n\t\n\t if ('string' !== typeof args[0]) {\n\t // anything else let's inspect with %o\n\t args = ['%o'].concat(args);\n\t }\n\t\n\t // apply any `formatters` transformations\n\t var index = 0;\n\t args[0] = args[0].replace(/%([a-z%])/g, function(match, format) {\n\t // if we encounter an escaped % then don't increase the array index\n\t if (match === '%%') return match;\n\t index++;\n\t var formatter = exports.formatters[format];\n\t if ('function' === typeof formatter) {\n\t var val = args[index];\n\t match = formatter.call(self, val);\n\t\n\t // now we need to remove `args[index]` since it's inlined in the `format`\n\t args.splice(index, 1);\n\t index--;\n\t }\n\t return match;\n\t });\n\t\n\t // apply env-specific formatting\n\t args = exports.formatArgs.apply(self, args);\n\t\n\t var logFn = enabled.log || exports.log || console.log.bind(console);\n\t logFn.apply(self, args);\n\t }\n\t enabled.enabled = true;\n\t\n\t var fn = exports.enabled(namespace) ? enabled : disabled;\n\t\n\t fn.namespace = namespace;\n\t\n\t return fn;\n\t}\n\t\n\t/**\n\t * Enables a debug mode by namespaces. This can include modes\n\t * separated by a colon and wildcards.\n\t *\n\t * @param {String} namespaces\n\t * @api public\n\t */\n\t\n\tfunction enable(namespaces) {\n\t exports.save(namespaces);\n\t\n\t var split = (namespaces || '').split(/[\\s,]+/);\n\t var len = split.length;\n\t\n\t for (var i = 0; i < len; i++) {\n\t if (!split[i]) continue; // ignore empty strings\n\t namespaces = split[i].replace(/[\\\\^$+?.()|[\\]{}]/g, '\\\\$&').replace(/\\*/g, '.*?');\n\t if (namespaces[0] === '-') {\n\t exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n\t } else {\n\t exports.names.push(new RegExp('^' + namespaces + '$'));\n\t }\n\t }\n\t}\n\t\n\t/**\n\t * Disable debug output.\n\t *\n\t * @api public\n\t */\n\t\n\tfunction disable() {\n\t exports.enable('');\n\t}\n\t\n\t/**\n\t * Returns true if the given mode name is enabled, false otherwise.\n\t *\n\t * @param {String} name\n\t * @return {Boolean}\n\t * @api public\n\t */\n\t\n\tfunction enabled(name) {\n\t var i, len;\n\t for (i = 0, len = exports.skips.length; i < len; i++) {\n\t if (exports.skips[i].test(name)) {\n\t return false;\n\t }\n\t }\n\t for (i = 0, len = exports.names.length; i < len; i++) {\n\t if (exports.names[i].test(name)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\t/**\n\t * Coerce `val`.\n\t *\n\t * @param {Mixed} val\n\t * @return {Mixed}\n\t * @api private\n\t */\n\t\n\tfunction coerce(val) {\n\t if (val instanceof Error) return val.stack || val.message;\n\t return val;\n\t}\n\n\n/***/ },\n/* 339 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar pSlice = Array.prototype.slice;\n\tvar objectKeys = __webpack_require__(341);\n\tvar isArguments = __webpack_require__(340);\n\t\n\tvar deepEqual = module.exports = function (actual, expected, opts) {\n\t if (!opts) opts = {};\n\t // 7.1. All identical values are equivalent, as determined by ===.\n\t if (actual === expected) {\n\t return true;\n\t\n\t } else if (actual instanceof Date && expected instanceof Date) {\n\t return actual.getTime() === expected.getTime();\n\t\n\t // 7.3. Other pairs that do not both pass typeof value == 'object',\n\t // equivalence is determined by ==.\n\t } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n\t return opts.strict ? actual === expected : actual == expected;\n\t\n\t // 7.4. For all other Object pairs, including Array objects, equivalence is\n\t // determined by having the same number of owned properties (as verified\n\t // with Object.prototype.hasOwnProperty.call), the same set of keys\n\t // (although not necessarily the same order), equivalent values for every\n\t // corresponding key, and an identical 'prototype' property. Note: this\n\t // accounts for both named and indexed properties on Arrays.\n\t } else {\n\t return objEquiv(actual, expected, opts);\n\t }\n\t}\n\t\n\tfunction isUndefinedOrNull(value) {\n\t return value === null || value === undefined;\n\t}\n\t\n\tfunction isBuffer (x) {\n\t if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n\t if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n\t return false;\n\t }\n\t if (x.length > 0 && typeof x[0] !== 'number') return false;\n\t return true;\n\t}\n\t\n\tfunction objEquiv(a, b, opts) {\n\t var i, key;\n\t if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n\t return false;\n\t // an identical 'prototype' property.\n\t if (a.prototype !== b.prototype) return false;\n\t //~~~I've managed to break Object.keys through screwy arguments passing.\n\t // Converting to array solves the problem.\n\t if (isArguments(a)) {\n\t if (!isArguments(b)) {\n\t return false;\n\t }\n\t a = pSlice.call(a);\n\t b = pSlice.call(b);\n\t return deepEqual(a, b, opts);\n\t }\n\t if (isBuffer(a)) {\n\t if (!isBuffer(b)) {\n\t return false;\n\t }\n\t if (a.length !== b.length) return false;\n\t for (i = 0; i < a.length; i++) {\n\t if (a[i] !== b[i]) return false;\n\t }\n\t return true;\n\t }\n\t try {\n\t var ka = objectKeys(a),\n\t kb = objectKeys(b);\n\t } catch (e) {//happens when one is a string literal and the other isn't\n\t return false;\n\t }\n\t // having the same number of owned properties (keys incorporates\n\t // hasOwnProperty)\n\t if (ka.length != kb.length)\n\t return false;\n\t //the same set of keys (although not necessarily the same order),\n\t ka.sort();\n\t kb.sort();\n\t //~~~cheap key test\n\t for (i = ka.length - 1; i >= 0; i--) {\n\t if (ka[i] != kb[i])\n\t return false;\n\t }\n\t //equivalent values for every corresponding key, and\n\t //~~~possibly expensive deep test\n\t for (i = ka.length - 1; i >= 0; i--) {\n\t key = ka[i];\n\t if (!deepEqual(a[key], b[key], opts)) return false;\n\t }\n\t return typeof a === typeof b;\n\t}\n\n\n/***/ },\n/* 340 */\n/***/ function(module, exports) {\n\n\tvar supportsArgumentsClass = (function(){\n\t return Object.prototype.toString.call(arguments)\n\t})() == '[object Arguments]';\n\t\n\texports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\t\n\texports.supported = supported;\n\tfunction supported(object) {\n\t return Object.prototype.toString.call(object) == '[object Arguments]';\n\t};\n\t\n\texports.unsupported = unsupported;\n\tfunction unsupported(object){\n\t return object &&\n\t typeof object == 'object' &&\n\t typeof object.length == 'number' &&\n\t Object.prototype.hasOwnProperty.call(object, 'callee') &&\n\t !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n\t false;\n\t};\n\n\n/***/ },\n/* 341 */\n/***/ function(module, exports) {\n\n\texports = module.exports = typeof Object.keys === 'function'\n\t ? Object.keys : shim;\n\t\n\texports.shim = shim;\n\tfunction shim (obj) {\n\t var keys = [];\n\t for (var key in obj) keys.push(key);\n\t return keys;\n\t}\n\n\n/***/ },\n/* 342 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"slide-left__appBar___1UiiK\",\"leftIcon\":\"slide-left__leftIcon___1yuTO\",\"enter\":\"slide-left__enter___UDCzm\",\"leave\":\"slide-left__leave___1yls4\",\"enterActive\":\"slide-left__enterActive___2llDv\",\"leaveActive\":\"slide-left__leaveActive___1ImVa\"};\n\n/***/ },\n/* 343 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"slide-right__appBar___1KcZ2\",\"leftIcon\":\"slide-right__leftIcon___3M3jG\",\"enter\":\"slide-right__enter___8bk-m\",\"leave\":\"slide-right__leave___3NliL\",\"enterActive\":\"slide-right__enterActive___3pxpZ\",\"leaveActive\":\"slide-right__leaveActive___3spKq\"};\n\n/***/ },\n/* 344 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"zoom-in__appBar___2O6cF\",\"leftIcon\":\"zoom-in__leftIcon___1BhB2\",\"enter\":\"zoom-in__enter___3Ti1d\",\"leave\":\"zoom-in__leave___3EnQZ\",\"enterActive\":\"zoom-in__enterActive___1eFhL\",\"leaveActive\":\"zoom-in__leaveActive___3dBpi\"};\n\n/***/ },\n/* 345 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"zoom-out__appBar___10-N7\",\"leftIcon\":\"zoom-out__leftIcon___1W_Cc\",\"enter\":\"zoom-out__enter___xiACW\",\"leave\":\"zoom-out__leave___3wDWL\",\"enterActive\":\"zoom-out__enterActive___3QrhD\",\"leaveActive\":\"zoom-out__leaveActive___3C11f\"};\n\n/***/ },\n/* 346 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___wbg0y\",\"leftIcon\":\"theme__leftIcon___3lBT0\",\"flat\":\"theme__flat___1lt-1\",\"fixed\":\"theme__fixed___3rLFE\",\"title\":\"theme__title___mFCzt\",\"rightIcon\":\"theme__rightIcon___3I1u6\",\"scrollHide\":\"theme__scrollHide___375zR\"};\n\n/***/ },\n/* 347 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___2fSYw\",\"leftIcon\":\"theme__leftIcon___1rJ-V\",\"autocomplete\":\"theme__autocomplete___13r65\",\"focus\":\"theme__focus___35ZTa\",\"label\":\"theme__label___1Krlv\",\"suggestions\":\"theme__suggestions___3bxnc\",\"values\":\"theme__values___ky6NA\",\"value\":\"theme__value___26Cd8\",\"up\":\"theme__up___FUauw\",\"suggestion\":\"theme__suggestion___shQpe\",\"active\":\"theme__active___nQ-Lu\",\"input\":\"theme__input___77Yss\"};\n\n/***/ },\n/* 348 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___3jHHE\",\"leftIcon\":\"theme__leftIcon___1QZXi\",\"avatar\":\"theme__avatar___3GCeP\",\"image\":\"theme__image___1H3TP\",\"letter\":\"theme__letter___34Q66\"};\n\n/***/ },\n/* 349 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___1rKyK\",\"leftIcon\":\"theme__leftIcon___5TKFl\",\"button\":\"theme__button___1iKuo\",\"raised\":\"theme__raised___ONZv6\",\"flat\":\"theme__flat___2ui7t\",\"floating\":\"theme__floating___1mZ5E\",\"toggle\":\"theme__toggle___1Zy-o\",\"rippleWrapper\":\"theme__rippleWrapper___2zthi\",\"icon\":\"theme__icon___1BTd6\",\"mini\":\"theme__mini___2oXdC\",\"neutral\":\"theme__neutral___uDC3j\",\"inverse\":\"theme__inverse___2Z8iZ\",\"primary\":\"theme__primary___2NhN1\",\"accent\":\"theme__accent___3MS_k\"};\n\n/***/ },\n/* 350 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___1RO6y\",\"leftIcon\":\"theme__leftIcon___2lAoa\",\"card\":\"theme__card___2nWQb\",\"raised\":\"theme__raised___2PPOH\",\"cardMedia\":\"theme__cardMedia___3WTvG\",\"wide\":\"theme__wide___3c58S\",\"square\":\"theme__square___1a9i8\",\"content\":\"theme__content___Fopuf\",\"contentOverlay\":\"theme__contentOverlay___1KYpi\",\"cardTitle\":\"theme__cardTitle___3Tyrr\",\"cardActions\":\"theme__cardActions___1aHjq\",\"cardText\":\"theme__cardText___3ElKZ\",\"subtitle\":\"theme__subtitle___grD6g\",\"large\":\"theme__large___3eNqf\",\"title\":\"theme__title___35Wsy\",\"small\":\"theme__small___3Q56x\"};\n\n/***/ },\n/* 351 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___1F_Im\",\"leftIcon\":\"theme__leftIcon___2x4_i\",\"field\":\"theme__field___14tiU\",\"ripple\":\"theme__ripple___1-Txn\",\"text\":\"theme__text___1nV6f\",\"input\":\"theme__input___3zqc3\",\"check\":\"theme__check___2B20W\",\"checked\":\"theme__checked___2NQ9n\",\"checkmark-expand\":\"theme__checkmark-expand___1k7UD\",\"disabled\":\"theme__disabled___3tar9\"};\n\n/***/ },\n/* 352 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___4dD4S\",\"leftIcon\":\"theme__leftIcon___1Y1OM\",\"chip\":\"theme__chip___3Gjj_\",\"avatar\":\"theme__avatar___1IEZZ\",\"deletable\":\"theme__deletable___3k2SH\",\"delete\":\"theme__delete___2LAZw\",\"deleteIcon\":\"theme__deleteIcon___3XWBI\",\"deleteX\":\"theme__deleteX___2hNz-\"};\n\n/***/ },\n/* 353 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___2I5d9\",\"leftIcon\":\"theme__leftIcon___qjxrR\",\"input\":\"theme__input___1TiDt\",\"disabled\":\"theme__disabled___2N4Gy\",\"inputElement\":\"theme__inputElement___1oBGc\",\"header\":\"theme__header___1DCA-\",\"year\":\"theme__year___38-P5\",\"date\":\"theme__date___2R1Ad\",\"calendarWrapper\":\"theme__calendarWrapper___15gNf\",\"yearsDisplay\":\"theme__yearsDisplay___24Iwn\",\"monthsDisplay\":\"theme__monthsDisplay___5fYTt\",\"dialog\":\"theme__dialog___1RQhu\",\"button\":\"theme__button___14VKJ\",\"calendar\":\"theme__calendar___1I5OE\",\"prev\":\"theme__prev___xfk7M\",\"next\":\"theme__next___11dJn\",\"title\":\"theme__title___2Ue3-\",\"years\":\"theme__years___3xKtS\",\"active\":\"theme__active___2k63V\",\"week\":\"theme__week___17JkF\",\"days\":\"theme__days___3kAIy\",\"day\":\"theme__day___3cb3g\",\"month\":\"theme__month___27O28\"};\n\n/***/ },\n/* 354 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___2X-3I\",\"leftIcon\":\"theme__leftIcon___w162n\",\"dialog\":\"theme__dialog___1f3Zg\",\"active\":\"theme__active___3rz6t\",\"small\":\"theme__small___WKoav\",\"normal\":\"theme__normal___1WehK\",\"large\":\"theme__large___10bxm\",\"fullscreen\":\"theme__fullscreen___2Akul\",\"title\":\"theme__title____sEzV\",\"body\":\"theme__body___1_nNM\",\"navigation\":\"theme__navigation___3eiS-\",\"button\":\"theme__button___3HGWm\"};\n\n/***/ },\n/* 355 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___244Wm\",\"leftIcon\":\"theme__leftIcon___1wp1p\",\"drawer\":\"theme__drawer___3cqqC\",\"active\":\"theme__active___2tbs1\",\"right\":\"theme__right___ZJiGp\",\"left\":\"theme__left___wQVqA\"};\n\n/***/ },\n/* 356 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___1aJnY\",\"leftIcon\":\"theme__leftIcon___3LsKr\",\"dropdown\":\"theme__dropdown___co-4M\",\"active\":\"theme__active___31xyK\",\"values\":\"theme__values___1jS4g\",\"label\":\"theme__label___1lqXI\",\"value\":\"theme__value___mflIw\",\"up\":\"theme__up___3kWOP\",\"disabled\":\"theme__disabled___3yAxB\",\"field\":\"theme__field___1elDx\",\"errored\":\"theme__errored___w5ZKs\",\"templateValue\":\"theme__templateValue___3if5o\",\"required\":\"theme__required___28L-E\",\"error\":\"theme__error___2QR6b\",\"selected\":\"theme__selected___2Uc3r\"};\n\n/***/ },\n/* 357 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___2SzKQ\",\"leftIcon\":\"theme__leftIcon___GXvRT\",\"input\":\"theme__input___qUQeP\",\"withIcon\":\"theme__withIcon___f6YT1\",\"icon\":\"theme__icon___1_C6Z\",\"inputElement\":\"theme__inputElement___27dyY\",\"bar\":\"theme__bar___2GHeb\",\"label\":\"theme__label___tqKDt\",\"fixed\":\"theme__fixed___2pXa4\",\"required\":\"theme__required___2OgFq\",\"hint\":\"theme__hint___2D9g-\",\"filled\":\"theme__filled___1UI7Z\",\"error\":\"theme__error___3ilni\",\"counter\":\"theme__counter___398RE\",\"disabled\":\"theme__disabled___6VTPW\",\"errored\":\"theme__errored___3peD4\",\"hidden\":\"theme__hidden___3lRxh\"};\n\n/***/ },\n/* 358 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___3tRwD\",\"leftIcon\":\"theme__leftIcon___1bMFQ\",\"layout\":\"theme__layout___2DIC_\",\"navDrawer\":\"theme__navDrawer___1rdra\",\"scrim\":\"theme__scrim___2QDhH\",\"drawerContent\":\"theme__drawerContent___unz6w\",\"scrollY\":\"theme__scrollY___1AG90\",\"pinned\":\"theme__pinned___oVgJU\",\"active\":\"theme__active___1P57z\",\"wide\":\"theme__wide___3X5rC\",\"smPermanent\":\"theme__smPermanent___1QkG3\",\"smTabletPermanent\":\"theme__smTabletPermanent___1Ntvp\",\"mdPermanent\":\"theme__mdPermanent___3v_k7\",\"lgPermanent\":\"theme__lgPermanent___3rQEf\",\"lgTabletPermanent\":\"theme__lgTabletPermanent___NlW9h\",\"xlPermanent\":\"theme__xlPermanent___3O4lD\",\"xxlPermanent\":\"theme__xxlPermanent___yB-xN\",\"xxxlPermanent\":\"theme__xxxlPermanent___2PMir\",\"panel\":\"theme__panel___o2a2H\",\"sidebar\":\"theme__sidebar___t1TKH\",\"sidebarContent\":\"theme__sidebarContent___1MT-m\",\"width-1\":\"theme__width-1___3dCDA\",\"width-2\":\"theme__width-2___2OjoL\",\"width-3\":\"theme__width-3___26_RL\",\"width-4\":\"theme__width-4___kGxrf\",\"width-5\":\"theme__width-5___3HyHQ\",\"width-6\":\"theme__width-6___VWIJh\",\"width-7\":\"theme__width-7___RMBsM\",\"width-8\":\"theme__width-8___2p9V4\",\"width-9\":\"theme__width-9___3JV_V\",\"width-10\":\"theme__width-10___IFhjC\",\"width-11\":\"theme__width-11___2gqr4\",\"width-12\":\"theme__width-12___3Fqrn\",\"width-100\":\"theme__width-100___cH-H3\",\"width-25\":\"theme__width-25___2wWPw\",\"width-33\":\"theme__width-33___1MMwi\",\"width-50\":\"theme__width-50___gURY4\",\"width-66\":\"theme__width-66___1TeEX\",\"width-75\":\"theme__width-75___1smcb\"};\n\n/***/ },\n/* 359 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___dN1pC\",\"leftIcon\":\"theme__leftIcon___3ES1A\",\"icon\":\"theme__icon___oJcgi\",\"link\":\"theme__link___AKdRk\",\"active\":\"theme__active___1r_T0\"};\n\n/***/ },\n/* 360 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___gIPrW\",\"leftIcon\":\"theme__leftIcon___2I8jT\",\"list\":\"theme__list___3Ahlg\",\"subheader\":\"theme__subheader___2hnyo\",\"divider\":\"theme__divider___1WuUG\",\"inset\":\"theme__inset___2XT51\",\"listItem\":\"theme__listItem___25deI\",\"ripple\":\"theme__ripple___3BKMI\",\"item\":\"theme__item___QgVrb\",\"selectable\":\"theme__selectable___pSlvM\",\"disabled\":\"theme__disabled___281Pb\",\"checkboxItem\":\"theme__checkboxItem___3FtoG\",\"checkbox\":\"theme__checkbox___2pdgS\",\"left\":\"theme__left___1KL1E\",\"right\":\"theme__right___3itF1\",\"itemAction\":\"theme__itemAction___1SOd4\",\"itemContentRoot\":\"theme__itemContentRoot___3ofPf\",\"large\":\"theme__large___2vIAA\",\"itemText\":\"theme__itemText___D709k\",\"primary\":\"theme__primary___22ZvQ\"};\n\n/***/ },\n/* 361 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___vb_tT\",\"leftIcon\":\"theme__leftIcon___3XL3d\",\"iconMenu\":\"theme__iconMenu___1K6XK\",\"icon\":\"theme__icon___Q98zC\",\"menu\":\"theme__menu___2bOZL\",\"topLeft\":\"theme__topLeft___49yru\",\"outline\":\"theme__outline___3LItQ\",\"topRight\":\"theme__topRight___tGYgQ\",\"bottomLeft\":\"theme__bottomLeft___1TaYY\",\"bottomRight\":\"theme__bottomRight___1_dUK\",\"static\":\"theme__static___25uHO\",\"menuInner\":\"theme__menuInner___1k3_X\",\"rippled\":\"theme__rippled___2pZcI\",\"active\":\"theme__active___3owm6\",\"menuItem\":\"theme__menuItem___3SQPN\",\"disabled\":\"theme__disabled___tYdgT\",\"selected\":\"theme__selected___3zlED\",\"ripple\":\"theme__ripple___2PP2K\",\"caption\":\"theme__caption___1TBtj\",\"shortcut\":\"theme__shortcut___1VR3f\",\"menuDivider\":\"theme__menuDivider___2aLZ3\"};\n\n/***/ },\n/* 362 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___3vVYr\",\"leftIcon\":\"theme__leftIcon___38eXj\",\"horizontal\":\"theme__horizontal___1Gx6_\",\"vertical\":\"theme__vertical___29Teo\"};\n\n/***/ },\n/* 363 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___3oatc\",\"leftIcon\":\"theme__leftIcon___3cLrb\",\"overlay\":\"theme__overlay___PiEHX\",\"invisible\":\"theme__invisible___3SslD\",\"backdrop\":\"theme__backdrop___WbaQn\",\"active\":\"theme__active___2oZU5\"};\n\n/***/ },\n/* 364 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___1LLlo\",\"leftIcon\":\"theme__leftIcon___2Rok4\",\"linear\":\"theme__linear___Ljn5d\",\"indeterminate\":\"theme__indeterminate___3-YPh\",\"value\":\"theme__value___xShnS\",\"linear-indeterminate-bar\":\"theme__linear-indeterminate-bar___rBsh8\",\"buffer\":\"theme__buffer___2D7u0\",\"circular\":\"theme__circular___1e2Sg\",\"circle\":\"theme__circle___3GNXM\",\"circular-indeterminate-bar-rotate\":\"theme__circular-indeterminate-bar-rotate___3OG7F\",\"path\":\"theme__path___15ZCl\",\"circular-indeterminate-bar-dash\":\"theme__circular-indeterminate-bar-dash___3AlSL\",\"multicolor\":\"theme__multicolor___1RiLp\",\"colors\":\"theme__colors___2VEin\"};\n\n/***/ },\n/* 365 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___14KHu\",\"leftIcon\":\"theme__leftIcon___1slHy\",\"radio\":\"theme__radio___-qz0o\",\"radioChecked\":\"theme__radioChecked___37vlk\",\"ripple\":\"theme__ripple___3p5ha\",\"field\":\"theme__field___30YjY\",\"disabled\":\"theme__disabled___15z04\",\"text\":\"theme__text___1gqkQ\",\"input\":\"theme__input___Z_QPq\"};\n\n/***/ },\n/* 366 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___1lLmP\",\"leftIcon\":\"theme__leftIcon___1eDUp\",\"ripple\":\"theme__ripple___3cRG3\",\"rippleWrapper\":\"theme__rippleWrapper___2AWhQ\",\"rippleRestarting\":\"theme__rippleRestarting___y45XA\",\"rippleActive\":\"theme__rippleActive___1QiQf\"};\n\n/***/ },\n/* 367 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___riQiZ\",\"leftIcon\":\"theme__leftIcon___2Ur1R\",\"container\":\"theme__container___3AsSH\",\"knob\":\"theme__knob____QAHG\",\"innerknob\":\"theme__innerknob___20XNj\",\"snaps\":\"theme__snaps___3KjIu\",\"snap\":\"theme__snap___3PGtj\",\"input\":\"theme__input___3BSW2\",\"progress\":\"theme__progress___xkm0P\",\"innerprogress\":\"theme__innerprogress____LUK-\",\"slider\":\"theme__slider___2H6aE\",\"editable\":\"theme__editable___3fZo3\",\"pinned\":\"theme__pinned___3tZ7h\",\"pressed\":\"theme__pressed___1GzJj\",\"ring\":\"theme__ring___N87_t\"};\n\n/***/ },\n/* 368 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___11-4v\",\"leftIcon\":\"theme__leftIcon___19DBP\",\"snackbar\":\"theme__snackbar___33MRN\",\"accept\":\"theme__accept___I_Pq1\",\"button\":\"theme__button___psiy3\",\"warning\":\"theme__warning___29XlW\",\"cancel\":\"theme__cancel___1C-_T\",\"active\":\"theme__active___1U6m8\",\"label\":\"theme__label___2EWLb\"};\n\n/***/ },\n/* 369 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___VjGRM\",\"leftIcon\":\"theme__leftIcon___LSwLz\",\"field\":\"theme__field___2rog8\",\"disabled\":\"theme__disabled___3HqAo\",\"text\":\"theme__text___3b1B6\",\"on\":\"theme__on___3ocqI\",\"off\":\"theme__off___Ih3qa\",\"thumb\":\"theme__thumb___3ryrT\",\"ripple\":\"theme__ripple___1A_Pi\",\"input\":\"theme__input___10E4S\",\"switch-on\":\"theme__switch-on___2n4g1\",\"switch-off\":\"theme__switch-off___105FO\"};\n\n/***/ },\n/* 370 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___1A6jo\",\"leftIcon\":\"theme__leftIcon___1qNaG\",\"table\":\"theme__table___3Gpgy\",\"selectable\":\"theme__selectable___3T6wF\",\"row\":\"theme__row___2iik7\",\"selected\":\"theme__selected___3xb9B\",\"editable\":\"theme__editable___1aYHG\"};\n\n/***/ },\n/* 371 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___2H8Dk\",\"leftIcon\":\"theme__leftIcon___1k5c_\",\"tabs\":\"theme__tabs___2lGJI\",\"navigation\":\"theme__navigation___2N9WO\",\"label\":\"theme__label___3A-Tl\",\"active\":\"theme__active___2SLiK\",\"disabled\":\"theme__disabled___1mq-I\",\"hidden\":\"theme__hidden___1XZZy\",\"withIcon\":\"theme__withIcon___pi4k-\",\"withText\":\"theme__withText___2-Su2\",\"icon\":\"theme__icon___wI5gE\",\"pointer\":\"theme__pointer___pWCM7\",\"tab\":\"theme__tab___2YMGw\",\"fixed\":\"theme__fixed___3dgXb\",\"inverse\":\"theme__inverse___x1bCH\"};\n\n/***/ },\n/* 372 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___1YYRj\",\"leftIcon\":\"theme__leftIcon___1J-bZ\",\"input\":\"theme__input___33OFH\",\"disabled\":\"theme__disabled___3zAd9\",\"inputElement\":\"theme__inputElement___3V_R1\",\"header\":\"theme__header___B8avX\",\"hours\":\"theme__hours___2bCtV\",\"minutes\":\"theme__minutes___fKY3r\",\"separator\":\"theme__separator___1wf1f\",\"ampm\":\"theme__ampm___2zwK2\",\"am\":\"theme__am___ZDt_I\",\"pm\":\"theme__pm___15BOL\",\"dialog\":\"theme__dialog___2xstp\",\"button\":\"theme__button___2Naxh\",\"hoursDisplay\":\"theme__hoursDisplay___2XYVr\",\"minutesDisplay\":\"theme__minutesDisplay___2lM_9\",\"amFormat\":\"theme__amFormat___3V_aj\",\"pmFormat\":\"theme__pmFormat___EeG6D\",\"clock\":\"theme__clock___2Wdtj\",\"placeholder\":\"theme__placeholder___49iU5\",\"clockWrapper\":\"theme__clockWrapper___nVLna\",\"face\":\"theme__face___3ZQPp\",\"number\":\"theme__number___19LR-\",\"active\":\"theme__active___2hiVT\",\"hand\":\"theme__hand___Ff-XL\",\"small\":\"theme__small___Cthf4\",\"knob\":\"theme__knob___3yr7J\"};\n\n/***/ },\n/* 373 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"theme__appBar___1nHiw\",\"leftIcon\":\"theme__leftIcon___3cGHC\",\"tooltip\":\"theme__tooltip___3uHDc\",\"tooltipActive\":\"theme__tooltipActive___3FruK\",\"tooltipTop\":\"theme__tooltipTop___2JE6v\",\"tooltipLeft\":\"theme__tooltipLeft___3S-DF\",\"tooltipRight\":\"theme__tooltipRight___DIPzx\",\"tooltipInner\":\"theme__tooltipInner___3yZfk\"};\n\n/***/ },\n/* 374 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"feature__appBar___1GfwZ\",\"leftIcon\":\"feature__leftIcon___1s6f_\",\"link\":\"feature__link___17O3D\",\"action\":\"feature__action___3x5M_\",\"yes\":\"feature__yes___hSOLA\",\"no\":\"feature__no___2MSTG\"};\n\n/***/ },\n/* 375 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"appBar\":\"strategies__appBar___2B544\",\"leftIcon\":\"strategies__leftIcon___1aoFW\",\"non-style-button\":\"strategies__non-style-button___1iQRq\"};\n\n/***/ },\n/* 376 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @typechecks\n\t */\n\t\n\tvar invariant = __webpack_require__(5);\n\t\n\t/**\n\t * The CSSCore module specifies the API (and implements most of the methods)\n\t * that should be used when dealing with the display of elements (via their\n\t * CSS classes and visibility on screen. It is an API focused on mutating the\n\t * display and not reading it as no logical state should be encoded in the\n\t * display of elements.\n\t */\n\t\n\t/* Slow implementation for browsers that don't natively support .matches() */\n\tfunction matchesSelector_SLOW(element, selector) {\n\t var root = element;\n\t while (root.parentNode) {\n\t root = root.parentNode;\n\t }\n\t\n\t var all = root.querySelectorAll(selector);\n\t return Array.prototype.indexOf.call(all, element) !== -1;\n\t}\n\t\n\tvar CSSCore = {\n\t\n\t /**\n\t * Adds the class passed in to the element if it doesn't already have it.\n\t *\n\t * @param {DOMElement} element the element to set the class on\n\t * @param {string} className the CSS className\n\t * @return {DOMElement} the element passed in\n\t */\n\t addClass: function addClass(element, className) {\n\t !!/\\s/.test(className) ? false ? invariant(false, 'CSSCore.addClass takes only a single class name. \"%s\" contains ' + 'multiple classes.', className) : invariant(false) : void 0;\n\t\n\t if (className) {\n\t if (element.classList) {\n\t element.classList.add(className);\n\t } else if (!CSSCore.hasClass(element, className)) {\n\t element.className = element.className + ' ' + className;\n\t }\n\t }\n\t return element;\n\t },\n\t\n\t /**\n\t * Removes the class passed in from the element\n\t *\n\t * @param {DOMElement} element the element to set the class on\n\t * @param {string} className the CSS className\n\t * @return {DOMElement} the element passed in\n\t */\n\t removeClass: function removeClass(element, className) {\n\t !!/\\s/.test(className) ? false ? invariant(false, 'CSSCore.removeClass takes only a single class name. \"%s\" contains ' + 'multiple classes.', className) : invariant(false) : void 0;\n\t\n\t if (className) {\n\t if (element.classList) {\n\t element.classList.remove(className);\n\t } else if (CSSCore.hasClass(element, className)) {\n\t element.className = element.className.replace(new RegExp('(^|\\\\s)' + className + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ') // multiple spaces to one\n\t .replace(/^\\s*|\\s*$/g, ''); // trim the ends\n\t }\n\t }\n\t return element;\n\t },\n\t\n\t /**\n\t * Helper to add or remove a class from an element based on a condition.\n\t *\n\t * @param {DOMElement} element the element to set the class on\n\t * @param {string} className the CSS className\n\t * @param {*} bool condition to whether to add or remove the class\n\t * @return {DOMElement} the element passed in\n\t */\n\t conditionClass: function conditionClass(element, className, bool) {\n\t return (bool ? CSSCore.addClass : CSSCore.removeClass)(element, className);\n\t },\n\t\n\t /**\n\t * Tests whether the element has the class specified.\n\t *\n\t * @param {DOMNode|DOMWindow} element the element to check the class on\n\t * @param {string} className the CSS className\n\t * @return {boolean} true if the element has the class, false if not\n\t */\n\t hasClass: function hasClass(element, className) {\n\t !!/\\s/.test(className) ? false ? invariant(false, 'CSS.hasClass takes only a single class name.') : invariant(false) : void 0;\n\t if (element.classList) {\n\t return !!className && element.classList.contains(className);\n\t }\n\t return (' ' + element.className + ' ').indexOf(' ' + className + ' ') > -1;\n\t },\n\t\n\t /**\n\t * Tests whether the element matches the selector specified\n\t *\n\t * @param {DOMNode|DOMWindow} element the element that we are querying\n\t * @param {string} selector the CSS selector\n\t * @return {boolean} true if the element matches the selector, false if not\n\t */\n\t matchesSelector: function matchesSelector(element, selector) {\n\t var matchesImpl = element.matches || element.webkitMatchesSelector || element.mozMatchesSelector || element.msMatchesSelector || function (s) {\n\t return matchesSelector_SLOW(element, s);\n\t };\n\t return matchesImpl.call(element, selector);\n\t }\n\t\n\t};\n\t\n\tmodule.exports = CSSCore;\n\n/***/ },\n/* 377 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @typechecks\n\t */\n\t\n\tvar _hyphenPattern = /-(.)/g;\n\t\n\t/**\n\t * Camelcases a hyphenated string, for example:\n\t *\n\t * > camelize('background-color')\n\t * < \"backgroundColor\"\n\t *\n\t * @param {string} string\n\t * @return {string}\n\t */\n\tfunction camelize(string) {\n\t return string.replace(_hyphenPattern, function (_, character) {\n\t return character.toUpperCase();\n\t });\n\t}\n\t\n\tmodule.exports = camelize;\n\n/***/ },\n/* 378 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @typechecks\n\t */\n\t\n\t'use strict';\n\t\n\tvar camelize = __webpack_require__(377);\n\t\n\tvar msPattern = /^-ms-/;\n\t\n\t/**\n\t * Camelcases a hyphenated CSS property name, for example:\n\t *\n\t * > camelizeStyleName('background-color')\n\t * < \"backgroundColor\"\n\t * > camelizeStyleName('-moz-transition')\n\t * < \"MozTransition\"\n\t * > camelizeStyleName('-ms-transition')\n\t * < \"msTransition\"\n\t *\n\t * As Andi Smith suggests\n\t * (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix\n\t * is converted to lowercase `ms`.\n\t *\n\t * @param {string} string\n\t * @return {string}\n\t */\n\tfunction camelizeStyleName(string) {\n\t return camelize(string.replace(msPattern, 'ms-'));\n\t}\n\t\n\tmodule.exports = camelizeStyleName;\n\n/***/ },\n/* 379 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * \n\t */\n\t\n\tvar isTextNode = __webpack_require__(387);\n\t\n\t/*eslint-disable no-bitwise */\n\t\n\t/**\n\t * Checks if a given DOM node contains or is another DOM node.\n\t */\n\tfunction containsNode(outerNode, innerNode) {\n\t if (!outerNode || !innerNode) {\n\t return false;\n\t } else if (outerNode === innerNode) {\n\t return true;\n\t } else if (isTextNode(outerNode)) {\n\t return false;\n\t } else if (isTextNode(innerNode)) {\n\t return containsNode(outerNode, innerNode.parentNode);\n\t } else if ('contains' in outerNode) {\n\t return outerNode.contains(innerNode);\n\t } else if (outerNode.compareDocumentPosition) {\n\t return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n\t } else {\n\t return false;\n\t }\n\t}\n\t\n\tmodule.exports = containsNode;\n\n/***/ },\n/* 380 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @typechecks\n\t */\n\t\n\tvar invariant = __webpack_require__(5);\n\t\n\t/**\n\t * Convert array-like objects to arrays.\n\t *\n\t * This API assumes the caller knows the contents of the data type. For less\n\t * well defined inputs use createArrayFromMixed.\n\t *\n\t * @param {object|function|filelist} obj\n\t * @return {array}\n\t */\n\tfunction toArray(obj) {\n\t var length = obj.length;\n\t\n\t // Some browsers builtin objects can report typeof 'function' (e.g. NodeList\n\t // in old versions of Safari).\n\t !(!Array.isArray(obj) && (typeof obj === 'object' || typeof obj === 'function')) ? false ? invariant(false, 'toArray: Array-like object expected') : invariant(false) : void 0;\n\t\n\t !(typeof length === 'number') ? false ? invariant(false, 'toArray: Object needs a length property') : invariant(false) : void 0;\n\t\n\t !(length === 0 || length - 1 in obj) ? false ? invariant(false, 'toArray: Object should have keys for indices') : invariant(false) : void 0;\n\t\n\t !(typeof obj.callee !== 'function') ? false ? invariant(false, 'toArray: Object can\\'t be `arguments`. Use rest params ' + '(function(...args) {}) or Array.from() instead.') : invariant(false) : void 0;\n\t\n\t // Old IE doesn't give collections access to hasOwnProperty. Assume inputs\n\t // without method will throw during the slice call and skip straight to the\n\t // fallback.\n\t if (obj.hasOwnProperty) {\n\t try {\n\t return Array.prototype.slice.call(obj);\n\t } catch (e) {\n\t // IE < 9 does not support Array#slice on collections objects\n\t }\n\t }\n\t\n\t // Fall back to copying key by key. This assumes all keys have a value,\n\t // so will not preserve sparsely populated inputs.\n\t var ret = Array(length);\n\t for (var ii = 0; ii < length; ii++) {\n\t ret[ii] = obj[ii];\n\t }\n\t return ret;\n\t}\n\t\n\t/**\n\t * Perform a heuristic test to determine if an object is \"array-like\".\n\t *\n\t * A monk asked Joshu, a Zen master, \"Has a dog Buddha nature?\"\n\t * Joshu replied: \"Mu.\"\n\t *\n\t * This function determines if its argument has \"array nature\": it returns\n\t * true if the argument is an actual array, an `arguments' object, or an\n\t * HTMLCollection (e.g. node.childNodes or node.getElementsByTagName()).\n\t *\n\t * It will return false for other array-like objects like Filelist.\n\t *\n\t * @param {*} obj\n\t * @return {boolean}\n\t */\n\tfunction hasArrayNature(obj) {\n\t return (\n\t // not null/false\n\t !!obj && (\n\t // arrays are objects, NodeLists are functions in Safari\n\t typeof obj == 'object' || typeof obj == 'function') &&\n\t // quacks like an array\n\t 'length' in obj &&\n\t // not window\n\t !('setInterval' in obj) &&\n\t // no DOM node should be considered an array-like\n\t // a 'select' element has 'length' and 'item' properties on IE8\n\t typeof obj.nodeType != 'number' && (\n\t // a real array\n\t Array.isArray(obj) ||\n\t // arguments\n\t 'callee' in obj ||\n\t // HTMLCollection/NodeList\n\t 'item' in obj)\n\t );\n\t}\n\t\n\t/**\n\t * Ensure that the argument is an array by wrapping it in an array if it is not.\n\t * Creates a copy of the argument if it is already an array.\n\t *\n\t * This is mostly useful idiomatically:\n\t *\n\t * var createArrayFromMixed = require('createArrayFromMixed');\n\t *\n\t * function takesOneOrMoreThings(things) {\n\t * things = createArrayFromMixed(things);\n\t * ...\n\t * }\n\t *\n\t * This allows you to treat `things' as an array, but accept scalars in the API.\n\t *\n\t * If you need to convert an array-like object, like `arguments`, into an array\n\t * use toArray instead.\n\t *\n\t * @param {*} obj\n\t * @return {array}\n\t */\n\tfunction createArrayFromMixed(obj) {\n\t if (!hasArrayNature(obj)) {\n\t return [obj];\n\t } else if (Array.isArray(obj)) {\n\t return obj.slice();\n\t } else {\n\t return toArray(obj);\n\t }\n\t}\n\t\n\tmodule.exports = createArrayFromMixed;\n\n/***/ },\n/* 381 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t *\n\t * @typechecks\n\t */\n\t\n\t/*eslint-disable fb-www/unsafe-html*/\n\t\n\tvar ExecutionEnvironment = __webpack_require__(13);\n\t\n\tvar createArrayFromMixed = __webpack_require__(380);\n\tvar getMarkupWrap = __webpack_require__(382);\n\tvar invariant = __webpack_require__(5);\n\t\n\t/**\n\t * Dummy container used to render all markup.\n\t */\n\tvar dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null;\n\t\n\t/**\n\t * Pattern used by `getNodeName`.\n\t */\n\tvar nodeNamePattern = /^\\s*<(\\w+)/;\n\t\n\t/**\n\t * Extracts the `nodeName` of the first element in a string of markup.\n\t *\n\t * @param {string} markup String of markup.\n\t * @return {?string} Node name of the supplied markup.\n\t */\n\tfunction getNodeName(markup) {\n\t var nodeNameMatch = markup.match(nodeNamePattern);\n\t return nodeNameMatch && nodeNameMatch[1].toLowerCase();\n\t}\n\t\n\t/**\n\t * Creates an array containing the nodes rendered from the supplied markup. The\n\t * optionally supplied `handleScript` function will be invoked once for each\n\t *