define(['require', 'exports', 'react', 'prop-types', 'react-redux', 'sanitize.css/sanitize.css', 'react-router-dom', 'react-intl', 'redux', 'reselect', 'styled-components', 'connected-react-router', 'redux-saga', 'immer', 'history'], function (require, exports, React, PropTypes, reactRedux, sanitize_css, reactRouterDom, reactIntl, redux, reselect, styled, connectedReactRouter, createSagaMiddleware, produce, history$1) { 'use strict';

  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }

  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
  var createSagaMiddleware__default = /*#__PURE__*/_interopDefaultLegacy(createSagaMiddleware);
  var produce__default = /*#__PURE__*/_interopDefaultLegacy(produce);

  function _extends() {
    _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;
    };

    return _extends.apply(this, arguments);
  }

  const TOPIC_URL_MASK = 'topics/:topicSlug([A-Za-z0-9_\\-\\.]+)';

  const loadable = (importFunc, {
    fallback = null
  } = {
    fallback: null
  }) => {
    const LazyComponent = React.lazy(importFunc);
    return props => /*#__PURE__*/React__default['default'].createElement(React.Suspense, {
      fallback: fallback
    }, /*#__PURE__*/React__default['default'].createElement(LazyComponent, props));
  };

  const circleFadeDelay = styled.keyframes(["0%,39%,100%{opacity:0;}40%{opacity:1;}"]);

  const Circle = props => {
    const CirclePrimitive = styled__default['default'].div.withConfig({
      displayName: "Circle__CirclePrimitive",
      componentId: "sc-1kz4jk4-0"
    })(["width:100%;height:100%;position:absolute;left:0;top:0;", " &:before{content:'';display:block;margin:0 auto;width:15%;height:15%;background-color:#999;border-radius:100%;animation:", " 1.2s infinite ease-in-out both;", ";}"], props.rotate && `
      -webkit-transform: rotate(${props.rotate}deg);
      -ms-transform: rotate(${props.rotate}deg);
      transform: rotate(${props.rotate}deg);
    `, circleFadeDelay, props.delay && `
        -webkit-animation-delay: ${props.delay}s;
        animation-delay: ${props.delay}s;
      `);
    return /*#__PURE__*/React__default['default'].createElement(CirclePrimitive, null);
  };

  Circle.propTypes = {
    delay: PropTypes__default['default'].number,
    rotate: PropTypes__default['default'].number
  };

  const Wrapper = styled__default['default'].div.withConfig({
    displayName: "Wrapper",
    componentId: "sc-1ds8ev6-0"
  })(["margin:2em auto;width:40px;height:40px;position:relative;"]);

  const LoadingIndicator = () => /*#__PURE__*/React__default['default'].createElement(Wrapper, null, /*#__PURE__*/React__default['default'].createElement(Circle, null), /*#__PURE__*/React__default['default'].createElement(Circle, {
    rotate: 30,
    delay: -1.1
  }), /*#__PURE__*/React__default['default'].createElement(Circle, {
    rotate: 60,
    delay: -1
  }), /*#__PURE__*/React__default['default'].createElement(Circle, {
    rotate: 90,
    delay: -0.9
  }), /*#__PURE__*/React__default['default'].createElement(Circle, {
    rotate: 120,
    delay: -0.8
  }), /*#__PURE__*/React__default['default'].createElement(Circle, {
    rotate: 150,
    delay: -0.7
  }), /*#__PURE__*/React__default['default'].createElement(Circle, {
    rotate: 180,
    delay: -0.6
  }), /*#__PURE__*/React__default['default'].createElement(Circle, {
    rotate: 210,
    delay: -0.5
  }), /*#__PURE__*/React__default['default'].createElement(Circle, {
    rotate: 240,
    delay: -0.4
  }), /*#__PURE__*/React__default['default'].createElement(Circle, {
    rotate: 270,
    delay: -0.3
  }), /*#__PURE__*/React__default['default'].createElement(Circle, {
    rotate: 300,
    delay: -0.2
  }), /*#__PURE__*/React__default['default'].createElement(Circle, {
    rotate: 330,
    delay: -0.1
  }));

  /**
   * Asynchronously loads the component for HomePage
   */
  var ThreadsList = loadable(() => new Promise(function (resolve, reject) { require(['./index-5b5af8d7'], resolve, reject) }), {
    fallback: /*#__PURE__*/React__default['default'].createElement(LoadingIndicator, null)
  });

  /**
   * Asynchronously loads the component for HomePage
   */
  var ThreadPage = loadable(() => new Promise(function (resolve, reject) { require(['./index-ab06c512'], resolve, reject) }), {
    fallback: /*#__PURE__*/React__default['default'].createElement(LoadingIndicator, null)
  });

  /**
   * Asynchronously loads the component for HomePage
   */
  var NewTopicPage = loadable(() => new Promise(function (resolve, reject) { require(['./index-9c7e90c1'], resolve, reject) }), {
    fallback: /*#__PURE__*/React__default['default'].createElement(LoadingIndicator, null)
  });

  /**
   * Asynchronously loads the component for HomePage
   */
  var NewThreadPage = loadable(() => new Promise(function (resolve, reject) { require(['./index-a89e0289'], resolve, reject) }), {
    fallback: /*#__PURE__*/React__default['default'].createElement(LoadingIndicator, null)
  });

  /**
   * Asynchronously loads the component for HomePage
   */
  var HomePage = loadable(() => new Promise(function (resolve, reject) { require(['./index-78b31992'], resolve, reject) }), {
    fallback: /*#__PURE__*/React__default['default'].createElement(LoadingIndicator, null)
  });

  var en = {
  	"boilerplate.components.Footer.author.message": "Made with love by {author}.",
  	"boilerplate.components.Footer.license.message": "This project is licensed under the MIT license.",
  	"boilerplate.components.Header.features": "Features",
  	"boilerplate.components.Header.home": "Home",
  	"boilerplate.containers.FeaturePage.css.header": "Features",
  	"boilerplate.containers.FeaturePage.css.message": "Next generation CSS",
  	"boilerplate.containers.FeaturePage.feedback.header": "Instant feedback",
  	"boilerplate.containers.FeaturePage.feedback.message": "Enjoy the best DX and code your app at the speed of thought! Your\n    saved changes to the CSS and JS are reflected instantaneously\n    without refreshing the page. Preserve application state even when\n    you update something in the underlying code!",
  	"boilerplate.containers.FeaturePage.header": "Features",
  	"boilerplate.containers.FeaturePage.internationalization.header": "Complete i18n Standard Internationalization & Pluralization",
  	"boilerplate.containers.FeaturePage.internationalization.message": "Scalable apps need to support multiple languages, easily add and support multiple languages with `react-intl`.",
  	"boilerplate.containers.FeaturePage.javascript.header": "Next generation JavaScript",
  	"boilerplate.containers.FeaturePage.javascript.message": "Use template strings, object destructuring, arrow functions, JSX\n    syntax and more, today.",
  	"boilerplate.containers.FeaturePage.network.header": "Offline-first",
  	"boilerplate.containers.FeaturePage.network.message": "The next frontier in performant web apps: availability without a\n      network connection from the instant your users load the app.",
  	"boilerplate.containers.FeaturePage.routing.header": "Industry-standard routing",
  	"boilerplate.containers.FeaturePage.routing.message": "Write composable CSS that's co-located with your components for\n    complete modularity. Unique generated class names keep the\n    specificity low while eliminating style clashes. Ship only the\n    styles that are on the page for the best performance.",
  	"boilerplate.containers.FeaturePage.scaffolding.header": "Quick scaffolding",
  	"boilerplate.containers.FeaturePage.scaffolding.message": "Automate the creation of components, containers, routes, selectors\n  and sagas - and their tests - right from the CLI!",
  	"boilerplate.containers.FeaturePage.state_management.header": "Predictable state management",
  	"boilerplate.containers.FeaturePage.state_management.message": "Unidirectional data flow allows for change logging and time travel\n    debugging.",
  	"boilerplate.containers.HomePage.start_project.header": "Start your next react project in seconds",
  	"boilerplate.containers.HomePage.start_project.message": "A highly scalable, offline-first foundation with the best DX and a focus on performance and best practices",
  	"boilerplate.containers.HomePage.tryme.atPrefix": "@",
  	"boilerplate.containers.HomePage.tryme.header": "Try me!",
  	"boilerplate.containers.HomePage.tryme.message": "Show Github repositories by",
  	"boilerplate.containers.LocaleToggle.de": "de",
  	"boilerplate.containers.LocaleToggle.en": "en",
  	"boilerplate.containers.NotFoundPage.header": "Page not found."
  };

  var enTranslationMessages = /*#__PURE__*/Object.freeze({
    __proto__: null,
    'default': en
  });

  /**
   * Asynchronously loads the component for HomePage
   */
  var TopicsList = loadable(() => new Promise(function (resolve, reject) { require(['./index-c4e34ad9'], resolve, reject) }), {
    fallback: /*#__PURE__*/React__default['default'].createElement(LoadingIndicator, null)
  });

  function _defineProperty(obj, key, value) {
    if (key in obj) {
      Object.defineProperty(obj, key, {
        value: value,
        enumerable: true,
        configurable: true,
        writable: true
      });
    } else {
      obj[key] = value;
    }

    return obj;
  }

  /*
   * AppConstants
   * Each action has a corresponding type, which the reducer knows and picks up on.
   * To avoid weird typos between the reducer and the actions, we save them as
   * constants here. We prefix them with 'yourproject/YourComponent' so we avoid
   * reducers accidentally picking up actions they shouldn't.
   *
   * Follow this format:
   * export const YOUR_ACTION_CONSTANT = 'yourproject/YourContainer/YOUR_ACTION_CONSTANT';
   */
  const LOAD_REPOS = 'boilerplate/App/LOAD_REPOS';
  const LOAD_REPOS_SUCCESS = 'boilerplate/App/LOAD_REPOS_SUCCESS';
  const LOAD_REPOS_ERROR = 'boilerplate/App/LOAD_REPOS_ERROR';
  const LOAD_SIGNED_IN_USER = 'boilerplate/App/LOAD_SIGNED_IN_USER';
  const LOAD_SIGNED_IN_USER_SUCCESS = 'boilerplate/App/LOAD_SIGNED_IN_USER_SUCCESS';
  const LOAD_SIGNED_IN_USER_ERROR = 'boilerplate/App/LOAD_SIGNED_IN_USER_ERROR';

  /*
   * AppReducer (global)
   *
   * The reducer takes care of our data. Using actions, we can
   * update our application state. To add a new action,
   * add it to the switch statement in the reducer function
   *
   */

  const initialState$2 = {
    loading: false,
    error: false,
    currentUser: false,
    userData: {
      repositories: false
    },
    signedInUser: false
  };
  /* eslint-disable default-case, no-param-reassign */

  const appReducer = (state = initialState$2, action) => produce__default['default'](state, draft => {
    switch (action.type) {
      case LOAD_REPOS:
        draft.loading = true;
        draft.error = false;
        draft.userData.repositories = false;
        break;

      case LOAD_REPOS_SUCCESS:
        draft.userData.repositories = action.repos;
        draft.loading = false;
        draft.currentUser = action.username;
        break;

      case LOAD_REPOS_ERROR:
        draft.error = action.error;
        draft.loading = false;
        break;

      case LOAD_SIGNED_IN_USER:
        draft.loading = true;
        draft.error = false;
        draft.signedInUser = false;
        break;

      case LOAD_SIGNED_IN_USER_SUCCESS:
        draft.userData.repositories = action.repos;
        draft.loading = false;
        draft.signedInUser = action.signedInUser;
        break;

      case LOAD_SIGNED_IN_USER_ERROR:
        draft.error = action.error;
        draft.loading = false;
        break;
    }
  });

  /*
   *
   * LanguageProvider constants
   *
   */
  const CHANGE_LOCALE = 'app/LanguageToggle/CHANGE_LOCALE';

  var de = {
  	"boilerplate.components.Footer.author.message": "Mit Liebe gemacht von {author}.",
  	"boilerplate.components.Footer.license.message": "Dieses Projekt wird unter der MIT-Lizenz veröffentlicht.",
  	"boilerplate.components.Header.features": "",
  	"boilerplate.components.Header.home": "",
  	"boilerplate.containers.FeaturePage.css.header": "",
  	"boilerplate.containers.FeaturePage.css.message": "Die nächste Generation von CSS",
  	"boilerplate.containers.FeaturePage.feedback.header": "Sofortiges Feedback",
  	"boilerplate.containers.FeaturePage.feedback.message": "Genießen Sie die beste Entwicklungserfahrung und programmieren Sie Ihre App so schnell wie noch nie! Ihre Änderungen an dem CSS und JavaScript sind sofort reflektiert, ohne die Seite aktualisieren zu müssen. So bleibt der Anwendungszustand bestehen, auch wenn Sie etwas in dem darunter liegenden Code aktualisieren!",
  	"boilerplate.containers.FeaturePage.header": "",
  	"boilerplate.containers.FeaturePage.internationalization.header": "Komplette i18n Standard-Internationalisierung und Pluralisierung",
  	"boilerplate.containers.FeaturePage.internationalization.message": "Das Internet ist global. Mehrsprachige- und Pluralisierungsunterstützung ist entscheidend für große Web-Anwendungen.",
  	"boilerplate.containers.FeaturePage.javascript.header": "Das Internet ist global. Mehrsprachige- und Pluralisierungsunterstützung ist entscheidend für große Web-Anwendungen.",
  	"boilerplate.containers.FeaturePage.javascript.message": "Benutzen Sie ES6 template strings, object destructuring, arrow functions, JSX syntax und mehr, heute.",
  	"boilerplate.containers.FeaturePage.network.header": "",
  	"boilerplate.containers.FeaturePage.network.message": "The next frontier in performant web apps: availability without a\n      network connection from the instant your users load the app.",
  	"boilerplate.containers.FeaturePage.routing.header": "Standard Routing",
  	"boilerplate.containers.FeaturePage.routing.message": "Schreiben Sie CSS, das am selben Ort wie ihre Komponenten ist. Deterministisch generierte, einzigartige Klassennamen halten die Spezifität niedrig während styling Konflikte vermieden werden. Senden Sie nur das CSS an ihre Benutzer welches dann wirklich sichtbar ist für die schnellste Performance!",
  	"boilerplate.containers.FeaturePage.scaffolding.header": "Schnelles Scaffolding",
  	"boilerplate.containers.FeaturePage.scaffolding.message": "Automatisieren Sie die Kreation von Komponenten, Containern, Routen, Selektoren und Sagas – und ihre Tests – direkt von dem Terminal!",
  	"boilerplate.containers.FeaturePage.state_management.header": "Berechenbare Stateverwaltung",
  	"boilerplate.containers.FeaturePage.state_management.message": "Unidirectional data flow erlaubt uns alle Änderungen ihrer Applikation zu loggen und time travel debugging einzusetzen.",
  	"boilerplate.containers.HomePage.start_project.header": "Beginnen Sie Ihr nächstes React Projekt in Sekunden",
  	"boilerplate.containers.HomePage.start_project.message": "Ein skalierendes, offline-first Fundament mit der besten DX und einem Fokus auf Performance und bewährte Methoden",
  	"boilerplate.containers.HomePage.tryme.atPrefix": "",
  	"boilerplate.containers.HomePage.tryme.header": "Probiere mich!",
  	"boilerplate.containers.HomePage.tryme.message": "Zeige die Github Repositories von",
  	"boilerplate.containers.LocaleToggle.de": "",
  	"boilerplate.containers.LocaleToggle.en": "",
  	"boilerplate.containers.NotFoundPage.header": "Seite nicht gefunden."
  };

  var deTranslationMessages = /*#__PURE__*/Object.freeze({
    __proto__: null,
    'default': de
  });

  /**
   * i18n.js
   *
   * This will setup the i18n language files and locale data for your app.
   *
   *   IMPORTANT: This file is used by the internal build
   *   script `extract-intl`, and must use CommonJS module syntax
   *   You CANNOT use import/export in this file.
   */
  const addLocaleData = require('react-intl').addLocaleData; //eslint-disable-line


  const enLocaleData = require('react-intl/locale-data/en');

  const deLocaleData = require('react-intl/locale-data/de'); // const enTranslationMessages = require('./translations/en.json')
  addLocaleData(enLocaleData);
  addLocaleData(deLocaleData);
  const DEFAULT_LOCALE = 'en'; // prettier-ignore
  const formatTranslationMessages = (locale, messages) => {
    const defaultFormattedMessages = locale !== DEFAULT_LOCALE ? formatTranslationMessages(DEFAULT_LOCALE, enTranslationMessages) : {};

    const flattenFormattedMessages = (formattedMessages, key) => {
      const formattedMessage = !messages[key] && locale !== DEFAULT_LOCALE ? defaultFormattedMessages[key] : messages[key];
      return Object.assign(formattedMessages, {
        [key]: formattedMessage
      });
    };

    return Object.keys(messages).reduce(flattenFormattedMessages, {});
  };
  ({
    en: formatTranslationMessages('en', enTranslationMessages),
    de: formatTranslationMessages('de', deTranslationMessages)
  }); // exports.appLocales = appLocales
  // exports.formatTranslationMessages = formatTranslationMessages
  // exports.translationMessages = translationMessages
  // exports.DEFAULT_LOCALE = DEFAULT_LOCALE

  /*
   *
   * LanguageProvider reducer
   *
   */
  const initialState$1 = {
    locale: DEFAULT_LOCALE
  };
  /* eslint-disable default-case, no-param-reassign */

  const languageProviderReducer = (state = initialState$1, action) => produce__default['default'](state, draft => {
    switch (action.type) {
      case CHANGE_LOCALE:
        draft.locale = action.locale;
        break;
    }
  });

  let ROOT_URL = '';
  const conf = window.REACT_COMMENTS_DJANGO_CONFIG;

  if (conf) {
    ({
      ROOT_URL
    } = conf);
  }

  const history = history$1.createBrowserHistory({
    basename: ROOT_URL
  });

  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }

  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
  /**
   * Merges the main reducer with the router state and dynamically injected reducers
   */

  function createReducer(injectedReducers = {}, _history) {
    // console.trace(_history)
    const rootReducer = redux.combineReducers(_objectSpread({
      global: appReducer,
      language: languageProviderReducer,
      // router: connectRouter(_history || history),
      router: connectedReactRouter.connectRouter(history)
    }, injectedReducers));
    return rootReducer;
  }

  /**
   * Create the store with dynamic reducers
   */
  function configureStore(initialState = {}, history) {
    let composeEnhancers = redux.compose;
    const reduxSagaMonitorOptions = {}; // If Redux Dev Tools and Saga Dev Tools Extensions are installed, enable them

    /* istanbul ignore next */

    if (process.env.NODE_ENV !== 'production' && typeof window === 'object') {
      /* eslint-disable no-underscore-dangle */
      if (window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__) composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({}); // NOTE: Uncomment the code below to restore support for Redux Saga
      // Dev Tools once it supports redux-saga version 1.x.x
      // if (window.__SAGA_MONITOR_EXTENSION__)
      //   reduxSagaMonitorOptions = {
      //     sagaMonitor: window.__SAGA_MONITOR_EXTENSION__,
      //   };

      /* eslint-enable */
    }

    const sagaMiddleware = createSagaMiddleware__default['default'](reduxSagaMonitorOptions); // Create the store with two middlewares
    // 1. sagaMiddleware: Makes redux-sagas work
    // 2. routerMiddleware: Syncs the location/URL path to the state

    const middlewares = [sagaMiddleware, connectedReactRouter.routerMiddleware(history)];
    const enhancers = [redux.applyMiddleware(...middlewares)];
    const store = redux.createStore(createReducer({}), // createReducer({}),
    initialState, composeEnhancers(...enhancers)); // Extensions

    store.runSaga = sagaMiddleware.run;
    store.injectedReducers = {}; // Reducer registry

    store.injectedSagas = {}; // Saga registry
    // Make reducers hot reloadable, see http://mxs.is/googmo

    /* istanbul ignore next */

    const conf = window.REACT_COMMENTS_DJANGO_CONFIG;
    let EMBEDDED_MODE = false;

    if (conf) {
      ({
        EMBEDDED_MODE
      } = conf);
    }

    if (module.hot && !EMBEDDED_MODE) {
      // don't use with embedded mode due file path confusing
      // const reducers = require.resolve('./reducers.js')
      module.hot.accept('./reducers', () => {
        // module.hot.accept(reducers, () => {
        store.replaceReducer(createReducer(store.injectedReducers));
      });
    }

    return store;
  }

  const initialState = {}; // const store = configureStore(initialState)

  /** *
   * @param anonUserObject use anonUserObject if true with is_anonymous attr {"is_anonymous":true}
   * @returns {*}
   * @constructor
   */

  function TopicsListComponent(props) {
    const {
      history
    } = props;
    const match = reactRouterDom.useRouteMatch();
    const store = configureStore(initialState, history); // const onRouteChange = route => {
    //   console.log(route)
    // }
    // we use match.path because we can't use basename for history

    const path = match.path; // console.log(path)

    return /*#__PURE__*/React__default['default'].createElement(reactIntl.IntlProvider, {
      locale: "en",
      messages: enTranslationMessages
    }, /*#__PURE__*/React__default['default'].createElement(reactRedux.Provider, {
      store: store
    }, /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Switch, null, /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Route, {
      exact: true,
      path: `${path}`,
      render: tProps => /*#__PURE__*/React__default['default'].createElement(HomePage, _extends({
        history: history
      }, tProps))
    }), /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Route, {
      exact: true,
      path: `${path}/topics`,
      render: tProps => /*#__PURE__*/React__default['default'].createElement(TopicsList, _extends({
        history: history
      }, tProps))
    }), /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Route, {
      exact: true,
      path: `${path}/${TOPIC_URL_MASK}`,
      render: tProps => /*#__PURE__*/React__default['default'].createElement(ThreadsList, _extends({
        history: history
      }, tProps))
    }), /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Route, {
      exact: true,
      path: `${path}/topics/:topicSlug([A-Za-z0-9_\\-\\.]+)/new-thread`,
      render: tProps => /*#__PURE__*/React__default['default'].createElement(NewThreadPage, _extends({
        history: history
      }, tProps))
    }), /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Route, {
      exact: true,
      path: `${match.path}/:topicSlug([A-Za-z0-9_\\-\\.]+)/:threadId(\\d+)/:threadSlug([A-Za-z0-9_\\-\\.]+)`,
      render: tProps => /*#__PURE__*/React__default['default'].createElement(ThreadPage, _extends({
        history: history
      }, tProps))
    }), /*#__PURE__*/React__default['default'].createElement(reactRouterDom.Route, {
      exact: true,
      path: `${match.path}/new-topic`,
      render: tProps => /*#__PURE__*/React__default['default'].createElement(NewTopicPage, _extends({
        history: history
      }, tProps))
    }))));
  }

  TopicsListComponent.propTypes = {
    anonAsUserObject: PropTypes__default['default'].bool
  };
  //   location: makeSelectLocation(),
  // })
  //
  // function mapDispatchToProps(dispatch) {
  //   return {}
  // }
  //
  // const withConnect = connect(
  //   mapStateToProps,
  //   mapDispatchToProps,
  // )
  //
  // export default compose(
  //   withConnect,
  //   memo,
  // )(TopicsListComponent)

  exports.LOAD_SIGNED_IN_USER = LOAD_SIGNED_IN_USER;
  exports.LOAD_SIGNED_IN_USER_ERROR = LOAD_SIGNED_IN_USER_ERROR;
  exports.LOAD_SIGNED_IN_USER_SUCCESS = LOAD_SIGNED_IN_USER_SUCCESS;
  exports.TopicsListComponent = TopicsListComponent;
  exports._defineProperty = _defineProperty;
  exports.appReducer = appReducer;
  exports.createReducer = createReducer;
  exports.history = history;
  exports.initialState = initialState$2;

});
//# sourceMappingURL=TopicsListComponent-d0f74d18.js.map
