{"version":3,"sources":["webpack:///./node_modules/history/createBrowserHistory.js","webpack:///./node_modules/history/createHashHistory.js","webpack:///./node_modules/history/createMemoryHistory.js","webpack:///./node_modules/history/LocationUtils.js","webpack:///./node_modules/history/PathUtils.js","webpack:///./node_modules/history/createTransitionManager.js","webpack:///./node_modules/history/index.js","webpack:///./node_modules/history/ExecutionEnvironment.js","webpack:///./node_modules/history/DOMUtils.js"],"names":["exports","__esModule","Symbol","iterator","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","_invariant2","_interopRequireDefault","_LocationUtils","_PathUtils","_createTransitionManager2","_ExecutionEnvironment","_DOMUtils","obj","default","getHistoryState","window","history","state","e","createBrowserHistory","props","undefined","canUseDOM","globalHistory","canUseHistory","supportsHistory","needsHashChangeListener","supportsPopStateOnHashChange","_props$basename","basename","_props$forceRefresh","forceRefresh","_props$getUserConfirm","getUserConfirmation","getConfirmation","_props$keyLength","keyLength","getDOMLocation","historyState","_ref","_window$location","location","path","pathname","search","hash","stripPrefix","parsePath","createKey","Math","random","toString","substr","transitionManager","setState","nextState","notifyListeners","action","handlePopState","event","handlePop","handleHashChange","forceNextPop","confirmTransitionTo","ok","revertPop","fromLocation","toLocation","toIndex","allKeys","indexOf","fromIndex","delta","go","initialLocation","push","createLocation","url","createPath","pushState","href","prevIndex","nextKeys","slice","replace","replaceState","n","goBack","goForward","listenerCount","checkDOMListeners","addEventListener","removeEventListener","isBlocked","block","prompt","unblock","setPrompt","listen","listener","unlisten","appendListener","HashPathCoders","hashbang","encodePath","charAt","stripLeadingSlash","decodePath","noslash","addLeadingSlash","slash","getHashPath","hashIndex","substring","pushHashPath","replaceHashPath","createHashHistory","supportsGoWithoutReloadUsingHash","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","prevLocation","locationsAreEqual","allPaths","lastIndexOf","nextPaths","clamp","lowerBound","upperBound","min","max","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","entries","index","map","entry","nextIndex","nextEntries","splice","canGo","_typeof","constructor","_resolvePathname2","currentLocation","a","b","looseEqual","typeofA","Array","isArray","every","item","aKeys","keys","bKeys","prefix","searchIndex","createTransitionManager","listeners","nextPrompt","callback","result","filter","_len","args","_key","forEach","apply","defineProperty","enumerable","get","_createBrowserHistory3","_createHashHistory3","_createMemoryHistory3","document","createElement","node","attachEvent","detachEvent","message","confirm","ua","navigator","userAgent"],"mappings":"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","file":"npm.history-12428806d102e4ad129b.js","sourcesContent":["'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _LocationUtils = require('./LocationUtils');\n\nvar _PathUtils = require('./PathUtils');\n\nvar _createTransitionManager = require('./createTransitionManager');\n\nvar _createTransitionManager2 = _interopRequireDefault(_createTransitionManager);\n\nvar _ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar _DOMUtils = require('./DOMUtils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nvar getHistoryState = function getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/mjackson/history/pull/289\n return {};\n }\n};\n\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\nvar createBrowserHistory = function createBrowserHistory() {\n var props = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n !_ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'Browser history needs a DOM') : (0, _invariant2.default)(false) : void 0;\n\n var globalHistory = window.history;\n var canUseHistory = (0, _DOMUtils.supportsHistory)();\n var needsHashChangeListener = !(0, _DOMUtils.supportsPopStateOnHashChange)();\n\n var _props$basename = props.basename;\n var basename = _props$basename === undefined ? '' : _props$basename;\n var _props$forceRefresh = props.forceRefresh;\n var forceRefresh = _props$forceRefresh === undefined ? false : _props$forceRefresh;\n var _props$getUserConfirm = props.getUserConfirmation;\n var getUserConfirmation = _props$getUserConfirm === undefined ? _DOMUtils.getConfirmation : _props$getUserConfirm;\n var _props$keyLength = props.keyLength;\n var keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;\n\n\n var getDOMLocation = function getDOMLocation(historyState) {\n var _ref = historyState || {};\n\n var key = _ref.key;\n var state = _ref.state;\n var _window$location = window.location;\n var pathname = _window$location.pathname;\n var search = _window$location.search;\n var hash = _window$location.hash;\n\n\n var path = pathname + search + hash;\n\n if (basename) path = (0, _PathUtils.stripPrefix)(path, basename);\n\n return _extends({}, (0, _PathUtils.parsePath)(path), {\n state: state,\n key: key\n });\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n };\n\n var transitionManager = (0, _createTransitionManager2.default)();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var handlePopState = function handlePopState(event) {\n if (event.state === undefined) return; // Ignore extraneous popstate events in WebKit.\n\n handlePop(getDOMLocation(event.state));\n };\n\n var handleHashChange = function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n };\n\n var forceNextPop = false;\n\n var handlePop = function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n (function () {\n var action = 'POP';\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({ action: action, location: location });\n } else {\n revertPop(location);\n }\n });\n })();\n }\n };\n\n var revertPop = function revertPop(fromLocation) {\n var toLocation = history.location;\n\n // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n\n if (toIndex === -1) toIndex = 0;\n\n var fromIndex = allKeys.indexOf(fromLocation.key);\n\n if (fromIndex === -1) fromIndex = 0;\n\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n };\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key];\n\n // Public interface\n\n var push = function push(path, state) {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n\n var action = 'PUSH';\n var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var url = basename + (0, _PathUtils.createPath)(location);\n var key = location.key;\n var state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.pushState({ key: key, state: state }, null, url);\n\n if (forceRefresh) {\n window.location.href = url;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n\n nextKeys.push(location.key);\n allKeys = nextKeys;\n\n setState({ action: action, location: location });\n }\n } else {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n\n window.location.href = url;\n }\n });\n };\n\n var replace = function replace(path, state) {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n\n var action = 'REPLACE';\n var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var url = basename + (0, _PathUtils.createPath)(location);\n var key = location.key;\n var state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.replaceState({ key: key, state: state }, null, url);\n\n if (forceRefresh) {\n window.location.replace(url);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n\n setState({ action: action, location: location });\n }\n } else {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n\n window.location.replace(url);\n }\n });\n };\n\n var go = function go(n) {\n globalHistory.go(n);\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var listenerCount = 0;\n\n var checkDOMListeners = function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1) {\n (0, _DOMUtils.addEventListener)(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) (0, _DOMUtils.addEventListener)(window, HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n (0, _DOMUtils.removeEventListener)(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) (0, _DOMUtils.removeEventListener)(window, HashChangeEvent, handleHashChange);\n }\n };\n\n var isBlocked = false;\n\n var block = function block() {\n var prompt = arguments.length <= 0 || arguments[0] === undefined ? false : arguments[0];\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n };\n\n var listen = function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n\n return function () {\n checkDOMListeners(-1);\n return unlisten();\n };\n };\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\nexports.default = createBrowserHistory;","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _LocationUtils = require('./LocationUtils');\n\nvar _PathUtils = require('./PathUtils');\n\nvar _createTransitionManager = require('./createTransitionManager');\n\nvar _createTransitionManager2 = _interopRequireDefault(_createTransitionManager);\n\nvar _ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar _DOMUtils = require('./DOMUtils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar HashChangeEvent = 'hashchange';\n\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + (0, _PathUtils.stripLeadingSlash)(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: _PathUtils.stripLeadingSlash,\n decodePath: _PathUtils.addLeadingSlash\n },\n slash: {\n encodePath: _PathUtils.addLeadingSlash,\n decodePath: _PathUtils.addLeadingSlash\n }\n};\n\nvar getHashPath = function getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n};\n\nvar pushHashPath = function pushHashPath(path) {\n return window.location.hash = path;\n};\n\nvar replaceHashPath = function replaceHashPath(path) {\n var hashIndex = window.location.href.indexOf('#');\n\n window.location.replace(window.location.href.slice(0, hashIndex >= 0 ? hashIndex : 0) + '#' + path);\n};\n\nvar createHashHistory = function createHashHistory() {\n var props = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n !_ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'Hash history needs a DOM') : (0, _invariant2.default)(false) : void 0;\n\n var globalHistory = window.history;\n var canGoWithoutReload = (0, _DOMUtils.supportsGoWithoutReloadUsingHash)();\n\n var _props$basename = props.basename;\n var basename = _props$basename === undefined ? '' : _props$basename;\n var _props$getUserConfirm = props.getUserConfirmation;\n var getUserConfirmation = _props$getUserConfirm === undefined ? _DOMUtils.getConfirmation : _props$getUserConfirm;\n var _props$hashType = props.hashType;\n var hashType = _props$hashType === undefined ? 'slash' : _props$hashType;\n var _HashPathCoders$hashT = HashPathCoders[hashType];\n var encodePath = _HashPathCoders$hashT.encodePath;\n var decodePath = _HashPathCoders$hashT.decodePath;\n\n\n var getDOMLocation = function getDOMLocation() {\n var path = decodePath(getHashPath());\n\n if (basename) path = (0, _PathUtils.stripPrefix)(path, basename);\n\n return (0, _PathUtils.parsePath)(path);\n };\n\n var transitionManager = (0, _createTransitionManager2.default)();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var forceNextPop = false;\n var ignorePath = null;\n\n var handleHashChange = function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n\n if (!forceNextPop && (0, _LocationUtils.locationsAreEqual)(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === (0, _PathUtils.createPath)(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n\n handlePop(location);\n }\n };\n\n var handlePop = function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n (function () {\n var action = 'POP';\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({ action: action, location: location });\n } else {\n revertPop(location);\n }\n });\n })();\n }\n };\n\n var revertPop = function revertPop(fromLocation) {\n var toLocation = history.location;\n\n // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf((0, _PathUtils.createPath)(toLocation));\n\n if (toIndex === -1) toIndex = 0;\n\n var fromIndex = allPaths.lastIndexOf((0, _PathUtils.createPath)(fromLocation));\n\n if (fromIndex === -1) fromIndex = 0;\n\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n };\n\n // Ensure the hash is encoded properly before doing anything else.\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) replaceHashPath(encodedPath);\n\n var initialLocation = getDOMLocation();\n var allPaths = [(0, _PathUtils.createPath)(initialLocation)];\n\n // Public interface\n\n var push = function push(path, state) {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n\n var action = 'PUSH';\n var location = (0, _LocationUtils.createLocation)(path, undefined, undefined, history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var path = (0, _PathUtils.createPath)(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n\n var prevIndex = allPaths.lastIndexOf((0, _PathUtils.createPath)(history.location));\n var nextPaths = allPaths.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n\n nextPaths.push(path);\n allPaths = nextPaths;\n\n setState({ action: action, location: location });\n } else {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n\n setState();\n }\n });\n };\n\n var replace = function replace(path, state) {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n\n var action = 'REPLACE';\n var location = (0, _LocationUtils.createLocation)(path, undefined, undefined, history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var path = (0, _PathUtils.createPath)(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf((0, _PathUtils.createPath)(history.location));\n\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n\n setState({ action: action, location: location });\n });\n };\n\n var go = function go(n) {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n\n globalHistory.go(n);\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var listenerCount = 0;\n\n var checkDOMListeners = function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1) {\n (0, _DOMUtils.addEventListener)(window, HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n (0, _DOMUtils.removeEventListener)(window, HashChangeEvent, handleHashChange);\n }\n };\n\n var isBlocked = false;\n\n var block = function block() {\n var prompt = arguments.length <= 0 || arguments[0] === undefined ? false : arguments[0];\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n };\n\n var listen = function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n\n return function () {\n checkDOMListeners(-1);\n return unlisten();\n };\n };\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\nexports.default = createHashHistory;","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _LocationUtils = require('./LocationUtils');\n\nvar _createTransitionManager = require('./createTransitionManager');\n\nvar _createTransitionManager2 = _interopRequireDefault(_createTransitionManager);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar clamp = function clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n};\n\n/**\n * Creates a history object that stores locations in memory.\n */\nvar createMemoryHistory = function createMemoryHistory() {\n var props = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n var getUserConfirmation = props.getUserConfirmation;\n var _props$initialEntries = props.initialEntries;\n var initialEntries = _props$initialEntries === undefined ? ['/'] : _props$initialEntries;\n var _props$initialIndex = props.initialIndex;\n var initialIndex = _props$initialIndex === undefined ? 0 : _props$initialIndex;\n var _props$keyLength = props.keyLength;\n var keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;\n\n\n var transitionManager = (0, _createTransitionManager2.default)();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n };\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry, index) {\n return typeof entry === 'string' ? (0, _LocationUtils.createLocation)(entry, undefined, index ? createKey() : undefined) : (0, _LocationUtils.createLocation)(entry, undefined, index ? entry.key || createKey() : undefined);\n });\n\n // Public interface\n\n var push = function push(path, state) {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n\n var action = 'PUSH';\n var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n\n var nextEntries = history.entries.slice(0);\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n };\n\n var replace = function replace(path, state) {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n\n var action = 'REPLACE';\n var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n history.entries[history.index] = location;\n\n setState({ action: action, location: location });\n });\n };\n\n var go = function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n\n var action = 'POP';\n var location = history.entries[nextIndex];\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var canGo = function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n };\n\n var block = function block() {\n var prompt = arguments.length <= 0 || arguments[0] === undefined ? false : arguments[0];\n return transitionManager.setPrompt(prompt);\n };\n\n var listen = function listen(listener) {\n return transitionManager.appendListener(listener);\n };\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\nexports.default = createMemoryHistory;","'use strict';\n\nexports.__esModule = true;\nexports.locationsAreEqual = exports.createLocation = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _resolvePathname = require('resolve-pathname');\n\nvar _resolvePathname2 = _interopRequireDefault(_resolvePathname);\n\nvar _PathUtils = require('./PathUtils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar createLocation = exports.createLocation = function createLocation(path, state, key, currentLocation) {\n var location = void 0;\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = (0, _PathUtils.parsePath)(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = (0, _resolvePathname2.default)(location.pathname, currentLocation.pathname);\n }\n }\n\n return location;\n};\n\nvar looseEqual = function looseEqual(a, b) {\n if (a == null) return a == b;\n\n var typeofA = typeof a === 'undefined' ? 'undefined' : _typeof(a);\n var typeofB = typeof b === 'undefined' ? 'undefined' : _typeof(b);\n\n if (typeofA !== typeofB) return false;\n\n if (Array.isArray(a)) {\n if (!Array.isArray(b) || a.length !== b.length) return false;\n\n return a.every(function (item, index) {\n return looseEqual(item, b[index]);\n });\n } else if (typeofA === 'object') {\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n\n if (aKeys.length !== bKeys.length) return false;\n\n return aKeys.every(function (key) {\n return looseEqual(a[key], b[key]);\n });\n }\n\n return a === b;\n};\n\nvar locationsAreEqual = exports.locationsAreEqual = function locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && looseEqual(a.state, b.state);\n};","'use strict';\n\nexports.__esModule = true;\nvar addLeadingSlash = exports.addLeadingSlash = function addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n};\n\nvar stripLeadingSlash = exports.stripLeadingSlash = function stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n};\n\nvar stripPrefix = exports.stripPrefix = function stripPrefix(path, prefix) {\n return path.indexOf(prefix) === 0 ? path.substr(prefix.length) : path;\n};\n\nvar parsePath = exports.parsePath = function parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n\n var hashIndex = pathname.indexOf('#');\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n};\n\nvar createPath = exports.createPath = function createPath(location) {\n var pathname = location.pathname;\n var search = location.search;\n var hash = location.hash;\n\n\n var path = pathname || '/';\n\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : '?' + search;\n\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : '#' + hash;\n\n return path;\n};","'use strict';\n\nexports.__esModule = true;\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar createTransitionManager = function createTransitionManager() {\n var prompt = null;\n\n var setPrompt = function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(prompt == null, 'A history supports only one prompt at a time') : void 0;\n\n prompt = nextPrompt;\n\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n };\n\n var confirmTransitionTo = function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n };\n\n var listeners = [];\n\n var appendListener = function appendListener(listener) {\n listeners.push(listener);\n\n return function () {\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n };\n\n var notifyListeners = function notifyListeners() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return listeners.forEach(function (listener) {\n return listener.apply(undefined, args);\n });\n };\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n};\n\nexports.default = createTransitionManager;","'use strict';\n\nexports.__esModule = true;\nexports.createPath = exports.parsePath = exports.locationsAreEqual = exports.createLocation = exports.createMemoryHistory = exports.createHashHistory = exports.createBrowserHistory = undefined;\n\nvar _LocationUtils = require('./LocationUtils');\n\nObject.defineProperty(exports, 'createLocation', {\n enumerable: true,\n get: function get() {\n return _LocationUtils.createLocation;\n }\n});\nObject.defineProperty(exports, 'locationsAreEqual', {\n enumerable: true,\n get: function get() {\n return _LocationUtils.locationsAreEqual;\n }\n});\n\nvar _PathUtils = require('./PathUtils');\n\nObject.defineProperty(exports, 'parsePath', {\n enumerable: true,\n get: function get() {\n return _PathUtils.parsePath;\n }\n});\nObject.defineProperty(exports, 'createPath', {\n enumerable: true,\n get: function get() {\n return _PathUtils.createPath;\n }\n});\n\nvar _createBrowserHistory2 = require('./createBrowserHistory');\n\nvar _createBrowserHistory3 = _interopRequireDefault(_createBrowserHistory2);\n\nvar _createHashHistory2 = require('./createHashHistory');\n\nvar _createHashHistory3 = _interopRequireDefault(_createHashHistory2);\n\nvar _createMemoryHistory2 = require('./createMemoryHistory');\n\nvar _createMemoryHistory3 = _interopRequireDefault(_createMemoryHistory2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.createBrowserHistory = _createBrowserHistory3.default;\nexports.createHashHistory = _createHashHistory3.default;\nexports.createMemoryHistory = _createMemoryHistory3.default;","'use strict';\n\nexports.__esModule = true;\nvar canUseDOM = exports.canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);","'use strict';\n\nexports.__esModule = true;\nvar addEventListener = exports.addEventListener = function addEventListener(node, event, listener) {\n return node.addEventListener ? node.addEventListener(event, listener, false) : node.attachEvent('on' + event, listener);\n};\n\nvar removeEventListener = exports.removeEventListener = function removeEventListener(node, event, listener) {\n return node.removeEventListener ? node.removeEventListener(event, listener, false) : node.detachEvent('on' + event, listener);\n};\n\nvar getConfirmation = exports.getConfirmation = function getConfirmation(message, callback) {\n return callback(window.confirm(message));\n}; // eslint-disable-line no-alert\n\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\nvar supportsHistory = exports.supportsHistory = function supportsHistory() {\n var ua = window.navigator.userAgent;\n\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n\n return window.history && 'pushState' in window.history;\n};\n\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\nvar supportsPopStateOnHashChange = exports.supportsPopStateOnHashChange = function supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n};\n\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\nvar supportsGoWithoutReloadUsingHash = exports.supportsGoWithoutReloadUsingHash = function supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n};"],"sourceRoot":""}