{"version":3,"file":"js/9319.chunk.js","mappings":"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","sources":["webpack:///./node_modules/react-router-dom/modules/BrowserRouter.js","webpack:///./node_modules/react-router-dom/modules/HashRouter.js","webpack:///./node_modules/react-router-dom/modules/utils/locationUtils.js","webpack:///./node_modules/react-router-dom/modules/Link.js","webpack:///./node_modules/react-router-dom/modules/NavLink.js","webpack:///./node_modules/mini-create-react-context/dist/esm/index.js","webpack:///./node_modules/react-router/modules/createNameContext.js","webpack:///./node_modules/react-router/modules/HistoryContext.js","webpack:///./node_modules/react-router/modules/RouterContext.js","webpack:///./node_modules/react-router/modules/Router.js","webpack:///./node_modules/react-router/modules/MemoryRouter.js","webpack:///./node_modules/react-router/modules/Lifecycle.js","webpack:///./node_modules/react-router/modules/matchPath.js","webpack:///./node_modules/react-router/modules/Route.js","webpack:///./node_modules/react-router/modules/StaticRouter.js","webpack:///./node_modules/react-router/modules/Switch.js","webpack:///./node_modules/react-router/modules/hooks.js","webpack:///./node_modules/react-router/node_modules/isarray/index.js","webpack:///./node_modules/react-router/node_modules/path-to-regexp/index.js","webpack:///./node_modules/react-router/node_modules/react-is/cjs/react-is.production.min.js","webpack:///./node_modules/react-router/node_modules/react-is/index.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"],"sourcesContent":["import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a <Router> that uses HTML5 history.\n */\nclass BrowserRouter extends React.Component {\n  history = createHistory(this.props);\n\n  render() {\n    return <Router history={this.history} children={this.props.children} />;\n  }\n}\n\nif (__DEV__) {\n  BrowserRouter.propTypes = {\n    basename: PropTypes.string,\n    children: PropTypes.node,\n    forceRefresh: PropTypes.bool,\n    getUserConfirmation: PropTypes.func,\n    keyLength: PropTypes.number\n  };\n\n  BrowserRouter.prototype.componentDidMount = function() {\n    warning(\n      !this.props.history,\n      \"<BrowserRouter> ignores the history prop. To use a custom history, \" +\n        \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n    );\n  };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a <Router> that uses window.location.hash.\n */\nclass HashRouter extends React.Component {\n  history = createHistory(this.props);\n\n  render() {\n    return <Router history={this.history} children={this.props.children} />;\n  }\n}\n\nif (__DEV__) {\n  HashRouter.propTypes = {\n    basename: PropTypes.string,\n    children: PropTypes.node,\n    getUserConfirmation: PropTypes.func,\n    hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n  };\n\n  HashRouter.prototype.componentDidMount = function() {\n    warning(\n      !this.props.history,\n      \"<HashRouter> ignores the history prop. To use a custom history, \" +\n        \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n    );\n  };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n  typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n  return typeof to === \"string\"\n    ? createLocation(to, null, null, currentLocation)\n    : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport {\n  resolveToLocation,\n  normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n  forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n  return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n  (\n    {\n      innerRef, // TODO: deprecate\n      navigate,\n      onClick,\n      ...rest\n    },\n    forwardedRef\n  ) => {\n    const { target } = rest;\n\n    let props = {\n      ...rest,\n      onClick: event => {\n        try {\n          if (onClick) onClick(event);\n        } catch (ex) {\n          event.preventDefault();\n          throw ex;\n        }\n\n        if (\n          !event.defaultPrevented && // onClick prevented default\n          event.button === 0 && // ignore everything but left clicks\n          (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n          !isModifiedEvent(event) // ignore clicks with modifier keys\n        ) {\n          event.preventDefault();\n          navigate();\n        }\n      }\n    };\n\n    // React 15 compat\n    if (forwardRefShim !== forwardRef) {\n      props.ref = forwardedRef || innerRef;\n    } else {\n      props.ref = innerRef;\n    }\n\n    /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n    return <a {...props} />;\n  }\n);\n\nif (__DEV__) {\n  LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware <a>.\n */\nconst Link = forwardRef(\n  (\n    {\n      component = LinkAnchor,\n      replace,\n      to,\n      innerRef, // TODO: deprecate\n      ...rest\n    },\n    forwardedRef\n  ) => {\n    return (\n      <RouterContext.Consumer>\n        {context => {\n          invariant(context, \"You should not use <Link> outside a <Router>\");\n\n          const { history } = context;\n\n          const location = normalizeToLocation(\n            resolveToLocation(to, context.location),\n            context.location\n          );\n\n          const href = location ? history.createHref(location) : \"\";\n          const props = {\n            ...rest,\n            href,\n            navigate() {\n              const location = resolveToLocation(to, context.location);\n              const method = replace ? history.replace : history.push;\n\n              method(location);\n            }\n          };\n\n          // React 15 compat\n          if (forwardRefShim !== forwardRef) {\n            props.ref = forwardedRef || innerRef;\n          } else {\n            props.innerRef = innerRef;\n          }\n\n          return React.createElement(component, props);\n        }}\n      </RouterContext.Consumer>\n    );\n  }\n);\n\nif (__DEV__) {\n  const toType = PropTypes.oneOfType([\n    PropTypes.string,\n    PropTypes.object,\n    PropTypes.func\n  ]);\n  const refType = PropTypes.oneOfType([\n    PropTypes.string,\n    PropTypes.func,\n    PropTypes.shape({ current: PropTypes.any })\n  ]);\n\n  Link.displayName = \"Link\";\n\n  Link.propTypes = {\n    innerRef: refType,\n    onClick: PropTypes.func,\n    replace: PropTypes.bool,\n    target: PropTypes.string,\n    to: toType.isRequired\n  };\n}\n\nexport default Link;\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link.js\";\nimport {\n  resolveToLocation,\n  normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n  forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n  return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A <Link> wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n  (\n    {\n      \"aria-current\": ariaCurrent = \"page\",\n      activeClassName = \"active\",\n      activeStyle,\n      className: classNameProp,\n      exact,\n      isActive: isActiveProp,\n      location: locationProp,\n      sensitive,\n      strict,\n      style: styleProp,\n      to,\n      innerRef, // TODO: deprecate\n      ...rest\n    },\n    forwardedRef\n  ) => {\n    return (\n      <RouterContext.Consumer>\n        {context => {\n          invariant(context, \"You should not use <NavLink> outside a <Router>\");\n\n          const currentLocation = locationProp || context.location;\n          const toLocation = normalizeToLocation(\n            resolveToLocation(to, currentLocation),\n            currentLocation\n          );\n          const { pathname: path } = toLocation;\n          // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n          const escapedPath =\n            path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n          const match = escapedPath\n            ? matchPath(currentLocation.pathname, {\n                path: escapedPath,\n                exact,\n                sensitive,\n                strict\n              })\n            : null;\n          const isActive = !!(isActiveProp\n            ? isActiveProp(match, currentLocation)\n            : match);\n\n          const className = isActive\n            ? joinClassnames(classNameProp, activeClassName)\n            : classNameProp;\n          const style = isActive ? { ...styleProp, ...activeStyle } : styleProp;\n\n          const props = {\n            \"aria-current\": (isActive && ariaCurrent) || null,\n            className,\n            style,\n            to: toLocation,\n            ...rest\n          };\n\n          // React 15 compat\n          if (forwardRefShim !== forwardRef) {\n            props.ref = forwardedRef || innerRef;\n          } else {\n            props.innerRef = innerRef;\n          }\n\n          return <Link {...props} />;\n        }}\n      </RouterContext.Consumer>\n    );\n  }\n);\n\nif (__DEV__) {\n  NavLink.displayName = \"NavLink\";\n\n  const ariaCurrentType = PropTypes.oneOf([\n    \"page\",\n    \"step\",\n    \"location\",\n    \"date\",\n    \"time\",\n    \"true\"\n  ]);\n\n  NavLink.propTypes = {\n    ...Link.propTypes,\n    \"aria-current\": ariaCurrentType,\n    activeClassName: PropTypes.string,\n    activeStyle: PropTypes.object,\n    className: PropTypes.string,\n    exact: PropTypes.bool,\n    isActive: PropTypes.func,\n    location: PropTypes.object,\n    sensitive: PropTypes.bool,\n    strict: PropTypes.bool,\n    style: PropTypes.object\n  };\n}\n\nexport default NavLink;\n","import React, { Component } from 'react';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport PropTypes from 'prop-types';\nimport warning from 'tiny-warning';\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\n\nfunction getUniqueId() {\n  var key = '__global_unique_id__';\n  return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;\n}\n\nfunction objectIs(x, y) {\n  if (x === y) {\n    return x !== 0 || 1 / x === 1 / y;\n  } else {\n    return x !== x && y !== y;\n  }\n}\n\nfunction createEventEmitter(value) {\n  var handlers = [];\n  return {\n    on: function on(handler) {\n      handlers.push(handler);\n    },\n    off: function off(handler) {\n      handlers = handlers.filter(function (h) {\n        return h !== handler;\n      });\n    },\n    get: function get() {\n      return value;\n    },\n    set: function set(newValue, changedBits) {\n      value = newValue;\n      handlers.forEach(function (handler) {\n        return handler(value, changedBits);\n      });\n    }\n  };\n}\n\nfunction onlyChild(children) {\n  return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n  var _Provider$childContex, _Consumer$contextType;\n\n  var contextProp = '__create-react-context-' + getUniqueId() + '__';\n\n  var Provider = /*#__PURE__*/function (_Component) {\n    _inheritsLoose(Provider, _Component);\n\n    function Provider() {\n      var _this;\n\n      _this = _Component.apply(this, arguments) || this;\n      _this.emitter = createEventEmitter(_this.props.value);\n      return _this;\n    }\n\n    var _proto = Provider.prototype;\n\n    _proto.getChildContext = function getChildContext() {\n      var _ref;\n\n      return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n    };\n\n    _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n      if (this.props.value !== nextProps.value) {\n        var oldValue = this.props.value;\n        var newValue = nextProps.value;\n        var changedBits;\n\n        if (objectIs(oldValue, newValue)) {\n          changedBits = 0;\n        } else {\n          changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n          if (process.env.NODE_ENV !== 'production') {\n            warning((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n          }\n\n          changedBits |= 0;\n\n          if (changedBits !== 0) {\n            this.emitter.set(nextProps.value, changedBits);\n          }\n        }\n      }\n    };\n\n    _proto.render = function render() {\n      return this.props.children;\n    };\n\n    return Provider;\n  }(Component);\n\n  Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = PropTypes.object.isRequired, _Provider$childContex);\n\n  var Consumer = /*#__PURE__*/function (_Component2) {\n    _inheritsLoose(Consumer, _Component2);\n\n    function Consumer() {\n      var _this2;\n\n      _this2 = _Component2.apply(this, arguments) || this;\n      _this2.state = {\n        value: _this2.getValue()\n      };\n\n      _this2.onUpdate = function (newValue, changedBits) {\n        var observedBits = _this2.observedBits | 0;\n\n        if ((observedBits & changedBits) !== 0) {\n          _this2.setState({\n            value: _this2.getValue()\n          });\n        }\n      };\n\n      return _this2;\n    }\n\n    var _proto2 = Consumer.prototype;\n\n    _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n      var observedBits = nextProps.observedBits;\n      this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n    };\n\n    _proto2.componentDidMount = function componentDidMount() {\n      if (this.context[contextProp]) {\n        this.context[contextProp].on(this.onUpdate);\n      }\n\n      var observedBits = this.props.observedBits;\n      this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n    };\n\n    _proto2.componentWillUnmount = function componentWillUnmount() {\n      if (this.context[contextProp]) {\n        this.context[contextProp].off(this.onUpdate);\n      }\n    };\n\n    _proto2.getValue = function getValue() {\n      if (this.context[contextProp]) {\n        return this.context[contextProp].get();\n      } else {\n        return defaultValue;\n      }\n    };\n\n    _proto2.render = function render() {\n      return onlyChild(this.props.children)(this.state.value);\n    };\n\n    return Consumer;\n  }(Component);\n\n  Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = PropTypes.object, _Consumer$contextType);\n  return {\n    Provider: Provider,\n    Consumer: Consumer\n  };\n}\n\nvar index = React.createContext || createReactContext;\n\nexport default index;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n  const context = createContext();\n  context.displayName = name;\n\n  return context;\n};\n\nexport default createNamedContext;\n","import createNamedContext from \"./createNameContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n  const context = createContext();\n  context.displayName = name;\n\n  return context;\n};\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport HistoryContext from \"./HistoryContext.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n  static computeRootMatch(pathname) {\n    return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n  }\n\n  constructor(props) {\n    super(props);\n\n    this.state = {\n      location: props.history.location\n    };\n\n    // This is a bit of a hack. We have to start listening for location\n    // changes here in the constructor in case there are any <Redirect>s\n    // on the initial render. If there are, they will replace/push when\n    // they mount and since cDM fires in children before parents, we may\n    // get a new location before the <Router> is mounted.\n    this._isMounted = false;\n    this._pendingLocation = null;\n\n    if (!props.staticContext) {\n      this.unlisten = props.history.listen(location => {\n        if (this._isMounted) {\n          this.setState({ location });\n        } else {\n          this._pendingLocation = location;\n        }\n      });\n    }\n  }\n\n  componentDidMount() {\n    this._isMounted = true;\n\n    if (this._pendingLocation) {\n      this.setState({ location: this._pendingLocation });\n    }\n  }\n\n  componentWillUnmount() {\n    if (this.unlisten) this.unlisten();\n  }\n\n  render() {\n    return (\n      <RouterContext.Provider\n        value={{\n          history: this.props.history,\n          location: this.state.location,\n          match: Router.computeRootMatch(this.state.location.pathname),\n          staticContext: this.props.staticContext\n        }}\n      >\n        <HistoryContext.Provider\n          children={this.props.children || null}\n          value={this.props.history}\n        />\n      </RouterContext.Provider>\n    );\n  }\n}\n\nif (__DEV__) {\n  Router.propTypes = {\n    children: PropTypes.node,\n    history: PropTypes.object.isRequired,\n    staticContext: PropTypes.object\n  };\n\n  Router.prototype.componentDidUpdate = function(prevProps) {\n    warning(\n      prevProps.history === this.props.history,\n      \"You cannot change <Router history>\"\n    );\n  };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\n/**\n * The public API for a <Router> that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n  history = createHistory(this.props);\n\n  render() {\n    return <Router history={this.history} children={this.props.children} />;\n  }\n}\n\nif (__DEV__) {\n  MemoryRouter.propTypes = {\n    initialEntries: PropTypes.array,\n    initialIndex: PropTypes.number,\n    getUserConfirmation: PropTypes.func,\n    keyLength: PropTypes.number,\n    children: PropTypes.node\n  };\n\n  MemoryRouter.prototype.componentDidMount = function() {\n    warning(\n      !this.props.history,\n      \"<MemoryRouter> ignores the history prop. To use a custom history, \" +\n        \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n    );\n  };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n  componentDidMount() {\n    if (this.props.onMount) this.props.onMount.call(this, this);\n  }\n\n  componentDidUpdate(prevProps) {\n    if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n  }\n\n  componentWillUnmount() {\n    if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n  }\n\n  render() {\n    return null;\n  }\n}\n\nexport default Lifecycle;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n  const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n  const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n  if (pathCache[path]) return pathCache[path];\n\n  const keys = [];\n  const regexp = pathToRegexp(path, keys, options);\n  const result = { regexp, keys };\n\n  if (cacheCount < cacheLimit) {\n    pathCache[path] = result;\n    cacheCount++;\n  }\n\n  return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n  if (typeof options === \"string\" || Array.isArray(options)) {\n    options = { path: options };\n  }\n\n  const { path, exact = false, strict = false, sensitive = false } = options;\n\n  const paths = [].concat(path);\n\n  return paths.reduce((matched, path) => {\n    if (!path && path !== \"\") return null;\n    if (matched) return matched;\n\n    const { regexp, keys } = compilePath(path, {\n      end: exact,\n      strict,\n      sensitive\n    });\n    const match = regexp.exec(pathname);\n\n    if (!match) return null;\n\n    const [url, ...values] = match;\n    const isExact = pathname === url;\n\n    if (exact && !isExact) return null;\n\n    return {\n      path, // the path used to match\n      url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n      isExact, // whether or not we matched exactly\n      params: keys.reduce((memo, key, index) => {\n        memo[key.name] = values[index];\n        return memo;\n      }, {})\n    };\n  }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nfunction isEmptyChildren(children) {\n  return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n  const value = children(props);\n\n  warning(\n    value !== undefined,\n    \"You returned `undefined` from the `children` function of \" +\n      `<Route${path ? ` path=\"${path}\"` : \"\"}>, but you ` +\n      \"should have returned a React element or `null`\"\n  );\n\n  return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n  render() {\n    return (\n      <RouterContext.Consumer>\n        {context => {\n          invariant(context, \"You should not use <Route> outside a <Router>\");\n\n          const location = this.props.location || context.location;\n          const match = this.props.computedMatch\n            ? this.props.computedMatch // <Switch> already computed the match for us\n            : this.props.path\n            ? matchPath(location.pathname, this.props)\n            : context.match;\n\n          const props = { ...context, location, match };\n\n          let { children, component, render } = this.props;\n\n          // Preact uses an empty array as children by\n          // default, so use null if that's the case.\n          if (Array.isArray(children) && children.length === 0) {\n            children = null;\n          }\n\n          return (\n            <RouterContext.Provider value={props}>\n              {props.match\n                ? children\n                  ? typeof children === \"function\"\n                    ? __DEV__\n                      ? evalChildrenDev(children, props, this.props.path)\n                      : children(props)\n                    : children\n                  : component\n                  ? React.createElement(component, props)\n                  : render\n                  ? render(props)\n                  : null\n                : typeof children === \"function\"\n                ? __DEV__\n                  ? evalChildrenDev(children, props, this.props.path)\n                  : children(props)\n                : null}\n            </RouterContext.Provider>\n          );\n        }}\n      </RouterContext.Consumer>\n    );\n  }\n}\n\nif (__DEV__) {\n  Route.propTypes = {\n    children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n    component: (props, propName) => {\n      if (props[propName] && !isValidElementType(props[propName])) {\n        return new Error(\n          `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n        );\n      }\n    },\n    exact: PropTypes.bool,\n    location: PropTypes.object,\n    path: PropTypes.oneOfType([\n      PropTypes.string,\n      PropTypes.arrayOf(PropTypes.string)\n    ]),\n    render: PropTypes.func,\n    sensitive: PropTypes.bool,\n    strict: PropTypes.bool\n  };\n\n  Route.prototype.componentDidMount = function() {\n    warning(\n      !(\n        this.props.children &&\n        !isEmptyChildren(this.props.children) &&\n        this.props.component\n      ),\n      \"You should not use <Route component> and <Route children> in the same route; <Route component> will be ignored\"\n    );\n\n    warning(\n      !(\n        this.props.children &&\n        !isEmptyChildren(this.props.children) &&\n        this.props.render\n      ),\n      \"You should not use <Route render> and <Route children> in the same route; <Route render> will be ignored\"\n    );\n\n    warning(\n      !(this.props.component && this.props.render),\n      \"You should not use <Route component> and <Route render> in the same route; <Route render> will be ignored\"\n    );\n  };\n\n  Route.prototype.componentDidUpdate = function(prevProps) {\n    warning(\n      !(this.props.location && !prevProps.location),\n      '<Route> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n    );\n\n    warning(\n      !(!this.props.location && prevProps.location),\n      '<Route> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n    );\n  };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\nfunction addLeadingSlash(path) {\n  return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n  if (!basename) return location;\n\n  return {\n    ...location,\n    pathname: addLeadingSlash(basename) + location.pathname\n  };\n}\n\nfunction stripBasename(basename, location) {\n  if (!basename) return location;\n\n  const base = addLeadingSlash(basename);\n\n  if (location.pathname.indexOf(base) !== 0) return location;\n\n  return {\n    ...location,\n    pathname: location.pathname.substr(base.length)\n  };\n}\n\nfunction createURL(location) {\n  return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n  return () => {\n    invariant(false, \"You cannot %s with <StaticRouter>\", methodName);\n  };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" <Router>, so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n  navigateTo(location, action) {\n    const { basename = \"\", context = {} } = this.props;\n    context.action = action;\n    context.location = addBasename(basename, createLocation(location));\n    context.url = createURL(context.location);\n  }\n\n  handlePush = location => this.navigateTo(location, \"PUSH\");\n  handleReplace = location => this.navigateTo(location, \"REPLACE\");\n  handleListen = () => noop;\n  handleBlock = () => noop;\n\n  render() {\n    const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n    const history = {\n      createHref: path => addLeadingSlash(basename + createURL(path)),\n      action: \"POP\",\n      location: stripBasename(basename, createLocation(location)),\n      push: this.handlePush,\n      replace: this.handleReplace,\n      go: staticHandler(\"go\"),\n      goBack: staticHandler(\"goBack\"),\n      goForward: staticHandler(\"goForward\"),\n      listen: this.handleListen,\n      block: this.handleBlock\n    };\n\n    return <Router {...rest} history={history} staticContext={context} />;\n  }\n}\n\nif (__DEV__) {\n  StaticRouter.propTypes = {\n    basename: PropTypes.string,\n    context: PropTypes.object,\n    location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n  };\n\n  StaticRouter.prototype.componentDidMount = function() {\n    warning(\n      !this.props.history,\n      \"<StaticRouter> ignores the history prop. To use a custom history, \" +\n        \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n    );\n  };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\n/**\n * The public API for rendering the first <Route> that matches.\n */\nclass Switch extends React.Component {\n  render() {\n    return (\n      <RouterContext.Consumer>\n        {context => {\n          invariant(context, \"You should not use <Switch> outside a <Router>\");\n\n          const location = this.props.location || context.location;\n\n          let element, match;\n\n          // We use React.Children.forEach instead of React.Children.toArray().find()\n          // here because toArray adds keys to all child elements and we do not want\n          // to trigger an unmount/remount for two <Route>s that render the same\n          // component at different URLs.\n          React.Children.forEach(this.props.children, child => {\n            if (match == null && React.isValidElement(child)) {\n              element = child;\n\n              const path = child.props.path || child.props.from;\n\n              match = path\n                ? matchPath(location.pathname, { ...child.props, path })\n                : context.match;\n            }\n          });\n\n          return match\n            ? React.cloneElement(element, { location, computedMatch: match })\n            : null;\n        }}\n      </RouterContext.Consumer>\n    );\n  }\n}\n\nif (__DEV__) {\n  Switch.propTypes = {\n    children: PropTypes.node,\n    location: PropTypes.object\n  };\n\n  Switch.prototype.componentDidUpdate = function(prevProps) {\n    warning(\n      !(this.props.location && !prevProps.location),\n      '<Switch> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n    );\n\n    warning(\n      !(!this.props.location && prevProps.location),\n      '<Switch> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n    );\n  };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport Context from \"./RouterContext.js\";\nimport HistoryContext from \"./HistoryContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n  if (__DEV__) {\n    invariant(\n      typeof useContext === \"function\",\n      \"You must use React >= 16.8 in order to use useHistory()\"\n    );\n  }\n\n  return useContext(HistoryContext);\n}\n\nexport function useLocation() {\n  if (__DEV__) {\n    invariant(\n      typeof useContext === \"function\",\n      \"You must use React >= 16.8 in order to use useLocation()\"\n    );\n  }\n\n  return useContext(Context).location;\n}\n\nexport function useParams() {\n  if (__DEV__) {\n    invariant(\n      typeof useContext === \"function\",\n      \"You must use React >= 16.8 in order to use useParams()\"\n    );\n  }\n\n  const match = useContext(Context).match;\n  return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n  if (__DEV__) {\n    invariant(\n      typeof useContext === \"function\",\n      \"You must use React >= 16.8 in order to use useRouteMatch()\"\n    );\n  }\n\n  const location = useLocation();\n  const match = useContext(Context).match;\n\n  return path ? matchPath(location.pathname, path) : match;\n}\n","module.exports = Array.isArray || function (arr) {\n  return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n  // Match escaped characters that would otherwise appear in future matches.\n  // This allows the user to escape special characters that won't transform.\n  '(\\\\\\\\.)',\n  // Match Express-style parameters and un-named parameters with a prefix\n  // and optional suffixes. Matches appear as:\n  //\n  // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n  // \"/route(\\\\d+)\"  => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n  // \"/*\"            => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n  '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param  {string}  str\n * @param  {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n  var tokens = []\n  var key = 0\n  var index = 0\n  var path = ''\n  var defaultDelimiter = options && options.delimiter || '/'\n  var res\n\n  while ((res = PATH_REGEXP.exec(str)) != null) {\n    var m = res[0]\n    var escaped = res[1]\n    var offset = res.index\n    path += str.slice(index, offset)\n    index = offset + m.length\n\n    // Ignore already escaped sequences.\n    if (escaped) {\n      path += escaped[1]\n      continue\n    }\n\n    var next = str[index]\n    var prefix = res[2]\n    var name = res[3]\n    var capture = res[4]\n    var group = res[5]\n    var modifier = res[6]\n    var asterisk = res[7]\n\n    // Push the current path onto the tokens.\n    if (path) {\n      tokens.push(path)\n      path = ''\n    }\n\n    var partial = prefix != null && next != null && next !== prefix\n    var repeat = modifier === '+' || modifier === '*'\n    var optional = modifier === '?' || modifier === '*'\n    var delimiter = res[2] || defaultDelimiter\n    var pattern = capture || group\n\n    tokens.push({\n      name: name || key++,\n      prefix: prefix || '',\n      delimiter: delimiter,\n      optional: optional,\n      repeat: repeat,\n      partial: partial,\n      asterisk: !!asterisk,\n      pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n    })\n  }\n\n  // Match any characters still remaining.\n  if (index < str.length) {\n    path += str.substr(index)\n  }\n\n  // If the path exists, push it onto the end.\n  if (path) {\n    tokens.push(path)\n  }\n\n  return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param  {string}             str\n * @param  {Object=}            options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n  return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param  {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n  return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n    return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n  })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param  {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n  return encodeURI(str).replace(/[?#]/g, function (c) {\n    return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n  })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n  // Compile all the tokens into regexps.\n  var matches = new Array(tokens.length)\n\n  // Compile all the patterns before compilation.\n  for (var i = 0; i < tokens.length; i++) {\n    if (typeof tokens[i] === 'object') {\n      matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n    }\n  }\n\n  return function (obj, opts) {\n    var path = ''\n    var data = obj || {}\n    var options = opts || {}\n    var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n    for (var i = 0; i < tokens.length; i++) {\n      var token = tokens[i]\n\n      if (typeof token === 'string') {\n        path += token\n\n        continue\n      }\n\n      var value = data[token.name]\n      var segment\n\n      if (value == null) {\n        if (token.optional) {\n          // Prepend partial segment prefixes.\n          if (token.partial) {\n            path += token.prefix\n          }\n\n          continue\n        } else {\n          throw new TypeError('Expected \"' + token.name + '\" to be defined')\n        }\n      }\n\n      if (isarray(value)) {\n        if (!token.repeat) {\n          throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n        }\n\n        if (value.length === 0) {\n          if (token.optional) {\n            continue\n          } else {\n            throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n          }\n        }\n\n        for (var j = 0; j < value.length; j++) {\n          segment = encode(value[j])\n\n          if (!matches[i].test(segment)) {\n            throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n          }\n\n          path += (j === 0 ? token.prefix : token.delimiter) + segment\n        }\n\n        continue\n      }\n\n      segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n      if (!matches[i].test(segment)) {\n        throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n      }\n\n      path += token.prefix + segment\n    }\n\n    return path\n  }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param  {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n  return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param  {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n  return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param  {!RegExp} re\n * @param  {Array}   keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n  re.keys = keys\n  return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param  {Object} options\n * @return {string}\n */\nfunction flags (options) {\n  return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param  {!RegExp} path\n * @param  {!Array}  keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n  // Use a negative lookahead to match only capturing groups.\n  var groups = path.source.match(/\\((?!\\?)/g)\n\n  if (groups) {\n    for (var i = 0; i < groups.length; i++) {\n      keys.push({\n        name: i,\n        prefix: null,\n        delimiter: null,\n        optional: false,\n        repeat: false,\n        partial: false,\n        asterisk: false,\n        pattern: null\n      })\n    }\n  }\n\n  return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param  {!Array}  path\n * @param  {Array}   keys\n * @param  {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n  var parts = []\n\n  for (var i = 0; i < path.length; i++) {\n    parts.push(pathToRegexp(path[i], keys, options).source)\n  }\n\n  var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n  return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param  {string}  path\n * @param  {!Array}  keys\n * @param  {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n  return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param  {!Array}          tokens\n * @param  {(Array|Object)=} keys\n * @param  {Object=}         options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n  if (!isarray(keys)) {\n    options = /** @type {!Object} */ (keys || options)\n    keys = []\n  }\n\n  options = options || {}\n\n  var strict = options.strict\n  var end = options.end !== false\n  var route = ''\n\n  // Iterate over the tokens and create our regexp string.\n  for (var i = 0; i < tokens.length; i++) {\n    var token = tokens[i]\n\n    if (typeof token === 'string') {\n      route += escapeString(token)\n    } else {\n      var prefix = escapeString(token.prefix)\n      var capture = '(?:' + token.pattern + ')'\n\n      keys.push(token)\n\n      if (token.repeat) {\n        capture += '(?:' + prefix + capture + ')*'\n      }\n\n      if (token.optional) {\n        if (!token.partial) {\n          capture = '(?:' + prefix + '(' + capture + '))?'\n        } else {\n          capture = prefix + '(' + capture + ')?'\n        }\n      } else {\n        capture = prefix + '(' + capture + ')'\n      }\n\n      route += capture\n    }\n  }\n\n  var delimiter = escapeString(options.delimiter || '/')\n  var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n  // In non-strict mode we allow a slash at the end of match. If the path to\n  // match already ends with a slash, we remove it for consistency. The slash\n  // is valid at the end of a path match, not in the middle. This is important\n  // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n  if (!strict) {\n    route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n  }\n\n  if (end) {\n    route += '$'\n  } else {\n    // In non-ending mode, we need the capturing groups to match as much as\n    // possible by using a positive lookahead to the end or next path segment.\n    route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n  }\n\n  return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param  {(string|RegExp|Array)} path\n * @param  {(Array|Object)=}       keys\n * @param  {Object=}               options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n  if (!isarray(keys)) {\n    options = /** @type {!Object} */ (keys || options)\n    keys = []\n  }\n\n  options = options || {}\n\n  if (path instanceof RegExp) {\n    return regexpToRegexp(path, /** @type {!Array} */ (keys))\n  }\n\n  if (isarray(path)) {\n    return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n  }\n\n  return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-is.production.min.js');\n} else {\n  module.exports = require('./cjs/react-is.development.js');\n}\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n  subClass.prototype = Object.create(superClass.prototype);\n  subClass.prototype.constructor = subClass;\n  setPrototypeOf(subClass, superClass);\n}"],"names":["BrowserRouter","history","createHistory","props","render","this","children","React","resolveToLocation","to","currentLocation","normalizeToLocation","createLocation","forwardRefShim","C","forwardRef","LinkAnchor","forwardedRef","innerRef","navigate","onClick","rest","target","event","ex","preventDefault","defaultPrevented","button","metaKey","altKey","ctrlKey","shiftKey","isModifiedEvent","ref","Link","component","replace","RouterContext","context","invariant","location","href","createHref","push","ariaCurrent","activeClassName","activeStyle","classNameProp","className","exact","isActiveProp","isActive","locationProp","sensitive","strict","styleProp","style","toLocation","path","pathname","escapedPath","match","matchPath","classnames","filter","i","join","joinClassnames","MAX_SIGNED_31_BIT_INT","commonjsGlobal","globalThis","window","g","index","defaultValue","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","key","getUniqueId","Provider","_Component","_this","value","handlers","apply","arguments","emitter","on","handler","off","h","get","set","newValue","changedBits","forEach","_proto","prototype","getChildContext","_ref","componentWillReceiveProps","nextProps","oldValue","x","y","Component","childContextTypes","Consumer","_Component2","_this2","state","getValue","onUpdate","observedBits","setState","_proto2","componentDidMount","componentWillUnmount","Array","isArray","contextTypes","createNamedContext","name","createContext","displayName","historyContext","Router","_isMounted","_pendingLocation","staticContext","unlisten","listen","computeRootMatch","url","params","isExact","HistoryContext","cache","cacheLimit","cacheCount","options","concat","reduce","matched","cacheKey","end","pathCache","keys","result","regexp","pathToRegexp","compilePath","exec","values","memo","Route","computedMatch","length","addLeadingSlash","charAt","stripBasename","basename","base","indexOf","substr","createURL","createPath","staticHandler","methodName","noop","Switch","element","child","from","useContext","useHistory","useLocation","Context","useParams","module","exports","arr","Object","toString","call","isarray","parse","compile","str","tokensToFunction","tokensToRegExp","PATH_REGEXP","RegExp","res","tokens","defaultDelimiter","delimiter","m","escaped","offset","slice","next","prefix","capture","group","modifier","asterisk","partial","repeat","optional","pattern","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","c","charCodeAt","toUpperCase","matches","flags","obj","opts","data","encode","pretty","encodeURIComponent","token","segment","TypeError","JSON","stringify","j","test","attachKeys","re","route","endsWithDelimiter","groups","source","regexpToRegexp","parts","arrayToRegexp","stringToRegexp","b","Symbol","for","d","e","f","k","l","n","p","q","r","t","v","w","z","a","u","$$typeof","type","A","_inheritsLoose","subClass","superClass","create","constructor"],"sourceRoot":""}