Update Mastofe.
[akkoma] / priv / static / packs / features / status.js.map
index 61b2de33653abc81f1e7edcf650a2782879c5522..fab80ca62583af360afe47c0e64d501de2665488 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///features/status.js","webpack:///./app/javascript/mastodon/features/ui/components/column_header.js","webpack:///./app/javascript/mastodon/components/media_gallery.js","webpack:///./app/javascript/mastodon/actions/mutes.js","webpack:///./app/javascript/mastodon/features/ui/components/column.js","webpack:///./app/javascript/mastodon/containers/status_container.js","webpack:///./app/javascript/mastodon/components/column_back_button.js","webpack:///./app/javascript/mastodon/features/status/components/card.js","webpack:///./node_modules/node-libs-browser/node_modules/punycode/punycode.js","webpack:///./app/javascript/mastodon/features/status/index.js","webpack:///./app/javascript/mastodon/components/missing_indicator.js","webpack:///./app/javascript/mastodon/features/status/components/detailed_status.js","webpack:///./app/javascript/mastodon/features/status/containers/card_container.js","webpack:///./app/javascript/mastodon/features/status/components/action_bar.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","155","Object","defineProperty","value","MediaGallery","_class","_temp2","_class2","_class3","_temp4","__WEBPACK_IMPORTED_MODULE_5_immutable__","__WEBPACK_IMPORTED_MODULE_6__icon_button__","__WEBPACK_IMPORTED_MODULE_7_react_intl__","__WEBPACK_IMPORTED_MODULE_8__is_mobile__","__WEBPACK_IMPORTED_MODULE_9_classnames__","__WEBPACK_IMPORTED_MODULE_9_classnames___default","__WEBPACK_IMPORTED_MODULE_10__initial_state__","messages","toggle_visible","defaultMessage","Item","handleMouseEnter","e","hoverToPlay","target","play","handleMouseLeave","pause","currentTime","_this$props","index","button","preventDefault","stopPropagation","attachment","get","size","standalone","width","height","top","left","bottom","right","thumbnail","previewUrl","previewWidth","getIn","originalUrl","originalWidth","hasSize","srcSet","sizes","focusX","focusY","x","y","href","src","alt","title","style","objectPosition","autoPlay","autoplay","aria-label","role","onMouseEnter","onMouseLeave","loop","muted","defaultProps","_React$PureComponent2","_temp3","_this2","_ret2","_len2","_key2","state","visible","sensitive","handleOpen","setState","onOpenMedia","media","handleRef","node","offsetWidth","componentWillReceiveProps","nextProps","isStandaloneEligible","_props2","_this3","_props3","intl","_state","children","take","map","i","warning","createElement","ref","spoiler-button--visible","formatMessage","overlay","283","initMuteModal","account","dispatch","MUTES_INIT_MODAL","__WEBPACK_IMPORTED_MODULE_3__modal__","284","Column","__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__column_header__","__WEBPACK_IMPORTED_MODULE_7__scroll__","handleHeaderClick","scrollable","querySelector","_interruptScrollAnimation","handleScroll","setRef","c","scrollTop","heading","hideHeadingOnMobile","showHeading","window","innerWidth","replace","header","aria-labelledby","onScroll","285","__WEBPACK_IMPORTED_MODULE_1_react__","__WEBPACK_IMPORTED_MODULE_2_react_redux__","__WEBPACK_IMPORTED_MODULE_3__components_status__","__WEBPACK_IMPORTED_MODULE_4__selectors__","__WEBPACK_IMPORTED_MODULE_5__actions_compose__","__WEBPACK_IMPORTED_MODULE_6__actions_interactions__","__WEBPACK_IMPORTED_MODULE_7__actions_accounts__","__WEBPACK_IMPORTED_MODULE_8__actions_statuses__","__WEBPACK_IMPORTED_MODULE_9__actions_mutes__","__WEBPACK_IMPORTED_MODULE_10__actions_reports__","__WEBPACK_IMPORTED_MODULE_11__actions_modal__","__WEBPACK_IMPORTED_MODULE_12_react_intl__","__WEBPACK_IMPORTED_MODULE_13__initial_state__","deleteConfirm","deleteMessage","blockConfirm","makeMapStateToProps","getStatus","status","mapDispatchToProps","_ref","onReply","router","onModalReblog","onReblog","shiftKey","onFavourite","onDelete","message","confirm","onConfirm","onMention","onOpenVideo","time","onBlock","values","name","onReport","onMute","onMuteConversation","onToggleHidden","286","ColumnBackButton","__WEBPACK_IMPORTED_MODULE_5_react_intl__","__WEBPACK_IMPORTED_MODULE_6_prop_types__","__WEBPACK_IMPORTED_MODULE_6_prop_types___default","history","context","push","goBack","contextTypes","object","332","Card","__WEBPACK_IMPORTED_MODULE_5_immutable___default","__WEBPACK_IMPORTED_MODULE_6_punycode__","__WEBPACK_IMPORTED_MODULE_6_punycode___default","__WEBPACK_IMPORTED_MODULE_7_classnames__","__WEBPACK_IMPORTED_MODULE_7_classnames___default","decodeIDNA","domain","split","part","indexOf","decode","slice","join","getHostname","url","parser","document","hostname","trim","text","len","cut","substring","domParser","DOMParser","addAutoPlay","html","parseFromString","documentElement","iframe","innerHTML","embedded","handlePhotoClick","card","fromJS","description","meta","original","handleEmbedClick","renderVideo","content","__html","ratio","dangerouslySetInnerHTML","maxDescription","provider","horizontal","interactive","rel","embed","backgroundImage","iconVariant","333","exports","global","__WEBPACK_AMD_DEFINE_RESULT__","root","error","RangeError","errors","array","fn","result","mapDomain","string","parts","regexSeparators","ucs2decode","extra","output","counter","charCodeAt","ucs2encode","stringFromCharCode","basicToDigit","codePoint","base","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","k","floor","damp","baseMinusTMin","tMax","skew","input","out","basic","j","oldi","w","t","baseMinusT","inputLength","initialN","bias","initialBias","lastIndexOf","delimiter","maxInt","tMin","splice","encode","handledCPCount","basicLength","m","q","currentValue","handledCPCountPlusOne","qMinusT","toUnicode","regexPunycode","test","toLowerCase","toASCII","regexNonASCII","freeGlobal","nodeType","punycode","overflow","not-basic","invalid-input","Math","String","fromCharCode","version","ucs2","undefined","811","Status","_dec","__WEBPACK_IMPORTED_MODULE_5_react_redux__","__WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes__","__WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes___default","__WEBPACK_IMPORTED_MODULE_9__actions_statuses__","__WEBPACK_IMPORTED_MODULE_10__components_missing_indicator__","__WEBPACK_IMPORTED_MODULE_11__components_detailed_status__","__WEBPACK_IMPORTED_MODULE_12__components_action_bar__","__WEBPACK_IMPORTED_MODULE_13__ui_components_column__","__WEBPACK_IMPORTED_MODULE_14__actions_interactions__","__WEBPACK_IMPORTED_MODULE_15__actions_compose__","__WEBPACK_IMPORTED_MODULE_16__actions_accounts__","__WEBPACK_IMPORTED_MODULE_17__actions_mutes__","__WEBPACK_IMPORTED_MODULE_18__actions_reports__","__WEBPACK_IMPORTED_MODULE_19__selectors__","__WEBPACK_IMPORTED_MODULE_20_react_router_scroll_4__","__WEBPACK_IMPORTED_MODULE_21__components_column_back_button__","__WEBPACK_IMPORTED_MODULE_22__components_column_header__","__WEBPACK_IMPORTED_MODULE_23__containers_status_container__","__WEBPACK_IMPORTED_MODULE_24__actions_modal__","__WEBPACK_IMPORTED_MODULE_25_react_intl__","__WEBPACK_IMPORTED_MODULE_26_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_26_react_immutable_pure_component___default","__WEBPACK_IMPORTED_MODULE_27_react_hotkeys__","__WEBPACK_IMPORTED_MODULE_28__initial_state__","__WEBPACK_IMPORTED_MODULE_29__features_ui_util_fullscreen__","revealAll","hideAll","params","statusId","ancestorsIds","descendantsIds","_ImmutablePureCompone","fullscreen","handleFavouriteClick","handleReplyClick","handleModalReblog","handleReblogClick","handleDeleteClick","handleMentionClick","handleOpenMedia","handleOpenVideo","handleMuteClick","handleConversationMuteClick","handleToggleHidden","handleToggleAll","_this$props2","statusIds","toJS","handleBlockClick","_this$props3","handleReport","handleHotkeyMoveUp","handleMoveUp","handleHotkeyMoveDown","handleMoveDown","handleHotkeyReply","handleHotkeyFavourite","handleHotkeyBoost","handleHotkeyMention","handleHotkeyOpenProfile","_this$props4","_selectChild","_this$props5","onFullScreenChange","componentWillMount","componentDidMount","_scrolledIntoView","element","querySelectorAll","focus","renderChildren","list","onMoveUp","onMoveDown","componentDidUpdate","scrollIntoView","componentWillUnmount","ancestors","descendants","handlers","moveUp","moveDown","reply","favourite","boost","mention","openProfile","showBackButton","extraButton","aria-pressed","scrollKey","tabIndex","propTypes","isRequired","func","845","__WEBPACK_IMPORTED_MODULE_2_react_intl__","MissingIndicator","tagName","964","DetailedStatus","__WEBPACK_IMPORTED_MODULE_5_prop_types__","__WEBPACK_IMPORTED_MODULE_5_prop_types___default","__WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes__","__WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes___default","__WEBPACK_IMPORTED_MODULE_7__components_avatar__","__WEBPACK_IMPORTED_MODULE_8__components_display_name__","__WEBPACK_IMPORTED_MODULE_9__components_status_content__","__WEBPACK_IMPORTED_MODULE_10__components_media_gallery__","__WEBPACK_IMPORTED_MODULE_11__components_attachment_list__","__WEBPACK_IMPORTED_MODULE_12_react_router_dom__","__WEBPACK_IMPORTED_MODULE_13_react_intl__","__WEBPACK_IMPORTED_MODULE_14__containers_card_container__","__WEBPACK_IMPORTED_MODULE_15_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_15_react_immutable_pure_component___default","__WEBPACK_IMPORTED_MODULE_16__video__","handleAccountClick","startTime","handleExpandedToggle","applicationLink","reblogLink","reblogIcon","some","item","video","preview","inline","to","expanded","onExpandedToggle","Date","hour12","year","month","day","hour","minute","965","__WEBPACK_IMPORTED_MODULE_0_react_redux__","__WEBPACK_IMPORTED_MODULE_1__components_card__","mapStateToProps","966","ActionBar","__WEBPACK_IMPORTED_MODULE_6__components_icon_button__","__WEBPACK_IMPORTED_MODULE_7__containers_dropdown_menu_container__","__WEBPACK_IMPORTED_MODULE_8_react_intl__","__WEBPACK_IMPORTED_MODULE_9__initial_state__","delete","reblog","cannot_reblog","muteConversation","unmuteConversation","block","report","share","handlePinClick","onPin","handleShare","navigator","mutingConversation","includes","menu","action","shareButton","reblog_disabled","disabled","animate","activeStyle","color","items","direction"],"mappings":"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","file":"features/status.js","sourcesContent":["webpackJsonp([16,26],{\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/***/ 155:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MediaGallery; });\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_immutable__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_immutable__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__icon_button__ = __webpack_require__(23);\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/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__initial_state__ = __webpack_require__(11);\n\n\n\n\n\nvar _class, _temp2, _class2, _class3, _temp4;\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"f\" /* defineMessages */])({\n  toggle_visible: {\n    'id': 'media_gallery.toggle_visible',\n    'defaultMessage': 'Toggle visibility'\n  }\n});\n\nvar Item = (_temp2 = _class = function (_React$PureComponent) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Item, _React$PureComponent);\n\n  function Item() {\n    var _temp, _this, _ret;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Item);\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.handleMouseEnter = function (e) {\n      if (_this.hoverToPlay()) {\n        e.target.play();\n      }\n    }, _this.handleMouseLeave = function (e) {\n      if (_this.hoverToPlay()) {\n        e.target.pause();\n        e.target.currentTime = 0;\n      }\n    }, _this.handleClick = function (e) {\n      var _this$props = _this.props,\n          index = _this$props.index,\n          onClick = _this$props.onClick;\n\n\n      if (e.button === 0) {\n        e.preventDefault();\n        onClick(index);\n      }\n\n      e.stopPropagation();\n    }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n  }\n\n  Item.prototype.hoverToPlay = function hoverToPlay() {\n    var attachment = this.props.attachment;\n\n    return !__WEBPACK_IMPORTED_MODULE_10__initial_state__[\"a\" /* autoPlayGif */] && attachment.get('type') === 'gifv';\n  };\n\n  Item.prototype.render = function render() {\n    var _props = this.props,\n        attachment = _props.attachment,\n        index = _props.index,\n        size = _props.size,\n        standalone = _props.standalone;\n\n\n    var width = 50;\n    var height = 100;\n    var top = 'auto';\n    var left = 'auto';\n    var bottom = 'auto';\n    var right = 'auto';\n\n    if (size === 1) {\n      width = 100;\n    }\n\n    if (size === 4 || size === 3 && index > 0) {\n      height = 50;\n    }\n\n    if (size === 2) {\n      if (index === 0) {\n        right = '2px';\n      } else {\n        left = '2px';\n      }\n    } else if (size === 3) {\n      if (index === 0) {\n        right = '2px';\n      } else if (index > 0) {\n        left = '2px';\n      }\n\n      if (index === 1) {\n        bottom = '2px';\n      } else if (index > 1) {\n        top = '2px';\n      }\n    } else if (size === 4) {\n      if (index === 0 || index === 2) {\n        right = '2px';\n      }\n\n      if (index === 1 || index === 3) {\n        left = '2px';\n      }\n\n      if (index < 2) {\n        bottom = '2px';\n      } else {\n        top = '2px';\n      }\n    }\n\n    var thumbnail = '';\n\n    if (attachment.get('type') === 'image') {\n      var previewUrl = attachment.get('preview_url');\n      var previewWidth = attachment.getIn(['meta', 'small', 'width']);\n\n      var originalUrl = attachment.get('url');\n      var originalWidth = attachment.getIn(['meta', 'original', 'width']);\n\n      var hasSize = typeof originalWidth === 'number' && typeof previewWidth === 'number';\n\n      var srcSet = hasSize ? originalUrl + ' ' + originalWidth + 'w, ' + previewUrl + ' ' + previewWidth + 'w' : null;\n      var sizes = hasSize ? '(min-width: 1025px) ' + 320 * (width / 100) + 'px, ' + width + 'vw' : null;\n\n      var focusX = attachment.getIn(['meta', 'focus', 'x']) || 0;\n      var focusY = attachment.getIn(['meta', 'focus', 'y']) || 0;\n      var x = (focusX / 2 + .5) * 100;\n      var y = (focusY / -2 + .5) * 100;\n\n      thumbnail = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n        className: 'media-gallery__item-thumbnail',\n        href: attachment.get('remote_url') || originalUrl,\n        onClick: this.handleClick,\n        target: '_blank'\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('img', {\n        src: previewUrl,\n        srcSet: srcSet,\n        sizes: sizes,\n        alt: attachment.get('description'),\n        title: attachment.get('description'),\n        style: { objectPosition: x + '% ' + y + '%' }\n      }));\n    } else if (attachment.get('type') === 'gifv') {\n      var autoPlay = !Object(__WEBPACK_IMPORTED_MODULE_8__is_mobile__[\"a\" /* isIOS */])() && __WEBPACK_IMPORTED_MODULE_10__initial_state__[\"a\" /* autoPlayGif */];\n\n      thumbnail = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n        className: __WEBPACK_IMPORTED_MODULE_9_classnames___default()('media-gallery__gifv', { autoplay: autoPlay })\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('video', {\n        className: 'media-gallery__item-gifv-thumbnail',\n        'aria-label': attachment.get('description'),\n        role: 'application',\n        src: attachment.get('url'),\n        onClick: this.handleClick,\n        onMouseEnter: this.handleMouseEnter,\n        onMouseLeave: this.handleMouseLeave,\n        autoPlay: autoPlay,\n        loop: true,\n        muted: true\n      }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n        className: 'media-gallery__gifv__label'\n      }, void 0, 'GIF'));\n    }\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: __WEBPACK_IMPORTED_MODULE_9_classnames___default()('media-gallery__item', { standalone: standalone }),\n      style: { left: left, top: top, right: right, bottom: bottom, width: width + '%', height: height + '%' }\n    }, attachment.get('id'), thumbnail);\n  };\n\n  return Item;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent), _class.defaultProps = {\n  standalone: false,\n  index: 0,\n  size: 1\n}, _temp2);\n\nvar MediaGallery = Object(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"g\" /* injectIntl */])(_class2 = (_temp4 = _class3 = function (_React$PureComponent2) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(MediaGallery, _React$PureComponent2);\n\n  function MediaGallery() {\n    var _temp3, _this2, _ret2;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, MediaGallery);\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 = (_temp3 = (_this2 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this2), _this2.state = {\n      visible: !_this2.props.sensitive || __WEBPACK_IMPORTED_MODULE_10__initial_state__[\"f\" /* displaySensitiveMedia */]\n    }, _this2.handleOpen = function () {\n      _this2.setState({ visible: !_this2.state.visible });\n    }, _this2.handleClick = function (index) {\n      _this2.props.onOpenMedia(_this2.props.media, index);\n    }, _this2.handleRef = function (node) {\n      if (node /*&& this.isStandaloneEligible()*/) {\n          // offsetWidth triggers a layout, so only calculate when we need to\n          _this2.setState({\n            width: node.offsetWidth\n          });\n        }\n    }, _temp3), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this2, _ret2);\n  }\n\n  MediaGallery.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n    if (!Object(__WEBPACK_IMPORTED_MODULE_5_immutable__[\"is\"])(nextProps.media, this.props.media)) {\n      this.setState({ visible: !nextProps.sensitive });\n    }\n  };\n\n  MediaGallery.prototype.isStandaloneEligible = function isStandaloneEligible() {\n    var _props2 = this.props,\n        media = _props2.media,\n        standalone = _props2.standalone;\n\n    return standalone && media.size === 1 && media.getIn([0, 'meta', 'small', 'aspect']);\n  };\n\n  MediaGallery.prototype.render = function render() {\n    var _this3 = this;\n\n    var _props3 = this.props,\n        media = _props3.media,\n        intl = _props3.intl,\n        sensitive = _props3.sensitive,\n        height = _props3.height;\n    var _state = this.state,\n        width = _state.width,\n        visible = _state.visible;\n\n\n    var children = void 0;\n\n    var style = {};\n\n    if (this.isStandaloneEligible()) {\n      if (width) {\n        style.height = width / this.props.media.getIn([0, 'meta', 'small', 'aspect']);\n      }\n    } else if (width) {\n      style.height = width / (16 / 9);\n    } else {\n      style.height = height;\n    }\n\n    if (!visible) {\n      var warning = void 0;\n\n      if (sensitive) {\n        warning = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"b\" /* FormattedMessage */], {\n          id: 'status.sensitive_warning',\n          defaultMessage: 'Sensitive content'\n        });\n      } else {\n        warning = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"b\" /* FormattedMessage */], {\n          id: 'status.media_hidden',\n          defaultMessage: 'Media hidden'\n        });\n      }\n\n      children = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n        'button',\n        { type: 'button', className: 'media-spoiler', onClick: this.handleOpen, style: style, ref: this.handleRef },\n        __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n          className: 'media-spoiler__warning'\n        }, void 0, warning),\n        __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n          className: 'media-spoiler__trigger'\n        }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"b\" /* FormattedMessage */], {\n          id: 'status.sensitive_toggle',\n          defaultMessage: 'Click to view'\n        }))\n      );\n    } else {\n      var size = media.take(4).size;\n\n      if (this.isStandaloneEligible()) {\n        children = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Item, {\n          standalone: true,\n          onClick: this.handleClick,\n          attachment: media.get(0)\n        });\n      } else {\n        children = media.take(4).map(function (attachment, i) {\n          return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Item, {\n            onClick: _this3.handleClick,\n            attachment: attachment,\n            index: i,\n            size: size\n          }, attachment.get('id'));\n        });\n      }\n    }\n\n    return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n      'div',\n      { className: 'media-gallery', style: style, ref: this.handleRef },\n      __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n        className: __WEBPACK_IMPORTED_MODULE_9_classnames___default()('spoiler-button', { 'spoiler-button--visible': visible })\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__icon_button__[\"a\" /* default */], {\n        title: intl.formatMessage(messages.toggle_visible),\n        icon: visible ? 'eye' : 'eye-slash',\n        overlay: true,\n        onClick: this.handleOpen\n      })),\n      children\n    );\n  };\n\n  return MediaGallery;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent), _class3.defaultProps = {\n  standalone: false\n}, _temp4)) || _class2;\n\n\n\n/***/ }),\n\n/***/ 283:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export MUTES_FETCH_REQUEST */\n/* unused harmony export MUTES_FETCH_SUCCESS */\n/* unused harmony export MUTES_FETCH_FAIL */\n/* unused harmony export MUTES_EXPAND_REQUEST */\n/* unused harmony export MUTES_EXPAND_SUCCESS */\n/* unused harmony export MUTES_EXPAND_FAIL */\n/* unused harmony export MUTES_INIT_MODAL */\n/* unused harmony export MUTES_TOGGLE_HIDE_NOTIFICATIONS */\n/* unused harmony export fetchMutes */\n/* unused harmony export fetchMutesRequest */\n/* unused harmony export fetchMutesSuccess */\n/* unused harmony export fetchMutesFail */\n/* unused harmony export expandMutes */\n/* unused harmony export expandMutesRequest */\n/* unused harmony export expandMutesSuccess */\n/* unused harmony export expandMutesFail */\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = initMuteModal;\n/* unused harmony export toggleHideNotifications */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__api__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__accounts__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__importer__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__modal__ = __webpack_require__(26);\n\n\n\n\n\nvar MUTES_FETCH_REQUEST = 'MUTES_FETCH_REQUEST';\nvar MUTES_FETCH_SUCCESS = 'MUTES_FETCH_SUCCESS';\nvar MUTES_FETCH_FAIL = 'MUTES_FETCH_FAIL';\n\nvar MUTES_EXPAND_REQUEST = 'MUTES_EXPAND_REQUEST';\nvar MUTES_EXPAND_SUCCESS = 'MUTES_EXPAND_SUCCESS';\nvar MUTES_EXPAND_FAIL = 'MUTES_EXPAND_FAIL';\n\nvar MUTES_INIT_MODAL = 'MUTES_INIT_MODAL';\nvar MUTES_TOGGLE_HIDE_NOTIFICATIONS = 'MUTES_TOGGLE_HIDE_NOTIFICATIONS';\n\nfunction fetchMutes() {\n  return function (dispatch, getState) {\n    dispatch(fetchMutesRequest());\n\n    Object(__WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */])(getState).get('/api/v1/mutes').then(function (response) {\n      var next = Object(__WEBPACK_IMPORTED_MODULE_0__api__[\"b\" /* getLinks */])(response).refs.find(function (link) {\n        return link.rel === 'next';\n      });\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__importer__[\"g\" /* importFetchedAccounts */])(response.data));\n      dispatch(fetchMutesSuccess(response.data, next ? next.uri : null));\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__accounts__[\"y\" /* fetchRelationships */])(response.data.map(function (item) {\n        return item.id;\n      })));\n    }).catch(function (error) {\n      return dispatch(fetchMutesFail(error));\n    });\n  };\n};\n\nfunction fetchMutesRequest() {\n  return {\n    type: MUTES_FETCH_REQUEST\n  };\n};\n\nfunction fetchMutesSuccess(accounts, next) {\n  return {\n    type: MUTES_FETCH_SUCCESS,\n    accounts: accounts,\n    next: next\n  };\n};\n\nfunction fetchMutesFail(error) {\n  return {\n    type: MUTES_FETCH_FAIL,\n    error: error\n  };\n};\n\nfunction expandMutes() {\n  return function (dispatch, getState) {\n    var url = getState().getIn(['user_lists', 'mutes', 'next']);\n\n    if (url === null) {\n      return;\n    }\n\n    dispatch(expandMutesRequest());\n\n    Object(__WEBPACK_IMPORTED_MODULE_0__api__[\"a\" /* default */])(getState).get(url).then(function (response) {\n      var next = Object(__WEBPACK_IMPORTED_MODULE_0__api__[\"b\" /* getLinks */])(response).refs.find(function (link) {\n        return link.rel === 'next';\n      });\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__importer__[\"g\" /* importFetchedAccounts */])(response.data));\n      dispatch(expandMutesSuccess(response.data, next ? next.uri : null));\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__accounts__[\"y\" /* fetchRelationships */])(response.data.map(function (item) {\n        return item.id;\n      })));\n    }).catch(function (error) {\n      return dispatch(expandMutesFail(error));\n    });\n  };\n};\n\nfunction expandMutesRequest() {\n  return {\n    type: MUTES_EXPAND_REQUEST\n  };\n};\n\nfunction expandMutesSuccess(accounts, next) {\n  return {\n    type: MUTES_EXPAND_SUCCESS,\n    accounts: accounts,\n    next: next\n  };\n};\n\nfunction expandMutesFail(error) {\n  return {\n    type: MUTES_EXPAND_FAIL,\n    error: error\n  };\n};\n\nfunction initMuteModal(account) {\n  return function (dispatch) {\n    dispatch({\n      type: MUTES_INIT_MODAL,\n      account: account\n    });\n\n    dispatch(Object(__WEBPACK_IMPORTED_MODULE_3__modal__[\"d\" /* openModal */])('MUTE'));\n  };\n}\n\nfunction toggleHideNotifications() {\n  return function (dispatch) {\n    dispatch({ type: MUTES_TOGGLE_HIDE_NOTIFICATIONS });\n  };\n}\n\n/***/ }),\n\n/***/ 284:\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__(90);\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/***/ 285:\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/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_status__ = __webpack_require__(153);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__selectors__ = __webpack_require__(66);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__actions_compose__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__actions_interactions__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__actions_accounts__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__actions_statuses__ = __webpack_require__(91);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__actions_mutes__ = __webpack_require__(283);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__actions_reports__ = __webpack_require__(151);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__actions_modal__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__initial_state__ = __webpack_require__(11);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_12_react_intl__[\"f\" /* defineMessages */])({\n  deleteConfirm: {\n    'id': 'confirmations.delete.confirm',\n    'defaultMessage': 'Delete'\n  },\n  deleteMessage: {\n    'id': 'confirmations.delete.message',\n    'defaultMessage': 'Are you sure you want to delete this status?'\n  },\n  blockConfirm: {\n    'id': 'confirmations.block.confirm',\n    'defaultMessage': 'Block'\n  }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n  var getStatus = Object(__WEBPACK_IMPORTED_MODULE_4__selectors__[\"e\" /* makeGetStatus */])();\n\n  var mapStateToProps = function mapStateToProps(state, props) {\n    return {\n      status: getStatus(state, props.id)\n    };\n  };\n\n  return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n  var intl = _ref.intl;\n  return {\n    onReply: function onReply(status, router) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_5__actions_compose__[\"T\" /* replyCompose */])(status, router));\n    },\n    onModalReblog: function onModalReblog(status) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"l\" /* reblog */])(status));\n    },\n    onReblog: function onReblog(status, e) {\n      if (status.get('reblogged')) {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"n\" /* unreblog */])(status));\n      } else {\n        if (e.shiftKey || !__WEBPACK_IMPORTED_MODULE_13__initial_state__[\"b\" /* boostModal */]) {\n          this.onModalReblog(status);\n        } else {\n          dispatch(Object(__WEBPACK_IMPORTED_MODULE_11__actions_modal__[\"d\" /* openModal */])('BOOST', { status: status, onReblog: this.onModalReblog }));\n        }\n      }\n    },\n    onFavourite: function onFavourite(status) {\n      if (status.get('favourited')) {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"m\" /* unfavourite */])(status));\n      } else {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"i\" /* favourite */])(status));\n      }\n    },\n    onDelete: function onDelete(status) {\n      if (!__WEBPACK_IMPORTED_MODULE_13__initial_state__[\"e\" /* deleteModal */]) {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"f\" /* deleteStatus */])(status.get('id')));\n      } else {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_11__actions_modal__[\"d\" /* openModal */])('CONFIRM', {\n          message: intl.formatMessage(messages.deleteMessage),\n          confirm: intl.formatMessage(messages.deleteConfirm),\n          onConfirm: function onConfirm() {\n            return dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"f\" /* deleteStatus */])(status.get('id')));\n          }\n        }));\n      }\n    },\n    onMention: function onMention(account, router) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_5__actions_compose__[\"R\" /* mentionCompose */])(account, router));\n    },\n    onOpenMedia: function onOpenMedia(media, index) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_11__actions_modal__[\"d\" /* openModal */])('MEDIA', { media: media, index: index }));\n    },\n    onOpenVideo: function onOpenVideo(media, time) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_11__actions_modal__[\"d\" /* openModal */])('VIDEO', { media: media, time: time }));\n    },\n    onBlock: function onBlock(account) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_11__actions_modal__[\"d\" /* openModal */])('CONFIRM', {\n        message: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_12_react_intl__[\"b\" /* FormattedMessage */], {\n          id: 'confirmations.block.message',\n          defaultMessage: 'Are you sure you want to block {name}?',\n          values: { name: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {}, void 0, '@', account.get('acct')) }\n        }),\n        confirm: intl.formatMessage(messages.blockConfirm),\n        onConfirm: function onConfirm() {\n          return dispatch(Object(__WEBPACK_IMPORTED_MODULE_7__actions_accounts__[\"q\" /* blockAccount */])(account.get('id')));\n        }\n      }));\n    },\n    onReport: function onReport(status) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_reports__[\"k\" /* initReport */])(status.get('account'), status));\n    },\n    onMute: function onMute(account) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_9__actions_mutes__[\"a\" /* initMuteModal */])(account));\n    },\n    onMuteConversation: function onMuteConversation(status) {\n      if (status.get('muted')) {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"k\" /* unmuteStatus */])(status.get('id')));\n      } else {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"i\" /* muteStatus */])(status.get('id')));\n      }\n    },\n    onToggleHidden: function onToggleHidden(status) {\n      if (status.get('hidden')) {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"j\" /* revealStatus */])(status.get('id')));\n      } else {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"h\" /* hideStatus */])(status.get('id')));\n      }\n    }\n  };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_12_react_intl__[\"g\" /* injectIntl */])(Object(__WEBPACK_IMPORTED_MODULE_2_react_redux__[\"connect\"])(makeMapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_3__components_status__[\"a\" /* default */])));\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/***/ 332:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Card; });\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_immutable__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_immutable__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_punycode__ = __webpack_require__(333);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_punycode___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_punycode__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_classnames__);\n\n\n\n\n\nvar _class, _temp2;\n\n\n\n\n\n\n\n\nvar IDNA_PREFIX = 'xn--';\n\nvar decodeIDNA = function decodeIDNA(domain) {\n  return domain.split('.').map(function (part) {\n    return part.indexOf(IDNA_PREFIX) === 0 ? __WEBPACK_IMPORTED_MODULE_6_punycode___default.a.decode(part.slice(IDNA_PREFIX.length)) : part;\n  }).join('.');\n};\n\nvar getHostname = function getHostname(url) {\n  var parser = document.createElement('a');\n  parser.href = url;\n  return parser.hostname;\n};\n\nvar trim = function trim(text, len) {\n  var cut = text.indexOf(' ', len);\n\n  if (cut === -1) {\n    return text;\n  }\n\n  return text.substring(0, cut) + (text.length > len ? '…' : '');\n};\n\nvar domParser = new DOMParser();\n\nvar addAutoPlay = function addAutoPlay(html) {\n  var document = domParser.parseFromString(html, 'text/html').documentElement;\n  var iframe = document.querySelector('iframe');\n\n  if (iframe) {\n    if (iframe.src.indexOf('?') !== -1) {\n      iframe.src += '&';\n    } else {\n      iframe.src += '?';\n    }\n\n    iframe.src += 'autoplay=1&auto_play=1';\n\n    // DOM parser creates html/body elements around original HTML fragment,\n    // so we need to get innerHTML out of the body and not the entire document\n    return document.querySelector('body').innerHTML;\n  }\n\n  return html;\n};\n\nvar Card = (_temp2 = _class = function (_React$PureComponent) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Card, _React$PureComponent);\n\n  function Card() {\n    var _temp, _this, _ret;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Card);\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      width: 280,\n      embedded: false\n    }, _this.handlePhotoClick = function () {\n      var _this$props = _this.props,\n          card = _this$props.card,\n          onOpenMedia = _this$props.onOpenMedia;\n\n\n      onOpenMedia(__WEBPACK_IMPORTED_MODULE_5_immutable___default.a.fromJS([{\n        type: 'image',\n        url: card.get('embed_url'),\n        description: card.get('title'),\n        meta: {\n          original: {\n            width: card.get('width'),\n            height: card.get('height')\n          }\n        }\n      }]), 0);\n    }, _this.handleEmbedClick = function () {\n      var card = _this.props.card;\n\n\n      if (card.get('type') === 'photo') {\n        _this.handlePhotoClick();\n      } else {\n        _this.setState({ embedded: true });\n      }\n    }, _this.setRef = function (c) {\n      if (c) {\n        _this.setState({ width: c.offsetWidth });\n      }\n    }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n  }\n\n  Card.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n    if (this.props.card !== nextProps.card) {\n      this.setState({ embedded: false });\n    }\n  };\n\n  Card.prototype.renderVideo = function renderVideo() {\n    var card = this.props.card;\n\n    var content = { __html: addAutoPlay(card.get('html')) };\n    var width = this.state.width;\n\n    var ratio = card.get('width') / card.get('height');\n    var height = card.get('width') > card.get('height') ? width / ratio : width * ratio;\n\n    return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('div', {\n      ref: this.setRef,\n      className: 'status-card__image status-card-video',\n      dangerouslySetInnerHTML: content,\n      style: { height: height }\n    });\n  };\n\n  Card.prototype.render = function render() {\n    var _props = this.props,\n        card = _props.card,\n        maxDescription = _props.maxDescription;\n    var _state = this.state,\n        width = _state.width,\n        embedded = _state.embedded;\n\n\n    if (card === null) {\n      return null;\n    }\n\n    var provider = card.get('provider_name').length === 0 ? decodeIDNA(getHostname(card.get('url'))) : card.get('provider_name');\n    var horizontal = card.get('width') > card.get('height') && card.get('width') + 100 >= width || card.get('type') !== 'link';\n    var className = __WEBPACK_IMPORTED_MODULE_7_classnames___default()('status-card', { horizontal: horizontal });\n    var interactive = card.get('type') !== 'link';\n    var title = interactive ? __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n      className: 'status-card__title',\n      href: card.get('url'),\n      title: card.get('title'),\n      rel: 'noopener',\n      target: '_blank'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {}, void 0, card.get('title'))) : __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {\n      className: 'status-card__title',\n      title: card.get('title')\n    }, void 0, card.get('title'));\n    var ratio = card.get('width') / card.get('height');\n    var height = card.get('width') > card.get('height') ? width / ratio : width * ratio;\n\n    var description = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'status-card__content'\n    }, void 0, title, !horizontal && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('p', {\n      className: 'status-card__description'\n    }, void 0, trim(card.get('description') || '', maxDescription)), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n      className: 'status-card__host'\n    }, void 0, provider));\n\n    var embed = '';\n    var thumbnail = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      style: { backgroundImage: 'url(' + card.get('image') + ')', width: horizontal ? width : null, height: horizontal ? height : null },\n      className: 'status-card__image-image'\n    });\n\n    if (interactive) {\n      if (embedded) {\n        embed = this.renderVideo();\n      } else {\n        var iconVariant = 'play';\n\n        if (card.get('type') === 'photo') {\n          iconVariant = 'search-plus';\n        }\n\n        embed = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n          className: 'status-card__image'\n        }, void 0, thumbnail, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n          className: 'status-card__actions'\n        }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n          onClick: this.handleEmbedClick\n        }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n          className: 'fa fa-' + iconVariant\n        })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n          href: card.get('url'),\n          target: '_blank',\n          rel: 'noopener'\n        }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n          className: 'fa fa-external-link'\n        })))));\n      }\n\n      return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n        'div',\n        { className: className, ref: this.setRef },\n        embed,\n        description\n      );\n    } else if (card.get('image')) {\n      embed = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n        className: 'status-card__image'\n      }, void 0, thumbnail);\n    }\n\n    return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n      'a',\n      { href: card.get('url'), className: className, target: '_blank', rel: 'noopener', ref: this.setRef },\n      embed,\n      description\n    );\n  };\n\n  return Card;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent), _class.defaultProps = {\n  maxDescription: 50\n}, _temp2);\n\n\n/***/ }),\n\n/***/ 333:\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(module, global) {var __WEBPACK_AMD_DEFINE_RESULT__;/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function (root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module && !module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n  * The `punycode` object.\n  * @name punycode\n  * @type Object\n  */\n\tvar punycode,\n\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647,\n\t    // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\t    tMin = 1,\n\t    tMax = 26,\n\t    skew = 38,\n\t    damp = 700,\n\t    initialBias = 72,\n\t    initialN = 128,\n\t    // 0x80\n\tdelimiter = '-',\n\t    // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\t    regexNonASCII = /[^\\x20-\\x7E]/,\n\t    // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g,\n\t    // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\t    floor = Math.floor,\n\t    stringFromCharCode = String.fromCharCode,\n\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n  * A generic error utility function.\n  * @private\n  * @param {String} type The error type.\n  * @returns {Error} Throws a `RangeError` with the applicable error message.\n  */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n  * A generic `Array#map` utility function.\n  * @private\n  * @param {Array} array The array to iterate over.\n  * @param {Function} callback The function that gets called for every array\n  * item.\n  * @returns {Array} A new array of values returned by the callback function.\n  */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n  * A simple `Array#map`-like wrapper to work with domain name strings or email\n  * addresses.\n  * @private\n  * @param {String} domain The domain name or email address.\n  * @param {Function} callback The function that gets called for every\n  * character.\n  * @returns {Array} A new string of characters returned by the callback\n  * function.\n  */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n  * Creates an array containing the numeric code points of each Unicode\n  * character in the string. While JavaScript uses UCS-2 internally,\n  * this function will convert a pair of surrogate halves (each of which\n  * UCS-2 exposes as separate characters) into a single code point,\n  * matching UTF-16.\n  * @see `punycode.ucs2.encode`\n  * @see <https://mathiasbynens.be/notes/javascript-encoding>\n  * @memberOf punycode.ucs2\n  * @name decode\n  * @param {String} string The Unicode input string (UCS-2).\n  * @returns {Array} The new array of code points.\n  */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t    counter = 0,\n\t\t    length = string.length,\n\t\t    value,\n\t\t    extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) {\n\t\t\t\t\t// low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n  * Creates a string based on an array of numeric code points.\n  * @see `punycode.ucs2.decode`\n  * @memberOf punycode.ucs2\n  * @name encode\n  * @param {Array} codePoints The array of numeric code points.\n  * @returns {String} The new Unicode string (UCS-2).\n  */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function (value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n  * Converts a basic code point into a digit/integer.\n  * @see `digitToBasic()`\n  * @private\n  * @param {Number} codePoint The basic numeric code point value.\n  * @returns {Number} The numeric value of a basic code point (for use in\n  * representing integers) in the range `0` to `base - 1`, or `base` if\n  * the code point does not represent a value.\n  */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n  * Converts a digit/integer into a basic code point.\n  * @see `basicToDigit()`\n  * @private\n  * @param {Number} digit The numeric value of a basic code point.\n  * @returns {Number} The basic code point whose value (when used for\n  * representing integers) is `digit`, which needs to be in the range\n  * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n  * used; else, the lowercase form is used. The behavior is undefined\n  * if `flag` is non-zero and `digit` has no uppercase form.\n  */\n\tfunction digitToBasic(digit, flag) {\n\t\t//  0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n  * Bias adaptation function as per section 3.4 of RFC 3492.\n  * https://tools.ietf.org/html/rfc3492#section-3.4\n  * @private\n  */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (; /* no initialization */delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n  * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n  * symbols.\n  * @memberOf punycode\n  * @param {String} input The Punycode string of ASCII-only symbols.\n  * @returns {String} The resulting string of Unicode symbols.\n  */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t    inputLength = input.length,\n\t\t    out,\n\t\t    i = 0,\n\t\t    n = initialN,\n\t\t    bias = initialBias,\n\t\t    basic,\n\t\t    j,\n\t\t    index,\n\t\t    oldi,\n\t\t    w,\n\t\t    k,\n\t\t    digit,\n\t\t    t,\n\n\t\t/** Cached calculation results */\n\t\tbaseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength;) /* no final expression */{\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base;; /* no condition */k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n  * Converts a string of Unicode symbols (e.g. a domain name label) to a\n  * Punycode string of ASCII-only symbols.\n  * @memberOf punycode\n  * @param {String} input The string of Unicode symbols.\n  * @returns {String} The resulting Punycode string of ASCII-only symbols.\n  */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t    delta,\n\t\t    handledCPCount,\n\t\t    basicLength,\n\t\t    bias,\n\t\t    j,\n\t\t    m,\n\t\t    q,\n\t\t    k,\n\t\t    t,\n\t\t    currentValue,\n\t\t    output = [],\n\n\t\t/** `inputLength` will hold the number of code points in `input`. */\n\t\tinputLength,\n\n\t\t/** Cached calculation results */\n\t\thandledCPCountPlusOne,\n\t\t    baseMinusT,\n\t\t    qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base;; /* no condition */k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)));\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n  * Converts a Punycode string representing a domain name or an email address\n  * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n  * it doesn't matter if you call it on a string that has already been\n  * converted to Unicode.\n  * @memberOf punycode\n  * @param {String} input The Punycoded domain name or email address to\n  * convert to Unicode.\n  * @returns {String} The Unicode representation of the given Punycode\n  * string.\n  */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function (string) {\n\t\t\treturn regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string;\n\t\t});\n\t}\n\n\t/**\n  * Converts a Unicode string representing a domain name or an email address to\n  * Punycode. Only the non-ASCII parts of the domain name will be converted,\n  * i.e. it doesn't matter if you call it with a domain that's already in\n  * ASCII.\n  * @memberOf punycode\n  * @param {String} input The domain name or email address to convert, as a\n  * Unicode string.\n  * @returns {String} The Punycode representation of the given domain name or\n  * email address.\n  */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function (string) {\n\t\t\treturn regexNonASCII.test(string) ? 'xn--' + encode(string) : string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n   * A string representing the current Punycode.js version number.\n   * @memberOf punycode\n   * @type String\n   */\n\t\t'version': '1.4.1',\n\t\t/**\n   * An object of methods to convert from JavaScript's internal character\n   * representation (UCS-2) to Unicode code points, and back.\n   * @see <https://mathiasbynens.be/notes/javascript-encoding>\n   * @memberOf punycode\n   * @type Object\n   */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (true) {\n\t\t!(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n\t\t\treturn punycode;\n\t\t}).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n})(this);\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(73)(module), __webpack_require__(45)))\n\n/***/ }),\n\n/***/ 811:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Status; });\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_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/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__actions_statuses__ = __webpack_require__(91);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__components_missing_indicator__ = __webpack_require__(845);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__components_detailed_status__ = __webpack_require__(964);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__components_action_bar__ = __webpack_require__(966);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__ui_components_column__ = __webpack_require__(284);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__actions_interactions__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__actions_compose__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__actions_accounts__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__actions_mutes__ = __webpack_require__(283);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__actions_reports__ = __webpack_require__(151);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__selectors__ = __webpack_require__(66);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20_react_router_scroll_4__ = __webpack_require__(152);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__components_column_back_button__ = __webpack_require__(286);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__components_column_header__ = __webpack_require__(68);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__containers_status_container__ = __webpack_require__(285);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__actions_modal__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26_react_immutable_pure_component__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_26_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27_react_hotkeys__ = __webpack_require__(157);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27_react_hotkeys___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_27_react_hotkeys__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__initial_state__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__features_ui_util_fullscreen__ = __webpack_require__(154);\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\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_25_react_intl__[\"f\" /* defineMessages */])({\n  deleteConfirm: {\n    'id': 'confirmations.delete.confirm',\n    'defaultMessage': 'Delete'\n  },\n  deleteMessage: {\n    'id': 'confirmations.delete.message',\n    'defaultMessage': 'Are you sure you want to delete this status?'\n  },\n  blockConfirm: {\n    'id': 'confirmations.block.confirm',\n    'defaultMessage': 'Block'\n  },\n  revealAll: {\n    'id': 'status.show_more_all',\n    'defaultMessage': 'Show more for all'\n  },\n  hideAll: {\n    'id': 'status.show_less_all',\n    'defaultMessage': 'Show less for all'\n  }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n  var getStatus = Object(__WEBPACK_IMPORTED_MODULE_19__selectors__[\"e\" /* makeGetStatus */])();\n\n  var mapStateToProps = function mapStateToProps(state, props) {\n    return {\n      status: getStatus(state, props.params.statusId),\n      ancestorsIds: state.getIn(['contexts', 'ancestors', props.params.statusId]),\n      descendantsIds: state.getIn(['contexts', 'descendants', props.params.statusId])\n    };\n  };\n\n  return mapStateToProps;\n};\n\nvar Status = (_dec = Object(__WEBPACK_IMPORTED_MODULE_5_react_redux__[\"connect\"])(makeMapStateToProps), Object(__WEBPACK_IMPORTED_MODULE_25_react_intl__[\"g\" /* injectIntl */])(_class = _dec(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Status, _ImmutablePureCompone);\n\n  function Status() {\n    var _temp, _this, _ret;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Status);\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      fullscreen: false\n    }, _this.handleFavouriteClick = function (status) {\n      if (status.get('favourited')) {\n        _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_14__actions_interactions__[\"m\" /* unfavourite */])(status));\n      } else {\n        _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_14__actions_interactions__[\"i\" /* favourite */])(status));\n      }\n    }, _this.handleReplyClick = function (status) {\n      _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_15__actions_compose__[\"T\" /* replyCompose */])(status, _this.context.router.history));\n    }, _this.handleModalReblog = function (status) {\n      _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_14__actions_interactions__[\"l\" /* reblog */])(status));\n    }, _this.handleReblogClick = function (status, e) {\n      if (status.get('reblogged')) {\n        _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_14__actions_interactions__[\"n\" /* unreblog */])(status));\n      } else {\n        if (e.shiftKey || !__WEBPACK_IMPORTED_MODULE_28__initial_state__[\"b\" /* boostModal */]) {\n          _this.handleModalReblog(status);\n        } else {\n          _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_24__actions_modal__[\"d\" /* openModal */])('BOOST', { status: status, onReblog: _this.handleModalReblog }));\n        }\n      }\n    }, _this.handleDeleteClick = function (status) {\n      var _this$props = _this.props,\n          dispatch = _this$props.dispatch,\n          intl = _this$props.intl;\n\n\n      if (!__WEBPACK_IMPORTED_MODULE_28__initial_state__[\"e\" /* deleteModal */]) {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_9__actions_statuses__[\"f\" /* deleteStatus */])(status.get('id')));\n      } else {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_24__actions_modal__[\"d\" /* openModal */])('CONFIRM', {\n          message: intl.formatMessage(messages.deleteMessage),\n          confirm: intl.formatMessage(messages.deleteConfirm),\n          onConfirm: function onConfirm() {\n            return dispatch(Object(__WEBPACK_IMPORTED_MODULE_9__actions_statuses__[\"f\" /* deleteStatus */])(status.get('id')));\n          }\n        }));\n      }\n    }, _this.handleMentionClick = function (account, router) {\n      _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_15__actions_compose__[\"R\" /* mentionCompose */])(account, router));\n    }, _this.handleOpenMedia = function (media, index) {\n      _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_24__actions_modal__[\"d\" /* openModal */])('MEDIA', { media: media, index: index }));\n    }, _this.handleOpenVideo = function (media, time) {\n      _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_24__actions_modal__[\"d\" /* openModal */])('VIDEO', { media: media, time: time }));\n    }, _this.handleMuteClick = function (account) {\n      _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_17__actions_mutes__[\"a\" /* initMuteModal */])(account));\n    }, _this.handleConversationMuteClick = function (status) {\n      if (status.get('muted')) {\n        _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_9__actions_statuses__[\"k\" /* unmuteStatus */])(status.get('id')));\n      } else {\n        _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_9__actions_statuses__[\"i\" /* muteStatus */])(status.get('id')));\n      }\n    }, _this.handleToggleHidden = function (status) {\n      if (status.get('hidden')) {\n        _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_9__actions_statuses__[\"j\" /* revealStatus */])(status.get('id')));\n      } else {\n        _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_9__actions_statuses__[\"h\" /* hideStatus */])(status.get('id')));\n      }\n    }, _this.handleToggleAll = function () {\n      var _this$props2 = _this.props,\n          status = _this$props2.status,\n          ancestorsIds = _this$props2.ancestorsIds,\n          descendantsIds = _this$props2.descendantsIds;\n\n      var statusIds = [status.get('id')].concat(ancestorsIds.toJS(), descendantsIds.toJS());\n\n      if (status.get('hidden')) {\n        _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_9__actions_statuses__[\"j\" /* revealStatus */])(statusIds));\n      } else {\n        _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_9__actions_statuses__[\"h\" /* hideStatus */])(statusIds));\n      }\n    }, _this.handleBlockClick = function (account) {\n      var _this$props3 = _this.props,\n          dispatch = _this$props3.dispatch,\n          intl = _this$props3.intl;\n\n\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_24__actions_modal__[\"d\" /* openModal */])('CONFIRM', {\n        message: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_25_react_intl__[\"b\" /* FormattedMessage */], {\n          id: 'confirmations.block.message',\n          defaultMessage: 'Are you sure you want to block {name}?',\n          values: { name: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {}, void 0, '@', account.get('acct')) }\n        }),\n        confirm: intl.formatMessage(messages.blockConfirm),\n        onConfirm: function onConfirm() {\n          return dispatch(Object(__WEBPACK_IMPORTED_MODULE_16__actions_accounts__[\"q\" /* blockAccount */])(account.get('id')));\n        }\n      }));\n    }, _this.handleReport = function (status) {\n      _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_18__actions_reports__[\"k\" /* initReport */])(status.get('account'), status));\n    }, _this.handleHotkeyMoveUp = function () {\n      _this.handleMoveUp(_this.props.status.get('id'));\n    }, _this.handleHotkeyMoveDown = function () {\n      _this.handleMoveDown(_this.props.status.get('id'));\n    }, _this.handleHotkeyReply = function (e) {\n      e.preventDefault();\n      _this.handleReplyClick(_this.props.status);\n    }, _this.handleHotkeyFavourite = function () {\n      _this.handleFavouriteClick(_this.props.status);\n    }, _this.handleHotkeyBoost = function () {\n      _this.handleReblogClick(_this.props.status);\n    }, _this.handleHotkeyMention = function (e) {\n      e.preventDefault();\n      _this.handleMentionClick(_this.props.status);\n    }, _this.handleHotkeyOpenProfile = function () {\n      _this.context.router.history.push('/accounts/' + _this.props.status.getIn(['account', 'id']));\n    }, _this.handleMoveUp = function (id) {\n      var _this$props4 = _this.props,\n          status = _this$props4.status,\n          ancestorsIds = _this$props4.ancestorsIds,\n          descendantsIds = _this$props4.descendantsIds;\n\n\n      if (id === status.get('id')) {\n        _this._selectChild(ancestorsIds.size - 1);\n      } else {\n        var index = ancestorsIds.indexOf(id);\n\n        if (index === -1) {\n          index = descendantsIds.indexOf(id);\n          _this._selectChild(ancestorsIds.size + index);\n        } else {\n          _this._selectChild(index - 1);\n        }\n      }\n    }, _this.handleMoveDown = function (id) {\n      var _this$props5 = _this.props,\n          status = _this$props5.status,\n          ancestorsIds = _this$props5.ancestorsIds,\n          descendantsIds = _this$props5.descendantsIds;\n\n\n      if (id === status.get('id')) {\n        _this._selectChild(ancestorsIds.size + 1);\n      } else {\n        var index = ancestorsIds.indexOf(id);\n\n        if (index === -1) {\n          index = descendantsIds.indexOf(id);\n          _this._selectChild(ancestorsIds.size + index + 2);\n        } else {\n          _this._selectChild(index + 1);\n        }\n      }\n    }, _this.setRef = function (c) {\n      _this.node = c;\n    }, _this.onFullScreenChange = function () {\n      _this.setState({ fullscreen: Object(__WEBPACK_IMPORTED_MODULE_29__features_ui_util_fullscreen__[\"d\" /* isFullscreen */])() });\n    }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n  }\n\n  Status.prototype.componentWillMount = function componentWillMount() {\n    this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_9__actions_statuses__[\"g\" /* fetchStatus */])(this.props.params.statusId));\n  };\n\n  Status.prototype.componentDidMount = function componentDidMount() {\n    Object(__WEBPACK_IMPORTED_MODULE_29__features_ui_util_fullscreen__[\"a\" /* attachFullscreenListener */])(this.onFullScreenChange);\n  };\n\n  Status.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n    if (nextProps.params.statusId !== this.props.params.statusId && nextProps.params.statusId) {\n      this._scrolledIntoView = false;\n      this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_9__actions_statuses__[\"g\" /* fetchStatus */])(nextProps.params.statusId));\n    }\n  };\n\n  Status.prototype._selectChild = function _selectChild(index) {\n    var element = this.node.querySelectorAll('.focusable')[index];\n\n    if (element) {\n      element.focus();\n    }\n  };\n\n  Status.prototype.renderChildren = function renderChildren(list) {\n    var _this2 = this;\n\n    return list.map(function (id) {\n      return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_23__containers_status_container__[\"a\" /* default */], {\n        id: id,\n        onMoveUp: _this2.handleMoveUp,\n        onMoveDown: _this2.handleMoveDown\n      }, id);\n    });\n  };\n\n  Status.prototype.componentDidUpdate = function componentDidUpdate() {\n    if (this._scrolledIntoView) {\n      return;\n    }\n\n    var _props = this.props,\n        status = _props.status,\n        ancestorsIds = _props.ancestorsIds;\n\n\n    if (status && ancestorsIds && ancestorsIds.size > 0) {\n      var element = this.node.querySelectorAll('.focusable')[ancestorsIds.size - 1];\n\n      element.scrollIntoView(true);\n      this._scrolledIntoView = true;\n    }\n  };\n\n  Status.prototype.componentWillUnmount = function componentWillUnmount() {\n    Object(__WEBPACK_IMPORTED_MODULE_29__features_ui_util_fullscreen__[\"b\" /* detachFullscreenListener */])(this.onFullScreenChange);\n  };\n\n  Status.prototype.render = function render() {\n    var ancestors = void 0,\n        descendants = void 0;\n    var _props2 = this.props,\n        status = _props2.status,\n        ancestorsIds = _props2.ancestorsIds,\n        descendantsIds = _props2.descendantsIds,\n        intl = _props2.intl;\n    var fullscreen = this.state.fullscreen;\n\n\n    if (status === null) {\n      return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13__ui_components_column__[\"a\" /* default */], {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_21__components_column_back_button__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__components_missing_indicator__[\"a\" /* default */], {}));\n    }\n\n    if (ancestorsIds && ancestorsIds.size > 0) {\n      ancestors = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {}, void 0, this.renderChildren(ancestorsIds));\n    }\n\n    if (descendantsIds && descendantsIds.size > 0) {\n      descendants = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {}, void 0, this.renderChildren(descendantsIds));\n    }\n\n    var handlers = {\n      moveUp: this.handleHotkeyMoveUp,\n      moveDown: this.handleHotkeyMoveDown,\n      reply: this.handleHotkeyReply,\n      favourite: this.handleHotkeyFavourite,\n      boost: this.handleHotkeyBoost,\n      mention: this.handleHotkeyMention,\n      openProfile: this.handleHotkeyOpenProfile\n    };\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13__ui_components_column__[\"a\" /* default */], {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_22__components_column_header__[\"a\" /* default */], {\n      showBackButton: true,\n      extraButton: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n        className: 'column-header__button',\n        title: intl.formatMessage(status.get('hidden') ? messages.revealAll : messages.hideAll),\n        'aria-label': intl.formatMessage(status.get('hidden') ? messages.revealAll : messages.hideAll),\n        onClick: this.handleToggleAll,\n        'aria-pressed': status.get('hidden') ? 'false' : 'true'\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n        className: 'fa fa-' + (status.get('hidden') ? 'eye-slash' : 'eye')\n      }))\n    }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_20_react_router_scroll_4__[\"a\" /* ScrollContainer */], {\n      scrollKey: 'thread'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n      'div',\n      { className: __WEBPACK_IMPORTED_MODULE_7_classnames___default()('scrollable', 'detailed-status__wrapper', { fullscreen: fullscreen }), ref: this.setRef },\n      ancestors,\n      __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_27_react_hotkeys__[\"HotKeys\"], {\n        handlers: handlers\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n        className: 'focusable',\n        tabIndex: '0'\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_11__components_detailed_status__[\"a\" /* default */], {\n        status: status,\n        onOpenVideo: this.handleOpenVideo,\n        onOpenMedia: this.handleOpenMedia,\n        onToggleHidden: this.handleToggleHidden\n      }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_12__components_action_bar__[\"a\" /* default */], {\n        status: status,\n        onReply: this.handleReplyClick,\n        onFavourite: this.handleFavouriteClick,\n        onReblog: this.handleReblogClick,\n        onDelete: this.handleDeleteClick,\n        onMention: this.handleMentionClick,\n        onMute: this.handleMuteClick,\n        onMuteConversation: this.handleConversationMuteClick,\n        onBlock: this.handleBlockClick,\n        onReport: this.handleReport\n      }))),\n      descendants\n    )));\n  };\n\n  return Status;\n}(__WEBPACK_IMPORTED_MODULE_26_react_immutable_pure_component___default.a), _class2.contextTypes = {\n  router: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object\n}, _class2.propTypes = {\n  params: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object.isRequired,\n  dispatch: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n  status: __WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes___default.a.map,\n  ancestorsIds: __WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes___default.a.list,\n  descendantsIds: __WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes___default.a.list,\n  intl: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object.isRequired\n}, _temp2)) || _class) || _class);\n\n\n/***/ }),\n\n/***/ 845:\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/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_intl__ = __webpack_require__(6);\n\n\n\n\nvar MissingIndicator = function MissingIndicator() {\n  return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n    className: 'regeneration-indicator missing-indicator'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n    className: 'regeneration-indicator__label'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_2_react_intl__[\"b\" /* FormattedMessage */], {\n    id: 'missing_indicator.label',\n    tagName: 'strong',\n    defaultMessage: 'Not found'\n  }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_2_react_intl__[\"b\" /* FormattedMessage */], {\n    id: 'missing_indicator.sublabel',\n    defaultMessage: 'This resource could not be found'\n  }))));\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (MissingIndicator);\n\n/***/ }),\n\n/***/ 964:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return DetailedStatus; });\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_immutable_proptypes__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_avatar__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_display_name__ = __webpack_require__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_status_content__ = __webpack_require__(102);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__components_media_gallery__ = __webpack_require__(155);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__components_attachment_list__ = __webpack_require__(337);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_router_dom__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__containers_card_container__ = __webpack_require__(965);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15_react_immutable_pure_component__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_15_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__video__ = __webpack_require__(74);\n\n\n\n\n\nvar _class, _temp2;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar DetailedStatus = (_temp2 = _class = function (_ImmutablePureCompone) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(DetailedStatus, _ImmutablePureCompone);\n\n  function DetailedStatus() {\n    var _temp, _this, _ret;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, DetailedStatus);\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.handleAccountClick = function (e) {\n      if (e.button === 0) {\n        e.preventDefault();\n        _this.context.router.history.push('/accounts/' + _this.props.status.getIn(['account', 'id']));\n      }\n\n      e.stopPropagation();\n    }, _this.handleOpenVideo = function (startTime) {\n      _this.props.onOpenVideo(_this.props.status.getIn(['media_attachments', 0]), startTime);\n    }, _this.handleExpandedToggle = function () {\n      _this.props.onToggleHidden(_this.props.status);\n    }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n  }\n\n  DetailedStatus.prototype.render = function render() {\n    var status = this.props.status.get('reblog') ? this.props.status.get('reblog') : this.props.status;\n\n    var media = '';\n    var applicationLink = '';\n    var reblogLink = '';\n    var reblogIcon = 'retweet';\n\n    if (status.get('media_attachments').size > 0) {\n      if (status.get('media_attachments').some(function (item) {\n        return item.get('type') === 'unknown';\n      })) {\n        media = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_11__components_attachment_list__[\"a\" /* default */], {\n          media: status.get('media_attachments')\n        });\n      } else if (status.getIn(['media_attachments', 0, 'type']) === 'video') {\n        var video = status.getIn(['media_attachments', 0]);\n\n        media = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_16__video__[\"default\"], {\n          preview: video.get('preview_url'),\n          src: video.get('url'),\n          width: 300,\n          height: 150,\n          inline: true,\n          onOpenVideo: this.handleOpenVideo,\n          sensitive: status.get('sensitive')\n        });\n      } else {\n        media = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__components_media_gallery__[\"default\"], {\n          standalone: true,\n          sensitive: status.get('sensitive'),\n          media: status.get('media_attachments'),\n          height: 300,\n          onOpenMedia: this.props.onOpenMedia\n        });\n      }\n    } else if (status.get('spoiler_text').length === 0) {\n      media = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_14__containers_card_container__[\"a\" /* default */], {\n        onOpenMedia: this.props.onOpenMedia,\n        statusId: status.get('id')\n      });\n    }\n\n    if (status.get('application')) {\n      applicationLink = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {}, void 0, ' \\xB7 ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n        className: 'detailed-status__application',\n        href: status.getIn(['application', 'website']),\n        target: '_blank',\n        rel: 'noopener'\n      }, void 0, status.getIn(['application', 'name'])));\n    }\n\n    if (status.get('visibility') === 'direct') {\n      reblogIcon = 'envelope';\n    } else if (status.get('visibility') === 'private') {\n      reblogIcon = 'lock';\n    }\n\n    if (status.get('visibility') === 'private') {\n      reblogLink = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n        className: 'fa fa-' + reblogIcon\n      });\n    } else {\n      reblogLink = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_12_react_router_dom__[\"b\" /* Link */], {\n        to: '/statuses/' + status.get('id') + '/reblogs',\n        className: 'detailed-status__link'\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n        className: 'fa fa-' + reblogIcon\n      }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n        className: 'detailed-status__reblogs'\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13_react_intl__[\"c\" /* FormattedNumber */], {\n        value: status.get('reblogs_count')\n      })));\n    }\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'detailed-status'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n      href: status.getIn(['account', 'url']),\n      onClick: this.handleAccountClick,\n      className: 'detailed-status__display-name'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'detailed-status__display-avatar'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__components_avatar__[\"a\" /* default */], {\n      account: status.get('account'),\n      size: 48\n    })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__components_display_name__[\"a\" /* default */], {\n      account: status.get('account')\n    })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__components_status_content__[\"a\" /* default */], {\n      status: status,\n      expanded: !status.get('hidden'),\n      onExpandedToggle: this.handleExpandedToggle\n    }), media, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'detailed-status__meta'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n      className: 'detailed-status__datetime',\n      href: status.get('url'),\n      target: '_blank',\n      rel: 'noopener'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13_react_intl__[\"a\" /* FormattedDate */], {\n      value: new Date(status.get('created_at')),\n      hour12: false,\n      year: 'numeric',\n      month: 'short',\n      day: '2-digit',\n      hour: '2-digit',\n      minute: '2-digit'\n    })), applicationLink, ' \\xB7 ', reblogLink, ' \\xB7 ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_12_react_router_dom__[\"b\" /* Link */], {\n      to: '/statuses/' + status.get('id') + '/favourites',\n      className: 'detailed-status__link'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n      className: 'fa fa-star'\n    }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n      className: 'detailed-status__favorites'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13_react_intl__[\"c\" /* FormattedNumber */], {\n      value: status.get('favourites_count')\n    })))));\n  };\n\n  return DetailedStatus;\n}(__WEBPACK_IMPORTED_MODULE_15_react_immutable_pure_component___default.a), _class.contextTypes = {\n  router: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object\n}, _class.propTypes = {\n  status: __WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes___default.a.map.isRequired,\n  onOpenMedia: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func.isRequired,\n  onOpenVideo: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func.isRequired,\n  onToggleHidden: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func.isRequired\n}, _temp2);\n\n\n/***/ }),\n\n/***/ 965:\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_card__ = __webpack_require__(332);\n\n\n\nvar mapStateToProps = function mapStateToProps(state, _ref) {\n  var statusId = _ref.statusId;\n  return {\n    card: state.getIn(['cards', statusId], null)\n  };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps)(__WEBPACK_IMPORTED_MODULE_1__components_card__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 966:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ActionBar; });\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_icon_button__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__containers_dropdown_menu_container__ = __webpack_require__(299);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__initial_state__ = __webpack_require__(11);\n\n\n\n\n\nvar _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_8_react_intl__[\"f\" /* defineMessages */])({\n  delete: {\n    'id': 'status.delete',\n    'defaultMessage': 'Delete'\n  },\n  mention: {\n    'id': 'status.mention',\n    'defaultMessage': 'Mention @{name}'\n  },\n  reply: {\n    'id': 'status.reply',\n    'defaultMessage': 'Reply'\n  },\n  reblog: {\n    'id': 'status.reblog',\n    'defaultMessage': 'Boost'\n  },\n  cannot_reblog: {\n    'id': 'status.cannot_reblog',\n    'defaultMessage': 'This post cannot be boosted'\n  },\n  favourite: {\n    'id': 'status.favourite',\n    'defaultMessage': 'Favourite'\n  },\n  muteConversation: {\n    'id': 'status.mute_conversation',\n    'defaultMessage': 'Mute conversation'\n  },\n  unmuteConversation: {\n    'id': 'status.unmute_conversation',\n    'defaultMessage': 'Unmute conversation'\n  },\n  block: {\n    'id': 'status.block',\n    'defaultMessage': 'Block @{name}'\n  },\n  report: {\n    'id': 'status.report',\n    'defaultMessage': 'Report @{name}'\n  },\n  share: {\n    'id': 'status.share',\n    'defaultMessage': 'Share'\n  }\n});\n\nvar ActionBar = Object(__WEBPACK_IMPORTED_MODULE_8_react_intl__[\"g\" /* injectIntl */])(_class = (_temp2 = _class2 = function (_React$PureComponent) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ActionBar, _React$PureComponent);\n\n  function ActionBar() {\n    var _temp, _this, _ret;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ActionBar);\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.handleReplyClick = function () {\n      _this.props.onReply(_this.props.status);\n    }, _this.handleReblogClick = function (e) {\n      _this.props.onReblog(_this.props.status, e);\n    }, _this.handleFavouriteClick = function () {\n      _this.props.onFavourite(_this.props.status);\n    }, _this.handleDeleteClick = function () {\n      _this.props.onDelete(_this.props.status);\n    }, _this.handleMentionClick = function () {\n      _this.props.onMention(_this.props.status.get('account'), _this.context.router.history);\n    }, _this.handleConversationMuteClick = function () {\n      _this.props.onMuteConversation(_this.props.status);\n    }, _this.handleBlockClick = function () {\n      _this.props.onBlock(_this.props.status.get('account'));\n    }, _this.handleReport = function () {\n      _this.props.onReport(_this.props.status);\n    }, _this.handlePinClick = function () {\n      _this.props.onPin(_this.props.status);\n    }, _this.handleShare = function () {\n      navigator.share({\n        text: _this.props.status.get('search_index'),\n        url: _this.props.status.get('url')\n      });\n    }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n  }\n\n  ActionBar.prototype.render = function render() {\n    var _props = this.props,\n        status = _props.status,\n        intl = _props.intl;\n\n\n    var publicStatus = ['public', 'unlisted'].includes(status.get('visibility'));\n    var mutingConversation = status.get('muted');\n\n    var menu = [];\n\n    if (__WEBPACK_IMPORTED_MODULE_9__initial_state__[\"g\" /* me */] === status.getIn(['account', 'id'])) {\n      menu.push({ text: intl.formatMessage(mutingConversation ? messages.unmuteConversation : messages.muteConversation), action: this.handleConversationMuteClick });\n      menu.push(null);\n      menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDeleteClick });\n    } else {\n      menu.push({ text: intl.formatMessage(messages.mention, { name: status.getIn(['account', 'username']) }), action: this.handleMentionClick });\n      menu.push(null);\n      menu.push({ text: intl.formatMessage(messages.block, { name: status.getIn(['account', 'username']) }), action: this.handleBlockClick });\n      menu.push({ text: intl.formatMessage(messages.report, { name: status.getIn(['account', 'username']) }), action: this.handleReport });\n    }\n\n    var shareButton = 'share' in navigator && status.get('visibility') === 'public' && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'detailed-status__button'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__components_icon_button__[\"a\" /* default */], {\n      title: intl.formatMessage(messages.share),\n      icon: 'share-alt',\n      onClick: this.handleShare\n    }));\n\n    var reblogIcon = 'retweet';\n    if (status.get('visibility') === 'direct') reblogIcon = 'envelope';else if (status.get('visibility') === 'private') reblogIcon = 'lock';\n\n    var reblog_disabled = status.get('visibility') === 'direct' || status.get('visibility') === 'private';\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'detailed-status__action-bar'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'detailed-status__button'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__components_icon_button__[\"a\" /* default */], {\n      title: intl.formatMessage(messages.reply),\n      icon: status.get('in_reply_to_id', null) === null ? 'reply' : 'reply-all',\n      onClick: this.handleReplyClick\n    })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'detailed-status__button'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__components_icon_button__[\"a\" /* default */], {\n      disabled: reblog_disabled,\n      active: status.get('reblogged'),\n      title: reblog_disabled ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog),\n      icon: reblogIcon,\n      onClick: this.handleReblogClick\n    })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'detailed-status__button'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__components_icon_button__[\"a\" /* default */], {\n      animate: true,\n      active: status.get('favourited'),\n      title: intl.formatMessage(messages.favourite),\n      icon: 'star',\n      onClick: this.handleFavouriteClick,\n      activeStyle: { color: '#ca8f04' }\n    })), shareButton, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'detailed-status__action-bar-dropdown'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__containers_dropdown_menu_container__[\"a\" /* default */], {\n      size: 18,\n      icon: 'ellipsis-h',\n      items: menu,\n      direction: 'left',\n      title: 'More'\n    })));\n  };\n\n  return ActionBar;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent), _class2.contextTypes = {\n  router: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object\n}, _temp2)) || _class;\n\n\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// features/status.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 ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { is } from 'immutable';\nimport IconButton from './icon_button';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { isIOS } from '../is_mobile';\nimport classNames from 'classnames';\nimport { autoPlayGif, displaySensitiveMedia } from '../initial_state';\n\nconst messages = defineMessages({\n  toggle_visible: { id: 'media_gallery.toggle_visible', defaultMessage: 'Toggle visibility' },\n});\n\nclass Item extends React.PureComponent {\n\n  static propTypes = {\n    attachment: ImmutablePropTypes.map.isRequired,\n    standalone: PropTypes.bool,\n    index: PropTypes.number.isRequired,\n    size: PropTypes.number.isRequired,\n    onClick: PropTypes.func.isRequired,\n  };\n\n  static defaultProps = {\n    standalone: false,\n    index: 0,\n    size: 1,\n  };\n\n  handleMouseEnter = (e) => {\n    if (this.hoverToPlay()) {\n      e.target.play();\n    }\n  }\n\n  handleMouseLeave = (e) => {\n    if (this.hoverToPlay()) {\n      e.target.pause();\n      e.target.currentTime = 0;\n    }\n  }\n\n  hoverToPlay () {\n    const { attachment } = this.props;\n    return !autoPlayGif && attachment.get('type') === 'gifv';\n  }\n\n  handleClick = (e) => {\n    const { index, onClick } = this.props;\n\n    if (e.button === 0) {\n      e.preventDefault();\n      onClick(index);\n    }\n\n    e.stopPropagation();\n  }\n\n  render () {\n    const { attachment, index, size, standalone } = this.props;\n\n    let width  = 50;\n    let height = 100;\n    let top    = 'auto';\n    let left   = 'auto';\n    let bottom = 'auto';\n    let right  = 'auto';\n\n    if (size === 1) {\n      width = 100;\n    }\n\n    if (size === 4 || (size === 3 && index > 0)) {\n      height = 50;\n    }\n\n    if (size === 2) {\n      if (index === 0) {\n        right = '2px';\n      } else {\n        left = '2px';\n      }\n    } else if (size === 3) {\n      if (index === 0) {\n        right = '2px';\n      } else if (index > 0) {\n        left = '2px';\n      }\n\n      if (index === 1) {\n        bottom = '2px';\n      } else if (index > 1) {\n        top = '2px';\n      }\n    } else if (size === 4) {\n      if (index === 0 || index === 2) {\n        right = '2px';\n      }\n\n      if (index === 1 || index === 3) {\n        left = '2px';\n      }\n\n      if (index < 2) {\n        bottom = '2px';\n      } else {\n        top = '2px';\n      }\n    }\n\n    let thumbnail = '';\n\n    if (attachment.get('type') === 'image') {\n      const previewUrl   = attachment.get('preview_url');\n      const previewWidth = attachment.getIn(['meta', 'small', 'width']);\n\n      const originalUrl    = attachment.get('url');\n      const originalWidth  = attachment.getIn(['meta', 'original', 'width']);\n\n      const hasSize = typeof originalWidth === 'number' && typeof previewWidth === 'number';\n\n      const srcSet = hasSize ? `${originalUrl} ${originalWidth}w, ${previewUrl} ${previewWidth}w` : null;\n      const sizes  = hasSize ? `(min-width: 1025px) ${320 * (width / 100)}px, ${width}vw` : null;\n\n      const focusX = attachment.getIn(['meta', 'focus', 'x']) || 0;\n      const focusY = attachment.getIn(['meta', 'focus', 'y']) || 0;\n      const x      = ((focusX /  2) + .5) * 100;\n      const y      = ((focusY / -2) + .5) * 100;\n\n      thumbnail = (\n        <a\n          className='media-gallery__item-thumbnail'\n          href={attachment.get('remote_url') || originalUrl}\n          onClick={this.handleClick}\n          target='_blank'\n        >\n          <img\n            src={previewUrl}\n            srcSet={srcSet}\n            sizes={sizes}\n            alt={attachment.get('description')}\n            title={attachment.get('description')}\n            style={{ objectPosition: `${x}% ${y}%` }}\n          />\n        </a>\n      );\n    } else if (attachment.get('type') === 'gifv') {\n      const autoPlay = !isIOS() && autoPlayGif;\n\n      thumbnail = (\n        <div className={classNames('media-gallery__gifv', { autoplay: autoPlay })}>\n          <video\n            className='media-gallery__item-gifv-thumbnail'\n            aria-label={attachment.get('description')}\n            role='application'\n            src={attachment.get('url')}\n            onClick={this.handleClick}\n            onMouseEnter={this.handleMouseEnter}\n            onMouseLeave={this.handleMouseLeave}\n            autoPlay={autoPlay}\n            loop\n            muted\n          />\n\n          <span className='media-gallery__gifv__label'>GIF</span>\n        </div>\n      );\n    }\n\n    return (\n      <div className={classNames('media-gallery__item', { standalone })} key={attachment.get('id')} style={{ left: left, top: top, right: right, bottom: bottom, width: `${width}%`, height: `${height}%` }}>\n        {thumbnail}\n      </div>\n    );\n  }\n\n}\n\n@injectIntl\nexport default class MediaGallery extends React.PureComponent {\n\n  static propTypes = {\n    sensitive: PropTypes.bool,\n    standalone: PropTypes.bool,\n    media: ImmutablePropTypes.list.isRequired,\n    size: PropTypes.object,\n    height: PropTypes.number.isRequired,\n    onOpenMedia: PropTypes.func.isRequired,\n    intl: PropTypes.object.isRequired,\n  };\n\n  static defaultProps = {\n    standalone: false,\n  };\n\n  state = {\n    visible: !this.props.sensitive || displaySensitiveMedia,\n  };\n\n  componentWillReceiveProps (nextProps) {\n    if (!is(nextProps.media, this.props.media)) {\n      this.setState({ visible: !nextProps.sensitive });\n    }\n  }\n\n  handleOpen = () => {\n    this.setState({ visible: !this.state.visible });\n  }\n\n  handleClick = (index) => {\n    this.props.onOpenMedia(this.props.media, index);\n  }\n\n  handleRef = (node) => {\n    if (node /*&& this.isStandaloneEligible()*/) {\n      // offsetWidth triggers a layout, so only calculate when we need to\n      this.setState({\n        width: node.offsetWidth,\n      });\n    }\n  }\n\n  isStandaloneEligible() {\n    const { media, standalone } = this.props;\n    return standalone && media.size === 1 && media.getIn([0, 'meta', 'small', 'aspect']);\n  }\n\n  render () {\n    const { media, intl, sensitive, height } = this.props;\n    const { width, visible } = this.state;\n\n    let children;\n\n    const style = {};\n\n    if (this.isStandaloneEligible()) {\n      if (width) {\n        style.height = width / this.props.media.getIn([0, 'meta', 'small', 'aspect']);\n      }\n    } else if (width) {\n      style.height = width / (16/9);\n    } else {\n      style.height = height;\n    }\n\n    if (!visible) {\n      let warning;\n\n      if (sensitive) {\n        warning = <FormattedMessage id='status.sensitive_warning' defaultMessage='Sensitive content' />;\n      } else {\n        warning = <FormattedMessage id='status.media_hidden' defaultMessage='Media hidden' />;\n      }\n\n      children = (\n        <button type='button' className='media-spoiler' onClick={this.handleOpen} style={style} ref={this.handleRef}>\n          <span className='media-spoiler__warning'>{warning}</span>\n          <span className='media-spoiler__trigger'><FormattedMessage id='status.sensitive_toggle' defaultMessage='Click to view' /></span>\n        </button>\n      );\n    } else {\n      const size = media.take(4).size;\n\n      if (this.isStandaloneEligible()) {\n        children = <Item standalone onClick={this.handleClick} attachment={media.get(0)} />;\n      } else {\n        children = media.take(4).map((attachment, i) => <Item key={attachment.get('id')} onClick={this.handleClick} attachment={attachment} index={i} size={size} />);\n      }\n    }\n\n    return (\n      <div className='media-gallery' style={style} ref={this.handleRef}>\n        <div className={classNames('spoiler-button', { 'spoiler-button--visible': visible })}>\n          <IconButton title={intl.formatMessage(messages.toggle_visible)} icon={visible ? 'eye' : 'eye-slash'} overlay onClick={this.handleOpen} />\n        </div>\n\n        {children}\n      </div>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/components/media_gallery.js","import api, { getLinks } from '../api';\nimport { fetchRelationships } from './accounts';\nimport { importFetchedAccounts } from './importer';\nimport { openModal } from './modal';\n\nexport const MUTES_FETCH_REQUEST = 'MUTES_FETCH_REQUEST';\nexport const MUTES_FETCH_SUCCESS = 'MUTES_FETCH_SUCCESS';\nexport const MUTES_FETCH_FAIL    = 'MUTES_FETCH_FAIL';\n\nexport const MUTES_EXPAND_REQUEST = 'MUTES_EXPAND_REQUEST';\nexport const MUTES_EXPAND_SUCCESS = 'MUTES_EXPAND_SUCCESS';\nexport const MUTES_EXPAND_FAIL    = 'MUTES_EXPAND_FAIL';\n\nexport const MUTES_INIT_MODAL = 'MUTES_INIT_MODAL';\nexport const MUTES_TOGGLE_HIDE_NOTIFICATIONS = 'MUTES_TOGGLE_HIDE_NOTIFICATIONS';\n\nexport function fetchMutes() {\n  return (dispatch, getState) => {\n    dispatch(fetchMutesRequest());\n\n    api(getState).get('/api/v1/mutes').then(response => {\n      const next = getLinks(response).refs.find(link => link.rel === 'next');\n      dispatch(importFetchedAccounts(response.data));\n      dispatch(fetchMutesSuccess(response.data, next ? next.uri : null));\n      dispatch(fetchRelationships(response.data.map(item => item.id)));\n    }).catch(error => dispatch(fetchMutesFail(error)));\n  };\n};\n\nexport function fetchMutesRequest() {\n  return {\n    type: MUTES_FETCH_REQUEST,\n  };\n};\n\nexport function fetchMutesSuccess(accounts, next) {\n  return {\n    type: MUTES_FETCH_SUCCESS,\n    accounts,\n    next,\n  };\n};\n\nexport function fetchMutesFail(error) {\n  return {\n    type: MUTES_FETCH_FAIL,\n    error,\n  };\n};\n\nexport function expandMutes() {\n  return (dispatch, getState) => {\n    const url = getState().getIn(['user_lists', 'mutes', 'next']);\n\n    if (url === null) {\n      return;\n    }\n\n    dispatch(expandMutesRequest());\n\n    api(getState).get(url).then(response => {\n      const next = getLinks(response).refs.find(link => link.rel === 'next');\n      dispatch(importFetchedAccounts(response.data));\n      dispatch(expandMutesSuccess(response.data, next ? next.uri : null));\n      dispatch(fetchRelationships(response.data.map(item => item.id)));\n    }).catch(error => dispatch(expandMutesFail(error)));\n  };\n};\n\nexport function expandMutesRequest() {\n  return {\n    type: MUTES_EXPAND_REQUEST,\n  };\n};\n\nexport function expandMutesSuccess(accounts, next) {\n  return {\n    type: MUTES_EXPAND_SUCCESS,\n    accounts,\n    next,\n  };\n};\n\nexport function expandMutesFail(error) {\n  return {\n    type: MUTES_EXPAND_FAIL,\n    error,\n  };\n};\n\nexport function initMuteModal(account) {\n  return dispatch => {\n    dispatch({\n      type: MUTES_INIT_MODAL,\n      account,\n    });\n\n    dispatch(openModal('MUTE'));\n  };\n}\n\nexport function toggleHideNotifications() {\n  return dispatch => {\n    dispatch({ type: MUTES_TOGGLE_HIDE_NOTIFICATIONS });\n  };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/actions/mutes.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 { connect } from 'react-redux';\nimport Status from '../components/status';\nimport { makeGetStatus } from '../selectors';\nimport {\n  replyCompose,\n  mentionCompose,\n} from '../actions/compose';\nimport {\n  reblog,\n  favourite,\n  unreblog,\n  unfavourite,\n} from '../actions/interactions';\nimport { blockAccount } from '../actions/accounts';\nimport {\n  muteStatus,\n  unmuteStatus,\n  deleteStatus,\n  hideStatus,\n  revealStatus,\n} from '../actions/statuses';\nimport { initMuteModal } from '../actions/mutes';\nimport { initReport } from '../actions/reports';\nimport { openModal } from '../actions/modal';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { boostModal, deleteModal } from '../initial_state';\n\nconst messages = defineMessages({\n  deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },\n  deleteMessage: { id: 'confirmations.delete.message', defaultMessage: 'Are you sure you want to delete this status?' },\n  blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' },\n});\n\nconst makeMapStateToProps = () => {\n  const getStatus = makeGetStatus();\n\n  const mapStateToProps = (state, props) => ({\n    status: getStatus(state, props.id),\n  });\n\n  return mapStateToProps;\n};\n\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n\n  onReply (status, router) {\n    dispatch(replyCompose(status, router));\n  },\n\n  onModalReblog (status) {\n    dispatch(reblog(status));\n  },\n\n  onReblog (status, e) {\n    if (status.get('reblogged')) {\n      dispatch(unreblog(status));\n    } else {\n      if (e.shiftKey || !boostModal) {\n        this.onModalReblog(status);\n      } else {\n        dispatch(openModal('BOOST', { status, onReblog: this.onModalReblog }));\n      }\n    }\n  },\n\n  onFavourite (status) {\n    if (status.get('favourited')) {\n      dispatch(unfavourite(status));\n    } else {\n      dispatch(favourite(status));\n    }\n  },\n\n  onDelete (status) {\n    if (!deleteModal) {\n      dispatch(deleteStatus(status.get('id')));\n    } else {\n      dispatch(openModal('CONFIRM', {\n        message: intl.formatMessage(messages.deleteMessage),\n        confirm: intl.formatMessage(messages.deleteConfirm),\n        onConfirm: () => dispatch(deleteStatus(status.get('id'))),\n      }));\n    }\n  },\n\n  onMention (account, router) {\n    dispatch(mentionCompose(account, router));\n  },\n\n  onOpenMedia (media, index) {\n    dispatch(openModal('MEDIA', { media, index }));\n  },\n\n  onOpenVideo (media, time) {\n    dispatch(openModal('VIDEO', { media, time }));\n  },\n\n  onBlock (account) {\n    dispatch(openModal('CONFIRM', {\n      message: <FormattedMessage id='confirmations.block.message' defaultMessage='Are you sure you want to block {name}?' values={{ name: <strong>@{account.get('acct')}</strong> }} />,\n      confirm: intl.formatMessage(messages.blockConfirm),\n      onConfirm: () => dispatch(blockAccount(account.get('id'))),\n    }));\n  },\n\n  onReport (status) {\n    dispatch(initReport(status.get('account'), status));\n  },\n\n  onMute (account) {\n    dispatch(initMuteModal(account));\n  },\n\n  onMuteConversation (status) {\n    if (status.get('muted')) {\n      dispatch(unmuteStatus(status.get('id')));\n    } else {\n      dispatch(muteStatus(status.get('id')));\n    }\n  },\n\n  onToggleHidden (status) {\n    if (status.get('hidden')) {\n      dispatch(revealStatus(status.get('id')));\n    } else {\n      dispatch(hideStatus(status.get('id')));\n    }\n  },\n\n});\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Status));\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/containers/status_container.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 PropTypes from 'prop-types';\nimport Immutable from 'immutable';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport punycode from 'punycode';\nimport classnames from 'classnames';\n\nconst IDNA_PREFIX = 'xn--';\n\nconst decodeIDNA = domain => {\n  return domain\n    .split('.')\n    .map(part => part.indexOf(IDNA_PREFIX) === 0 ? punycode.decode(part.slice(IDNA_PREFIX.length)) : part)\n    .join('.');\n};\n\nconst getHostname = url => {\n  const parser = document.createElement('a');\n  parser.href = url;\n  return parser.hostname;\n};\n\nconst trim = (text, len) => {\n  const cut = text.indexOf(' ', len);\n\n  if (cut === -1) {\n    return text;\n  }\n\n  return text.substring(0, cut) + (text.length > len ? '…' : '');\n};\n\nconst domParser = new DOMParser();\n\nconst addAutoPlay = html => {\n  const document = domParser.parseFromString(html, 'text/html').documentElement;\n  const iframe = document.querySelector('iframe');\n\n  if (iframe) {\n    if (iframe.src.indexOf('?') !== -1) {\n      iframe.src += '&';\n    } else {\n      iframe.src += '?';\n    }\n\n    iframe.src += 'autoplay=1&auto_play=1';\n\n    // DOM parser creates html/body elements around original HTML fragment,\n    // so we need to get innerHTML out of the body and not the entire document\n    return document.querySelector('body').innerHTML;\n  }\n\n  return html;\n};\n\nexport default class Card extends React.PureComponent {\n\n  static propTypes = {\n    card: ImmutablePropTypes.map,\n    maxDescription: PropTypes.number,\n    onOpenMedia: PropTypes.func.isRequired,\n  };\n\n  static defaultProps = {\n    maxDescription: 50,\n  };\n\n  state = {\n    width: 280,\n    embedded: false,\n  };\n\n  componentWillReceiveProps (nextProps) {\n    if (this.props.card !== nextProps.card) {\n      this.setState({ embedded: false });\n    }\n  }\n\n  handlePhotoClick = () => {\n    const { card, onOpenMedia } = this.props;\n\n    onOpenMedia(\n      Immutable.fromJS([\n        {\n          type: 'image',\n          url: card.get('embed_url'),\n          description: card.get('title'),\n          meta: {\n            original: {\n              width: card.get('width'),\n              height: card.get('height'),\n            },\n          },\n        },\n      ]),\n      0\n    );\n  };\n\n  handleEmbedClick = () => {\n    const { card } = this.props;\n\n    if (card.get('type') === 'photo') {\n      this.handlePhotoClick();\n    } else {\n      this.setState({ embedded: true });\n    }\n  }\n\n  setRef = c => {\n    if (c) {\n      this.setState({ width: c.offsetWidth });\n    }\n  }\n\n  renderVideo () {\n    const { card }  = this.props;\n    const content   = { __html: addAutoPlay(card.get('html')) };\n    const { width } = this.state;\n    const ratio     = card.get('width') / card.get('height');\n    const height    = card.get('width') > card.get('height') ? (width / ratio) : (width * ratio);\n\n    return (\n      <div\n        ref={this.setRef}\n        className='status-card__image status-card-video'\n        dangerouslySetInnerHTML={content}\n        style={{ height }}\n      />\n    );\n  }\n\n  render () {\n    const { card, maxDescription } = this.props;\n    const { width, embedded }      = this.state;\n\n    if (card === null) {\n      return null;\n    }\n\n    const provider    = card.get('provider_name').length === 0 ? decodeIDNA(getHostname(card.get('url'))) : card.get('provider_name');\n    const horizontal  = card.get('width') > card.get('height') && (card.get('width') + 100 >= width) || card.get('type') !== 'link';\n    const className   = classnames('status-card', { horizontal });\n    const interactive = card.get('type') !== 'link';\n    const title       = interactive ? <a className='status-card__title' href={card.get('url')} title={card.get('title')} rel='noopener' target='_blank'><strong>{card.get('title')}</strong></a> : <strong className='status-card__title' title={card.get('title')}>{card.get('title')}</strong>;\n    const ratio       = card.get('width') / card.get('height');\n    const height      = card.get('width') > card.get('height') ? (width / ratio) : (width * ratio);\n\n    const description = (\n      <div className='status-card__content'>\n        {title}\n        {!horizontal && <p className='status-card__description'>{trim(card.get('description') || '', maxDescription)}</p>}\n        <span className='status-card__host'>{provider}</span>\n      </div>\n    );\n\n    let embed     = '';\n    let thumbnail = <div style={{ backgroundImage: `url(${card.get('image')})`, width: horizontal ? width : null, height: horizontal ? height : null }} className='status-card__image-image' />;\n\n    if (interactive) {\n      if (embedded) {\n        embed = this.renderVideo();\n      } else {\n        let iconVariant = 'play';\n\n        if (card.get('type') === 'photo') {\n          iconVariant = 'search-plus';\n        }\n\n        embed = (\n          <div className='status-card__image'>\n            {thumbnail}\n\n            <div className='status-card__actions'>\n              <div>\n                <button onClick={this.handleEmbedClick}><i className={`fa fa-${iconVariant}`} /></button>\n                <a href={card.get('url')} target='_blank' rel='noopener'><i className='fa fa-external-link' /></a>\n              </div>\n            </div>\n          </div>\n        );\n      }\n\n      return (\n        <div className={className} ref={this.setRef}>\n          {embed}\n          {description}\n        </div>\n      );\n    } else if (card.get('image')) {\n      embed = (\n        <div className='status-card__image'>\n          {thumbnail}\n        </div>\n      );\n    }\n\n    return (\n      <a href={card.get('url')} className={className} target='_blank' rel='noopener' ref={this.setRef}>\n        {embed}\n        {description}\n      </a>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/status/components/card.js","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t    counter = 0,\n\t\t    length = string.length,\n\t\t    value,\n\t\t    extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t//  0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t    inputLength = input.length,\n\t\t    out,\n\t\t    i = 0,\n\t\t    n = initialN,\n\t\t    bias = initialBias,\n\t\t    basic,\n\t\t    j,\n\t\t    index,\n\t\t    oldi,\n\t\t    w,\n\t\t    k,\n\t\t    digit,\n\t\t    t,\n\t\t    /** Cached calculation results */\n\t\t    baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t    delta,\n\t\t    handledCPCount,\n\t\t    basicLength,\n\t\t    bias,\n\t\t    j,\n\t\t    m,\n\t\t    q,\n\t\t    k,\n\t\t    t,\n\t\t    currentValue,\n\t\t    output = [],\n\t\t    /** `inputLength` will hold the number of code points in `input`. */\n\t\t    inputLength,\n\t\t    /** Cached calculation results */\n\t\t    handledCPCountPlusOne,\n\t\t    baseMinusT,\n\t\t    qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/node-libs-browser/node_modules/punycode/punycode.js","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { fetchStatus } from '../../actions/statuses';\nimport MissingIndicator from '../../components/missing_indicator';\nimport DetailedStatus from './components/detailed_status';\nimport ActionBar from './components/action_bar';\nimport Column from '../ui/components/column';\nimport {\n  favourite,\n  unfavourite,\n  reblog,\n  unreblog,\n} from '../../actions/interactions';\nimport {\n  replyCompose,\n  mentionCompose,\n} from '../../actions/compose';\nimport { blockAccount } from '../../actions/accounts';\nimport {\n  muteStatus,\n  unmuteStatus,\n  deleteStatus,\n  hideStatus,\n  revealStatus,\n} from '../../actions/statuses';\nimport { initMuteModal } from '../../actions/mutes';\nimport { initReport } from '../../actions/reports';\nimport { makeGetStatus } from '../../selectors';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport ColumnBackButton from '../../components/column_back_button';\nimport ColumnHeader from '../../components/column_header';\nimport StatusContainer from '../../containers/status_container';\nimport { openModal } from '../../actions/modal';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { HotKeys } from 'react-hotkeys';\nimport { boostModal, deleteModal } from '../../initial_state';\nimport { attachFullscreenListener, detachFullscreenListener, isFullscreen } from '../../features/ui/util/fullscreen';\n\nconst messages = defineMessages({\n  deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },\n  deleteMessage: { id: 'confirmations.delete.message', defaultMessage: 'Are you sure you want to delete this status?' },\n  blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' },\n  revealAll: { id: 'status.show_more_all', defaultMessage: 'Show more for all' },\n  hideAll: { id: 'status.show_less_all', defaultMessage: 'Show less for all' },\n});\n\nconst makeMapStateToProps = () => {\n  const getStatus = makeGetStatus();\n\n  const mapStateToProps = (state, props) => ({\n    status: getStatus(state, props.params.statusId),\n    ancestorsIds: state.getIn(['contexts', 'ancestors', props.params.statusId]),\n    descendantsIds: state.getIn(['contexts', 'descendants', props.params.statusId]),\n  });\n\n  return mapStateToProps;\n};\n\n@injectIntl\n@connect(makeMapStateToProps)\nexport default class Status extends ImmutablePureComponent {\n\n  static contextTypes = {\n    router: PropTypes.object,\n  };\n\n  static propTypes = {\n    params: PropTypes.object.isRequired,\n    dispatch: PropTypes.func.isRequired,\n    status: ImmutablePropTypes.map,\n    ancestorsIds: ImmutablePropTypes.list,\n    descendantsIds: ImmutablePropTypes.list,\n    intl: PropTypes.object.isRequired,\n  };\n\n  state = {\n    fullscreen: false,\n  };\n\n  componentWillMount () {\n    this.props.dispatch(fetchStatus(this.props.params.statusId));\n  }\n\n  componentDidMount () {\n    attachFullscreenListener(this.onFullScreenChange);\n  }\n\n  componentWillReceiveProps (nextProps) {\n    if (nextProps.params.statusId !== this.props.params.statusId && nextProps.params.statusId) {\n      this._scrolledIntoView = false;\n      this.props.dispatch(fetchStatus(nextProps.params.statusId));\n    }\n  }\n\n  handleFavouriteClick = (status) => {\n    if (status.get('favourited')) {\n      this.props.dispatch(unfavourite(status));\n    } else {\n      this.props.dispatch(favourite(status));\n    }\n  }\n\n  handleReplyClick = (status) => {\n    this.props.dispatch(replyCompose(status, this.context.router.history));\n  }\n\n  handleModalReblog = (status) => {\n    this.props.dispatch(reblog(status));\n  }\n\n  handleReblogClick = (status, e) => {\n    if (status.get('reblogged')) {\n      this.props.dispatch(unreblog(status));\n    } else {\n      if (e.shiftKey || !boostModal) {\n        this.handleModalReblog(status);\n      } else {\n        this.props.dispatch(openModal('BOOST', { status, onReblog: this.handleModalReblog }));\n      }\n    }\n  }\n\n  handleDeleteClick = (status) => {\n    const { dispatch, intl } = this.props;\n\n    if (!deleteModal) {\n      dispatch(deleteStatus(status.get('id')));\n    } else {\n      dispatch(openModal('CONFIRM', {\n        message: intl.formatMessage(messages.deleteMessage),\n        confirm: intl.formatMessage(messages.deleteConfirm),\n        onConfirm: () => dispatch(deleteStatus(status.get('id'))),\n      }));\n    }\n  }\n\n  handleMentionClick = (account, router) => {\n    this.props.dispatch(mentionCompose(account, router));\n  }\n\n  handleOpenMedia = (media, index) => {\n    this.props.dispatch(openModal('MEDIA', { media, index }));\n  }\n\n  handleOpenVideo = (media, time) => {\n    this.props.dispatch(openModal('VIDEO', { media, time }));\n  }\n\n  handleMuteClick = (account) => {\n    this.props.dispatch(initMuteModal(account));\n  }\n\n  handleConversationMuteClick = (status) => {\n    if (status.get('muted')) {\n      this.props.dispatch(unmuteStatus(status.get('id')));\n    } else {\n      this.props.dispatch(muteStatus(status.get('id')));\n    }\n  }\n\n  handleToggleHidden = (status) => {\n    if (status.get('hidden')) {\n      this.props.dispatch(revealStatus(status.get('id')));\n    } else {\n      this.props.dispatch(hideStatus(status.get('id')));\n    }\n  }\n\n  handleToggleAll = () => {\n    const { status, ancestorsIds, descendantsIds } = this.props;\n    const statusIds = [status.get('id')].concat(ancestorsIds.toJS(), descendantsIds.toJS());\n\n    if (status.get('hidden')) {\n      this.props.dispatch(revealStatus(statusIds));\n    } else {\n      this.props.dispatch(hideStatus(statusIds));\n    }\n  }\n\n  handleBlockClick = (account) => {\n    const { dispatch, intl } = this.props;\n\n    dispatch(openModal('CONFIRM', {\n      message: <FormattedMessage id='confirmations.block.message' defaultMessage='Are you sure you want to block {name}?' values={{ name: <strong>@{account.get('acct')}</strong> }} />,\n      confirm: intl.formatMessage(messages.blockConfirm),\n      onConfirm: () => dispatch(blockAccount(account.get('id'))),\n    }));\n  }\n\n  handleReport = (status) => {\n    this.props.dispatch(initReport(status.get('account'), status));\n  }\n\n  handleHotkeyMoveUp = () => {\n    this.handleMoveUp(this.props.status.get('id'));\n  }\n\n  handleHotkeyMoveDown = () => {\n    this.handleMoveDown(this.props.status.get('id'));\n  }\n\n  handleHotkeyReply = e => {\n    e.preventDefault();\n    this.handleReplyClick(this.props.status);\n  }\n\n  handleHotkeyFavourite = () => {\n    this.handleFavouriteClick(this.props.status);\n  }\n\n  handleHotkeyBoost = () => {\n    this.handleReblogClick(this.props.status);\n  }\n\n  handleHotkeyMention = e => {\n    e.preventDefault();\n    this.handleMentionClick(this.props.status);\n  }\n\n  handleHotkeyOpenProfile = () => {\n    this.context.router.history.push(`/accounts/${this.props.status.getIn(['account', 'id'])}`);\n  }\n\n  handleMoveUp = id => {\n    const { status, ancestorsIds, descendantsIds } = this.props;\n\n    if (id === status.get('id')) {\n      this._selectChild(ancestorsIds.size - 1);\n    } else {\n      let index = ancestorsIds.indexOf(id);\n\n      if (index === -1) {\n        index = descendantsIds.indexOf(id);\n        this._selectChild(ancestorsIds.size + index);\n      } else {\n        this._selectChild(index - 1);\n      }\n    }\n  }\n\n  handleMoveDown = id => {\n    const { status, ancestorsIds, descendantsIds } = this.props;\n\n    if (id === status.get('id')) {\n      this._selectChild(ancestorsIds.size + 1);\n    } else {\n      let index = ancestorsIds.indexOf(id);\n\n      if (index === -1) {\n        index = descendantsIds.indexOf(id);\n        this._selectChild(ancestorsIds.size + index + 2);\n      } else {\n        this._selectChild(index + 1);\n      }\n    }\n  }\n\n  _selectChild (index) {\n    const element = this.node.querySelectorAll('.focusable')[index];\n\n    if (element) {\n      element.focus();\n    }\n  }\n\n  renderChildren (list) {\n    return list.map(id => (\n      <StatusContainer\n        key={id}\n        id={id}\n        onMoveUp={this.handleMoveUp}\n        onMoveDown={this.handleMoveDown}\n      />\n    ));\n  }\n\n  setRef = c => {\n    this.node = c;\n  }\n\n  componentDidUpdate () {\n    if (this._scrolledIntoView) {\n      return;\n    }\n\n    const { status, ancestorsIds } = this.props;\n\n    if (status && ancestorsIds && ancestorsIds.size > 0) {\n      const element = this.node.querySelectorAll('.focusable')[ancestorsIds.size - 1];\n\n      element.scrollIntoView(true);\n      this._scrolledIntoView = true;\n    }\n  }\n\n  componentWillUnmount () {\n    detachFullscreenListener(this.onFullScreenChange);\n  }\n\n  onFullScreenChange = () => {\n    this.setState({ fullscreen: isFullscreen() });\n  }\n\n  render () {\n    let ancestors, descendants;\n    const { status, ancestorsIds, descendantsIds, intl } = this.props;\n    const { fullscreen } = this.state;\n\n    if (status === null) {\n      return (\n        <Column>\n          <ColumnBackButton />\n          <MissingIndicator />\n        </Column>\n      );\n    }\n\n    if (ancestorsIds && ancestorsIds.size > 0) {\n      ancestors = <div>{this.renderChildren(ancestorsIds)}</div>;\n    }\n\n    if (descendantsIds && descendantsIds.size > 0) {\n      descendants = <div>{this.renderChildren(descendantsIds)}</div>;\n    }\n\n    const handlers = {\n      moveUp: this.handleHotkeyMoveUp,\n      moveDown: this.handleHotkeyMoveDown,\n      reply: this.handleHotkeyReply,\n      favourite: this.handleHotkeyFavourite,\n      boost: this.handleHotkeyBoost,\n      mention: this.handleHotkeyMention,\n      openProfile: this.handleHotkeyOpenProfile,\n    };\n\n    return (\n      <Column>\n        <ColumnHeader\n          showBackButton\n          extraButton={(\n            <button className='column-header__button' title={intl.formatMessage(status.get('hidden') ? messages.revealAll : messages.hideAll)} aria-label={intl.formatMessage(status.get('hidden') ? messages.revealAll : messages.hideAll)} onClick={this.handleToggleAll} aria-pressed={status.get('hidden') ? 'false' : 'true'}><i className={`fa fa-${status.get('hidden') ? 'eye-slash' : 'eye'}`} /></button>\n          )}\n        />\n\n        <ScrollContainer scrollKey='thread'>\n          <div className={classNames('scrollable', 'detailed-status__wrapper', { fullscreen })} ref={this.setRef}>\n            {ancestors}\n\n            <HotKeys handlers={handlers}>\n              <div className='focusable' tabIndex='0'>\n                <DetailedStatus\n                  status={status}\n                  onOpenVideo={this.handleOpenVideo}\n                  onOpenMedia={this.handleOpenMedia}\n                  onToggleHidden={this.handleToggleHidden}\n                />\n\n                <ActionBar\n                  status={status}\n                  onReply={this.handleReplyClick}\n                  onFavourite={this.handleFavouriteClick}\n                  onReblog={this.handleReblogClick}\n                  onDelete={this.handleDeleteClick}\n                  onMention={this.handleMentionClick}\n                  onMute={this.handleMuteClick}\n                  onMuteConversation={this.handleConversationMuteClick}\n                  onBlock={this.handleBlockClick}\n                  onReport={this.handleReport}\n                />\n              </div>\n            </HotKeys>\n\n            {descendants}\n          </div>\n        </ScrollContainer>\n      </Column>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/status/index.js","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nconst MissingIndicator = () => (\n  <div className='regeneration-indicator missing-indicator'>\n    <div>\n      <div className='regeneration-indicator__label'>\n        <FormattedMessage id='missing_indicator.label' tagName='strong' defaultMessage='Not found' />\n        <FormattedMessage id='missing_indicator.sublabel' defaultMessage='This resource could not be found' />\n      </div>\n    </div>\n  </div>\n);\n\nexport default MissingIndicator;\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/components/missing_indicator.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Avatar from '../../../components/avatar';\nimport DisplayName from '../../../components/display_name';\nimport StatusContent from '../../../components/status_content';\nimport MediaGallery from '../../../components/media_gallery';\nimport AttachmentList from '../../../components/attachment_list';\nimport { Link } from 'react-router-dom';\nimport { FormattedDate, FormattedNumber } from 'react-intl';\nimport CardContainer from '../containers/card_container';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Video from '../../video';\n\nexport default class DetailedStatus extends ImmutablePureComponent {\n\n  static contextTypes = {\n    router: PropTypes.object,\n  };\n\n  static propTypes = {\n    status: ImmutablePropTypes.map.isRequired,\n    onOpenMedia: PropTypes.func.isRequired,\n    onOpenVideo: PropTypes.func.isRequired,\n    onToggleHidden: PropTypes.func.isRequired,\n  };\n\n  handleAccountClick = (e) => {\n    if (e.button === 0) {\n      e.preventDefault();\n      this.context.router.history.push(`/accounts/${this.props.status.getIn(['account', 'id'])}`);\n    }\n\n    e.stopPropagation();\n  }\n\n  handleOpenVideo = startTime => {\n    this.props.onOpenVideo(this.props.status.getIn(['media_attachments', 0]), startTime);\n  }\n\n  handleExpandedToggle = () => {\n    this.props.onToggleHidden(this.props.status);\n  }\n\n  render () {\n    const status = this.props.status.get('reblog') ? this.props.status.get('reblog') : this.props.status;\n\n    let media           = '';\n    let applicationLink = '';\n    let reblogLink = '';\n    let reblogIcon = 'retweet';\n\n    if (status.get('media_attachments').size > 0) {\n      if (status.get('media_attachments').some(item => item.get('type') === 'unknown')) {\n        media = <AttachmentList media={status.get('media_attachments')} />;\n      } else if (status.getIn(['media_attachments', 0, 'type']) === 'video') {\n        const video = status.getIn(['media_attachments', 0]);\n\n        media = (\n          <Video\n            preview={video.get('preview_url')}\n            src={video.get('url')}\n            width={300}\n            height={150}\n            inline\n            onOpenVideo={this.handleOpenVideo}\n            sensitive={status.get('sensitive')}\n          />\n        );\n      } else {\n        media = (\n          <MediaGallery\n            standalone\n            sensitive={status.get('sensitive')}\n            media={status.get('media_attachments')}\n            height={300}\n            onOpenMedia={this.props.onOpenMedia}\n          />\n        );\n      }\n    } else if (status.get('spoiler_text').length === 0) {\n      media = <CardContainer onOpenMedia={this.props.onOpenMedia} statusId={status.get('id')} />;\n    }\n\n    if (status.get('application')) {\n      applicationLink = <span> · <a className='detailed-status__application' href={status.getIn(['application', 'website'])} target='_blank' rel='noopener'>{status.getIn(['application', 'name'])}</a></span>;\n    }\n\n    if (status.get('visibility') === 'direct') {\n      reblogIcon = 'envelope';\n    } else if (status.get('visibility') === 'private') {\n      reblogIcon = 'lock';\n    }\n\n    if (status.get('visibility') === 'private') {\n      reblogLink = <i className={`fa fa-${reblogIcon}`} />;\n    } else {\n      reblogLink = (<Link to={`/statuses/${status.get('id')}/reblogs`} className='detailed-status__link'>\n        <i className={`fa fa-${reblogIcon}`} />\n        <span className='detailed-status__reblogs'>\n          <FormattedNumber value={status.get('reblogs_count')} />\n        </span>\n      </Link>);\n    }\n\n    return (\n      <div className='detailed-status'>\n        <a href={status.getIn(['account', 'url'])} onClick={this.handleAccountClick} className='detailed-status__display-name'>\n          <div className='detailed-status__display-avatar'><Avatar account={status.get('account')} size={48} /></div>\n          <DisplayName account={status.get('account')} />\n        </a>\n\n        <StatusContent status={status} expanded={!status.get('hidden')} onExpandedToggle={this.handleExpandedToggle} />\n\n        {media}\n\n        <div className='detailed-status__meta'>\n          <a className='detailed-status__datetime' href={status.get('url')} target='_blank' rel='noopener'>\n            <FormattedDate value={new Date(status.get('created_at'))} hour12={false} year='numeric' month='short' day='2-digit' hour='2-digit' minute='2-digit' />\n          </a>{applicationLink} · {reblogLink} · <Link to={`/statuses/${status.get('id')}/favourites`} className='detailed-status__link'>\n            <i className='fa fa-star' />\n            <span className='detailed-status__favorites'>\n              <FormattedNumber value={status.get('favourites_count')} />\n            </span>\n          </Link>\n        </div>\n      </div>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/status/components/detailed_status.js","import { connect } from 'react-redux';\nimport Card from '../components/card';\n\nconst mapStateToProps = (state, { statusId }) => ({\n  card: state.getIn(['cards', statusId], null),\n});\n\nexport default connect(mapStateToProps)(Card);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/status/containers/card_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport IconButton from '../../../components/icon_button';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport DropdownMenuContainer from '../../../containers/dropdown_menu_container';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { me } from '../../../initial_state';\n\nconst messages = defineMessages({\n  delete: { id: 'status.delete', defaultMessage: 'Delete' },\n  mention: { id: 'status.mention', defaultMessage: 'Mention @{name}' },\n  reply: { id: 'status.reply', defaultMessage: 'Reply' },\n  reblog: { id: 'status.reblog', defaultMessage: 'Boost' },\n  cannot_reblog: { id: 'status.cannot_reblog', defaultMessage: 'This post cannot be boosted' },\n  favourite: { id: 'status.favourite', defaultMessage: 'Favourite' },\n  muteConversation: { id: 'status.mute_conversation', defaultMessage: 'Mute conversation' },\n  unmuteConversation: { id: 'status.unmute_conversation', defaultMessage: 'Unmute conversation' },\n  block: { id: 'status.block', defaultMessage: 'Block @{name}' },\n  report: { id: 'status.report', defaultMessage: 'Report @{name}' },\n  share: { id: 'status.share', defaultMessage: 'Share' },\n});\n\n@injectIntl\nexport default class ActionBar extends React.PureComponent {\n\n  static contextTypes = {\n    router: PropTypes.object,\n  };\n\n  static propTypes = {\n    status: ImmutablePropTypes.map.isRequired,\n    onReply: PropTypes.func.isRequired,\n    onReblog: PropTypes.func.isRequired,\n    onFavourite: PropTypes.func.isRequired,\n    onDelete: PropTypes.func.isRequired,\n    onMention: PropTypes.func.isRequired,\n    onMuteConversation: PropTypes.func,\n    onBlock: PropTypes.func,\n    onReport: PropTypes.func,\n    onPin: PropTypes.func,\n    intl: PropTypes.object.isRequired,\n  };\n\n  handleReplyClick = () => {\n    this.props.onReply(this.props.status);\n  }\n\n  handleReblogClick = (e) => {\n    this.props.onReblog(this.props.status, e);\n  }\n\n  handleFavouriteClick = () => {\n    this.props.onFavourite(this.props.status);\n  }\n\n  handleDeleteClick = () => {\n    this.props.onDelete(this.props.status);\n  }\n\n  handleMentionClick = () => {\n    this.props.onMention(this.props.status.get('account'), this.context.router.history);\n  }\n\n  handleConversationMuteClick = () => {\n    this.props.onMuteConversation(this.props.status);\n  }\n\n  handleBlockClick = () => {\n    this.props.onBlock(this.props.status.get('account'));\n  }\n\n  handleReport = () => {\n    this.props.onReport(this.props.status);\n  }\n\n  handlePinClick = () => {\n    this.props.onPin(this.props.status);\n  }\n\n  handleShare = () => {\n    navigator.share({\n      text: this.props.status.get('search_index'),\n      url: this.props.status.get('url'),\n    });\n  }\n\n  render () {\n    const { status, intl } = this.props;\n\n    const publicStatus = ['public', 'unlisted'].includes(status.get('visibility'));\n    const mutingConversation = status.get('muted');\n\n    let menu = [];\n\n    if (me === status.getIn(['account', 'id'])) {\n      menu.push({ text: intl.formatMessage(mutingConversation ? messages.unmuteConversation : messages.muteConversation), action: this.handleConversationMuteClick });\n      menu.push(null);\n      menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDeleteClick });\n    } else {\n      menu.push({ text: intl.formatMessage(messages.mention, { name: status.getIn(['account', 'username']) }), action: this.handleMentionClick });\n      menu.push(null);\n      menu.push({ text: intl.formatMessage(messages.block, { name: status.getIn(['account', 'username']) }), action: this.handleBlockClick });\n      menu.push({ text: intl.formatMessage(messages.report, { name: status.getIn(['account', 'username']) }), action: this.handleReport });\n    }\n\n    const shareButton = ('share' in navigator) && status.get('visibility') === 'public' && (\n      <div className='detailed-status__button'><IconButton title={intl.formatMessage(messages.share)} icon='share-alt' onClick={this.handleShare} /></div>\n    );\n\n    let reblogIcon = 'retweet';\n    if (status.get('visibility') === 'direct') reblogIcon = 'envelope';\n    else if (status.get('visibility') === 'private') reblogIcon = 'lock';\n\n    let reblog_disabled = (status.get('visibility') === 'direct' || status.get('visibility') === 'private');\n\n    return (\n      <div className='detailed-status__action-bar'>\n        <div className='detailed-status__button'><IconButton title={intl.formatMessage(messages.reply)} icon={status.get('in_reply_to_id', null) === null ? 'reply' : 'reply-all'} onClick={this.handleReplyClick} /></div>\n        <div className='detailed-status__button'><IconButton disabled={reblog_disabled} active={status.get('reblogged')} title={reblog_disabled ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog)} icon={reblogIcon} onClick={this.handleReblogClick} /></div>\n        <div className='detailed-status__button'><IconButton animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} activeStyle={{ color: '#ca8f04' }} /></div>\n        {shareButton}\n\n        <div className='detailed-status__action-bar-dropdown'>\n          <DropdownMenuContainer size={18} icon='ellipsis-h' items={menu} direction='left' title='More' />\n        </div>\n      </div>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/status/components/action_bar.js"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///features/status.js","webpack:///./app/javascript/mastodon/features/status/components/detailed_status.js","webpack:///./app/javascript/mastodon/features/status/containers/card_container.js","webpack:///./app/javascript/mastodon/features/status/components/action_bar.js","webpack:///./app/javascript/mastodon/features/ui/components/column_header.js","webpack:///./app/javascript/mastodon/features/ui/components/column.js","webpack:///./app/javascript/mastodon/components/column_back_button.js","webpack:///./app/javascript/mastodon/containers/status_container.js","webpack:///./app/javascript/mastodon/components/media_gallery.js","webpack:///./app/javascript/mastodon/features/status/index.js","webpack:///./app/javascript/mastodon/components/missing_indicator.js","webpack:///./app/javascript/mastodon/features/status/components/card.js","webpack:///./node_modules/node-libs-browser/node_modules/punycode/punycode.js"],"names":["webpackJsonp","1007","module","__webpack_exports__","__webpack_require__","d","DetailedStatus","_class","_temp2","__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_5_prop_types__","__WEBPACK_IMPORTED_MODULE_5_prop_types___default","__WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes__","__WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes___default","__WEBPACK_IMPORTED_MODULE_7__components_avatar__","__WEBPACK_IMPORTED_MODULE_8__components_display_name__","__WEBPACK_IMPORTED_MODULE_9__components_status_content__","__WEBPACK_IMPORTED_MODULE_10__components_media_gallery__","__WEBPACK_IMPORTED_MODULE_11__components_attachment_list__","__WEBPACK_IMPORTED_MODULE_12_react_router_dom__","__WEBPACK_IMPORTED_MODULE_13_react_intl__","__WEBPACK_IMPORTED_MODULE_14__containers_card_container__","__WEBPACK_IMPORTED_MODULE_15_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_15_react_immutable_pure_component___default","__WEBPACK_IMPORTED_MODULE_16__video__","_ImmutablePureCompone","_temp","_this","_ret","this","_len","arguments","length","args","Array","_key","call","apply","concat","handleAccountClick","e","button","preventDefault","context","router","history","push","props","status","getIn","stopPropagation","handleOpenVideo","media","startTime","onOpenVideo","handleExpandedToggle","onToggleHidden","prototype","render","get","applicationLink","reblogLink","reblogIcon","size","some","item","video","preview","src","width","height","inline","sensitive","standalone","onOpenMedia","statusId","className","href","target","rel","to","value","onClick","account","expanded","onExpandedToggle","Date","hour12","year","month","day","hour","minute","a","contextTypes","object","propTypes","map","isRequired","func","1008","__WEBPACK_IMPORTED_MODULE_0_react_redux__","__WEBPACK_IMPORTED_MODULE_1__components_card__","mapStateToProps","state","_ref","card","Object","1009","ActionBar","_class2","__WEBPACK_IMPORTED_MODULE_4_react___default","__WEBPACK_IMPORTED_MODULE_6__components_icon_button__","__WEBPACK_IMPORTED_MODULE_7__containers_dropdown_menu_container__","__WEBPACK_IMPORTED_MODULE_8_react_intl__","__WEBPACK_IMPORTED_MODULE_9__initial_state__","messages","delete","id","defaultMessage","direct","mention","reply","reblog","reblog_private","cancel_reblog_private","cannot_reblog","favourite","mute","muteConversation","unmuteConversation","block","report","share","pin","unpin","embed","_React$PureComponent","handleReplyClick","onReply","handleReblogClick","onReblog","handleFavouriteClick","onFavourite","handleDeleteClick","onDelete","handleDirectClick","onDirect","handleMentionClick","onMention","handleMuteClick","onMute","handleConversationMuteClick","onMuteConversation","handleBlockClick","onBlock","handleReport","onReport","handlePinClick","onPin","handleShare","navigator","text","url","handleEmbed","onEmbed","_props","intl","publicStatus","includes","menu","formatMessage","action","name","shareButton","title","icon","reblog_disabled","disabled","active","animate","items","direction","PureComponent","153","ColumnHeader","__WEBPACK_IMPORTED_MODULE_5_classnames__","__WEBPACK_IMPORTED_MODULE_5_classnames___default","handleClick","type","columnHeaderId","iconElement","283","Column","__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__column_header__","__WEBPACK_IMPORTED_MODULE_7__scroll__","__WEBPACK_IMPORTED_MODULE_8__is_mobile__","handleHeaderClick","scrollable","node","querySelector","_interruptScrollAnimation","handleScroll","setRef","c","scrollTop","heading","children","hideHeadingOnMobile","showHeading","window","innerWidth","replace","header","createElement","ref","role","aria-labelledby","onScroll","285","ColumnBackButton","__WEBPACK_IMPORTED_MODULE_5_react_intl__","__WEBPACK_IMPORTED_MODULE_6_prop_types__","__WEBPACK_IMPORTED_MODULE_6_prop_types___default","goBack","286","__WEBPACK_IMPORTED_MODULE_1_react__","__WEBPACK_IMPORTED_MODULE_2_react_redux__","__WEBPACK_IMPORTED_MODULE_3__components_status__","__WEBPACK_IMPORTED_MODULE_4__selectors__","__WEBPACK_IMPORTED_MODULE_5__actions_compose__","__WEBPACK_IMPORTED_MODULE_6__actions_interactions__","__WEBPACK_IMPORTED_MODULE_7__actions_accounts__","__WEBPACK_IMPORTED_MODULE_8__actions_statuses__","__WEBPACK_IMPORTED_MODULE_9__actions_mutes__","__WEBPACK_IMPORTED_MODULE_10__actions_reports__","__WEBPACK_IMPORTED_MODULE_11__actions_modal__","__WEBPACK_IMPORTED_MODULE_12_react_intl__","__WEBPACK_IMPORTED_MODULE_13__initial_state__","__WEBPACK_IMPORTED_MODULE_14__actions_alerts__","deleteConfirm","deleteMessage","blockConfirm","makeMapStateToProps","getStatus","mapDispatchToProps","dispatch","onModalReblog","shiftKey","onError","error","message","confirm","onConfirm","index","time","values","820","defineProperty","MediaGallery","_class3","_temp4","__WEBPACK_IMPORTED_MODULE_5_immutable__","__WEBPACK_IMPORTED_MODULE_6__icon_button__","__WEBPACK_IMPORTED_MODULE_7_react_intl__","__WEBPACK_IMPORTED_MODULE_9_classnames__","__WEBPACK_IMPORTED_MODULE_9_classnames___default","__WEBPACK_IMPORTED_MODULE_10__initial_state__","toggle_visible","Item","handleMouseEnter","hoverToPlay","play","handleMouseLeave","pause","currentTime","_this$props","attachment","displayWidth","top","left","bottom","right","thumbnail","previewUrl","previewWidth","originalUrl","originalWidth","hasSize","srcSet","sizes","focusX","focusY","x","y","alt","style","objectPosition","aria-label","loop","controls","autoPlay","autoplay","onMouseEnter","onMouseLeave","muted","defaultProps","_React$PureComponent2","_temp3","_this2","_ret2","_len2","_key2","visible","handleOpen","setState","handleRef","offsetWidth","componentWillReceiveProps","nextProps","isStandaloneEligible","_props2","_this3","_props3","_state","take","i","warning","spoiler-button--visible","overlay","833","Status","_dec","__WEBPACK_IMPORTED_MODULE_4_immutable__","__WEBPACK_IMPORTED_MODULE_4_immutable___default","__WEBPACK_IMPORTED_MODULE_6_react_redux__","__WEBPACK_IMPORTED_MODULE_7_prop_types__","__WEBPACK_IMPORTED_MODULE_7_prop_types___default","__WEBPACK_IMPORTED_MODULE_8_classnames__","__WEBPACK_IMPORTED_MODULE_8_classnames___default","__WEBPACK_IMPORTED_MODULE_9_react_immutable_proptypes__","__WEBPACK_IMPORTED_MODULE_9_react_immutable_proptypes___default","__WEBPACK_IMPORTED_MODULE_10__actions_statuses__","__WEBPACK_IMPORTED_MODULE_11__components_missing_indicator__","__WEBPACK_IMPORTED_MODULE_12__components_detailed_status__","__WEBPACK_IMPORTED_MODULE_13__components_action_bar__","__WEBPACK_IMPORTED_MODULE_14__ui_components_column__","__WEBPACK_IMPORTED_MODULE_15__actions_interactions__","__WEBPACK_IMPORTED_MODULE_16__actions_compose__","__WEBPACK_IMPORTED_MODULE_17__actions_accounts__","__WEBPACK_IMPORTED_MODULE_18__actions_mutes__","__WEBPACK_IMPORTED_MODULE_19__actions_reports__","__WEBPACK_IMPORTED_MODULE_20__selectors__","__WEBPACK_IMPORTED_MODULE_21_react_router_scroll_4__","__WEBPACK_IMPORTED_MODULE_22__components_column_back_button__","__WEBPACK_IMPORTED_MODULE_23__components_column_header__","__WEBPACK_IMPORTED_MODULE_24__containers_status_container__","__WEBPACK_IMPORTED_MODULE_25__actions_modal__","__WEBPACK_IMPORTED_MODULE_26_react_intl__","__WEBPACK_IMPORTED_MODULE_27_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_27_react_immutable_pure_component___default","__WEBPACK_IMPORTED_MODULE_28_react_hotkeys__","__WEBPACK_IMPORTED_MODULE_29__initial_state__","__WEBPACK_IMPORTED_MODULE_30__features_ui_util_fullscreen__","revealAll","hideAll","params","ancestorsIds","List","descendantsIds","withMutations","mutable","unshift","ids","shift","replies","forEach","fullscreen","handlePin","handleModalReblog","handleOpenMedia","handleToggleHidden","handleToggleAll","_this$props2","statusIds","toJS","_this$props3","handleHotkeyMoveUp","handleMoveUp","handleHotkeyMoveDown","handleMoveDown","handleHotkeyReply","handleHotkeyFavourite","handleHotkeyBoost","handleHotkeyMention","handleHotkeyOpenProfile","handleHotkeyToggleHidden","_this$props4","_selectChild","indexOf","_this$props5","onFullScreenChange","componentWillMount","componentDidMount","_scrolledIntoView","element","querySelectorAll","focus","renderChildren","list","onMoveUp","onMoveDown","componentDidUpdate","scrollIntoView","componentWillUnmount","ancestors","descendants","handlers","moveUp","moveDown","boost","openProfile","toggleHidden","showBackButton","extraButton","aria-pressed","scrollKey","tabIndex","881","__WEBPACK_IMPORTED_MODULE_2_react_intl__","MissingIndicator","tagName","912","Card","__WEBPACK_IMPORTED_MODULE_5_immutable___default","__WEBPACK_IMPORTED_MODULE_6_punycode__","__WEBPACK_IMPORTED_MODULE_6_punycode___default","__WEBPACK_IMPORTED_MODULE_7_classnames__","__WEBPACK_IMPORTED_MODULE_7_classnames___default","decodeIDNA","domain","split","part","decode","slice","join","getHostname","parser","document","hostname","trim","len","cut","substring","domParser","DOMParser","addAutoPlay","html","parseFromString","documentElement","iframe","innerHTML","embedded","handlePhotoClick","fromJS","description","meta","original","handleEmbedClick","renderVideo","content","__html","ratio","dangerouslySetInnerHTML","maxDescription","provider","horizontal","interactive","backgroundImage","iconVariant","913","exports","global","__WEBPACK_AMD_DEFINE_RESULT__","root","RangeError","errors","array","fn","result","mapDomain","string","parts","regexSeparators","ucs2decode","extra","output","counter","charCodeAt","ucs2encode","stringFromCharCode","basicToDigit","codePoint","base","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","k","floor","damp","baseMinusTMin","tMax","skew","input","out","basic","j","oldi","w","t","baseMinusT","inputLength","initialN","bias","initialBias","lastIndexOf","delimiter","maxInt","tMin","splice","encode","handledCPCount","basicLength","m","q","currentValue","handledCPCountPlusOne","qMinusT","toUnicode","regexPunycode","test","toLowerCase","toASCII","regexNonASCII","freeGlobal","nodeType","punycode","overflow","not-basic","invalid-input","Math","String","fromCharCode","version","ucs2","undefined"],"mappings":"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","file":"features/status.js","sourcesContent":["webpackJsonp([19,33],{\n\n/***/ 1007:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return DetailedStatus; });\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_immutable_proptypes__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_avatar__ = __webpack_require__(54);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_display_name__ = __webpack_require__(53);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_status_content__ = __webpack_require__(104);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__components_media_gallery__ = __webpack_require__(820);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__components_attachment_list__ = __webpack_require__(338);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_router_dom__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__containers_card_container__ = __webpack_require__(1008);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15_react_immutable_pure_component__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_15_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__video__ = __webpack_require__(74);\n\n\n\n\n\nvar _class, _temp2;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar DetailedStatus = (_temp2 = _class = function (_ImmutablePureCompone) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(DetailedStatus, _ImmutablePureCompone);\n\n  function DetailedStatus() {\n    var _temp, _this, _ret;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, DetailedStatus);\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.handleAccountClick = function (e) {\n      if (e.button === 0) {\n        e.preventDefault();\n        _this.context.router.history.push('/accounts/' + _this.props.status.getIn(['account', 'id']));\n      }\n\n      e.stopPropagation();\n    }, _this.handleOpenVideo = function (media, startTime) {\n      _this.props.onOpenVideo(media, startTime);\n    }, _this.handleExpandedToggle = function () {\n      _this.props.onToggleHidden(_this.props.status);\n    }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n  }\n\n  DetailedStatus.prototype.render = function render() {\n    var status = this.props.status.get('reblog') ? this.props.status.get('reblog') : this.props.status;\n\n    var media = '';\n    var applicationLink = '';\n    var reblogLink = '';\n    var reblogIcon = 'retweet';\n\n    if (status.get('media_attachments').size > 0) {\n      if (status.get('media_attachments').some(function (item) {\n        return item.get('type') === 'unknown';\n      })) {\n        media = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_11__components_attachment_list__[\"a\" /* default */], {\n          media: status.get('media_attachments')\n        });\n      } else if (status.getIn(['media_attachments', 0, 'type']) === 'video') {\n        var video = status.getIn(['media_attachments', 0]);\n\n        media = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_16__video__[\"default\"], {\n          preview: video.get('preview_url'),\n          src: video.get('url'),\n          width: 300,\n          height: 150,\n          inline: true,\n          onOpenVideo: this.handleOpenVideo,\n          sensitive: status.get('sensitive')\n        });\n      } else {\n        media = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__components_media_gallery__[\"default\"], {\n          standalone: true,\n          sensitive: status.get('sensitive'),\n          media: status.get('media_attachments'),\n          height: 300,\n          onOpenMedia: this.props.onOpenMedia\n        });\n      }\n    } else if (status.get('spoiler_text').length === 0) {\n      media = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_14__containers_card_container__[\"a\" /* default */], {\n        onOpenMedia: this.props.onOpenMedia,\n        statusId: status.get('id')\n      });\n    }\n\n    if (status.get('application')) {\n      applicationLink = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {}, void 0, ' \\xB7 ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n        className: 'detailed-status__application',\n        href: status.getIn(['application', 'website']),\n        target: '_blank',\n        rel: 'noopener'\n      }, void 0, status.getIn(['application', 'name'])));\n    }\n\n    if (status.get('visibility') === 'direct') {\n      reblogIcon = 'envelope';\n    } else if (status.get('visibility') === 'private') {\n      reblogIcon = 'lock';\n    }\n\n    if (status.get('visibility') === 'private') {\n      reblogLink = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n        className: 'fa fa-' + reblogIcon\n      });\n    } else {\n      reblogLink = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_12_react_router_dom__[\"b\" /* Link */], {\n        to: '/statuses/' + status.get('id') + '/reblogs',\n        className: 'detailed-status__link'\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n        className: 'fa fa-' + reblogIcon\n      }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n        className: 'detailed-status__reblogs'\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13_react_intl__[\"c\" /* FormattedNumber */], {\n        value: status.get('reblogs_count')\n      })));\n    }\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'detailed-status'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n      href: status.getIn(['account', 'url']),\n      onClick: this.handleAccountClick,\n      className: 'detailed-status__display-name'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'detailed-status__display-avatar'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__components_avatar__[\"a\" /* default */], {\n      account: status.get('account'),\n      size: 48\n    })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__components_display_name__[\"a\" /* default */], {\n      account: status.get('account')\n    })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__components_status_content__[\"a\" /* default */], {\n      status: status,\n      expanded: !status.get('hidden'),\n      onExpandedToggle: this.handleExpandedToggle\n    }), media, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'detailed-status__meta'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n      className: 'detailed-status__datetime',\n      href: status.get('url'),\n      target: '_blank',\n      rel: 'noopener'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13_react_intl__[\"a\" /* FormattedDate */], {\n      value: new Date(status.get('created_at')),\n      hour12: false,\n      year: 'numeric',\n      month: 'short',\n      day: '2-digit',\n      hour: '2-digit',\n      minute: '2-digit'\n    })), applicationLink, ' \\xB7 ', reblogLink, ' \\xB7 ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_12_react_router_dom__[\"b\" /* Link */], {\n      to: '/statuses/' + status.get('id') + '/favourites',\n      className: 'detailed-status__link'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n      className: 'fa fa-star'\n    }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n      className: 'detailed-status__favorites'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13_react_intl__[\"c\" /* FormattedNumber */], {\n      value: status.get('favourites_count')\n    })))));\n  };\n\n  return DetailedStatus;\n}(__WEBPACK_IMPORTED_MODULE_15_react_immutable_pure_component___default.a), _class.contextTypes = {\n  router: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object\n}, _class.propTypes = {\n  status: __WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes___default.a.map.isRequired,\n  onOpenMedia: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func.isRequired,\n  onOpenVideo: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func.isRequired,\n  onToggleHidden: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func.isRequired\n}, _temp2);\n\n\n/***/ }),\n\n/***/ 1008:\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_card__ = __webpack_require__(912);\n\n\n\nvar mapStateToProps = function mapStateToProps(state, _ref) {\n  var statusId = _ref.statusId;\n  return {\n    card: state.getIn(['cards', statusId], null)\n  };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps)(__WEBPACK_IMPORTED_MODULE_1__components_card__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 1009:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ActionBar; });\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_icon_button__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__containers_dropdown_menu_container__ = __webpack_require__(300);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__initial_state__ = __webpack_require__(13);\n\n\n\n\n\nvar _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_8_react_intl__[\"f\" /* defineMessages */])({\n  delete: {\n    'id': 'status.delete',\n    'defaultMessage': 'Delete'\n  },\n  direct: {\n    'id': 'status.direct',\n    'defaultMessage': 'Direct message @{name}'\n  },\n  mention: {\n    'id': 'status.mention',\n    'defaultMessage': 'Mention @{name}'\n  },\n  reply: {\n    'id': 'status.reply',\n    'defaultMessage': 'Reply'\n  },\n  reblog: {\n    'id': 'status.reblog',\n    'defaultMessage': 'Boost'\n  },\n  reblog_private: {\n    'id': 'status.reblog_private',\n    'defaultMessage': 'Boost to original audience'\n  },\n  cancel_reblog_private: {\n    'id': 'status.cancel_reblog_private',\n    'defaultMessage': 'Unboost'\n  },\n  cannot_reblog: {\n    'id': 'status.cannot_reblog',\n    'defaultMessage': 'This post cannot be boosted'\n  },\n  favourite: {\n    'id': 'status.favourite',\n    'defaultMessage': 'Favourite'\n  },\n  mute: {\n    'id': 'status.mute',\n    'defaultMessage': 'Mute @{name}'\n  },\n  muteConversation: {\n    'id': 'status.mute_conversation',\n    'defaultMessage': 'Mute conversation'\n  },\n  unmuteConversation: {\n    'id': 'status.unmute_conversation',\n    'defaultMessage': 'Unmute conversation'\n  },\n  block: {\n    'id': 'status.block',\n    'defaultMessage': 'Block @{name}'\n  },\n  report: {\n    'id': 'status.report',\n    'defaultMessage': 'Report @{name}'\n  },\n  share: {\n    'id': 'status.share',\n    'defaultMessage': 'Share'\n  },\n  pin: {\n    'id': 'status.pin',\n    'defaultMessage': 'Pin on profile'\n  },\n  unpin: {\n    'id': 'status.unpin',\n    'defaultMessage': 'Unpin from profile'\n  },\n  embed: {\n    'id': 'status.embed',\n    'defaultMessage': 'Embed'\n  }\n});\n\nvar ActionBar = Object(__WEBPACK_IMPORTED_MODULE_8_react_intl__[\"g\" /* injectIntl */])(_class = (_temp2 = _class2 = function (_React$PureComponent) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ActionBar, _React$PureComponent);\n\n  function ActionBar() {\n    var _temp, _this, _ret;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ActionBar);\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.handleReplyClick = function () {\n      _this.props.onReply(_this.props.status);\n    }, _this.handleReblogClick = function (e) {\n      _this.props.onReblog(_this.props.status, e);\n    }, _this.handleFavouriteClick = function () {\n      _this.props.onFavourite(_this.props.status);\n    }, _this.handleDeleteClick = function () {\n      _this.props.onDelete(_this.props.status);\n    }, _this.handleDirectClick = function () {\n      _this.props.onDirect(_this.props.status.get('account'), _this.context.router.history);\n    }, _this.handleMentionClick = function () {\n      _this.props.onMention(_this.props.status.get('account'), _this.context.router.history);\n    }, _this.handleMuteClick = function () {\n      _this.props.onMute(_this.props.status.get('account'));\n    }, _this.handleConversationMuteClick = function () {\n      _this.props.onMuteConversation(_this.props.status);\n    }, _this.handleBlockClick = function () {\n      _this.props.onBlock(_this.props.status.get('account'));\n    }, _this.handleReport = function () {\n      _this.props.onReport(_this.props.status);\n    }, _this.handlePinClick = function () {\n      _this.props.onPin(_this.props.status);\n    }, _this.handleShare = function () {\n      navigator.share({\n        text: _this.props.status.get('search_index'),\n        url: _this.props.status.get('url')\n      });\n    }, _this.handleEmbed = function () {\n      _this.props.onEmbed(_this.props.status);\n    }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n  }\n\n  ActionBar.prototype.render = function render() {\n    var _props = this.props,\n        status = _props.status,\n        intl = _props.intl;\n\n\n    var publicStatus = ['public', 'unlisted'].includes(status.get('visibility'));\n    var mutingConversation = status.get('muted');\n\n    var menu = [];\n\n    if (publicStatus) {\n      //WV not yet in Pleroma\n      //menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed });\n      menu.push(null);\n    }\n\n    if (__WEBPACK_IMPORTED_MODULE_9__initial_state__[\"g\" /* me */] === status.getIn(['account', 'id'])) {\n      //WV not yet in Pleroma\n      //if (publicStatus) {\n      //  menu.push({ text: intl.formatMessage(status.get('pinned') ? messages.unpin : messages.pin), action: this.handlePinClick });\n      //} else {\n      if (status.get('visibility') === 'private') {\n        menu.push({ text: intl.formatMessage(status.get('reblogged') ? messages.cancel_reblog_private : messages.reblog_private), action: this.handleReblogClick });\n      }\n      //}\n\n      menu.push(null);\n      //WV not yet in Pleroma\n      //menu.push({ text: intl.formatMessage(mutingConversation ? messages.unmuteConversation : messages.muteConversation), action: this.handleConversationMuteClick });\n      //menu.push(null);\n      menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDeleteClick });\n    } else {\n      menu.push({ text: intl.formatMessage(messages.mention, { name: status.getIn(['account', 'username']) }), action: this.handleMentionClick });\n      menu.push({ text: intl.formatMessage(messages.direct, { name: status.getIn(['account', 'username']) }), action: this.handleDirectClick });\n      menu.push(null);\n      //WV not yet in Pleroma\n      //menu.push({ text: intl.formatMessage(messages.mute, { name: status.getIn(['account', 'username']) }), action: this.handleMuteClick });\n      menu.push({ text: intl.formatMessage(messages.block, { name: status.getIn(['account', 'username']) }), action: this.handleBlockClick });\n      menu.push({ text: intl.formatMessage(messages.report, { name: status.getIn(['account', 'username']) }), action: this.handleReport });\n    }\n\n    var shareButton = 'share' in navigator && status.get('visibility') === 'public' && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'detailed-status__button'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__components_icon_button__[\"a\" /* default */], {\n      title: intl.formatMessage(messages.share),\n      icon: 'share-alt',\n      onClick: this.handleShare\n    }));\n\n    var reblogIcon = 'retweet';\n    if (status.get('visibility') === 'direct') reblogIcon = 'envelope';else if (status.get('visibility') === 'private') reblogIcon = 'lock';\n\n    var reblog_disabled = status.get('visibility') === 'direct' || status.get('visibility') === 'private';\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'detailed-status__action-bar'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'detailed-status__button'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__components_icon_button__[\"a\" /* default */], {\n      title: intl.formatMessage(messages.reply),\n      icon: status.get('in_reply_to_id', null) === null ? 'reply' : 'reply-all',\n      onClick: this.handleReplyClick\n    })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'detailed-status__button'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__components_icon_button__[\"a\" /* default */], {\n      disabled: reblog_disabled,\n      active: status.get('reblogged'),\n      title: reblog_disabled ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog),\n      icon: reblogIcon,\n      onClick: this.handleReblogClick\n    })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'detailed-status__button'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__components_icon_button__[\"a\" /* default */], {\n      className: 'star-icon',\n      animate: true,\n      active: status.get('favourited'),\n      title: intl.formatMessage(messages.favourite),\n      icon: 'star',\n      onClick: this.handleFavouriteClick\n    })), shareButton, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'detailed-status__action-bar-dropdown'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__containers_dropdown_menu_container__[\"a\" /* default */], {\n      size: 18,\n      icon: 'ellipsis-h',\n      items: menu,\n      direction: 'left',\n      title: 'More'\n    })));\n  };\n\n  return ActionBar;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent), _class2.contextTypes = {\n  router: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object\n}, _temp2)) || _class;\n\n\n\n/***/ }),\n\n/***/ 153:\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/***/ 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__(32);\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__(153);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__scroll__ = __webpack_require__(90);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__is_mobile__ = __webpack_require__(43);\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/***/ 285:\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__(7);\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/***/ 286:\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/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_status__ = __webpack_require__(156);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__selectors__ = __webpack_require__(68);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__actions_compose__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__actions_interactions__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__actions_accounts__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__actions_statuses__ = __webpack_require__(91);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__actions_mutes__ = __webpack_require__(89);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__actions_reports__ = __webpack_require__(155);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__actions_modal__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__initial_state__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__actions_alerts__ = __webpack_require__(33);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_12_react_intl__[\"f\" /* defineMessages */])({\n  deleteConfirm: {\n    'id': 'confirmations.delete.confirm',\n    'defaultMessage': 'Delete'\n  },\n  deleteMessage: {\n    'id': 'confirmations.delete.message',\n    'defaultMessage': 'Are you sure you want to delete this status?'\n  },\n  blockConfirm: {\n    'id': 'confirmations.block.confirm',\n    'defaultMessage': 'Block'\n  }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n  var getStatus = Object(__WEBPACK_IMPORTED_MODULE_4__selectors__[\"e\" /* makeGetStatus */])();\n\n  var mapStateToProps = function mapStateToProps(state, props) {\n    return {\n      status: getStatus(state, props.id)\n    };\n  };\n\n  return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n  var intl = _ref.intl;\n  return {\n    onReply: function onReply(status, router) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_5__actions_compose__[\"T\" /* replyCompose */])(status, router));\n    },\n    onModalReblog: function onModalReblog(status) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"o\" /* reblog */])(status));\n    },\n    onReblog: function onReblog(status, e) {\n      if (status.get('reblogged')) {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"r\" /* unreblog */])(status));\n      } else {\n        if (e.shiftKey || !__WEBPACK_IMPORTED_MODULE_13__initial_state__[\"b\" /* boostModal */]) {\n          this.onModalReblog(status);\n        } else {\n          dispatch(Object(__WEBPACK_IMPORTED_MODULE_11__actions_modal__[\"d\" /* openModal */])('BOOST', { status: status, onReblog: this.onModalReblog }));\n        }\n      }\n    },\n    onFavourite: function onFavourite(status) {\n      if (status.get('favourited')) {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"p\" /* unfavourite */])(status));\n      } else {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"k\" /* favourite */])(status));\n      }\n    },\n    onPin: function onPin(status) {\n      if (status.get('pinned')) {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"q\" /* unpin */])(status));\n      } else {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"n\" /* pin */])(status));\n      }\n    },\n    onEmbed: function onEmbed(status) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_11__actions_modal__[\"d\" /* openModal */])('EMBED', {\n        url: status.get('url'),\n        onError: function onError(error) {\n          return dispatch(Object(__WEBPACK_IMPORTED_MODULE_14__actions_alerts__[\"e\" /* showAlertForError */])(error));\n        }\n      }));\n    },\n    onDelete: function onDelete(status) {\n      if (!__WEBPACK_IMPORTED_MODULE_13__initial_state__[\"e\" /* deleteModal */]) {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"f\" /* deleteStatus */])(status.get('id')));\n      } else {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_11__actions_modal__[\"d\" /* openModal */])('CONFIRM', {\n          message: intl.formatMessage(messages.deleteMessage),\n          confirm: intl.formatMessage(messages.deleteConfirm),\n          onConfirm: function onConfirm() {\n            return dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"f\" /* deleteStatus */])(status.get('id')));\n          }\n        }));\n      }\n    },\n    onDirect: function onDirect(account, router) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_5__actions_compose__[\"N\" /* directCompose */])(account, router));\n    },\n    onMention: function onMention(account, router) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_5__actions_compose__[\"R\" /* mentionCompose */])(account, router));\n    },\n    onOpenMedia: function onOpenMedia(media, index) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_11__actions_modal__[\"d\" /* openModal */])('MEDIA', { media: media, index: index }));\n    },\n    onOpenVideo: function onOpenVideo(media, time) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_11__actions_modal__[\"d\" /* openModal */])('VIDEO', { media: media, time: time }));\n    },\n    onBlock: function onBlock(account) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_11__actions_modal__[\"d\" /* openModal */])('CONFIRM', {\n        message: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_12_react_intl__[\"b\" /* FormattedMessage */], {\n          id: 'confirmations.block.message',\n          defaultMessage: 'Are you sure you want to block {name}?',\n          values: { name: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {}, void 0, '@', account.get('acct')) }\n        }),\n        confirm: intl.formatMessage(messages.blockConfirm),\n        onConfirm: function onConfirm() {\n          return dispatch(Object(__WEBPACK_IMPORTED_MODULE_7__actions_accounts__[\"q\" /* blockAccount */])(account.get('id')));\n        }\n      }));\n    },\n    onReport: function onReport(status) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_reports__[\"k\" /* initReport */])(status.get('account'), status));\n    },\n    onMute: function onMute(account) {\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_9__actions_mutes__[\"g\" /* initMuteModal */])(account));\n    },\n    onMuteConversation: function onMuteConversation(status) {\n      if (status.get('muted')) {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"k\" /* unmuteStatus */])(status.get('id')));\n      } else {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"i\" /* muteStatus */])(status.get('id')));\n      }\n    },\n    onToggleHidden: function onToggleHidden(status) {\n      if (status.get('hidden')) {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"j\" /* revealStatus */])(status.get('id')));\n      } else {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"h\" /* hideStatus */])(status.get('id')));\n      }\n    }\n  };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_12_react_intl__[\"g\" /* injectIntl */])(Object(__WEBPACK_IMPORTED_MODULE_2_react_redux__[\"connect\"])(makeMapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_3__components_status__[\"a\" /* default */])));\n\n/***/ }),\n\n/***/ 820:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MediaGallery; });\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_immutable__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_immutable__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__icon_button__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__is_mobile__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__initial_state__ = __webpack_require__(13);\n\n\n\n\n\nvar _class, _temp2, _class2, _class3, _temp4;\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"f\" /* defineMessages */])({\n  toggle_visible: {\n    'id': 'media_gallery.toggle_visible',\n    'defaultMessage': 'Toggle visibility'\n  }\n});\n\nvar Item = (_temp2 = _class = function (_React$PureComponent) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Item, _React$PureComponent);\n\n  function Item() {\n    var _temp, _this, _ret;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Item);\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.handleMouseEnter = function (e) {\n      if (_this.hoverToPlay()) {\n        e.target.play();\n      }\n    }, _this.handleMouseLeave = function (e) {\n      if (_this.hoverToPlay()) {\n        e.target.pause();\n        e.target.currentTime = 0;\n      }\n    }, _this.handleClick = function (e) {\n      var _this$props = _this.props,\n          index = _this$props.index,\n          onClick = _this$props.onClick;\n\n\n      if (e.button === 0) {\n        e.preventDefault();\n        onClick(index);\n      }\n\n      e.stopPropagation();\n    }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n  }\n\n  Item.prototype.hoverToPlay = function hoverToPlay() {\n    var attachment = this.props.attachment;\n\n    return !__WEBPACK_IMPORTED_MODULE_10__initial_state__[\"a\" /* autoPlayGif */] && attachment.get('type') === 'gifv';\n  };\n\n  Item.prototype.render = function render() {\n    var _props = this.props,\n        attachment = _props.attachment,\n        index = _props.index,\n        size = _props.size,\n        standalone = _props.standalone,\n        displayWidth = _props.displayWidth;\n\n\n    var width = 50;\n    var height = 100;\n    var top = 'auto';\n    var left = 'auto';\n    var bottom = 'auto';\n    var right = 'auto';\n\n    if (size === 1) {\n      width = 100;\n    }\n\n    if (size === 4 || size === 3 && index > 0) {\n      height = 50;\n    }\n\n    if (size === 2) {\n      if (index === 0) {\n        right = '2px';\n      } else {\n        left = '2px';\n      }\n    } else if (size === 3) {\n      if (index === 0) {\n        right = '2px';\n      } else if (index > 0) {\n        left = '2px';\n      }\n\n      if (index === 1) {\n        bottom = '2px';\n      } else if (index > 1) {\n        top = '2px';\n      }\n    } else if (size === 4) {\n      if (index === 0 || index === 2) {\n        right = '2px';\n      }\n\n      if (index === 1 || index === 3) {\n        left = '2px';\n      }\n\n      if (index < 2) {\n        bottom = '2px';\n      } else {\n        top = '2px';\n      }\n    }\n\n    var thumbnail = '';\n\n    if (attachment.get('type') === 'image') {\n      var previewUrl = attachment.get('preview_url');\n      var previewWidth = attachment.getIn(['meta', 'small', 'width']);\n\n      var originalUrl = attachment.get('url');\n      var originalWidth = attachment.getIn(['meta', 'original', 'width']);\n\n      var hasSize = typeof originalWidth === 'number' && typeof previewWidth === 'number';\n\n      var srcSet = hasSize ? originalUrl + ' ' + originalWidth + 'w, ' + previewUrl + ' ' + previewWidth + 'w' : null;\n      var sizes = hasSize ? displayWidth * (width / 100) + 'px' : null;\n\n      var focusX = attachment.getIn(['meta', 'focus', 'x']) || 0;\n      var focusY = attachment.getIn(['meta', 'focus', 'y']) || 0;\n      var x = (focusX / 2 + .5) * 100;\n      var y = (focusY / -2 + .5) * 100;\n\n      thumbnail = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n        className: 'media-gallery__item-thumbnail',\n        href: attachment.get('remote_url') || originalUrl,\n        onClick: this.handleClick,\n        target: '_blank'\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('img', {\n        src: previewUrl,\n        srcSet: srcSet,\n        sizes: sizes,\n        alt: attachment.get('description'),\n        title: attachment.get('description'),\n        style: { objectPosition: x + '% ' + y + '%' }\n      }));\n    } else if (attachment.get('type') === 'audio') {\n      thumbnail = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n        className: 'media-gallery__audio'\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('audio', {\n        className: 'media-gallery__item-audio-thumbnail',\n        'aria-label': attachment.get('description'),\n        role: 'application',\n        src: attachment.get('url'),\n        loop: true,\n        controls: true\n      }));\n    } else if (attachment.get('type') === 'gifv') {\n      var autoPlay = !Object(__WEBPACK_IMPORTED_MODULE_8__is_mobile__[\"a\" /* isIOS */])() && __WEBPACK_IMPORTED_MODULE_10__initial_state__[\"a\" /* autoPlayGif */];\n\n      thumbnail = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n        className: __WEBPACK_IMPORTED_MODULE_9_classnames___default()('media-gallery__gifv', { autoplay: autoPlay })\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('video', {\n        className: 'media-gallery__item-gifv-thumbnail',\n        'aria-label': attachment.get('description'),\n        role: 'application',\n        src: attachment.get('url'),\n        onClick: this.handleClick,\n        onMouseEnter: this.handleMouseEnter,\n        onMouseLeave: this.handleMouseLeave,\n        autoPlay: autoPlay,\n        loop: true,\n        muted: true\n      }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n        className: 'media-gallery__gifv__label'\n      }, void 0, 'GIF'));\n    }\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: __WEBPACK_IMPORTED_MODULE_9_classnames___default()('media-gallery__item', { standalone: standalone }),\n      style: { left: left, top: top, right: right, bottom: bottom, width: width + '%', height: height + '%' }\n    }, attachment.get('id'), thumbnail);\n  };\n\n  return Item;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent), _class.defaultProps = {\n  standalone: false,\n  index: 0,\n  size: 1\n}, _temp2);\n\nvar MediaGallery = Object(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"g\" /* injectIntl */])(_class2 = (_temp4 = _class3 = function (_React$PureComponent2) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(MediaGallery, _React$PureComponent2);\n\n  function MediaGallery() {\n    var _temp3, _this2, _ret2;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, MediaGallery);\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 = (_temp3 = (_this2 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this2), _this2.state = {\n      visible: !_this2.props.sensitive || __WEBPACK_IMPORTED_MODULE_10__initial_state__[\"f\" /* displaySensitiveMedia */]\n    }, _this2.handleOpen = function () {\n      _this2.setState({ visible: !_this2.state.visible });\n    }, _this2.handleClick = function (index) {\n      _this2.props.onOpenMedia(_this2.props.media, index);\n    }, _this2.handleRef = function (node) {\n      if (node /*&& this.isStandaloneEligible()*/) {\n          // offsetWidth triggers a layout, so only calculate when we need to\n          _this2.setState({\n            width: node.offsetWidth\n          });\n        }\n    }, _temp3), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this2, _ret2);\n  }\n\n  MediaGallery.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n    if (!Object(__WEBPACK_IMPORTED_MODULE_5_immutable__[\"is\"])(nextProps.media, this.props.media)) {\n      this.setState({ visible: !nextProps.sensitive });\n    }\n  };\n\n  MediaGallery.prototype.isStandaloneEligible = function isStandaloneEligible() {\n    var _props2 = this.props,\n        media = _props2.media,\n        standalone = _props2.standalone;\n\n    return standalone && media.size === 1 && media.getIn([0, 'meta', 'small', 'aspect']);\n  };\n\n  MediaGallery.prototype.render = function render() {\n    var _this3 = this;\n\n    var _props3 = this.props,\n        media = _props3.media,\n        intl = _props3.intl,\n        sensitive = _props3.sensitive,\n        height = _props3.height;\n    var _state = this.state,\n        width = _state.width,\n        visible = _state.visible;\n\n\n    var children = void 0;\n\n    var style = {};\n\n    if (this.isStandaloneEligible()) {\n      if (width) {\n        style.height = width / this.props.media.getIn([0, 'meta', 'small', 'aspect']);\n      }\n    } else if (width) {\n      style.height = width / (16 / 9);\n    } else {\n      style.height = height;\n    }\n\n    if (!visible) {\n      var warning = void 0;\n\n      if (sensitive) {\n        warning = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"b\" /* FormattedMessage */], {\n          id: 'status.sensitive_warning',\n          defaultMessage: 'Sensitive content'\n        });\n      } else {\n        warning = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"b\" /* FormattedMessage */], {\n          id: 'status.media_hidden',\n          defaultMessage: 'Media hidden'\n        });\n      }\n\n      children = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n        'button',\n        { type: 'button', className: 'media-spoiler', onClick: this.handleOpen, style: style, ref: this.handleRef },\n        __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n          className: 'media-spoiler__warning'\n        }, void 0, warning),\n        __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n          className: 'media-spoiler__trigger'\n        }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"b\" /* FormattedMessage */], {\n          id: 'status.sensitive_toggle',\n          defaultMessage: 'Click to view'\n        }))\n      );\n    } else {\n      var size = media.take(4).size;\n\n      if (this.isStandaloneEligible()) {\n        children = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Item, {\n          standalone: true,\n          onClick: this.handleClick,\n          attachment: media.get(0),\n          displayWidth: width\n        });\n      } else {\n        children = media.take(4).map(function (attachment, i) {\n          return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Item, {\n            onClick: _this3.handleClick,\n            attachment: attachment,\n            index: i,\n            size: size,\n            displayWidth: width\n          }, attachment.get('id'));\n        });\n      }\n    }\n\n    return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n      'div',\n      { className: 'media-gallery', style: style, ref: this.handleRef },\n      __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n        className: __WEBPACK_IMPORTED_MODULE_9_classnames___default()('spoiler-button', { 'spoiler-button--visible': visible })\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__icon_button__[\"a\" /* default */], {\n        title: intl.formatMessage(messages.toggle_visible),\n        icon: visible ? 'eye' : 'eye-slash',\n        overlay: true,\n        onClick: this.handleOpen\n      })),\n      children\n    );\n  };\n\n  return MediaGallery;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent), _class3.defaultProps = {\n  standalone: false\n}, _temp4)) || _class2;\n\n\n\n/***/ }),\n\n/***/ 833:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Status; });\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_immutable__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_immutable__);\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_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_immutable_proptypes__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__actions_statuses__ = __webpack_require__(91);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__components_missing_indicator__ = __webpack_require__(881);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__components_detailed_status__ = __webpack_require__(1007);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__components_action_bar__ = __webpack_require__(1009);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__ui_components_column__ = __webpack_require__(283);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__actions_interactions__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__actions_compose__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__actions_accounts__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__actions_mutes__ = __webpack_require__(89);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__actions_reports__ = __webpack_require__(155);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__selectors__ = __webpack_require__(68);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21_react_router_scroll_4__ = __webpack_require__(154);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__components_column_back_button__ = __webpack_require__(285);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__components_column_header__ = __webpack_require__(70);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__containers_status_container__ = __webpack_require__(286);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__actions_modal__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26_react_intl__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27_react_immutable_pure_component__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_27_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28_react_hotkeys__ = __webpack_require__(160);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28_react_hotkeys___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_28_react_hotkeys__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__initial_state__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__features_ui_util_fullscreen__ = __webpack_require__(157);\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\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_26_react_intl__[\"f\" /* defineMessages */])({\n  deleteConfirm: {\n    'id': 'confirmations.delete.confirm',\n    'defaultMessage': 'Delete'\n  },\n  deleteMessage: {\n    'id': 'confirmations.delete.message',\n    'defaultMessage': 'Are you sure you want to delete this status?'\n  },\n  blockConfirm: {\n    'id': 'confirmations.block.confirm',\n    'defaultMessage': 'Block'\n  },\n  revealAll: {\n    'id': 'status.show_more_all',\n    'defaultMessage': 'Show more for all'\n  },\n  hideAll: {\n    'id': 'status.show_less_all',\n    'defaultMessage': 'Show less for all'\n  }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n  var getStatus = Object(__WEBPACK_IMPORTED_MODULE_20__selectors__[\"e\" /* makeGetStatus */])();\n\n  var mapStateToProps = function mapStateToProps(state, props) {\n    var status = getStatus(state, props.params.statusId);\n    var ancestorsIds = __WEBPACK_IMPORTED_MODULE_4_immutable___default.a.List();\n    var descendantsIds = __WEBPACK_IMPORTED_MODULE_4_immutable___default.a.List();\n\n    if (status) {\n      ancestorsIds = ancestorsIds.withMutations(function (mutable) {\n        var id = status.get('in_reply_to_id');\n\n        while (id) {\n          mutable.unshift(id);\n          id = state.getIn(['contexts', 'inReplyTos', id]);\n        }\n      });\n\n      descendantsIds = descendantsIds.withMutations(function (mutable) {\n        var ids = [status.get('id')];\n\n        while (ids.length > 0) {\n          var id = ids.shift();\n          var replies = state.getIn(['contexts', 'replies', id]);\n\n          if (replies) {\n            replies.forEach(function (reply) {\n              mutable.push(reply);\n              ids.unshift(reply);\n            });\n          }\n        }\n      });\n    }\n\n    return {\n      status: status,\n      ancestorsIds: ancestorsIds,\n      descendantsIds: descendantsIds\n    };\n  };\n\n  return mapStateToProps;\n};\n\nvar Status = (_dec = Object(__WEBPACK_IMPORTED_MODULE_6_react_redux__[\"connect\"])(makeMapStateToProps), Object(__WEBPACK_IMPORTED_MODULE_26_react_intl__[\"g\" /* injectIntl */])(_class = _dec(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Status, _ImmutablePureCompone);\n\n  function Status() {\n    var _temp, _this, _ret;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Status);\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      fullscreen: false\n    }, _this.handleFavouriteClick = function (status) {\n      if (status.get('favourited')) {\n        _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_15__actions_interactions__[\"p\" /* unfavourite */])(status));\n      } else {\n        _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_15__actions_interactions__[\"k\" /* favourite */])(status));\n      }\n    }, _this.handlePin = function (status) {\n      if (status.get('pinned')) {\n        _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_15__actions_interactions__[\"q\" /* unpin */])(status));\n      } else {\n        _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_15__actions_interactions__[\"n\" /* pin */])(status));\n      }\n    }, _this.handleReplyClick = function (status) {\n      _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_16__actions_compose__[\"T\" /* replyCompose */])(status, _this.context.router.history));\n    }, _this.handleModalReblog = function (status) {\n      _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_15__actions_interactions__[\"o\" /* reblog */])(status));\n    }, _this.handleReblogClick = function (status, e) {\n      if (status.get('reblogged')) {\n        _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_15__actions_interactions__[\"r\" /* unreblog */])(status));\n      } else {\n        if (e.shiftKey || !__WEBPACK_IMPORTED_MODULE_29__initial_state__[\"b\" /* boostModal */]) {\n          _this.handleModalReblog(status);\n        } else {\n          _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_25__actions_modal__[\"d\" /* openModal */])('BOOST', { status: status, onReblog: _this.handleModalReblog }));\n        }\n      }\n    }, _this.handleDeleteClick = function (status) {\n      var _this$props = _this.props,\n          dispatch = _this$props.dispatch,\n          intl = _this$props.intl;\n\n\n      if (!__WEBPACK_IMPORTED_MODULE_29__initial_state__[\"e\" /* deleteModal */]) {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_statuses__[\"f\" /* deleteStatus */])(status.get('id')));\n      } else {\n        dispatch(Object(__WEBPACK_IMPORTED_MODULE_25__actions_modal__[\"d\" /* openModal */])('CONFIRM', {\n          message: intl.formatMessage(messages.deleteMessage),\n          confirm: intl.formatMessage(messages.deleteConfirm),\n          onConfirm: function onConfirm() {\n            return dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_statuses__[\"f\" /* deleteStatus */])(status.get('id')));\n          }\n        }));\n      }\n    }, _this.handleDirectClick = function (account, router) {\n      _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_16__actions_compose__[\"N\" /* directCompose */])(account, router));\n    }, _this.handleMentionClick = function (account, router) {\n      _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_16__actions_compose__[\"R\" /* mentionCompose */])(account, router));\n    }, _this.handleOpenMedia = function (media, index) {\n      _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_25__actions_modal__[\"d\" /* openModal */])('MEDIA', { media: media, index: index }));\n    }, _this.handleOpenVideo = function (media, time) {\n      _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_25__actions_modal__[\"d\" /* openModal */])('VIDEO', { media: media, time: time }));\n    }, _this.handleMuteClick = function (account) {\n      _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_18__actions_mutes__[\"g\" /* initMuteModal */])(account));\n    }, _this.handleConversationMuteClick = function (status) {\n      if (status.get('muted')) {\n        _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_statuses__[\"k\" /* unmuteStatus */])(status.get('id')));\n      } else {\n        _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_statuses__[\"i\" /* muteStatus */])(status.get('id')));\n      }\n    }, _this.handleToggleHidden = function (status) {\n      if (status.get('hidden')) {\n        _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_statuses__[\"j\" /* revealStatus */])(status.get('id')));\n      } else {\n        _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_statuses__[\"h\" /* hideStatus */])(status.get('id')));\n      }\n    }, _this.handleToggleAll = function () {\n      var _this$props2 = _this.props,\n          status = _this$props2.status,\n          ancestorsIds = _this$props2.ancestorsIds,\n          descendantsIds = _this$props2.descendantsIds;\n\n      var statusIds = [status.get('id')].concat(ancestorsIds.toJS(), descendantsIds.toJS());\n\n      if (status.get('hidden')) {\n        _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_statuses__[\"j\" /* revealStatus */])(statusIds));\n      } else {\n        _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_statuses__[\"h\" /* hideStatus */])(statusIds));\n      }\n    }, _this.handleBlockClick = function (account) {\n      var _this$props3 = _this.props,\n          dispatch = _this$props3.dispatch,\n          intl = _this$props3.intl;\n\n\n      dispatch(Object(__WEBPACK_IMPORTED_MODULE_25__actions_modal__[\"d\" /* openModal */])('CONFIRM', {\n        message: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_26_react_intl__[\"b\" /* FormattedMessage */], {\n          id: 'confirmations.block.message',\n          defaultMessage: 'Are you sure you want to block {name}?',\n          values: { name: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {}, void 0, '@', account.get('acct')) }\n        }),\n        confirm: intl.formatMessage(messages.blockConfirm),\n        onConfirm: function onConfirm() {\n          return dispatch(Object(__WEBPACK_IMPORTED_MODULE_17__actions_accounts__[\"q\" /* blockAccount */])(account.get('id')));\n        }\n      }));\n    }, _this.handleReport = function (status) {\n      _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_19__actions_reports__[\"k\" /* initReport */])(status.get('account'), status));\n    }, _this.handleEmbed = function (status) {\n      _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_25__actions_modal__[\"d\" /* openModal */])('EMBED', { url: status.get('url') }));\n    }, _this.handleHotkeyMoveUp = function () {\n      _this.handleMoveUp(_this.props.status.get('id'));\n    }, _this.handleHotkeyMoveDown = function () {\n      _this.handleMoveDown(_this.props.status.get('id'));\n    }, _this.handleHotkeyReply = function (e) {\n      e.preventDefault();\n      _this.handleReplyClick(_this.props.status);\n    }, _this.handleHotkeyFavourite = function () {\n      _this.handleFavouriteClick(_this.props.status);\n    }, _this.handleHotkeyBoost = function () {\n      _this.handleReblogClick(_this.props.status);\n    }, _this.handleHotkeyMention = function (e) {\n      e.preventDefault();\n      _this.handleMentionClick(_this.props.status);\n    }, _this.handleHotkeyOpenProfile = function () {\n      _this.context.router.history.push('/accounts/' + _this.props.status.getIn(['account', 'id']));\n    }, _this.handleHotkeyToggleHidden = function () {\n      _this.handleToggleHidden(_this.props.status);\n    }, _this.handleMoveUp = function (id) {\n      var _this$props4 = _this.props,\n          status = _this$props4.status,\n          ancestorsIds = _this$props4.ancestorsIds,\n          descendantsIds = _this$props4.descendantsIds;\n\n\n      if (id === status.get('id')) {\n        _this._selectChild(ancestorsIds.size - 1);\n      } else {\n        var index = ancestorsIds.indexOf(id);\n\n        if (index === -1) {\n          index = descendantsIds.indexOf(id);\n          _this._selectChild(ancestorsIds.size + index);\n        } else {\n          _this._selectChild(index - 1);\n        }\n      }\n    }, _this.handleMoveDown = function (id) {\n      var _this$props5 = _this.props,\n          status = _this$props5.status,\n          ancestorsIds = _this$props5.ancestorsIds,\n          descendantsIds = _this$props5.descendantsIds;\n\n\n      if (id === status.get('id')) {\n        _this._selectChild(ancestorsIds.size + 1);\n      } else {\n        var index = ancestorsIds.indexOf(id);\n\n        if (index === -1) {\n          index = descendantsIds.indexOf(id);\n          _this._selectChild(ancestorsIds.size + index + 2);\n        } else {\n          _this._selectChild(index + 1);\n        }\n      }\n    }, _this.setRef = function (c) {\n      _this.node = c;\n    }, _this.onFullScreenChange = function () {\n      _this.setState({ fullscreen: Object(__WEBPACK_IMPORTED_MODULE_30__features_ui_util_fullscreen__[\"d\" /* isFullscreen */])() });\n    }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n  }\n\n  Status.prototype.componentWillMount = function componentWillMount() {\n    this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_statuses__[\"g\" /* fetchStatus */])(this.props.params.statusId));\n  };\n\n  Status.prototype.componentDidMount = function componentDidMount() {\n    Object(__WEBPACK_IMPORTED_MODULE_30__features_ui_util_fullscreen__[\"a\" /* attachFullscreenListener */])(this.onFullScreenChange);\n  };\n\n  Status.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n    if (nextProps.params.statusId !== this.props.params.statusId && nextProps.params.statusId) {\n      this._scrolledIntoView = false;\n      this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_statuses__[\"g\" /* fetchStatus */])(nextProps.params.statusId));\n    }\n  };\n\n  Status.prototype._selectChild = function _selectChild(index) {\n    var element = this.node.querySelectorAll('.focusable')[index];\n\n    if (element) {\n      element.focus();\n    }\n  };\n\n  Status.prototype.renderChildren = function renderChildren(list) {\n    var _this2 = this;\n\n    return list.map(function (id) {\n      return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_24__containers_status_container__[\"a\" /* default */], {\n        id: id,\n        onMoveUp: _this2.handleMoveUp,\n        onMoveDown: _this2.handleMoveDown\n      }, id);\n    });\n  };\n\n  Status.prototype.componentDidUpdate = function componentDidUpdate() {\n    if (this._scrolledIntoView) {\n      return;\n    }\n\n    var _props = this.props,\n        status = _props.status,\n        ancestorsIds = _props.ancestorsIds;\n\n\n    if (status && ancestorsIds && ancestorsIds.size > 0) {\n      var element = this.node.querySelectorAll('.focusable')[ancestorsIds.size - 1];\n\n      element.scrollIntoView(true);\n      this._scrolledIntoView = true;\n    }\n  };\n\n  Status.prototype.componentWillUnmount = function componentWillUnmount() {\n    Object(__WEBPACK_IMPORTED_MODULE_30__features_ui_util_fullscreen__[\"b\" /* detachFullscreenListener */])(this.onFullScreenChange);\n  };\n\n  Status.prototype.render = function render() {\n    var ancestors = void 0,\n        descendants = void 0;\n    var _props2 = this.props,\n        status = _props2.status,\n        ancestorsIds = _props2.ancestorsIds,\n        descendantsIds = _props2.descendantsIds,\n        intl = _props2.intl;\n    var fullscreen = this.state.fullscreen;\n\n\n    if (status === null) {\n      return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_14__ui_components_column__[\"a\" /* default */], {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_22__components_column_back_button__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_11__components_missing_indicator__[\"a\" /* default */], {}));\n    }\n\n    if (ancestorsIds && ancestorsIds.size > 0) {\n      ancestors = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {}, void 0, this.renderChildren(ancestorsIds));\n    }\n\n    if (descendantsIds && descendantsIds.size > 0) {\n      descendants = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {}, void 0, this.renderChildren(descendantsIds));\n    }\n\n    var handlers = {\n      moveUp: this.handleHotkeyMoveUp,\n      moveDown: this.handleHotkeyMoveDown,\n      reply: this.handleHotkeyReply,\n      favourite: this.handleHotkeyFavourite,\n      boost: this.handleHotkeyBoost,\n      mention: this.handleHotkeyMention,\n      openProfile: this.handleHotkeyOpenProfile,\n      toggleHidden: this.handleHotkeyToggleHidden\n    };\n\n    return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_14__ui_components_column__[\"a\" /* default */], {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_23__components_column_header__[\"a\" /* default */], {\n      showBackButton: true,\n      extraButton: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n        className: 'column-header__button',\n        title: intl.formatMessage(status.get('hidden') ? messages.revealAll : messages.hideAll),\n        'aria-label': intl.formatMessage(status.get('hidden') ? messages.revealAll : messages.hideAll),\n        onClick: this.handleToggleAll,\n        'aria-pressed': status.get('hidden') ? 'false' : 'true'\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n        className: 'fa fa-' + (status.get('hidden') ? 'eye-slash' : 'eye')\n      }))\n    }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_21_react_router_scroll_4__[\"a\" /* ScrollContainer */], {\n      scrollKey: 'thread'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n      'div',\n      { className: __WEBPACK_IMPORTED_MODULE_8_classnames___default()('scrollable', 'detailed-status__wrapper', { fullscreen: fullscreen }), ref: this.setRef },\n      ancestors,\n      __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_28_react_hotkeys__[\"HotKeys\"], {\n        handlers: handlers\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n        className: 'focusable',\n        tabIndex: '0'\n      }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_12__components_detailed_status__[\"a\" /* default */], {\n        status: status,\n        onOpenVideo: this.handleOpenVideo,\n        onOpenMedia: this.handleOpenMedia,\n        onToggleHidden: this.handleToggleHidden\n      }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13__components_action_bar__[\"a\" /* default */], {\n        status: status,\n        onReply: this.handleReplyClick,\n        onFavourite: this.handleFavouriteClick,\n        onReblog: this.handleReblogClick,\n        onDelete: this.handleDeleteClick,\n        onDirect: this.handleDirectClick,\n        onMention: this.handleMentionClick,\n        onMute: this.handleMuteClick,\n        onMuteConversation: this.handleConversationMuteClick,\n        onBlock: this.handleBlockClick,\n        onReport: this.handleReport,\n        onPin: this.handlePin,\n        onEmbed: this.handleEmbed\n      }))),\n      descendants\n    )));\n  };\n\n  return Status;\n}(__WEBPACK_IMPORTED_MODULE_27_react_immutable_pure_component___default.a), _class2.contextTypes = {\n  router: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.object\n}, _class2.propTypes = {\n  params: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.object.isRequired,\n  dispatch: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.func.isRequired,\n  status: __WEBPACK_IMPORTED_MODULE_9_react_immutable_proptypes___default.a.map,\n  ancestorsIds: __WEBPACK_IMPORTED_MODULE_9_react_immutable_proptypes___default.a.list,\n  descendantsIds: __WEBPACK_IMPORTED_MODULE_9_react_immutable_proptypes___default.a.list,\n  intl: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.object.isRequired\n}, _temp2)) || _class) || _class);\n\n\n/***/ }),\n\n/***/ 881:\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/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_intl__ = __webpack_require__(7);\n\n\n\n\nvar MissingIndicator = function MissingIndicator() {\n  return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n    className: 'regeneration-indicator missing-indicator'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n    className: 'regeneration-indicator__figure'\n  }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n    className: 'regeneration-indicator__label'\n  }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_2_react_intl__[\"b\" /* FormattedMessage */], {\n    id: 'missing_indicator.label',\n    tagName: 'strong',\n    defaultMessage: 'Not found'\n  }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_2_react_intl__[\"b\" /* FormattedMessage */], {\n    id: 'missing_indicator.sublabel',\n    defaultMessage: 'This resource could not be found'\n  }))));\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (MissingIndicator);\n\n/***/ }),\n\n/***/ 912:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Card; });\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_immutable__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_immutable__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_punycode__ = __webpack_require__(913);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_punycode___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_punycode__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_classnames__);\n\n\n\n\n\nvar _class, _temp2;\n\n\n\n\n\n\n\n\nvar IDNA_PREFIX = 'xn--';\n\nvar decodeIDNA = function decodeIDNA(domain) {\n  return domain.split('.').map(function (part) {\n    return part.indexOf(IDNA_PREFIX) === 0 ? __WEBPACK_IMPORTED_MODULE_6_punycode___default.a.decode(part.slice(IDNA_PREFIX.length)) : part;\n  }).join('.');\n};\n\nvar getHostname = function getHostname(url) {\n  var parser = document.createElement('a');\n  parser.href = url;\n  return parser.hostname;\n};\n\nvar trim = function trim(text, len) {\n  var cut = text.indexOf(' ', len);\n\n  if (cut === -1) {\n    return text;\n  }\n\n  return text.substring(0, cut) + (text.length > len ? '…' : '');\n};\n\nvar domParser = new DOMParser();\n\nvar addAutoPlay = function addAutoPlay(html) {\n  var document = domParser.parseFromString(html, 'text/html').documentElement;\n  var iframe = document.querySelector('iframe');\n\n  if (iframe) {\n    if (iframe.src.indexOf('?') !== -1) {\n      iframe.src += '&';\n    } else {\n      iframe.src += '?';\n    }\n\n    iframe.src += 'autoplay=1&auto_play=1';\n\n    // DOM parser creates html/body elements around original HTML fragment,\n    // so we need to get innerHTML out of the body and not the entire document\n    return document.querySelector('body').innerHTML;\n  }\n\n  return html;\n};\n\nvar Card = (_temp2 = _class = function (_React$PureComponent) {\n  __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Card, _React$PureComponent);\n\n  function Card() {\n    var _temp, _this, _ret;\n\n    __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Card);\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      width: 280,\n      embedded: false\n    }, _this.handlePhotoClick = function () {\n      var _this$props = _this.props,\n          card = _this$props.card,\n          onOpenMedia = _this$props.onOpenMedia;\n\n\n      onOpenMedia(__WEBPACK_IMPORTED_MODULE_5_immutable___default.a.fromJS([{\n        type: 'image',\n        url: card.get('embed_url'),\n        description: card.get('title'),\n        meta: {\n          original: {\n            width: card.get('width'),\n            height: card.get('height')\n          }\n        }\n      }]), 0);\n    }, _this.handleEmbedClick = function () {\n      var card = _this.props.card;\n\n\n      if (card.get('type') === 'photo') {\n        _this.handlePhotoClick();\n      } else {\n        _this.setState({ embedded: true });\n      }\n    }, _this.setRef = function (c) {\n      if (c) {\n        _this.setState({ width: c.offsetWidth });\n      }\n    }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n  }\n\n  Card.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n    if (this.props.card !== nextProps.card) {\n      this.setState({ embedded: false });\n    }\n  };\n\n  Card.prototype.renderVideo = function renderVideo() {\n    var card = this.props.card;\n\n    var content = { __html: addAutoPlay(card.get('html')) };\n    var width = this.state.width;\n\n    var ratio = card.get('width') / card.get('height');\n    var height = card.get('width') > card.get('height') ? width / ratio : width * ratio;\n\n    return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('div', {\n      ref: this.setRef,\n      className: 'status-card__image status-card-video',\n      dangerouslySetInnerHTML: content,\n      style: { height: height }\n    });\n  };\n\n  Card.prototype.render = function render() {\n    var _props = this.props,\n        card = _props.card,\n        maxDescription = _props.maxDescription;\n    var _state = this.state,\n        width = _state.width,\n        embedded = _state.embedded;\n\n\n    if (card === null) {\n      return null;\n    }\n\n    var provider = card.get('provider_name').length === 0 ? decodeIDNA(getHostname(card.get('url'))) : card.get('provider_name');\n    var horizontal = card.get('width') > card.get('height') && card.get('width') + 100 >= width || card.get('type') !== 'link';\n    var className = __WEBPACK_IMPORTED_MODULE_7_classnames___default()('status-card', { horizontal: horizontal });\n    var interactive = card.get('type') !== 'link';\n    var title = interactive ? __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n      className: 'status-card__title',\n      href: card.get('url'),\n      title: card.get('title'),\n      rel: 'noopener',\n      target: '_blank'\n    }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {}, void 0, card.get('title'))) : __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {\n      className: 'status-card__title',\n      title: card.get('title')\n    }, void 0, card.get('title'));\n    var ratio = card.get('width') / card.get('height');\n    var height = card.get('width') > card.get('height') ? width / ratio : width * ratio;\n\n    var description = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      className: 'status-card__content'\n    }, void 0, title, !horizontal && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('p', {\n      className: 'status-card__description'\n    }, void 0, trim(card.get('description') || '', maxDescription)), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n      className: 'status-card__host'\n    }, void 0, provider));\n\n    var embed = '';\n    var thumbnail = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n      style: { backgroundImage: 'url(' + card.get('image') + ')', width: horizontal ? width : null, height: horizontal ? height : null },\n      className: 'status-card__image-image'\n    });\n\n    if (interactive) {\n      if (embedded) {\n        embed = this.renderVideo();\n      } else {\n        var iconVariant = 'play';\n\n        if (card.get('type') === 'photo') {\n          iconVariant = 'search-plus';\n        }\n\n        embed = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n          className: 'status-card__image'\n        }, void 0, thumbnail, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n          className: 'status-card__actions'\n        }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n          onClick: this.handleEmbedClick\n        }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n          className: 'fa fa-' + iconVariant\n        })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n          href: card.get('url'),\n          target: '_blank',\n          rel: 'noopener'\n        }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n          className: 'fa fa-external-link'\n        })))));\n      }\n\n      return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n        'div',\n        { className: className, ref: this.setRef },\n        embed,\n        description\n      );\n    } else if (card.get('image')) {\n      embed = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n        className: 'status-card__image'\n      }, void 0, thumbnail);\n    }\n\n    return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n      'a',\n      { href: card.get('url'), className: className, target: '_blank', rel: 'noopener', ref: this.setRef },\n      embed,\n      description\n    );\n  };\n\n  return Card;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent), _class.defaultProps = {\n  maxDescription: 50\n}, _temp2);\n\n\n/***/ }),\n\n/***/ 913:\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(module, global) {var __WEBPACK_AMD_DEFINE_RESULT__;/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function (root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module && !module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n  * The `punycode` object.\n  * @name punycode\n  * @type Object\n  */\n\tvar punycode,\n\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647,\n\t    // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\t    tMin = 1,\n\t    tMax = 26,\n\t    skew = 38,\n\t    damp = 700,\n\t    initialBias = 72,\n\t    initialN = 128,\n\t    // 0x80\n\tdelimiter = '-',\n\t    // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\t    regexNonASCII = /[^\\x20-\\x7E]/,\n\t    // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g,\n\t    // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\t    floor = Math.floor,\n\t    stringFromCharCode = String.fromCharCode,\n\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n  * A generic error utility function.\n  * @private\n  * @param {String} type The error type.\n  * @returns {Error} Throws a `RangeError` with the applicable error message.\n  */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n  * A generic `Array#map` utility function.\n  * @private\n  * @param {Array} array The array to iterate over.\n  * @param {Function} callback The function that gets called for every array\n  * item.\n  * @returns {Array} A new array of values returned by the callback function.\n  */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n  * A simple `Array#map`-like wrapper to work with domain name strings or email\n  * addresses.\n  * @private\n  * @param {String} domain The domain name or email address.\n  * @param {Function} callback The function that gets called for every\n  * character.\n  * @returns {Array} A new string of characters returned by the callback\n  * function.\n  */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n  * Creates an array containing the numeric code points of each Unicode\n  * character in the string. While JavaScript uses UCS-2 internally,\n  * this function will convert a pair of surrogate halves (each of which\n  * UCS-2 exposes as separate characters) into a single code point,\n  * matching UTF-16.\n  * @see `punycode.ucs2.encode`\n  * @see <https://mathiasbynens.be/notes/javascript-encoding>\n  * @memberOf punycode.ucs2\n  * @name decode\n  * @param {String} string The Unicode input string (UCS-2).\n  * @returns {Array} The new array of code points.\n  */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t    counter = 0,\n\t\t    length = string.length,\n\t\t    value,\n\t\t    extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) {\n\t\t\t\t\t// low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n  * Creates a string based on an array of numeric code points.\n  * @see `punycode.ucs2.decode`\n  * @memberOf punycode.ucs2\n  * @name encode\n  * @param {Array} codePoints The array of numeric code points.\n  * @returns {String} The new Unicode string (UCS-2).\n  */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function (value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n  * Converts a basic code point into a digit/integer.\n  * @see `digitToBasic()`\n  * @private\n  * @param {Number} codePoint The basic numeric code point value.\n  * @returns {Number} The numeric value of a basic code point (for use in\n  * representing integers) in the range `0` to `base - 1`, or `base` if\n  * the code point does not represent a value.\n  */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n  * Converts a digit/integer into a basic code point.\n  * @see `basicToDigit()`\n  * @private\n  * @param {Number} digit The numeric value of a basic code point.\n  * @returns {Number} The basic code point whose value (when used for\n  * representing integers) is `digit`, which needs to be in the range\n  * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n  * used; else, the lowercase form is used. The behavior is undefined\n  * if `flag` is non-zero and `digit` has no uppercase form.\n  */\n\tfunction digitToBasic(digit, flag) {\n\t\t//  0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n  * Bias adaptation function as per section 3.4 of RFC 3492.\n  * https://tools.ietf.org/html/rfc3492#section-3.4\n  * @private\n  */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (; /* no initialization */delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n  * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n  * symbols.\n  * @memberOf punycode\n  * @param {String} input The Punycode string of ASCII-only symbols.\n  * @returns {String} The resulting string of Unicode symbols.\n  */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t    inputLength = input.length,\n\t\t    out,\n\t\t    i = 0,\n\t\t    n = initialN,\n\t\t    bias = initialBias,\n\t\t    basic,\n\t\t    j,\n\t\t    index,\n\t\t    oldi,\n\t\t    w,\n\t\t    k,\n\t\t    digit,\n\t\t    t,\n\n\t\t/** Cached calculation results */\n\t\tbaseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength;) /* no final expression */{\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base;; /* no condition */k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n  * Converts a string of Unicode symbols (e.g. a domain name label) to a\n  * Punycode string of ASCII-only symbols.\n  * @memberOf punycode\n  * @param {String} input The string of Unicode symbols.\n  * @returns {String} The resulting Punycode string of ASCII-only symbols.\n  */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t    delta,\n\t\t    handledCPCount,\n\t\t    basicLength,\n\t\t    bias,\n\t\t    j,\n\t\t    m,\n\t\t    q,\n\t\t    k,\n\t\t    t,\n\t\t    currentValue,\n\t\t    output = [],\n\n\t\t/** `inputLength` will hold the number of code points in `input`. */\n\t\tinputLength,\n\n\t\t/** Cached calculation results */\n\t\thandledCPCountPlusOne,\n\t\t    baseMinusT,\n\t\t    qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base;; /* no condition */k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)));\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n  * Converts a Punycode string representing a domain name or an email address\n  * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n  * it doesn't matter if you call it on a string that has already been\n  * converted to Unicode.\n  * @memberOf punycode\n  * @param {String} input The Punycoded domain name or email address to\n  * convert to Unicode.\n  * @returns {String} The Unicode representation of the given Punycode\n  * string.\n  */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function (string) {\n\t\t\treturn regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string;\n\t\t});\n\t}\n\n\t/**\n  * Converts a Unicode string representing a domain name or an email address to\n  * Punycode. Only the non-ASCII parts of the domain name will be converted,\n  * i.e. it doesn't matter if you call it with a domain that's already in\n  * ASCII.\n  * @memberOf punycode\n  * @param {String} input The domain name or email address to convert, as a\n  * Unicode string.\n  * @returns {String} The Punycode representation of the given domain name or\n  * email address.\n  */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function (string) {\n\t\t\treturn regexNonASCII.test(string) ? 'xn--' + encode(string) : string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n   * A string representing the current Punycode.js version number.\n   * @memberOf punycode\n   * @type String\n   */\n\t\t'version': '1.4.1',\n\t\t/**\n   * An object of methods to convert from JavaScript's internal character\n   * representation (UCS-2) to Unicode code points, and back.\n   * @see <https://mathiasbynens.be/notes/javascript-encoding>\n   * @memberOf punycode\n   * @type Object\n   */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (true) {\n\t\t!(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n\t\t\treturn punycode;\n\t\t}).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n})(this);\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(101)(module), __webpack_require__(57)))\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// features/status.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Avatar from '../../../components/avatar';\nimport DisplayName from '../../../components/display_name';\nimport StatusContent from '../../../components/status_content';\nimport MediaGallery from '../../../components/media_gallery';\nimport AttachmentList from '../../../components/attachment_list';\nimport { Link } from 'react-router-dom';\nimport { FormattedDate, FormattedNumber } from 'react-intl';\nimport CardContainer from '../containers/card_container';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Video from '../../video';\n\nexport default class DetailedStatus extends ImmutablePureComponent {\n\n  static contextTypes = {\n    router: PropTypes.object,\n  };\n\n  static propTypes = {\n    status: ImmutablePropTypes.map.isRequired,\n    onOpenMedia: PropTypes.func.isRequired,\n    onOpenVideo: PropTypes.func.isRequired,\n    onToggleHidden: PropTypes.func.isRequired,\n  };\n\n  handleAccountClick = (e) => {\n    if (e.button === 0) {\n      e.preventDefault();\n      this.context.router.history.push(`/accounts/${this.props.status.getIn(['account', 'id'])}`);\n    }\n\n    e.stopPropagation();\n  }\n\n  handleOpenVideo = (media, startTime) => {\n    this.props.onOpenVideo(media, startTime);\n  }\n\n  handleExpandedToggle = () => {\n    this.props.onToggleHidden(this.props.status);\n  }\n\n  render () {\n    const status = this.props.status.get('reblog') ? this.props.status.get('reblog') : this.props.status;\n\n    let media           = '';\n    let applicationLink = '';\n    let reblogLink = '';\n    let reblogIcon = 'retweet';\n\n    if (status.get('media_attachments').size > 0) {\n      if (status.get('media_attachments').some(item => item.get('type') === 'unknown')) {\n        media = <AttachmentList media={status.get('media_attachments')} />;\n      } else if (status.getIn(['media_attachments', 0, 'type']) === 'video') {\n        const video = status.getIn(['media_attachments', 0]);\n\n        media = (\n          <Video\n            preview={video.get('preview_url')}\n            src={video.get('url')}\n            width={300}\n            height={150}\n            inline\n            onOpenVideo={this.handleOpenVideo}\n            sensitive={status.get('sensitive')}\n          />\n        );\n      } else {\n        media = (\n          <MediaGallery\n            standalone\n            sensitive={status.get('sensitive')}\n            media={status.get('media_attachments')}\n            height={300}\n            onOpenMedia={this.props.onOpenMedia}\n          />\n        );\n      }\n    } else if (status.get('spoiler_text').length === 0) {\n      media = <CardContainer onOpenMedia={this.props.onOpenMedia} statusId={status.get('id')} />;\n    }\n\n    if (status.get('application')) {\n      applicationLink = <span> · <a className='detailed-status__application' href={status.getIn(['application', 'website'])} target='_blank' rel='noopener'>{status.getIn(['application', 'name'])}</a></span>;\n    }\n\n    if (status.get('visibility') === 'direct') {\n      reblogIcon = 'envelope';\n    } else if (status.get('visibility') === 'private') {\n      reblogIcon = 'lock';\n    }\n\n    if (status.get('visibility') === 'private') {\n      reblogLink = <i className={`fa fa-${reblogIcon}`} />;\n    } else {\n      reblogLink = (<Link to={`/statuses/${status.get('id')}/reblogs`} className='detailed-status__link'>\n        <i className={`fa fa-${reblogIcon}`} />\n        <span className='detailed-status__reblogs'>\n          <FormattedNumber value={status.get('reblogs_count')} />\n        </span>\n      </Link>);\n    }\n\n    return (\n      <div className='detailed-status'>\n        <a href={status.getIn(['account', 'url'])} onClick={this.handleAccountClick} className='detailed-status__display-name'>\n          <div className='detailed-status__display-avatar'><Avatar account={status.get('account')} size={48} /></div>\n          <DisplayName account={status.get('account')} />\n        </a>\n\n        <StatusContent status={status} expanded={!status.get('hidden')} onExpandedToggle={this.handleExpandedToggle} />\n\n        {media}\n\n        <div className='detailed-status__meta'>\n          <a className='detailed-status__datetime' href={status.get('url')} target='_blank' rel='noopener'>\n            <FormattedDate value={new Date(status.get('created_at'))} hour12={false} year='numeric' month='short' day='2-digit' hour='2-digit' minute='2-digit' />\n          </a>{applicationLink} · {reblogLink} · <Link to={`/statuses/${status.get('id')}/favourites`} className='detailed-status__link'>\n            <i className='fa fa-star' />\n            <span className='detailed-status__favorites'>\n              <FormattedNumber value={status.get('favourites_count')} />\n            </span>\n          </Link>\n        </div>\n      </div>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/status/components/detailed_status.js","import { connect } from 'react-redux';\nimport Card from '../components/card';\n\nconst mapStateToProps = (state, { statusId }) => ({\n  card: state.getIn(['cards', statusId], null),\n});\n\nexport default connect(mapStateToProps)(Card);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/status/containers/card_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport IconButton from '../../../components/icon_button';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport DropdownMenuContainer from '../../../containers/dropdown_menu_container';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { me } from '../../../initial_state';\n\nconst messages = defineMessages({\n  delete: { id: 'status.delete', defaultMessage: 'Delete' },\n  direct: { id: 'status.direct', defaultMessage: 'Direct message @{name}' },\n  mention: { id: 'status.mention', defaultMessage: 'Mention @{name}' },\n  reply: { id: 'status.reply', defaultMessage: 'Reply' },\n  reblog: { id: 'status.reblog', defaultMessage: 'Boost' },\n  reblog_private: { id: 'status.reblog_private', defaultMessage: 'Boost to original audience' },\n  cancel_reblog_private: { id: 'status.cancel_reblog_private', defaultMessage: 'Unboost' },\n  cannot_reblog: { id: 'status.cannot_reblog', defaultMessage: 'This post cannot be boosted' },\n  favourite: { id: 'status.favourite', defaultMessage: 'Favourite' },\n  mute: { id: 'status.mute', defaultMessage: 'Mute @{name}' },\n  muteConversation: { id: 'status.mute_conversation', defaultMessage: 'Mute conversation' },\n  unmuteConversation: { id: 'status.unmute_conversation', defaultMessage: 'Unmute conversation' },\n  block: { id: 'status.block', defaultMessage: 'Block @{name}' },\n  report: { id: 'status.report', defaultMessage: 'Report @{name}' },\n  share: { id: 'status.share', defaultMessage: 'Share' },\n  pin: { id: 'status.pin', defaultMessage: 'Pin on profile' },\n  unpin: { id: 'status.unpin', defaultMessage: 'Unpin from profile' },\n  embed: { id: 'status.embed', defaultMessage: 'Embed' },\n});\n\n@injectIntl\nexport default class ActionBar extends React.PureComponent {\n\n  static contextTypes = {\n    router: PropTypes.object,\n  };\n\n  static propTypes = {\n    status: ImmutablePropTypes.map.isRequired,\n    onReply: PropTypes.func.isRequired,\n    onReblog: PropTypes.func.isRequired,\n    onFavourite: PropTypes.func.isRequired,\n    onDelete: PropTypes.func.isRequired,\n    onDirect: PropTypes.func.isRequired,\n    onMention: PropTypes.func.isRequired,\n    onMute: PropTypes.func,\n    onMuteConversation: PropTypes.func,\n    onBlock: PropTypes.func,\n    onReport: PropTypes.func,\n    onPin: PropTypes.func,\n    onEmbed: PropTypes.func,\n    intl: PropTypes.object.isRequired,\n  };\n\n  handleReplyClick = () => {\n    this.props.onReply(this.props.status);\n  }\n\n  handleReblogClick = (e) => {\n    this.props.onReblog(this.props.status, e);\n  }\n\n  handleFavouriteClick = () => {\n    this.props.onFavourite(this.props.status);\n  }\n\n  handleDeleteClick = () => {\n    this.props.onDelete(this.props.status);\n  }\n\n  handleDirectClick = () => {\n    this.props.onDirect(this.props.status.get('account'), this.context.router.history);\n  }\n\n  handleMentionClick = () => {\n    this.props.onMention(this.props.status.get('account'), this.context.router.history);\n  }\n\n  handleMuteClick = () => {\n    this.props.onMute(this.props.status.get('account'));\n  }\n\n  handleConversationMuteClick = () => {\n    this.props.onMuteConversation(this.props.status);\n  }\n\n  handleBlockClick = () => {\n    this.props.onBlock(this.props.status.get('account'));\n  }\n\n  handleReport = () => {\n    this.props.onReport(this.props.status);\n  }\n\n  handlePinClick = () => {\n    this.props.onPin(this.props.status);\n  }\n\n  handleShare = () => {\n    navigator.share({\n      text: this.props.status.get('search_index'),\n      url: this.props.status.get('url'),\n    });\n  }\n\n  handleEmbed = () => {\n    this.props.onEmbed(this.props.status);\n  }\n\n  render () {\n    const { status, intl } = this.props;\n\n    const publicStatus = ['public', 'unlisted'].includes(status.get('visibility'));\n    const mutingConversation = status.get('muted');\n\n    let menu = [];\n\n    if (publicStatus) {\n        //WV not yet in Pleroma\n      //menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed });\n      menu.push(null);\n    }\n\n    if (me === status.getIn(['account', 'id'])) {\n        //WV not yet in Pleroma\n      //if (publicStatus) {\n      //  menu.push({ text: intl.formatMessage(status.get('pinned') ? messages.unpin : messages.pin), action: this.handlePinClick });\n      //} else {\n        if (status.get('visibility') === 'private') {\n          menu.push({ text: intl.formatMessage(status.get('reblogged') ? messages.cancel_reblog_private : messages.reblog_private), action: this.handleReblogClick });\n        }\n      //}\n\n      menu.push(null);\n        //WV not yet in Pleroma\n      //menu.push({ text: intl.formatMessage(mutingConversation ? messages.unmuteConversation : messages.muteConversation), action: this.handleConversationMuteClick });\n      //menu.push(null);\n      menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDeleteClick });\n    } else {\n      menu.push({ text: intl.formatMessage(messages.mention, { name: status.getIn(['account', 'username']) }), action: this.handleMentionClick });\n      menu.push({ text: intl.formatMessage(messages.direct, { name: status.getIn(['account', 'username']) }), action: this.handleDirectClick });\n      menu.push(null);\n        //WV not yet in Pleroma\n      //menu.push({ text: intl.formatMessage(messages.mute, { name: status.getIn(['account', 'username']) }), action: this.handleMuteClick });\n      menu.push({ text: intl.formatMessage(messages.block, { name: status.getIn(['account', 'username']) }), action: this.handleBlockClick });\n      menu.push({ text: intl.formatMessage(messages.report, { name: status.getIn(['account', 'username']) }), action: this.handleReport });\n    }\n\n    const shareButton = ('share' in navigator) && status.get('visibility') === 'public' && (\n      <div className='detailed-status__button'><IconButton title={intl.formatMessage(messages.share)} icon='share-alt' onClick={this.handleShare} /></div>\n    );\n\n    let reblogIcon = 'retweet';\n    if (status.get('visibility') === 'direct') reblogIcon = 'envelope';\n    else if (status.get('visibility') === 'private') reblogIcon = 'lock';\n\n    let reblog_disabled = (status.get('visibility') === 'direct' || status.get('visibility') === 'private');\n\n    return (\n      <div className='detailed-status__action-bar'>\n        <div className='detailed-status__button'><IconButton title={intl.formatMessage(messages.reply)} icon={status.get('in_reply_to_id', null) === null ? 'reply' : 'reply-all'} onClick={this.handleReplyClick} /></div>\n        <div className='detailed-status__button'><IconButton disabled={reblog_disabled} active={status.get('reblogged')} title={reblog_disabled ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog)} icon={reblogIcon} onClick={this.handleReblogClick} /></div>\n        <div className='detailed-status__button'><IconButton className='star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} /></div>\n        {shareButton}\n\n        <div className='detailed-status__action-bar-dropdown'>\n          <DropdownMenuContainer size={18} icon='ellipsis-h' items={menu} direction='left' title='More' />\n        </div>\n      </div>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/status/components/action_bar.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 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 { connect } from 'react-redux';\nimport Status from '../components/status';\nimport { makeGetStatus } from '../selectors';\nimport {\n  replyCompose,\n  mentionCompose,\n  directCompose,\n} from '../actions/compose';\nimport {\n  reblog,\n  favourite,\n  unreblog,\n  unfavourite,\n  pin,\n  unpin,\n} from '../actions/interactions';\nimport { blockAccount } from '../actions/accounts';\nimport {\n  muteStatus,\n  unmuteStatus,\n  deleteStatus,\n  hideStatus,\n  revealStatus,\n} from '../actions/statuses';\nimport { initMuteModal } from '../actions/mutes';\nimport { initReport } from '../actions/reports';\nimport { openModal } from '../actions/modal';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { boostModal, deleteModal } from '../initial_state';\nimport { showAlertForError } from '../actions/alerts';\n\nconst messages = defineMessages({\n  deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },\n  deleteMessage: { id: 'confirmations.delete.message', defaultMessage: 'Are you sure you want to delete this status?' },\n  blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' },\n});\n\nconst makeMapStateToProps = () => {\n  const getStatus = makeGetStatus();\n\n  const mapStateToProps = (state, props) => ({\n    status: getStatus(state, props.id),\n  });\n\n  return mapStateToProps;\n};\n\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n\n  onReply (status, router) {\n    dispatch(replyCompose(status, router));\n  },\n\n  onModalReblog (status) {\n    dispatch(reblog(status));\n  },\n\n  onReblog (status, e) {\n    if (status.get('reblogged')) {\n      dispatch(unreblog(status));\n    } else {\n      if (e.shiftKey || !boostModal) {\n        this.onModalReblog(status);\n      } else {\n        dispatch(openModal('BOOST', { status, onReblog: this.onModalReblog }));\n      }\n    }\n  },\n\n  onFavourite (status) {\n    if (status.get('favourited')) {\n      dispatch(unfavourite(status));\n    } else {\n      dispatch(favourite(status));\n    }\n  },\n\n  onPin (status) {\n    if (status.get('pinned')) {\n      dispatch(unpin(status));\n    } else {\n      dispatch(pin(status));\n    }\n  },\n\n  onEmbed (status) {\n    dispatch(openModal('EMBED', {\n      url: status.get('url'),\n      onError: error => dispatch(showAlertForError(error)),\n    }));\n  },\n\n  onDelete (status) {\n    if (!deleteModal) {\n      dispatch(deleteStatus(status.get('id')));\n    } else {\n      dispatch(openModal('CONFIRM', {\n        message: intl.formatMessage(messages.deleteMessage),\n        confirm: intl.formatMessage(messages.deleteConfirm),\n        onConfirm: () => dispatch(deleteStatus(status.get('id'))),\n      }));\n    }\n  },\n\n  onDirect (account, router) {\n    dispatch(directCompose(account, router));\n  },\n\n  onMention (account, router) {\n    dispatch(mentionCompose(account, router));\n  },\n\n  onOpenMedia (media, index) {\n    dispatch(openModal('MEDIA', { media, index }));\n  },\n\n  onOpenVideo (media, time) {\n    dispatch(openModal('VIDEO', { media, time }));\n  },\n\n  onBlock (account) {\n    dispatch(openModal('CONFIRM', {\n      message: <FormattedMessage id='confirmations.block.message' defaultMessage='Are you sure you want to block {name}?' values={{ name: <strong>@{account.get('acct')}</strong> }} />,\n      confirm: intl.formatMessage(messages.blockConfirm),\n      onConfirm: () => dispatch(blockAccount(account.get('id'))),\n    }));\n  },\n\n  onReport (status) {\n    dispatch(initReport(status.get('account'), status));\n  },\n\n  onMute (account) {\n    dispatch(initMuteModal(account));\n  },\n\n  onMuteConversation (status) {\n    if (status.get('muted')) {\n      dispatch(unmuteStatus(status.get('id')));\n    } else {\n      dispatch(muteStatus(status.get('id')));\n    }\n  },\n\n  onToggleHidden (status) {\n    if (status.get('hidden')) {\n      dispatch(revealStatus(status.get('id')));\n    } else {\n      dispatch(hideStatus(status.get('id')));\n    }\n  },\n\n});\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Status));\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/containers/status_container.js","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { is } from 'immutable';\nimport IconButton from './icon_button';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { isIOS } from '../is_mobile';\nimport classNames from 'classnames';\nimport { autoPlayGif, displaySensitiveMedia } from '../initial_state';\n\nconst messages = defineMessages({\n  toggle_visible: { id: 'media_gallery.toggle_visible', defaultMessage: 'Toggle visibility' },\n});\n\nclass Item extends React.PureComponent {\n\n  static propTypes = {\n    attachment: ImmutablePropTypes.map.isRequired,\n    standalone: PropTypes.bool,\n    index: PropTypes.number.isRequired,\n    size: PropTypes.number.isRequired,\n    onClick: PropTypes.func.isRequired,\n    displayWidth: PropTypes.number,\n  };\n\n  static defaultProps = {\n    standalone: false,\n    index: 0,\n    size: 1,\n  };\n\n  handleMouseEnter = (e) => {\n    if (this.hoverToPlay()) {\n      e.target.play();\n    }\n  }\n\n  handleMouseLeave = (e) => {\n    if (this.hoverToPlay()) {\n      e.target.pause();\n      e.target.currentTime = 0;\n    }\n  }\n\n  hoverToPlay () {\n    const { attachment } = this.props;\n    return !autoPlayGif && attachment.get('type') === 'gifv';\n  }\n\n  handleClick = (e) => {\n    const { index, onClick } = this.props;\n\n    if (e.button === 0) {\n      e.preventDefault();\n      onClick(index);\n    }\n\n    e.stopPropagation();\n  }\n\n  render () {\n    const { attachment, index, size, standalone, displayWidth } = this.props;\n\n    let width  = 50;\n    let height = 100;\n    let top    = 'auto';\n    let left   = 'auto';\n    let bottom = 'auto';\n    let right  = 'auto';\n\n    if (size === 1) {\n      width = 100;\n    }\n\n    if (size === 4 || (size === 3 && index > 0)) {\n      height = 50;\n    }\n\n    if (size === 2) {\n      if (index === 0) {\n        right = '2px';\n      } else {\n        left = '2px';\n      }\n    } else if (size === 3) {\n      if (index === 0) {\n        right = '2px';\n      } else if (index > 0) {\n        left = '2px';\n      }\n\n      if (index === 1) {\n        bottom = '2px';\n      } else if (index > 1) {\n        top = '2px';\n      }\n    } else if (size === 4) {\n      if (index === 0 || index === 2) {\n        right = '2px';\n      }\n\n      if (index === 1 || index === 3) {\n        left = '2px';\n      }\n\n      if (index < 2) {\n        bottom = '2px';\n      } else {\n        top = '2px';\n      }\n    }\n\n    let thumbnail = '';\n\n    if (attachment.get('type') === 'image') {\n      const previewUrl   = attachment.get('preview_url');\n      const previewWidth = attachment.getIn(['meta', 'small', 'width']);\n\n      const originalUrl    = attachment.get('url');\n      const originalWidth  = attachment.getIn(['meta', 'original', 'width']);\n\n      const hasSize = typeof originalWidth === 'number' && typeof previewWidth === 'number';\n\n      const srcSet = hasSize ? `${originalUrl} ${originalWidth}w, ${previewUrl} ${previewWidth}w` : null;\n      const sizes  = hasSize ? `${displayWidth * (width / 100)}px` : null;\n\n      const focusX = attachment.getIn(['meta', 'focus', 'x']) || 0;\n      const focusY = attachment.getIn(['meta', 'focus', 'y']) || 0;\n      const x      = ((focusX /  2) + .5) * 100;\n      const y      = ((focusY / -2) + .5) * 100;\n\n      thumbnail = (\n        <a\n          className='media-gallery__item-thumbnail'\n          href={attachment.get('remote_url') || originalUrl}\n          onClick={this.handleClick}\n          target='_blank'\n        >\n          <img\n            src={previewUrl}\n            srcSet={srcSet}\n            sizes={sizes}\n            alt={attachment.get('description')}\n            title={attachment.get('description')}\n            style={{ objectPosition: `${x}% ${y}%` }}\n          />\n        </a>\n      );\n    } else if (attachment.get('type') === 'audio') {\n      thumbnail = (\n        <div className='media-gallery__audio'>\n          <audio\n            className='media-gallery__item-audio-thumbnail'\n            aria-label={attachment.get('description')}\n            role='application'\n            src={attachment.get('url')}\n            loop\n            controls\n          />\n        </div>\n        );\n    } else if (attachment.get('type') === 'gifv') {\n      const autoPlay = !isIOS() && autoPlayGif;\n\n      thumbnail = (\n        <div className={classNames('media-gallery__gifv', { autoplay: autoPlay })}>\n          <video\n            className='media-gallery__item-gifv-thumbnail'\n            aria-label={attachment.get('description')}\n            role='application'\n            src={attachment.get('url')}\n            onClick={this.handleClick}\n            onMouseEnter={this.handleMouseEnter}\n            onMouseLeave={this.handleMouseLeave}\n            autoPlay={autoPlay}\n            loop\n            muted\n          />\n\n          <span className='media-gallery__gifv__label'>GIF</span>\n        </div>\n      );\n    }\n\n    return (\n      <div className={classNames('media-gallery__item', { standalone })} key={attachment.get('id')} style={{ left: left, top: top, right: right, bottom: bottom, width: `${width}%`, height: `${height}%` }}>\n        {thumbnail}\n      </div>\n    );\n  }\n\n}\n\n@injectIntl\nexport default class MediaGallery extends React.PureComponent {\n\n  static propTypes = {\n    sensitive: PropTypes.bool,\n    standalone: PropTypes.bool,\n    media: ImmutablePropTypes.list.isRequired,\n    size: PropTypes.object,\n    height: PropTypes.number.isRequired,\n    onOpenMedia: PropTypes.func.isRequired,\n    intl: PropTypes.object.isRequired,\n  };\n\n  static defaultProps = {\n    standalone: false,\n  };\n\n  state = {\n    visible: !this.props.sensitive || displaySensitiveMedia,\n  };\n\n  componentWillReceiveProps (nextProps) {\n    if (!is(nextProps.media, this.props.media)) {\n      this.setState({ visible: !nextProps.sensitive });\n    }\n  }\n\n  handleOpen = () => {\n    this.setState({ visible: !this.state.visible });\n  }\n\n  handleClick = (index) => {\n    this.props.onOpenMedia(this.props.media, index);\n  }\n\n  handleRef = (node) => {\n    if (node /*&& this.isStandaloneEligible()*/) {\n      // offsetWidth triggers a layout, so only calculate when we need to\n      this.setState({\n        width: node.offsetWidth,\n      });\n    }\n  }\n\n  isStandaloneEligible() {\n    const { media, standalone } = this.props;\n    return standalone && media.size === 1 && media.getIn([0, 'meta', 'small', 'aspect']);\n  }\n\n  render () {\n    const { media, intl, sensitive, height } = this.props;\n    const { width, visible } = this.state;\n\n    let children;\n\n    const style = {};\n\n    if (this.isStandaloneEligible()) {\n      if (width) {\n        style.height = width / this.props.media.getIn([0, 'meta', 'small', 'aspect']);\n      }\n    } else if (width) {\n      style.height = width / (16/9);\n    } else {\n      style.height = height;\n    }\n\n    if (!visible) {\n      let warning;\n\n      if (sensitive) {\n        warning = <FormattedMessage id='status.sensitive_warning' defaultMessage='Sensitive content' />;\n      } else {\n        warning = <FormattedMessage id='status.media_hidden' defaultMessage='Media hidden' />;\n      }\n\n      children = (\n        <button type='button' className='media-spoiler' onClick={this.handleOpen} style={style} ref={this.handleRef}>\n          <span className='media-spoiler__warning'>{warning}</span>\n          <span className='media-spoiler__trigger'><FormattedMessage id='status.sensitive_toggle' defaultMessage='Click to view' /></span>\n        </button>\n      );\n    } else {\n      const size = media.take(4).size;\n\n      if (this.isStandaloneEligible()) {\n        children = <Item standalone onClick={this.handleClick} attachment={media.get(0)} displayWidth={width} />;\n      } else {\n        children = media.take(4).map((attachment, i) => <Item key={attachment.get('id')} onClick={this.handleClick} attachment={attachment} index={i} size={size} displayWidth={width} />);\n      }\n    }\n\n    return (\n      <div className='media-gallery' style={style} ref={this.handleRef}>\n        <div className={classNames('spoiler-button', { 'spoiler-button--visible': visible })}>\n          <IconButton title={intl.formatMessage(messages.toggle_visible)} icon={visible ? 'eye' : 'eye-slash'} overlay onClick={this.handleOpen} />\n        </div>\n\n        {children}\n      </div>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/components/media_gallery.js","import Immutable from 'immutable';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { fetchStatus } from '../../actions/statuses';\nimport MissingIndicator from '../../components/missing_indicator';\nimport DetailedStatus from './components/detailed_status';\nimport ActionBar from './components/action_bar';\nimport Column from '../ui/components/column';\nimport {\n  favourite,\n  unfavourite,\n  reblog,\n  unreblog,\n  pin,\n  unpin,\n} from '../../actions/interactions';\nimport {\n  replyCompose,\n  mentionCompose,\n  directCompose,\n} from '../../actions/compose';\nimport { blockAccount } from '../../actions/accounts';\nimport {\n  muteStatus,\n  unmuteStatus,\n  deleteStatus,\n  hideStatus,\n  revealStatus,\n} from '../../actions/statuses';\nimport { initMuteModal } from '../../actions/mutes';\nimport { initReport } from '../../actions/reports';\nimport { makeGetStatus } from '../../selectors';\nimport { ScrollContainer } from 'react-router-scroll-4';\nimport ColumnBackButton from '../../components/column_back_button';\nimport ColumnHeader from '../../components/column_header';\nimport StatusContainer from '../../containers/status_container';\nimport { openModal } from '../../actions/modal';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { HotKeys } from 'react-hotkeys';\nimport { boostModal, deleteModal } from '../../initial_state';\nimport { attachFullscreenListener, detachFullscreenListener, isFullscreen } from '../../features/ui/util/fullscreen';\n\nconst messages = defineMessages({\n  deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },\n  deleteMessage: { id: 'confirmations.delete.message', defaultMessage: 'Are you sure you want to delete this status?' },\n  blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' },\n  revealAll: { id: 'status.show_more_all', defaultMessage: 'Show more for all' },\n  hideAll: { id: 'status.show_less_all', defaultMessage: 'Show less for all' },\n});\n\nconst makeMapStateToProps = () => {\n  const getStatus = makeGetStatus();\n\n  const mapStateToProps = (state, props) => {\n    const status = getStatus(state, props.params.statusId);\n    let ancestorsIds = Immutable.List();\n    let descendantsIds = Immutable.List();\n\n    if (status) {\n      ancestorsIds = ancestorsIds.withMutations(mutable => {\n        let id = status.get('in_reply_to_id');\n\n        while (id) {\n          mutable.unshift(id);\n          id = state.getIn(['contexts', 'inReplyTos', id]);\n        }\n      });\n\n      descendantsIds = descendantsIds.withMutations(mutable => {\n        const ids = [status.get('id')];\n\n        while (ids.length > 0) {\n          let id        = ids.shift();\n          const replies = state.getIn(['contexts', 'replies', id]);\n\n          if (replies) {\n            replies.forEach(reply => {\n              mutable.push(reply);\n              ids.unshift(reply);\n            });\n          }\n        }\n      });\n    }\n\n    return {\n      status,\n      ancestorsIds,\n      descendantsIds,\n    };\n  };\n\n  return mapStateToProps;\n};\n\n@injectIntl\n@connect(makeMapStateToProps)\nexport default class Status extends ImmutablePureComponent {\n\n  static contextTypes = {\n    router: PropTypes.object,\n  };\n\n  static propTypes = {\n    params: PropTypes.object.isRequired,\n    dispatch: PropTypes.func.isRequired,\n    status: ImmutablePropTypes.map,\n    ancestorsIds: ImmutablePropTypes.list,\n    descendantsIds: ImmutablePropTypes.list,\n    intl: PropTypes.object.isRequired,\n  };\n\n  state = {\n    fullscreen: false,\n  };\n\n  componentWillMount () {\n    this.props.dispatch(fetchStatus(this.props.params.statusId));\n  }\n\n  componentDidMount () {\n    attachFullscreenListener(this.onFullScreenChange);\n  }\n\n  componentWillReceiveProps (nextProps) {\n    if (nextProps.params.statusId !== this.props.params.statusId && nextProps.params.statusId) {\n      this._scrolledIntoView = false;\n      this.props.dispatch(fetchStatus(nextProps.params.statusId));\n    }\n  }\n\n  handleFavouriteClick = (status) => {\n    if (status.get('favourited')) {\n      this.props.dispatch(unfavourite(status));\n    } else {\n      this.props.dispatch(favourite(status));\n    }\n  }\n\n  handlePin = (status) => {\n    if (status.get('pinned')) {\n      this.props.dispatch(unpin(status));\n    } else {\n      this.props.dispatch(pin(status));\n    }\n  }\n\n  handleReplyClick = (status) => {\n    this.props.dispatch(replyCompose(status, this.context.router.history));\n  }\n\n  handleModalReblog = (status) => {\n    this.props.dispatch(reblog(status));\n  }\n\n  handleReblogClick = (status, e) => {\n    if (status.get('reblogged')) {\n      this.props.dispatch(unreblog(status));\n    } else {\n      if (e.shiftKey || !boostModal) {\n        this.handleModalReblog(status);\n      } else {\n        this.props.dispatch(openModal('BOOST', { status, onReblog: this.handleModalReblog }));\n      }\n    }\n  }\n\n  handleDeleteClick = (status) => {\n    const { dispatch, intl } = this.props;\n\n    if (!deleteModal) {\n      dispatch(deleteStatus(status.get('id')));\n    } else {\n      dispatch(openModal('CONFIRM', {\n        message: intl.formatMessage(messages.deleteMessage),\n        confirm: intl.formatMessage(messages.deleteConfirm),\n        onConfirm: () => dispatch(deleteStatus(status.get('id'))),\n      }));\n    }\n  }\n\n  handleDirectClick = (account, router) => {\n    this.props.dispatch(directCompose(account, router));\n  }\n\n  handleMentionClick = (account, router) => {\n    this.props.dispatch(mentionCompose(account, router));\n  }\n\n  handleOpenMedia = (media, index) => {\n    this.props.dispatch(openModal('MEDIA', { media, index }));\n  }\n\n  handleOpenVideo = (media, time) => {\n    this.props.dispatch(openModal('VIDEO', { media, time }));\n  }\n\n  handleMuteClick = (account) => {\n    this.props.dispatch(initMuteModal(account));\n  }\n\n  handleConversationMuteClick = (status) => {\n    if (status.get('muted')) {\n      this.props.dispatch(unmuteStatus(status.get('id')));\n    } else {\n      this.props.dispatch(muteStatus(status.get('id')));\n    }\n  }\n\n  handleToggleHidden = (status) => {\n    if (status.get('hidden')) {\n      this.props.dispatch(revealStatus(status.get('id')));\n    } else {\n      this.props.dispatch(hideStatus(status.get('id')));\n    }\n  }\n\n  handleToggleAll = () => {\n    const { status, ancestorsIds, descendantsIds } = this.props;\n    const statusIds = [status.get('id')].concat(ancestorsIds.toJS(), descendantsIds.toJS());\n\n    if (status.get('hidden')) {\n      this.props.dispatch(revealStatus(statusIds));\n    } else {\n      this.props.dispatch(hideStatus(statusIds));\n    }\n  }\n\n  handleBlockClick = (account) => {\n    const { dispatch, intl } = this.props;\n\n    dispatch(openModal('CONFIRM', {\n      message: <FormattedMessage id='confirmations.block.message' defaultMessage='Are you sure you want to block {name}?' values={{ name: <strong>@{account.get('acct')}</strong> }} />,\n      confirm: intl.formatMessage(messages.blockConfirm),\n      onConfirm: () => dispatch(blockAccount(account.get('id'))),\n    }));\n  }\n\n  handleReport = (status) => {\n    this.props.dispatch(initReport(status.get('account'), status));\n  }\n\n  handleEmbed = (status) => {\n    this.props.dispatch(openModal('EMBED', { url: status.get('url') }));\n  }\n\n  handleHotkeyMoveUp = () => {\n    this.handleMoveUp(this.props.status.get('id'));\n  }\n\n  handleHotkeyMoveDown = () => {\n    this.handleMoveDown(this.props.status.get('id'));\n  }\n\n  handleHotkeyReply = e => {\n    e.preventDefault();\n    this.handleReplyClick(this.props.status);\n  }\n\n  handleHotkeyFavourite = () => {\n    this.handleFavouriteClick(this.props.status);\n  }\n\n  handleHotkeyBoost = () => {\n    this.handleReblogClick(this.props.status);\n  }\n\n  handleHotkeyMention = e => {\n    e.preventDefault();\n    this.handleMentionClick(this.props.status);\n  }\n\n  handleHotkeyOpenProfile = () => {\n    this.context.router.history.push(`/accounts/${this.props.status.getIn(['account', 'id'])}`);\n  }\n\n  handleHotkeyToggleHidden = () => {\n    this.handleToggleHidden(this.props.status);\n  }\n\n  handleMoveUp = id => {\n    const { status, ancestorsIds, descendantsIds } = this.props;\n\n    if (id === status.get('id')) {\n      this._selectChild(ancestorsIds.size - 1);\n    } else {\n      let index = ancestorsIds.indexOf(id);\n\n      if (index === -1) {\n        index = descendantsIds.indexOf(id);\n        this._selectChild(ancestorsIds.size + index);\n      } else {\n        this._selectChild(index - 1);\n      }\n    }\n  }\n\n  handleMoveDown = id => {\n    const { status, ancestorsIds, descendantsIds } = this.props;\n\n    if (id === status.get('id')) {\n      this._selectChild(ancestorsIds.size + 1);\n    } else {\n      let index = ancestorsIds.indexOf(id);\n\n      if (index === -1) {\n        index = descendantsIds.indexOf(id);\n        this._selectChild(ancestorsIds.size + index + 2);\n      } else {\n        this._selectChild(index + 1);\n      }\n    }\n  }\n\n  _selectChild (index) {\n    const element = this.node.querySelectorAll('.focusable')[index];\n\n    if (element) {\n      element.focus();\n    }\n  }\n\n  renderChildren (list) {\n    return list.map(id => (\n      <StatusContainer\n        key={id}\n        id={id}\n        onMoveUp={this.handleMoveUp}\n        onMoveDown={this.handleMoveDown}\n      />\n    ));\n  }\n\n  setRef = c => {\n    this.node = c;\n  }\n\n  componentDidUpdate () {\n    if (this._scrolledIntoView) {\n      return;\n    }\n\n    const { status, ancestorsIds } = this.props;\n\n    if (status && ancestorsIds && ancestorsIds.size > 0) {\n      const element = this.node.querySelectorAll('.focusable')[ancestorsIds.size - 1];\n\n      element.scrollIntoView(true);\n      this._scrolledIntoView = true;\n    }\n  }\n\n  componentWillUnmount () {\n    detachFullscreenListener(this.onFullScreenChange);\n  }\n\n  onFullScreenChange = () => {\n    this.setState({ fullscreen: isFullscreen() });\n  }\n\n  render () {\n    let ancestors, descendants;\n    const { status, ancestorsIds, descendantsIds, intl } = this.props;\n    const { fullscreen } = this.state;\n\n    if (status === null) {\n      return (\n        <Column>\n          <ColumnBackButton />\n          <MissingIndicator />\n        </Column>\n      );\n    }\n\n    if (ancestorsIds && ancestorsIds.size > 0) {\n      ancestors = <div>{this.renderChildren(ancestorsIds)}</div>;\n    }\n\n    if (descendantsIds && descendantsIds.size > 0) {\n      descendants = <div>{this.renderChildren(descendantsIds)}</div>;\n    }\n\n    const handlers = {\n      moveUp: this.handleHotkeyMoveUp,\n      moveDown: this.handleHotkeyMoveDown,\n      reply: this.handleHotkeyReply,\n      favourite: this.handleHotkeyFavourite,\n      boost: this.handleHotkeyBoost,\n      mention: this.handleHotkeyMention,\n      openProfile: this.handleHotkeyOpenProfile,\n      toggleHidden: this.handleHotkeyToggleHidden,\n    };\n\n    return (\n      <Column>\n        <ColumnHeader\n          showBackButton\n          extraButton={(\n            <button className='column-header__button' title={intl.formatMessage(status.get('hidden') ? messages.revealAll : messages.hideAll)} aria-label={intl.formatMessage(status.get('hidden') ? messages.revealAll : messages.hideAll)} onClick={this.handleToggleAll} aria-pressed={status.get('hidden') ? 'false' : 'true'}><i className={`fa fa-${status.get('hidden') ? 'eye-slash' : 'eye'}`} /></button>\n          )}\n        />\n\n        <ScrollContainer scrollKey='thread'>\n          <div className={classNames('scrollable', 'detailed-status__wrapper', { fullscreen })} ref={this.setRef}>\n            {ancestors}\n\n            <HotKeys handlers={handlers}>\n              <div className='focusable' tabIndex='0'>\n                <DetailedStatus\n                  status={status}\n                  onOpenVideo={this.handleOpenVideo}\n                  onOpenMedia={this.handleOpenMedia}\n                  onToggleHidden={this.handleToggleHidden}\n                />\n\n                <ActionBar\n                  status={status}\n                  onReply={this.handleReplyClick}\n                  onFavourite={this.handleFavouriteClick}\n                  onReblog={this.handleReblogClick}\n                  onDelete={this.handleDeleteClick}\n                  onDirect={this.handleDirectClick}\n                  onMention={this.handleMentionClick}\n                  onMute={this.handleMuteClick}\n                  onMuteConversation={this.handleConversationMuteClick}\n                  onBlock={this.handleBlockClick}\n                  onReport={this.handleReport}\n                  onPin={this.handlePin}\n                  onEmbed={this.handleEmbed}\n                />\n              </div>\n            </HotKeys>\n\n            {descendants}\n          </div>\n        </ScrollContainer>\n      </Column>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/status/index.js","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nconst MissingIndicator = () => (\n  <div className='regeneration-indicator missing-indicator'>\n    <div>\n      <div className='regeneration-indicator__figure' />\n\n      <div className='regeneration-indicator__label'>\n        <FormattedMessage id='missing_indicator.label' tagName='strong' defaultMessage='Not found' />\n        <FormattedMessage id='missing_indicator.sublabel' defaultMessage='This resource could not be found' />\n      </div>\n    </div>\n  </div>\n);\n\nexport default MissingIndicator;\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/components/missing_indicator.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Immutable from 'immutable';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport punycode from 'punycode';\nimport classnames from 'classnames';\n\nconst IDNA_PREFIX = 'xn--';\n\nconst decodeIDNA = domain => {\n  return domain\n    .split('.')\n    .map(part => part.indexOf(IDNA_PREFIX) === 0 ? punycode.decode(part.slice(IDNA_PREFIX.length)) : part)\n    .join('.');\n};\n\nconst getHostname = url => {\n  const parser = document.createElement('a');\n  parser.href = url;\n  return parser.hostname;\n};\n\nconst trim = (text, len) => {\n  const cut = text.indexOf(' ', len);\n\n  if (cut === -1) {\n    return text;\n  }\n\n  return text.substring(0, cut) + (text.length > len ? '…' : '');\n};\n\nconst domParser = new DOMParser();\n\nconst addAutoPlay = html => {\n  const document = domParser.parseFromString(html, 'text/html').documentElement;\n  const iframe = document.querySelector('iframe');\n\n  if (iframe) {\n    if (iframe.src.indexOf('?') !== -1) {\n      iframe.src += '&';\n    } else {\n      iframe.src += '?';\n    }\n\n    iframe.src += 'autoplay=1&auto_play=1';\n\n    // DOM parser creates html/body elements around original HTML fragment,\n    // so we need to get innerHTML out of the body and not the entire document\n    return document.querySelector('body').innerHTML;\n  }\n\n  return html;\n};\n\nexport default class Card extends React.PureComponent {\n\n  static propTypes = {\n    card: ImmutablePropTypes.map,\n    maxDescription: PropTypes.number,\n    onOpenMedia: PropTypes.func.isRequired,\n  };\n\n  static defaultProps = {\n    maxDescription: 50,\n  };\n\n  state = {\n    width: 280,\n    embedded: false,\n  };\n\n  componentWillReceiveProps (nextProps) {\n    if (this.props.card !== nextProps.card) {\n      this.setState({ embedded: false });\n    }\n  }\n\n  handlePhotoClick = () => {\n    const { card, onOpenMedia } = this.props;\n\n    onOpenMedia(\n      Immutable.fromJS([\n        {\n          type: 'image',\n          url: card.get('embed_url'),\n          description: card.get('title'),\n          meta: {\n            original: {\n              width: card.get('width'),\n              height: card.get('height'),\n            },\n          },\n        },\n      ]),\n      0\n    );\n  };\n\n  handleEmbedClick = () => {\n    const { card } = this.props;\n\n    if (card.get('type') === 'photo') {\n      this.handlePhotoClick();\n    } else {\n      this.setState({ embedded: true });\n    }\n  }\n\n  setRef = c => {\n    if (c) {\n      this.setState({ width: c.offsetWidth });\n    }\n  }\n\n  renderVideo () {\n    const { card }  = this.props;\n    const content   = { __html: addAutoPlay(card.get('html')) };\n    const { width } = this.state;\n    const ratio     = card.get('width') / card.get('height');\n    const height    = card.get('width') > card.get('height') ? (width / ratio) : (width * ratio);\n\n    return (\n      <div\n        ref={this.setRef}\n        className='status-card__image status-card-video'\n        dangerouslySetInnerHTML={content}\n        style={{ height }}\n      />\n    );\n  }\n\n  render () {\n    const { card, maxDescription } = this.props;\n    const { width, embedded }      = this.state;\n\n    if (card === null) {\n      return null;\n    }\n\n    const provider    = card.get('provider_name').length === 0 ? decodeIDNA(getHostname(card.get('url'))) : card.get('provider_name');\n    const horizontal  = card.get('width') > card.get('height') && (card.get('width') + 100 >= width) || card.get('type') !== 'link';\n    const className   = classnames('status-card', { horizontal });\n    const interactive = card.get('type') !== 'link';\n    const title       = interactive ? <a className='status-card__title' href={card.get('url')} title={card.get('title')} rel='noopener' target='_blank'><strong>{card.get('title')}</strong></a> : <strong className='status-card__title' title={card.get('title')}>{card.get('title')}</strong>;\n    const ratio       = card.get('width') / card.get('height');\n    const height      = card.get('width') > card.get('height') ? (width / ratio) : (width * ratio);\n\n    const description = (\n      <div className='status-card__content'>\n        {title}\n        {!horizontal && <p className='status-card__description'>{trim(card.get('description') || '', maxDescription)}</p>}\n        <span className='status-card__host'>{provider}</span>\n      </div>\n    );\n\n    let embed     = '';\n    let thumbnail = <div style={{ backgroundImage: `url(${card.get('image')})`, width: horizontal ? width : null, height: horizontal ? height : null }} className='status-card__image-image' />;\n\n    if (interactive) {\n      if (embedded) {\n        embed = this.renderVideo();\n      } else {\n        let iconVariant = 'play';\n\n        if (card.get('type') === 'photo') {\n          iconVariant = 'search-plus';\n        }\n\n        embed = (\n          <div className='status-card__image'>\n            {thumbnail}\n\n            <div className='status-card__actions'>\n              <div>\n                <button onClick={this.handleEmbedClick}><i className={`fa fa-${iconVariant}`} /></button>\n                <a href={card.get('url')} target='_blank' rel='noopener'><i className='fa fa-external-link' /></a>\n              </div>\n            </div>\n          </div>\n        );\n      }\n\n      return (\n        <div className={className} ref={this.setRef}>\n          {embed}\n          {description}\n        </div>\n      );\n    } else if (card.get('image')) {\n      embed = (\n        <div className='status-card__image'>\n          {thumbnail}\n        </div>\n      );\n    }\n\n    return (\n      <a href={card.get('url')} className={className} target='_blank' rel='noopener' ref={this.setRef}>\n        {embed}\n        {description}\n      </a>\n    );\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/status/components/card.js","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t    counter = 0,\n\t\t    length = string.length,\n\t\t    value,\n\t\t    extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t//  0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t    inputLength = input.length,\n\t\t    out,\n\t\t    i = 0,\n\t\t    n = initialN,\n\t\t    bias = initialBias,\n\t\t    basic,\n\t\t    j,\n\t\t    index,\n\t\t    oldi,\n\t\t    w,\n\t\t    k,\n\t\t    digit,\n\t\t    t,\n\t\t    /** Cached calculation results */\n\t\t    baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t    delta,\n\t\t    handledCPCount,\n\t\t    basicLength,\n\t\t    bias,\n\t\t    j,\n\t\t    m,\n\t\t    q,\n\t\t    k,\n\t\t    t,\n\t\t    currentValue,\n\t\t    output = [],\n\t\t    /** `inputLength` will hold the number of code points in `input`. */\n\t\t    inputLength,\n\t\t    /** Cached calculation results */\n\t\t    handledCPCountPlusOne,\n\t\t    baseMinusT,\n\t\t    qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/node-libs-browser/node_modules/punycode/punycode.js"],"sourceRoot":""}
\ No newline at end of file