1 line
318 KiB
Plaintext
1 line
318 KiB
Plaintext
{"version":3,"sources":["webpack:///application.js","webpack:///./app/javascript/mastodon/features/ui/components/column_header.js","webpack:///./app/javascript/mastodon/features/ui/components/tabs_bar.js","webpack:///./app/javascript/mastodon/features/ui/components/column_loading.js","webpack:///./app/javascript/mastodon/features/ui/components/bundle_column_error.js","webpack:///./app/javascript/mastodon/features/ui/components/column.js","webpack:///./app/javascript/mastodon/components/column_back_button.js","webpack:///./app/javascript/mastodon/components/column_back_button_slim.js","webpack:///./node_modules/react-intl/lib/index.es.js","webpack:///./app/javascript/packs/application.js","webpack:///./app/javascript/mastodon/main.js","webpack:///./app/javascript/mastodon/containers/mastodon.js","webpack:///./app/javascript/mastodon/actions/onboarding.js","webpack:///./app/javascript/mastodon/features/ui/index.js","webpack:///./app/javascript/mastodon/features/ui/util/react_router_helpers.js","webpack:///./app/javascript/mastodon/features/ui/components/upload_area.js","webpack:///./app/javascript/mastodon/features/ui/containers/columns_area_container.js","webpack:///./app/javascript/mastodon/features/ui/components/columns_area.js","webpack:///./app/javascript/mastodon/features/ui/components/drawer_loading.js","webpack:///./app/javascript/mastodon/performance.js","webpack:///./node_modules/offline-plugin/runtime.js"],"names":["webpackJsonp","150","module","__webpack_exports__","__webpack_require__","d","ColumnHeader","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default","n","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default","__WEBPACK_IMPORTED_MODULE_4_react__","__WEBPACK_IMPORTED_MODULE_4_react___default","__WEBPACK_IMPORTED_MODULE_5_classnames__","__WEBPACK_IMPORTED_MODULE_5_classnames___default","_React$PureComponent","_temp","_this","_ret","this","_len","arguments","length","args","Array","_key","call","apply","concat","handleClick","props","onClick","prototype","render","_props","icon","type","active","columnHeaderId","iconElement","className","id","a","PureComponent","245","getIndex","path","links","findIndex","link","to","getLink","index","TabsBar","_class","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn__","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits__","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits___default","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx__","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default","__WEBPACK_IMPORTED_MODULE_4_lodash_debounce__","__WEBPACK_IMPORTED_MODULE_4_lodash_debounce___default","__WEBPACK_IMPORTED_MODULE_5_react__","__WEBPACK_IMPORTED_MODULE_5_react___default","__WEBPACK_IMPORTED_MODULE_6_react_router_dom__","__WEBPACK_IMPORTED_MODULE_7_react_intl__","__WEBPACK_IMPORTED_MODULE_8__is_mobile__","data-preview-title-id","data-preview-icon","defaultMessage","exact","style","flexGrow","flexBasis","Object","setRef","ref","node","e","preventDefault","persist","requestAnimationFrame","tabs","querySelectorAll","currentTab","find","tab","classList","contains","nextTab","target","childNodes","indexOf","remove","listener","removeEventListener","history","push","addEventListener","add","_this2","formatMessage","intl","createElement","map","cloneElement","key","aria-label","250","ColumnLoading","__WEBPACK_IMPORTED_MODULE_5_prop_types__","__WEBPACK_IMPORTED_MODULE_5_prop_types___default","__WEBPACK_IMPORTED_MODULE_6__components_column__","__WEBPACK_IMPORTED_MODULE_7__components_column_header__","__WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component___default","_ImmutablePureCompone","title","multiColumn","focusable","propTypes","oneOfType","string","defaultProps","251","__WEBPACK_IMPORTED_MODULE_5_react_intl__","__WEBPACK_IMPORTED_MODULE_6__column__","__WEBPACK_IMPORTED_MODULE_7__column_header__","__WEBPACK_IMPORTED_MODULE_8__components_column_back_button_slim__","__WEBPACK_IMPORTED_MODULE_9__components_icon_button__","messages","body","retry","BundleColumnError","handleRetry","onRetry","size","283","Column","__WEBPACK_IMPORTED_MODULE_6__column_header__","__WEBPACK_IMPORTED_MODULE_7__scroll__","handleHeaderClick","scrollable","querySelector","_interruptScrollAnimation","handleScroll","c","scrollTop","heading","children","hideHeadingOnMobile","showHeading","window","innerWidth","replace","header","role","aria-labelledby","onScroll","286","ColumnBackButton","_temp2","__WEBPACK_IMPORTED_MODULE_6_prop_types__","__WEBPACK_IMPORTED_MODULE_6_prop_types___default","context","router","goBack","contextTypes","object","298","ColumnBackButtonSlim","__WEBPACK_IMPORTED_MODULE_6__column_back_button__","_ColumnBackButton","tabIndex","6","addLocaleData","data","undefined","isArray","forEach","localeData","locale","__WEBPACK_IMPORTED_MODULE_1_intl_messageformat___default","__addLocaleData","__WEBPACK_IMPORTED_MODULE_2_intl_relativeformat___default","hasLocaleData","localeParts","split","hasIMFAndIRFLocaleData","join","pop","normalizedLocale","toLowerCase","__localeData__","escape","str","UNSAFE_CHARS_REGEX","match","ESCAPED_CHARS","filterProps","whitelist","defaults$$1","reduce","filtered","name","hasOwnProperty","invariantIntlContext","_ref","__WEBPACK_IMPORTED_MODULE_5_invariant___default","shallowEquals","objA","objB","_typeof","keysA","keys","keysB","bHasOwnProperty","bind","i","shouldIntlComponentUpdate","_ref2","nextProps","nextState","state","_ref2$context","nextContext","_context$intl","_nextContext$intl","nextIntl","intlConfigPropNames","getDisplayName","Component$$1","displayName","injectIntl","WrappedComponent","options","_options$intlPropName","intlPropName","_options$withRef","withRef","InjectIntl","_Component","classCallCheck","possibleConstructorReturn","__proto__","getPrototypeOf","inherits","createClass","value","refs","wrappedInstance","_extends","defineProperty","intlShape","defineMessages","messageDescriptors","resolveLocale","locales","_resolveLocale","findPluralFunction","_findPluralRuleFunction","updateRelativeFormatThresholds","newThresholds","thresholds","second","minute","hour","day","month","getNamedFormat","formats","format","formatDate","config","date","Date","filteredOptions","DATE_TIME_FORMAT_OPTIONS","getDateTimeFormat","String","formatTime","formatRelative","now","RELATIVE_FORMAT_OPTIONS","oldThresholds","RELATIVE_FORMAT_THRESHOLDS","getRelativeFormat","isFinite","formatNumber","NUMBER_FORMAT_OPTIONS","getNumberFormat","formatPlural","PLURAL_FORMAT_OPTIONS","getPluralFormat","messageDescriptor","values","defaultLocale","defaultFormats","message","formattedMessage","getMessageFormat","formatHTMLMessage","rawValues","escaped","selectUnits","delta","absDelta","Math","abs","MINUTE","HOUR","DAY","getUnitDelay","units","SECOND","MAX_TIMER_DELAY","isSameDate","b","aTime","getTime","bTime","IntlProvider","FormattedDate","FormattedNumber","FormattedMessage","__WEBPACK_IMPORTED_MODULE_0__locale_data_index_js__","__WEBPACK_IMPORTED_MODULE_0__locale_data_index_js___default","__WEBPACK_IMPORTED_MODULE_1_intl_messageformat__","__WEBPACK_IMPORTED_MODULE_2_intl_relativeformat__","__WEBPACK_IMPORTED_MODULE_3_prop_types__","__WEBPACK_IMPORTED_MODULE_3_prop_types___default","__WEBPACK_IMPORTED_MODULE_5_invariant__","__WEBPACK_IMPORTED_MODULE_6_intl_format_cache__","__WEBPACK_IMPORTED_MODULE_6_intl_format_cache___default","defaultLocaleData","pluralRuleFunction","ord","s","v0","t0","Number","n10","slice","n100","fields","year","relative","0","1","-1","relativeTime","future","one","other","past","Symbol","iterator","obj","constructor","instance","Constructor","TypeError","defineProperties","descriptor","enumerable","configurable","writable","protoProps","staticProps","assign","source","subClass","superClass","create","setPrototypeOf","objectWithoutProperties","self","ReferenceError","toConsumableArray","arr","arr2","from","bool","number","func","oneOf","shape","any","localeMatcher","narrowShortLong","numeric2digit","funcReq","isRequired","intlConfigPropTypes","textComponent","intlFormatPropTypes","formatters","dateTimeFormatPropTypes","formatMatcher","timeZone","hour12","weekday","era","timeZoneName","numberFormatPropTypes","currency","currencyDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","relativeFormatPropTypes","pluralFormatPropTypes","&",">","<","\"","'","IntlPluralFormat","useOrdinal","pluralFn","freeze","intlConfigPropNames$1","intlFormatPropNames","Intl","intlContext","initialNow","_ref$formatters","DateTimeFormat","NumberFormat","_didDisplay","propName","_config","boundFormatFns","getConfig","getBoundFormatFns","_state","next","only","childContextTypes","Text","formattedDate","FormattedTime","formattedTime","FormattedRelative","clearTimeout","_timer","updateInterval","time","unitDelay","unitRemainder","delay","max","setTimeout","setState","scheduleNextUpdate","formattedRelative","formattedNumber","FormattedPlural","pluralCategory","formattedPlural","nextPropsToCheck","description","_props$tagName","tagName","tokenDelimiter","tokenizedValues","elements","uid","floor","random","toString","generateToken","counter","token","nodes","filter","part","FormattedHTMLMessage","formattedHTMLMessage","html","__html","dangerouslySetInnerHTML","658","__WEBPACK_IMPORTED_MODULE_0__mastodon_load_polyfills__","then","default","catch","console","error","659","main","perf","start","replaceState","_window$location","location","pathname","search","hash","test","document","__WEBPACK_IMPORTED_MODULE_4__ready__","mountNode","getElementById","JSON","parse","getAttribute","__WEBPACK_IMPORTED_MODULE_3_react_dom___default","__WEBPACK_IMPORTED_MODULE_2_react___default","__WEBPACK_IMPORTED_MODULE_1__containers_mastodon__","install","dispatch","__WEBPACK_IMPORTED_MODULE_0__actions_push_notifications__","stop","__WEBPACK_IMPORTED_MODULE_2_react__","__WEBPACK_IMPORTED_MODULE_3_react_dom__","660","store","Mastodon","__WEBPACK_IMPORTED_MODULE_5_react_redux__","__WEBPACK_IMPORTED_MODULE_6__store_configureStore__","__WEBPACK_IMPORTED_MODULE_7__actions_onboarding__","__WEBPACK_IMPORTED_MODULE_8_react_router_dom__","__WEBPACK_IMPORTED_MODULE_9_react_router_scroll_4__","__WEBPACK_IMPORTED_MODULE_10__features_ui__","__WEBPACK_IMPORTED_MODULE_11__actions_store__","__WEBPACK_IMPORTED_MODULE_12__actions_streaming__","__WEBPACK_IMPORTED_MODULE_13_react_intl__","__WEBPACK_IMPORTED_MODULE_14__locales__","__WEBPACK_IMPORTED_MODULE_15__initial_state__","_getLocale","hydrateAction","componentDidMount","disconnect","Notification","permission","requestPermission","navigator","registerProtocolHandler","handlerUrl","protocol","host","componentWillUnmount","basename","component","661","showOnboardingOnce","getState","getIn","__WEBPACK_IMPORTED_MODULE_0__modal__","__WEBPACK_IMPORTED_MODULE_1__settings__","662","UI","_dec","_class2","_class3","_temp3","__WEBPACK_IMPORTED_MODULE_6_react__","__WEBPACK_IMPORTED_MODULE_6_react___default","__WEBPACK_IMPORTED_MODULE_7__containers_notifications_container__","__WEBPACK_IMPORTED_MODULE_8_prop_types__","__WEBPACK_IMPORTED_MODULE_8_prop_types___default","__WEBPACK_IMPORTED_MODULE_9__containers_loading_bar_container__","__WEBPACK_IMPORTED_MODULE_10__components_tabs_bar__","__WEBPACK_IMPORTED_MODULE_11__containers_modal_container__","__WEBPACK_IMPORTED_MODULE_12_react_redux__","__WEBPACK_IMPORTED_MODULE_13_react_router_dom__","__WEBPACK_IMPORTED_MODULE_14__is_mobile__","__WEBPACK_IMPORTED_MODULE_15__actions_compose__","__WEBPACK_IMPORTED_MODULE_16__actions_timelines__","__WEBPACK_IMPORTED_MODULE_17__actions_notifications__","__WEBPACK_IMPORTED_MODULE_18__actions_height_cache__","__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__","__WEBPACK_IMPORTED_MODULE_20__components_upload_area__","__WEBPACK_IMPORTED_MODULE_21__containers_columns_area_container__","__WEBPACK_IMPORTED_MODULE_22__util_async_components__","__WEBPACK_IMPORTED_MODULE_23_react_hotkeys__","__WEBPACK_IMPORTED_MODULE_24__initial_state__","__WEBPACK_IMPORTED_MODULE_25_react_intl__","beforeUnload","mapStateToProps","isComposing","hasComposingText","dropdownMenuIsOpen","keyMap","help","new","forceNew","focusColumn","reply","favourite","boost","mention","open","openProfile","moveDown","moveUp","back","goToHome","goToNotifications","goToLocal","goToFederated","goToStart","goToFavourites","goToProfile","goToBlocked","SwitchingColumnsArea","mobile","handleResize","onLayoutChange","trailing","getWrappedInstance","componentWillMount","passive","componentDidUpdate","prevProps","includes","handleChildrenContentChange","singleColumn","content","componentParams","withReplies","_React$PureComponent2","_ret2","_len2","_key2","draggingOver","handleBeforeUnload","_this2$props","returnValue","handleLayoutChange","handleDragEnter","dragTargets","dataTransfer","types","handleDragOver","stopPropagation","dropEffect","err","handleDrop","files","handleDragLeave","el","closeUploadModal","handleServiceWorkerPostMessage","warn","handleHotkeyNew","element","focus","handleHotkeySearch","handleHotkeyForceNew","handleHotkeyFocusColumn","column","status","handleHotkeyBack","setHotkeysRef","hotkeys","handleHotkeyToggleHelp","handleHotkeyGoToHome","handleHotkeyGoToNotifications","handleHotkeyGoToLocal","handleHotkeyGoToFederated","handleHotkeyGoToStart","handleHotkeyGoToFavourites","handleHotkeyGoToProfile","handleHotkeyGoToBlocked","handleDragEnd","serviceWorker","__mousetrap__","stopCallback","handlers","is-composing","pointerEvents","onClose","678","WrappedSwitch","WrappedRoute","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties___default","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends__","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_jsx__","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_jsx___default","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_classCallCheck__","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_classCallCheck___default","__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_possibleConstructorReturn__","__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_possibleConstructorReturn___default","__WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_inherits__","__WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_inherits___default","__WEBPACK_IMPORTED_MODULE_7_react_router_dom__","__WEBPACK_IMPORTED_MODULE_8__components_column_loading__","__WEBPACK_IMPORTED_MODULE_9__components_bundle_column_error__","__WEBPACK_IMPORTED_MODULE_10__containers_bundle_container__","Children","child","_React$Component","renderComponent","fetchComponent","loading","renderLoading","renderError","Component","params","_props2","rest","679","UploadArea","__WEBPACK_IMPORTED_MODULE_5__ui_util_optional_motion__","__WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring__","__WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default","handleKeyUp","keyCode","defaultStyle","backgroundOpacity","backgroundScale","stiffness","damping","visibility","opacity","transform","680","__WEBPACK_IMPORTED_MODULE_0_react_redux__","__WEBPACK_IMPORTED_MODULE_1__components_columns_area__","columns","isModalOpen","get","modalType","681","ColumnsArea","__WEBPACK_IMPORTED_MODULE_6_react_intl__","__WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__","__WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes___default","__WEBPACK_IMPORTED_MODULE_9_react_swipeable_views__","__WEBPACK_IMPORTED_MODULE_9_react_swipeable_views___default","__WEBPACK_IMPORTED_MODULE_10__tabs_bar__","__WEBPACK_IMPORTED_MODULE_11_react_router_dom__","__WEBPACK_IMPORTED_MODULE_12__containers_bundle_container__","__WEBPACK_IMPORTED_MODULE_13__column_loading__","__WEBPACK_IMPORTED_MODULE_14__drawer_loading__","__WEBPACK_IMPORTED_MODULE_15__bundle_column_error__","__WEBPACK_IMPORTED_MODULE_16__ui_util_async_components__","__WEBPACK_IMPORTED_MODULE_17_detect_passive_events__","__WEBPACK_IMPORTED_MODULE_17_detect_passive_events___default","__WEBPACK_IMPORTED_MODULE_18__scroll__","componentMap","COMPOSE","HOME","NOTIFICATIONS","PUBLIC","COMMUNITY","HASHTAG","FAVOURITES","LIST","shouldHideFAB","shouldAnimate","handleSwipe","pendingIndex","nextLinkTranslationId","nextLinkSelector","handleAnimationEnd","handleWheel","renderView","columnIndex","view","columnId","componentWillReceiveProps","hasSupport","lastIndex","isRtlLayout","getElementsByTagName","componentWillUpdate","modifier","scrollWidth","floatingActionButton","onChangeIndex","onTransitionEnd","animateTransitions","springConfig","duration","easeFunction","height","toJS","SpecificComponent","list","682","__WEBPACK_IMPORTED_MODULE_1_react__","DrawerLoading","683","684","exports","hasSW","fetch","documentElement","hostname","register","applicationCache","doLoad","iframe","src","directory","display","appCacheIframe","appendChild","readyState","applyUpdate","callback","errback","update","getRegistration","registration","contentWindow"],"mappings":"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","file":"application.js","sourcesContent":["webpackJsonp([27],{\n\n/***/ 150:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ColumnHeader; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_classnames__);\n\n\n\n\n\n\n\n\nvar ColumnHeader = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ColumnHeader, _React$PureComponent);\n\n function ColumnHeader() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ColumnHeader);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onClick();\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n ColumnHeader.prototype.render = function render() {\n var _props = this.props,\n icon = _props.icon,\n type = _props.type,\n active = _props.active,\n columnHeaderId = _props.columnHeaderId;\n\n var iconElement = '';\n\n if (icon) {\n iconElement = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-fw fa-' + icon + ' column-header__icon'\n });\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('h1', {\n className: __WEBPACK_IMPORTED_MODULE_5_classnames___default()('column-header', { active: active }),\n id: columnHeaderId || null\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClick\n }, void 0, iconElement, type));\n };\n\n return ColumnHeader;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n\n/***/ }),\n\n/***/ 245:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return links; });\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = getIndex;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = getLink;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return TabsBar; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_lodash_debounce__ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_lodash_debounce___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_lodash_debounce__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_router_dom__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__is_mobile__ = __webpack_require__(35);\n\n\n\n\n\n\nvar _class;\n\n\n\n\n\n\n\n\nvar links = [__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_router_dom__[\"c\" /* NavLink */], {\n className: 'tabs-bar__link primary',\n to: '/timelines/home',\n 'data-preview-title-id': 'column.home',\n 'data-preview-icon': 'home'\n}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-fw fa-home'\n}), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'tabs_bar.home',\n defaultMessage: 'Home'\n})), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_router_dom__[\"c\" /* NavLink */], {\n className: 'tabs-bar__link primary',\n to: '/notifications',\n 'data-preview-title-id': 'column.notifications',\n 'data-preview-icon': 'bell'\n}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-fw fa-bell'\n}), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'tabs_bar.notifications',\n defaultMessage: 'Notifications'\n})), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_router_dom__[\"c\" /* NavLink */], {\n className: 'tabs-bar__link secondary',\n to: '/timelines/public/local',\n 'data-preview-title-id': 'column.community',\n 'data-preview-icon': 'users'\n}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-fw fa-users'\n}), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'tabs_bar.local_timeline',\n defaultMessage: 'Local'\n})), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_router_dom__[\"c\" /* NavLink */], {\n className: 'tabs-bar__link secondary',\n exact: true,\n to: '/timelines/public',\n 'data-preview-title-id': 'column.public',\n 'data-preview-icon': 'globe'\n}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-fw fa-globe'\n}), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'tabs_bar.federated_timeline',\n defaultMessage: 'Federated'\n})), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_router_dom__[\"c\" /* NavLink */], {\n className: 'tabs-bar__link primary',\n style: { flexGrow: '0', flexBasis: '30px' },\n to: '/getting-started',\n 'data-preview-title-id': 'getting_started.heading',\n 'data-preview-icon': 'bars'\n}, void 0, __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-fw fa-bars'\n}))];\n\nfunction getIndex(path) {\n return links.findIndex(function (link) {\n return link.props.to === path;\n });\n}\n\nfunction getLink(index) {\n return links[index].props.to;\n}\n\nvar TabsBar = Object(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"g\" /* injectIntl */])(_class = Object(__WEBPACK_IMPORTED_MODULE_6_react_router_dom__[\"g\" /* withRouter */])(_class = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits___default()(TabsBar, _React$PureComponent);\n\n function TabsBar() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default()(this, TabsBar);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.setRef = function (ref) {\n _this.node = ref;\n }, _this.handleClick = function (e) {\n // Only apply optimization for touch devices, which we assume are slower\n // We thus avoid the 250ms delay for non-touch devices and the lag for touch devices\n if (Object(__WEBPACK_IMPORTED_MODULE_8__is_mobile__[\"c\" /* isUserTouching */])()) {\n e.preventDefault();\n e.persist();\n\n requestAnimationFrame(function () {\n var tabs = Array.apply(undefined, _this.node.querySelectorAll('.tabs-bar__link'));\n var currentTab = tabs.find(function (tab) {\n return tab.classList.contains('active');\n });\n var nextTab = tabs.find(function (tab) {\n return tab.contains(e.target);\n });\n var to = links[Array.apply(undefined, _this.node.childNodes).indexOf(nextTab)].props.to;\n\n\n if (currentTab !== nextTab) {\n if (currentTab) {\n currentTab.classList.remove('active');\n }\n\n var listener = __WEBPACK_IMPORTED_MODULE_4_lodash_debounce___default()(function () {\n nextTab.removeEventListener('transitionend', listener);\n _this.props.history.push(to);\n }, 50);\n\n nextTab.addEventListener('transitionend', listener);\n nextTab.classList.add('active');\n }\n });\n }\n }, _temp), __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n TabsBar.prototype.render = function render() {\n var _this2 = this;\n\n var formatMessage = this.props.intl.formatMessage;\n\n\n return __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'nav',\n { className: 'tabs-bar', ref: this.setRef },\n links.map(function (link) {\n return __WEBPACK_IMPORTED_MODULE_5_react___default.a.cloneElement(link, { key: link.props.to, onClick: _this2.handleClick, 'aria-label': formatMessage({ id: link.props['data-preview-title-id'] }) });\n })\n );\n };\n\n return TabsBar;\n}(__WEBPACK_IMPORTED_MODULE_5_react___default.a.PureComponent)) || _class) || _class;\n\n\n\n/***/ }),\n\n/***/ 250:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ColumnLoading; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_column__ = __webpack_require__(70);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_column_header__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component__);\n\n\n\n\n\nvar _class, _temp;\n\n\n\n\n\n\n\n\nvar ColumnLoading = (_temp = _class = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ColumnLoading, _ImmutablePureCompone);\n\n function ColumnLoading() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ColumnLoading);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n ColumnLoading.prototype.render = function render() {\n var _props = this.props,\n title = _props.title,\n icon = _props.icon;\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__components_column__[\"a\" /* default */], {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__components_column_header__[\"a\" /* default */], {\n icon: icon,\n title: title,\n multiColumn: false,\n focusable: false\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'scrollable'\n }));\n };\n\n return ColumnLoading;\n}(__WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component___default.a), _class.propTypes = {\n title: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string]),\n icon: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string\n}, _class.defaultProps = {\n title: '',\n icon: ''\n}, _temp);\n\n\n/***/ }),\n\n/***/ 251:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__column__ = __webpack_require__(283);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__column_header__ = __webpack_require__(150);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_column_back_button_slim__ = __webpack_require__(298);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_icon_button__ = __webpack_require__(23);\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"f\" /* defineMessages */])({\n title: {\n 'id': 'bundle_column_error.title',\n 'defaultMessage': 'Network error'\n },\n body: {\n 'id': 'bundle_column_error.body',\n 'defaultMessage': 'Something went wrong while loading this component.'\n },\n retry: {\n 'id': 'bundle_column_error.retry',\n 'defaultMessage': 'Try again'\n }\n});\n\nvar BundleColumnError = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(BundleColumnError, _React$PureComponent);\n\n function BundleColumnError() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, BundleColumnError);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleRetry = function () {\n _this.props.onRetry();\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n BundleColumnError.prototype.render = function render() {\n var formatMessage = this.props.intl.formatMessage;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__column__[\"a\" /* default */], {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__column_header__[\"a\" /* default */], {\n icon: 'exclamation-circle',\n type: formatMessage(messages.title)\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__components_column_back_button_slim__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'error-column'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__components_icon_button__[\"a\" /* default */], {\n title: formatMessage(messages.retry),\n icon: 'refresh',\n onClick: this.handleRetry,\n size: 64\n }), formatMessage(messages.body)));\n };\n\n return BundleColumnError;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"g\" /* injectIntl */])(BundleColumnError));\n\n/***/ }),\n\n/***/ 283:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Column; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_lodash_debounce__ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_lodash_debounce___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_lodash_debounce__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__column_header__ = __webpack_require__(150);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__scroll__ = __webpack_require__(91);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__is_mobile__ = __webpack_require__(35);\n\n\n\n\n\n\n\n\n\n\n\nvar Column = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Column, _React$PureComponent);\n\n function Column() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Column);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleHeaderClick = function () {\n var scrollable = _this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n _this._interruptScrollAnimation = Object(__WEBPACK_IMPORTED_MODULE_7__scroll__[\"b\" /* scrollTop */])(scrollable);\n }, _this.handleScroll = __WEBPACK_IMPORTED_MODULE_4_lodash_debounce___default()(function () {\n if (typeof _this._interruptScrollAnimation !== 'undefined') {\n _this._interruptScrollAnimation();\n }\n }, 200), _this.setRef = function (c) {\n _this.node = c;\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n Column.prototype.scrollTop = function scrollTop() {\n var scrollable = this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n this._interruptScrollAnimation = Object(__WEBPACK_IMPORTED_MODULE_7__scroll__[\"b\" /* scrollTop */])(scrollable);\n };\n\n Column.prototype.render = function render() {\n var _props = this.props,\n heading = _props.heading,\n icon = _props.icon,\n children = _props.children,\n active = _props.active,\n hideHeadingOnMobile = _props.hideHeadingOnMobile;\n\n\n var showHeading = heading && (!hideHeadingOnMobile || hideHeadingOnMobile && !Object(__WEBPACK_IMPORTED_MODULE_8__is_mobile__[\"b\" /* isMobile */])(window.innerWidth));\n\n var columnHeaderId = showHeading && heading.replace(/ /g, '-');\n var header = showHeading && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__column_header__[\"a\" /* default */], {\n icon: icon,\n active: active,\n type: heading,\n onClick: this.handleHeaderClick,\n columnHeaderId: columnHeaderId\n });\n return __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'div',\n {\n ref: this.setRef,\n role: 'region',\n 'aria-labelledby': columnHeaderId,\n className: 'column',\n onScroll: this.handleScroll\n },\n header,\n children\n );\n };\n\n return Column;\n}(__WEBPACK_IMPORTED_MODULE_5_react___default.a.PureComponent);\n\n\n\n/***/ }),\n\n/***/ 286:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ColumnBackButton; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n\n\n\n\n\nvar _class, _temp2;\n\n\n\n\n\nvar ColumnBackButton = (_temp2 = _class = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ColumnBackButton, _React$PureComponent);\n\n function ColumnBackButton() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ColumnBackButton);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function () {\n if (window.history && window.history.length === 1) {\n _this.context.router.history.push('/');\n } else {\n _this.context.router.history.goBack();\n }\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n ColumnBackButton.prototype.render = function render() {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClick,\n className: 'column-back-button'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-fw fa-chevron-left column-back-button__icon'\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'column_back_button.label',\n defaultMessage: 'Back'\n }));\n };\n\n return ColumnBackButton;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent), _class.contextTypes = {\n router: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object\n}, _temp2);\n\n\n/***/ }),\n\n/***/ 298:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ColumnBackButtonSlim; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__column_back_button__ = __webpack_require__(286);\n\n\n\n\n\n\n\n\nvar ColumnBackButtonSlim = function (_ColumnBackButton) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ColumnBackButtonSlim, _ColumnBackButton);\n\n function ColumnBackButtonSlim() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ColumnBackButtonSlim);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ColumnBackButton.apply(this, arguments));\n }\n\n ColumnBackButtonSlim.prototype.render = function render() {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'column-back-button--slim'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n role: 'button',\n tabIndex: '0',\n onClick: this.handleClick,\n className: 'column-back-button column-back-button--slim-button'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-fw fa-chevron-left column-back-button__icon'\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'column_back_button.label',\n defaultMessage: 'Back'\n })));\n };\n\n return ColumnBackButtonSlim;\n}(__WEBPACK_IMPORTED_MODULE_6__column_back_button__[\"a\" /* default */]);\n\n\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return addLocaleData; });\n/* unused harmony export intlShape */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return injectIntl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return defineMessages; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return IntlProvider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return FormattedDate; });\n/* unused harmony export FormattedTime */\n/* unused harmony export FormattedRelative */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return FormattedNumber; });\n/* unused harmony export FormattedPlural */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return FormattedMessage; });\n/* unused harmony export FormattedHTMLMessage */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__locale_data_index_js__ = __webpack_require__(81);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__locale_data_index_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__locale_data_index_js__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_intl_messageformat__ = __webpack_require__(54);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_intl_messageformat___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_intl_messageformat__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_intl_relativeformat__ = __webpack_require__(62);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_intl_relativeformat___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_intl_relativeformat__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_invariant__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_invariant___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_invariant__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_intl_format_cache__ = __webpack_require__(82);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_intl_format_cache___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_intl_format_cache__);\n/*\n * Copyright 2017, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n\n\n\n\n\n\n\n\n// GENERATED FILE\nvar defaultLocaleData = { \"locale\": \"en\", \"pluralRuleFunction\": function pluralRuleFunction(n, ord) {\n var s = String(n).split(\".\"),\n v0 = !s[1],\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2);if (ord) return n10 == 1 && n100 != 11 ? \"one\" : n10 == 2 && n100 != 12 ? \"two\" : n10 == 3 && n100 != 13 ? \"few\" : \"other\";return n == 1 && v0 ? \"one\" : \"other\";\n }, \"fields\": { \"year\": { \"displayName\": \"year\", \"relative\": { \"0\": \"this year\", \"1\": \"next year\", \"-1\": \"last year\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} year\", \"other\": \"in {0} years\" }, \"past\": { \"one\": \"{0} year ago\", \"other\": \"{0} years ago\" } } }, \"month\": { \"displayName\": \"month\", \"relative\": { \"0\": \"this month\", \"1\": \"next month\", \"-1\": \"last month\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} month\", \"other\": \"in {0} months\" }, \"past\": { \"one\": \"{0} month ago\", \"other\": \"{0} months ago\" } } }, \"day\": { \"displayName\": \"day\", \"relative\": { \"0\": \"today\", \"1\": \"tomorrow\", \"-1\": \"yesterday\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} day\", \"other\": \"in {0} days\" }, \"past\": { \"one\": \"{0} day ago\", \"other\": \"{0} days ago\" } } }, \"hour\": { \"displayName\": \"hour\", \"relative\": { \"0\": \"this hour\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} hour\", \"other\": \"in {0} hours\" }, \"past\": { \"one\": \"{0} hour ago\", \"other\": \"{0} hours ago\" } } }, \"minute\": { \"displayName\": \"minute\", \"relative\": { \"0\": \"this minute\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} minute\", \"other\": \"in {0} minutes\" }, \"past\": { \"one\": \"{0} minute ago\", \"other\": \"{0} minutes ago\" } } }, \"second\": { \"displayName\": \"second\", \"relative\": { \"0\": \"now\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} second\", \"other\": \"in {0} seconds\" }, \"past\": { \"one\": \"{0} second ago\", \"other\": \"{0} seconds ago\" } } } } };\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nfunction addLocaleData() {\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var locales = Array.isArray(data) ? data : [data];\n\n locales.forEach(function (localeData) {\n if (localeData && localeData.locale) {\n __WEBPACK_IMPORTED_MODULE_1_intl_messageformat___default.a.__addLocaleData(localeData);\n __WEBPACK_IMPORTED_MODULE_2_intl_relativeformat___default.a.__addLocaleData(localeData);\n }\n });\n}\n\nfunction hasLocaleData(locale) {\n var localeParts = (locale || '').split('-');\n\n while (localeParts.length > 0) {\n if (hasIMFAndIRFLocaleData(localeParts.join('-'))) {\n return true;\n }\n\n localeParts.pop();\n }\n\n return false;\n}\n\nfunction hasIMFAndIRFLocaleData(locale) {\n var normalizedLocale = locale && locale.toLowerCase();\n\n return !!(__WEBPACK_IMPORTED_MODULE_1_intl_messageformat___default.a.__localeData__[normalizedLocale] && __WEBPACK_IMPORTED_MODULE_2_intl_relativeformat___default.a.__localeData__[normalizedLocale]);\n}\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar bool = __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.bool;\nvar number = __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.number;\nvar string = __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.string;\nvar func = __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.func;\nvar object = __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.object;\nvar oneOf = __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.oneOf;\nvar shape = __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.shape;\nvar any = __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.any;\nvar oneOfType = __WEBPACK_IMPORTED_MODULE_3_prop_types___default.a.oneOfType;\n\nvar localeMatcher = oneOf(['best fit', 'lookup']);\nvar narrowShortLong = oneOf(['narrow', 'short', 'long']);\nvar numeric2digit = oneOf(['numeric', '2-digit']);\nvar funcReq = func.isRequired;\n\nvar intlConfigPropTypes = {\n locale: string,\n formats: object,\n messages: object,\n textComponent: any,\n\n defaultLocale: string,\n defaultFormats: object\n};\n\nvar intlFormatPropTypes = {\n formatDate: funcReq,\n formatTime: funcReq,\n formatRelative: funcReq,\n formatNumber: funcReq,\n formatPlural: funcReq,\n formatMessage: funcReq,\n formatHTMLMessage: funcReq\n};\n\nvar intlShape = shape(_extends({}, intlConfigPropTypes, intlFormatPropTypes, {\n formatters: object,\n now: funcReq\n}));\n\nvar messageDescriptorPropTypes = {\n id: string.isRequired,\n description: oneOfType([string, object]),\n defaultMessage: string\n};\n\nvar dateTimeFormatPropTypes = {\n localeMatcher: localeMatcher,\n formatMatcher: oneOf(['basic', 'best fit']),\n\n timeZone: string,\n hour12: bool,\n\n weekday: narrowShortLong,\n era: narrowShortLong,\n year: numeric2digit,\n month: oneOf(['numeric', '2-digit', 'narrow', 'short', 'long']),\n day: numeric2digit,\n hour: numeric2digit,\n minute: numeric2digit,\n second: numeric2digit,\n timeZoneName: oneOf(['short', 'long'])\n};\n\nvar numberFormatPropTypes = {\n localeMatcher: localeMatcher,\n\n style: oneOf(['decimal', 'currency', 'percent']),\n currency: string,\n currencyDisplay: oneOf(['symbol', 'code', 'name']),\n useGrouping: bool,\n\n minimumIntegerDigits: number,\n minimumFractionDigits: number,\n maximumFractionDigits: number,\n minimumSignificantDigits: number,\n maximumSignificantDigits: number\n};\n\nvar relativeFormatPropTypes = {\n style: oneOf(['best fit', 'numeric']),\n units: oneOf(['second', 'minute', 'hour', 'day', 'month', 'year'])\n};\n\nvar pluralFormatPropTypes = {\n style: oneOf(['cardinal', 'ordinal'])\n};\n\n/*\nHTML escaping and shallow-equals implementations are the same as React's\n(on purpose.) Therefore, it has the following Copyright and Licensing:\n\nCopyright 2013-2014, Facebook, Inc.\nAll rights reserved.\n\nThis source code is licensed under the BSD-style license found in the LICENSE\nfile in the root directory of React's source tree.\n*/\n\nvar intlConfigPropNames = Object.keys(intlConfigPropTypes);\n\nvar ESCAPED_CHARS = {\n '&': '&',\n '>': '>',\n '<': '<',\n '\"': '"',\n \"'\": '''\n};\n\nvar UNSAFE_CHARS_REGEX = /[&><\"']/g;\n\nfunction escape(str) {\n return ('' + str).replace(UNSAFE_CHARS_REGEX, function (match) {\n return ESCAPED_CHARS[match];\n });\n}\n\nfunction filterProps(props, whitelist) {\n var defaults$$1 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n return whitelist.reduce(function (filtered, name) {\n if (props.hasOwnProperty(name)) {\n filtered[name] = props[name];\n } else if (defaults$$1.hasOwnProperty(name)) {\n filtered[name] = defaults$$1[name];\n }\n\n return filtered;\n }, {});\n}\n\nfunction invariantIntlContext() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n intl = _ref.intl;\n\n __WEBPACK_IMPORTED_MODULE_5_invariant___default()(intl, '[React Intl] Could not find required `intl` object. ' + '<IntlProvider> needs to exist in the component ancestry.');\n}\n\nfunction shallowEquals(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if ((typeof objA === 'undefined' ? 'undefined' : _typeof(objA)) !== 'object' || objA === null || (typeof objB === 'undefined' ? 'undefined' : _typeof(objB)) !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n for (var i = 0; i < keysA.length; i++) {\n if (!bHasOwnProperty(keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction shouldIntlComponentUpdate(_ref2, nextProps, nextState) {\n var props = _ref2.props,\n state = _ref2.state,\n _ref2$context = _ref2.context,\n context = _ref2$context === undefined ? {} : _ref2$context;\n var nextContext = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _context$intl = context.intl,\n intl = _context$intl === undefined ? {} : _context$intl;\n var _nextContext$intl = nextContext.intl,\n nextIntl = _nextContext$intl === undefined ? {} : _nextContext$intl;\n\n return !shallowEquals(nextProps, props) || !shallowEquals(nextState, state) || !(nextIntl === intl || shallowEquals(filterProps(nextIntl, intlConfigPropNames), filterProps(intl, intlConfigPropNames)));\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n// Inspired by react-redux's `connect()` HOC factory function implementation:\n// https://github.com/rackt/react-redux\n\nfunction getDisplayName(Component$$1) {\n return Component$$1.displayName || Component$$1.name || 'Component';\n}\n\nfunction injectIntl(WrappedComponent) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$intlPropName = options.intlPropName,\n intlPropName = _options$intlPropName === undefined ? 'intl' : _options$intlPropName,\n _options$withRef = options.withRef,\n withRef = _options$withRef === undefined ? false : _options$withRef;\n\n var InjectIntl = function (_Component) {\n inherits(InjectIntl, _Component);\n\n function InjectIntl(props, context) {\n classCallCheck(this, InjectIntl);\n\n var _this = possibleConstructorReturn(this, (InjectIntl.__proto__ || Object.getPrototypeOf(InjectIntl)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(InjectIntl, [{\n key: 'getWrappedInstance',\n value: function getWrappedInstance() {\n __WEBPACK_IMPORTED_MODULE_5_invariant___default()(withRef, '[React Intl] To access the wrapped instance, ' + 'the `{withRef: true}` option must be set when calling: ' + '`injectIntl()`');\n\n return this.refs.wrappedInstance;\n }\n }, {\n key: 'render',\n value: function render() {\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(WrappedComponent, _extends({}, this.props, defineProperty({}, intlPropName, this.context.intl), {\n ref: withRef ? 'wrappedInstance' : null\n }));\n }\n }]);\n return InjectIntl;\n }(__WEBPACK_IMPORTED_MODULE_4_react__[\"Component\"]);\n\n InjectIntl.displayName = 'InjectIntl(' + getDisplayName(WrappedComponent) + ')';\n InjectIntl.contextTypes = {\n intl: intlShape\n };\n InjectIntl.WrappedComponent = WrappedComponent;\n\n return InjectIntl;\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nfunction defineMessages(messageDescriptors) {\n // This simply returns what's passed-in because it's meant to be a hook for\n // babel-plugin-react-intl.\n return messageDescriptors;\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n// This is a \"hack\" until a proper `intl-pluralformat` package is created.\n\nfunction resolveLocale(locales) {\n // IntlMessageFormat#_resolveLocale() does not depend on `this`.\n return __WEBPACK_IMPORTED_MODULE_1_intl_messageformat___default.a.prototype._resolveLocale(locales);\n}\n\nfunction findPluralFunction(locale) {\n // IntlMessageFormat#_findPluralFunction() does not depend on `this`.\n return __WEBPACK_IMPORTED_MODULE_1_intl_messageformat___default.a.prototype._findPluralRuleFunction(locale);\n}\n\nvar IntlPluralFormat = function IntlPluralFormat(locales) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n classCallCheck(this, IntlPluralFormat);\n\n var useOrdinal = options.style === 'ordinal';\n var pluralFn = findPluralFunction(resolveLocale(locales));\n\n this.format = function (value) {\n return pluralFn(value, useOrdinal);\n };\n};\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar DATE_TIME_FORMAT_OPTIONS = Object.keys(dateTimeFormatPropTypes);\nvar NUMBER_FORMAT_OPTIONS = Object.keys(numberFormatPropTypes);\nvar RELATIVE_FORMAT_OPTIONS = Object.keys(relativeFormatPropTypes);\nvar PLURAL_FORMAT_OPTIONS = Object.keys(pluralFormatPropTypes);\n\nvar RELATIVE_FORMAT_THRESHOLDS = {\n second: 60, // seconds to minute\n minute: 60, // minutes to hour\n hour: 24, // hours to day\n day: 30, // days to month\n month: 12 // months to year\n};\n\nfunction updateRelativeFormatThresholds(newThresholds) {\n var thresholds = __WEBPACK_IMPORTED_MODULE_2_intl_relativeformat___default.a.thresholds;\n thresholds.second = newThresholds.second;\n thresholds.minute = newThresholds.minute;\n thresholds.hour = newThresholds.hour;\n thresholds.day = newThresholds.day;\n thresholds.month = newThresholds.month;\n}\n\nfunction getNamedFormat(formats, type, name) {\n var format = formats && formats[type] && formats[type][name];\n if (format) {\n return format;\n }\n\n if (false) {\n console.error('[React Intl] No ' + type + ' format named: ' + name);\n }\n}\n\nfunction formatDate(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n var date = new Date(value);\n var defaults$$1 = format && getNamedFormat(formats, 'date', format);\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults$$1);\n\n try {\n return state.getDateTimeFormat(locale, filteredOptions).format(date);\n } catch (e) {\n if (false) {\n console.error('[React Intl] Error formatting date.\\n' + e);\n }\n }\n\n return String(date);\n}\n\nfunction formatTime(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n var date = new Date(value);\n var defaults$$1 = format && getNamedFormat(formats, 'time', format);\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults$$1);\n\n if (!filteredOptions.hour && !filteredOptions.minute && !filteredOptions.second) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = _extends({}, filteredOptions, { hour: 'numeric', minute: 'numeric' });\n }\n\n try {\n return state.getDateTimeFormat(locale, filteredOptions).format(date);\n } catch (e) {\n if (false) {\n console.error('[React Intl] Error formatting time.\\n' + e);\n }\n }\n\n return String(date);\n}\n\nfunction formatRelative(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n var date = new Date(value);\n var now = new Date(options.now);\n var defaults$$1 = format && getNamedFormat(formats, 'relative', format);\n var filteredOptions = filterProps(options, RELATIVE_FORMAT_OPTIONS, defaults$$1);\n\n // Capture the current threshold values, then temporarily override them with\n // specific values just for this render.\n var oldThresholds = _extends({}, __WEBPACK_IMPORTED_MODULE_2_intl_relativeformat___default.a.thresholds);\n updateRelativeFormatThresholds(RELATIVE_FORMAT_THRESHOLDS);\n\n try {\n return state.getRelativeFormat(locale, filteredOptions).format(date, {\n now: isFinite(now) ? now : state.now()\n });\n } catch (e) {\n if (false) {\n console.error('[React Intl] Error formatting relative time.\\n' + e);\n }\n } finally {\n updateRelativeFormatThresholds(oldThresholds);\n }\n\n return String(date);\n}\n\nfunction formatNumber(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n var defaults$$1 = format && getNamedFormat(formats, 'number', format);\n var filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults$$1);\n\n try {\n return state.getNumberFormat(locale, filteredOptions).format(value);\n } catch (e) {\n if (false) {\n console.error('[React Intl] Error formatting number.\\n' + e);\n }\n }\n\n return String(value);\n}\n\nfunction formatPlural(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale;\n\n var filteredOptions = filterProps(options, PLURAL_FORMAT_OPTIONS);\n\n try {\n return state.getPluralFormat(locale, filteredOptions).format(value);\n } catch (e) {\n if (false) {\n console.error('[React Intl] Error formatting plural.\\n' + e);\n }\n }\n\n return 'other';\n}\n\nfunction formatMessage(config, state) {\n var messageDescriptor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var values = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats,\n messages = config.messages,\n defaultLocale = config.defaultLocale,\n defaultFormats = config.defaultFormats;\n var id = messageDescriptor.id,\n defaultMessage = messageDescriptor.defaultMessage;\n\n // `id` is a required field of a Message Descriptor.\n\n __WEBPACK_IMPORTED_MODULE_5_invariant___default()(id, '[React Intl] An `id` must be provided to format a message.');\n\n var message = messages && messages[id];\n var hasValues = Object.keys(values).length > 0;\n\n // Avoid expensive message formatting for simple messages without values. In\n // development messages will always be formatted in case of missing values.\n if (!hasValues && \"production\" === 'production') {\n return message || defaultMessage || id;\n }\n\n var formattedMessage = void 0;\n\n if (message) {\n try {\n var formatter = state.getMessageFormat(message, locale, formats);\n\n formattedMessage = formatter.format(values);\n } catch (e) {\n if (false) {\n console.error('[React Intl] Error formatting message: \"' + id + '\" for locale: \"' + locale + '\"' + (defaultMessage ? ', using default message as fallback.' : '') + ('\\n' + e));\n }\n }\n } else {\n if (false) {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the <IntlProvider> for the\n // default locale, and a default message is in the source.\n if (!defaultMessage || locale && locale.toLowerCase() !== defaultLocale.toLowerCase()) {\n console.error('[React Intl] Missing message: \"' + id + '\" for locale: \"' + locale + '\"' + (defaultMessage ? ', using default message as fallback.' : ''));\n }\n }\n }\n\n if (!formattedMessage && defaultMessage) {\n try {\n var _formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats);\n\n formattedMessage = _formatter.format(values);\n } catch (e) {\n if (false) {\n console.error('[React Intl] Error formatting the default message for: \"' + id + '\"' + ('\\n' + e));\n }\n }\n }\n\n if (!formattedMessage) {\n if (false) {\n console.error('[React Intl] Cannot format message: \"' + id + '\", ' + ('using message ' + (message || defaultMessage ? 'source' : 'id') + ' as fallback.'));\n }\n }\n\n return formattedMessage || message || defaultMessage || id;\n}\n\nfunction formatHTMLMessage(config, state, messageDescriptor) {\n var rawValues = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n // Process all the values before they are used when formatting the ICU\n // Message string. Since the formatted message might be injected via\n // `innerHTML`, all String-based values need to be HTML-escaped.\n var escapedValues = Object.keys(rawValues).reduce(function (escaped, name) {\n var value = rawValues[name];\n escaped[name] = typeof value === 'string' ? escape(value) : value;\n return escaped;\n }, {});\n\n return formatMessage(config, state, messageDescriptor, escapedValues);\n}\n\nvar format = Object.freeze({\n formatDate: formatDate,\n formatTime: formatTime,\n formatRelative: formatRelative,\n formatNumber: formatNumber,\n formatPlural: formatPlural,\n formatMessage: formatMessage,\n formatHTMLMessage: formatHTMLMessage\n});\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar intlConfigPropNames$1 = Object.keys(intlConfigPropTypes);\nvar intlFormatPropNames = Object.keys(intlFormatPropTypes);\n\n// These are not a static property on the `IntlProvider` class so the intl\n// config values can be inherited from an <IntlProvider> ancestor.\nvar defaultProps = {\n formats: {},\n messages: {},\n textComponent: 'span',\n\n defaultLocale: 'en',\n defaultFormats: {}\n};\n\nvar IntlProvider = function (_Component) {\n inherits(IntlProvider, _Component);\n\n function IntlProvider(props) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n classCallCheck(this, IntlProvider);\n\n var _this = possibleConstructorReturn(this, (IntlProvider.__proto__ || Object.getPrototypeOf(IntlProvider)).call(this, props, context));\n\n __WEBPACK_IMPORTED_MODULE_5_invariant___default()(typeof Intl !== 'undefined', '[React Intl] The `Intl` APIs must be available in the runtime, ' + 'and do not appear to be built-in. An `Intl` polyfill should be loaded.\\n' + 'See: http://formatjs.io/guides/runtime-environments/');\n\n var intlContext = context.intl;\n\n // Used to stabilize time when performing an initial rendering so that\n // all relative times use the same reference \"now\" time.\n\n var initialNow = void 0;\n if (isFinite(props.initialNow)) {\n initialNow = Number(props.initialNow);\n } else {\n // When an `initialNow` isn't provided via `props`, look to see an\n // <IntlProvider> exists in the ancestry and call its `now()`\n // function to propagate its value for \"now\".\n initialNow = intlContext ? intlContext.now() : Date.now();\n }\n\n // Creating `Intl*` formatters is expensive. If there's a parent\n // `<IntlProvider>`, then its formatters will be used. Otherwise, this\n // memoize the `Intl*` constructors and cache them for the lifecycle of\n // this IntlProvider instance.\n\n var _ref = intlContext || {},\n _ref$formatters = _ref.formatters,\n formatters = _ref$formatters === undefined ? {\n getDateTimeFormat: __WEBPACK_IMPORTED_MODULE_6_intl_format_cache___default()(Intl.DateTimeFormat),\n getNumberFormat: __WEBPACK_IMPORTED_MODULE_6_intl_format_cache___default()(Intl.NumberFormat),\n getMessageFormat: __WEBPACK_IMPORTED_MODULE_6_intl_format_cache___default()(__WEBPACK_IMPORTED_MODULE_1_intl_messageformat___default.a),\n getRelativeFormat: __WEBPACK_IMPORTED_MODULE_6_intl_format_cache___default()(__WEBPACK_IMPORTED_MODULE_2_intl_relativeformat___default.a),\n getPluralFormat: __WEBPACK_IMPORTED_MODULE_6_intl_format_cache___default()(IntlPluralFormat)\n } : _ref$formatters;\n\n _this.state = _extends({}, formatters, {\n\n // Wrapper to provide stable \"now\" time for initial render.\n now: function now() {\n return _this._didDisplay ? Date.now() : initialNow;\n }\n });\n return _this;\n }\n\n createClass(IntlProvider, [{\n key: 'getConfig',\n value: function getConfig() {\n var intlContext = this.context.intl;\n\n // Build a whitelisted config object from `props`, defaults, and\n // `context.intl`, if an <IntlProvider> exists in the ancestry.\n\n var config = filterProps(this.props, intlConfigPropNames$1, intlContext);\n\n // Apply default props. This must be applied last after the props have\n // been resolved and inherited from any <IntlProvider> in the ancestry.\n // This matches how React resolves `defaultProps`.\n for (var propName in defaultProps) {\n if (config[propName] === undefined) {\n config[propName] = defaultProps[propName];\n }\n }\n\n if (!hasLocaleData(config.locale)) {\n var _config = config,\n locale = _config.locale,\n defaultLocale = _config.defaultLocale,\n defaultFormats = _config.defaultFormats;\n\n if (false) {\n console.error('[React Intl] Missing locale data for locale: \"' + locale + '\". ' + ('Using default locale: \"' + defaultLocale + '\" as fallback.'));\n }\n\n // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each <FormattedMessage> contains a `defaultMessage` prop.\n config = _extends({}, config, {\n locale: defaultLocale,\n formats: defaultFormats,\n messages: defaultProps.messages\n });\n }\n\n return config;\n }\n }, {\n key: 'getBoundFormatFns',\n value: function getBoundFormatFns(config, state) {\n return intlFormatPropNames.reduce(function (boundFormatFns, name) {\n boundFormatFns[name] = format[name].bind(null, config, state);\n return boundFormatFns;\n }, {});\n }\n }, {\n key: 'getChildContext',\n value: function getChildContext() {\n var config = this.getConfig();\n\n // Bind intl factories and current config to the format functions.\n var boundFormatFns = this.getBoundFormatFns(config, this.state);\n\n var _state = this.state,\n now = _state.now,\n formatters = objectWithoutProperties(_state, ['now']);\n\n return {\n intl: _extends({}, config, boundFormatFns, {\n formatters: formatters,\n now: now\n })\n };\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this._didDisplay = true;\n }\n }, {\n key: 'render',\n value: function render() {\n return __WEBPACK_IMPORTED_MODULE_4_react__[\"Children\"].only(this.props.children);\n }\n }]);\n return IntlProvider;\n}(__WEBPACK_IMPORTED_MODULE_4_react__[\"Component\"]);\n\nIntlProvider.displayName = 'IntlProvider';\nIntlProvider.contextTypes = {\n intl: intlShape\n};\nIntlProvider.childContextTypes = {\n intl: intlShape.isRequired\n};\n false ? IntlProvider.propTypes = _extends({}, intlConfigPropTypes, {\n children: PropTypes.element.isRequired,\n initialNow: PropTypes.any\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedDate = function (_Component) {\n inherits(FormattedDate, _Component);\n\n function FormattedDate(props, context) {\n classCallCheck(this, FormattedDate);\n\n var _this = possibleConstructorReturn(this, (FormattedDate.__proto__ || Object.getPrototypeOf(FormattedDate)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedDate, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatDate = _context$intl.formatDate,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n var formattedDate = formatDate(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedDate);\n }\n\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(Text, null, formattedDate);\n }\n }]);\n return FormattedDate;\n}(__WEBPACK_IMPORTED_MODULE_4_react__[\"Component\"]);\n\nFormattedDate.displayName = 'FormattedDate';\nFormattedDate.contextTypes = {\n intl: intlShape\n};\n false ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedTime = function (_Component) {\n inherits(FormattedTime, _Component);\n\n function FormattedTime(props, context) {\n classCallCheck(this, FormattedTime);\n\n var _this = possibleConstructorReturn(this, (FormattedTime.__proto__ || Object.getPrototypeOf(FormattedTime)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedTime, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatTime = _context$intl.formatTime,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n var formattedTime = formatTime(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedTime);\n }\n\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(Text, null, formattedTime);\n }\n }]);\n return FormattedTime;\n}(__WEBPACK_IMPORTED_MODULE_4_react__[\"Component\"]);\n\nFormattedTime.displayName = 'FormattedTime';\nFormattedTime.contextTypes = {\n intl: intlShape\n};\n false ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar SECOND = 1000;\nvar MINUTE = 1000 * 60;\nvar HOUR = 1000 * 60 * 60;\nvar DAY = 1000 * 60 * 60 * 24;\n\n// The maximum timer delay value is a 32-bit signed integer.\n// See: https://mdn.io/setTimeout\nvar MAX_TIMER_DELAY = 2147483647;\n\nfunction selectUnits(delta) {\n var absDelta = Math.abs(delta);\n\n if (absDelta < MINUTE) {\n return 'second';\n }\n\n if (absDelta < HOUR) {\n return 'minute';\n }\n\n if (absDelta < DAY) {\n return 'hour';\n }\n\n // The maximum scheduled delay will be measured in days since the maximum\n // timer delay is less than the number of milliseconds in 25 days.\n return 'day';\n}\n\nfunction getUnitDelay(units) {\n switch (units) {\n case 'second':\n return SECOND;\n case 'minute':\n return MINUTE;\n case 'hour':\n return HOUR;\n case 'day':\n return DAY;\n default:\n return MAX_TIMER_DELAY;\n }\n}\n\nfunction isSameDate(a, b) {\n if (a === b) {\n return true;\n }\n\n var aTime = new Date(a).getTime();\n var bTime = new Date(b).getTime();\n\n return isFinite(aTime) && isFinite(bTime) && aTime === bTime;\n}\n\nvar FormattedRelative = function (_Component) {\n inherits(FormattedRelative, _Component);\n\n function FormattedRelative(props, context) {\n classCallCheck(this, FormattedRelative);\n\n var _this = possibleConstructorReturn(this, (FormattedRelative.__proto__ || Object.getPrototypeOf(FormattedRelative)).call(this, props, context));\n\n invariantIntlContext(context);\n\n var now = isFinite(props.initialNow) ? Number(props.initialNow) : context.intl.now();\n\n // `now` is stored as state so that `render()` remains a function of\n // props + state, instead of accessing `Date.now()` inside `render()`.\n _this.state = { now: now };\n return _this;\n }\n\n createClass(FormattedRelative, [{\n key: 'scheduleNextUpdate',\n value: function scheduleNextUpdate(props, state) {\n var _this2 = this;\n\n // Cancel and pending update because we're scheduling a new update.\n clearTimeout(this._timer);\n\n var value = props.value,\n units = props.units,\n updateInterval = props.updateInterval;\n\n var time = new Date(value).getTime();\n\n // If the `updateInterval` is falsy, including `0` or we don't have a\n // valid date, then auto updates have been turned off, so we bail and\n // skip scheduling an update.\n if (!updateInterval || !isFinite(time)) {\n return;\n }\n\n var delta = time - state.now;\n var unitDelay = getUnitDelay(units || selectUnits(delta));\n var unitRemainder = Math.abs(delta % unitDelay);\n\n // We want the largest possible timer delay which will still display\n // accurate information while reducing unnecessary re-renders. The delay\n // should be until the next \"interesting\" moment, like a tick from\n // \"1 minute ago\" to \"2 minutes ago\" when the delta is 120,000ms.\n var delay = delta < 0 ? Math.max(updateInterval, unitDelay - unitRemainder) : Math.max(updateInterval, unitRemainder);\n\n this._timer = setTimeout(function () {\n _this2.setState({ now: _this2.context.intl.now() });\n }, delay);\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(_ref) {\n var nextValue = _ref.value;\n\n // When the `props.value` date changes, `state.now` needs to be updated,\n // and the next update can be rescheduled.\n if (!isSameDate(nextValue, this.props.value)) {\n this.setState({ now: this.context.intl.now() });\n }\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'componentWillUpdate',\n value: function componentWillUpdate(nextProps, nextState) {\n this.scheduleNextUpdate(nextProps, nextState);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n clearTimeout(this._timer);\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatRelative = _context$intl.formatRelative,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n var formattedRelative = formatRelative(value, _extends({}, this.props, this.state));\n\n if (typeof children === 'function') {\n return children(formattedRelative);\n }\n\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(Text, null, formattedRelative);\n }\n }]);\n return FormattedRelative;\n}(__WEBPACK_IMPORTED_MODULE_4_react__[\"Component\"]);\n\nFormattedRelative.displayName = 'FormattedRelative';\nFormattedRelative.contextTypes = {\n intl: intlShape\n};\nFormattedRelative.defaultProps = {\n updateInterval: 1000 * 10\n};\n false ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedNumber = function (_Component) {\n inherits(FormattedNumber, _Component);\n\n function FormattedNumber(props, context) {\n classCallCheck(this, FormattedNumber);\n\n var _this = possibleConstructorReturn(this, (FormattedNumber.__proto__ || Object.getPrototypeOf(FormattedNumber)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedNumber, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatNumber = _context$intl.formatNumber,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n var formattedNumber = formatNumber(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedNumber);\n }\n\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(Text, null, formattedNumber);\n }\n }]);\n return FormattedNumber;\n}(__WEBPACK_IMPORTED_MODULE_4_react__[\"Component\"]);\n\nFormattedNumber.displayName = 'FormattedNumber';\nFormattedNumber.contextTypes = {\n intl: intlShape\n};\n false ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedPlural = function (_Component) {\n inherits(FormattedPlural, _Component);\n\n function FormattedPlural(props, context) {\n classCallCheck(this, FormattedPlural);\n\n var _this = possibleConstructorReturn(this, (FormattedPlural.__proto__ || Object.getPrototypeOf(FormattedPlural)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedPlural, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatPlural = _context$intl.formatPlural,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n other = _props.other,\n children = _props.children;\n\n var pluralCategory = formatPlural(value, this.props);\n var formattedPlural = this.props[pluralCategory] || other;\n\n if (typeof children === 'function') {\n return children(formattedPlural);\n }\n\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(Text, null, formattedPlural);\n }\n }]);\n return FormattedPlural;\n}(__WEBPACK_IMPORTED_MODULE_4_react__[\"Component\"]);\n\nFormattedPlural.displayName = 'FormattedPlural';\nFormattedPlural.contextTypes = {\n intl: intlShape\n};\nFormattedPlural.defaultProps = {\n style: 'cardinal'\n};\n false ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedMessage = function (_Component) {\n inherits(FormattedMessage, _Component);\n\n function FormattedMessage(props, context) {\n classCallCheck(this, FormattedMessage);\n\n var _this = possibleConstructorReturn(this, (FormattedMessage.__proto__ || Object.getPrototypeOf(FormattedMessage)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedMessage, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n var values = this.props.values;\n var nextValues = nextProps.values;\n\n if (!shallowEquals(nextValues, values)) {\n return true;\n }\n\n // Since `values` has already been checked, we know they're not\n // different, so the current `values` are carried over so the shallow\n // equals comparison on the other props isn't affected by the `values`.\n var nextPropsToCheck = _extends({}, nextProps, {\n values: values\n });\n\n for (var _len = arguments.length, next = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n next[_key - 1] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this, nextPropsToCheck].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatMessage = _context$intl.formatMessage,\n Text = _context$intl.textComponent;\n var _props = this.props,\n id = _props.id,\n description = _props.description,\n defaultMessage = _props.defaultMessage,\n values = _props.values,\n _props$tagName = _props.tagName,\n Component$$1 = _props$tagName === undefined ? Text : _props$tagName,\n children = _props.children;\n\n var tokenDelimiter = void 0;\n var tokenizedValues = void 0;\n var elements = void 0;\n\n var hasValues = values && Object.keys(values).length > 0;\n if (hasValues) {\n // Creates a token with a random UID that should not be guessable or\n // conflict with other parts of the `message` string.\n var uid = Math.floor(Math.random() * 0x10000000000).toString(16);\n\n var generateToken = function () {\n var counter = 0;\n return function () {\n return 'ELEMENT-' + uid + '-' + (counter += 1);\n };\n }();\n\n // Splitting with a delimiter to support IE8. When using a regex\n // with a capture group IE8 does not include the capture group in\n // the resulting array.\n tokenDelimiter = '@__' + uid + '__@';\n tokenizedValues = {};\n elements = {};\n\n // Iterates over the `props` to keep track of any React Element\n // values so they can be represented by the `token` as a placeholder\n // when the `message` is formatted. This allows the formatted\n // message to then be broken-up into parts with references to the\n // React Elements inserted back in.\n Object.keys(values).forEach(function (name) {\n var value = values[name];\n\n if (Object(__WEBPACK_IMPORTED_MODULE_4_react__[\"isValidElement\"])(value)) {\n var token = generateToken();\n tokenizedValues[name] = tokenDelimiter + token + tokenDelimiter;\n elements[token] = value;\n } else {\n tokenizedValues[name] = value;\n }\n });\n }\n\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var formattedMessage = formatMessage(descriptor, tokenizedValues || values);\n\n var nodes = void 0;\n\n var hasElements = elements && Object.keys(elements).length > 0;\n if (hasElements) {\n // Split the message into parts so the React Element values captured\n // above can be inserted back into the rendered message. This\n // approach allows messages to render with React Elements while\n // keeping React's virtual diffing working properly.\n nodes = formattedMessage.split(tokenDelimiter).filter(function (part) {\n return !!part;\n }).map(function (part) {\n return elements[part] || part;\n });\n } else {\n nodes = [formattedMessage];\n }\n\n if (typeof children === 'function') {\n return children.apply(undefined, toConsumableArray(nodes));\n }\n\n // Needs to use `createElement()` instead of JSX, otherwise React will\n // warn about a missing `key` prop with rich-text message formatting.\n return __WEBPACK_IMPORTED_MODULE_4_react__[\"createElement\"].apply(undefined, [Component$$1, null].concat(toConsumableArray(nodes)));\n }\n }]);\n return FormattedMessage;\n}(__WEBPACK_IMPORTED_MODULE_4_react__[\"Component\"]);\n\nFormattedMessage.displayName = 'FormattedMessage';\nFormattedMessage.contextTypes = {\n intl: intlShape\n};\nFormattedMessage.defaultProps = {\n values: {}\n};\n false ? FormattedMessage.propTypes = _extends({}, messageDescriptorPropTypes, {\n values: PropTypes.object,\n tagName: PropTypes.string,\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedHTMLMessage = function (_Component) {\n inherits(FormattedHTMLMessage, _Component);\n\n function FormattedHTMLMessage(props, context) {\n classCallCheck(this, FormattedHTMLMessage);\n\n var _this = possibleConstructorReturn(this, (FormattedHTMLMessage.__proto__ || Object.getPrototypeOf(FormattedHTMLMessage)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedHTMLMessage, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n var values = this.props.values;\n var nextValues = nextProps.values;\n\n if (!shallowEquals(nextValues, values)) {\n return true;\n }\n\n // Since `values` has already been checked, we know they're not\n // different, so the current `values` are carried over so the shallow\n // equals comparison on the other props isn't affected by the `values`.\n var nextPropsToCheck = _extends({}, nextProps, {\n values: values\n });\n\n for (var _len = arguments.length, next = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n next[_key - 1] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this, nextPropsToCheck].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatHTMLMessage = _context$intl.formatHTMLMessage,\n Text = _context$intl.textComponent;\n var _props = this.props,\n id = _props.id,\n description = _props.description,\n defaultMessage = _props.defaultMessage,\n rawValues = _props.values,\n _props$tagName = _props.tagName,\n Component$$1 = _props$tagName === undefined ? Text : _props$tagName,\n children = _props.children;\n\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var formattedHTMLMessage = formatHTMLMessage(descriptor, rawValues);\n\n if (typeof children === 'function') {\n return children(formattedHTMLMessage);\n }\n\n // Since the message presumably has HTML in it, we need to set\n // `innerHTML` in order for it to be rendered and not escaped by React.\n // To be safe, all string prop values were escaped when formatting the\n // message. It is assumed that the message is not UGC, and came from the\n // developer making it more like a template.\n //\n // Note: There's a perf impact of using this component since there's no\n // way for React to do its virtual DOM diffing.\n var html = { __html: formattedHTMLMessage };\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(Component$$1, { dangerouslySetInnerHTML: html });\n }\n }]);\n return FormattedHTMLMessage;\n}(__WEBPACK_IMPORTED_MODULE_4_react__[\"Component\"]);\n\nFormattedHTMLMessage.displayName = 'FormattedHTMLMessage';\nFormattedHTMLMessage.contextTypes = {\n intl: intlShape\n};\nFormattedHTMLMessage.defaultProps = {\n values: {}\n};\n false ? void 0 : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\naddLocaleData(defaultLocaleData);\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\naddLocaleData(__WEBPACK_IMPORTED_MODULE_0__locale_data_index_js___default.a);\n\n\n\n/***/ }),\n\n/***/ 658:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mastodon_load_polyfills__ = __webpack_require__(76);\n\n\nObject(__WEBPACK_IMPORTED_MODULE_0__mastodon_load_polyfills__[\"a\" /* default */])().then(function () {\n __webpack_require__(659).default();\n}).catch(function (e) {\n console.error(e);\n});\n\n/***/ }),\n\n/***/ 659:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__actions_push_notifications__ = __webpack_require__(157);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__containers_mastodon__ = __webpack_require__(660);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_dom__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__ready__ = __webpack_require__(90);\n\n\n\n\n\n\nvar perf = __webpack_require__(683);\n\nfunction main() {\n perf.start('main()');\n\n if (window.history && history.replaceState) {\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n\n var path = pathname + search + hash;\n if (!/^\\/web($|\\/)/.test(path)) {\n history.replaceState(null, document.title, '/web' + path);\n }\n }\n\n Object(__WEBPACK_IMPORTED_MODULE_4__ready__[\"default\"])(function () {\n var mountNode = document.getElementById('mastodon');\n var props = JSON.parse(mountNode.getAttribute('data-props'));\n\n __WEBPACK_IMPORTED_MODULE_3_react_dom___default.a.render(__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__containers_mastodon__[\"a\" /* default */], props), mountNode);\n if (true) {\n // avoid offline in dev mode because it's harder to debug\n __webpack_require__(684).install();\n __WEBPACK_IMPORTED_MODULE_1__containers_mastodon__[\"b\" /* store */].dispatch(__WEBPACK_IMPORTED_MODULE_0__actions_push_notifications__[\"f\" /* register */]());\n }\n perf.stop('main()');\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (main);\n\n/***/ }),\n\n/***/ 660:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return store; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Mastodon; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__store_configureStore__ = __webpack_require__(122);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__actions_onboarding__ = __webpack_require__(661);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_router_dom__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_router_scroll_4__ = __webpack_require__(151);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__features_ui__ = __webpack_require__(662);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__actions_store__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__actions_streaming__ = __webpack_require__(71);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__locales__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__initial_state__ = __webpack_require__(11);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _getLocale = Object(__WEBPACK_IMPORTED_MODULE_14__locales__[\"getLocale\"])(),\n localeData = _getLocale.localeData,\n messages = _getLocale.messages;\n\nObject(__WEBPACK_IMPORTED_MODULE_13_react_intl__[\"e\" /* addLocaleData */])(localeData);\n\nvar store = Object(__WEBPACK_IMPORTED_MODULE_6__store_configureStore__[\"a\" /* default */])();\nvar hydrateAction = Object(__WEBPACK_IMPORTED_MODULE_11__actions_store__[\"b\" /* hydrateStore */])(__WEBPACK_IMPORTED_MODULE_15__initial_state__[\"d\" /* default */]);\nstore.dispatch(hydrateAction);\n\nvar Mastodon = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Mastodon, _React$PureComponent);\n\n function Mastodon() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Mastodon);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n }\n\n Mastodon.prototype.componentDidMount = function componentDidMount() {\n this.disconnect = store.dispatch(Object(__WEBPACK_IMPORTED_MODULE_12__actions_streaming__[\"e\" /* connectUserStream */])());\n\n // Desktop notifications\n // Ask after 1 minute\n if (typeof window.Notification !== 'undefined' && Notification.permission === 'default') {\n window.setTimeout(function () {\n return Notification.requestPermission();\n }, 60 * 1000);\n }\n\n // Protocol handler\n // Ask after 5 minutes\n if (typeof navigator.registerProtocolHandler !== 'undefined') {\n var handlerUrl = window.location.protocol + '//' + window.location.host + '/intent?uri=%s';\n window.setTimeout(function () {\n return navigator.registerProtocolHandler('web+mastodon', handlerUrl, 'Mastodon');\n }, 5 * 60 * 1000);\n }\n\n store.dispatch(Object(__WEBPACK_IMPORTED_MODULE_7__actions_onboarding__[\"a\" /* showOnboardingOnce */])());\n };\n\n Mastodon.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.disconnect) {\n this.disconnect();\n this.disconnect = null;\n }\n };\n\n Mastodon.prototype.render = function render() {\n var locale = this.props.locale;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13_react_intl__[\"d\" /* IntlProvider */], {\n locale: locale,\n messages: messages\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_redux__[\"Provider\"], {\n store: store\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8_react_router_dom__[\"a\" /* BrowserRouter */], {\n basename: '/web'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_scroll_4__[\"b\" /* ScrollContext */], {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8_react_router_dom__[\"e\" /* Route */], {\n path: '/',\n component: __WEBPACK_IMPORTED_MODULE_10__features_ui__[\"a\" /* default */]\n })))));\n };\n\n return Mastodon;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n\n/***/ }),\n\n/***/ 661:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = showOnboardingOnce;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__modal__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__settings__ = __webpack_require__(58);\n\n\n\nfunction showOnboardingOnce() {\n return function (dispatch, getState) {\n var alreadySeen = getState().getIn(['settings', 'onboarded']);\n\n if (!alreadySeen) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_0__modal__[\"d\" /* openModal */])('ONBOARDING'));\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__settings__[\"c\" /* changeSetting */])(['onboarded'], true));\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__settings__[\"d\" /* saveSettings */])());\n }\n };\n};\n\n/***/ }),\n\n/***/ 662:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return UI; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_lodash_debounce__ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_lodash_debounce___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_lodash_debounce__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__containers_notifications_container__ = __webpack_require__(241);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__containers_loading_bar_container__ = __webpack_require__(244);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__components_tabs_bar__ = __webpack_require__(245);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__containers_modal_container__ = __webpack_require__(246);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_react_router_dom__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__is_mobile__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__actions_compose__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__actions_timelines__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__actions_notifications__ = __webpack_require__(101);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__actions_height_cache__ = __webpack_require__(95);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__ = __webpack_require__(678);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__components_upload_area__ = __webpack_require__(679);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__containers_columns_area_container__ = __webpack_require__(680);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__util_async_components__ = __webpack_require__(59);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23_react_hotkeys__ = __webpack_require__(156);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23_react_hotkeys___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_23_react_hotkeys__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__initial_state__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__components_status__ = __webpack_require__(152);\n\n\n\n\n\n\nvar _dec, _class2, _class3, _temp3;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// Dummy import, to make sure that <Status /> ends up in the application bundle.\n// Without this it ends up in ~8 very commonly used bundles.\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_25_react_intl__[\"f\" /* defineMessages */])({\n beforeUnload: {\n 'id': 'ui.beforeunload',\n 'defaultMessage': 'Your draft will be lost if you leave Mastodon.'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n isComposing: state.getIn(['compose', 'is_composing']),\n hasComposingText: state.getIn(['compose', 'text']) !== '',\n dropdownMenuIsOpen: state.getIn(['dropdown_menu', 'openId']) !== null\n };\n};\n\nvar keyMap = {\n help: '?',\n new: 'n',\n search: 's',\n forceNew: 'option+n',\n focusColumn: ['1', '2', '3', '4', '5', '6', '7', '8', '9'],\n reply: 'r',\n favourite: 'f',\n boost: 'b',\n mention: 'm',\n open: ['enter', 'o'],\n openProfile: 'p',\n moveDown: ['down', 'j'],\n moveUp: ['up', 'k'],\n back: 'backspace',\n goToHome: 'g h',\n goToNotifications: 'g n',\n goToLocal: 'g l',\n goToFederated: 'g t',\n goToStart: 'g s',\n goToFavourites: 'g f',\n goToProfile: 'g u',\n goToBlocked: 'g b'\n};\n\nvar SwitchingColumnsArea = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(SwitchingColumnsArea, _React$PureComponent);\n\n function SwitchingColumnsArea() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, SwitchingColumnsArea);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.state = {\n mobile: Object(__WEBPACK_IMPORTED_MODULE_14__is_mobile__[\"b\" /* isMobile */])(window.innerWidth)\n }, _this.handleResize = __WEBPACK_IMPORTED_MODULE_4_lodash_debounce___default()(function () {\n // The cached heights are no longer accurate, invalidate\n _this.props.onLayoutChange();\n\n _this.setState({ mobile: Object(__WEBPACK_IMPORTED_MODULE_14__is_mobile__[\"b\" /* isMobile */])(window.innerWidth) });\n }, 500, {\n trailing: true\n }), _this.setRef = function (c) {\n _this.node = c.getWrappedInstance().getWrappedInstance();\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n SwitchingColumnsArea.prototype.componentWillMount = function componentWillMount() {\n window.addEventListener('resize', this.handleResize, { passive: true });\n };\n\n SwitchingColumnsArea.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (![this.props.location.pathname, '/'].includes(prevProps.location.pathname)) {\n this.node.handleChildrenContentChange();\n }\n };\n\n SwitchingColumnsArea.prototype.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener('resize', this.handleResize);\n };\n\n SwitchingColumnsArea.prototype.render = function render() {\n var children = this.props.children;\n var mobile = this.state.mobile;\n\n\n return __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_21__containers_columns_area_container__[\"a\" /* default */],\n { ref: this.setRef, singleColumn: mobile },\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"b\" /* WrappedSwitch */], {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13_react_router_dom__[\"d\" /* Redirect */], {\n from: '/',\n to: '/getting-started',\n exact: true\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"a\" /* WrappedRoute */], {\n path: '/getting-started',\n component: __WEBPACK_IMPORTED_MODULE_22__util_async_components__[\"m\" /* GettingStarted */],\n content: children\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"a\" /* WrappedRoute */], {\n path: '/keyboard-shortcuts',\n component: __WEBPACK_IMPORTED_MODULE_22__util_async_components__[\"p\" /* KeyboardShortcuts */],\n content: children\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"a\" /* WrappedRoute */], {\n path: '/timelines/home',\n component: __WEBPACK_IMPORTED_MODULE_22__util_async_components__[\"o\" /* HomeTimeline */],\n content: children\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"a\" /* WrappedRoute */], {\n path: '/timelines/public',\n exact: true,\n component: __WEBPACK_IMPORTED_MODULE_22__util_async_components__[\"v\" /* PublicTimeline */],\n content: children\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"a\" /* WrappedRoute */], {\n path: '/timelines/public/local',\n component: __WEBPACK_IMPORTED_MODULE_22__util_async_components__[\"d\" /* CommunityTimeline */],\n content: children\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"a\" /* WrappedRoute */], {\n path: '/timelines/tag/:id',\n component: __WEBPACK_IMPORTED_MODULE_22__util_async_components__[\"n\" /* HashtagTimeline */],\n content: children\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"a\" /* WrappedRoute */], {\n path: '/timelines/list/:id',\n component: __WEBPACK_IMPORTED_MODULE_22__util_async_components__[\"r\" /* ListTimeline */],\n content: children\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"a\" /* WrappedRoute */], {\n path: '/notifications',\n component: __WEBPACK_IMPORTED_MODULE_22__util_async_components__[\"t\" /* Notifications */],\n content: children\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"a\" /* WrappedRoute */], {\n path: '/favourites',\n component: __WEBPACK_IMPORTED_MODULE_22__util_async_components__[\"g\" /* FavouritedStatuses */],\n content: children\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"a\" /* WrappedRoute */], {\n path: '/statuses/new',\n component: __WEBPACK_IMPORTED_MODULE_22__util_async_components__[\"e\" /* Compose */],\n content: children\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"a\" /* WrappedRoute */], {\n path: '/statuses/:statusId',\n exact: true,\n component: __WEBPACK_IMPORTED_MODULE_22__util_async_components__[\"x\" /* Status */],\n content: children\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"a\" /* WrappedRoute */], {\n path: '/statuses/:statusId/reblogs',\n component: __WEBPACK_IMPORTED_MODULE_22__util_async_components__[\"w\" /* Reblogs */],\n content: children\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"a\" /* WrappedRoute */], {\n path: '/statuses/:statusId/favourites',\n component: __WEBPACK_IMPORTED_MODULE_22__util_async_components__[\"h\" /* Favourites */],\n content: children\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"a\" /* WrappedRoute */], {\n path: '/accounts/:accountId',\n exact: true,\n component: __WEBPACK_IMPORTED_MODULE_22__util_async_components__[\"b\" /* AccountTimeline */],\n content: children\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"a\" /* WrappedRoute */], {\n path: '/accounts/:accountId/with_replies',\n component: __WEBPACK_IMPORTED_MODULE_22__util_async_components__[\"b\" /* AccountTimeline */],\n content: children,\n componentParams: { withReplies: true }\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"a\" /* WrappedRoute */], {\n path: '/accounts/:accountId/followers',\n component: __WEBPACK_IMPORTED_MODULE_22__util_async_components__[\"j\" /* Followers */],\n content: children\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"a\" /* WrappedRoute */], {\n path: '/accounts/:accountId/following',\n component: __WEBPACK_IMPORTED_MODULE_22__util_async_components__[\"k\" /* Following */],\n content: children\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"a\" /* WrappedRoute */], {\n path: '/accounts/:accountId/media',\n component: __WEBPACK_IMPORTED_MODULE_22__util_async_components__[\"a\" /* AccountGallery */],\n content: children\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"a\" /* WrappedRoute */], {\n path: '/follow_requests',\n component: __WEBPACK_IMPORTED_MODULE_22__util_async_components__[\"i\" /* FollowRequests */],\n content: children\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"a\" /* WrappedRoute */], {\n path: '/blocks',\n component: __WEBPACK_IMPORTED_MODULE_22__util_async_components__[\"c\" /* Blocks */],\n content: children\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__util_react_router_helpers__[\"a\" /* WrappedRoute */], {\n component: __WEBPACK_IMPORTED_MODULE_22__util_async_components__[\"l\" /* GenericNotFound */],\n content: children\n }))\n );\n };\n\n return SwitchingColumnsArea;\n}(__WEBPACK_IMPORTED_MODULE_6_react___default.a.PureComponent);\n\nvar UI = (_dec = Object(__WEBPACK_IMPORTED_MODULE_12_react_redux__[\"connect\"])(mapStateToProps), _dec(_class2 = Object(__WEBPACK_IMPORTED_MODULE_25_react_intl__[\"g\" /* injectIntl */])(_class2 = Object(__WEBPACK_IMPORTED_MODULE_13_react_router_dom__[\"g\" /* withRouter */])(_class2 = (_temp3 = _class3 = function (_React$PureComponent2) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(UI, _React$PureComponent2);\n\n function UI() {\n var _temp2, _this2, _ret2;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, UI);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this2), _this2.state = {\n draggingOver: false\n }, _this2.handleBeforeUnload = function (e) {\n var _this2$props = _this2.props,\n intl = _this2$props.intl,\n isComposing = _this2$props.isComposing,\n hasComposingText = _this2$props.hasComposingText;\n\n\n if (isComposing && hasComposingText) {\n // Setting returnValue to any string causes confirmation dialog.\n // Many browsers no longer display this text to users,\n // but we set user-friendly message for other browsers, e.g. Edge.\n e.returnValue = intl.formatMessage(messages.beforeUnload);\n }\n }, _this2.handleLayoutChange = function () {\n // The cached heights are no longer accurate, invalidate\n _this2.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_18__actions_height_cache__[\"c\" /* clearHeight */])());\n }, _this2.handleDragEnter = function (e) {\n e.preventDefault();\n\n if (!_this2.dragTargets) {\n _this2.dragTargets = [];\n }\n\n if (_this2.dragTargets.indexOf(e.target) === -1) {\n _this2.dragTargets.push(e.target);\n }\n\n if (e.dataTransfer && e.dataTransfer.types.includes('Files')) {\n _this2.setState({ draggingOver: true });\n }\n }, _this2.handleDragOver = function (e) {\n e.preventDefault();\n e.stopPropagation();\n\n try {\n e.dataTransfer.dropEffect = 'copy';\n } catch (err) {}\n\n return false;\n }, _this2.handleDrop = function (e) {\n e.preventDefault();\n\n _this2.setState({ draggingOver: false });\n\n if (e.dataTransfer && e.dataTransfer.files.length === 1) {\n _this2.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_15__actions_compose__[\"Z\" /* uploadCompose */])(e.dataTransfer.files));\n }\n }, _this2.handleDragLeave = function (e) {\n e.preventDefault();\n e.stopPropagation();\n\n _this2.dragTargets = _this2.dragTargets.filter(function (el) {\n return el !== e.target && _this2.node.contains(el);\n });\n\n if (_this2.dragTargets.length > 0) {\n return;\n }\n\n _this2.setState({ draggingOver: false });\n }, _this2.closeUploadModal = function () {\n _this2.setState({ draggingOver: false });\n }, _this2.handleServiceWorkerPostMessage = function (_ref) {\n var data = _ref.data;\n\n if (data.type === 'navigate') {\n _this2.context.router.history.push(data.path);\n } else {\n console.warn('Unknown message type:', data.type);\n }\n }, _this2.setRef = function (c) {\n _this2.node = c;\n }, _this2.handleHotkeyNew = function (e) {\n e.preventDefault();\n\n var element = _this2.node.querySelector('.compose-form__autosuggest-wrapper textarea');\n\n if (element) {\n element.focus();\n }\n }, _this2.handleHotkeySearch = function (e) {\n e.preventDefault();\n\n var element = _this2.node.querySelector('.search__input');\n\n if (element) {\n element.focus();\n }\n }, _this2.handleHotkeyForceNew = function (e) {\n _this2.handleHotkeyNew(e);\n _this2.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_15__actions_compose__[\"U\" /* resetCompose */])());\n }, _this2.handleHotkeyFocusColumn = function (e) {\n var index = e.key * 1 + 1; // First child is drawer, skip that\n var column = _this2.node.querySelector('.column:nth-child(' + index + ')');\n\n if (column) {\n var status = column.querySelector('.focusable');\n\n if (status) {\n status.focus();\n }\n }\n }, _this2.handleHotkeyBack = function () {\n if (window.history && window.history.length === 1) {\n _this2.context.router.history.push('/');\n } else {\n _this2.context.router.history.goBack();\n }\n }, _this2.setHotkeysRef = function (c) {\n _this2.hotkeys = c;\n }, _this2.handleHotkeyToggleHelp = function () {\n if (_this2.props.location.pathname === '/keyboard-shortcuts') {\n _this2.context.router.history.goBack();\n } else {\n _this2.context.router.history.push('/keyboard-shortcuts');\n }\n }, _this2.handleHotkeyGoToHome = function () {\n _this2.context.router.history.push('/timelines/home');\n }, _this2.handleHotkeyGoToNotifications = function () {\n _this2.context.router.history.push('/notifications');\n }, _this2.handleHotkeyGoToLocal = function () {\n _this2.context.router.history.push('/timelines/public/local');\n }, _this2.handleHotkeyGoToFederated = function () {\n _this2.context.router.history.push('/timelines/public');\n }, _this2.handleHotkeyGoToStart = function () {\n _this2.context.router.history.push('/getting-started');\n }, _this2.handleHotkeyGoToFavourites = function () {\n _this2.context.router.history.push('/favourites');\n }, _this2.handleHotkeyGoToProfile = function () {\n _this2.context.router.history.push('/accounts/' + __WEBPACK_IMPORTED_MODULE_24__initial_state__[\"g\" /* me */]);\n }, _this2.handleHotkeyGoToBlocked = function () {\n _this2.context.router.history.push('/blocks');\n }, _temp2), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this2, _ret2);\n }\n\n UI.prototype.componentWillMount = function componentWillMount() {\n window.addEventListener('beforeunload', this.handleBeforeUnload, false);\n document.addEventListener('dragenter', this.handleDragEnter, false);\n document.addEventListener('dragover', this.handleDragOver, false);\n document.addEventListener('drop', this.handleDrop, false);\n document.addEventListener('dragleave', this.handleDragLeave, false);\n document.addEventListener('dragend', this.handleDragEnd, false);\n\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.addEventListener('message', this.handleServiceWorkerPostMessage);\n }\n\n this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_16__actions_timelines__[\"o\" /* expandHomeTimeline */])());\n this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_17__actions_notifications__[\"h\" /* expandNotifications */])());\n };\n\n UI.prototype.componentDidMount = function componentDidMount() {\n this.hotkeys.__mousetrap__.stopCallback = function (e, element) {\n return ['TEXTAREA', 'SELECT', 'INPUT'].includes(element.tagName);\n };\n };\n\n UI.prototype.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener('beforeunload', this.handleBeforeUnload);\n document.removeEventListener('dragenter', this.handleDragEnter);\n document.removeEventListener('dragover', this.handleDragOver);\n document.removeEventListener('drop', this.handleDrop);\n document.removeEventListener('dragleave', this.handleDragLeave);\n document.removeEventListener('dragend', this.handleDragEnd);\n };\n\n UI.prototype.render = function render() {\n var draggingOver = this.state.draggingOver;\n var _props = this.props,\n children = _props.children,\n isComposing = _props.isComposing,\n location = _props.location,\n dropdownMenuIsOpen = _props.dropdownMenuIsOpen;\n\n\n var handlers = {\n help: this.handleHotkeyToggleHelp,\n new: this.handleHotkeyNew,\n search: this.handleHotkeySearch,\n forceNew: this.handleHotkeyForceNew,\n focusColumn: this.handleHotkeyFocusColumn,\n back: this.handleHotkeyBack,\n goToHome: this.handleHotkeyGoToHome,\n goToNotifications: this.handleHotkeyGoToNotifications,\n goToLocal: this.handleHotkeyGoToLocal,\n goToFederated: this.handleHotkeyGoToFederated,\n goToStart: this.handleHotkeyGoToStart,\n goToFavourites: this.handleHotkeyGoToFavourites,\n goToProfile: this.handleHotkeyGoToProfile,\n goToBlocked: this.handleHotkeyGoToBlocked\n };\n\n return __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_23_react_hotkeys__[\"HotKeys\"],\n { keyMap: keyMap, handlers: handlers, ref: this.setHotkeysRef },\n __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(\n 'div',\n { className: __WEBPACK_IMPORTED_MODULE_5_classnames___default()('ui', { 'is-composing': isComposing }), ref: this.setRef, style: { pointerEvents: dropdownMenuIsOpen ? 'none' : null } },\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__components_tabs_bar__[\"a\" /* default */], {}),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(SwitchingColumnsArea, {\n location: location,\n onLayoutChange: this.handleLayoutChange\n }, void 0, children),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__containers_notifications_container__[\"a\" /* default */], {}),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__containers_loading_bar_container__[\"a\" /* default */], {\n className: 'loading-bar'\n }),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_11__containers_modal_container__[\"a\" /* default */], {}),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_20__components_upload_area__[\"a\" /* default */], {\n active: draggingOver,\n onClose: this.closeUploadModal\n })\n )\n );\n };\n\n return UI;\n}(__WEBPACK_IMPORTED_MODULE_6_react___default.a.PureComponent), _class3.contextTypes = {\n router: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.object.isRequired\n}, _temp3)) || _class2) || _class2) || _class2);\n\n\n/***/ }),\n\n/***/ 678:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return WrappedSwitch; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return WrappedRoute; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_router_dom__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_column_loading__ = __webpack_require__(250);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_bundle_column_error__ = __webpack_require__(251);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__containers_bundle_container__ = __webpack_require__(145);\n\n\n\n\n\n\n\nvar _class, _temp2;\n\n\n\n\n\n\n\n\n\n// Small wrapper to pass multiColumn to the route components\nvar WrappedSwitch = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_inherits___default()(WrappedSwitch, _React$PureComponent);\n\n function WrappedSwitch() {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_classCallCheck___default()(this, WrappedSwitch);\n\n return __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n }\n\n WrappedSwitch.prototype.render = function render() {\n var _props = this.props,\n multiColumn = _props.multiColumn,\n children = _props.children;\n\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_router_dom__[\"f\" /* Switch */], {}, void 0, __WEBPACK_IMPORTED_MODULE_6_react___default.a.Children.map(children, function (child) {\n return __WEBPACK_IMPORTED_MODULE_6_react___default.a.cloneElement(child, { multiColumn: multiColumn });\n }));\n };\n\n return WrappedSwitch;\n}(__WEBPACK_IMPORTED_MODULE_6_react___default.a.PureComponent);\n\n// Small Wraper to extract the params from the route and pass\n// them to the rendered component, together with the content to\n// be rendered inside (the children)\nvar WrappedRoute = (_temp2 = _class = function (_React$Component) {\n __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_inherits___default()(WrappedRoute, _React$Component);\n\n function WrappedRoute() {\n var _temp, _this2, _ret;\n\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_classCallCheck___default()(this, WrappedRoute);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this2 = __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this2), _this2.renderComponent = function (_ref) {\n var match = _ref.match;\n var _this2$props = _this2.props,\n component = _this2$props.component,\n content = _this2$props.content,\n multiColumn = _this2$props.multiColumn,\n componentParams = _this2$props.componentParams;\n\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__containers_bundle_container__[\"a\" /* default */], {\n fetchComponent: component,\n loading: _this2.renderLoading,\n error: _this2.renderError\n }, void 0, function (Component) {\n return __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(\n Component,\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default()({ params: match.params, multiColumn: multiColumn }, componentParams),\n content\n );\n });\n }, _this2.renderLoading = function () {\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__components_column_loading__[\"a\" /* default */], {});\n }, _this2.renderError = function (props) {\n return __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_9__components_bundle_column_error__[\"a\" /* default */], props);\n }, _temp), __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_possibleConstructorReturn___default()(_this2, _ret);\n }\n\n WrappedRoute.prototype.render = function render() {\n var _props2 = this.props,\n Component = _props2.component,\n content = _props2.content,\n rest = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_objectWithoutProperties___default()(_props2, ['component', 'content']);\n\n return __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7_react_router_dom__[\"e\" /* Route */], __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default()({}, rest, { render: this.renderComponent }));\n };\n\n return WrappedRoute;\n}(__WEBPACK_IMPORTED_MODULE_6_react___default.a.Component), _class.defaultProps = {\n componentParams: {}\n}, _temp2);\n\n/***/ }),\n\n/***/ 679:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return UploadArea; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ui_util_optional_motion__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_intl__ = __webpack_require__(6);\n\n\n\n\n\n\n\n\n\n\nvar UploadArea = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(UploadArea, _React$PureComponent);\n\n function UploadArea() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, UploadArea);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleKeyUp = function (e) {\n var keyCode = e.keyCode;\n if (_this.props.active) {\n switch (keyCode) {\n case 27:\n e.preventDefault();\n e.stopPropagation();\n _this.props.onClose();\n break;\n }\n }\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n UploadArea.prototype.componentDidMount = function componentDidMount() {\n window.addEventListener('keyup', this.handleKeyUp, false);\n };\n\n UploadArea.prototype.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener('keyup', this.handleKeyUp);\n };\n\n UploadArea.prototype.render = function render() {\n var active = this.props.active;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { backgroundOpacity: 0, backgroundScale: 0.95 },\n style: { backgroundOpacity: __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default()(active ? 1 : 0, { stiffness: 150, damping: 15 }), backgroundScale: __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default()(active ? 1 : 0.95, { stiffness: 200, damping: 3 }) }\n }, void 0, function (_ref) {\n var backgroundOpacity = _ref.backgroundOpacity,\n backgroundScale = _ref.backgroundScale;\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'upload-area',\n style: { visibility: active ? 'visible' : 'hidden', opacity: backgroundOpacity }\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'upload-area__drop'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'upload-area__background',\n style: { transform: 'scale(' + backgroundScale + ')' }\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'upload-area__content'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'upload_area.title',\n defaultMessage: 'Drag & drop to upload'\n }))));\n });\n };\n\n return UploadArea;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n\n/***/ }),\n\n/***/ 680:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_columns_area__ = __webpack_require__(681);\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n columns: state.getIn(['settings', 'columns']),\n isModalOpen: !!state.get('modal').modalType\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, null, null, { withRef: true })(__WEBPACK_IMPORTED_MODULE_1__components_columns_area__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 681:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ColumnsArea; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_swipeable_views__ = __webpack_require__(158);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_swipeable_views___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_react_swipeable_views__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__tabs_bar__ = __webpack_require__(245);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_router_dom__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__containers_bundle_container__ = __webpack_require__(145);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__column_loading__ = __webpack_require__(250);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__drawer_loading__ = __webpack_require__(682);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__bundle_column_error__ = __webpack_require__(251);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__ui_util_async_components__ = __webpack_require__(59);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17_detect_passive_events__ = __webpack_require__(47);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17_detect_passive_events___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_17_detect_passive_events__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__scroll__ = __webpack_require__(91);\n\n\n\n\n\nvar _dec, _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar componentMap = {\n 'COMPOSE': __WEBPACK_IMPORTED_MODULE_16__ui_util_async_components__[\"e\" /* Compose */],\n 'HOME': __WEBPACK_IMPORTED_MODULE_16__ui_util_async_components__[\"o\" /* HomeTimeline */],\n 'NOTIFICATIONS': __WEBPACK_IMPORTED_MODULE_16__ui_util_async_components__[\"t\" /* Notifications */],\n 'PUBLIC': __WEBPACK_IMPORTED_MODULE_16__ui_util_async_components__[\"v\" /* PublicTimeline */],\n 'COMMUNITY': __WEBPACK_IMPORTED_MODULE_16__ui_util_async_components__[\"d\" /* CommunityTimeline */],\n 'HASHTAG': __WEBPACK_IMPORTED_MODULE_16__ui_util_async_components__[\"n\" /* HashtagTimeline */],\n 'FAVOURITES': __WEBPACK_IMPORTED_MODULE_16__ui_util_async_components__[\"g\" /* FavouritedStatuses */],\n 'LIST': __WEBPACK_IMPORTED_MODULE_16__ui_util_async_components__[\"r\" /* ListTimeline */]\n};\n\nvar shouldHideFAB = function shouldHideFAB(path) {\n return path.match(/^\\/statuses\\//);\n};\n\nvar ColumnsArea = (_dec = function _dec(component) {\n return Object(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"g\" /* injectIntl */])(component, { withRef: true });\n}, _dec(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ColumnsArea, _ImmutablePureCompone);\n\n function ColumnsArea() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ColumnsArea);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n shouldAnimate: false\n }, _this.handleSwipe = function (index) {\n _this.pendingIndex = index;\n\n var nextLinkTranslationId = __WEBPACK_IMPORTED_MODULE_10__tabs_bar__[\"d\" /* links */][index].props['data-preview-title-id'];\n var currentLinkSelector = '.tabs-bar__link.active';\n var nextLinkSelector = '.tabs-bar__link[data-preview-title-id=\"' + nextLinkTranslationId + '\"]';\n\n // HACK: Remove the active class from the current link and set it to the next one\n // React-router does this for us, but too late, feeling laggy.\n document.querySelector(currentLinkSelector).classList.remove('active');\n document.querySelector(nextLinkSelector).classList.add('active');\n }, _this.handleAnimationEnd = function () {\n if (typeof _this.pendingIndex === 'number') {\n _this.context.router.history.push(Object(__WEBPACK_IMPORTED_MODULE_10__tabs_bar__[\"c\" /* getLink */])(_this.pendingIndex));\n _this.pendingIndex = null;\n }\n }, _this.handleWheel = function () {\n if (typeof _this._interruptScrollAnimation !== 'function') {\n return;\n }\n\n _this._interruptScrollAnimation();\n }, _this.setRef = function (node) {\n _this.node = node;\n }, _this.renderView = function (link, index) {\n var columnIndex = Object(__WEBPACK_IMPORTED_MODULE_10__tabs_bar__[\"b\" /* getIndex */])(_this.context.router.history.location.pathname);\n var title = _this.props.intl.formatMessage({ id: link.props['data-preview-title-id'] });\n var icon = link.props['data-preview-icon'];\n\n var view = index === columnIndex ? __WEBPACK_IMPORTED_MODULE_4_react___default.a.cloneElement(_this.props.children) : __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13__column_loading__[\"a\" /* default */], {\n title: title,\n icon: icon\n });\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'columns-area'\n }, index, view);\n }, _this.renderLoading = function (columnId) {\n return function () {\n return columnId === 'COMPOSE' ? __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_14__drawer_loading__[\"a\" /* default */], {}) : __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13__column_loading__[\"a\" /* default */], {});\n };\n }, _this.renderError = function (props) {\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_15__bundle_column_error__[\"a\" /* default */], props);\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n ColumnsArea.prototype.componentWillReceiveProps = function componentWillReceiveProps() {\n this.setState({ shouldAnimate: false });\n };\n\n ColumnsArea.prototype.componentDidMount = function componentDidMount() {\n if (!this.props.singleColumn) {\n this.node.addEventListener('wheel', this.handleWheel, __WEBPACK_IMPORTED_MODULE_17_detect_passive_events___default.a.hasSupport ? { passive: true } : false);\n }\n\n this.lastIndex = Object(__WEBPACK_IMPORTED_MODULE_10__tabs_bar__[\"b\" /* getIndex */])(this.context.router.history.location.pathname);\n this.isRtlLayout = document.getElementsByTagName('body')[0].classList.contains('rtl');\n\n this.setState({ shouldAnimate: true });\n };\n\n ColumnsArea.prototype.componentWillUpdate = function componentWillUpdate(nextProps) {\n if (this.props.singleColumn !== nextProps.singleColumn && nextProps.singleColumn) {\n this.node.removeEventListener('wheel', this.handleWheel);\n }\n };\n\n ColumnsArea.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this.props.singleColumn !== prevProps.singleColumn && !this.props.singleColumn) {\n this.node.addEventListener('wheel', this.handleWheel, __WEBPACK_IMPORTED_MODULE_17_detect_passive_events___default.a.hasSupport ? { passive: true } : false);\n }\n this.lastIndex = Object(__WEBPACK_IMPORTED_MODULE_10__tabs_bar__[\"b\" /* getIndex */])(this.context.router.history.location.pathname);\n this.setState({ shouldAnimate: true });\n };\n\n ColumnsArea.prototype.componentWillUnmount = function componentWillUnmount() {\n if (!this.props.singleColumn) {\n this.node.removeEventListener('wheel', this.handleWheel);\n }\n };\n\n ColumnsArea.prototype.handleChildrenContentChange = function handleChildrenContentChange() {\n if (!this.props.singleColumn) {\n var modifier = this.isRtlLayout ? -1 : 1;\n this._interruptScrollAnimation = Object(__WEBPACK_IMPORTED_MODULE_18__scroll__[\"a\" /* scrollRight */])(this.node, (this.node.scrollWidth - window.innerWidth) * modifier);\n }\n };\n\n ColumnsArea.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n columns = _props.columns,\n children = _props.children,\n singleColumn = _props.singleColumn,\n isModalOpen = _props.isModalOpen;\n var shouldAnimate = this.state.shouldAnimate;\n\n\n var columnIndex = Object(__WEBPACK_IMPORTED_MODULE_10__tabs_bar__[\"b\" /* getIndex */])(this.context.router.history.location.pathname);\n this.pendingIndex = null;\n\n if (singleColumn) {\n var floatingActionButton = shouldHideFAB(this.context.router.history.location.pathname) ? null : __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_11_react_router_dom__[\"b\" /* Link */], {\n to: '/statuses/new',\n className: 'floating-action-button'\n }, 'floating-action-button', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-pencil'\n }));\n\n return columnIndex !== -1 ? [__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_swipeable_views___default.a, {\n index: columnIndex,\n onChangeIndex: this.handleSwipe,\n onTransitionEnd: this.handleAnimationEnd,\n animateTransitions: shouldAnimate,\n springConfig: { duration: '400ms', delay: '0s', easeFunction: 'ease' },\n style: { height: '100%' }\n }, 'content', __WEBPACK_IMPORTED_MODULE_10__tabs_bar__[\"d\" /* links */].map(this.renderView)), floatingActionButton] : [__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'columns-area'\n }, void 0, children), floatingActionButton];\n }\n\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'div',\n { className: 'columns-area ' + (isModalOpen ? 'unscrollable' : ''), ref: this.setRef },\n columns.map(function (column) {\n var params = column.get('params', null) === null ? null : column.get('params').toJS();\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_12__containers_bundle_container__[\"a\" /* default */], {\n fetchComponent: componentMap[column.get('id')],\n loading: _this2.renderLoading(column.get('id')),\n error: _this2.renderError\n }, column.get('uuid'), function (SpecificComponent) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(SpecificComponent, {\n columnId: column.get('uuid'),\n params: params,\n multiColumn: true\n });\n });\n }),\n __WEBPACK_IMPORTED_MODULE_4_react___default.a.Children.map(children, function (child) {\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.cloneElement(child, { multiColumn: true });\n })\n );\n };\n\n return ColumnsArea;\n}(__WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component___default.a), _class2.contextTypes = {\n router: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object.isRequired\n}, _class2.propTypes = {\n intl: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object.isRequired,\n columns: __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes___default.a.list.isRequired,\n isModalOpen: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool.isRequired,\n singleColumn: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool,\n children: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.node\n}, _temp2)) || _class);\n\n\n/***/ }),\n\n/***/ 682:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);\n\n\n\nvar DrawerLoading = function DrawerLoading() {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'drawer'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'drawer__pager'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'drawer__inner'\n })));\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (DrawerLoading);\n\n/***/ }),\n\n/***/ 683:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"start\"] = start;\n/* harmony export (immutable) */ __webpack_exports__[\"stop\"] = stop;\n//\n// Tools for performance debugging, only enabled in development mode.\n// Open up Chrome Dev Tools, then Timeline, then User Timing to see output.\n// Also see config/webpack/loaders/mark.js for the webpack loader marks.\n//\n\nvar marky = void 0;\n\nif (false) {\n if (typeof performance !== 'undefined' && performance.setResourceTimingBufferSize) {\n // Increase Firefox's performance entry limit; otherwise it's capped to 150.\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1331135\n performance.setResourceTimingBufferSize(Infinity);\n }\n marky = require('marky');\n // allows us to easily do e.g. ReactPerf.printWasted() while debugging\n //window.ReactPerf = require('react-addons-perf');\n //window.ReactPerf.start();\n}\n\nfunction start(name) {\n if (false) {\n marky.mark(name);\n }\n}\n\nfunction stop(name) {\n if (false) {\n marky.stop(name);\n }\n}\n\n/***/ }),\n\n/***/ 684:\n/***/ (function(module, exports) {\n\nvar appCacheIframe;\n\nfunction hasSW() {\n return 'serviceWorker' in navigator && (\n // This is how I block Chrome 40 and detect Chrome 41, because first has\n // bugs with history.pustState and/or hashchange\n window.fetch || 'imageRendering' in document.documentElement.style) && (window.location.protocol === 'https:' || window.location.hostname === 'localhost' || window.location.hostname.indexOf('127.') === 0);\n}\n\nfunction install(options) {\n options || (options = {});\n\n if (hasSW()) {\n var registration = navigator.serviceWorker.register(\"/sw.js\");\n\n return;\n }\n\n if (window.applicationCache) {\n var directory = \"/packs/appcache/\";\n var name = \"manifest\";\n\n var doLoad = function () {\n var page = directory + name + '.html';\n var iframe = document.createElement('iframe');\n\n iframe.src = page;\n iframe.style.display = 'none';\n\n appCacheIframe = iframe;\n document.body.appendChild(iframe);\n };\n\n if (document.readyState === 'complete') {\n setTimeout(doLoad);\n } else {\n window.addEventListener('load', doLoad);\n }\n\n return;\n }\n}\n\nfunction applyUpdate(callback, errback) {}\n\nfunction update() {\n\n if (hasSW()) {\n navigator.serviceWorker.getRegistration().then(function (registration) {\n if (!registration) return;\n return registration.update();\n });\n }\n\n if (appCacheIframe) {\n try {\n appCacheIframe.contentWindow.applicationCache.update();\n } catch (e) {}\n }\n}\n\nexports.install = install;\nexports.applyUpdate = applyUpdate;\nexports.update = update;\n\n/***/ })\n\n},[658]);\n\n\n// WEBPACK FOOTER //\n// application.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nexport default class ColumnHeader extends React.PureComponent {\n\n static propTypes = {\n icon: PropTypes.string,\n type: PropTypes.string,\n active: PropTypes.bool,\n onClick: PropTypes.func,\n columnHeaderId: PropTypes.string,\n };\n\n handleClick = () => {\n this.props.onClick();\n }\n\n render () {\n const { icon, type, active, columnHeaderId } = this.props;\n let iconElement = '';\n\n if (icon) {\n iconElement = <i className={`fa fa-fw fa-${icon} column-header__icon`} />;\n }\n\n return (\n <h1 className={classNames('column-header', { active })} id={columnHeaderId || null}>\n <button onClick={this.handleClick}>\n {iconElement}\n {type}\n </button>\n </h1>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/ui/components/column_header.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { NavLink, withRouter } from 'react-router-dom';\nimport { FormattedMessage, injectIntl } from 'react-intl';\nimport { debounce } from 'lodash';\nimport { isUserTouching } from '../../../is_mobile';\n\nexport const links = [\n <NavLink className='tabs-bar__link primary' to='/timelines/home' data-preview-title-id='column.home' data-preview-icon='home' ><i className='fa fa-fw fa-home' /><FormattedMessage id='tabs_bar.home' defaultMessage='Home' /></NavLink>,\n <NavLink className='tabs-bar__link primary' to='/notifications' data-preview-title-id='column.notifications' data-preview-icon='bell' ><i className='fa fa-fw fa-bell' /><FormattedMessage id='tabs_bar.notifications' defaultMessage='Notifications' /></NavLink>,\n\n <NavLink className='tabs-bar__link secondary' to='/timelines/public/local' data-preview-title-id='column.community' data-preview-icon='users' ><i className='fa fa-fw fa-users' /><FormattedMessage id='tabs_bar.local_timeline' defaultMessage='Local' /></NavLink>,\n <NavLink className='tabs-bar__link secondary' exact to='/timelines/public' data-preview-title-id='column.public' data-preview-icon='globe' ><i className='fa fa-fw fa-globe' /><FormattedMessage id='tabs_bar.federated_timeline' defaultMessage='Federated' /></NavLink>,\n\n <NavLink className='tabs-bar__link primary' style={{ flexGrow: '0', flexBasis: '30px' }} to='/getting-started' data-preview-title-id='getting_started.heading' data-preview-icon='bars' ><i className='fa fa-fw fa-bars' /></NavLink>,\n];\n\nexport function getIndex (path) {\n return links.findIndex(link => link.props.to === path);\n}\n\nexport function getLink (index) {\n return links[index].props.to;\n}\n\n@injectIntl\n@withRouter\nexport default class TabsBar extends React.PureComponent {\n\n static propTypes = {\n intl: PropTypes.object.isRequired,\n history: PropTypes.object.isRequired,\n }\n\n setRef = ref => {\n this.node = ref;\n }\n\n handleClick = (e) => {\n // Only apply optimization for touch devices, which we assume are slower\n // We thus avoid the 250ms delay for non-touch devices and the lag for touch devices\n if (isUserTouching()) {\n e.preventDefault();\n e.persist();\n\n requestAnimationFrame(() => {\n const tabs = Array(...this.node.querySelectorAll('.tabs-bar__link'));\n const currentTab = tabs.find(tab => tab.classList.contains('active'));\n const nextTab = tabs.find(tab => tab.contains(e.target));\n const { props: { to } } = links[Array(...this.node.childNodes).indexOf(nextTab)];\n\n\n if (currentTab !== nextTab) {\n if (currentTab) {\n currentTab.classList.remove('active');\n }\n\n const listener = debounce(() => {\n nextTab.removeEventListener('transitionend', listener);\n this.props.history.push(to);\n }, 50);\n\n nextTab.addEventListener('transitionend', listener);\n nextTab.classList.add('active');\n }\n });\n }\n\n }\n\n render () {\n const { intl: { formatMessage } } = this.props;\n\n return (\n <nav className='tabs-bar' ref={this.setRef}>\n {links.map(link => React.cloneElement(link, { key: link.props.to, onClick: this.handleClick, 'aria-label': formatMessage({ id: link.props['data-preview-title-id'] }) }))}\n </nav>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/ui/components/tabs_bar.js","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Column from '../../../components/column';\nimport ColumnHeader from '../../../components/column_header';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nexport default class ColumnLoading extends ImmutablePureComponent {\n\n static propTypes = {\n title: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n icon: PropTypes.string,\n };\n\n static defaultProps = {\n title: '',\n icon: '',\n };\n\n render() {\n let { title, icon } = this.props;\n return (\n <Column>\n <ColumnHeader icon={icon} title={title} multiColumn={false} focusable={false} />\n <div className='scrollable' />\n </Column>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/ui/components/column_loading.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl } from 'react-intl';\n\nimport Column from './column';\nimport ColumnHeader from './column_header';\nimport ColumnBackButtonSlim from '../../../components/column_back_button_slim';\nimport IconButton from '../../../components/icon_button';\n\nconst messages = defineMessages({\n title: { id: 'bundle_column_error.title', defaultMessage: 'Network error' },\n body: { id: 'bundle_column_error.body', defaultMessage: 'Something went wrong while loading this component.' },\n retry: { id: 'bundle_column_error.retry', defaultMessage: 'Try again' },\n});\n\nclass BundleColumnError extends React.PureComponent {\n\n static propTypes = {\n onRetry: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n }\n\n handleRetry = () => {\n this.props.onRetry();\n }\n\n render () {\n const { intl: { formatMessage } } = this.props;\n\n return (\n <Column>\n <ColumnHeader icon='exclamation-circle' type={formatMessage(messages.title)} />\n <ColumnBackButtonSlim />\n <div className='error-column'>\n <IconButton title={formatMessage(messages.retry)} icon='refresh' onClick={this.handleRetry} size={64} />\n {formatMessage(messages.body)}\n </div>\n </Column>\n );\n }\n\n}\n\nexport default injectIntl(BundleColumnError);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/ui/components/bundle_column_error.js","import React from 'react';\nimport ColumnHeader from './column_header';\nimport PropTypes from 'prop-types';\nimport { debounce } from 'lodash';\nimport { scrollTop } from '../../../scroll';\nimport { isMobile } from '../../../is_mobile';\n\nexport default class Column extends React.PureComponent {\n\n static propTypes = {\n heading: PropTypes.string,\n icon: PropTypes.string,\n children: PropTypes.node,\n active: PropTypes.bool,\n hideHeadingOnMobile: PropTypes.bool,\n };\n\n handleHeaderClick = () => {\n const scrollable = this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n this._interruptScrollAnimation = scrollTop(scrollable);\n }\n\n scrollTop () {\n const scrollable = this.node.querySelector('.scrollable');\n\n if (!scrollable) {\n return;\n }\n\n this._interruptScrollAnimation = scrollTop(scrollable);\n }\n\n\n handleScroll = debounce(() => {\n if (typeof this._interruptScrollAnimation !== 'undefined') {\n this._interruptScrollAnimation();\n }\n }, 200)\n\n setRef = (c) => {\n this.node = c;\n }\n\n render () {\n const { heading, icon, children, active, hideHeadingOnMobile } = this.props;\n\n const showHeading = heading && (!hideHeadingOnMobile || (hideHeadingOnMobile && !isMobile(window.innerWidth)));\n\n const columnHeaderId = showHeading && heading.replace(/ /g, '-');\n const header = showHeading && (\n <ColumnHeader icon={icon} active={active} type={heading} onClick={this.handleHeaderClick} columnHeaderId={columnHeaderId} />\n );\n return (\n <div\n ref={this.setRef}\n role='region'\n aria-labelledby={columnHeaderId}\n className='column'\n onScroll={this.handleScroll}\n >\n {header}\n {children}\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/ui/components/column.js","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport PropTypes from 'prop-types';\n\nexport default class ColumnBackButton extends React.PureComponent {\n\n static contextTypes = {\n router: PropTypes.object,\n };\n\n handleClick = () => {\n if (window.history && window.history.length === 1) {\n this.context.router.history.push('/');\n } else {\n this.context.router.history.goBack();\n }\n }\n\n render () {\n return (\n <button onClick={this.handleClick} className='column-back-button'>\n <i className='fa fa-fw fa-chevron-left column-back-button__icon' />\n <FormattedMessage id='column_back_button.label' defaultMessage='Back' />\n </button>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/components/column_back_button.js","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport ColumnBackButton from './column_back_button';\n\nexport default class ColumnBackButtonSlim extends ColumnBackButton {\n\n render () {\n return (\n <div className='column-back-button--slim'>\n <div role='button' tabIndex='0' onClick={this.handleClick} className='column-back-button column-back-button--slim-button'>\n <i className='fa fa-fw fa-chevron-left column-back-button__icon' />\n <FormattedMessage id='column_back_button.label' defaultMessage='Back' />\n </div>\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/components/column_back_button_slim.js","/*\n * Copyright 2017, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nimport allLocaleData from '../locale-data/index.js';\nimport IntlMessageFormat from 'intl-messageformat';\nimport IntlRelativeFormat from 'intl-relativeformat';\nimport PropTypes from 'prop-types';\nimport React, { Children, Component, createElement, isValidElement } from 'react';\nimport invariant from 'invariant';\nimport memoizeIntlConstructor from 'intl-format-cache';\n\n// GENERATED FILE\nvar defaultLocaleData = { \"locale\": \"en\", \"pluralRuleFunction\": function pluralRuleFunction(n, ord) {\n var s = String(n).split(\".\"),\n v0 = !s[1],\n t0 = Number(s[0]) == n,\n n10 = t0 && s[0].slice(-1),\n n100 = t0 && s[0].slice(-2);if (ord) return n10 == 1 && n100 != 11 ? \"one\" : n10 == 2 && n100 != 12 ? \"two\" : n10 == 3 && n100 != 13 ? \"few\" : \"other\";return n == 1 && v0 ? \"one\" : \"other\";\n }, \"fields\": { \"year\": { \"displayName\": \"year\", \"relative\": { \"0\": \"this year\", \"1\": \"next year\", \"-1\": \"last year\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} year\", \"other\": \"in {0} years\" }, \"past\": { \"one\": \"{0} year ago\", \"other\": \"{0} years ago\" } } }, \"month\": { \"displayName\": \"month\", \"relative\": { \"0\": \"this month\", \"1\": \"next month\", \"-1\": \"last month\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} month\", \"other\": \"in {0} months\" }, \"past\": { \"one\": \"{0} month ago\", \"other\": \"{0} months ago\" } } }, \"day\": { \"displayName\": \"day\", \"relative\": { \"0\": \"today\", \"1\": \"tomorrow\", \"-1\": \"yesterday\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} day\", \"other\": \"in {0} days\" }, \"past\": { \"one\": \"{0} day ago\", \"other\": \"{0} days ago\" } } }, \"hour\": { \"displayName\": \"hour\", \"relative\": { \"0\": \"this hour\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} hour\", \"other\": \"in {0} hours\" }, \"past\": { \"one\": \"{0} hour ago\", \"other\": \"{0} hours ago\" } } }, \"minute\": { \"displayName\": \"minute\", \"relative\": { \"0\": \"this minute\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} minute\", \"other\": \"in {0} minutes\" }, \"past\": { \"one\": \"{0} minute ago\", \"other\": \"{0} minutes ago\" } } }, \"second\": { \"displayName\": \"second\", \"relative\": { \"0\": \"now\" }, \"relativeTime\": { \"future\": { \"one\": \"in {0} second\", \"other\": \"in {0} seconds\" }, \"past\": { \"one\": \"{0} second ago\", \"other\": \"{0} seconds ago\" } } } } };\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nfunction addLocaleData() {\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var locales = Array.isArray(data) ? data : [data];\n\n locales.forEach(function (localeData) {\n if (localeData && localeData.locale) {\n IntlMessageFormat.__addLocaleData(localeData);\n IntlRelativeFormat.__addLocaleData(localeData);\n }\n });\n}\n\nfunction hasLocaleData(locale) {\n var localeParts = (locale || '').split('-');\n\n while (localeParts.length > 0) {\n if (hasIMFAndIRFLocaleData(localeParts.join('-'))) {\n return true;\n }\n\n localeParts.pop();\n }\n\n return false;\n}\n\nfunction hasIMFAndIRFLocaleData(locale) {\n var normalizedLocale = locale && locale.toLowerCase();\n\n return !!(IntlMessageFormat.__localeData__[normalizedLocale] && IntlRelativeFormat.__localeData__[normalizedLocale]);\n}\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar bool = PropTypes.bool;\nvar number = PropTypes.number;\nvar string = PropTypes.string;\nvar func = PropTypes.func;\nvar object = PropTypes.object;\nvar oneOf = PropTypes.oneOf;\nvar shape = PropTypes.shape;\nvar any = PropTypes.any;\nvar oneOfType = PropTypes.oneOfType;\n\nvar localeMatcher = oneOf(['best fit', 'lookup']);\nvar narrowShortLong = oneOf(['narrow', 'short', 'long']);\nvar numeric2digit = oneOf(['numeric', '2-digit']);\nvar funcReq = func.isRequired;\n\nvar intlConfigPropTypes = {\n locale: string,\n formats: object,\n messages: object,\n textComponent: any,\n\n defaultLocale: string,\n defaultFormats: object\n};\n\nvar intlFormatPropTypes = {\n formatDate: funcReq,\n formatTime: funcReq,\n formatRelative: funcReq,\n formatNumber: funcReq,\n formatPlural: funcReq,\n formatMessage: funcReq,\n formatHTMLMessage: funcReq\n};\n\nvar intlShape = shape(_extends({}, intlConfigPropTypes, intlFormatPropTypes, {\n formatters: object,\n now: funcReq\n}));\n\nvar messageDescriptorPropTypes = {\n id: string.isRequired,\n description: oneOfType([string, object]),\n defaultMessage: string\n};\n\nvar dateTimeFormatPropTypes = {\n localeMatcher: localeMatcher,\n formatMatcher: oneOf(['basic', 'best fit']),\n\n timeZone: string,\n hour12: bool,\n\n weekday: narrowShortLong,\n era: narrowShortLong,\n year: numeric2digit,\n month: oneOf(['numeric', '2-digit', 'narrow', 'short', 'long']),\n day: numeric2digit,\n hour: numeric2digit,\n minute: numeric2digit,\n second: numeric2digit,\n timeZoneName: oneOf(['short', 'long'])\n};\n\nvar numberFormatPropTypes = {\n localeMatcher: localeMatcher,\n\n style: oneOf(['decimal', 'currency', 'percent']),\n currency: string,\n currencyDisplay: oneOf(['symbol', 'code', 'name']),\n useGrouping: bool,\n\n minimumIntegerDigits: number,\n minimumFractionDigits: number,\n maximumFractionDigits: number,\n minimumSignificantDigits: number,\n maximumSignificantDigits: number\n};\n\nvar relativeFormatPropTypes = {\n style: oneOf(['best fit', 'numeric']),\n units: oneOf(['second', 'minute', 'hour', 'day', 'month', 'year'])\n};\n\nvar pluralFormatPropTypes = {\n style: oneOf(['cardinal', 'ordinal'])\n};\n\n/*\nHTML escaping and shallow-equals implementations are the same as React's\n(on purpose.) Therefore, it has the following Copyright and Licensing:\n\nCopyright 2013-2014, Facebook, Inc.\nAll rights reserved.\n\nThis source code is licensed under the BSD-style license found in the LICENSE\nfile in the root directory of React's source tree.\n*/\n\nvar intlConfigPropNames = Object.keys(intlConfigPropTypes);\n\nvar ESCAPED_CHARS = {\n '&': '&',\n '>': '>',\n '<': '<',\n '\"': '"',\n \"'\": '''\n};\n\nvar UNSAFE_CHARS_REGEX = /[&><\"']/g;\n\nfunction escape(str) {\n return ('' + str).replace(UNSAFE_CHARS_REGEX, function (match) {\n return ESCAPED_CHARS[match];\n });\n}\n\nfunction filterProps(props, whitelist) {\n var defaults$$1 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n return whitelist.reduce(function (filtered, name) {\n if (props.hasOwnProperty(name)) {\n filtered[name] = props[name];\n } else if (defaults$$1.hasOwnProperty(name)) {\n filtered[name] = defaults$$1[name];\n }\n\n return filtered;\n }, {});\n}\n\nfunction invariantIntlContext() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n intl = _ref.intl;\n\n invariant(intl, '[React Intl] Could not find required `intl` object. ' + '<IntlProvider> needs to exist in the component ancestry.');\n}\n\nfunction shallowEquals(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if ((typeof objA === 'undefined' ? 'undefined' : _typeof(objA)) !== 'object' || objA === null || (typeof objB === 'undefined' ? 'undefined' : _typeof(objB)) !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n for (var i = 0; i < keysA.length; i++) {\n if (!bHasOwnProperty(keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction shouldIntlComponentUpdate(_ref2, nextProps, nextState) {\n var props = _ref2.props,\n state = _ref2.state,\n _ref2$context = _ref2.context,\n context = _ref2$context === undefined ? {} : _ref2$context;\n var nextContext = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _context$intl = context.intl,\n intl = _context$intl === undefined ? {} : _context$intl;\n var _nextContext$intl = nextContext.intl,\n nextIntl = _nextContext$intl === undefined ? {} : _nextContext$intl;\n\n\n return !shallowEquals(nextProps, props) || !shallowEquals(nextState, state) || !(nextIntl === intl || shallowEquals(filterProps(nextIntl, intlConfigPropNames), filterProps(intl, intlConfigPropNames)));\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n// Inspired by react-redux's `connect()` HOC factory function implementation:\n// https://github.com/rackt/react-redux\n\nfunction getDisplayName(Component$$1) {\n return Component$$1.displayName || Component$$1.name || 'Component';\n}\n\nfunction injectIntl(WrappedComponent) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$intlPropName = options.intlPropName,\n intlPropName = _options$intlPropName === undefined ? 'intl' : _options$intlPropName,\n _options$withRef = options.withRef,\n withRef = _options$withRef === undefined ? false : _options$withRef;\n\n var InjectIntl = function (_Component) {\n inherits(InjectIntl, _Component);\n\n function InjectIntl(props, context) {\n classCallCheck(this, InjectIntl);\n\n var _this = possibleConstructorReturn(this, (InjectIntl.__proto__ || Object.getPrototypeOf(InjectIntl)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(InjectIntl, [{\n key: 'getWrappedInstance',\n value: function getWrappedInstance() {\n invariant(withRef, '[React Intl] To access the wrapped instance, ' + 'the `{withRef: true}` option must be set when calling: ' + '`injectIntl()`');\n\n return this.refs.wrappedInstance;\n }\n }, {\n key: 'render',\n value: function render() {\n return React.createElement(WrappedComponent, _extends({}, this.props, defineProperty({}, intlPropName, this.context.intl), {\n ref: withRef ? 'wrappedInstance' : null\n }));\n }\n }]);\n return InjectIntl;\n }(Component);\n\n InjectIntl.displayName = 'InjectIntl(' + getDisplayName(WrappedComponent) + ')';\n InjectIntl.contextTypes = {\n intl: intlShape\n };\n InjectIntl.WrappedComponent = WrappedComponent;\n\n\n return InjectIntl;\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nfunction defineMessages(messageDescriptors) {\n // This simply returns what's passed-in because it's meant to be a hook for\n // babel-plugin-react-intl.\n return messageDescriptors;\n}\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\n// This is a \"hack\" until a proper `intl-pluralformat` package is created.\n\nfunction resolveLocale(locales) {\n // IntlMessageFormat#_resolveLocale() does not depend on `this`.\n return IntlMessageFormat.prototype._resolveLocale(locales);\n}\n\nfunction findPluralFunction(locale) {\n // IntlMessageFormat#_findPluralFunction() does not depend on `this`.\n return IntlMessageFormat.prototype._findPluralRuleFunction(locale);\n}\n\nvar IntlPluralFormat = function IntlPluralFormat(locales) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n classCallCheck(this, IntlPluralFormat);\n\n var useOrdinal = options.style === 'ordinal';\n var pluralFn = findPluralFunction(resolveLocale(locales));\n\n this.format = function (value) {\n return pluralFn(value, useOrdinal);\n };\n};\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar DATE_TIME_FORMAT_OPTIONS = Object.keys(dateTimeFormatPropTypes);\nvar NUMBER_FORMAT_OPTIONS = Object.keys(numberFormatPropTypes);\nvar RELATIVE_FORMAT_OPTIONS = Object.keys(relativeFormatPropTypes);\nvar PLURAL_FORMAT_OPTIONS = Object.keys(pluralFormatPropTypes);\n\nvar RELATIVE_FORMAT_THRESHOLDS = {\n second: 60, // seconds to minute\n minute: 60, // minutes to hour\n hour: 24, // hours to day\n day: 30, // days to month\n month: 12 // months to year\n};\n\nfunction updateRelativeFormatThresholds(newThresholds) {\n var thresholds = IntlRelativeFormat.thresholds;\n thresholds.second = newThresholds.second;\n thresholds.minute = newThresholds.minute;\n thresholds.hour = newThresholds.hour;\n thresholds.day = newThresholds.day;\n thresholds.month = newThresholds.month;\n}\n\nfunction getNamedFormat(formats, type, name) {\n var format = formats && formats[type] && formats[type][name];\n if (format) {\n return format;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] No ' + type + ' format named: ' + name);\n }\n}\n\nfunction formatDate(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n\n var date = new Date(value);\n var defaults$$1 = format && getNamedFormat(formats, 'date', format);\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults$$1);\n\n try {\n return state.getDateTimeFormat(locale, filteredOptions).format(date);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting date.\\n' + e);\n }\n }\n\n return String(date);\n}\n\nfunction formatTime(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n\n var date = new Date(value);\n var defaults$$1 = format && getNamedFormat(formats, 'time', format);\n var filteredOptions = filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults$$1);\n\n if (!filteredOptions.hour && !filteredOptions.minute && !filteredOptions.second) {\n // Add default formatting options if hour, minute, or second isn't defined.\n filteredOptions = _extends({}, filteredOptions, { hour: 'numeric', minute: 'numeric' });\n }\n\n try {\n return state.getDateTimeFormat(locale, filteredOptions).format(date);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting time.\\n' + e);\n }\n }\n\n return String(date);\n}\n\nfunction formatRelative(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n\n var date = new Date(value);\n var now = new Date(options.now);\n var defaults$$1 = format && getNamedFormat(formats, 'relative', format);\n var filteredOptions = filterProps(options, RELATIVE_FORMAT_OPTIONS, defaults$$1);\n\n // Capture the current threshold values, then temporarily override them with\n // specific values just for this render.\n var oldThresholds = _extends({}, IntlRelativeFormat.thresholds);\n updateRelativeFormatThresholds(RELATIVE_FORMAT_THRESHOLDS);\n\n try {\n return state.getRelativeFormat(locale, filteredOptions).format(date, {\n now: isFinite(now) ? now : state.now()\n });\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting relative time.\\n' + e);\n }\n } finally {\n updateRelativeFormatThresholds(oldThresholds);\n }\n\n return String(date);\n}\n\nfunction formatNumber(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats;\n var format = options.format;\n\n\n var defaults$$1 = format && getNamedFormat(formats, 'number', format);\n var filteredOptions = filterProps(options, NUMBER_FORMAT_OPTIONS, defaults$$1);\n\n try {\n return state.getNumberFormat(locale, filteredOptions).format(value);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting number.\\n' + e);\n }\n }\n\n return String(value);\n}\n\nfunction formatPlural(config, state, value) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale;\n\n\n var filteredOptions = filterProps(options, PLURAL_FORMAT_OPTIONS);\n\n try {\n return state.getPluralFormat(locale, filteredOptions).format(value);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting plural.\\n' + e);\n }\n }\n\n return 'other';\n}\n\nfunction formatMessage(config, state) {\n var messageDescriptor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var values = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var locale = config.locale,\n formats = config.formats,\n messages = config.messages,\n defaultLocale = config.defaultLocale,\n defaultFormats = config.defaultFormats;\n var id = messageDescriptor.id,\n defaultMessage = messageDescriptor.defaultMessage;\n\n // `id` is a required field of a Message Descriptor.\n\n invariant(id, '[React Intl] An `id` must be provided to format a message.');\n\n var message = messages && messages[id];\n var hasValues = Object.keys(values).length > 0;\n\n // Avoid expensive message formatting for simple messages without values. In\n // development messages will always be formatted in case of missing values.\n if (!hasValues && process.env.NODE_ENV === 'production') {\n return message || defaultMessage || id;\n }\n\n var formattedMessage = void 0;\n\n if (message) {\n try {\n var formatter = state.getMessageFormat(message, locale, formats);\n\n formattedMessage = formatter.format(values);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting message: \"' + id + '\" for locale: \"' + locale + '\"' + (defaultMessage ? ', using default message as fallback.' : '') + ('\\n' + e));\n }\n }\n } else {\n if (process.env.NODE_ENV !== 'production') {\n // This prevents warnings from littering the console in development\n // when no `messages` are passed into the <IntlProvider> for the\n // default locale, and a default message is in the source.\n if (!defaultMessage || locale && locale.toLowerCase() !== defaultLocale.toLowerCase()) {\n console.error('[React Intl] Missing message: \"' + id + '\" for locale: \"' + locale + '\"' + (defaultMessage ? ', using default message as fallback.' : ''));\n }\n }\n }\n\n if (!formattedMessage && defaultMessage) {\n try {\n var _formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats);\n\n formattedMessage = _formatter.format(values);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Error formatting the default message for: \"' + id + '\"' + ('\\n' + e));\n }\n }\n }\n\n if (!formattedMessage) {\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Cannot format message: \"' + id + '\", ' + ('using message ' + (message || defaultMessage ? 'source' : 'id') + ' as fallback.'));\n }\n }\n\n return formattedMessage || message || defaultMessage || id;\n}\n\nfunction formatHTMLMessage(config, state, messageDescriptor) {\n var rawValues = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n // Process all the values before they are used when formatting the ICU\n // Message string. Since the formatted message might be injected via\n // `innerHTML`, all String-based values need to be HTML-escaped.\n var escapedValues = Object.keys(rawValues).reduce(function (escaped, name) {\n var value = rawValues[name];\n escaped[name] = typeof value === 'string' ? escape(value) : value;\n return escaped;\n }, {});\n\n return formatMessage(config, state, messageDescriptor, escapedValues);\n}\n\n\n\nvar format = Object.freeze({\n\tformatDate: formatDate,\n\tformatTime: formatTime,\n\tformatRelative: formatRelative,\n\tformatNumber: formatNumber,\n\tformatPlural: formatPlural,\n\tformatMessage: formatMessage,\n\tformatHTMLMessage: formatHTMLMessage\n});\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar intlConfigPropNames$1 = Object.keys(intlConfigPropTypes);\nvar intlFormatPropNames = Object.keys(intlFormatPropTypes);\n\n// These are not a static property on the `IntlProvider` class so the intl\n// config values can be inherited from an <IntlProvider> ancestor.\nvar defaultProps = {\n formats: {},\n messages: {},\n textComponent: 'span',\n\n defaultLocale: 'en',\n defaultFormats: {}\n};\n\nvar IntlProvider = function (_Component) {\n inherits(IntlProvider, _Component);\n\n function IntlProvider(props) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n classCallCheck(this, IntlProvider);\n\n var _this = possibleConstructorReturn(this, (IntlProvider.__proto__ || Object.getPrototypeOf(IntlProvider)).call(this, props, context));\n\n invariant(typeof Intl !== 'undefined', '[React Intl] The `Intl` APIs must be available in the runtime, ' + 'and do not appear to be built-in. An `Intl` polyfill should be loaded.\\n' + 'See: http://formatjs.io/guides/runtime-environments/');\n\n var intlContext = context.intl;\n\n // Used to stabilize time when performing an initial rendering so that\n // all relative times use the same reference \"now\" time.\n\n var initialNow = void 0;\n if (isFinite(props.initialNow)) {\n initialNow = Number(props.initialNow);\n } else {\n // When an `initialNow` isn't provided via `props`, look to see an\n // <IntlProvider> exists in the ancestry and call its `now()`\n // function to propagate its value for \"now\".\n initialNow = intlContext ? intlContext.now() : Date.now();\n }\n\n // Creating `Intl*` formatters is expensive. If there's a parent\n // `<IntlProvider>`, then its formatters will be used. Otherwise, this\n // memoize the `Intl*` constructors and cache them for the lifecycle of\n // this IntlProvider instance.\n\n var _ref = intlContext || {},\n _ref$formatters = _ref.formatters,\n formatters = _ref$formatters === undefined ? {\n getDateTimeFormat: memoizeIntlConstructor(Intl.DateTimeFormat),\n getNumberFormat: memoizeIntlConstructor(Intl.NumberFormat),\n getMessageFormat: memoizeIntlConstructor(IntlMessageFormat),\n getRelativeFormat: memoizeIntlConstructor(IntlRelativeFormat),\n getPluralFormat: memoizeIntlConstructor(IntlPluralFormat)\n } : _ref$formatters;\n\n _this.state = _extends({}, formatters, {\n\n // Wrapper to provide stable \"now\" time for initial render.\n now: function now() {\n return _this._didDisplay ? Date.now() : initialNow;\n }\n });\n return _this;\n }\n\n createClass(IntlProvider, [{\n key: 'getConfig',\n value: function getConfig() {\n var intlContext = this.context.intl;\n\n // Build a whitelisted config object from `props`, defaults, and\n // `context.intl`, if an <IntlProvider> exists in the ancestry.\n\n var config = filterProps(this.props, intlConfigPropNames$1, intlContext);\n\n // Apply default props. This must be applied last after the props have\n // been resolved and inherited from any <IntlProvider> in the ancestry.\n // This matches how React resolves `defaultProps`.\n for (var propName in defaultProps) {\n if (config[propName] === undefined) {\n config[propName] = defaultProps[propName];\n }\n }\n\n if (!hasLocaleData(config.locale)) {\n var _config = config,\n locale = _config.locale,\n defaultLocale = _config.defaultLocale,\n defaultFormats = _config.defaultFormats;\n\n\n if (process.env.NODE_ENV !== 'production') {\n console.error('[React Intl] Missing locale data for locale: \"' + locale + '\". ' + ('Using default locale: \"' + defaultLocale + '\" as fallback.'));\n }\n\n // Since there's no registered locale data for `locale`, this will\n // fallback to the `defaultLocale` to make sure things can render.\n // The `messages` are overridden to the `defaultProps` empty object\n // to maintain referential equality across re-renders. It's assumed\n // each <FormattedMessage> contains a `defaultMessage` prop.\n config = _extends({}, config, {\n locale: defaultLocale,\n formats: defaultFormats,\n messages: defaultProps.messages\n });\n }\n\n return config;\n }\n }, {\n key: 'getBoundFormatFns',\n value: function getBoundFormatFns(config, state) {\n return intlFormatPropNames.reduce(function (boundFormatFns, name) {\n boundFormatFns[name] = format[name].bind(null, config, state);\n return boundFormatFns;\n }, {});\n }\n }, {\n key: 'getChildContext',\n value: function getChildContext() {\n var config = this.getConfig();\n\n // Bind intl factories and current config to the format functions.\n var boundFormatFns = this.getBoundFormatFns(config, this.state);\n\n var _state = this.state,\n now = _state.now,\n formatters = objectWithoutProperties(_state, ['now']);\n\n\n return {\n intl: _extends({}, config, boundFormatFns, {\n formatters: formatters,\n now: now\n })\n };\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this._didDisplay = true;\n }\n }, {\n key: 'render',\n value: function render() {\n return Children.only(this.props.children);\n }\n }]);\n return IntlProvider;\n}(Component);\n\nIntlProvider.displayName = 'IntlProvider';\nIntlProvider.contextTypes = {\n intl: intlShape\n};\nIntlProvider.childContextTypes = {\n intl: intlShape.isRequired\n};\nprocess.env.NODE_ENV !== \"production\" ? IntlProvider.propTypes = _extends({}, intlConfigPropTypes, {\n children: PropTypes.element.isRequired,\n initialNow: PropTypes.any\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedDate = function (_Component) {\n inherits(FormattedDate, _Component);\n\n function FormattedDate(props, context) {\n classCallCheck(this, FormattedDate);\n\n var _this = possibleConstructorReturn(this, (FormattedDate.__proto__ || Object.getPrototypeOf(FormattedDate)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedDate, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatDate = _context$intl.formatDate,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n\n var formattedDate = formatDate(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedDate);\n }\n\n return React.createElement(\n Text,\n null,\n formattedDate\n );\n }\n }]);\n return FormattedDate;\n}(Component);\n\nFormattedDate.displayName = 'FormattedDate';\nFormattedDate.contextTypes = {\n intl: intlShape\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedDate.propTypes = _extends({}, dateTimeFormatPropTypes, {\n value: PropTypes.any.isRequired,\n format: PropTypes.string,\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedTime = function (_Component) {\n inherits(FormattedTime, _Component);\n\n function FormattedTime(props, context) {\n classCallCheck(this, FormattedTime);\n\n var _this = possibleConstructorReturn(this, (FormattedTime.__proto__ || Object.getPrototypeOf(FormattedTime)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedTime, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatTime = _context$intl.formatTime,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n\n var formattedTime = formatTime(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedTime);\n }\n\n return React.createElement(\n Text,\n null,\n formattedTime\n );\n }\n }]);\n return FormattedTime;\n}(Component);\n\nFormattedTime.displayName = 'FormattedTime';\nFormattedTime.contextTypes = {\n intl: intlShape\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedTime.propTypes = _extends({}, dateTimeFormatPropTypes, {\n value: PropTypes.any.isRequired,\n format: PropTypes.string,\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar SECOND = 1000;\nvar MINUTE = 1000 * 60;\nvar HOUR = 1000 * 60 * 60;\nvar DAY = 1000 * 60 * 60 * 24;\n\n// The maximum timer delay value is a 32-bit signed integer.\n// See: https://mdn.io/setTimeout\nvar MAX_TIMER_DELAY = 2147483647;\n\nfunction selectUnits(delta) {\n var absDelta = Math.abs(delta);\n\n if (absDelta < MINUTE) {\n return 'second';\n }\n\n if (absDelta < HOUR) {\n return 'minute';\n }\n\n if (absDelta < DAY) {\n return 'hour';\n }\n\n // The maximum scheduled delay will be measured in days since the maximum\n // timer delay is less than the number of milliseconds in 25 days.\n return 'day';\n}\n\nfunction getUnitDelay(units) {\n switch (units) {\n case 'second':\n return SECOND;\n case 'minute':\n return MINUTE;\n case 'hour':\n return HOUR;\n case 'day':\n return DAY;\n default:\n return MAX_TIMER_DELAY;\n }\n}\n\nfunction isSameDate(a, b) {\n if (a === b) {\n return true;\n }\n\n var aTime = new Date(a).getTime();\n var bTime = new Date(b).getTime();\n\n return isFinite(aTime) && isFinite(bTime) && aTime === bTime;\n}\n\nvar FormattedRelative = function (_Component) {\n inherits(FormattedRelative, _Component);\n\n function FormattedRelative(props, context) {\n classCallCheck(this, FormattedRelative);\n\n var _this = possibleConstructorReturn(this, (FormattedRelative.__proto__ || Object.getPrototypeOf(FormattedRelative)).call(this, props, context));\n\n invariantIntlContext(context);\n\n var now = isFinite(props.initialNow) ? Number(props.initialNow) : context.intl.now();\n\n // `now` is stored as state so that `render()` remains a function of\n // props + state, instead of accessing `Date.now()` inside `render()`.\n _this.state = { now: now };\n return _this;\n }\n\n createClass(FormattedRelative, [{\n key: 'scheduleNextUpdate',\n value: function scheduleNextUpdate(props, state) {\n var _this2 = this;\n\n // Cancel and pending update because we're scheduling a new update.\n clearTimeout(this._timer);\n\n var value = props.value,\n units = props.units,\n updateInterval = props.updateInterval;\n\n var time = new Date(value).getTime();\n\n // If the `updateInterval` is falsy, including `0` or we don't have a\n // valid date, then auto updates have been turned off, so we bail and\n // skip scheduling an update.\n if (!updateInterval || !isFinite(time)) {\n return;\n }\n\n var delta = time - state.now;\n var unitDelay = getUnitDelay(units || selectUnits(delta));\n var unitRemainder = Math.abs(delta % unitDelay);\n\n // We want the largest possible timer delay which will still display\n // accurate information while reducing unnecessary re-renders. The delay\n // should be until the next \"interesting\" moment, like a tick from\n // \"1 minute ago\" to \"2 minutes ago\" when the delta is 120,000ms.\n var delay = delta < 0 ? Math.max(updateInterval, unitDelay - unitRemainder) : Math.max(updateInterval, unitRemainder);\n\n this._timer = setTimeout(function () {\n _this2.setState({ now: _this2.context.intl.now() });\n }, delay);\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.scheduleNextUpdate(this.props, this.state);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(_ref) {\n var nextValue = _ref.value;\n\n // When the `props.value` date changes, `state.now` needs to be updated,\n // and the next update can be rescheduled.\n if (!isSameDate(nextValue, this.props.value)) {\n this.setState({ now: this.context.intl.now() });\n }\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'componentWillUpdate',\n value: function componentWillUpdate(nextProps, nextState) {\n this.scheduleNextUpdate(nextProps, nextState);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n clearTimeout(this._timer);\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatRelative = _context$intl.formatRelative,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n\n var formattedRelative = formatRelative(value, _extends({}, this.props, this.state));\n\n if (typeof children === 'function') {\n return children(formattedRelative);\n }\n\n return React.createElement(\n Text,\n null,\n formattedRelative\n );\n }\n }]);\n return FormattedRelative;\n}(Component);\n\nFormattedRelative.displayName = 'FormattedRelative';\nFormattedRelative.contextTypes = {\n intl: intlShape\n};\nFormattedRelative.defaultProps = {\n updateInterval: 1000 * 10\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedRelative.propTypes = _extends({}, relativeFormatPropTypes, {\n value: PropTypes.any.isRequired,\n format: PropTypes.string,\n updateInterval: PropTypes.number,\n initialNow: PropTypes.any,\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedNumber = function (_Component) {\n inherits(FormattedNumber, _Component);\n\n function FormattedNumber(props, context) {\n classCallCheck(this, FormattedNumber);\n\n var _this = possibleConstructorReturn(this, (FormattedNumber.__proto__ || Object.getPrototypeOf(FormattedNumber)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedNumber, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatNumber = _context$intl.formatNumber,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n children = _props.children;\n\n\n var formattedNumber = formatNumber(value, this.props);\n\n if (typeof children === 'function') {\n return children(formattedNumber);\n }\n\n return React.createElement(\n Text,\n null,\n formattedNumber\n );\n }\n }]);\n return FormattedNumber;\n}(Component);\n\nFormattedNumber.displayName = 'FormattedNumber';\nFormattedNumber.contextTypes = {\n intl: intlShape\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedNumber.propTypes = _extends({}, numberFormatPropTypes, {\n value: PropTypes.any.isRequired,\n format: PropTypes.string,\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedPlural = function (_Component) {\n inherits(FormattedPlural, _Component);\n\n function FormattedPlural(props, context) {\n classCallCheck(this, FormattedPlural);\n\n var _this = possibleConstructorReturn(this, (FormattedPlural.__proto__ || Object.getPrototypeOf(FormattedPlural)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedPlural, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n for (var _len = arguments.length, next = Array(_len), _key = 0; _key < _len; _key++) {\n next[_key] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatPlural = _context$intl.formatPlural,\n Text = _context$intl.textComponent;\n var _props = this.props,\n value = _props.value,\n other = _props.other,\n children = _props.children;\n\n\n var pluralCategory = formatPlural(value, this.props);\n var formattedPlural = this.props[pluralCategory] || other;\n\n if (typeof children === 'function') {\n return children(formattedPlural);\n }\n\n return React.createElement(\n Text,\n null,\n formattedPlural\n );\n }\n }]);\n return FormattedPlural;\n}(Component);\n\nFormattedPlural.displayName = 'FormattedPlural';\nFormattedPlural.contextTypes = {\n intl: intlShape\n};\nFormattedPlural.defaultProps = {\n style: 'cardinal'\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedPlural.propTypes = _extends({}, pluralFormatPropTypes, {\n value: PropTypes.any.isRequired,\n\n other: PropTypes.node.isRequired,\n zero: PropTypes.node,\n one: PropTypes.node,\n two: PropTypes.node,\n few: PropTypes.node,\n many: PropTypes.node,\n\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedMessage = function (_Component) {\n inherits(FormattedMessage, _Component);\n\n function FormattedMessage(props, context) {\n classCallCheck(this, FormattedMessage);\n\n var _this = possibleConstructorReturn(this, (FormattedMessage.__proto__ || Object.getPrototypeOf(FormattedMessage)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedMessage, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n var values = this.props.values;\n var nextValues = nextProps.values;\n\n\n if (!shallowEquals(nextValues, values)) {\n return true;\n }\n\n // Since `values` has already been checked, we know they're not\n // different, so the current `values` are carried over so the shallow\n // equals comparison on the other props isn't affected by the `values`.\n var nextPropsToCheck = _extends({}, nextProps, {\n values: values\n });\n\n for (var _len = arguments.length, next = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n next[_key - 1] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this, nextPropsToCheck].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatMessage = _context$intl.formatMessage,\n Text = _context$intl.textComponent;\n var _props = this.props,\n id = _props.id,\n description = _props.description,\n defaultMessage = _props.defaultMessage,\n values = _props.values,\n _props$tagName = _props.tagName,\n Component$$1 = _props$tagName === undefined ? Text : _props$tagName,\n children = _props.children;\n\n\n var tokenDelimiter = void 0;\n var tokenizedValues = void 0;\n var elements = void 0;\n\n var hasValues = values && Object.keys(values).length > 0;\n if (hasValues) {\n // Creates a token with a random UID that should not be guessable or\n // conflict with other parts of the `message` string.\n var uid = Math.floor(Math.random() * 0x10000000000).toString(16);\n\n var generateToken = function () {\n var counter = 0;\n return function () {\n return 'ELEMENT-' + uid + '-' + (counter += 1);\n };\n }();\n\n // Splitting with a delimiter to support IE8. When using a regex\n // with a capture group IE8 does not include the capture group in\n // the resulting array.\n tokenDelimiter = '@__' + uid + '__@';\n tokenizedValues = {};\n elements = {};\n\n // Iterates over the `props` to keep track of any React Element\n // values so they can be represented by the `token` as a placeholder\n // when the `message` is formatted. This allows the formatted\n // message to then be broken-up into parts with references to the\n // React Elements inserted back in.\n Object.keys(values).forEach(function (name) {\n var value = values[name];\n\n if (isValidElement(value)) {\n var token = generateToken();\n tokenizedValues[name] = tokenDelimiter + token + tokenDelimiter;\n elements[token] = value;\n } else {\n tokenizedValues[name] = value;\n }\n });\n }\n\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var formattedMessage = formatMessage(descriptor, tokenizedValues || values);\n\n var nodes = void 0;\n\n var hasElements = elements && Object.keys(elements).length > 0;\n if (hasElements) {\n // Split the message into parts so the React Element values captured\n // above can be inserted back into the rendered message. This\n // approach allows messages to render with React Elements while\n // keeping React's virtual diffing working properly.\n nodes = formattedMessage.split(tokenDelimiter).filter(function (part) {\n return !!part;\n }).map(function (part) {\n return elements[part] || part;\n });\n } else {\n nodes = [formattedMessage];\n }\n\n if (typeof children === 'function') {\n return children.apply(undefined, toConsumableArray(nodes));\n }\n\n // Needs to use `createElement()` instead of JSX, otherwise React will\n // warn about a missing `key` prop with rich-text message formatting.\n return createElement.apply(undefined, [Component$$1, null].concat(toConsumableArray(nodes)));\n }\n }]);\n return FormattedMessage;\n}(Component);\n\nFormattedMessage.displayName = 'FormattedMessage';\nFormattedMessage.contextTypes = {\n intl: intlShape\n};\nFormattedMessage.defaultProps = {\n values: {}\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedMessage.propTypes = _extends({}, messageDescriptorPropTypes, {\n values: PropTypes.object,\n tagName: PropTypes.string,\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\nvar FormattedHTMLMessage = function (_Component) {\n inherits(FormattedHTMLMessage, _Component);\n\n function FormattedHTMLMessage(props, context) {\n classCallCheck(this, FormattedHTMLMessage);\n\n var _this = possibleConstructorReturn(this, (FormattedHTMLMessage.__proto__ || Object.getPrototypeOf(FormattedHTMLMessage)).call(this, props, context));\n\n invariantIntlContext(context);\n return _this;\n }\n\n createClass(FormattedHTMLMessage, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n var values = this.props.values;\n var nextValues = nextProps.values;\n\n\n if (!shallowEquals(nextValues, values)) {\n return true;\n }\n\n // Since `values` has already been checked, we know they're not\n // different, so the current `values` are carried over so the shallow\n // equals comparison on the other props isn't affected by the `values`.\n var nextPropsToCheck = _extends({}, nextProps, {\n values: values\n });\n\n for (var _len = arguments.length, next = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n next[_key - 1] = arguments[_key];\n }\n\n return shouldIntlComponentUpdate.apply(undefined, [this, nextPropsToCheck].concat(next));\n }\n }, {\n key: 'render',\n value: function render() {\n var _context$intl = this.context.intl,\n formatHTMLMessage = _context$intl.formatHTMLMessage,\n Text = _context$intl.textComponent;\n var _props = this.props,\n id = _props.id,\n description = _props.description,\n defaultMessage = _props.defaultMessage,\n rawValues = _props.values,\n _props$tagName = _props.tagName,\n Component$$1 = _props$tagName === undefined ? Text : _props$tagName,\n children = _props.children;\n\n\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var formattedHTMLMessage = formatHTMLMessage(descriptor, rawValues);\n\n if (typeof children === 'function') {\n return children(formattedHTMLMessage);\n }\n\n // Since the message presumably has HTML in it, we need to set\n // `innerHTML` in order for it to be rendered and not escaped by React.\n // To be safe, all string prop values were escaped when formatting the\n // message. It is assumed that the message is not UGC, and came from the\n // developer making it more like a template.\n //\n // Note: There's a perf impact of using this component since there's no\n // way for React to do its virtual DOM diffing.\n var html = { __html: formattedHTMLMessage };\n return React.createElement(Component$$1, { dangerouslySetInnerHTML: html });\n }\n }]);\n return FormattedHTMLMessage;\n}(Component);\n\nFormattedHTMLMessage.displayName = 'FormattedHTMLMessage';\nFormattedHTMLMessage.contextTypes = {\n intl: intlShape\n};\nFormattedHTMLMessage.defaultProps = {\n values: {}\n};\nprocess.env.NODE_ENV !== \"production\" ? FormattedHTMLMessage.propTypes = _extends({}, messageDescriptorPropTypes, {\n values: PropTypes.object,\n tagName: PropTypes.string,\n children: PropTypes.func\n}) : void 0;\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\naddLocaleData(defaultLocaleData);\n\n/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\naddLocaleData(allLocaleData);\n\nexport { addLocaleData, intlShape, injectIntl, defineMessages, IntlProvider, FormattedDate, FormattedTime, FormattedRelative, FormattedNumber, FormattedPlural, FormattedMessage, FormattedHTMLMessage };\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/react-intl/lib/index.es.js","import loadPolyfills from '../mastodon/load_polyfills';\n\nloadPolyfills().then(() => {\n require('../mastodon/main').default();\n}).catch(e => {\n console.error(e);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/packs/application.js","import * as registerPushNotifications from './actions/push_notifications';\nimport { default as Mastodon, store } from './containers/mastodon';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport ready from './ready';\n\nconst perf = require('./performance');\n\nfunction main() {\n perf.start('main()');\n\n if (window.history && history.replaceState) {\n const { pathname, search, hash } = window.location;\n const path = pathname + search + hash;\n if (!(/^\\/web($|\\/)/).test(path)) {\n history.replaceState(null, document.title, `/web${path}`);\n }\n }\n\n ready(() => {\n const mountNode = document.getElementById('mastodon');\n const props = JSON.parse(mountNode.getAttribute('data-props'));\n\n ReactDOM.render(<Mastodon {...props} />, mountNode);\n if (process.env.NODE_ENV === 'production') {\n // avoid offline in dev mode because it's harder to debug\n require('offline-plugin/runtime').install();\n store.dispatch(registerPushNotifications.register());\n }\n perf.stop('main()');\n });\n}\n\nexport default main;\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/main.js","import React from 'react';\nimport { Provider } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport configureStore from '../store/configureStore';\nimport { showOnboardingOnce } from '../actions/onboarding';\nimport { BrowserRouter, Route } from 'react-router-dom';\nimport { ScrollContext } from 'react-router-scroll-4';\nimport UI from '../features/ui';\nimport { hydrateStore } from '../actions/store';\nimport { connectUserStream } from '../actions/streaming';\nimport { IntlProvider, addLocaleData } from 'react-intl';\nimport { getLocale } from '../locales';\nimport initialState from '../initial_state';\n\nconst { localeData, messages } = getLocale();\naddLocaleData(localeData);\n\nexport const store = configureStore();\nconst hydrateAction = hydrateStore(initialState);\nstore.dispatch(hydrateAction);\n\nexport default class Mastodon extends React.PureComponent {\n\n static propTypes = {\n locale: PropTypes.string.isRequired,\n };\n\n componentDidMount() {\n this.disconnect = store.dispatch(connectUserStream());\n\n // Desktop notifications\n // Ask after 1 minute\n if (typeof window.Notification !== 'undefined' && Notification.permission === 'default') {\n window.setTimeout(() => Notification.requestPermission(), 60 * 1000);\n }\n\n // Protocol handler\n // Ask after 5 minutes\n if (typeof navigator.registerProtocolHandler !== 'undefined') {\n const handlerUrl = window.location.protocol + '//' + window.location.host + '/intent?uri=%s';\n window.setTimeout(() => navigator.registerProtocolHandler('web+mastodon', handlerUrl, 'Mastodon'), 5 * 60 * 1000);\n }\n\n store.dispatch(showOnboardingOnce());\n }\n\n componentWillUnmount () {\n if (this.disconnect) {\n this.disconnect();\n this.disconnect = null;\n }\n }\n\n render () {\n const { locale } = this.props;\n\n return (\n <IntlProvider locale={locale} messages={messages}>\n <Provider store={store}>\n <BrowserRouter basename='/web'>\n <ScrollContext>\n <Route path='/' component={UI} />\n </ScrollContext>\n </BrowserRouter>\n </Provider>\n </IntlProvider>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/containers/mastodon.js","import { openModal } from './modal';\nimport { changeSetting, saveSettings } from './settings';\n\nexport function showOnboardingOnce() {\n return (dispatch, getState) => {\n const alreadySeen = getState().getIn(['settings', 'onboarded']);\n\n if (!alreadySeen) {\n dispatch(openModal('ONBOARDING'));\n dispatch(changeSetting(['onboarded'], true));\n dispatch(saveSettings());\n }\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/actions/onboarding.js","import classNames from 'classnames';\nimport React from 'react';\nimport NotificationsContainer from './containers/notifications_container';\nimport PropTypes from 'prop-types';\nimport LoadingBarContainer from './containers/loading_bar_container';\nimport TabsBar from './components/tabs_bar';\nimport ModalContainer from './containers/modal_container';\nimport { connect } from 'react-redux';\nimport { Redirect, withRouter } from 'react-router-dom';\nimport { isMobile } from '../../is_mobile';\nimport { debounce } from 'lodash';\nimport { uploadCompose, resetCompose } from '../../actions/compose';\nimport { expandHomeTimeline } from '../../actions/timelines';\nimport { expandNotifications } from '../../actions/notifications';\nimport { clearHeight } from '../../actions/height_cache';\nimport { WrappedSwitch, WrappedRoute } from './util/react_router_helpers';\nimport UploadArea from './components/upload_area';\nimport ColumnsAreaContainer from './containers/columns_area_container';\nimport {\n Compose,\n Status,\n GettingStarted,\n KeyboardShortcuts,\n PublicTimeline,\n CommunityTimeline,\n AccountTimeline,\n AccountGallery,\n HomeTimeline,\n Followers,\n Following,\n Reblogs,\n Favourites,\n HashtagTimeline,\n Notifications,\n FollowRequests,\n GenericNotFound,\n FavouritedStatuses,\n ListTimeline,\n Blocks,\n} from './util/async-components';\nimport { HotKeys } from 'react-hotkeys';\nimport { me } from '../../initial_state';\nimport { defineMessages, injectIntl } from 'react-intl';\n\n// Dummy import, to make sure that <Status /> ends up in the application bundle.\n// Without this it ends up in ~8 very commonly used bundles.\nimport '../../components/status';\n\nconst messages = defineMessages({\n beforeUnload: { id: 'ui.beforeunload', defaultMessage: 'Your draft will be lost if you leave Mastodon.' },\n});\n\nconst mapStateToProps = state => ({\n isComposing: state.getIn(['compose', 'is_composing']),\n hasComposingText: state.getIn(['compose', 'text']) !== '',\n dropdownMenuIsOpen: state.getIn(['dropdown_menu', 'openId']) !== null,\n});\n\nconst keyMap = {\n help: '?',\n new: 'n',\n search: 's',\n forceNew: 'option+n',\n focusColumn: ['1', '2', '3', '4', '5', '6', '7', '8', '9'],\n reply: 'r',\n favourite: 'f',\n boost: 'b',\n mention: 'm',\n open: ['enter', 'o'],\n openProfile: 'p',\n moveDown: ['down', 'j'],\n moveUp: ['up', 'k'],\n back: 'backspace',\n goToHome: 'g h',\n goToNotifications: 'g n',\n goToLocal: 'g l',\n goToFederated: 'g t',\n goToStart: 'g s',\n goToFavourites: 'g f',\n goToProfile: 'g u',\n goToBlocked: 'g b',\n};\n\nclass SwitchingColumnsArea extends React.PureComponent {\n\n static propTypes = {\n children: PropTypes.node,\n location: PropTypes.object,\n onLayoutChange: PropTypes.func.isRequired,\n };\n\n state = {\n mobile: isMobile(window.innerWidth),\n };\n\n componentWillMount () {\n window.addEventListener('resize', this.handleResize, { passive: true });\n }\n\n componentDidUpdate (prevProps) {\n if (![this.props.location.pathname, '/'].includes(prevProps.location.pathname)) {\n this.node.handleChildrenContentChange();\n }\n }\n\n componentWillUnmount () {\n window.removeEventListener('resize', this.handleResize);\n }\n\n handleResize = debounce(() => {\n // The cached heights are no longer accurate, invalidate\n this.props.onLayoutChange();\n\n this.setState({ mobile: isMobile(window.innerWidth) });\n }, 500, {\n trailing: true,\n });\n\n setRef = c => {\n this.node = c.getWrappedInstance().getWrappedInstance();\n }\n\n render () {\n const { children } = this.props;\n const { mobile } = this.state;\n\n return (\n <ColumnsAreaContainer ref={this.setRef} singleColumn={mobile}>\n <WrappedSwitch>\n <Redirect from='/' to='/getting-started' exact />\n <WrappedRoute path='/getting-started' component={GettingStarted} content={children} />\n <WrappedRoute path='/keyboard-shortcuts' component={KeyboardShortcuts} content={children} />\n <WrappedRoute path='/timelines/home' component={HomeTimeline} content={children} />\n <WrappedRoute path='/timelines/public' exact component={PublicTimeline} content={children} />\n <WrappedRoute path='/timelines/public/local' component={CommunityTimeline} content={children} />\n <WrappedRoute path='/timelines/tag/:id' component={HashtagTimeline} content={children} />\n <WrappedRoute path='/timelines/list/:id' component={ListTimeline} content={children} />\n\n <WrappedRoute path='/notifications' component={Notifications} content={children} />\n <WrappedRoute path='/favourites' component={FavouritedStatuses} content={children} />\n\n <WrappedRoute path='/statuses/new' component={Compose} content={children} />\n <WrappedRoute path='/statuses/:statusId' exact component={Status} content={children} />\n <WrappedRoute path='/statuses/:statusId/reblogs' component={Reblogs} content={children} />\n <WrappedRoute path='/statuses/:statusId/favourites' component={Favourites} content={children} />\n\n <WrappedRoute path='/accounts/:accountId' exact component={AccountTimeline} content={children} />\n <WrappedRoute path='/accounts/:accountId/with_replies' component={AccountTimeline} content={children} componentParams={{ withReplies: true }} />\n <WrappedRoute path='/accounts/:accountId/followers' component={Followers} content={children} />\n <WrappedRoute path='/accounts/:accountId/following' component={Following} content={children} />\n <WrappedRoute path='/accounts/:accountId/media' component={AccountGallery} content={children} />\n\n <WrappedRoute path='/follow_requests' component={FollowRequests} content={children} />\n <WrappedRoute path='/blocks' component={Blocks} content={children} />\n\n <WrappedRoute component={GenericNotFound} content={children} />\n </WrappedSwitch>\n </ColumnsAreaContainer>\n );\n }\n\n}\n\n@connect(mapStateToProps)\n@injectIntl\n@withRouter\nexport default class UI extends React.PureComponent {\n\n static contextTypes = {\n router: PropTypes.object.isRequired,\n };\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n children: PropTypes.node,\n isComposing: PropTypes.bool,\n hasComposingText: PropTypes.bool,\n location: PropTypes.object,\n intl: PropTypes.object.isRequired,\n dropdownMenuIsOpen: PropTypes.bool,\n };\n\n state = {\n draggingOver: false,\n };\n\n handleBeforeUnload = (e) => {\n const { intl, isComposing, hasComposingText } = this.props;\n\n if (isComposing && hasComposingText) {\n // Setting returnValue to any string causes confirmation dialog.\n // Many browsers no longer display this text to users,\n // but we set user-friendly message for other browsers, e.g. Edge.\n e.returnValue = intl.formatMessage(messages.beforeUnload);\n }\n }\n\n handleLayoutChange = () => {\n // The cached heights are no longer accurate, invalidate\n this.props.dispatch(clearHeight());\n }\n\n handleDragEnter = (e) => {\n e.preventDefault();\n\n if (!this.dragTargets) {\n this.dragTargets = [];\n }\n\n if (this.dragTargets.indexOf(e.target) === -1) {\n this.dragTargets.push(e.target);\n }\n\n if (e.dataTransfer && e.dataTransfer.types.includes('Files')) {\n this.setState({ draggingOver: true });\n }\n }\n\n handleDragOver = (e) => {\n e.preventDefault();\n e.stopPropagation();\n\n try {\n e.dataTransfer.dropEffect = 'copy';\n } catch (err) {\n\n }\n\n return false;\n }\n\n handleDrop = (e) => {\n e.preventDefault();\n\n this.setState({ draggingOver: false });\n\n if (e.dataTransfer && e.dataTransfer.files.length === 1) {\n this.props.dispatch(uploadCompose(e.dataTransfer.files));\n }\n }\n\n handleDragLeave = (e) => {\n e.preventDefault();\n e.stopPropagation();\n\n this.dragTargets = this.dragTargets.filter(el => el !== e.target && this.node.contains(el));\n\n if (this.dragTargets.length > 0) {\n return;\n }\n\n this.setState({ draggingOver: false });\n }\n\n closeUploadModal = () => {\n this.setState({ draggingOver: false });\n }\n\n handleServiceWorkerPostMessage = ({ data }) => {\n if (data.type === 'navigate') {\n this.context.router.history.push(data.path);\n } else {\n console.warn('Unknown message type:', data.type);\n }\n }\n\n componentWillMount () {\n window.addEventListener('beforeunload', this.handleBeforeUnload, false);\n document.addEventListener('dragenter', this.handleDragEnter, false);\n document.addEventListener('dragover', this.handleDragOver, false);\n document.addEventListener('drop', this.handleDrop, false);\n document.addEventListener('dragleave', this.handleDragLeave, false);\n document.addEventListener('dragend', this.handleDragEnd, false);\n\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.addEventListener('message', this.handleServiceWorkerPostMessage);\n }\n\n this.props.dispatch(expandHomeTimeline());\n this.props.dispatch(expandNotifications());\n }\n\n componentDidMount () {\n this.hotkeys.__mousetrap__.stopCallback = (e, element) => {\n return ['TEXTAREA', 'SELECT', 'INPUT'].includes(element.tagName);\n };\n }\n\n componentWillUnmount () {\n window.removeEventListener('beforeunload', this.handleBeforeUnload);\n document.removeEventListener('dragenter', this.handleDragEnter);\n document.removeEventListener('dragover', this.handleDragOver);\n document.removeEventListener('drop', this.handleDrop);\n document.removeEventListener('dragleave', this.handleDragLeave);\n document.removeEventListener('dragend', this.handleDragEnd);\n }\n\n setRef = c => {\n this.node = c;\n }\n\n handleHotkeyNew = e => {\n e.preventDefault();\n\n const element = this.node.querySelector('.compose-form__autosuggest-wrapper textarea');\n\n if (element) {\n element.focus();\n }\n }\n\n handleHotkeySearch = e => {\n e.preventDefault();\n\n const element = this.node.querySelector('.search__input');\n\n if (element) {\n element.focus();\n }\n }\n\n handleHotkeyForceNew = e => {\n this.handleHotkeyNew(e);\n this.props.dispatch(resetCompose());\n }\n\n handleHotkeyFocusColumn = e => {\n const index = (e.key * 1) + 1; // First child is drawer, skip that\n const column = this.node.querySelector(`.column:nth-child(${index})`);\n\n if (column) {\n const status = column.querySelector('.focusable');\n\n if (status) {\n status.focus();\n }\n }\n }\n\n handleHotkeyBack = () => {\n if (window.history && window.history.length === 1) {\n this.context.router.history.push('/');\n } else {\n this.context.router.history.goBack();\n }\n }\n\n setHotkeysRef = c => {\n this.hotkeys = c;\n }\n\n handleHotkeyToggleHelp = () => {\n if (this.props.location.pathname === '/keyboard-shortcuts') {\n this.context.router.history.goBack();\n } else {\n this.context.router.history.push('/keyboard-shortcuts');\n }\n }\n\n handleHotkeyGoToHome = () => {\n this.context.router.history.push('/timelines/home');\n }\n\n handleHotkeyGoToNotifications = () => {\n this.context.router.history.push('/notifications');\n }\n\n handleHotkeyGoToLocal = () => {\n this.context.router.history.push('/timelines/public/local');\n }\n\n handleHotkeyGoToFederated = () => {\n this.context.router.history.push('/timelines/public');\n }\n\n handleHotkeyGoToStart = () => {\n this.context.router.history.push('/getting-started');\n }\n\n handleHotkeyGoToFavourites = () => {\n this.context.router.history.push('/favourites');\n }\n\n handleHotkeyGoToProfile = () => {\n this.context.router.history.push(`/accounts/${me}`);\n }\n\n handleHotkeyGoToBlocked = () => {\n this.context.router.history.push('/blocks');\n }\n\n render () {\n const { draggingOver } = this.state;\n const { children, isComposing, location, dropdownMenuIsOpen } = this.props;\n\n const handlers = {\n help: this.handleHotkeyToggleHelp,\n new: this.handleHotkeyNew,\n search: this.handleHotkeySearch,\n forceNew: this.handleHotkeyForceNew,\n focusColumn: this.handleHotkeyFocusColumn,\n back: this.handleHotkeyBack,\n goToHome: this.handleHotkeyGoToHome,\n goToNotifications: this.handleHotkeyGoToNotifications,\n goToLocal: this.handleHotkeyGoToLocal,\n goToFederated: this.handleHotkeyGoToFederated,\n goToStart: this.handleHotkeyGoToStart,\n goToFavourites: this.handleHotkeyGoToFavourites,\n goToProfile: this.handleHotkeyGoToProfile,\n goToBlocked: this.handleHotkeyGoToBlocked,\n };\n\n return (\n <HotKeys keyMap={keyMap} handlers={handlers} ref={this.setHotkeysRef}>\n <div className={classNames('ui', { 'is-composing': isComposing })} ref={this.setRef} style={{ pointerEvents: dropdownMenuIsOpen ? 'none' : null }}>\n <TabsBar />\n\n <SwitchingColumnsArea location={location} onLayoutChange={this.handleLayoutChange}>\n {children}\n </SwitchingColumnsArea>\n\n <NotificationsContainer />\n <LoadingBarContainer className='loading-bar' />\n <ModalContainer />\n <UploadArea active={draggingOver} onClose={this.closeUploadModal} />\n </div>\n </HotKeys>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/ui/index.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Switch, Route } from 'react-router-dom';\n\nimport ColumnLoading from '../components/column_loading';\nimport BundleColumnError from '../components/bundle_column_error';\nimport BundleContainer from '../containers/bundle_container';\n\n// Small wrapper to pass multiColumn to the route components\nexport class WrappedSwitch extends React.PureComponent {\n\n render () {\n const { multiColumn, children } = this.props;\n\n return (\n <Switch>\n {React.Children.map(children, child => React.cloneElement(child, { multiColumn }))}\n </Switch>\n );\n }\n\n}\n\nWrappedSwitch.propTypes = {\n multiColumn: PropTypes.bool,\n children: PropTypes.node,\n};\n\n// Small Wraper to extract the params from the route and pass\n// them to the rendered component, together with the content to\n// be rendered inside (the children)\nexport class WrappedRoute extends React.Component {\n\n static propTypes = {\n component: PropTypes.func.isRequired,\n content: PropTypes.node,\n multiColumn: PropTypes.bool,\n componentParams: PropTypes.object,\n };\n\n static defaultProps = {\n componentParams: {},\n };\n\n renderComponent = ({ match }) => {\n const { component, content, multiColumn, componentParams } = this.props;\n\n return (\n <BundleContainer fetchComponent={component} loading={this.renderLoading} error={this.renderError}>\n {Component => <Component params={match.params} multiColumn={multiColumn} {...componentParams}>{content}</Component>}\n </BundleContainer>\n );\n }\n\n renderLoading = () => {\n return <ColumnLoading />;\n }\n\n renderError = (props) => {\n return <BundleColumnError {...props} />;\n }\n\n render () {\n const { component: Component, content, ...rest } = this.props;\n\n return <Route {...rest} render={this.renderComponent} />;\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/ui/util/react_router_helpers.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport { FormattedMessage } from 'react-intl';\n\nexport default class UploadArea extends React.PureComponent {\n\n static propTypes = {\n active: PropTypes.bool,\n onClose: PropTypes.func,\n };\n\n handleKeyUp = (e) => {\n const keyCode = e.keyCode;\n if (this.props.active) {\n switch(keyCode) {\n case 27:\n e.preventDefault();\n e.stopPropagation();\n this.props.onClose();\n break;\n }\n }\n }\n\n componentDidMount () {\n window.addEventListener('keyup', this.handleKeyUp, false);\n }\n\n componentWillUnmount () {\n window.removeEventListener('keyup', this.handleKeyUp);\n }\n\n render () {\n const { active } = this.props;\n\n return (\n <Motion defaultStyle={{ backgroundOpacity: 0, backgroundScale: 0.95 }} style={{ backgroundOpacity: spring(active ? 1 : 0, { stiffness: 150, damping: 15 }), backgroundScale: spring(active ? 1 : 0.95, { stiffness: 200, damping: 3 }) }}>\n {({ backgroundOpacity, backgroundScale }) => (\n <div className='upload-area' style={{ visibility: active ? 'visible' : 'hidden', opacity: backgroundOpacity }}>\n <div className='upload-area__drop'>\n <div className='upload-area__background' style={{ transform: `scale(${backgroundScale})` }} />\n <div className='upload-area__content'><FormattedMessage id='upload_area.title' defaultMessage='Drag & drop to upload' /></div>\n </div>\n </div>\n )}\n </Motion>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/ui/components/upload_area.js","import { connect } from 'react-redux';\nimport ColumnsArea from '../components/columns_area';\n\nconst mapStateToProps = state => ({\n columns: state.getIn(['settings', 'columns']),\n isModalOpen: !!state.get('modal').modalType,\n});\n\nexport default connect(mapStateToProps, null, null, { withRef: true })(ColumnsArea);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/ui/containers/columns_area_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl } from 'react-intl';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nimport ReactSwipeableViews from 'react-swipeable-views';\nimport { links, getIndex, getLink } from './tabs_bar';\nimport { Link } from 'react-router-dom';\n\nimport BundleContainer from '../containers/bundle_container';\nimport ColumnLoading from './column_loading';\nimport DrawerLoading from './drawer_loading';\nimport BundleColumnError from './bundle_column_error';\nimport { Compose, Notifications, HomeTimeline, CommunityTimeline, PublicTimeline, HashtagTimeline, FavouritedStatuses, ListTimeline } from '../../ui/util/async-components';\n\nimport detectPassiveEvents from 'detect-passive-events';\nimport { scrollRight } from '../../../scroll';\n\nconst componentMap = {\n 'COMPOSE': Compose,\n 'HOME': HomeTimeline,\n 'NOTIFICATIONS': Notifications,\n 'PUBLIC': PublicTimeline,\n 'COMMUNITY': CommunityTimeline,\n 'HASHTAG': HashtagTimeline,\n 'FAVOURITES': FavouritedStatuses,\n 'LIST': ListTimeline,\n};\n\nconst shouldHideFAB = path => path.match(/^\\/statuses\\//);\n\n@component => injectIntl(component, { withRef: true })\nexport default class ColumnsArea extends ImmutablePureComponent {\n\n static contextTypes = {\n router: PropTypes.object.isRequired,\n };\n\n static propTypes = {\n intl: PropTypes.object.isRequired,\n columns: ImmutablePropTypes.list.isRequired,\n isModalOpen: PropTypes.bool.isRequired,\n singleColumn: PropTypes.bool,\n children: PropTypes.node,\n };\n\n state = {\n shouldAnimate: false,\n }\n\n componentWillReceiveProps() {\n this.setState({ shouldAnimate: false });\n }\n\n componentDidMount() {\n if (!this.props.singleColumn) {\n this.node.addEventListener('wheel', this.handleWheel, detectPassiveEvents.hasSupport ? { passive: true } : false);\n }\n\n this.lastIndex = getIndex(this.context.router.history.location.pathname);\n this.isRtlLayout = document.getElementsByTagName('body')[0].classList.contains('rtl');\n\n this.setState({ shouldAnimate: true });\n }\n\n componentWillUpdate(nextProps) {\n if (this.props.singleColumn !== nextProps.singleColumn && nextProps.singleColumn) {\n this.node.removeEventListener('wheel', this.handleWheel);\n }\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.singleColumn !== prevProps.singleColumn && !this.props.singleColumn) {\n this.node.addEventListener('wheel', this.handleWheel, detectPassiveEvents.hasSupport ? { passive: true } : false);\n }\n this.lastIndex = getIndex(this.context.router.history.location.pathname);\n this.setState({ shouldAnimate: true });\n }\n\n componentWillUnmount () {\n if (!this.props.singleColumn) {\n this.node.removeEventListener('wheel', this.handleWheel);\n }\n }\n\n handleChildrenContentChange() {\n if (!this.props.singleColumn) {\n const modifier = this.isRtlLayout ? -1 : 1;\n this._interruptScrollAnimation = scrollRight(this.node, (this.node.scrollWidth - window.innerWidth) * modifier);\n }\n }\n\n handleSwipe = (index) => {\n this.pendingIndex = index;\n\n const nextLinkTranslationId = links[index].props['data-preview-title-id'];\n const currentLinkSelector = '.tabs-bar__link.active';\n const nextLinkSelector = `.tabs-bar__link[data-preview-title-id=\"${nextLinkTranslationId}\"]`;\n\n // HACK: Remove the active class from the current link and set it to the next one\n // React-router does this for us, but too late, feeling laggy.\n document.querySelector(currentLinkSelector).classList.remove('active');\n document.querySelector(nextLinkSelector).classList.add('active');\n }\n\n handleAnimationEnd = () => {\n if (typeof this.pendingIndex === 'number') {\n this.context.router.history.push(getLink(this.pendingIndex));\n this.pendingIndex = null;\n }\n }\n\n handleWheel = () => {\n if (typeof this._interruptScrollAnimation !== 'function') {\n return;\n }\n\n this._interruptScrollAnimation();\n }\n\n setRef = (node) => {\n this.node = node;\n }\n\n renderView = (link, index) => {\n const columnIndex = getIndex(this.context.router.history.location.pathname);\n const title = this.props.intl.formatMessage({ id: link.props['data-preview-title-id'] });\n const icon = link.props['data-preview-icon'];\n\n const view = (index === columnIndex) ?\n React.cloneElement(this.props.children) :\n <ColumnLoading title={title} icon={icon} />;\n\n return (\n <div className='columns-area' key={index}>\n {view}\n </div>\n );\n }\n\n renderLoading = columnId => () => {\n return columnId === 'COMPOSE' ? <DrawerLoading /> : <ColumnLoading />;\n }\n\n renderError = (props) => {\n return <BundleColumnError {...props} />;\n }\n\n render () {\n const { columns, children, singleColumn, isModalOpen } = this.props;\n const { shouldAnimate } = this.state;\n\n const columnIndex = getIndex(this.context.router.history.location.pathname);\n this.pendingIndex = null;\n\n if (singleColumn) {\n const floatingActionButton = shouldHideFAB(this.context.router.history.location.pathname) ? null : <Link key='floating-action-button' to='/statuses/new' className='floating-action-button'><i className='fa fa-pencil' /></Link>;\n\n return columnIndex !== -1 ? [\n <ReactSwipeableViews key='content' index={columnIndex} onChangeIndex={this.handleSwipe} onTransitionEnd={this.handleAnimationEnd} animateTransitions={shouldAnimate} springConfig={{ duration: '400ms', delay: '0s', easeFunction: 'ease' }} style={{ height: '100%' }}>\n {links.map(this.renderView)}\n </ReactSwipeableViews>,\n\n floatingActionButton,\n ] : [\n <div className='columns-area'>{children}</div>,\n\n floatingActionButton,\n ];\n }\n\n return (\n <div className={`columns-area ${ isModalOpen ? 'unscrollable' : '' }`} ref={this.setRef}>\n {columns.map(column => {\n const params = column.get('params', null) === null ? null : column.get('params').toJS();\n\n return (\n <BundleContainer key={column.get('uuid')} fetchComponent={componentMap[column.get('id')]} loading={this.renderLoading(column.get('id'))} error={this.renderError}>\n {SpecificComponent => <SpecificComponent columnId={column.get('uuid')} params={params} multiColumn />}\n </BundleContainer>\n );\n })}\n\n {React.Children.map(children, child => React.cloneElement(child, { multiColumn: true }))}\n </div>\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/ui/components/columns_area.js","import React from 'react';\n\nconst DrawerLoading = () => (\n <div className='drawer'>\n <div className='drawer__pager'>\n <div className='drawer__inner' />\n </div>\n </div>\n);\n\nexport default DrawerLoading;\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/ui/components/drawer_loading.js","//\n// Tools for performance debugging, only enabled in development mode.\n// Open up Chrome Dev Tools, then Timeline, then User Timing to see output.\n// Also see config/webpack/loaders/mark.js for the webpack loader marks.\n//\n\nlet marky;\n\nif (process.env.NODE_ENV === 'development') {\n if (typeof performance !== 'undefined' && performance.setResourceTimingBufferSize) {\n // Increase Firefox's performance entry limit; otherwise it's capped to 150.\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1331135\n performance.setResourceTimingBufferSize(Infinity);\n }\n marky = require('marky');\n // allows us to easily do e.g. ReactPerf.printWasted() while debugging\n //window.ReactPerf = require('react-addons-perf');\n //window.ReactPerf.start();\n}\n\nexport function start(name) {\n if (process.env.NODE_ENV === 'development') {\n marky.mark(name);\n }\n}\n\nexport function stop(name) {\n if (process.env.NODE_ENV === 'development') {\n marky.stop(name);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/performance.js","var appCacheIframe;\n\nfunction hasSW() {\n return 'serviceWorker' in navigator &&\n // This is how I block Chrome 40 and detect Chrome 41, because first has\n // bugs with history.pustState and/or hashchange\n (window.fetch || 'imageRendering' in document.documentElement.style) &&\n (window.location.protocol === 'https:' || window.location.hostname === 'localhost' || window.location.hostname.indexOf('127.') === 0)\n}\n\nfunction install(options) {\n options || (options = {});\n\n \n if (hasSW()) {\n var registration = navigator.serviceWorker\n .register(\n \"/sw.js\"\n \n );\n\n \n\n return;\n }\n \n\n \n if (window.applicationCache) {\n var directory = \"/packs/appcache/\";\n var name = \"manifest\";\n\n var doLoad = function() {\n var page = directory + name + '.html';\n var iframe = document.createElement('iframe');\n\n \n\n iframe.src = page;\n iframe.style.display = 'none';\n\n appCacheIframe = iframe;\n document.body.appendChild(iframe);\n };\n\n if (document.readyState === 'complete') {\n setTimeout(doLoad);\n } else {\n window.addEventListener('load', doLoad);\n }\n\n return;\n }\n \n}\n\nfunction applyUpdate(callback, errback) {\n \n\n \n}\n\nfunction update() {\n \n if (hasSW()) {\n navigator.serviceWorker.getRegistration().then(function(registration) {\n if (!registration) return;\n return registration.update();\n });\n }\n \n\n \n if (appCacheIframe) {\n try {\n appCacheIframe.contentWindow.applicationCache.update();\n } catch (e) {}\n }\n \n}\n\n\n\nexports.install = install;\nexports.applyUpdate = applyUpdate;\nexports.update = update;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/offline-plugin/runtime.js"],"sourceRoot":""} |