').append(element).html();\n\t }\n\t }, {\n\t key: '_buildDatelineTemplate',\n\t value: function _buildDatelineTemplate(dateline) {\n\t return '\\n
' + dateline + ' - \\n ';\n\t }\n\t }, {\n\t key: '_addAlertMeToBodyHtml',\n\t value: function _addAlertMeToBodyHtml(bodyHtml) {\n\t var _props5 = this.props,\n\t _props5$showAlertMe = _props5.showAlertMe,\n\t showAlertMe = _props5$showAlertMe === undefined ? false : _props5$showAlertMe,\n\t _props5$alertMe = _props5.alertMe;\n\t _props5$alertMe = _props5$alertMe === undefined ? {} : _props5$alertMe;\n\t var title = _props5$alertMe.title,\n\t dataAlertmePublisher = _props5$alertMe.dataAlertmePublisher,\n\t _props5$alertMePlacem = _props5.alertMePlacement,\n\t alertMePlacement = _props5$alertMePlacem === undefined ? 0 : _props5$alertMePlacem;\n\t\n\t\n\t if (showAlertMe) {\n\t var pTags = bodyHtml.match(/
[\\s\\S]*?<\\/p>/gi) || [];\n\t var alertMeBanner = '
';\n\t\n\t // ad alert me at the end of content when the alertMePlacement over paragraph\n\t if (pTags.length === 0) {\n\t return '' + bodyHtml + alertMeBanner;\n\t }\n\t\n\t if (alertMePlacement >= pTags.length) {\n\t pTags[pTags.length - 1] = '' + pTags[pTags.length - 1] + alertMeBanner;\n\t } else {\n\t pTags[alertMePlacement] = '' + alertMeBanner + pTags[alertMePlacement];\n\t }\n\t\n\t var bodyHtmlArray = bodyHtml.split(/
[\\s\\S]*?<\\/p>/);\n\t return (0, _lodash.reduce)(bodyHtmlArray, function (res, item, index) {\n\t return res + item + (pTags[index] || '');\n\t }, '');\n\t }\n\t\n\t return bodyHtml;\n\t }\n\t }, {\n\t key: '_getBodyComponents',\n\t value: function _getBodyComponents() {\n\t var bodyHtml = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\t var ads = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\t var replacedAds = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n\t var pattern = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 3;\n\t var showStoryAds = arguments[4];\n\t var minRequiredCharacterNumber = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\t\n\t var _this8 = this;\n\t\n\t var showDateline = arguments[6];\n\t var dateline = arguments[7];\n\t\n\t var components = [];\n\t\n\t var bodyElements = void 0;\n\t\n\t if (!bodyHtml) {\n\t return null;\n\t }\n\t\n\t var enableDateline = showDateline && dateline;\n\t\n\t // WEB-4658: replace legacy slideShow by NGW slideShow\n\t // if (!showStoryAds && !enableDateline) {\n\t // return
;\n\t // }\n\t\n\t /* This is pulling all of the top level children from the block of body HTML that is handed down */\n\t var newbodyHtml = this._addAlertMeToBodyHtml(bodyHtml);\n\t var bodyArray = (0, _NewsUtils.convertHtmlStringToArrayElements)(newbodyHtml);\n\t\n\t bodyElements = bodyArray.map(function (element) {\n\t return _this8._convertHTMLElementToString(element);\n\t });\n\t\n\t if (enableDateline) {\n\t /** Add dateline to the first full paragraph which contains only text */\n\t var datelineIndex = bodyElements.findIndex(function (paragraph) {\n\t return paragraph.replace(PARAGRAPH_TAGS_REGEX, '').replace(/ | /g, ' ').trim().length > 0;\n\t });\n\t\n\t if (datelineIndex !== -1) {\n\t var datelineContent = (0, _cheerio2.default)(bodyElements[datelineIndex]).prepend(this._buildDatelineTemplate(dateline));\n\t bodyElements[datelineIndex] = this._convertHTMLElementToString(datelineContent);\n\t }\n\t }\n\t\n\t if (!showStoryAds) {\n\t (0, _lodash.forEach)(bodyElements, function (paragraph, index) {\n\t // WEB-4658: replace legacy slideShow by NGW slideShow\n\t components.push(_react2.default.createElement(Paragraph, { paragraph: paragraph, key: index }));\n\t });\n\t\n\t return components;\n\t }\n\t\n\t var numberOfValidParagraphs = 0;\n\t\n\t (0, _lodash.forEach)(bodyElements, function (paragraph, index) {\n\t // WEB-4658: replace legacy slideShow by NGW slideShow\n\t components.push(_react2.default.createElement(Paragraph, { paragraph: paragraph, key: index }));\n\t\n\t /** A valid paragraph:\n\t * Is not empty: have at least one word / image / iframe / video / table, space character will not be counted ( or )\n\t * Not a style / script html tag\n\t */\n\t var isValidParagraph = paragraph.replace(REMOVE_HTML_TAGS_REGEX, '').replace(/ | /g, ' ').trim().length > minRequiredCharacterNumber;\n\t\n\t var currentAdIndex = Math.floor(numberOfValidParagraphs / pattern);\n\t\n\t if (isValidParagraph) {\n\t if (ads[currentAdIndex] && numberOfValidParagraphs % pattern === pattern - 1) {\n\t var insertedAds = _this8._insertAds(ads, replacedAds, currentAdIndex);\n\t\n\t components.push.apply(components, _toConsumableArray(insertedAds));\n\t }\n\t\n\t numberOfValidParagraphs++;\n\t }\n\t });\n\t\n\t // If there are not enough paragraphs to put an advertisement between paragraphs, put one at the end\n\t if (numberOfValidParagraphs < pattern && ads.length) {\n\t var insertedAds = this._insertAds(ads, replacedAds, 0);\n\t\n\t components.push.apply(components, _toConsumableArray(insertedAds));\n\t }\n\t\n\t return components;\n\t }\n\t }, {\n\t key: '_insertAds',\n\t value: function _insertAds(ads, replacedAds, index) {\n\t var components = [];\n\t var curAdUnit = ads[index];\n\t var replaceAd = replacedAds.find(function (item) {\n\t return item.position === index;\n\t });\n\t var adUnitClassnames = curAdUnit.className;\n\t\n\t if (replaceAd) {\n\t /** We need to distinguish Ad container from paragraph container to prevent CSS override */\n\t var replacedAdClassnames = 'ArticleBody-ad';\n\t\n\t var _replaceAd$ad = replaceAd.ad,\n\t id = _replaceAd$ad.id,\n\t props = _replaceAd$ad.props,\n\t _replaceAd$screenSize = replaceAd.screenSizes,\n\t screenSizes = _replaceAd$screenSize === undefined ? [] : _replaceAd$screenSize;\n\t\n\t\n\t screenSizes.forEach(function (screenSize) {\n\t adUnitClassnames += ' hidden-' + screenSize;\n\t replacedAdClassnames += ' visible-' + screenSize + ' ';\n\t });\n\t\n\t components.push(_react2.default.createElement(ReplacedAd, { key: index + 'replacedAd', componentInstanceId: id, componentDefinition: props, classnames: replacedAdClassnames }));\n\t }\n\t\n\t components.push(_react2.default.createElement(_AdvertisementUnit2.default, _extends({ key: index + '-ad' }, curAdUnit, { className: adUnitClassnames })));\n\t\n\t return components;\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this9 = this;\n\t\n\t var _props6 = this.props,\n\t _props6$ads = _props6.ads,\n\t ads = _props6$ads === undefined ? [] : _props6$ads,\n\t _props6$replacedAds = _props6.replacedAds,\n\t replacedAds = _props6$replacedAds === undefined ? [] : _props6$replacedAds,\n\t showStoryAds = _props6.showStoryAds,\n\t adPlacementPattern = _props6.adPlacementPattern,\n\t minRequiredCharacterNumber = _props6.minRequiredCharacterNumber,\n\t bodyHtml = _props6.bodyHtml,\n\t showDateline = _props6.showDateline,\n\t dateline = _props6.dateline;\n\t\n\t\n\t var articleBody = this._getBodyComponents(bodyHtml, ads, replacedAds, adPlacementPattern, showStoryAds, minRequiredCharacterNumber, showDateline, dateline);\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'ArticleBody', ref: function ref(_ref4) {\n\t return _this9._handleBodyDidMount(_ref4);\n\t } },\n\t articleBody\n\t );\n\t }\n\t }]);\n\t\n\t return ArticleBody;\n\t}(_react.Component), _class4.propTypes = {\n\t showStoryAds: _react.PropTypes.bool,\n\t adPlacementPattern: _react.PropTypes.number,\n\t minRequiredCharacterNumber: _react.PropTypes.number,\n\t ads: _react.PropTypes.array,\n\t bodyHtml: _react.PropTypes.string,\n\t scripts: _react.PropTypes.array,\n\t replacedAds: _react.PropTypes.array,\n\t showDateline: _react.PropTypes.bool,\n\t dateline: _react.PropTypes.string,\n\t showAlertMe: _react.PropTypes.bool,\n\t alertMePlacement: _react.PropTypes.number,\n\t alertMe: _react.PropTypes.object\n\t}, _temp6);\n\tvar ReplacedAd = (_temp8 = _class5 = function (_Component5) {\n\t _inherits(ReplacedAd, _Component5);\n\t\n\t function ReplacedAd() {\n\t var _ref5;\n\t\n\t var _temp7, _this10, _ret3;\n\t\n\t _classCallCheck(this, ReplacedAd);\n\t\n\t for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n\t args[_key3] = arguments[_key3];\n\t }\n\t\n\t return _ret3 = (_temp7 = (_this10 = _possibleConstructorReturn(this, (_ref5 = ReplacedAd.__proto__ || Object.getPrototypeOf(ReplacedAd)).call.apply(_ref5, [this].concat(args))), _this10), _this10.state = {\n\t ComponentClass: null\n\t }, _temp7), _possibleConstructorReturn(_this10, _ret3);\n\t }\n\t\n\t _createClass(ReplacedAd, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var _this11 = this;\n\t\n\t var componentInstanceId = this.props.componentInstanceId;\n\t\n\t\n\t if (componentInstanceId) {\n\t _ComponentLoader2.default.importReactComponent(componentInstanceId).then(function (ComponentClass) {\n\t return _this11.setState({ ComponentClass: ComponentClass });\n\t }).catch(function (error) {\n\t throw new Error(error);\n\t });\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props7 = this.props,\n\t componentDefinition = _props7.componentDefinition,\n\t classnames = _props7.classnames;\n\t var ComponentClass = this.state.ComponentClass;\n\t\n\t\n\t if (!ComponentClass) {\n\t return null;\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: classnames },\n\t _react2.default.createElement(ComponentClass, componentDefinition)\n\t );\n\t }\n\t }]);\n\t\n\t return ReplacedAd;\n\t}(_react.Component), _class5.propTypes = {\n\t componentInstanceId: _react.PropTypes.string.isRequired,\n\t componentDefinition: _react.PropTypes.object.isRequired,\n\t classnames: _react.PropTypes.string\n\t}, _temp8);\n\tvar Paragraph = (_temp9 = _class6 = function (_Component6) {\n\t _inherits(Paragraph, _Component6);\n\t\n\t function Paragraph() {\n\t _classCallCheck(this, Paragraph);\n\t\n\t return _possibleConstructorReturn(this, (Paragraph.__proto__ || Object.getPrototypeOf(Paragraph)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Paragraph, [{\n\t key: 'getSlideShowDom',\n\t value: function getSlideShowDom(paragraph, slideShowWidgetIds) {\n\t return (0, _htmlReactParser2.default)(paragraph, {\n\t replace: function replace(domNode) {\n\t //find domNode has slideshow and replaced by NGW slideshow\n\t if (domNode.attribs && slideShowWidgetIds.indexOf(domNode.attribs.id) > -1) {\n\t var widgetId = domNode.attribs.id.split('-')[0];\n\t var widgetComponentDefinition = {\n\t id: 'components/news/Slideshow',\n\t FRN_resourceEndpoints: [{\n\t url: '/feed/v3.0/widgets/' + widgetId + '?alt=json',\n\t type: 'json'\n\t }]\n\t };\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(_ComponentContainer2.default, {\n\t componentDefinition: widgetComponentDefinition,\n\t params: {},\n\t widgetId: widgetId,\n\t componentInstanceId: 'slideshow-' + widgetId\n\t })\n\t );\n\t }\n\t }\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var paragraph = this.props.paragraph;\n\t\n\t //get slideshow ids\n\t\n\t var slideShowWidgetIds = paragraph.match(/[0-9]+-slideshow/g) || [];\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t slideShowWidgetIds.length > 0 && this.getSlideShowDom(paragraph, slideShowWidgetIds),\n\t slideShowWidgetIds.length === 0 && _react2.default.createElement('div', { className: 'Article-paragraph', dangerouslySetInnerHTML: { __html: paragraph } })\n\t );\n\t }\n\t }]);\n\t\n\t return Paragraph;\n\t}(_react.Component), _class6.propTypes = {\n\t paragraph: _react.PropTypes.string\n\t}, _temp9);\n\texports.default = Article;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1225 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp2;\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _lodash2 = _interopRequireDefault(_lodash);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _frankly = __webpack_require__(36);\n\t\n\tvar _ComponentLoader = __webpack_require__(116);\n\t\n\tvar _ComponentLoader2 = _interopRequireDefault(_ComponentLoader);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar AssociatedContent = (_temp2 = _class = function (_Component) {\n\t _inherits(AssociatedContent, _Component);\n\t\n\t function AssociatedContent() {\n\t var _ref;\n\t\n\t var _temp, _this, _ret;\n\t\n\t _classCallCheck(this, AssociatedContent);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = AssociatedContent.__proto__ || Object.getPrototypeOf(AssociatedContent)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n\t ComponentClass: null,\n\t rawResponses: _this.props.FRN_rawResponses,\n\t gotImplicitData: false\n\t }, _this.ssr_state = {\n\t ComponentClass: null,\n\t rawResponses: []\n\t }, _this.getRawResponses = function () {\n\t var resourceEndpoints = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\t // SSR\n\t var _this$props$resources = _this.props.resources,\n\t resources = _this$props$resources === undefined ? {} : _this$props$resources;\n\t\n\t var rawResponses = [];\n\t\n\t if (_lodash2.default.size(resourceEndpoints) > 0) {\n\t rawResponses = resourceEndpoints.map(function (resource) {\n\t var pat = new RegExp('/[$][{]id[}]/', \"i\");\n\t\n\t if (pat.test(resource.url)) {\n\t var url = resource.url.replace('${id}', _this.props.params.id);\n\t return resources[url] ? resources[url] : null;\n\t }\n\t return resources[resource.url] ? resources[resource.url] : null;\n\t }).filter(function (resource) {\n\t return resource !== null;\n\t });\n\t }\n\t\n\t return rawResponses;\n\t }, _this.getImplicitUrl = function () {\n\t var FRN_rawResponses = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\t\n\t var filter = _lodash2.default.cloneDeep(_lodash2.default.get(_this.props, 'data.filter', {}));\n\t var items = _lodash2.default.get(FRN_rawResponses[0], 'data.features', []);\n\t\n\t var _filter$index = filter.index,\n\t index = _filter$index === undefined ? 0 : _filter$index;\n\t\n\t\n\t _lodash2.default.unset(filter, 'index');\n\t\n\t var filteredList = _lodash2.default.filter(items, filter);\n\t var url = _lodash2.default.get(filteredList[index], 'link', '');\n\t\n\t return url;\n\t }, _this.getImplicitData = function (FRN_rawResponses) {\n\t var url = _this.getImplicitUrl(FRN_rawResponses);\n\t\n\t (0, _frankly.readComponentInstanceResourceList)(_this, { propPath: 'data', vars: { url: url } }).then(function (rawResponses) {\n\t _this.setState({ rawResponses: rawResponses, gotImplicitData: true });\n\t }).catch(function (error) {\n\t throw new Error(error);\n\t });\n\t }, _temp), _possibleConstructorReturn(_this, _ret);\n\t }\n\t\n\t _createClass(AssociatedContent, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var _this2 = this;\n\t\n\t var _props = this.props,\n\t _props$resources = _props.resources,\n\t resources = _props$resources === undefined ? {} : _props$resources,\n\t _props$FRN_resourceEn = _props.FRN_resourceEndpoints,\n\t FRN_resourceEndpoints = _props$FRN_resourceEn === undefined ? [] : _props$FRN_resourceEn,\n\t _props$FRN_rawRespons = _props.FRN_rawResponses,\n\t rawResponses = _props$FRN_rawRespons === undefined ? [] : _props$FRN_rawRespons,\n\t displayComponentId = _props.displayComponentId,\n\t _props$data = _props.data;\n\t _props$data = _props$data === undefined ? {} : _props$data;\n\t var type = _props$data.type,\n\t _props$data$filter = _props$data.filter,\n\t filter = _props$data$filter === undefined ? {} : _props$data$filter;\n\t\n\t\n\t if (typeof window !== 'undefined') {\n\t // CSR\n\t _ComponentLoader2.default.importReactComponent(displayComponentId).then(function (ComponentClass) {\n\t return _this2.setState({ ComponentClass: ComponentClass });\n\t }).catch(function (error) {\n\t throw new Error(error);\n\t });\n\t } else {\n\t //SSR \n\t this.ssr_state.ComponentClass = _ComponentLoader2.default._modules[displayComponentId] ? _ComponentLoader2.default._modules[displayComponentId] : null;\n\t }\n\t\n\t if (typeof window !== 'undefined') {\n\t // CSR\n\t if (rawResponses.length > 0) {\n\t if (type === 'url') {\n\t this.getImplicitData(rawResponses);\n\t } else {\n\t this.setState({ rawResponses: rawResponses });\n\t }\n\t }\n\t } else {\n\t // SSR\n\t this.ssr_state.rawResponses = this.getRawResponses(FRN_resourceEndpoints);\n\t\n\t if (type === 'url') {\n\t var url = this.getImplicitUrl(this.ssr_state.rawResponses);\n\t\n\t if (url && resources[url + '?clienttype=container.json']) {\n\t this.ssr_state.rawResponses = [resources[url + '?clienttype=container.json']];\n\t }\n\t }\n\t }\n\t }\n\t }, {\n\t key: 'componentWillReceiveProps',\n\t value: function componentWillReceiveProps(newProps) {\n\t var rawResponses = newProps.FRN_rawResponses,\n\t _newProps$data = newProps.data;\n\t _newProps$data = _newProps$data === undefined ? {} : _newProps$data;\n\t var type = _newProps$data.type;\n\t\n\t\n\t if (this.props.FRN_rawResponses.length === 0 && rawResponses.length > 0) {\n\t if (type === 'url') {\n\t this.getImplicitData(rawResponses);\n\t } else {\n\t this.setState({ rawResponses: rawResponses });\n\t }\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props2 = this.props,\n\t _props2$displayCompon = _props2.displayComponentProps,\n\t displayComponentProps = _props2$displayCompon === undefined ? {} : _props2$displayCompon,\n\t _props2$filter = _props2.filter,\n\t filter = _props2$filter === undefined ? {} : _props2$filter,\n\t dataPath = _props2.dataPath,\n\t type = _props2.data.type;\n\t\n\t\n\t if (typeof window !== 'undefined' && type === 'url' && !this.state.gotImplicitData) {\n\t // CSR\n\t return null;\n\t }\n\t\n\t var _ref2 = typeof window !== 'undefined' ? this.state : this.ssr_state,\n\t ComponentClass = _ref2.ComponentClass,\n\t rawResponses = _ref2.rawResponses;\n\t\n\t if (!ComponentClass) {\n\t return null;\n\t }\n\t\n\t var _rawResponses = _slicedToArray(rawResponses, 1),\n\t _rawResponses$ = _rawResponses[0];\n\t\n\t _rawResponses$ = _rawResponses$ === undefined ? {} : _rawResponses$;\n\t var _rawResponses$$data = _rawResponses$.data;\n\t _rawResponses$$data = _rawResponses$$data === undefined ? {} : _rawResponses$$data;\n\t var _rawResponses$$data$f = _rawResponses$$data.features,\n\t items = _rawResponses$$data$f === undefined ? [] : _rawResponses$$data$f;\n\t\n\t\n\t if (!items.length) {\n\t return null;\n\t }\n\t\n\t var index = filter.index;\n\t\n\t\n\t var stories = items[index] ? [items[index]] : _lodash2.default.filter(items, filter);\n\t\n\t var newRawResponses = JSON.parse(JSON.stringify(rawResponses)); // deep copy\n\t\n\t _lodash2.default.set(newRawResponses, dataPath, stories);\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'AssociatedContent' },\n\t ComponentClass && _react2.default.createElement(ComponentClass, _extends({ FRN_rawResponses: newRawResponses }, displayComponentProps))\n\t );\n\t }\n\t }]);\n\t\n\t return AssociatedContent;\n\t}(_react.Component), _class.propTypes = {\n\t resources: _react.PropTypes.object,\n\t FRN_rawResponses: _react.PropTypes.array,\n\t displayComponentId: _react.PropTypes.string.isRequired,\n\t displayComponentProps: _react.PropTypes.object,\n\t filter: _react.PropTypes.object,\n\t dataPath: _react.PropTypes.string,\n\t data: _react.PropTypes.shape({\n\t type: _react.PropTypes.oneOf(['url', 'object']),\n\t filter: _react.PropTypes.object\n\t })\n\t}, _class.defaultProps = {\n\t dataPath: '[0].data.features',\n\t data: {\n\t type: 'object'\n\t }\n\t}, _temp2);\n\texports.default = AssociatedContent;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1226 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp;\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _classnames = __webpack_require__(2);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _NewsUtils = __webpack_require__(60);\n\t\n\tvar _WindowUtils = __webpack_require__(100);\n\t\n\tvar _CategoryUtils = __webpack_require__(219);\n\t\n\tvar _Timestamp = __webpack_require__(47);\n\t\n\tvar _Timestamp2 = _interopRequireDefault(_Timestamp);\n\t\n\tvar _Image = __webpack_require__(40);\n\t\n\tvar _Image2 = _interopRequireDefault(_Image);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tvar _redux = __webpack_require__(582);\n\t\n\tvar _reactRouter = __webpack_require__(67);\n\t\n\tvar _URL = __webpack_require__(114);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar CARD_TYPE = {\n\t split: 'split',\n\t full: 'full',\n\t text: 'text'\n\t};\n\t\n\tvar WIDTH_STYLE = {\n\t sm: 'sm',\n\t md: 'sm',\n\t lg: 'lg'\n\t};\n\t\n\tvar RATIO_SPLIT_CARD_IMAGE = {\n\t sm: 1, // full width\n\t md: 0.5, // 50% card width\n\t lg: 0.66 // 66% card width\n\t};\n\t\n\tvar Card = (_temp = _class = function (_Component) {\n\t _inherits(Card, _Component);\n\t\n\t function Card() {\n\t _classCallCheck(this, Card);\n\t\n\t return _possibleConstructorReturn(this, (Card.__proto__ || Object.getPrototypeOf(Card)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Card, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var FRN_requestError = this.props.FRN_requestError;\n\t\n\t var resourceError = void 0,\n\t isURLapologizeable = void 0;\n\t\n\t isURLapologizeable = this.isURLapologizeable();\n\t\n\t if (isURLapologizeable && FRN_requestError && FRN_requestError.length) {\n\t resourceError = FRN_requestError.find(function (_ref) {\n\t var error = _ref.error;\n\t\n\t return error.status === 404 || error.status === 410;\n\t });\n\t\n\t if (resourceError) {\n\t _reactRouter.browserHistory.push(_URL.APOLOGIES_URL);\n\t return;\n\t }\n\t }\n\t }\n\t }, {\n\t key: 'isURLapologizeable',\n\t value: function isURLapologizeable() {\n\t var path = void 0,\n\t catID = /(category\\/+[0-9]+)/i;\n\t if (true) {\n\t path = window.location.pathname;\n\t return catID.test(path);\n\t }\n\t\n\t return false;\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t _props$FRN_rawRespons = _props.FRN_rawResponses;\n\t _props$FRN_rawRespons = _props$FRN_rawRespons === undefined ? [] : _props$FRN_rawRespons;\n\t\n\t var _props$FRN_rawRespons2 = _slicedToArray(_props$FRN_rawRespons, 1),\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons2[0];\n\t\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons3 === undefined ? {} : _props$FRN_rawRespons3;\n\t var _props$FRN_rawRespons4 = _props$FRN_rawRespons3.data;\n\t _props$FRN_rawRespons4 = _props$FRN_rawRespons4 === undefined ? {} : _props$FRN_rawRespons4;\n\t var _props$FRN_rawRespons5 = _props$FRN_rawRespons4.features,\n\t items = _props$FRN_rawRespons5 === undefined ? [] : _props$FRN_rawRespons5,\n\t cardType = _props.cardType,\n\t widthStyle = _props.widthStyle,\n\t heightStyle = _props.heightStyle,\n\t startArticleIndex = _props.startArticleIndex,\n\t itemTypes = _props.types,\n\t _props$displaySizes = _props.displaySizes,\n\t displaySizes = _props$displaySizes === undefined ? [] : _props$displaySizes,\n\t thumbnailAlignment = _props.thumbnailAlignment,\n\t textAlignment = _props.textAlignment,\n\t gradientDirection = _props.gradientDirection,\n\t textVerticalAlignment = _props.textVerticalAlignment,\n\t videoIconPlacement = _props.videoIconPlacement,\n\t showDescriptions = _props.showDescriptions,\n\t defaultBackgroundColorStyle = _props.backgroundColorStyle,\n\t defaultBackgroundColor = _props.backgroundColor,\n\t defaultTextColorStyle = _props.textColorStyle,\n\t defaultTextColor = _props.textColor,\n\t showPlayButtonForVideo = _props.showPlayButtonForVideo,\n\t showTimestamp = _props.showTimestamp,\n\t showUpdatedDate = _props.showUpdatedDate,\n\t showBylines = _props.showBylines,\n\t _props$timestampOptio = _props.timestampOptions,\n\t showElapsedTime = _props$timestampOptio.showElapsedTime,\n\t displayShortDateTime = _props$timestampOptio.displayShortDateTime,\n\t maintainImageAspectRatio = _props.maintainImageAspectRatio,\n\t imageAspectRatioBackgroundColor = _props.imageAspectRatioBackgroundColor,\n\t _props$pillOptions = _props.pillOptions,\n\t defaultPillText = _props$pillOptions.pillText,\n\t defaultPillColorStyle = _props$pillOptions.pillColorStyle,\n\t defaultPillColor = _props$pillOptions.pillColor,\n\t pillVerticalAlign = _props$pillOptions.pillVerticalAlign,\n\t _props$displayTrigger = _props.displayTriggers,\n\t displayTriggers = _props$displayTrigger === undefined ? [] : _props$displayTrigger,\n\t edgeToEdge = _props.edgeToEdge,\n\t _props$spans = _props.spans,\n\t spans = _props$spans === undefined ? {} : _props$spans,\n\t title = _props.title,\n\t titleType = _props.titleType,\n\t titleColor = _props.titleColor,\n\t headlineType = _props.headline;\n\t\n\t\n\t var offset = Math.max(startArticleIndex, 0);\n\t var filteredItems = (0, _CategoryUtils.filterItems)(items, { type: itemTypes, displaysize: displaySizes });\n\t var itemToShow = filteredItems[offset];\n\t\n\t if (!itemToShow) {\n\t return null;\n\t }\n\t\n\t var customOption = displayTriggers.find(function (displayTriggersItem) {\n\t return (0, _lodash.isMatch)(itemToShow, displayTriggersItem.filter);\n\t }) || {};\n\t var _customOption$props = customOption.props;\n\t _customOption$props = _customOption$props === undefined ? {} : _customOption$props;\n\t var customTextColorStyle = _customOption$props.textColorStyle,\n\t customTextColor = _customOption$props.textColor,\n\t customBackgroundColorStyle = _customOption$props.backgroundColorStyle,\n\t customBackgroundColor = _customOption$props.backgroundColor,\n\t customPillText = _customOption$props.pillText,\n\t customPillColorStyle = _customOption$props.pillColorStyle,\n\t customPillColor = _customOption$props.pillColor;\n\t\n\t\n\t var pillText = customPillText || defaultPillText;\n\t var backgroundColorStyle = customBackgroundColorStyle || defaultBackgroundColorStyle;\n\t var backgroundColor = customBackgroundColor || (!customBackgroundColorStyle ? defaultBackgroundColor : '');\n\t var textColorStyle = customTextColorStyle || defaultTextColorStyle;\n\t var textColor = customTextColor || (!customTextColorStyle ? defaultTextColor : '');\n\t var pillColorStyle = customPillColorStyle || defaultPillColorStyle;\n\t var pillColor = customPillColor || (!customPillColorStyle ? defaultPillColor : '');\n\t\n\t var _itemToShow$id = itemToShow.id,\n\t id = _itemToShow$id === undefined ? '' : _itemToShow$id,\n\t _itemToShow$url = itemToShow.url,\n\t url = _itemToShow$url === undefined ? '' : _itemToShow$url,\n\t _itemToShow$link = itemToShow.link,\n\t link = _itemToShow$link === undefined ? '' : _itemToShow$link,\n\t _itemToShow$layout = itemToShow.layout,\n\t layout = _itemToShow$layout === undefined ? '' : _itemToShow$layout,\n\t _itemToShow$headline = itemToShow.headline,\n\t defaultHeadline = _itemToShow$headline === undefined ? '' : _itemToShow$headline,\n\t _itemToShow$abridged = itemToShow.abridged;\n\t _itemToShow$abridged = _itemToShow$abridged === undefined ? {} : _itemToShow$abridged;\n\t var _itemToShow$abridged$ = _itemToShow$abridged.headline,\n\t abridgedHeadline = _itemToShow$abridged$ === undefined ? '' : _itemToShow$abridged$,\n\t _itemToShow$updatedDa = itemToShow.updatedDate,\n\t updatedDate = _itemToShow$updatedDa === undefined ? '' : _itemToShow$updatedDa,\n\t _itemToShow$published = itemToShow.publishedDate,\n\t publishedDate = _itemToShow$published === undefined ? '' : _itemToShow$published,\n\t _itemToShow$type = itemToShow.type,\n\t newsType = _itemToShow$type === undefined ? '' : _itemToShow$type,\n\t _itemToShow$abstract = itemToShow.abstract,\n\t description = _itemToShow$abstract === undefined ? '' : _itemToShow$abstract,\n\t _itemToShow$seo = itemToShow.seo;\n\t _itemToShow$seo = _itemToShow$seo === undefined ? {} : _itemToShow$seo;\n\t var _itemToShow$seo$pageu = _itemToShow$seo.pageurl,\n\t slug = _itemToShow$seo$pageu === undefined ? '' : _itemToShow$seo$pageu,\n\t _itemToShow$bylines = itemToShow.bylines,\n\t bylines = _itemToShow$bylines === undefined ? [] : _itemToShow$bylines,\n\t _itemToShow$surfaceab = itemToShow.surfaceable;\n\t _itemToShow$surfaceab = _itemToShow$surfaceab === undefined ? [] : _itemToShow$surfaceab;\n\t\n\t var _itemToShow$surfaceab2 = _slicedToArray(_itemToShow$surfaceab, 1),\n\t _itemToShow$surfaceab3 = _itemToShow$surfaceab2[0];\n\t\n\t _itemToShow$surfaceab3 = _itemToShow$surfaceab3 === undefined ? {} : _itemToShow$surfaceab3;\n\t var _itemToShow$surfaceab4 = _itemToShow$surfaceab3.type,\n\t featureType = _itemToShow$surfaceab4 === undefined ? '' : _itemToShow$surfaceab4,\n\t _itemToShow$images = itemToShow.images,\n\t images = _itemToShow$images === undefined ? {} : _itemToShow$images,\n\t _itemToShow$abstracti = itemToShow.abstractimage;\n\t _itemToShow$abstracti = _itemToShow$abstracti === undefined ? {} : _itemToShow$abstracti;\n\t var _itemToShow$abstracti2 = _itemToShow$abstracti.filename,\n\t newsImage = _itemToShow$abstracti2 === undefined ? '' : _itemToShow$abstracti2,\n\t _itemToShow$abstracti3 = _itemToShow$abstracti.lastEditedDate,\n\t lastEditedDate = _itemToShow$abstracti3 === undefined ? '' : _itemToShow$abstracti3,\n\t _itemToShow$window = itemToShow.window;\n\t _itemToShow$window = _itemToShow$window === undefined ? {} : _itemToShow$window;\n\t var _itemToShow$window$he = _itemToShow$window.height,\n\t height = _itemToShow$window$he === undefined ? '500' : _itemToShow$window$he,\n\t _itemToShow$window$wi = _itemToShow$window.width,\n\t width = _itemToShow$window$wi === undefined ? '500' : _itemToShow$window$wi,\n\t _itemToShow$window$is = _itemToShow$window.isnewwindow,\n\t isnewwindow = _itemToShow$window$is === undefined ? false : _itemToShow$window$is,\n\t _itemToShow$window$sh = _itemToShow$window.showtoolbar,\n\t showtoolbar = _itemToShow$window$sh === undefined ? true : _itemToShow$window$sh,\n\t _itemToShow$window$is2 = _itemToShow$window.isresizable,\n\t isresizable = _itemToShow$window$is2 === undefined ? true : _itemToShow$window$is2,\n\t _itemToShow$window$sh2 = _itemToShow$window.showscrollbar,\n\t showscrollbar = _itemToShow$window$sh2 === undefined ? true : _itemToShow$window$sh2,\n\t _itemToShow$window$sh3 = _itemToShow$window.showlocation,\n\t showlocation = _itemToShow$window$sh3 === undefined ? true : _itemToShow$window$sh3,\n\t _itemToShow$options = itemToShow.options;\n\t _itemToShow$options = _itemToShow$options === undefined ? {} : _itemToShow$options;\n\t var _itemToShow$options$d = _itemToShow$options.date;\n\t _itemToShow$options$d = _itemToShow$options$d === undefined ? {} : _itemToShow$options$d;\n\t var _itemToShow$options$d2 = _itemToShow$options$d.published;\n\t _itemToShow$options$d2 = _itemToShow$options$d2 === undefined ? {} : _itemToShow$options$d2;\n\t var _itemToShow$options$d3 = _itemToShow$options$d2.showonabstract,\n\t showPublished = _itemToShow$options$d3 === undefined ? true : _itemToShow$options$d3,\n\t _itemToShow$options$d4 = _itemToShow$options$d.updated;\n\t _itemToShow$options$d4 = _itemToShow$options$d4 === undefined ? {} : _itemToShow$options$d4;\n\t var _itemToShow$options$d5 = _itemToShow$options$d4.showonabstract,\n\t showUpdated = _itemToShow$options$d5 === undefined ? true : _itemToShow$options$d5;\n\t\n\t\n\t var type = cardType;\n\t var locationUrl = '';\n\t var headline = headlineType === 'Abridged Headline' ? abridgedHeadline || defaultHeadline : defaultHeadline;\n\t\n\t try {\n\t if (typeof location === 'undefined') {\n\t var _props$state$page = this.props.state.page,\n\t hostname = _props$state$page.hostname,\n\t port = _props$state$page.port,\n\t protocol = _props$state$page.protocol;\n\t\n\t var _location = { hostname: hostname, port: port, protocol: protocol.endsWith(':') ? protocol : protocol + ':' };\n\t locationUrl = (0, _NewsUtils.getLocalLink)(_location, { id: id, type: newsType, slug: slug, link: link });\n\t } else {\n\t locationUrl = (0, _NewsUtils.getLocalLink)(location, { id: id, type: newsType, slug: slug, link: link });\n\t }\n\t } catch (err) {\n\t console.log('>>> getLocalLink error', err);\n\t }\n\t\n\t var isSplitCard = type === CARD_TYPE.split;\n\t var isFullCard = type === CARD_TYPE.full;\n\t var isTextCard = type === CARD_TYPE.text;\n\t var isSmStyle = widthStyle === WIDTH_STYLE.sm;\n\t var isTextAlignedTop = textVerticalAlignment === 'top';\n\t var isPillAlignedAboveHeadline = pillVerticalAlign === 'above-headline';\n\t var isPillAlignedTopCard = pillVerticalAlign === 'top-card';\n\t\n\t var isSmSplitCard = isSplitCard && isSmStyle;\n\t\n\t var textClassNames = (0, _classnames2.default)('Card-content', 'Card-' + type + '-content', _defineProperty({}, 'Card-' + type + '-content--' + textVerticalAlignment, !isSmStyle || !isSplitCard), _defineProperty({}, 'Card-' + type + '-content--' + textVerticalAlignment + '-noTimestamp', !(showTimestamp || showBylines)), _defineProperty({}, 'Card-' + type + '-content--' + textVerticalAlignment + '-noPillPadding', !pillText || isTextAlignedTop && isPillAlignedAboveHeadline));\n\t\n\t var showVideoIcon = showPlayButtonForVideo && (newsType.toLowerCase() === 'clip' || featureType.toLowerCase() === 'clip');\n\t var videoIconPosition = videoIconPlacement.slice(videoIconPlacement.indexOf('-') + 1, videoIconPlacement.length);\n\t // Keeping space between pill and title if they stick together\n\t var isTitleStickToPill = pillText && !isSmSplitCard && (isPillAlignedAboveHeadline || isPillAlignedTopCard && isTextAlignedTop);\n\t\n\t var titleClassnames = (0, _classnames2.default)('Card-title', { 'Card-title-stickToPill': isTitleStickToPill }, 'Card-' + type + '-title', 'Card-' + type + '-title--' + widthStyle, _defineProperty({}, 'TilteVideoThumbnail TilteVideoThumbnail-' + videoIconPosition, showVideoIcon && videoIconPlacement.includes('inline')));\n\t\n\t var pillTextClassnames = (0, _classnames2.default)('Card-pillText', { 'Card-pillText--noBackground': !(pillColor || pillColorStyle) }, _defineProperty({}, 'frn-u-background-' + pillColorStyle, pillColorStyle));\n\t\n\t var pillContent = pillText ? _react2.default.createElement(\n\t 'div',\n\t { className: 'Card-pill Card-' + type + ' Card-pill--' + pillVerticalAlign + ' Card-' + type + '-pill--' + pillVerticalAlign },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: pillTextClassnames, style: { backgroundColor: pillColor } },\n\t pillText\n\t )\n\t ) : null;\n\t\n\t var textContainerClassnames = (0, _classnames2.default)('Card-textContainer', 'Card-' + type + '-textContainer', 'Card-' + type + '-textContainer--' + widthStyle, 'Card-' + type + '-textContainer--' + textAlignment, _defineProperty({}, 'Card-' + type + '-textContainer--' + widthStyle + '-static-top', pillText && isPillAlignedTopCard));\n\t\n\t var pillAboveHeadlineInSmSplit = isPillAlignedAboveHeadline && isSmSplitCard;\n\t\n\t var content = [];\n\t\n\t var iframeImage = (0, _lodash.get)(images, 'graphic.filename', '');\n\t var linkImage = (0, _lodash.get)(images, 'abstract.filename', '');\n\t\n\t var isShowWindowLayout = isnewwindow && newsType === 'link';\n\t var urlIFrameOrUrlLoc = layout === 3 ? url || iframeImage : locationUrl;\n\t var dataOfWindowOpen = (0, _WindowUtils.getDataOfWindowOpen)(width, height, showtoolbar, showscrollbar, showlocation, isresizable);\n\t var timestamp = void 0;\n\t\n\t if (showTimestamp || showBylines) {\n\t var timestampDate = void 0;\n\t\n\t if (showTimestamp) {\n\t var publishedDateTimestamp = showPublished ? publishedDate : null;\n\t var updatedDateTimestamp = showUpdated ? updatedDate : null;\n\t\n\t timestampDate = showUpdatedDate ? updatedDateTimestamp : publishedDateTimestamp;\n\t }\n\t\n\t timestamp = _react2.default.createElement(_Timestamp2.default, { publishDate: timestampDate, showElapsedTime: showElapsedTime, displayShortDateTime: displayShortDateTime, authors: showBylines ? (0, _lodash.map)(bylines, _NewsUtils.bylineToString) : null });\n\t }\n\t\n\t var isOnClick = function isOnClick() {\n\t isShowWindowLayout ? (0, _WindowUtils.showWindow)(urlIFrameOrUrlLoc, '_blank', dataOfWindowOpen) : (0, _WindowUtils.showWindow)(urlIFrameOrUrlLoc, '_self');\n\t };\n\t\n\t //check browser is IE\n\t var ua = void 0,\n\t isIE = void 0,\n\t styleForIE = {};\n\t\n\t if (true) {\n\t ua = (navigator || {}).userAgent;\n\t isIE = ua.indexOf(\"MSIE \") > -1 || ua.indexOf(\"Trident/\") > -1;\n\t styleForIE = isIE && type === CARD_TYPE.full ? { position: 'absolute', top: '0' } : {};\n\t }\n\t\n\t content.push(_react2.default.createElement(\n\t 'div',\n\t { key: content.length, className: textContainerClassnames, style: styleForIE },\n\t (isPillAlignedTopCard || pillAboveHeadlineInSmSplit) && pillContent,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: textClassNames },\n\t isPillAlignedAboveHeadline && !pillAboveHeadlineInSmSplit && pillContent,\n\t isShowWindowLayout ? _react2.default.createElement(\n\t 'a',\n\t null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: titleClassnames },\n\t headline\n\t )\n\t ) : _react2.default.createElement(\n\t 'a',\n\t { href: isnewwindow ? null : urlIFrameOrUrlLoc },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: titleClassnames },\n\t headline\n\t )\n\t ),\n\t showDescriptions && _react2.default.createElement('p', { className: 'Card-description Card-' + type + '-description Card-description Card-' + type + '-description--' + widthStyle, dangerouslySetInnerHTML: { __html: description.replace(/p>/g, 'span>') } })\n\t ),\n\t timestamp\n\t ));\n\t\n\t var customBackgroundStyles = {};\n\t\n\t customBackgroundStyles['backgroundColor'] = backgroundColor;\n\t\n\t if (maintainImageAspectRatio) {\n\t customBackgroundStyles['backgroundColor'] = imageAspectRatioBackgroundColor;\n\t\n\t if (isSmSplitCard || isFullCard) {\n\t var DEFAULT_TRANSPARENT = '60%';\n\t var BACKGROUND_TRANSPARENT = {\n\t sm: '90%',\n\t md: DEFAULT_TRANSPARENT,\n\t lg: '30%'\n\t };\n\t /* background-image is scaled to width proportionally */\n\t customBackgroundStyles['backgroundSize'] = '100% auto';\n\t customBackgroundStyles['backgroundPosition'] = 'top center, bottom';\n\t /* add linear-gradient for backgroundImage */\n\t var transparentValue = gradientDirection === 'top' || gradientDirection === 'bottom' ? DEFAULT_TRANSPARENT : BACKGROUND_TRANSPARENT[widthStyle];\n\t customBackgroundStyles['backgroundImage'] += ',linear-gradient(to ' + gradientDirection + ', ' + imageAspectRatioBackgroundColor + ', transparent ' + transparentValue + ')';\n\t }\n\t } else {\n\t customBackgroundStyles['backgroundSize'] = 'cover';\n\t }\n\t\n\t /* Number of columns for each breakpoint, default: xs = 12, sm = xs, md = sm, lg = md, xl = lg */\n\t var _spans$xs = spans.xs,\n\t xs = _spans$xs === undefined ? 12 : _spans$xs,\n\t _spans$sm = spans.sm,\n\t sm = _spans$sm === undefined ? xs : _spans$sm,\n\t _spans$md = spans.md,\n\t md = _spans$md === undefined ? sm : _spans$md,\n\t _spans$lg = spans.lg,\n\t lg = _spans$lg === undefined ? md : _spans$lg,\n\t _spans$xl = spans.xl,\n\t xl = _spans$xl === undefined ? lg : _spans$xl;\n\t\n\t\n\t var ratioImageWidth = isSplitCard ? RATIO_SPLIT_CARD_IMAGE[widthStyle] : 1;\n\t\n\t /* Breakpoints: XS: 0-767, S: 768-991, M: 992-1199, L: 1200-1469, XL: 1470- */\n\t var imageBreakpoints = [{ \"maxWidth\": 640, \"widthVW\": 100 }, { \"maxWidth\": 767, \"widthVW\": Math.round(xs / 12 * 100) }, { \"maxWidth\": 991, \"widthPX\": Math.round(sm / 12 * 720 * ratioImageWidth) }, { \"maxWidth\": 1199, \"widthPX\": Math.round(md / 12 * 940 * ratioImageWidth) }, { \"maxWidth\": 1469, \"widthPX\": Math.round(lg / 12 * 1140 * ratioImageWidth) }, { \"widthPX\": Math.round(xl / 12 * 1410 * ratioImageWidth) }];\n\t\n\t if (isSplitCard) {\n\t var imageContainerClassNames = (0, _classnames2.default)('Card-split-imageContainer', _defineProperty({}, 'Card-imageGradient Card-imageGradient--' + gradientDirection, isSmSplitCard), 'Card-split-imageContainer--' + widthStyle, _defineProperty({}, 'VideoThumbnail VideoThumbnail-' + videoIconPosition, showVideoIcon && videoIconPlacement.includes('image')));\n\t\n\t var imageStyles = maintainImageAspectRatio ? {\n\t objectFit: 'contain'\n\t } : null;\n\t\n\t var thumbnailContent = _react2.default.createElement(\n\t 'a',\n\t { key: content.length,\n\t href: isnewwindow ? null : urlIFrameOrUrlLoc,\n\t className: imageContainerClassNames,\n\t style: customBackgroundStyles },\n\t _react2.default.createElement(_Image2.default, { imageClassNames: 'img-responsive', lastEditedDate: lastEditedDate, src: linkImage || newsImage, alt: headline, imageStyles: imageStyles, imageBreakpoints: imageBreakpoints, widthStyle: widthStyle })\n\t );\n\t\n\t if (thumbnailAlignment === 'left' || isSmStyle) {\n\t content.unshift(thumbnailContent);\n\t } else {\n\t content.push(thumbnailContent);\n\t }\n\t } else if (!isTextCard) {\n\t // except text card, we should still use an image component so that we get the placeholderImage\n\t content.unshift(_react2.default.createElement(_Image2.default, { key: content.length, lastEditedDate: lastEditedDate, imageClassNames: 'img-responsive', src: linkImage || newsImage, alt: headline, imageBreakpoints: imageBreakpoints, widthStyle: widthStyle }));\n\t }\n\t\n\t var cardStyles = {\n\t color: textColor,\n\t backgroundColor: backgroundColor\n\t };\n\t\n\t var cardClassNames = (0, _classnames2.default)('Card-container', 'Card-' + heightStyle, 'Card-' + type + '-container', 'Card-' + type + '-container--' + widthStyle, _defineProperty({}, 'Card-imageGradient Card-imageGradient--' + gradientDirection, isFullCard), _defineProperty({}, 'frn-u-foreground-' + textColorStyle, textColorStyle), _defineProperty({}, 'frn-u-background-' + backgroundColorStyle, backgroundColorStyle));\n\t\n\t var cardWrapperClassName = (0, _classnames2.default)('Card', 'Card-hoverTitle', { 'Card-edgeToEdge': edgeToEdge });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: cardWrapperClassName, onClick: isOnClick },\n\t title ? _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, color: titleColor, showArrow: false, title: title }) : null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: cardClassNames,\n\t style: isFullCard ? (0, _lodash.merge)(cardStyles, customBackgroundStyles) : cardStyles },\n\t content\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return Card;\n\t}(_react.Component), _class.propTypes = {\n\t FRN_rawResponses: _react.PropTypes.array,\n\t cardType: _react.PropTypes.oneOf(Object.keys(CARD_TYPE)),\n\t widthStyle: _react.PropTypes.oneOf(Object.keys(WIDTH_STYLE)),\n\t heightStyle: _react.PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']),\n\t thumbnailAlignment: _react.PropTypes.oneOf(['left', 'right']),\n\t textAlignment: _react.PropTypes.oneOf(['left', 'right']),\n\t gradientDirection: _react.PropTypes.oneOf(['left', 'right', 'bottom', 'top']),\n\t textVerticalAlignment: _react.PropTypes.oneOf(['top', 'bottom']),\n\t videoIconPlacement: _react.PropTypes.oneOf(['image-center', 'image-bottom-left', 'image-bottom-right', 'image-top-left', 'image-top-right', 'inline-left', 'inline-right']),\n\t startArticleIndex: _react.PropTypes.number,\n\t types: _react.PropTypes.array,\n\t displaySizes: _react.PropTypes.array,\n\t backgroundColorStyle: _react.PropTypes.oneOf(Object.keys(_FRNBaseStyles.COLOR_STYLE)),\n\t backgroundColor: _react.PropTypes.string,\n\t textColorStyle: _react.PropTypes.oneOf(Object.keys(_FRNBaseStyles.COLOR_STYLE)),\n\t textColor: _react.PropTypes.string,\n\t showDescriptions: _react.PropTypes.bool,\n\t showPlayButtonForVideo: _react.PropTypes.bool,\n\t showTimestamp: _react.PropTypes.bool,\n\t showUpdatedDate: _react.PropTypes.bool,\n\t showBylines: _react.PropTypes.bool,\n\t edgeToEdge: _react.PropTypes.bool,\n\t timestampOptions: _react.PropTypes.shape({\n\t showElapsedTime: _react.PropTypes.bool,\n\t displayShortDateTime: _react.PropTypes.bool\n\t }),\n\t maintainImageAspectRatio: _react.PropTypes.bool,\n\t imageAspectRatioBackgroundColor: _react.PropTypes.string,\n\t pillOptions: _react.PropTypes.shape({\n\t pillText: _react.PropTypes.string,\n\t pillColorStyle: _react.PropTypes.oneOf(Object.keys(_FRNBaseStyles.COLOR_STYLE)),\n\t pillColor: _react.PropTypes.string,\n\t pillVerticalAlign: _react.PropTypes.oneOf(['top-card', 'above-headline'])\n\t }),\n\t displayTriggers: _react.PropTypes.arrayOf(_react.PropTypes.shape({\n\t filter: _react.PropTypes.object.isRequired,\n\t props: _react.PropTypes.shape({\n\t textColorStyle: _react.PropTypes.oneOf(Object.keys(_FRNBaseStyles.COLOR_STYLE)),\n\t textColor: _react.PropTypes.string,\n\t backgroundColorStyle: _react.PropTypes.oneOf(Object.keys(_FRNBaseStyles.COLOR_STYLE)),\n\t backgroundColor: _react.PropTypes.string,\n\t pillText: _react.PropTypes.string,\n\t pillColorStyle: _react.PropTypes.oneOf(Object.keys(_FRNBaseStyles.COLOR_STYLE)),\n\t pillColor: _react.PropTypes.string\n\t })\n\t })),\n\t state: _react.PropTypes.object,\n\t spans: _react.PropTypes.object,\n\t title: _react.PropTypes.string,\n\t titleColor: _react.PropTypes.string,\n\t titleType: _react.PropTypes.string,\n\t headline: _react.PropTypes.string\n\t}, _class.defaultProps = {\n\t cardType: 'split',\n\t widthStyle: 'sm',\n\t heightStyle: 'md',\n\t thumbnailAlignment: 'right',\n\t textAlignment: 'left',\n\t gradientDirection: 'bottom',\n\t textVerticalAlignment: 'bottom',\n\t videoIconPlacement: 'inline-right',\n\t startArticleIndex: 0,\n\t types: ['story', 'clip', 'link'],\n\t showDescriptions: false,\n\t showPlayButtonForVideo: true,\n\t showTimestamp: true,\n\t showUpdatedDate: false,\n\t showBylines: true,\n\t edgeToEdge: false,\n\t timestampOptions: {\n\t showElapsedTime: true,\n\t displayShortDateTime: true\n\t },\n\t maintainImageAspectRatio: false,\n\t pillOptions: {\n\t pillVerticalAlign: 'top-card'\n\t },\n\t title: '',\n\t titleType: 'Module Title',\n\t headline: ''\n\t}, _temp);\n\texports.default = (0, _redux.withResources)(Card);\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1227 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp2, _class2, _temp3;\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _lodash2 = _interopRequireDefault(_lodash);\n\t\n\tvar _classnames = __webpack_require__(2);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _NewsUtils = __webpack_require__(60);\n\t\n\tvar _CategoryUtils = __webpack_require__(219);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tvar _Timestamp = __webpack_require__(47);\n\t\n\tvar _Timestamp2 = _interopRequireDefault(_Timestamp);\n\t\n\tvar _redux = __webpack_require__(582);\n\t\n\tvar _Image = __webpack_require__(40);\n\t\n\tvar _Image2 = _interopRequireDefault(_Image);\n\t\n\tvar _ReadMoreButton = __webpack_require__(216);\n\t\n\tvar _ReadMoreButton2 = _interopRequireDefault(_ReadMoreButton);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _WindowUtils = __webpack_require__(100);\n\t\n\tvar _reactRouter = __webpack_require__(67);\n\t\n\tvar _URL = __webpack_require__(114);\n\t\n\tvar _ComponentLoader = __webpack_require__(116);\n\t\n\tvar _ComponentLoader2 = _interopRequireDefault(_ComponentLoader);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t/* Breakpoints: XS: 0-480, S: 481-767, the Rest: 768 - */\n\tvar IMAGE_BREAKPOINTS = [{ \"maxWidth\": 480, \"widthPX\": 133 }, { \"maxWidth\": 767, \"widthPX\": 155 }, { \"widthPX\": 316 // Max width of the image is always equal or less than 316px\n\t}];\n\t\n\tvar CardListItemProps = {\n\t widthStyle: _react.PropTypes.oneOf(['sm', 'md']),\n\t heightStyle: _react.PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']),\n\t showThumbnails: _react.PropTypes.bool,\n\t thumbnailAlignment: _react.PropTypes.oneOf(['left', 'right']),\n\t videoIconPlacement: _react.PropTypes.oneOf(['image-center', 'image-bottom-left', 'image-bottom-right', 'image-top-left', 'image-top-right', 'inline-left', 'inline-right']),\n\t backgroundColor: _react.PropTypes.string,\n\t textColor: _react.PropTypes.string,\n\t showDescriptions: _react.PropTypes.bool,\n\t showPlayButtonForVideo: _react.PropTypes.bool,\n\t showTimestamp: _react.PropTypes.bool,\n\t showUpdatedDate: _react.PropTypes.bool,\n\t showBylines: _react.PropTypes.bool,\n\t timestampOptions: _react.PropTypes.shape({\n\t showElapsedTime: _react.PropTypes.bool,\n\t displayShortDateTime: _react.PropTypes.bool\n\t }),\n\t showNumbers: _react.PropTypes.bool,\n\t maintainImageAspectRatio: _react.PropTypes.bool,\n\t imageAspectRatioBackgroundColor: _react.PropTypes.string,\n\t edgeToEdge: _react.PropTypes.bool,\n\t enableDivider: _react.PropTypes.bool,\n\t dividerOptions: _react.PropTypes.shape({\n\t height: _react.PropTypes.oneOf(Object.keys(_FRNBaseStyles.INSET_STYLE)),\n\t backgroundColor: _react.PropTypes.string,\n\t position: _react.PropTypes.shape({\n\t aboveList: _react.PropTypes.bool,\n\t belowList: _react.PropTypes.bool\n\t })\n\t }),\n\t categoryUrl: _react.PropTypes.string,\n\t showReadMore: _react.PropTypes.bool,\n\t readMoreAlignment: _react.PropTypes.oneOf(['left', 'right', 'center']),\n\t readMoreOptions: _react.PropTypes.shape({\n\t text: _react.PropTypes.string,\n\t fullWidth: _react.PropTypes.bool,\n\t roundedCorner: _react.PropTypes.oneOf(['slight', 'strong', 'no']),\n\t fontStyle: _react.PropTypes.oneOf(['uppercase', 'regular']),\n\t backgroundColor: _react.PropTypes.string,\n\t backgroundColorStyle: _react.PropTypes.oneOf(Object.keys(_FRNBaseStyles.COLOR_STYLE)),\n\t buttonStyle: _react.PropTypes.oneOf(['solid', 'outline']),\n\t outlineColor: _react.PropTypes.string,\n\t outlineColorStyle: _react.PropTypes.oneOf(Object.keys(_FRNBaseStyles.COLOR_STYLE)),\n\t urlTarget: _react.PropTypes.string,\n\t textColor: _react.PropTypes.string,\n\t textColorStyle: _react.PropTypes.oneOf(Object.keys(_FRNBaseStyles.COLOR_STYLE)),\n\t showMoreArrow: _react.PropTypes.bool\n\t }),\n\t title: _react.PropTypes.string,\n\t titleColor: _react.PropTypes.string,\n\t titleType: _react.PropTypes.string,\n\t headline: _react.PropTypes.string\n\t};\n\t\n\tvar CardListItemDefaultProps = {\n\t widthStyle: 'sm',\n\t heightStyle: 'md',\n\t showThumbnails: true,\n\t thumbnailAlignment: 'right',\n\t videoIconPlacement: 'inline-right',\n\t backgroundColor: '#FFFFFF',\n\t textColor: '#000000',\n\t showDescriptions: false,\n\t showPlayButtonForVideo: true,\n\t showTimestamp: true,\n\t showUpdatedDate: false,\n\t showBylines: true,\n\t timestampOptions: {\n\t showElapsedTime: true,\n\t displayShortDateTime: true\n\t },\n\t showNumbers: false,\n\t maintainImageAspectRatio: false,\n\t edgeToEdge: false,\n\t enableDivider: false,\n\t dividerOptions: {\n\t height: 'xs'\n\t },\n\t showReadMore: false,\n\t readMoreAlignment: 'center',\n\t headline: ''\n\t};\n\t\n\tvar CardList = (_temp2 = _class = function (_Component) {\n\t _inherits(CardList, _Component);\n\t\n\t function CardList() {\n\t var _ref;\n\t\n\t var _temp, _this, _ret;\n\t\n\t _classCallCheck(this, CardList);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = CardList.__proto__ || Object.getPrototypeOf(CardList)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n\t listHeight: null\n\t }, _temp), _possibleConstructorReturn(_this, _ret);\n\t }\n\t\n\t _createClass(CardList, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var FRN_requestError = this.props.FRN_requestError;\n\t\n\t var resourceError = void 0,\n\t isURLapologizeable = void 0;\n\t\n\t isURLapologizeable = this.isURLapologizeable();\n\t\n\t if (isURLapologizeable && FRN_requestError && FRN_requestError.length) {\n\t resourceError = FRN_requestError.find(function (_ref2) {\n\t var error = _ref2.error;\n\t\n\t return error.status === 404 || error.status === 410;\n\t });\n\t\n\t if (resourceError) {\n\t _reactRouter.browserHistory.push(_URL.APOLOGIES_URL);\n\t return;\n\t }\n\t }\n\t }\n\t }, {\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t this._updateListHeight();\n\t }\n\t }, {\n\t key: 'componentWillReceiveProps',\n\t value: function componentWillReceiveProps() {\n\t this._updateListHeight();\n\t }\n\t }, {\n\t key: '_updateListHeight',\n\t value: function _updateListHeight() {\n\t var enableDivider = this.props.enableDivider;\n\t\n\t /**\n\t * Edge browser can't destructure cardlist DOM node.\n\t * Get firstListItem and itemContent not using destructuring.\n\t */\n\t\n\t var firstListItem = this.cardlist && this.cardlist.children && this.cardlist.children[0];\n\t var itemContent = firstListItem && firstListItem.children && firstListItem.children[0];\n\t\n\t if (enableDivider && itemContent) {\n\t var _props$dividerOptions = this.props.dividerOptions;\n\t _props$dividerOptions = _props$dividerOptions === undefined ? {} : _props$dividerOptions;\n\t var dividerHeight = _props$dividerOptions.height,\n\t _props$dividerOptions2 = _props$dividerOptions.position;\n\t _props$dividerOptions2 = _props$dividerOptions2 === undefined ? {} : _props$dividerOptions2;\n\t var belowList = _props$dividerOptions2.belowList,\n\t aboveList = _props$dividerOptions2.aboveList;\n\t\n\t\n\t var dividerHeightInPx = _FRNBaseStyles.INSET_STYLE_VALUE_MAPPING[dividerHeight];\n\t\n\t /** The item height depends on both wrapper and the content of each item\n\t * We take the higher value\n\t **/\n\t var currentItemHeight = Math.max(itemContent.offsetHeight, firstListItem.offsetHeight);\n\t var currentListHeight = this.cardlist.offsetHeight;\n\t\n\t var actualItemHeight = currentItemHeight + dividerHeightInPx;\n\t\n\t if (belowList && aboveList) {\n\t /** Dividers on both above and below */\n\t this._updateHeight(currentListHeight - dividerHeightInPx, actualItemHeight, dividerHeightInPx);\n\t } else if (!belowList && !aboveList) {\n\t /** Dividers between */\n\t this._updateHeight(currentListHeight + dividerHeightInPx, actualItemHeight, 0 - dividerHeightInPx);\n\t } else {\n\t this._updateHeight(currentListHeight, actualItemHeight);\n\t }\n\t }\n\t }\n\t }, {\n\t key: '_updateHeight',\n\t value: function _updateHeight(listHeightToDivide, actualItemHeight) {\n\t var adjustValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\t\n\t if (this._itemNotFixHeight(listHeightToDivide, actualItemHeight)) {\n\t var numberOfItems = this._getNumberOfItems(listHeightToDivide, actualItemHeight);\n\t\n\t this.setState({\n\t listHeight: actualItemHeight * numberOfItems + adjustValue\n\t });\n\t }\n\t }\n\t }, {\n\t key: '_itemNotFixHeight',\n\t value: function _itemNotFixHeight(listHeight, itemHeight) {\n\t var allowedRemainder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 3;\n\t\n\t /** Check if the itemHeight with the dividers will fix the list container\n\t * The allowed remainder is for standard error when calculating offset height of items ie .33 value\n\t */\n\t return listHeight % itemHeight > allowedRemainder;\n\t }\n\t }, {\n\t key: '_getNumberOfItems',\n\t value: function _getNumberOfItems(listHeight, itemHeight) {\n\t return Math.ceil(listHeight / itemHeight);\n\t }\n\t }, {\n\t key: 'isURLapologizeable',\n\t value: function isURLapologizeable() {\n\t var path = void 0,\n\t catID = /(category\\/+[0-9]+)/i;\n\t if (true) {\n\t path = window.location.pathname;\n\t return catID.test(path);\n\t }\n\t\n\t return false;\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _props = this.props,\n\t _props$FRN_rawRespons = _props.FRN_rawResponses;\n\t _props$FRN_rawRespons = _props$FRN_rawRespons === undefined ? [] : _props$FRN_rawRespons;\n\t\n\t var _props$FRN_rawRespons2 = _slicedToArray(_props$FRN_rawRespons, 1),\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons2[0];\n\t\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons3 === undefined ? {} : _props$FRN_rawRespons3;\n\t var _props$FRN_rawRespons4 = _props$FRN_rawRespons3.data;\n\t _props$FRN_rawRespons4 = _props$FRN_rawRespons4 === undefined ? {} : _props$FRN_rawRespons4;\n\t var link = _props$FRN_rawRespons4.link,\n\t _props$FRN_rawRespons5 = _props$FRN_rawRespons4.features,\n\t items = _props$FRN_rawRespons5 === undefined ? [] : _props$FRN_rawRespons5,\n\t widthStyle = _props.widthStyle,\n\t heightStyle = _props.heightStyle,\n\t startArticleIndex = _props.startArticleIndex,\n\t types = _props.types,\n\t _props$displaySizes = _props.displaySizes,\n\t displaySizes = _props$displaySizes === undefined ? [] : _props$displaySizes,\n\t numberOfItems = _props.numberOfItems,\n\t showThumbnails = _props.showThumbnails,\n\t thumbnailAlignment = _props.thumbnailAlignment,\n\t videoIconPlacement = _props.videoIconPlacement,\n\t showDescriptions = _props.showDescriptions,\n\t backgroundColor = _props.backgroundColor,\n\t textColor = _props.textColor,\n\t showPlayButtonForVideo = _props.showPlayButtonForVideo,\n\t showTimestamp = _props.showTimestamp,\n\t showUpdatedDate = _props.showUpdatedDate,\n\t showBylines = _props.showBylines,\n\t timestampOptions = _props.timestampOptions,\n\t showNumbers = _props.showNumbers,\n\t maintainImageAspectRatio = _props.maintainImageAspectRatio,\n\t imageAspectRatioBackgroundColor = _props.imageAspectRatioBackgroundColor,\n\t edgeToEdge = _props.edgeToEdge,\n\t enableDivider = _props.enableDivider,\n\t _props$dividerOptions3 = _props.dividerOptions,\n\t dividerOptions = _props$dividerOptions3 === undefined ? {} : _props$dividerOptions3,\n\t categoryUrl = _props.categoryUrl,\n\t showReadMore = _props.showReadMore,\n\t textAlign = _props.readMoreAlignment,\n\t _props$readMoreOption = _props.readMoreOptions,\n\t readMoreOptions = _props$readMoreOption === undefined ? {} : _props$readMoreOption,\n\t title = _props.title,\n\t titleType = _props.titleType,\n\t titleColor = _props.titleColor,\n\t headlineType = _props.headline;\n\t var dividerBackgroundColor = dividerOptions.backgroundColor,\n\t dividerHeight = dividerOptions.height,\n\t _dividerOptions$posit = dividerOptions.position;\n\t _dividerOptions$posit = _dividerOptions$posit === undefined ? {} : _dividerOptions$posit;\n\t var dividerBelowList = _dividerOptions$posit.belowList,\n\t dividerAboveList = _dividerOptions$posit.aboveList;\n\t var _readMoreOptions$text = readMoreOptions.text,\n\t text = _readMoreOptions$text === undefined ? 'View More' : _readMoreOptions$text,\n\t _readMoreOptions$roun = readMoreOptions.roundedCorner,\n\t roundedCorner = _readMoreOptions$roun === undefined ? 'strong' : _readMoreOptions$roun,\n\t _readMoreOptions$butt = readMoreOptions.buttonStyle,\n\t buttonStyle = _readMoreOptions$butt === undefined ? 'solid' : _readMoreOptions$butt;\n\t\n\t\n\t var offset = Math.max(startArticleIndex, 0);\n\t var filteredItems = (0, _CategoryUtils.filterItems)(items, { type: types, displaysize: displaySizes });\n\t var itemsToShow = filteredItems.slice(offset, numberOfItems + offset);\n\t var cardListClassName = (0, _classnames2.default)('CardList', 'CardList--' + heightStyle, 'CardList--' + heightStyle + '-' + numberOfItems, {\n\t 'CardList-edgeToEdge': edgeToEdge,\n\t 'frn-u-divider': enableDivider,\n\t 'CardList-divider--below-list': enableDivider && !dividerAboveList && dividerBelowList\n\t });\n\t\n\t if (!itemsToShow.length) {\n\t return null;\n\t }\n\t\n\t var cardListStyle = {};\n\t\n\t if (enableDivider) {\n\t var listHeight = this.state.listHeight;\n\t\n\t var dividerHeightInPx = _FRNBaseStyles.INSET_STYLE_VALUE_MAPPING[dividerHeight];\n\t\n\t cardListStyle.height = listHeight;\n\t\n\t /** The divider will be the space between the items, so the container background color will be the divider color */\n\t cardListStyle.backgroundColor = dividerBackgroundColor;\n\t\n\t /**\n\t * In mobile screen size, adding padding bottom with negative margin for the last divider\n\t */\n\t if (dividerBelowList) {\n\t cardListStyle.paddingBottom = dividerHeightInPx;\n\t\n\t if (!dividerAboveList) {\n\t cardListStyle.marginBottom = 0 - dividerHeightInPx;\n\t }\n\t }\n\t }\n\t\n\t var content = itemsToShow.map(function (item, index) {\n\t return _react2.default.createElement(CardListItem, {\n\t key: index,\n\t item: item,\n\t widthStyle: widthStyle,\n\t showThumbnails: showThumbnails,\n\t thumbnailAlignment: thumbnailAlignment,\n\t videoIconPlacement: videoIconPlacement,\n\t showDescriptions: showDescriptions,\n\t backgroundColor: backgroundColor,\n\t textColor: textColor,\n\t showPlayButtonForVideo: showPlayButtonForVideo,\n\t showTimestamp: showTimestamp,\n\t showUpdatedDate: showUpdatedDate,\n\t showBylines: showBylines,\n\t timestampOptions: timestampOptions,\n\t showNumbers: showNumbers,\n\t itemNumber: index + 1,\n\t maintainImageAspectRatio: maintainImageAspectRatio,\n\t imageAspectRatioBackgroundColor: imageAspectRatioBackgroundColor,\n\t enableDivider: enableDivider,\n\t dividerOptions: dividerOptions,\n\t headlineType: headlineType\n\t });\n\t });\n\t\n\t var readMoreUrl = categoryUrl || link;\n\t var readMoreStyle = {\n\t textAlign: textAlign\n\t };\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t title ? _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, color: titleColor, showArrow: false, title: title }) : null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: cardListClassName, style: cardListStyle, ref: function ref(cardlist) {\n\t return _this2.cardlist = cardlist;\n\t } },\n\t content\n\t ),\n\t showReadMore && _react2.default.createElement(\n\t 'div',\n\t { className: 'CardList-readMore', style: readMoreStyle },\n\t _react2.default.createElement(_ReadMoreButton2.default, _extends({\n\t text: text,\n\t link: readMoreUrl,\n\t roundedCorner: roundedCorner,\n\t buttonStyle: buttonStyle\n\t }, readMoreOptions))\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return CardList;\n\t}(_react.Component), _class.propTypes = _extends({\n\t FRN_rawResponses: _react.PropTypes.array,\n\t startArticleIndex: _react.PropTypes.number,\n\t types: _react.PropTypes.array,\n\t displaySizes: _react.PropTypes.array,\n\t numberOfItems: _react.PropTypes.number\n\t}, CardListItemProps), _class.defaultProps = _extends({\n\t startArticleIndex: 0,\n\t types: ['story', 'clip', 'link'],\n\t numberOfItems: 4\n\t}, CardListItemDefaultProps), _temp2);\n\tvar CardListItem = (_temp3 = _class2 = function (_Component2) {\n\t _inherits(CardListItem, _Component2);\n\t\n\t function CardListItem() {\n\t _classCallCheck(this, CardListItem);\n\t\n\t return _possibleConstructorReturn(this, (CardListItem.__proto__ || Object.getPrototypeOf(CardListItem)).apply(this, arguments));\n\t }\n\t\n\t _createClass(CardListItem, [{\n\t key: 'render',\n\t value: function render() {\n\t var _classNames5;\n\t\n\t var _props2 = this.props,\n\t item = _props2.item,\n\t widthStyle = _props2.widthStyle,\n\t itemNumber = _props2.itemNumber,\n\t showThumbnails = _props2.showThumbnails,\n\t thumbnailAlignment = _props2.thumbnailAlignment,\n\t videoIconPlacement = _props2.videoIconPlacement,\n\t backgroundColor = _props2.backgroundColor,\n\t textColor = _props2.textColor,\n\t showDescriptions = _props2.showDescriptions,\n\t showPlayButtonForVideo = _props2.showPlayButtonForVideo,\n\t showTimestamp = _props2.showTimestamp,\n\t showUpdatedDate = _props2.showUpdatedDate,\n\t showBylines = _props2.showBylines,\n\t _props2$timestampOpti = _props2.timestampOptions,\n\t showElapsedTime = _props2$timestampOpti.showElapsedTime,\n\t displayShortDateTime = _props2$timestampOpti.displayShortDateTime,\n\t showNumbers = _props2.showNumbers,\n\t maintainImageAspectRatio = _props2.maintainImageAspectRatio,\n\t imageAspectRatioBackgroundColor = _props2.imageAspectRatioBackgroundColor,\n\t enableDivider = _props2.enableDivider,\n\t _props2$dividerOption = _props2.dividerOptions,\n\t _props2$dividerOption2 = _props2$dividerOption.height,\n\t dividerHeight = _props2$dividerOption2 === undefined ? 'xs' : _props2$dividerOption2,\n\t _props2$dividerOption3 = _props2$dividerOption.position;\n\t _props2$dividerOption3 = _props2$dividerOption3 === undefined ? {} : _props2$dividerOption3;\n\t var dividerAboveList = _props2$dividerOption3.aboveList,\n\t dividerBelowList = _props2$dividerOption3.belowList,\n\t headlineType = _props2.headlineType;\n\t var _item$id = item.id,\n\t id = _item$id === undefined ? '' : _item$id,\n\t _item$link = item.link,\n\t link = _item$link === undefined ? '' : _item$link,\n\t _item$url = item.url,\n\t url = _item$url === undefined ? '' : _item$url,\n\t _item$layout = item.layout,\n\t layout = _item$layout === undefined ? '' : _item$layout,\n\t _item$headline = item.headline,\n\t defaultHeadline = _item$headline === undefined ? '' : _item$headline,\n\t _item$abridged = item.abridged;\n\t _item$abridged = _item$abridged === undefined ? {} : _item$abridged;\n\t var _item$abridged$headli = _item$abridged.headline,\n\t abridgedHeadline = _item$abridged$headli === undefined ? '' : _item$abridged$headli,\n\t _item$updatedDate = item.updatedDate,\n\t updatedDate = _item$updatedDate === undefined ? '' : _item$updatedDate,\n\t _item$publishedDate = item.publishedDate,\n\t publishedDate = _item$publishedDate === undefined ? '' : _item$publishedDate,\n\t _item$type = item.type,\n\t newsType = _item$type === undefined ? '' : _item$type,\n\t _item$abstract = item.abstract,\n\t description = _item$abstract === undefined ? '' : _item$abstract,\n\t _item$bylines = item.bylines,\n\t bylines = _item$bylines === undefined ? [] : _item$bylines,\n\t _item$images = item.images,\n\t images = _item$images === undefined ? {} : _item$images,\n\t _item$window = item.window;\n\t _item$window = _item$window === undefined ? {} : _item$window;\n\t var _item$window$height = _item$window.height,\n\t height = _item$window$height === undefined ? '500' : _item$window$height,\n\t _item$window$width = _item$window.width,\n\t width = _item$window$width === undefined ? '500' : _item$window$width,\n\t _item$window$showtool = _item$window.showtoolbar,\n\t showtoolbar = _item$window$showtool === undefined ? true : _item$window$showtool,\n\t _item$window$isnewwin = _item$window.isnewwindow,\n\t isnewwindow = _item$window$isnewwin === undefined ? false : _item$window$isnewwin,\n\t _item$window$showscro = _item$window.showscrollbar,\n\t showscrollbar = _item$window$showscro === undefined ? true : _item$window$showscro,\n\t _item$window$showloca = _item$window.showlocation,\n\t showlocation = _item$window$showloca === undefined ? true : _item$window$showloca,\n\t _item$window$isresiza = _item$window.isresizable,\n\t isresizable = _item$window$isresiza === undefined ? true : _item$window$isresiza,\n\t _item$seo = item.seo;\n\t _item$seo = _item$seo === undefined ? {} : _item$seo;\n\t var _item$seo$pageurl = _item$seo.pageurl,\n\t slug = _item$seo$pageurl === undefined ? '' : _item$seo$pageurl,\n\t _item$surfaceable = item.surfaceable;\n\t _item$surfaceable = _item$surfaceable === undefined ? [] : _item$surfaceable;\n\t\n\t var _item$surfaceable2 = _slicedToArray(_item$surfaceable, 1),\n\t _item$surfaceable2$ = _item$surfaceable2[0];\n\t\n\t _item$surfaceable2$ = _item$surfaceable2$ === undefined ? {} : _item$surfaceable2$;\n\t var _item$surfaceable2$$t = _item$surfaceable2$.type,\n\t featureType = _item$surfaceable2$$t === undefined ? '' : _item$surfaceable2$$t,\n\t _item$images2 = item.images;\n\t _item$images2 = _item$images2 === undefined ? {} : _item$images2;\n\t var _item$images2$abstrac = _item$images2.abstract;\n\t _item$images2$abstrac = _item$images2$abstrac === undefined ? {} : _item$images2$abstrac;\n\t var _item$images2$abstrac2 = _item$images2$abstrac.filename,\n\t linkImage = _item$images2$abstrac2 === undefined ? '' : _item$images2$abstrac2,\n\t _item$abstractimage = item.abstractimage;\n\t _item$abstractimage = _item$abstractimage === undefined ? {} : _item$abstractimage;\n\t var _item$abstractimage$f = _item$abstractimage.filename,\n\t newsImage = _item$abstractimage$f === undefined ? '' : _item$abstractimage$f,\n\t _item$abstractimage$l = _item$abstractimage.lastEditedDate,\n\t lastEditedDate = _item$abstractimage$l === undefined ? '' : _item$abstractimage$l,\n\t _item$options = item.options;\n\t _item$options = _item$options === undefined ? {} : _item$options;\n\t var _item$options$date = _item$options.date;\n\t _item$options$date = _item$options$date === undefined ? {} : _item$options$date;\n\t var _item$options$date$pu = _item$options$date.published;\n\t _item$options$date$pu = _item$options$date$pu === undefined ? {} : _item$options$date$pu;\n\t var _item$options$date$pu2 = _item$options$date$pu.showonabstract,\n\t showPublished = _item$options$date$pu2 === undefined ? true : _item$options$date$pu2,\n\t _item$options$date$up = _item$options$date.updated;\n\t _item$options$date$up = _item$options$date$up === undefined ? {} : _item$options$date$up;\n\t var _item$options$date$up2 = _item$options$date$up.showonabstract,\n\t showUpdated = _item$options$date$up2 === undefined ? true : _item$options$date$up2;\n\t\n\t\n\t var locationUrl = '';\n\t var headline = headlineType === 'Abridged Headline' ? abridgedHeadline || defaultHeadline : defaultHeadline;\n\t\n\t try {\n\t if (typeof location === 'undefined') {\n\t var _props$state$page = this.props.state.page,\n\t hostname = _props$state$page.hostname,\n\t port = _props$state$page.port,\n\t protocol = _props$state$page.protocol;\n\t\n\t var _location = { hostname: hostname, port: port, protocol: protocol.endsWith(':') ? protocol : protocol + ':' };\n\t locationUrl = (0, _NewsUtils.getLocalLink)(_location, { id: id, type: newsType, slug: slug, link: link });\n\t } else {\n\t locationUrl = (0, _NewsUtils.getLocalLink)(location, { id: id, type: newsType, slug: slug, link: link });\n\t }\n\t } catch (err) {\n\t console.log('>>> getLocalLink error', err);\n\t }\n\t\n\t var showVideoIcon = showPlayButtonForVideo && (newsType.toLowerCase() === 'clip' || featureType.toLowerCase() === 'clip');\n\t var videoIconPosition = videoIconPlacement.slice(videoIconPlacement.indexOf('-') + 1, videoIconPlacement.length);\n\t\n\t var content = [];\n\t var showTimestampComponent = showBylines || showTimestamp;\n\t\n\t var contentClassNames = (0, _classnames2.default)('CardList-item-content', { 'CardList-item-content--noDescription': !showDescriptions }, { 'CardList-item-content--noTimestamp': !showTimestampComponent });\n\t\n\t var titleClassNames = (0, _classnames2.default)('CardList-item-title', { 'CardList-item-title--noDescription': !showDescriptions || !description }, { 'CardList-item-title--noTimestamp': !showTimestampComponent }, _defineProperty({}, 'TilteVideoThumbnail TilteVideoThumbnail-' + videoIconPosition, showVideoIcon && videoIconPlacement.includes('inline')));\n\t\n\t var descriptionClassNames = (0, _classnames2.default)('CardList-item-description', { 'CardList-item-description--noTimestamp': !showTimestampComponent });\n\t\n\t var textContainerClassNames = (0, _classnames2.default)('CardList-item-textContainer', { 'CardList-item-textContainer--withNumber': showNumbers }, _defineProperty({}, 'CardList-item-textContainer--withNumber-' + widthStyle, showNumbers));\n\t\n\t var iframeImage = _lodash2.default.get(images, 'graphic.filename', '');\n\t var isShowWindowLayout = isnewwindow && newsType === 'link';\n\t var urlIFrameOrUrlLoc = layout === 3 ? url || iframeImage : locationUrl;\n\t\n\t var dataOfWindowOpen = (0, _WindowUtils.getDataOfWindowOpen)(width, height, showtoolbar, showscrollbar, showlocation, isresizable);\n\t\n\t var timestamp = void 0;\n\t\n\t if (showTimestampComponent) {\n\t var timestampDate = void 0;\n\t\n\t if (showTimestamp) {\n\t var publishedDateTimestamp = showPublished ? publishedDate : null;\n\t var updatedDateTimestamp = showUpdated ? updatedDate : null;\n\t\n\t timestampDate = showUpdatedDate ? updatedDateTimestamp : publishedDateTimestamp;\n\t }\n\t\n\t timestamp = _react2.default.createElement(_Timestamp2.default, { publishDate: timestampDate, showElapsedTime: showElapsedTime, displayShortDateTime: displayShortDateTime, authors: showBylines ? _lodash2.default.map(bylines, _NewsUtils.bylineToString) : null });\n\t }\n\t\n\t content.push(_react2.default.createElement(\n\t 'div',\n\t { key: content.length,\n\t className: textContainerClassNames },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: contentClassNames, style: { color: textColor } },\n\t isShowWindowLayout ? _react2.default.createElement(\n\t 'a',\n\t { className: 'CardList-hoverCardList', onClick: function onClick() {\n\t return (0, _WindowUtils.showWindow)(urlIFrameOrUrlLoc, '_blank', dataOfWindowOpen);\n\t } },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: titleClassNames, style: { color: textColor } },\n\t headline\n\t )\n\t ) : _react2.default.createElement(\n\t 'a',\n\t { href: urlIFrameOrUrlLoc },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: titleClassNames, style: { color: textColor } },\n\t headline\n\t )\n\t ),\n\t showDescriptions && _react2.default.createElement('p', { className: descriptionClassNames, dangerouslySetInnerHTML: { __html: description.replace(/p>/g, 'span>') } })\n\t ),\n\t timestamp\n\t ));\n\t\n\t if (showNumbers) {\n\t content.unshift(_react2.default.createElement(\n\t 'div',\n\t { key: content.length, className: 'CardList-item-number' },\n\t itemNumber,\n\t '.'\n\t ));\n\t }\n\t\n\t if (showThumbnails) {\n\t var imageContainerStyles = {};\n\t\n\t imageContainerStyles['backgroundColor'] = backgroundColor;\n\t\n\t var imageStyles = void 0;\n\t if (maintainImageAspectRatio) {\n\t imageContainerStyles['backgroundColor'] = imageAspectRatioBackgroundColor;\n\t imageStyles = {\n\t objectFit: 'contain'\n\t };\n\t }\n\t\n\t var imageContainerClassNames = (0, _classnames2.default)('CardList-item-imageContainer', { 'CardList-hoverCardList': isShowWindowLayout }, 'CardList-item-imageContainer--' + widthStyle, _defineProperty({}, 'VideoThumbnail VideoThumbnail-' + videoIconPosition, showVideoIcon && videoIconPlacement.includes('image')));\n\t\n\t var imgClassNames = (0, _classnames2.default)('CardList-item-imageContainer-image', _defineProperty({}, 'VideoThumbnail VideoThumbnail-' + videoIconPosition, showVideoIcon && videoIconPlacement.includes('image')), { 'CardList-item-imageContainer-image--scale': maintainImageAspectRatio });\n\t\n\t var isOnClick = function isOnClick() {\n\t isShowWindowLayout && (0, _WindowUtils.showWindow)(urlIFrameOrUrlLoc, '_blank', dataOfWindowOpen);\n\t };\n\t\n\t var thumbnailContent = _react2.default.createElement(\n\t 'a',\n\t { onClick: isOnClick, key: content.length,\n\t href: isShowWindowLayout ? null : urlIFrameOrUrlLoc,\n\t className: imageContainerClassNames,\n\t style: imageContainerStyles },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: imgClassNames, style: { backgroundColor: imageAspectRatioBackgroundColor } },\n\t _react2.default.createElement(_Image2.default, {\n\t imageClassNames: 'img-responsive',\n\t src: newsType === 'link' ? linkImage : newsImage,\n\t lastEditedDate: lastEditedDate,\n\t alt: headline,\n\t imageStyles: imageStyles,\n\t imageBreakpoints: IMAGE_BREAKPOINTS\n\t })\n\t )\n\t );\n\t\n\t if (thumbnailAlignment === 'left') {\n\t content.unshift(thumbnailContent);\n\t } else {\n\t content.push(thumbnailContent);\n\t }\n\t }\n\t\n\t var itemStyles = {\n\t color: textColor,\n\t backgroundColor: backgroundColor\n\t };\n\t\n\t var itemClassnames = (0, _classnames2.default)('CardList-item', (_classNames5 = {\n\t 'CardList-item-margin--default': !enableDivider,\n\t 'CardList-item-margin--divider': enableDivider\n\t }, _defineProperty(_classNames5, 'frn-u-margin-' + dividerHeight, enableDivider), _defineProperty(_classNames5, 'CardList-item-divider--above-list', enableDivider && dividerAboveList), _defineProperty(_classNames5, 'CardList-item-divider--between', enableDivider && !dividerAboveList && !dividerBelowList), _defineProperty(_classNames5, 'CardList-item-divider--below-list', enableDivider && dividerBelowList), _classNames5));\n\t\n\t /**\n\t * Override frn-u-margin-* based on divider position\n\t */\n\t if (enableDivider) {\n\t if (dividerAboveList) {\n\t itemStyles['marginBottom'] = 0;\n\t } else {\n\t itemStyles['marginTop'] = 0;\n\t }\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { style: itemStyles, className: itemClassnames },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'CardList-item-container' },\n\t content\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return CardListItem;\n\t}(_react.Component), _class2.propTypes = _extends({\n\t item: _react.PropTypes.object.isRequired,\n\t itemNumber: _react.PropTypes.number\n\t}, CardListItemProps), _class2.defaultProps = _extends({\n\t itemNumber: 1\n\t}, CardListItemDefaultProps), _temp3);\n\t\n\t\n\tCardListItem = (0, _redux.withResources)(CardListItem);\n\texports.default = CardList;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1228 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp, _class2, _temp3, _class3, _temp4, _class4, _temp5;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _classnames = __webpack_require__(2);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactBootstrap = __webpack_require__(26);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _ChevronRight = __webpack_require__(169);\n\t\n\tvar _ChevronRight2 = _interopRequireDefault(_ChevronRight);\n\t\n\tvar _Pagination = __webpack_require__(170);\n\t\n\tvar _Pagination2 = _interopRequireDefault(_Pagination);\n\t\n\tvar _Timestamp = __webpack_require__(47);\n\t\n\tvar _Timestamp2 = _interopRequireDefault(_Timestamp);\n\t\n\tvar _Image = __webpack_require__(40);\n\t\n\tvar _Image2 = _interopRequireDefault(_Image);\n\t\n\tvar _WindowUtils = __webpack_require__(100);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tvar _CategoryUtils = __webpack_require__(219);\n\t\n\tvar _NewsUtils = __webpack_require__(60);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\t\n\tfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar GRID_ITEM_HEIGHT = 280;\n\tvar HERO_ITEM_HEIGHT = 540;\n\t\n\tvar layoutType = {\n\t HERO: 'hero',\n\t GRID: 'grid'\n\t};\n\t\n\tvar heroPlacementType = {\n\t TOP: 'top',\n\t LEFT: 'left'\n\t};\n\t\n\tvar imageSizingType = {\n\t FIXED_HEIGHT: 'fixed-height',\n\t SIXTEEN_NINE: 'sixteen-nine'\n\t};\n\t\n\tvar ItemsPropTypes = {\n\t columnGridCount: _react.PropTypes.number.isRequired,\n\t textColor: _react.PropTypes.string,\n\t showTimestamp: _react.PropTypes.bool,\n\t showUpdatedDate: _react.PropTypes.bool,\n\t padding: _react.PropTypes.number,\n\t showPill: _react.PropTypes.bool,\n\t videoIconPlacement: _react.PropTypes.string,\n\t timestampOptions: _react.PropTypes.shape({\n\t showElapsedTime: _react.PropTypes.bool,\n\t displayShortDateTime: _react.PropTypes.bool\n\t })\n\t};\n\t\n\tvar CategoryGridPropTypes = _extends({\n\t layout: _react.PropTypes.string,\n\t showPagination: _react.PropTypes.bool,\n\t rowGridCount: _react.PropTypes.number.isRequired,\n\t heroPlacement: _react.PropTypes.string,\n\t heroCount: _react.PropTypes.number\n\t}, ItemsPropTypes);\n\t\n\tvar CategoryGridWrapper = (_temp = _class = function (_Component) {\n\t _inherits(CategoryGridWrapper, _Component);\n\t\n\t function CategoryGridWrapper() {\n\t _classCallCheck(this, CategoryGridWrapper);\n\t\n\t return _possibleConstructorReturn(this, (CategoryGridWrapper.__proto__ || Object.getPrototypeOf(CategoryGridWrapper)).apply(this, arguments));\n\t }\n\t\n\t _createClass(CategoryGridWrapper, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t _props$FRN_rawRespons = _props.FRN_rawResponses;\n\t _props$FRN_rawRespons = _props$FRN_rawRespons === undefined ? [] : _props$FRN_rawRespons;\n\t\n\t var _props$FRN_rawRespons2 = _slicedToArray(_props$FRN_rawRespons, 1),\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons2[0];\n\t\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons3 === undefined ? {} : _props$FRN_rawRespons3;\n\t var _props$FRN_rawRespons4 = _props$FRN_rawRespons3.data;\n\t _props$FRN_rawRespons4 = _props$FRN_rawRespons4 === undefined ? {} : _props$FRN_rawRespons4;\n\t var _props$FRN_rawRespons5 = _props$FRN_rawRespons4.features,\n\t items = _props$FRN_rawRespons5 === undefined ? [] : _props$FRN_rawRespons5,\n\t _props$FRN_rawRespons6 = _props$FRN_rawRespons4.headline,\n\t headline = _props$FRN_rawRespons6 === undefined ? '' : _props$FRN_rawRespons6,\n\t title = _props.title,\n\t headlineType = _props.headline,\n\t layout = _props.layout,\n\t titleColor = _props.titleColor,\n\t backgroundColor = _props.backgroundColor,\n\t textColor = _props.textColor,\n\t showReadMore = _props.showReadMore,\n\t showTimestamp = _props.showTimestamp,\n\t showUpdatedDate = _props.showUpdatedDate,\n\t showPill = _props.showPill,\n\t categoryUrl = _props.categoryUrl,\n\t totalNumberOfItems = _props.totalNumberOfItems,\n\t startArticleIndex = _props.startArticleIndex,\n\t types = _props.types,\n\t _props$displaySizes = _props.displaySizes,\n\t displaySizes = _props$displaySizes === undefined ? [] : _props$displaySizes,\n\t showPagination = _props.showPagination,\n\t heroPlacement = _props.heroPlacement,\n\t heroCount = _props.heroCount,\n\t rowGridCount = _props.rowGridCount,\n\t columnGridCount = _props.columnGridCount,\n\t videoIconPlacement = _props.videoIconPlacement,\n\t _props$timestampOptio = _props.timestampOptions,\n\t timestampOptions = _props$timestampOptio === undefined ? {} : _props$timestampOptio,\n\t titleType = _props.titleType,\n\t imageSizing = _props.imageSizing,\n\t FRN_page = _props.FRN_page;\n\t\n\t\n\t var maxValueViolation = function maxValueViolation(field, value) {\n\t return ' the ' + field + ' field must be less than ' + value;\n\t };\n\t var minValueViolation = function minValueViolation(field, value) {\n\t return ' the ' + field + ' field must be greater than ' + value;\n\t };\n\t\n\t var validate = function validate(value, field, constraint) {\n\t var errors = [];\n\t\n\t if (constraint.min !== 'undefined' && value < constraint.min) {\n\t errors.push(minValueViolation(field, constraint.min));\n\t }\n\t if (constraint.max !== 'undefined' && value > constraint.max) {\n\t errors.push(maxValueViolation(field, constraint.max));\n\t }\n\t\n\t return errors;\n\t };\n\t\n\t var validationRules = {};\n\t if (layout === layoutType.GRID) {\n\t validationRules = {\n\t rowGridCount: {\n\t min: 1\n\t },\n\t columnGridCount: {\n\t min: 1,\n\t max: 6\n\t },\n\t heroCount: {}\n\t };\n\t } else if (layout === layoutType.HERO) {\n\t validationRules = {\n\t rowGridCount: {\n\t min: 0\n\t },\n\t columnGridCount: {\n\t min: 0,\n\t max: heroPlacement === heroPlacementType.LEFT ? 3 : 6\n\t },\n\t heroCount: {\n\t min: 1,\n\t max: 3\n\t }\n\t };\n\t }\n\t\n\t var sixteenNineImage = imageSizing === imageSizingType.SIXTEEN_NINE;\n\t\n\t var errors = [];\n\t errors.push.apply(errors, _toConsumableArray(validate(columnGridCount, 'columnGridCount', validationRules.columnGridCount)));\n\t errors.push.apply(errors, _toConsumableArray(validate(rowGridCount, 'rowGridCount', validationRules.rowGridCount)));\n\t errors.push.apply(errors, _toConsumableArray(validate(heroCount, 'heroCount', validationRules.heroCount)));\n\t\n\t if (errors.length) {\n\t errors.unshift('When layout is ' + layout + (layout === layoutType.HERO ? ' and heroPlacement is ' + heroPlacement : ''));\n\t throw new Error(errors);\n\t }\n\t\n\t var offset = Math.max(startArticleIndex, 0);\n\t var filteredItems = (0, _CategoryUtils.filterItems)(items, { type: types, displaysize: displaySizes });\n\t var itemsToShow = filteredItems.slice(offset, totalNumberOfItems + offset);\n\t\n\t if (!itemsToShow.length) {\n\t return null;\n\t }\n\t\n\t var componentTitle = title || headline;\n\t var totalItemsOfPage = rowGridCount * columnGridCount;\n\t var titleClassNames = (0, _classnames2.default)({ 'CategoryGrid-title': showPagination });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'CategoryGrid', style: { backgroundColor: backgroundColor } },\n\t componentTitle ? _react2.default.createElement(\n\t _reactBootstrap.Row,\n\t null,\n\t _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, color: titleColor, title: componentTitle, classes: titleClassNames, showArrow: false }),\n\t showReadMore && categoryUrl ? _react2.default.createElement(\n\t 'div',\n\t { className: 'CategoryGrid-readMore' },\n\t _react2.default.createElement(\n\t 'a',\n\t { href: categoryUrl },\n\t ' ',\n\t _react2.default.createElement(_ChevronRight2.default, { color: '#CCC' }),\n\t ' '\n\t )\n\t ) : null\n\t ) : null,\n\t _react2.default.createElement(CategoryGrid, {\n\t items: itemsToShow,\n\t headlineType: headlineType,\n\t layout: layout,\n\t showPagination: showPagination,\n\t heroPlacement: heroPlacement,\n\t heroCount: heroCount,\n\t columnGridCount: columnGridCount,\n\t rowGridCount: rowGridCount,\n\t textColor: textColor,\n\t showTimestamp: showTimestamp,\n\t showUpdatedDate: showUpdatedDate,\n\t showPill: showPill,\n\t padding: Math.round(this.props.padding / 2),\n\t totalItemsOfPage: totalItemsOfPage,\n\t videoIconPlacement: videoIconPlacement,\n\t timestampOptions: timestampOptions,\n\t sixteenNineImage: sixteenNineImage,\n\t FRN_page: FRN_page\n\t })\n\t );\n\t }\n\t }]);\n\t\n\t return CategoryGridWrapper;\n\t}(_react.Component), _class.propTypes = _extends({\n\t FRN_rawResponses: _react.PropTypes.array,\n\t title: _react.PropTypes.string,\n\t headline: _react.PropTypes.string,\n\t titleColor: _react.PropTypes.string,\n\t backgroundColor: _react.PropTypes.string,\n\t showReadMore: _react.PropTypes.bool,\n\t categoryUrl: _react.PropTypes.string,\n\t startArticleIndex: _react.PropTypes.number,\n\t types: _react.PropTypes.array,\n\t displaySizes: _react.PropTypes.array,\n\t totalNumberOfItems: _react.PropTypes.number,\n\t titleType: _react.PropTypes.string,\n\t FRN_page: _react.PropTypes.object,\n\t imageSizing: _react.PropTypes.oneOf([imageSizingType.FIXED_HEIGHT, imageSizingType.SIXTEEN_NINE])\n\t}, CategoryGridPropTypes), _class.defaultProps = {\n\t headline: 'Default Headline',\n\t layout: layoutType.GRID,\n\t startArticleIndex: 0,\n\t types: ['story', 'link'],\n\t totalNumberOfItems: 7,\n\t heroPlacement: heroPlacementType.TOP,\n\t heroCount: 1,\n\t rowGridCount: 1,\n\t columnGridCount: 1,\n\t backgroundColor: '#FFFFFF',\n\t textColor: '#FFFFFF',\n\t titleColor: '#313131',\n\t showPagination: true,\n\t showTimestamp: true,\n\t showUpdatedDate: false,\n\t showReadMore: true,\n\t padding: 2,\n\t videoIconPlacement: 'center',\n\t titleType: _FRNBaseStyles.TITLE_TYPE.MODULE_TITLE,\n\t imageSizing: imageSizingType.FIXED_HEIGHT,\n\t FRN_page: {}\n\t}, _temp);\n\tvar CategoryGrid = (_temp3 = _class2 = function (_Component2) {\n\t _inherits(CategoryGrid, _Component2);\n\t\n\t function CategoryGrid() {\n\t var _ref;\n\t\n\t var _temp2, _this2, _ret;\n\t\n\t _classCallCheck(this, CategoryGrid);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp2 = (_this2 = _possibleConstructorReturn(this, (_ref = CategoryGrid.__proto__ || Object.getPrototypeOf(CategoryGrid)).call.apply(_ref, [this].concat(args))), _this2), _this2.state = {\n\t layout: _this2.props.layout,\n\t page: 0\n\t }, _temp2), _possibleConstructorReturn(_this2, _ret);\n\t }\n\t\n\t _createClass(CategoryGrid, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var _this3 = this;\n\t\n\t var _props2 = this.props,\n\t layout = _props2.layout,\n\t heroPlacement = _props2.heroPlacement,\n\t sixteenNineImage = _props2.sixteenNineImage;\n\t\n\t if (sixteenNineImage && layout === layoutType.HERO && heroPlacement === heroPlacementType.LEFT) {\n\t this._updateLeftHeroCategoryGrid();\n\t\n\t window.addEventListener('resize', function () {\n\t return _this3._updateLeftHeroCategoryGrid();\n\t });\n\t }\n\t }\n\t }, {\n\t key: '_updateLeftHeroCategoryGrid',\n\t value: function _updateLeftHeroCategoryGrid() {\n\t var outerWidth = this.outerGrid.getBoundingClientRect().width;\n\t\n\t this.setState({\n\t outerWidth: outerWidth\n\t });\n\t }\n\t }, {\n\t key: '_onNext',\n\t value: function _onNext() {\n\t var page = this.state.page;\n\t\n\t this.setState({\n\t page: page + 1,\n\t layout: layoutType.GRID\n\t });\n\t }\n\t }, {\n\t key: '_onBack',\n\t value: function _onBack() {\n\t var page = this.state.page;\n\t\n\t this.setState({\n\t page: page - 1,\n\t layout: this.props.layout === layoutType.HERO && page === 1 ? layoutType.HERO : layoutType.GRID\n\t });\n\t }\n\t }, {\n\t key: '_buildGridItems',\n\t value: function _buildGridItems(_items, _columnGridCount, itemType) {\n\t var _height = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : GRID_ITEM_HEIGHT;\n\t\n\t var _props3 = this.props,\n\t headlineType = _props3.headlineType,\n\t textColor = _props3.textColor,\n\t showTimestamp = _props3.showTimestamp,\n\t showUpdatedDate = _props3.showUpdatedDate,\n\t padding = _props3.padding,\n\t showPill = _props3.showPill,\n\t videoIconPlacement = _props3.videoIconPlacement,\n\t timestampOptions = _props3.timestampOptions,\n\t sixteenNineImage = _props3.sixteenNineImage,\n\t FRN_page = _props3.FRN_page;\n\t\n\t\n\t return _items.map(function (item, index) {\n\t return _react2.default.createElement(\n\t CategoryLink,\n\t { item: item, key: index },\n\t _react2.default.createElement(Item, {\n\t FRN_page: FRN_page,\n\t item: item,\n\t headlineType: headlineType,\n\t columnGridCount: _columnGridCount,\n\t itemType: itemType,\n\t height: _height,\n\t textColor: textColor,\n\t showTimestamp: showTimestamp,\n\t showUpdatedDate: showUpdatedDate,\n\t padding: padding,\n\t showPill: showPill,\n\t videoIconPlacement: videoIconPlacement,\n\t timestampOptions: timestampOptions,\n\t sixteenNineImage: sixteenNineImage\n\t })\n\t );\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this4 = this;\n\t\n\t var _props4 = this.props,\n\t items = _props4.items,\n\t showPagination = _props4.showPagination,\n\t heroPlacement = _props4.heroPlacement,\n\t heroCount = _props4.heroCount,\n\t rowGridCount = _props4.rowGridCount,\n\t columnGridCount = _props4.columnGridCount,\n\t padding = _props4.padding,\n\t totalItemsOfPage = _props4.totalItemsOfPage;\n\t var _state = this.state,\n\t layout = _state.layout,\n\t page = _state.page,\n\t outerWidth = _state.outerWidth;\n\t\n\t\n\t var isHeroGrid = this.props.layout === layoutType.HERO;\n\t\n\t var startIndex = page * totalItemsOfPage + (isHeroGrid && page !== 0 ? heroCount : 0);\n\t var lastIndex = startIndex + totalItemsOfPage + (isHeroGrid && page === 0 ? heroCount : 0);\n\t\n\t var pageItems = items.slice(startIndex, lastIndex);\n\t\n\t var canNext = true;\n\t var canBack = true;\n\t\n\t var content = void 0;\n\t switch (layout) {\n\t case layoutType.GRID:\n\t content = _react2.default.createElement(\n\t _reactBootstrap.Row,\n\t null,\n\t this._buildGridItems(pageItems, columnGridCount, layoutType.GRID)\n\t );\n\t\n\t break;\n\t case layoutType.HERO:\n\t var heroItems = pageItems.slice(0, heroCount);\n\t var gridItems = pageItems.slice(heroCount, pageItems.length);\n\t switch (heroPlacement) {\n\t case heroPlacementType.TOP:\n\t content = [];\n\t\n\t content.push(_react2.default.createElement(\n\t _reactBootstrap.Row,\n\t { key: 0 },\n\t this._buildGridItems(heroItems, heroCount, layoutType.HERO, HERO_ITEM_HEIGHT)\n\t ));\n\t content.push(_react2.default.createElement(\n\t _reactBootstrap.Row,\n\t { key: 1 },\n\t this._buildGridItems(gridItems, columnGridCount, layoutType.GRID)\n\t ));\n\t\n\t break;\n\t case heroPlacementType.LEFT:\n\t var colProps = {\n\t xs: 12,\n\t md: 6\n\t };\n\t var height = void 0;\n\t\n\t if (rowGridCount === 0 || columnGridCount === 0) {\n\t colProps['md'] = 12;\n\t height = HERO_ITEM_HEIGHT;\n\t } else {\n\t height = rowGridCount * GRID_ITEM_HEIGHT + (rowGridCount - 1) * padding * 2;\n\t if (heroCount > 1) {\n\t height = height / heroCount - (heroCount - 1) * padding * 2 / heroCount;\n\t }\n\t }\n\t\n\t var heroStyle = {};\n\t var gridStyle = {};\n\t\n\t // Apply for left hero layout at breakpoint md: 992 ->\n\t if (outerWidth && window.innerWidth > 991) {\n\t heroStyle.width = (9 * rowGridCount * outerWidth + 14 * padding * columnGridCount * (rowGridCount - heroCount)) / (9 * (heroCount * columnGridCount + rowGridCount));\n\t gridStyle.width = outerWidth - heroStyle.width;\n\t }\n\t\n\t content = _react2.default.createElement(\n\t _reactBootstrap.Row,\n\t null,\n\t _react2.default.createElement(\n\t 'div',\n\t { ref: function ref(node) {\n\t return _this4.outerGrid = node;\n\t } },\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t _extends({}, colProps, { style: heroStyle }),\n\t _react2.default.createElement(\n\t _reactBootstrap.Row,\n\t null,\n\t this._buildGridItems(heroItems, 1, layoutType.HERO, height)\n\t )\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t _extends({}, colProps, { style: gridStyle }),\n\t _react2.default.createElement(\n\t _reactBootstrap.Row,\n\t null,\n\t this._buildGridItems(gridItems, columnGridCount, layoutType.GRID)\n\t )\n\t )\n\t )\n\t );\n\t\n\t break;\n\t default:\n\t console.log(heroPlacement + ' not supported.');\n\t return null;\n\t }\n\t\n\t break;\n\t default:\n\t console.log(layout + ' not supported.');\n\t return null;\n\t }\n\t\n\t if (page === 0) {\n\t canBack = false;\n\t }\n\t\n\t if (items.length <= lastIndex) {\n\t canNext = false;\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t showPagination ? _react2.default.createElement(\n\t 'div',\n\t { className: 'CategoryGrid-pagination' },\n\t _react2.default.createElement(\n\t 'button',\n\t { onClick: function onClick() {\n\t return _this4._onBack();\n\t }, disabled: canBack ? false : true },\n\t _react2.default.createElement(_Pagination2.default, { direction: 'left' })\n\t ),\n\t _react2.default.createElement(\n\t 'button',\n\t { onClick: function onClick() {\n\t return _this4._onNext();\n\t }, disabled: canNext ? false : true },\n\t _react2.default.createElement(_Pagination2.default, { direction: 'right' })\n\t )\n\t ) : null,\n\t content\n\t );\n\t }\n\t }]);\n\t\n\t return CategoryGrid;\n\t}(_react.Component), _class2.propTypes = _extends({\n\t items: _react.PropTypes.array.isRequired,\n\t headlineType: _react.PropTypes.string,\n\t totalItemsOfPage: _react.PropTypes.number,\n\t FRN_page: _react.PropTypes.object\n\t}, CategoryGridPropTypes), _temp3);\n\tvar CategoryLink = (_temp4 = _class3 = function (_Component3) {\n\t _inherits(CategoryLink, _Component3);\n\t\n\t function CategoryLink() {\n\t _classCallCheck(this, CategoryLink);\n\t\n\t return _possibleConstructorReturn(this, (CategoryLink.__proto__ || Object.getPrototypeOf(CategoryLink)).apply(this, arguments));\n\t }\n\t\n\t _createClass(CategoryLink, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props5 = this.props,\n\t _props5$item = _props5.item;\n\t _props5$item = _props5$item === undefined ? {} : _props5$item;\n\t var _props5$item$id = _props5$item.id,\n\t id = _props5$item$id === undefined ? '' : _props5$item$id,\n\t _props5$item$url = _props5$item.url,\n\t url = _props5$item$url === undefined ? '' : _props5$item$url,\n\t _props5$item$link = _props5$item.link,\n\t link = _props5$item$link === undefined ? '' : _props5$item$link,\n\t _props5$item$layout = _props5$item.layout,\n\t layout = _props5$item$layout === undefined ? '' : _props5$item$layout,\n\t _props5$item$images = _props5$item.images,\n\t images = _props5$item$images === undefined ? {} : _props5$item$images,\n\t newsType = _props5$item.type,\n\t _props5$item$seo = _props5$item.seo;\n\t _props5$item$seo = _props5$item$seo === undefined ? {} : _props5$item$seo;\n\t var _props5$item$seo$page = _props5$item$seo.pageurl,\n\t slug = _props5$item$seo$page === undefined ? '' : _props5$item$seo$page,\n\t _props5$item$window = _props5$item.window;\n\t _props5$item$window = _props5$item$window === undefined ? {} : _props5$item$window;\n\t var _props5$item$window$w = _props5$item$window.width,\n\t width = _props5$item$window$w === undefined ? '500' : _props5$item$window$w,\n\t _props5$item$window$h = _props5$item$window.height,\n\t height = _props5$item$window$h === undefined ? '500' : _props5$item$window$h,\n\t _props5$item$window$i = _props5$item$window.isnewwindow,\n\t isnewwindow = _props5$item$window$i === undefined ? false : _props5$item$window$i,\n\t _props5$item$window$s = _props5$item$window.showtoolbar,\n\t showtoolbar = _props5$item$window$s === undefined ? true : _props5$item$window$s,\n\t _props5$item$window$i2 = _props5$item$window.isresizable,\n\t isresizable = _props5$item$window$i2 === undefined ? true : _props5$item$window$i2,\n\t _props5$item$window$s2 = _props5$item$window.showlocation,\n\t showlocation = _props5$item$window$s2 === undefined ? true : _props5$item$window$s2,\n\t _props5$item$window$s3 = _props5$item$window.showscrollbar,\n\t showscrollbar = _props5$item$window$s3 === undefined ? true : _props5$item$window$s3,\n\t _props5$FRN_page = _props5.FRN_page,\n\t FRN_page = _props5$FRN_page === undefined ? {} : _props5$FRN_page;\n\t\n\t\n\t var locationUrl = void 0,\n\t location = void 0;\n\t if (true) {\n\t location = window.location;\n\t } else {\n\t location = FRN_page.uri;\n\t }\n\t\n\t if (location) {\n\t locationUrl = (0, _NewsUtils.getLocalLink)(location, { id: id, type: newsType, slug: slug, link: link });\n\t }\n\t\n\t var iframeImage = (0, _lodash.get)(images, 'graphic.filename', '');\n\t var urlIFrameOrUrlLoc = layout === 3 ? url || iframeImage : locationUrl;\n\t var dataOfWindowOpen = (0, _WindowUtils.getDataOfWindowOpen)(width, height, showtoolbar, showscrollbar, showlocation, isresizable);\n\t var isOnClick = function isOnClick() {\n\t isnewwindow && (0, _WindowUtils.showWindow)(urlIFrameOrUrlLoc, '_blank', dataOfWindowOpen);\n\t };\n\t\n\t return _react2.default.createElement(\n\t 'a',\n\t { className: isnewwindow && 'CategoryGrid-hoverCategoryGrid', onClick: isOnClick, href: isnewwindow ? null : urlIFrameOrUrlLoc },\n\t this.props.children\n\t );\n\t }\n\t }]);\n\t\n\t return CategoryLink;\n\t}(_react.Component), _class3.propTypes = {\n\t item: _react.PropTypes.object.isRequired,\n\t children: _react.PropTypes.node,\n\t FRN_page: _react.PropTypes.object\n\t}, _temp4);\n\tvar Item = (_temp5 = _class4 = function (_Component4) {\n\t _inherits(Item, _Component4);\n\t\n\t function Item() {\n\t _classCallCheck(this, Item);\n\t\n\t return _possibleConstructorReturn(this, (Item.__proto__ || Object.getPrototypeOf(Item)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Item, [{\n\t key: 'render',\n\t value: function render() {\n\t var _classNames;\n\t\n\t var _props6 = this.props,\n\t _props6$headlineType = _props6.headlineType,\n\t headlineType = _props6$headlineType === undefined ? '' : _props6$headlineType,\n\t _props6$item = _props6.item;\n\t _props6$item = _props6$item === undefined ? {} : _props6$item;\n\t var _props6$item$type = _props6$item.type,\n\t type = _props6$item$type === undefined ? '' : _props6$item$type,\n\t _props6$item$headline = _props6$item.headline,\n\t headline = _props6$item$headline === undefined ? '' : _props6$item$headline,\n\t _props6$item$images = _props6$item.images;\n\t _props6$item$images = _props6$item$images === undefined ? {} : _props6$item$images;\n\t var _props6$item$images$a = _props6$item$images.abstract;\n\t _props6$item$images$a = _props6$item$images$a === undefined ? {} : _props6$item$images$a;\n\t var _props6$item$images$a2 = _props6$item$images$a.filename,\n\t linkImage = _props6$item$images$a2 === undefined ? '' : _props6$item$images$a2,\n\t _props6$item$abridged = _props6$item.abridged.headline,\n\t abridgedHeadline = _props6$item$abridged === undefined ? '' : _props6$item$abridged,\n\t _props6$item$abstract = _props6$item.abstractimage;\n\t _props6$item$abstract = _props6$item$abstract === undefined ? {} : _props6$item$abstract;\n\t var _props6$item$abstract2 = _props6$item$abstract.filename,\n\t newsImage = _props6$item$abstract2 === undefined ? '' : _props6$item$abstract2,\n\t _props6$item$abstract3 = _props6$item$abstract.lastEditedDate,\n\t lastEditedDate = _props6$item$abstract3 === undefined ? '' : _props6$item$abstract3,\n\t _props6$item$contentC = _props6$item.contentClassification,\n\t pillLabel = _props6$item$contentC === undefined ? '' : _props6$item$contentC,\n\t publishedDate = _props6$item.publishedDate,\n\t updatedDate = _props6$item.updatedDate,\n\t _props6$item$options = _props6$item.options;\n\t _props6$item$options = _props6$item$options === undefined ? {} : _props6$item$options;\n\t var _props6$item$options$ = _props6$item$options.date;\n\t _props6$item$options$ = _props6$item$options$ === undefined ? {} : _props6$item$options$;\n\t var _props6$item$options$2 = _props6$item$options$.published;\n\t _props6$item$options$2 = _props6$item$options$2 === undefined ? {} : _props6$item$options$2;\n\t var _props6$item$options$3 = _props6$item$options$2.showonabstract,\n\t showPublished = _props6$item$options$3 === undefined ? true : _props6$item$options$3,\n\t _props6$item$options$4 = _props6$item$options$.updated;\n\t _props6$item$options$4 = _props6$item$options$4 === undefined ? {} : _props6$item$options$4;\n\t var _props6$item$options$5 = _props6$item$options$4.showonabstract,\n\t showUpdated = _props6$item$options$5 === undefined ? true : _props6$item$options$5,\n\t columnGridCount = _props6.columnGridCount,\n\t textColor = _props6.textColor,\n\t showTimestamp = _props6.showTimestamp,\n\t showUpdatedDate = _props6.showUpdatedDate,\n\t _props6$timestampOpti = _props6.timestampOptions;\n\t _props6$timestampOpti = _props6$timestampOpti === undefined ? {} : _props6$timestampOpti;\n\t var showElapsedTime = _props6$timestampOpti.showElapsedTime,\n\t displayShortDateTime = _props6$timestampOpti.displayShortDateTime,\n\t padding = _props6.padding,\n\t height = _props6.height,\n\t itemType = _props6.itemType,\n\t showPill = _props6.showPill,\n\t videoIconPlacement = _props6.videoIconPlacement,\n\t sixteenNineImage = _props6.sixteenNineImage;\n\t\n\t\n\t var headlineToDisplay = headlineType === 'Abridged Headline' ? abridgedHeadline || headline : headline;\n\t\n\t var wrapperStyles = {\n\t height: sixteenNineImage ? '100%' : height + 'px',\n\t objectFit: 'cover'\n\t };\n\t\n\t var lg = 12 / columnGridCount;\n\t\n\t var maxCol = function maxCol(col) {\n\t return Math.max(col, lg);\n\t };\n\t\n\t var isHeroGrid = itemType === layoutType.HERO;\n\t\n\t var colProps = {\n\t lg: columnGridCount !== 5 ? lg : null,\n\t md: maxCol(3),\n\t sm: isHeroGrid ? maxCol(6) : maxCol(4),\n\t xs: isHeroGrid ? 12 : maxCol(6)\n\t };\n\t\n\t // /* Breakpoints: XS: 0-767, S: 768-991, M: 992-1199, L: 1200-1469, XL: 1470- */\n\t // // (max-width: 768px) 100vw, (max-width: 992px) 33vw, (max-width: 1200px) 25vw, 20vw (columnGridCount: 5 isHeroGrid: false colProps: {\"lg\":null,\"md\":3,\"sm\":4,\"xs\":6})\n\t // // colProps is the number of columns that a single thumbnail image should take up. For example, for 3 thubmnails across, each would span 4 columns (out of 12 total).\n\t // const imageBreakpoints = [\n\t // { \"maxWidth\": 640, \"widthVW\": 100 }, // set each image to 100% of the viewport\n\t // { \"maxWidth\": 768, \"widthVW\": Math.round((colProps.xs / 12) * 100) }, // grid is full width. widthVW is % of viewport per img. From example above, 3 / 12 = 25% of viewport for each image\n\t // { \"maxWidth\": 992, \"widthVW\": Math.round((colProps.sm / 12) * 100 * (690 / 992)) }, // grid scales up to 690 wide, or 70% of a 992 viewport.. At 3/12 exmaple, 70 * 25% = 17.5% of viewport for each image\n\t // { \"maxWidth\": 1200, \"widthVW\": Math.round((colProps.md / 12) * 100 * (910 / 1200)) }, // grid scales up to 910 wide, same math as above\n\t // { \"maxWidth\": 1470, \"widthVW\": Math.round(((colProps.lg || (12 / 5)) / 12) * 100 * (1110 / 1470)) }, // grid scales up to 1110 wide. For some reason, when there are 5 images we set colProps.lg to null, so need to add back in 12/5\n\t // { \"widthPX\": Math.round(((colProps.lg || (12 / 5)) / 12) * 1380) }, // grid is fixed at 1380 wide. same math as above.\n\t // ];\n\t\n\t\n\t var isVideoAttached = type.toLowerCase() === 'clip';\n\t\n\t var imageThumbnailClassName = (0, _classnames2.default)('CategoryGrid-thumbnail', (_classNames = {\n\t 'CategoryGrid-element CategoryGrid-coverPhoto': isHeroGrid,\n\t 'CategoryGrid-gridItem CategoryGrid-item': !isHeroGrid\n\t }, _defineProperty(_classNames, 'VideoThumbnail VideoThumbnail-' + videoIconPlacement, isVideoAttached), _defineProperty(_classNames, 'SixteenNineImage', sixteenNineImage), _classNames));\n\t\n\t var timestamp = void 0;\n\t\n\t if (showTimestamp) {\n\t var publishedDateTimestamp = showPublished ? publishedDate : null;\n\t var updatedDateTimestamp = showUpdated ? updatedDate : null;\n\t\n\t var timestampDate = showUpdatedDate ? updatedDateTimestamp : publishedDateTimestamp;\n\t timestamp = _react2.default.createElement(_Timestamp2.default, { publishDate: timestampDate, showElapsedTime: showElapsedTime, displayShortDateTime: displayShortDateTime });\n\t }\n\t\n\t return _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t _extends({}, colProps, { className: 'CategoryGrid-itemWraper ' + (columnGridCount === 5 ? 'col-lg-5ths' : ''), style: { padding: padding + 'px' } }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: imageThumbnailClassName, style: wrapperStyles },\n\t _react2.default.createElement(_Image2.default, { src: type === 'link' ? linkImage : newsImage, lastEditedDate: lastEditedDate, alt: headline, height: height, imageStyles: wrapperStyles }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'CategoryGrid-pictureText' },\n\t showPill ? _react2.default.createElement(\n\t 'h2',\n\t { className: 'CategoryGrid-categoryHeader' },\n\t pillLabel\n\t ) : null,\n\t _react2.default.createElement(\n\t 'p',\n\t { className: 'CategoryGrid-headlineSmall', style: { color: textColor } },\n\t headlineToDisplay\n\t ),\n\t timestamp\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return Item;\n\t}(_react.Component), _class4.propTypes = _extends({\n\t headlineType: _react.PropTypes.string,\n\t item: _react.PropTypes.object.isRequired,\n\t height: _react.PropTypes.number,\n\t itemType: _react.PropTypes.string,\n\t showPill: _react.PropTypes.bool\n\t}, ItemsPropTypes), _class4.defaultProps = {\n\t height: GRID_ITEM_HEIGHT,\n\t itemType: layoutType.GRID,\n\t showPill: false\n\t}, _temp5);\n\texports.default = CategoryGridWrapper;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1229 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp;\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _Video = __webpack_require__(113);\n\t\n\tvar _Video2 = _interopRequireDefault(_Video);\n\t\n\tvar _NewsUtils = __webpack_require__(60);\n\t\n\tvar _frankly = __webpack_require__(36);\n\t\n\tvar _Timestamp = __webpack_require__(47);\n\t\n\tvar _Timestamp2 = _interopRequireDefault(_Timestamp);\n\t\n\tvar _UrlUtils = __webpack_require__(268);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tvar _translate = __webpack_require__(51);\n\t\n\tvar _translate2 = _interopRequireDefault(_translate);\n\t\n\tvar _SeoUtils = __webpack_require__(173);\n\t\n\tvar _reactRouter = __webpack_require__(67);\n\t\n\tvar _URL = __webpack_require__(114);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Clip = (_temp = _class = function (_Component) {\n\t _inherits(Clip, _Component);\n\t\n\t function Clip() {\n\t _classCallCheck(this, Clip);\n\t\n\t return _possibleConstructorReturn(this, (Clip.__proto__ || Object.getPrototypeOf(Clip)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Clip, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var FRN_requestError = this.props.FRN_requestError;\n\t\n\t var resourceError = void 0,\n\t isURLapologizeable = void 0;\n\t\n\t isURLapologizeable = this.isURLapologizeable();\n\t\n\t if (isURLapologizeable && FRN_requestError && FRN_requestError.length) {\n\t resourceError = FRN_requestError.find(function (_ref) {\n\t var error = _ref.error;\n\t\n\t return error.status === 404 || error.status === 410;\n\t });\n\t\n\t if (resourceError) {\n\t _reactRouter.browserHistory.push(_URL.APOLOGIES_URL);\n\t return;\n\t }\n\t }\n\t\n\t var flux = this.context.flux;\n\t var _props = this.props,\n\t addMetaTags = _props.addMetaTags,\n\t _props$FRN_rawRespons = _props.FRN_rawResponses;\n\t _props$FRN_rawRespons = _props$FRN_rawRespons === undefined ? [] : _props$FRN_rawRespons;\n\t\n\t var _props$FRN_rawRespons2 = _slicedToArray(_props$FRN_rawRespons, 1),\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons2[0];\n\t\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons3 === undefined ? {} : _props$FRN_rawRespons3;\n\t var _props$FRN_rawRespons4 = _props$FRN_rawRespons3.data;\n\t _props$FRN_rawRespons4 = _props$FRN_rawRespons4 === undefined ? {} : _props$FRN_rawRespons4;\n\t var id = _props$FRN_rawRespons4.id,\n\t bylines = _props$FRN_rawRespons4.bylines,\n\t _props$FRN_rawRespons5 = _props$FRN_rawRespons4.headline,\n\t headline = _props$FRN_rawRespons5 === undefined ? '' : _props$FRN_rawRespons5,\n\t _props$FRN_rawRespons6 = _props$FRN_rawRespons4.link,\n\t link = _props$FRN_rawRespons6 === undefined ? '' : _props$FRN_rawRespons6,\n\t _props$FRN_rawRespons7 = _props$FRN_rawRespons4.seo;\n\t _props$FRN_rawRespons7 = _props$FRN_rawRespons7 === undefined ? {} : _props$FRN_rawRespons7;\n\t var _props$FRN_rawRespons8 = _props$FRN_rawRespons7.description,\n\t description = _props$FRN_rawRespons8 === undefined ? '' : _props$FRN_rawRespons8,\n\t _props$FRN_rawRespons9 = _props$FRN_rawRespons7.keywords,\n\t keywords = _props$FRN_rawRespons9 === undefined ? '' : _props$FRN_rawRespons9,\n\t _props$FRN_rawRespons10 = _props$FRN_rawRespons7.robot,\n\t robot = _props$FRN_rawRespons10 === undefined ? '' : _props$FRN_rawRespons10,\n\t _props$FRN_rawRespons11 = _props$FRN_rawRespons4.abstractimage;\n\t _props$FRN_rawRespons11 = _props$FRN_rawRespons11 === undefined ? {} : _props$FRN_rawRespons11;\n\t var _props$FRN_rawRespons12 = _props$FRN_rawRespons11.filename,\n\t abstractImage = _props$FRN_rawRespons12 === undefined ? '' : _props$FRN_rawRespons12,\n\t _props$FRN_rawRespons13 = _props$FRN_rawRespons11.imgwidth,\n\t abstractImageW = _props$FRN_rawRespons13 === undefined ? '' : _props$FRN_rawRespons13,\n\t _props$FRN_rawRespons14 = _props$FRN_rawRespons11.imgheight,\n\t abstractImageH = _props$FRN_rawRespons14 === undefined ? '' : _props$FRN_rawRespons14,\n\t _props$FRN_rawRespons15 = _props$FRN_rawRespons11.lastEditedDate,\n\t abstractLastEdit = _props$FRN_rawRespons15 === undefined ? '' : _props$FRN_rawRespons15,\n\t _props$FRN_rawRespons16 = _props$FRN_rawRespons4.thumbnailimage;\n\t _props$FRN_rawRespons16 = _props$FRN_rawRespons16 === undefined ? {} : _props$FRN_rawRespons16;\n\t var _props$FRN_rawRespons17 = _props$FRN_rawRespons16.filename,\n\t thumbnailImage = _props$FRN_rawRespons17 === undefined ? '' : _props$FRN_rawRespons17,\n\t _props$FRN_rawRespons18 = _props$FRN_rawRespons16.imgwidth,\n\t thumbnailImageW = _props$FRN_rawRespons18 === undefined ? '' : _props$FRN_rawRespons18,\n\t _props$FRN_rawRespons19 = _props$FRN_rawRespons16.imgheight,\n\t thumbnailImageH = _props$FRN_rawRespons19 === undefined ? '' : _props$FRN_rawRespons19,\n\t _props$FRN_rawRespons20 = _props$FRN_rawRespons16.lastEditedDate,\n\t thumbnailLastEdit = _props$FRN_rawRespons20 === undefined ? '' : _props$FRN_rawRespons20;\n\t var _context$config = this.context.config;\n\t _context$config = _context$config === undefined ? {} : _context$config;\n\t var _context$config$appOp = _context$config.appOptions;\n\t _context$config$appOp = _context$config$appOp === undefined ? {} : _context$config$appOp;\n\t var _context$config$appOp2 = _context$config$appOp.language,\n\t language = _context$config$appOp2 === undefined ? 'en' : _context$config$appOp2;\n\t\n\t\n\t var authors = (0, _NewsUtils.authorsToString)((0, _lodash.map)(bylines, _NewsUtils.bylineToString), language);\n\t var w = abstractImageW || thumbnailImageW;\n\t var h = abstractImageH || thumbnailImageH;\n\t\n\t this._articleDataStoreDispatcher = new _frankly.DataStoreDispatcher('franklyinc.com/article');\n\t this._articleDataStoreDispatcher.set('authors', authors);\n\t this._articleDataStoreDispatcher.set('articleId', id);\n\t\n\t flux.getActions('Helmet').update({ title: headline });\n\t var imageURL = (0, _UrlUtils.buildURLFingerprinting)({ url: abstractImage || thumbnailImage, lastEditedDate: abstractLastEdit || thumbnailLastEdit });\n\t var tags = [{\n\t name: 'description',\n\t content: description\n\t }, {\n\t name: 'keywords',\n\t content: keywords\n\t }, {\n\t name: 'robots',\n\t content: robot\n\t }, {\n\t rel: 'canonical',\n\t href: (0, _SeoUtils.getCanonicalLink)((0, _lodash.get)(this, 'props.FRN_rawResponses[0].data', {})),\n\t isLink: true\n\t }, {\n\t property: 'og:title',\n\t content: headline\n\t }, {\n\t property: 'og:type',\n\t content: 'article'\n\t }, {\n\t property: 'og:url',\n\t content: link\n\t }, {\n\t property: 'og:description',\n\t content: description\n\t }, {\n\t property: 'og:image',\n\t content: imageURL\n\t }, {\n\t name: 'twitter:card',\n\t content: 'summary_large_image'\n\t }, {\n\t name: 'twitter:description',\n\t content: description\n\t }, {\n\t name: 'twitter:title',\n\t content: headline\n\t }, {\n\t name: 'twitter:image',\n\t content: imageURL\n\t }];\n\t\n\t if (w && h) {\n\t var ogImageW = {\n\t property: 'og:image:width',\n\t content: '' + w\n\t };\n\t\n\t var ogImageH = {\n\t property: 'og:image:height',\n\t content: '' + h\n\t };\n\t tags.push(ogImageW, ogImageH);\n\t }\n\t\n\t if (addMetaTags) {\n\t (0, _frankly.setMetaTags)(this, tags);\n\t }\n\t }\n\t }, {\n\t key: 'isURLapologizeable',\n\t value: function isURLapologizeable() {\n\t var path = void 0,\n\t clipID = /(clip\\/+[0-9]+)/i;\n\t if (true) {\n\t path = window.location.pathname;\n\t return clipID.test(path);\n\t }\n\t\n\t return false;\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props2 = this.props,\n\t _props2$FRN_rawRespon = _props2.FRN_rawResponses;\n\t _props2$FRN_rawRespon = _props2$FRN_rawRespon === undefined ? [] : _props2$FRN_rawRespon;\n\t\n\t var _props2$FRN_rawRespon2 = _slicedToArray(_props2$FRN_rawRespon, 1),\n\t _props2$FRN_rawRespon3 = _props2$FRN_rawRespon2[0];\n\t\n\t _props2$FRN_rawRespon3 = _props2$FRN_rawRespon3 === undefined ? {} : _props2$FRN_rawRespon3;\n\t var _props2$FRN_rawRespon4 = _props2$FRN_rawRespon3.data;\n\t _props2$FRN_rawRespon4 = _props2$FRN_rawRespon4 === undefined ? {} : _props2$FRN_rawRespon4;\n\t var _props2$FRN_rawRespon5 = _props2$FRN_rawRespon4.id,\n\t clipId = _props2$FRN_rawRespon5 === undefined ? '' : _props2$FRN_rawRespon5,\n\t _props2$FRN_rawRespon6 = _props2$FRN_rawRespon4.headline,\n\t title = _props2$FRN_rawRespon6 === undefined ? '' : _props2$FRN_rawRespon6,\n\t _props2$FRN_rawRespon7 = _props2$FRN_rawRespon4.publishedDate,\n\t publishDate = _props2$FRN_rawRespon7 === undefined ? '' : _props2$FRN_rawRespon7,\n\t _props2$FRN_rawRespon8 = _props2$FRN_rawRespon4.updatedDate,\n\t updatedDate = _props2$FRN_rawRespon8 === undefined ? '' : _props2$FRN_rawRespon8,\n\t _props2$FRN_rawRespon9 = _props2$FRN_rawRespon4.abstract,\n\t abstract = _props2$FRN_rawRespon9 === undefined ? '' : _props2$FRN_rawRespon9,\n\t _props2$FRN_rawRespon10 = _props2$FRN_rawRespon4.bylines,\n\t bylines = _props2$FRN_rawRespon10 === undefined ? [] : _props2$FRN_rawRespon10,\n\t _props2$FRN_rawRespon11 = _props2$FRN_rawRespon4.options;\n\t _props2$FRN_rawRespon11 = _props2$FRN_rawRespon11 === undefined ? {} : _props2$FRN_rawRespon11;\n\t var _props2$FRN_rawRespon12 = _props2$FRN_rawRespon11.date;\n\t _props2$FRN_rawRespon12 = _props2$FRN_rawRespon12 === undefined ? {} : _props2$FRN_rawRespon12;\n\t var _props2$FRN_rawRespon13 = _props2$FRN_rawRespon12.published;\n\t _props2$FRN_rawRespon13 = _props2$FRN_rawRespon13 === undefined ? {} : _props2$FRN_rawRespon13;\n\t var _props2$FRN_rawRespon14 = _props2$FRN_rawRespon13.showonclip,\n\t showPublishedDate = _props2$FRN_rawRespon14 === undefined ? true : _props2$FRN_rawRespon14,\n\t _props2$FRN_rawRespon15 = _props2$FRN_rawRespon12.updated;\n\t _props2$FRN_rawRespon15 = _props2$FRN_rawRespon15 === undefined ? {} : _props2$FRN_rawRespon15;\n\t var _props2$FRN_rawRespon16 = _props2$FRN_rawRespon15.showonclip,\n\t showUpdatedDate = _props2$FRN_rawRespon16 === undefined ? true : _props2$FRN_rawRespon16,\n\t autoPlay = _props2.autoPlay,\n\t showDockedVideo = _props2.showDockedVideo,\n\t dockPosition = _props2.dockPosition,\n\t showTimestamp = _props2.showTimestamp,\n\t showAbstract = _props2.showAbstract,\n\t _props2$timestampOpti = _props2.timestampOptions;\n\t _props2$timestampOpti = _props2$timestampOpti === undefined ? {} : _props2$timestampOpti;\n\t var showElapsedTime = _props2$timestampOpti.showElapsedTime,\n\t displayShortDateTime = _props2$timestampOpti.displayShortDateTime,\n\t _props2$titleType = _props2.titleType,\n\t titleType = _props2$titleType === undefined ? _FRNBaseStyles.TITLE_TYPE.PAGE_TITLE : _props2$titleType;\n\t var _context$config2 = this.context.config;\n\t _context$config2 = _context$config2 === undefined ? {} : _context$config2;\n\t var _context$config2$appO = _context$config2.appOptions;\n\t _context$config2$appO = _context$config2$appO === undefined ? {} : _context$config2$appO;\n\t var _context$config2$appO2 = _context$config2$appO.language,\n\t language = _context$config2$appO2 === undefined ? 'en' : _context$config2$appO2;\n\t\n\t\n\t if (!clipId) {\n\t return null;\n\t }\n\t\n\t var authors = (0, _NewsUtils.authorsToString)((0, _lodash.map)(bylines, _NewsUtils.bylineToString));\n\t var timeStamp = _react2.default.createElement(_Timestamp2.default, { publishDate: publishDate, authors: authors, showElapsedTime: showElapsedTime, displayShortDateTime: displayShortDateTime });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'Clip' },\n\t title ? _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, title: title }) : null,\n\t abstract && showAbstract && _react2.default.createElement('div', { className: 'Clip-abstract', dangerouslySetInnerHTML: { __html: abstract } }),\n\t showTimestamp && showPublishedDate ? timeStamp : null,\n\t showTimestamp && showUpdatedDate && Date.parse(publishDate) !== Date.parse(updatedDate) ? _react2.default.createElement(\n\t 'div',\n\t { className: 'Timestamp-updated' },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'Timestamp Timestamp-prefix' },\n\t (0, _translate2.default)('Updated', language),\n\t ': '\n\t ),\n\t _react2.default.createElement(_Timestamp2.default, { authors: authors, publishDate: updatedDate, showElapsedTime: showElapsedTime, displayShortDateTime: displayShortDateTime })\n\t ) : null,\n\t _react2.default.createElement(_Video2.default, { clipId: clipId, autoPlay: autoPlay, showDockedVideo: showDockedVideo, dockPosition: dockPosition })\n\t );\n\t }\n\t }]);\n\t\n\t return Clip;\n\t}(_react.Component), _class.propTypes = {\n\t FRN_rawResponses: _react.PropTypes.array,\n\t FRN_requestError: _react.PropTypes.object,\n\t autoPlay: _react.PropTypes.bool,\n\t showDockedVideo: _react.PropTypes.bool,\n\t dockPosition: _react.PropTypes.oneOf(['top-left', 'top-right', 'bottom-left', 'bottom-right']),\n\t showTimestamp: _react.PropTypes.bool,\n\t showAbstract: _react.PropTypes.bool,\n\t addMetaTags: _react.PropTypes.bool,\n\t timestampOptions: _react.PropTypes.shape({\n\t showElapsedTime: _react.PropTypes.bool,\n\t displayShortDateTime: _react.PropTypes.bool\n\t }),\n\t titleType: _react.PropTypes.string\n\t}, _class.contextTypes = {\n\t flux: _react.PropTypes.object.isRequired,\n\t config: _react.PropTypes.object.isRequired\n\t}, _class.defaultProps = {\n\t addMetaTags: true\n\t}, _temp);\n\texports.default = Clip;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1230 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _dec, _class, _class2, _temp, _class3, _temp2, _class4, _temp4, _class5, _temp5, _class6, _temp6, _class7, _temp7;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _classnames = __webpack_require__(2);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _connectAlt = __webpack_require__(95);\n\t\n\tvar _connectAlt2 = _interopRequireDefault(_connectAlt);\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _lodash2 = _interopRequireDefault(_lodash);\n\t\n\tvar _OrderGroupByUtils = __webpack_require__(1298);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tvar _translate = __webpack_require__(51);\n\t\n\tvar _translate2 = _interopRequireDefault(_translate);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\t\n\tfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar CLOSINGS_TYPE = {\n\t BANNER_TYPE: 'banner',\n\t FULLVIEW_TYPE: 'fullView'\n\t};\n\t\n\tvar CLOSINGS_TITLE = {\n\t CLOSINGS_ALL: 'ALL',\n\t CLOSINGS_ALL_TEXT: 'All Closings '\n\t};\n\t\n\tvar ClosingsAlert = (_dec = (0, _connectAlt2.default)('Closings'), _dec(_class = (_temp = _class2 = function (_Component) {\n\t _inherits(ClosingsAlert, _Component);\n\t\n\t function ClosingsAlert() {\n\t _classCallCheck(this, ClosingsAlert);\n\t\n\t return _possibleConstructorReturn(this, (ClosingsAlert.__proto__ || Object.getPrototypeOf(ClosingsAlert)).apply(this, arguments));\n\t }\n\t\n\t _createClass(ClosingsAlert, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var flux = this.context.flux;\n\t\n\t flux.getActions('Closings').readClosingsStatus();\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t type = _props.type,\n\t _props$ClosingsStore = _props.ClosingsStore;\n\t _props$ClosingsStore = _props$ClosingsStore === undefined ? {} : _props$ClosingsStore;\n\t var _props$ClosingsStore$ = _props$ClosingsStore.closingsStatus;\n\t _props$ClosingsStore$ = _props$ClosingsStore$ === undefined ? {} : _props$ClosingsStore$;\n\t\n\t var _props$ClosingsStore$2 = _props$ClosingsStore$.closings,\n\t closings = _props$ClosingsStore$2 === undefined ? ['closings'] : _props$ClosingsStore$2,\n\t props = _objectWithoutProperties(_props, ['type', 'ClosingsStore']);\n\t\n\t var totalAlerts = closings.length;\n\t\n\t if (type === CLOSINGS_TYPE.BANNER_TYPE) {\n\t if (totalAlerts && closings[0] !== 'closings') {\n\t return _react2.default.createElement(BannerAlert, _extends({}, props, { totalAlerts: totalAlerts }));\n\t }\n\t return null;\n\t }\n\t return closings[0] !== 'closings' && _react2.default.createElement(FullViewAlert, _extends({}, props, { closingsData: closings }));\n\t }\n\t }]);\n\t\n\t return ClosingsAlert;\n\t}(_react.Component), _class2.propTypes = {\n\t type: _react.PropTypes.oneOf(Object.values(CLOSINGS_TYPE)),\n\t ClosingsStore: _react.PropTypes.object.isRequired\n\t}, _class2.contextTypes = {\n\t flux: _react.PropTypes.object.isRequired\n\t}, _class2.defaultProps = {\n\t type: CLOSINGS_TYPE.BANNER_TYPE\n\t}, _temp)) || _class);\n\tvar BannerAlert = (_temp2 = _class3 = function (_Component2) {\n\t _inherits(BannerAlert, _Component2);\n\t\n\t function BannerAlert() {\n\t _classCallCheck(this, BannerAlert);\n\t\n\t return _possibleConstructorReturn(this, (BannerAlert.__proto__ || Object.getPrototypeOf(BannerAlert)).apply(this, arguments));\n\t }\n\t\n\t _createClass(BannerAlert, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props2 = this.props,\n\t title = _props2.title,\n\t titleColor = _props2.titleColor,\n\t text = _props2.text,\n\t textColor = _props2.textColor,\n\t numberColor = _props2.numberColor,\n\t numberBackgroundColor = _props2.numberBackgroundColor,\n\t cornerStyle = _props2.cornerStyle,\n\t backgroundColor = _props2.backgroundColor,\n\t backgroundStyle = _props2.backgroundStyle,\n\t borderColor = _props2.outlineColor,\n\t href = _props2.destinationURL,\n\t totalAlerts = _props2.totalAlerts;\n\t\n\t\n\t var style = { backgroundColor: backgroundColor, borderColor: borderColor };\n\t\n\t var className = (0, _classnames2.default)('Banner', _defineProperty({}, 'Banner-border--' + cornerStyle, cornerStyle), ['Banner-style--' + backgroundStyle]);\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'ClosingsAlert' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: className, style: style },\n\t _react2.default.createElement(\n\t 'a',\n\t { href: href, role: 'button' },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'Banner-title', style: { color: titleColor } },\n\t title,\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'Banner-title--colon' },\n\t ': '\n\t ),\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'Banner-title--text', style: { color: textColor } },\n\t text\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'Banner-circle' },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'Banner-circle--number', style: { color: numberColor, backgroundColor: numberBackgroundColor } },\n\t totalAlerts\n\t )\n\t )\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return BannerAlert;\n\t}(_react.Component), _class3.propTypes = {\n\t title: _react.PropTypes.string,\n\t titleColor: _react.PropTypes.string,\n\t text: _react.PropTypes.string,\n\t textColor: _react.PropTypes.string,\n\t numberColor: _react.PropTypes.string,\n\t numberBackgroundColor: _react.PropTypes.string,\n\t cornerStyle: _react.PropTypes.oneOf(['round', 'soft', 'square']),\n\t backgroundColor: _react.PropTypes.string,\n\t backgroundStyle: _react.PropTypes.oneOf(['solid', 'outline']),\n\t outlineColor: _react.PropTypes.string,\n\t destinationURL: _react.PropTypes.string,\n\t totalAlerts: _react.PropTypes.number\n\t}, _class3.defaultProps = {\n\t title: 'Closings & Delays',\n\t titleColor: '#ffffff',\n\t text: 'See the latest closings in the area.',\n\t cornerStyle: 'square',\n\t backgroundStyle: 'solid',\n\t backgroundColor: \"#D0021B\",\n\t numberBackgroundColor: \"#ffffff\",\n\t numberColor: \"#D0021B\",\n\t textColor: \"#ffffff\"\n\t}, _temp2);\n\tvar FullViewAlert = (_temp4 = _class4 = function (_Component3) {\n\t _inherits(FullViewAlert, _Component3);\n\t\n\t function FullViewAlert() {\n\t var _ref;\n\t\n\t var _temp3, _this3, _ret;\n\t\n\t _classCallCheck(this, FullViewAlert);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp3 = (_this3 = _possibleConstructorReturn(this, (_ref = FullViewAlert.__proto__ || Object.getPrototypeOf(FullViewAlert)).call.apply(_ref, [this].concat(args))), _this3), _this3.state = { categoryClosings: CLOSINGS_TITLE.CLOSINGS_ALL }, _temp3), _possibleConstructorReturn(_this3, _ret);\n\t }\n\t\n\t _createClass(FullViewAlert, [{\n\t key: '_chooseCategory',\n\t value: function _chooseCategory(category) {\n\t this.setState({\n\t categoryClosings: category\n\t });\n\t }\n\t }, {\n\t key: '_renderAlertDataTable',\n\t value: function _renderAlertDataTable(title, statusColor, alertsByGroup) {\n\t return _react2.default.createElement(AlertDataTable, {\n\t title: title,\n\t statusColor: statusColor,\n\t alertData: alertsByGroup\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this4 = this;\n\t\n\t var _context$config = this.context.config;\n\t _context$config = _context$config === undefined ? {} : _context$config;\n\t var _context$config$appOp = _context$config.appOptions;\n\t _context$config$appOp = _context$config$appOp === undefined ? {} : _context$config$appOp;\n\t var _context$config$appOp2 = _context$config$appOp.language,\n\t language = _context$config$appOp2 === undefined ? 'en' : _context$config$appOp2;\n\t var _props3 = this.props,\n\t title = _props3.title,\n\t titleColor = _props3.titleColor,\n\t titleType = _props3.titleType,\n\t textColor = _props3.textColor,\n\t statusColor = _props3.statusColor,\n\t text = _props3.abstractText,\n\t backgroundColor = _props3.backgroundColor,\n\t closingsData = _props3.closingsData,\n\t noClosingsAlertMessage = _props3.noClosingsAlertMessage;\n\t var categoryClosings = this.state.categoryClosings;\n\t\n\t\n\t categoryClosings = categoryClosings === 'ALL' ? (0, _translate2.default)('' + CLOSINGS_TITLE.CLOSINGS_ALL, language) : categoryClosings;\n\t\n\t var alertsByGroup = (0, _OrderGroupByUtils.groupByCriteria)(closingsData, 'organization.category');\n\t var listCategory = _lodash2.default.keys(alertsByGroup);\n\t // set ALL category is the first element of listCategory array.\n\t listCategory.unshift((0, _translate2.default)('' + CLOSINGS_TITLE.CLOSINGS_ALL, language));\n\t\n\t if (!closingsData.length) {\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'ClosingsAlert FullView', style: { backgroundColor: backgroundColor } },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'FullView-box' },\n\t _react2.default.createElement(NoClosingsAlert, { noClosingsAlertMessage: noClosingsAlertMessage })\n\t )\n\t );\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'ClosingsAlert FullView', style: { backgroundColor: backgroundColor } },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'FullView-box' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'FullView-title' },\n\t _react2.default.createElement(_ComponentTitle2.default, { showArrow: false, title: title, color: titleColor, titleType: titleType }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'FullView-text', style: { color: textColor } },\n\t text\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'FullView-button-container' },\n\t _lodash2.default.map(listCategory, function (category) {\n\t return _react2.default.createElement(\n\t 'span',\n\t { onClick: function onClick() {\n\t return _this4._chooseCategory(category);\n\t } },\n\t _react2.default.createElement(ClosingsButton, { activeBorder: categoryClosings === category, category: category })\n\t );\n\t })\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'ClosingsButton-desktop' },\n\t _lodash2.default.map(listCategory, function (category) {\n\t return category === categoryClosings && _this4._renderAlertDataTable(category, statusColor, category === (0, _translate2.default)('' + CLOSINGS_TITLE.CLOSINGS_ALL, language) ? closingsData : alertsByGroup[category]);\n\t })\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'ClosingsButton-mobile' },\n\t _lodash2.default.map(listCategory, function (category) {\n\t return category !== (0, _translate2.default)('' + CLOSINGS_TITLE.CLOSINGS_ALL, language) && _this4._renderAlertDataTable(category, statusColor, alertsByGroup[category]);\n\t })\n\t )\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return FullViewAlert;\n\t}(_react.Component), _class4.propTypes = {\n\t title: _react.PropTypes.string,\n\t titleColor: _react.PropTypes.string,\n\t text: _react.PropTypes.string,\n\t textColor: _react.PropTypes.string,\n\t statusColor: _react.PropTypes.string,\n\t closingsData: _react.PropTypes.array,\n\t abstractText: _react.PropTypes.string,\n\t backgroundColor: _react.PropTypes.string,\n\t titleType: _react.PropTypes.string,\n\t noClosingsAlertMessage: _react.PropTypes.string\n\t}, _class4.contextTypes = {\n\t config: _react.PropTypes.object.isRequired\n\t}, _class4.defaultProps = {\n\t title: 'Closings & Delays',\n\t titleColor: '#000000',\n\t abstractText: 'The following is a list of the current closings and delays for schools, governments, houses of worship and other organizations.',\n\t textColor: '#000000',\n\t statusColor: '#D0021B',\n\t backgroundColor: '#ffffff',\n\t titleType: _FRNBaseStyles.TITLE_TYPE.PAGE_TITLE,\n\t noClosingsAlertMessage: \"No closings at this time\"\n\t}, _temp4);\n\tvar AlertDataTable = (_temp5 = _class5 = function (_Component4) {\n\t _inherits(AlertDataTable, _Component4);\n\t\n\t function AlertDataTable() {\n\t _classCallCheck(this, AlertDataTable);\n\t\n\t return _possibleConstructorReturn(this, (AlertDataTable.__proto__ || Object.getPrototypeOf(AlertDataTable)).apply(this, arguments));\n\t }\n\t\n\t _createClass(AlertDataTable, [{\n\t key: '_renderRow',\n\t value: function _renderRow() {\n\t var _props4 = this.props,\n\t statusColor = _props4.statusColor,\n\t alertData = _props4.alertData;\n\t\n\t var list = (0, _OrderGroupByUtils.orderByCriteria)(alertData, 'organization.name');\n\t\n\t return list.map(function (item) {\n\t var status = item.status,\n\t _item$organization = item.organization;\n\t _item$organization = _item$organization === undefined ? {} : _item$organization;\n\t var _item$organization$na = _item$organization.name,\n\t name = _item$organization$na === undefined ? '' : _item$organization$na;\n\t\n\t\n\t var colorStyle = { color: statusColor };\n\t\n\t return _react2.default.createElement(\n\t 'tr',\n\t { className: 'TableData-row' },\n\t _react2.default.createElement(\n\t 'td',\n\t { className: 'TableData-cell-name hidden-xs' },\n\t name\n\t ),\n\t _react2.default.createElement(\n\t 'td',\n\t { style: colorStyle, className: 'TableData-cell-status hidden-xs' },\n\t status\n\t ),\n\t _react2.default.createElement(\n\t 'td',\n\t { className: 'TableData-cell-mobile' },\n\t _react2.default.createElement(\n\t 'p',\n\t null,\n\t name\n\t ),\n\t _react2.default.createElement(\n\t 'span',\n\t { style: colorStyle },\n\t status\n\t )\n\t )\n\t );\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _context$config2 = this.context.config;\n\t _context$config2 = _context$config2 === undefined ? {} : _context$config2;\n\t var _context$config2$appO = _context$config2.appOptions;\n\t _context$config2$appO = _context$config2$appO === undefined ? {} : _context$config2$appO;\n\t var _context$config2$appO2 = _context$config2$appO.language,\n\t language = _context$config2$appO2 === undefined ? 'en' : _context$config2$appO2;\n\t var title = this.props.title;\n\t\n\t var closingsTitle = title.toUpperCase() === (0, _translate2.default)('' + CLOSINGS_TITLE.CLOSINGS_ALL, language) ? (0, _translate2.default)('' + CLOSINGS_TITLE.CLOSINGS_ALL_TEXT, language) : title;\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'ClosingsAlert AlertDataTable' },\n\t _react2.default.createElement(\n\t 'h1',\n\t { className: 'AlertDataTable-title' },\n\t closingsTitle\n\t ),\n\t _react2.default.createElement(\n\t 'table',\n\t { className: 'TableData' },\n\t _react2.default.createElement(\n\t 'tr',\n\t { className: 'TableData-head hidden-xs' },\n\t _react2.default.createElement(\n\t 'th',\n\t null,\n\t (0, _translate2.default)('Name', language)\n\t ),\n\t _react2.default.createElement(\n\t 'th',\n\t null,\n\t (0, _translate2.default)('Status', language)\n\t )\n\t ),\n\t this._renderRow()\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return AlertDataTable;\n\t}(_react.Component), _class5.propTypes = {\n\t title: _react.PropTypes.string,\n\t statusColor: _react.PropTypes.string,\n\t alertData: _react.PropTypes.array\n\t}, _class5.contextTypes = {\n\t config: _react.PropTypes.object.isRequired\n\t}, _class5.defaultProps = {\n\t title: 'Alert Title',\n\t statusColor: '#D0021B',\n\t alertData: []\n\t}, _temp5);\n\tvar ClosingsButton = (_temp6 = _class6 = function (_Component5) {\n\t _inherits(ClosingsButton, _Component5);\n\t\n\t function ClosingsButton() {\n\t _classCallCheck(this, ClosingsButton);\n\t\n\t return _possibleConstructorReturn(this, (ClosingsButton.__proto__ || Object.getPrototypeOf(ClosingsButton)).apply(this, arguments));\n\t }\n\t\n\t _createClass(ClosingsButton, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props5 = this.props,\n\t _props5$category = _props5.category,\n\t category = _props5$category === undefined ? '' : _props5$category,\n\t _props5$activeBorder = _props5.activeBorder,\n\t activeBorder = _props5$activeBorder === undefined ? false : _props5$activeBorder;\n\t\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { style: { border: activeBorder && '2px solid #000' }, className: 'ClosingsButton' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'ClosingsButton-text' },\n\t category.toUpperCase()\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return ClosingsButton;\n\t}(_react.Component), _class6.propTypes = {\n\t category: _react.PropTypes.string,\n\t activeBorder: _react.PropTypes.bool\n\t}, _temp6);\n\tvar NoClosingsAlert = (_temp7 = _class7 = function (_Component6) {\n\t _inherits(NoClosingsAlert, _Component6);\n\t\n\t function NoClosingsAlert() {\n\t _classCallCheck(this, NoClosingsAlert);\n\t\n\t return _possibleConstructorReturn(this, (NoClosingsAlert.__proto__ || Object.getPrototypeOf(NoClosingsAlert)).apply(this, arguments));\n\t }\n\t\n\t _createClass(NoClosingsAlert, [{\n\t key: 'render',\n\t value: function render() {\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'NoClosingsAlert' },\n\t this.props.noClosingsAlertMessage\n\t );\n\t }\n\t }]);\n\t\n\t return NoClosingsAlert;\n\t}(_react.Component), _class7.propTypes = {\n\t noClosingsAlertMessage: _react.PropTypes.string\n\t}, _temp7);\n\texports.default = ClosingsAlert;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1231 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp, _class2, _temp3;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _classnames = __webpack_require__(2);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _reactAddonsCssTransitionGroup = __webpack_require__(248);\n\t\n\tvar _reactAddonsCssTransitionGroup2 = _interopRequireDefault(_reactAddonsCssTransitionGroup);\n\t\n\tvar _reactSwipeable = __webpack_require__(522);\n\t\n\tvar _reactSwipeable2 = _interopRequireDefault(_reactSwipeable);\n\t\n\tvar _map2 = __webpack_require__(195);\n\t\n\tvar _map3 = _interopRequireDefault(_map2);\n\t\n\tvar _debounce2 = __webpack_require__(483);\n\t\n\tvar _debounce3 = _interopRequireDefault(_debounce2);\n\t\n\tvar _NewsUtils = __webpack_require__(60);\n\t\n\tvar _AnalyticsUtils = __webpack_require__(583);\n\t\n\tvar AnalyticsUtils = _interopRequireWildcard(_AnalyticsUtils);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _Image = __webpack_require__(40);\n\t\n\tvar _Image2 = _interopRequireDefault(_Image);\n\t\n\tvar _Timestamp = __webpack_require__(47);\n\t\n\tvar _Timestamp2 = _interopRequireDefault(_Timestamp);\n\t\n\tvar _Slideshow = __webpack_require__(368);\n\t\n\tvar _Slideshow2 = _interopRequireDefault(_Slideshow);\n\t\n\tvar _Pause = __webpack_require__(573);\n\t\n\tvar _Pause2 = _interopRequireDefault(_Pause);\n\t\n\tvar _reactTapEventPlugin = __webpack_require__(523);\n\t\n\tvar _reactTapEventPlugin2 = _interopRequireDefault(_reactTapEventPlugin);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tvar _ImageStyleUtils = __webpack_require__(584);\n\t\n\tvar _ImageStyleUtils2 = _interopRequireDefault(_ImageStyleUtils);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar WIDGETS = 'widgets';\n\tvar IMAGE_GALLERY = 'ImageGallery';\n\t\n\tvar ImagesPropTypes = {\n\t showPagination: _react.PropTypes.bool,\n\t showCounter: _react.PropTypes.bool,\n\t autoChangeInterval: _react.PropTypes.number,\n\t autoPause: _react.PropTypes.bool,\n\t showByline: _react.PropTypes.bool,\n\t showDescription: _react.PropTypes.bool,\n\t showTimestamp: _react.PropTypes.bool,\n\t descriptionBackgroundColor: _react.PropTypes.string,\n\t textColor: _react.PropTypes.string,\n\t showTitle: _react.PropTypes.bool,\n\t enableImageAnalytics: _react.PropTypes.bool,\n\t displayType: _react.PropTypes.oneOf(['cover', 'contain'])\n\t};\n\t\n\tvar ImageSlideshowWrapper = (_temp = _class = function (_Component) {\n\t _inherits(ImageSlideshowWrapper, _Component);\n\t\n\t function ImageSlideshowWrapper(props) {\n\t _classCallCheck(this, ImageSlideshowWrapper);\n\t\n\t var _this = _possibleConstructorReturn(this, (ImageSlideshowWrapper.__proto__ || Object.getPrototypeOf(ImageSlideshowWrapper)).call(this, props));\n\t\n\t if (typeof window !== 'undefined') {\n\t (0, _reactTapEventPlugin2.default)({\n\t shouldRejectClick: function shouldRejectClick() {\n\t return true;\n\t }\n\t });\n\t }\n\t return _this;\n\t }\n\t\n\t _createClass(ImageSlideshowWrapper, [{\n\t key: 'render',\n\t value: function render() {\n\t if (!this.props.FRN_rawResponses || this.props.FRN_rawResponses.length === 0 || !this.props.FRN_rawResponses[0].data) {\n\t return null;\n\t }\n\t\n\t var _props = this.props,\n\t _props$FRN_rawRespons = _props.FRN_rawResponses;\n\t _props$FRN_rawRespons = _props$FRN_rawRespons === undefined ? [] : _props$FRN_rawRespons;\n\t\n\t var _props$FRN_rawRespons2 = _slicedToArray(_props$FRN_rawRespons, 1),\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons2[0];\n\t\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons3 === undefined ? {} : _props$FRN_rawRespons3;\n\t var _props$FRN_rawRespons4 = _props$FRN_rawRespons3.data,\n\t _props$FRN_rawRespons5 = _props$FRN_rawRespons4.id,\n\t id = _props$FRN_rawRespons5 === undefined ? '' : _props$FRN_rawRespons5,\n\t _props$FRN_rawRespons6 = _props$FRN_rawRespons4.contentClassification,\n\t contentClassification = _props$FRN_rawRespons6 === undefined ? '' : _props$FRN_rawRespons6,\n\t _props$FRN_rawRespons7 = _props$FRN_rawRespons4.storyimages,\n\t storyImages = _props$FRN_rawRespons7 === undefined ? [] : _props$FRN_rawRespons7,\n\t _props$FRN_rawRespons8 = _props$FRN_rawRespons4.features,\n\t features = _props$FRN_rawRespons8 === undefined ? [] : _props$FRN_rawRespons8,\n\t _props$FRN_rawRespons9 = _props$FRN_rawRespons4.headline,\n\t headline = _props$FRN_rawRespons9 === undefined ? '' : _props$FRN_rawRespons9,\n\t _props$FRN_rawRespons10 = _props$FRN_rawRespons4.bylines,\n\t bylines = _props$FRN_rawRespons10 === undefined ? [] : _props$FRN_rawRespons10,\n\t title = _props.title,\n\t backgroundColor = _props.backgroundColor,\n\t numberOfImagesDisplayed = _props.numberOfImagesDisplayed,\n\t showPagination = _props.showPagination,\n\t showCounter = _props.showCounter,\n\t autoChangeInterval = _props.autoChangeInterval,\n\t autoPause = _props.autoPause,\n\t showByline = _props.showByline,\n\t showDescription = _props.showDescription,\n\t showTimestamp = _props.showTimestamp,\n\t descriptionBackgroundColor = _props.descriptionBackgroundColor,\n\t textColor = _props.textColor,\n\t showTitle = _props.showTitle,\n\t enableImageAnalytics = _props.enableImageAnalytics,\n\t titleType = _props.titleType,\n\t displayType = _props.displayType;\n\t\n\t\n\t var images = void 0;\n\t\n\t var metaData = void 0;\n\t\n\t // The feed contains \"ImageGallery\".\n\t var widget = features.find(function (item) {\n\t return item.type === WIDGETS;\n\t });\n\t if (widget) {\n\t var imagesGallery = widget.json.find(function (item) {\n\t return item.Type === IMAGE_GALLERY;\n\t });\n\t if (imagesGallery) {\n\t images = imagesGallery.images || [];\n\t\n\t /** If enableImageAnalytics, set to metadata of slideshow to each item */\n\t if (enableImageAnalytics) {\n\t var widgetId = widget.id;\n\t var widgetHeadline = imagesGallery.slideshowHeadline,\n\t adTag = imagesGallery.adTag;\n\t\n\t\n\t metaData = {\n\t widgetId: widgetId,\n\t widgetHeadline: widgetHeadline,\n\t adTag: adTag\n\t };\n\t }\n\t }\n\t }\n\t\n\t // If the feed doesn't contain \"ImageGallery\", data will be in the \"storyimages\"\n\t if (!images) {\n\t images = storyImages.map(function (item) {\n\t return {\n\t 'url': item.filename,\n\t 'description': item.caption,\n\t 'lastEditedDate': item.lastEditedDate\n\t };\n\t });\n\t\n\t /** If enableImageAnalytics, set to metadata of slideshow to each item */\n\t if (enableImageAnalytics) {\n\t metaData = {\n\t widgetId: id,\n\t widgetHeadline: headline,\n\t adTag: contentClassification\n\t };\n\t }\n\t }\n\t\n\t var componentTitle = title || headline;\n\t var availableImages = images.slice(0, numberOfImagesDisplayed <= 0 ? images.length : numberOfImagesDisplayed);\n\t\n\t if (enableImageAnalytics) {\n\t availableImages = availableImages.map(function (item) {\n\t return _extends({}, item, metaData);\n\t });\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'ImageSlideshowWrapper', style: { backgroundColor: backgroundColor } },\n\t showTitle && componentTitle ? _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, title: componentTitle }) : null,\n\t _react2.default.createElement(ImageSlideshow, {\n\t items: availableImages,\n\t bylines: bylines,\n\t autoChangeInterval: autoChangeInterval,\n\t autoPause: autoPause,\n\t showPagination: showPagination,\n\t showCounter: showCounter,\n\t showTimestamp: showTimestamp,\n\t showByline: showByline,\n\t showDescription: showDescription,\n\t descriptionBackgroundColor: descriptionBackgroundColor,\n\t textColor: textColor,\n\t enableImageAnalytics: enableImageAnalytics,\n\t displayType: displayType\n\t })\n\t );\n\t }\n\t }]);\n\t\n\t return ImageSlideshowWrapper;\n\t}(_react.Component), _class.propTypes = _extends({\n\t FRN_rawResponses: _react.PropTypes.array.isRequired,\n\t title: _react.PropTypes.string,\n\t backgroundColor: _react.PropTypes.string,\n\t numberOfImagesDisplayed: _react.PropTypes.number,\n\t titleType: _react.PropTypes.string\n\t}, ImagesPropTypes), _class.defaultProps = {\n\t showTimestamp: true,\n\t backgroundColor: '#F3F3F3',\n\t descriptionBackgroundColor: '#FFFFFF',\n\t textColor: '#FFFFFF',\n\t showByline: true,\n\t showDescription: true,\n\t numberOfImagesDisplayed: 0,\n\t showPagination: true,\n\t showCounter: true,\n\t autoChangeInterval: 0,\n\t autoPause: false,\n\t showTitle: true,\n\t titleType: _FRNBaseStyles.TITLE_TYPE.MODULE_TITLE,\n\t displayType: 'contain'\n\t}, _temp);\n\tvar ImageSlideshow = (_temp3 = _class2 = function (_Component2) {\n\t _inherits(ImageSlideshow, _Component2);\n\t\n\t function ImageSlideshow() {\n\t var _ref;\n\t\n\t var _temp2, _this2, _ret;\n\t\n\t _classCallCheck(this, ImageSlideshow);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp2 = (_this2 = _possibleConstructorReturn(this, (_ref = ImageSlideshow.__proto__ || Object.getPrototypeOf(ImageSlideshow)).call.apply(_ref, [this].concat(args))), _this2), _this2.state = {\n\t index: 0,\n\t type: '',\n\t paused: false\n\t }, _temp2), _possibleConstructorReturn(_this2, _ret);\n\t }\n\t\n\t _createClass(ImageSlideshow, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t this._onBack = (0, _debounce3.default)(this._onBack, 500, { maxWait: 500 });\n\t this._onNext = (0, _debounce3.default)(this._onNext, 500, { maxWait: 500 });\n\t }\n\t }, {\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var _props2 = this.props,\n\t items = _props2.items,\n\t enableImageAnalytics = _props2.enableImageAnalytics,\n\t autoChangeInterval = _props2.autoChangeInterval;\n\t\n\t\n\t if (enableImageAnalytics) {\n\t var firstItemMeta = {\n\t slideshowData: items[0],\n\t index: 1,\n\t numberOfItems: items.length\n\t };\n\t\n\t AnalyticsUtils.triggerSlideshowPageView(firstItemMeta);\n\t\n\t if (autoChangeInterval) {\n\t AnalyticsUtils.triggerSlideshowStart(firstItemMeta);\n\t }\n\t }\n\t\n\t this._startAutoChangeInterval();\n\t }\n\t }, {\n\t key: 'componentWillUnmount',\n\t value: function componentWillUnmount() {\n\t this._clearAutoChangeInterval();\n\t }\n\t }, {\n\t key: '_startAutoChangeInterval',\n\t value: function _startAutoChangeInterval() {\n\t var _this3 = this;\n\t\n\t var autoChangeInterval = this.props.autoChangeInterval;\n\t\n\t if (autoChangeInterval > 0 && !this.state.paused) {\n\t this.imageSlideshowInterval = setInterval(function () {\n\t return _this3._onNext();\n\t }, autoChangeInterval * 1000);\n\t }\n\t }\n\t }, {\n\t key: '_clearAutoChangeInterval',\n\t value: function _clearAutoChangeInterval() {\n\t var autoChangeInterval = this.props.autoChangeInterval;\n\t\n\t if (autoChangeInterval > 0) {\n\t clearInterval(this.imageSlideshowInterval);\n\t }\n\t }\n\t }, {\n\t key: '_onNext',\n\t value: function _onNext(e) {\n\t this._clearAutoChangeInterval();\n\t\n\t var _props3 = this.props,\n\t items = _props3.items,\n\t enableImageAnalytics = _props3.enableImageAnalytics;\n\t var index = this.state.index;\n\t\n\t\n\t index = index === this.props.items.length - 1 ? 0 : index + 1;\n\t\n\t this.setState({\n\t index: index,\n\t type: 'slideNext'\n\t });\n\t\n\t if (enableImageAnalytics) {\n\t var slideshowEventMeta = {\n\t slideshowData: items[index],\n\t index: index + 1,\n\t numberOfItems: items.length\n\t };\n\t\n\t AnalyticsUtils.triggerSlideshowPageView(slideshowEventMeta);\n\t\n\t if (e) {\n\t AnalyticsUtils.triggerSlideshowSlideNext(slideshowEventMeta);\n\t }\n\t }\n\t\n\t this._startAutoChangeInterval();\n\t }\n\t }, {\n\t key: '_onBack',\n\t value: function _onBack(e) {\n\t this._clearAutoChangeInterval();\n\t\n\t var _props4 = this.props,\n\t items = _props4.items,\n\t enableImageAnalytics = _props4.enableImageAnalytics;\n\t var index = this.state.index;\n\t\n\t\n\t index = index === 0 ? this.props.items.length - 1 : index - 1;\n\t\n\t this.setState({\n\t index: index,\n\t type: 'slideBack'\n\t });\n\t\n\t if (enableImageAnalytics) {\n\t var slideshowEventMeta = {\n\t slideshowData: items[index],\n\t index: index + 1,\n\t numberOfItems: items.length\n\t };\n\t\n\t AnalyticsUtils.triggerSlideshowPageView(slideshowEventMeta);\n\t\n\t if (e) {\n\t AnalyticsUtils.triggerSlideshowSlideBack(slideshowEventMeta);\n\t }\n\t }\n\t\n\t this._startAutoChangeInterval();\n\t }\n\t }, {\n\t key: '_handleSwipe',\n\t value: function _handleSwipe(e, x) {\n\t if (x > 0) {\n\t this._onNext(e);\n\t } else {\n\t this._onBack(e);\n\t }\n\t }\n\t }, {\n\t key: '_handleTouchTap',\n\t value: function _handleTouchTap() {\n\t return this.state.paused ? this._unpause() : this._pause();\n\t }\n\t }, {\n\t key: '_pause',\n\t value: function _pause() {\n\t var _props5 = this.props,\n\t autoChangeInterval = _props5.autoChangeInterval,\n\t autoPause = _props5.autoPause,\n\t enableImageAnalytics = _props5.enableImageAnalytics,\n\t items = _props5.items;\n\t var index = this.state.index;\n\t\n\t\n\t if (autoChangeInterval && autoPause) {\n\t this._clearAutoChangeInterval();\n\t this.setState({ paused: true });\n\t\n\t if (enableImageAnalytics) {\n\t AnalyticsUtils.triggerSlideshowPause({ slideshowData: items[index], index: index + 1, numberOfItems: items.length });\n\t }\n\t }\n\t }\n\t }, {\n\t key: '_unpause',\n\t value: function _unpause() {\n\t var _this4 = this;\n\t\n\t var _props6 = this.props,\n\t autoChangeInterval = _props6.autoChangeInterval,\n\t autoPause = _props6.autoPause,\n\t enableImageAnalytics = _props6.enableImageAnalytics,\n\t items = _props6.items;\n\t var index = this.state.index;\n\t\n\t\n\t if (autoChangeInterval && autoPause) {\n\t this.setState({ paused: false });\n\t setTimeout(function () {\n\t return !_this4.state.paused ? _this4._onNext() : null;\n\t }, 1500);\n\t\n\t if (enableImageAnalytics) {\n\t AnalyticsUtils.triggerSlideshowStart({ slideshowData: items[index], index: index + 1, numberOfItems: items.length });\n\t }\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this5 = this;\n\t\n\t var _props7 = this.props,\n\t items = _props7.items,\n\t bylines = _props7.bylines,\n\t showPagination = _props7.showPagination,\n\t showCounter = _props7.showCounter,\n\t showDescription = _props7.showDescription,\n\t showByline = _props7.showByline,\n\t showTimestamp = _props7.showTimestamp,\n\t descriptionBackgroundColor = _props7.descriptionBackgroundColor,\n\t textColor = _props7.textColor,\n\t displayType = _props7.displayType;\n\t var _state = this.state,\n\t index = _state.index,\n\t type = _state.type,\n\t paused = _state.paused;\n\t var _items$index = items[index],\n\t publishingDate = _items$index.publishingDate,\n\t imageUrl = _items$index.url,\n\t _items$index$descript = _items$index.description,\n\t description = _items$index$descript === undefined ? '' : _items$index$descript,\n\t _items$index$lastEdit = _items$index.lastEditedDate,\n\t lastEditedDate = _items$index$lastEdit === undefined ? '' : _items$index$lastEdit;\n\t\n\t\n\t var authors = (0, _map3.default)(bylines, _NewsUtils.bylineToString);\n\t\n\t var timestamp = {\n\t publishDate: showTimestamp ? publishingDate : null,\n\t authors: showByline ? authors : null\n\t };\n\t\n\t var isCoverType = displayType === 'cover';\n\t var wrapperClassName = (0, _classnames2.default)('image-wrapper', { 'image-cover': isCoverType });\n\t // if ofjectFit = contain we should center the image\n\t var imageStyles = (0, _ImageStyleUtils2.default)(displayType);\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'ImageSlideshow' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'ImageSlideshow-thumbnail ImageSlideshow-coverPhoto ImageSlideshow-main',\n\t onMouseEnter: function onMouseEnter() {\n\t return _this5._pause();\n\t },\n\t onMouseLeave: function onMouseLeave() {\n\t return _this5._unpause();\n\t } },\n\t _react2.default.createElement(\n\t _reactAddonsCssTransitionGroup2.default,\n\t {\n\t transitionName: type,\n\t transitionEnterTimeout: 500,\n\t transitionLeaveTimeout: 500,\n\t className: 'slide-container',\n\t onTouchTap: function onTouchTap() {\n\t return _this5._handleTouchTap();\n\t } },\n\t _react2.default.createElement(\n\t 'div',\n\t { key: index, className: 'slide' },\n\t _react2.default.createElement(\n\t _reactSwipeable2.default,\n\t { className: 'swipe', onSwiped: function onSwiped(e, x) {\n\t return _this5._handleSwipe(e, x);\n\t } },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: wrapperClassName },\n\t _react2.default.createElement(_Image2.default, {\n\t height: isCoverType ? \"540\" : \"480\",\n\t src: '' + decodeURIComponent(imageUrl),\n\t lastEditedDate: lastEditedDate,\n\t imageStyles: imageStyles\n\t })\n\t )\n\t )\n\t )\n\t ),\n\t showPagination ? _react2.default.createElement(\n\t 'div',\n\t { className: 'ImageSlideshow-paginationControls' },\n\t _react2.default.createElement(\n\t 'div',\n\t { onClick: function onClick(e) {\n\t return _this5._onBack(e);\n\t } },\n\t _react2.default.createElement(_Slideshow2.default, { direction: 'left' })\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { onClick: function onClick(e) {\n\t return _this5._onNext(e);\n\t } },\n\t _react2.default.createElement(_Slideshow2.default, { direction: 'right' })\n\t )\n\t ) : null,\n\t showCounter ? _react2.default.createElement(\n\t 'div',\n\t { className: 'ImageSlideshow-itemCount' },\n\t _react2.default.createElement(\n\t 'p',\n\t null,\n\t index + 1,\n\t '/',\n\t items.length\n\t )\n\t ) : null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'ImageSlideshow-pause' },\n\t _react2.default.createElement(_Pause2.default, { paused: paused })\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'ImageSlideshow-slideshowText ImageSlideshow-cardEdge ImageSlideshow-cardInset',\n\t style: { backgroundColor: descriptionBackgroundColor } },\n\t showTimestamp ? _react2.default.createElement(_Timestamp2.default, timestamp) : null,\n\t showDescription ? _react2.default.createElement(\n\t 'div',\n\t { className: 'ImageSlideshow-descriptionText' },\n\t _react2.default.createElement('p', { style: { color: textColor }, dangerouslySetInnerHTML: { __html: unescape(description) } })\n\t ) : null\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return ImageSlideshow;\n\t}(_react.Component), _class2.propTypes = _extends({\n\t items: _react.PropTypes.array.isRequired,\n\t bylines: _react.PropTypes.array\n\t}, ImagesPropTypes), _temp3);\n\texports.default = ImageSlideshowWrapper;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1232 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp2;\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _lodash2 = _interopRequireDefault(_lodash);\n\t\n\tvar _classnames = __webpack_require__(2);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _AlertUtils = __webpack_require__(373);\n\t\n\tvar _DateUtils = __webpack_require__(54);\n\t\n\tvar _Timestamp = __webpack_require__(47);\n\t\n\tvar _Timestamp2 = _interopRequireDefault(_Timestamp);\n\t\n\tvar _ChevronRight = __webpack_require__(169);\n\t\n\tvar _ChevronRight2 = _interopRequireDefault(_ChevronRight);\n\t\n\tvar _Cancel = __webpack_require__(215);\n\t\n\tvar _Cancel2 = _interopRequireDefault(_Cancel);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar SUPPORTED_TYPES = ['story', 'clip', 'link'];\n\t\n\tvar NewsBanner = (_temp2 = _class = function (_Component) {\n\t _inherits(NewsBanner, _Component);\n\t\n\t function NewsBanner() {\n\t var _ref;\n\t\n\t var _temp, _this, _ret;\n\t\n\t _classCallCheck(this, NewsBanner);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = NewsBanner.__proto__ || Object.getPrototypeOf(NewsBanner)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n\t isExpanded: false,\n\t showAlert: true\n\t }, _temp), _possibleConstructorReturn(_this, _ret);\n\t }\n\t\n\t _createClass(NewsBanner, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var _props = this.props,\n\t FRN_componentInstanceId = _props.FRN_componentInstanceId,\n\t isDismissable = _props.dismissOptions.isDismissable;\n\t\n\t\n\t if (isDismissable) {\n\t var alertInStore = (0, _AlertUtils.findAlertInStore)(FRN_componentInstanceId);\n\t\n\t if (alertInStore) {\n\t var timeout = alertInStore.timeout,\n\t data = alertInStore.data;\n\t\n\t\n\t var time = (0, _DateUtils.getDateTimeInSeconds)();\n\t var showAlert = time > timeout || this._isNewData(data);\n\t\n\t if (showAlert) {\n\t (0, _AlertUtils.removeAlertFromStore)(FRN_componentInstanceId);\n\t } else {\n\t this._startAutoShowAlertInterval(timeout - time);\n\t }\n\t\n\t this.setState({ showAlert: showAlert });\n\t }\n\t }\n\t }\n\t }, {\n\t key: 'componentWillUnmount',\n\t value: function componentWillUnmount() {\n\t clearInterval(this._showAlertAgainInterval);\n\t }\n\t }, {\n\t key: '_dismissAlert',\n\t value: function _dismissAlert() {\n\t var _props2 = this.props,\n\t FRN_componentInstanceId = _props2.FRN_componentInstanceId,\n\t dismissTimeInHours = _props2.dismissOptions.dismissTimeInHours;\n\t\n\t var timeout = (0, _DateUtils.convertHoursToSeconds)(dismissTimeInHours);\n\t\n\t (0, _AlertUtils.addAlertToStore)(FRN_componentInstanceId, (0, _DateUtils.getDateTimeInSeconds)() + timeout, this.props.FRN_rawResponses);\n\t this._startAutoShowAlertInterval(timeout);\n\t\n\t this.setState({\n\t showAlert: false\n\t });\n\t }\n\t }, {\n\t key: '_startAutoShowAlertInterval',\n\t value: function _startAutoShowAlertInterval(timeout) {\n\t var _this2 = this;\n\t\n\t this._showAlertAgainInterval = setInterval(function () {\n\t (0, _AlertUtils.removeAlertFromStore)(_this2.props.FRN_componentInstanceId);\n\t clearInterval(_this2._showAlertAgainInterval);\n\t\n\t _this2.setState({\n\t showAlert: true\n\t });\n\t }, timeout);\n\t }\n\t }, {\n\t key: '_isNewData',\n\t value: function _isNewData(rawResponse) {\n\t var startArticleIndex = this.props.startArticleIndex;\n\t var _props$FRN_rawRespons = this.props.FRN_rawResponses;\n\t _props$FRN_rawRespons = _props$FRN_rawRespons === undefined ? [] : _props$FRN_rawRespons;\n\t\n\t var _props$FRN_rawRespons2 = _slicedToArray(_props$FRN_rawRespons, 1),\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons2[0];\n\t\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons3 === undefined ? {} : _props$FRN_rawRespons3;\n\t var _props$FRN_rawRespons4 = _props$FRN_rawRespons3.data;\n\t _props$FRN_rawRespons4 = _props$FRN_rawRespons4 === undefined ? {} : _props$FRN_rawRespons4;\n\t var _props$FRN_rawRespons5 = _props$FRN_rawRespons4.features,\n\t newFeatures = _props$FRN_rawRespons5 === undefined ? [] : _props$FRN_rawRespons5;\n\t\n\t var _rawResponse = _slicedToArray(rawResponse, 1),\n\t _rawResponse$ = _rawResponse[0];\n\t\n\t _rawResponse$ = _rawResponse$ === undefined ? {} : _rawResponse$;\n\t var _rawResponse$$data = _rawResponse$.data;\n\t _rawResponse$$data = _rawResponse$$data === undefined ? {} : _rawResponse$$data;\n\t var _rawResponse$$data$fe = _rawResponse$$data.features,\n\t oldFeatures = _rawResponse$$data$fe === undefined ? [] : _rawResponse$$data$fe;\n\t\n\t var _ref2 = newFeatures[startArticleIndex] || {},\n\t newId = _ref2.id;\n\t\n\t var _ref3 = oldFeatures[startArticleIndex] || {},\n\t oldId = _ref3.id;\n\t\n\t return oldId !== newId;\n\t }\n\t }, {\n\t key: '_toggleListItems',\n\t value: function _toggleListItems() {\n\t this.setState({ isExpanded: !this.state.isExpanded });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this3 = this;\n\t\n\t var _state = this.state,\n\t showAlert = _state.showAlert,\n\t isExpanded = _state.isExpanded;\n\t\n\t\n\t if (!showAlert) {\n\t return null;\n\t }\n\t\n\t var _props3 = this.props,\n\t _props3$FRN_rawRespon = _props3.FRN_rawResponses;\n\t _props3$FRN_rawRespon = _props3$FRN_rawRespon === undefined ? [] : _props3$FRN_rawRespon;\n\t\n\t var _props3$FRN_rawRespon2 = _slicedToArray(_props3$FRN_rawRespon, 1),\n\t _props3$FRN_rawRespon3 = _props3$FRN_rawRespon2[0];\n\t\n\t _props3$FRN_rawRespon3 = _props3$FRN_rawRespon3 === undefined ? {} : _props3$FRN_rawRespon3;\n\t var _props3$FRN_rawRespon4 = _props3$FRN_rawRespon3.data;\n\t _props3$FRN_rawRespon4 = _props3$FRN_rawRespon4 === undefined ? {} : _props3$FRN_rawRespon4;\n\t var _props3$FRN_rawRespon5 = _props3$FRN_rawRespon4.features,\n\t features = _props3$FRN_rawRespon5 === undefined ? [] : _props3$FRN_rawRespon5,\n\t title = _props3.title,\n\t titleColor = _props3.titleColor,\n\t backgroundColor = _props3.backgroundColor,\n\t expandBackgroundColor = _props3.expandBackgroundColor,\n\t textAlign = _props3.textAlign,\n\t textColor = _props3.textColor,\n\t showTimestamp = _props3.showTimestamp,\n\t _props3$timestampOpti = _props3.timestampOptions;\n\t _props3$timestampOpti = _props3$timestampOpti === undefined ? {} : _props3$timestampOpti;\n\t var showElapsedTime = _props3$timestampOpti.showElapsedTime,\n\t displayShortDateTime = _props3$timestampOpti.displayShortDateTime,\n\t startArticleIndex = _props3.startArticleIndex,\n\t numberOfItems = _props3.numberOfItems,\n\t isDismissable = _props3.dismissOptions.isDismissable;\n\t\n\t\n\t var offset = Math.max(startArticleIndex, 0);\n\t var filteredItems = features.filter(function (item) {\n\t return _lodash2.default.includes(SUPPORTED_TYPES, _lodash2.default.toLower(item.type));\n\t });\n\t var items = filteredItems.slice(offset, numberOfItems + offset);\n\t\n\t if (!items.length) {\n\t return null;\n\t }\n\t\n\t var totalItemsToDisplay = numberOfItems > 0 ? Math.min(numberOfItems, items.length) : items.length;\n\t var totalItemsVisible = !isExpanded && 1 || (numberOfItems > 0 ? numberOfItems : items.length);\n\t var newsItems = items.slice(0, totalItemsVisible);\n\t\n\t if (!newsItems.length) {\n\t return null;\n\t }\n\t\n\t var newsItemsToShow = isExpanded ? newsItems : newsItems.slice(0, 1);\n\t\n\t var additionalNewsItemRows = void 0;\n\t\n\t var newsItemRows = newsItemsToShow.map(function (item, index) {\n\t var _item$headline = item.headline,\n\t headline = _item$headline === undefined ? '' : _item$headline,\n\t _item$publishedDate = item.publishedDate,\n\t publishDate = _item$publishedDate === undefined ? '' : _item$publishedDate,\n\t _item$updatedDate = item.updatedDate,\n\t updatedDate = _item$updatedDate === undefined ? '' : _item$updatedDate,\n\t _item$link = item.link,\n\t link = _item$link === undefined ? '' : _item$link,\n\t _item$type = item.type,\n\t type = _item$type === undefined ? '' : _item$type,\n\t _item$id = item.id,\n\t id = _item$id === undefined ? '' : _item$id,\n\t _item$url = item.url,\n\t url = _item$url === undefined ? '' : _item$url,\n\t _item$seo = item.seo;\n\t _item$seo = _item$seo === undefined ? {} : _item$seo;\n\t var _item$seo$pageurl = _item$seo.pageurl,\n\t slug = _item$seo$pageurl === undefined ? '' : _item$seo$pageurl;\n\t\n\t\n\t var newsItemStyle = {\n\t backgroundColor: index > 0 ? expandBackgroundColor : backgroundColor,\n\t color: textColor,\n\t textAlign: textAlign\n\t };\n\t\n\t var linkHref = _lodash2.default.toLower(type) === 'link' ? url : null;\n\t var href = typeof location !== 'undefined' ? location.protocol + '//' + location.hostname + (location.port ? ':' + location.port : '') + '/' + type + '/' + id + '/' + slug : link;\n\t\n\t var newsItemClasses = (0, _classnames2.default)('NewsBanner-item', { 'NewsBanner-firstItem': index === 0 });\n\t return _react2.default.createElement(\n\t 'a',\n\t { href: linkHref || href, className: newsItemClasses, style: newsItemStyle, key: index },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: (0, _classnames2.default)('NewsBanner-text', { showTimestamp: 'NewsBanner-text--showTimestamp' }, totalItemsToDisplay > 1 ? 'NewsBanner-text--withToggleBtn' : null) },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'NewsBanner-headline' },\n\t index === 0 ? _react2.default.createElement(\n\t 'span',\n\t { className: 'NewsBanner-title', style: { color: titleColor } },\n\t title\n\t ) : null,\n\t headline\n\t ),\n\t showTimestamp ? _react2.default.createElement(\n\t 'div',\n\t { className: 'NewsBanner-time' },\n\t _react2.default.createElement(_Timestamp2.default, { updatedDate: updatedDate, publishDate: publishDate, showElapsedTime: showElapsedTime, displayShortDateTime: displayShortDateTime })\n\t ) : null\n\t ),\n\t index > 0 ? _react2.default.createElement(\n\t 'div',\n\t { className: 'NewsBanner-iconAngleRight' },\n\t _react2.default.createElement(_ChevronRight2.default, { color: textColor })\n\t ) : null\n\t );\n\t });\n\t\n\t var firstNewsItemRow = newsItemRows[0];\n\t\n\t if (isExpanded) {\n\t additionalNewsItemRows = _react2.default.createElement(\n\t 'div',\n\t { className: 'NewsBanner-expandedItems' },\n\t newsItemRows.slice(1, newsItemRows.length)\n\t );\n\t }\n\t\n\t var toggleBtnColor = {\n\t color: backgroundColor\n\t };\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'NewsBanner' },\n\t isDismissable && _react2.default.createElement(\n\t 'div',\n\t { className: 'NewsBanner-dismissBtn', onClick: function onClick() {\n\t return _this3._dismissAlert();\n\t } },\n\t _react2.default.createElement(_Cancel2.default, { color: textColor })\n\t ),\n\t totalItemsToDisplay > 1 ? _react2.default.createElement(\n\t 'div',\n\t { className: 'NewsBanner-toggleBtn', onClick: function onClick() {\n\t return _this3._toggleListItems();\n\t } },\n\t _react2.default.createElement(\n\t 'a',\n\t null,\n\t _react2.default.createElement('i', { style: toggleBtnColor, className: 'fa fa-exclamation-triangle', 'aria-hidden': 'true' }),\n\t _react2.default.createElement(\n\t 'span',\n\t { style: toggleBtnColor },\n\t totalItemsToDisplay\n\t )\n\t )\n\t ) : null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'NewsBanner-content' },\n\t firstNewsItemRow,\n\t additionalNewsItemRows\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return NewsBanner;\n\t}(_react.Component), _class.propTypes = {\n\t FRN_componentInstanceId: _react.PropTypes.string,\n\t FRN_rawResponses: _react.PropTypes.array,\n\t title: _react.PropTypes.string,\n\t titleColor: _react.PropTypes.string,\n\t backgroundColor: _react.PropTypes.string,\n\t expandBackgroundColor: _react.PropTypes.string,\n\t textAlign: _react.PropTypes.oneOf(['left', 'center', 'right']),\n\t textColor: _react.PropTypes.string,\n\t showTimestamp: _react.PropTypes.bool,\n\t startArticleIndex: _react.PropTypes.number,\n\t numberOfItems: _react.PropTypes.number,\n\t dismissOptions: _react.PropTypes.shape({\n\t isDismissable: _react.PropTypes.bool,\n\t dismissTimeInHours: _react.PropTypes.number\n\t }),\n\t timestampOptions: _react.PropTypes.shape({\n\t showElapsedTime: _react.PropTypes.bool,\n\t displayShortDateTime: _react.PropTypes.bool\n\t })\n\t}, _class.defaultProps = {\n\t titleColor: '#000',\n\t backgroundColor: '#FFF',\n\t expandBackgroundColor: '#FFF',\n\t textAlign: 'left',\n\t textColor: '#000',\n\t showTimestamp: true,\n\t startArticleIndex: 0,\n\t numberOfItems: 0,\n\t dismissOptions: {\n\t isDismissable: false,\n\t dismissTimeInHours: 24\n\t }\n\t}, _temp2);\n\texports.default = NewsBanner;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1233 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp, _class2, _temp3;\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _lodash2 = _interopRequireDefault(_lodash);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _frankly = __webpack_require__(36);\n\t\n\tvar _CardContainer = __webpack_require__(574);\n\t\n\tvar _CardContainer2 = _interopRequireDefault(_CardContainer);\n\t\n\tvar _ComponentLoader = __webpack_require__(116);\n\t\n\tvar _ComponentLoader2 = _interopRequireDefault(_ComponentLoader);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar RailCardContainer = (_temp = _class = function (_Component) {\n\t _inherits(RailCardContainer, _Component);\n\t\n\t function RailCardContainer() {\n\t _classCallCheck(this, RailCardContainer);\n\t\n\t return _possibleConstructorReturn(this, (RailCardContainer.__proto__ || Object.getPrototypeOf(RailCardContainer)).apply(this, arguments));\n\t }\n\t\n\t _createClass(RailCardContainer, [{\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _props = this.props,\n\t _props$FRN_rawRespons = _props.FRN_rawResponses,\n\t FRN_rawResponses = _props$FRN_rawRespons === undefined ? [] : _props$FRN_rawRespons,\n\t _props$startArticleIn = _props.startArticleIndex,\n\t startArticleIndex = _props$startArticleIn === undefined ? 0 : _props$startArticleIn,\n\t railAlign = _props.railAlign,\n\t color = _props.color,\n\t railWidth = _props.railWidth,\n\t title = _props.title,\n\t titleColor = _props.titleColor,\n\t descriptionText = _props.descriptionText,\n\t railComponents = _props.railComponents,\n\t backgroundColorRail = _props.backgroundColor,\n\t overflowBackgroundRail = _props.overflowBackground,\n\t ads = _props.ads,\n\t edgeToEdge = _props.edgeToEdge,\n\t _props$cardContainerP = _props.cardContainerProps,\n\t gutterSpacing = _props$cardContainerP.gutterSpacing,\n\t backgroundColorCard = _props$cardContainerP.backgroundColor,\n\t overflowBackgroundCard = _props$cardContainerP.overflowBackground,\n\t cards = _props$cardContainerP.cards,\n\t titleType = _props.titleType;\n\t\n\t var _FRN_rawResponses = _slicedToArray(FRN_rawResponses, 1),\n\t _FRN_rawResponses$ = _FRN_rawResponses[0];\n\t\n\t _FRN_rawResponses$ = _FRN_rawResponses$ === undefined ? {} : _FRN_rawResponses$;\n\t var _FRN_rawResponses$$da = _FRN_rawResponses$.data;\n\t _FRN_rawResponses$$da = _FRN_rawResponses$$da === undefined ? {} : _FRN_rawResponses$$da;\n\t var _FRN_rawResponses$$da2 = _FRN_rawResponses$$da.abstract,\n\t abstract = _FRN_rawResponses$$da2 === undefined ? '' : _FRN_rawResponses$$da2,\n\t _FRN_rawResponses$$da3 = _FRN_rawResponses$$da.headline,\n\t headline = _FRN_rawResponses$$da3 === undefined ? '' : _FRN_rawResponses$$da3;\n\t\n\t\n\t var componentTitle = title !== undefined ? title : headline;\n\t var description = descriptionText !== undefined ? descriptionText : abstract;\n\t\n\t var content = [];\n\t var backgroundColor = !overflowBackgroundRail ? backgroundColorRail : null;\n\t\n\t content.push(_react2.default.createElement(\n\t 'div',\n\t { className: 'CardContainerWrapper', key: content.length },\n\t _react2.default.createElement(_CardContainer2.default, {\n\t FRN_rawResponses: FRN_rawResponses,\n\t startArticleIndex: startArticleIndex,\n\t gutterSpacing: gutterSpacing,\n\t backgroundColor: backgroundColorCard,\n\t overflowBackground: overflowBackgroundCard,\n\t cards: cards,\n\t edgeToEdge: edgeToEdge })\n\t ));\n\t\n\t var descriptionContent = description ? _react2.default.createElement('p', { className: 'Rail-description', dangerouslySetInnerHTML: { __html: description.replace(/p>/g, 'span>') } }) : null;\n\t\n\t var _buildComponent = function _buildComponent(components, className) {\n\t return components.map(function (component, index) {\n\t return _react2.default.createElement(\n\t 'div',\n\t { key: index, className: className },\n\t _react2.default.createElement(RailComponentLoader, { orderNumber: index, railCardContainerContext: _this2, componentDefinition: component })\n\t );\n\t });\n\t };\n\t\n\t var railComponentContent = _buildComponent(railComponents, 'Rail-railComponent');\n\t var adComponentContent = _buildComponent(ads, 'Rail-adComponent');\n\t\n\t var railContent = _react2.default.createElement(\n\t 'div',\n\t { key: content.length, className: 'Rail Rail-' + railWidth + ' Rail-gutterSpacing--' + gutterSpacing, style: { color: color } },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'Rail-mainContainer' },\n\t componentTitle ? _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, color: titleColor, title: componentTitle }) : null,\n\t descriptionContent,\n\t railComponentContent\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'Rail-adContainer' },\n\t adComponentContent\n\t )\n\t );\n\t\n\t if (railAlign === 'left') {\n\t content.unshift(railContent);\n\t } else {\n\t content.push(railContent);\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'RailCardContainer' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'RailCardContainer-wrapper', style: { backgroundColor: backgroundColor } },\n\t content\n\t ),\n\t overflowBackgroundRail && _react2.default.createElement('span', { className: 'RailCardContainer-backgroundOverflow RailCardContainer-backgroundOverflow--' + gutterSpacing,\n\t style: { backgroundColor: backgroundColorRail } })\n\t );\n\t }\n\t }]);\n\t\n\t return RailCardContainer;\n\t}(_react.Component), _class.propTypes = {\n\t FRN_rawResponses: _react.PropTypes.array,\n\t startArticleIndex: _react.PropTypes.number,\n\t railAlign: _react.PropTypes.oneOf(['left', 'right']),\n\t color: _react.PropTypes.string,\n\t railWidth: _react.PropTypes.oneOf(['lg', 'sm']),\n\t title: _react.PropTypes.string,\n\t titleColor: _react.PropTypes.string,\n\t descriptionText: _react.PropTypes.string,\n\t backgroundColor: _react.PropTypes.string,\n\t overflowBackground: _react.PropTypes.bool,\n\t edgeToEdge: _react.PropTypes.bool,\n\t railComponents: _react.PropTypes.arrayOf(_react.PropTypes.shape({\n\t id: _react.PropTypes.string.isRequired\n\t })),\n\t ads: _react.PropTypes.arrayOf(_react.PropTypes.shape({\n\t id: _react.PropTypes.string.isRequired\n\t })),\n\t cardContainerProps: _react.PropTypes.shape({\n\t gutterSpacing: _react.PropTypes.string,\n\t backgroundColor: _react.PropTypes.string,\n\t overflowBackground: _react.PropTypes.bool,\n\t cards: _react.PropTypes.arrayOf(_react.PropTypes.shape({\n\t id: _react.PropTypes.string.isRequired\n\t }).isRequired).isRequired\n\t }).isRequired,\n\t titleType: _react.PropTypes.string\n\t}, _class.defaultProps = {\n\t railAlign: 'left',\n\t color: '#000000',\n\t railWidth: 'sm',\n\t titleColor: '#313131',\n\t edgeToEdge: false,\n\t titleType: _FRNBaseStyles.TITLE_TYPE.MODULE_TITLE\n\t}, _temp);\n\tvar RailComponentLoader = (_temp3 = _class2 = function (_Component2) {\n\t _inherits(RailComponentLoader, _Component2);\n\t\n\t function RailComponentLoader() {\n\t var _ref;\n\t\n\t var _temp2, _this3, _ret;\n\t\n\t _classCallCheck(this, RailComponentLoader);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp2 = (_this3 = _possibleConstructorReturn(this, (_ref = RailComponentLoader.__proto__ || Object.getPrototypeOf(RailComponentLoader)).call.apply(_ref, [this].concat(args))), _this3), _this3.state = {\n\t ComponentClass: null,\n\t rawResponses: null\n\t }, _temp2), _possibleConstructorReturn(_this3, _ret);\n\t }\n\t\n\t _createClass(RailComponentLoader, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var _this4 = this;\n\t\n\t var _props2 = this.props,\n\t orderNumber = _props2.orderNumber,\n\t railCardContainerContext = _props2.railCardContainerContext,\n\t _props2$componentDefi = _props2.componentDefinition,\n\t id = _props2$componentDefi.id,\n\t FRN_resourceEndpoints = _props2$componentDefi.FRN_resourceEndpoints;\n\t\n\t\n\t _ComponentLoader2.default.importReactComponent(id).then(function (ComponentClass) {\n\t return _this4.setState({ ComponentClass: ComponentClass });\n\t }).catch(function () {\n\t return console.log('Error while loading the component');\n\t });\n\t\n\t if (FRN_resourceEndpoints) {\n\t (0, _frankly.readComponentInstanceResourceList)(railCardContainerContext, { propPath: 'railComponents[' + orderNumber + ']' }).then(function (resps) {\n\t _this4.setState({ rawResponses: resps });\n\t }).catch(function () {\n\t return console.log('Error while getting data');\n\t });\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props$componentDefin = this.props.componentDefinition,\n\t _props$componentDefin2 = _props$componentDefin.props,\n\t props = _props$componentDefin2 === undefined ? {} : _props$componentDefin2,\n\t FRN_resourceEndpoints = _props$componentDefin.FRN_resourceEndpoints;\n\t var _state = this.state,\n\t ComponentClass = _state.ComponentClass,\n\t rawResponses = _state.rawResponses;\n\t\n\t\n\t if (!ComponentClass) {\n\t return null;\n\t }\n\t\n\t var childProps = FRN_resourceEndpoints ? _lodash2.default.assign(props, { FRN_rawResponses: rawResponses }) : props;\n\t\n\t return _react2.default.createElement(ComponentClass, childProps);\n\t }\n\t }]);\n\t\n\t return RailComponentLoader;\n\t}(_react.Component), _class2.propTypes = {\n\t orderNumber: _react.PropTypes.number,\n\t railCardContainerContext: _react.PropTypes.object,\n\t componentDefinition: _react.PropTypes.shape({\n\t id: _react.PropTypes.string.isRequired\n\t }).isRequired\n\t}, _temp3);\n\texports.default = RailCardContainer;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1234 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp, _class2, _temp3, _class3, _temp5, _class4, _temp7;\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _classnames = __webpack_require__(2);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactAddonsCssTransitionGroup = __webpack_require__(248);\n\t\n\tvar _reactAddonsCssTransitionGroup2 = _interopRequireDefault(_reactAddonsCssTransitionGroup);\n\t\n\tvar _reactSwipeable = __webpack_require__(522);\n\t\n\tvar _reactSwipeable2 = _interopRequireDefault(_reactSwipeable);\n\t\n\tvar _NewsUtils = __webpack_require__(60);\n\t\n\tvar _AnalyticsUtils = __webpack_require__(583);\n\t\n\tvar AnalyticsUtils = _interopRequireWildcard(_AnalyticsUtils);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _Timestamp = __webpack_require__(47);\n\t\n\tvar _Timestamp2 = _interopRequireDefault(_Timestamp);\n\t\n\tvar _Slideshow = __webpack_require__(368);\n\t\n\tvar _Slideshow2 = _interopRequireDefault(_Slideshow);\n\t\n\tvar _Pagination = __webpack_require__(170);\n\t\n\tvar _Pagination2 = _interopRequireDefault(_Pagination);\n\t\n\tvar _AdvertisementUnit = __webpack_require__(263);\n\t\n\tvar _AdvertisementUnit2 = _interopRequireDefault(_AdvertisementUnit);\n\t\n\tvar _Image = __webpack_require__(40);\n\t\n\tvar _Image2 = _interopRequireDefault(_Image);\n\t\n\tvar _Pause = __webpack_require__(573);\n\t\n\tvar _Pause2 = _interopRequireDefault(_Pause);\n\t\n\tvar _reactTapEventPlugin = __webpack_require__(523);\n\t\n\tvar _reactTapEventPlugin2 = _interopRequireDefault(_reactTapEventPlugin);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tvar _frankly = __webpack_require__(36);\n\t\n\tvar _SeoUtils = __webpack_require__(173);\n\t\n\tvar _ImageStyleUtils = __webpack_require__(584);\n\t\n\tvar _ImageStyleUtils2 = _interopRequireDefault(_ImageStyleUtils);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar CLIP = 'clip';\n\tvar WIDGETS = 'widgets';\n\tvar IMAGE_GALLERY = 'ImageGallery';\n\t\n\tvar TRANSITION_NEXT_CLASSNAME = 'transitionNext';\n\tvar TRANSITION_BACK_CLASSNAME = 'transitionBack';\n\t\n\tvar BREAKPOINTS = [{ numberOfGridColumn: 2, numberOfGridItems: 8, minWidth: 0 }, { numberOfGridColumn: 3, numberOfGridItems: 12, minWidth: 768 }, { numberOfGridColumn: 4, numberOfGridItems: 16, minWidth: 992 }];\n\t\n\tvar SlideshowPropTypes = {\n\t backgroundColor: _react.PropTypes.string,\n\t showCaption: _react.PropTypes.bool,\n\t captionBackgroundColor: _react.PropTypes.string,\n\t captionTextColor: _react.PropTypes.string,\n\t showPagination: _react.PropTypes.bool,\n\t maintainImageAspectRatio: _react.PropTypes.bool,\n\t imageAspectRatioBackgroundColor: _react.PropTypes.string,\n\t videoIconPlacement: _react.PropTypes.oneOf(['center', 'bottom-left', 'bottom-right', 'top-left', 'top-right']),\n\t ads: _react.PropTypes.array,\n\t showAds: _react.PropTypes.bool,\n\t adPlacementPattern: _react.PropTypes.number,\n\t showScrollBarOnGridview: _react.PropTypes.bool,\n\t showDrawer: _react.PropTypes.bool,\n\t showSettingsPill: _react.PropTypes.bool,\n\t settingsPillProperties: _react.PropTypes.shape({\n\t share: _react.PropTypes.bool,\n\t fullScreen: _react.PropTypes.bool,\n\t gridView: _react.PropTypes.bool,\n\t imageCounter: _react.PropTypes.bool\n\t }),\n\t selectedHighlightColor: _react.PropTypes.string,\n\t autoChangeInterval: _react.PropTypes.number,\n\t autoPause: _react.PropTypes.bool,\n\t showBylines: _react.PropTypes.bool,\n\t showTimestamp: _react.PropTypes.bool,\n\t showUpdatedDate: _react.PropTypes.bool,\n\t timestampOptions: _react.PropTypes.shape({\n\t showElapsedTime: _react.PropTypes.bool,\n\t displayShortDateTime: _react.PropTypes.bool\n\t }),\n\t showDescription: _react.PropTypes.bool,\n\t showTitle: _react.PropTypes.bool,\n\t enableImageAnalytics: _react.PropTypes.bool,\n\t addMetaTags: _react.PropTypes.bool,\n\t mode: _react.PropTypes.oneOf(['feed', 'manual']),\n\t enableAdRefresh: _react.PropTypes.bool,\n\t slideshowImgObjectFit: _react.PropTypes.oneOf(['contain', 'cover'])\n\t};\n\t\n\tvar SlideshowWrapper = (_temp = _class = function (_Component) {\n\t _inherits(SlideshowWrapper, _Component);\n\t\n\t function SlideshowWrapper(props) {\n\t _classCallCheck(this, SlideshowWrapper);\n\t\n\t var _this = _possibleConstructorReturn(this, (SlideshowWrapper.__proto__ || Object.getPrototypeOf(SlideshowWrapper)).call(this, props));\n\t\n\t if (typeof window !== 'undefined') {\n\t // We inject tab event plugin only one time\n\t if (window.tabEventInjected) return _possibleConstructorReturn(_this);\n\t\n\t (0, _reactTapEventPlugin2.default)({\n\t shouldRejectClick: function shouldRejectClick() {\n\t return true;\n\t }\n\t });\n\t\n\t window.tabEventInjected = true;\n\t }\n\t return _this;\n\t }\n\t\n\t _createClass(SlideshowWrapper, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var items = [];\n\t if (this.props.hasStoryImages) {\n\t items = this._getStoryImages();\n\t } else {\n\t items = this._getVideoItems() || this._getImagesGallery();\n\t }\n\t this.setState({ items: items });\n\t }\n\t }, {\n\t key: '_getVideoItems',\n\t value: function _getVideoItems() {\n\t var _props = this.props,\n\t _props$FRN_rawRespons = _props.FRN_rawResponses;\n\t _props$FRN_rawRespons = _props$FRN_rawRespons === undefined ? [] : _props$FRN_rawRespons;\n\t\n\t var _props$FRN_rawRespons2 = _slicedToArray(_props$FRN_rawRespons, 1),\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons2[0];\n\t\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons3 === undefined ? {} : _props$FRN_rawRespons3;\n\t var _props$FRN_rawRespons4 = _props$FRN_rawRespons3.data;\n\t _props$FRN_rawRespons4 = _props$FRN_rawRespons4 === undefined ? {} : _props$FRN_rawRespons4;\n\t var widgetId = _props$FRN_rawRespons4.id,\n\t widgetHeadline = _props$FRN_rawRespons4.headline,\n\t adTag = _props$FRN_rawRespons4.contentClassification,\n\t _props$FRN_rawRespons5 = _props$FRN_rawRespons4.features,\n\t features = _props$FRN_rawRespons5 === undefined ? [] : _props$FRN_rawRespons5,\n\t enableImageAnalytics = _props.enableImageAnalytics;\n\t\n\t\n\t var items = features.filter(function (item) {\n\t return item.type === CLIP;\n\t });\n\t\n\t if (!items.length) {\n\t return null;\n\t }\n\t\n\t return [{\n\t headline: widgetHeadline,\n\t data: this._sliceItems(items).map(function (item) {\n\t var _item$id = item.id,\n\t id = _item$id === undefined ? '' : _item$id,\n\t _item$headline = item.headline,\n\t smallHeadline = _item$headline === undefined ? '' : _item$headline,\n\t _item$bylines = item.bylines,\n\t bylines = _item$bylines === undefined ? [] : _item$bylines,\n\t _item$link = item.link,\n\t link = _item$link === undefined ? '' : _item$link,\n\t _item$abstractimage = item.abstractimage;\n\t _item$abstractimage = _item$abstractimage === undefined ? {} : _item$abstractimage;\n\t var _item$abstractimage$f = _item$abstractimage.filename,\n\t url = _item$abstractimage$f === undefined ? '' : _item$abstractimage$f,\n\t _item$abstractimage$l = _item$abstractimage.lastEditedDate,\n\t lastEditedDate = _item$abstractimage$l === undefined ? '' : _item$abstractimage$l,\n\t _item$publishedDate = item.publishedDate,\n\t publishingDate = _item$publishedDate === undefined ? '' : _item$publishedDate,\n\t _item$updatedDate = item.updatedDate,\n\t updatedDate = _item$updatedDate === undefined ? '' : _item$updatedDate,\n\t _item$abstract = item.abstract,\n\t description = _item$abstract === undefined ? '' : _item$abstract,\n\t _item$type = item.type,\n\t type = _item$type === undefined ? '' : _item$type,\n\t _item$seo = item.seo;\n\t _item$seo = _item$seo === undefined ? {} : _item$seo;\n\t var _item$seo$pageurl = _item$seo.pageurl,\n\t slug = _item$seo$pageurl === undefined ? '' : _item$seo$pageurl;\n\t\n\t\n\t var metaData = void 0;\n\t\n\t if (enableImageAnalytics) {\n\t metaData = {\n\t widgetId: widgetId,\n\t widgetHeadline: widgetHeadline,\n\t adTag: adTag\n\t };\n\t }\n\t\n\t return _extends({\n\t headline: smallHeadline,\n\t url: url,\n\t lastEditedDate: lastEditedDate,\n\t description: description,\n\t publishingDate: publishingDate,\n\t updatedDate: updatedDate,\n\t bylines: bylines,\n\t id: id,\n\t link: link,\n\t type: type,\n\t slug: slug\n\t }, metaData);\n\t })\n\t }];\n\t }\n\t }, {\n\t key: '_getImagesGallery',\n\t value: function _getImagesGallery() {\n\t var _this2 = this;\n\t\n\t var _props2 = this.props,\n\t _props2$FRN_rawRespon = _props2.FRN_rawResponses;\n\t _props2$FRN_rawRespon = _props2$FRN_rawRespon === undefined ? [] : _props2$FRN_rawRespon;\n\t\n\t var _props2$FRN_rawRespon2 = _slicedToArray(_props2$FRN_rawRespon, 1),\n\t _props2$FRN_rawRespon3 = _props2$FRN_rawRespon2[0];\n\t\n\t _props2$FRN_rawRespon3 = _props2$FRN_rawRespon3 === undefined ? {} : _props2$FRN_rawRespon3;\n\t var _props2$FRN_rawRespon4 = _props2$FRN_rawRespon3.data;\n\t _props2$FRN_rawRespon4 = _props2$FRN_rawRespon4 === undefined ? {} : _props2$FRN_rawRespon4;\n\t var _props2$FRN_rawRespon5 = _props2$FRN_rawRespon4.headline,\n\t headline = _props2$FRN_rawRespon5 === undefined ? '' : _props2$FRN_rawRespon5,\n\t _props2$FRN_rawRespon6 = _props2$FRN_rawRespon4.link,\n\t link = _props2$FRN_rawRespon6 === undefined ? '' : _props2$FRN_rawRespon6,\n\t _props2$FRN_rawRespon7 = _props2$FRN_rawRespon4.features,\n\t features = _props2$FRN_rawRespon7 === undefined ? [] : _props2$FRN_rawRespon7,\n\t _props2$FRN_rawRespon8 = _props2$FRN_rawRespon4.bylines,\n\t bylines = _props2$FRN_rawRespon8 === undefined ? [] : _props2$FRN_rawRespon8,\n\t _props2$FRN_rawRespon9 = _props2$FRN_rawRespon4.widgets,\n\t widgets = _props2$FRN_rawRespon9 === undefined ? [] : _props2$FRN_rawRespon9,\n\t _props2$FRN_rawRespon10 = _props2$FRN_rawRespon4.seo;\n\t _props2$FRN_rawRespon10 = _props2$FRN_rawRespon10 === undefined ? {} : _props2$FRN_rawRespon10;\n\t var _props2$FRN_rawRespon11 = _props2$FRN_rawRespon10.description,\n\t description = _props2$FRN_rawRespon11 === undefined ? '' : _props2$FRN_rawRespon11,\n\t _props2$FRN_rawRespon12 = _props2$FRN_rawRespon10.keywords,\n\t keywords = _props2$FRN_rawRespon12 === undefined ? '' : _props2$FRN_rawRespon12,\n\t _props2$FRN_rawRespon13 = _props2$FRN_rawRespon10.robot,\n\t robot = _props2$FRN_rawRespon13 === undefined ? '' : _props2$FRN_rawRespon13,\n\t enableImageAnalytics = _props2.enableImageAnalytics,\n\t _props2$addMetaTags = _props2.addMetaTags,\n\t addMetaTags = _props2$addMetaTags === undefined ? false : _props2$addMetaTags;\n\t\n\t\n\t var finalHeadline = widgets.length > 0 ? widgets[0].headline : headline;\n\t\n\t if (addMetaTags) {\n\t (0, _frankly.setMetaTags)(this, [{\n\t name: 'description',\n\t content: description\n\t }, {\n\t name: 'keywords',\n\t content: keywords\n\t }, {\n\t name: 'robots',\n\t content: robot\n\t }, {\n\t rel: 'canonical',\n\t href: (0, _SeoUtils.getCanonicalLink)((0, _lodash.get)(this, 'props.FRN_rawResponses[0].data', {})),\n\t isLink: true\n\t }, {\n\t property: 'og:title',\n\t content: finalHeadline\n\t }, {\n\t property: 'og:type',\n\t content: 'article'\n\t }, {\n\t property: 'og:url',\n\t content: link\n\t },\n\t // TO DO\n\t // {\n\t // property: 'og:image',\n\t // content: heroImageFilename\n\t // },\n\t {\n\t property: 'og:description',\n\t content: description\n\t }, {\n\t name: 'twitter:card',\n\t content: 'summary_large_image'\n\t }, {\n\t name: 'twitter:description',\n\t content: description\n\t }, {\n\t name: 'twitter:title',\n\t content: finalHeadline\n\t }]\n\t // TO DO\n\t // {\n\t // name: 'twitter:image',\n\t // content: heroImageFilename\n\t // }\n\t );\n\t }\n\t\n\t var multiItems = void 0;\n\t var widgetsData = widgets.length > 0 ? [widgets[0]] : features.filter(function (item) {\n\t return item.type === WIDGETS;\n\t });\n\t if (widgetsData.length) {\n\t multiItems = widgetsData.map(function (widget) {\n\t var metaData = void 0;\n\t var items = {\n\t headline: widget.headline || '',\n\t data: []\n\t };\n\t\n\t var imagesGallery = widget.json.find(function (item) {\n\t return item.Type === IMAGE_GALLERY;\n\t });\n\t\n\t if (imagesGallery) {\n\t items.data = imagesGallery.images || [];\n\t\n\t if (enableImageAnalytics) {\n\t var widgetId = widget.id;\n\t var widgetHeadline = imagesGallery.slideshowHeadline,\n\t adTag = imagesGallery.adTag;\n\t\n\t\n\t metaData = {\n\t widgetId: widgetId,\n\t widgetHeadline: widgetHeadline,\n\t adTag: adTag\n\t };\n\t }\n\t }\n\t\n\t if (items.data.length) {\n\t items.data = _this2._sliceItems(items.data).map(function (item) {\n\t (0, _lodash.assign)(item, _extends({\n\t bylines: bylines\n\t }, metaData));\n\t\n\t return _extends({\n\t bylines: bylines\n\t }, item, metaData);\n\t });\n\t }\n\t return items.data.length ? items : null;\n\t });\n\t }\n\t\n\t return multiItems;\n\t }\n\t }, {\n\t key: '_getStoryImages',\n\t value: function _getStoryImages() {\n\t var _props3 = this.props,\n\t _props3$FRN_rawRespon = _props3.FRN_rawResponses;\n\t _props3$FRN_rawRespon = _props3$FRN_rawRespon === undefined ? [] : _props3$FRN_rawRespon;\n\t\n\t var _props3$FRN_rawRespon2 = _slicedToArray(_props3$FRN_rawRespon, 1),\n\t _props3$FRN_rawRespon3 = _props3$FRN_rawRespon2[0];\n\t\n\t _props3$FRN_rawRespon3 = _props3$FRN_rawRespon3 === undefined ? {} : _props3$FRN_rawRespon3;\n\t var _props3$FRN_rawRespon4 = _props3$FRN_rawRespon3.data;\n\t _props3$FRN_rawRespon4 = _props3$FRN_rawRespon4 === undefined ? {} : _props3$FRN_rawRespon4;\n\t var widgetId = _props3$FRN_rawRespon4.id,\n\t widgetHeadline = _props3$FRN_rawRespon4.headline,\n\t adTag = _props3$FRN_rawRespon4.contentClassification,\n\t _props3$FRN_rawRespon5 = _props3$FRN_rawRespon4.storyimages,\n\t storyImages = _props3$FRN_rawRespon5 === undefined ? [] : _props3$FRN_rawRespon5,\n\t _props3$FRN_rawRespon6 = _props3$FRN_rawRespon4.bylines,\n\t bylines = _props3$FRN_rawRespon6 === undefined ? [] : _props3$FRN_rawRespon6,\n\t enableImageAnalytics = _props3.enableImageAnalytics;\n\t\n\t\n\t if (!storyImages.length) {\n\t return null;\n\t }\n\t\n\t var items = storyImages.map(function (item) {\n\t var filename = item.filename,\n\t caption = item.caption,\n\t lastEditedDate = item.lastEditedDate;\n\t\n\t\n\t return {\n\t url: filename,\n\t description: caption,\n\t lastEditedDate: lastEditedDate\n\t };\n\t });\n\t\n\t var metaData = void 0;\n\t\n\t if (enableImageAnalytics) {\n\t metaData = {\n\t widgetId: widgetId,\n\t widgetHeadline: widgetHeadline,\n\t adTag: adTag\n\t };\n\t }\n\t\n\t return [{\n\t headline: widgetHeadline,\n\t data: this._sliceItems(items).map(function (item) {\n\t return _extends({\n\t bylines: bylines\n\t }, item, metaData);\n\t })\n\t }];\n\t }\n\t }, {\n\t key: '_sliceItems',\n\t value: function _sliceItems(items) {\n\t var _props4 = this.props,\n\t startArticleIndex = _props4.startArticleIndex,\n\t numberOfItems = _props4.numberOfItems;\n\t\n\t\n\t return items.slice(startArticleIndex, numberOfItems <= 0 ? items.length : numberOfItems);\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this3 = this;\n\t\n\t var _props5 = this.props,\n\t _props5$FRN_rawRespon = _props5.FRN_rawResponses;\n\t _props5$FRN_rawRespon = _props5$FRN_rawRespon === undefined ? [] : _props5$FRN_rawRespon;\n\t\n\t var _props5$FRN_rawRespon2 = _slicedToArray(_props5$FRN_rawRespon, 1),\n\t _props5$FRN_rawRespon3 = _props5$FRN_rawRespon2[0];\n\t\n\t _props5$FRN_rawRespon3 = _props5$FRN_rawRespon3 === undefined ? {} : _props5$FRN_rawRespon3;\n\t var _props5$FRN_rawRespon4 = _props5$FRN_rawRespon3.data;\n\t _props5$FRN_rawRespon4 = _props5$FRN_rawRespon4 === undefined ? {} : _props5$FRN_rawRespon4;\n\t var _props5$FRN_rawRespon5 = _props5$FRN_rawRespon4.headline,\n\t headline = _props5$FRN_rawRespon5 === undefined ? '' : _props5$FRN_rawRespon5,\n\t _props5$FRN_rawRespon6 = _props5$FRN_rawRespon4.features,\n\t features = _props5$FRN_rawRespon6 === undefined ? [] : _props5$FRN_rawRespon6,\n\t _props5$FRN_rawRespon7 = _props5$FRN_rawRespon4.widgets,\n\t widgets = _props5$FRN_rawRespon7 === undefined ? [] : _props5$FRN_rawRespon7,\n\t title = _props5.title,\n\t titleColor = _props5.titleColor,\n\t backgroundColor = _props5.backgroundColor,\n\t ads = _props5.ads,\n\t showAds = _props5.showAds,\n\t adPlacementPattern = _props5.adPlacementPattern,\n\t selectedHighlightColor = _props5.selectedHighlightColor,\n\t maintainImageAspectRatio = _props5.maintainImageAspectRatio,\n\t imageAspectRatioBackgroundColor = _props5.imageAspectRatioBackgroundColor,\n\t showScrollBarOnGridview = _props5.showScrollBarOnGridview,\n\t showCaption = _props5.showCaption,\n\t captionBackgroundColor = _props5.captionBackgroundColor,\n\t captionTextColor = _props5.captionTextColor,\n\t showDrawer = _props5.showDrawer,\n\t showSettingsPill = _props5.showSettingsPill,\n\t settingsPillProperties = _props5.settingsPillProperties,\n\t videoIconPlacement = _props5.videoIconPlacement,\n\t showPagination = _props5.showPagination,\n\t autoChangeInterval = _props5.autoChangeInterval,\n\t autoPause = _props5.autoPause,\n\t showTimestamp = _props5.showTimestamp,\n\t showUpdatedDate = _props5.showUpdatedDate,\n\t showBylines = _props5.showBylines,\n\t timestampOptions = _props5.timestampOptions,\n\t showDescription = _props5.showDescription,\n\t showTitle = _props5.showTitle,\n\t enableImageAnalytics = _props5.enableImageAnalytics,\n\t titleType = _props5.titleType,\n\t mode = _props5.mode,\n\t enableAdRefresh = _props5.enableAdRefresh,\n\t slideshowImgObjectFit = _props5.slideshowImgObjectFit;\n\t var items = this.state.items;\n\t\n\t\n\t if (!items) {\n\t return null;\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'SlideshowWrapper', style: { backgroundColor: backgroundColor } },\n\t items.map(function (item, index) {\n\t var finalTitle = mode === 'feed' ? item.headline : title;\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'Slideshow', key: index },\n\t showTitle && finalTitle ? _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, title: finalTitle, color: titleColor }) : null,\n\t _react2.default.createElement(Slideshow, {\n\t FRN_page: _this3.props.FRN_page,\n\t items: item.data,\n\t backgroundColor: backgroundColor,\n\t showCaption: showCaption,\n\t captionBackgroundColor: captionBackgroundColor,\n\t captionTextColor: captionTextColor,\n\t showDrawer: showDrawer,\n\t showSettingsPill: showSettingsPill,\n\t settingsPillProperties: settingsPillProperties,\n\t showPagination: showPagination,\n\t maintainImageAspectRatio: maintainImageAspectRatio,\n\t imageAspectRatioBackgroundColor: imageAspectRatioBackgroundColor,\n\t showTimestamp: showTimestamp,\n\t showUpdatedDate: showUpdatedDate,\n\t showBylines: showBylines,\n\t timestampOptions: timestampOptions,\n\t showDescription: showDescription,\n\t videoIconPlacement: videoIconPlacement,\n\t ads: ads,\n\t showAds: showAds,\n\t autoChangeInterval: autoChangeInterval,\n\t autoPause: autoPause,\n\t showScrollBarOnGridview: showScrollBarOnGridview,\n\t adPlacementPattern: adPlacementPattern,\n\t selectedHighlightColor: selectedHighlightColor,\n\t enableImageAnalytics: enableImageAnalytics,\n\t enableAdRefresh: enableAdRefresh,\n\t slideshowImgObjectFit: slideshowImgObjectFit\n\t })\n\t );\n\t })\n\t );\n\t }\n\t }]);\n\t\n\t return SlideshowWrapper;\n\t}(_react.Component), _class.propTypes = _extends({\n\t FRN_rawResponses: _react.PropTypes.array,\n\t title: _react.PropTypes.string,\n\t titleColor: _react.PropTypes.string,\n\t startArticleIndex: _react.PropTypes.number,\n\t numberOfItems: _react.PropTypes.number,\n\t titleType: _react.PropTypes.string,\n\t hasStoryImages: _react.PropTypes.bool\n\t}, SlideshowPropTypes), _class.defaultProps = {\n\t startArticleIndex: 0,\n\t numberOfItems: 100,\n\t showPagination: true,\n\t showDrawer: true,\n\t showSettingsPill: true,\n\t settingsPillProperties: {\n\t share: true,\n\t fullScreen: true,\n\t gridView: true,\n\t imageCounter: true\n\t },\n\t videoIconPlacement: 'center',\n\t showScrollBarOnGridview: true,\n\t showCaption: true,\n\t maintainImageAspectRatio: false,\n\t autoPause: false,\n\t ads: [],\n\t showAds: false,\n\t adPlacementPattern: 3,\n\t autoChangeInterval: 0,\n\t showTimestamp: true,\n\t showUpdatedDate: false,\n\t showBylines: true,\n\t timestampOptions: {\n\t showElapsedTime: true,\n\t displayShortDateTime: true\n\t },\n\t showDescription: true,\n\t showTitle: true,\n\t titleType: _FRNBaseStyles.TITLE_TYPE.MODULE_TITLE,\n\t addMetaTags: false,\n\t hasStoryImages: false,\n\t slideshowImgObjectFit: 'contain'\n\t}, _temp);\n\tvar Slideshow = (_temp3 = _class2 = function (_Component2) {\n\t _inherits(Slideshow, _Component2);\n\t\n\t function Slideshow() {\n\t var _ref;\n\t\n\t var _temp2, _this4, _ret;\n\t\n\t _classCallCheck(this, Slideshow);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp2 = (_this4 = _possibleConstructorReturn(this, (_ref = Slideshow.__proto__ || Object.getPrototypeOf(Slideshow)).call.apply(_ref, [this].concat(args))), _this4), _this4.state = {\n\t index: 0,\n\t transitionName: '',\n\t isGridView: false,\n\t isFullScreen: false,\n\t activeAdIndex: 0,\n\t adStatusCounter: 0,\n\t showAd: false,\n\t paused: false\n\t }, _temp2), _possibleConstructorReturn(_this4, _ret);\n\t }\n\t\n\t _createClass(Slideshow, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t this._onBack = (0, _lodash.debounce)(this._onBack, 500, { maxWait: 500, leading: true });\n\t this._onNext = (0, _lodash.debounce)(this._onNext, 500, { maxWait: 500, leading: true });\n\t }\n\t }, {\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var _this5 = this;\n\t\n\t var _props6 = this.props,\n\t items = _props6.items,\n\t enableImageAnalytics = _props6.enableImageAnalytics,\n\t autoChangeInterval = _props6.autoChangeInterval;\n\t\n\t\n\t if (enableImageAnalytics) {\n\t var firstItemMeta = {\n\t slideshowData: items[0],\n\t index: 1,\n\t numberOfItems: items.length\n\t };\n\t\n\t AnalyticsUtils.triggerSlideshowPageView(firstItemMeta);\n\t\n\t if (autoChangeInterval) {\n\t AnalyticsUtils.triggerSlideshowStart(firstItemMeta);\n\t }\n\t }\n\t\n\t this._startAutoChangeInterval();\n\t\n\t window.addEventListener('keydown', function (event) {\n\t return _this5._onEscapeKeyPress(event);\n\t });\n\t }\n\t }, {\n\t key: 'componentWillUnmount',\n\t value: function componentWillUnmount() {\n\t var _this6 = this;\n\t\n\t this._clearAutoChangeInterval();\n\t\n\t window.removeEventListener('keydown', function (event) {\n\t return _this6._onEscapeKeyPress(event);\n\t });\n\t }\n\t }, {\n\t key: '_isAdInViewPort',\n\t value: function _isAdInViewPort(adElement) {\n\t var id = '#' + adElement;\n\t var elementTop = $(id).offset().top;\n\t var elementBottom = elementTop + $(id).outerHeight();\n\t var viewportTop = $(window).scrollTop();\n\t var viewportBottom = viewportTop + $(window).height();\n\t return elementBottom > viewportTop && elementTop < viewportBottom;\n\t }\n\t }, {\n\t key: '_refreshAd',\n\t value: function _refreshAd() {\n\t var _this7 = this;\n\t\n\t var worldnow = window['Worldnow'];\n\t var existingAds = worldnow.AdMan.getAds();\n\t var prefix = worldnow.AdMan.DOM_ID_PREFIX;\n\t var adsInViewPort = existingAds.map(function (ad) {\n\t var adElement = prefix + ad.options.id;\n\t if (_this7._isAdInViewPort(adElement)) {\n\t return adElement;\n\t }\n\t });\n\t adsInViewPort.forEach(function (ad) {\n\t if (ad) {\n\t worldnow.AdMan.reloadAd(ad);\n\t }\n\t });\n\t }\n\t }, {\n\t key: '_onEscapeKeyPress',\n\t value: function _onEscapeKeyPress(event) {\n\t var keyCode = event.keyCode;\n\t\n\t\n\t if (keyCode === 27) {\n\t this.setState({ isFullScreen: false });\n\t }\n\t }\n\t }, {\n\t key: '_startAutoChangeInterval',\n\t value: function _startAutoChangeInterval() {\n\t var _this8 = this;\n\t\n\t var autoChangeInterval = this.props.autoChangeInterval;\n\t\n\t if (autoChangeInterval > 0 && !this.state.paused) {\n\t this.imageSlideshowInterval = setInterval(function () {\n\t return _this8._onNext();\n\t }, autoChangeInterval * 1000);\n\t }\n\t }\n\t }, {\n\t key: '_clearAutoChangeInterval',\n\t value: function _clearAutoChangeInterval() {\n\t var autoChangeInterval = this.props.autoChangeInterval;\n\t\n\t if (autoChangeInterval > 0) {\n\t clearInterval(this.imageSlideshowInterval);\n\t }\n\t }\n\t }, {\n\t key: '_onSwipe',\n\t value: function _onSwipe(e, x) {\n\t if (x > 0) {\n\t this._onNext(e);\n\t } else {\n\t this._onBack(e);\n\t }\n\t }\n\t }, {\n\t key: '_onNext',\n\t value: function _onNext(e) {\n\t if (this.props.enableAdRefresh) {\n\t this._refreshAd();\n\t }\n\t var _props7 = this.props,\n\t enableImageAnalytics = _props7.enableImageAnalytics,\n\t items = _props7.items;\n\t var index = this.state.index;\n\t\n\t\n\t index = index === items.length - 1 ? 0 : index + 1;\n\t\n\t this._slide(index, TRANSITION_NEXT_CLASSNAME);\n\t\n\t if (enableImageAnalytics && e) {\n\t AnalyticsUtils.triggerSlideshowSlideNext({ slideshowData: items[index], index: index + 1, numberOfItems: items.length });\n\t }\n\t }\n\t }, {\n\t key: '_onBack',\n\t value: function _onBack(e) {\n\t if (this.props.enableAdRefresh) {\n\t this._refreshAd();\n\t }\n\t var _props8 = this.props,\n\t enableImageAnalytics = _props8.enableImageAnalytics,\n\t items = _props8.items;\n\t var index = this.state.index;\n\t\n\t\n\t index = index === 0 ? items.length - 1 : index - 1;\n\t\n\t this._slide(index, TRANSITION_BACK_CLASSNAME);\n\t\n\t if (enableImageAnalytics && e) {\n\t AnalyticsUtils.triggerSlideshowSlideBack({ slideshowData: items[index], index: index + 1, numberOfItems: items.length });\n\t }\n\t }\n\t }, {\n\t key: '_onSelect',\n\t value: function _onSelect(index) {\n\t if (this.props.enableAdRefresh && index !== this.state.index) {\n\t this._refreshAd();\n\t }\n\t var currentIndex = this.state.index;\n\t\n\t var transitionName = index > currentIndex ? TRANSITION_NEXT_CLASSNAME : TRANSITION_BACK_CLASSNAME;\n\t\n\t this._slide(index, transitionName);\n\t }\n\t }, {\n\t key: '_slide',\n\t value: function _slide(index, transitionName) {\n\t var _props9 = this.props,\n\t enableImageAnalytics = _props9.enableImageAnalytics,\n\t items = _props9.items;\n\t\n\t\n\t if (enableImageAnalytics) {\n\t AnalyticsUtils.triggerSlideshowPageView({ slideshowData: items[index], index: index + 1, numberOfItems: items.length });\n\t }\n\t\n\t this._clearAutoChangeInterval();\n\t\n\t var _props10 = this.props,\n\t adPlacementPattern = _props10.adPlacementPattern,\n\t ads = _props10.ads;\n\t var _state = this.state,\n\t activeAdIndex = _state.activeAdIndex,\n\t adStatusCounter = _state.adStatusCounter,\n\t showAd = _state.showAd;\n\t\n\t\n\t if (adStatusCounter === adPlacementPattern) {\n\t adStatusCounter = 0;\n\t activeAdIndex = activeAdIndex === ads.length - 1 ? 0 : activeAdIndex + 1;\n\t showAd = true;\n\t } else {\n\t adStatusCounter++;\n\t showAd = false;\n\t }\n\t\n\t this.setState({\n\t index: index,\n\t activeAdIndex: activeAdIndex,\n\t adStatusCounter: adStatusCounter,\n\t showAd: showAd,\n\t transitionName: transitionName\n\t });\n\t\n\t this._startAutoChangeInterval();\n\t }\n\t }, {\n\t key: '_onSelectInGridView',\n\t value: function _onSelectInGridView(index) {\n\t this._onSelect(index);\n\t this._toggleGridView();\n\t }\n\t }, {\n\t key: '_onTouchTap',\n\t value: function _onTouchTap() {\n\t return this.state.paused ? this._unpause() : this._pause();\n\t }\n\t }, {\n\t key: '_pause',\n\t value: function _pause() {\n\t var _props11 = this.props,\n\t autoChangeInterval = _props11.autoChangeInterval,\n\t autoPause = _props11.autoPause,\n\t enableImageAnalytics = _props11.enableImageAnalytics,\n\t items = _props11.items;\n\t var index = this.state.index;\n\t\n\t\n\t if (autoChangeInterval && autoPause) {\n\t this._clearAutoChangeInterval();\n\t this.setState({ paused: true });\n\t\n\t if (enableImageAnalytics) {\n\t AnalyticsUtils.triggerSlideshowPause({ slideshowData: items[index], index: index + 1, numberOfItems: items.length });\n\t }\n\t }\n\t }\n\t }, {\n\t key: '_unpause',\n\t value: function _unpause() {\n\t var _this9 = this;\n\t\n\t var _props12 = this.props,\n\t autoChangeInterval = _props12.autoChangeInterval,\n\t autoPause = _props12.autoPause,\n\t enableImageAnalytics = _props12.enableImageAnalytics,\n\t items = _props12.items;\n\t var index = this.state.index;\n\t\n\t\n\t if (autoChangeInterval && autoPause) {\n\t this.setState({ paused: false });\n\t setTimeout(function () {\n\t return !_this9.state.paused ? _this9._onNext() : null;\n\t }, 1500);\n\t\n\t if (enableImageAnalytics) {\n\t AnalyticsUtils.triggerSlideshowStart({ slideshowData: items[index], index: index + 1, numberOfItems: items.length });\n\t }\n\t }\n\t }\n\t }, {\n\t key: '_closeAd',\n\t value: function _closeAd() {\n\t this.setState({\n\t showAd: false\n\t });\n\t }\n\t }, {\n\t key: '_toggleGridView',\n\t value: function _toggleGridView() {\n\t var isGridView = !this.state.isGridView;\n\t\n\t if (isGridView) {\n\t this._clearAutoChangeInterval();\n\t }\n\t\n\t this.setState({\n\t isGridView: isGridView\n\t });\n\t }\n\t }, {\n\t key: '_showFullScreen',\n\t value: function _showFullScreen() {\n\t var isFullScreen = this.state.isFullScreen;\n\t\n\t\n\t this.setState({\n\t isFullScreen: !isFullScreen\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this10 = this;\n\t\n\t var _props13 = this.props,\n\t items = _props13.items,\n\t ads = _props13.ads,\n\t showAds = _props13.showAds,\n\t backgroundColor = _props13.backgroundColor,\n\t maintainImageAspectRatio = _props13.maintainImageAspectRatio,\n\t imageAspectRatioBackgroundColor = _props13.imageAspectRatioBackgroundColor,\n\t showScrollBarOnGridview = _props13.showScrollBarOnGridview,\n\t autoChangeInterval = _props13.autoChangeInterval,\n\t showCaption = _props13.showCaption,\n\t captionBackgroundColor = _props13.captionBackgroundColor,\n\t captionTextColor = _props13.captionTextColor,\n\t showDrawer = _props13.showDrawer,\n\t showPagination = _props13.showPagination,\n\t showSettingsPill = _props13.showSettingsPill,\n\t _props13$settingsPill = _props13.settingsPillProperties,\n\t _props13$settingsPill2 = _props13$settingsPill.fullScreen,\n\t fullScreen = _props13$settingsPill2 === undefined ? true : _props13$settingsPill2,\n\t _props13$settingsPill3 = _props13$settingsPill.gridView,\n\t gridView = _props13$settingsPill3 === undefined ? true : _props13$settingsPill3,\n\t _props13$settingsPill4 = _props13$settingsPill.imageCounter,\n\t imageCounter = _props13$settingsPill4 === undefined ? true : _props13$settingsPill4,\n\t videoIconPlacement = _props13.videoIconPlacement,\n\t showTimestamp = _props13.showTimestamp,\n\t showUpdatedDate = _props13.showUpdatedDate,\n\t showBylines = _props13.showBylines,\n\t _props13$timestampOpt = _props13.timestampOptions,\n\t showElapsedTime = _props13$timestampOpt.showElapsedTime,\n\t displayShortDateTime = _props13$timestampOpt.displayShortDateTime,\n\t showDescription = _props13.showDescription,\n\t selectedHighlightColor = _props13.selectedHighlightColor,\n\t enableImageAnalytics = _props13.enableImageAnalytics,\n\t slideshowImgObjectFit = _props13.slideshowImgObjectFit;\n\t var _state2 = this.state,\n\t isGridView = _state2.isGridView,\n\t isFullScreen = _state2.isFullScreen,\n\t transitionName = _state2.transitionName,\n\t paused = _state2.paused,\n\t index = _state2.index,\n\t activeAdIndex = _state2.activeAdIndex,\n\t showAd = _state2.showAd;\n\t var _items$index = items[index],\n\t id = _items$index.id,\n\t publishingDate = _items$index.publishingDate,\n\t updatedDate = _items$index.updatedDate,\n\t currentImageUrl = _items$index.url,\n\t _items$index$lastEdit = _items$index.lastEditedDate,\n\t lastEditedDate = _items$index$lastEdit === undefined ? '' : _items$index$lastEdit,\n\t _items$index$descript = _items$index.description,\n\t currentDescription = _items$index$descript === undefined ? '' : _items$index$descript,\n\t _items$index$headline = _items$index.headline,\n\t currentHeadline = _items$index$headline === undefined ? '' : _items$index$headline,\n\t bylines = _items$index.bylines,\n\t credits = _items$index.credits,\n\t link = _items$index.link,\n\t type = _items$index.type,\n\t slug = _items$index.slug;\n\t\n\t\n\t var counterContent = _react2.default.createElement(\n\t 'span',\n\t null,\n\t index + 1,\n\t ' / ',\n\t items.length\n\t );\n\t\n\t var largeThumbnailStyles = {};\n\t\n\t largeThumbnailStyles['backgroundColor'] = imageAspectRatioBackgroundColor;\n\t\n\t if (maintainImageAspectRatio) {\n\t largeThumbnailStyles['backgroundSize'] = 'contain';\n\t } else {\n\t largeThumbnailStyles['backgroundSize'] = 'cover';\n\t }\n\t\n\t var largeThumbnailClassNames = (0, _classnames2.default)('Slideshow-thumbnail', _defineProperty({}, 'VideoThumbnail VideoThumbnail-' + videoIconPlacement, type === CLIP));\n\t\n\t var adContent = [];\n\t\n\t if (showAds) {\n\t ads.forEach(function (ad, i) {\n\t adContent.push(_react2.default.createElement(\n\t 'div',\n\t { key: i, className: 'Slideshow-ad', style: { display: !(showAd && activeAdIndex === i) ? 'none' : null, backgroundColor: imageAspectRatioBackgroundColor || backgroundColor } },\n\t _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'Slideshow-ad--hide', onClick: function onClick() {\n\t return _this10._closeAd();\n\t } },\n\t _react2.default.createElement('i', { className: 'fa fa-window-close' })\n\t ),\n\t _react2.default.createElement(_AdvertisementUnit2.default, ad)\n\t )\n\t ));\n\t });\n\t }\n\t\n\t var imageSlideshowClassnames = (0, _classnames2.default)('ImageSlideshow', { 'ImageSlideshow-fullscreen': isFullScreen });\n\t\n\t var slideshowClassNames = (0, _classnames2.default)('Slideshow', { 'Slideshow--hidden': isGridView });\n\t\n\t var gridViewContent = showSettingsPill && gridView ? _react2.default.createElement(GridView, {\n\t items: items,\n\t index: index,\n\t showScrollBarOnGridview: showScrollBarOnGridview,\n\t selectedHighlightColor: selectedHighlightColor,\n\t isGridView: isGridView,\n\t isFullScreen: isFullScreen,\n\t select: function select(i) {\n\t return _this10._onSelectInGridView(i);\n\t } }) : null;\n\t\n\t var timestamp = void 0;\n\t\n\t if (showTimestamp || showBylines) {\n\t var timestampDate = showUpdatedDate ? updatedDate : publishingDate;\n\t var authors = credits ? unescape(credits) : (0, _lodash.map)(bylines, _NewsUtils.bylineToString);\n\t timestamp = _react2.default.createElement(_Timestamp2.default, { publishDate: showTimestamp ? timestampDate : null, showElapsedTime: showElapsedTime, displayShortDateTime: displayShortDateTime, authors: showBylines ? authors : null });\n\t }\n\t\n\t var getLocation = function getLocation() {\n\t return typeof location !== 'undefined' ? location : _this10.props.FRN_page.uri;\n\t };\n\t // if ofjectFit = contain we should center the image\n\t var imageStyles = (0, _ImageStyleUtils2.default)(slideshowImgObjectFit);\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: imageSlideshowClassnames },\n\t showScrollBarOnGridview ? _react2.default.createElement(\n\t 'div',\n\t { className: 'GridView-wrapper' },\n\t gridViewContent\n\t ) : gridViewContent,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: slideshowClassNames },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'Slideshow-main', onTouchTap: function onTouchTap() {\n\t return _this10._onTouchTap();\n\t }, onMouseEnter: function onMouseEnter() {\n\t return _this10._pause();\n\t }, onMouseLeave: function onMouseLeave() {\n\t return _this10._unpause();\n\t } },\n\t _react2.default.createElement(\n\t _reactAddonsCssTransitionGroup2.default,\n\t {\n\t transitionName: transitionName,\n\t transitionEnterTimeout: 750,\n\t transitionLeaveTimeout: 750,\n\t className: 'Slideshow-container' },\n\t _react2.default.createElement(\n\t _reactSwipeable2.default,\n\t { key: index, className: 'Slideshow-swipe', onSwiped: function onSwiped(e, x) {\n\t return _this10._onSwipe(e, x);\n\t } },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: largeThumbnailClassNames, style: largeThumbnailStyles },\n\t _react2.default.createElement(_Image2.default, {\n\t height: '580',\n\t src: '' + decodeURIComponent(currentImageUrl),\n\t alt: currentHeadline,\n\t lastEditedDate: lastEditedDate,\n\t imageStyles: imageStyles\n\t })\n\t )\n\t )\n\t ),\n\t showSettingsPill && (fullScreen || gridView || imageCounter) && _react2.default.createElement(\n\t 'div',\n\t { className: 'Slideshow-settings Slideshow-inactive' },\n\t fullScreen && _react2.default.createElement('div', { className: 'Slideshow-settings-icon Slideshow-settings--screen', onClick: function onClick() {\n\t return _this10._showFullScreen();\n\t } }),\n\t gridView && _react2.default.createElement('div', { className: 'Slideshow-settings-icon Slideshow-settings--grid', onClick: function onClick() {\n\t return _this10._toggleGridView();\n\t } }),\n\t imageCounter && _react2.default.createElement(\n\t 'div',\n\t { className: 'Slideshow-settings--counter frn-u-fontWeight-semibold' },\n\t counterContent\n\t )\n\t ),\n\t showPagination && _react2.default.createElement(\n\t 'div',\n\t { className: 'Slideshow-pagination Slideshow-pagination--left Slideshow-inactive', onClick: function onClick(e) {\n\t return _this10._onBack(e);\n\t } },\n\t _react2.default.createElement(_Slideshow2.default, { direction: 'left' })\n\t ),\n\t showPagination && _react2.default.createElement(\n\t 'div',\n\t { className: 'Slideshow-pagination Slideshow-pagination--right Slideshow-inactive', onClick: function onClick(e) {\n\t return _this10._onNext(e);\n\t } },\n\t _react2.default.createElement(_Slideshow2.default, { direction: 'right' })\n\t ),\n\t autoChangeInterval > 0 && _react2.default.createElement(\n\t 'div',\n\t { className: 'Slideshow-pause' },\n\t _react2.default.createElement(_Pause2.default, { paused: paused })\n\t ),\n\t showCaption && _react2.default.createElement(\n\t 'a',\n\t { href: link ? (0, _NewsUtils.getLocalLink)(getLocation(), { id: id, type: type, slug: slug, link: link }) : null },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'Slideshow-caption', style: { backgroundColor: captionBackgroundColor, color: captionTextColor } },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'Slideshow-headline frn-u-fontWeight-regular' },\n\t unescape(currentHeadline)\n\t ),\n\t showDescription && _react2.default.createElement(\n\t 'div',\n\t { className: 'Slideshow-description' },\n\t _react2.default.createElement('p', { dangerouslySetInnerHTML: { __html: unescape(currentDescription) } })\n\t ),\n\t timestamp\n\t )\n\t ),\n\t adContent\n\t ),\n\t showDrawer && _react2.default.createElement(Drawer, {\n\t items: items,\n\t index: index,\n\t selectedHighlightColor: selectedHighlightColor,\n\t select: function select(i) {\n\t return _this10._onSelect(i);\n\t },\n\t enableImageAnalytics: enableImageAnalytics\n\t })\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return Slideshow;\n\t}(_react.Component), _class2.propTypes = _extends({\n\t items: _react.PropTypes.array.isRequired\n\t}, SlideshowPropTypes), _temp3);\n\tvar Drawer = (_temp5 = _class3 = function (_Component3) {\n\t _inherits(Drawer, _Component3);\n\t\n\t function Drawer() {\n\t var _ref2;\n\t\n\t var _temp4, _this11, _ret2;\n\t\n\t _classCallCheck(this, Drawer);\n\t\n\t for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n\t args[_key2] = arguments[_key2];\n\t }\n\t\n\t return _ret2 = (_temp4 = (_this11 = _possibleConstructorReturn(this, (_ref2 = Drawer.__proto__ || Object.getPrototypeOf(Drawer)).call.apply(_ref2, [this].concat(args))), _this11), _this11.state = {\n\t transform: 0,\n\t canNext: false,\n\t canBack: false,\n\t lastWidth: 0 // is used to checking if this is fullScreen\n\t }, _temp4), _possibleConstructorReturn(_this11, _ret2);\n\t }\n\t\n\t _createClass(Drawer, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t this._showNextArrow();\n\t this._setLastWidth();\n\t }\n\t }, {\n\t key: 'componentWillReceiveProps',\n\t value: function componentWillReceiveProps(nextProps) {\n\t var newIndex = nextProps.index;\n\t var currentIndex = this.props.index;\n\t\n\t\n\t if (newIndex !== currentIndex) {\n\t this._transform(newIndex);\n\t }\n\t }\n\t }, {\n\t key: 'componentDidUpdate',\n\t value: function componentDidUpdate() {\n\t var drawerWidth = this._getDrawerWidth();\n\t var lastWidth = this.state.lastWidth;\n\t\n\t\n\t if (lastWidth !== drawerWidth) {\n\t this._transform(this.props.index);\n\t this._setLastWidth();\n\t }\n\t }\n\t }, {\n\t key: '_setLastWidth',\n\t value: function _setLastWidth() {\n\t this.setState({ lastWidth: this._getDrawerWidth() });\n\t }\n\t }, {\n\t key: '_onSwipe',\n\t value: function _onSwipe(e, x) {\n\t if (x > 0) {\n\t this._onNext();\n\t } else {\n\t this._onBack();\n\t }\n\t }\n\t }, {\n\t key: '_onNext',\n\t value: function _onNext() {\n\t var _props14 = this.props,\n\t items = _props14.items,\n\t index = _props14.index,\n\t enableImageAnalytics = _props14.enableImageAnalytics;\n\t var transform = this.state.transform;\n\t\n\t var drawerItemWidth = this._getDrawerItemWidth();\n\t var drawerWidth = this._getDrawerWidth();\n\t var numberOfThumbnailInView = this._getNumberOfThumbnailInView();\n\t var remainingWidth = items.length * drawerItemWidth - drawerWidth + transform;\n\t var offset = drawerItemWidth * numberOfThumbnailInView;\n\t\n\t var canNext = true;\n\t var newTransform = transform;\n\t\n\t if (remainingWidth < offset) {\n\t newTransform -= remainingWidth;\n\t canNext = false;\n\t } else {\n\t newTransform -= offset;\n\t\n\t if (offset === remainingWidth) {\n\t canNext = false;\n\t }\n\t }\n\t\n\t if (enableImageAnalytics) {\n\t AnalyticsUtils.triggerSlideshowDrawerNext({ slideshowData: items[index], index: index + 1, numberOfItems: items.length });\n\t }\n\t\n\t this.setState({\n\t transform: newTransform,\n\t canBack: true,\n\t canNext: canNext\n\t });\n\t }\n\t }, {\n\t key: '_onBack',\n\t value: function _onBack() {\n\t var _props15 = this.props,\n\t items = _props15.items,\n\t index = _props15.index,\n\t enableImageAnalytics = _props15.enableImageAnalytics;\n\t var transform = this.state.transform;\n\t\n\t var numberOfThumbnailInView = this._getNumberOfThumbnailInView();\n\t var drawerItemWidth = this._getDrawerItemWidth();\n\t var offset = drawerItemWidth * numberOfThumbnailInView;\n\t\n\t var canBack = true;\n\t var newTransform = transform;\n\t\n\t if (-transform < offset) {\n\t newTransform -= transform;\n\t canBack = false;\n\t } else {\n\t newTransform += offset;\n\t\n\t if (offset === -transform) {\n\t canBack = false;\n\t }\n\t }\n\t\n\t if (enableImageAnalytics) {\n\t AnalyticsUtils.triggerSlideshowDrawerBack({ slideshowData: items[index], index: index + 1, numberOfItems: items.length });\n\t }\n\t\n\t this.setState({\n\t transform: newTransform,\n\t canBack: canBack,\n\t canNext: true\n\t });\n\t }\n\t }, {\n\t key: '_transform',\n\t value: function _transform(index) {\n\t var items = this.props.items;\n\t var transform = this.state.transform;\n\t\n\t var drawerItemWidth = this._getDrawerItemWidth();\n\t var drawerWidth = this._getDrawerWidth();\n\t var allThumbnailsWidth = items.length * drawerItemWidth;\n\t var exceededWidth = allThumbnailsWidth - drawerWidth;\n\t var remainingWidth = exceededWidth + transform;\n\t var currentPosition = index * drawerItemWidth + transform;\n\t var centerPosition = (drawerWidth - drawerItemWidth) / 2;\n\t\n\t var newTransform = transform;\n\t\n\t if (currentPosition > centerPosition) {\n\t if (remainingWidth > 0) {\n\t var offset = currentPosition - centerPosition;\n\t\n\t if (offset > remainingWidth) {\n\t newTransform -= remainingWidth;\n\t } else {\n\t newTransform -= offset;\n\t }\n\t } else {\n\t if (-transform + drawerWidth > allThumbnailsWidth) {\n\t newTransform = -exceededWidth;\n\t }\n\t }\n\t }\n\t\n\t if (currentPosition < centerPosition && transform < 0) {\n\t var _offset = centerPosition - currentPosition;\n\t\n\t if (_offset > -transform) {\n\t newTransform = 0;\n\t } else {\n\t newTransform += _offset;\n\t }\n\t }\n\t\n\t if (allThumbnailsWidth <= drawerWidth) {\n\t newTransform = 0;\n\t }\n\t\n\t this.setState({\n\t transform: newTransform,\n\t canNext: -newTransform + drawerWidth < allThumbnailsWidth,\n\t canBack: newTransform < 0\n\t });\n\t }\n\t }, {\n\t key: '_showNextArrow',\n\t value: function _showNextArrow() {\n\t if (this.props.items.length * this._getDrawerItemWidth() > this._getDrawerWidth()) {\n\t this.setState({ canNext: true });\n\t }\n\t }\n\t }, {\n\t key: '_getNumberOfThumbnailInView',\n\t value: function _getNumberOfThumbnailInView() {\n\t return Math.floor(this._getDrawerWidth() / this._getDrawerItemWidth());\n\t }\n\t }, {\n\t key: '_getDrawerItemWidth',\n\t value: function _getDrawerItemWidth() {\n\t return this.drawerItem && this.drawerItem.offsetWidth;\n\t }\n\t }, {\n\t key: '_getDrawerWidth',\n\t value: function _getDrawerWidth() {\n\t return this.drawer && this.drawer.offsetWidth;\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this12 = this;\n\t\n\t var _props16 = this.props,\n\t items = _props16.items,\n\t index = _props16.index,\n\t selectedHighlightColor = _props16.selectedHighlightColor,\n\t select = _props16.select;\n\t var _state3 = this.state,\n\t transform = _state3.transform,\n\t canNext = _state3.canNext,\n\t canBack = _state3.canBack;\n\t\n\t\n\t var drawerContent = items.map(function (item, i) {\n\t var imageUrl = item.url,\n\t _item$lastEditedDate = item.lastEditedDate,\n\t lastEditedDate = _item$lastEditedDate === undefined ? '' : _item$lastEditedDate,\n\t headline = item.headline;\n\t\n\t\n\t var itemClassnames = (0, _classnames2.default)('Drawer-itemContent', 'GridItem-itemContent', { 'GridItem-active': i === index });\n\t\n\t var thumbnailStyles = {};\n\t\n\t thumbnailStyles['backgroundSize'] = 'cover';\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'Drawer-itemWrapper frn-u-padding-xs', key: i, ref: function ref(div) {\n\t return _this12.drawerItem = div;\n\t }, onClick: function onClick() {\n\t return select(i);\n\t } },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: itemClassnames, style: { outlineColor: i === index ? selectedHighlightColor : null } },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'Drawer-item GridItem-item', style: thumbnailStyles },\n\t _react2.default.createElement(_Image2.default, {\n\t width: '240',\n\t src: '' + decodeURIComponent(imageUrl),\n\t alt: headline,\n\t lastEditedDate: lastEditedDate\n\t })\n\t )\n\t )\n\t );\n\t });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'Drawer', ref: function ref(div) {\n\t return _this12.drawer = div;\n\t } },\n\t canBack ? _react2.default.createElement(\n\t 'div',\n\t { className: 'Drawer-backBtn', onClick: function onClick() {\n\t return _this12._onBack();\n\t } },\n\t _react2.default.createElement(_Slideshow2.default, { direction: 'left' })\n\t ) : null,\n\t _react2.default.createElement(\n\t _reactSwipeable2.default,\n\t { onSwiped: function onSwiped(e, x) {\n\t return _this12._onSwipe(e, x);\n\t } },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'Drawer-items', style: { transform: 'translate(' + transform + 'px, 0)', transition: 'all 0.25s linear' } },\n\t drawerContent\n\t )\n\t ),\n\t canNext ? _react2.default.createElement(\n\t 'div',\n\t { className: 'Drawer-nextBtn', onClick: function onClick() {\n\t return _this12._onNext();\n\t } },\n\t _react2.default.createElement(_Slideshow2.default, { direction: 'right' })\n\t ) : null\n\t );\n\t }\n\t }]);\n\t\n\t return Drawer;\n\t}(_react.Component), _class3.propTypes = {\n\t items: _react.PropTypes.array.isRequired,\n\t index: _react.PropTypes.number,\n\t selectedHighlightColor: _react.PropTypes.string,\n\t select: _react.PropTypes.func.isRequired,\n\t enableImageAnalytics: _react.PropTypes.bool\n\t}, _temp5);\n\tvar GridView = (_temp7 = _class4 = function (_Component4) {\n\t _inherits(GridView, _Component4);\n\t\n\t function GridView() {\n\t var _ref3;\n\t\n\t var _temp6, _this13, _ret3;\n\t\n\t _classCallCheck(this, GridView);\n\t\n\t for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n\t args[_key3] = arguments[_key3];\n\t }\n\t\n\t return _ret3 = (_temp6 = (_this13 = _possibleConstructorReturn(this, (_ref3 = GridView.__proto__ || Object.getPrototypeOf(GridView)).call.apply(_ref3, [this].concat(args))), _this13), _this13.state = {\n\t startIndex: 0,\n\t numberOfGridColumn: null,\n\t numberOfGridItems: null\n\t }, _temp6), _possibleConstructorReturn(_this13, _ret3);\n\t }\n\t\n\t _createClass(GridView, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var _this14 = this;\n\t\n\t this._updateDimensions();\n\t window.addEventListener('resize', function () {\n\t return _this14._updateDimensions();\n\t });\n\t }\n\t }, {\n\t key: 'componentWillReceiveProps',\n\t value: function componentWillReceiveProps(nextProps) {\n\t var isGridView = nextProps.isGridView;\n\t\n\t\n\t if (isGridView) {\n\t var showScrollBarOnGridview = this.props.showScrollBarOnGridview;\n\t\n\t\n\t if (!showScrollBarOnGridview) {\n\t this._showSelectedThumbnailPage();\n\t } else {\n\t this._scrollToSelectedThumbnail();\n\t }\n\t }\n\t }\n\t }, {\n\t key: 'componentWillUnmount',\n\t value: function componentWillUnmount() {\n\t var _this15 = this;\n\t\n\t window.removeEventListener('resize', function () {\n\t return _this15._updateDimensions();\n\t });\n\t }\n\t }, {\n\t key: '_updateDimensions',\n\t value: function _updateDimensions() {\n\t var windowWidth = window && window.screen.width;\n\t\n\t var numberOfGridColumn = void 0;\n\t var numberOfGridItems = void 0;\n\t\n\t for (var i = 0; i < BREAKPOINTS.length; i++) {\n\t if (BREAKPOINTS[i].minWidth <= windowWidth) {\n\t if (i + 1 === BREAKPOINTS.length || BREAKPOINTS[i + 1].minWidth > windowWidth) {\n\t numberOfGridColumn = BREAKPOINTS[i].numberOfGridColumn;\n\t numberOfGridItems = BREAKPOINTS[i].numberOfGridItems;\n\t\n\t break;\n\t }\n\t }\n\t }\n\t\n\t this.setState({\n\t numberOfGridColumn: numberOfGridColumn,\n\t numberOfGridItems: numberOfGridItems\n\t });\n\t }\n\t }, {\n\t key: '_onSwipe',\n\t value: function _onSwipe(e, x) {\n\t if (x > 0) {\n\t this._onNext();\n\t } else {\n\t this._onBack();\n\t }\n\t }\n\t }, {\n\t key: '_onNext',\n\t value: function _onNext() {\n\t var items = this.props.items;\n\t var _state4 = this.state,\n\t startIndex = _state4.startIndex,\n\t numberOfGridItems = _state4.numberOfGridItems;\n\t\n\t\n\t var nextIndex = startIndex + numberOfGridItems;\n\t\n\t if (items.length > nextIndex) {\n\t this.setState({\n\t startIndex: nextIndex\n\t });\n\t }\n\t }\n\t }, {\n\t key: '_onBack',\n\t value: function _onBack() {\n\t var _state5 = this.state,\n\t startIndex = _state5.startIndex,\n\t numberOfGridItems = _state5.numberOfGridItems;\n\t\n\t\n\t if (startIndex > 0) {\n\t this.setState({\n\t startIndex: startIndex - numberOfGridItems\n\t });\n\t }\n\t }\n\t }, {\n\t key: '_scrollToSelectedThumbnail',\n\t value: function _scrollToSelectedThumbnail() {\n\t var index = this.props.index;\n\t var _state6 = this.state,\n\t numberOfGridColumn = _state6.numberOfGridColumn,\n\t numberOfGridItems = _state6.numberOfGridItems;\n\t\n\t\n\t var newStartIndex = Math.floor(index / numberOfGridItems) * numberOfGridItems;\n\t\n\t var posTop = newStartIndex / numberOfGridColumn * this._getGridViewItemHeight();\n\t\n\t this.gridViewContainer.scrollTop = posTop;\n\t }\n\t }, {\n\t key: '_showSelectedThumbnailPage',\n\t value: function _showSelectedThumbnailPage() {\n\t var index = this.props.index;\n\t var numberOfGridItems = this.state.numberOfGridItems;\n\t\n\t\n\t this.setState({\n\t startIndex: Math.floor(index / numberOfGridItems) * numberOfGridItems\n\t });\n\t }\n\t }, {\n\t key: '_getGridViewItemHeight',\n\t value: function _getGridViewItemHeight() {\n\t return this.gridViewItem.offsetHeight;\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this16 = this;\n\t\n\t var _props17 = this.props,\n\t items = _props17.items,\n\t index = _props17.index,\n\t selectedHighlightColor = _props17.selectedHighlightColor,\n\t showScrollBarOnGridview = _props17.showScrollBarOnGridview,\n\t isFullScreen = _props17.isFullScreen,\n\t isGridView = _props17.isGridView,\n\t select = _props17.select;\n\t var _state7 = this.state,\n\t startIndex = _state7.startIndex,\n\t numberOfGridColumn = _state7.numberOfGridColumn,\n\t numberOfGridItems = _state7.numberOfGridItems;\n\t\n\t\n\t var gridViewContent = (!showScrollBarOnGridview ? items.slice(startIndex, startIndex + numberOfGridItems) : items).map(function (item, i) {\n\t var imageUrl = item.url,\n\t _item$lastEditedDate2 = item.lastEditedDate,\n\t lastEditedDate = _item$lastEditedDate2 === undefined ? '' : _item$lastEditedDate2,\n\t headline = item.headline;\n\t\n\t\n\t var itemClassnames = (0, _classnames2.default)('GridItem-itemContent', 'GridItem-itemContent', { 'GridItem-active': startIndex + i === index });\n\t\n\t var gridViewContentStyles = {};\n\t\n\t if (isFullScreen && !showScrollBarOnGridview) {\n\t gridViewContentStyles['height'] = 100 / (numberOfGridItems / numberOfGridColumn) + '%';\n\t }\n\t\n\t var gridViewStyles = {};\n\t\n\t gridViewStyles['backgroundSize'] = 'cover';\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'GridView-content frn-u-padding-xxs', key: i, ref: i === 0 ? function (div) {\n\t return _this16.gridViewItem = div;\n\t } : null, onClick: function onClick() {\n\t return select(startIndex + i);\n\t }, style: gridViewContentStyles },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'GridView-itemWrapper' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: itemClassnames, style: { outlineColor: startIndex + i === index ? selectedHighlightColor : null } },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'GridView-item GridItem-item', style: gridViewStyles },\n\t _react2.default.createElement(_Image2.default, {\n\t width: '348',\n\t height: '196',\n\t src: '' + decodeURIComponent(imageUrl),\n\t alt: headline,\n\t lastEditedDate: lastEditedDate\n\t })\n\t )\n\t )\n\t )\n\t );\n\t });\n\t\n\t var gridViewClassNames = (0, _classnames2.default)('GridView', { 'GridView--hidden': !isGridView }, { 'GridView--pageable': !showScrollBarOnGridview });\n\t\n\t var gridViewContentClassnames = (0, _classnames2.default)('GridView-main', { 'GridView-main--scrollable': showScrollBarOnGridview }, { 'GridView-main--pageable': !showScrollBarOnGridview });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: gridViewClassNames },\n\t !showScrollBarOnGridview && _react2.default.createElement(\n\t 'div',\n\t { className: 'GridView-pagination' },\n\t _react2.default.createElement(\n\t 'button',\n\t { onClick: function onClick() {\n\t return _this16._onBack();\n\t } },\n\t _react2.default.createElement(_Pagination2.default, { direction: 'left' })\n\t ),\n\t _react2.default.createElement(\n\t 'button',\n\t { onClick: function onClick() {\n\t return _this16._onNext();\n\t } },\n\t _react2.default.createElement(_Pagination2.default, { direction: 'right' })\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: gridViewContentClassnames, ref: function ref(div) {\n\t return _this16.gridViewContainer = div;\n\t } },\n\t !showScrollBarOnGridview ? _react2.default.createElement(\n\t _reactSwipeable2.default,\n\t { className: 'GridView-swipe', onSwiped: function onSwiped(e, x) {\n\t return _this16._onSwipe(e, x);\n\t } },\n\t gridViewContent\n\t ) : gridViewContent\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return GridView;\n\t}(_react.Component), _class4.propTypes = {\n\t items: _react.PropTypes.array.isRequired,\n\t index: _react.PropTypes.number,\n\t showScrollBarOnGridview: _react.PropTypes.bool,\n\t selectedHighlightColor: _react.PropTypes.string,\n\t isGridView: _react.PropTypes.bool,\n\t isFullScreen: _react.PropTypes.bool,\n\t select: _react.PropTypes.func.isRequired\n\t}, _temp7);\n\texports.default = SlideshowWrapper;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1235 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp;\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _lodash2 = _interopRequireDefault(_lodash);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _frankly = __webpack_require__(36);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _ComponentLoader = __webpack_require__(116);\n\t\n\tvar _ComponentLoader2 = _interopRequireDefault(_ComponentLoader);\n\t\n\tvar _Pagination = __webpack_require__(170);\n\t\n\tvar _Pagination2 = _interopRequireDefault(_Pagination);\n\t\n\tvar _DOMUtils = __webpack_require__(137);\n\t\n\tvar domutils = _interopRequireWildcard(_DOMUtils);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar TabbedCategoryHeadlines = (_temp = _class = function (_Component) {\n\t _inherits(TabbedCategoryHeadlines, _Component);\n\t\n\t function TabbedCategoryHeadlines(props) {\n\t _classCallCheck(this, TabbedCategoryHeadlines);\n\t\n\t var _this = _possibleConstructorReturn(this, (TabbedCategoryHeadlines.__proto__ || Object.getPrototypeOf(TabbedCategoryHeadlines)).call(this, props));\n\t\n\t _this.state = {\n\t tabsRawResponses: _this.props.FRN_rawResponses && _this.props.FRN_rawResponses.length > 0 ? [_this.props.FRN_rawResponses] : [],\n\t ComponentClass: null,\n\t activeTabIndex: _this.props.FRN_rawResponses && _this.props.FRN_rawResponses.length > 0 ? 0 : -1,\n\t hoverTabIndex: _this.props.FRN_rawResponses && _this.props.FRN_rawResponses.length > 0 ? 0 : -1,\n\t totalHiddenTabCount: 0,\n\t shiftLeftValue: 0\n\t };\n\t\n\t _this.headerDomObject = null;\n\t _this.paginationDomObject = null;\n\t _this.tabDomObjects = [];\n\t _this.showPager = false;\n\t return _this;\n\t }\n\t\n\t _createClass(TabbedCategoryHeadlines, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var _this2 = this;\n\t\n\t _ComponentLoader2.default.importReactComponent(this.props.articleListType).then(function (ComponentClass) {\n\t return _this2.setState({ ComponentClass: ComponentClass });\n\t }).catch(function (error) {\n\t throw new Error(error);\n\t });\n\t }\n\t }, {\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t this.showPager = domutils.isOverflow(this.headerDomObject);\n\t this._initData();\n\t }\n\t }, {\n\t key: '_initData',\n\t value: function _initData() {\n\t var _this3 = this;\n\t\n\t var _state = this.state,\n\t activeTabIndex = _state.activeTabIndex,\n\t tabsRawResponses = _state.tabsRawResponses;\n\t\n\t if (activeTabIndex < 0) {\n\t var index = 0;\n\t if (!tabsRawResponses[index]) {\n\t var tabs = this.props.tabs;\n\t\n\t var tab = tabs[index];\n\t\n\t if (tab && tab.FRN_resourceEndpoints) {\n\t (0, _frankly.readComponentInstanceResourceList)(this, { propPath: 'tabs[' + index + ']' }).then(function (rawResponse) {\n\t tabsRawResponses[index] = rawResponse;\n\t _this3.setState({\n\t tabsRawResponses: tabsRawResponses,\n\t activeTabIndex: index,\n\t hoverTabIndex: index\n\t });\n\t });\n\t }\n\t }\n\t }\n\t }\n\t }, {\n\t key: '_getHeaderWidth',\n\t value: function _getHeaderWidth() {\n\t return this.headerDomObject.clientWidth;\n\t }\n\t }, {\n\t key: '_handleTabChange',\n\t value: function _handleTabChange(index) {\n\t var _this4 = this;\n\t\n\t var _state2 = this.state,\n\t tabsRawResponses = _state2.tabsRawResponses,\n\t activeTabIndex = _state2.activeTabIndex;\n\t\n\t\n\t if (index !== activeTabIndex) {\n\t if (!tabsRawResponses[index]) {\n\t var tabs = this.props.tabs;\n\t\n\t var tab = tabs[index];\n\t\n\t if (tab && tab.FRN_resourceEndpoints) {\n\t (0, _frankly.readComponentInstanceResourceList)(this, { propPath: 'tabs[' + index + ']' }).then(function (rawResponse) {\n\t tabsRawResponses[index] = rawResponse;\n\t _this4.setState({ tabsRawResponses: tabsRawResponses });\n\t });\n\t }\n\t }\n\t\n\t this.setState({ activeTabIndex: index });\n\t }\n\t }\n\t }, {\n\t key: '_onNext',\n\t value: function _onNext() {\n\t var tabs = this.props.tabs;\n\t var _state3 = this.state,\n\t totalHiddenTabCount = _state3.totalHiddenTabCount,\n\t shiftLeftValue = _state3.shiftLeftValue;\n\t\n\t var visibleHeaderWidth = this._getHeaderWidth() - this.paginationDomObject.clientWidth;\n\t var tabContainerWidth = this.tabContainer.clientWidth;\n\t\n\t if (shiftLeftValue + visibleHeaderWidth < tabContainerWidth && totalHiddenTabCount < tabs.length) {\n\t var tabWidthToShiftLeft = this.tabDomObjects[totalHiddenTabCount].clientWidth;\n\t\n\t this.setState({\n\t totalHiddenTabCount: totalHiddenTabCount + 1,\n\t shiftLeftValue: shiftLeftValue + tabWidthToShiftLeft\n\t });\n\t }\n\t }\n\t }, {\n\t key: '_onBack',\n\t value: function _onBack() {\n\t var _state4 = this.state,\n\t totalHiddenTabCount = _state4.totalHiddenTabCount,\n\t shiftLeftValue = _state4.shiftLeftValue;\n\t\n\t\n\t if (totalHiddenTabCount) {\n\t var tabWidthToShiftRight = this.tabDomObjects[totalHiddenTabCount - 1].clientWidth;\n\t\n\t this.setState({\n\t totalHiddenTabCount: totalHiddenTabCount - 1,\n\t shiftLeftValue: shiftLeftValue - tabWidthToShiftRight\n\t });\n\t }\n\t }\n\t }, {\n\t key: '_toggleHover',\n\t value: function _toggleHover(index) {\n\t this.setState({ hoverTabIndex: index });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this5 = this;\n\t\n\t if (this.state.activeTabIndex < 0) {\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'TabbedCategoryHeadlines', style: { backgroundColor: backgroundColor } },\n\t title ? _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, title: title, color: titleColor }) : null,\n\t _react2.default.createElement('div', { className: 'TabbedCategoryHeadlines-header',\n\t ref: function ref(div) {\n\t return _this5.headerDomObject = div;\n\t },\n\t style: headerStyles })\n\t );\n\t }\n\t\n\t var _props = this.props,\n\t title = _props.title,\n\t barBackgroundColor = _props.barBackgroundColor,\n\t barTextColor = _props.barTextColor,\n\t backgroundColor = _props.backgroundColor,\n\t activeTabBackgroundColor = _props.activeTabBackgroundColor,\n\t tabbedLineColor = _props.tabbedLineColor,\n\t tabs = _props.tabs,\n\t titleColor = _props.titleColor,\n\t titleType = _props.titleType;\n\t var _state5 = this.state,\n\t tabsRawResponses = _state5.tabsRawResponses,\n\t ComponentClass = _state5.ComponentClass,\n\t activeTabIndex = _state5.activeTabIndex,\n\t hoverTabIndex = _state5.hoverTabIndex,\n\t shiftLeftValue = _state5.shiftLeftValue;\n\t var activeTabData = tabs[activeTabIndex].props;\n\t\n\t\n\t activeTabData['FRN_rawResponses'] = tabsRawResponses[activeTabIndex] || [];\n\t\n\t var headerStyles = {\n\t backgroundColor: barBackgroundColor\n\t };\n\t var titleStyles = {\n\t color: barTextColor\n\t };\n\t var shiftLeftStyles = {\n\t transform: 'translateX(-' + shiftLeftValue + 'px)'\n\t };\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'TabbedCategoryHeadlines', style: { backgroundColor: backgroundColor } },\n\t title ? _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, title: title, color: titleColor }) : null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'TabbedCategoryHeadlines-header',\n\t ref: function ref(div) {\n\t return _this5.headerDomObject = div;\n\t },\n\t style: headerStyles },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'TabbedCategoryHeadlines-tabContainer',\n\t ref: function ref(div) {\n\t return _this5.tabContainer = div;\n\t },\n\t style: _extends({}, shiftLeftStyles) },\n\t _lodash2.default.map(tabs, function (tab, index) {\n\t var tabBackgroundColor = {\n\t backgroundColor: index === activeTabIndex || index === hoverTabIndex ? activeTabBackgroundColor : null\n\t };\n\t\n\t var tabbedLineStyles = {\n\t borderRight: tabbedLineColor && index < tabs.length - 1 ? '1px solid ' + tabbedLineColor : null\n\t };\n\t\n\t return _react2.default.createElement(\n\t 'h1',\n\t { key: index,\n\t style: _extends({}, titleStyles, tabBackgroundColor, tabbedLineStyles),\n\t onClick: function onClick() {\n\t return _this5._handleTabChange(index);\n\t },\n\t ref: function ref(currentTab) {\n\t return _this5.tabDomObjects[index] = currentTab;\n\t },\n\t onMouseEnter: function onMouseEnter() {\n\t return _this5._toggleHover(index);\n\t },\n\t onMouseLeave: function onMouseLeave() {\n\t return _this5._toggleHover(-1);\n\t } },\n\t tabs[index].title\n\t );\n\t })\n\t ),\n\t this.showPager ? _react2.default.createElement(\n\t 'div',\n\t { className: 'TabbedCategoryHeadlines-header-paginationControls',\n\t ref: function ref(div) {\n\t return _this5.paginationDomObject = div;\n\t },\n\t style: { backgroundColor: activeTabBackgroundColor } },\n\t _react2.default.createElement(\n\t 'button',\n\t { onClick: function onClick() {\n\t return _this5._onBack();\n\t } },\n\t _react2.default.createElement(_Pagination2.default, { direction: 'left', color: barTextColor })\n\t ),\n\t _react2.default.createElement(\n\t 'button',\n\t { onClick: function onClick() {\n\t return _this5._onNext();\n\t } },\n\t _react2.default.createElement(_Pagination2.default, { direction: 'right', color: barTextColor })\n\t )\n\t ) : null\n\t ),\n\t _react2.default.createElement(\n\t 'section',\n\t { className: 'TabbedCategoryHeadlines-section', style: { backgroundColor: backgroundColor } },\n\t ComponentClass && _react2.default.createElement(ComponentClass, _extends({ key: activeTabIndex }, activeTabData))\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return TabbedCategoryHeadlines;\n\t}(_react.Component), _class.propTypes = {\n\t FRN_rawResponses: _react.PropTypes.array,\n\t title: _react.PropTypes.string,\n\t titleColor: _react.PropTypes.string,\n\t barBackgroundColor: _react.PropTypes.string,\n\t barTextColor: _react.PropTypes.string,\n\t backgroundColor: _react.PropTypes.string,\n\t activeTabBackgroundColor: _react.PropTypes.string,\n\t tabbedLineColor: _react.PropTypes.string,\n\t articleListType: _react.PropTypes.string.isRequired,\n\t tabs: _react2.default.PropTypes.arrayOf(_react2.default.PropTypes.shape({\n\t title: _react.PropTypes.string.isRequired\n\t }).isRequired).isRequired,\n\t titleType: _react.PropTypes.string\n\t}, _class.defaultProps = {\n\t barBackgroundColor: '#000',\n\t barTextColor: '#FFF',\n\t backgroundColor: '#FFF',\n\t activeTabBackgroundColor: '#3498db',\n\t tabbedLineColor: '',\n\t titleType: _FRNBaseStyles.TITLE_TYPE.MODULE_TITLE\n\t}, _temp);\n\texports.default = TabbedCategoryHeadlines;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1236 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Arrow = function (_Component) {\n\t _inherits(Arrow, _Component);\n\t\n\t function Arrow() {\n\t _classCallCheck(this, Arrow);\n\t\n\t return _possibleConstructorReturn(this, (Arrow.__proto__ || Object.getPrototypeOf(Arrow)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Arrow, [{\n\t key: 'render',\n\t value: function render() {\n\t var angle = '-135.000000';\n\t var _props = this.props,\n\t rotate = _props.rotate,\n\t _props$color = _props.color,\n\t color = _props$color === undefined ? '#000000' : _props$color;\n\t\n\t\n\t if (rotate) {\n\t angle = '-45.000000';\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'svg',\n\t { xmlns: 'http://www.w3.org/2000/svg', width: '17px', height: '25px', viewBox: '0 0 17 10', version: '1.1' },\n\t _react2.default.createElement(\n\t 'title',\n\t null,\n\t 'Rectangle'\n\t ),\n\t _react2.default.createElement(\n\t 'desc',\n\t null,\n\t 'Created with Sketch.'\n\t ),\n\t _react2.default.createElement(\n\t 'g',\n\t { id: 'Page-1', stroke: 'none', 'stroke-width': '1', fill: 'none', 'fill-rule': 'evenodd', 'stroke-linecap': 'round', 'stroke-linejoin': 'round' },\n\t _react2.default.createElement(\n\t 'g',\n\t { id: '---', transform: 'translate(-212.000000, -106.000000)', stroke: '' + color, 'stroke-width': '2.7' },\n\t _react2.default.createElement('polyline', { id: 'Rectangle', transform: 'translate(220.500000, 107.500000) rotate(' + angle + ') translate(-220.500000, -107.500000)', points: '225 112 216 112 216 103' })\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return Arrow;\n\t}(_react.Component);\n\t\n\texports.default = Arrow;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1237 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = undefined;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _cookiesJs = __webpack_require__(287);\n\t\n\tvar _cookiesJs2 = _interopRequireDefault(_cookiesJs);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Region = (_temp = _class = function (_Component) {\n\t _inherits(Region, _Component);\n\t\n\t function Region() {\n\t _classCallCheck(this, Region);\n\t\n\t return _possibleConstructorReturn(this, (Region.__proto__ || Object.getPrototypeOf(Region)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Region, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t bgColor = _props.bgColor,\n\t textColor = _props.textColor,\n\t collapsed = _props.collapsed,\n\t _props$cookieDomain = _props.cookieDomain,\n\t cookieDomain = _props$cookieDomain === undefined ? '' : _props$cookieDomain,\n\t _props$region = _props.region,\n\t text = _props$region.text,\n\t link = _props$region.link,\n\t image = _props$region.image,\n\t itemContentHorizontal = _props$region.itemContentHorizontal,\n\t forceRedirect = _props$region.forceRedirect,\n\t fullView = _props$region.fullView;\n\t\n\t\n\t var fontSize = 'medium';\n\t var localStyling = {\n\t 'font-size': fontSize\n\t },\n\t parentStyling = {};\n\t\n\t if (image) {\n\t image = _react2.default.createElement(\n\t 'div',\n\t { className: 'region-image' },\n\t _react2.default.createElement('img', { src: image })\n\t );\n\t localStyling = _extends({}, localStyling, {\n\t 'text-align': 'center',\n\t 'margin': '5px'\n\t });\n\t }\n\t\n\t if (!fullView) {\n\t parentStyling = {\n\t 'border-bottom': '1px solid ' + textColor,\n\t 'width': '100%',\n\t 'background-color': '' + bgColor\n\t };\n\t\n\t if (collapsed) {\n\t fontSize = 'small';\n\t }\n\t\n\t localStyling = {\n\t 'margin': 0,\n\t 'color': '' + textColor,\n\t 'font-size': fontSize\n\t };\n\t } else {\n\t parentStyling = {\n\t 'text-align': 'center',\n\t 'margin-top': '5px',\n\t 'margin-bottom': '5px',\n\t 'justify-content': 'space-evenly',\n\t 'border': 'none',\n\t 'min-width': '200px',\n\t 'background-color': '' + bgColor\n\t };\n\t\n\t if (!image) {\n\t parentStyling.width = '40%';\n\t }\n\t\n\t localStyling = _extends({}, localStyling, {\n\t 'padding': '5px',\n\t 'color': '' + textColor\n\t });\n\t }\n\t\n\t var direction = void 0;\n\t if (itemContentHorizontal) {\n\t direction = 'row';\n\t } else {\n\t direction = 'column';\n\t }\n\t\n\t if (text) {\n\t text = _react2.default.createElement(\n\t 'div',\n\t { className: 'region-text', style: localStyling },\n\t text\n\t );\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'Region', style: _extends({}, parentStyling, {\n\t \"flex-direction\": direction\n\t }) },\n\t _react2.default.createElement(\n\t 'div',\n\t { style: { \"width\": \"100%\" } },\n\t _react2.default.createElement(\n\t 'a',\n\t { href: link, onClick: function onClick() {\n\t if (true) {\n\t if (forceRedirect) {\n\t _cookiesJs2.default.set('regionLink', link, {\n\t domain: '.' + cookieDomain\n\t });\n\t }\n\t }\n\t } },\n\t image,\n\t text\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return Region;\n\t}(_react.Component), _class.propTypes = {\n\t region: _react.PropTypes.object,\n\t fullView: _react.PropTypes.bool,\n\t bgColor: _react.PropTypes.string,\n\t textColor: _react.PropTypes.string,\n\t collapsed: _react.PropTypes.bool,\n\t cookieDomain: _react.PropTypes.string\n\t}, _class.defaultProps = {\n\t region: {},\n\t fullView: true,\n\t bgColor: \"\",\n\t textColor: \"\",\n\t collapsed: false,\n\t cookieDomain: ''\n\t}, _temp);\n\texports.default = Region;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1238 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp2;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _lodash2 = _interopRequireDefault(_lodash);\n\t\n\tvar _reactBootstrap = __webpack_require__(26);\n\t\n\tvar _dateFns = __webpack_require__(677);\n\t\n\tvar _frankly = __webpack_require__(36);\n\t\n\tvar _UrlUtils = __webpack_require__(138);\n\t\n\tvar _ArticleList = __webpack_require__(370);\n\t\n\tvar _ArticleList2 = _interopRequireDefault(_ArticleList);\n\t\n\tvar _translate = __webpack_require__(51);\n\t\n\tvar _translate2 = _interopRequireDefault(_translate);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar ResultTypeValues = [{ value: '', text: 'All' }, { value: '1', text: 'Story' }, { value: '2', text: 'Video' }];\n\t\n\tvar DateValues = [{\n\t text: 'Anytime',\n\t value: ''\n\t}, {\n\t text: 'Today',\n\t value: (0, _dateFns.startOfToday)().toISOString()\n\t\n\t}, {\n\t text: 'Past Week',\n\t value: (0, _dateFns.startOfWeek)((0, _dateFns.subWeeks)((0, _dateFns.startOfToday)(), 1), { weekStartsOn: 1 }).toISOString()\n\t}, {\n\t text: 'Past Month',\n\t value: (0, _dateFns.startOfMonth)((0, _dateFns.subMonths)((0, _dateFns.startOfToday)(), 1)).toISOString()\n\t}, {\n\t text: 'Past Year',\n\t value: (0, _dateFns.startOfYear)((0, _dateFns.subYears)((0, _dateFns.startOfToday)(), 1)).toISOString()\n\t}];\n\t\n\tvar defaultFilterOptions = {\n\t type: {\n\t label: 'Result Type',\n\t selectedValue: '',\n\t savedOptions: []\n\t },\n\t topic: {\n\t label: 'Topic',\n\t selectedValue: '',\n\t savedOptions: []\n\t },\n\t byline: {\n\t label: 'Byline',\n\t selectedValue: '',\n\t savedOptions: []\n\t },\n\t dateline: {\n\t label: 'Dateline',\n\t selectedValue: '',\n\t savedOptions: []\n\t },\n\t datetime: {\n\t label: 'Last Edited',\n\t selectedValue: '',\n\t savedOptions: []\n\t }\n\t};\n\t\n\tvar SearchResult = (_temp2 = _class = function (_Component) {\n\t _inherits(SearchResult, _Component);\n\t\n\t function SearchResult() {\n\t var _ref;\n\t\n\t var _temp, _this, _ret;\n\t\n\t _classCallCheck(this, SearchResult);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = SearchResult.__proto__ || Object.getPrototypeOf(SearchResult)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n\t page: 1,\n\t numberOfResultsPerPage: _this._getParams().num || 5,\n\t keyword: _this._getParams().qu || '',\n\t newKeyword: _this._getParams().qu || '',\n\t showFilter: false,\n\t filterHistory: [],\n\t filterOptions: _lodash2.default.cloneDeep(defaultFilterOptions)\n\t }, _temp), _possibleConstructorReturn(_this, _ret);\n\t }\n\t\n\t _createClass(SearchResult, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t this._getData(this._prepareSearchString());\n\t this._loadMore = _lodash2.default.debounce(this._loadMore, 1000);\n\t this._setSearchText(this.state.keyword);\n\t }\n\t }, {\n\t key: '_setSearchText',\n\t value: function _setSearchText(keyword) {\n\t this.setState({\n\t keyword: keyword\n\t });\n\t }\n\t }, {\n\t key: '_loadMore',\n\t value: function _loadMore() {\n\t var _state = this.state,\n\t page = _state.page,\n\t numberOfResultsPerPage = _state.numberOfResultsPerPage;\n\t\n\t var queryString = this._prepareSearchString() + '&start=' + (numberOfResultsPerPage * page + 1);\n\t\n\t this._getData(queryString, page + 1, true);\n\t }\n\t }, {\n\t key: '_prepareSearchString',\n\t value: function _prepareSearchString(newFilterOptions, qu) {\n\t var _context$config = this.context.config;\n\t _context$config = _context$config === undefined ? {} : _context$config;\n\t var _context$config$affil = _context$config.affiliate;\n\t _context$config$affil = _context$config$affil === undefined ? {} : _context$config$affil;\n\t var _context$config$affil2 = _context$config$affil.id,\n\t id = _context$config$affil2 === undefined ? '' : _context$config$affil2;\n\t var _props$searchOptions$ = this.props.searchOptions.affiliateIds,\n\t affiliateIds = _props$searchOptions$ === undefined ? [] : _props$searchOptions$;\n\t var _state2 = this.state,\n\t numberOfResultsPerPage = _state2.numberOfResultsPerPage,\n\t keyword = _state2.keyword,\n\t _state2$filterOptions = _state2.filterOptions,\n\t currentFilterOptions = _state2$filterOptions === undefined ? {} : _state2$filterOptions;\n\t\n\t var filterOptions = newFilterOptions ? newFilterOptions : currentFilterOptions;\n\t\n\t var _$mapValues = _lodash2.default.mapValues(filterOptions, function (item) {\n\t return item.selectedValue;\n\t }),\n\t _$mapValues$type = _$mapValues.type,\n\t type = _$mapValues$type === undefined ? '' : _$mapValues$type,\n\t _$mapValues$topic = _$mapValues.topic,\n\t topic = _$mapValues$topic === undefined ? '' : _$mapValues$topic,\n\t _$mapValues$byline = _$mapValues.byline,\n\t byline = _$mapValues$byline === undefined ? '' : _$mapValues$byline,\n\t _$mapValues$dateline = _$mapValues.dateline,\n\t dateline = _$mapValues$dateline === undefined ? '' : _$mapValues$dateline,\n\t _$mapValues$datetime = _$mapValues.datetime,\n\t datetime = _$mapValues$datetime === undefined ? '' : _$mapValues$datetime;\n\t\n\t var searchParams = {\n\t affiliateno: id,\n\t resulttype: type,\n\t qu: encodeURIComponent(qu || keyword),\n\t num: numberOfResultsPerPage,\n\t lastediteddatemin: datetime,\n\t topic: topic,\n\t bl: byline,\n\t dateline: dateline\n\t };\n\t var options = { encode: true, strict: true };\n\t return (0, _UrlUtils.buildQueryString)(searchParams, options, _lodash2.default.uniqBy(affiliateIds));\n\t }\n\t }, {\n\t key: '_getParams',\n\t value: function _getParams() {\n\t var searchString = location.search.substring(1);\n\t var params = {};\n\t\n\t searchString.split('&').map(function (param) {\n\t var _param$split = param.split('='),\n\t _param$split2 = _slicedToArray(_param$split, 2),\n\t key = _param$split2[0],\n\t value = _param$split2[1];\n\t\n\t params[key] = value ? decodeURIComponent(value.replace(/\\+/g, ' ')) : '';\n\t\n\t return params;\n\t }, {});\n\t\n\t return params;\n\t }\n\t }, {\n\t key: '_getData',\n\t value: function _getData(searchString) {\n\t var _this2 = this;\n\t\n\t var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n\t var loadMore = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\t\n\t (0, _frankly.readComponentInstanceResourceList)(this, { propPath: 'searchOptions', vars: { params: searchString } }).then(function (rawResponse) {\n\t var _rawResponse$0$data = rawResponse[0].data;\n\t _rawResponse$0$data = _rawResponse$0$data === undefined ? {} : _rawResponse$0$data;\n\t var _rawResponse$0$data$S = _rawResponse$0$data.SEARCH;\n\t _rawResponse$0$data$S = _rawResponse$0$data$S === undefined ? {} : _rawResponse$0$data$S;\n\t var _rawResponse$0$data$S2 = _rawResponse$0$data$S.RESULTS;\n\t _rawResponse$0$data$S2 = _rawResponse$0$data$S2 === undefined ? {} : _rawResponse$0$data$S2;\n\t var _rawResponse$0$data$S3 = _rawResponse$0$data$S2.NUMRESULTS,\n\t totalNumberOfResults = _rawResponse$0$data$S3 === undefined ? 0 : _rawResponse$0$data$S3,\n\t _rawResponse$0$data$S4 = _rawResponse$0$data$S2.RESULT,\n\t newResultList = _rawResponse$0$data$S4 === undefined ? [] : _rawResponse$0$data$S4,\n\t _rawResponse$0$data$S5 = _rawResponse$0$data$S.NAVIGATION;\n\t _rawResponse$0$data$S5 = _rawResponse$0$data$S5 === undefined ? {} : _rawResponse$0$data$S5;\n\t var _rawResponse$0$data$S6 = _rawResponse$0$data$S5.NAVIGATIONENTRY,\n\t navigationEntry = _rawResponse$0$data$S6 === undefined ? [] : _rawResponse$0$data$S6;\n\t var _state$searchResults = _this2.state.searchResults,\n\t searchResults = _state$searchResults === undefined ? [] : _state$searchResults;\n\t\n\t var resultList = _lodash2.default.isArray(newResultList) ? newResultList : [newResultList];\n\t var convertedResultList = _lodash2.default.map(resultList, function (item) {\n\t return _this2._convertJsonData(item);\n\t });\n\t\n\t if (loadMore) {\n\t convertedResultList.unshift.apply(convertedResultList, _toConsumableArray(searchResults));\n\t }\n\t\n\t _this2.setState({\n\t searchResults: convertedResultList,\n\t page: page,\n\t totalNumberOfResults: totalNumberOfResults,\n\t navigationEntry: navigationEntry\n\t });\n\t }).catch(function () {\n\t console.log('Error while getting data');\n\t });\n\t }\n\t }, {\n\t key: '_onChangeFilter',\n\t value: function _onChangeFilter(key, event) {\n\t var value = event.target.value;\n\t var _state3 = this.state,\n\t filterHistory = _state3.filterHistory,\n\t filterOptions = _state3.filterOptions;\n\t\n\t var newFilterHistory = filterHistory;\n\t\n\t filterOptions[key].selectedValue = value;\n\t\n\t if (filterOptions[key].savedOptions.length) {\n\t var index = filterHistory.findIndex(function (item) {\n\t return item === key;\n\t });\n\t\n\t if (index !== -1) {\n\t index = value ? index + 1 : index;\n\t var firstValues = filterHistory.slice(0, index);\n\t var afterValues = filterHistory.slice(index);\n\t\n\t afterValues.forEach(function (item) {\n\t filterOptions[item].selectedValue = '';\n\t filterOptions[item].savedOptions = [];\n\t });\n\t\n\t newFilterHistory = firstValues;\n\t }\n\t } else {\n\t filterOptions[key].savedOptions = this._getStaticFilterOption(key) || this._getDynamicFilterOption(key);\n\t\n\t filterHistory.push(key);\n\t }\n\t\n\t this.setState({\n\t filterHistory: newFilterHistory,\n\t filterOptions: filterOptions\n\t });\n\t\n\t this._getData(this._prepareSearchString(filterOptions));\n\t }\n\t }, {\n\t key: '_onSearchKeyEnter',\n\t value: function _onSearchKeyEnter(event) {\n\t if (event.key === 'Enter') {\n\t this._onSearchButtonClick();\n\t }\n\t }\n\t }, {\n\t key: '_onSearchButtonClick',\n\t value: function _onSearchButtonClick() {\n\t var newKeyword = this.state.newKeyword;\n\t this._getData(this._prepareSearchString(defaultFilterOptions, newKeyword));\n\t this._setSearchText(newKeyword);\n\t this._resetFilter();\n\t }\n\t }, {\n\t key: '_onChangeSearchInput',\n\t value: function _onChangeSearchInput(event) {\n\t this.setState({\n\t newKeyword: event.target.value\n\t });\n\t }\n\t }, {\n\t key: '_toggleFilter',\n\t value: function _toggleFilter() {\n\t this.setState({ showFilter: !this.state.showFilter });\n\t }\n\t }, {\n\t key: '_resetFilter',\n\t value: function _resetFilter() {\n\t this.setState({\n\t filterHistory: [],\n\t filterOptions: _lodash2.default.cloneDeep(defaultFilterOptions)\n\t });\n\t }\n\t }, {\n\t key: '_clearFilter',\n\t value: function _clearFilter() {\n\t this._resetFilter();\n\t this._getData(this._prepareSearchString(defaultFilterOptions));\n\t }\n\t }, {\n\t key: '_buildDate',\n\t value: function _buildDate(date) {\n\t return _lodash2.default.values(date).join(' ');\n\t }\n\t }, {\n\t key: '_convertJsonData',\n\t value: function _convertJsonData(item) {\n\t var _item$HEADLINE = item.HEADLINE,\n\t headline = _item$HEADLINE === undefined ? '' : _item$HEADLINE,\n\t _item$BYLINES = item.BYLINES,\n\t byLines = _item$BYLINES === undefined ? [] : _item$BYLINES,\n\t _item$ABSTRACTIMAGE = item.ABSTRACTIMAGE;\n\t _item$ABSTRACTIMAGE = _item$ABSTRACTIMAGE === undefined ? {} : _item$ABSTRACTIMAGE;\n\t var _item$ABSTRACTIMAGE$F = _item$ABSTRACTIMAGE.FILENAME,\n\t newsImage = _item$ABSTRACTIMAGE$F === undefined ? '' : _item$ABSTRACTIMAGE$F,\n\t _item$SEARCHRESULTTYP = item.SEARCHRESULTTYPE,\n\t resultType = _item$SEARCHRESULTTYP === undefined ? '' : _item$SEARCHRESULTTYP,\n\t _item$TITLE = item.TITLE,\n\t id = _item$TITLE === undefined ? '' : _item$TITLE,\n\t _item$SEO = item.SEO;\n\t _item$SEO = _item$SEO === undefined ? {} : _item$SEO;\n\t var _item$SEO$PAGEURL = _item$SEO.PAGEURL,\n\t slug = _item$SEO$PAGEURL === undefined ? '' : _item$SEO$PAGEURL,\n\t _item$CREATIONDATE = item.CREATIONDATE,\n\t creationDate = _item$CREATIONDATE === undefined ? {} : _item$CREATIONDATE,\n\t _item$LASTEDITEDDATE = item.LASTEDITEDDATE,\n\t lastEditedDate = _item$LASTEDITEDDATE === undefined ? {} : _item$LASTEDITEDDATE,\n\t _item$DESCRIPTION = item.DESCRIPTION,\n\t previewText = _item$DESCRIPTION === undefined ? '' : _item$DESCRIPTION;\n\t\n\t\n\t var bylines = _lodash2.default.map(byLines, function (byline) {\n\t var _byline$FIRSTNAME = byline.FIRSTNAME,\n\t firstname = _byline$FIRSTNAME === undefined ? '' : _byline$FIRSTNAME,\n\t _byline$LASTNAME = byline.LASTNAME,\n\t lastname = _byline$LASTNAME === undefined ? '' : _byline$LASTNAME;\n\t\n\t return { firstname: firstname, lastname: lastname };\n\t });\n\t\n\t var featureType = resultType === '1' ? 'story' : 'clip';\n\t\n\t return {\n\t headline: headline,\n\t bylines: bylines,\n\t publishedDate: this._buildDate(creationDate),\n\t updatedDate: this._buildDate(lastEditedDate),\n\t abstract: previewText,\n\t contentClassification: '',\n\t abstractimage: { filename: newsImage },\n\t surfaceable: [{ type: featureType }],\n\t id: id,\n\t type: featureType,\n\t seo: { pageurl: slug }\n\t };\n\t }\n\t }, {\n\t key: '_getDynamicFilterOption',\n\t value: function _getDynamicFilterOption(name) {\n\t var _state$navigationEntr = this.state.navigationEntry,\n\t navigationEntry = _state$navigationEntr === undefined ? [] : _state$navigationEntr;\n\t\n\t var entry = navigationEntry.find(function (item) {\n\t return _lodash2.default.includes(name, _lodash2.default.toLower(item['@NAME']));\n\t }) || {};\n\t var _context$config$appOp = this.context.config.appOptions.language,\n\t language = _context$config$appOp === undefined ? 'en' : _context$config$appOp;\n\t var _entry$NAVIGATIONELEM = entry.NAVIGATIONELEMENT,\n\t elements = _entry$NAVIGATIONELEM === undefined ? [] : _entry$NAVIGATIONELEM;\n\t\n\t\n\t if (!_lodash2.default.isArray(elements)) {\n\t elements = [elements];\n\t }\n\t\n\t var filterOptions = elements.map(function (item) {\n\t var itemName = item['@NAME'];\n\t\n\t return {\n\t text: itemName,\n\t value: itemName\n\t };\n\t });\n\t\n\t filterOptions.unshift({ text: (0, _translate2.default)('All', language), value: '' });\n\t\n\t return filterOptions;\n\t }\n\t }, {\n\t key: '_getStaticFilterOption',\n\t value: function _getStaticFilterOption(key) {\n\t var options = {\n\t type: ResultTypeValues,\n\t datetime: DateValues\n\t }[key];\n\t\n\t var _context$config$appOp2 = this.context.config.appOptions.language,\n\t language = _context$config$appOp2 === undefined ? 'en' : _context$config$appOp2;\n\t\n\t\n\t if (options) {\n\t // Translate filter option text\n\t options.map(function (option, index) {\n\t options[index]['text'] = (0, _translate2.default)(option.text, language) || option.text;\n\t });\n\t }\n\t\n\t return options;\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this3 = this;\n\t\n\t var _props = this.props,\n\t showBylines = _props.showBylines,\n\t showThumbnails = _props.showThumbnails,\n\t thumbnailAlignment = _props.thumbnailAlignment,\n\t showDescriptions = _props.showDescriptions,\n\t textColor = _props.textColor;\n\t var _state4 = this.state,\n\t searchResults = _state4.searchResults,\n\t page = _state4.page,\n\t numberOfResultsPerPage = _state4.numberOfResultsPerPage,\n\t _state4$totalNumberOf = _state4.totalNumberOfResults,\n\t totalNumberOfResults = _state4$totalNumberOf === undefined ? 0 : _state4$totalNumberOf,\n\t keyword = _state4.keyword,\n\t newKeyword = _state4.newKeyword,\n\t showFilter = _state4.showFilter,\n\t filterOptions = _state4.filterOptions;\n\t\n\t\n\t var dropdownColWidths = {\n\t xs: 12,\n\t md: 2\n\t };\n\t\n\t var remaining = totalNumberOfResults - numberOfResultsPerPage * page;\n\t var showing = Math.min(totalNumberOfResults, numberOfResultsPerPage * page) || 0;\n\t\n\t var _context$config$appOp3 = this.context.config.appOptions.language,\n\t language = _context$config$appOp3 === undefined ? 'en' : _context$config$appOp3;\n\t\n\t var longTranslatedText = {\n\t title: (0, _translate2.default)('Search', language) + ' ' + (0, _translate2.default)('Results', language),\n\t showing: (0, _translate2.default)('Showing', language) + ' ' + showing + ' ' + (0, _translate2.default)('of', language) + ' ' + totalNumberOfResults + ' ' + (0, _translate2.default)('for', language) + '
' + keyword + '',\n\t placeholder: (0, _translate2.default)('Enter keywords here', language) + '...'\n\t };\n\t\n\t var listProp = {\n\t showReadMore: false,\n\t showTitle: false,\n\t numberOfItems: showing,\n\t showBylines: showBylines,\n\t showThumbnails: showThumbnails,\n\t thumbnailAlignment: thumbnailAlignment,\n\t showDescriptions: showDescriptions,\n\t textColor: textColor\n\t };\n\t\n\t var FRN_rawResponses = [{ data: { features: searchResults } }];\n\t\n\t var filterContent = void 0;\n\t\n\t if (showFilter) {\n\t filterContent = Object.keys(filterOptions).map(function (key, i) {\n\t var _filterOptions$key = filterOptions[key],\n\t label = _filterOptions$key.label,\n\t selectedValue = _filterOptions$key.selectedValue,\n\t savedOptions = _filterOptions$key.savedOptions;\n\t\n\t var displayFilterOptions = _this3._getStaticFilterOption(key) || (savedOptions.length ? savedOptions : _this3._getDynamicFilterOption(key));\n\t var translatedLabel = (0, _translate2.default)(label, language); //Translate label for option\n\t\n\t return _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t _extends({ key: i }, dropdownColWidths, { className: 'form-group' }),\n\t _react2.default.createElement(\n\t 'select',\n\t { value: selectedValue || label, className: 'form-control', onChange: function onChange(event) {\n\t return _this3._onChangeFilter(key, event);\n\t } },\n\t !selectedValue && _react2.default.createElement(\n\t 'option',\n\t { key: label, hidden: true, disabled: true, value: label },\n\t translatedLabel\n\t ),\n\t displayFilterOptions.map(function (option, j) {\n\t var _option$text = option.text,\n\t text = _option$text === undefined ? '' : _option$text,\n\t _option$value = option.value,\n\t value = _option$value === undefined ? '' : _option$value;\n\t\n\t return _react2.default.createElement(\n\t 'option',\n\t { key: j, value: value },\n\t text\n\t );\n\t })\n\t )\n\t );\n\t });\n\t\n\t filterContent.push(_react2.default.createElement(\n\t _reactBootstrap.Col,\n\t _extends({}, dropdownColWidths, { className: 'form-group' }),\n\t _react2.default.createElement(\n\t 'button',\n\t { className: 'SearchResult-clearButton', onClick: function onClick() {\n\t return _this3._clearFilter();\n\t } },\n\t (0, _translate2.default)('Clear', language),\n\t _react2.default.createElement('i', { className: 'fa fa-times', 'aria-hidden': 'true' })\n\t )\n\t ));\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'SearchResult' },\n\t _react2.default.createElement(\n\t 'h2',\n\t null,\n\t longTranslatedText.title\n\t ),\n\t _react2.default.createElement('p', { dangerouslySetInnerHTML: { __html: longTranslatedText.showing } }),\n\t _react2.default.createElement(\n\t _reactBootstrap.Row,\n\t null,\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 12, className: 'form-group' },\n\t _react2.default.createElement('input', { ref: 'searchInput',\n\t className: 'form-control SearchResult-searchInput',\n\t placeholder: longTranslatedText.placeholder,\n\t value: newKeyword,\n\t onKeyPress: function onKeyPress(event) {\n\t return _this3._onSearchKeyEnter(event);\n\t },\n\t onChange: function onChange(event) {\n\t return _this3._onChangeSearchInput(event);\n\t }\n\t }),\n\t _react2.default.createElement(\n\t 'button',\n\t { className: 'SearchResult-btn SearchResult-btn--search', onClick: function onClick() {\n\t return _this3._onSearchButtonClick();\n\t } },\n\t (0, _translate2.default)('Search', language)\n\t ),\n\t _react2.default.createElement(\n\t 'button',\n\t { className: 'SearchResult-btn SearchResult-btn--advanced', onClick: function onClick() {\n\t return _this3._toggleFilter();\n\t } },\n\t (0, _translate2.default)('Advanced', language)\n\t )\n\t ),\n\t filterContent\n\t ),\n\t _react2.default.createElement(_ArticleList2.default, _extends({ FRN_rawResponses: FRN_rawResponses }, listProp)),\n\t remaining > 0 ? _react2.default.createElement(\n\t 'div',\n\t { className: 'SearchResult-more' },\n\t _react2.default.createElement(\n\t 'span',\n\t { onClick: function onClick() {\n\t return _this3._loadMore();\n\t } },\n\t (0, _translate2.default)('Load', language),\n\t ' ',\n\t Math.min(remaining, numberOfResultsPerPage),\n\t ' ',\n\t (0, _translate2.default)('more results', language)\n\t )\n\t ) : null\n\t );\n\t }\n\t }]);\n\t\n\t return SearchResult;\n\t}(_react.Component), _class.propTypes = {\n\t showBylines: _react.PropTypes.bool,\n\t showThumbnails: _react.PropTypes.bool,\n\t thumbnailAlignment: _react.PropTypes.string,\n\t showDescriptions: _react.PropTypes.bool,\n\t textColor: _react.PropTypes.string,\n\t searchOptions: _react.PropTypes.shape({\n\t affiliateIds: _react.PropTypes.array\n\t })\n\t}, _class.contextTypes = {\n\t config: _react.PropTypes.object.isRequired\n\t}, _class.defaultProps = {\n\t showBylines: true,\n\t showThumbnails: false,\n\t thumbnailAlignment: 'right',\n\t showDescriptions: true,\n\t textColor: '#000'\n\t}, _temp2);\n\texports.default = SearchResult;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1239 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp, _class2, _temp2;\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _lodash2 = _interopRequireDefault(_lodash);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactDom = __webpack_require__(43);\n\t\n\tvar _reactDom2 = _interopRequireDefault(_reactDom);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _IFrame = __webpack_require__(578);\n\t\n\tvar _IFrame2 = _interopRequireDefault(_IFrame);\n\t\n\tvar _VideoPlayer = __webpack_require__(266);\n\t\n\tvar _VideoPlayer2 = _interopRequireDefault(_VideoPlayer);\n\t\n\tvar _StringUtils = __webpack_require__(585);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tvar _xmlJs = __webpack_require__(133);\n\t\n\tvar _xmlJs2 = _interopRequireDefault(_xmlJs);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar loadedScriptCodeBlockId = [];\n\t\n\tvar CodeBlock = (_temp = _class = function (_Component) {\n\t _inherits(CodeBlock, _Component);\n\t\n\t function CodeBlock() {\n\t _classCallCheck(this, CodeBlock);\n\t\n\t return _possibleConstructorReturn(this, (CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock)).apply(this, arguments));\n\t }\n\t\n\t _createClass(CodeBlock, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var _this2 = this;\n\t\n\t var interval = setInterval(function () {\n\t var parentVideoTags = document.querySelectorAll('.CodeBlock .vjsVideoCanvas');\n\t if (parentVideoTags.length > 0) {\n\t var count = 0;\n\t var length = parentVideoTags.length;\n\t\n\t var _iteratorNormalCompletion = true;\n\t var _didIteratorError = false;\n\t var _iteratorError = undefined;\n\t\n\t try {\n\t for (var _iterator = parentVideoTags[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t var tag = _step.value;\n\t\n\t var videoTag = tag.querySelector('video');\n\t\n\t if (videoTag && videoTag.src) {\n\t // get thumnail of video\n\t var poster = tag.querySelector('.vjs-poster');\n\t var style = poster.currentStyle || window.getComputedStyle(poster, false);\n\t var thumbnail = style.backgroundImage.slice(4, -1).replace(/\"/g, '');\n\t\n\t // create galleryVideo object\n\t var galleryVideo = _this2._getGalleryVideo(tag.parentNode);\n\t\n\t // create VideoPlayer component\n\t var videoPlayer = _this2._renderVideoPlayer(videoTag.src, thumbnail, galleryVideo);\n\t\n\t // replace old video widget by VideoPlayer\n\t _reactDom2.default.render(videoPlayer, tag);\n\t\n\t count++;\n\t }\n\t }\n\t } catch (err) {\n\t _didIteratorError = true;\n\t _iteratorError = err;\n\t } finally {\n\t try {\n\t if (!_iteratorNormalCompletion && _iterator.return) {\n\t _iterator.return();\n\t }\n\t } finally {\n\t if (_didIteratorError) {\n\t throw _iteratorError;\n\t }\n\t }\n\t }\n\t\n\t if (count === length) {\n\t clearInterval(interval);\n\t }\n\t }\n\t }, 2000);\n\t\n\t setTimeout(function () {\n\t clearInterval(interval);\n\t }, 20000);\n\t }\n\t }, {\n\t key: '_renderVideoPlayer',\n\t value: function _renderVideoPlayer(src, thumbnail, galleryVideo) {\n\t var dataOfGallery = [{ data: { features: galleryVideo } }];\n\t var isSlider = galleryVideo.length > 0;\n\t var sliderProps = { showListByline: false };\n\t var maxLimit = isSlider ? galleryVideo.length : 1;\n\t\n\t return _react2.default.createElement(_VideoPlayer2.default, {\n\t destinationUrl: src,\n\t defaultThumbnail: thumbnail,\n\t autoPlayVideo: false,\n\t FRN_rawResponses: dataOfGallery,\n\t isSlider: isSlider,\n\t showAdditionalVideos: isSlider,\n\t sliderProps: sliderProps,\n\t maxLimit: maxLimit\n\t });\n\t }\n\t }, {\n\t key: '_getGalleryVideo',\n\t value: function _getGalleryVideo(parentNode) {\n\t var parentGalleryTags = parentNode.querySelectorAll('.wn-gallery');\n\t var galleryVideo = [];\n\t //get list video\n\t\n\t if (parentGalleryTags.length > 0) {\n\t var _iteratorNormalCompletion2 = true;\n\t var _didIteratorError2 = false;\n\t var _iteratorError2 = undefined;\n\t\n\t try {\n\t for (var _iterator2 = parentGalleryTags[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n\t var tag = _step2.value;\n\t\n\t var videoPages = tag.querySelectorAll('.video-page') || [];\n\t\n\t if (videoPages.length > 0) {\n\t for (var i = 0; i < videoPages.length; i++) {\n\t var videos = tag.querySelectorAll('.video-page-' + (i + 1) + ' a');\n\t\n\t /* eslint-disable */\n\t _lodash2.default.forEach(videos, function (video) {\n\t // extract data and build video info\n\t var href = video.href;\n\t var tagVideo = video.getElementsByTagName('li')[0];\n\t var idVideo = tagVideo.id.split('_')[1];\n\t var slug = href.split(idVideo + '/')[1];\n\t var imgTag = tagVideo.getElementsByTagName('img')[0];\n\t var titleTag = tagVideo.getElementsByClassName('title')[0].innerHTML;\n\t var infoVideo = {\n\t abstractimage: {\n\t filename: imgTag.src\n\t },\n\t link: href,\n\t headline: titleTag,\n\t type: 'clip',\n\t id: idVideo,\n\t seo: { pageurl: slug },\n\t window: {\n\t showscrollbar: true\n\t }\n\t };\n\t galleryVideo.push(infoVideo);\n\t });\n\t }\n\t }\n\t\n\t // remove wn gallery here\n\t tag.remove();\n\t }\n\t } catch (err) {\n\t _didIteratorError2 = true;\n\t _iteratorError2 = err;\n\t } finally {\n\t try {\n\t if (!_iteratorNormalCompletion2 && _iterator2.return) {\n\t _iterator2.return();\n\t }\n\t } finally {\n\t if (_didIteratorError2) {\n\t throw _iteratorError2;\n\t }\n\t }\n\t }\n\t }\n\t\n\t return galleryVideo;\n\t }\n\t }, {\n\t key: '_cleanXmlObj',\n\t value: function _cleanXmlObj(xmlBlock) {\n\t return {\n\t ID: xmlBlock.ID._text,\n\t HEADLINE: xmlBlock.HEADLINE._cdata,\n\t BODY: xmlBlock.BODY._cdata\n\t };\n\t }\n\t }, {\n\t key: '_buildDataForCodeBlock',\n\t value: function _buildDataForCodeBlock(data) {\n\t var _data$data = data.data,\n\t dataStr = _data$data === undefined ? {} : _data$data;\n\t\n\t var id = void 0,\n\t headline = void 0,\n\t bodyCodeBlock = void 0;\n\t\n\t // handle for XML string cases\n\t try {\n\t if (typeof dataStr === 'string') {\n\t dataStr = _xmlJs2.default.xml2js(dataStr, { compact: true });\n\t dataStr.XMLBLOCK = this._cleanXmlObj(dataStr.XMLBLOCK);\n\t }\n\t } catch (error) {\n\t console.log(error);\n\t }\n\t\n\t if (_lodash2.default.get(dataStr, 'XMLBLOCK.BODY')) {\n\t var _dataStr = dataStr,\n\t _dataStr$XMLBLOCK = _dataStr.XMLBLOCK,\n\t XMLBLOCK = _dataStr$XMLBLOCK === undefined ? {} : _dataStr$XMLBLOCK;\n\t\n\t return [{\n\t id: XMLBLOCK.ID || _lodash2.default.uniqueId(),\n\t headline: XMLBLOCK.HEADLINE || '',\n\t bodyCodeBlock: XMLBLOCK.BODY\n\t }];\n\t }\n\t\n\t // handle for json cases\n\t var codeBlockList = [];\n\t var featuresData = dataStr.features || [];\n\t featuresData.forEach(function (item) {\n\t headline = item.headline || '';\n\t bodyCodeBlock = item.body;\n\t id = item.id || _lodash2.default.uniqueId();\n\t\n\t if (bodyCodeBlock) {\n\t codeBlockList.push({\n\t id: id,\n\t headline: headline,\n\t bodyCodeBlock: bodyCodeBlock\n\t });\n\t }\n\t });\n\t\n\t return codeBlockList;\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t FRN_rawResponses = _props.FRN_rawResponses,\n\t title = _props.title,\n\t showTitle = _props.showTitle,\n\t showBorder = _props.showBorder,\n\t borderColor = _props.borderColor,\n\t _props$content = _props.content,\n\t content = _props$content === undefined ? '' : _props$content,\n\t type = _props.type,\n\t iframeOptions = _props.iframeOptions,\n\t titleType = _props.titleType;\n\t\n\t\n\t if (type === 'iframe') {\n\t return _react2.default.createElement(_IFrame2.default, _extends({ title: showTitle ? title : '', showBorder: showBorder, borderColor: borderColor }, iframeOptions));\n\t }\n\t\n\t if (_lodash2.default.isEmpty(FRN_rawResponses)) {\n\t return null;\n\t }\n\t\n\t var codeBlockList = this._buildDataForCodeBlock(FRN_rawResponses[0]);\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t codeBlockList.map(function (item, i) {\n\t var bodyCodeBlock = item.bodyCodeBlock,\n\t headline = item.headline,\n\t id = item.id;\n\t\n\t\n\t return _react2.default.createElement(InlineCode, {\n\t codeBlock: bodyCodeBlock,\n\t showTitle: showTitle,\n\t title: title,\n\t showBorder: showBorder,\n\t borderColor: borderColor,\n\t content: content,\n\t titleType: titleType,\n\t headline: headline,\n\t domContainerId: 'divCodeBlock_' + id,\n\t key: i\n\t });\n\t })\n\t );\n\t }\n\t }]);\n\t\n\t return CodeBlock;\n\t}(_react.Component), _class.propTypes = {\n\t FRN_rawResponses: _react.PropTypes.array,\n\t title: _react.PropTypes.string,\n\t showTitle: _react.PropTypes.bool,\n\t type: _react.PropTypes.oneOf(['iframe', 'inline']),\n\t iframeOptions: _react.PropTypes.shape({\n\t url: _react.PropTypes.string.isRequired,\n\t dimensionsPerBreakpoint: _react.PropTypes.object,\n\t enableFullScreen: _react.PropTypes.bool,\n\t sandbox: _react.PropTypes.string,\n\t showScrollBar: _react.PropTypes.bool\n\t }),\n\t showBorder: _react.PropTypes.bool,\n\t borderColor: _react.PropTypes.string,\n\t content: _react.PropTypes.string,\n\t titleType: _react.PropTypes.string\n\t}, _class.defaultProps = {\n\t FRN_rawResponses: [],\n\t showTitle: false,\n\t type: 'iframe',\n\t showBorder: false,\n\t titleType: _FRNBaseStyles.TITLE_TYPE.MODULE_TITLE\n\t}, _temp);\n\tvar InlineCode = (_temp2 = _class2 = function (_Component2) {\n\t _inherits(InlineCode, _Component2);\n\t\n\t function InlineCode() {\n\t _classCallCheck(this, InlineCode);\n\t\n\t return _possibleConstructorReturn(this, (InlineCode.__proto__ || Object.getPrototypeOf(InlineCode)).apply(this, arguments));\n\t }\n\t\n\t _createClass(InlineCode, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var _props2 = this.props,\n\t codeBlock = _props2.codeBlock,\n\t content = _props2.content,\n\t domContainerId = _props2.domContainerId;\n\t\n\t\n\t if (loadedScriptCodeBlockId.indexOf(domContainerId) < 0) {\n\t var $ = window['$'];\n\t\n\t // remove html from ssr\n\t $('#' + domContainerId).empty();\n\t\n\t var postscribe = __webpack_require__(1998);\n\t // use postscribe to allow the script execute document.write when loading page asynchronously \n\t postscribe('#' + domContainerId, codeBlock);\n\t\n\t /**\n\t ** Because the script tags aren't working when using dangerouslySetInnerHTML.\n\t * So for shortest way, we use jquery to append the code to the container\n\t * Script tags in `content` need to be unescaped to append in\n\t */\n\t $('#' + domContainerId).append((0, _StringUtils.unescapeScript)(content));\n\t\n\t loadedScriptCodeBlockId.push(domContainerId);\n\t }\n\t }\n\t }, {\n\t key: 'componentWillUnmount',\n\t value: function componentWillUnmount() {\n\t var domContainerId = this.props.domContainerId;\n\t\n\t\n\t if (document) {\n\t var currentNode = document.getElementById(domContainerId);\n\t\n\t if (currentNode) {\n\t while (currentNode.hasChildNodes()) {\n\t currentNode.removeChild(currentNode.lastChild);\n\t }\n\t }\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props3 = this.props,\n\t title = _props3.title,\n\t showTitle = _props3.showTitle,\n\t showBorder = _props3.showBorder,\n\t borderColor = _props3.borderColor,\n\t titleType = _props3.titleType,\n\t headline = _props3.headline,\n\t domContainerId = _props3.domContainerId,\n\t codeBlock = _props3.codeBlock;\n\t\n\t\n\t var containerStyle = {};\n\t\n\t if (showBorder && borderColor) {\n\t containerStyle.border = '1px solid ' + borderColor;\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'CodeBlock' },\n\t showTitle && _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, title: title || headline }),\n\t _react2.default.createElement('div', { id: '' + domContainerId, key: '' + domContainerId,\n\t className: 'CodeBlock-container',\n\t style: containerStyle,\n\t dangerouslySetInnerHTML: { __html: codeBlock }\n\t })\n\t );\n\t }\n\t }]);\n\t\n\t return InlineCode;\n\t}(_react.Component), _class2.propTypes = {\n\t codeBlock: _react.PropTypes.string,\n\t title: _react.PropTypes.string,\n\t showTitle: _react.PropTypes.bool,\n\t showBorder: _react.PropTypes.bool,\n\t borderColor: _react.PropTypes.string,\n\t content: _react.PropTypes.string,\n\t titleType: _react.PropTypes.string,\n\t headline: _react.PropTypes.string,\n\t domContainerId: _react.PropTypes.string\n\t}, _temp2);\n\texports.default = CodeBlock;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1240 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _classnames = __webpack_require__(2);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _Image = __webpack_require__(40);\n\t\n\tvar _Image2 = _interopRequireDefault(_Image);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar alignmentOptions = {\n\t top: 'top',\n\t left: 'left',\n\t bottom: 'bottom',\n\t right: 'right'\n\t};\n\t\n\tvar ImageLink = (_temp = _class = function (_Component) {\n\t _inherits(ImageLink, _Component);\n\t\n\t function ImageLink() {\n\t _classCallCheck(this, ImageLink);\n\t\n\t return _possibleConstructorReturn(this, (ImageLink.__proto__ || Object.getPrototypeOf(ImageLink)).apply(this, arguments));\n\t }\n\t\n\t _createClass(ImageLink, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t title = _props.title,\n\t _props$imageTitleAlig = _props.imageTitleAlignment,\n\t imageTitleAlignment = _props$imageTitleAlig === undefined ? '' : _props$imageTitleAlig,\n\t titleColor = _props.titleColor,\n\t _props$width = _props.width,\n\t imageWidth = _props$width === undefined ? 'auto' : _props$width,\n\t _props$height = _props.height,\n\t imageHeight = _props$height === undefined ? 'auto' : _props$height,\n\t staticUri = _props.staticUri,\n\t altText = _props.altText,\n\t destinationUri = _props.destinationUri,\n\t target = _props.target,\n\t titleType = _props.titleType;\n\t\n\t\n\t var titleAlignment = imageTitleAlignment.toLowerCase();\n\t\n\t var imageClass = (0, _classnames2.default)('ImageLink-image', 'ImageLink-image-title', {\n\t 'ImageLink-image--verticalAlignCenter': titleAlignment === alignmentOptions.right || titleAlignment === alignmentOptions.left\n\t }, {\n\t 'ImageLink-image-title--alignRight': titleAlignment === alignmentOptions.right\n\t });\n\t\n\t var components = [];\n\t\n\t var imageHref = destinationUri ? _react2.default.createElement(\n\t 'a',\n\t { href: destinationUri, target: target },\n\t _react2.default.createElement(_Image2.default, { src: staticUri, alt: altText, width: imageWidth, height: imageHeight })\n\t ) : _react2.default.createElement(_Image2.default, { src: staticUri, alt: altText, width: imageWidth, height: imageHeight });\n\t\n\t var componentImage = _react2.default.createElement(\n\t 'div',\n\t { key: components.length, className: (0, _classnames2.default)({ 'ImageLink-image--verticalAlignCenter': titleAlignment === alignmentOptions.right || titleAlignment === alignmentOptions.left }) },\n\t imageHref\n\t );\n\t\n\t components.push(componentImage);\n\t\n\t if (alignmentOptions[titleAlignment] && title) {\n\t var componentTitle = _react2.default.createElement(\n\t 'div',\n\t { key: components.length, className: imageClass },\n\t _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, color: titleColor, title: title, link: destinationUri, target: target })\n\t );\n\t\n\t if (titleAlignment === alignmentOptions.top || titleAlignment === alignmentOptions.left) {\n\t components.unshift(componentTitle);\n\t } else {\n\t components.push(componentTitle);\n\t }\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'ImageLink' },\n\t components\n\t );\n\t }\n\t }]);\n\t\n\t return ImageLink;\n\t}(_react.Component), _class.propTypes = {\n\t title: _react.PropTypes.string,\n\t imageTitleAlignment: _react.PropTypes.oneOf(Object.keys(alignmentOptions)),\n\t titleColor: _react.PropTypes.string,\n\t width: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.number]),\n\t height: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.number]),\n\t staticUri: _react.PropTypes.string,\n\t altText: _react.PropTypes.string,\n\t destinationUri: _react.PropTypes.string,\n\t target: _react.PropTypes.string,\n\t titleType: _react.PropTypes.string\n\t}, _class.defaultProps = {\n\t target: '_blank',\n\t titleType: _FRNBaseStyles.TITLE_TYPE.MODULE_TITLE\n\t}, _temp);\n\texports.default = ImageLink;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1241 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp2;\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _classnames = __webpack_require__(2);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _DOMUtils = __webpack_require__(137);\n\t\n\tvar _frankly = __webpack_require__(36);\n\t\n\tvar _Timestamp = __webpack_require__(47);\n\t\n\tvar _Timestamp2 = _interopRequireDefault(_Timestamp);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tvar _WindowUtils = __webpack_require__(100);\n\t\n\tvar _SeoUtils = __webpack_require__(173);\n\t\n\tvar _reactRouter = __webpack_require__(67);\n\t\n\tvar _URL = __webpack_require__(114);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar ADDTHIS_POSITION = {\n\t BELOW_BODY: 'below-body',\n\t ABOVE_BODY: 'above-body'\n\t};\n\t\n\tvar Link = (_temp2 = _class = function (_Component) {\n\t _inherits(Link, _Component);\n\t\n\t function Link() {\n\t var _ref;\n\t\n\t var _temp, _this, _ret;\n\t\n\t _classCallCheck(this, Link);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Link.__proto__ || Object.getPrototypeOf(Link)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n\t width: null,\n\t hieght: null\n\t }, _temp), _possibleConstructorReturn(_this, _ret);\n\t }\n\t\n\t _createClass(Link, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var FRN_requestError = this.props.FRN_requestError;\n\t\n\t var resourceError = void 0,\n\t isURLapologizeable = void 0;\n\t\n\t isURLapologizeable = this.isURLapologizeable();\n\t\n\t if (isURLapologizeable && FRN_requestError && FRN_requestError.length) {\n\t resourceError = FRN_requestError.find(function (_ref2) {\n\t var error = _ref2.error;\n\t\n\t return error.status === 404 || error.status === 410;\n\t });\n\t\n\t if (resourceError) {\n\t _reactRouter.browserHistory.push(_URL.APOLOGIES_URL);\n\t }\n\t } else {\n\t this._setup();\n\t }\n\t }\n\t }, {\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var _this2 = this;\n\t\n\t this._updateIFrameDimensions();\n\t\n\t window.addEventListener('resize', function () {\n\t return _this2._updateIFrameDimensions();\n\t });\n\t }\n\t }, {\n\t key: 'componentWillUnmount',\n\t value: function componentWillUnmount() {\n\t var _this3 = this;\n\t\n\t window.removeEventListener('resize', function () {\n\t return _this3._updateIFrameDimensions();\n\t });\n\t }\n\t }, {\n\t key: '_updateIFrameDimensions',\n\t value: function _updateIFrameDimensions() {\n\t var iframeHeight = this.props.iframeHeight;\n\t\n\t var currentWindowBreakpointSize = (0, _WindowUtils.getCurrentWindowBreakpointSize)();\n\t var height = void 0;\n\t var width = void 0;\n\t\n\t if (iframeHeight[currentWindowBreakpointSize]) {\n\t width = iframeHeight[currentWindowBreakpointSize].width;\n\t height = iframeHeight[currentWindowBreakpointSize].height;\n\t }\n\t\n\t this.setState({\n\t width: width,\n\t height: height\n\t });\n\t }\n\t }, {\n\t key: 'isURLapologizeable',\n\t value: function isURLapologizeable() {\n\t var path = void 0,\n\t linkID = /(link\\/+[0-9]+)/i;\n\t if (true) {\n\t path = window.location.pathname;\n\t return linkID.test(path);\n\t }\n\t\n\t return false;\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t if (!this.props.FRN_rawResponses) {\n\t return null;\n\t }\n\t\n\t var _props = this.props,\n\t showTitle = _props.showTitle,\n\t showTimestamp = _props.showTimestamp,\n\t showAbstract = _props.showAbstract,\n\t addMetaTags = _props.addMetaTags,\n\t _props$FRN_rawRespons = _props.FRN_rawResponses;\n\t _props$FRN_rawRespons = _props$FRN_rawRespons === undefined ? [] : _props$FRN_rawRespons;\n\t\n\t var _props$FRN_rawRespons2 = _slicedToArray(_props$FRN_rawRespons, 1),\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons2[0];\n\t\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons3 === undefined ? {} : _props$FRN_rawRespons3;\n\t var _props$FRN_rawRespons4 = _props$FRN_rawRespons3.data;\n\t _props$FRN_rawRespons4 = _props$FRN_rawRespons4 === undefined ? {} : _props$FRN_rawRespons4;\n\t var _props$FRN_rawRespons5 = _props$FRN_rawRespons4.url,\n\t url = _props$FRN_rawRespons5 === undefined ? '' : _props$FRN_rawRespons5,\n\t _props$FRN_rawRespons6 = _props$FRN_rawRespons4.link,\n\t link = _props$FRN_rawRespons6 === undefined ? '' : _props$FRN_rawRespons6,\n\t _props$FRN_rawRespons7 = _props$FRN_rawRespons4.datetime;\n\t _props$FRN_rawRespons7 = _props$FRN_rawRespons7 === undefined ? {} : _props$FRN_rawRespons7;\n\t var _props$FRN_rawRespons8 = _props$FRN_rawRespons7.created,\n\t created = _props$FRN_rawRespons8 === undefined ? '' : _props$FRN_rawRespons8,\n\t _props$FRN_rawRespons9 = _props$FRN_rawRespons4.seo;\n\t _props$FRN_rawRespons9 = _props$FRN_rawRespons9 === undefined ? {} : _props$FRN_rawRespons9;\n\t var _props$FRN_rawRespons10 = _props$FRN_rawRespons9.robot,\n\t robot = _props$FRN_rawRespons10 === undefined ? '' : _props$FRN_rawRespons10,\n\t _props$FRN_rawRespons11 = _props$FRN_rawRespons9.keywords,\n\t keywords = _props$FRN_rawRespons11 === undefined ? '' : _props$FRN_rawRespons11,\n\t _props$FRN_rawRespons12 = _props$FRN_rawRespons9.description,\n\t description = _props$FRN_rawRespons12 === undefined ? '' : _props$FRN_rawRespons12,\n\t _props$FRN_rawRespons13 = _props$FRN_rawRespons4.images;\n\t _props$FRN_rawRespons13 = _props$FRN_rawRespons13 === undefined ? {} : _props$FRN_rawRespons13;\n\t var _props$FRN_rawRespons14 = _props$FRN_rawRespons13.graphic;\n\t _props$FRN_rawRespons14 = _props$FRN_rawRespons14 === undefined ? {} : _props$FRN_rawRespons14;\n\t var imageIFrame = _props$FRN_rawRespons14.filename,\n\t _props$FRN_rawRespons15 = _props$FRN_rawRespons4.iframe;\n\t _props$FRN_rawRespons15 = _props$FRN_rawRespons15 === undefined ? {} : _props$FRN_rawRespons15;\n\t var _props$FRN_rawRespons16 = _props$FRN_rawRespons15.bordercolor,\n\t bordercolor = _props$FRN_rawRespons16 === undefined ? '' : _props$FRN_rawRespons16,\n\t _props$FRN_rawRespons17 = _props$FRN_rawRespons15.showborder,\n\t showborder = _props$FRN_rawRespons17 === undefined ? false : _props$FRN_rawRespons17,\n\t _props$FRN_rawRespons18 = _props$FRN_rawRespons15.showscrollbar,\n\t showscrollbar = _props$FRN_rawRespons18 === undefined ? false : _props$FRN_rawRespons18,\n\t _props$FRN_rawRespons19 = _props$FRN_rawRespons15.height,\n\t heightFromFeed = _props$FRN_rawRespons19 === undefined ? '' : _props$FRN_rawRespons19,\n\t _props$FRN_rawRespons20 = _props$FRN_rawRespons4.abridged;\n\t _props$FRN_rawRespons20 = _props$FRN_rawRespons20 === undefined ? {} : _props$FRN_rawRespons20;\n\t var _props$FRN_rawRespons21 = _props$FRN_rawRespons20.headline,\n\t headline = _props$FRN_rawRespons21 === undefined ? '' : _props$FRN_rawRespons21,\n\t _props$FRN_rawRespons22 = _props$FRN_rawRespons20.abstract,\n\t abstract = _props$FRN_rawRespons22 === undefined ? '' : _props$FRN_rawRespons22,\n\t _props$FRN_rawRespons23 = _props$FRN_rawRespons20.abstractimage;\n\t _props$FRN_rawRespons23 = _props$FRN_rawRespons23 === undefined ? {} : _props$FRN_rawRespons23;\n\t var _props$FRN_rawRespons24 = _props$FRN_rawRespons23.filename,\n\t heroImageFilename = _props$FRN_rawRespons24 === undefined ? '' : _props$FRN_rawRespons24,\n\t _props$addThisOptions = _props.addThisOptions;\n\t _props$addThisOptions = _props$addThisOptions === undefined ? {} : _props$addThisOptions;\n\t var _props$addThisOptions2 = _props$addThisOptions.className,\n\t addThisClassName = _props$addThisOptions2 === undefined ? '' : _props$addThisOptions2,\n\t _props$addThisOptions3 = _props$addThisOptions.position,\n\t position = _props$addThisOptions3 === undefined ? ADDTHIS_POSITION.ABOVE_BODY : _props$addThisOptions3;\n\t\n\t\n\t if (addMetaTags) {\n\t (0, _frankly.setMetaTags)(this, [{\n\t name: 'description',\n\t content: description\n\t }, {\n\t name: 'keywords',\n\t content: keywords\n\t }, {\n\t name: 'robots',\n\t content: robot\n\t }, {\n\t rel: 'canonical',\n\t href: (0, _SeoUtils.getCanonicalLink)((0, _lodash.get)(this, 'props.FRN_rawResponses[0].data', {})),\n\t isLink: true\n\t }, {\n\t property: 'og:title',\n\t content: headline\n\t }, {\n\t property: 'og:type',\n\t content: 'article'\n\t }, {\n\t property: 'og:url',\n\t content: link\n\t }, {\n\t property: 'og:image',\n\t content: heroImageFilename\n\t }, {\n\t property: 'og:description',\n\t content: description\n\t }, {\n\t name: 'twitter:card',\n\t content: 'summary_large_image'\n\t }, {\n\t name: 'twitter:description',\n\t content: description\n\t }, {\n\t name: 'twitter:title',\n\t content: headline\n\t }, {\n\t name: 'twitter:image',\n\t content: heroImageFilename\n\t }]);\n\t }\n\t\n\t var _state = this.state,\n\t width = _state.width,\n\t height = _state.height;\n\t // heightFromFeed just is used for MD - LG - XL breakpoints\n\t\n\t var hasIFrameHeight = heightFromFeed && window.innerWidth >= _FRNBaseStyles.BREAKPOINTS[2][\"minWidth\"];\n\t var iframeStyles = {\n\t width: width ? width + 'px' : null,\n\t height: hasIFrameHeight ? heightFromFeed + 'px' : height + 'px'\n\t };\n\t\n\t /**\n\t * Because the iframe isn't responsive in ios browsers\n\t * issue https://stackoverflow.com/questions/23083462/how-to-get-an-iframe-to-be-responsive-in-ios-safari#answer-23083463\n\t */\n\t var isIOSDevice = (0, _DOMUtils.checkIOSDevice)();\n\t var border = showborder && '1px solid ' + bordercolor;\n\t var addThisContent = _react2.default.createElement('div', { className: addThisClassName });\n\t var hasAboveAddThis = position === ADDTHIS_POSITION.ABOVE_BODY;\n\t var iframeClassName = (0, _classnames2.default)('embed-responsive-item', 'Link-item', { 'Link-item--iOS': isIOSDevice });\n\t var scrolling = showscrollbar ? 'yes' : 'no';\n\t\n\t if (isIOSDevice && scrolling === 'yes') {\n\t iframeStyles['overflow'] = 'auto';\n\t iframeStyles['-webkit-overflow-scrolling'] = 'touch';\n\t\n\t scrolling = 'no';\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'Link' },\n\t hasAboveAddThis && addThisContent,\n\t _react2.default.createElement(\n\t 'div',\n\t null,\n\t showTitle && _react2.default.createElement(_ComponentTitle2.default, { showArrow: false, title: headline }),\n\t showAbstract && _react2.default.createElement('div', { className: 'Link-abstract', dangerouslySetInnerHTML: { __html: abstract } })\n\t ),\n\t showTimestamp && _react2.default.createElement(_Timestamp2.default, { publishDate: created }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'embed-responsive ' + (!height ? 'embed-responsive-16by9' : ''), style: iframeStyles },\n\t _react2.default.createElement('iframe', { className: iframeClassName,\n\t style: { border: border },\n\t src: url || imageIFrame,\n\t scrolling: scrolling\n\t })\n\t ),\n\t !hasAboveAddThis && addThisContent\n\t );\n\t }\n\t }]);\n\t\n\t return Link;\n\t}(_react.Component), _class.propTypes = {\n\t showTitle: _react.PropTypes.bool,\n\t showTimestamp: _react.PropTypes.bool,\n\t showAbstract: _react.PropTypes.bool,\n\t addMetaTags: _react.PropTypes.bool,\n\t iframeHeight: _react.PropTypes.object,\n\t FRN_rawResponses: _react.PropTypes.array,\n\t addThisOptions: _react.PropTypes.shape({\n\t className: _react.PropTypes.string,\n\t position: _react.PropTypes.oneOf([ADDTHIS_POSITION.BELOW_BODY, ADDTHIS_POSITION.ABOVE_BODY])\n\t })\n\t}, _class.defaultProps = {\n\t showTitle: true,\n\t showTimestamp: false,\n\t showAbstract: false,\n\t addMetaTags: true,\n\t iframeHeight: {\n\t xs: {\n\t height: 1000\n\t },\n\t sm: {\n\t height: 1000\n\t },\n\t md: {\n\t height: 1000\n\t },\n\t lg: {\n\t height: 1000\n\t },\n\t xl: {\n\t height: 1000\n\t }\n\t }\n\t}, _temp2);\n\texports.default = Link;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1242 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp2;\n\t\n\tvar _classnames = __webpack_require__(2);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _AlertUtils = __webpack_require__(373);\n\t\n\tvar _DateUtils = __webpack_require__(54);\n\t\n\tvar _Cancel = __webpack_require__(215);\n\t\n\tvar _Cancel2 = _interopRequireDefault(_Cancel);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar PageAlertBanner = (_temp2 = _class = function (_Component) {\n\t _inherits(PageAlertBanner, _Component);\n\t\n\t function PageAlertBanner() {\n\t var _ref;\n\t\n\t var _temp, _this, _ret;\n\t\n\t _classCallCheck(this, PageAlertBanner);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = PageAlertBanner.__proto__ || Object.getPrototypeOf(PageAlertBanner)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n\t showAlert: true\n\t }, _temp), _possibleConstructorReturn(_this, _ret);\n\t }\n\t\n\t _createClass(PageAlertBanner, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var _props = this.props,\n\t FRN_componentInstanceId = _props.FRN_componentInstanceId,\n\t isDismissable = _props.dismissOptions.isDismissable;\n\t\n\t\n\t if (isDismissable) {\n\t var alertInStore = (0, _AlertUtils.findAlertInStore)(FRN_componentInstanceId);\n\t\n\t if (alertInStore) {\n\t var timeout = alertInStore.timeout,\n\t data = alertInStore.data;\n\t\n\t\n\t var time = (0, _DateUtils.getDateTimeInSeconds)();\n\t var showAlert = time > timeout || this.props.text !== data;\n\t\n\t if (showAlert) {\n\t (0, _AlertUtils.removeAlertFromStore)(FRN_componentInstanceId);\n\t } else {\n\t this._startAutoShowAlertInterval(timeout - time);\n\t }\n\t\n\t this.setState({ showAlert: showAlert });\n\t }\n\t }\n\t }\n\t }, {\n\t key: 'componentWillUnmount',\n\t value: function componentWillUnmount() {\n\t clearInterval(this._showAlertAgainInterval);\n\t }\n\t }, {\n\t key: '_dismissAlert',\n\t value: function _dismissAlert() {\n\t var _props2 = this.props,\n\t FRN_componentInstanceId = _props2.FRN_componentInstanceId,\n\t text = _props2.text,\n\t dismissTimeInHours = _props2.dismissOptions.dismissTimeInHours;\n\t\n\t var timeout = (0, _DateUtils.convertHoursToSeconds)(dismissTimeInHours);\n\t\n\t (0, _AlertUtils.addAlertToStore)(FRN_componentInstanceId, (0, _DateUtils.getDateTimeInSeconds)() + timeout, text);\n\t this._startAutoShowAlertInterval(timeout);\n\t\n\t this.setState({\n\t showAlert: false\n\t });\n\t }\n\t }, {\n\t key: '_startAutoShowAlertInterval',\n\t value: function _startAutoShowAlertInterval(timeout) {\n\t var _this2 = this;\n\t\n\t this._showAlertAgainInterval = setInterval(function () {\n\t (0, _AlertUtils.removeAlertFromStore)(_this2.props.FRN_componentInstanceId);\n\t clearInterval(_this2._showAlertAgainInterval);\n\t\n\t _this2.setState({\n\t showAlert: true\n\t });\n\t }, timeout);\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this3 = this;\n\t\n\t if (!this.state.showAlert) {\n\t return null;\n\t }\n\t\n\t var _props3 = this.props,\n\t backgroundColor = _props3.backgroundColor,\n\t text = _props3.text,\n\t textAlign = _props3.textAlign,\n\t textColor = _props3.textColor,\n\t destinationUri = _props3.destinationUri,\n\t isDismissable = _props3.dismissOptions.isDismissable;\n\t\n\t\n\t var className = (0, _classnames2.default)('PageAlertBanner-text', { 'PageAlertBanner--link': destinationUri });\n\t var bannerStyle = { backgroundColor: backgroundColor, color: textColor, textAlign: textAlign };\n\t\n\t var pageAlertBanner = destinationUri ? _react2.default.createElement(\n\t 'a',\n\t { className: className, style: bannerStyle, href: destinationUri },\n\t text\n\t ) : _react2.default.createElement(\n\t 'div',\n\t { className: className, style: bannerStyle },\n\t text\n\t );\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'PageAlertBanner' },\n\t isDismissable && _react2.default.createElement(\n\t 'div',\n\t { className: 'PageAlertBanner-dismissBtn', onClick: function onClick() {\n\t return _this3._dismissAlert();\n\t } },\n\t _react2.default.createElement(_Cancel2.default, { color: textColor })\n\t ),\n\t pageAlertBanner\n\t );\n\t }\n\t }]);\n\t\n\t return PageAlertBanner;\n\t}(_react.Component), _class.propTypes = {\n\t FRN_componentInstanceId: _react.PropTypes.string,\n\t backgroundColor: _react.PropTypes.string,\n\t text: _react.PropTypes.string,\n\t textAlign: _react.PropTypes.string,\n\t textColor: _react.PropTypes.string,\n\t destinationUri: _react.PropTypes.string,\n\t dismissOptions: _react.PropTypes.shape({\n\t isDismissable: _react.PropTypes.bool,\n\t dismissTimeInHours: _react.PropTypes.number\n\t })\n\t}, _class.defaultProps = {\n\t backgroundColor: '#FFFF00',\n\t text: '',\n\t textColor: '#FFFFFF',\n\t destinationUri: '',\n\t dismissOptions: {\n\t isDismissable: false,\n\t dismissTimeInHours: 24\n\t }\n\t}, _temp2);\n\texports.default = PageAlertBanner;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1243 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp2;\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _lodash2 = _interopRequireDefault(_lodash);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _SponsorArea = __webpack_require__(563);\n\t\n\tvar _SponsorArea2 = _interopRequireDefault(_SponsorArea);\n\t\n\tvar _DOMUtils = __webpack_require__(137);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t/**\n\t * Class representing section headings for the site\n\t *\n\t * For the sponsored section in the config it should look something like (note it should not have both 'link' and 'ad)\n\t *\n\t * \"sponsor\": {\n\t \"label\": \"Sponsored by \",\n\t\n\t \"link\": {\n\t \"imageUri\": \"\",\n\t \"uri\": \"\"\n\t },\n\t\n\t // OR:\n\t\n\t \"ad\": {\n\t \"options\":{\n\t \"id\": 156,\n\t \"wncc\": \"homepage\",\n\t \"width\": 120,\n\t \"height\": 30,\n\t \"ownerinfo\": {\n\t \"loc\": {\n\t \"share\": 1\n\t }\n\t },\n\t \"screensizes\": [\n\t [ [0, 0], [120, 30] ]\n\t ]\n\t }\n\t }\n\t }\n\t */\n\t\n\tvar TITLE_TYPE = {\n\t PAGE_TITLE: 'page-title'\n\t};\n\t\n\tvar TITLE_MODE = {\n\t manual: 'manual',\n\t feed: 'feed'\n\t};\n\t\n\tvar PageTitle = (_temp2 = _class = function (_Component) {\n\t _inherits(PageTitle, _Component);\n\t\n\t function PageTitle() {\n\t var _ref;\n\t\n\t var _temp, _this, _ret;\n\t\n\t _classCallCheck(this, PageTitle);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = PageTitle.__proto__ || Object.getPrototypeOf(PageTitle)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n\t pageTitleDomId: _lodash2.default.uniqueId('PageTitle')\n\t\n\t // Function to Check titleType\n\t // Return true if titleType is \"page-title\" else return false\n\t }, _temp), _possibleConstructorReturn(_this, _ret);\n\t }\n\t\n\t _createClass(PageTitle, [{\n\t key: '_checkPageTitle',\n\t value: function _checkPageTitle(titleType) {\n\t var title = titleType.toLowerCase().trim().replace(' ', '-');\n\t return title === TITLE_TYPE.PAGE_TITLE;\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t _props$FRN_rawRespons = _props.FRN_rawResponses,\n\t FRN_rawResponses = _props$FRN_rawRespons === undefined ? [] : _props$FRN_rawRespons,\n\t _props$mainTitle = _props.mainTitle,\n\t mainTitle = _props$mainTitle === undefined ? '' : _props$mainTitle,\n\t _props$secondaryTitle = _props.secondaryTitle,\n\t subTitle = _props$secondaryTitle === undefined ? '' : _props$secondaryTitle,\n\t _props$backgroundColo = _props.backgroundColor,\n\t backgroundColor = _props$backgroundColo === undefined ? '#fff' : _props$backgroundColo,\n\t textColor = _props.textColor,\n\t _props$sponsor = _props.sponsor,\n\t sponsor = _props$sponsor === undefined ? null : _props$sponsor,\n\t destinationUrl = _props.destinationUrl,\n\t _props$urlTarget = _props.urlTarget,\n\t urlTarget = _props$urlTarget === undefined ? '_blank' : _props$urlTarget,\n\t _props$linkStyle = _props.linkStyle;\n\t _props$linkStyle = _props$linkStyle === undefined ? {} : _props$linkStyle;\n\t var _props$linkStyle$colo = _props$linkStyle.color,\n\t linkColor = _props$linkStyle$colo === undefined ? '' : _props$linkStyle$colo,\n\t _props$linkStyle$text = _props$linkStyle.textDecoration,\n\t linkTextDecoration = _props$linkStyle$text === undefined ? '' : _props$linkStyle$text,\n\t _props$visitedStyle = _props.visitedStyle;\n\t _props$visitedStyle = _props$visitedStyle === undefined ? {} : _props$visitedStyle;\n\t var _props$visitedStyle$c = _props$visitedStyle.color,\n\t visitedColor = _props$visitedStyle$c === undefined ? '' : _props$visitedStyle$c,\n\t _props$visitedStyle$t = _props$visitedStyle.textDecoration,\n\t visitedTextDecoration = _props$visitedStyle$t === undefined ? '' : _props$visitedStyle$t,\n\t _props$hoverStyle = _props.hoverStyle;\n\t _props$hoverStyle = _props$hoverStyle === undefined ? {} : _props$hoverStyle;\n\t var _props$hoverStyle$col = _props$hoverStyle.color,\n\t hoverColor = _props$hoverStyle$col === undefined ? '' : _props$hoverStyle$col,\n\t _props$hoverStyle$tex = _props$hoverStyle.textDecoration,\n\t hoverTextDecoration = _props$hoverStyle$tex === undefined ? '' : _props$hoverStyle$tex,\n\t _props$activeStyle = _props.activeStyle;\n\t _props$activeStyle = _props$activeStyle === undefined ? {} : _props$activeStyle;\n\t var _props$activeStyle$co = _props$activeStyle.color,\n\t activeColor = _props$activeStyle$co === undefined ? '' : _props$activeStyle$co,\n\t _props$activeStyle$te = _props$activeStyle.textDecoration,\n\t activeTextDecoration = _props$activeStyle$te === undefined ? '' : _props$activeStyle$te,\n\t _props$titleType = _props.titleType,\n\t titleType = _props$titleType === undefined ? '' : _props$titleType,\n\t _props$mode = _props.mode,\n\t mode = _props$mode === undefined ? '' : _props$mode,\n\t _props$mainDataPath = _props.mainDataPath,\n\t mainDataPath = _props$mainDataPath === undefined ? '' : _props$mainDataPath;\n\t var pageTitleDomId = this.state.pageTitleDomId;\n\t\n\t\n\t var customComponentStyles = {};\n\t var pageTitleSponsor = void 0;\n\t\n\t var pageTitleStyles = (0, _DOMUtils.generateStyles)('#' + pageTitleDomId, [{\n\t selector: 'a:link',\n\t styles: 'color: ' + linkColor + ';' + 'text-decoration: ' + linkTextDecoration + ';'\n\t }, {\n\t selector: 'a:visited',\n\t styles: 'color: ' + visitedColor + ';' + 'text-decoration: ' + visitedTextDecoration + ';'\n\t }, {\n\t selector: 'a:hover',\n\t styles: 'color: ' + hoverColor + ';' + 'text-decoration: ' + hoverTextDecoration + ';'\n\t }, {\n\t selector: 'a:active',\n\t styles: 'color: ' + activeColor + ';' + 'text-decoration: ' + activeTextDecoration + ';'\n\t }]);\n\t\n\t if (sponsor) {\n\t var _sponsor$link = sponsor.link,\n\t link = _sponsor$link === undefined ? {} : _sponsor$link,\n\t ad = sponsor.ad,\n\t _sponsor$label = sponsor.label,\n\t label = _sponsor$label === undefined ? '' : _sponsor$label;\n\t\n\t\n\t if (ad || link.imageUri) {\n\t pageTitleSponsor = _react2.default.createElement(\n\t 'div',\n\t { className: 'PageTitle-sponsorComponent' },\n\t link.imageUri && _react2.default.createElement(\n\t 'span',\n\t { className: 'PageTitle-sponsorLabel' },\n\t label\n\t ),\n\t _react2.default.createElement(_SponsorArea2.default, { sponsor: sponsor })\n\t );\n\t }\n\t }\n\t\n\t customComponentStyles['backgroundColor'] = backgroundColor;\n\t if (textColor) {\n\t customComponentStyles['color'] = textColor;\n\t }\n\t var isPageTitle = this._checkPageTitle(titleType);\n\t\n\t var feedMode = mode === TITLE_MODE.feed;\n\t var primaryTitle = feedMode ? _lodash2.default.get(FRN_rawResponses[0], 'data.' + mainDataPath, '') : mainTitle;\n\t var secondaryTitle = feedMode ? '' : subTitle;\n\t\n\t if (!primaryTitle && !secondaryTitle) {\n\t return null;\n\t }\n\t\n\t var genTitle = function genTitle() {\n\t return _react2.default.createElement(\n\t 'div',\n\t { style: customComponentStyles },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'PageTitle-mainText' },\n\t destinationUrl ? _react2.default.createElement(\n\t 'a',\n\t { href: destinationUrl, target: urlTarget },\n\t primaryTitle\n\t ) : primaryTitle\n\t ),\n\t '\\xA0',\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'PageTitle-secondaryText' },\n\t destinationUrl ? _react2.default.createElement(\n\t 'a',\n\t { href: destinationUrl, target: urlTarget },\n\t secondaryTitle\n\t ) : secondaryTitle\n\t )\n\t );\n\t };\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'PageTitle', id: pageTitleDomId, style: customComponentStyles },\n\t isPageTitle ? _react2.default.createElement(\n\t 'h1',\n\t { className: 'PageTitle-text' },\n\t genTitle()\n\t ) : _react2.default.createElement(\n\t 'h2',\n\t { className: 'PageTitle-text' },\n\t genTitle()\n\t ),\n\t pageTitleSponsor,\n\t _react2.default.createElement(\n\t 'style',\n\t null,\n\t pageTitleStyles\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return PageTitle;\n\t}(_react.Component), _class.propTypes = {\n\t FRN_rawResponses: _react.PropTypes.array,\n\t mainTitle: _react.PropTypes.string,\n\t secondaryTitle: _react.PropTypes.string,\n\t sponsor: _react.PropTypes.object,\n\t backgroundColor: _react.PropTypes.string,\n\t textColor: _react.PropTypes.string,\n\t destinationUrl: _react.PropTypes.string,\n\t urlTarget: _react.PropTypes.oneOf(['_blank', '_self', '_parent', '_top']),\n\t linkStyle: _react.PropTypes.shape({\n\t color: _react.PropTypes.string,\n\t textDecoration: _react.PropTypes.string\n\t }),\n\t visitedStyle: _react.PropTypes.shape({\n\t color: _react.PropTypes.string,\n\t textDecoration: _react.PropTypes.string\n\t }),\n\t hoverStyle: _react.PropTypes.shape({\n\t color: _react.PropTypes.string,\n\t textDecoration: _react.PropTypes.string\n\t }),\n\t activeStyle: _react.PropTypes.shape({\n\t color: _react.PropTypes.string,\n\t textDecoration: _react.PropTypes.string\n\t }),\n\t titleType: _react.PropTypes.string,\n\t mode: _react.PropTypes.oneOf(Object.keys(TITLE_MODE)),\n\t mainDataPath: _react.PropTypes.string\n\t}, _class.defaultProps = {\n\t mode: TITLE_MODE.manual,\n\t mainDataPath: 'headline'\n\t}, _temp2);\n\texports.default = PageTitle;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1244 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp, _class2, _temp2;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactBootstrap = __webpack_require__(26);\n\t\n\tvar _Col = __webpack_require__(564);\n\t\n\tvar _Col2 = _interopRequireDefault(_Col);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _Image = __webpack_require__(40);\n\t\n\tvar _Image2 = _interopRequireDefault(_Image);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t/**\n\t * Class representing the clickable images(Toolbox) which can be integrated to any pages defined in the config.\n\t */\n\tvar Toolbox = (_temp = _class = function (_Component) {\n\t _inherits(Toolbox, _Component);\n\t\n\t function Toolbox() {\n\t _classCallCheck(this, Toolbox);\n\t\n\t return _possibleConstructorReturn(this, (Toolbox.__proto__ || Object.getPrototypeOf(Toolbox)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Toolbox, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t title = _props.title,\n\t titleColor = _props.titleColor,\n\t textColor = _props.textColor,\n\t showImageTitle = _props.showImageTitle,\n\t imageTitleAlignment = _props.imageTitleAlignment,\n\t backgroundColor = _props.backgroundColor,\n\t titleBackgroundColor = _props.titleBackgroundColor,\n\t padding = _props.padding,\n\t spans = _props.spans,\n\t _props$images = _props.images,\n\t images = _props$images === undefined ? [] : _props$images,\n\t titleType = _props.titleType;\n\t\n\t\n\t if (!images.length) {\n\t return null;\n\t }\n\t\n\t var inlineDisplay = imageTitleAlignment === 'left' || imageTitleAlignment === 'right';\n\t var titleFirst = imageTitleAlignment === 'left' || imageTitleAlignment === 'top';\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'Toolbox', style: { backgroundColor: backgroundColor } },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'Toolbox-header', style: { backgroundColor: titleBackgroundColor } },\n\t title ? _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, color: titleColor, title: title }) : null\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Row,\n\t { className: 'Toolbox-row', style: { padding: padding + 'px' } },\n\t images.map(function (image, i) {\n\t return _react2.default.createElement(ClickableImage, {\n\t key: i,\n\t image: image,\n\t imageTitleAlignment: imageTitleAlignment,\n\t textColor: textColor,\n\t spans: spans,\n\t showImageTitle: showImageTitle,\n\t inlineDisplay: inlineDisplay,\n\t titleFirst: titleFirst\n\t });\n\t })\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return Toolbox;\n\t}(_react.Component), _class.propTypes = {\n\t title: _react.PropTypes.string,\n\t titleColor: _react.PropTypes.string,\n\t textColor: _react.PropTypes.string,\n\t showImageTitle: _react.PropTypes.bool,\n\t imageTitleAlignment: _react.PropTypes.string,\n\t backgroundColor: _react.PropTypes.string,\n\t titleBackgroundColor: _react.PropTypes.string,\n\t padding: _react.PropTypes.number,\n\t spans: _react.PropTypes.object,\n\t images: _react.PropTypes.array.isRequired,\n\t titleType: _react.PropTypes.string\n\t}, _class.defaultProps = {\n\t title: 'Toolbox',\n\t padding: 16,\n\t spans: {\n\t 'xs': 6\n\t },\n\t titleType: _FRNBaseStyles.TITLE_TYPE.MODULE_TITLE\n\t}, _temp);\n\tvar ClickableImage = (_temp2 = _class2 = function (_Component2) {\n\t _inherits(ClickableImage, _Component2);\n\t\n\t function ClickableImage() {\n\t _classCallCheck(this, ClickableImage);\n\t\n\t return _possibleConstructorReturn(this, (ClickableImage.__proto__ || Object.getPrototypeOf(ClickableImage)).apply(this, arguments));\n\t }\n\t\n\t _createClass(ClickableImage, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props2 = this.props,\n\t _props2$image = _props2.image;\n\t _props2$image = _props2$image === undefined ? {} : _props2$image;\n\t var title = _props2$image.title,\n\t staticUri = _props2$image.staticUri,\n\t destinationUri = _props2$image.destinationUri,\n\t _props2$image$altText = _props2$image.altText,\n\t altText = _props2$image$altText === undefined ? title : _props2$image$altText,\n\t _props2$image$linkTar = _props2$image.linkTarget,\n\t linkTarget = _props2$image$linkTar === undefined ? '_top' : _props2$image$linkTar,\n\t imageTitleAlignment = _props2.imageTitleAlignment,\n\t textColor = _props2.textColor,\n\t _props2$spans = _props2.spans,\n\t spans = _props2$spans === undefined ? {} : _props2$spans,\n\t inlineDisplay = _props2.inlineDisplay,\n\t showImageTitle = _props2.showImageTitle,\n\t titleFirst = _props2.titleFirst;\n\t\n\t\n\t var content = [];\n\t\n\t if (showImageTitle) {\n\t var textStyle = {\n\t color: textColor\n\t };\n\t\n\t content.push(_react2.default.createElement(\n\t 'h3',\n\t { key: content.length, className: 'Toolbox-ClickableImage-Thumbnail-imageTitle', style: textStyle },\n\t destinationUri ? _react2.default.createElement(\n\t 'a',\n\t { style: textStyle, title: title, href: destinationUri, target: linkTarget },\n\t title\n\t ) : title\n\t ));\n\t }\n\t\n\t var imageWidth = void 0;\n\t if (imageTitleAlignment === 'top' || imageTitleAlignment === 'bottom') {\n\t imageWidth = '140';\n\t } else {\n\t imageWidth = '100';\n\t }\n\t\n\t var imageThumbnail = _react2.default.createElement(\n\t 'div',\n\t { key: content.length, className: 'Toolbox-ClickableImage-Thumbnail' },\n\t _react2.default.createElement(_Image2.default, { width: imageWidth, src: staticUri, alt: altText, imageClassNames: \"Toolbox-ClickableImage-Thumbnail-image\" }),\n\t destinationUri ? _react2.default.createElement('a', { className: 'Toolbox-ClickableImage-Thumbnail-imageLink', href: destinationUri, target: linkTarget }) : null\n\t );\n\t\n\t if (titleFirst) {\n\t content.push(imageThumbnail);\n\t } else {\n\t content.unshift(imageThumbnail);\n\t }\n\t\n\t return _react2.default.createElement(\n\t _Col2.default,\n\t { spans: spans },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'Toolbox-clickableImageWrapper' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: inlineDisplay ? 'Toolbox-clickableImageContent Toolbox-clickableImageContent--inlineContent' : 'Toolbox-clickableImageContent' },\n\t content\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return ClickableImage;\n\t}(_react.Component), _class2.propTypes = {\n\t image: _react.PropTypes.object.isRequired,\n\t textColor: _react.PropTypes.string,\n\t spans: _react.PropTypes.object,\n\t inlineDisplay: _react.PropTypes.bool,\n\t titleFirst: _react.PropTypes.bool,\n\t showImageTitle: _react.PropTypes.bool,\n\t imageTitleAlignment: _react.PropTypes.string\n\t}, _class2.defaultProps = {\n\t inlineDisplay: false,\n\t titleFirst: true,\n\t showImageTitle: true\n\t}, _temp2);\n\texports.default = Toolbox;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1245 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar didLoadScript = false;\n\t\n\tvar AddThis = (_temp = _class = function (_Component) {\n\t _inherits(AddThis, _Component);\n\t\n\t function AddThis() {\n\t _classCallCheck(this, AddThis);\n\t\n\t return _possibleConstructorReturn(this, (AddThis.__proto__ || Object.getPrototypeOf(AddThis)).apply(this, arguments));\n\t }\n\t\n\t _createClass(AddThis, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t if (!didLoadScript) {\n\t var pubId = this.props.pubId;\n\t\n\t\n\t var child = document.createElement('script');\n\t var parent = document.getElementsByTagName('body')[0];\n\t child.type = 'text/javascript';\n\t child.src = 'https://s7.addthis.com/js/300/addthis_widget.js#pubid=' + pubId;\n\t parent.appendChild(child);\n\t\n\t didLoadScript = true;\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t return null;\n\t }\n\t }]);\n\t\n\t return AddThis;\n\t}(_react.Component), _class.propTypes = {\n\t pubId: _react.PropTypes.string.isRequired\n\t}, _temp);\n\texports.default = AddThis;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1246 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar didLoadDisqusScript = false;\n\t\n\tfunction copyProps(context, props) {\n\t var prefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n\t\n\t Object.keys(props).forEach(function (prop) {\n\t context[prefix + prop] = props[prop];\n\t });\n\t}\n\t\n\tvar DisqusComments = (_temp = _class = function (_Component) {\n\t _inherits(DisqusComments, _Component);\n\t\n\t function DisqusComments() {\n\t _classCallCheck(this, DisqusComments);\n\t\n\t return _possibleConstructorReturn(this, (DisqusComments.__proto__ || Object.getPrototypeOf(DisqusComments)).apply(this, arguments));\n\t }\n\t\n\t _createClass(DisqusComments, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t this.loadDisqus();\n\t }\n\t }, {\n\t key: 'addDisqusScript',\n\t value: function addDisqusScript() {\n\t if (!didLoadDisqusScript) {\n\t var child = this.disqus = document.createElement('script');\n\t var parent = document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0];\n\t\n\t child.async = true;\n\t child.type = 'text/javascript';\n\t child.src = 'https://' + this.props.shortname + '.disqus.com/embed.js';\n\t\n\t parent.appendChild(child);\n\t didLoadDisqusScript = true;\n\t }\n\t }\n\t }, {\n\t key: 'loadDisqus',\n\t value: function loadDisqus() {\n\t var DISQUS = window['DISQUS'];\n\t var props = this.props;\n\t\n\t if (typeof DISQUS !== 'undefined') {\n\t // If Disqus has already been added, reset it\n\t DISQUS.reset({\n\t reload: true,\n\t config: function config() {\n\t copyProps(this.page, props);\n\t }\n\t });\n\t } else {\n\t copyProps(window, props, 'disqus_');\n\t this.addDisqusScript();\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement('div', { id: 'disqus_thread' })\n\t );\n\t }\n\t }]);\n\t\n\t return DisqusComments;\n\t}(_react.Component), _class.propTypes = {\n\t shortname: _react.PropTypes.string.isRequired,\n\t identifier: _react.PropTypes.string,\n\t title: _react.PropTypes.string,\n\t url: _react.PropTypes.string,\n\t category_id: _react.PropTypes.string\n\t}, _temp);\n\texports.default = DisqusComments;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1247 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactFacebook = __webpack_require__(2177);\n\t\n\tvar _reactFacebook2 = _interopRequireDefault(_reactFacebook);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar FacebookComments = (_temp = _class = function (_Component) {\n\t _inherits(FacebookComments, _Component);\n\t\n\t function FacebookComments() {\n\t _classCallCheck(this, FacebookComments);\n\t\n\t return _possibleConstructorReturn(this, (FacebookComments.__proto__ || Object.getPrototypeOf(FacebookComments)).apply(this, arguments));\n\t }\n\t\n\t _createClass(FacebookComments, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t version = _props.version,\n\t appID = _props.appId,\n\t href = _props.href,\n\t colorScheme = _props.colorScheme,\n\t width = _props.width,\n\t numPosts = _props.numPosts,\n\t orderBy = _props.orderBy;\n\t\n\t\n\t var appConfig = {\n\t version: version,\n\t appID: appID\n\t };\n\t\n\t var commentsProps = {\n\t colorScheme: colorScheme,\n\t width: width,\n\t numPosts: numPosts,\n\t orderBy: orderBy\n\t };\n\t\n\t if (href) {\n\t commentsProps.href = href;\n\t } else {\n\t // WEB-4491 for HTTPS, use the hostname + pathname only: https://stackoverflow.com/questions/43620722/can-we-get-the-fb-comments-made-for-the-http-site-now-that-weve-moved-to-https\n\t commentsProps.href = window.location.hostname + window.location.pathname; // for now this only runs client-side.\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'FacebookComment' },\n\t _react2.default.createElement(\n\t _reactFacebook2.default,\n\t appConfig,\n\t _react2.default.createElement(_reactFacebook.Comments, commentsProps)\n\t )\n\t );\n\t }\n\t\n\t // NOTE: colorScheme and orderBy defaults inside 'react-facebook' turns into all\n\t // caps, which causes issues. Not 100% sure, but may have to do with our specific\n\t // build setup. This is a workaround, which works at least for now.\n\t\n\t }]);\n\t\n\t return FacebookComments;\n\t}(_react.Component), _class.propTypes = {\n\t version: _react.PropTypes.string,\n\t appId: _react.PropTypes.string.isRequired,\n\t href: _react.PropTypes.string,\n\t numPosts: _react.PropTypes.number,\n\t orderBy: _react.PropTypes.string,\n\t colorScheme: _react.PropTypes.string,\n\t width: _react.PropTypes.string }, _class.defaultProps = {\n\t version: 'v2.5',\n\t numPosts: 5,\n\t colorScheme: 'light',\n\t width: '100%',\n\t orderBy: 'social'\n\t}, _temp);\n\texports.default = FacebookComments;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1248 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar TwitterFeed = (_temp = _class = function (_Component) {\n\t _inherits(TwitterFeed, _Component);\n\t\n\t function TwitterFeed() {\n\t _classCallCheck(this, TwitterFeed);\n\t\n\t return _possibleConstructorReturn(this, (TwitterFeed.__proto__ || Object.getPrototypeOf(TwitterFeed)).apply(this, arguments));\n\t }\n\t\n\t _createClass(TwitterFeed, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t /* eslint-disable */\n\t\n\t window.twttr = function (d, s, id) {\n\t var js,\n\t fjs = d.getElementsByTagName(s)[0],\n\t t = window.twttr || {};\n\t if (d.getElementById(id)) return t;\n\t js = d.createElement(s);\n\t js.id = id;\n\t js.src = \"https://platform.twitter.com/widgets.js\";\n\t fjs.parentNode.insertBefore(js, fjs);\n\t\n\t t._e = [];\n\t t.ready = function (f) {\n\t t._e.push(f);\n\t };\n\t\n\t return t;\n\t }(document, \"script\", \"twitter-wjs\");\n\t\n\t /* eslint-enable */\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t title = _props.title,\n\t screenName = _props.screenName,\n\t widgetId = _props.widgetId,\n\t titleType = _props.titleType;\n\t\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'TwitterFeed' },\n\t _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, title: title, classes: 'TwitterFeed-header' }),\n\t _react2.default.createElement('div', { id: 'TwitterFeed-container' }),\n\t _react2.default.createElement('a', { className: 'twitter-timeline',\n\t 'data-widget-id': widgetId,\n\t 'data-screen-name': screenName,\n\t 'data-chrome': 'noheader nofooter noborders noscrollbar',\n\t 'data-tweet-limit': '3' })\n\t );\n\t }\n\t }]);\n\t\n\t return TwitterFeed;\n\t}(_react.Component), _class.propTypes = {\n\t title: _react.PropTypes.string,\n\t screenName: _react.PropTypes.string,\n\t widgetId: _react.PropTypes.string,\n\t titleType: _react.PropTypes.string\n\t}, _class.defaultProps = {\n\t title: '',\n\t screenName: '',\n\t widgetId: '',\n\t titleType: _FRNBaseStyles.TITLE_TYPE.MODULE_TITLE\n\t}, _temp);\n\texports.default = TwitterFeed;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1249 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t\tvalue: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar didTraqliScriptLoad = false;\n\t\n\tvar Traqli = (_temp = _class = function (_Component) {\n\t\t_inherits(Traqli, _Component);\n\t\n\t\tfunction Traqli() {\n\t\t\t_classCallCheck(this, Traqli);\n\t\n\t\t\treturn _possibleConstructorReturn(this, (Traqli.__proto__ || Object.getPrototypeOf(Traqli)).apply(this, arguments));\n\t\t}\n\t\n\t\t_createClass(Traqli, [{\n\t\t\tkey: \"componentDidMount\",\n\t\t\tvalue: function componentDidMount() {\n\t\t\t\tvar traqliClientId = this.props.traqliClientId;\n\t\n\t\n\t\t\t\tif (!didTraqliScriptLoad) {\n\t\t\t\t\tvar e = document.createElement(\"script\");\n\t\t\t\t\te.setAttribute(\"id\", \"tqflexsdksel\");\n\t\t\t\t\te.setAttribute(\"fusionId\", traqliClientId);\n\t\t\t\t\te.type = \"text/javascript\";\n\t\t\t\t\te.src = \"https://api.traq.li/public/sdk/v03/sdk.js\";\n\t\t\t\t\te.async = true;\n\t\t\t\t\tdocument.getElementById(\"traqli\").appendChild(e);\n\t\t\t\t\tdidTraqliScriptLoad = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}, {\n\t\t\tkey: \"render\",\n\t\t\tvalue: function render() {\n\t\t\t\treturn _react2.default.createElement(\"div\", { id: \"traqli\" });\n\t\t\t}\n\t\t}]);\n\t\n\t\treturn Traqli;\n\t}(_react.Component), _class.propTypes = {\n\t\ttraqliClientId: _react.PropTypes.number.isRequired\n\t}, _temp);\n\texports.default = Traqli;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1250 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _frankly = __webpack_require__(36);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar didVuukleScriptLoad = false;\n\t\n\tvar Vuukle = (_temp = _class = function (_Component) {\n\t _inherits(Vuukle, _Component);\n\t\n\t function Vuukle() {\n\t _classCallCheck(this, Vuukle);\n\t\n\t return _possibleConstructorReturn(this, (Vuukle.__proto__ || Object.getPrototypeOf(Vuukle)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Vuukle, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var _this2 = this;\n\t\n\t var _props = this.props,\n\t color = _props.color,\n\t apiKey = _props.apiKey,\n\t languageCode = _props.languageCode;\n\t var _context = this.context,\n\t flux = _context.flux,\n\t _context$config = _context.config;\n\t _context$config = _context$config === undefined ? {} : _context$config;\n\t var _context$config$integ = _context$config.integrations;\n\t _context$config$integ = _context$config$integ === undefined ? {} : _context$config$integ;\n\t var _context$config$integ2 = _context$config$integ.frankly;\n\t _context$config$integ2 = _context$config$integ2 === undefined ? {} : _context$config$integ2;\n\t var _context$config$integ3 = _context$config$integ2.franklyGoogleAnalyticsIdForAffiliate,\n\t GACode = _context$config$integ3 === undefined ? '' : _context$config$integ3;\n\t\n\t\n\t var metas = flux.getStore('Helmet').getState().metas;\n\t\n\t if (!didVuukleScriptLoad && window && document) {\n\t var vuukleScript = document.createElement('script');\n\t vuukleScript.type = 'text/javascript';\n\t vuukleScript.src = 'https://vuukle.com/js/vuukle.js';\n\t document.body.appendChild(vuukleScript);\n\t didVuukleScriptLoad = true;\n\t window.addEventListener('load', function () {\n\t _this2.loadVuukle(color, apiKey, languageCode, metas, GACode);\n\t });\n\t }\n\t }\n\t }, {\n\t key: 'loadVuukle',\n\t value: function loadVuukle(color, apiKey, languageCode, metas, GACode) {\n\t var createVuuklePlatform = window['create_vuukle_platform'];\n\t var metasObj = {};\n\t\n\t var franklyDataLayer = window['franklyDataLayer'] || [{}];\n\t\n\t var _franklyDataLayer = _slicedToArray(franklyDataLayer, 1),\n\t _franklyDataLayer$ = _franklyDataLayer[0],\n\t featureId = _franklyDataLayer$.feature_id,\n\t featureAuthor = _franklyDataLayer$.author;\n\t\n\t if (createVuuklePlatform !== 'undefined') {\n\t metas.forEach(function (meta) {\n\t var _meta$name = meta.name,\n\t metaName = _meta$name === undefined ? '' : _meta$name,\n\t _meta$property = meta.property,\n\t property = _meta$property === undefined ? '' : _meta$property,\n\t _meta$content = meta.content,\n\t content = _meta$content === undefined ? '' : _meta$content;\n\t\n\t var name = metaName || property;\n\t\n\t if (['og:title', 'keywords'].indexOf(name) !== -1) {\n\t metasObj[name] = content;\n\t }\n\t });\n\t\n\t var _metasObj$ogTitle = metasObj['og:title'],\n\t title = _metasObj$ogTitle === undefined ? '' : _metasObj$ogTitle,\n\t _metasObj$keywords = metasObj.keywords,\n\t keywords = _metasObj$keywords === undefined ? '' : _metasObj$keywords;\n\t\n\t\n\t var articleDataStoreDispatcher = new _frankly.DataStoreDispatcher('franklyinc.com/article');\n\t var articleId = articleDataStoreDispatcher.get('articleId') || featureId || '';\n\t var authorsString = articleDataStoreDispatcher.get('authors') || featureAuthor || '';\n\t var authors = authorsString.split(/,|&/);\n\t var vuukleAuthors = [];\n\t\n\t authors.forEach(function (author) {\n\t vuukleAuthors.push({ name: author.trim() });\n\t });\n\t var encodedAuthor = btoa(encodeURI(JSON.stringify(vuukleAuthors)));\n\t\n\t createVuuklePlatform(apiKey, articleId, '0', keywords, title, languageCode, '1', '', GACode, color.substring(1), encodedAuthor);\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement('div', { id: 'vuukle-emote' }),\n\t _react2.default.createElement('div', { id: 'vuukle_div' })\n\t );\n\t }\n\t }]);\n\t\n\t return Vuukle;\n\t}(_react.Component), _class.propTypes = {\n\t apiKey: _react.PropTypes.string.isRequired,\n\t color: _react.PropTypes.string,\n\t languageCode: _react.PropTypes.string\n\t}, _class.contextTypes = {\n\t config: _react.PropTypes.object.isRequired,\n\t flux: _react.PropTypes.object.isRequired\n\t}, _class.defaultProps = {\n\t color: '#44c8e4',\n\t languageCode: 'en'\n\t}, _temp);\n\texports.default = Vuukle;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1251 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp2, _class2, _temp3, _class3, _temp4, _class4, _temp5;\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _lodash2 = _interopRequireDefault(_lodash);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactBootstrap = __webpack_require__(26);\n\t\n\tvar _WeatherUtils = __webpack_require__(221);\n\t\n\tvar _DateUtils = __webpack_require__(54);\n\t\n\tvar _Timestamp = __webpack_require__(47);\n\t\n\tvar _Timestamp2 = _interopRequireDefault(_Timestamp);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _WeatherAlertIcon = __webpack_require__(371);\n\t\n\tvar _WeatherAlertIcon2 = _interopRequireDefault(_WeatherAlertIcon);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t/**\n\t *\n\t * Class representing the container for the multiday and hourly weather forecast components.\n\t *\n\t */\n\tvar WeatherAlerts = (_temp2 = _class = function (_Component) {\n\t _inherits(WeatherAlerts, _Component);\n\t\n\t function WeatherAlerts() {\n\t var _ref;\n\t\n\t var _temp, _this, _ret;\n\t\n\t _classCallCheck(this, WeatherAlerts);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = WeatherAlerts.__proto__ || Object.getPrototypeOf(WeatherAlerts)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n\t showModal: false,\n\t expandedAlertIndex: -1,\n\t showAllAlerts: false\n\t }, _temp), _possibleConstructorReturn(_this, _ret);\n\t }\n\t\n\t _createClass(WeatherAlerts, [{\n\t key: '_setModalVisible',\n\t value: function _setModalVisible() {\n\t var alertIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;\n\t\n\t this.setState({\n\t showModal: true,\n\t expandedAlertIndex: alertIndex\n\t });\n\t }\n\t\n\t // Hide the modal and unassign any expanded alert\n\t\n\t }, {\n\t key: '_setModalHidden',\n\t value: function _setModalHidden() {\n\t this.setState({\n\t showModal: false,\n\t expandedAlertIndex: -1\n\t });\n\t }\n\t }, {\n\t key: '_toggleAlertListItems',\n\t value: function _toggleAlertListItems() {\n\t this.setState({\n\t showAllAlerts: !this.state.showAllAlerts\n\t });\n\t }\n\t\n\t // Assign the alert which will display its full text in the modal\n\t\n\t }, {\n\t key: '_setExpandedIndex',\n\t value: function _setExpandedIndex() {\n\t var alertIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;\n\t var expandedAlertIndex = this.state.expandedAlertIndex;\n\t\n\t var newExpandedIndex = alertIndex !== expandedAlertIndex ? alertIndex : -1;\n\t\n\t this.setState({\n\t expandedAlertIndex: newExpandedIndex\n\t });\n\t }\n\t\n\t // When a user clicks on an alert show them either the station's default page, or display\n\t // a modal with the full alert in it.\n\t\n\t }, {\n\t key: '_showFullAlerts',\n\t value: function _showFullAlerts() {\n\t var alertIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;\n\t var event = arguments[1];\n\t var _context = this.context,\n\t config = _context.config,\n\t location = _context.location;\n\t var alertsPageUri = this.props.alertsPageUri;\n\t var _config$affiliate = config.affiliate;\n\t _config$affiliate = _config$affiliate === undefined ? {} : _config$affiliate;\n\t var _config$affiliate$loc = _config$affiliate.locations,\n\t stationLocations = _config$affiliate$loc === undefined ? [] : _config$affiliate$loc;\n\t\n\t // If the current location isn't a default location in the config, then show the modal with the alert in it,\n\t // otherwise the default browser behaviour will follow the link given in the prop alertsPageUri\n\t\n\t if (!_lodash2.default.find(stationLocations, { 'zipcode': Number(location.zipcode) }) || !alertsPageUri) {\n\t event.preventDefault();\n\t this._setModalVisible(alertIndex);\n\t }\n\t }\n\t\n\t // Remove any alerts that are not in the filter type, and sort them into the appropriate order. The order is specified\n\t // by whatever order the allowedAlerts comes in as, and then by date within that list.\n\t\n\t }, {\n\t key: '_filterAlertsByType',\n\t value: function _filterAlertsByType(alerts, allowedAlerts) {\n\t var _this2 = this;\n\t\n\t var filteredAlerts = _lodash2.default.filter(alerts, function (alert) {\n\t return _lodash2.default.find(allowedAlerts, function (filterItem) {\n\t return _this2._compareAlertFilter(filterItem, alert);\n\t });\n\t });\n\t\n\t var alertWithBackgroundColor = _lodash2.default.map(filteredAlerts, function (alert) {\n\t var alertFilter = _lodash2.default.find(allowedAlerts, function (filterItem) {\n\t return _this2._compareAlertFilter(filterItem, alert);\n\t });\n\t\n\t return _lodash2.default.assign(alert, { backgroundColor: alertFilter.backgroundColor });\n\t });\n\t\n\t return _lodash2.default.sortBy(alertWithBackgroundColor, function (alert) {\n\t return _lodash2.default.findIndex(allowedAlerts, function (filterItem) {\n\t return _this2._compareAlertFilter(filterItem, alert);\n\t });\n\t });\n\t }\n\t }, {\n\t key: '_compareAlertFilter',\n\t value: function _compareAlertFilter(filterItem, alert) {\n\t var alertTitle = alert['headline'] || '';\n\t\n\t return filterItem.type.toLowerCase() === alertTitle.split(' ').pop().toLowerCase();\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this3 = this;\n\t\n\t var _state = this.state,\n\t showModal = _state.showModal,\n\t expandedAlertIndex = _state.expandedAlertIndex,\n\t showAllAlerts = _state.showAllAlerts;\n\t var _props = this.props,\n\t _props$FRN_rawRespons = _props.FRN_rawResponses;\n\t _props$FRN_rawRespons = _props$FRN_rawRespons === undefined ? [] : _props$FRN_rawRespons;\n\t\n\t var _props$FRN_rawRespons2 = _slicedToArray(_props$FRN_rawRespons, 1),\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons2[0];\n\t\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons3 === undefined ? {} : _props$FRN_rawRespons3;\n\t var _props$FRN_rawRespons4 = _props$FRN_rawRespons3.data,\n\t alerts = _props$FRN_rawRespons4 === undefined ? [] : _props$FRN_rawRespons4,\n\t title = _props.title,\n\t _props$allowedAlerts = _props.allowedAlerts,\n\t allowedAlerts = _props$allowedAlerts === undefined ? [] : _props$allowedAlerts,\n\t alertsPageUri = _props.alertsPageUri,\n\t _props$timestampOptio = _props.timestampOptions,\n\t timestampOptions = _props$timestampOptio === undefined ? {} : _props$timestampOptio;\n\t\n\t\n\t var alertsToDisplay = void 0;\n\t if (allowedAlerts.length > 0) {\n\t alertsToDisplay = this._filterAlertsByType(alerts, allowedAlerts);\n\t } else {\n\t alertsToDisplay = alerts;\n\t }\n\t\n\t if (alertsToDisplay.length === 0) {\n\t return null;\n\t }\n\t\n\t var items = alertsToDisplay.map(function (alert, i) {\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlert-listItem', key: i,\n\t style: { backgroundColor: alert.backgroundColor || '#d20202' } },\n\t _react2.default.createElement(WeatherAlertItem, {\n\t alert: alert,\n\t onClick: _this3._showFullAlerts.bind(_this3, i) })\n\t );\n\t });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlert' },\n\t _react2.default.createElement(\n\t 'a',\n\t { className: 'WeatherAlert-stationAlertLink', href: alertsPageUri, target: '_top' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlert-listAdvisory' },\n\t showAllAlerts ? items : items[0]\n\t )\n\t ),\n\t alertsToDisplay.length > 1 ? _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlert-totalPillContainer', onClick: function onClick() {\n\t return _this3._toggleAlertListItems();\n\t } },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlert-totalPill', style: { color: alertsToDisplay[0].backgroundColor || '#d20202' } },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'WeatherAlert-totalPillIcon' },\n\t _react2.default.createElement(_WeatherAlertIcon2.default, { iconType: 'alert' })\n\t ),\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'WeatherAlert-totalValue' },\n\t alertsToDisplay.length\n\t )\n\t )\n\t ) : null,\n\t _react2.default.createElement(WeatherAlertModal, { title: title,\n\t showModal: showModal,\n\t alerts: alertsToDisplay,\n\t expandedAlertIndex: expandedAlertIndex,\n\t onHideModal: this._setModalHidden.bind(this),\n\t onAlertClick: this._setExpandedIndex.bind(this),\n\t timestampOptions: timestampOptions })\n\t );\n\t }\n\t }]);\n\t\n\t return WeatherAlerts;\n\t}(_react.Component), _class.propTypes = {\n\t FRN_rawResponses: _react.PropTypes.array,\n\t title: _react.PropTypes.string,\n\t alertsPageUri: _react.PropTypes.string,\n\t allowedAlerts: _react.PropTypes.array,\n\t timestampOptions: _react.PropTypes.shape({\n\t showElapsedTime: _react.PropTypes.bool,\n\t displayShortDateTime: _react.PropTypes.bool\n\t })\n\t}, _class.contextTypes = {\n\t flux: _react.PropTypes.object.isRequired,\n\t location: _react.PropTypes.object.isRequired,\n\t config: _react.PropTypes.object.isRequired\n\t}, _class.defaultProps = {\n\t title: \"Weather Advisory In Effect\",\n\t alertsPageUri: '',\n\t allowedAlerts: []\n\t}, _temp2);\n\t\n\t/**\n\t * Class representing a weather alert item.\n\t */\n\t\n\tvar WeatherAlertItem = (_temp3 = _class2 = function (_Component2) {\n\t _inherits(WeatherAlertItem, _Component2);\n\t\n\t function WeatherAlertItem() {\n\t _classCallCheck(this, WeatherAlertItem);\n\t\n\t return _possibleConstructorReturn(this, (WeatherAlertItem.__proto__ || Object.getPrototypeOf(WeatherAlertItem)).apply(this, arguments));\n\t }\n\t\n\t _createClass(WeatherAlertItem, [{\n\t key: '_getTimeDuration',\n\t value: function _getTimeDuration(startTime, endTime) {\n\t var duration = '';\n\t\n\t if (startTime) {\n\t duration = ' From ' + (0, _DateUtils.formatDate)((0, _DateUtils.formatWsiDate)(startTime), 'dddd, MMMM Do Y, h:mm a z');\n\t }\n\t\n\t if (endTime) {\n\t duration += ' until ' + (0, _DateUtils.formatDate)((0, _DateUtils.formatWsiDate)(endTime), 'dddd, MMMM Do Y, h:mm a z');\n\t }\n\t\n\t return duration;\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props2 = this.props,\n\t _props2$alert = _props2.alert;\n\t _props2$alert = _props2$alert === undefined ? {} : _props2$alert;\n\t var title = _props2$alert.headline,\n\t startTime = _props2$alert.startTime,\n\t endTime = _props2$alert.endTime,\n\t onClick = _props2.onClick;\n\t\n\t var category = (0, _WeatherUtils.getWeatherCategoryFromCondition)(title);\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlertItem', onClick: onClick },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlertItem-advisoryImage' },\n\t _react2.default.createElement(_WeatherAlertIcon2.default, { iconType: category })\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlertItem-advisoryText' },\n\t _react2.default.createElement(\n\t 'h2',\n\t { className: 'WeatherAlertItem-advisoryTitle' },\n\t title\n\t ),\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'WeatherAlertItem-advisoryDuration' },\n\t this._getTimeDuration(startTime, endTime)\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return WeatherAlertItem;\n\t}(_react.Component), _class2.propTypes = {\n\t alert: _react.PropTypes.object.isRequired,\n\t onClick: _react.PropTypes.func\n\t}, _temp3);\n\t\n\t/**\n\t * Class representing the modal for the current weather alerts\n\t */\n\t\n\tvar WeatherAlertModal = (_temp4 = _class3 = function (_Component3) {\n\t _inherits(WeatherAlertModal, _Component3);\n\t\n\t function WeatherAlertModal() {\n\t _classCallCheck(this, WeatherAlertModal);\n\t\n\t return _possibleConstructorReturn(this, (WeatherAlertModal.__proto__ || Object.getPrototypeOf(WeatherAlertModal)).apply(this, arguments));\n\t }\n\t\n\t _createClass(WeatherAlertModal, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props3 = this.props,\n\t _props3$title = _props3.title,\n\t title = _props3$title === undefined ? '' : _props3$title,\n\t _props3$alerts = _props3.alerts,\n\t alerts = _props3$alerts === undefined ? [] : _props3$alerts,\n\t _props3$expandedAlert = _props3.expandedAlertIndex,\n\t expandedAlertIndex = _props3$expandedAlert === undefined ? -1 : _props3$expandedAlert,\n\t onAlertClick = _props3.onAlertClick,\n\t showModal = _props3.showModal,\n\t onHideModal = _props3.onHideModal,\n\t _props3$timestampOpti = _props3.timestampOptions,\n\t timestampOptions = _props3$timestampOpti === undefined ? {} : _props3$timestampOpti,\n\t _props3$titleType = _props3.titleType,\n\t titleType = _props3$titleType === undefined ? _FRNBaseStyles.TITLE_TYPE.MODULE_TITLE : _props3$titleType;\n\t\n\t\n\t var weatherAlertItems = alerts.map(function (alert, i) {\n\t return _react2.default.createElement(WeatherAlertModalItem, { key: i, index: i, alert: alert, expanded: i === expandedAlertIndex, onClick: onAlertClick, timestampOptions: timestampOptions });\n\t });\n\t\n\t return _react2.default.createElement(\n\t _reactBootstrap.Modal,\n\t { className: 'WeatherAlertModal',\n\t show: showModal,\n\t onHide: onHideModal,\n\t backdrop: true,\n\t 'aria-labelledby': 'contained-modal-title-lg' },\n\t _react2.default.createElement(_reactBootstrap.Modal.Header, { className: 'WeatherAlertModal-header', closeButton: true }),\n\t _react2.default.createElement(\n\t _reactBootstrap.Modal.Body,\n\t null,\n\t title ? _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, title: title, classes: 'WeatherAlertModal-title' }) : null,\n\t weatherAlertItems\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return WeatherAlertModal;\n\t}(_react.Component), _class3.propTypes = {\n\t title: _react.PropTypes.string,\n\t alerts: _react.PropTypes.array.isRequired,\n\t expandedAlertIndex: _react.PropTypes.number,\n\t onAlertClick: _react.PropTypes.func,\n\t showModal: _react.PropTypes.bool.isRequired,\n\t onHideModal: _react.PropTypes.func.isRequired,\n\t timestampOptions: _react.PropTypes.shape({\n\t showElapsedTime: _react.PropTypes.bool,\n\t displayShortDateTime: _react.PropTypes.bool\n\t }),\n\t titleType: _react.PropTypes.string\n\t}, _temp4);\n\t\n\t/**\n\t * Class representing a weather alert item in the modal list\n\t */\n\t\n\tvar WeatherAlertModalItem = (_temp5 = _class4 = function (_Component4) {\n\t _inherits(WeatherAlertModalItem, _Component4);\n\t\n\t function WeatherAlertModalItem() {\n\t _classCallCheck(this, WeatherAlertModalItem);\n\t\n\t return _possibleConstructorReturn(this, (WeatherAlertModalItem.__proto__ || Object.getPrototypeOf(WeatherAlertModalItem)).apply(this, arguments));\n\t }\n\t\n\t _createClass(WeatherAlertModalItem, [{\n\t key: '_onClick',\n\t value: function _onClick() {\n\t var _props4 = this.props,\n\t onClick = _props4.onClick,\n\t index = _props4.index;\n\t\n\t\n\t if (onClick) {\n\t onClick(index);\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this7 = this;\n\t\n\t var _props5 = this.props,\n\t _props5$alert = _props5.alert;\n\t _props5$alert = _props5$alert === undefined ? {} : _props5$alert;\n\t var title = _props5$alert['headline'],\n\t bulletin = _props5$alert.bulletin,\n\t publishDate = _props5$alert['startTime'],\n\t _props5$alert$backgro = _props5$alert.backgroundColor,\n\t backgroundColor = _props5$alert$backgro === undefined ? '#d20202' : _props5$alert$backgro,\n\t _props5$expanded = _props5.expanded,\n\t expanded = _props5$expanded === undefined ? false : _props5$expanded,\n\t _props5$timestampOpti = _props5.timestampOptions;\n\t _props5$timestampOpti = _props5$timestampOpti === undefined ? {} : _props5$timestampOpti;\n\t var showElapsedTime = _props5$timestampOpti.showElapsedTime,\n\t displayShortDateTime = _props5$timestampOpti.displayShortDateTime;\n\t\n\t var formattedBulletin = bulletin.toLowerCase();\n\t var formattedDate = (0, _DateUtils.formatWsiDate)(publishDate);\n\t var category = (0, _WeatherUtils.getWeatherCategoryFromCondition)(title);\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlertModalItem' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlertModalItem-advisory' },\n\t _react2.default.createElement(_WeatherAlertIcon2.default, { iconType: category, backgroundColor: backgroundColor }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlertModalItem-header', onClick: function onClick() {\n\t return _this7._onClick();\n\t } },\n\t _react2.default.createElement(\n\t 'h2',\n\t { className: 'WeatherAlertModalItem-advisoryTitle' },\n\t title\n\t ),\n\t _react2.default.createElement(_Timestamp2.default, { publishDate: formattedDate, showElapsedTime: showElapsedTime, displayShortDateTime: displayShortDateTime })\n\t ),\n\t expanded ? _react2.default.createElement('div', { className: 'WeatherAlertModalItem-advisoryText',\n\t dangerouslySetInnerHTML: { __html: formattedBulletin.replace(/\\n/g, '
') } }) : null\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return WeatherAlertModalItem;\n\t}(_react.Component), _class4.propTypes = {\n\t alert: _react.PropTypes.object.isRequired,\n\t expanded: _react.PropTypes.bool,\n\t index: _react.PropTypes.number.isRequired,\n\t onClick: _react.PropTypes.func,\n\t timestampOptions: _react.PropTypes.shape({\n\t showElapsedTime: _react.PropTypes.bool,\n\t displayShortDateTime: _react.PropTypes.bool\n\t })\n\t}, _temp5);\n\texports.default = WeatherAlerts;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1252 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _frankly = __webpack_require__(36);\n\t\n\tvar _store = __webpack_require__(550);\n\t\n\tvar _store2 = _interopRequireDefault(_store);\n\t\n\tvar _classnames = __webpack_require__(2);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _translate = __webpack_require__(51);\n\t\n\tvar _translate2 = _interopRequireDefault(_translate);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\t\n\tfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar TRANSITION_ABOVE_BREAKPOINT = 992;\n\t\n\t/**\n\t * Class representing the a snapshot of the current weather conditions\n\t *\n\t * Dependent on\n\t * - GET /api/integrations/wsi/current\n\t * - GET /api/integrations/wsi/current?zipcode=${zipcode}\n\t */\n\t\n\tvar CurrentConditionsAtAGlance = (_temp = _class = function (_Component) {\n\t _inherits(CurrentConditionsAtAGlance, _Component);\n\t\n\t function CurrentConditionsAtAGlance(props) {\n\t _classCallCheck(this, CurrentConditionsAtAGlance);\n\t\n\t var _this = _possibleConstructorReturn(this, (CurrentConditionsAtAGlance.__proto__ || Object.getPrototypeOf(CurrentConditionsAtAGlance)).call(this, props));\n\t\n\t _this.state = {\n\t temperatureFormat: 'F',\n\t activeIndex: 0\n\t };\n\t\n\t\n\t _this._weatherDataStoreDispatcher = null;\n\t _this._locationWeatherData = [];\n\t _this._locations = [];\n\t _this._transitionIntervalId = null;\n\t return _this;\n\t }\n\t\n\t _createClass(CurrentConditionsAtAGlance, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var _this2 = this;\n\t\n\t if (true) {\n\t var _props$FRN_rawRespons = this.props.FRN_rawResponses,\n\t FRN_rawResponses = _props$FRN_rawRespons === undefined ? [{ data: {} }] : _props$FRN_rawRespons;\n\t\n\t var data = FRN_rawResponses.data;\n\t\n\t this._locations = this._getLocations();\n\t\n\t if (!data || (typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object' && data === {}) {\n\t this._getWeatherForZipcode(0, this._locations[0].zipcode);\n\t } else {\n\t this._setLocationWeatherInfo(this.state.activeIndex, data); // activeIndex === 0 at this point\n\t }\n\t\n\t // //Prefetch the next weather data:\n\t if (this._locations[1]) {\n\t this._getWeatherForZipcode(1, this._locations[1].zipcode);\n\t }\n\t\n\t this._weatherDataStoreDispatcher = new _frankly.DataStoreDispatcher('franklyinc.com/weather');\n\t\n\t this._weatherDataStoreDispatcher.onChange('temperatureFormat', function (val) {\n\t _this2.setState({\n\t temperatureFormat: val\n\t });\n\t });\n\t }\n\t }\n\t }, {\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var transitionTimeInSeconds = this.props.transitionTimeInSeconds;\n\t\n\t if (transitionTimeInSeconds > 0 && window.innerWidth > TRANSITION_ABOVE_BREAKPOINT) {\n\t this._startAutoChangeInterval(transitionTimeInSeconds);\n\t }\n\t }\n\t }, {\n\t key: 'componentWillUnmount',\n\t value: function componentWillUnmount() {\n\t this._weatherDataStoreDispatcher.off();\n\t this._weatherDataStoreDispatcher = null;\n\t clearInterval(this._transitionIntervalId);\n\t }\n\t }, {\n\t key: '_startAutoChangeInterval',\n\t value: function _startAutoChangeInterval(transitionTimeInSeconds) {\n\t var _this3 = this;\n\t\n\t this._transitionIntervalId = setInterval(function () {\n\t var activeIndex = _this3.state.activeIndex;\n\t\n\t var nextIndex = (activeIndex + 1) % _this3._locations.length;\n\t\n\t if (_this3._locations[nextIndex]) {\n\t _this3._onChange(nextIndex);\n\t }\n\t }, transitionTimeInSeconds * 1000);\n\t }\n\t }, {\n\t key: '_getWeatherForZipcode',\n\t value: function _getWeatherForZipcode(index, zipcode) {\n\t var _this4 = this;\n\t\n\t (0, _frankly.readComponentInstanceResourceList)(this, { propPath: 'zipcodeData', vars: { zipcode: zipcode } }).then(function (rawresponse) {\n\t _this4._setLocationWeatherInfo(index, rawresponse[0].data);\n\t }).catch(function (error) {\n\t console.log('Error fetching data', error);\n\t });\n\t }\n\t }, {\n\t key: '_onChange',\n\t value: function _onChange(index) {\n\t var nextIndex = (index + 1) % this._locations.length;\n\t\n\t this.setState({ activeIndex: index });\n\t\n\t //Pre fetch the next set of data if we haven't got it\n\t if (!this._locationWeatherData[nextIndex]) {\n\t this._getWeatherForZipcode(nextIndex, this._locations[nextIndex].zipcode);\n\t }\n\t }\n\t }, {\n\t key: '_getLocations',\n\t value: function _getLocations() {\n\t var _context$config$affil = this.context.config.affiliate;\n\t _context$config$affil = _context$config$affil === undefined ? {} : _context$config$affil;\n\t var _context$config$affil2 = _context$config$affil.locations,\n\t stationLocations = _context$config$affil2 === undefined ? [] : _context$config$affil2;\n\t\n\t var userLocations = _store2.default.get('_locations') || [];\n\t\n\t return [].concat(_toConsumableArray(userLocations), _toConsumableArray(stationLocations));\n\t }\n\t }, {\n\t key: '_setLocationWeatherInfo',\n\t value: function _setLocationWeatherInfo(index, data) {\n\t if (data) {\n\t this._locationWeatherData[index] = data;\n\t\n\t if (index === 0) {\n\t this.setState({ activeIndex: index });\n\t }\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _context$config = this.context.config;\n\t _context$config = _context$config === undefined ? {} : _context$config;\n\t var _context$config$appOp = _context$config.appOptions;\n\t _context$config$appOp = _context$config$appOp === undefined ? {} : _context$config$appOp;\n\t var _context$config$appOp2 = _context$config$appOp.language,\n\t language = _context$config$appOp2 === undefined ? 'en' : _context$config$appOp2;\n\t var _props = this.props,\n\t _props$link = _props.link,\n\t link = _props$link === undefined ? '' : _props$link,\n\t showCityName = _props.showCityName,\n\t backgroundColor = _props.backgroundColor,\n\t textColor = _props.textColor,\n\t textSize = _props.textSize,\n\t iconSize = _props.iconSize,\n\t condensed = _props.condensed,\n\t showDetail = _props.showDetail;\n\t var _state = this.state,\n\t temperatureFormat = _state.temperatureFormat,\n\t activeIndex = _state.activeIndex;\n\t\n\t\n\t var activeWeatherData = this._locationWeatherData[activeIndex];\n\t\n\t if (!activeWeatherData) {\n\t return null;\n\t }\n\t\n\t var tempF = activeWeatherData.tempF,\n\t tempC = activeWeatherData.tempC,\n\t iconCode = activeWeatherData.iconCode,\n\t sky = activeWeatherData.sky,\n\t hiTempF = activeWeatherData.hiTempF,\n\t loTempF = activeWeatherData.loTempF;\n\t var _locations$activeInde = this._locations[activeIndex].city,\n\t cityName = _locations$activeInde === undefined ? '' : _locations$activeInde;\n\t\n\t\n\t var styleOfWrapper = {\n\t display: condensed ? 'none' : null\n\t };\n\t var weatherLocation = [];\n\t var weatherInfo = [];\n\t if (!showDetail) {\n\t weatherLocation.push(_react2.default.createElement(\n\t 'div',\n\t { key: weatherLocation.length, className: (0, _classnames2.default)('CurrentConditionsAtAGlance-cityName', _defineProperty({}, 'CurrentConditionsAtAGlance-cityName--' + textSize, textSize)) },\n\t cityName\n\t ));\n\t weatherInfo.push(_react2.default.createElement(\n\t 'span',\n\t { key: weatherInfo.length, className: (0, _classnames2.default)('CurrentConditionsAtAGlance-temp', _defineProperty({}, 'CurrentConditionsAtAGlance-temp--' + textSize, textSize)) },\n\t (temperatureFormat === 'F' ? tempF : tempC) + '°'\n\t ));\n\t } else {\n\t weatherLocation.push(_react2.default.createElement(\n\t 'div',\n\t { key: weatherLocation.length, className: (0, _classnames2.default)('CurrentConditionsAtAGlanceDetail-wrapper'), style: styleOfWrapper },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: (0, _classnames2.default)('CurrentConditionsAtAGlanceDetail-wrapper-cityName') },\n\t cityName\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: (0, _classnames2.default)('CurrentConditionsAtAGlanceDetail-wrapper-sky') },\n\t sky\n\t )\n\t ));\n\t weatherInfo.push(_react2.default.createElement(\n\t 'div',\n\t { key: weatherInfo.length, className: (0, _classnames2.default)('CurrentConditionsAtAGlanceDetail-wrapper'), style: styleOfWrapper },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'CurrentConditionsAtAGlanceDetail-wrapper-sky' },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'CurrentConditionsAtAGlanceDetail-wrapper-cityName' },\n\t (0, _translate2.default)('H', language),\n\t ' '\n\t ),\n\t hiTempF + '\\xB0'\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'CurrentConditionsAtAGlanceDetail-wrapper-sky' },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'CurrentConditionsAtAGlanceDetail-wrapper-cityName' },\n\t (0, _translate2.default)('L', language),\n\t ' '\n\t ),\n\t loTempF + '\\xB0'\n\t )\n\t ));\n\t }\n\t var classNameOfCurrentConditionsAtAGlance = showDetail ? 'CurrentConditionsAtAGlanceDetail' : 'CurrentConditionsAtAGlance';\n\t var currentConditionsContents = [showCityName ? weatherLocation : null, _react2.default.createElement(\n\t 'div',\n\t { className: (0, _classnames2.default)(classNameOfCurrentConditionsAtAGlance + '-weatherInfo', { 'CurrentConditionsAtAGlanceDetail-weatherInfo--condensed': condensed }), key: weatherLocation.length },\n\t showDetail && _react2.default.createElement(\n\t 'span',\n\t { className: (0, _classnames2.default)(classNameOfCurrentConditionsAtAGlance + '-temp', { 'CurrentConditionsAtAGlanceDetail-temp--condensed': condensed }) },\n\t (temperatureFormat === 'F' ? tempF : tempC) + '°'\n\t ),\n\t _react2.default.createElement('span', { className: (0, _classnames2.default)('weather-icon', 'weather-icon-' + iconCode, _defineProperty({}, 'weather-icon--' + iconSize, !condensed)) }),\n\t weatherInfo\n\t )];\n\t var currentConditionsLink = link ? _react2.default.createElement(\n\t 'a',\n\t { className: 'CurrentConditionsAtAGlance-link', href: link },\n\t currentConditionsContents\n\t ) : null;\n\t\n\t if (!iconCode || !(tempF || tempC)) {\n\t return null;\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: (0, _classnames2.default)('' + classNameOfCurrentConditionsAtAGlance), style: { color: textColor, backgroundColor: backgroundColor } },\n\t currentConditionsLink || currentConditionsContents\n\t );\n\t }\n\t }]);\n\t\n\t return CurrentConditionsAtAGlance;\n\t}(_react.Component), _class.propTypes = {\n\t FRN_rawResponses: _react.PropTypes.array,\n\t link: _react.PropTypes.string,\n\t showCityName: _react.PropTypes.bool,\n\t transitionTimeInSeconds: _react.PropTypes.number,\n\t backgroundColor: _react.PropTypes.string,\n\t textColor: _react.PropTypes.string,\n\t textSize: _react.PropTypes.oneOf(['large']),\n\t iconSize: _react.PropTypes.oneOf(['large']),\n\t condensed: _react.PropTypes.bool,\n\t showDetail: _react.PropTypes.bool\n\t\n\t}, _class.contextTypes = {\n\t config: _react.PropTypes.object.isRequired\n\t}, _class.defaultProps = {\n\t showCityName: false,\n\t transitionTimeInSeconds: 3,\n\t textColor: '#000'\n\t}, _temp);\n\texports.default = CurrentConditionsAtAGlance;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1253 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp;\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _lodash2 = _interopRequireDefault(_lodash);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactBootstrap = __webpack_require__(26);\n\t\n\tvar _SimpleDailyWeatherSummary = __webpack_require__(580);\n\t\n\tvar _SimpleDailyWeatherSummary2 = _interopRequireDefault(_SimpleDailyWeatherSummary);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _VideoPlayer = __webpack_require__(266);\n\t\n\tvar _VideoPlayer2 = _interopRequireDefault(_VideoPlayer);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar DailySummaryWithVideo = (_temp = _class = function (_Component) {\n\t _inherits(DailySummaryWithVideo, _Component);\n\t\n\t function DailySummaryWithVideo() {\n\t _classCallCheck(this, DailySummaryWithVideo);\n\t\n\t return _possibleConstructorReturn(this, (DailySummaryWithVideo.__proto__ || Object.getPrototypeOf(DailySummaryWithVideo)).apply(this, arguments));\n\t }\n\t\n\t _createClass(DailySummaryWithVideo, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t _props$FRN_rawRespons = _props.FRN_rawResponses;\n\t _props$FRN_rawRespons = _props$FRN_rawRespons === undefined ? [] : _props$FRN_rawRespons;\n\t\n\t var _props$FRN_rawRespons2 = _slicedToArray(_props$FRN_rawRespons, 2),\n\t dailySummaryData = _props$FRN_rawRespons2[0],\n\t videoPlayerData = _props$FRN_rawRespons2[1],\n\t title = _props.title,\n\t titleColor = _props.titleColor,\n\t dailySummaryProps = _props.dailySummaryProps,\n\t videoProps = _props.videoProps,\n\t _props$titleType = _props.titleType,\n\t titleType = _props$titleType === undefined ? _FRNBaseStyles.TITLE_TYPE.MODULE_TITLE : _props$titleType;\n\t\n\t var dailySummaryPropsWithData = _lodash2.default.assign(dailySummaryProps, { FRN_rawResponses: [dailySummaryData] });\n\t var videoPlayerPropsWithData = _lodash2.default.assign(videoProps, { FRN_rawResponses: [videoPlayerData] });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'v1-weather-DailySummaryWithVideo' },\n\t title ? _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, title: title, color: titleColor, classes: 'VideoPlayerModal-title' }) : null,\n\t _react2.default.createElement(\n\t _reactBootstrap.Row,\n\t null,\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 12, md: 3 },\n\t _react2.default.createElement(_VideoPlayer2.default, videoPlayerPropsWithData)\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 12, md: 9 },\n\t _react2.default.createElement(_SimpleDailyWeatherSummary2.default, dailySummaryPropsWithData)\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return DailySummaryWithVideo;\n\t}(_react.Component), _class.propTypes = {\n\t FRN_rawResponses: _react.PropTypes.array,\n\t title: _react.PropTypes.string,\n\t titleColor: _react.PropTypes.string,\n\t dailySummaryProps: _react.PropTypes.object,\n\t videoProps: _react.PropTypes.object,\n\t titleType: _react.PropTypes.string\n\t}, _temp);\n\texports.default = DailySummaryWithVideo;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1254 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _dec, _class, _class2, _temp2, _class3, _temp3, _class4, _temp4, _class5, _temp5, _class6, _temp6;\n\t\n\tvar _classnames = __webpack_require__(2);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _find2 = __webpack_require__(767);\n\t\n\tvar _find3 = _interopRequireDefault(_find2);\n\t\n\tvar _connectAlt = __webpack_require__(95);\n\t\n\tvar _connectAlt2 = _interopRequireDefault(_connectAlt);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactBootstrap = __webpack_require__(26);\n\t\n\tvar _frankly = __webpack_require__(36);\n\t\n\tvar _DateUtils = __webpack_require__(54);\n\t\n\tvar _WeatherUtils = __webpack_require__(221);\n\t\n\tvar _ModuleSubMenu = __webpack_require__(579);\n\t\n\tvar _ModuleSubMenu2 = _interopRequireDefault(_ModuleSubMenu);\n\t\n\tvar _LocationSelector = __webpack_require__(1257);\n\t\n\tvar _LocationSelector2 = _interopRequireDefault(_LocationSelector);\n\t\n\tvar _translate = __webpack_require__(51);\n\t\n\tvar _translate2 = _interopRequireDefault(_translate);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t/**\n\t * Class representing the current day's detailed weather information\n\t *\n\t * Dependent on feed - wsi_endpoint\n\t *\n\t * Optional props:\n\t * backgroundImageUri\n\t * - A string specifying the URI for an image to be displayed behind the summary information. Will always expand to\n\t * the size of the component (including to the edge of the page if 'expandBackground' is true\n\t * - This is the highest prioritised prop. No other prop can overrule this one, the image will always be displayed.\n\t *\n\t * weatherConditionBackground\n\t * - A boolean specifying whether or not the background of the module should reflect the weather being displayed\n\t * for the currently selected timeframe (current, today or tonight).\n\t * - This is the second highest prioritised prop. This background will display as long as no backgroundImageUri\n\t * is specified.\n\t *\n\t * backgroundColor=\"#0079c4\"\n\t * - A string specifying the background color of the block, overriding the default. This value can be a Hex value or\n\t * an RGBA color.\n\t * E.g. \"#0079c4\", \"rgba(200, 200, 200, 0.5)\"\n\t * - Slight variations of this color are used for the location menu and search results on the LocationSelector\n\t * - This is the third highest prioritised prop. A custom color will be displayed for the background as long as no\n\t * backgroundImageUri is specified, and weatherConditionBackground is set to false.\n\t *\n\t * expandBackground\n\t * - A boolean specifying whether or not the background should expand to the edge of the screen\n\t * E.g. true, false\n\t * - This can be set for a custom image, for weatherConditionBackground and for both the custom and default colors.\n\t *\n\t\n\t */\n\tvar DailyWeatherSummary = (_dec = (0, _connectAlt2.default)('Weather'), _dec(_class = (_temp2 = _class2 = function (_Component) {\n\t _inherits(DailyWeatherSummary, _Component);\n\t\n\t function DailyWeatherSummary() {\n\t var _ref;\n\t\n\t var _temp, _this, _ret;\n\t\n\t _classCallCheck(this, DailyWeatherSummary);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = DailyWeatherSummary.__proto__ || Object.getPrototypeOf(DailyWeatherSummary)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n\t temperatureFormat: 'F',\n\t timeFrameDisplayValue: 'current'\n\t }, _this._weatherDataStoreDispatcher = null, _temp), _possibleConstructorReturn(_this, _ret);\n\t }\n\t\n\t _createClass(DailyWeatherSummary, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var _this2 = this;\n\t\n\t this._weatherDataStoreDispatcher = new _frankly.DataStoreDispatcher('franklyinc.com/weather');\n\t\n\t this._weatherDataStoreDispatcher.onChange('temperatureFormat', function (val) {\n\t _this2.setState({\n\t temperatureFormat: val\n\t });\n\t });\n\t }\n\t }, {\n\t key: 'componentWillUnmount',\n\t value: function componentWillUnmount() {\n\t this._weatherDataStoreDispatcher.off();\n\t this._weatherDataStoreDispatcher = null;\n\t }\n\t }, {\n\t key: '_setDisplayTimeFrame',\n\t value: function _setDisplayTimeFrame(val, event) {\n\t this.setState({\n\t timeFrameDisplayValue: val\n\t });\n\t\n\t event.stopPropagation();\n\t }\n\t }, {\n\t key: '_getClassNames',\n\t value: function _getClassNames(defaultNames, timeFrameValue) {\n\t var timeFrameClassNames = defaultNames;\n\t\n\t if (this.state.timeFrameDisplayValue === timeFrameValue) {\n\t timeFrameClassNames += ' is-active';\n\t }\n\t\n\t return timeFrameClassNames;\n\t }\n\t }, {\n\t key: '_handleTemperatureFormatClick',\n\t value: function _handleTemperatureFormatClick(format) {\n\t this._weatherDataStoreDispatcher.set('temperatureFormat', format);\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this3 = this;\n\t\n\t var _props = this.props,\n\t expandBackground = _props.expandBackground,\n\t backgroundColor = _props.backgroundColor,\n\t backgroundImageUri = _props.backgroundImageUri,\n\t weatherConditionBackground = _props.weatherConditionBackground,\n\t _props$WeatherStore$w = _props.WeatherStore.wsi;\n\t _props$WeatherStore$w = _props$WeatherStore$w === undefined ? {} : _props$WeatherStore$w;\n\t var _props$WeatherStore$w2 = _props$WeatherStore$w.data,\n\t weatherData = _props$WeatherStore$w2 === undefined ? {} : _props$WeatherStore$w2;\n\t var _state = this.state,\n\t temperatureFormat = _state.temperatureFormat,\n\t timeFrameDisplayValue = _state.timeFrameDisplayValue;\n\t var _weatherData$Cities = weatherData.Cities;\n\t _weatherData$Cities = _weatherData$Cities === undefined ? {} : _weatherData$Cities;\n\t var _weatherData$Cities$C = _weatherData$Cities.City;\n\t _weatherData$Cities$C = _weatherData$Cities$C === undefined ? {} : _weatherData$Cities$C;\n\t var _weatherData$Cities$C2 = _weatherData$Cities$C.CurrentObservation,\n\t currentObservation = _weatherData$Cities$C2 === undefined ? null : _weatherData$Cities$C2,\n\t _weatherData$Cities$C3 = _weatherData$Cities$C.DailyForecast;\n\t _weatherData$Cities$C3 = _weatherData$Cities$C3 === undefined ? {} : _weatherData$Cities$C3;\n\t var _weatherData$Cities$C4 = _weatherData$Cities$C3.Day;\n\t _weatherData$Cities$C4 = _weatherData$Cities$C4 === undefined ? [] : _weatherData$Cities$C4;\n\t\n\t var _weatherData$Cities$C5 = _slicedToArray(_weatherData$Cities$C4, 1),\n\t _weatherData$Cities$C6 = _weatherData$Cities$C5[0],\n\t dailyForecast = _weatherData$Cities$C6 === undefined ? null : _weatherData$Cities$C6;\n\t\n\t var language = this.context.config.appOptions.language;\n\t\n\t\n\t if (!currentObservation || !dailyForecast) {\n\t return null;\n\t }\n\t\n\t var currentIconCode = currentObservation['@IconCode'];\n\t var todayIconCode = dailyForecast['@IconCode'],\n\t tonightIconCode = dailyForecast['@IconCodeNight'];\n\t\n\t var componentClassnames = (0, _classnames2.default)('DailyWeatherSummary', 'DailyWeatherSummary-wrapper');\n\t var layoutClassnames = (0, _classnames2.default)('DailyWeatherSummary-layout', { 'DailyWeatherSummary--expanded': expandBackground });\n\t var weatherCode = void 0;\n\t var backgroundClasses = void 0;\n\t var customBackgroundStyles = {};\n\t var weatherCondition = null;\n\t var isImgBackground = false;\n\t\n\t if (timeFrameDisplayValue === 'current') {\n\t weatherCode = currentIconCode;\n\t } else if (timeFrameDisplayValue === 'today') {\n\t weatherCode = todayIconCode;\n\t } else {\n\t weatherCode = tonightIconCode;\n\t }\n\t\n\t // Note that the hierarchy\n\t if (weatherConditionBackground) {\n\t weatherCondition = (0, _WeatherUtils.weatherConditionFromIconCode)(weatherCode);\n\t isImgBackground = true;\n\t }\n\t\n\t if (backgroundColor) {\n\t customBackgroundStyles['backgroundColor'] = backgroundColor;\n\t }\n\t\n\t if (backgroundImageUri) {\n\t customBackgroundStyles['backgroundImage'] = 'url(' + backgroundImageUri + '?auto=webp&disable=upscale&fit=crop&width=1470)';\n\t isImgBackground = true;\n\t }\n\t\n\t backgroundClasses = (0, _classnames2.default)('DailyWeatherSummary-background', weatherCondition ? 'DailyWeatherSummary-background-' + weatherCondition : '', { expandToEdges: expandBackground });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: componentClassnames },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: layoutClassnames },\n\t _react2.default.createElement(_LocationSelector2.default, { backgroundColor: backgroundColor }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'DailyWeatherSummary-infoContainer' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'DailyWeatherSummary-keyInfoBlock DailyWeatherSummary-block' },\n\t _react2.default.createElement(DailyForecastKeyInformation, {\n\t weatherData: weatherData,\n\t onTemperatureFormatClick: function onTemperatureFormatClick(format) {\n\t return _this3._handleTemperatureFormatClick(format);\n\t },\n\t temperatureFormat: temperatureFormat,\n\t timeFrameDisplayValue: timeFrameDisplayValue\n\t }),\n\t _react2.default.createElement(\n\t _ModuleSubMenu2.default,\n\t { className: 'DailyWeatherSummary-timeFrameOptionsBlock', isVerticalOnWideScreen: true },\n\t _react2.default.createElement(\n\t 'li',\n\t { className: this._getClassNames(\"DailyWeatherSummary-timeFrameOption\", \"current\") },\n\t _react2.default.createElement(\n\t 'a',\n\t { onClick: this._setDisplayTimeFrame.bind(this, 'current') },\n\t (0, _translate2.default)('Current', language)\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'li',\n\t { className: this._getClassNames(\"DailyWeatherSummary-timeFrameOption\", \"today\") },\n\t _react2.default.createElement(\n\t 'a',\n\t { onClick: this._setDisplayTimeFrame.bind(this, 'today') },\n\t (0, _translate2.default)('Today', language)\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'li',\n\t { className: this._getClassNames(\"DailyWeatherSummary-timeFrameOption\", \"tonight\") },\n\t _react2.default.createElement(\n\t 'a',\n\t { onClick: this._setDisplayTimeFrame.bind(this, 'tonight') },\n\t (0, _translate2.default)('Tonight', language)\n\t )\n\t )\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'DailyWeatherSummary-detailsBlock DailyWeatherSummary-block' },\n\t _react2.default.createElement(DailyForecastDetailsBlock, {\n\t lang: language,\n\t weatherData: weatherData,\n\t temperatureFormat: temperatureFormat,\n\t timeFrameDisplayValue: timeFrameDisplayValue,\n\t dividingLinesOnly: isImgBackground && !expandBackground,\n\t noInternalBorders: !isImgBackground || expandBackground,\n\t simpleInsideLines: isImgBackground && expandBackground\n\t })\n\t )\n\t )\n\t ),\n\t _react2.default.createElement('span', { className: backgroundClasses, style: customBackgroundStyles })\n\t );\n\t }\n\t }]);\n\t\n\t return DailyWeatherSummary;\n\t}(_react.Component), _class2.propTypes = {\n\t expandBackground: _react.PropTypes.bool,\n\t backgroundColor: _react.PropTypes.string,\n\t backgroundImageUri: _react.PropTypes.string,\n\t weatherConditionBackground: _react.PropTypes.bool,\n\t WeatherStore: _react.PropTypes.object.isRequired\n\t}, _class2.contextTypes = {\n\t flux: _react.PropTypes.object.isRequired,\n\t config: _react.PropTypes.object.isRequired\n\t}, _temp2)) || _class);\n\t\n\t/**\n\t * Class representing the largest and key pieces of information for the Daily Weather Summary.\n\t */\n\t\n\tvar DailyForecastKeyInformation = (_temp3 = _class3 = function (_Component2) {\n\t _inherits(DailyForecastKeyInformation, _Component2);\n\t\n\t function DailyForecastKeyInformation() {\n\t _classCallCheck(this, DailyForecastKeyInformation);\n\t\n\t return _possibleConstructorReturn(this, (DailyForecastKeyInformation.__proto__ || Object.getPrototypeOf(DailyForecastKeyInformation)).apply(this, arguments));\n\t }\n\t\n\t _createClass(DailyForecastKeyInformation, [{\n\t key: '_setTemperatureFormat',\n\t value: function _setTemperatureFormat(newTempFormat) {\n\t var onTemperatureFormatClick = this.props.onTemperatureFormatClick;\n\t\n\t\n\t onTemperatureFormatClick(newTempFormat);\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props2 = this.props,\n\t weatherData = _props2.weatherData,\n\t timeFrameDisplayValue = _props2.timeFrameDisplayValue,\n\t temperatureFormat = _props2.temperatureFormat;\n\t var _context = this.context,\n\t _context$config = _context.config,\n\t language = _context$config.appOptions.language,\n\t _context$config$affil = _context$config.affiliate;\n\t _context$config$affil = _context$config$affil === undefined ? {} : _context$config$affil;\n\t var _context$config$affil2 = _context$config$affil.locations,\n\t stationLocations = _context$config$affil2 === undefined ? [] : _context$config$affil2,\n\t location = _context.location;\n\t var _weatherData$Cities2 = weatherData.Cities;\n\t _weatherData$Cities2 = _weatherData$Cities2 === undefined ? {} : _weatherData$Cities2;\n\t var _weatherData$Cities2$ = _weatherData$Cities2.City;\n\t _weatherData$Cities2$ = _weatherData$Cities2$ === undefined ? {} : _weatherData$Cities2$;\n\t var _weatherData$Cities2$2 = _weatherData$Cities2$.CurrentObservation,\n\t currentObservation = _weatherData$Cities2$2 === undefined ? null : _weatherData$Cities2$2,\n\t _weatherData$Cities2$3 = _weatherData$Cities2$.DailyForecast;\n\t _weatherData$Cities2$3 = _weatherData$Cities2$3 === undefined ? {} : _weatherData$Cities2$3;\n\t var _weatherData$Cities2$4 = _weatherData$Cities2$3.Day;\n\t _weatherData$Cities2$4 = _weatherData$Cities2$4 === undefined ? [] : _weatherData$Cities2$4;\n\t\n\t var _weatherData$Cities2$5 = _slicedToArray(_weatherData$Cities2$4, 1),\n\t _weatherData$Cities2$6 = _weatherData$Cities2$5[0],\n\t dailyForecast = _weatherData$Cities2$6 === undefined ? null : _weatherData$Cities2$6;\n\t\n\t var currentTempF = currentObservation['@TempF'],\n\t currentTempC = currentObservation['@TempC'],\n\t currentIconCode = currentObservation['@IconCode'],\n\t currentSky = currentObservation['@Sky'],\n\t currentFeelsLikeF = currentObservation['@FeelsLikeF'],\n\t currentFeelsLikeC = currentObservation['@FeelsLikeC'];\n\t var todayIconCode = dailyForecast['@IconCode'],\n\t HiTempF = dailyForecast['@HiTempF'],\n\t HiTempC = dailyForecast['@HiTempC'],\n\t todaySky = dailyForecast['@SkyText'],\n\t loTempF = dailyForecast['@LoTempF'],\n\t loTempC = dailyForecast['@LoTempC'],\n\t todayPhraseF = dailyForecast['@PhraseDay'],\n\t todayPhraseC = dailyForecast['@PhraseDayC'],\n\t tonightPhraseF = dailyForecast['@PhraseNight'],\n\t tonightPhraseC = dailyForecast['@PhraseNightC'],\n\t tonightIconCode = dailyForecast['@IconCodeNight'],\n\t tonightSky = dailyForecast['@SkyTextNight'];\n\t\n\t\n\t var feelsLike = '';\n\t var forecastPhrase = '';\n\t var displayTemperature = void 0;\n\t var skyText = void 0;\n\t var iconCode = void 0;\n\t var showWeatherPhrase = false;\n\t\n\t // Only show the weather phrase if the current location isn't a default location in the config\n\t if (!(0, _find3.default)(stationLocations, { 'zipcode': Number(location.zipcode) })) {\n\t showWeatherPhrase = true;\n\t }\n\t\n\t if (timeFrameDisplayValue === 'current') {\n\t displayTemperature = temperatureFormat !== 'C' ? currentTempF : currentTempC;\n\t skyText = currentSky;\n\t feelsLike = temperatureFormat !== 'C' ? currentFeelsLikeF : currentFeelsLikeC;\n\t iconCode = currentIconCode;\n\t } else if (timeFrameDisplayValue === 'today') {\n\t displayTemperature = temperatureFormat !== 'C' ? HiTempF : HiTempC;\n\t skyText = todaySky;\n\t iconCode = todayIconCode;\n\t forecastPhrase = temperatureFormat !== 'C' ? todayPhraseF : todayPhraseC;\n\t } else {\n\t displayTemperature = temperatureFormat !== 'C' ? loTempF : loTempC;\n\t skyText = tonightSky;\n\t iconCode = tonightIconCode;\n\t forecastPhrase = temperatureFormat !== 'C' ? tonightPhraseF : tonightPhraseC;\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'DailyForecastKeyInformation' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'DailyForecastKeyInformation-tempDisplay' },\n\t _react2.default.createElement('span', { className: 'weather-icon weather-icon-' + iconCode }),\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'temperature' },\n\t displayTemperature\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'DailyForecastKeyInformation-temperatureChoice' },\n\t _react2.default.createElement('span', { className: 'temperature-choice-label line-after' + (temperatureFormat !== 'C' ? ' active' : ''),\n\t dangerouslySetInnerHTML: { __html: 'F °' },\n\t onClick: this._setTemperatureFormat.bind(this, 'F')\n\t }),\n\t _react2.default.createElement('span', { className: 'temperature-choice-label ' + (temperatureFormat === 'C' ? ' active' : ''),\n\t dangerouslySetInnerHTML: { __html: 'C °' },\n\t onClick: this._setTemperatureFormat.bind(this, 'C')\n\t })\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'DailyForecastKeyInformation-tempDescription' },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'DailyForecastKeyInformation-skyText' },\n\t skyText\n\t ),\n\t timeFrameDisplayValue === 'current' ? [_react2.default.createElement(\n\t 'span',\n\t { key: '1' },\n\t (0, _translate2.default)('Feels Like', language),\n\t ' '\n\t ), _react2.default.createElement('span', { key: '3', className: 'DailyForecastKeyInformation-feelsLikeTemp', dangerouslySetInnerHTML: { __html: feelsLike + '°' } })] : null\n\t ),\n\t forecastPhrase && showWeatherPhrase ? _react2.default.createElement(\n\t 'div',\n\t { className: 'DailyForecastKeyInformation-forecastPhrase' },\n\t forecastPhrase\n\t ) : null\n\t );\n\t }\n\t }]);\n\t\n\t return DailyForecastKeyInformation;\n\t}(_react.Component), _class3.propTypes = {\n\t weatherData: _react.PropTypes.object.isRequired,\n\t onTemperatureFormatClick: _react.PropTypes.func.isRequired,\n\t timeFrameDisplayValue: _react.PropTypes.string.isRequired,\n\t temperatureFormat: _react.PropTypes.string\n\t}, _class3.contextTypes = {\n\t location: _react.PropTypes.object.isRequired,\n\t config: _react.PropTypes.object.isRequired\n\t}, _temp3);\n\t\n\t/**\n\t * Class representing the granular pieces of information for the Daily Weather Summary.\n\t */\n\t\n\tvar DailyForecastDetailsBlock = (_temp4 = _class4 = function (_Component3) {\n\t _inherits(DailyForecastDetailsBlock, _Component3);\n\t\n\t function DailyForecastDetailsBlock() {\n\t _classCallCheck(this, DailyForecastDetailsBlock);\n\t\n\t return _possibleConstructorReturn(this, (DailyForecastDetailsBlock.__proto__ || Object.getPrototypeOf(DailyForecastDetailsBlock)).apply(this, arguments));\n\t }\n\t\n\t _createClass(DailyForecastDetailsBlock, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props3 = this.props,\n\t weatherData = _props3.weatherData,\n\t timeFrameDisplayValue = _props3.timeFrameDisplayValue,\n\t temperatureFormat = _props3.temperatureFormat,\n\t dividingLinesOnly = _props3.dividingLinesOnly,\n\t noInternalBorders = _props3.noInternalBorders,\n\t simpleInsideLines = _props3.simpleInsideLines,\n\t lang = _props3.lang;\n\t var _weatherData$Cities3 = weatherData.Cities;\n\t _weatherData$Cities3 = _weatherData$Cities3 === undefined ? {} : _weatherData$Cities3;\n\t var _weatherData$Cities3$ = _weatherData$Cities3.City;\n\t _weatherData$Cities3$ = _weatherData$Cities3$ === undefined ? {} : _weatherData$Cities3$;\n\t var _weatherData$Cities3$2 = _weatherData$Cities3$.CurrentObservation,\n\t currentObservation = _weatherData$Cities3$2 === undefined ? null : _weatherData$Cities3$2,\n\t _weatherData$Cities3$3 = _weatherData$Cities3$.DailyForecast;\n\t _weatherData$Cities3$3 = _weatherData$Cities3$3 === undefined ? {} : _weatherData$Cities3$3;\n\t var _weatherData$Cities3$4 = _weatherData$Cities3$3.Day;\n\t _weatherData$Cities3$4 = _weatherData$Cities3$4 === undefined ? [] : _weatherData$Cities3$4;\n\t\n\t var _weatherData$Cities3$5 = _slicedToArray(_weatherData$Cities3$4, 1),\n\t _weatherData$Cities3$6 = _weatherData$Cities3$5[0],\n\t dailyForecast = _weatherData$Cities3$6 === undefined ? null : _weatherData$Cities3$6;\n\t\n\t var pressure = currentObservation['@Pressure'],\n\t heatIndexF = currentObservation['@HeatIdxF'],\n\t heatIndexC = currentObservation['@HeatIdxC'],\n\t windChillF = currentObservation['@WndChillF'],\n\t windChillC = currentObservation['@WndChillC'],\n\t currentRelHumidity = currentObservation['@RelHumidity'],\n\t currentWndDirCardinal = currentObservation['@WndDirCardinal'],\n\t currentWndSpdMph = currentObservation['@WndSpdMph'];\n\t var currentPrecipChance = dailyForecast['@PrecipChance'],\n\t dateTime = dailyForecast['@ValidDateLocal'],\n\t sunrise = dailyForecast['@Sunrise'],\n\t sunset = dailyForecast['@Sunset'],\n\t uvIndex = dailyForecast['@UvIdx'],\n\t uvDescription = dailyForecast['@UvDescr'],\n\t precipChanceDay = dailyForecast['@PrecipChanceDay'],\n\t todayRelHumidity = dailyForecast['@RelHumidity'],\n\t todayWndSpdMph = dailyForecast['@WndSpdMph'],\n\t todayWndDirCardinal = dailyForecast['@WndDirCardinal'],\n\t moonrise = dailyForecast['@Moonrise'],\n\t moonset = dailyForecast['@Moonset'],\n\t moonPhase = dailyForecast['@MoonPhaseText'],\n\t precipitationNight = dailyForecast['@PrecipChanceNight'],\n\t tonightRelHumidity = dailyForecast['@RelHumidityNight'],\n\t tonightWndSpdMph = dailyForecast['@WndSpdMphNight'],\n\t tonightWndDirCardinal = dailyForecast['@WndDirCardinalNight'];\n\t\n\t var heatIndex = temperatureFormat !== 'C' ? heatIndexF : heatIndexC;\n\t var windChill = temperatureFormat !== 'C' ? windChillF : windChillC;\n\t var detailsBlockClasses = (0, _classnames2.default)('DailyForecastDetailsBlock', { 'DailyForecastDetailsBlock--dividingLinesOnly': dividingLinesOnly }, { 'DailyForecastDetailsBlock--noInternalBorders': noInternalBorders }, { 'DailyForecastDetailsBlock--simpleInsideLines': simpleInsideLines });\n\t\n\t var windSpeed = void 0;\n\t var windDirection = void 0;\n\t var humidity = void 0;\n\t var precipitation = void 0;\n\t\n\t if (timeFrameDisplayValue === 'current') {\n\t precipitation = currentPrecipChance;\n\t windSpeed = currentWndSpdMph;\n\t windDirection = currentWndDirCardinal;\n\t humidity = currentRelHumidity;\n\t } else if (timeFrameDisplayValue === 'today') {\n\t precipitation = precipChanceDay;\n\t windSpeed = todayWndSpdMph;\n\t windDirection = todayWndDirCardinal;\n\t humidity = todayRelHumidity;\n\t } else {\n\t precipitation = precipitationNight;\n\t windSpeed = tonightWndSpdMph;\n\t windDirection = tonightWndDirCardinal;\n\t humidity = tonightRelHumidity;\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: detailsBlockClasses },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'DailyForecastDetailsBlock-infoCell' },\n\t timeFrameDisplayValue === 'current' ? _react2.default.createElement(DetailRow, { title: (0, _translate2.default)('Pressure', lang), value: pressure, valueClassName: (0, _classnames2.default)({ 'weather-pressure': pressure }) }) : _react2.default.createElement(DetailRow, { title: (0, _translate2.default)('Precip.', lang), value: precipitation, valueClassName: (0, _classnames2.default)({ 'weather-precipitation weather-percentage': precipitation }) }),\n\t _react2.default.createElement(DetailRow, { title: (0, _translate2.default)('Wind', lang), value: windSpeed ? windDirection + ' ' + windSpeed + ' MPH' : null })\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'DailyForecastDetailsBlock-infoCell' },\n\t _react2.default.createElement(DetailRow, { title: (0, _translate2.default)('Humidity', lang), value: humidity, valueClassName: (0, _classnames2.default)({ 'weather-percentage': humidity }) }),\n\t timeFrameDisplayValue === 'tonight' ? _react2.default.createElement(DetailRow, { title: (0, _translate2.default)('Moon Phase', lang), value: moonPhase }) : _react2.default.createElement(DetailRow, { title: (0, _translate2.default)('UV Index', lang), value: uvIndex ? uvIndex + ' ' + uvDescription : null })\n\t ),\n\t timeFrameDisplayValue === 'current' ? _react2.default.createElement(\n\t 'div',\n\t { className: 'DailyForecastDetailsBlock-infoCell' },\n\t _react2.default.createElement(DetailRow, { title: (0, _translate2.default)('Heat Index', lang), value: heatIndex ? heatIndex + '°' : null }),\n\t _react2.default.createElement(DetailRow, { title: (0, _translate2.default)('Wind Chill', lang), value: windChill ? windChill + '°' : null })\n\t ) : null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'DailyForecastDetailsBlock-infoCell blockAtSmallWidth' },\n\t _react2.default.createElement(TimeDetailRow, { title: (0, _translate2.default)('Sunrise', lang), validDateLocal: dateTime, value: sunrise, valueClassName: 'weather-sun sunrise' }),\n\t _react2.default.createElement(TimeDetailRow, { title: (0, _translate2.default)('Sunset', lang), validDateLocal: dateTime, value: sunset, valueClassName: 'weather-sun sunset' })\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'DailyForecastDetailsBlock-infoCell blockAtSmallWidth' },\n\t _react2.default.createElement(TimeDetailRow, { title: (0, _translate2.default)('Moonrise', lang), validDateLocal: dateTime, value: moonrise, valueClassName: 'weather-moon moonrise' }),\n\t _react2.default.createElement(TimeDetailRow, { title: (0, _translate2.default)('Moonset', lang), validDateLocal: dateTime, value: moonset, valueClassName: 'weather-moon moonset' })\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return DailyForecastDetailsBlock;\n\t}(_react.Component), _class4.propTypes = {\n\t weatherData: _react.PropTypes.object.isRequired,\n\t timeFrameDisplayValue: _react.PropTypes.string.isRequired,\n\t temperatureFormat: _react.PropTypes.string,\n\t dividingLinesOnly: _react.PropTypes.bool,\n\t noInternalBorders: _react.PropTypes.bool,\n\t simpleInsideLines: _react.PropTypes.bool,\n\t lang: _react.PropTypes.string\n\t}, _temp4);\n\tvar DetailRow = (_temp5 = _class5 = function (_Component4) {\n\t _inherits(DetailRow, _Component4);\n\t\n\t function DetailRow() {\n\t _classCallCheck(this, DetailRow);\n\t\n\t return _possibleConstructorReturn(this, (DetailRow.__proto__ || Object.getPrototypeOf(DetailRow)).apply(this, arguments));\n\t }\n\t\n\t _createClass(DetailRow, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props4 = this.props,\n\t title = _props4.title,\n\t value = _props4.value,\n\t valueClassName = _props4.valueClassName,\n\t spans = _props4.spans;\n\t\n\t\n\t return _react2.default.createElement(\n\t _reactBootstrap.Row,\n\t null,\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t _extends({}, spans, { className: 'infoTitle col-xl-12' }),\n\t title\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t _extends({}, spans, { className: (0, _classnames2.default)('infoValue col-xl-12', valueClassName) }),\n\t value || 'N/A'\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return DetailRow;\n\t}(_react.Component), _class5.propTypes = {\n\t title: _react.PropTypes.string.isRequired,\n\t value: _react.PropTypes.string,\n\t valueClassName: _react.PropTypes.string,\n\t spans: _react.PropTypes.object\n\t}, _class5.defaultProps = {\n\t spans: {\n\t xs: 6\n\t }\n\t}, _temp5);\n\tvar TimeDetailRow = (_temp6 = _class6 = function (_Component5) {\n\t _inherits(TimeDetailRow, _Component5);\n\t\n\t function TimeDetailRow() {\n\t _classCallCheck(this, TimeDetailRow);\n\t\n\t return _possibleConstructorReturn(this, (TimeDetailRow.__proto__ || Object.getPrototypeOf(TimeDetailRow)).apply(this, arguments));\n\t }\n\t\n\t _createClass(TimeDetailRow, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props5 = this.props,\n\t validDateLocal = _props5.validDateLocal,\n\t value = _props5.value;\n\t\n\t\n\t return _react2.default.createElement(DetailRow, _extends({}, this.props, {\n\t spans: {\n\t xs: 12,\n\t lg: 6\n\t },\n\t value: value ? (0, _DateUtils.formatDate)(validDateLocal.split(' ')[0] + ' ' + value, 'h:mm A') : null\n\t }));\n\t }\n\t }]);\n\t\n\t return TimeDetailRow;\n\t}(_react.Component), _class6.propTypes = {\n\t title: _react.PropTypes.string.isRequired,\n\t value: _react.PropTypes.string,\n\t valueClassName: _react.PropTypes.string,\n\t validDateLocal: _react.PropTypes.string.isRequired\n\t}, _temp6);\n\texports.default = DailyWeatherSummary;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1255 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp, _class2, _temp3, _class3, _temp5, _class4, _temp7;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _DownArrow = __webpack_require__(577);\n\t\n\tvar _DownArrow2 = _interopRequireDefault(_DownArrow);\n\t\n\tvar _reactAddonsCssTransitionGroup = __webpack_require__(248);\n\t\n\tvar _reactAddonsCssTransitionGroup2 = _interopRequireDefault(_reactAddonsCssTransitionGroup);\n\t\n\tvar _WeatherAlertIcon = __webpack_require__(371);\n\t\n\tvar _WeatherAlertIcon2 = _interopRequireDefault(_WeatherAlertIcon);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _Timestamp = __webpack_require__(47);\n\t\n\tvar _Timestamp2 = _interopRequireDefault(_Timestamp);\n\t\n\tvar _DateUtils = __webpack_require__(54);\n\t\n\tvar _WeatherUtils = __webpack_require__(221);\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar DedicatedWeatherAlert = (_temp = _class = function (_Component) {\n\t _inherits(DedicatedWeatherAlert, _Component);\n\t\n\t function DedicatedWeatherAlert() {\n\t _classCallCheck(this, DedicatedWeatherAlert);\n\t\n\t return _possibleConstructorReturn(this, (DedicatedWeatherAlert.__proto__ || Object.getPrototypeOf(DedicatedWeatherAlert)).apply(this, arguments));\n\t }\n\t\n\t _createClass(DedicatedWeatherAlert, [{\n\t key: '_filterAlerts',\n\t value: function _filterAlerts(alerts, allowedAlerts) {\n\t var filteredAlerts = [];\n\t\n\t alerts.forEach(function (alert) {\n\t var type = alert.name.toLowerCase();\n\t var filteredAlert = allowedAlerts.find(function (allowedAlr) {\n\t return allowedAlr.type.toLowerCase() === type;\n\t });\n\t\n\t if (filteredAlert) {\n\t filteredAlerts.push((0, _lodash.assign)(alert, { backgroundColor: filteredAlert.backgroundColor }));\n\t }\n\t });\n\t\n\t return filteredAlerts;\n\t }\n\t }, {\n\t key: '_buildWeatherAlertData',\n\t value: function _buildWeatherAlertData(alerts, props) {\n\t var alertData = [];\n\t\n\t alerts.forEach(function (alert) {\n\t var categoryId = alert.id,\n\t categoryName = alert.name,\n\t weatherObj = alert.weather,\n\t weatherArr = alert.weathers,\n\t backgroundColor = alert.backgroundColor;\n\t\n\t\n\t var weathers = weatherArr || (weatherObj ? [weatherObj] : []);\n\t\n\t weathers.forEach(function (weather) {\n\t var alertType = weather.name,\n\t countyObj = weather.county,\n\t countyArr = weather.countys;\n\t\n\t\n\t var counties = countyArr || (countyObj ? [countyObj] : []);\n\t\n\t counties.forEach(function (county) {\n\t var countyId = county.id,\n\t countyName = county.name,\n\t alertText = county.text,\n\t startDate = county.startdate;\n\t\n\t\n\t var alertItem = _extends({\n\t type: alertType,\n\t text: alertText,\n\t startDate: startDate,\n\t backgroundColor: backgroundColor\n\t }, props);\n\t\n\t /** group counties by countyId */\n\t var countyIndex = (0, _lodash.findIndex)(alertData, function (item) {\n\t return item.countyId === countyId;\n\t });\n\t\n\t if (countyIndex !== -1) {\n\t /** group categories by categoryId */\n\t var cateIndex = (0, _lodash.findIndex)(alertData[countyIndex].categories, function (item) {\n\t return item.categoryId === categoryId;\n\t });\n\t\n\t if (cateIndex !== -1) {\n\t alertData[countyIndex].categories[cateIndex].alerts.push(alertItem);\n\t } else {\n\t alertData[countyIndex].categories.push({\n\t categoryId: categoryId,\n\t categoryName: categoryName,\n\t alerts: [alertItem]\n\t });\n\t }\n\t } else {\n\t alertData.push({\n\t countyId: countyId,\n\t countyName: countyName,\n\t categories: [{\n\t categoryId: categoryId,\n\t categoryName: categoryName,\n\t alerts: [alertItem]\n\t }]\n\t });\n\t }\n\t });\n\t });\n\t });\n\t\n\t return alertData;\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t FRN_rawResponses = _props.FRN_rawResponses,\n\t _props$title = _props.title,\n\t title = _props$title === undefined ? '' : _props$title,\n\t allowedAlerts = _props.allowedAlerts,\n\t timestampOptions = _props.timestampOptions,\n\t titleType = _props.titleType;\n\t\n\t\n\t var features = (0, _lodash.get)(FRN_rawResponses[0], 'data.features', []);\n\t var weatherAlerts = (0, _lodash.find)(features, function (f) {\n\t return f.type === 'weatheralerts';\n\t });\n\t\n\t var _ref = weatherAlerts || {},\n\t alertObj = _ref.alert,\n\t alertArr = _ref.alerts;\n\t\n\t var alerts = alertArr || (alertObj ? [alertObj] : []);\n\t\n\t var filteredAlerts = this._filterAlerts(alerts, allowedAlerts);\n\t var alertData = filteredAlerts.length > 0 ? this._buildWeatherAlertData(filteredAlerts, { timestampOptions: timestampOptions }) : [];\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'DedicatedWeatherAlert' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'DedicatedWeatherAlert-header' },\n\t _react2.default.createElement(_ComponentTitle2.default, { showArrow: false, title: title, titleType: titleType }),\n\t _react2.default.createElement(\n\t 'h2',\n\t { className: 'DedicatedWeatherAlert-title' },\n\t _react2.default.createElement(\n\t 'strong',\n\t null,\n\t 'All Counties'\n\t )\n\t )\n\t ),\n\t alertData.map(function (item, key) {\n\t return _react2.default.createElement(CountyAlertItem, _extends({}, item, {\n\t key: key\n\t }));\n\t })\n\t );\n\t }\n\t }]);\n\t\n\t return DedicatedWeatherAlert;\n\t}(_react.Component), _class.propTypes = {\n\t FRN_rawResponses: _react.PropTypes.array,\n\t title: _react.PropTypes.string,\n\t allowedAlerts: _react.PropTypes.array,\n\t timestampOptions: _react.PropTypes.shape({\n\t showElapsedTime: _react.PropTypes.bool,\n\t displayShortDateTime: _react.PropTypes.bool\n\t }),\n\t titleType: _react.PropTypes.string\n\t}, _class.defaultProps = {\n\t allowedAlerts: [],\n\t titleType: _FRNBaseStyles.TITLE_TYPE.MODULE_TITLE\n\t}, _temp);\n\tvar CountyAlertItem = (_temp3 = _class2 = function (_Component2) {\n\t _inherits(CountyAlertItem, _Component2);\n\t\n\t function CountyAlertItem() {\n\t var _ref2;\n\t\n\t var _temp2, _this2, _ret;\n\t\n\t _classCallCheck(this, CountyAlertItem);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp2 = (_this2 = _possibleConstructorReturn(this, (_ref2 = CountyAlertItem.__proto__ || Object.getPrototypeOf(CountyAlertItem)).call.apply(_ref2, [this].concat(args))), _this2), _this2.state = {\n\t expendCounty: false\n\t }, _temp2), _possibleConstructorReturn(_this2, _ret);\n\t }\n\t\n\t _createClass(CountyAlertItem, [{\n\t key: '_expendCounty',\n\t value: function _expendCounty() {\n\t this.setState({\n\t expendCounty: !this.state.expendCounty\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this3 = this;\n\t\n\t var expendCounty = this.state.expendCounty;\n\t var _props2 = this.props,\n\t countyName = _props2.countyName,\n\t _props2$categories = _props2.categories,\n\t categories = _props2$categories === undefined ? [] : _props2$categories;\n\t\n\t\n\t var numberOfAlert = categories.reduce(function (sum, category) {\n\t return sum + category.alerts.length;\n\t }, 0);\n\t\n\t var weatherAlertCategories = categories.map(function (category, key) {\n\t return _react2.default.createElement(WeatherAlertCategory, _extends({}, category, {\n\t key: key\n\t }));\n\t });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'County', onClick: function onClick() {\n\t return _this3._expendCounty();\n\t } },\n\t _react2.default.createElement(\n\t 'h2',\n\t { className: 'County-name' },\n\t countyName,\n\t ' ',\n\t _react2.default.createElement(\n\t 'span',\n\t null,\n\t '( ',\n\t numberOfAlert,\n\t ' Alerts )'\n\t )\n\t ),\n\t _react2.default.createElement(_DownArrow2.default, {\n\t arrowState: expendCounty ? 'cross' : 'arrow'\n\t })\n\t ),\n\t _react2.default.createElement(\n\t _reactAddonsCssTransitionGroup2.default,\n\t { transitionName: 'weather-alert', transitionEnterTimeout: 200, transitionLeaveTimeout: 200 },\n\t expendCounty ? _react2.default.createElement(\n\t 'div',\n\t null,\n\t weatherAlertCategories\n\t ) : null\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return CountyAlertItem;\n\t}(_react.Component), _class2.propTypes = {\n\t countyName: _react.PropTypes.string,\n\t categories: _react.PropTypes.array\n\t}, _temp3);\n\tvar WeatherAlertCategory = (_temp5 = _class3 = function (_Component3) {\n\t _inherits(WeatherAlertCategory, _Component3);\n\t\n\t function WeatherAlertCategory() {\n\t var _ref3;\n\t\n\t var _temp4, _this4, _ret2;\n\t\n\t _classCallCheck(this, WeatherAlertCategory);\n\t\n\t for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n\t args[_key2] = arguments[_key2];\n\t }\n\t\n\t return _ret2 = (_temp4 = (_this4 = _possibleConstructorReturn(this, (_ref3 = WeatherAlertCategory.__proto__ || Object.getPrototypeOf(WeatherAlertCategory)).call.apply(_ref3, [this].concat(args))), _this4), _this4.state = {\n\t showAlerts: false\n\t }, _temp4), _possibleConstructorReturn(_this4, _ret2);\n\t }\n\t\n\t _createClass(WeatherAlertCategory, [{\n\t key: '_showAlerts',\n\t value: function _showAlerts() {\n\t this.setState({\n\t showAlerts: !this.state.showAlerts\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this5 = this;\n\t\n\t var showAlerts = this.state.showAlerts;\n\t var _props3 = this.props,\n\t categoryName = _props3.categoryName,\n\t alerts = _props3.alerts;\n\t\n\t\n\t var weatherAlertItems = alerts.map(function (alertItem, key) {\n\t return _react2.default.createElement(WeatherAlertItem, _extends({\n\t key: key\n\t }, alertItem));\n\t });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'Alerts' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'Alerts-category', onClick: function onClick() {\n\t return _this5._showAlerts();\n\t } },\n\t _react2.default.createElement(\n\t 'h2',\n\t null,\n\t categoryName.toLowerCase()\n\t ),\n\t _react2.default.createElement(_DownArrow2.default, {\n\t arrowState: showAlerts ? 'cross' : 'arrow'\n\t })\n\t ),\n\t _react2.default.createElement(\n\t _reactAddonsCssTransitionGroup2.default,\n\t { transitionName: 'weather-alert', transitionEnterTimeout: 200, transitionLeaveTimeout: 200 },\n\t showAlerts ? _react2.default.createElement(\n\t 'div',\n\t null,\n\t weatherAlertItems\n\t ) : null\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return WeatherAlertCategory;\n\t}(_react.Component), _class3.propTypes = {\n\t categoryName: _react.PropTypes.string,\n\t alerts: _react.PropTypes.array\n\t}, _temp5);\n\tvar WeatherAlertItem = (_temp7 = _class4 = function (_Component4) {\n\t _inherits(WeatherAlertItem, _Component4);\n\t\n\t function WeatherAlertItem() {\n\t var _ref4;\n\t\n\t var _temp6, _this6, _ret3;\n\t\n\t _classCallCheck(this, WeatherAlertItem);\n\t\n\t for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n\t args[_key3] = arguments[_key3];\n\t }\n\t\n\t return _ret3 = (_temp6 = (_this6 = _possibleConstructorReturn(this, (_ref4 = WeatherAlertItem.__proto__ || Object.getPrototypeOf(WeatherAlertItem)).call.apply(_ref4, [this].concat(args))), _this6), _this6.state = {\n\t showAlertDescription: true\n\t }, _temp6), _possibleConstructorReturn(_this6, _ret3);\n\t }\n\t\n\t _createClass(WeatherAlertItem, [{\n\t key: '_showAlertDescription',\n\t value: function _showAlertDescription() {\n\t this.setState({\n\t showAlertDescription: !this.state.showAlertDescription\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this7 = this;\n\t\n\t var showAlertDescription = this.state.showAlertDescription;\n\t var _props4 = this.props,\n\t type = _props4.type,\n\t text = _props4.text,\n\t startDate = _props4.startDate,\n\t backgroundColor = _props4.backgroundColor,\n\t _props4$timestampOpti = _props4.timestampOptions,\n\t timestampOptions = _props4$timestampOpti === undefined ? {} : _props4$timestampOpti;\n\t\n\t\n\t var formattedBulletin = text.toLowerCase().replace(/(\\/.*(\\d{6}t\\d{4}z(\\.|-)?){1,3}.*\\/\\n)|((\\D{0,3}\\d{3,}(-|>))+(\\d{3,6})?\\n)|(&&(.*\\n)+\\$\\$)/g, '');\n\t var formattedDate = (0, _DateUtils.formatWsiDate)(startDate);\n\t var category = (0, _WeatherUtils.getWeatherCategoryFromCondition)(type);\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'Alert' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'Alert-content', onClick: function onClick() {\n\t return _this7._showAlertDescription();\n\t } },\n\t _react2.default.createElement(_WeatherAlertIcon2.default, {\n\t iconType: category,\n\t backgroundColor: backgroundColor\n\t }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'Alert-summary' },\n\t _react2.default.createElement(\n\t 'h2',\n\t null,\n\t type\n\t ),\n\t _react2.default.createElement(_Timestamp2.default, _extends({ publishDate: formattedDate }, timestampOptions))\n\t ),\n\t _react2.default.createElement(_DownArrow2.default, {\n\t arrowState: showAlertDescription ? 'cross' : 'arrow'\n\t })\n\t ),\n\t _react2.default.createElement(\n\t _reactAddonsCssTransitionGroup2.default,\n\t { transitionName: 'weather-alert', transitionEnterTimeout: 200, transitionLeaveTimeout: 200 },\n\t showAlertDescription ? _react2.default.createElement('div', { className: 'Alert-description',\n\t dangerouslySetInnerHTML: { __html: formattedBulletin.replace(/\\n/g, '
') }\n\t }) : null\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return WeatherAlertItem;\n\t}(_react.Component), _class4.propTypes = {\n\t type: _react.PropTypes.string,\n\t text: _react.PropTypes.string,\n\t startDate: _react.PropTypes.string,\n\t backgroundColor: _react.PropTypes.string,\n\t timestampOptions: _react.PropTypes.shape({\n\t showElapsedTime: _react.PropTypes.bool,\n\t displayShortDateTime: _react.PropTypes.bool\n\t })\n\t}, _temp7);\n\texports.default = DedicatedWeatherAlert;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1256 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _dec, _class, _class2, _temp2, _class3, _temp3, _class4, _temp5, _class5, _temp6, _class6, _temp7, _class7, _temp9, _class8, _temp10, _class9, _temp11, _class10, _temp12;\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _connectAlt = __webpack_require__(95);\n\t\n\tvar _connectAlt2 = _interopRequireDefault(_connectAlt);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactBootstrap = __webpack_require__(26);\n\t\n\tvar _reactAddonsCssTransitionGroup = __webpack_require__(248);\n\t\n\tvar _reactAddonsCssTransitionGroup2 = _interopRequireDefault(_reactAddonsCssTransitionGroup);\n\t\n\tvar _frankly = __webpack_require__(36);\n\t\n\tvar _DateUtils = __webpack_require__(54);\n\t\n\tvar _DownArrow = __webpack_require__(577);\n\t\n\tvar _DownArrow2 = _interopRequireDefault(_DownArrow);\n\t\n\tvar _ModuleSubMenu = __webpack_require__(579);\n\t\n\tvar _ModuleSubMenu2 = _interopRequireDefault(_ModuleSubMenu);\n\t\n\tvar _WeatherUtils = __webpack_require__(221);\n\t\n\tvar _translate = __webpack_require__(51);\n\t\n\tvar _translate2 = _interopRequireDefault(_translate);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t/**\n\t * Class representing the container for the multiday and hourly weather forecast components.\n\t *\n\t * Dependent on feed - wsi_endpoint\n\t */\n\t\n\tvar DetailedWeatherBreakdown = (_dec = (0, _connectAlt2.default)('Weather'), _dec(_class = (_temp2 = _class2 = function (_Component) {\n\t _inherits(DetailedWeatherBreakdown, _Component);\n\t\n\t function DetailedWeatherBreakdown() {\n\t var _ref;\n\t\n\t var _temp, _this, _ret;\n\t\n\t _classCallCheck(this, DetailedWeatherBreakdown);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = DetailedWeatherBreakdown.__proto__ || Object.getPrototypeOf(DetailedWeatherBreakdown)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n\t temperatureFormat: 'F',\n\t isHourlyForecastDisplayed: _this.props.showHourly && _this.props.defaultForecastDisplayValue === \"hourly\",\n\t forecastDisplayValue: _this.props.defaultForecastDisplayValue === \"hourly\" && !_this.props.showHourly || _this.props.defaultForecastDisplayValue === \"weekend\" && !_this.props.showWeekend ? _this.props.dayOptionValues[0] : _this.props.defaultForecastDisplayValue\n\t }, _temp), _possibleConstructorReturn(_this, _ret);\n\t }\n\t\n\t _createClass(DetailedWeatherBreakdown, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var _this2 = this;\n\t\n\t var flux = this.context.flux;\n\t\n\t\n\t flux.getActions('Weather').readWsi();\n\t\n\t this._weatherDataStoreDispatcher = new _frankly.DataStoreDispatcher('franklyinc.com/weather');\n\t\n\t this._weatherDataStoreDispatcher.onChange('temperatureFormat', function (val) {\n\t _this2.setState({\n\t temperatureFormat: val\n\t });\n\t });\n\t }\n\t }, {\n\t key: 'componentWillReceiveProps',\n\t value: function componentWillReceiveProps(nextProps) {\n\t var isLoaded = this.state.isLoaded;\n\t\n\t\n\t if (!isLoaded) {\n\t this._buildWeatherData(nextProps);\n\t }\n\t }\n\t }, {\n\t key: 'componentWillUnmount',\n\t value: function componentWillUnmount() {\n\t this._weatherDataStoreDispatcher.off();\n\t this._weatherDataStoreDispatcher = null;\n\t }\n\t }, {\n\t key: '_setForecast',\n\t value: function _setForecast(val, shouldDisplayHourlyForecast, event) {\n\t this.setState({\n\t isHourlyForecastDisplayed: shouldDisplayHourlyForecast,\n\t forecastDisplayValue: val\n\t });\n\t\n\t event.stopPropagation();\n\t }\n\t }, {\n\t key: '_getClassNames',\n\t value: function _getClassNames(defaultNames, dailyValue) {\n\t var classNames = defaultNames;\n\t\n\t if (this.state.forecastDisplayValue === dailyValue) {\n\t classNames += \" is-active\";\n\t }\n\t\n\t return classNames;\n\t }\n\t }, {\n\t key: '_getWeatherFromEndpoint',\n\t value: function _getWeatherFromEndpoint() {\n\t var FRN_rawResponses = this.props.FRN_rawResponses;\n\t\n\t\n\t if ((0, _lodash.isEmpty)(FRN_rawResponses)) {\n\t return null;\n\t }\n\t\n\t var features = (0, _lodash.get)(FRN_rawResponses, '[0].data.features', []);\n\t return (0, _lodash.find)(features, { type: 'weather' });\n\t }\n\t }, {\n\t key: '_buildWeatherData',\n\t value: function _buildWeatherData(props) {\n\t var wsiData = (0, _lodash.get)(props, 'WeatherStore.wsi.data');\n\t\n\t if (wsiData) {\n\t var newWsiData = (0, _lodash.cloneDeep)(wsiData);\n\t var dayOptionValues = this.props.dayOptionValues;\n\t\n\t var dailyForecasts = (0, _lodash.get)(newWsiData, 'Cities.City.DailyForecast.Day', []);\n\t\n\t var customDailyOptionValues = (0, _lodash.cloneDeep)(dayOptionValues);\n\t\n\t var feedData = this._getWeatherFromEndpoint();\n\t\n\t //try to replace wsi weather data with feed weather data\n\t if (!(0, _lodash.isEmpty)(feedData) && feedData['overrideprimarycityforecast'] === false) {\n\t var primaryCityName = (0, _lodash.get)(feedData, 'weatherconditions.city.cityname', '');\n\t var currentCity = (0, _lodash.get)(this.context, 'location.city', '');\n\t\n\t if (currentCity.toLowerCase() === primaryCityName.toLowerCase()) {\n\t //city by date\n\t var forecasts = feedData.forecasts;\n\t\n\t //make wsi and feed start on the same day\n\t //sometime wsi is delayed and has one day behind the feed\n\t var wsiFirstDate = new Date(dailyForecasts[0]['@ValidDateLocal']).getDate();\n\t var feedFirstDate = new Date(forecasts[0]['datetime']).getDate();\n\t\n\t //remove first item from WSI\n\t if (wsiFirstDate < feedFirstDate) {\n\t dailyForecasts.splice(0, 1);\n\t }\n\t\n\t customDailyOptionValues = dayOptionValues.filter(function (day) {\n\t return parseInt(day, 10) < forecasts.length;\n\t });\n\t customDailyOptionValues.push(forecasts.length.toString());\n\t\n\t //remove everything after feed limit\n\t dailyForecasts.splice(forecasts.length);\n\t\n\t //modify high, low and sky text with feed if we have it\n\t dailyForecasts.forEach(function (day, index) {\n\t var _ref2 = forecasts[index] || {},\n\t high = _ref2.high,\n\t low = _ref2.low,\n\t description = _ref2.description;\n\t\n\t day['@HiTempF'] = high || day['@HiTempF'];\n\t day['@LoTempF'] = low || day['@LoTempF'];\n\t day['@SkyText'] = description || day['@SkyText'];\n\t day['@HiTempC'] = high ? (0, _WeatherUtils.convertF2C)(high) : day['@HiTempC'];\n\t day['@LoTempC'] = low ? (0, _WeatherUtils.convertF2C)(low) : day['@LoTempC'];\n\t });\n\t\n\t //update WSI with modified newWsiData\n\t var flux = this.context.flux;\n\t\n\t flux.getActions('Weather').updateWsiData(newWsiData);\n\t }\n\t }\n\t\n\t this.setState({ isLoaded: true, customDailyOptionValues: customDailyOptionValues });\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this3 = this;\n\t\n\t var _context$config = this.context.config;\n\t _context$config = _context$config === undefined ? {} : _context$config;\n\t var _context$config$appOp = _context$config.appOptions;\n\t _context$config$appOp = _context$config$appOp === undefined ? {} : _context$config$appOp;\n\t var _context$config$appOp2 = _context$config$appOp.language,\n\t language = _context$config$appOp2 === undefined ? 'en' : _context$config$appOp2;\n\t var _props = this.props,\n\t _props$WeatherStore$w = _props.WeatherStore.wsi;\n\t _props$WeatherStore$w = _props$WeatherStore$w === undefined ? {} : _props$WeatherStore$w;\n\t var _props$WeatherStore$w2 = _props$WeatherStore$w.data;\n\t _props$WeatherStore$w2 = _props$WeatherStore$w2 === undefined ? {} : _props$WeatherStore$w2;\n\t var _props$WeatherStore$w3 = _props$WeatherStore$w2.Cities;\n\t _props$WeatherStore$w3 = _props$WeatherStore$w3 === undefined ? {} : _props$WeatherStore$w3;\n\t var _props$WeatherStore$w4 = _props$WeatherStore$w3.City;\n\t _props$WeatherStore$w4 = _props$WeatherStore$w4 === undefined ? {} : _props$WeatherStore$w4;\n\t var _props$WeatherStore$w5 = _props$WeatherStore$w4.DailyForecast;\n\t _props$WeatherStore$w5 = _props$WeatherStore$w5 === undefined ? {} : _props$WeatherStore$w5;\n\t var _props$WeatherStore$w6 = _props$WeatherStore$w5.Day,\n\t dailyForecasts = _props$WeatherStore$w6 === undefined ? [] : _props$WeatherStore$w6,\n\t _props$WeatherStore$w7 = _props$WeatherStore$w4.HourlyForecast;\n\t _props$WeatherStore$w7 = _props$WeatherStore$w7 === undefined ? {} : _props$WeatherStore$w7;\n\t var _props$WeatherStore$w8 = _props$WeatherStore$w7.Hour,\n\t hourlyForecasts = _props$WeatherStore$w8 === undefined ? [] : _props$WeatherStore$w8,\n\t hiFirst = _props.hiFirst,\n\t showHourly = _props.showHourly,\n\t showWeekend = _props.showWeekend,\n\t expandFirstRowByDefault = _props.expandFirstRowByDefault;\n\t var _state = this.state,\n\t temperatureFormat = _state.temperatureFormat,\n\t isHourlyForecastDisplayed = _state.isHourlyForecastDisplayed,\n\t isLoaded = _state.isLoaded,\n\t daysToDisplay = _state.forecastDisplayValue,\n\t customDailyOptionValues = _state.customDailyOptionValues;\n\t\n\t\n\t var translatedDay = (0, _translate2.default)('Day', language);\n\t var translatedDays = (0, _translate2.default)('Days', language);\n\t\n\t if (!isLoaded) {\n\t return null;\n\t }\n\t\n\t if (!showHourly && !showWeekend && !customDailyOptionValues.length) {\n\t return null;\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'DetailedWeatherBreakdown' },\n\t _react2.default.createElement(\n\t _ModuleSubMenu2.default,\n\t { className: 'DetailedWeatherBreakdown-forecastOptions' },\n\t showHourly ? _react2.default.createElement(\n\t 'li',\n\t { className: this._getClassNames(\"forecast-option\", \"hourly\") },\n\t _react2.default.createElement(\n\t 'a',\n\t { onClick: this._setForecast.bind(this, \"hourly\", true) },\n\t (0, _translate2.default)('Hourly', language)\n\t )\n\t ) : null,\n\t (0, _lodash.map)(customDailyOptionValues, function (val) {\n\t return _react2.default.createElement(\n\t 'li',\n\t { key: val, className: _this3._getClassNames('forecast-option', val) },\n\t _react2.default.createElement(\n\t 'a',\n\t { onClick: _this3._setForecast.bind(_this3, val, false) },\n\t // Add 's' suffix for only Spanish, WEB-5188\n\t language === 'es' && (val > 1 ? val + ' ' + translatedDays : val + ' ' + translatedDay),\n\t language === 'en' && val + ' ' + translatedDay\n\t )\n\t );\n\t }),\n\t showWeekend ? _react2.default.createElement(\n\t 'li',\n\t { className: this._getClassNames(\"forecast-option\", \"weekend\") },\n\t _react2.default.createElement(\n\t 'a',\n\t { onClick: this._setForecast.bind(this, \"weekend\", false) },\n\t (0, _translate2.default)('Weekend', language)\n\t )\n\t ) : null\n\t ),\n\t isHourlyForecastDisplayed ? _react2.default.createElement(HourlyDayForecast, {\n\t lang: language,\n\t forecasts: hourlyForecasts,\n\t temperatureFormat: temperatureFormat\n\t }) : _react2.default.createElement(MultiDayForecast, {\n\t lang: language,\n\t forecasts: dailyForecasts,\n\t daysToDisplay: daysToDisplay,\n\t temperatureFormat: temperatureFormat,\n\t hiFirst: hiFirst,\n\t expandFirstRowByDefault: expandFirstRowByDefault\n\t })\n\t );\n\t }\n\t }]);\n\t\n\t return DetailedWeatherBreakdown;\n\t}(_react.Component), _class2.propTypes = {\n\t dayOptionValues: _react.PropTypes.array,\n\t hiFirst: _react.PropTypes.bool,\n\t expandFirstRowByDefault: _react.PropTypes.bool,\n\t defaultForecastDisplayValue: _react.PropTypes.string,\n\t showHourly: _react.PropTypes.bool,\n\t showWeekend: _react.PropTypes.bool,\n\t WeatherStore: _react.PropTypes.object.isRequired,\n\t FRN_rawResponses: _react.PropTypes.array\n\t}, _class2.contextTypes = {\n\t flux: _react.PropTypes.object.isRequired,\n\t location: _react.PropTypes.object.isRequired,\n\t config: _react.PropTypes.object.isRequired\n\t}, _class2.defaultProps = {\n\t hiFirst: false,\n\t expandFirstRowByDefault: false,\n\t showHourly: true,\n\t showWeekend: true,\n\t defaultForecastDisplayValue: 'hourly',\n\t dayOptionValues: ['3', '7', '10']\n\t}, _temp2)) || _class);\n\t\n\t/**\n\t * Class representing the hourly weather forecast component.\n\t */\n\t\n\tvar HourlyDayForecast = (_temp3 = _class3 = function (_Component2) {\n\t _inherits(HourlyDayForecast, _Component2);\n\t\n\t function HourlyDayForecast() {\n\t _classCallCheck(this, HourlyDayForecast);\n\t\n\t return _possibleConstructorReturn(this, (HourlyDayForecast.__proto__ || Object.getPrototypeOf(HourlyDayForecast)).apply(this, arguments));\n\t }\n\t\n\t _createClass(HourlyDayForecast, [{\n\t key: 'render',\n\t value: function render() {\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(HourlyForecastHeadings, { lang: this.props.lang }),\n\t _react2.default.createElement(HourlyForecastBody, this.props)\n\t );\n\t }\n\t }]);\n\t\n\t return HourlyDayForecast;\n\t}(_react.Component), _class3.propTypes = {\n\t forecasts: _react.PropTypes.array.isRequired,\n\t temperatureFormat: _react.PropTypes.string,\n\t lang: _react.PropTypes.string\n\t}, _temp3);\n\t\n\t/**\n\t * Class representing the headings panel for the hourly weather forecast component.\n\t */\n\t\n\tvar HourlyForecastHeadings = function (_Component3) {\n\t _inherits(HourlyForecastHeadings, _Component3);\n\t\n\t function HourlyForecastHeadings() {\n\t _classCallCheck(this, HourlyForecastHeadings);\n\t\n\t return _possibleConstructorReturn(this, (HourlyForecastHeadings.__proto__ || Object.getPrototypeOf(HourlyForecastHeadings)).apply(this, arguments));\n\t }\n\t\n\t _createClass(HourlyForecastHeadings, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props$lang = this.props.lang,\n\t lang = _props$lang === undefined ? 'en' : _props$lang;\n\t\n\t return _react2.default.createElement(\n\t _reactBootstrap.Row,\n\t { className: 'weather-multiday-hourly-headings' },\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 3, sm: 3, md: 2, className: 'multiday-hourly-heading' },\n\t (0, _translate2.default)(lang, 'Time')\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 2, sm: 2, className: 'multiday-hourly-heading' },\n\t 'Temp'\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 2, md: 4, className: 'multiday-hourly-heading' },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'long-name' },\n\t (0, _translate2.default)('Description', lang)\n\t ),\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'short-name' },\n\t 'Desc'\n\t )\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 2, sm: 2, lg: 1, className: 'multiday-hourly-heading' },\n\t 'Precip'\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 2, sm: 2, lg: 1, className: 'multiday-hourly-heading' },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'long-name' },\n\t (0, _translate2.default)('Humidity', lang)\n\t ),\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'short-name' },\n\t (0, _translate2.default)('Humid', lang)\n\t )\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xsHidden: true, smHidden: true, mdHidden: true, lg: 2, className: 'multiday-hourly-heading' },\n\t (0, _translate2.default)('Wind', lang)\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return HourlyForecastHeadings;\n\t}(_react.Component);\n\t\n\t/**\n\t * Class representing the container for the content within the hourly weather forecast component.\n\t */\n\t\n\t\n\tvar HourlyForecastBody = (_temp5 = _class4 = function (_Component4) {\n\t _inherits(HourlyForecastBody, _Component4);\n\t\n\t function HourlyForecastBody() {\n\t var _ref3;\n\t\n\t var _temp4, _this6, _ret2;\n\t\n\t _classCallCheck(this, HourlyForecastBody);\n\t\n\t for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n\t args[_key2] = arguments[_key2];\n\t }\n\t\n\t return _ret2 = (_temp4 = (_this6 = _possibleConstructorReturn(this, (_ref3 = HourlyForecastBody.__proto__ || Object.getPrototypeOf(HourlyForecastBody)).call.apply(_ref3, [this].concat(args))), _this6), _this6.state = {\n\t totalHoursToDisplay: 12\n\t }, _temp4), _possibleConstructorReturn(_this6, _ret2);\n\t }\n\t\n\t _createClass(HourlyForecastBody, [{\n\t key: '_showNextEightHours',\n\t value: function _showNextEightHours() {\n\t this.setState({\n\t totalHoursToDisplay: this.state.totalHoursToDisplay + 12\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this7 = this;\n\t\n\t var _props2 = this.props,\n\t temperatureFormat = _props2.temperatureFormat,\n\t forecasts = _props2.forecasts,\n\t _props2$lang = _props2.lang,\n\t lang = _props2$lang === undefined ? 'en' : _props2$lang;\n\t var totalHoursToDisplay = this.state.totalHoursToDisplay;\n\t\n\t\n\t var forecastComponents = void 0;\n\t if (forecasts) {\n\t forecastComponents = (0, _lodash.map)((0, _lodash.take)(forecasts, totalHoursToDisplay), function (forecast, i) {\n\t return _react2.default.createElement(HourlyForecastRow, {\n\t lang: lang,\n\t key: i,\n\t forecast: forecast,\n\t temperatureFormat: temperatureFormat\n\t });\n\t });\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t forecastComponents,\n\t totalHoursToDisplay < forecasts.length ? _react2.default.createElement(\n\t _reactBootstrap.Row,\n\t { className: 'next-12-hours-row' },\n\t _react2.default.createElement(\n\t 'span',\n\t { onClick: function onClick() {\n\t return _this7._showNextEightHours();\n\t }, className: 'next-12-hours-label' },\n\t (0, _translate2.default)('Next 12 Hours', lang)\n\t )\n\t ) : null\n\t );\n\t }\n\t }]);\n\t\n\t return HourlyForecastBody;\n\t}(_react.Component), _class4.propTypes = {\n\t forecasts: _react.PropTypes.array.isRequired,\n\t temperatureFormat: _react.PropTypes.string,\n\t lang: _react.PropTypes.string\n\t}, _temp5);\n\t\n\t/**\n\t * Class representing a row that contains information about a single hour within the hourly weather forecast component.\n\t */\n\t\n\tvar HourlyForecastRow = (_temp6 = _class5 = function (_Component5) {\n\t _inherits(HourlyForecastRow, _Component5);\n\t\n\t function HourlyForecastRow() {\n\t _classCallCheck(this, HourlyForecastRow);\n\t\n\t return _possibleConstructorReturn(this, (HourlyForecastRow.__proto__ || Object.getPrototypeOf(HourlyForecastRow)).apply(this, arguments));\n\t }\n\t\n\t _createClass(HourlyForecastRow, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props3 = this.props,\n\t _props3$forecast = _props3.forecast,\n\t dateTimeOfForecast = _props3$forecast['@ValidDateLocal'],\n\t TempF = _props3$forecast['@TempF'],\n\t TempC = _props3$forecast['@TempC'],\n\t iconCode = _props3$forecast['@IconCode'],\n\t descriptionText = _props3$forecast['@SkyMedium'],\n\t precipitation = _props3$forecast['@PrecipChance'],\n\t humidity = _props3$forecast['@RelHumidity'],\n\t windSpeed = _props3$forecast['@WndSpdMph'],\n\t windDirection = _props3$forecast['@WndDirCardinal'],\n\t temperatureFormat = _props3.temperatureFormat;\n\t\n\t\n\t var temp = temperatureFormat !== 'C' ? TempF : TempC;\n\t\n\t return _react2.default.createElement(\n\t _reactBootstrap.Row,\n\t { className: 'HourlyForecastRow ForecastRow' },\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 3, sm: 3, md: 2 },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'time-of-day' },\n\t (0, _DateUtils.formatDate)(dateTimeOfForecast, 'hA')\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'date' },\n\t (0, _DateUtils.formatDate)(dateTimeOfForecast, 'MM/DD')\n\t )\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 2, sm: 2 },\n\t _react2.default.createElement('span', { className: 'ForecastRow-hiTemp', dangerouslySetInnerHTML: { __html: temp + \"°\" } })\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 2, md: 4 },\n\t _react2.default.createElement('span', { className: \"weather-icon weather-icon-small-\" + iconCode }),\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'weather-description' },\n\t descriptionText\n\t )\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 2, sm: 2, lg: 1 },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'ForecastRow-precip weather-percentage weather-precipitation' },\n\t precipitation\n\t )\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 2, sm: 2, lg: 1 },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'ForecastRow-humidity weather-percentage' },\n\t humidity\n\t )\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xsHidden: true, smHidden: true, mdHidden: true, lg: 2 },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'ForecastRow-wind weather-wind' },\n\t windDirection + \" \" + windSpeed + \" MPH\"\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return HourlyForecastRow;\n\t}(_react.Component), _class5.propTypes = {\n\t forecast: _react.PropTypes.object.isRequired,\n\t temperatureFormat: _react.PropTypes.string,\n\t lang: _react.PropTypes.string\n\t}, _temp6);\n\t\n\t/**\n\t * Class representing the multiday weather forecast component.\n\t */\n\t\n\tvar MultiDayForecast = (_temp7 = _class6 = function (_Component6) {\n\t _inherits(MultiDayForecast, _Component6);\n\t\n\t function MultiDayForecast() {\n\t _classCallCheck(this, MultiDayForecast);\n\t\n\t return _possibleConstructorReturn(this, (MultiDayForecast.__proto__ || Object.getPrototypeOf(MultiDayForecast)).apply(this, arguments));\n\t }\n\t\n\t _createClass(MultiDayForecast, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props4 = this.props,\n\t forecasts = _props4.forecasts,\n\t daysToDisplay = _props4.daysToDisplay,\n\t hiFirst = _props4.hiFirst,\n\t expandFirstRowByDefault = _props4.expandFirstRowByDefault,\n\t _props4$lang = _props4.lang,\n\t lang = _props4$lang === undefined ? 'en' : _props4$lang;\n\t\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(MultiDayForecastHeadings, { lang: lang }),\n\t _react2.default.createElement(MultiDayForecastBody, {\n\t forecasts: forecasts,\n\t daysToDisplay: daysToDisplay,\n\t temperatureFormat: this.props.temperatureFormat,\n\t hiFirst: hiFirst,\n\t expandFirstRowByDefault: expandFirstRowByDefault\n\t })\n\t );\n\t }\n\t }]);\n\t\n\t return MultiDayForecast;\n\t}(_react.Component), _class6.propTypes = {\n\t forecasts: _react.PropTypes.array.isRequired,\n\t daysToDisplay: _react.PropTypes.string,\n\t temperatureFormat: _react.PropTypes.string,\n\t hiFirst: _react.PropTypes.bool,\n\t expandFirstRowByDefault: _react.PropTypes.bool\n\t}, _temp7);\n\t\n\t/**\n\t * Class representing the headings panel for the multiday weather forecast component.\n\t */\n\t\n\tvar MultiDayForecastHeadings = function (_Component7) {\n\t _inherits(MultiDayForecastHeadings, _Component7);\n\t\n\t function MultiDayForecastHeadings() {\n\t _classCallCheck(this, MultiDayForecastHeadings);\n\t\n\t return _possibleConstructorReturn(this, (MultiDayForecastHeadings.__proto__ || Object.getPrototypeOf(MultiDayForecastHeadings)).apply(this, arguments));\n\t }\n\t\n\t _createClass(MultiDayForecastHeadings, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props$lang2 = this.props.lang,\n\t lang = _props$lang2 === undefined ? 'en' : _props$lang2;\n\t\n\t return _react2.default.createElement(\n\t _reactBootstrap.Row,\n\t { className: 'weather-multiday-hourly-headings' },\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 3, sm: 2, className: 'multiday-hourly-heading' },\n\t (0, _translate2.default)('Day', lang)\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 2, sm: 2, className: 'multiday-hourly-heading' },\n\t 'Temp'\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 2, sm: 4, className: 'multiday-hourly-heading' },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'long-name' },\n\t (0, _translate2.default)('Description', lang)\n\t ),\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'short-name' },\n\t 'Desc'\n\t )\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 2, sm: 2, lg: 1, className: 'multiday-hourly-heading' },\n\t 'Precip'\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 2, sm: 2, lg: 1, className: 'multiday-hourly-heading' },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'long-name' },\n\t (0, _translate2.default)('Humidity', lang)\n\t ),\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'short-name' },\n\t (0, _translate2.default)('Humid', lang)\n\t )\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xsHidden: true, smHidden: true, mdHidden: true, lg: 2, className: 'multiday-hourly-heading' },\n\t (0, _translate2.default)('Wind', lang)\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return MultiDayForecastHeadings;\n\t}(_react.Component);\n\t\n\t/**\n\t * Class representing the container for the content within the multiday weather forecast component.\n\t */\n\t\n\t\n\tvar MultiDayForecastBody = (_temp9 = _class7 = function (_Component8) {\n\t _inherits(MultiDayForecastBody, _Component8);\n\t\n\t function MultiDayForecastBody() {\n\t var _ref4;\n\t\n\t var _temp8, _this11, _ret3;\n\t\n\t _classCallCheck(this, MultiDayForecastBody);\n\t\n\t for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n\t args[_key3] = arguments[_key3];\n\t }\n\t\n\t return _ret3 = (_temp8 = (_this11 = _possibleConstructorReturn(this, (_ref4 = MultiDayForecastBody.__proto__ || Object.getPrototypeOf(MultiDayForecastBody)).call.apply(_ref4, [this].concat(args))), _this11), _this11.state = {\n\t expandedRowIndex: _this11.props.expandFirstRowByDefault ? 0 : -1\n\t }, _temp8), _possibleConstructorReturn(_this11, _ret3);\n\t }\n\t\n\t _createClass(MultiDayForecastBody, [{\n\t key: 'componentWillReceiveProps',\n\t value: function componentWillReceiveProps(nextProps) {\n\t var oldDaysToDisplay = nextProps['daysToDisplay'],\n\t expandFirstRowByDefault = nextProps.expandFirstRowByDefault;\n\t var newDaysToDisplay = nextProps.newDaysToDisplay;\n\t\n\t var expandedIndex = expandFirstRowByDefault ? 0 : -1;\n\t\n\t if (oldDaysToDisplay !== newDaysToDisplay) {\n\t this.setState({\n\t expandedRowIndex: expandedIndex\n\t });\n\t }\n\t }\n\t\n\t // get first weekend from daily forecast\n\t\n\t }, {\n\t key: '_getFirstWeekend',\n\t value: function _getFirstWeekend(forecasts) {\n\t var weekend = [];\n\t\n\t var _iteratorNormalCompletion = true;\n\t var _didIteratorError = false;\n\t var _iteratorError = undefined;\n\t\n\t try {\n\t for (var _iterator = forecasts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t var forecast = _step.value;\n\t\n\t var date = new Date(forecast['@ValidDateLocal']);\n\t // Friday: 5, Saturday: 6, Sunday: 0\n\t if (date.getDay() === 5 || date.getDay() === 6 || date.getDay() === 0) {\n\t weekend.push(forecast);\n\t\n\t if (date.getDay() === 0) {\n\t return weekend;\n\t }\n\t }\n\t }\n\t } catch (err) {\n\t _didIteratorError = true;\n\t _iteratorError = err;\n\t } finally {\n\t try {\n\t if (!_iteratorNormalCompletion && _iterator.return) {\n\t _iterator.return();\n\t }\n\t } finally {\n\t if (_didIteratorError) {\n\t throw _iteratorError;\n\t }\n\t }\n\t }\n\t\n\t return weekend;\n\t }\n\t }, {\n\t key: '_setExpandedRowIndex',\n\t value: function _setExpandedRowIndex() {\n\t var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;\n\t\n\t this.setState({\n\t expandedRowIndex: value\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this12 = this;\n\t\n\t var _props5 = this.props,\n\t forecasts = _props5.forecasts,\n\t daysToDisplay = _props5.daysToDisplay,\n\t temperatureFormat = _props5.temperatureFormat,\n\t hiFirst = _props5.hiFirst;\n\t var expandedRowIndex = this.state.expandedRowIndex;\n\t\n\t var emptyRowIndex = -1;\n\t\n\t var totalDaysToDisplay = daysToDisplay;\n\t var elementsToDisplay = void 0;\n\t var dailyElements = void 0;\n\t\n\t if (forecasts) {\n\t if (totalDaysToDisplay === 'weekend') {\n\t elementsToDisplay = this._getFirstWeekend(forecasts);\n\t } else {\n\t elementsToDisplay = (0, _lodash.take)(forecasts, Number(totalDaysToDisplay));\n\t }\n\t\n\t dailyElements = (0, _lodash.map)(elementsToDisplay, function (forecast, i) {\n\t return _react2.default.createElement(MultiDayForecastRow, {\n\t key: i,\n\t forecast: forecast,\n\t temperatureFormat: temperatureFormat,\n\t isExpanded: i === expandedRowIndex,\n\t rowIndex: i,\n\t onExpand: _this12._setExpandedRowIndex.bind(_this12),\n\t onCollapse: _this12._setExpandedRowIndex.bind(_this12, emptyRowIndex),\n\t hiFirst: hiFirst\n\t });\n\t });\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t null,\n\t dailyElements\n\t );\n\t }\n\t }]);\n\t\n\t return MultiDayForecastBody;\n\t}(_react.Component), _class7.propTypes = {\n\t forecasts: _react.PropTypes.array.isRequired,\n\t daysToDisplay: _react.PropTypes.string,\n\t temperatureFormat: _react.PropTypes.string,\n\t hiFirst: _react.PropTypes.bool,\n\t expandFirstRowByDefault: _react.PropTypes.bool\n\t}, _temp9);\n\t\n\t/**\n\t * Class representing a row that contains information about a single day within the multiday weather forecast component.\n\t */\n\t\n\tvar MultiDayForecastRow = (_temp10 = _class8 = function (_Component9) {\n\t _inherits(MultiDayForecastRow, _Component9);\n\t\n\t function MultiDayForecastRow(props) {\n\t _classCallCheck(this, MultiDayForecastRow);\n\t\n\t //Give internal functions correct context\n\t var _this13 = _possibleConstructorReturn(this, (MultiDayForecastRow.__proto__ || Object.getPrototypeOf(MultiDayForecastRow)).call(this, props));\n\t\n\t _this13.state = {\n\t showSummary: !_this13.props.isExpanded,\n\t showExpanded: _this13.props.isExpanded\n\t };\n\t _this13._onExpandClick = _this13._onExpandClick.bind(_this13);\n\t _this13._onCollapseClick = _this13._onCollapseClick.bind(_this13);\n\t _this13._onSummaryChange = _this13._onSummaryChange.bind(_this13);\n\t _this13._onOverviewChange = _this13._onOverviewChange.bind(_this13);\n\t _this13._onRowClick = _this13._onRowClick.bind(_this13);\n\t return _this13;\n\t }\n\t\n\t _createClass(MultiDayForecastRow, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t this.setState({\n\t isRowExpanded: false\n\t });\n\t }\n\t }, {\n\t key: 'componentWillReceiveProps',\n\t value: function componentWillReceiveProps(nextProps) {\n\t var isExpanded = nextProps.isExpanded;\n\t\n\t var newState = {\n\t isRowExpanded: isExpanded\n\t };\n\t\n\t if (isExpanded) {\n\t newState['showSummary'] = false;\n\t } else {\n\t newState['showExpanded'] = false;\n\t }\n\t\n\t this.setState(newState);\n\t }\n\t }, {\n\t key: '_onRowClick',\n\t value: function _onRowClick() {\n\t var _props6 = this.props,\n\t isExpanded = _props6.isExpanded,\n\t rowIndex = _props6.rowIndex,\n\t onExpand = _props6.onExpand,\n\t onCollapse = _props6.onCollapse;\n\t\n\t\n\t if (isExpanded) {\n\t onCollapse();\n\t } else {\n\t onExpand(rowIndex);\n\t }\n\t }\n\t }, {\n\t key: '_onExpandClick',\n\t value: function _onExpandClick() {\n\t var _props7 = this.props,\n\t onExpand = _props7.onExpand,\n\t rowIndex = _props7.rowIndex;\n\t\n\t\n\t onExpand(rowIndex);\n\t }\n\t }, {\n\t key: '_onCollapseClick',\n\t value: function _onCollapseClick() {\n\t var onCollapse = this.props.onCollapse;\n\t\n\t\n\t onCollapse();\n\t }\n\t }, {\n\t key: '_onSummaryChange',\n\t value: function _onSummaryChange(component) {\n\t var _state2 = this.state,\n\t showSummary = _state2.showSummary,\n\t isRowExpanded = _state2.isRowExpanded;\n\t\n\t\n\t if (!component && !showSummary) {\n\t this.setState({\n\t showExpanded: isRowExpanded,\n\t showSummary: !isRowExpanded\n\t });\n\t }\n\t }\n\t }, {\n\t key: '_onOverviewChange',\n\t value: function _onOverviewChange(component) {\n\t if (!component && !this.state.showSummary) {\n\t this.setState({\n\t showSummary: true\n\t });\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _context$config2 = this.context.config;\n\t _context$config2 = _context$config2 === undefined ? {} : _context$config2;\n\t var _context$config2$appO = _context$config2.appOptions;\n\t _context$config2$appO = _context$config2$appO === undefined ? {} : _context$config2$appO;\n\t var language = _context$config2$appO.language;\n\t var _props8 = this.props,\n\t hiFirst = _props8.hiFirst,\n\t temperatureFormat = _props8.temperatureFormat,\n\t forecast = _props8.forecast;\n\t var _state3 = this.state,\n\t showExpanded = _state3.showExpanded,\n\t showSummary = _state3.showSummary;\n\t\n\t\n\t return _react2.default.createElement(\n\t _reactBootstrap.Row,\n\t { className: 'MultiDayForecastRow ForecastRow', onClick: this._onRowClick },\n\t _react2.default.createElement(\n\t _reactAddonsCssTransitionGroup2.default,\n\t { transitionName: 'weather-daily-summary', transitionEnterTimeout: 200, transitionLeaveTimeout: 200 },\n\t showExpanded ? _react2.default.createElement(MultiDayForecastDailyExpanded, {\n\t key: 1,\n\t ref: this._onOverviewChange,\n\t temperatureFormat: temperatureFormat,\n\t dailyForecast: forecast,\n\t lang: language\n\t }) : null,\n\t showSummary ? _react2.default.createElement(MultiDayForecastDailySummary, {\n\t key: 2,\n\t ref: this._onSummaryChange,\n\t hiFirst: hiFirst,\n\t temperatureFormat: temperatureFormat,\n\t dailyForecast: forecast\n\t }) : null\n\t ),\n\t _react2.default.createElement(_DownArrow2.default, {\n\t arrowState: showSummary ? \"arrow\" : \"cross\",\n\t onOpenClick: this._onExpandClick,\n\t onCloseClick: this._onCollapseClick\n\t })\n\t );\n\t }\n\t }]);\n\t\n\t return MultiDayForecastRow;\n\t}(_react.Component), _class8.propTypes = {\n\t forecast: _react.PropTypes.object.isRequired,\n\t temperatureFormat: _react.PropTypes.string,\n\t isExpanded: _react.PropTypes.bool,\n\t rowIndex: _react.PropTypes.number,\n\t onExpand: _react.PropTypes.func,\n\t onCollapse: _react.PropTypes.func,\n\t hiFirst: _react.PropTypes.bool\n\t}, _class8.contextTypes = {\n\t config: _react.PropTypes.object.isRequired\n\t}, _temp10);\n\t\n\t/**\n\t * Class representing summarised information about a single day within the multiday weather forecast component.\n\t */\n\t\n\tvar MultiDayForecastDailySummary = (_temp11 = _class9 = function (_Component10) {\n\t _inherits(MultiDayForecastDailySummary, _Component10);\n\t\n\t function MultiDayForecastDailySummary() {\n\t _classCallCheck(this, MultiDayForecastDailySummary);\n\t\n\t return _possibleConstructorReturn(this, (MultiDayForecastDailySummary.__proto__ || Object.getPrototypeOf(MultiDayForecastDailySummary)).apply(this, arguments));\n\t }\n\t\n\t _createClass(MultiDayForecastDailySummary, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props9 = this.props,\n\t dailyForecast = _props9.dailyForecast,\n\t hiFirst = _props9.hiFirst;\n\t var dayOfWeek = dailyForecast['@DayOfWk'],\n\t hiTempF = dailyForecast['@HiTempF'],\n\t loTempF = dailyForecast['@LoTempF'],\n\t hiTempC = dailyForecast['@HiTempC'],\n\t loTempC = dailyForecast['@LoTempC'],\n\t date = dailyForecast['@ValidDateLocal'],\n\t iconCode = dailyForecast['@IconCode'],\n\t descriptionText = dailyForecast['@SkyText'],\n\t precipitation = dailyForecast['@PrecipChance'],\n\t humidity = dailyForecast['@RelHumidity'],\n\t windSpeed = dailyForecast['@WndSpdMph'],\n\t windDirection = dailyForecast['@WndDirCardinal'];\n\t\n\t // Use the correct unit (celsius vs fahrenheit)\n\t\n\t var highTemp = this.props.temperatureFormat !== \"C\" ? hiTempF : hiTempC;\n\t var lowTemp = this.props.temperatureFormat !== \"C\" ? loTempF : loTempC;\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'daily-forecast-summary' },\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 3, sm: 2 },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'day-of-week' },\n\t dayOfWeek.toUpperCase().substring(0, 3)\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'date' },\n\t (0, _DateUtils.formatDate)(date, 'MM/DD')\n\t )\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 2, sm: 2 },\n\t hiFirst ? _react2.default.createElement('span', { className: 'ForecastRow-hiTemp', dangerouslySetInnerHTML: { __html: highTemp + \"°\" } }) : _react2.default.createElement('span', { className: 'MultiDayForecastRow-loTemp', dangerouslySetInnerHTML: { __html: lowTemp + \"°\" } }),\n\t _react2.default.createElement('span', { className: 'weather-slash' }),\n\t hiFirst ? _react2.default.createElement('span', { className: 'MultiDayForecastRow-loTemp', dangerouslySetInnerHTML: { __html: lowTemp + \"°\" } }) : _react2.default.createElement('span', { className: 'ForecastRow-hiTemp', dangerouslySetInnerHTML: { __html: highTemp + \"°\" } })\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 2, sm: 4 },\n\t _react2.default.createElement('span', { className: \"weather-icon weather-icon-small-\" + iconCode }),\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'weather-description' },\n\t descriptionText\n\t )\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 2, sm: 2, lg: 1 },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'ForecastRow-precip weather-percentage weather-precipitation' },\n\t precipitation\n\t )\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 2, sm: 2, lg: 1 },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'ForecastRow-humidity weather-percentage' },\n\t humidity\n\t )\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xsHidden: true, smHidden: true, mdHidden: true, lg: 2 },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'ForecastRow-wind' },\n\t windDirection + \" \" + windSpeed + \" MPH\"\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return MultiDayForecastDailySummary;\n\t}(_react.Component), _class9.propTypes = {\n\t dailyForecast: _react.PropTypes.object.isRequired,\n\t temperatureFormat: _react.PropTypes.string,\n\t hiFirst: _react.PropTypes.bool\n\t}, _temp11);\n\t\n\t/**\n\t * Class representing verbose information about a single day within the multiday weather forecast component.\n\t */\n\t\n\tvar MultiDayForecastDailyExpanded = (_temp12 = _class10 = function (_Component11) {\n\t _inherits(MultiDayForecastDailyExpanded, _Component11);\n\t\n\t function MultiDayForecastDailyExpanded() {\n\t _classCallCheck(this, MultiDayForecastDailyExpanded);\n\t\n\t return _possibleConstructorReturn(this, (MultiDayForecastDailyExpanded.__proto__ || Object.getPrototypeOf(MultiDayForecastDailyExpanded)).apply(this, arguments));\n\t }\n\t\n\t _createClass(MultiDayForecastDailyExpanded, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props10 = this.props,\n\t dailyForecast = _props10.dailyForecast,\n\t _props10$lang = _props10.lang,\n\t lang = _props10$lang === undefined ? 'en' : _props10$lang;\n\t var dayOfWeek = dailyForecast['@DayOfWk'],\n\t dateTime = dailyForecast['@ValidDateLocal'],\n\t iconCodeDay = dailyForecast['@IconCode'],\n\t hiTempF = dailyForecast['@HiTempF'],\n\t hiTempC = dailyForecast['@HiTempC'],\n\t descriptionTextDay = dailyForecast['@SkyText'],\n\t weatherPhraseDay = dailyForecast['@PhraseDay'],\n\t sunrise = dailyForecast['@Sunrise'],\n\t sunset = dailyForecast['@Sunset'],\n\t uvIndex = dailyForecast['@UvIdx'],\n\t uvDescription = dailyForecast['@UvDescr'],\n\t precipitationDay = dailyForecast['@PrecipChanceDay'],\n\t humidityDay = dailyForecast['@RelHumidity'],\n\t windSpeedDay = dailyForecast['@WndSpdMph'],\n\t windDirectionDay = dailyForecast['@WndDirCardinal'],\n\t loTempF = dailyForecast['@LoTempF'],\n\t loTempC = dailyForecast['@LoTempC'],\n\t iconCodeNight = dailyForecast['@IconCodeNight'],\n\t descriptionTextNight = dailyForecast['@SkyTextNight'],\n\t weatherPhraseNight = dailyForecast['@PhraseNight'],\n\t moonrise = dailyForecast['@Moonrise'],\n\t moonset = dailyForecast['@Moonset'],\n\t moonPhase = dailyForecast['@MoonPhaseText'],\n\t precipitationNight = dailyForecast['@PrecipChanceNight'],\n\t humidityNight = dailyForecast['@RelHumidityNight'],\n\t windSpeedNight = dailyForecast['@WndSpdMphNight'],\n\t windDirectionNight = dailyForecast['@WndDirCardinalNight'];\n\t\n\t // Use the correct unit (celsius vs fahrenheit)\n\t\n\t var highTemp = this.props.temperatureFormat !== \"C\" ? hiTempF : hiTempC;\n\t var lowTemp = this.props.temperatureFormat !== \"C\" ? loTempF : loTempC;\n\t\n\t var dateOnly = dateTime.split(\" \")[0];\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'MultiDayForecastDailyExpanded daily-forecast-summary daily-forecast-summary-expanded' },\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 12, sm: 12, md: 6, lg: 6 },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'day-of-week' },\n\t dayOfWeek.toUpperCase()\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'date' },\n\t (0, _DateUtils.formatDate)(dateTime, 'MM/DD')\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'temp-description' },\n\t _react2.default.createElement('span', { className: \"weather-icon weather-icon-\" + iconCodeDay }),\n\t _react2.default.createElement('span', { className: 'temperature', dangerouslySetInnerHTML: { __html: highTemp + \"°\" } }),\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'weather-description' },\n\t descriptionTextDay.toUpperCase()\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-phrase' },\n\t weatherPhraseDay || ''\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Row,\n\t { className: 'MultiDayForecastDailyExpanded-details' },\n\t sunrise ? _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 6, sm: 4, className: 'MultiDayForecastDailyExpanded-sunrise' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-title' },\n\t (0, _translate2.default)('Sunrise', lang)\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-sun sunrise' },\n\t (0, _DateUtils.formatDate)(dateOnly + ' ' + sunrise, 'h:mm A')\n\t )\n\t ) : null,\n\t sunset ? _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 6, sm: 4, className: 'MultiDayForecastDailyExpanded-sunset' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-title' },\n\t (0, _translate2.default)('Sunset', lang)\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-sun sunset' },\n\t (0, _DateUtils.formatDate)(dateOnly + ' ' + sunset, 'h:mm A')\n\t )\n\t ) : null,\n\t uvIndex ? _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 6, sm: 4, className: 'MultiDayForecastDailyExpanded-uv' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-title' },\n\t (0, _translate2.default)('UV Index', lang)\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'uv-index' },\n\t uvIndex + \" \" + uvDescription.toUpperCase()\n\t )\n\t ) : null,\n\t windSpeedDay ? _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 6, sm: 4, className: 'MultiDayForecastDailyExpanded-wind' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-title' },\n\t (0, _translate2.default)('Wind', lang)\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-wind' },\n\t windDirectionDay + \" \" + windSpeedDay + \" MPH\"\n\t )\n\t ) : null,\n\t humidityDay ? _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 6, sm: 4, className: 'MultiDayForecastDailyExpanded-humidity' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-title' },\n\t (0, _translate2.default)('Humidity', lang)\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-percentage' },\n\t humidityDay\n\t )\n\t ) : null,\n\t precipitationDay ? _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 6, sm: 4, className: 'MultiDayForecastDailyExpanded-precipitation' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-title' },\n\t (0, _translate2.default)('Precip.', lang)\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-percentage weather-precipitation' },\n\t precipitationDay\n\t )\n\t ) : null\n\t )\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 12, sm: 12, md: 6, lg: 6 },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'day-of-week' },\n\t dayOfWeek.toUpperCase() + ' ' + (0, _translate2.default)('NIGHT', lang)\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'temp-description' },\n\t _react2.default.createElement('span', { className: \"weather-icon weather-icon-\" + iconCodeNight }),\n\t _react2.default.createElement('span', { className: 'temperature', dangerouslySetInnerHTML: { __html: lowTemp + \"°\" } }),\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'weather-description' },\n\t descriptionTextNight.toUpperCase()\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-phrase' },\n\t weatherPhraseNight || ''\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.Row,\n\t { className: 'MultiDayForecastDailyExpanded-details' },\n\t moonrise ? _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 6, sm: 4, className: 'MultiDayForecastDailyExpanded-moonrise' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-title' },\n\t (0, _translate2.default)('Moonrise', lang)\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-moon moonrise' },\n\t (0, _DateUtils.formatDate)(dateOnly + ' ' + moonrise, 'h:mm A')\n\t )\n\t ) : null,\n\t moonset ? _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 6, sm: 4, className: 'MultiDayForecastDailyExpanded-moonset' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-title' },\n\t (0, _translate2.default)('Moonset', lang)\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-moon moonset' },\n\t (0, _DateUtils.formatDate)(dateOnly + ' ' + moonset, 'h:mm A')\n\t )\n\t ) : null,\n\t moonPhase ? _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 6, sm: 4, className: 'MultiDayForecastDailyExpanded-moonPhase' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-title' },\n\t (0, _translate2.default)('Moon Phase', lang)\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'moon-phase' },\n\t moonPhase\n\t )\n\t ) : null,\n\t windSpeedNight ? _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 6, sm: 4, className: 'MultiDayForecastDailyExpanded-wind' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-title' },\n\t (0, _translate2.default)('Wind', lang)\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-wind' },\n\t windDirectionNight + \" \" + windSpeedNight + \" MPH\"\n\t )\n\t ) : null,\n\t humidityNight ? _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 6, sm: 4, className: 'MultiDayForecastDailyExpanded-humidity' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-title' },\n\t (0, _translate2.default)('Humidity', lang)\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-percentage' },\n\t humidityNight\n\t )\n\t ) : null,\n\t precipitationNight ? _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: 6, sm: 4, className: 'MultiDayForecastDailyExpanded-precipitation' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-title' },\n\t (0, _translate2.default)('Precip.', lang)\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'weather-percentage weather-precipitation' },\n\t precipitationNight\n\t )\n\t ) : null\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return MultiDayForecastDailyExpanded;\n\t}(_react.Component), _class10.propTypes = {\n\t dailyForecast: _react.PropTypes.object.isRequired,\n\t temperatureFormat: _react.PropTypes.string\n\t}, _temp12);\n\texports.default = DetailedWeatherBreakdown;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1257 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp, _class2, _temp3, _class3, _temp4, _class4, _temp5, _class5, _temp6, _class6, _temp7, _dec, _class7, _class8, _temp9;\n\t\n\tvar _clone2 = __webpack_require__(481);\n\t\n\tvar _clone3 = _interopRequireDefault(_clone2);\n\t\n\tvar _cloneDeep2 = __webpack_require__(482);\n\t\n\tvar _cloneDeep3 = _interopRequireDefault(_cloneDeep2);\n\t\n\tvar _es6TemplateStrings = __webpack_require__(450);\n\t\n\tvar _es6TemplateStrings2 = _interopRequireDefault(_es6TemplateStrings);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _connectAlt = __webpack_require__(95);\n\t\n\tvar _connectAlt2 = _interopRequireDefault(_connectAlt);\n\t\n\tvar _translate = __webpack_require__(51);\n\t\n\tvar _translate2 = _interopRequireDefault(_translate);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar LocationListMode = {\n\t add: 'add',\n\t view: 'view',\n\t edit: 'edit'\n\t};\n\t\n\tvar LocationList = (_temp = _class = function (_Component) {\n\t _inherits(LocationList, _Component);\n\t\n\t function LocationList(props) {\n\t _classCallCheck(this, LocationList);\n\t\n\t var locations = props.locations;\n\t\n\t var _this = _possibleConstructorReturn(this, (LocationList.__proto__ || Object.getPrototypeOf(LocationList)).call(this, props));\n\t\n\t _this.state = {\n\t locations: (0, _cloneDeep3.default)(locations)\n\t };\n\t return _this;\n\t }\n\t\n\t _createClass(LocationList, [{\n\t key: 'componentWillReceiveProps',\n\t value: function componentWillReceiveProps(nextProps) {\n\t if (nextProps.locations) {\n\t this.setState({\n\t locations: (0, _cloneDeep3.default)(nextProps.locations)\n\t });\n\t }\n\t }\n\t }, {\n\t key: '_handleAddClick',\n\t value: function _handleAddClick(location) {\n\t var flux = this.context.flux;\n\t\n\t var locations = (0, _clone3.default)(flux.getStore('Location').getState().userLocations) || [];\n\t\n\t locations.splice(0, 0, location);\n\t\n\t flux.getActions('Location').updateUserLocations(locations).then(function () {\n\t flux.getActions('Location').updateCurrent(location).then(function () {\n\t // TODO: improve\n\t window.location.reload();\n\t });\n\t });\n\t }\n\t }, {\n\t key: '_handleRemoveClick',\n\t value: function _handleRemoveClick(i) {\n\t var locations = this.state.locations;\n\t\n\t var copy = (0, _cloneDeep3.default)(locations);\n\t\n\t copy.splice(i, 1);\n\t\n\t this.setState({\n\t locations: copy\n\t });\n\t }\n\t }, {\n\t key: '_handleCustomNameChange',\n\t value: function _handleCustomNameChange(i, value) {\n\t var locations = this.state.locations;\n\t\n\t var copy = (0, _cloneDeep3.default)(locations);\n\t\n\t copy[i].customName = value;\n\t\n\t this.setState({\n\t locations: copy\n\t });\n\t }\n\t }, {\n\t key: '_handleClick',\n\t value: function _handleClick(location) {\n\t var flux = this.context.flux;\n\t\n\t\n\t flux.getActions('Location').updateCurrent(location).then(function () {\n\t // TODO: improve\n\t window.location.reload();\n\t });\n\t }\n\t }, {\n\t key: 'save',\n\t value: function save() {\n\t var flux = this.context.flux;\n\t var locations = this.state.locations;\n\t\n\t\n\t flux.getActions('Location').updateUserLocations(locations);\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _props = this.props,\n\t title = _props.title,\n\t mode = _props.mode;\n\t var locations = this.state.locations;\n\t var language = this.context.config.appOptions.language;\n\t\n\t\n\t var placeHolder = (0, _translate2.default)('NICKNAME', language);\n\t var locationComponents = locations.map(function (location, i) {\n\t return _react2.default.createElement(LocationListItem, {\n\t key: i,\n\t location: location,\n\t nickNamePlaceHolder: placeHolder,\n\t mode: mode,\n\t onClick: mode === LocationListMode.view ? function () {\n\t return _this2._handleClick(location, i);\n\t } : null,\n\t onAddClick: mode === LocationListMode.add ? function () {\n\t return _this2._handleAddClick(location);\n\t } : null,\n\t onRemoveClick: mode === LocationListMode.edit ? function () {\n\t return _this2._handleRemoveClick(i, location);\n\t } : null,\n\t onCustomNameChange: mode === LocationListMode.edit ? function (e) {\n\t return _this2._handleCustomNameChange(i, e.target.value);\n\t } : null\n\t });\n\t });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'LocationList' },\n\t title ? _react2.default.createElement(\n\t 'div',\n\t { className: 'LocationList-title' },\n\t title\n\t ) : null,\n\t locationComponents\n\t );\n\t }\n\t }]);\n\t\n\t return LocationList;\n\t}(_react.Component), _class.propTypes = {\n\t mode: _react.PropTypes.string,\n\t title: _react.PropTypes.string,\n\t locations: _react.PropTypes.array.isRequired\n\t}, _class.contextTypes = {\n\t flux: _react.PropTypes.object.isRequired,\n\t config: _react.PropTypes.object.isRequired\n\t}, _class.defaultProps = {\n\t mode: LocationListMode.view\n\t}, _temp);\n\tvar LocationListItem = (_temp3 = _class2 = function (_Component2) {\n\t _inherits(LocationListItem, _Component2);\n\t\n\t function LocationListItem() {\n\t var _ref;\n\t\n\t var _temp2, _this3, _ret;\n\t\n\t _classCallCheck(this, LocationListItem);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp2 = (_this3 = _possibleConstructorReturn(this, (_ref = LocationListItem.__proto__ || Object.getPrototypeOf(LocationListItem)).call.apply(_ref, [this].concat(args))), _this3), _this3.defaultProps = {\n\t mode: LocationListMode.view\n\t }, _temp2), _possibleConstructorReturn(_this3, _ret);\n\t }\n\t\n\t _createClass(LocationListItem, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props2 = this.props,\n\t mode = _props2.mode,\n\t location = _props2.location,\n\t onClick = _props2.onClick,\n\t onAddClick = _props2.onAddClick,\n\t onRemoveClick = _props2.onRemoveClick,\n\t onCustomNameChange = _props2.onCustomNameChange,\n\t nickNamePlaceHolder = _props2.nickNamePlaceHolder;\n\t var customName = location.customName;\n\t\n\t\n\t var components = void 0;\n\t\n\t switch (mode) {\n\t case LocationListMode.view:\n\t if (customName) {\n\t components = [_react2.default.createElement(\n\t 'div',\n\t { key: 0, className: 'LocationList-Item-sub' },\n\t _react2.default.createElement(CityStateString, { location: location })\n\t ), _react2.default.createElement(\n\t 'div',\n\t { key: 1, className: 'LocationList-Item-main' },\n\t customName\n\t )];\n\t } else {\n\t components = [_react2.default.createElement(\n\t 'div',\n\t { key: 0, className: 'LocationList-Item-main' },\n\t _react2.default.createElement(CityStateString, { location: location })\n\t )];\n\t }\n\t break;\n\t case LocationListMode.add:\n\t components = [_react2.default.createElement('div', { key: 0, className: 'LocationList-Item-addIcon', onClick: onAddClick }), _react2.default.createElement(\n\t 'div',\n\t { key: 1, className: 'LocationList-Item-main', onClick: onAddClick },\n\t _react2.default.createElement(CityStateString, { location: location })\n\t )];\n\t break;\n\t case LocationListMode.edit:\n\t components = [_react2.default.createElement('div', { key: 0, className: 'LocationList-Item-removeIcon', onClick: onRemoveClick }), _react2.default.createElement(\n\t 'div',\n\t { key: 1, className: 'LocationList-Item-sub' },\n\t _react2.default.createElement(CityStateString, { location: location })\n\t ), _react2.default.createElement('input', { key: 2, type: 'text', value: customName, onChange: onCustomNameChange, className: 'LocationList-nicknameInput', placeholder: nickNamePlaceHolder })];\n\t break;\n\t default:\n\t components = null;\n\t break;\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: \"LocationList-Item LocationList-Item--\" + mode, onClick: onClick },\n\t components\n\t );\n\t }\n\t }]);\n\t\n\t return LocationListItem;\n\t}(_react.Component), _class2.propTypes = {\n\t mode: _react.PropTypes.string,\n\t location: _react.PropTypes.object.isRequired,\n\t onClick: _react.PropTypes.func,\n\t onAddClick: _react.PropTypes.func,\n\t onRemoveClick: _react.PropTypes.func,\n\t onCustomNameChange: _react.PropTypes.func,\n\t nickNamePlaceHolder: _react.PropTypes.string\n\t}, _temp3);\n\tvar CityStateString = (_temp4 = _class3 = function (_Component3) {\n\t _inherits(CityStateString, _Component3);\n\t\n\t function CityStateString() {\n\t _classCallCheck(this, CityStateString);\n\t\n\t return _possibleConstructorReturn(this, (CityStateString.__proto__ || Object.getPrototypeOf(CityStateString)).apply(this, arguments));\n\t }\n\t\n\t _createClass(CityStateString, [{\n\t key: 'render',\n\t value: function render() {\n\t var location = this.props.location;\n\t\n\t\n\t return _react2.default.createElement(\n\t 'span',\n\t { className: 'CityStateString' },\n\t (0, _es6TemplateStrings2.default)('${city}, ${stateAbbr}', location)\n\t );\n\t }\n\t }]);\n\t\n\t return CityStateString;\n\t}(_react.Component), _class3.propTypes = {\n\t location: _react.PropTypes.object.isRequired\n\t}, _temp4);\n\tvar LocationName = (_temp5 = _class4 = function (_Component4) {\n\t _inherits(LocationName, _Component4);\n\t\n\t function LocationName() {\n\t _classCallCheck(this, LocationName);\n\t\n\t return _possibleConstructorReturn(this, (LocationName.__proto__ || Object.getPrototypeOf(LocationName)).apply(this, arguments));\n\t }\n\t\n\t _createClass(LocationName, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props3 = this.props,\n\t location = _props3.location,\n\t lang = _props3.lang;\n\t\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'LocationName' },\n\t location.customName ? location.customName : _react2.default.createElement(CityStateString, { location: location }),\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'LocationName-edit' },\n\t (0, _translate2.default)('EDIT', lang)\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return LocationName;\n\t}(_react.Component), _class4.propTypes = {\n\t location: _react.PropTypes.object.isRequired,\n\t lang: _react.PropTypes.string\n\t}, _temp5);\n\tvar LocationDropdown = (_temp6 = _class5 = function (_Component5) {\n\t _inherits(LocationDropdown, _Component5);\n\t\n\t function LocationDropdown(props) {\n\t _classCallCheck(this, LocationDropdown);\n\t\n\t var _this6 = _possibleConstructorReturn(this, (LocationDropdown.__proto__ || Object.getPrototypeOf(LocationDropdown)).call(this, props));\n\t\n\t var customLocations = props.customLocations;\n\t\n\t\n\t _this6.state = {\n\t mode: LocationListMode.view,\n\t customLocations: (0, _cloneDeep3.default)(customLocations)\n\t };\n\t return _this6;\n\t }\n\t\n\t _createClass(LocationDropdown, [{\n\t key: 'componentWillReceiveProps',\n\t value: function componentWillReceiveProps(nextProps) {\n\t var customLocations = nextProps.customLocations;\n\t\n\t\n\t if (customLocations) {\n\t this.setState({\n\t customLocations: (0, _cloneDeep3.default)(customLocations)\n\t });\n\t }\n\t }\n\t }, {\n\t key: '_handleCancelClick',\n\t value: function _handleCancelClick() {\n\t var _this7 = this;\n\t\n\t var customLocations = this.props.customLocations;\n\t var mode = this.state.mode;\n\t\n\t\n\t this.setState({\n\t customLocations: (0, _cloneDeep3.default)(customLocations),\n\t mode: LocationListMode.view\n\t }, function () {\n\t if (mode === LocationListMode.view) {\n\t var onHide = _this7.props.onHide;\n\t\n\t if (onHide) {\n\t onHide();\n\t }\n\t }\n\t });\n\t }\n\t }, {\n\t key: '_handleEditClick',\n\t value: function _handleEditClick() {\n\t this.setState({\n\t mode: LocationListMode.edit\n\t });\n\t }\n\t }, {\n\t key: '_handleSaveClick',\n\t value: function _handleSaveClick() {\n\t var customLocations = this.refs.customLocations;\n\t\n\t\n\t if (customLocations) {\n\t customLocations.save();\n\t }\n\t\n\t this.setState({\n\t mode: LocationListMode.view\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this8 = this;\n\t\n\t var _props4 = this.props,\n\t stationLocations = _props4.stationLocations,\n\t backgroundColor = _props4.backgroundColor,\n\t lang = _props4.lang;\n\t var _state = this.state,\n\t mode = _state.mode,\n\t customLocations = _state.customLocations;\n\t\n\t var actionButton = mode === LocationListMode.view ? _react2.default.createElement(\n\t 'button',\n\t { className: 'LocationMenu-editButton', onClick: function onClick() {\n\t return _this8._handleEditClick();\n\t } },\n\t (0, _translate2.default)('Edit', lang)\n\t ) : _react2.default.createElement(\n\t 'button',\n\t { className: 'LocationMenu-saveButton', onClick: function onClick() {\n\t return _this8._handleSaveClick();\n\t } },\n\t (0, _translate2.default)('Save', lang)\n\t );\n\t var customStyle = { backgroundColor: backgroundColor };\n\t var customLocationsTitle = (0, _translate2.default)('Custom Locations', lang);\n\t var stationLocationsTitle = (0, _translate2.default)('Station Locations', lang);\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'LocationMenu', style: customStyle },\n\t _react2.default.createElement(\n\t 'button',\n\t { className: 'LocationMenu-cancelButton', onClick: function onClick() {\n\t return _this8._handleCancelClick();\n\t } },\n\t (0, _translate2.default)('Cancel', lang)\n\t ),\n\t customLocations.length ? actionButton : null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'LocationMenu-container' },\n\t customLocations.length > 0 ? _react2.default.createElement(LocationList, { ref: 'customLocations', title: customLocationsTitle, locations: customLocations, mode: mode }) : null,\n\t stationLocations.length > 0 ? _react2.default.createElement(LocationList, { title: stationLocationsTitle, locations: stationLocations }) : null\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return LocationDropdown;\n\t}(_react.Component), _class5.propTypes = {\n\t backgroundColor: _react.PropTypes.string,\n\t customLocations: _react.PropTypes.array.isRequired,\n\t stationLocations: _react.PropTypes.array.isRequired,\n\t onHide: _react.PropTypes.func,\n\t lang: _react.PropTypes.string\n\t}, _class5.contextTypes = {\n\t flux: _react.PropTypes.object.isRequired,\n\t config: _react.PropTypes.object.isRequired\n\t}, _temp6);\n\tvar LocationSearchResults = (_temp7 = _class6 = function (_Component6) {\n\t _inherits(LocationSearchResults, _Component6);\n\t\n\t function LocationSearchResults() {\n\t _classCallCheck(this, LocationSearchResults);\n\t\n\t return _possibleConstructorReturn(this, (LocationSearchResults.__proto__ || Object.getPrototypeOf(LocationSearchResults)).apply(this, arguments));\n\t }\n\t\n\t _createClass(LocationSearchResults, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props5 = this.props,\n\t results = _props5.results,\n\t errorMessage = _props5.errorMessage,\n\t backgroundColor = _props5.backgroundColor;\n\t\n\t var customStyle = { backgroundColor: backgroundColor };\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'LocationSearchResults', style: customStyle },\n\t _react2.default.createElement(LocationList, { locations: results, mode: LocationListMode.add }),\n\t errorMessage ? _react2.default.createElement(\n\t 'div',\n\t { className: 'LocationSearchResults-error' },\n\t errorMessage\n\t ) : null\n\t );\n\t }\n\t }]);\n\t\n\t return LocationSearchResults;\n\t}(_react.Component), _class6.propTypes = {\n\t results: _react.PropTypes.array,\n\t errorMessage: _react.PropTypes.string,\n\t backgroundColor: _react.PropTypes.string\n\t}, _temp7);\n\t\n\t/**\n\t * Class representing the currently displayed weather location, available locations, and ability to search for new location.\n\t *\n\t * Dependent on feed - UNKNOWN\n\t */\n\t\n\tvar LocationSelector = (_dec = (0, _connectAlt2.default)('Location'), _dec(_class7 = (_temp9 = _class8 = function (_Component7) {\n\t _inherits(LocationSelector, _Component7);\n\t\n\t function LocationSelector() {\n\t var _ref2;\n\t\n\t var _temp8, _this10, _ret2;\n\t\n\t _classCallCheck(this, LocationSelector);\n\t\n\t for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n\t args[_key2] = arguments[_key2];\n\t }\n\t\n\t return _ret2 = (_temp8 = (_this10 = _possibleConstructorReturn(this, (_ref2 = LocationSelector.__proto__ || Object.getPrototypeOf(LocationSelector)).call.apply(_ref2, [this].concat(args))), _this10), _this10.state = {\n\t showMenu: false,\n\t showSearchResults: false,\n\t searchValue: ''\n\t }, _temp8), _possibleConstructorReturn(_this10, _ret2);\n\t }\n\t\n\t _createClass(LocationSelector, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var flux = this.context.flux;\n\t\n\t\n\t flux.getActions('Location').readUserLocations();\n\t }\n\t }, {\n\t key: '_toggleMenuVisibility',\n\t value: function _toggleMenuVisibility() {\n\t this.setState({\n\t showMenu: !this.state.showMenu,\n\t showSearchResults: false\n\t });\n\t }\n\t }, {\n\t key: '_handleSearchIconClick',\n\t value: function _handleSearchIconClick(event) {\n\t if (this.state.showSearchResults) {\n\t this._clearSearchResults();\n\t this._hideSearchResults();\n\t } else {\n\t this._handleSubmit(event);\n\t }\n\t }\n\t }, {\n\t key: '_hideMenu',\n\t value: function _hideMenu() {\n\t this.setState({\n\t showMenu: false\n\t });\n\t }\n\t }, {\n\t key: '_onSearchInputChange',\n\t value: function _onSearchInputChange(event) {\n\t var value = event.target.value;\n\t\n\t if (/^[\\d-]*$/.test(value)) {\n\t this.setState({\n\t searchValue: value\n\t });\n\t }\n\t }\n\t }, {\n\t key: '_showSearchResults',\n\t value: function _showSearchResults() {\n\t this.setState({\n\t showSearchResults: true,\n\t showMenu: false\n\t });\n\t }\n\t }, {\n\t key: '_clearSearchResults',\n\t value: function _clearSearchResults() {\n\t this.setState({\n\t searchValue: \"\"\n\t });\n\t }\n\t }, {\n\t key: '_hideSearchResults',\n\t value: function _hideSearchResults() {\n\t var flux = this.context.flux;\n\t\n\t\n\t flux.getActions('Location').clearSearchResults();\n\t\n\t this.setState({\n\t showSearchResults: false\n\t });\n\t }\n\t }, {\n\t key: '_handleSubmit',\n\t value: function _handleSubmit(e) {\n\t var flux = this.context.flux;\n\t var searchValue = this.state.searchValue;\n\t\n\t\n\t flux.getActions('Location').search(searchValue);\n\t this._showSearchResults();\n\t\n\t e.preventDefault();\n\t return false;\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this11 = this;\n\t\n\t var _context = this.context,\n\t location = _context.location,\n\t _context$config = _context.config;\n\t _context$config = _context$config === undefined ? {} : _context$config;\n\t var _context$config$appOp = _context$config.appOptions;\n\t _context$config$appOp = _context$config$appOp === undefined ? {} : _context$config$appOp;\n\t var language = _context$config$appOp.language,\n\t _context$config$affil = _context$config.affiliate;\n\t _context$config$affil = _context$config$affil === undefined ? {} : _context$config$affil;\n\t var _context$config$affil2 = _context$config$affil.locations,\n\t locations = _context$config$affil2 === undefined ? [] : _context$config$affil2;\n\t var _props6 = this.props,\n\t _props6$LocationStore = _props6.LocationStore,\n\t userLocations = _props6$LocationStore.userLocations,\n\t searchResults = _props6$LocationStore.searchResults,\n\t error = _props6$LocationStore.errors.search,\n\t backgroundColor = _props6.backgroundColor;\n\t var _state2 = this.state,\n\t showMenu = _state2.showMenu,\n\t showSearchResults = _state2.showSearchResults,\n\t searchValue = _state2.searchValue;\n\t\n\t var errorMessage = '';\n\t\n\t if (error) {\n\t switch (error.status) {\n\t case 400:\n\t errorMessage = (0, _translate2.default)('Nothing to find', language);\n\t break;\n\t case 404:\n\t errorMessage = (0, _translate2.default)('Location not found', language);\n\t break;\n\t default:\n\t break;\n\t }\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'LocationSelector' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'LocationSelector-headerBlock' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'LocationSelector-locationName', onClick: function onClick() {\n\t return _this11._toggleMenuVisibility();\n\t } },\n\t _react2.default.createElement(LocationName, { location: location, lang: language })\n\t ),\n\t _react2.default.createElement(\n\t 'form',\n\t { onSubmit: function onSubmit(e) {\n\t return _this11._handleSubmit(e);\n\t } },\n\t _react2.default.createElement('input', {\n\t className: 'LocationSelector-locationInput',\n\t type: 'text',\n\t placeholder: (0, _translate2.default)('Enter Zip Code', language),\n\t value: searchValue,\n\t onChange: this._onSearchInputChange.bind(this),\n\t onFocus: this._hideMenu.bind(this)\n\t })\n\t ),\n\t _react2.default.createElement('div', {\n\t className: \"LocationSelector-inputIcon LocationSelector-inputIcon\" + (showSearchResults ? \"--clear\" : \"--search\"),\n\t onClick: this._handleSearchIconClick.bind(this)\n\t })\n\t ),\n\t showMenu ? _react2.default.createElement(LocationDropdown, {\n\t lang: language,\n\t stationLocations: locations,\n\t customLocations: userLocations,\n\t onHide: function onHide() {\n\t return _this11._hideMenu();\n\t },\n\t backgroundColor: backgroundColor\n\t }) : null,\n\t showSearchResults ? _react2.default.createElement(LocationSearchResults, { results: searchResults, errorMessage: errorMessage, backgroundColor: backgroundColor }) : null\n\t );\n\t }\n\t }]);\n\t\n\t return LocationSelector;\n\t}(_react.Component), _class8.propTypes = {\n\t LocationStore: _react.PropTypes.object.isRequired,\n\t backgroundColor: _react.PropTypes.string\n\t}, _class8.contextTypes = {\n\t flux: _react.PropTypes.object.isRequired,\n\t location: _react.PropTypes.object.isRequired,\n\t config: _react.PropTypes.object.isRequired\n\t}, _temp9)) || _class7);\n\texports.default = LocationSelector;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1258 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp, _class2, _temp3, _class3, _temp4, _class4, _temp5, _class5, _temp6, _class6, _temp7, _dec, _class7, _class8, _temp9;\n\t\n\tvar _get2 = __webpack_require__(105);\n\t\n\tvar _get3 = _interopRequireDefault(_get2);\n\t\n\tvar _clone2 = __webpack_require__(481);\n\t\n\tvar _clone3 = _interopRequireDefault(_clone2);\n\t\n\tvar _cloneDeep2 = __webpack_require__(482);\n\t\n\tvar _cloneDeep3 = _interopRequireDefault(_cloneDeep2);\n\t\n\tvar _es6TemplateStrings = __webpack_require__(450);\n\t\n\tvar _es6TemplateStrings2 = _interopRequireDefault(_es6TemplateStrings);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _connectAlt = __webpack_require__(95);\n\t\n\tvar _connectAlt2 = _interopRequireDefault(_connectAlt);\n\t\n\tvar _translate = __webpack_require__(51);\n\t\n\tvar _translate2 = _interopRequireDefault(_translate);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar LocationListMode = {\n\t add: 'add',\n\t view: 'view',\n\t edit: 'edit'\n\t};\n\t\n\tvar LocationList = (_temp = _class = function (_Component) {\n\t _inherits(LocationList, _Component);\n\t\n\t function LocationList(props) {\n\t _classCallCheck(this, LocationList);\n\t\n\t var locations = props.locations;\n\t\n\t var _this = _possibleConstructorReturn(this, (LocationList.__proto__ || Object.getPrototypeOf(LocationList)).call(this, props));\n\t\n\t _this.state = {\n\t locations: (0, _cloneDeep3.default)(locations)\n\t };\n\t return _this;\n\t }\n\t\n\t _createClass(LocationList, [{\n\t key: 'componentWillReceiveProps',\n\t value: function componentWillReceiveProps(nextProps) {\n\t if (nextProps.locations) {\n\t this.setState({\n\t locations: (0, _cloneDeep3.default)(nextProps.locations)\n\t });\n\t }\n\t }\n\t }, {\n\t key: '_handleAddClick',\n\t value: function _handleAddClick(location) {\n\t var flux = this.context.flux;\n\t\n\t var locations = (0, _clone3.default)(flux.getStore('Location').getState().userLocations) || [];\n\t\n\t locations.splice(0, 0, location);\n\t\n\t flux.getActions('Location').updateUserLocations(locations).then(function () {\n\t flux.getActions('Location').updateCurrent(location).then(function () {\n\t // TODO: improve\n\t window.location.reload();\n\t });\n\t });\n\t }\n\t }, {\n\t key: '_handleRemoveClick',\n\t value: function _handleRemoveClick(i) {\n\t var locations = this.state.locations;\n\t\n\t var copy = (0, _cloneDeep3.default)(locations);\n\t\n\t copy.splice(i, 1);\n\t\n\t this.setState({\n\t locations: copy\n\t });\n\t }\n\t }, {\n\t key: '_handleCustomNameChange',\n\t value: function _handleCustomNameChange(i, value) {\n\t var locations = this.state.locations;\n\t\n\t var copy = (0, _cloneDeep3.default)(locations);\n\t\n\t copy[i].customName = value;\n\t\n\t this.setState({\n\t locations: copy\n\t });\n\t }\n\t }, {\n\t key: '_handleClick',\n\t value: function _handleClick(location) {\n\t var flux = this.context.flux;\n\t\n\t\n\t flux.getActions('Location').updateCurrent(location).then(function () {\n\t // TODO: improve\n\t window.location.reload();\n\t });\n\t }\n\t }, {\n\t key: 'save',\n\t value: function save() {\n\t var flux = this.context.flux;\n\t var locations = this.state.locations;\n\t\n\t\n\t flux.getActions('Location').updateUserLocations(locations);\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _props = this.props,\n\t title = _props.title,\n\t mode = _props.mode,\n\t borderColor = _props.borderColor,\n\t lang = _props.lang;\n\t var locations = this.state.locations;\n\t\n\t var locationComponents = locations.map(function (location, i) {\n\t return _react2.default.createElement(LocationListItem, {\n\t key: i,\n\t lang: lang,\n\t location: location,\n\t mode: mode,\n\t onClick: mode === LocationListMode.view ? function () {\n\t return _this2._handleClick(location, i);\n\t } : null,\n\t onAddClick: mode === LocationListMode.add ? function () {\n\t return _this2._handleAddClick(location);\n\t } : null,\n\t onRemoveClick: mode === LocationListMode.edit ? function () {\n\t return _this2._handleRemoveClick(i, location);\n\t } : null,\n\t onCustomNameChange: mode === LocationListMode.edit ? function (e) {\n\t return _this2._handleCustomNameChange(i, e.target.value);\n\t } : null\n\t });\n\t });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'v1-weather-LocationList', style: { borderTop: borderColor ? '1px solid ' + borderColor : null } },\n\t title ? _react2.default.createElement(\n\t 'div',\n\t { className: 'v1-weather-LocationList-title' },\n\t title\n\t ) : null,\n\t locationComponents\n\t );\n\t }\n\t }]);\n\t\n\t return LocationList;\n\t}(_react.Component), _class.propTypes = {\n\t mode: _react.PropTypes.string,\n\t title: _react.PropTypes.string,\n\t borderColor: _react.PropTypes.string,\n\t locations: _react.PropTypes.array.isRequired\n\t}, _class.contextTypes = {\n\t flux: _react.PropTypes.object.isRequired\n\t}, _class.defaultProps = {\n\t mode: LocationListMode.view\n\t}, _temp);\n\tvar LocationListItem = (_temp3 = _class2 = function (_Component2) {\n\t _inherits(LocationListItem, _Component2);\n\t\n\t function LocationListItem() {\n\t var _ref;\n\t\n\t var _temp2, _this3, _ret;\n\t\n\t _classCallCheck(this, LocationListItem);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp2 = (_this3 = _possibleConstructorReturn(this, (_ref = LocationListItem.__proto__ || Object.getPrototypeOf(LocationListItem)).call.apply(_ref, [this].concat(args))), _this3), _this3.defaultProps = {\n\t mode: LocationListMode.view\n\t }, _temp2), _possibleConstructorReturn(_this3, _ret);\n\t }\n\t\n\t _createClass(LocationListItem, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props2 = this.props,\n\t mode = _props2.mode,\n\t location = _props2.location,\n\t onClick = _props2.onClick,\n\t onAddClick = _props2.onAddClick,\n\t onRemoveClick = _props2.onRemoveClick,\n\t onCustomNameChange = _props2.onCustomNameChange,\n\t lang = _props2.lang;\n\t var customName = location.customName;\n\t\n\t\n\t var components = void 0;\n\t\n\t switch (mode) {\n\t case LocationListMode.view:\n\t if (customName) {\n\t components = [_react2.default.createElement(\n\t 'div',\n\t { key: 0, className: 'v1-weather-LocationList-Item-sub' },\n\t _react2.default.createElement(CityStateString, { location: location })\n\t ), _react2.default.createElement(\n\t 'div',\n\t { key: 1, className: 'v1-weather-LocationList-Item-main' },\n\t customName\n\t )];\n\t } else {\n\t components = [_react2.default.createElement(\n\t 'div',\n\t { key: 0, className: 'v1-weather-LocationList-Item-main' },\n\t _react2.default.createElement(CityStateString, { location: location })\n\t )];\n\t }\n\t break;\n\t case LocationListMode.add:\n\t components = [_react2.default.createElement('div', { key: 0, className: 'v1-weather-LocationList-Item-addIcon', onClick: onAddClick }), _react2.default.createElement(\n\t 'div',\n\t { key: 1, className: 'v1-weather-LocationList-Item-main', onClick: onAddClick },\n\t _react2.default.createElement(CityStateString, { location: location })\n\t )];\n\t break;\n\t case LocationListMode.edit:\n\t components = [_react2.default.createElement('div', { key: 0, className: 'v1-weather-LocationList-Item-removeIcon', onClick: onRemoveClick }), _react2.default.createElement(\n\t 'div',\n\t { key: 1, className: 'v1-weather-LocationList-Item-sub' },\n\t _react2.default.createElement(CityStateString, { location: location })\n\t ), _react2.default.createElement('input', {\n\t key: 2,\n\t type: 'text',\n\t value: customName,\n\t onChange: onCustomNameChange,\n\t className: 'v1-weather-LocationList-nicknameInput',\n\t placeholder: (0, _translate2.default)('NICKNAME', lang) })];\n\t break;\n\t default:\n\t components = null;\n\t break;\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: \"v1-weather-LocationList-Item v1-weather-LocationList-Item--\" + mode, onClick: onClick },\n\t components\n\t );\n\t }\n\t }]);\n\t\n\t return LocationListItem;\n\t}(_react.Component), _class2.propTypes = {\n\t mode: _react.PropTypes.string,\n\t location: _react.PropTypes.object.isRequired,\n\t onClick: _react.PropTypes.func,\n\t onAddClick: _react.PropTypes.func,\n\t onRemoveClick: _react.PropTypes.func,\n\t onCustomNameChange: _react.PropTypes.func\n\t}, _temp3);\n\tvar CityStateString = (_temp4 = _class3 = function (_Component3) {\n\t _inherits(CityStateString, _Component3);\n\t\n\t function CityStateString() {\n\t _classCallCheck(this, CityStateString);\n\t\n\t return _possibleConstructorReturn(this, (CityStateString.__proto__ || Object.getPrototypeOf(CityStateString)).apply(this, arguments));\n\t }\n\t\n\t _createClass(CityStateString, [{\n\t key: 'render',\n\t value: function render() {\n\t var location = this.props.location;\n\t\n\t\n\t return _react2.default.createElement(\n\t 'span',\n\t { className: 'v1-weather-CityStateString' },\n\t (0, _es6TemplateStrings2.default)('${city}, ${stateAbbr}', location)\n\t );\n\t }\n\t }]);\n\t\n\t return CityStateString;\n\t}(_react.Component), _class3.propTypes = {\n\t location: _react.PropTypes.object.isRequired\n\t}, _temp4);\n\tvar LocationName = (_temp5 = _class4 = function (_Component4) {\n\t _inherits(LocationName, _Component4);\n\t\n\t function LocationName() {\n\t _classCallCheck(this, LocationName);\n\t\n\t return _possibleConstructorReturn(this, (LocationName.__proto__ || Object.getPrototypeOf(LocationName)).apply(this, arguments));\n\t }\n\t\n\t _createClass(LocationName, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props3 = this.props,\n\t location = _props3.location,\n\t lang = _props3.lang;\n\t\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'v1-weather-LocationName' },\n\t location.customName ? location.customName : _react2.default.createElement(CityStateString, { location: location }),\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'v1-weather-LocationName-edit' },\n\t (0, _translate2.default)('EDIT', lang)\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return LocationName;\n\t}(_react.Component), _class4.propTypes = {\n\t location: _react.PropTypes.object.isRequired\n\t}, _temp5);\n\tvar LocationDropdown = (_temp6 = _class5 = function (_Component5) {\n\t _inherits(LocationDropdown, _Component5);\n\t\n\t function LocationDropdown(props) {\n\t _classCallCheck(this, LocationDropdown);\n\t\n\t var _this6 = _possibleConstructorReturn(this, (LocationDropdown.__proto__ || Object.getPrototypeOf(LocationDropdown)).call(this, props));\n\t\n\t var customLocations = props.customLocations;\n\t\n\t\n\t _this6.state = {\n\t mode: LocationListMode.view,\n\t customLocations: (0, _cloneDeep3.default)(customLocations)\n\t };\n\t return _this6;\n\t }\n\t\n\t _createClass(LocationDropdown, [{\n\t key: 'componentWillReceiveProps',\n\t value: function componentWillReceiveProps(nextProps) {\n\t var customLocations = nextProps.customLocations;\n\t\n\t\n\t if (customLocations) {\n\t this.setState({\n\t customLocations: (0, _cloneDeep3.default)(customLocations)\n\t });\n\t }\n\t }\n\t }, {\n\t key: '_handleCancelClick',\n\t value: function _handleCancelClick() {\n\t var _this7 = this;\n\t\n\t var customLocations = this.props.customLocations;\n\t var mode = this.state.mode;\n\t\n\t\n\t this.setState({\n\t customLocations: (0, _cloneDeep3.default)(customLocations),\n\t mode: LocationListMode.view\n\t }, function () {\n\t if (mode === LocationListMode.view) {\n\t var onHide = _this7.props.onHide;\n\t\n\t if (onHide) {\n\t onHide();\n\t }\n\t }\n\t });\n\t }\n\t }, {\n\t key: '_handleEditClick',\n\t value: function _handleEditClick() {\n\t this.setState({\n\t mode: LocationListMode.edit\n\t });\n\t }\n\t }, {\n\t key: '_handleSaveClick',\n\t value: function _handleSaveClick() {\n\t var customLocations = this.refs.customLocations;\n\t\n\t\n\t if (customLocations) {\n\t customLocations.save();\n\t }\n\t\n\t this.setState({\n\t mode: LocationListMode.view\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this8 = this;\n\t\n\t var _props4 = this.props,\n\t stationLocations = _props4.stationLocations,\n\t backgroundColor = _props4.backgroundColor,\n\t borderColor = _props4.borderColor,\n\t lang = _props4.lang;\n\t var _state = this.state,\n\t mode = _state.mode,\n\t customLocations = _state.customLocations;\n\t\n\t var borderStyle = { border: borderColor ? '1px solid ' + borderColor : null };\n\t var actionButton = mode === LocationListMode.view ? _react2.default.createElement(\n\t 'button',\n\t {\n\t className: 'v1-weather-LocationMenu-editButton',\n\t style: borderStyle,\n\t onClick: function onClick() {\n\t return _this8._handleEditClick();\n\t } },\n\t (0, _translate2.default)('Edit', lang)\n\t ) : _react2.default.createElement(\n\t 'button',\n\t {\n\t className: 'v1-weather-LocationMenu-saveButton',\n\t style: borderStyle,\n\t onClick: function onClick() {\n\t return _this8._handleSaveClick();\n\t } },\n\t (0, _translate2.default)('Save', lang)\n\t );\n\t var customStyle = _extends({\n\t backgroundColor: backgroundColor\n\t }, borderStyle);\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'v1-weather-LocationMenu', style: customStyle },\n\t _react2.default.createElement(\n\t 'button',\n\t { style: borderStyle, onClick: function onClick() {\n\t return _this8._handleCancelClick();\n\t } },\n\t (0, _translate2.default)('Cancel', lang)\n\t ),\n\t customLocations.length ? actionButton : null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'v1-weather-LocationMenu-container' },\n\t customLocations.length ? _react2.default.createElement(LocationList, {\n\t ref: 'customLocations',\n\t title: (0, _translate2.default)('Custom Locations', lang),\n\t locations: customLocations,\n\t mode: mode,\n\t borderColor: borderColor,\n\t lang: lang\n\t }) : null,\n\t stationLocations.length ? _react2.default.createElement(LocationList, {\n\t title: (0, _translate2.default)('Station Locations', lang),\n\t locations: stationLocations,\n\t borderColor: borderColor,\n\t lang: lang\n\t }) : null\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return LocationDropdown;\n\t}(_react.Component), _class5.propTypes = {\n\t backgroundColor: _react.PropTypes.string,\n\t borderColor: _react.PropTypes.string,\n\t customLocations: _react.PropTypes.array.isRequired,\n\t stationLocations: _react.PropTypes.array.isRequired,\n\t onHide: _react.PropTypes.func\n\t}, _class5.contextTypes = {\n\t flux: _react.PropTypes.object.isRequired,\n\t config: _react.PropTypes.object.isRequired\n\t}, _temp6);\n\tvar LocationSearchResults = (_temp7 = _class6 = function (_Component6) {\n\t _inherits(LocationSearchResults, _Component6);\n\t\n\t function LocationSearchResults() {\n\t _classCallCheck(this, LocationSearchResults);\n\t\n\t return _possibleConstructorReturn(this, (LocationSearchResults.__proto__ || Object.getPrototypeOf(LocationSearchResults)).apply(this, arguments));\n\t }\n\t\n\t _createClass(LocationSearchResults, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props5 = this.props,\n\t results = _props5.results,\n\t errorMessage = _props5.errorMessage,\n\t backgroundColor = _props5.backgroundColor,\n\t borderColor = _props5.borderColor;\n\t\n\t var customStyle = {\n\t backgroundColor: backgroundColor,\n\t border: borderColor ? '1px solid ' + borderColor : null\n\t };\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'v1-weather-LocationSearchResults', style: customStyle },\n\t _react2.default.createElement(LocationList, { locations: results, mode: LocationListMode.add }),\n\t errorMessage ? _react2.default.createElement(\n\t 'div',\n\t { className: 'v1-weather-LocationSearchResults-error' },\n\t errorMessage\n\t ) : null\n\t );\n\t }\n\t }]);\n\t\n\t return LocationSearchResults;\n\t}(_react.Component), _class6.propTypes = {\n\t results: _react.PropTypes.array,\n\t errorMessage: _react.PropTypes.string,\n\t backgroundColor: _react.PropTypes.string,\n\t borderColor: _react.PropTypes.string\n\t}, _temp7);\n\t\n\t/**\n\t * Class representing the currently displayed weather location, available locations, and ability to search for new location.\n\t *\n\t * Dependent on feed - UNKNOWN\n\t */\n\t\n\tvar LocationSelector = (_dec = (0, _connectAlt2.default)('Location'), _dec(_class7 = (_temp9 = _class8 = function (_Component7) {\n\t _inherits(LocationSelector, _Component7);\n\t\n\t function LocationSelector() {\n\t var _ref2;\n\t\n\t var _temp8, _this10, _ret2;\n\t\n\t _classCallCheck(this, LocationSelector);\n\t\n\t for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n\t args[_key2] = arguments[_key2];\n\t }\n\t\n\t return _ret2 = (_temp8 = (_this10 = _possibleConstructorReturn(this, (_ref2 = LocationSelector.__proto__ || Object.getPrototypeOf(LocationSelector)).call.apply(_ref2, [this].concat(args))), _this10), _this10.state = {\n\t showMenu: false,\n\t showSearchResults: false,\n\t searchValue: ''\n\t }, _temp8), _possibleConstructorReturn(_this10, _ret2);\n\t }\n\t\n\t _createClass(LocationSelector, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var flux = this.context.flux;\n\t\n\t\n\t flux.getActions('Location').readUserLocations();\n\t }\n\t }, {\n\t key: '_toggleMenuVisibility',\n\t value: function _toggleMenuVisibility() {\n\t this.setState({\n\t showMenu: !this.state.showMenu,\n\t showSearchResults: false\n\t });\n\t }\n\t }, {\n\t key: '_handleSearchIconClick',\n\t value: function _handleSearchIconClick(event) {\n\t if (this.state.showSearchResults) {\n\t this._clearSearchResults();\n\t this._hideSearchResults();\n\t } else {\n\t this._handleSubmit(event);\n\t }\n\t }\n\t }, {\n\t key: '_hideMenu',\n\t value: function _hideMenu() {\n\t this.setState({\n\t showMenu: false\n\t });\n\t }\n\t }, {\n\t key: '_onSearchInputChange',\n\t value: function _onSearchInputChange(event) {\n\t var value = event.target.value;\n\t\n\t if (/^[\\d-]*$/.test(value)) {\n\t this.setState({\n\t searchValue: value\n\t });\n\t }\n\t }\n\t }, {\n\t key: '_showSearchResults',\n\t value: function _showSearchResults() {\n\t this.setState({\n\t showSearchResults: true,\n\t showMenu: false\n\t });\n\t }\n\t }, {\n\t key: '_clearSearchResults',\n\t value: function _clearSearchResults() {\n\t this.setState({\n\t searchValue: \"\"\n\t });\n\t }\n\t }, {\n\t key: '_hideSearchResults',\n\t value: function _hideSearchResults() {\n\t var flux = this.context.flux;\n\t\n\t\n\t flux.getActions('Location').clearSearchResults();\n\t\n\t this.setState({\n\t showSearchResults: false\n\t });\n\t }\n\t }, {\n\t key: '_handleSubmit',\n\t value: function _handleSubmit(e) {\n\t var flux = this.context.flux;\n\t var searchValue = this.state.searchValue;\n\t\n\t\n\t flux.getActions('Location').search(searchValue);\n\t this._showSearchResults();\n\t\n\t e.preventDefault();\n\t return false;\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this11 = this;\n\t\n\t var _context = this.context,\n\t location = _context.location,\n\t config = _context.config;\n\t var _props6 = this.props,\n\t _props6$LocationStore = _props6.LocationStore,\n\t userLocations = _props6$LocationStore.userLocations,\n\t searchResults = _props6$LocationStore.searchResults,\n\t error = _props6$LocationStore.errors.search,\n\t lang = _props6.lang,\n\t backgroundColor = _props6.backgroundColor,\n\t textColor = _props6.textColor,\n\t borderColor = _props6.borderColor;\n\t var _state2 = this.state,\n\t showMenu = _state2.showMenu,\n\t showSearchResults = _state2.showSearchResults,\n\t searchValue = _state2.searchValue;\n\t\n\t var errorMessage = '';\n\t\n\t if (error) {\n\t switch (error.status) {\n\t case 400:\n\t errorMessage = (0, _translate2.default)('Nothing to find', lang);\n\t break;\n\t case 404:\n\t errorMessage = (0, _translate2.default)('Location not found', lang);\n\t break;\n\t default:\n\t break;\n\t }\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'v1-weather-LocationSelector', style: { color: textColor } },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'v1-weather-LocationSelector-headerBlock' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'v1-weather-LocationSelector-locationName', onClick: function onClick() {\n\t return _this11._toggleMenuVisibility();\n\t } },\n\t _react2.default.createElement(LocationName, { location: location, lang: lang })\n\t ),\n\t _react2.default.createElement(\n\t 'form',\n\t { onSubmit: function onSubmit(e) {\n\t return _this11._handleSubmit(e);\n\t } },\n\t _react2.default.createElement('input', {\n\t className: 'v1-weather-LocationSelector-locationInput',\n\t type: 'text',\n\t placeholder: (0, _translate2.default)('Enter Zip Code', lang),\n\t value: searchValue,\n\t onChange: this._onSearchInputChange.bind(this),\n\t onFocus: this._hideMenu.bind(this)\n\t }),\n\t _react2.default.createElement(\n\t 'div',\n\t {\n\t className: 'v1-weather-LocationSelector-inputIcon',\n\t onClick: this._handleSearchIconClick.bind(this) },\n\t showSearchResults ? _react2.default.createElement('i', { className: 'fa fa-times', 'aria-hidden': 'true' }) : _react2.default.createElement('i', { className: 'fa fa-search', 'aria-hidden': 'true' })\n\t )\n\t )\n\t ),\n\t showMenu ? _react2.default.createElement(LocationDropdown, {\n\t stationLocations: (0, _get3.default)(config, 'affiliate.locations', []),\n\t customLocations: userLocations,\n\t onHide: function onHide() {\n\t return _this11._hideMenu();\n\t },\n\t backgroundColor: backgroundColor,\n\t borderColor: borderColor,\n\t lang: lang\n\t }) : null,\n\t showSearchResults ? _react2.default.createElement(LocationSearchResults, { results: searchResults, errorMessage: errorMessage, backgroundColor: backgroundColor, borderColor: borderColor }) : null\n\t );\n\t }\n\t }]);\n\t\n\t return LocationSelector;\n\t}(_react.Component), _class8.propTypes = {\n\t LocationStore: _react.PropTypes.object.isRequired,\n\t backgroundColor: _react.PropTypes.string,\n\t textColor: _react.PropTypes.string,\n\t borderColor: _react.PropTypes.string\n\t}, _class8.contextTypes = {\n\t flux: _react.PropTypes.object.isRequired,\n\t location: _react.PropTypes.object.isRequired,\n\t config: _react.PropTypes.object.isRequired\n\t}, _class8.defaultProps = {\n\t textColor: '#000',\n\t backgroundColor: '#FFF'\n\t}, _temp9)) || _class7);\n\texports.default = LocationSelector;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1259 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp2, _class2, _temp3;\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _lodash2 = _interopRequireDefault(_lodash);\n\t\n\tvar _classnames = __webpack_require__(2);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _sanitizeHtml = __webpack_require__(541);\n\t\n\tvar _sanitizeHtml2 = _interopRequireDefault(_sanitizeHtml);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactBootstrap = __webpack_require__(26);\n\t\n\tvar _Timestamp = __webpack_require__(47);\n\t\n\tvar _Timestamp2 = _interopRequireDefault(_Timestamp);\n\t\n\tvar _Image = __webpack_require__(40);\n\t\n\tvar _Image2 = _interopRequireDefault(_Image);\n\t\n\tvar _VideoThumbnail = __webpack_require__(1216);\n\t\n\tvar _VideoThumbnail2 = _interopRequireDefault(_VideoThumbnail);\n\t\n\tvar _Video = __webpack_require__(113);\n\t\n\tvar _Video2 = _interopRequireDefault(_Video);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _SocialIcon = __webpack_require__(171);\n\t\n\tvar _SocialIcon2 = _interopRequireDefault(_SocialIcon);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tvar _xmlJs = __webpack_require__(133);\n\t\n\tvar _xmlJs2 = _interopRequireDefault(_xmlJs);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t/**\n\t * Class representing the meteorologists written forecast for the current day.\n\t *\n\t * Dependent on feed - station_weather_feed\n\t *\n\t */\n\tvar MeteorologistForecast = (_temp2 = _class = function (_Component) {\n\t _inherits(MeteorologistForecast, _Component);\n\t\n\t function MeteorologistForecast() {\n\t var _ref;\n\t\n\t var _temp, _this, _ret;\n\t\n\t _classCallCheck(this, MeteorologistForecast);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = MeteorologistForecast.__proto__ || Object.getPrototypeOf(MeteorologistForecast)).call.apply(_ref, [this].concat(args))), _this), _this.defaultProps = {\n\t backgroundColor: '#FFF',\n\t textColor: '#000000',\n\t showOnUserLocation: false,\n\t titleType: _FRNBaseStyles.TITLE_TYPE.MODULE_TITLE\n\t }, _this.state = {\n\t showModal: false\n\t }, _temp), _possibleConstructorReturn(_this, _ret);\n\t }\n\t\n\t _createClass(MeteorologistForecast, [{\n\t key: 'shouldComponentUpdate',\n\t value: function shouldComponentUpdate(nextProps) {\n\t return Array.isArray(nextProps.FRN_rawResponses) && nextProps.FRN_rawResponses.length > 0 ? true : false;\n\t }\n\t }, {\n\t key: '_setModalVisible',\n\t value: function _setModalVisible() {\n\t this.setState({\n\t showModal: true\n\t });\n\t }\n\t }, {\n\t key: '_setModalHidden',\n\t value: function _setModalHidden() {\n\t this.setState({\n\t showModal: false\n\t });\n\t }\n\t }, {\n\t key: '_cleanXmlObj',\n\t value: function _cleanXmlObj(entry) {\n\t var item = Array.isArray(entry) ? entry[0] : entry;\n\t\n\t try {\n\t var cleanup = function cleanup(obj) {\n\t return obj ? Object.assign.apply(Object, [{}].concat(_toConsumableArray(obj._attributes), [{ \"@url\": obj._attributes.url }])) : obj;\n\t };\n\t\n\t var mediaContent = item[\"media:group\"] && item[\"media:group\"][\"media:content\"] ? item[\"media:group\"][\"media:content\"] : {};\n\t\n\t if (Array.isArray(mediaContent)) {\n\t mediaContent = mediaContent.map(cleanup);\n\t } else if ((typeof mediaContent === 'undefined' ? 'undefined' : _typeof(mediaContent)) === 'object') {\n\t mediaContent = cleanup(mediaContent);\n\t }\n\t\n\t return _extends({}, item, {\n\t \"media:group\": { \"media:content\": mediaContent },\n\t \"media:content\": mediaContent,\n\t \"media:thumbnail\": item[\"media:thumbnail\"].map(cleanup),\n\t \"media:title\": item[\"media:title\"]._cdata,\n\t \"wn:clipid:\": item[\"wn:clipid\"]._text\n\t });\n\t } catch (error) {\n\t console.log('>>> ERROR', error);\n\t return item;\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t if (!this.props.FRN_rawResponses || this.props.FRN_rawResponses.length === 0 || !this.props.FRN_rawResponses[0]) {\n\t return null;\n\t }\n\t\n\t var data = {};\n\t var _props$FRN_rawRespons = this.props.FRN_rawResponses[0].data;\n\t _props$FRN_rawRespons = _props$FRN_rawRespons === undefined ? {} : _props$FRN_rawRespons;\n\t var _props$FRN_rawRespons2 = _props$FRN_rawRespons.features,\n\t forecastData = _props$FRN_rawRespons2 === undefined ? [] : _props$FRN_rawRespons2;\n\t\n\t\n\t var weatherVideoItem = null;\n\t\n\t var isVideoExisted = function isVideoExisted() {\n\t return Array.isArray(_this2.props.FRN_rawResponses) && _this2.props.FRN_rawResponses.length >= 2;\n\t };\n\t\n\t if (isVideoExisted()) {\n\t var dataStr = this.props.FRN_rawResponses[1].data;\n\t try {\n\t if (dataStr && typeof dataStr === 'string') {\n\t data = _xmlJs2.default.xml2js(dataStr, { compact: true });\n\t weatherVideoItem = this._cleanXmlObj(data.rss.channel.item);\n\t } else {\n\t weatherVideoItem = this.props.FRN_rawResponses[1].data.rss.channel.item;\n\t }\n\t } catch (error) {\n\t console.log('>>> ERROR: ', error);\n\t }\n\t }\n\t\n\t var _props = this.props,\n\t backgroundUri = _props.backgroundUri,\n\t _props$backgroundColo = _props.backgroundColor,\n\t backgroundColor = _props$backgroundColo === undefined ? '#FFFFFF' : _props$backgroundColo,\n\t _props$textColor = _props.textColor,\n\t textColor = _props$textColor === undefined ? '#000000' : _props$textColor,\n\t _props$autoPlayVideo = _props.autoPlayVideo,\n\t autoPlayVideo = _props$autoPlayVideo === undefined ? false : _props$autoPlayVideo,\n\t showOnUserLocation = _props.showOnUserLocation,\n\t _props$timestampOptio = _props.timestampOptions,\n\t timestampOptions = _props$timestampOptio === undefined ? {} : _props$timestampOptio,\n\t titleType = _props.titleType;\n\t var showModal = this.state.showModal;\n\t var _context = this.context,\n\t config = _context.config,\n\t location = _context.location;\n\t\n\t var weatherVideo = _lodash2.default.isArray(weatherVideoItem) ? weatherVideoItem[0] : weatherVideoItem;\n\t if (weatherVideo && (typeof weatherVideo === 'undefined' ? 'undefined' : _typeof(weatherVideo)) === 'object' && \"wn:clipid\" in weatherVideo && _typeof(weatherVideo[\"wn:clipid\"]) === 'object' && '_text' in weatherVideo[\"wn:clipid\"]) {\n\t weatherVideo[\"wn:clipid\"] = weatherVideo[\"wn:clipid\"]._text;\n\t }\n\t\n\t var _config$affiliate = config.affiliate;\n\t _config$affiliate = _config$affiliate === undefined ? {} : _config$affiliate;\n\t var _config$affiliate$loc = _config$affiliate.locations,\n\t stationLocations = _config$affiliate$loc === undefined ? [] : _config$affiliate$loc;\n\t\n\t var weatherData = _lodash2.default.find(forecastData, { type: 'weather' }) || {};\n\t var _weatherData$header = weatherData['header'],\n\t forecastTitle = _weatherData$header === undefined ? 'Today\\'s Forecast' : _weatherData$header,\n\t _weatherData$currentc = weatherData['currentconditions'],\n\t forecastDescription = _weatherData$currentc === undefined ? '' : _weatherData$currentc,\n\t _weatherData$lastupda = weatherData['lastupdatedateutc'],\n\t pubDate = _weatherData$lastupda === undefined ? '' : _weatherData$lastupda,\n\t _weatherData$byline = weatherData['byline'],\n\t bylineInfo = _weatherData$byline === undefined ? {} : _weatherData$byline;\n\t\n\t var name = _lodash2.default.get(bylineInfo, 'firstname', \"\") + ' ' + _lodash2.default.get(bylineInfo, 'lastname', '');\n\t var meteorologistTitle = _lodash2.default.get(bylineInfo, 'title', '');\n\t var meteorologistImage = _lodash2.default.get(bylineInfo, 'profileimage', '');\n\t var email = _lodash2.default.get(bylineInfo, 'emailaddress', '');\n\t var _bylineInfo$socialnet = bylineInfo.socialnetworksinfo;\n\t _bylineInfo$socialnet = _bylineInfo$socialnet === undefined ? {} : _bylineInfo$socialnet;\n\t var _bylineInfo$socialnet2 = _bylineInfo$socialnet.facebook,\n\t facebookHandle = _bylineInfo$socialnet2 === undefined ? '' : _bylineInfo$socialnet2,\n\t _bylineInfo$socialnet3 = _bylineInfo$socialnet.twitter,\n\t twitterHandle = _bylineInfo$socialnet3 === undefined ? '' : _bylineInfo$socialnet3,\n\t _bylineInfo$socialnet4 = _bylineInfo$socialnet.google,\n\t googlePlusId = _bylineInfo$socialnet4 === undefined ? '' : _bylineInfo$socialnet4;\n\t\n\t var facebookInfo = facebookHandle ? 'https://www.facebook.com/' + facebookHandle : '';\n\t var twitterInfo = twitterHandle ? 'https://twitter.com/' + twitterHandle : '';\n\t var googleInfo = googlePlusId ? 'https://plus.google.com/' + googlePlusId : '';\n\t // We reinstate escaped characters removed in the parsing process, and strip out any custom styles added in producer\n\t var unescapedSanitizedDescription = (0, _sanitizeHtml2.default)(_lodash2.default.unescape(forecastDescription));\n\t var profileInfoClassNames = (0, _classnames2.default)('MeteorologistForecast-profileInfo', {\n\t 'MeteorologistForecast-profileInfo--belowVideo': weatherVideo\n\t });\n\t var showElapsedTime = timestampOptions.showElapsedTime,\n\t displayShortDateTime = timestampOptions.displayShortDateTime;\n\t\n\t\n\t var customComponentStyles = {};\n\t var customTextUnderlayStyles = {};\n\t\n\t // If the current location isn't a default location in the config, then hide the meteorologist report since it's not\n\t // applicable for the selected location. This can be overriden by setting showOnUserLocation to true in the config\n\t if (!showOnUserLocation && !_lodash2.default.find(stationLocations, { 'zipcode': Number(location.zipcode) })) {\n\t return null;\n\t }\n\t\n\t customComponentStyles['color'] = textColor;\n\t customComponentStyles['backgroundColor'] = backgroundColor;\n\t customTextUnderlayStyles['backgroundColor'] = backgroundColor;\n\t\n\t if (backgroundUri) {\n\t customComponentStyles['backgroundImage'] = 'url(' + backgroundUri + '?auto=webp&disable=upscale&width=1480)';\n\t }\n\t\n\t /* Breakpoints: XS: 0-767, S: 768-991, M: 992-1199, L: 1200-1469, XL: 1470- */\n\t var imageBreakpoints = [{ \"maxWidth\": 640, \"widthPX\": 300 }, { \"maxWidth\": 768, \"widthPX\": 300 }, { \"maxWidth\": 992, \"widthPX\": 366 }, { \"maxWidth\": 1200, \"widthPX\": 272 }, { \"widthPX\": 272 }];\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'MeteorologistForecast', style: customComponentStyles },\n\t forecastData.length ? _react2.default.createElement(\n\t 'div',\n\t { className: 'MeteorologistForecast-textCell' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'MeteorologistForecast-textContainer' },\n\t _react2.default.createElement(_ComponentTitle2.default, { title: forecastTitle, showArrow: false, classes: 'MeteorologistForecast-forecastTitle', color: textColor, titleType: titleType }),\n\t _react2.default.createElement(_Timestamp2.default, { publishDate: pubDate, showElapsedTime: showElapsedTime, displayShortDateTime: displayShortDateTime }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'MeteorologistForecast-forecastDetails', onClick: function onClick() {\n\t return _this2._setModalVisible();\n\t } },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'MeteorologistForecast-forecastTextContainer' },\n\t _react2.default.createElement(\n\t 'ul',\n\t { className: 'MeteorologistForecast-forecastText' },\n\t _react2.default.createElement('li', {\n\t dangerouslySetInnerHTML: { __html: unescapedSanitizedDescription }\n\t })\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'readMore' },\n\t 'Read more'\n\t ),\n\t _react2.default.createElement('div', { className: 'MeteorologistForecast-forecastDetailsUnderlay', style: customTextUnderlayStyles })\n\t )\n\t )\n\t ) : null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'MeteorologistForecast-profileCell' + (meteorologistImage ? ' MeteorologistForecast-profileCell--hasImage' : '') },\n\t meteorologistImage ? _react2.default.createElement(\n\t 'div',\n\t { className: 'MeteorologistForecast-profileImage' },\n\t _react2.default.createElement(_Image2.default, { imageBreakpoints: imageBreakpoints, src: meteorologistImage, alt: 'Image of ' + (name || 'meteorologist') })\n\t ) : null,\n\t weatherVideo ? _react2.default.createElement(\n\t 'div',\n\t { className: 'MeteorologistForecast-videoIcon hidden-xs' },\n\t _react2.default.createElement(_VideoThumbnail2.default, {\n\t title: weatherVideo['media:title'],\n\t clipId: weatherVideo['wn:clipid'],\n\t thumbnailUri: _lodash2.default.get(weatherVideo['media:thumbnail'], '[0][\"@url\"]', null),\n\t autoPlay: autoPlayVideo })\n\t ) : null,\n\t weatherVideo ? _react2.default.createElement(\n\t 'div',\n\t { className: 'MeteorologistForecast-videoIcon visible-xs-block hidden-sm' },\n\t _react2.default.createElement(_Video2.default, { clipId: weatherVideo['wn:clipid'] })\n\t ) : null,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: profileInfoClassNames },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'MeteorologistForecast-name' },\n\t name || ''\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'MeteorologistForecast-meteorologistTitle' },\n\t meteorologistTitle || ''\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'MeteorologistForecast-socialLinks' },\n\t facebookInfo ? _react2.default.createElement(_SocialIcon2.default, { iconType: 'facebook', destinationUri: facebookInfo }) : null,\n\t twitterInfo ? _react2.default.createElement(_SocialIcon2.default, { iconType: 'twitter', destinationUri: twitterInfo }) : null,\n\t googleInfo ? _react2.default.createElement(_SocialIcon2.default, { iconType: 'google', destinationUri: googleInfo }) : null,\n\t email ? _react2.default.createElement(_SocialIcon2.default, { iconType: 'email', destinationUri: 'mailto:' + email, noTarget: true }) : null\n\t )\n\t )\n\t ),\n\t backgroundUri ? _react2.default.createElement('div', { className: 'MeteorologistForecast-backgroundOverlay' }) : null,\n\t _react2.default.createElement(MeteorologistForecastModal, {\n\t title: forecastTitle,\n\t forecastContent: unescapedSanitizedDescription,\n\t meteorlogistName: name,\n\t meteorologistTitle: meteorologistTitle,\n\t meteorologistImage: meteorologistImage,\n\t email: email,\n\t titleType: titleType,\n\t facebookInfo: facebookInfo,\n\t twitterInfo: twitterInfo,\n\t googleInfo: googleInfo,\n\t forecastDate: pubDate,\n\t showModal: showModal,\n\t onHideModal: this._setModalHidden.bind(this),\n\t timestampOptions: timestampOptions })\n\t );\n\t }\n\t }]);\n\t\n\t return MeteorologistForecast;\n\t}(_react.Component), _class.propTypes = {\n\t FRN_rawResponses: _react.PropTypes.array,\n\t backgroundColor: _react.PropTypes.string,\n\t backgroundUri: _react.PropTypes.string,\n\t textColor: _react.PropTypes.string,\n\t weatherVideo: _react.PropTypes.object,\n\t showOnUserLocation: _react.PropTypes.bool,\n\t autoPlayVideo: _react.PropTypes.bool,\n\t timestampOptions: _react.PropTypes.shape({\n\t showElapsedTime: _react.PropTypes.bool,\n\t displayShortDateTime: _react.PropTypes.bool\n\t }),\n\t titleType: _react.PropTypes.oneOf(Object.values(_FRNBaseStyles.TITLE_TYPE))\n\t}, _class.contextTypes = {\n\t location: _react.PropTypes.object.isRequired,\n\t config: _react.PropTypes.object.isRequired\n\t}, _temp2);\n\t\n\t/**\n\t * Class representing the modal for the full meteorologist text\n\t */\n\t\n\tvar MeteorologistForecastModal = (_temp3 = _class2 = function (_Component2) {\n\t _inherits(MeteorologistForecastModal, _Component2);\n\t\n\t function MeteorologistForecastModal() {\n\t _classCallCheck(this, MeteorologistForecastModal);\n\t\n\t return _possibleConstructorReturn(this, (MeteorologistForecastModal.__proto__ || Object.getPrototypeOf(MeteorologistForecastModal)).apply(this, arguments));\n\t }\n\t\n\t _createClass(MeteorologistForecastModal, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props2 = this.props,\n\t _props2$title = _props2.title,\n\t title = _props2$title === undefined ? '' : _props2$title,\n\t _props2$forecastConte = _props2.forecastContent,\n\t forecastContent = _props2$forecastConte === undefined ? '' : _props2$forecastConte,\n\t _props2$meteorlogistN = _props2.meteorlogistName,\n\t meteorlogistName = _props2$meteorlogistN === undefined ? '' : _props2$meteorlogistN,\n\t _props2$meteorologist = _props2.meteorologistTitle,\n\t meteorologistTitle = _props2$meteorologist === undefined ? '' : _props2$meteorologist,\n\t _props2$meteorologist2 = _props2.meteorologistImage,\n\t meteorologistImage = _props2$meteorologist2 === undefined ? '' : _props2$meteorologist2,\n\t _props2$email = _props2.email,\n\t email = _props2$email === undefined ? '' : _props2$email,\n\t _props2$facebookInfo = _props2.facebookInfo,\n\t facebookInfo = _props2$facebookInfo === undefined ? '' : _props2$facebookInfo,\n\t _props2$twitterInfo = _props2.twitterInfo,\n\t twitterInfo = _props2$twitterInfo === undefined ? '' : _props2$twitterInfo,\n\t _props2$googleInfo = _props2.googleInfo,\n\t googleInfo = _props2$googleInfo === undefined ? '' : _props2$googleInfo,\n\t _props2$forecastDate = _props2.forecastDate,\n\t forecastDate = _props2$forecastDate === undefined ? '' : _props2$forecastDate,\n\t showModal = _props2.showModal,\n\t onHideModal = _props2.onHideModal,\n\t _props2$timestampOpti = _props2.timestampOptions;\n\t _props2$timestampOpti = _props2$timestampOpti === undefined ? {} : _props2$timestampOpti;\n\t var showElapsedTime = _props2$timestampOpti.showElapsedTime,\n\t displayShortDateTime = _props2$timestampOpti.displayShortDateTime,\n\t _props2$titleType = _props2.titleType,\n\t titleType = _props2$titleType === undefined ? _FRNBaseStyles.TITLE_TYPE.MODULE_TITLE : _props2$titleType;\n\t\n\t\n\t return _react2.default.createElement(\n\t _reactBootstrap.Modal,\n\t { className: 'MeteorologistForecastModal',\n\t show: showModal,\n\t onHide: onHideModal,\n\t backdrop: true,\n\t 'aria-labelledby': 'contained-modal-title-lg' },\n\t _react2.default.createElement(_reactBootstrap.Modal.Header, { className: 'MeteorologistForecastModal-header', closeButton: true }),\n\t _react2.default.createElement(\n\t _reactBootstrap.Modal.Body,\n\t null,\n\t title ? _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, title: title, classes: 'MeteorologistForecastModal-title' }) : null,\n\t _react2.default.createElement(_Timestamp2.default, { publishDate: forecastDate, showElapsedTime: showElapsedTime, displayShortDateTime: displayShortDateTime }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'MeteorologistForecastModal-profileCell' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'MeteorologistForecastModal-profileImage' },\n\t _react2.default.createElement(_Image2.default, { src: meteorologistImage, alt: 'Image of ' + (meteorlogistName || 'meteorologist'), width: 60 })\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'MeteorologistForecastModal-profileInfo' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'MeteorologistForecastModal-name' },\n\t meteorlogistName\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'MeteorologistForecastModal-meteorologistTitle' },\n\t meteorologistTitle\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'MeteorologistForecastModal-socialLinks' },\n\t facebookInfo ? _react2.default.createElement(_SocialIcon2.default, { iconType: 'facebook', destinationUri: facebookInfo }) : null,\n\t twitterInfo ? _react2.default.createElement(_SocialIcon2.default, { iconType: 'twitter', destinationUri: twitterInfo }) : null,\n\t googleInfo ? _react2.default.createElement(_SocialIcon2.default, { iconType: 'google', destinationUri: googleInfo }) : null,\n\t email ? _react2.default.createElement(_SocialIcon2.default, { iconType: 'email', destinationUri: 'mailto:' + email, noTarget: true }) : null\n\t )\n\t )\n\t ),\n\t _react2.default.createElement('div', { className: 'MeteorologistForecastModal-forecastContent', dangerouslySetInnerHTML: { __html: forecastContent } })\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return MeteorologistForecastModal;\n\t}(_react.Component), _class2.propTypes = {\n\t title: _react.PropTypes.string,\n\t forecastContent: _react.PropTypes.string.isRequired,\n\t meteorlogistName: _react.PropTypes.string,\n\t meteorologistTitle: _react.PropTypes.string,\n\t meteorologistImage: _react.PropTypes.string,\n\t email: _react.PropTypes.string,\n\t facebookInfo: _react.PropTypes.string,\n\t twitterInfo: _react.PropTypes.string,\n\t googleInfo: _react.PropTypes.string,\n\t forecastDate: _react.PropTypes.string,\n\t showModal: _react.PropTypes.bool.isRequired,\n\t onHideModal: _react.PropTypes.func.isRequired,\n\t timestampOptions: _react.PropTypes.shape({\n\t showElapsedTime: _react.PropTypes.bool,\n\t displayShortDateTime: _react.PropTypes.bool\n\t }),\n\t titleType: _react.PropTypes.string\n\t}, _temp3);\n\texports.default = MeteorologistForecast;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1260 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp2, _class2, _temp3;\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _lodash2 = _interopRequireDefault(_lodash);\n\t\n\tvar _classnames = __webpack_require__(2);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _sanitizeHtml = __webpack_require__(541);\n\t\n\tvar _sanitizeHtml2 = _interopRequireDefault(_sanitizeHtml);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactBootstrap = __webpack_require__(26);\n\t\n\tvar _Timestamp = __webpack_require__(47);\n\t\n\tvar _Timestamp2 = _interopRequireDefault(_Timestamp);\n\t\n\tvar _Image = __webpack_require__(40);\n\t\n\tvar _Image2 = _interopRequireDefault(_Image);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _SocialIcon = __webpack_require__(171);\n\t\n\tvar _SocialIcon2 = _interopRequireDefault(_SocialIcon);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tvar _translate = __webpack_require__(51);\n\t\n\tvar _translate2 = _interopRequireDefault(_translate);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t/**\n\t * Class representing the meteorologists written forecast for the current day.\n\t *\n\t * Dependent on feed - station_weather_feed\n\t *\n\t */\n\tvar SimpleMeteorologistForecast = (_temp2 = _class = function (_Component) {\n\t _inherits(SimpleMeteorologistForecast, _Component);\n\t\n\t function SimpleMeteorologistForecast() {\n\t var _ref;\n\t\n\t var _temp, _this, _ret;\n\t\n\t _classCallCheck(this, SimpleMeteorologistForecast);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = SimpleMeteorologistForecast.__proto__ || Object.getPrototypeOf(SimpleMeteorologistForecast)).call.apply(_ref, [this].concat(args))), _this), _this.defaultProps = {\n\t showForecast: false,\n\t showMeteorologistImage: false,\n\t showMeteorologistInfo: false,\n\t backgroundColor: '#FFF',\n\t textColor: '#000000',\n\t showOnUserLocation: false,\n\t capitalizeForecastTitle: true,\n\t titleType: _FRNBaseStyles.TITLE_TYPE.MODULE_TITLE\n\t }, _this.state = {\n\t showModal: false\n\t }, _temp), _possibleConstructorReturn(_this, _ret);\n\t }\n\t\n\t _createClass(SimpleMeteorologistForecast, [{\n\t key: '_setModalVisible',\n\t value: function _setModalVisible() {\n\t this.setState({\n\t showModal: true\n\t });\n\t }\n\t }, {\n\t key: '_setModalHidden',\n\t value: function _setModalHidden() {\n\t this.setState({\n\t showModal: false\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _context$config = this.context.config;\n\t _context$config = _context$config === undefined ? {} : _context$config;\n\t var _context$config$appOp = _context$config.appOptions;\n\t _context$config$appOp = _context$config$appOp === undefined ? {} : _context$config$appOp;\n\t var _context$config$appOp2 = _context$config$appOp.language,\n\t language = _context$config$appOp2 === undefined ? 'en' : _context$config$appOp2;\n\t var _props = this.props,\n\t showForecast = _props.showForecast,\n\t showMeteorologistImage = _props.showMeteorologistImage,\n\t showMeteorologistInfo = _props.showMeteorologistInfo,\n\t backgroundUri = _props.backgroundUri,\n\t _props$backgroundColo = _props.backgroundColor,\n\t backgroundColor = _props$backgroundColo === undefined ? '#FFFFFF' : _props$backgroundColo,\n\t _props$textColor = _props.textColor,\n\t textColor = _props$textColor === undefined ? '#000000' : _props$textColor,\n\t showOnUserLocation = _props.showOnUserLocation,\n\t _props$timestampOptio = _props.timestampOptions,\n\t timestampOptions = _props$timestampOptio === undefined ? {} : _props$timestampOptio,\n\t capitalizeForecastTitle = _props.capitalizeForecastTitle,\n\t titleType = _props.titleType,\n\t _props$FRN_rawRespons = _props.FRN_rawResponses;\n\t _props$FRN_rawRespons = _props$FRN_rawRespons === undefined ? [] : _props$FRN_rawRespons;\n\t\n\t var _props$FRN_rawRespons2 = _slicedToArray(_props$FRN_rawRespons, 1),\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons2[0];\n\t\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons3 === undefined ? {} : _props$FRN_rawRespons3;\n\t var _props$FRN_rawRespons4 = _props$FRN_rawRespons3.data;\n\t _props$FRN_rawRespons4 = _props$FRN_rawRespons4 === undefined ? {} : _props$FRN_rawRespons4;\n\t var _props$FRN_rawRespons5 = _props$FRN_rawRespons4.features,\n\t forecastData = _props$FRN_rawRespons5 === undefined ? [] : _props$FRN_rawRespons5;\n\t\n\t\n\t if (!showForecast && !showMeteorologistImage && !showMeteorologistInfo) {\n\t return null;\n\t }\n\t\n\t var showModal = this.state.showModal;\n\t var _context = this.context,\n\t config = _context.config,\n\t location = _context.location;\n\t var _config$affiliate = config.affiliate;\n\t _config$affiliate = _config$affiliate === undefined ? {} : _config$affiliate;\n\t var _config$affiliate$loc = _config$affiliate.locations,\n\t stationLocations = _config$affiliate$loc === undefined ? [] : _config$affiliate$loc;\n\t\n\t var weatherData = _lodash2.default.find(forecastData, { type: 'weather' }) || {};\n\t var _weatherData$header = weatherData['header'],\n\t forecastTitle = _weatherData$header === undefined ? 'Today\\'s Forecast' : _weatherData$header,\n\t _weatherData$currentc = weatherData['currentconditions'],\n\t forecastDescription = _weatherData$currentc === undefined ? '' : _weatherData$currentc,\n\t _weatherData$lastupda = weatherData['lastupdatedateutc'],\n\t pubDate = _weatherData$lastupda === undefined ? '' : _weatherData$lastupda,\n\t _weatherData$byline = weatherData['byline'],\n\t bylineInfo = _weatherData$byline === undefined ? {} : _weatherData$byline;\n\t\n\t var name = _lodash2.default.get(bylineInfo, 'firstname', \"\") + ' ' + _lodash2.default.get(bylineInfo, 'lastname', '');\n\t var meteorologistTitle = _lodash2.default.get(bylineInfo, 'title', '');\n\t var meteorologistImage = _lodash2.default.get(bylineInfo, 'profileimage', '');\n\t var email = _lodash2.default.get(bylineInfo, 'emailaddress', '');\n\t var _bylineInfo$socialnet = bylineInfo.socialnetworksinfo;\n\t _bylineInfo$socialnet = _bylineInfo$socialnet === undefined ? {} : _bylineInfo$socialnet;\n\t var _bylineInfo$socialnet2 = _bylineInfo$socialnet.facebook,\n\t facebookHandle = _bylineInfo$socialnet2 === undefined ? '' : _bylineInfo$socialnet2,\n\t _bylineInfo$socialnet3 = _bylineInfo$socialnet.twitter,\n\t twitterHandle = _bylineInfo$socialnet3 === undefined ? '' : _bylineInfo$socialnet3,\n\t _bylineInfo$socialnet4 = _bylineInfo$socialnet.google,\n\t googlePlusId = _bylineInfo$socialnet4 === undefined ? '' : _bylineInfo$socialnet4;\n\t\n\t var facebookInfo = facebookHandle ? 'https://www.facebook.com/' + facebookHandle : '';\n\t var twitterInfo = twitterHandle ? 'https://twitter.com/' + twitterHandle : '';\n\t var googleInfo = googlePlusId ? 'https://plus.google.com/' + googlePlusId : '';\n\t // We reinstate escaped characters removed in the parsing process, and strip out any custom styles added in producer\n\t var unescapedSanitizedDescription = (0, _sanitizeHtml2.default)(_lodash2.default.unescape(forecastDescription));\n\t var showElapsedTime = timestampOptions.showElapsedTime,\n\t displayShortDateTime = timestampOptions.displayShortDateTime;\n\t\n\t\n\t var customComponentStyles = {};\n\t\n\t // If the current location isn't a default location in the config, then hide the meteorologist report since it's not\n\t // applicable for the selected location. This can be overriden by setting showOnUserLocation to true in the config\n\t if (!showOnUserLocation && !_lodash2.default.find(stationLocations, { 'zipcode': Number(location.zipcode) })) {\n\t return null;\n\t }\n\t\n\t customComponentStyles['color'] = textColor;\n\t customComponentStyles['backgroundColor'] = backgroundColor;\n\t\n\t if (backgroundUri) {\n\t customComponentStyles['backgroundImage'] = 'url(' + backgroundUri + '?auto=webp&disable=upscale&width=1480)';\n\t }\n\t\n\t var textColSpans = {\n\t md: 6,\n\t sm: 9,\n\t xs: 12\n\t };\n\t var profileColSpans = {\n\t md: 6,\n\t sm: 3,\n\t xs: 12\n\t };\n\t\n\t if (!showMeteorologistImage && !showMeteorologistInfo) {\n\t textColSpans['md'] = 12;\n\t textColSpans['sm'] = 12;\n\t }\n\t\n\t if (!showForecast) {\n\t profileColSpans['md'] = 12;\n\t profileColSpans['sm'] = 12;\n\t }\n\t\n\t var forecastTitleClassnames = (0, _classnames2.default)('SimpleMeteorologistForecast-title', { 'SimpleMeteorologistForecast-title--capitalize': capitalizeForecastTitle });\n\t\n\t /* Breakpoints: XS: 0-767, S: 768-991, M: 992-1199, L: 1200-1469, XL: 1470- */\n\t var imageBreakpoints = [{ \"maxWidth\": 640, \"widthPX\": 104 }, { \"maxWidth\": 768, \"widthPX\": 104 }, { \"maxWidth\": 992, \"widthPX\": 144 }, { \"maxWidth\": 1200, \"widthPX\": 210 }, { \"widthPX\": 210 }];\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'SimpleMeteorologistForecast', style: customComponentStyles },\n\t _react2.default.createElement(\n\t _reactBootstrap.Row,\n\t null,\n\t showForecast && _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t textColSpans,\n\t forecastData.length ? _react2.default.createElement(\n\t 'div',\n\t { className: 'SimpleMeteorologistForecast-textCell' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'SimpleMeteorologistForecast-textContainer' },\n\t _react2.default.createElement(_ComponentTitle2.default, { title: forecastTitle, showArrow: false, classes: forecastTitleClassnames, color: textColor, titleType: titleType }),\n\t _react2.default.createElement(_Timestamp2.default, { publishDate: pubDate, showElapsedTime: showElapsedTime, displayShortDateTime: displayShortDateTime }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'SimpleMeteorologistForecast-forecastDetails', onClick: function onClick() {\n\t return _this2._setModalVisible();\n\t } },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'SimpleMeteorologistForecast-forecastTextContainer' },\n\t _react2.default.createElement(\n\t 'ul',\n\t { className: 'SimpleMeteorologistForecast-forecastText' },\n\t _react2.default.createElement('li', {\n\t dangerouslySetInnerHTML: { __html: unescapedSanitizedDescription }\n\t })\n\t )\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'readMore' },\n\t (0, _translate2.default)('Read More', language)\n\t )\n\t )\n\t )\n\t ) : null\n\t ),\n\t (showMeteorologistImage || showMeteorologistInfo) && _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t profileColSpans,\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'SimpleMeteorologistForecast-profileCell' },\n\t showMeteorologistImage && meteorologistImage && _react2.default.createElement(\n\t 'div',\n\t { className: 'SimpleMeteorologistForecast-profileImage' },\n\t _react2.default.createElement(_Image2.default, { imageBreakpoints: imageBreakpoints, src: meteorologistImage, alt: 'Image of ' + (name || 'meteorologist') })\n\t ),\n\t showMeteorologistInfo && _react2.default.createElement(\n\t 'div',\n\t { className: 'SimpleMeteorologistForecast-profileInfo' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'SimpleMeteorologistForecast-name' },\n\t name || ''\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'SimpleMeteorologistForecast-meteorologistTitle' },\n\t meteorologistTitle || ''\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'SimpleMeteorologistForecast-socialLinks' },\n\t facebookInfo ? _react2.default.createElement(_SocialIcon2.default, { iconType: 'facebook', destinationUri: facebookInfo }) : null,\n\t twitterInfo ? _react2.default.createElement(_SocialIcon2.default, { iconType: 'twitter', destinationUri: twitterInfo }) : null,\n\t googleInfo ? _react2.default.createElement(_SocialIcon2.default, { iconType: 'google', destinationUri: googleInfo }) : null,\n\t email ? _react2.default.createElement(_SocialIcon2.default, { iconType: 'email', destinationUri: 'mailto:' + email, noTarget: true }) : null\n\t )\n\t )\n\t )\n\t ),\n\t backgroundUri ? _react2.default.createElement('div', { className: 'SimpleMeteorologistForecast-backgroundOverlay' }) : null\n\t ),\n\t _react2.default.createElement(MeteorologistForecastModal, {\n\t title: forecastTitle,\n\t forecastContent: unescapedSanitizedDescription,\n\t meteorlogistName: name,\n\t meteorologistTitle: meteorologistTitle,\n\t meteorologistImage: meteorologistImage,\n\t email: email,\n\t titleType: titleType,\n\t facebookInfo: facebookInfo,\n\t twitterInfo: twitterInfo,\n\t googleInfo: googleInfo,\n\t forecastDate: pubDate,\n\t showModal: showModal,\n\t timestampOptions: timestampOptions,\n\t onHideModal: this._setModalHidden.bind(this) })\n\t );\n\t }\n\t }]);\n\t\n\t return SimpleMeteorologistForecast;\n\t}(_react.Component), _class.propTypes = {\n\t FRN_rawResponses: _react.PropTypes.array,\n\t showOnUserLocation: _react.PropTypes.bool,\n\t showForecast: _react.PropTypes.bool,\n\t showMeteorologistImage: _react.PropTypes.bool,\n\t showMeteorologistInfo: _react.PropTypes.bool,\n\t backgroundColor: _react.PropTypes.string,\n\t backgroundUri: _react.PropTypes.string,\n\t textColor: _react.PropTypes.string,\n\t capitalizeForecastTitle: _react.PropTypes.bool,\n\t timestampOptions: _react.PropTypes.shape({\n\t showElapsedTime: _react.PropTypes.bool,\n\t displayShortDateTime: _react.PropTypes.bool\n\t }),\n\t titleType: _react.PropTypes.oneOf(Object.values(_FRNBaseStyles.TITLE_TYPE))\n\t}, _class.contextTypes = {\n\t location: _react.PropTypes.object.isRequired,\n\t config: _react.PropTypes.object.isRequired\n\t}, _temp2);\n\t\n\t/**\n\t * Class representing the modal for the full meteorologist text\n\t */\n\t\n\tvar MeteorologistForecastModal = (_temp3 = _class2 = function (_Component2) {\n\t _inherits(MeteorologistForecastModal, _Component2);\n\t\n\t function MeteorologistForecastModal() {\n\t _classCallCheck(this, MeteorologistForecastModal);\n\t\n\t return _possibleConstructorReturn(this, (MeteorologistForecastModal.__proto__ || Object.getPrototypeOf(MeteorologistForecastModal)).apply(this, arguments));\n\t }\n\t\n\t _createClass(MeteorologistForecastModal, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props2 = this.props,\n\t _props2$title = _props2.title,\n\t title = _props2$title === undefined ? '' : _props2$title,\n\t _props2$forecastConte = _props2.forecastContent,\n\t forecastContent = _props2$forecastConte === undefined ? '' : _props2$forecastConte,\n\t _props2$meteorlogistN = _props2.meteorlogistName,\n\t meteorlogistName = _props2$meteorlogistN === undefined ? '' : _props2$meteorlogistN,\n\t _props2$meteorologist = _props2.meteorologistTitle,\n\t meteorologistTitle = _props2$meteorologist === undefined ? '' : _props2$meteorologist,\n\t _props2$meteorologist2 = _props2.meteorologistImage,\n\t meteorologistImage = _props2$meteorologist2 === undefined ? '' : _props2$meteorologist2,\n\t _props2$email = _props2.email,\n\t email = _props2$email === undefined ? '' : _props2$email,\n\t _props2$facebookInfo = _props2.facebookInfo,\n\t facebookInfo = _props2$facebookInfo === undefined ? '' : _props2$facebookInfo,\n\t _props2$twitterInfo = _props2.twitterInfo,\n\t twitterInfo = _props2$twitterInfo === undefined ? '' : _props2$twitterInfo,\n\t _props2$googleInfo = _props2.googleInfo,\n\t googleInfo = _props2$googleInfo === undefined ? '' : _props2$googleInfo,\n\t _props2$forecastDate = _props2.forecastDate,\n\t forecastDate = _props2$forecastDate === undefined ? '' : _props2$forecastDate,\n\t showModal = _props2.showModal,\n\t onHideModal = _props2.onHideModal,\n\t _props2$timestampOpti = _props2.timestampOptions;\n\t _props2$timestampOpti = _props2$timestampOpti === undefined ? {} : _props2$timestampOpti;\n\t var showElapsedTime = _props2$timestampOpti.showElapsedTime,\n\t displayShortDateTime = _props2$timestampOpti.displayShortDateTime,\n\t _props2$titleType = _props2.titleType,\n\t titleType = _props2$titleType === undefined ? _FRNBaseStyles.TITLE_TYPE.MODULE_TITLE : _props2$titleType;\n\t\n\t\n\t return _react2.default.createElement(\n\t _reactBootstrap.Modal,\n\t { className: 'SimpleMeteorologistForecastModal',\n\t show: showModal,\n\t onHide: onHideModal,\n\t backdrop: true,\n\t 'aria-labelledby': 'contained-modal-title-lg' },\n\t _react2.default.createElement(_reactBootstrap.Modal.Header, { className: 'SimpleMeteorologistForecastModal-header', closeButton: true }),\n\t _react2.default.createElement(\n\t _reactBootstrap.Modal.Body,\n\t null,\n\t title ? _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, title: title, classes: 'SimpleMeteorologistForecastModal-title' }) : null,\n\t _react2.default.createElement(_Timestamp2.default, { publishDate: forecastDate, showElapsedTime: showElapsedTime, displayShortDateTime: displayShortDateTime }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'SimpleMeteorologistForecastModal-profileCell' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'SimpleMeteorologistForecastModal-profileImage' },\n\t _react2.default.createElement(_Image2.default, { src: meteorologistImage, alt: 'Image of ' + (name || 'meteorologist'), width: 60 })\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'SimpleMeteorologistForecastModal-profileInfo' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'SimpleMeteorologistForecastModal-name' },\n\t meteorlogistName\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'SimpleMeteorologistForecastModal-meteorologistTitle' },\n\t meteorologistTitle\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'SimpleMeteorologistForecastModal-socialLinks' },\n\t facebookInfo ? _react2.default.createElement(_SocialIcon2.default, { iconType: 'facebook', destinationUri: facebookInfo }) : null,\n\t twitterInfo ? _react2.default.createElement(_SocialIcon2.default, { iconType: 'twitter', destinationUri: twitterInfo }) : null,\n\t googleInfo ? _react2.default.createElement(_SocialIcon2.default, { iconType: 'google', destinationUri: googleInfo }) : null,\n\t email ? _react2.default.createElement(_SocialIcon2.default, { iconType: 'email', destinationUri: 'mailto:' + email, noTarget: true }) : null\n\t )\n\t )\n\t ),\n\t _react2.default.createElement('div', { className: 'SimpleMeteorologistForecastModal-forecastContent', dangerouslySetInnerHTML: { __html: forecastContent } })\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return MeteorologistForecastModal;\n\t}(_react.Component), _class2.propTypes = {\n\t title: _react.PropTypes.string,\n\t forecastContent: _react.PropTypes.string.isRequired,\n\t meteorlogistName: _react.PropTypes.string,\n\t meteorologistTitle: _react.PropTypes.string,\n\t meteorologistImage: _react.PropTypes.string,\n\t email: _react.PropTypes.string,\n\t facebookInfo: _react.PropTypes.string,\n\t twitterInfo: _react.PropTypes.string,\n\t googleInfo: _react.PropTypes.string,\n\t forecastDate: _react.PropTypes.string,\n\t showModal: _react.PropTypes.bool.isRequired,\n\t onHideModal: _react.PropTypes.func.isRequired,\n\t timestampOptions: _react.PropTypes.shape({\n\t showElapsedTime: _react.PropTypes.bool,\n\t displayShortDateTime: _react.PropTypes.bool\n\t }),\n\t titleType: _react.PropTypes.string\n\t}, _temp3);\n\texports.default = SimpleMeteorologistForecast;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1261 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp, _class2, _temp3, _class3, _temp4;\n\t\n\tvar _classnames = __webpack_require__(2);\n\t\n\tvar _classnames2 = _interopRequireDefault(_classnames);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactBootstrap = __webpack_require__(26);\n\t\n\tvar _Cancel = __webpack_require__(215);\n\t\n\tvar _Cancel2 = _interopRequireDefault(_Cancel);\n\t\n\tvar _Image = __webpack_require__(40);\n\t\n\tvar _Image2 = _interopRequireDefault(_Image);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t/**\n\t * Class representing the images uploaded by the station for the current weather conditions.\n\t */\n\t\n\tvar StationImages = (_temp = _class = function (_Component) {\n\t _inherits(StationImages, _Component);\n\t\n\t function StationImages() {\n\t _classCallCheck(this, StationImages);\n\t\n\t return _possibleConstructorReturn(this, (StationImages.__proto__ || Object.getPrototypeOf(StationImages)).apply(this, arguments));\n\t }\n\t\n\t _createClass(StationImages, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t title = _props.title,\n\t titleColor = _props.titleColor,\n\t _props$images = _props.images,\n\t images = _props$images === undefined ? [] : _props$images,\n\t dimensions = _props.dimensions,\n\t enableModal = _props.enableModal,\n\t chromeless = _props.chromeless,\n\t titleType = _props.titleType;\n\t\n\t\n\t if (!images.length) {\n\t return null;\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'StationImages' },\n\t _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, title: title, color: titleColor, classes: 'StationImages-header' }),\n\t _react2.default.createElement(\n\t _reactBootstrap.Row,\n\t { className: 'StationImages-container' },\n\t images.map(function (image, i) {\n\t return _react2.default.createElement(StationImageUnit, { image: image, key: i, dimensions: dimensions, enableModal: enableModal, chromeless: chromeless });\n\t })\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return StationImages;\n\t}(_react.Component), _class.propTypes = {\n\t images: _react.PropTypes.array.isRequired,\n\t title: _react.PropTypes.string,\n\t titleColor: _react.PropTypes.string,\n\t dimensions: _react.PropTypes.object,\n\t enableModal: _react.PropTypes.bool,\n\t chromeless: _react.PropTypes.bool,\n\t titleType: _react.PropTypes.string\n\t}, _class.defaultProps = {\n\t title: '',\n\t dimensions: {\n\t 'xs': 6\n\t },\n\t titleType: _FRNBaseStyles.TITLE_TYPE.MODULE_TITLE\n\t}, _temp);\n\tvar StationImageUnit = (_temp3 = _class2 = function (_Component2) {\n\t _inherits(StationImageUnit, _Component2);\n\t\n\t function StationImageUnit() {\n\t var _ref;\n\t\n\t var _temp2, _this2, _ret;\n\t\n\t _classCallCheck(this, StationImageUnit);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp2 = (_this2 = _possibleConstructorReturn(this, (_ref = StationImageUnit.__proto__ || Object.getPrototypeOf(StationImageUnit)).call.apply(_ref, [this].concat(args))), _this2), _this2.state = {\n\t showModal: false\n\t }, _temp2), _possibleConstructorReturn(_this2, _ret);\n\t }\n\t\n\t _createClass(StationImageUnit, [{\n\t key: '_toggleModal',\n\t value: function _toggleModal() {\n\t this.setState({\n\t showModal: !this.state.showModal\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this3 = this;\n\t\n\t // Use title if no separate alt_text is defined\n\t var _props2 = this.props,\n\t _props2$image = _props2.image,\n\t image = _props2$image === undefined ? {} : _props2$image,\n\t enableModal = _props2.enableModal,\n\t chromeless = _props2.chromeless,\n\t _props2$dimensions = _props2.dimensions;\n\t _props2$dimensions = _props2$dimensions === undefined ? {} : _props2$dimensions;\n\t var _props2$dimensions$xs = _props2$dimensions.xs,\n\t xs = _props2$dimensions$xs === undefined ? 6 : _props2$dimensions$xs,\n\t md = _props2$dimensions.md,\n\t lg = _props2$dimensions.lg,\n\t xl = _props2$dimensions.xl;\n\t var showModal = this.state.showModal;\n\t var title = image.title,\n\t staticUri = image.staticUri,\n\t destinationUri = image.destinationUri,\n\t altText = image.altText;\n\t\n\t\n\t var alt = altText || title;\n\t\n\t var scaledImage = staticUri + '?auto=webp&disable=upscale&width=460';\n\t var cellStyles = { backgroundImage: 'url(' + scaledImage + ')' };\n\t var componentclassNames = (0, _classnames2.default)('StationImageUnit', xl ? 'col-xl-' + xl : '');\n\t\n\t var thumbnailClassnames = (0, _classnames2.default)('StationImageUnit-thumbnail', {\n\t 'StationImageUnit-thumbnail--clickable': enableModal\n\t });\n\t\n\t var titleClassnames = (0, _classnames2.default)('StationImageUnit-imageTitle', {\n\t 'StationImageUnit-imageTitle--clickable': enableModal\n\t });\n\t\n\t var showHyperlink = destinationUri && !enableModal;\n\t\n\t return _react2.default.createElement(\n\t _reactBootstrap.Col,\n\t { xs: xs, md: md, lg: lg, className: componentclassNames },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: thumbnailClassnames, style: cellStyles, onClick: function onClick() {\n\t return _this3._toggleModal();\n\t } },\n\t _react2.default.createElement(_Image2.default, { src: scaledImage, alt: alt, imageClassNames: \"StationImageUnit-image\", enableImgOpt: false }),\n\t showHyperlink ? _react2.default.createElement('a', { className: 'StationImageUnit-thumbnailImageLink', href: destinationUri, target: '_top' }) : null\n\t ),\n\t _react2.default.createElement(\n\t 'h3',\n\t { className: titleClassnames, onClick: function onClick() {\n\t return _this3._toggleModal();\n\t } },\n\t showHyperlink ? _react2.default.createElement(\n\t 'a',\n\t { href: destinationUri, target: '_top' },\n\t title\n\t ) : title\n\t ),\n\t enableModal && _react2.default.createElement(ImageModal, {\n\t title: title,\n\t imageSrc: staticUri,\n\t altText: alt,\n\t destinationUri: destinationUri,\n\t showModal: showModal,\n\t onHideModal: function onHideModal() {\n\t return _this3._toggleModal();\n\t },\n\t chromeless: chromeless\n\t })\n\t );\n\t }\n\t }]);\n\t\n\t return StationImageUnit;\n\t}(_react.Component), _class2.propTypes = {\n\t image: _react.PropTypes.object.isRequired,\n\t dimensions: _react.PropTypes.object.isRequired,\n\t enableModal: _react.PropTypes.bool,\n\t chromeless: _react.PropTypes.bool\n\t}, _temp3);\n\tvar ImageModal = (_temp4 = _class3 = function (_Component3) {\n\t _inherits(ImageModal, _Component3);\n\t\n\t function ImageModal() {\n\t _classCallCheck(this, ImageModal);\n\t\n\t return _possibleConstructorReturn(this, (ImageModal.__proto__ || Object.getPrototypeOf(ImageModal)).apply(this, arguments));\n\t }\n\t\n\t _createClass(ImageModal, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props3 = this.props,\n\t showModal = _props3.showModal,\n\t title = _props3.title,\n\t altText = _props3.altText,\n\t imageSrc = _props3.imageSrc,\n\t destinationUri = _props3.destinationUri,\n\t onHideModal = _props3.onHideModal,\n\t chromeless = _props3.chromeless;\n\t\n\t\n\t var imgHeight = typeof window !== 'undefined' ? document.documentElement.clientHeight - 150 : 150;\n\t var imageStyles = {\n\t objectFit: 'contain'\n\t };\n\t\n\t return _react2.default.createElement(\n\t _reactBootstrap.Modal,\n\t { className: 'StationImageModal',\n\t show: showModal,\n\t onHide: onHideModal,\n\t backdrop: true,\n\t dialogClassName: 'StationImageModal-modalDialog',\n\t 'aria-labelledby': 'contained-modal-title-lg' },\n\t title && _react2.default.createElement(\n\t _reactBootstrap.ModalHeader,\n\t { className: 'StationImageModal-header', closeButton: true },\n\t _react2.default.createElement(\n\t _reactBootstrap.ModalTitle,\n\t null,\n\t destinationUri ? _react2.default.createElement(\n\t 'a',\n\t { className: 'StationImageModal-title', href: destinationUri, target: '_top' },\n\t title\n\t ) : title\n\t )\n\t ),\n\t _react2.default.createElement(\n\t _reactBootstrap.ModalBody,\n\t { className: (0, _classnames2.default)('StationImageModal-body', { 'StationImageModal-body--chromeless': chromeless }) },\n\t !title && _react2.default.createElement(\n\t 'span',\n\t { className: 'StationImageModal-close', onClick: function onClick() {\n\t return onHideModal();\n\t } },\n\t _react2.default.createElement(_Cancel2.default, { color: '#FFFFFF' })\n\t ),\n\t _react2.default.createElement(_Image2.default, { height: imgHeight, src: imageSrc, alt: altText, imageClassNames: \"StationImageModal-img\", imageStyles: imageStyles }),\n\t destinationUri ? _react2.default.createElement('a', { className: 'StationImageUnit-thumbnailImageLink', href: destinationUri, target: '_top' }) : null\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return ImageModal;\n\t}(_react.Component), _class3.propTypes = {\n\t title: _react.PropTypes.string,\n\t altText: _react.PropTypes.string,\n\t imageSrc: _react.PropTypes.string,\n\t destinationUri: _react.PropTypes.string,\n\t showModal: _react.PropTypes.bool.isRequired,\n\t onHideModal: _react.PropTypes.func.isRequired,\n\t chromeless: _react.PropTypes.bool\n\t}, _temp4);\n\texports.default = StationImages;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1262 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp;\n\t\n\tvar _map2 = __webpack_require__(195);\n\t\n\tvar _map3 = _interopRequireDefault(_map2);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _SocialIcon = __webpack_require__(171);\n\t\n\tvar _SocialIcon2 = _interopRequireDefault(_SocialIcon);\n\t\n\tvar _CircleOChevronRight = __webpack_require__(1201);\n\t\n\tvar _CircleOChevronRight2 = _interopRequireDefault(_CircleOChevronRight);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t/**\n\t * Class representing the news subscription items\n\t *\n\t * Optional props:\n\t * subscriptionLinks\n\t * - An array of objects specifying text and destination uri for the link\n\t * E.g. [ { \"text\": \"Sign up for weather alerts\", \"destinationUri: \"\" }, { ... }, ... ]\n\t *\n\t * socialMediaLinks\n\t * - An array of objects specifying type and destination uri for the social link\n\t * E.g. [ { \"type\": \"facebook\", \"destinationUri: \"\" }, { ... }, ... ]\n\t *\n\t */\n\tvar SubscribeModule = (_temp = _class = function (_Component) {\n\t _inherits(SubscribeModule, _Component);\n\t\n\t function SubscribeModule() {\n\t _classCallCheck(this, SubscribeModule);\n\t\n\t return _possibleConstructorReturn(this, (SubscribeModule.__proto__ || Object.getPrototypeOf(SubscribeModule)).apply(this, arguments));\n\t }\n\t\n\t _createClass(SubscribeModule, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t _props$title = _props.title,\n\t title = _props$title === undefined ? 'Follow us on social media' : _props$title,\n\t _props$titleColor = _props.titleColor,\n\t titleColor = _props$titleColor === undefined ? '#000000' : _props$titleColor,\n\t _props$subscriptionLi = _props.subscriptionLinks,\n\t subLinks = _props$subscriptionLi === undefined ? [] : _props$subscriptionLi,\n\t _props$socialMediaLin = _props.socialMediaLinks,\n\t mediaLinks = _props$socialMediaLin === undefined ? [] : _props$socialMediaLin;\n\t\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'SubscribeModule' },\n\t mediaLinks.length > 0 ? _react2.default.createElement(\n\t 'div',\n\t null,\n\t _react2.default.createElement(\n\t 'span',\n\t { style: { color: titleColor } },\n\t title\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'SubscribeModule-socialMediaIcons' },\n\t (0, _map3.default)(mediaLinks, function (mediaItem, i) {\n\t return mediaItem.type === 'email' ? _react2.default.createElement(_SocialIcon2.default, { key: i, iconType: mediaItem.type, destinationUri: 'mailto:' + mediaItem.destinationUri, noTarget: true }) : _react2.default.createElement(_SocialIcon2.default, { key: i, iconType: mediaItem.type, destinationUri: mediaItem.destinationUri });\n\t })\n\t )\n\t ) : null,\n\t (0, _map3.default)(subLinks, function (link, i) {\n\t return _react2.default.createElement(\n\t 'div',\n\t { key: i, className: 'SubscribeModule-subscription' },\n\t _react2.default.createElement(\n\t 'a',\n\t { href: link.destinationUri, style: { color: link.color }, target: '_blank' },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'SubscribeModule-linkText' },\n\t link.text\n\t ),\n\t _react2.default.createElement(_CircleOChevronRight2.default, null)\n\t )\n\t );\n\t })\n\t );\n\t }\n\t }]);\n\t\n\t return SubscribeModule;\n\t}(_react.Component), _class.propTypes = {\n\t title: _react.PropTypes.string,\n\t titleColor: _react.PropTypes.string,\n\t subscriptionLinks: _react.PropTypes.array,\n\t socialMediaLinks: _react.PropTypes.array\n\t}, _temp);\n\texports.default = SubscribeModule;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1263 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp2, _class2, _temp3;\n\t\n\tvar _map2 = __webpack_require__(195);\n\t\n\tvar _map3 = _interopRequireDefault(_map2);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactBootstrap = __webpack_require__(26);\n\t\n\tvar _reactAddonsCssTransitionGroup = __webpack_require__(248);\n\t\n\tvar _reactAddonsCssTransitionGroup2 = _interopRequireDefault(_reactAddonsCssTransitionGroup);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _Image = __webpack_require__(40);\n\t\n\tvar _Image2 = _interopRequireDefault(_Image);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tvar _xmlJs = __webpack_require__(133);\n\t\n\tvar _xmlJs2 = _interopRequireDefault(_xmlJs);\n\t\n\tvar _translate = __webpack_require__(51);\n\t\n\tvar _translate2 = _interopRequireDefault(_translate);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Masonry = void 0;\n\t\n\tif (true) {\n\t Masonry = __webpack_require__(1978);\n\t}\n\t\n\t/**\n\t * Class representing the weather images and videos uploaded by users.\n\t *\n\t * Dependent on feed - viewer_media\n\t */\n\tvar ViewerWeatherMedia = (_temp2 = _class = function (_Component) {\n\t _inherits(ViewerWeatherMedia, _Component);\n\t\n\t function ViewerWeatherMedia() {\n\t var _ref;\n\t\n\t var _temp, _this, _ret;\n\t\n\t _classCallCheck(this, ViewerWeatherMedia);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ViewerWeatherMedia.__proto__ || Object.getPrototypeOf(ViewerWeatherMedia)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n\t numberOfItems: 16\n\t }, _this._extractInfo = function () {\n\t var _this$props = _this.props,\n\t title = _this$props.title,\n\t titleType = _this$props.titleType;\n\t\n\t if (Array.isArray(_this.props.FRN_rawResponses) && _this.props.FRN_rawResponses[0] && _typeof(_this.props.FRN_rawResponses[0].data) === 'object') {\n\t var _this$props$FRN_rawRe = _this.props.FRN_rawResponses;\n\t _this$props$FRN_rawRe = _this$props$FRN_rawRe === undefined ? [] : _this$props$FRN_rawRe;\n\t\n\t var _this$props$FRN_rawRe2 = _slicedToArray(_this$props$FRN_rawRe, 1),\n\t _this$props$FRN_rawRe3 = _this$props$FRN_rawRe2[0];\n\t\n\t _this$props$FRN_rawRe3 = _this$props$FRN_rawRe3 === undefined ? {} : _this$props$FRN_rawRe3;\n\t var _this$props$FRN_rawRe4 = _this$props$FRN_rawRe3.data;\n\t _this$props$FRN_rawRe4 = _this$props$FRN_rawRe4 === undefined ? {} : _this$props$FRN_rawRe4;\n\t var _this$props$FRN_rawRe5 = _this$props$FRN_rawRe4.rss;\n\t _this$props$FRN_rawRe5 = _this$props$FRN_rawRe5 === undefined ? {} : _this$props$FRN_rawRe5;\n\t var _this$props$FRN_rawRe6 = _this$props$FRN_rawRe5.channel;\n\t _this$props$FRN_rawRe6 = _this$props$FRN_rawRe6 === undefined ? {} : _this$props$FRN_rawRe6;\n\t var _this$props$FRN_rawRe7 = _this$props$FRN_rawRe6.item,\n\t viewerImages = _this$props$FRN_rawRe7 === undefined ? [] : _this$props$FRN_rawRe7;\n\t\n\t return { title: title, titleType: titleType, viewerImages: viewerImages };\n\t } else if (Array.isArray(_this.props.FRN_rawResponses) && _this.props.FRN_rawResponses[0] && typeof _this.props.FRN_rawResponses[0].data === 'string') {\n\t var data = _xmlJs2.default.xml2js(_this.props.FRN_rawResponses[0].data, { compact: true });\n\t var _data$rss = data.rss;\n\t _data$rss = _data$rss === undefined ? {} : _data$rss;\n\t var _data$rss$channel = _data$rss.channel;\n\t _data$rss$channel = _data$rss$channel === undefined ? {} : _data$rss$channel;\n\t\n\t var _data$rss$channel$ite = _data$rss$channel.item,\n\t _viewerImages = _data$rss$channel$ite === undefined ? [] : _data$rss$channel$ite;\n\t\n\t _viewerImages.forEach(function (item) {\n\t item['media:content'] = _this._cleanXmlObj(item['media:content']);\n\t item.link = item.link ? item.link._text || item.link : '';\n\t });\n\t\n\t return { title: title, titleType: titleType, viewerImages: _viewerImages };\n\t }\n\t\n\t return { title: title, titleType: titleType, viewerImages: [] };\n\t }, _temp), _possibleConstructorReturn(_this, _ret);\n\t }\n\t\n\t _createClass(ViewerWeatherMedia, [{\n\t key: '_updateMasonry',\n\t value: function _updateMasonry() {\n\t return new Masonry(document.querySelector('.masonry-box'), {\n\t itemSelector: '.ViewerMediaUnit',\n\t masonry: {\n\t gutterWidth: 20,\n\t columnWidth: 100\n\t }\n\t });\n\t }\n\t }, {\n\t key: '_increaseNumberOfItems',\n\t value: function _increaseNumberOfItems() {\n\t this.setState({\n\t numberOfItems: this.state.numberOfItems + 8\n\t });\n\t }\n\t }, {\n\t key: '_cleanXmlObj',\n\t value: function _cleanXmlObj(mediaContent) {\n\t return _extends({}, mediaContent, {\n\t '@url': mediaContent._attributes.url\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _context$config = this.context.config;\n\t _context$config = _context$config === undefined ? {} : _context$config;\n\t var _context$config$appOp = _context$config.appOptions;\n\t _context$config$appOp = _context$config$appOp === undefined ? {} : _context$config$appOp;\n\t var _context$config$appOp2 = _context$config$appOp.language,\n\t language = _context$config$appOp2 === undefined ? 'en' : _context$config$appOp2;\n\t\n\t var _extractInfo = this._extractInfo(),\n\t title = _extractInfo.title,\n\t titleType = _extractInfo.titleType,\n\t viewerImages = _extractInfo.viewerImages;\n\t\n\t var numberOfItems = this.state.numberOfItems;\n\t var shouldDisplayViewMoreButton = viewerImages.length > numberOfItems;\n\t var imageCols = (0, _map3.default)(viewerImages.slice(0, numberOfItems), function (item, i) {\n\t return _react2.default.createElement(ViewerMediaUnit, {\n\t mediaData: item,\n\t key: i,\n\t onLoad: _this2._updateMasonry\n\t });\n\t });\n\t\n\t if (!viewerImages.length) {\n\t return null;\n\t }\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'ViewerWeatherMedia' },\n\t _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, title: title }),\n\t _react2.default.createElement(\n\t _reactBootstrap.Row,\n\t { className: 'masonry-box' },\n\t _react2.default.createElement(\n\t _reactAddonsCssTransitionGroup2.default,\n\t { transitionName: 'viewer-weather-media', transitionEnterTimeout: 300, transitionLeaveTimeout: 300 },\n\t imageCols\n\t )\n\t ),\n\t shouldDisplayViewMoreButton ? _react2.default.createElement(\n\t 'div',\n\t { className: 'ViewerWeatherMedia-viewMore', onClick: this._increaseNumberOfItems.bind(this) },\n\t (0, _translate2.default)('View More', language),\n\t _react2.default.createElement('span', { className: 'ViewerWeatherMedia-viewMore-icon' })\n\t ) : null\n\t );\n\t }\n\t }]);\n\t\n\t return ViewerWeatherMedia;\n\t}(_react.Component), _class.propTypes = {\n\t FRN_rawResponses: _react.PropTypes.array,\n\t title: _react.PropTypes.string,\n\t titleType: _react.PropTypes.string\n\t}, _class.contextTypes = {\n\t config: _react.PropTypes.object.isRequired\n\t}, _class.defaultProps = {\n\t title: \"Viewer Weather Images\",\n\t titleType: _FRNBaseStyles.TITLE_TYPE.MODULE_TITLE\n\t}, _temp2);\n\t\n\t/**\n\t * Class representing an individual media item that has been uploaded by a user.\n\t */\n\t\n\tvar ViewerMediaUnit = (_temp3 = _class2 = function (_Component2) {\n\t _inherits(ViewerMediaUnit, _Component2);\n\t\n\t function ViewerMediaUnit() {\n\t _classCallCheck(this, ViewerMediaUnit);\n\t\n\t return _possibleConstructorReturn(this, (ViewerMediaUnit.__proto__ || Object.getPrototypeOf(ViewerMediaUnit)).apply(this, arguments));\n\t }\n\t\n\t _createClass(ViewerMediaUnit, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t _props$mediaData = _props.mediaData,\n\t mediaData = _props$mediaData === undefined ? {} : _props$mediaData,\n\t onLoad = _props.onLoad;\n\t var _mediaData$mediaCont = mediaData['media:content'];\n\t _mediaData$mediaCont = _mediaData$mediaCont === undefined ? {} : _mediaData$mediaCont;\n\t var _mediaData$mediaCont$ = _mediaData$mediaCont['@url'],\n\t imageUri = _mediaData$mediaCont$ === undefined ? '' : _mediaData$mediaCont$;\n\t\n\t\n\t if (mediaData['media:content']._attributes && mediaData['media:content']._attributes.medium === 'video' && mediaData['media:thumbnail']._attributes) {\n\t imageUri = mediaData['media:thumbnail']._attributes.url;\n\t }\n\t\n\t if (mediaData['media:content']['@medium'] && mediaData['media:content']['@medium'] === 'video' && mediaData['media:thumbnail']['@url']) {\n\t imageUri = mediaData['media:thumbnail']['@url'];\n\t }\n\t\n\t /* Breakpoints: XS: 0-767, S: 768-991, M: 992-1199, L: 1200-1469, XL: 1470- */\n\t var imageBreakpoints = [{ \"maxWidth\": 480, \"widthVW\": 100 }, { \"maxWidth\": 768, \"widthVW\": 50 }, { \"maxWidth\": 992, \"widthVW\": 33 }, { \"maxWidth\": 1200, \"widthVW\": 33 }, { \"widthVW\": 25 }];\n\t\n\t if (imageUri) {\n\t var imageElement = _react2.default.createElement(_Image2.default, { imageBreakpoints: imageBreakpoints, src: imageUri, alt: mediaData.title, imageClassNames: \"ViewerMediaUnit col-4\", imageOnLoad: onLoad });\n\t\n\t if (mediaData.link) {\n\t return _react2.default.createElement(\n\t 'a',\n\t { href: mediaData.link, target: '_top' },\n\t imageElement\n\t );\n\t }\n\t\n\t return imageElement;\n\t } else {\n\t return null;\n\t }\n\t }\n\t }]);\n\t\n\t return ViewerMediaUnit;\n\t}(_react.Component), _class2.propTypes = {\n\t mediaData: _react.PropTypes.object.isRequired,\n\t onLoad: _react.PropTypes.func\n\t}, _temp3);\n\texports.default = ViewerWeatherMedia;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1264 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp, _class2, _temp3, _class3, _temp4, _dec, _class4, _class5, _temp6, _class6, _temp7, _class7, _temp8, _class8, _temp9;\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _lodash2 = _interopRequireDefault(_lodash);\n\t\n\tvar _connectAlt = __webpack_require__(95);\n\t\n\tvar _connectAlt2 = _interopRequireDefault(_connectAlt);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactBootstrap = __webpack_require__(26);\n\t\n\tvar _WeatherUtils = __webpack_require__(221);\n\t\n\tvar _DateUtils = __webpack_require__(54);\n\t\n\tvar _AlertUtils = __webpack_require__(373);\n\t\n\tvar _Timestamp = __webpack_require__(47);\n\t\n\tvar _Timestamp2 = _interopRequireDefault(_Timestamp);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _WeatherAlertIcon = __webpack_require__(371);\n\t\n\tvar _WeatherAlertIcon2 = _interopRequireDefault(_WeatherAlertIcon);\n\t\n\tvar _Cancel = __webpack_require__(215);\n\t\n\tvar _Cancel2 = _interopRequireDefault(_Cancel);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tvar _DedicatedWeatherAlert = __webpack_require__(1255);\n\t\n\tvar _DedicatedWeatherAlert2 = _interopRequireDefault(_DedicatedWeatherAlert);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar ALERT_CATEGORIES = ['warning', 'watch', 'advisory', 'statement', 'outlook', 'synopsis', 'forecast', 'alert'];\n\tvar WEATHER_ALERT_TYPE = {\n\t banner: 'banner',\n\t fullView: 'fullView'\n\t};\n\t\n\tvar WeatherAlertWrapper = (_temp = _class = function (_Component) {\n\t _inherits(WeatherAlertWrapper, _Component);\n\t\n\t function WeatherAlertWrapper() {\n\t _classCallCheck(this, WeatherAlertWrapper);\n\t\n\t return _possibleConstructorReturn(this, (WeatherAlertWrapper.__proto__ || Object.getPrototypeOf(WeatherAlertWrapper)).apply(this, arguments));\n\t }\n\t\n\t _createClass(WeatherAlertWrapper, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props = this.props,\n\t _props$FRN_resourceEn = _slicedToArray(_props.FRN_resourceEndpoints, 1),\n\t _props$FRN_resourceEn2 = _props$FRN_resourceEn[0];\n\t\n\t _props$FRN_resourceEn2 = _props$FRN_resourceEn2 === undefined ? {} : _props$FRN_resourceEn2;\n\t var _props$FRN_resourceEn3 = _props$FRN_resourceEn2.url,\n\t url = _props$FRN_resourceEn3 === undefined ? '' : _props$FRN_resourceEn3,\n\t type = _props.type;\n\t\n\t\n\t if (!url) {\n\t return _react2.default.createElement(WeatherAlerts, this.props);\n\t }\n\t\n\t if (type === WEATHER_ALERT_TYPE.fullView) {\n\t return _react2.default.createElement(_DedicatedWeatherAlert2.default, this.props);\n\t }\n\t\n\t return _react2.default.createElement(WeatherAlertFromFeed, this.props);\n\t }\n\t }]);\n\t\n\t return WeatherAlertWrapper;\n\t}(_react.Component), _class.propTypes = {\n\t type: _react.PropTypes.oneOf(Object.keys(WEATHER_ALERT_TYPE)),\n\t FRN_resourceEndpoints: _react.PropTypes.array\n\t}, _class.defaultProps = {\n\t type: WEATHER_ALERT_TYPE.banner,\n\t FRN_resourceEndpoints: []\n\t}, _temp);\n\tvar WeatherAlertFromFeed = (_temp3 = _class2 = function (_Component2) {\n\t _inherits(WeatherAlertFromFeed, _Component2);\n\t\n\t function WeatherAlertFromFeed() {\n\t var _ref;\n\t\n\t var _temp2, _this2, _ret;\n\t\n\t _classCallCheck(this, WeatherAlertFromFeed);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp2 = (_this2 = _possibleConstructorReturn(this, (_ref = WeatherAlertFromFeed.__proto__ || Object.getPrototypeOf(WeatherAlertFromFeed)).call.apply(_ref, [this].concat(args))), _this2), _this2.state = {\n\t showAlert: true\n\t }, _temp2), _possibleConstructorReturn(_this2, _ret);\n\t }\n\t\n\t _createClass(WeatherAlertFromFeed, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var FRN_componentInstanceId = this.props.FRN_componentInstanceId;\n\t\n\t var alertInStore = (0, _AlertUtils.findAlertInStore)(FRN_componentInstanceId);\n\t\n\t if (alertInStore) {\n\t var timeout = alertInStore.timeout;\n\t\n\t var time = (0, _DateUtils.getDateTimeInSeconds)();\n\t var showAlert = time > timeout;\n\t\n\t if (showAlert) {\n\t (0, _AlertUtils.removeAlertFromStore)(FRN_componentInstanceId);\n\t } else {\n\t this._startAutoShowAlert(timeout - time);\n\t }\n\t\n\t this.setState({ showAlert: showAlert });\n\t }\n\t }\n\t }, {\n\t key: '_getAllowedAlertsByCategory',\n\t value: function _getAllowedAlertsByCategory(category, allowedAlerts) {\n\t var type = category.toLowerCase();\n\t return _lodash2.default.find(allowedAlerts, function (allowedAlert) {\n\t return type === allowedAlert.type.toLowerCase();\n\t });\n\t }\n\t }, {\n\t key: '_sortAlertByPriority',\n\t value: function _sortAlertByPriority(alerts) {\n\t var sortedAlerts = [];\n\t\n\t ALERT_CATEGORIES.forEach(function (ale) {\n\t alerts.forEach(function (alert) {\n\t if (alert.name.toLowerCase() === ale) {\n\t sortedAlerts.push(alert);\n\t }\n\t });\n\t });\n\t\n\t return sortedAlerts;\n\t }\n\t }, {\n\t key: '_filterAlertData',\n\t value: function _filterAlertData(alerts, allowedAlerts) {\n\t var alertData = [];\n\t\n\t alerts.forEach(function (alert) {\n\t var weatherObj = alert.weather,\n\t weatherArr = alert.weathers,\n\t category = alert.name;\n\t\n\t // filter allowed alert\n\t\n\t var allowedAlert = _lodash2.default.find(allowedAlerts, function (ale) {\n\t return category.toLowerCase() === ale.type.toLowerCase();\n\t });\n\t\n\t if (allowedAlert) {\n\t var _allowedAlert$backgro = allowedAlert.backgroundColor,\n\t backgroundColor = _allowedAlert$backgro === undefined ? '#d20202' : _allowedAlert$backgro;\n\t\n\t\n\t var weathers = weatherArr || (weatherObj ? [weatherObj] : []);\n\t weathers.forEach(function (weather) {\n\t alertData.push({\n\t category: category,\n\t alertType: weather.name,\n\t backgroundColor: backgroundColor\n\t });\n\t });\n\t }\n\t });\n\t\n\t return alertData;\n\t }\n\t }, {\n\t key: '_getAlertTitleToDisplay',\n\t value: function _getAlertTitleToDisplay(alerts) {\n\t return alerts.slice(0, 3).reduce(function (result, value, index) {\n\t var type = value.alertType;\n\t if (!result) {\n\t return type;\n\t }\n\t\n\t if (alerts.length > 3 && index === 2) {\n\t type += ',...';\n\t }\n\t\n\t return result + ', ' + type;\n\t }, '').toLowerCase();\n\t }\n\t }, {\n\t key: '_dismissAlert',\n\t value: function _dismissAlert(alerts) {\n\t var _props2 = this.props,\n\t FRN_componentInstanceId = _props2.FRN_componentInstanceId,\n\t dismissTimeInHours = _props2.dismissOptions.dismissTimeInHours;\n\t\n\t var timeout = (0, _DateUtils.convertHoursToSeconds)(dismissTimeInHours);\n\t\n\t (0, _AlertUtils.addAlertToStore)(FRN_componentInstanceId, (0, _DateUtils.getDateTimeInSeconds)() + timeout, alerts);\n\t this._startAutoShowAlert(5000);\n\t\n\t this.setState({\n\t showAlert: false\n\t });\n\t }\n\t }, {\n\t key: '_startAutoShowAlert',\n\t value: function _startAutoShowAlert(timeout) {\n\t var _this3 = this;\n\t\n\t setTimeout(function () {\n\t (0, _AlertUtils.removeAlertFromStore)(_this3.props.FRN_componentInstanceId);\n\t\n\t _this3.setState({\n\t showAlert: true\n\t });\n\t }, timeout);\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this4 = this;\n\t\n\t var _props3 = this.props,\n\t _props3$FRN_rawRespon = _props3.FRN_rawResponses,\n\t FRN_rawResponses = _props3$FRN_rawRespon === undefined ? [] : _props3$FRN_rawRespon,\n\t alertsPageUri = _props3.alertsPageUri,\n\t allowedAlerts = _props3.allowedAlerts,\n\t isDismissable = _props3.dismissOptions.isDismissable;\n\t var showAlert = this.state.showAlert;\n\t\n\t\n\t if (!showAlert) {\n\t return null;\n\t }\n\t\n\t var features = _lodash2.default.get(FRN_rawResponses[0], 'data.features', []);\n\t var weatherAlerts = _lodash2.default.find(features, function (f) {\n\t return f.type === 'weatheralerts';\n\t });\n\t\n\t var _ref2 = weatherAlerts || {},\n\t alertObj = _ref2.alert,\n\t alertArr = _ref2.alerts;\n\t\n\t var alerts = alertArr || (alertObj ? [alertObj] : []);\n\t var sortedAlerts = this._sortAlertByPriority(alerts);\n\t var alertData = sortedAlerts.length > 0 ? this._filterAlertData(sortedAlerts, allowedAlerts) : [];\n\t\n\t if (alertData.length === 0) {\n\t return null;\n\t }\n\t\n\t var alertTitle = this._getAlertTitleToDisplay(alertData);\n\t\n\t var iconType = (0, _WeatherUtils.getWeatherCategoryFromCondition)(alertData[0].alertType);\n\t var backgroundColor = alertData[0].backgroundColor;\n\t var isMultipleAlerts = alertData.length > 1;\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlert' },\n\t isDismissable && _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlert-dismissBtn', onClick: function onClick() {\n\t return _this4._dismissAlert(alertData);\n\t } },\n\t _react2.default.createElement(_Cancel2.default, { color: '#fff' })\n\t ),\n\t _react2.default.createElement(\n\t 'a',\n\t { className: 'WeatherAlert-stationAlertLink', target: '_top', href: alertsPageUri },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlert-listAdvisory' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlert-listItem', style: { backgroundColor: backgroundColor } },\n\t _react2.default.createElement(WeatherAlertItemFromFeed, {\n\t text: alertTitle,\n\t iconType: iconType,\n\t showViewAll: isMultipleAlerts\n\t })\n\t )\n\t )\n\t ),\n\t isMultipleAlerts ? _react2.default.createElement(\n\t 'a',\n\t { className: 'WeatherAlert-totalPillContainer', href: alertsPageUri },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlert-totalPill', style: { color: backgroundColor } },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'WeatherAlert-totalPillIcon' },\n\t _react2.default.createElement(_WeatherAlertIcon2.default, { iconType: 'alert' })\n\t ),\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'WeatherAlert-totalValue' },\n\t alertData.length\n\t )\n\t )\n\t ) : null\n\t );\n\t }\n\t }]);\n\t\n\t return WeatherAlertFromFeed;\n\t}(_react.Component), _class2.propTypes = {\n\t FRN_rawResponses: _react.PropTypes.array,\n\t FRN_componentInstanceId: _react.PropTypes.string,\n\t title: _react.PropTypes.string,\n\t alertsPageUri: _react.PropTypes.string,\n\t allowedAlerts: _react.PropTypes.array,\n\t dismissOptions: _react.PropTypes.shape({\n\t isDismissable: _react.PropTypes.bool,\n\t dismissTimeInHours: _react.PropTypes.number\n\t })\n\t}, _class2.defaultProps = {\n\t title: \"Weather Advisory In Effect\",\n\t alertsPageUri: '',\n\t allowedAlerts: [],\n\t dismissOptions: {\n\t isDismissable: false,\n\t dismissTimeInHours: 24\n\t }\n\t}, _temp3);\n\tvar WeatherAlertItemFromFeed = (_temp4 = _class3 = function (_Component3) {\n\t _inherits(WeatherAlertItemFromFeed, _Component3);\n\t\n\t function WeatherAlertItemFromFeed() {\n\t _classCallCheck(this, WeatherAlertItemFromFeed);\n\t\n\t return _possibleConstructorReturn(this, (WeatherAlertItemFromFeed.__proto__ || Object.getPrototypeOf(WeatherAlertItemFromFeed)).apply(this, arguments));\n\t }\n\t\n\t _createClass(WeatherAlertItemFromFeed, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props4 = this.props,\n\t text = _props4.text,\n\t iconType = _props4.iconType,\n\t showViewAll = _props4.showViewAll;\n\t\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlertItem' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlertItem-advisoryImage' },\n\t _react2.default.createElement(_WeatherAlertIcon2.default, { iconType: iconType })\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlertItem-advisoryText' },\n\t _react2.default.createElement(\n\t 'h2',\n\t { className: 'WeatherAlertItem-title' },\n\t _react2.default.createElement(\n\t 'strong',\n\t null,\n\t 'Weather Alert:'\n\t ),\n\t ' ',\n\t text\n\t ),\n\t showViewAll && _react2.default.createElement(\n\t 'a',\n\t { className: 'WeatherAlertItem-viewAll hidden-xs' },\n\t 'View all'\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return WeatherAlertItemFromFeed;\n\t}(_react.Component), _class3.propTypes = {\n\t text: _react.PropTypes.string,\n\t iconType: _react.PropTypes.string,\n\t showViewAll: _react.PropTypes.bool\n\t}, _temp4);\n\t\n\t/**\n\t * Class representing the container for the multiday and hourly weather forecast components.\n\t *\n\t * Dependent on feed - wsi_endpoint\n\t */\n\t\n\tvar WeatherAlerts = (_dec = (0, _connectAlt2.default)('Weather'), _dec(_class4 = (_temp6 = _class5 = function (_Component4) {\n\t _inherits(WeatherAlerts, _Component4);\n\t\n\t function WeatherAlerts() {\n\t var _ref3;\n\t\n\t var _temp5, _this6, _ret2;\n\t\n\t _classCallCheck(this, WeatherAlerts);\n\t\n\t for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n\t args[_key2] = arguments[_key2];\n\t }\n\t\n\t return _ret2 = (_temp5 = (_this6 = _possibleConstructorReturn(this, (_ref3 = WeatherAlerts.__proto__ || Object.getPrototypeOf(WeatherAlerts)).call.apply(_ref3, [this].concat(args))), _this6), _this6.state = {\n\t showModal: false,\n\t expandedAlertIndex: -1,\n\t showAllAlerts: false,\n\t showAlert: true\n\t }, _temp5), _possibleConstructorReturn(_this6, _ret2);\n\t }\n\t\n\t _createClass(WeatherAlerts, [{\n\t key: 'componentWillMount',\n\t value: function componentWillMount() {\n\t var flux = this.context.flux;\n\t\n\t\n\t flux.getActions('Weather').readWsi();\n\t }\n\t }, {\n\t key: 'componentWillReceiveProps',\n\t value: function componentWillReceiveProps(nextProps) {\n\t var _nextProps$WeatherSto = nextProps.WeatherStore.wsi;\n\t _nextProps$WeatherSto = _nextProps$WeatherSto === undefined ? {} : _nextProps$WeatherSto;\n\t var _nextProps$WeatherSto2 = _nextProps$WeatherSto.data;\n\t _nextProps$WeatherSto2 = _nextProps$WeatherSto2 === undefined ? {} : _nextProps$WeatherSto2;\n\t var _nextProps$WeatherSto3 = _nextProps$WeatherSto2.Cities;\n\t _nextProps$WeatherSto3 = _nextProps$WeatherSto3 === undefined ? {} : _nextProps$WeatherSto3;\n\t var _nextProps$WeatherSto4 = _nextProps$WeatherSto3.City;\n\t _nextProps$WeatherSto4 = _nextProps$WeatherSto4 === undefined ? {} : _nextProps$WeatherSto4;\n\t var _nextProps$WeatherSto5 = _nextProps$WeatherSto4.WeatherAlerts;\n\t _nextProps$WeatherSto5 = _nextProps$WeatherSto5 === undefined ? {} : _nextProps$WeatherSto5;\n\t var newAlerts = _nextProps$WeatherSto5.Alert;\n\t\n\t\n\t if (newAlerts) {\n\t var _props5 = this.props,\n\t FRN_componentInstanceId = _props5.FRN_componentInstanceId,\n\t isDismissable = _props5.dismissOptions.isDismissable;\n\t\n\t\n\t if (isDismissable) {\n\t var alertInStore = (0, _AlertUtils.findAlertInStore)(FRN_componentInstanceId);\n\t\n\t if (alertInStore) {\n\t var timeout = alertInStore.timeout,\n\t data = alertInStore.data;\n\t\n\t\n\t var time = (0, _DateUtils.getDateTimeInSeconds)();\n\t var showAlert = time > timeout || this._isNewData(newAlerts, data);\n\t\n\t if (showAlert) {\n\t (0, _AlertUtils.removeAlertFromStore)(FRN_componentInstanceId);\n\t } else {\n\t this._startAutoShowAlertInterval(timeout - time);\n\t }\n\t\n\t this.setState({ showAlert: showAlert });\n\t }\n\t }\n\t }\n\t }\n\t }, {\n\t key: 'componentWillUnmount',\n\t value: function componentWillUnmount() {\n\t clearInterval(this._showAlertAgainInterval);\n\t }\n\t }, {\n\t key: '_setModalVisible',\n\t value: function _setModalVisible() {\n\t var alertIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;\n\t\n\t this.setState({\n\t showModal: true,\n\t expandedAlertIndex: alertIndex\n\t });\n\t }\n\t\n\t // Hide the modal and unassign any expanded alert\n\t\n\t }, {\n\t key: '_setModalHidden',\n\t value: function _setModalHidden() {\n\t this.setState({\n\t showModal: false,\n\t expandedAlertIndex: -1\n\t });\n\t }\n\t }, {\n\t key: '_toggleAlertListItems',\n\t value: function _toggleAlertListItems() {\n\t this.setState({\n\t showAllAlerts: !this.state.showAllAlerts\n\t });\n\t }\n\t\n\t // Assign the alert which will display its full text in the modal\n\t\n\t }, {\n\t key: '_setExpandedIndex',\n\t value: function _setExpandedIndex() {\n\t var alertIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;\n\t var expandedAlertIndex = this.state.expandedAlertIndex;\n\t\n\t var newExpandedIndex = alertIndex !== expandedAlertIndex ? alertIndex : -1;\n\t\n\t this.setState({\n\t expandedAlertIndex: newExpandedIndex\n\t });\n\t }\n\t\n\t // When a user clicks on an alert show them either the station's default page, or display\n\t // a modal with the full alert in it.\n\t\n\t }, {\n\t key: '_showFullAlerts',\n\t value: function _showFullAlerts() {\n\t var alertIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;\n\t var event = arguments[1];\n\t var _context = this.context,\n\t config = _context.config,\n\t location = _context.location;\n\t var alertsPageUri = this.props.alertsPageUri;\n\t var _config$affiliate = config.affiliate;\n\t _config$affiliate = _config$affiliate === undefined ? {} : _config$affiliate;\n\t var _config$affiliate$loc = _config$affiliate.locations,\n\t stationLocations = _config$affiliate$loc === undefined ? [] : _config$affiliate$loc;\n\t\n\t // If the current location isn't a default location in the config, then show the modal with the alert in it,\n\t // otherwise the default browser behaviour will follow the link given in the prop alertsPageUri\n\t\n\t if (!_lodash2.default.find(stationLocations, { 'zipcode': Number(location.zipcode) }) || !alertsPageUri) {\n\t event.preventDefault();\n\t this._setModalVisible(alertIndex);\n\t }\n\t }\n\t\n\t // Remove any alerts that are not in the filter type, and sort them into the appropriate order. The order is specified\n\t // by whatever order the allowedAlerts comes in as, and then by date within that list.\n\t\n\t }, {\n\t key: '_filterAlertsByType',\n\t value: function _filterAlertsByType(alerts, allowedAlerts) {\n\t var _this7 = this;\n\t\n\t var filteredAlerts = _lodash2.default.filter(alerts, function (alert) {\n\t return _lodash2.default.find(allowedAlerts, function (filterItem) {\n\t return _this7._compareAlertFilter(filterItem, alert);\n\t });\n\t });\n\t\n\t var alertWithBackgroundColor = _lodash2.default.map(filteredAlerts, function (alert) {\n\t var alertFilter = _lodash2.default.find(allowedAlerts, function (filterItem) {\n\t return _this7._compareAlertFilter(filterItem, alert);\n\t });\n\t\n\t return _lodash2.default.assign(alert, { backgroundColor: alertFilter.backgroundColor });\n\t });\n\t\n\t return _lodash2.default.sortBy(alertWithBackgroundColor, function (alert) {\n\t return _lodash2.default.findIndex(allowedAlerts, function (filterItem) {\n\t return _this7._compareAlertFilter(filterItem, alert);\n\t });\n\t });\n\t }\n\t }, {\n\t key: '_compareAlertFilter',\n\t value: function _compareAlertFilter(filterItem, alert) {\n\t var alertTitle = alert['@Headline'] || '';\n\t\n\t return filterItem.type.toLowerCase() === alertTitle.split(' ').pop().toLowerCase();\n\t }\n\t }, {\n\t key: '_dismissAlert',\n\t value: function _dismissAlert() {\n\t var _props6 = this.props,\n\t FRN_componentInstanceId = _props6.FRN_componentInstanceId,\n\t dismissTimeInHours = _props6.dismissOptions.dismissTimeInHours;\n\t\n\t var timeout = (0, _DateUtils.convertHoursToSeconds)(dismissTimeInHours);\n\t\n\t (0, _AlertUtils.addAlertToStore)(FRN_componentInstanceId, (0, _DateUtils.getDateTimeInSeconds)() + timeout, this.props.WeatherStore.wsi);\n\t this._startAutoShowAlertInterval(timeout);\n\t\n\t this.setState({\n\t showAlert: false\n\t });\n\t }\n\t }, {\n\t key: '_startAutoShowAlertInterval',\n\t value: function _startAutoShowAlertInterval(timeout) {\n\t var _this8 = this;\n\t\n\t this._showAlertAgainInterval = setInterval(function () {\n\t (0, _AlertUtils.removeAlertFromStore)(_this8.props.FRN_componentInstanceId);\n\t clearInterval(_this8._showAlertAgainInterval);\n\t\n\t _this8.setState({\n\t showAlert: true\n\t });\n\t }, timeout);\n\t }\n\t }, {\n\t key: '_isNewData',\n\t value: function _isNewData(newAlerts, rawResponse) {\n\t var _rawResponse$data = rawResponse.data;\n\t _rawResponse$data = _rawResponse$data === undefined ? {} : _rawResponse$data;\n\t var _rawResponse$data$Cit = _rawResponse$data.Cities;\n\t _rawResponse$data$Cit = _rawResponse$data$Cit === undefined ? {} : _rawResponse$data$Cit;\n\t var _rawResponse$data$Cit2 = _rawResponse$data$Cit.City;\n\t _rawResponse$data$Cit2 = _rawResponse$data$Cit2 === undefined ? {} : _rawResponse$data$Cit2;\n\t var _rawResponse$data$Cit3 = _rawResponse$data$Cit2.WeatherAlerts;\n\t _rawResponse$data$Cit3 = _rawResponse$data$Cit3 === undefined ? {} : _rawResponse$data$Cit3;\n\t var _rawResponse$data$Cit4 = _rawResponse$data$Cit3.Alert,\n\t oldAlerts = _rawResponse$data$Cit4 === undefined ? [] : _rawResponse$data$Cit4;\n\t\n\t var _ref4 = (_lodash2.default.isArray(newAlerts) ? newAlerts : [newAlerts])[0] || {},\n\t newId = _ref4['@Id'];\n\t\n\t var _ref5 = (_lodash2.default.isArray(oldAlerts) ? oldAlerts : [oldAlerts])[0] || {},\n\t oldId = _ref5['@Id'];\n\t\n\t return oldId !== newId;\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this9 = this;\n\t\n\t var _state = this.state,\n\t showModal = _state.showModal,\n\t expandedAlertIndex = _state.expandedAlertIndex,\n\t showAllAlerts = _state.showAllAlerts,\n\t showAlert = _state.showAlert;\n\t\n\t\n\t if (!showAlert) {\n\t return null;\n\t }\n\t\n\t var _props7 = this.props,\n\t _props7$WeatherStore$ = _props7.WeatherStore.wsi;\n\t _props7$WeatherStore$ = _props7$WeatherStore$ === undefined ? {} : _props7$WeatherStore$;\n\t var _props7$WeatherStore$2 = _props7$WeatherStore$.data,\n\t wsiData = _props7$WeatherStore$2 === undefined ? {} : _props7$WeatherStore$2,\n\t title = _props7.title,\n\t _props7$allowedAlerts = _props7.allowedAlerts,\n\t allowedAlerts = _props7$allowedAlerts === undefined ? [] : _props7$allowedAlerts,\n\t alertsPageUri = _props7.alertsPageUri,\n\t isDismissable = _props7.dismissOptions.isDismissable,\n\t _props7$timestampOpti = _props7.timestampOptions,\n\t timestampOptions = _props7$timestampOpti === undefined ? {} : _props7$timestampOpti;\n\t var _wsiData$Cities = wsiData.Cities;\n\t _wsiData$Cities = _wsiData$Cities === undefined ? {} : _wsiData$Cities;\n\t var _wsiData$Cities$City = _wsiData$Cities.City;\n\t _wsiData$Cities$City = _wsiData$Cities$City === undefined ? {} : _wsiData$Cities$City;\n\t var _wsiData$Cities$City$ = _wsiData$Cities$City.WeatherAlerts;\n\t _wsiData$Cities$City$ = _wsiData$Cities$City$ === undefined ? {} : _wsiData$Cities$City$;\n\t var _wsiData$Cities$City$2 = _wsiData$Cities$City$.Alert,\n\t Alert = _wsiData$Cities$City$2 === undefined ? [] : _wsiData$Cities$City$2;\n\t\n\t var alerts = _lodash2.default.isArray(Alert) ? Alert : [Alert];\n\t\n\t var alertsToDisplay = void 0;\n\t if (allowedAlerts.length > 0) {\n\t alertsToDisplay = this._filterAlertsByType(alerts, allowedAlerts);\n\t } else {\n\t alertsToDisplay = alerts;\n\t }\n\t\n\t if (alertsToDisplay.length === 0) {\n\t return null;\n\t }\n\t\n\t var items = alertsToDisplay.map(function (alert, i) {\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlert-listItem', key: i,\n\t style: { backgroundColor: alert.backgroundColor || '#d20202' } },\n\t _react2.default.createElement(WeatherAlertItem, {\n\t alert: alert,\n\t onClick: _this9._showFullAlerts.bind(_this9, i) })\n\t );\n\t });\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlert' },\n\t isDismissable && _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlert-dismissBtn', onClick: function onClick() {\n\t return _this9._dismissAlert();\n\t } },\n\t _react2.default.createElement(_Cancel2.default, { color: '#fff' })\n\t ),\n\t _react2.default.createElement(\n\t 'a',\n\t { className: 'WeatherAlert-stationAlertLink', href: alertsPageUri, target: '_top' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlert-listAdvisory' },\n\t showAllAlerts ? items : items[0]\n\t )\n\t ),\n\t alertsToDisplay.length > 1 ? _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlert-totalPillContainer', onClick: function onClick() {\n\t return _this9._toggleAlertListItems();\n\t } },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlert-totalPill', style: { color: alertsToDisplay[0].backgroundColor || '#d20202' } },\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'WeatherAlert-totalPillIcon' },\n\t _react2.default.createElement(_WeatherAlertIcon2.default, { iconType: 'alert' })\n\t ),\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'WeatherAlert-totalValue' },\n\t alertsToDisplay.length\n\t )\n\t )\n\t ) : null,\n\t _react2.default.createElement(WeatherAlertModal, { title: title,\n\t showModal: showModal,\n\t alerts: alertsToDisplay,\n\t expandedAlertIndex: expandedAlertIndex,\n\t onHideModal: this._setModalHidden.bind(this),\n\t onAlertClick: this._setExpandedIndex.bind(this),\n\t timestampOptions: timestampOptions })\n\t );\n\t }\n\t }]);\n\t\n\t return WeatherAlerts;\n\t}(_react.Component), _class5.propTypes = {\n\t FRN_componentInstanceId: _react.PropTypes.string,\n\t title: _react.PropTypes.string,\n\t alertsPageUri: _react.PropTypes.string,\n\t allowedAlerts: _react.PropTypes.array,\n\t dismissOptions: _react.PropTypes.shape({\n\t isDismissable: _react.PropTypes.bool,\n\t dismissTimeInHours: _react.PropTypes.number\n\t }),\n\t timestampOptions: _react.PropTypes.shape({\n\t showElapsedTime: _react.PropTypes.bool,\n\t displayShortDateTime: _react.PropTypes.bool\n\t }),\n\t WeatherStore: _react.PropTypes.object.isRequired\n\t}, _class5.contextTypes = {\n\t flux: _react.PropTypes.object.isRequired,\n\t location: _react.PropTypes.object.isRequired,\n\t config: _react.PropTypes.object.isRequired\n\t}, _class5.defaultProps = {\n\t title: \"Weather Advisory In Effect\",\n\t alertsPageUri: '',\n\t allowedAlerts: [],\n\t dismissOptions: {\n\t isDismissable: false,\n\t dismissTimeInHours: 24\n\t }\n\t}, _temp6)) || _class4);\n\t\n\t/**\n\t * Class representing a weather alert item.\n\t */\n\t\n\tvar WeatherAlertItem = (_temp7 = _class6 = function (_Component5) {\n\t _inherits(WeatherAlertItem, _Component5);\n\t\n\t function WeatherAlertItem() {\n\t _classCallCheck(this, WeatherAlertItem);\n\t\n\t return _possibleConstructorReturn(this, (WeatherAlertItem.__proto__ || Object.getPrototypeOf(WeatherAlertItem)).apply(this, arguments));\n\t }\n\t\n\t _createClass(WeatherAlertItem, [{\n\t key: '_getTimeDuration',\n\t value: function _getTimeDuration(startTime, endTime) {\n\t var duration = '';\n\t\n\t if (startTime) {\n\t duration = ' From ' + (0, _DateUtils.formatDate)((0, _DateUtils.formatWsiDate)(startTime), 'dddd, MMMM Do Y, h:mm a z');\n\t }\n\t\n\t if (endTime) {\n\t duration += ' until ' + (0, _DateUtils.formatDate)((0, _DateUtils.formatWsiDate)(endTime), 'dddd, MMMM Do Y, h:mm a z');\n\t }\n\t\n\t return duration;\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _props8 = this.props,\n\t _props8$alert = _props8.alert;\n\t _props8$alert = _props8$alert === undefined ? {} : _props8$alert;\n\t var title = _props8$alert['@Headline'],\n\t startTime = _props8$alert['@StartTime'],\n\t endTime = _props8$alert['@EndTime'],\n\t onClick = _props8.onClick;\n\t\n\t var category = (0, _WeatherUtils.getWeatherCategoryFromCondition)(title);\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlertItem', onClick: onClick },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlertItem-advisoryImage' },\n\t _react2.default.createElement(_WeatherAlertIcon2.default, { iconType: category })\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlertItem-advisoryText' },\n\t _react2.default.createElement(\n\t 'h2',\n\t { className: 'WeatherAlertItem-advisoryTitle' },\n\t title\n\t ),\n\t _react2.default.createElement(\n\t 'span',\n\t { className: 'WeatherAlertItem-advisoryDuration' },\n\t this._getTimeDuration(startTime, endTime)\n\t )\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return WeatherAlertItem;\n\t}(_react.Component), _class6.propTypes = {\n\t alert: _react.PropTypes.object.isRequired,\n\t onClick: _react.PropTypes.func\n\t}, _temp7);\n\t\n\t/**\n\t * Class representing the modal for the current weather alerts\n\t */\n\t\n\tvar WeatherAlertModal = (_temp8 = _class7 = function (_Component6) {\n\t _inherits(WeatherAlertModal, _Component6);\n\t\n\t function WeatherAlertModal() {\n\t _classCallCheck(this, WeatherAlertModal);\n\t\n\t return _possibleConstructorReturn(this, (WeatherAlertModal.__proto__ || Object.getPrototypeOf(WeatherAlertModal)).apply(this, arguments));\n\t }\n\t\n\t _createClass(WeatherAlertModal, [{\n\t key: 'render',\n\t value: function render() {\n\t var _props9 = this.props,\n\t _props9$title = _props9.title,\n\t title = _props9$title === undefined ? '' : _props9$title,\n\t _props9$alerts = _props9.alerts,\n\t alerts = _props9$alerts === undefined ? [] : _props9$alerts,\n\t _props9$expandedAlert = _props9.expandedAlertIndex,\n\t expandedAlertIndex = _props9$expandedAlert === undefined ? -1 : _props9$expandedAlert,\n\t onAlertClick = _props9.onAlertClick,\n\t showModal = _props9.showModal,\n\t onHideModal = _props9.onHideModal,\n\t _props9$timestampOpti = _props9.timestampOptions,\n\t timestampOptions = _props9$timestampOpti === undefined ? {} : _props9$timestampOpti,\n\t _props9$titleType = _props9.titleType,\n\t titleType = _props9$titleType === undefined ? _FRNBaseStyles.TITLE_TYPE.MODULE_TITLE : _props9$titleType;\n\t\n\t\n\t var weatherAlertItems = alerts.map(function (alert, i) {\n\t return _react2.default.createElement(WeatherAlertModalItem, { key: i, index: i, alert: alert, expanded: i === expandedAlertIndex, onClick: onAlertClick, timestampOptions: timestampOptions });\n\t });\n\t\n\t return _react2.default.createElement(\n\t _reactBootstrap.Modal,\n\t { className: 'WeatherAlertModal',\n\t show: showModal,\n\t onHide: onHideModal,\n\t backdrop: true,\n\t 'aria-labelledby': 'contained-modal-title-lg' },\n\t _react2.default.createElement(_reactBootstrap.Modal.Header, { className: 'WeatherAlertModal-header', closeButton: true }),\n\t _react2.default.createElement(\n\t _reactBootstrap.Modal.Body,\n\t null,\n\t title ? _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, title: title, classes: 'WeatherAlertModal-title' }) : null,\n\t weatherAlertItems\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return WeatherAlertModal;\n\t}(_react.Component), _class7.propTypes = {\n\t title: _react.PropTypes.string,\n\t alerts: _react.PropTypes.array.isRequired,\n\t expandedAlertIndex: _react.PropTypes.number,\n\t onAlertClick: _react.PropTypes.func,\n\t showModal: _react.PropTypes.bool.isRequired,\n\t onHideModal: _react.PropTypes.func.isRequired,\n\t timestampOptions: _react.PropTypes.shape({\n\t showElapsedTime: _react.PropTypes.bool,\n\t displayShortDateTime: _react.PropTypes.bool\n\t }),\n\t titleType: _react.PropTypes.string\n\t}, _temp8);\n\t\n\t/**\n\t * Class representing a weather alert item in the modal list\n\t */\n\t\n\tvar WeatherAlertModalItem = (_temp9 = _class8 = function (_Component7) {\n\t _inherits(WeatherAlertModalItem, _Component7);\n\t\n\t function WeatherAlertModalItem() {\n\t _classCallCheck(this, WeatherAlertModalItem);\n\t\n\t return _possibleConstructorReturn(this, (WeatherAlertModalItem.__proto__ || Object.getPrototypeOf(WeatherAlertModalItem)).apply(this, arguments));\n\t }\n\t\n\t _createClass(WeatherAlertModalItem, [{\n\t key: '_onClick',\n\t value: function _onClick() {\n\t var _props10 = this.props,\n\t onClick = _props10.onClick,\n\t index = _props10.index;\n\t\n\t\n\t if (onClick) {\n\t onClick(index);\n\t }\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this13 = this;\n\t\n\t var _props11 = this.props,\n\t _props11$alert = _props11.alert;\n\t _props11$alert = _props11$alert === undefined ? {} : _props11$alert;\n\t var title = _props11$alert['@Headline'],\n\t bulletin = _props11$alert['@Bulletin'],\n\t publishDate = _props11$alert['@StartTime'],\n\t _props11$alert$backgr = _props11$alert.backgroundColor,\n\t backgroundColor = _props11$alert$backgr === undefined ? '#d20202' : _props11$alert$backgr,\n\t _props11$expanded = _props11.expanded,\n\t expanded = _props11$expanded === undefined ? false : _props11$expanded,\n\t _props11$timestampOpt = _props11.timestampOptions;\n\t _props11$timestampOpt = _props11$timestampOpt === undefined ? {} : _props11$timestampOpt;\n\t var showElapsedTime = _props11$timestampOpt.showElapsedTime,\n\t displayShortDateTime = _props11$timestampOpt.displayShortDateTime;\n\t\n\t var formattedBulletin = bulletin.toLowerCase().replace(/(\\/.*(\\d{6}t\\d{4}z(\\.|-)?){1,3}.*\\/\\n)|((\\D{0,3}\\d{3,}(-|>))+(\\d{3,6})?\\n)|(&&(.*\\n)+\\$\\$)/g, '');\n\t var formattedDate = (0, _DateUtils.formatWsiDate)(publishDate);\n\t var category = (0, _WeatherUtils.getWeatherCategoryFromCondition)(title);\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlertModalItem' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlertModalItem-advisory' },\n\t _react2.default.createElement(_WeatherAlertIcon2.default, { iconType: category, backgroundColor: backgroundColor }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherAlertModalItem-header', onClick: function onClick() {\n\t return _this13._onClick();\n\t } },\n\t _react2.default.createElement(\n\t 'h2',\n\t { className: 'WeatherAlertModalItem-advisoryTitle' },\n\t title\n\t ),\n\t _react2.default.createElement(_Timestamp2.default, { publishDate: formattedDate, showElapsedTime: showElapsedTime, displayShortDateTime: displayShortDateTime })\n\t ),\n\t expanded ? _react2.default.createElement('div', { className: 'WeatherAlertModalItem-advisoryText',\n\t dangerouslySetInnerHTML: { __html: formattedBulletin.replace(/\\n/g, '
') } }) : null\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return WeatherAlertModalItem;\n\t}(_react.Component), _class8.propTypes = {\n\t alert: _react.PropTypes.object.isRequired,\n\t expanded: _react.PropTypes.bool,\n\t index: _react.PropTypes.number.isRequired,\n\t onClick: _react.PropTypes.func,\n\t timestampOptions: _react.PropTypes.shape({\n\t showElapsedTime: _react.PropTypes.bool,\n\t displayShortDateTime: _react.PropTypes.bool\n\t })\n\t}, _temp9);\n\texports.default = WeatherAlertWrapper;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1265 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp;\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _lodash2 = _interopRequireDefault(_lodash);\n\t\n\tvar _cheerio = __webpack_require__(415);\n\t\n\tvar _cheerio2 = _interopRequireDefault(_cheerio);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _Timestamp = __webpack_require__(47);\n\t\n\tvar _Timestamp2 = _interopRequireDefault(_Timestamp);\n\t\n\tvar _Image = __webpack_require__(40);\n\t\n\tvar _Image2 = _interopRequireDefault(_Image);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tvar _xmlJs = __webpack_require__(133);\n\t\n\tvar _xmlJs2 = _interopRequireDefault(_xmlJs);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t// TODO:\n\t// 1. Move this to components/social/BlogSummary.js\n\t// 2. Use pure CSS multiline ellipsis: https://codepen.io/martinwolf/pen/qlFdp\n\t// 3. Consider breaking this apart into multiple modules per feed type or accept\n\t// feed type as a prop\n\t\n\tvar blogImageUriRegex = /
/;\n\t\n\t/**\n\t * Class representing a sample of the most recent weather blog for the station.\n\t */\n\tvar WeatherBlog = (_temp = _class = function (_Component) {\n\t _inherits(WeatherBlog, _Component);\n\t\n\t function WeatherBlog() {\n\t _classCallCheck(this, WeatherBlog);\n\t\n\t return _possibleConstructorReturn(this, (WeatherBlog.__proto__ || Object.getPrototypeOf(WeatherBlog)).apply(this, arguments));\n\t }\n\t\n\t _createClass(WeatherBlog, [{\n\t key: '_getImageUri',\n\t value: function _getImageUri(blog, blogHtml) {\n\t // TODO: This can be improved by doing the following:\n\t // 1. improve regex performance\n\t // 2. Use blogspot's thumbnail hack\n\t var uri = '';\n\t\n\t // Try get assuming frankly feed\n\t if (_lodash2.default.startsWith(_lodash2.default.get(blog, 'enclosure[@type]'), 'image/')) {\n\t uri = _lodash2.default.get(blog, 'enclosure[@url]', '');\n\t }\n\t\n\t if (!uri) {\n\t // Try get from html\n\t var matches = blogHtml.match(blogImageUriRegex) || [];\n\t uri = matches[1] || '';\n\t }\n\t\n\t if (!uri) {\n\t // Try get assuming blogspot\n\t uri = _lodash2.default.get(blog, 'media:thumbnail[@url]');\n\t }\n\t\n\t return uri;\n\t }\n\t }, {\n\t key: '_getTextContent',\n\t value: function _getTextContent(html) {\n\t // NOTE: Need to wrap with p because $ can't handle more than one tag at root\n\t return (0, _cheerio2.default)('
' + html + '
').text();\n\t }\n\t }, {\n\t key: '_cleanXmlObj',\n\t value: function _cleanXmlObj(arr) {\n\t return arr.map(function (obj) {\n\t return _extends({}, obj, {\n\t title: obj.title._cdata,\n\t description: obj.description._text,\n\t pubDate: obj.pubDate._text,\n\t enclosure: obj.enclosure ? _extends({}, obj.enclosure, {\n\t '@type': obj.enclosure._attributes.type,\n\t '@url': obj.enclosure._attributes.url\n\t }) : {}\n\t });\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t if (!this.props.FRN_rawResponses || this.props.FRN_rawResponses.length === 0) {\n\t return null;\n\t }\n\t\n\t var dataStr = this.props.FRN_rawResponses[0].data;\n\t try {\n\t if (dataStr && typeof dataStr === 'string') {\n\t this.props.FRN_rawResponses[0].data = _xmlJs2.default.xml2js(dataStr, { compact: true });\n\t this.props.FRN_rawResponses[0].data.rss.channel.item = this._cleanXmlObj(this.props.FRN_rawResponses[0].data.rss.channel.item);\n\t }\n\t } catch (error) {\n\t console.log(error);\n\t }\n\t\n\t var _props = this.props,\n\t title = _props.title,\n\t titleType = _props.titleType,\n\t _props$timestampOptio = _props.timestampOptions;\n\t _props$timestampOptio = _props$timestampOptio === undefined ? {} : _props$timestampOptio;\n\t var showElapsedTime = _props$timestampOptio.showElapsedTime,\n\t displayShortDateTime = _props$timestampOptio.displayShortDateTime,\n\t _props$FRN_rawRespons = _props.FRN_rawResponses;\n\t _props$FRN_rawRespons = _props$FRN_rawRespons === undefined ? [] : _props$FRN_rawRespons;\n\t\n\t var _props$FRN_rawRespons2 = _slicedToArray(_props$FRN_rawRespons, 1),\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons2[0];\n\t\n\t _props$FRN_rawRespons3 = _props$FRN_rawRespons3 === undefined ? {} : _props$FRN_rawRespons3;\n\t var _props$FRN_rawRespons4 = _props$FRN_rawRespons3.data;\n\t _props$FRN_rawRespons4 = _props$FRN_rawRespons4 === undefined ? {} : _props$FRN_rawRespons4;\n\t var _props$FRN_rawRespons5 = _props$FRN_rawRespons4.rss;\n\t _props$FRN_rawRespons5 = _props$FRN_rawRespons5 === undefined ? {} : _props$FRN_rawRespons5;\n\t var _props$FRN_rawRespons6 = _props$FRN_rawRespons5.channel;\n\t _props$FRN_rawRespons6 = _props$FRN_rawRespons6 === undefined ? {} : _props$FRN_rawRespons6;\n\t var _props$FRN_rawRespons7 = _props$FRN_rawRespons6.item;\n\t _props$FRN_rawRespons7 = _props$FRN_rawRespons7 === undefined ? [] : _props$FRN_rawRespons7;\n\t\n\t var _props$FRN_rawRespons8 = _slicedToArray(_props$FRN_rawRespons7, 1),\n\t _props$FRN_rawRespons9 = _props$FRN_rawRespons8[0],\n\t blogItem = _props$FRN_rawRespons9 === undefined ? null : _props$FRN_rawRespons9;\n\t\n\t var blog = _lodash2.default.isArray(blogItem) ? blogItem[0] : blogItem;\n\t\n\t if (!blog) {\n\t return null;\n\t }\n\t\n\t var _blog$pubDate = blog.pubDate,\n\t publishDate = _blog$pubDate === undefined ? '' : _blog$pubDate,\n\t _blog$title = blog.title,\n\t blogTitle = _blog$title === undefined ? '' : _blog$title,\n\t _blog$link = blog.link,\n\t link = _blog$link === undefined ? '' : _blog$link,\n\t _blog$contentEncoded = blog['content:encoded'],\n\t contentEncoded = _blog$contentEncoded === undefined ? '' : _blog$contentEncoded,\n\t _blog$description = blog.description,\n\t description = _blog$description === undefined ? '' : _blog$description;\n\t\n\t // TODO: Find a better way to fix this\n\t // Typecast uses 'content:encoded'\n\t\n\t var blogHtml = contentEncoded || _lodash2.default.unescape(description);\n\t var blogImageUri = this._getImageUri(blog, blogHtml);\n\t\n\t var textContent = this._getTextContent(blogHtml);\n\t if (_lodash2.default.size(textContent) > 200) {\n\t textContent = textContent.substr(0, 200) + '...';\n\t }\n\t\n\t /* Breakpoints: XS: 0-767, S: 768-991, M: 992-1199, L: 1200-1469, XL: 1470- */\n\t var imageBreakpoints = [{ \"maxWidth\": 640, \"widthVW\": 100 }, { \"maxWidth\": 768, \"widthVW\": 100 }, { \"maxWidth\": 992, \"widthPX\": 992 }, { \"maxWidth\": 1200, \"widthPX\": 1200 }, { \"widthPX\": 1410 }];\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherBlog' },\n\t _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, title: title }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherBlog-entry' },\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherBlog-imageContainer' },\n\t blogImageUri ? _react2.default.createElement(_Image2.default, { imageBreakpoints: imageBreakpoints, src: blogImageUri, alt: blogTitle, imageClassNames: \"img-responsive\" }) : null\n\t ),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherBlog-info' },\n\t _react2.default.createElement(\n\t 'h4',\n\t { className: 'WeatherBlog-title' },\n\t blogTitle\n\t ),\n\t _react2.default.createElement(\n\t 'p',\n\t { className: 'WeatherBlog-abstract' },\n\t _react2.default.createElement(\n\t 'span',\n\t null,\n\t textContent\n\t )\n\t ),\n\t _react2.default.createElement(_Timestamp2.default, { publishDate: publishDate, showElapsedTime: showElapsedTime, displayShortDateTime: displayShortDateTime })\n\t ),\n\t _react2.default.createElement('a', { href: link, className: 'WeatherBlog-link', target: '_top' })\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return WeatherBlog;\n\t}(_react.Component), _class.propTypes = {\n\t FRN_rawResponses: _react.PropTypes.array,\n\t title: _react.PropTypes.string,\n\t timestampOptions: _react.PropTypes.shape({\n\t showElapsedTime: _react.PropTypes.bool,\n\t displayShortDateTime: _react.PropTypes.bool\n\t }),\n\t titleType: _react.PropTypes.string\n\t}, _class.defaultProps = {\n\t title: \"Weather Blog\",\n\t titleType: _FRNBaseStyles.TITLE_TYPE.MODULE_TITLE\n\t}, _temp);\n\texports.default = WeatherBlog;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1266 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp2;\n\t\n\tvar _uniqueId2 = __webpack_require__(779);\n\t\n\tvar _uniqueId3 = _interopRequireDefault(_uniqueId2);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _ComponentTitle = __webpack_require__(17);\n\t\n\tvar _ComponentTitle2 = _interopRequireDefault(_ComponentTitle);\n\t\n\tvar _FRNBaseStyles = __webpack_require__(21);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\t/**\n\t * Class representing the interactive weather radar for the current location.\n\t */\n\tvar WeatherRadar = (_temp2 = _class = function (_Component) {\n\t _inherits(WeatherRadar, _Component);\n\t\n\t function WeatherRadar() {\n\t var _ref;\n\t\n\t var _temp, _this, _ret;\n\t\n\t _classCallCheck(this, WeatherRadar);\n\t\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = WeatherRadar.__proto__ || Object.getPrototypeOf(WeatherRadar)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n\t allowRadarInteraction: false\n\t }, _temp), _possibleConstructorReturn(_this, _ret);\n\t }\n\t\n\t _createClass(WeatherRadar, [{\n\t key: 'componentDidMount',\n\t value: function componentDidMount() {\n\t var $ = window['$'];\n\t\n\t this._mountId = (0, _uniqueId3.default)('WeatherRadar');\n\t\n\t $(window).on('scroll.' + this._mountId, this._addRadarCover.bind(this));\n\t }\n\t }, {\n\t key: 'componentWillUnmount',\n\t value: function componentWillUnmount() {\n\t var $ = window['$'];\n\t\n\t $(window).off('.' + this._mountId);\n\t }\n\t }, {\n\t key: '_removeRadarCover',\n\t value: function _removeRadarCover() {\n\t this.setState({\n\t allowRadarInteraction: true\n\t });\n\t }\n\t }, {\n\t key: '_addRadarCover',\n\t value: function _addRadarCover() {\n\t this.setState({\n\t allowRadarInteraction: false\n\t });\n\t }\n\t }, {\n\t key: 'render',\n\t value: function render() {\n\t var _this2 = this;\n\t\n\t var _props = this.props,\n\t src = _props.src,\n\t title = _props.title,\n\t allowFullScreen = _props.allowFullScreen,\n\t titleType = _props.titleType;\n\t var allowRadarInteraction = this.state.allowRadarInteraction;\n\t\n\t\n\t return _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherRadar' },\n\t _react2.default.createElement(_ComponentTitle2.default, { titleType: titleType, title: title, classes: 'WeatherRadar-header' }),\n\t _react2.default.createElement(\n\t 'div',\n\t { className: 'WeatherRadar-container', onMouseLeave: this._addRadarCover.bind(this) },\n\t _react2.default.createElement('iframe', {\n\t src: src,\n\t height: '315',\n\t width: '560',\n\t allowFullScreen: allowFullScreen,\n\t frameBorder: '0'\n\t }),\n\t _react2.default.createElement('div', {\n\t className: 'WeatherRadar-clickCover' + (allowRadarInteraction ? ' removeCover' : ''),\n\t onClick: function onClick() {\n\t return _this2._removeRadarCover();\n\t }\n\t })\n\t )\n\t );\n\t }\n\t }]);\n\t\n\t return WeatherRadar;\n\t}(_react.Component), _class.propTypes = {\n\t src: _react.PropTypes.string.isRequired,\n\t title: _react.PropTypes.string,\n\t allowFullScreen: _react.PropTypes.bool,\n\t titleType: _react.PropTypes.string\n\t}, _class.defaultProps = {\n\t title: null,\n\t allowFullScreen: false,\n\t titleType: _FRNBaseStyles.TITLE_TYPE.MODULE_TITLE\n\t}, _temp2);\n\texports.default = WeatherRadar;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1267 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\tvar TRANSLATE_DATA = {\n\t es: {\n\t months: [\"Enero\", \"Febrero\", \"Marzo\", \"Abril\", \"Mayo\", \"Junio\", \"Julio\", \"Agosto\", \"Septiembre\", \"Octubre\", \"Noviembre\", \"Diciembre\"],\n\t weekdays: [\"Domingo\", \"Lunes\", \"Martes\", \"Miércoles\", \"Jueves\", \"Viernes\", \"Sábado\"]\n\t }\n\t};\n\t\n\texports.default = TRANSLATE_DATA;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1268 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\tvar USStates = [{\n\t name: 'Alabama',\n\t abbreviation: 'AL',\n\t value: 73\n\t}, {\n\t name: 'Alaska',\n\t abbreviation: 'AK',\n\t value: 74\n\t}, {\n\t name: 'American Samoa',\n\t abbreviation: 'AS',\n\t value: 75\n\t}, {\n\t name: 'Arizona',\n\t abbreviation: 'AZ',\n\t value: 76\n\t}, {\n\t name: 'Arkansas',\n\t abbreviation: 'AR',\n\t value: 77\n\t}, {\n\t name: 'California',\n\t abbreviation: 'CA',\n\t value: 78\n\t}, {\n\t name: 'Colorado',\n\t abbreviation: 'CO',\n\t value: 79\n\t}, {\n\t name: 'Connecticut',\n\t abbreviation: 'CT',\n\t value: 80\n\t}, {\n\t name: 'Delaware',\n\t abbreviation: 'DE',\n\t value: 81\n\t}, {\n\t name: 'District Of Columbia',\n\t abbreviation: 'DC',\n\t value: 82\n\t}, {\n\t name: 'Federated States Of Micronesia',\n\t abbreviation: 'FM',\n\t value: 83\n\t}, {\n\t name: 'Florida',\n\t abbreviation: 'FL',\n\t value: 84\n\t}, {\n\t name: 'Georgia',\n\t abbreviation: 'GA',\n\t value: 85\n\t}, {\n\t name: 'Guam',\n\t abbreviation: 'GU',\n\t value: 86\n\t}, {\n\t name: 'Hawaii',\n\t abbreviation: 'HI',\n\t value: 87\n\t}, {\n\t name: 'Idaho',\n\t abbreviation: 'ID',\n\t value: 88\n\t}, {\n\t name: 'Illinois',\n\t abbreviation: 'IL',\n\t value: 89\n\t}, {\n\t name: 'Indiana',\n\t abbreviation: 'IN',\n\t value: 90\n\t}, {\n\t name: 'Iowa',\n\t abbreviation: 'IA',\n\t value: 91\n\t}, {\n\t name: 'Kansas',\n\t abbreviation: 'KS',\n\t value: 92\n\t}, {\n\t name: 'Kentucky',\n\t abbreviation: 'KY',\n\t value: 93\n\t}, {\n\t name: 'Louisiana',\n\t abbreviation: 'LA',\n\t value: 94\n\t}, {\n\t name: 'Maine',\n\t abbreviation: 'ME',\n\t value: 95\n\t}, {\n\t name: 'Marshall Islands',\n\t abbreviation: 'MH',\n\t value: 96\n\t}, {\n\t name: 'Maryland',\n\t abbreviation: 'MD',\n\t value: 97\n\t}, {\n\t name: 'Massachusetts',\n\t abbreviation: 'MA',\n\t value: 98\n\t}, {\n\t name: 'Michigan',\n\t abbreviation: 'MI',\n\t value: 99\n\t}, {\n\t name: 'Minnesota',\n\t abbreviation: 'MN',\n\t value: 100\n\t}, {\n\t name: 'Mississippi',\n\t abbreviation: 'MS',\n\t value: 101\n\t}, {\n\t name: 'Missouri',\n\t abbreviation: 'MO',\n\t value: 102\n\t}, {\n\t name: 'Montana',\n\t abbreviation: 'MT',\n\t value: 103\n\t}, {\n\t name: 'Nebraska',\n\t abbreviation: 'NE',\n\t value: 104\n\t}, {\n\t name: 'Nevada',\n\t abbreviation: 'NV',\n\t value: 105\n\t}, {\n\t name: 'New Hampshire',\n\t abbreviation: 'NH',\n\t value: 106\n\t}, {\n\t name: 'New Jersey',\n\t abbreviation: 'NJ',\n\t value: 107\n\t}, {\n\t name: 'New Mexico',\n\t abbreviation: 'NM',\n\t value: 108\n\t}, {\n\t name: 'New York',\n\t abbreviation: 'NY',\n\t value: 109\n\t}, {\n\t name: 'North Carolina',\n\t abbreviation: 'NC',\n\t value: 110\n\t}, {\n\t name: 'North Dakota',\n\t abbreviation: 'ND',\n\t value: 111\n\t}, {\n\t name: 'Northern Mariana Islands',\n\t abbreviation: 'MP',\n\t value: 112\n\t}, {\n\t name: 'Ohio',\n\t abbreviation: 'OH',\n\t value: 113\n\t}, {\n\t name: 'Oklahoma',\n\t abbreviation: 'OK',\n\t value: 114\n\t}, {\n\t name: 'Oregon',\n\t abbreviation: 'OR',\n\t value: 115\n\t}, {\n\t name: 'Palau',\n\t abbreviation: 'PW',\n\t value: 116\n\t}, {\n\t name: 'Pennsylvania',\n\t abbreviation: 'PA',\n\t value: 117\n\t}, {\n\t name: 'Puerto Rico',\n\t abbreviation: 'PR',\n\t value: 118\n\t}, {\n\t name: 'Rhode Island',\n\t abbreviation: 'RI',\n\t value: 119\n\t}, {\n\t name: 'South Carolina',\n\t abbreviation: 'SC',\n\t value: 120\n\t}, {\n\t name: 'South Dakota',\n\t abbreviation: 'SD',\n\t value: 121\n\t}, {\n\t name: 'Tennessee',\n\t abbreviation: 'TN',\n\t value: 122\n\t}, {\n\t name: 'Texas',\n\t abbreviation: 'TX',\n\t value: 123\n\t}, {\n\t name: 'Utah',\n\t abbreviation: 'UT',\n\t value: 124\n\t}, {\n\t name: 'Vermont',\n\t abbreviation: 'VT',\n\t value: 125\n\t}, {\n\t name: 'Virgin Islands',\n\t abbreviation: 'VI',\n\t value: 126\n\t}, {\n\t name: 'Virginia',\n\t abbreviation: 'VA',\n\t value: 127\n\t}, {\n\t name: 'Washington',\n\t abbreviation: 'WA',\n\t value: 128\n\t}, {\n\t name: 'West Virginia',\n\t abbreviation: 'WV',\n\t value: 129\n\t}, {\n\t name: 'Wisconsin',\n\t abbreviation: 'WI',\n\t value: 130\n\t}, {\n\t name: 'Wyoming',\n\t abbreviation: 'WY',\n\t value: 131\n\t}];\n\t\n\texports.default = USStates;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1269 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar AdvertisementActions = function () {\n\t function AdvertisementActions() {\n\t _classCallCheck(this, AdvertisementActions);\n\t\n\t this.generateActions('updateAdsSuccess', 'updateAdsFail', 'updateTargetingKeyValueSuccess', 'updateTargetingKeyValueFail');\n\t }\n\t\n\t _createClass(AdvertisementActions, [{\n\t key: 'updateAds',\n\t value: function updateAds(showAds) {\n\t var _this = this;\n\t\n\t return function (dispatch, alt) {\n\t return alt.resolve(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n\t return regeneratorRuntime.wrap(function _callee$(_context) {\n\t while (1) {\n\t switch (_context.prev = _context.next) {\n\t case 0:\n\t try {\n\t _this.updateAdsSuccess(showAds);\n\t } catch (error) {\n\t _this.updateAdsFail({ error: error });\n\t }\n\t\n\t case 1:\n\t case 'end':\n\t return _context.stop();\n\t }\n\t }\n\t }, _callee, _this);\n\t })));\n\t };\n\t }\n\t }, {\n\t key: 'updateAppTargetingKeyValue',\n\t value: function updateAppTargetingKeyValue(key, value) {\n\t var _this2 = this;\n\t\n\t return function (dispatch, alt) {\n\t alt.resolve(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n\t return regeneratorRuntime.wrap(function _callee2$(_context2) {\n\t while (1) {\n\t switch (_context2.prev = _context2.next) {\n\t case 0:\n\t try {\n\t _this2.updateTargetingKeyValueSuccess(key, value, 'app');\n\t } catch (error) {\n\t _this2.updateTargetingKeyValueFail(error);\n\t }\n\t\n\t case 1:\n\t case 'end':\n\t return _context2.stop();\n\t }\n\t }\n\t }, _callee2, _this2);\n\t })));\n\t };\n\t }\n\t }, {\n\t key: 'updateRouteTargetingKeyValue',\n\t value: function updateRouteTargetingKeyValue(key, value) {\n\t var _this3 = this;\n\t\n\t return function (dispatch, alt) {\n\t alt.resolve(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n\t return regeneratorRuntime.wrap(function _callee3$(_context3) {\n\t while (1) {\n\t switch (_context3.prev = _context3.next) {\n\t case 0:\n\t try {\n\t _this3.updateTargetingKeyValueSuccess(key, value, 'route');\n\t } catch (error) {\n\t _this3.updateTargetingKeyValueFail(error);\n\t }\n\t\n\t case 1:\n\t case 'end':\n\t return _context3.stop();\n\t }\n\t }\n\t }, _callee3, _this3);\n\t })));\n\t };\n\t }\n\t }, {\n\t key: 'updatePrimaryContentSourceTargetingKeyValue',\n\t value: function updatePrimaryContentSourceTargetingKeyValue(key, value) {\n\t var _this4 = this;\n\t\n\t return function (dispatch, alt) {\n\t alt.resolve(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n\t return regeneratorRuntime.wrap(function _callee4$(_context4) {\n\t while (1) {\n\t switch (_context4.prev = _context4.next) {\n\t case 0:\n\t try {\n\t _this4.updateTargetingKeyValueSuccess(key, value, 'primaryContentSource');\n\t } catch (error) {\n\t _this4.updateTargetingKeyValueFail(error);\n\t }\n\t\n\t case 1:\n\t case 'end':\n\t return _context4.stop();\n\t }\n\t }\n\t }, _callee4, _this4);\n\t })));\n\t };\n\t }\n\t }]);\n\t\n\t return AdvertisementActions;\n\t}();\n\t\n\texports.default = AdvertisementActions;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1270 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar ClosingsActions = function () {\n\t function ClosingsActions() {\n\t _classCallCheck(this, ClosingsActions);\n\t\n\t this.generateActions('readClosingsStatusSuccess', 'readClosingsStatusFail');\n\t }\n\t\n\t _createClass(ClosingsActions, [{\n\t key: 'readClosingsStatus',\n\t value: function readClosingsStatus() {\n\t var _this = this;\n\t\n\t return function (dispatch, alt) {\n\t return alt.resolve(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n\t var response;\n\t return regeneratorRuntime.wrap(function _callee$(_context) {\n\t while (1) {\n\t switch (_context.prev = _context.next) {\n\t case 0:\n\t _context.prev = 0;\n\t _context.next = 3;\n\t return alt.request({ url: '/closings/status' });\n\t\n\t case 3:\n\t response = _context.sent;\n\t\n\t _this.readClosingsStatusSuccess(response);\n\t _context.next = 11;\n\t break;\n\t\n\t case 7:\n\t _context.prev = 7;\n\t _context.t0 = _context['catch'](0);\n\t\n\t console.log(_context.t0);\n\t _this.readClosingsStatusFail({ error: _context.t0 });\n\t\n\t case 11:\n\t case 'end':\n\t return _context.stop();\n\t }\n\t }\n\t }, _callee, _this, [[0, 7]]);\n\t })));\n\t };\n\t }\n\t }]);\n\t\n\t return ClosingsActions;\n\t}();\n\t\n\texports.default = ClosingsActions;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1271 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar ContentClassificationActions = function () {\n\t function ContentClassificationActions() {\n\t _classCallCheck(this, ContentClassificationActions);\n\t\n\t this.generateActions('updateContentClassificationSuccess', 'updateContentClassificationFail');\n\t }\n\t\n\t _createClass(ContentClassificationActions, [{\n\t key: 'updateAppContentClassification',\n\t value: function updateAppContentClassification(contentClassification) {\n\t var _this = this;\n\t\n\t return function (dispatch, alt) {\n\t return alt.resolve(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n\t return regeneratorRuntime.wrap(function _callee$(_context) {\n\t while (1) {\n\t switch (_context.prev = _context.next) {\n\t case 0:\n\t try {\n\t _this.updateContentClassificationSuccess('app', contentClassification);\n\t } catch (error) {\n\t _this.updateContentClassificationFail({ error: error });\n\t }\n\t\n\t case 1:\n\t case 'end':\n\t return _context.stop();\n\t }\n\t }\n\t }, _callee, _this);\n\t })));\n\t };\n\t }\n\t }, {\n\t key: 'updatePrimaryContentSourceContentClassification',\n\t value: function updatePrimaryContentSourceContentClassification(contentClassification) {\n\t var _this2 = this;\n\t\n\t return function (dispatch, alt) {\n\t return alt.resolve(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n\t return regeneratorRuntime.wrap(function _callee2$(_context2) {\n\t while (1) {\n\t switch (_context2.prev = _context2.next) {\n\t case 0:\n\t try {\n\t _this2.updateContentClassificationSuccess('primaryContentSource', contentClassification);\n\t } catch (error) {\n\t _this2.updateContentClassificationFail({ error: error });\n\t }\n\t\n\t case 1:\n\t case 'end':\n\t return _context2.stop();\n\t }\n\t }\n\t }, _callee2, _this2);\n\t })));\n\t };\n\t }\n\t }, {\n\t key: 'updateRouteContentClassification',\n\t value: function updateRouteContentClassification(contentClassification) {\n\t var _this3 = this;\n\t\n\t return function (dispatch, alt) {\n\t return alt.resolve(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n\t return regeneratorRuntime.wrap(function _callee3$(_context3) {\n\t while (1) {\n\t switch (_context3.prev = _context3.next) {\n\t case 0:\n\t try {\n\t _this3.updateContentClassificationSuccess('route', contentClassification);\n\t } catch (error) {\n\t _this3.updateContentClassificationFail({ error: error });\n\t }\n\t\n\t case 1:\n\t case 'end':\n\t return _context3.stop();\n\t }\n\t }\n\t }, _callee3, _this3);\n\t })));\n\t };\n\t }\n\t }]);\n\t\n\t return ContentClassificationActions;\n\t}();\n\t\n\texports.default = ContentClassificationActions;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1272 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar CtxActions = function CtxActions() {\n\t _classCallCheck(this, CtxActions);\n\t\n\t this.generateActions('update');\n\t};\n\t\n\texports.default = CtxActions;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1273 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar HelmetActions = function () {\n\t function HelmetActions() {\n\t _classCallCheck(this, HelmetActions);\n\t\n\t this.generateActions('update', 'updateTitleSuccess', 'updateTitleFail', 'updateMetas');\n\t }\n\t\n\t _createClass(HelmetActions, [{\n\t key: 'updatePrimaryContentSourceTitle',\n\t value: function updatePrimaryContentSourceTitle(title) {\n\t var _this = this;\n\t\n\t return function (dispatch, alt) {\n\t return alt.resolve(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n\t return regeneratorRuntime.wrap(function _callee$(_context) {\n\t while (1) {\n\t switch (_context.prev = _context.next) {\n\t case 0:\n\t try {\n\t _this.updateTitleSuccess('primaryContentSource', title);\n\t } catch (error) {\n\t _this.updateTitleFail({ error: error });\n\t }\n\t\n\t case 1:\n\t case 'end':\n\t return _context.stop();\n\t }\n\t }\n\t }, _callee, _this);\n\t })));\n\t };\n\t }\n\t }, {\n\t key: 'updateRouteTitle',\n\t value: function updateRouteTitle(title) {\n\t var _this2 = this;\n\t\n\t return function (dispatch, alt) {\n\t return alt.resolve(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n\t return regeneratorRuntime.wrap(function _callee2$(_context2) {\n\t while (1) {\n\t switch (_context2.prev = _context2.next) {\n\t case 0:\n\t try {\n\t _this2.updateTitleSuccess('route', title);\n\t } catch (error) {\n\t _this2.updateTitleFail({ error: error });\n\t }\n\t\n\t case 1:\n\t case 'end':\n\t return _context2.stop();\n\t }\n\t }\n\t }, _callee2, _this2);\n\t })));\n\t };\n\t }\n\t }]);\n\t\n\t return HelmetActions;\n\t}();\n\t\n\texports.default = HelmetActions;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1274 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _defer2 = __webpack_require__(765);\n\t\n\tvar _defer3 = _interopRequireDefault(_defer2);\n\t\n\tvar _store = __webpack_require__(550);\n\t\n\tvar _store2 = _interopRequireDefault(_store);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar LocalStorageKey = '_locations';\n\t\n\tvar LocationActions = function () {\n\t function LocationActions() {\n\t _classCallCheck(this, LocationActions);\n\t\n\t this.generateActions('searchSuccess', 'searchFail', 'updateCurrentSuccess', 'updateCurrentFail', 'readUserLocationsSuccess', 'updateUserLocationsSuccess');\n\t }\n\t\n\t _createClass(LocationActions, [{\n\t key: 'search',\n\t value: function search(query) {\n\t var _this = this;\n\t\n\t return function (dispatch, alt) {\n\t return alt.resolve(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n\t var response;\n\t return regeneratorRuntime.wrap(function _callee$(_context) {\n\t while (1) {\n\t switch (_context.prev = _context.next) {\n\t case 0:\n\t _context.prev = 0;\n\t _context.next = 3;\n\t return alt.request({\n\t url: '/locations',\n\t params: {\n\t q: query\n\t }\n\t });\n\t\n\t case 3:\n\t response = _context.sent;\n\t\n\t _this.searchSuccess(response);\n\t _context.next = 11;\n\t break;\n\t\n\t case 7:\n\t _context.prev = 7;\n\t _context.t0 = _context['catch'](0);\n\t\n\t console.log(_context.t0);\n\t _this.searchFail({ error: _context.t0 });\n\t\n\t case 11:\n\t case 'end':\n\t return _context.stop();\n\t }\n\t }\n\t }, _callee, _this, [[0, 7]]);\n\t })));\n\t };\n\t }\n\t }, {\n\t key: 'clearSearchResults',\n\t value: function clearSearchResults() {\n\t var _this2 = this;\n\t\n\t return function () {\n\t _this2.searchSuccess([]);\n\t };\n\t }\n\t }, {\n\t key: 'updateCurrent',\n\t value: function updateCurrent(location) {\n\t var _this3 = this;\n\t\n\t return function (dispatch, alt) {\n\t return alt.resolve(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n\t var response;\n\t return regeneratorRuntime.wrap(function _callee2$(_context2) {\n\t while (1) {\n\t switch (_context2.prev = _context2.next) {\n\t case 0:\n\t _context2.prev = 0;\n\t _context2.next = 3;\n\t return alt.request({\n\t url: '/locations/current',\n\t method: 'put',\n\t data: location\n\t });\n\t\n\t case 3:\n\t response = _context2.sent;\n\t\n\t _this3.updateCurrentSuccess(response);\n\t _context2.next = 11;\n\t break;\n\t\n\t case 7:\n\t _context2.prev = 7;\n\t _context2.t0 = _context2['catch'](0);\n\t\n\t console.log(_context2.t0);\n\t _this3.updateCurrentFail({ error: _context2.t0 });\n\t\n\t case 11:\n\t case 'end':\n\t return _context2.stop();\n\t }\n\t }\n\t }, _callee2, _this3, [[0, 7]]);\n\t })));\n\t };\n\t }\n\t }, {\n\t key: 'readUserLocations',\n\t value: function readUserLocations() {\n\t var _this4 = this;\n\t\n\t return function (dispatch, alt) {\n\t return alt.resolve(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n\t var locations;\n\t return regeneratorRuntime.wrap(function _callee3$(_context3) {\n\t while (1) {\n\t switch (_context3.prev = _context3.next) {\n\t case 0:\n\t locations = _store2.default.get(LocalStorageKey) || [];\n\t\n\t (0, _defer3.default)(function () {\n\t return _this4.readUserLocationsSuccess(locations);\n\t });\n\t\n\t case 2:\n\t case 'end':\n\t return _context3.stop();\n\t }\n\t }\n\t }, _callee3, _this4);\n\t })));\n\t };\n\t }\n\t }, {\n\t key: 'updateUserLocations',\n\t value: function updateUserLocations(userLocations) {\n\t var _this5 = this;\n\t\n\t return function (dispatch, alt) {\n\t return alt.resolve(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {\n\t return regeneratorRuntime.wrap(function _callee4$(_context4) {\n\t while (1) {\n\t switch (_context4.prev = _context4.next) {\n\t case 0:\n\t _store2.default.set(LocalStorageKey, userLocations || []);\n\t (0, _defer3.default)(function () {\n\t return _this5.updateUserLocationsSuccess(userLocations);\n\t });\n\t\n\t case 2:\n\t case 'end':\n\t return _context4.stop();\n\t }\n\t }\n\t }, _callee4, _this5);\n\t })));\n\t };\n\t }\n\t }]);\n\t\n\t return LocationActions;\n\t}();\n\t\n\texports.default = LocationActions;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1275 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar MemberActions = function MemberActions() {\n\t _classCallCheck(this, MemberActions);\n\t\n\t this.generateActions('login', 'logout');\n\t};\n\t\n\texports.default = MemberActions;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1276 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _defer2 = __webpack_require__(765);\n\t\n\tvar _defer3 = _interopRequireDefault(_defer2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar WeatherActions = function () {\n\t function WeatherActions() {\n\t _classCallCheck(this, WeatherActions);\n\t\n\t this.generateActions('readWsiSuccess', 'readWsiFail', 'updateWsiSuccess');\n\t }\n\t\n\t _createClass(WeatherActions, [{\n\t key: 'readWsi',\n\t value: function readWsi() {\n\t var _this = this;\n\t\n\t return function (dispatch, alt) {\n\t return alt.resolve(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n\t var response;\n\t return regeneratorRuntime.wrap(function _callee$(_context) {\n\t while (1) {\n\t switch (_context.prev = _context.next) {\n\t case 0:\n\t _context.prev = 0;\n\t _context.next = 3;\n\t return alt.request({ url: '/weather/wsi' });\n\t\n\t case 3:\n\t response = _context.sent;\n\t\n\t _this.readWsiSuccess(response);\n\t _context.next = 11;\n\t break;\n\t\n\t case 7:\n\t _context.prev = 7;\n\t _context.t0 = _context['catch'](0);\n\t\n\t console.log(_context.t0);\n\t _this.readWsiFail({ error: _context.t0 });\n\t\n\t case 11:\n\t case 'end':\n\t return _context.stop();\n\t }\n\t }\n\t }, _callee, _this, [[0, 7]]);\n\t })));\n\t };\n\t }\n\t }, {\n\t key: 'updateWsiData',\n\t value: function updateWsiData(data) {\n\t var _this2 = this;\n\t\n\t return function (dispatch, alt) {\n\t return alt.resolve(_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n\t return regeneratorRuntime.wrap(function _callee2$(_context2) {\n\t while (1) {\n\t switch (_context2.prev = _context2.next) {\n\t case 0:\n\t (0, _defer3.default)(function () {\n\t return _this2.updateWsiSuccess(data);\n\t });\n\t\n\t case 1:\n\t case 'end':\n\t return _context2.stop();\n\t }\n\t }\n\t }, _callee2, _this2);\n\t })));\n\t };\n\t }\n\t }]);\n\t\n\t return WeatherActions;\n\t}();\n\t\n\texports.default = WeatherActions;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1277 */\n[2406, 1278, 1273, 1276, 1272, 1274, 1271, 1275, 1269, 1270],\n/* 1278 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _intlLoader = __webpack_require__(586);\n\t\n\tvar _intlLoader2 = _interopRequireDefault(_intlLoader);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar LocaleActions = function () {\n\t function LocaleActions() {\n\t _classCallCheck(this, LocaleActions);\n\t }\n\t\n\t _createClass(LocaleActions, [{\n\t key: 'switchLocale',\n\t value: function switchLocale(payload) {\n\t var _this = this;\n\t\n\t // return directly action payload to stores when:\n\t // - on app bootstrap (client-side)\n\t // - on server routing (server-side)\n\t if (payload.messages) return payload;\n\t\n\t // async load the data for the locale\n\t return function () {\n\t var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(dispatch) {\n\t var _ref2, messages;\n\t\n\t return regeneratorRuntime.wrap(function _callee$(_context) {\n\t while (1) {\n\t switch (_context.prev = _context.next) {\n\t case 0:\n\t _context.next = 2;\n\t return (0, _intlLoader2.default)(payload.locale);\n\t\n\t case 2:\n\t _ref2 = _context.sent;\n\t messages = _ref2.messages;\n\t return _context.abrupt('return', dispatch({ locale: payload.locale, messages: messages }));\n\t\n\t case 5:\n\t case 'end':\n\t return _context.stop();\n\t }\n\t }\n\t }, _callee, _this);\n\t }));\n\t\n\t return function (_x) {\n\t return _ref.apply(this, arguments);\n\t };\n\t }();\n\t }\n\t }]);\n\t\n\t return LocaleActions;\n\t}();\n\t\n\texports.default = LocaleActions;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1279 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\texports.default = function (client) {\n\t var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t return new Flux(client, config);\n\t};\n\t\n\tvar _alt = __webpack_require__(1069);\n\t\n\tvar _alt2 = _interopRequireDefault(_alt);\n\t\n\tvar _makeFinalStore = __webpack_require__(1067);\n\t\n\tvar _makeFinalStore2 = _interopRequireDefault(_makeFinalStore);\n\t\n\tvar _altResolver = __webpack_require__(1306);\n\t\n\tvar _altResolver2 = _interopRequireDefault(_altResolver);\n\t\n\tvar _index = __webpack_require__(1288);\n\t\n\tvar stores = _interopRequireWildcard(_index);\n\t\n\tvar _index2 = __webpack_require__(1277);\n\t\n\tvar actions = _interopRequireWildcard(_index2);\n\t\n\tfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Flux = function (_Alt) {\n\t _inherits(Flux, _Alt);\n\t\n\t function Flux(client) {\n\t var _context;\n\t\n\t var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t _classCallCheck(this, Flux);\n\t\n\t // Bind AltResolve to flux instance\n\t // - access to it in actions with `alt.resolve`\n\t // for resolving async actions before server render\n\t var _this = _possibleConstructorReturn(this, (Flux.__proto__ || Object.getPrototypeOf(Flux)).call(this, config));\n\t\n\t _this.resolver = new _altResolver2.default();\n\t _this.resolve = (_context = _this.resolver).resolve.bind(_context);\n\t\n\t // Bind the ApiClient aswell\n\t // - access to it in actions with `alt.request`\n\t _this.request = client.request.bind(client);\n\t\n\t // Load actions into alt\n\t Object.keys(actions).forEach(function (key) {\n\t return _this.addActions(key, actions[key]);\n\t });\n\t // Load stores into alt\n\t Object.keys(stores).forEach(function (key) {\n\t return _this.addStore(key, stores[key]);\n\t });\n\t\n\t // Our `FinalStore` for using `connect-alt`\n\t _this.FinalStore = (0, _makeFinalStore2.default)(_this);\n\t return _this;\n\t }\n\t\n\t return Flux;\n\t}(_alt2.default);\n\t\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1280 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _lodash2 = _interopRequireDefault(_lodash);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar AdvertisementStore = function () {\n\t function AdvertisementStore() {\n\t _classCallCheck(this, AdvertisementStore);\n\t\n\t this.bindActions(this.alt.getActions('Advertisement'));\n\t this.showAds = true;\n\t this.targetKeys = {};\n\t this.targetKeysBySource = {};\n\t this.errors = {};\n\t }\n\t\n\t _createClass(AdvertisementStore, [{\n\t key: 'onUpdateAdsSuccess',\n\t value: function onUpdateAdsSuccess(showAds) {\n\t this.showAds = showAds;\n\t delete this.errors['showAds'];\n\t }\n\t }, {\n\t key: 'onUpdateAdsFail',\n\t value: function onUpdateAdsFail(_ref) {\n\t var error = _ref.error;\n\t\n\t this.errors['showAds'] = error;\n\t }\n\t }, {\n\t key: 'onUpdateTargetingKeyValueSuccess',\n\t value: function onUpdateTargetingKeyValueSuccess(_ref2) {\n\t var _ref3 = _slicedToArray(_ref2, 3),\n\t key = _ref3[0],\n\t value = _ref3[1],\n\t source = _ref3[2];\n\t\n\t _lodash2.default.set(this.targetKeysBySource, key + '.' + source, value);\n\t this._updateTargetingKeyValue(key);\n\t }\n\t }, {\n\t key: 'onUpdateTargetingKeyValueFail',\n\t value: function onUpdateTargetingKeyValueFail(_ref4) {\n\t var error = _ref4.error;\n\t\n\t this.errors['updateTargetingKeyValue'] = error;\n\t }\n\t }, {\n\t key: '_updateTargetingKeyValue',\n\t value: function _updateTargetingKeyValue(key) {\n\t var _ref5 = this.targetKeysBySource[key] || {},\n\t app = _ref5.app,\n\t route = _ref5.route,\n\t primaryContentSource = _ref5.primaryContentSource;\n\t\n\t this.targetKeys[key] = route || primaryContentSource || app;\n\t }\n\t }]);\n\t\n\t return AdvertisementStore;\n\t}();\n\t\n\texports.default = AdvertisementStore;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1281 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar ClosingsStore = function () {\n\t function ClosingsStore() {\n\t _classCallCheck(this, ClosingsStore);\n\t\n\t this.bindActions(this.alt.getActions('Closings'));\n\t\n\t this.closingsStatus = {};\n\t this.errors = {};\n\t }\n\t\n\t _createClass(ClosingsStore, [{\n\t key: 'onReadClosingsStatusSuccess',\n\t value: function onReadClosingsStatusSuccess(data) {\n\t this.closingsStatus = data;\n\t delete this.errors['readClosingsStatus'];\n\t }\n\t }, {\n\t key: 'onReadClosingsStatusFail',\n\t value: function onReadClosingsStatusFail(error) {\n\t this.errors['readClosingsStatus'] = error;\n\t }\n\t }]);\n\t\n\t return ClosingsStore;\n\t}();\n\t\n\texports.default = ClosingsStore;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1282 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar ContentClassificationStore = function () {\n\t function ContentClassificationStore() {\n\t _classCallCheck(this, ContentClassificationStore);\n\t\n\t this.bindActions(this.alt.getActions('ContentClassification'));\n\t\n\t this.contentClassification = '';\n\t this.classificationsBySource = {\n\t 'app': '',\n\t 'route': '',\n\t 'primaryContentSource': ''\n\t };\n\t this.errors = {};\n\t }\n\t\n\t _createClass(ContentClassificationStore, [{\n\t key: 'onUpdateContentClassificationSuccess',\n\t value: function onUpdateContentClassificationSuccess(_ref) {\n\t var _ref2 = _slicedToArray(_ref, 2),\n\t classificationSource = _ref2[0],\n\t contentClassification = _ref2[1];\n\t\n\t if (classificationSource in this.classificationsBySource) {\n\t this.classificationsBySource[classificationSource] = contentClassification;\n\t this._updateContentClassification();\n\t\n\t delete this.errors['updateContentClassification'];\n\t }\n\t }\n\t }, {\n\t key: 'onUpdateContentClassificationFail',\n\t value: function onUpdateContentClassificationFail(_ref3) {\n\t var error = _ref3.error;\n\t\n\t this.errors['updateContentClassification'] = error;\n\t }\n\t }, {\n\t key: '_updateContentClassification',\n\t value: function _updateContentClassification() {\n\t var _classificationsBySou = this.classificationsBySource,\n\t app = _classificationsBySou.app,\n\t route = _classificationsBySou.route,\n\t primaryContentSource = _classificationsBySou.primaryContentSource;\n\t\n\t this.contentClassification = route || primaryContentSource || app;\n\t }\n\t }]);\n\t\n\t return ContentClassificationStore;\n\t}();\n\t\n\texports.default = ContentClassificationStore;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1283 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar CtxStore = function () {\n\t function CtxStore() {\n\t _classCallCheck(this, CtxStore);\n\t\n\t this.bindActions(this.alt.getActions('Ctx'));\n\t\n\t this.config = {};\n\t this.location = {};\n\t this.page = {};\n\t this.errors = {};\n\t }\n\t\n\t _createClass(CtxStore, [{\n\t key: 'onUpdate',\n\t value: function onUpdate(_ref) {\n\t var config = _ref.config,\n\t location = _ref.location,\n\t page = _ref.page;\n\t\n\t if (config) {\n\t this.config = config;\n\t }\n\t\n\t if (location) {\n\t this.location = location;\n\t }\n\t\n\t if (page) {\n\t this.page = page;\n\t }\n\t }\n\t }]);\n\t\n\t return CtxStore;\n\t}();\n\t\n\texports.default = CtxStore;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1284 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar HelmetStore = function () {\n\t function HelmetStore() {\n\t _classCallCheck(this, HelmetStore);\n\t\n\t this.bindActions(this.alt.getActions('Helmet'));\n\t\n\t this.title = '';\n\t this.titleBase = 'Frankly News';\n\t this.metas = [];\n\t this.statusCode = 200;\n\t\n\t this.updateTitleSources = {\n\t 'route': '',\n\t 'primaryContentSource': ''\n\t };\n\t this.errors = {};\n\t }\n\t\n\t _createClass(HelmetStore, [{\n\t key: 'onUpdate',\n\t value: function onUpdate(props) {\n\t var _this = this;\n\t\n\t Object.keys(props).forEach(function (key) {\n\t return _this[key] = props[key];\n\t });\n\t }\n\t }, {\n\t key: 'onUpdateTitleSuccess',\n\t value: function onUpdateTitleSuccess(_ref) {\n\t var _ref2 = _slicedToArray(_ref, 2),\n\t updateSource = _ref2[0],\n\t title = _ref2[1];\n\t\n\t if (updateSource in this.updateTitleSources) {\n\t this.updateTitleSources[updateSource] = title;\n\t this._updateTitle();\n\t\n\t delete this.errors['updateTitle'];\n\t }\n\t }\n\t }, {\n\t key: 'onUpdateTitleFail',\n\t value: function onUpdateTitleFail(_ref3) {\n\t var error = _ref3.error;\n\t\n\t this.errors['updateTitle'] = error;\n\t }\n\t }, {\n\t key: '_updateTitle',\n\t value: function _updateTitle() {\n\t var _updateTitleSources = this.updateTitleSources,\n\t route = _updateTitleSources.route,\n\t primaryContentSource = _updateTitleSources.primaryContentSource;\n\t\n\t this.title = route || primaryContentSource;\n\t }\n\t }, {\n\t key: 'onUpdateMetas',\n\t value: function onUpdateMetas(props) {\n\t var _this2 = this;\n\t\n\t var _props$metas = props.metas,\n\t metas = _props$metas === undefined ? {} : _props$metas;\n\t\n\t //WEB-4884:add
to metadata\n\t\n\t if (metas.length === 1 && metas[0].rel === 'amphtml') {\n\t this.metas.push(metas[0]);\n\t return;\n\t }\n\t\n\t (0, _lodash.forEach)(this.metas, function (meta, key) {\n\t var name = meta.name,\n\t rel = meta.rel,\n\t property = meta.property;\n\t\n\t (0, _lodash.merge)(_this2.metas[key], (0, _lodash.find)(metas, function (item) {\n\t var _item$name = item.name,\n\t nameData = _item$name === undefined ? '' : _item$name,\n\t _item$rel = item.rel,\n\t relData = _item$rel === undefined ? '' : _item$rel,\n\t _item$property = item.property,\n\t propertyData = _item$property === undefined ? '' : _item$property,\n\t content = item.content,\n\t href = item.href;\n\t //handle for url meta tags\n\t\n\t if (relData) {\n\t return relData === rel && !(0, _lodash.isEmpty)(href);\n\t }\n\t\n\t return (nameData === name || propertyData === property) && !(0, _lodash.isEmpty)(content);\n\t }));\n\t });\n\t }\n\t }]);\n\t\n\t return HelmetStore;\n\t}();\n\t\n\texports.default = HelmetStore;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1285 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar LocationStore = function () {\n\t function LocationStore() {\n\t _classCallCheck(this, LocationStore);\n\t\n\t this.bindActions(this.alt.getActions('Location'));\n\t\n\t this.searchResults = [];\n\t this.userLocations = [];\n\t this.currentLocation = null;\n\t this.errors = {};\n\t }\n\t\n\t _createClass(LocationStore, [{\n\t key: 'onSearchSuccess',\n\t value: function onSearchSuccess(results) {\n\t this.searchResults = results;\n\t delete this.errors['search'];\n\t }\n\t }, {\n\t key: 'onSearchFail',\n\t value: function onSearchFail(_ref) {\n\t var error = _ref.error;\n\t\n\t this.searchResults = [];\n\t this.errors['search'] = error;\n\t }\n\t }, {\n\t key: 'onUpdateCurrentSuccess',\n\t value: function onUpdateCurrentSuccess(currentLocation) {\n\t this.currentLocation = currentLocation;\n\t delete this.errors['updateCurrent'];\n\t }\n\t }, {\n\t key: 'onUpdateCurrentFail',\n\t value: function onUpdateCurrentFail(_ref2) {\n\t var error = _ref2.error;\n\t\n\t this.errors['updateCurrent'] = error;\n\t }\n\t }, {\n\t key: 'onReadUserLocationsSuccess',\n\t value: function onReadUserLocationsSuccess(locations) {\n\t this.userLocations = locations;\n\t delete this.errors['readUserLocations'];\n\t }\n\t }, {\n\t key: 'onUpdateUserLocationsSuccess',\n\t value: function onUpdateUserLocationsSuccess(locations) {\n\t this.userLocations = locations;\n\t delete this.errors['readUserLocations'];\n\t }\n\t }]);\n\t\n\t return LocationStore;\n\t}();\n\t\n\texports.default = LocationStore;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1286 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar MemberStore = function () {\n\t function MemberStore() {\n\t _classCallCheck(this, MemberStore);\n\t\n\t this.bindActions(this.alt.getActions('Member'));\n\t this.login = false;\n\t }\n\t\n\t _createClass(MemberStore, [{\n\t key: 'onLogin',\n\t value: function onLogin() {\n\t this.login = true;\n\t }\n\t }, {\n\t key: 'onLogout',\n\t value: function onLogout() {\n\t this.login = false;\n\t }\n\t }]);\n\t\n\t return MemberStore;\n\t}();\n\t\n\texports.default = MemberStore;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1287 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar WeatherStore = function () {\n\t function WeatherStore() {\n\t _classCallCheck(this, WeatherStore);\n\t\n\t this.bindActions(this.alt.getActions('Weather'));\n\t\n\t this.wsi = {};\n\t this.errors = {};\n\t }\n\t\n\t _createClass(WeatherStore, [{\n\t key: 'onReadWsiSuccess',\n\t value: function onReadWsiSuccess(data) {\n\t if ((0, _lodash.isEmpty)(this.wsi)) {\n\t this.wsi = data;\n\t delete this.errors['readWsi'];\n\t }\n\t }\n\t }, {\n\t key: 'onReadWsiFail',\n\t value: function onReadWsiFail(_ref) {\n\t var error = _ref.error;\n\t\n\t this.errors['readWsi'] = error;\n\t }\n\t }, {\n\t key: 'onUpdateWsiSuccess',\n\t value: function onUpdateWsiSuccess(data) {\n\t this.wsi['data'] = data;\n\t delete this.errors['readWsi'];\n\t }\n\t }]);\n\t\n\t return WeatherStore;\n\t}();\n\t\n\texports.default = WeatherStore;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1288 */\n[2406, 1289, 1284, 1287, 1283, 1285, 1282, 1286, 1280, 1281],\n/* 1289 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _debug = __webpack_require__(295);\n\t\n\tvar _debug2 = _interopRequireDefault(_debug);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar LocaleStore = function () {\n\t function LocaleStore() {\n\t _classCallCheck(this, LocaleStore);\n\t\n\t this.bindActions(this.alt.getActions('locale'));\n\t this.locales = [];\n\t this.messages = {};\n\t }\n\t\n\t _createClass(LocaleStore, [{\n\t key: 'onSwitchLocale',\n\t value: function onSwitchLocale(_ref) {\n\t var messages = _ref.messages,\n\t locale = _ref.locale;\n\t\n\t // Save locale into a cookie\n\t // that will be read from server on requests\n\t if (true) {\n\t var Cookies = __webpack_require__(287);\n\t Cookies.set('_lang', locale, { expires: Infinity });\n\t (0, _debug2.default)('dev')('updated _lang cookie to ' + locale);\n\t }\n\t\n\t this.messages = messages;\n\t this.locales = [locale];\n\t }\n\t }]);\n\t\n\t return LocaleStore;\n\t}();\n\t\n\texports.default = LocaleStore;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1290 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = undefined;\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _class, _temp;\n\t\n\tvar _isString2 = __webpack_require__(192);\n\t\n\tvar _isString3 = _interopRequireDefault(_isString2);\n\t\n\tvar _isObject2 = __webpack_require__(58);\n\t\n\tvar _isObject3 = _interopRequireDefault(_isObject2);\n\t\n\tvar _size2 = __webpack_require__(1972);\n\t\n\tvar _size3 = _interopRequireDefault(_size2);\n\t\n\tvar _uniqueId2 = __webpack_require__(779);\n\t\n\tvar _uniqueId3 = _interopRequireDefault(_uniqueId2);\n\t\n\tvar _forEach2 = __webpack_require__(1957);\n\t\n\tvar _forEach3 = _interopRequireDefault(_forEach2);\n\t\n\tvar _backboneEventsStandalone = __webpack_require__(1558);\n\t\n\tvar _backboneEventsStandalone2 = _interopRequireDefault(_backboneEventsStandalone);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\t/**\n\t Class to publish/subscribe to dynamic data stores. This dispatcher is used to\n\t share data between web modules.\n\t This is an experimental utility module that will be spun off as a separate\n\t open-source project. We are going to keep this here and learn and experiment\n\t with the requirements.\n\t*/\n\tvar DataStoreDispatcher = (_temp = _class = function () {\n\t _createClass(DataStoreDispatcher, null, [{\n\t key: '_eventEmitter',\n\t\n\t //TODO: 1. Move this to a separate repo with NPM 2. Write tests\n\t value: function _eventEmitter(dataStoreId) {\n\t var ee = void 0;\n\t\n\t if (DataStoreDispatcher._eventEmittersByDataStoreId[dataStoreId]) {\n\t ee = DataStoreDispatcher._eventEmittersByDataStoreId[dataStoreId];\n\t } else {\n\t ee = DataStoreDispatcher._eventEmittersByDataStoreId[dataStoreId] = _backboneEventsStandalone2.default.mixin({});\n\t }\n\t\n\t return ee;\n\t }\n\t }, {\n\t key: '_data',\n\t value: function _data(dataStoreId) {\n\t var data = void 0;\n\t\n\t if (DataStoreDispatcher._dataByDataStoreId[dataStoreId]) {\n\t data = DataStoreDispatcher._dataByDataStoreId[dataStoreId];\n\t } else {\n\t data = DataStoreDispatcher._dataByDataStoreId[dataStoreId] = {};\n\t }\n\t\n\t return data;\n\t }\n\t }]);\n\t\n\t /**\n\t * Create a data store dispatcher.\n\t * @param {string} dataStoreId - ID of the data store\n\t */\n\t function DataStoreDispatcher(dataStoreId) {\n\t _classCallCheck(this, DataStoreDispatcher);\n\t\n\t this._eventEmitter = null;\n\t this._data = {};\n\t\n\t // TODO: add dataStoreId as part of the id\n\t this._id = (0, _uniqueId3.default)('FRN_DataStoreDispatcher_');\n\t this._dataStoreId = dataStoreId;\n\t\n\t this._ee = DataStoreDispatcher._eventEmitter(dataStoreId);\n\t this._data = DataStoreDispatcher._data(dataStoreId);\n\t }\n\t\n\t /**\n\t * Gets the full data object.\n\t * @returns {Object} Returns the full data object.\n\t */\n\t /**\n\t * Gets the value at `key` of the data object.\n\t * @param {string} key Name of the property.\n\t * @returns {*} Returns the resolved value.\n\t */\n\t\n\t\n\t _createClass(DataStoreDispatcher, [{\n\t key: 'get',\n\t value: function get() {\n\t var numberOfArguments = (0, _size3.default)(arguments);\n\t\n\t if (numberOfArguments === 0) {\n\t return this._data;\n\t } else if (numberOfArguments === 1 && (0, _isString3.default)(arguments[0])) {\n\t var _arguments = Array.prototype.slice.call(arguments),\n\t key = _arguments[0];\n\t\n\t return this._data[key];\n\t } else {\n\t this._throwUnsupportedArguments();\n\t }\n\t }\n\t\n\t /**\n\t * Sets the full data object.\n\t * @param {Object} data The new data object to replace existing data object.\n\t */\n\t /**\n\t * Sets the value at `key` of the data object.\n\t * @param {string} key The name of the property to be set.\n\t * @param {*} val The value to set.\n\t */\n\t\n\t }, {\n\t key: 'set',\n\t value: function set() {\n\t var _this = this;\n\t\n\t var numberOfArguments = (0, _size3.default)(arguments);\n\t\n\t if (numberOfArguments === 1 && (0, _isObject3.default)(arguments[0])) {\n\t var _arguments2 = Array.prototype.slice.call(arguments),\n\t _arguments2$ = _arguments2[0],\n\t data = _arguments2$ === undefined ? DataStoreDispatcher._data(this._dataStoreId) : _arguments2$;\n\t\n\t var changes = [];\n\t\n\t (0, _forEach3.default)(data, function (val, key) {\n\t if (_this._data[key] !== val) {\n\t _this._data[key] = val;\n\t changes.push([key, val]);\n\t }\n\t });\n\t\n\t if ((0, _size3.default)(changes) > 0) {\n\t (0, _forEach3.default)(changes, function (change) {\n\t var _change = _slicedToArray(change, 2),\n\t key = _change[0],\n\t val = _change[1];\n\t\n\t _this._ee.trigger('_change:' + key, val, _this._data);\n\t });\n\t\n\t this._ee.trigger('_change', this._data);\n\t }\n\t } else if (numberOfArguments === 2 && (0, _isString3.default)(arguments[0])) {\n\t var _arguments3 = Array.prototype.slice.call(arguments),\n\t key = _arguments3[0],\n\t val = _arguments3[1];\n\t\n\t if (this._data[key] !== val) {\n\t this._data[key] = val;\n\t this._ee.trigger('_change:' + key, val, this._data);\n\t }\n\t\n\t this._ee.trigger('_change', this._data);\n\t } else {\n\t this._throwUnsupportedArguments();\n\t }\n\t }\n\t\n\t /**\n\t * Subscribes to changes to the data.\n\t * @param {DataStoreDispatcher~onChangeCallback} fn The callback to be invoked when the data changes.\n\t */\n\t /**\n\t * @callback DataStoreDispatcher~onChangeCallback\n\t * @param {Object} data The full data object.\n\t */\n\t /**\n\t * Subscribes to changes to the specific property of the data.\n\t * @param {string} key The name of the property to subscribe to.\n\t * @param {DataStoreDispatcher~onChangeCallbackWithKey} fn The callback to be invoked when the property value changes.\n\t */\n\t /**\n\t * @callback DataStoreDispatcher~onChangeCallbackWithKey\n\t * @param {*} val The new value of the subscribed property.\n\t * @param {Object} data The full data object.\n\t */\n\t\n\t }, {\n\t key: 'onChange',\n\t value: function onChange() {\n\t var numberOfArguments = (0, _size3.default)(arguments);\n\t\n\t if (numberOfArguments === 1) {\n\t var _arguments4 = Array.prototype.slice.call(arguments),\n\t _arguments4$ = _arguments4[0],\n\t fn = _arguments4$ === undefined ? function () {} : _arguments4$;\n\t\n\t this._ee.on('_change', fn, this._id);\n\t } else if (numberOfArguments === 2) {\n\t var _arguments5 = Array.prototype.slice.call(arguments),\n\t key = _arguments5[0],\n\t _arguments5$ = _arguments5[1],\n\t _fn = _arguments5$ === undefined ? function () {} : _arguments5$;\n\t\n\t this._ee.on('_change:' + key, _fn, this._id);\n\t }\n\t }\n\t\n\t /**\n\t * Stops all of the subscriptions to the data store.\n\t */\n\t\n\t }, {\n\t key: 'off',\n\t value: function off() {\n\t var numberOfArguments = (0, _size3.default)(arguments);\n\t\n\t if (numberOfArguments === 0) {\n\t this._ee.off(null, null, this._id);\n\t } else {\n\t this._throwNotYetImplemented();\n\t }\n\t }\n\t }, {\n\t key: '_throwUnsupportedNumberOfArguments',\n\t value: function _throwUnsupportedNumberOfArguments() {\n\t throw new Error('Unsupported number of arguments');\n\t }\n\t }, {\n\t key: '_throwUnsupportedArguments',\n\t value: function _throwUnsupportedArguments() {\n\t throw new Error('Unsupported arguments');\n\t }\n\t }, {\n\t key: '_throwNotYetImplemented',\n\t value: function _throwNotYetImplemented() {\n\t throw new Error('Not yet implemented');\n\t }\n\t }]);\n\t\n\t return DataStoreDispatcher;\n\t}(), _class._eventEmittersByDataStoreId = {}, _class._dataByDataStoreId = {}, _temp);\n\texports.default = DataStoreDispatcher;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1291 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _lodash2 = _interopRequireDefault(_lodash);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar requestById = {};\n\t\n\tvar _tryBatchGetRequest = function _tryBatchGetRequest(flux) {\n\t if (!_lodash2.default.isEmpty(requestById)) {\n\t var requestByIdCopy = _lodash2.default.clone(requestById);\n\t\n\t var ids = _lodash2.default.keys(requestById);\n\t\n\t // The /componentInstances/:id/resources endpoint supports the following id's:\n\t // 1. single component instance id (e.g., id1)\n\t // 2. comma separated component instance id's (e.g., id1,id2,id3)\n\t // Because we are overloading the endpoint to support multiple ID's, this is more\n\t // of a convenience/performance optimization, rather than a core feature. Thus,\n\t // it doesn't make sense to change the endpoint to always return an array of responses\n\t // even when there is just a single ID. However, the endpoint returns an array\n\t // if the ID contains a comma. This is by design as this need was somewhat anticipated.\n\t // This way, we can keep the endpoint's design pure, but flexible enough for\n\t // clients to fulfill it needs.\n\t // Alternatively, we can handle it purely on the client side. i.e., wrap the repsponse\n\t // in an array if it's an object.\n\t // In the future, we can consider separate batch endpoints as more needs like this\n\t // arise.\n\t if (ids.length === 1) {\n\t // Push empty string which makes .join to append \",\" at the end\n\t ids.push('');\n\t }\n\t\n\t var commaSeparatedIds = ids.join(',');\n\t\n\t // NOTE: Quick fix for some ComponentContainer instances not having params values\n\t // TODO: Fix it better. e.g., /:id/resources?vars='{}','{}','{}'\n\t var params = _lodash2.default.assign.apply(_lodash2.default, _lodash2.default.map(requestByIdCopy, function (r) {\n\t return r.params;\n\t }));\n\t\n\t flux.request({\n\t url: '/componentInstances/' + commaSeparatedIds + '/resources',\n\t params: params\n\t }).then(function (resps) {\n\t _lodash2.default.forEach(resps, function (resp, i) {\n\t var request = requestByIdCopy[ids[i]];\n\t\n\t if (request) {\n\t request.resolve(resp);\n\t }\n\t });\n\t }).catch(function (error) {\n\t return (\n\t // reject all requests\n\t _lodash2.default.forOwn(requestByIdCopy, function (request) {\n\t return request.reject(error);\n\t })\n\t );\n\t });\n\t\n\t requestById = {};\n\t }\n\t};\n\t\n\tvar readComponentInstanceResourceList = function readComponentInstanceResourceList(componentInstance) {\n\t var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$propPath = _ref.propPath,\n\t propPath = _ref$propPath === undefined ? '' : _ref$propPath,\n\t _ref$vars = _ref.vars,\n\t vars = _ref$vars === undefined ? {} : _ref$vars;\n\t\n\t var flux = componentInstance.context.flux,\n\t _componentInstance$pr = componentInstance.props,\n\t componentInstanceId = _componentInstance$pr.componentInstanceId,\n\t FRN_componentInstanceId = _componentInstance$pr.FRN_componentInstanceId,\n\t params = _componentInstance$pr.params,\n\t FRN_flux = _componentInstance$pr.FRN_flux,\n\t widgetId = _componentInstance$pr.widgetId;\n\t\n\t // WEB-4658 if widgetId is valid, we get data by widgetId\n\t\n\t if (widgetId) {\n\t var newFlux = flux || FRN_flux;\n\t return new Promise(function (resolve, reject) {\n\t newFlux.request({ url: '/componentInstances/slideshow-' + widgetId + '/resources' }).then(function (resp) {\n\t return resolve([resp]);\n\t }).catch(function (error) {\n\t return reject(error);\n\t });\n\t });\n\t }\n\t\n\t var id = componentInstanceId || FRN_componentInstanceId;\n\t\n\t if (propPath) {\n\t id += '.props.' + propPath;\n\t }\n\t\n\t var promise = new Promise(function (resolve, reject) {\n\t requestById[id] = {\n\t params: _lodash2.default.assign(_lodash2.default.clone(params), vars),\n\t resolve: resolve,\n\t reject: reject\n\t };\n\t });\n\t\n\t _tryBatchGetRequest(flux || FRN_flux);\n\t\n\t return promise;\n\t};\n\t\n\texports.default = readComponentInstanceResourceList;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1292 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\tvar setMetaTags = function setMetaTags(componentInstance, metas) {\n\t var FRN_flux = componentInstance.props.FRN_flux;\n\t\n\t // make sure FRN_flux is not undefined before call getActions.\n\t\n\t if (FRN_flux) FRN_flux.getActions('Helmet').updateMetas({ metas: metas });\n\t};\n\t\n\texports.default = setMetaTags;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1293 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.makeStore = exports.ActionTypes = undefined;\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\texports.default = makeStoreWithContext;\n\t\n\tvar _redux = __webpack_require__(540);\n\t\n\tvar _reduxThunk = __webpack_require__(2339);\n\t\n\tvar _reduxThunk2 = _interopRequireDefault(_reduxThunk);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar ActionTypes = exports.ActionTypes = {\n\t UPDATE_CONFIG: 'UPDATE_CONFIG',\n\t UPDATE_PAGE: 'UPDATE_PAGE',\n\t UPDATE_LOCATION: 'UPDATE_LOCATION',\n\t UPDATE_RESOURCES: 'UPDATE_RESOURCES',\n\t ADD_RESOURCES: 'ADD_RESOURCES',\n\t SET_AFFILIATE_ZIPCODE: 'SET_AFFILIATE_ZIPCODE'\n\t};\n\t\n\tvar initialState = {\n\t affiliateZipcode: '94107',\n\t config: {},\n\t location: {},\n\t page: {},\n\t resources: {}\n\t};\n\t\n\tvar reducer = function reducer(state, action) {\n\t switch (action.type) {\n\t case ActionTypes.UPDATE_CONFIG:\n\t return _extends({}, state, { config: action.payload.config });\n\t\n\t case ActionTypes.UPDATE_PAGE:\n\t return _extends({}, state, { page: action.payload.page });\n\t\n\t case ActionTypes.UPDATE_LOCATION:\n\t return _extends({}, state, { location: action.payload.location });\n\t\n\t case ActionTypes.UPDATE_RESOURCES:\n\t return _extends({}, state, { resources: action.payload.resources });\n\t\n\t case ActionTypes.ADD_RESOURCES:\n\t return _extends({}, state, { resources: _extends({}, state.resources, action.payload.resources) });\n\t\n\t case ActionTypes.SET_AFFILIATE_ZIPCODE:\n\t return _extends({}, state, { affiliateZipcode: action.payload.affiliateZipcode });\n\t\n\t default:\n\t return state;\n\t }\n\t};\n\t\n\tvar makeStore = exports.makeStore = function makeStore(initialStateParam) {\n\t return (0, _redux.createStore)(reducer, initialStateParam, (0, _redux.applyMiddleware)(_reduxThunk2.default));\n\t};\n\t\n\tfunction makeStoreWithContext() {\n\t return (0, _redux.createStore)(reducer, initialState, (0, _redux.applyMiddleware)(_reduxThunk2.default));\n\t}\n\n/***/ }),\n/* 1294 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _reactRedux = __webpack_require__(255);\n\t\n\tvar mapStateToProps = function mapStateToProps(state) {\n\t return {\n\t state: state,\n\t resources: state ? state.resources : null\n\t };\n\t};\n\t\n\texports.default = function (comp) {\n\t return (0, _reactRedux.connect)(mapStateToProps)(comp);\n\t};\n\t\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1295 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _debug = __webpack_require__(295);\n\t\n\tvar _debug2 = _interopRequireDefault(_debug);\n\t\n\tvar _createFlux = __webpack_require__(1279);\n\t\n\tvar _createFlux2 = _interopRequireDefault(_createFlux);\n\t\n\tvar _apiClient = __webpack_require__(588);\n\t\n\tvar _apiClient2 = _interopRequireDefault(_apiClient);\n\t\n\tvar _universalRender = __webpack_require__(1307);\n\t\n\tvar _universalRender2 = _interopRequireDefault(_universalRender);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar NODE_ENV = (\"production\");\n\t\n\t// Paths are relative to `app` directory\n\t\n\tif (NODE_ENV === 'development') _debug2.default.enable('dev,koa');\n\t\n\tvar client = new _apiClient2.default();\n\tvar flux = (0, _createFlux2.default)(client);\n\t\n\t(0, _universalRender2.default)({ redux: null, flux: flux, pageUri: location.href }).catch(function (err) {\n\t return (0, _debug2.default)('dev')(err);\n\t});\n\n/***/ }),\n/* 1296 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\texports.default = function (flux) {\n\t /* eslint react/display-name: 0 */\n\t var _flux$getStore$getSta = flux.getStore('Ctx').getState(),\n\t _flux$getStore$getSta2 = _flux$getStore$getSta.config;\n\t\n\t _flux$getStore$getSta2 = _flux$getStore$getSta2 === undefined ? {} : _flux$getStore$getSta2;\n\t var _flux$getStore$getSta3 = _flux$getStore$getSta2.routes,\n\t routes = _flux$getStore$getSta3 === undefined ? [] : _flux$getStore$getSta3,\n\t _flux$getStore$getSta4 = _flux$getStore$getSta.page,\n\t page = _flux$getStore$getSta4 === undefined ? {} : _flux$getStore$getSta4;\n\t\n\t\n\t return _react2.default.createElement(\n\t _reactRouter.Route,\n\t { component: __webpack_require__(1104) },\n\t _generateRoutesWithPage({ routes: routes, page: page }),\n\t _react2.default.createElement(_reactRouter.Route, { path: '*', component: __webpack_require__(567) })\n\t );\n\t};\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar _lodash2 = _interopRequireDefault(_lodash);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactRouter = __webpack_require__(67);\n\t\n\tvar _MemberUtils = __webpack_require__(115);\n\t\n\tvar _URL = __webpack_require__(114);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar _wrapComponent = function _wrapComponent(componentName, props) {\n\t return function (Wrapee) {\n\t var Wrapper = function (_Component) {\n\t _inherits(Wrapper, _Component);\n\t\n\t function Wrapper() {\n\t _classCallCheck(this, Wrapper);\n\t\n\t return _possibleConstructorReturn(this, (Wrapper.__proto__ || Object.getPrototypeOf(Wrapper)).apply(this, arguments));\n\t }\n\t\n\t _createClass(Wrapper, [{\n\t key: 'render',\n\t value: function render() {\n\t return _react2.default.createElement(Wrapee, _extends({}, this.props, props));\n\t }\n\t }]);\n\t\n\t return Wrapper;\n\t }(_react.Component);\n\t\n\t Wrapper.displayName = componentName + '(' + (Wrapee.displayName || Wrapee.name || 'Component') + ')';\n\t\n\t return Wrapper;\n\t };\n\t};\n\t\n\tvar _generateRoutesWithPage = function _generateRoutesWithPage(_ref) {\n\t var _ref$routes = _ref.routes,\n\t routes = _ref$routes === undefined ? [] : _ref$routes,\n\t _ref$page = _ref.page,\n\t page = _ref$page === undefined ? {} : _ref$page;\n\t\n\t var components = [];\n\t\n\t var requireAuth = null;\n\t\n\t if (true) {\n\t requireAuth = function requireAuth(nextState, replace, callback) {\n\t if (!(0, _MemberUtils.getAuthData)()) {\n\t replace({\n\t pathname: '/login',\n\t query: {\n\t redirect: encodeURIComponent(location.href)\n\t },\n\t state: { nextPathname: nextState.location.pathname }\n\t });\n\t }\n\t callback();\n\t };\n\t }\n\t // Adding 404(NotFound) page if 'our-apologies' page doesn't exist\n\t var redirectRoute = _react2.default.createElement(_reactRouter.Route, { path: '*', key: '*', component: __webpack_require__(567) });\n\t\n\t _lodash2.default.forEach(routes, function (routeDef, routeId) {\n\t var paths = routeDef.paths,\n\t authenticated = routeDef.authenticated;\n\t\n\t\n\t var hook = null;\n\t\n\t if (authenticated) {\n\t hook = requireAuth;\n\t }\n\t\n\t _lodash2.default.forEach(paths, function (path) {\n\t var PageWrapper = _wrapComponent('Page', {\n\t configPath: 'routes[' + routeId + ']'\n\t })(__webpack_require__(568));\n\t\n\t components.push(_react2.default.createElement(_reactRouter.Route, {\n\t key: path,\n\t path: path,\n\t component: PageWrapper,\n\t onEnter: hook\n\t }));\n\t\n\t if (path === _URL.APOLOGIES_URL) {\n\t var redirectPath = path + '?url=' + page.uri;\n\t redirectRoute = _react2.default.createElement(_reactRouter.Redirect, { key: redirectPath, to: redirectPath, from: '*' });\n\t }\n\t });\n\t });\n\t\n\t components.push(redirectRoute);\n\t\n\t return components;\n\t};\n\t\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1297 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.parseJson = exports.replaceSpecialChars = undefined;\n\t\n\tvar _json = __webpack_require__(1827);\n\t\n\tvar _json2 = _interopRequireDefault(_json);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t// at this time, we replace every newline, tab and return carier character\n\t// we can add more if any new character need to be replaced\n\tvar REPLACE_REG = /(\\r|\\t|\\n|\\r)/gm;\n\t/** \n\t * This function returns a string that has been replaced some of special characters: newline, tab, carier\n\t * In case there is any errors occured, return defaultValue\n\t * Error feed example :http://api.ddev1.worldnow.com/feed/v3.0/widgets/200588?alt=json#\n\t * @param {Object} text - The original text will be replaced\n\t * @param {Object} replacedBy - The new string to replace\n\t * @param {Object} defaultValue - The default value\n\t * @return {Object} return object.\n\t*/\n\tvar replaceSpecialChars = function replaceSpecialChars(text, replacedBy, defaultValue) {\n\t var result = defaultValue;\n\t try {\n\t result = text.replace(REPLACE_REG, replacedBy);\n\t } catch (e) {\n\t console.log('JsonUtils.replaceSpecialChars', e);\n\t }\n\t return result;\n\t};\n\t\n\t/** \n\t * This function converts a Javascript Object Notation (JSON) string into an object. \n\t * In case there is any errors occured, return defaultValue\n\t * @param {Object} jsonString - The JSON string will be converted\n\t * @param {Object} defaultValue - The default value\n\t * @return {Object} return object\n\t*/\n\tvar parseJson = function parseJson(jsonString, defaultValue) {\n\t var result = defaultValue;\n\t try {\n\t result = _json2.default.parse(jsonString);\n\t } catch (e) {\n\t console.log('JsonUtils.parseJson', e);\n\t }\n\t return result;\n\t};\n\t\n\texports.replaceSpecialChars = replaceSpecialChars;\n\texports.parseJson = parseJson;\n\n/***/ }),\n/* 1298 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.groupByCriteria = exports.orderByCriteria = undefined;\n\t\n\tvar _lodash = __webpack_require__(12);\n\t\n\tvar orderByCriteria = function orderByCriteria(array, path) {\n\t var order = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'asc';\n\t\n\t return (0, _lodash.orderBy)(array, function (item) {\n\t return (0, _lodash.get)(item, path, '');\n\t }, [order]);\n\t};\n\t\n\tvar groupByCriteria = function groupByCriteria(array, path) {\n\t var order = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'asc';\n\t\n\t return (0, _lodash.groupBy)(array, function (item) {\n\t return (0, _lodash.get)(item, path, '');\n\t }, [order]);\n\t};\n\t\n\texports.orderByCriteria = orderByCriteria;\n\texports.groupByCriteria = groupByCriteria;\n\n/***/ }),\n/* 1299 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = {\n\t port: 3010,\n\t\n\t redisPort: 6379,\n\t redisEndpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).REDIS_ENDPOINT,\n\t\n\t amsEndpoint: {\n\t url: 'http://next.managewnow.manageddev1.worldnow.com/config',\n\t headers: {\n\t 'X-Parse-Application-Id': 'wPJuyJsloZ14Rx7rUIk1BLLlpmrVt7rHqD5w3iza'\n\t }\n\t },\n\t\n\t apiEndpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).API_ENDPOINT || 'http://platform-dev.franklyinc.com',\n\t widgetApiEndpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).WIDGET_API_ENDPOINT || 'https://api.ddev1.worldnow.com/feed/v3.0/widgets'\n\t};\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1300 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\tvar PROTOCOL = ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).FEED_PROTOCOL || 'https';\n\t\n\texports.default = {\n\t port: parseInt(({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).PORT, 10) || 3000,\n\t\n\t redisEndpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).REDIS_ENDPOINT || 'frankly-platform-dev.ahuod3.ng.0001.use1.cache.amazonaws.com',\n\t\n\t // privateRepo: {\n\t // registry: `${PROTOCOL}://next.managewnow.manageddev1.worldnow.com:5005/`,\n\t // username: 'frankly',\n\t // password: 'frankly',\n\t // email: 'frankly@franklyinc.com',\n\t // defaultPackage: 'wnow'\n\t // },\n\t\n\t // Set this to simulate specific affiliate site. This is usually used locally\n\t // in a development environment. e.g., kdrv.web.franklyinc.com\n\t //\n\t defaultConfigHost: 'wnow.ddev1.franklyinc.com',\n\t // WEB-5819 : setting defaultConfigHost to wnow.ddev1 .. to override this, set process.env.FRANKLY_AFFILIATE_HOST or run 'npm run local'\n\t\n\t apiEndpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).API_ENDPOINT || 'https://platform-qa.franklyinc.com',\n\t widgetApiEndpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).WIDGET_API_ENDPOINT || 'https://api.ddev1.worldnow.com/feed/v3.0/widgets',\n\t cmsApiEnpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).CMS_API_ENDPOINT || 'https://cms.ddev1.worldnow.com',\n\t\n\t // AMS endpoint.\n\t //\n\t amsEndpoint: {\n\t url: 'https://managewnow.manageddev1.worldnow.com/config',\n\t headers: {\n\t 'X-Parse-Application-Id': 'wPJuyJsloZ14Rx7rUIk1BLLlpmrVt7rHqD5w3iza'\n\t }\n\t }\n\t};\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1301 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = {\n\t locales: ['en', 'fr'],\n\t\n\t port: parseInt(({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).PORT, 10) || 3010,\n\t\n\t redisPort: 6379,\n\t redisEndpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).REDIS_ENDPOINT || 'frankly-platform.ahuod3.ng.0001.use1.cache.amazonaws.com',\n\t\n\t privateRepo: {\n\t registry: 'http://npm.franklyinc.com:80/',\n\t username: 'frankly',\n\t password: 'frankly',\n\t email: 'frankly@franklyinc.com',\n\t defaultPackage: 'wnow'\n\t },\n\t\n\t // Set this to simulate specific affiliate site. This is usually used locally\n\t // in a development environment. e.g., kdrv.web.franklyinc.com\n\t //\n\t // defaultConfigHost: '0.0.0.0',\n\t\n\t // AMS endpoint.\n\t //\n\t amsEndpoint: {\n\t url: 'https://managewnow.worldnow.com/config',\n\t headers: {\n\t 'X-Parse-Application-Id': 'wPJuyJsloZ14Rx7rUIk1BLLlpmrVt7rHqD5w3iza'\n\t }\n\t },\n\t\n\t mailServer: {\n\t host: \"10.1.10.230\",\n\t port: 25,\n\t secure: false,\n\t connectionTimeout: 300000\n\t },\n\t apiEndpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).API_ENDPOINT || 'https://platform.franklyinc.com',\n\t widgetApiEndpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).WIDGET_API_ENDPOINT || 'https://api.worldnow.com/feed/v3.0/widgets',\n\t cmsApiEnpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).CMS_API_ENDPOINT || 'https://cms.worldnow.com'\n\t};\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1302 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = {\n\t redisPort: 6379,\n\t redisEndpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).REDIS_ENDPOINT || 'frankly-platform-qa.ahuod3.ng.0001.use1.cache.amazonaws.com',\n\t\n\t privateRepo: {\n\t registry: 'http://52.91.30.187/',\n\t username: 'frankly',\n\t password: 'frankly',\n\t email: 'frankly@franklyinc.com',\n\t defaultPackage: 'wnow'\n\t },\n\t\n\t amsEndpoint: {\n\t url: 'https://managewnow.managedsys1.worldnow.com/config',\n\t headers: {\n\t 'X-Parse-Application-Id': 'wPJuyJsloZ14Rx7rUIk1BLLlpmrVt7rHqD5w3iza'\n\t }\n\t },\n\t apiEndpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).API_ENDPOINT || 'https://platform-qa.franklyinc.com',\n\t widgetApiEndpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).WIDGET_API_ENDPOINT || 'https://api.dsys1.worldnow.com/feed/v3.0/widgets',\n\t cmsApiEnpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).CMS_API_ENDPOINT || 'https://cms.dsys1.worldnow.com'\n\t};\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1303 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar getSettings = function getSettings() {\n\t var SSR_AFFILIATES = typeof ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).SSR_AFFILIATES !== 'undefined' ? ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).SSR_AFFILIATES : '';\n\t\n\t var SSR_ON = ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).SSR_ON === 'false' || ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).SSR_ON === '0' ? false : true;\n\t\n\t var SSR_PASSING_REDUX = ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).SSR_PASSING_REDUX === 'false' || ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).SSR_PASSING_REDUX === '0' ? false : true;\n\t\n\t return { SSR_ON: SSR_ON, SSR_AFFILIATES: SSR_AFFILIATES, SSR_PASSING_REDUX: SSR_PASSING_REDUX };\n\t};\n\t\n\tvar isMatchedAffiliates = function isMatchedAffiliates(affiliateName) {\n\t if (!getSettings().SSR_AFFILIATES) {\n\t return true;\n\t }\n\t var arr = getSettings().SSR_AFFILIATES.split(',').map(function (str) {\n\t return str.trim();\n\t });\n\t var isMatched = false;\n\t for (var i = 0; i < arr.length; i++) {\n\t if (arr[i].toLowerCase() === affiliateName.toLowerCase()) {\n\t isMatched = true;\n\t break;\n\t }\n\t }\n\t return isMatched;\n\t};\n\t\n\tvar isSSR = function isSSR(affiliateName) {\n\t return getSettings().SSR_AFFILIATES ? isMatchedAffiliates(affiliateName) && getSettings().SSR_ON : getSettings().SSR_ON;\n\t};\n\t\n\t// if match any of config.notAllowableAPIs, then return false;\n\tvar isAllowable = function isAllowable(url) {\n\t var matched = config.notAllowableAPIs.filter(function (entry) {\n\t if ((typeof entry === 'undefined' ? 'undefined' : _typeof(entry)) === 'object' && entry instanceof RegExp && typeof url === 'string' && url.match(entry)) {\n\t return true;\n\t } else if (url === entry) {\n\t return true;\n\t }\n\t return false;\n\t });\n\t\n\t return matched.length > 0 ? false : true;\n\t};\n\t\n\tvar config = {\n\t isMatchedAffiliates: isMatchedAffiliates,\n\t isSSR: isSSR,\n\t isAllowable: isAllowable,\n\t settings: getSettings(),\n\t components: { // components not specified here will be assumed client-side rendering only\n\t 'components/core/Header': { ssr: true },\n\t 'components/core/CollapsibleHeader': { ssr: true },\n\t 'components/core/TallHeader': { ssr: true },\n\t 'components/core/SimpleNavigation': { ssr: true },\n\t 'components/core/FooterNavigation': { ssr: true },\n\t 'components/core/Footer': { ssr: true },\n\t 'components/news/CardContainer': { ssr: true },\n\t 'components/news/Card': { ssr: true },\n\t 'components/news/CardList': { ssr: true },\n\t 'components/news/Clip': { ssr: true },\n\t 'components/news/Article': { ssr: true },\n\t 'components/news/ArticleList': { ssr: true },\n\t 'components/news/NewsBanner': { ssr: true },\n\t 'components/news/AssociatedContent': { ssr: true },\n\t 'components/news/SliderArticleList': { ssr: true },\n\t 'components/weather/MeteorologistForecast': { ssr: true },\n\t 'components/media/VideoPlayer': { ssr: true },\n\t 'components/media/NewsyVideo': { ssr: true },\n\t 'components/media/LiveStreamVideo': { ssr: true },\n\t 'components/media/LiveStreamVideoSwitcher': { ssr: true },\n\t 'components/media/VideoThumbnail': { ssr: true },\n\t 'components/media/Video': { ssr: true },\n\t 'components/shared/PageTitle': { ssr: true },\n\t 'components/shared/CodeBlock': { ssr: true },\n\t 'components/shared/Link': { ssr: true },\n\t 'components/shared/IFrame_new': { ssr: true },\n\t 'components/news/Slideshow': { ssr: true },\n\t 'components/news/ImageSlideshow': { ssr: true },\n\t 'components/news/CategoryGrid': { ssr: true },\n\t 'components/weather/StationImages': { ssr: true },\n\t 'components/custom/ssr/Footer': { ssr: true },\n\t 'components/custom/ssr/Header': { ssr: true },\n\t 'components/custom/ssr/HomePageTakeover': { ssr: true },\n\t 'components/custom/ssr/SendTo': { ssr: true },\n\t 'components/custom/ssr/WeatherTakeover': { ssr: true },\n\t 'components/custom/ssr/WarnEspRadar': { ssr: true },\n\t 'components/custom/ssr/WeatherBlock': { ssr: true },\n\t 'components/custom/ssr/UControl': { ssr: true },\n\t 'components/custom/ssr/Seismograph': { ssr: true },\n\t 'components/custom/ssr/EarthquakeMap': { ssr: true },\n\t 'components/custom/ssr/SchoolClosings': { ssr: true },\n\t 'components/custom/ssr/ElectionPage': { ssr: true },\n\t 'components/custom/ssr/TrafficPage': { ssr: true },\n\t 'components/custom/ssr/LayoutFullBleed': { ssr: true },\n\t 'components/custom/ssr/LayoutOneByFive': { ssr: true },\n\t 'components/custom/ssr/LayoutTwoByFour': { ssr: true },\n\t 'components/custom/ssr/LayoutTwoByThree': { ssr: true },\n\t 'components/custom/ssr/LayoutCarousel': { ssr: true },\n\t 'components/custom/ssr/LayoutOneTwoThree': { ssr: true },\n\t 'components/custom/ssr/LayoutLandscapeList': { ssr: true },\n\t 'components/custom/ssr/LayoutOneTwoList': { ssr: true },\n\t 'components/custom/ssr/LayoutThreeByN': { ssr: true },\n\t 'components/custom/ssr/LayoutOneFeature': { ssr: true },\n\t 'components/custom/ssr/LayoutCarouselWithFeature': { ssr: true },\n\t 'components/custom/ssr/WatchesAndWarnings': { ssr: true },\n\t 'components/custom/ssr/HelperDarkBackground': { ssr: true },\n\t 'components/custom/ssr/NwsWeatherAlerts': { ssr: true },\n\t 'components/custom/ssr/PageTitle': { ssr: true },\n\t 'components/custom/ssr/HourlyTemperatures': { ssr: true },\n\t 'components/custom/ssr/Almanac': { ssr: true },\n\t 'components/custom/ssr/NineDayForecast': { ssr: true },\n\t 'components/custom/ssr/PlayFirstClipFromCategory': { ssr: true },\n\t 'components/custom/ssr/RadarCallToAction': { ssr: true },\n\t 'components/custom/ssr/SkyCam': { ssr: true },\n\t 'components/custom/ssr/SkycamPage': { ssr: true },\n\t 'components/custom/ssr/WeatherAppAdvert': { ssr: true },\n\t 'components/custom/ssr/WeatherSummary': { ssr: true },\n\t 'components/custom/ssr/WindChart': { ssr: true },\n\t 'components/custom/ssr/ArchiveCalendar': { ssr: true },\n\t 'components/custom/ssr/Image': { ssr: true },\n\t 'components/custom/ssr/ResponsiveAdContainer': { ssr: true },\n\t 'components/custom/ssr/WeatherAlerts': { ssr: true },\n\t 'components/custom/ssr/RadioBanner': { ssr: true },\n\t 'components/custom/ssr/BaronAlmanac': { ssr: true },\n\t 'components/custom/ssr/BaronHourlyTemperatures': { ssr: true },\n\t 'components/custom/ssr/BaronWindChart': { ssr: true },\n\t 'components/custom/ssr/BaronResponsiveMap': { ssr: true },\n\t 'components/custom/ssr/BaronSevenDayForecast': { ssr: true },\n\t 'components/custom/ssr/BaronNineDayForecast': { ssr: true },\n\t 'components/custom/ssr/BaronWeatherBlock': { ssr: true },\n\t 'components/custom/ssr/BaronWeatherSummary': { ssr: true },\n\t 'components/custom/ssr/BaronSimpleDatePicker': { ssr: true },\n\t 'components/custom/ssr/LayoutRightRailStories': { ssr: true },\n\t 'components/custom/ssr/LayoutTwoThree': { ssr: true },\n\t 'components/Timestamp': { ssr: true },\n\t 'components/AdvertisementUnit': { ssr: true }\n\t },\n\t notAllowableAPIs: [/\\$/gi, '/api/integrations/wsi/current']\n\t};\n\t\n\texports.default = { ssr: config };\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1304 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = {\n\t redisPort: 6379,\n\t redisEndpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).REDIS_ENDPOINT || 'frankly-platform-qa.ahuod3.ng.0001.use1.cache.amazonaws.com',\n\t\n\t amsEndpoint: {\n\t url: 'https://managewnow.manageddev1.worldnow.com/config',\n\t headers: {\n\t 'X-Parse-Application-Id': 'wPJuyJsloZ14Rx7rUIk1BLLlpmrVt7rHqD5w3iza'\n\t }\n\t },\n\t\n\t apiEndpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).API_ENDPOINT || 'https://platform-qa.franklyinc.com',\n\t widgetApiEndpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).WIDGET_API_ENDPOINT || 'https://api.ddev1.worldnow.com/feed/v3.0/widgets',\n\t cmsApiEnpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).CMS_API_ENDPOINT || 'https://cms.ddev1.worldnow.com'\n\t};\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1305 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = {\n\t redisPort: 6379,\n\t redisEndpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).REDIS_ENDPOINT || 'frankly-platformdemo.ahuod3.ng.0001.use1.cache.amazonaws.com',\n\t\n\t privateRepo: {\n\t registry: 'http://52.91.30.187/',\n\t username: 'frankly',\n\t password: 'frankly',\n\t email: 'frankly@franklyinc.com',\n\t defaultPackage: 'wnow'\n\t },\n\t\n\t amsEndpoint: {\n\t url: 'https://managewnow.managedua1.worldnow.com/config',\n\t headers: {\n\t 'X-Parse-Application-Id': 'wPJuyJsloZ14Rx7rUIk1BLLlpmrVt7rHqD5w3iza'\n\t }\n\t },\n\t apiEndpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).API_ENDPOINT || 'https://platform-qa.franklyinc.com',\n\t widgetApiEndpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).WIDGET_API_ENDPOINT || 'https://api.dsys1.worldnow.com/feed/v3.0/widgets',\n\t cmsApiEnpoint: ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}).CMS_API_ENDPOINT || 'https://cms.dua1.worldnow.com'\n\t};\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1306 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\t\n\tfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar _process$env = ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}),\n\t BROWSER = _process$env.BROWSER,\n\t NODE_ENV = _process$env.NODE_ENV;\n\t\n\tvar AltResolver = function () {\n\t function AltResolver() {\n\t _classCallCheck(this, AltResolver);\n\t\n\t this.didFetchData = false;\n\t this.pendingActions = [];\n\t }\n\t\n\t _createClass(AltResolver, [{\n\t key: 'resolve',\n\t value: function resolve(action) {\n\t var setImmediate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : NODE_ENV === 'test';\n\t\n\t if (BROWSER && !this.didFetchData) {\n\t return action();\n\t } else if (setImmediate) {\n\t return action();\n\t }\n\t\n\t this.pendingActions = [].concat(_toConsumableArray(this.pendingActions), [action]);\n\t }\n\t }, {\n\t key: 'dispatchPendingActions',\n\t value: function () {\n\t var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n\t var _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, action;\n\t\n\t return regeneratorRuntime.wrap(function _callee$(_context) {\n\t while (1) {\n\t switch (_context.prev = _context.next) {\n\t case 0:\n\t _iteratorNormalCompletion = true;\n\t _didIteratorError = false;\n\t _iteratorError = undefined;\n\t _context.prev = 3;\n\t _iterator = this.pendingActions[Symbol.iterator]();\n\t\n\t case 5:\n\t if (_iteratorNormalCompletion = (_step = _iterator.next()).done) {\n\t _context.next = 12;\n\t break;\n\t }\n\t\n\t action = _step.value;\n\t _context.next = 9;\n\t return action();\n\t\n\t case 9:\n\t _iteratorNormalCompletion = true;\n\t _context.next = 5;\n\t break;\n\t\n\t case 12:\n\t _context.next = 18;\n\t break;\n\t\n\t case 14:\n\t _context.prev = 14;\n\t _context.t0 = _context['catch'](3);\n\t _didIteratorError = true;\n\t _iteratorError = _context.t0;\n\t\n\t case 18:\n\t _context.prev = 18;\n\t _context.prev = 19;\n\t\n\t if (!_iteratorNormalCompletion && _iterator.return) {\n\t _iterator.return();\n\t }\n\t\n\t case 21:\n\t _context.prev = 21;\n\t\n\t if (!_didIteratorError) {\n\t _context.next = 24;\n\t break;\n\t }\n\t\n\t throw _iteratorError;\n\t\n\t case 24:\n\t return _context.finish(21);\n\t\n\t case 25:\n\t return _context.finish(18);\n\t\n\t case 26:\n\t case 'end':\n\t return _context.stop();\n\t }\n\t }\n\t }, _callee, this, [[3, 14, 18, 26], [19,, 21, 25]]);\n\t }));\n\t\n\t function dispatchPendingActions() {\n\t return _ref.apply(this, arguments);\n\t }\n\t\n\t return dispatchPendingActions;\n\t }()\n\t }]);\n\t\n\t return AltResolver;\n\t}();\n\t\n\texports.default = AltResolver;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1307 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _qs = __webpack_require__(489);\n\t\n\tvar _qs2 = _interopRequireDefault(_qs);\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _debug = __webpack_require__(295);\n\t\n\tvar _debug2 = _interopRequireDefault(_debug);\n\t\n\tvar _reactDom = __webpack_require__(43);\n\t\n\tvar _server = __webpack_require__(2168);\n\t\n\tvar _reactRouter = __webpack_require__(67);\n\t\n\tvar _altContainer = __webpack_require__(1065);\n\t\n\tvar _altContainer2 = _interopRequireDefault(_altContainer);\n\t\n\tvar _reactRedux = __webpack_require__(255);\n\t\n\tvar _store = __webpack_require__(1293);\n\t\n\tvar _intlLoader = __webpack_require__(586);\n\t\n\tvar _intlLoader2 = _interopRequireDefault(_intlLoader);\n\t\n\tvar _InternalServerErrorPage = __webpack_require__(1110);\n\t\n\tvar _InternalServerErrorPage2 = _interopRequireDefault(_InternalServerErrorPage);\n\t\n\tvar _config = __webpack_require__(587);\n\t\n\tvar _config2 = _interopRequireDefault(_config);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /* eslint react/display-name: 0 */\n\t\n\t\n\t// We just need something unique\n\tvar WrapperDomId = '_universalRender-wrapper';\n\t\n\tvar _process$env = ({\"BROWSER\":true,\"NODE_ENV\":\"production\"}),\n\t BROWSER = _process$env.BROWSER,\n\t NODE_ENV = _process$env.NODE_ENV;\n\t\n\t\n\tvar toParams = function toParams(location) {\n\t var queryString = location.split('?')[1];\n\t\n\t return queryString ? _qs2.default.parse(queryString) : {};\n\t};\n\t\n\t// NOTE: This is disabled by default for performance reasons. Enable when we can fix it.\n\tvar shouldRenderServerSide = function shouldRenderServerSide(location) {\n\t return toParams(location).rendering === 'server';\n\t};\n\t\n\t// NOTE: This is disabled until we have a way to define data needs per component.\n\tvar shouldPrefetchComponentData = function shouldPrefetchComponentData(location) {\n\t return toParams(location).rendering === 'prefetch';\n\t};\n\t\n\tvar appendData = function appendData(html, serializedData, reduxData) {\n\t return '\\n
\\n ' + html + '\\n
\\n \\n \\n ';\n\t};\n\t\n\t/* eslint space-before-function-paren:0 */\n\t// https://github.com/eslint/eslint/issues/4442\n\t\n\texports.default = function () {\n\t var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(_ref2) {\n\t var redux = _ref2.redux,\n\t flux = _ref2.flux,\n\t location = _ref2.pageUri,\n\t renderProps = _ref2.renderProps,\n\t isSSR = _ref2.isSSR;\n\t\n\t var newRedux, _flux$getStore$getSta, _flux$getStore$getSta2, locale, _ref3, messages, routes, _require, browserHistory, element, _element, app, fluxSnapshot, reduxSnapshot, shouldRender, _flux$getStore$getSta3, titleBase, title, metas, statusCode;\n\t\n\t return regeneratorRuntime.wrap(function _callee$(_context) {\n\t while (1) {\n\t switch (_context.prev = _context.next) {\n\t case 0:\n\t if (!BROWSER) {\n\t _context.next = 18;\n\t break;\n\t }\n\t\n\t if (NODE_ENV === 'development') {\n\t __webpack_require__(1066)(flux);\n\t }\n\t\n\t // NOTE: flux.bootstrap only takes string\n\t flux.bootstrap(JSON.stringify(window._franklyInitialData));\n\t\n\t newRedux = (0, _store.makeStore)(window._reduxData);\n\t\n\t // load the intl-polyfill if needed\n\t // load the correct data/{lang}.json into app\n\t\n\t _flux$getStore$getSta = flux.getStore('locale').getState(), _flux$getStore$getSta2 = _slicedToArray(_flux$getStore$getSta.locales, 1), locale = _flux$getStore$getSta2[0];\n\t _context.next = 7;\n\t return (0, _intlLoader2.default)(locale);\n\t\n\t case 7:\n\t _ref3 = _context.sent;\n\t messages = _ref3.messages;\n\t\n\t flux.getActions('locale').switchLocale({ locale: locale, messages: messages });\n\t\n\t routes = __webpack_require__(1296);\n\t _require = __webpack_require__(67), browserHistory = _require.browserHistory;\n\t element = _react2.default.createElement(\n\t _reactRedux.Provider,\n\t { store: newRedux, ssr: 'client' },\n\t _react2.default.createElement(\n\t _altContainer2.default,\n\t { flux: flux },\n\t _react2.default.createElement(_reactRouter.Router, {\n\t history: browserHistory,\n\t routes: routes(flux) })\n\t )\n\t );\n\t\n\t // `alt-resolver` will respect server setting on the first render\n\t\n\t flux.resolver.didFetchData = shouldRenderServerSide(location) || shouldPrefetchComponentData(location);\n\t\n\t // Render element in the same container as the SSR\n\t (0, _reactDom.render)(element, document.getElementById(WrapperDomId));\n\t\n\t // Tell `alt-resolver` we have done the first render. Next promises will be resolved.\n\t flux.resolver.didFetchData = false;\n\t _context.next = 42;\n\t break;\n\t\n\t case 18:\n\t _element = _react2.default.createElement(\n\t _reactRedux.Provider,\n\t { store: redux },\n\t _react2.default.createElement(\n\t _altContainer2.default,\n\t { flux: flux },\n\t _react2.default.createElement(_reactRouter.RouterContext, renderProps)\n\t )\n\t );\n\t\n\t // const routes = require('routes');\n\t // const { browserHistory } = require('react-router');\n\t // element = (\n\t //
\n\t // \n\t // \n\t // \n\t // \n\t // );\n\t\n\t app = void 0;\n\t fluxSnapshot = void 0;\n\t reduxSnapshot = void 0;\n\t _context.prev = 22;\n\t shouldRender = shouldRenderServerSide(location);\n\t\n\t if (!(shouldRender || shouldPrefetchComponentData(location))) {\n\t _context.next = 29;\n\t break;\n\t }\n\t\n\t // TODO: Figure out/implement a better way to resolve data dependencies\n\t // Collect promises with a first render\n\t (0, _debug2.default)('dev')('first server render');\n\t (0, _server.renderToString)(_element);\n\t\n\t _context.next = 29;\n\t return flux.resolver.dispatchPendingActions();\n\t\n\t case 29:\n\t\n\t //if (shouldRender) {\n\t if (isSSR || shouldRender) {\n\t (0, _debug2.default)('dev')('second server render');\n\t app = (0, _server.renderToString)(_element);\n\t } else {\n\t app = ' ';\n\t }\n\t\n\t // TODO: Improve performance by taking partial snapshot\n\t //fluxSnapshot = flux.takeSnapshot();\n\t fluxSnapshot = flux.takeSnapshot().replace(/>> Redux stringify error:', reduxError);\n\t }\n\t _context.next = 40;\n\t break;\n\t\n\t case 34:\n\t _context.prev = 34;\n\t _context.t0 = _context['catch'](22);\n\t\n\t // Catch rendering error, render a 500 page\n\t (0, _debug2.default)('koa')('rendering error');\n\t (0, _debug2.default)('koa')(_context.t0);\n\t\n\t fluxSnapshot = flux.takeSnapshot();\n\t app = (0, _server.renderToString)(_react2.default.createElement(_InternalServerErrorPage2.default, null));\n\t\n\t case 40:\n\t\n\t // Get status code, page title and page metas for rendering\n\t _flux$getStore$getSta3 = flux.getStore('Helmet').getState(), titleBase = _flux$getStore$getSta3.titleBase, title = _flux$getStore$getSta3.title, metas = _flux$getStore$getSta3.metas, statusCode = _flux$getStore$getSta3.statusCode;\n\t return _context.abrupt('return', {\n\t statusCode: statusCode,\n\t metas: metas,\n\t body: appendData(app, fluxSnapshot, reduxSnapshot),\n\t title: (title ? title + ' - ' : '') + titleBase\n\t });\n\t\n\t case 42:\n\t case 'end':\n\t return _context.stop();\n\t }\n\t }\n\t }, _callee, undefined, [[22, 34]]);\n\t }));\n\t\n\t return function (_x) {\n\t return _ref.apply(this, arguments);\n\t };\n\t}();\n\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1308 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {\"use strict\";\n\t\n\t__webpack_require__(1508);\n\t\n\t__webpack_require__(1509);\n\t\n\t__webpack_require__(1309);\n\t\n\tif (global._babelPolyfill) {\n\t throw new Error(\"only one instance of babel-polyfill is allowed\");\n\t}\n\tglobal._babelPolyfill = true;\n\t\n\tvar DEFINE_PROPERTY = \"defineProperty\";\n\tfunction define(O, key, value) {\n\t O[key] || Object[DEFINE_PROPERTY](O, key, {\n\t writable: true,\n\t configurable: true,\n\t value: value\n\t });\n\t}\n\t\n\tdefine(String.prototype, \"padLeft\", \"\".padStart);\n\tdefine(String.prototype, \"padRight\", \"\".padEnd);\n\t\n\t\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function (key) {\n\t [][key] && define(Array, key, Function.call.bind([][key]));\n\t});\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ }),\n/* 1309 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(1316);\n\tmodule.exports = __webpack_require__(79).RegExp.escape;\n\n\n/***/ }),\n/* 1310 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(27);\n\tvar isArray = __webpack_require__(272);\n\tvar SPECIES = __webpack_require__(34)('species');\n\t\n\tmodule.exports = function (original) {\n\t var C;\n\t if (isArray(original)) {\n\t C = original.constructor;\n\t // cross-realm fallback\n\t if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n\t if (isObject(C)) {\n\t C = C[SPECIES];\n\t if (C === null) C = undefined;\n\t }\n\t } return C === undefined ? Array : C;\n\t};\n\n\n/***/ }),\n/* 1311 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\n\tvar fails = __webpack_require__(25);\n\tvar getTime = Date.prototype.getTime;\n\tvar $toISOString = Date.prototype.toISOString;\n\t\n\tvar lz = function (num) {\n\t return num > 9 ? num : '0' + num;\n\t};\n\t\n\t// PhantomJS / old WebKit has a broken implementations\n\tmodule.exports = (fails(function () {\n\t return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n\t}) || !fails(function () {\n\t $toISOString.call(new Date(NaN));\n\t})) ? function toISOString() {\n\t if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n\t var d = this;\n\t var y = d.getUTCFullYear();\n\t var m = d.getUTCMilliseconds();\n\t var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n\t return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n\t '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n\t 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n\t ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n\t} : $toISOString;\n\n\n/***/ }),\n/* 1312 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar anObject = __webpack_require__(14);\n\tvar toPrimitive = __webpack_require__(92);\n\tvar NUMBER = 'number';\n\t\n\tmodule.exports = function (hint) {\n\t if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n\t return toPrimitive(anObject(this), hint != NUMBER);\n\t};\n\n\n/***/ }),\n/* 1313 */\n[2415, 143, 276, 224],\n/* 1314 */\n[2417, 225],\n/* 1315 */\n/***/ (function(module, exports) {\n\n\tmodule.exports = function (regExp, replace) {\n\t var replacer = replace === Object(replace) ? function (part) {\n\t return replace[part];\n\t } : replace;\n\t return function (it) {\n\t return String(it).replace(regExp, replacer);\n\t };\n\t};\n\n\n/***/ }),\n/* 1316 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://github.com/benjamingr/RexExp.escape\n\tvar $export = __webpack_require__(5);\n\tvar $re = __webpack_require__(1315)(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\t\n\t$export($export.S, 'RegExp', { escape: function escape(it) { return $re(it); } });\n\n\n/***/ }),\n/* 1317 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.P, 'Array', { copyWithin: __webpack_require__(590) });\n\t\n\t__webpack_require__(117)('copyWithin');\n\n\n/***/ }),\n/* 1318 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar $every = __webpack_require__(89)(4);\n\t\n\t$export($export.P + $export.F * !__webpack_require__(81)([].every, true), 'Array', {\n\t // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n\t every: function every(callbackfn /* , thisArg */) {\n\t return $every(this, callbackfn, arguments[1]);\n\t }\n\t});\n\n\n/***/ }),\n/* 1319 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.P, 'Array', { fill: __webpack_require__(375) });\n\t\n\t__webpack_require__(117)('fill');\n\n\n/***/ }),\n/* 1320 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar $filter = __webpack_require__(89)(2);\n\t\n\t$export($export.P + $export.F * !__webpack_require__(81)([].filter, true), 'Array', {\n\t // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n\t filter: function filter(callbackfn /* , thisArg */) {\n\t return $filter(this, callbackfn, arguments[1]);\n\t }\n\t});\n\n\n/***/ }),\n/* 1321 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\n\tvar $export = __webpack_require__(5);\n\tvar $find = __webpack_require__(89)(6);\n\tvar KEY = 'findIndex';\n\tvar forced = true;\n\t// Shouldn't skip holes\n\tif (KEY in []) Array(1)[KEY](function () { forced = false; });\n\t$export($export.P + $export.F * forced, 'Array', {\n\t findIndex: function findIndex(callbackfn /* , that = undefined */) {\n\t return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n\t }\n\t});\n\t__webpack_require__(117)(KEY);\n\n\n/***/ }),\n/* 1322 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\n\tvar $export = __webpack_require__(5);\n\tvar $find = __webpack_require__(89)(5);\n\tvar KEY = 'find';\n\tvar forced = true;\n\t// Shouldn't skip holes\n\tif (KEY in []) Array(1)[KEY](function () { forced = false; });\n\t$export($export.P + $export.F * forced, 'Array', {\n\t find: function find(callbackfn /* , that = undefined */) {\n\t return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n\t }\n\t});\n\t__webpack_require__(117)(KEY);\n\n\n/***/ }),\n/* 1323 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar $forEach = __webpack_require__(89)(0);\n\tvar STRICT = __webpack_require__(81)([].forEach, true);\n\t\n\t$export($export.P + $export.F * !STRICT, 'Array', {\n\t // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n\t forEach: function forEach(callbackfn /* , thisArg */) {\n\t return $forEach(this, callbackfn, arguments[1]);\n\t }\n\t});\n\n\n/***/ }),\n/* 1324 */\n[2462, 80, 5, 45, 601, 383, 37, 377, 399, 274],\n/* 1325 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar $indexOf = __webpack_require__(269)(false);\n\tvar $native = [].indexOf;\n\tvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\t\n\t$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(81)($native)), 'Array', {\n\t // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n\t indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n\t return NEGATIVE_ZERO\n\t // convert -0 to +0\n\t ? $native.apply(this, arguments) || 0\n\t : $indexOf(this, searchElement, arguments[1]);\n\t }\n\t});\n\n\n/***/ }),\n/* 1326 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.S, 'Array', { isArray: __webpack_require__(272) });\n\n\n/***/ }),\n/* 1327 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// 22.1.3.13 Array.prototype.join(separator)\n\tvar $export = __webpack_require__(5);\n\tvar toIObject = __webpack_require__(74);\n\tvar arrayJoin = [].join;\n\t\n\t// fallback for not array-like strings\n\t$export($export.P + $export.F * (__webpack_require__(223) != Object || !__webpack_require__(81)(arrayJoin)), 'Array', {\n\t join: function join(separator) {\n\t return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n\t }\n\t});\n\n\n/***/ }),\n/* 1328 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar toIObject = __webpack_require__(74);\n\tvar toInteger = __webpack_require__(82);\n\tvar toLength = __webpack_require__(37);\n\tvar $native = [].lastIndexOf;\n\tvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\t\n\t$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(81)($native)), 'Array', {\n\t // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n\t lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n\t // convert -0 to +0\n\t if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n\t var O = toIObject(this);\n\t var length = toLength(O.length);\n\t var index = length - 1;\n\t if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n\t if (index < 0) index = length + index;\n\t for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n\t return -1;\n\t }\n\t});\n\n\n/***/ }),\n/* 1329 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar $map = __webpack_require__(89)(1);\n\t\n\t$export($export.P + $export.F * !__webpack_require__(81)([].map, true), 'Array', {\n\t // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n\t map: function map(callbackfn /* , thisArg */) {\n\t return $map(this, callbackfn, arguments[1]);\n\t }\n\t});\n\n\n/***/ }),\n/* 1330 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar createProperty = __webpack_require__(377);\n\t\n\t// WebKit Array.of isn't generic\n\t$export($export.S + $export.F * __webpack_require__(25)(function () {\n\t function F() { /* empty */ }\n\t return !(Array.of.call(F) instanceof F);\n\t}), 'Array', {\n\t // 22.1.2.3 Array.of( ...items)\n\t of: function of(/* ...args */) {\n\t var index = 0;\n\t var aLen = arguments.length;\n\t var result = new (typeof this == 'function' ? this : Array)(aLen);\n\t while (aLen > index) createProperty(result, index, arguments[index++]);\n\t result.length = aLen;\n\t return result;\n\t }\n\t});\n\n\n/***/ }),\n/* 1331 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar $reduce = __webpack_require__(592);\n\t\n\t$export($export.P + $export.F * !__webpack_require__(81)([].reduceRight, true), 'Array', {\n\t // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n\t reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n\t return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n\t }\n\t});\n\n\n/***/ }),\n/* 1332 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar $reduce = __webpack_require__(592);\n\t\n\t$export($export.P + $export.F * !__webpack_require__(81)([].reduce, true), 'Array', {\n\t // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n\t reduce: function reduce(callbackfn /* , initialValue */) {\n\t return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n\t }\n\t});\n\n\n/***/ }),\n/* 1333 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar html = __webpack_require__(381);\n\tvar cof = __webpack_require__(78);\n\tvar toAbsoluteIndex = __webpack_require__(147);\n\tvar toLength = __webpack_require__(37);\n\tvar arraySlice = [].slice;\n\t\n\t// fallback for not array-like ES3 strings and DOM objects\n\t$export($export.P + $export.F * __webpack_require__(25)(function () {\n\t if (html) arraySlice.call(html);\n\t}), 'Array', {\n\t slice: function slice(begin, end) {\n\t var len = toLength(this.length);\n\t var klass = cof(this);\n\t end = end === undefined ? len : end;\n\t if (klass == 'Array') return arraySlice.call(this, begin, end);\n\t var start = toAbsoluteIndex(begin, len);\n\t var upTo = toAbsoluteIndex(end, len);\n\t var size = toLength(upTo - start);\n\t var cloned = new Array(size);\n\t var i = 0;\n\t for (; i < size; i++) cloned[i] = klass == 'String'\n\t ? this.charAt(start + i)\n\t : this[start + i];\n\t return cloned;\n\t }\n\t});\n\n\n/***/ }),\n/* 1334 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar $some = __webpack_require__(89)(3);\n\t\n\t$export($export.P + $export.F * !__webpack_require__(81)([].some, true), 'Array', {\n\t // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n\t some: function some(callbackfn /* , thisArg */) {\n\t return $some(this, callbackfn, arguments[1]);\n\t }\n\t});\n\n\n/***/ }),\n/* 1335 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar aFunction = __webpack_require__(55);\n\tvar toObject = __webpack_require__(45);\n\tvar fails = __webpack_require__(25);\n\tvar $sort = [].sort;\n\tvar test = [1, 2, 3];\n\t\n\t$export($export.P + $export.F * (fails(function () {\n\t // IE8-\n\t test.sort(undefined);\n\t}) || !fails(function () {\n\t // V8 bug\n\t test.sort(null);\n\t // Old WebKit\n\t}) || !__webpack_require__(81)($sort)), 'Array', {\n\t // 22.1.3.25 Array.prototype.sort(comparefn)\n\t sort: function sort(comparefn) {\n\t return comparefn === undefined\n\t ? $sort.call(toObject(this))\n\t : $sort.call(toObject(this), aFunction(comparefn));\n\t }\n\t});\n\n\n/***/ }),\n/* 1336 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(146)('Array');\n\n\n/***/ }),\n/* 1337 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 20.3.3.1 / 15.9.4.4 Date.now()\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n\n\n/***/ }),\n/* 1338 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\n\tvar $export = __webpack_require__(5);\n\tvar toISOString = __webpack_require__(1311);\n\t\n\t// PhantomJS / old WebKit has a broken implementations\n\t$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n\t toISOString: toISOString\n\t});\n\n\n/***/ }),\n/* 1339 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar toObject = __webpack_require__(45);\n\tvar toPrimitive = __webpack_require__(92);\n\t\n\t$export($export.P + $export.F * __webpack_require__(25)(function () {\n\t return new Date(NaN).toJSON() !== null\n\t || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n\t}), 'Date', {\n\t // eslint-disable-next-line no-unused-vars\n\t toJSON: function toJSON(key) {\n\t var O = toObject(this);\n\t var pv = toPrimitive(O);\n\t return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n\t }\n\t});\n\n\n/***/ }),\n/* 1340 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar TO_PRIMITIVE = __webpack_require__(34)('toPrimitive');\n\tvar proto = Date.prototype;\n\t\n\tif (!(TO_PRIMITIVE in proto)) __webpack_require__(61)(proto, TO_PRIMITIVE, __webpack_require__(1312));\n\n\n/***/ }),\n/* 1341 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar DateProto = Date.prototype;\n\tvar INVALID_DATE = 'Invalid Date';\n\tvar TO_STRING = 'toString';\n\tvar $toString = DateProto[TO_STRING];\n\tvar getTime = DateProto.getTime;\n\tif (new Date(NaN) + '' != INVALID_DATE) {\n\t __webpack_require__(62)(DateProto, TO_STRING, function toString() {\n\t var value = getTime.call(this);\n\t // eslint-disable-next-line no-self-compare\n\t return value === value ? $toString.call(this) : INVALID_DATE;\n\t });\n\t}\n\n\n/***/ }),\n/* 1342 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.P, 'Function', { bind: __webpack_require__(593) });\n\n\n/***/ }),\n/* 1343 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar isObject = __webpack_require__(27);\n\tvar getPrototypeOf = __webpack_require__(73);\n\tvar HAS_INSTANCE = __webpack_require__(34)('hasInstance');\n\tvar FunctionProto = Function.prototype;\n\t// 19.2.3.6 Function.prototype[@@hasInstance](V)\n\tif (!(HAS_INSTANCE in FunctionProto)) __webpack_require__(42).f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n\t if (typeof this != 'function' || !isObject(O)) return false;\n\t if (!isObject(this.prototype)) return O instanceof this;\n\t // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n\t while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n\t return false;\n\t} });\n\n\n/***/ }),\n/* 1344 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar dP = __webpack_require__(42).f;\n\tvar FProto = Function.prototype;\n\tvar nameRE = /^\\s*function ([^ (]*)/;\n\tvar NAME = 'name';\n\t\n\t// 19.2.4.2 name\n\tNAME in FProto || __webpack_require__(39) && dP(FProto, NAME, {\n\t configurable: true,\n\t get: function () {\n\t try {\n\t return ('' + this).match(nameRE)[1];\n\t } catch (e) {\n\t return '';\n\t }\n\t }\n\t});\n\n\n/***/ }),\n/* 1345 */\n[2464, 5, 604],\n/* 1346 */\n[2465, 5],\n/* 1347 */\n[2466, 5],\n/* 1348 */\n[2467, 5, 387],\n/* 1349 */\n[2468, 5],\n/* 1350 */\n[2469, 5],\n/* 1351 */\n[2470, 5, 386],\n/* 1352 */\n[2471, 5, 603],\n/* 1353 */\n[2472, 5],\n/* 1354 */\n[2473, 5, 25],\n/* 1355 */\n[2474, 5],\n/* 1356 */\n[2475, 5, 604],\n/* 1357 */\n[2476, 5],\n/* 1358 */\n[2477, 5, 387],\n/* 1359 */\n[2478, 5, 386, 25],\n/* 1360 */\n[2479, 5, 386],\n/* 1361 */\n[2480, 5],\n/* 1362 */\n[2481, 22, 71, 78, 382, 92, 25, 142, 72, 42, 177, 141, 39, 62],\n/* 1363 */\n[2482, 5],\n/* 1364 */\n[2483, 5, 22],\n/* 1365 */\n[2484, 5, 600],\n/* 1366 */\n[2485, 5],\n/* 1367 */\n[2486, 5, 600],\n/* 1368 */\n[2487, 5],\n/* 1369 */\n[2488, 5],\n/* 1370 */\n[2489, 5, 612],\n/* 1371 */\n[2490, 5, 613],\n/* 1372 */\n[2491, 5, 82, 589, 394, 25],\n/* 1373 */\n[2492, 5, 25, 589],\n/* 1374 */\n[2493, 5, 606],\n/* 1375 */\n[2494, 5, 141],\n/* 1376 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(5);\n\t// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n\t$export($export.S + $export.F * !__webpack_require__(39), 'Object', { defineProperties: __webpack_require__(607) });\n\n\n/***/ }),\n/* 1377 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(5);\n\t// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n\t$export($export.S + $export.F * !__webpack_require__(39), 'Object', { defineProperty: __webpack_require__(42).f });\n\n\n/***/ }),\n/* 1378 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.5 Object.freeze(O)\n\tvar isObject = __webpack_require__(27);\n\tvar meta = __webpack_require__(119).onFreeze;\n\t\n\t__webpack_require__(91)('freeze', function ($freeze) {\n\t return function freeze(it) {\n\t return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n\t };\n\t});\n\n\n/***/ }),\n/* 1379 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n\tvar toIObject = __webpack_require__(74);\n\tvar $getOwnPropertyDescriptor = __webpack_require__(72).f;\n\t\n\t__webpack_require__(91)('getOwnPropertyDescriptor', function () {\n\t return function getOwnPropertyDescriptor(it, key) {\n\t return $getOwnPropertyDescriptor(toIObject(it), key);\n\t };\n\t});\n\n\n/***/ }),\n/* 1380 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.7 Object.getOwnPropertyNames(O)\n\t__webpack_require__(91)('getOwnPropertyNames', function () {\n\t return __webpack_require__(608).f;\n\t});\n\n\n/***/ }),\n/* 1381 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.9 Object.getPrototypeOf(O)\n\tvar toObject = __webpack_require__(45);\n\tvar $getPrototypeOf = __webpack_require__(73);\n\t\n\t__webpack_require__(91)('getPrototypeOf', function () {\n\t return function getPrototypeOf(it) {\n\t return $getPrototypeOf(toObject(it));\n\t };\n\t});\n\n\n/***/ }),\n/* 1382 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.11 Object.isExtensible(O)\n\tvar isObject = __webpack_require__(27);\n\t\n\t__webpack_require__(91)('isExtensible', function ($isExtensible) {\n\t return function isExtensible(it) {\n\t return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n\t };\n\t});\n\n\n/***/ }),\n/* 1383 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.12 Object.isFrozen(O)\n\tvar isObject = __webpack_require__(27);\n\t\n\t__webpack_require__(91)('isFrozen', function ($isFrozen) {\n\t return function isFrozen(it) {\n\t return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n\t };\n\t});\n\n\n/***/ }),\n/* 1384 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.13 Object.isSealed(O)\n\tvar isObject = __webpack_require__(27);\n\t\n\t__webpack_require__(91)('isSealed', function ($isSealed) {\n\t return function isSealed(it) {\n\t return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n\t };\n\t});\n\n\n/***/ }),\n/* 1385 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.3.10 Object.is(value1, value2)\n\tvar $export = __webpack_require__(5);\n\t$export($export.S, 'Object', { is: __webpack_require__(616) });\n\n\n/***/ }),\n/* 1386 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.14 Object.keys(O)\n\tvar toObject = __webpack_require__(45);\n\tvar $keys = __webpack_require__(143);\n\t\n\t__webpack_require__(91)('keys', function () {\n\t return function keys(it) {\n\t return $keys(toObject(it));\n\t };\n\t});\n\n\n/***/ }),\n/* 1387 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.15 Object.preventExtensions(O)\n\tvar isObject = __webpack_require__(27);\n\tvar meta = __webpack_require__(119).onFreeze;\n\t\n\t__webpack_require__(91)('preventExtensions', function ($preventExtensions) {\n\t return function preventExtensions(it) {\n\t return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n\t };\n\t});\n\n\n/***/ }),\n/* 1388 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.17 Object.seal(O)\n\tvar isObject = __webpack_require__(27);\n\tvar meta = __webpack_require__(119).onFreeze;\n\t\n\t__webpack_require__(91)('seal', function ($seal) {\n\t return function seal(it) {\n\t return $seal && isObject(it) ? $seal(meta(it)) : it;\n\t };\n\t});\n\n\n/***/ }),\n/* 1389 */\n[2495, 5, 391],\n/* 1390 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// 19.1.3.6 Object.prototype.toString()\n\tvar classof = __webpack_require__(174);\n\tvar test = {};\n\ttest[__webpack_require__(34)('toStringTag')] = 'z';\n\tif (test + '' != '[object z]') {\n\t __webpack_require__(62)(Object.prototype, 'toString', function toString() {\n\t return '[object ' + classof(this) + ']';\n\t }, true);\n\t}\n\n\n/***/ }),\n/* 1391 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(5);\n\tvar $parseFloat = __webpack_require__(612);\n\t// 18.2.4 parseFloat(string)\n\t$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n\n\n/***/ }),\n/* 1392 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(5);\n\tvar $parseInt = __webpack_require__(613);\n\t// 18.2.5 parseInt(string, radix)\n\t$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n\n\n/***/ }),\n/* 1393 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar LIBRARY = __webpack_require__(118);\n\tvar global = __webpack_require__(22);\n\tvar ctx = __webpack_require__(80);\n\tvar classof = __webpack_require__(174);\n\tvar $export = __webpack_require__(5);\n\tvar isObject = __webpack_require__(27);\n\tvar aFunction = __webpack_require__(55);\n\tvar anInstance = __webpack_require__(139);\n\tvar forOf = __webpack_require__(140);\n\tvar speciesConstructor = __webpack_require__(226);\n\tvar task = __webpack_require__(396).set;\n\tvar microtask = __webpack_require__(388)();\n\tvar newPromiseCapabilityModule = __webpack_require__(389);\n\tvar perform = __webpack_require__(614);\n\tvar userAgent = __webpack_require__(282);\n\tvar promiseResolve = __webpack_require__(615);\n\tvar PROMISE = 'Promise';\n\tvar TypeError = global.TypeError;\n\tvar process = global.process;\n\tvar versions = process && process.versions;\n\tvar v8 = versions && versions.v8 || '';\n\tvar $Promise = global[PROMISE];\n\tvar isNode = classof(process) == 'process';\n\tvar empty = function () { /* empty */ };\n\tvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\n\tvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\t\n\tvar USE_NATIVE = !!function () {\n\t try {\n\t // correct subclassing with @@species support\n\t var promise = $Promise.resolve(1);\n\t var FakePromise = (promise.constructor = {})[__webpack_require__(34)('species')] = function (exec) {\n\t exec(empty, empty);\n\t };\n\t // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n\t return (isNode || typeof PromiseRejectionEvent == 'function')\n\t && promise.then(empty) instanceof FakePromise\n\t // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n\t // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n\t // we can't detect it synchronously, so just check versions\n\t && v8.indexOf('6.6') !== 0\n\t && userAgent.indexOf('Chrome/66') === -1;\n\t } catch (e) { /* empty */ }\n\t}();\n\t\n\t// helpers\n\tvar isThenable = function (it) {\n\t var then;\n\t return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n\t};\n\tvar notify = function (promise, isReject) {\n\t if (promise._n) return;\n\t promise._n = true;\n\t var chain = promise._c;\n\t microtask(function () {\n\t var value = promise._v;\n\t var ok = promise._s == 1;\n\t var i = 0;\n\t var run = function (reaction) {\n\t var handler = ok ? reaction.ok : reaction.fail;\n\t var resolve = reaction.resolve;\n\t var reject = reaction.reject;\n\t var domain = reaction.domain;\n\t var result, then, exited;\n\t try {\n\t if (handler) {\n\t if (!ok) {\n\t if (promise._h == 2) onHandleUnhandled(promise);\n\t promise._h = 1;\n\t }\n\t if (handler === true) result = value;\n\t else {\n\t if (domain) domain.enter();\n\t result = handler(value); // may throw\n\t if (domain) {\n\t domain.exit();\n\t exited = true;\n\t }\n\t }\n\t if (result === reaction.promise) {\n\t reject(TypeError('Promise-chain cycle'));\n\t } else if (then = isThenable(result)) {\n\t then.call(result, resolve, reject);\n\t } else resolve(result);\n\t } else reject(value);\n\t } catch (e) {\n\t if (domain && !exited) domain.exit();\n\t reject(e);\n\t }\n\t };\n\t while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n\t promise._c = [];\n\t promise._n = false;\n\t if (isReject && !promise._h) onUnhandled(promise);\n\t });\n\t};\n\tvar onUnhandled = function (promise) {\n\t task.call(global, function () {\n\t var value = promise._v;\n\t var unhandled = isUnhandled(promise);\n\t var result, handler, console;\n\t if (unhandled) {\n\t result = perform(function () {\n\t if (isNode) {\n\t process.emit('unhandledRejection', value, promise);\n\t } else if (handler = global.onunhandledrejection) {\n\t handler({ promise: promise, reason: value });\n\t } else if ((console = global.console) && console.error) {\n\t console.error('Unhandled promise rejection', value);\n\t }\n\t });\n\t // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n\t promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n\t } promise._a = undefined;\n\t if (unhandled && result.e) throw result.v;\n\t });\n\t};\n\tvar isUnhandled = function (promise) {\n\t return promise._h !== 1 && (promise._a || promise._c).length === 0;\n\t};\n\tvar onHandleUnhandled = function (promise) {\n\t task.call(global, function () {\n\t var handler;\n\t if (isNode) {\n\t process.emit('rejectionHandled', promise);\n\t } else if (handler = global.onrejectionhandled) {\n\t handler({ promise: promise, reason: promise._v });\n\t }\n\t });\n\t};\n\tvar $reject = function (value) {\n\t var promise = this;\n\t if (promise._d) return;\n\t promise._d = true;\n\t promise = promise._w || promise; // unwrap\n\t promise._v = value;\n\t promise._s = 2;\n\t if (!promise._a) promise._a = promise._c.slice();\n\t notify(promise, true);\n\t};\n\tvar $resolve = function (value) {\n\t var promise = this;\n\t var then;\n\t if (promise._d) return;\n\t promise._d = true;\n\t promise = promise._w || promise; // unwrap\n\t try {\n\t if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n\t if (then = isThenable(value)) {\n\t microtask(function () {\n\t var wrapper = { _w: promise, _d: false }; // wrap\n\t try {\n\t then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n\t } catch (e) {\n\t $reject.call(wrapper, e);\n\t }\n\t });\n\t } else {\n\t promise._v = value;\n\t promise._s = 1;\n\t notify(promise, false);\n\t }\n\t } catch (e) {\n\t $reject.call({ _w: promise, _d: false }, e); // wrap\n\t }\n\t};\n\t\n\t// constructor polyfill\n\tif (!USE_NATIVE) {\n\t // 25.4.3.1 Promise(executor)\n\t $Promise = function Promise(executor) {\n\t anInstance(this, $Promise, PROMISE, '_h');\n\t aFunction(executor);\n\t Internal.call(this);\n\t try {\n\t executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n\t } catch (err) {\n\t $reject.call(this, err);\n\t }\n\t };\n\t // eslint-disable-next-line no-unused-vars\n\t Internal = function Promise(executor) {\n\t this._c = []; // <- awaiting reactions\n\t this._a = undefined; // <- checked in isUnhandled reactions\n\t this._s = 0; // <- state\n\t this._d = false; // <- done\n\t this._v = undefined; // <- value\n\t this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n\t this._n = false; // <- notify\n\t };\n\t Internal.prototype = __webpack_require__(145)($Promise.prototype, {\n\t // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n\t then: function then(onFulfilled, onRejected) {\n\t var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n\t reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n\t reaction.fail = typeof onRejected == 'function' && onRejected;\n\t reaction.domain = isNode ? process.domain : undefined;\n\t this._c.push(reaction);\n\t if (this._a) this._a.push(reaction);\n\t if (this._s) notify(this, false);\n\t return reaction.promise;\n\t },\n\t // 25.4.5.1 Promise.prototype.catch(onRejected)\n\t 'catch': function (onRejected) {\n\t return this.then(undefined, onRejected);\n\t }\n\t });\n\t OwnPromiseCapability = function () {\n\t var promise = new Internal();\n\t this.promise = promise;\n\t this.resolve = ctx($resolve, promise, 1);\n\t this.reject = ctx($reject, promise, 1);\n\t };\n\t newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n\t return C === $Promise || C === Wrapper\n\t ? new OwnPromiseCapability(C)\n\t : newGenericPromiseCapability(C);\n\t };\n\t}\n\t\n\t$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n\t__webpack_require__(176)($Promise, PROMISE);\n\t__webpack_require__(146)(PROMISE);\n\tWrapper = __webpack_require__(79)[PROMISE];\n\t\n\t// statics\n\t$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n\t // 25.4.4.5 Promise.reject(r)\n\t reject: function reject(r) {\n\t var capability = newPromiseCapability(this);\n\t var $$reject = capability.reject;\n\t $$reject(r);\n\t return capability.promise;\n\t }\n\t});\n\t$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n\t // 25.4.4.6 Promise.resolve(x)\n\t resolve: function resolve(x) {\n\t return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n\t }\n\t});\n\t$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(274)(function (iter) {\n\t $Promise.all(iter)['catch'](empty);\n\t})), PROMISE, {\n\t // 25.4.4.1 Promise.all(iterable)\n\t all: function all(iterable) {\n\t var C = this;\n\t var capability = newPromiseCapability(C);\n\t var resolve = capability.resolve;\n\t var reject = capability.reject;\n\t var result = perform(function () {\n\t var values = [];\n\t var index = 0;\n\t var remaining = 1;\n\t forOf(iterable, false, function (promise) {\n\t var $index = index++;\n\t var alreadyCalled = false;\n\t values.push(undefined);\n\t remaining++;\n\t C.resolve(promise).then(function (value) {\n\t if (alreadyCalled) return;\n\t alreadyCalled = true;\n\t values[$index] = value;\n\t --remaining || resolve(values);\n\t }, reject);\n\t });\n\t --remaining || resolve(values);\n\t });\n\t if (result.e) reject(result.v);\n\t return capability.promise;\n\t },\n\t // 25.4.4.4 Promise.race(iterable)\n\t race: function race(iterable) {\n\t var C = this;\n\t var capability = newPromiseCapability(C);\n\t var reject = capability.reject;\n\t var result = perform(function () {\n\t forOf(iterable, false, function (promise) {\n\t C.resolve(promise).then(capability.resolve, reject);\n\t });\n\t });\n\t if (result.e) reject(result.v);\n\t return capability.promise;\n\t }\n\t});\n\n\n/***/ }),\n/* 1394 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\n\tvar $export = __webpack_require__(5);\n\tvar aFunction = __webpack_require__(55);\n\tvar anObject = __webpack_require__(14);\n\tvar rApply = (__webpack_require__(22).Reflect || {}).apply;\n\tvar fApply = Function.apply;\n\t// MS Edge argumentsList argument is optional\n\t$export($export.S + $export.F * !__webpack_require__(25)(function () {\n\t rApply(function () { /* empty */ });\n\t}), 'Reflect', {\n\t apply: function apply(target, thisArgument, argumentsList) {\n\t var T = aFunction(target);\n\t var L = anObject(argumentsList);\n\t return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n\t }\n\t});\n\n\n/***/ }),\n/* 1395 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\n\tvar $export = __webpack_require__(5);\n\tvar create = __webpack_require__(141);\n\tvar aFunction = __webpack_require__(55);\n\tvar anObject = __webpack_require__(14);\n\tvar isObject = __webpack_require__(27);\n\tvar fails = __webpack_require__(25);\n\tvar bind = __webpack_require__(593);\n\tvar rConstruct = (__webpack_require__(22).Reflect || {}).construct;\n\t\n\t// MS Edge supports only 2 arguments and argumentsList argument is optional\n\t// FF Nightly sets third argument as `new.target`, but does not create `this` from it\n\tvar NEW_TARGET_BUG = fails(function () {\n\t function F() { /* empty */ }\n\t return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n\t});\n\tvar ARGS_BUG = !fails(function () {\n\t rConstruct(function () { /* empty */ });\n\t});\n\t\n\t$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n\t construct: function construct(Target, args /* , newTarget */) {\n\t aFunction(Target);\n\t anObject(args);\n\t var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n\t if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n\t if (Target == newTarget) {\n\t // w/o altered newTarget, optimization for 0-4 arguments\n\t switch (args.length) {\n\t case 0: return new Target();\n\t case 1: return new Target(args[0]);\n\t case 2: return new Target(args[0], args[1]);\n\t case 3: return new Target(args[0], args[1], args[2]);\n\t case 4: return new Target(args[0], args[1], args[2], args[3]);\n\t }\n\t // w/o altered newTarget, lot of arguments case\n\t var $args = [null];\n\t $args.push.apply($args, args);\n\t return new (bind.apply(Target, $args))();\n\t }\n\t // with altered newTarget, not support built-in constructors\n\t var proto = newTarget.prototype;\n\t var instance = create(isObject(proto) ? proto : Object.prototype);\n\t var result = Function.apply.call(Target, instance, args);\n\t return isObject(result) ? result : instance;\n\t }\n\t});\n\n\n/***/ }),\n/* 1396 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\n\tvar dP = __webpack_require__(42);\n\tvar $export = __webpack_require__(5);\n\tvar anObject = __webpack_require__(14);\n\tvar toPrimitive = __webpack_require__(92);\n\t\n\t// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n\t$export($export.S + $export.F * __webpack_require__(25)(function () {\n\t // eslint-disable-next-line no-undef\n\t Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n\t}), 'Reflect', {\n\t defineProperty: function defineProperty(target, propertyKey, attributes) {\n\t anObject(target);\n\t propertyKey = toPrimitive(propertyKey, true);\n\t anObject(attributes);\n\t try {\n\t dP.f(target, propertyKey, attributes);\n\t return true;\n\t } catch (e) {\n\t return false;\n\t }\n\t }\n\t});\n\n\n/***/ }),\n/* 1397 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 26.1.4 Reflect.deleteProperty(target, propertyKey)\n\tvar $export = __webpack_require__(5);\n\tvar gOPD = __webpack_require__(72).f;\n\tvar anObject = __webpack_require__(14);\n\t\n\t$export($export.S, 'Reflect', {\n\t deleteProperty: function deleteProperty(target, propertyKey) {\n\t var desc = gOPD(anObject(target), propertyKey);\n\t return desc && !desc.configurable ? false : delete target[propertyKey];\n\t }\n\t});\n\n\n/***/ }),\n/* 1398 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// 26.1.5 Reflect.enumerate(target)\n\tvar $export = __webpack_require__(5);\n\tvar anObject = __webpack_require__(14);\n\tvar Enumerate = function (iterated) {\n\t this._t = anObject(iterated); // target\n\t this._i = 0; // next index\n\t var keys = this._k = []; // keys\n\t var key;\n\t for (key in iterated) keys.push(key);\n\t};\n\t__webpack_require__(384)(Enumerate, 'Object', function () {\n\t var that = this;\n\t var keys = that._k;\n\t var key;\n\t do {\n\t if (that._i >= keys.length) return { value: undefined, done: true };\n\t } while (!((key = keys[that._i++]) in that._t));\n\t return { value: key, done: false };\n\t});\n\t\n\t$export($export.S, 'Reflect', {\n\t enumerate: function enumerate(target) {\n\t return new Enumerate(target);\n\t }\n\t});\n\n\n/***/ }),\n/* 1399 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\n\tvar gOPD = __webpack_require__(72);\n\tvar $export = __webpack_require__(5);\n\tvar anObject = __webpack_require__(14);\n\t\n\t$export($export.S, 'Reflect', {\n\t getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n\t return gOPD.f(anObject(target), propertyKey);\n\t }\n\t});\n\n\n/***/ }),\n/* 1400 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 26.1.8 Reflect.getPrototypeOf(target)\n\tvar $export = __webpack_require__(5);\n\tvar getProto = __webpack_require__(73);\n\tvar anObject = __webpack_require__(14);\n\t\n\t$export($export.S, 'Reflect', {\n\t getPrototypeOf: function getPrototypeOf(target) {\n\t return getProto(anObject(target));\n\t }\n\t});\n\n\n/***/ }),\n/* 1401 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 26.1.6 Reflect.get(target, propertyKey [, receiver])\n\tvar gOPD = __webpack_require__(72);\n\tvar getPrototypeOf = __webpack_require__(73);\n\tvar has = __webpack_require__(71);\n\tvar $export = __webpack_require__(5);\n\tvar isObject = __webpack_require__(27);\n\tvar anObject = __webpack_require__(14);\n\t\n\tfunction get(target, propertyKey /* , receiver */) {\n\t var receiver = arguments.length < 3 ? target : arguments[2];\n\t var desc, proto;\n\t if (anObject(target) === receiver) return target[propertyKey];\n\t if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n\t ? desc.value\n\t : desc.get !== undefined\n\t ? desc.get.call(receiver)\n\t : undefined;\n\t if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n\t}\n\t\n\t$export($export.S, 'Reflect', { get: get });\n\n\n/***/ }),\n/* 1402 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 26.1.9 Reflect.has(target, propertyKey)\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.S, 'Reflect', {\n\t has: function has(target, propertyKey) {\n\t return propertyKey in target;\n\t }\n\t});\n\n\n/***/ }),\n/* 1403 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 26.1.10 Reflect.isExtensible(target)\n\tvar $export = __webpack_require__(5);\n\tvar anObject = __webpack_require__(14);\n\tvar $isExtensible = Object.isExtensible;\n\t\n\t$export($export.S, 'Reflect', {\n\t isExtensible: function isExtensible(target) {\n\t anObject(target);\n\t return $isExtensible ? $isExtensible(target) : true;\n\t }\n\t});\n\n\n/***/ }),\n/* 1404 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 26.1.11 Reflect.ownKeys(target)\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.S, 'Reflect', { ownKeys: __webpack_require__(611) });\n\n\n/***/ }),\n/* 1405 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 26.1.12 Reflect.preventExtensions(target)\n\tvar $export = __webpack_require__(5);\n\tvar anObject = __webpack_require__(14);\n\tvar $preventExtensions = Object.preventExtensions;\n\t\n\t$export($export.S, 'Reflect', {\n\t preventExtensions: function preventExtensions(target) {\n\t anObject(target);\n\t try {\n\t if ($preventExtensions) $preventExtensions(target);\n\t return true;\n\t } catch (e) {\n\t return false;\n\t }\n\t }\n\t});\n\n\n/***/ }),\n/* 1406 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 26.1.14 Reflect.setPrototypeOf(target, proto)\n\tvar $export = __webpack_require__(5);\n\tvar setProto = __webpack_require__(391);\n\t\n\tif (setProto) $export($export.S, 'Reflect', {\n\t setPrototypeOf: function setPrototypeOf(target, proto) {\n\t setProto.check(target, proto);\n\t try {\n\t setProto.set(target, proto);\n\t return true;\n\t } catch (e) {\n\t return false;\n\t }\n\t }\n\t});\n\n\n/***/ }),\n/* 1407 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\n\tvar dP = __webpack_require__(42);\n\tvar gOPD = __webpack_require__(72);\n\tvar getPrototypeOf = __webpack_require__(73);\n\tvar has = __webpack_require__(71);\n\tvar $export = __webpack_require__(5);\n\tvar createDesc = __webpack_require__(144);\n\tvar anObject = __webpack_require__(14);\n\tvar isObject = __webpack_require__(27);\n\t\n\tfunction set(target, propertyKey, V /* , receiver */) {\n\t var receiver = arguments.length < 4 ? target : arguments[3];\n\t var ownDesc = gOPD.f(anObject(target), propertyKey);\n\t var existingDescriptor, proto;\n\t if (!ownDesc) {\n\t if (isObject(proto = getPrototypeOf(target))) {\n\t return set(proto, propertyKey, V, receiver);\n\t }\n\t ownDesc = createDesc(0);\n\t }\n\t if (has(ownDesc, 'value')) {\n\t if (ownDesc.writable === false || !isObject(receiver)) return false;\n\t if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n\t if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n\t existingDescriptor.value = V;\n\t dP.f(receiver, propertyKey, existingDescriptor);\n\t } else dP.f(receiver, propertyKey, createDesc(0, V));\n\t return true;\n\t }\n\t return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n\t}\n\t\n\t$export($export.S, 'Reflect', { set: set });\n\n\n/***/ }),\n/* 1408 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(22);\n\tvar inheritIfRequired = __webpack_require__(382);\n\tvar dP = __webpack_require__(42).f;\n\tvar gOPN = __webpack_require__(142).f;\n\tvar isRegExp = __webpack_require__(273);\n\tvar $flags = __webpack_require__(222);\n\tvar $RegExp = global.RegExp;\n\tvar Base = $RegExp;\n\tvar proto = $RegExp.prototype;\n\tvar re1 = /a/g;\n\tvar re2 = /a/g;\n\t// \"new\" creates a new object, old webkit buggy here\n\tvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\t\n\tif (__webpack_require__(39) && (!CORRECT_NEW || __webpack_require__(25)(function () {\n\t re2[__webpack_require__(34)('match')] = false;\n\t // RegExp constructor can alter flags and IsRegExp works correct with @@match\n\t return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n\t}))) {\n\t $RegExp = function RegExp(p, f) {\n\t var tiRE = this instanceof $RegExp;\n\t var piRE = isRegExp(p);\n\t var fiU = f === undefined;\n\t return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n\t : inheritIfRequired(CORRECT_NEW\n\t ? new Base(piRE && !fiU ? p.source : p, f)\n\t : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n\t , tiRE ? this : proto, $RegExp);\n\t };\n\t var proxy = function (key) {\n\t key in $RegExp || dP($RegExp, key, {\n\t configurable: true,\n\t get: function () { return Base[key]; },\n\t set: function (it) { Base[key] = it; }\n\t });\n\t };\n\t for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n\t proto.constructor = $RegExp;\n\t $RegExp.prototype = proto;\n\t __webpack_require__(62)(global, 'RegExp', $RegExp);\n\t}\n\t\n\t__webpack_require__(146)('RegExp');\n\n\n/***/ }),\n/* 1409 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar anObject = __webpack_require__(14);\n\tvar toLength = __webpack_require__(37);\n\tvar advanceStringIndex = __webpack_require__(374);\n\tvar regExpExec = __webpack_require__(277);\n\t\n\t// @@match logic\n\t__webpack_require__(271)('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n\t return [\n\t // `String.prototype.match` method\n\t // https://tc39.github.io/ecma262/#sec-string.prototype.match\n\t function match(regexp) {\n\t var O = defined(this);\n\t var fn = regexp == undefined ? undefined : regexp[MATCH];\n\t return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n\t },\n\t // `RegExp.prototype[@@match]` method\n\t // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n\t function (regexp) {\n\t var res = maybeCallNative($match, regexp, this);\n\t if (res.done) return res.value;\n\t var rx = anObject(regexp);\n\t var S = String(this);\n\t if (!rx.global) return regExpExec(rx, S);\n\t var fullUnicode = rx.unicode;\n\t rx.lastIndex = 0;\n\t var A = [];\n\t var n = 0;\n\t var result;\n\t while ((result = regExpExec(rx, S)) !== null) {\n\t var matchStr = String(result[0]);\n\t A[n] = matchStr;\n\t if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n\t n++;\n\t }\n\t return n === 0 ? null : A;\n\t }\n\t ];\n\t});\n\n\n/***/ }),\n/* 1410 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar anObject = __webpack_require__(14);\n\tvar toObject = __webpack_require__(45);\n\tvar toLength = __webpack_require__(37);\n\tvar toInteger = __webpack_require__(82);\n\tvar advanceStringIndex = __webpack_require__(374);\n\tvar regExpExec = __webpack_require__(277);\n\tvar max = Math.max;\n\tvar min = Math.min;\n\tvar floor = Math.floor;\n\tvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\n\tvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\t\n\tvar maybeToString = function (it) {\n\t return it === undefined ? it : String(it);\n\t};\n\t\n\t// @@replace logic\n\t__webpack_require__(271)('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n\t return [\n\t // `String.prototype.replace` method\n\t // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n\t function replace(searchValue, replaceValue) {\n\t var O = defined(this);\n\t var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n\t return fn !== undefined\n\t ? fn.call(searchValue, O, replaceValue)\n\t : $replace.call(String(O), searchValue, replaceValue);\n\t },\n\t // `RegExp.prototype[@@replace]` method\n\t // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n\t function (regexp, replaceValue) {\n\t var res = maybeCallNative($replace, regexp, this, replaceValue);\n\t if (res.done) return res.value;\n\t\n\t var rx = anObject(regexp);\n\t var S = String(this);\n\t var functionalReplace = typeof replaceValue === 'function';\n\t if (!functionalReplace) replaceValue = String(replaceValue);\n\t var global = rx.global;\n\t if (global) {\n\t var fullUnicode = rx.unicode;\n\t rx.lastIndex = 0;\n\t }\n\t var results = [];\n\t while (true) {\n\t var result = regExpExec(rx, S);\n\t if (result === null) break;\n\t results.push(result);\n\t if (!global) break;\n\t var matchStr = String(result[0]);\n\t if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n\t }\n\t var accumulatedResult = '';\n\t var nextSourcePosition = 0;\n\t for (var i = 0; i < results.length; i++) {\n\t result = results[i];\n\t var matched = String(result[0]);\n\t var position = max(min(toInteger(result.index), S.length), 0);\n\t var captures = [];\n\t // NOTE: This is equivalent to\n\t // captures = result.slice(1).map(maybeToString)\n\t // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n\t // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n\t // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n\t for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n\t var namedCaptures = result.groups;\n\t if (functionalReplace) {\n\t var replacerArgs = [matched].concat(captures, position, S);\n\t if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n\t var replacement = String(replaceValue.apply(undefined, replacerArgs));\n\t } else {\n\t replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n\t }\n\t if (position >= nextSourcePosition) {\n\t accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n\t nextSourcePosition = position + matched.length;\n\t }\n\t }\n\t return accumulatedResult + S.slice(nextSourcePosition);\n\t }\n\t ];\n\t\n\t // https://tc39.github.io/ecma262/#sec-getsubstitution\n\t function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n\t var tailPos = position + matched.length;\n\t var m = captures.length;\n\t var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n\t if (namedCaptures !== undefined) {\n\t namedCaptures = toObject(namedCaptures);\n\t symbols = SUBSTITUTION_SYMBOLS;\n\t }\n\t return $replace.call(replacement, symbols, function (match, ch) {\n\t var capture;\n\t switch (ch.charAt(0)) {\n\t case '$': return '$';\n\t case '&': return matched;\n\t case '`': return str.slice(0, position);\n\t case \"'\": return str.slice(tailPos);\n\t case '<':\n\t capture = namedCaptures[ch.slice(1, -1)];\n\t break;\n\t default: // \\d\\d?\n\t var n = +ch;\n\t if (n === 0) return match;\n\t if (n > m) {\n\t var f = floor(n / 10);\n\t if (f === 0) return match;\n\t if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n\t return match;\n\t }\n\t capture = captures[n - 1];\n\t }\n\t return capture === undefined ? '' : capture;\n\t });\n\t }\n\t});\n\n\n/***/ }),\n/* 1411 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar anObject = __webpack_require__(14);\n\tvar sameValue = __webpack_require__(616);\n\tvar regExpExec = __webpack_require__(277);\n\t\n\t// @@search logic\n\t__webpack_require__(271)('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n\t return [\n\t // `String.prototype.search` method\n\t // https://tc39.github.io/ecma262/#sec-string.prototype.search\n\t function search(regexp) {\n\t var O = defined(this);\n\t var fn = regexp == undefined ? undefined : regexp[SEARCH];\n\t return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n\t },\n\t // `RegExp.prototype[@@search]` method\n\t // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n\t function (regexp) {\n\t var res = maybeCallNative($search, regexp, this);\n\t if (res.done) return res.value;\n\t var rx = anObject(regexp);\n\t var S = String(this);\n\t var previousLastIndex = rx.lastIndex;\n\t if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n\t var result = regExpExec(rx, S);\n\t if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n\t return result === null ? -1 : result.index;\n\t }\n\t ];\n\t});\n\n\n/***/ }),\n/* 1412 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar isRegExp = __webpack_require__(273);\n\tvar anObject = __webpack_require__(14);\n\tvar speciesConstructor = __webpack_require__(226);\n\tvar advanceStringIndex = __webpack_require__(374);\n\tvar toLength = __webpack_require__(37);\n\tvar callRegExpExec = __webpack_require__(277);\n\tvar regexpExec = __webpack_require__(390);\n\tvar fails = __webpack_require__(25);\n\tvar $min = Math.min;\n\tvar $push = [].push;\n\tvar $SPLIT = 'split';\n\tvar LENGTH = 'length';\n\tvar LAST_INDEX = 'lastIndex';\n\tvar MAX_UINT32 = 0xffffffff;\n\t\n\t// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\n\tvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\t\n\t// @@split logic\n\t__webpack_require__(271)('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n\t var internalSplit;\n\t if (\n\t 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n\t 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n\t 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n\t '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n\t '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n\t ''[$SPLIT](/.?/)[LENGTH]\n\t ) {\n\t // based on es5-shim implementation, need to rework it\n\t internalSplit = function (separator, limit) {\n\t var string = String(this);\n\t if (separator === undefined && limit === 0) return [];\n\t // If `separator` is not a regex, use native split\n\t if (!isRegExp(separator)) return $split.call(string, separator, limit);\n\t var output = [];\n\t var flags = (separator.ignoreCase ? 'i' : '') +\n\t (separator.multiline ? 'm' : '') +\n\t (separator.unicode ? 'u' : '') +\n\t (separator.sticky ? 'y' : '');\n\t var lastLastIndex = 0;\n\t var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n\t // Make `global` and avoid `lastIndex` issues by working with a copy\n\t var separatorCopy = new RegExp(separator.source, flags + 'g');\n\t var match, lastIndex, lastLength;\n\t while (match = regexpExec.call(separatorCopy, string)) {\n\t lastIndex = separatorCopy[LAST_INDEX];\n\t if (lastIndex > lastLastIndex) {\n\t output.push(string.slice(lastLastIndex, match.index));\n\t if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n\t lastLength = match[0][LENGTH];\n\t lastLastIndex = lastIndex;\n\t if (output[LENGTH] >= splitLimit) break;\n\t }\n\t if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n\t }\n\t if (lastLastIndex === string[LENGTH]) {\n\t if (lastLength || !separatorCopy.test('')) output.push('');\n\t } else output.push(string.slice(lastLastIndex));\n\t return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n\t };\n\t // Chakra, V8\n\t } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n\t internalSplit = function (separator, limit) {\n\t return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n\t };\n\t } else {\n\t internalSplit = $split;\n\t }\n\t\n\t return [\n\t // `String.prototype.split` method\n\t // https://tc39.github.io/ecma262/#sec-string.prototype.split\n\t function split(separator, limit) {\n\t var O = defined(this);\n\t var splitter = separator == undefined ? undefined : separator[SPLIT];\n\t return splitter !== undefined\n\t ? splitter.call(separator, O, limit)\n\t : internalSplit.call(String(O), separator, limit);\n\t },\n\t // `RegExp.prototype[@@split]` method\n\t // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n\t //\n\t // NOTE: This cannot be properly polyfilled in engines that don't support\n\t // the 'y' flag.\n\t function (regexp, limit) {\n\t var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n\t if (res.done) return res.value;\n\t\n\t var rx = anObject(regexp);\n\t var S = String(this);\n\t var C = speciesConstructor(rx, RegExp);\n\t\n\t var unicodeMatching = rx.unicode;\n\t var flags = (rx.ignoreCase ? 'i' : '') +\n\t (rx.multiline ? 'm' : '') +\n\t (rx.unicode ? 'u' : '') +\n\t (SUPPORTS_Y ? 'y' : 'g');\n\t\n\t // ^(? + rx + ) is needed, in combination with some S slicing, to\n\t // simulate the 'y' flag.\n\t var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n\t var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n\t if (lim === 0) return [];\n\t if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n\t var p = 0;\n\t var q = 0;\n\t var A = [];\n\t while (q < S.length) {\n\t splitter.lastIndex = SUPPORTS_Y ? q : 0;\n\t var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n\t var e;\n\t if (\n\t z === null ||\n\t (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n\t ) {\n\t q = advanceStringIndex(S, q, unicodeMatching);\n\t } else {\n\t A.push(S.slice(p, q));\n\t if (A.length === lim) return A;\n\t for (var i = 1; i <= z.length - 1; i++) {\n\t A.push(z[i]);\n\t if (A.length === lim) return A;\n\t }\n\t q = p = e;\n\t }\n\t }\n\t A.push(S.slice(p));\n\t return A;\n\t }\n\t ];\n\t});\n\n\n/***/ }),\n/* 1413 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t__webpack_require__(622);\n\tvar anObject = __webpack_require__(14);\n\tvar $flags = __webpack_require__(222);\n\tvar DESCRIPTORS = __webpack_require__(39);\n\tvar TO_STRING = 'toString';\n\tvar $toString = /./[TO_STRING];\n\t\n\tvar define = function (fn) {\n\t __webpack_require__(62)(RegExp.prototype, TO_STRING, fn, true);\n\t};\n\t\n\t// 21.2.5.14 RegExp.prototype.toString()\n\tif (__webpack_require__(25)(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n\t define(function toString() {\n\t var R = anObject(this);\n\t return '/'.concat(R.source, '/',\n\t 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n\t });\n\t// FF44- RegExp#toString has a wrong name\n\t} else if ($toString.name != TO_STRING) {\n\t define(function toString() {\n\t return $toString.call(this);\n\t });\n\t}\n\n\n/***/ }),\n/* 1414 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.2 String.prototype.anchor(name)\n\t__webpack_require__(63)('anchor', function (createHTML) {\n\t return function anchor(name) {\n\t return createHTML(this, 'a', 'name', name);\n\t };\n\t});\n\n\n/***/ }),\n/* 1415 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.3 String.prototype.big()\n\t__webpack_require__(63)('big', function (createHTML) {\n\t return function big() {\n\t return createHTML(this, 'big', '', '');\n\t };\n\t});\n\n\n/***/ }),\n/* 1416 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.4 String.prototype.blink()\n\t__webpack_require__(63)('blink', function (createHTML) {\n\t return function blink() {\n\t return createHTML(this, 'blink', '', '');\n\t };\n\t});\n\n\n/***/ }),\n/* 1417 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.5 String.prototype.bold()\n\t__webpack_require__(63)('bold', function (createHTML) {\n\t return function bold() {\n\t return createHTML(this, 'b', '', '');\n\t };\n\t});\n\n\n/***/ }),\n/* 1418 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar $at = __webpack_require__(280)(false);\n\t$export($export.P, 'String', {\n\t // 21.1.3.3 String.prototype.codePointAt(pos)\n\t codePointAt: function codePointAt(pos) {\n\t return $at(this, pos);\n\t }\n\t});\n\n\n/***/ }),\n/* 1419 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar toLength = __webpack_require__(37);\n\tvar context = __webpack_require__(393);\n\tvar ENDS_WITH = 'endsWith';\n\tvar $endsWith = ''[ENDS_WITH];\n\t\n\t$export($export.P + $export.F * __webpack_require__(380)(ENDS_WITH), 'String', {\n\t endsWith: function endsWith(searchString /* , endPosition = @length */) {\n\t var that = context(this, searchString, ENDS_WITH);\n\t var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n\t var len = toLength(that.length);\n\t var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n\t var search = String(searchString);\n\t return $endsWith\n\t ? $endsWith.call(that, search, end)\n\t : that.slice(end - search.length, end) === search;\n\t }\n\t});\n\n\n/***/ }),\n/* 1420 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.6 String.prototype.fixed()\n\t__webpack_require__(63)('fixed', function (createHTML) {\n\t return function fixed() {\n\t return createHTML(this, 'tt', '', '');\n\t };\n\t});\n\n\n/***/ }),\n/* 1421 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.7 String.prototype.fontcolor(color)\n\t__webpack_require__(63)('fontcolor', function (createHTML) {\n\t return function fontcolor(color) {\n\t return createHTML(this, 'font', 'color', color);\n\t };\n\t});\n\n\n/***/ }),\n/* 1422 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.8 String.prototype.fontsize(size)\n\t__webpack_require__(63)('fontsize', function (createHTML) {\n\t return function fontsize(size) {\n\t return createHTML(this, 'font', 'size', size);\n\t };\n\t});\n\n\n/***/ }),\n/* 1423 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(5);\n\tvar toAbsoluteIndex = __webpack_require__(147);\n\tvar fromCharCode = String.fromCharCode;\n\tvar $fromCodePoint = String.fromCodePoint;\n\t\n\t// length should be 1, old FF problem\n\t$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n\t // 21.1.2.2 String.fromCodePoint(...codePoints)\n\t fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n\t var res = [];\n\t var aLen = arguments.length;\n\t var i = 0;\n\t var code;\n\t while (aLen > i) {\n\t code = +arguments[i++];\n\t if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n\t res.push(code < 0x10000\n\t ? fromCharCode(code)\n\t : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n\t );\n\t } return res.join('');\n\t }\n\t});\n\n\n/***/ }),\n/* 1424 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar context = __webpack_require__(393);\n\tvar INCLUDES = 'includes';\n\t\n\t$export($export.P + $export.F * __webpack_require__(380)(INCLUDES), 'String', {\n\t includes: function includes(searchString /* , position = 0 */) {\n\t return !!~context(this, searchString, INCLUDES)\n\t .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n\t }\n\t});\n\n\n/***/ }),\n/* 1425 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.9 String.prototype.italics()\n\t__webpack_require__(63)('italics', function (createHTML) {\n\t return function italics() {\n\t return createHTML(this, 'i', '', '');\n\t };\n\t});\n\n\n/***/ }),\n/* 1426 */\n[2496, 280, 385],\n/* 1427 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.10 String.prototype.link(url)\n\t__webpack_require__(63)('link', function (createHTML) {\n\t return function link(url) {\n\t return createHTML(this, 'a', 'href', url);\n\t };\n\t});\n\n\n/***/ }),\n/* 1428 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(5);\n\tvar toIObject = __webpack_require__(74);\n\tvar toLength = __webpack_require__(37);\n\t\n\t$export($export.S, 'String', {\n\t // 21.1.2.4 String.raw(callSite, ...substitutions)\n\t raw: function raw(callSite) {\n\t var tpl = toIObject(callSite.raw);\n\t var len = toLength(tpl.length);\n\t var aLen = arguments.length;\n\t var res = [];\n\t var i = 0;\n\t while (len > i) {\n\t res.push(String(tpl[i++]));\n\t if (i < aLen) res.push(String(arguments[i]));\n\t } return res.join('');\n\t }\n\t});\n\n\n/***/ }),\n/* 1429 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.P, 'String', {\n\t // 21.1.3.13 String.prototype.repeat(count)\n\t repeat: __webpack_require__(394)\n\t});\n\n\n/***/ }),\n/* 1430 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.11 String.prototype.small()\n\t__webpack_require__(63)('small', function (createHTML) {\n\t return function small() {\n\t return createHTML(this, 'small', '', '');\n\t };\n\t});\n\n\n/***/ }),\n/* 1431 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar toLength = __webpack_require__(37);\n\tvar context = __webpack_require__(393);\n\tvar STARTS_WITH = 'startsWith';\n\tvar $startsWith = ''[STARTS_WITH];\n\t\n\t$export($export.P + $export.F * __webpack_require__(380)(STARTS_WITH), 'String', {\n\t startsWith: function startsWith(searchString /* , position = 0 */) {\n\t var that = context(this, searchString, STARTS_WITH);\n\t var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n\t var search = String(searchString);\n\t return $startsWith\n\t ? $startsWith.call(that, search, index)\n\t : that.slice(index, index + search.length) === search;\n\t }\n\t});\n\n\n/***/ }),\n/* 1432 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.12 String.prototype.strike()\n\t__webpack_require__(63)('strike', function (createHTML) {\n\t return function strike() {\n\t return createHTML(this, 'strike', '', '');\n\t };\n\t});\n\n\n/***/ }),\n/* 1433 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.13 String.prototype.sub()\n\t__webpack_require__(63)('sub', function (createHTML) {\n\t return function sub() {\n\t return createHTML(this, 'sub', '', '');\n\t };\n\t});\n\n\n/***/ }),\n/* 1434 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// B.2.3.14 String.prototype.sup()\n\t__webpack_require__(63)('sup', function (createHTML) {\n\t return function sup() {\n\t return createHTML(this, 'sup', '', '');\n\t };\n\t});\n\n\n/***/ }),\n/* 1435 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// 21.1.3.25 String.prototype.trim()\n\t__webpack_require__(177)('trim', function ($trim) {\n\t return function trim() {\n\t return $trim(this, 3);\n\t };\n\t});\n\n\n/***/ }),\n/* 1436 */\n[2497, 22, 71, 39, 5, 62, 119, 25, 225, 176, 148, 34, 619, 398, 1313, 272, 14, 27, 45, 74, 92, 144, 141, 608, 72, 276, 42, 143, 142, 224, 118, 61],\n/* 1437 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar $typed = __webpack_require__(281);\n\tvar buffer = __webpack_require__(397);\n\tvar anObject = __webpack_require__(14);\n\tvar toAbsoluteIndex = __webpack_require__(147);\n\tvar toLength = __webpack_require__(37);\n\tvar isObject = __webpack_require__(27);\n\tvar ArrayBuffer = __webpack_require__(22).ArrayBuffer;\n\tvar speciesConstructor = __webpack_require__(226);\n\tvar $ArrayBuffer = buffer.ArrayBuffer;\n\tvar $DataView = buffer.DataView;\n\tvar $isView = $typed.ABV && ArrayBuffer.isView;\n\tvar $slice = $ArrayBuffer.prototype.slice;\n\tvar VIEW = $typed.VIEW;\n\tvar ARRAY_BUFFER = 'ArrayBuffer';\n\t\n\t$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\t\n\t$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n\t // 24.1.3.1 ArrayBuffer.isView(arg)\n\t isView: function isView(it) {\n\t return $isView && $isView(it) || isObject(it) && VIEW in it;\n\t }\n\t});\n\t\n\t$export($export.P + $export.U + $export.F * __webpack_require__(25)(function () {\n\t return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n\t}), ARRAY_BUFFER, {\n\t // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n\t slice: function slice(start, end) {\n\t if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n\t var len = anObject(this).byteLength;\n\t var first = toAbsoluteIndex(start, len);\n\t var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n\t var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n\t var viewS = new $DataView(this);\n\t var viewT = new $DataView(result);\n\t var index = 0;\n\t while (first < fin) {\n\t viewT.setUint8(index++, viewS.getUint8(first++));\n\t } return result;\n\t }\n\t});\n\t\n\t__webpack_require__(146)(ARRAY_BUFFER);\n\n\n/***/ }),\n/* 1438 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(5);\n\t$export($export.G + $export.W + $export.F * !__webpack_require__(281).ABV, {\n\t DataView: __webpack_require__(397).DataView\n\t});\n\n\n/***/ }),\n/* 1439 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(102)('Float32', 4, function (init) {\n\t return function Float32Array(data, byteOffset, length) {\n\t return init(this, data, byteOffset, length);\n\t };\n\t});\n\n\n/***/ }),\n/* 1440 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(102)('Float64', 8, function (init) {\n\t return function Float64Array(data, byteOffset, length) {\n\t return init(this, data, byteOffset, length);\n\t };\n\t});\n\n\n/***/ }),\n/* 1441 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(102)('Int16', 2, function (init) {\n\t return function Int16Array(data, byteOffset, length) {\n\t return init(this, data, byteOffset, length);\n\t };\n\t});\n\n\n/***/ }),\n/* 1442 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(102)('Int32', 4, function (init) {\n\t return function Int32Array(data, byteOffset, length) {\n\t return init(this, data, byteOffset, length);\n\t };\n\t});\n\n\n/***/ }),\n/* 1443 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(102)('Int8', 1, function (init) {\n\t return function Int8Array(data, byteOffset, length) {\n\t return init(this, data, byteOffset, length);\n\t };\n\t});\n\n\n/***/ }),\n/* 1444 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(102)('Uint16', 2, function (init) {\n\t return function Uint16Array(data, byteOffset, length) {\n\t return init(this, data, byteOffset, length);\n\t };\n\t});\n\n\n/***/ }),\n/* 1445 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(102)('Uint32', 4, function (init) {\n\t return function Uint32Array(data, byteOffset, length) {\n\t return init(this, data, byteOffset, length);\n\t };\n\t});\n\n\n/***/ }),\n/* 1446 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(102)('Uint8', 1, function (init) {\n\t return function Uint8Array(data, byteOffset, length) {\n\t return init(this, data, byteOffset, length);\n\t };\n\t});\n\n\n/***/ }),\n/* 1447 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(102)('Uint8', 1, function (init) {\n\t return function Uint8ClampedArray(data, byteOffset, length) {\n\t return init(this, data, byteOffset, length);\n\t };\n\t}, true);\n\n\n/***/ }),\n/* 1448 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar weak = __webpack_require__(596);\n\tvar validate = __webpack_require__(149);\n\tvar WEAK_SET = 'WeakSet';\n\t\n\t// 23.4 WeakSet Objects\n\t__webpack_require__(270)(WEAK_SET, function (get) {\n\t return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n\t}, {\n\t // 23.4.3.1 WeakSet.prototype.add(value)\n\t add: function add(value) {\n\t return weak.def(validate(this, WEAK_SET), value, true);\n\t }\n\t}, weak, false, true);\n\n\n/***/ }),\n/* 1449 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap\n\tvar $export = __webpack_require__(5);\n\tvar flattenIntoArray = __webpack_require__(597);\n\tvar toObject = __webpack_require__(45);\n\tvar toLength = __webpack_require__(37);\n\tvar aFunction = __webpack_require__(55);\n\tvar arraySpeciesCreate = __webpack_require__(376);\n\t\n\t$export($export.P, 'Array', {\n\t flatMap: function flatMap(callbackfn /* , thisArg */) {\n\t var O = toObject(this);\n\t var sourceLen, A;\n\t aFunction(callbackfn);\n\t sourceLen = toLength(O.length);\n\t A = arraySpeciesCreate(O, 0);\n\t flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]);\n\t return A;\n\t }\n\t});\n\t\n\t__webpack_require__(117)('flatMap');\n\n\n/***/ }),\n/* 1450 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten\n\tvar $export = __webpack_require__(5);\n\tvar flattenIntoArray = __webpack_require__(597);\n\tvar toObject = __webpack_require__(45);\n\tvar toLength = __webpack_require__(37);\n\tvar toInteger = __webpack_require__(82);\n\tvar arraySpeciesCreate = __webpack_require__(376);\n\t\n\t$export($export.P, 'Array', {\n\t flatten: function flatten(/* depthArg = 1 */) {\n\t var depthArg = arguments[0];\n\t var O = toObject(this);\n\t var sourceLen = toLength(O.length);\n\t var A = arraySpeciesCreate(O, 0);\n\t flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n\t return A;\n\t }\n\t});\n\t\n\t__webpack_require__(117)('flatten');\n\n\n/***/ }),\n/* 1451 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://github.com/tc39/Array.prototype.includes\n\tvar $export = __webpack_require__(5);\n\tvar $includes = __webpack_require__(269)(true);\n\t\n\t$export($export.P, 'Array', {\n\t includes: function includes(el /* , fromIndex = 0 */) {\n\t return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n\t }\n\t});\n\t\n\t__webpack_require__(117)('includes');\n\n\n/***/ }),\n/* 1452 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask\n\tvar $export = __webpack_require__(5);\n\tvar microtask = __webpack_require__(388)();\n\tvar process = __webpack_require__(22).process;\n\tvar isNode = __webpack_require__(78)(process) == 'process';\n\t\n\t$export($export.G, {\n\t asap: function asap(fn) {\n\t var domain = isNode && process.domain;\n\t microtask(domain ? domain.bind(fn) : fn);\n\t }\n\t});\n\n\n/***/ }),\n/* 1453 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://github.com/ljharb/proposal-is-error\n\tvar $export = __webpack_require__(5);\n\tvar cof = __webpack_require__(78);\n\t\n\t$export($export.S, 'Error', {\n\t isError: function isError(it) {\n\t return cof(it) === 'Error';\n\t }\n\t});\n\n\n/***/ }),\n/* 1454 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://github.com/tc39/proposal-global\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.G, { global: __webpack_require__(22) });\n\n\n/***/ }),\n/* 1455 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\n\t__webpack_require__(278)('Map');\n\n\n/***/ }),\n/* 1456 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\n\t__webpack_require__(279)('Map');\n\n\n/***/ }),\n/* 1457 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://github.com/DavidBruant/Map-Set.prototype.toJSON\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__(595)('Map') });\n\n\n/***/ }),\n/* 1458 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://rwaldron.github.io/proposal-math-extensions/\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.S, 'Math', {\n\t clamp: function clamp(x, lower, upper) {\n\t return Math.min(upper, Math.max(lower, x));\n\t }\n\t});\n\n\n/***/ }),\n/* 1459 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://rwaldron.github.io/proposal-math-extensions/\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.S, 'Math', { DEG_PER_RAD: Math.PI / 180 });\n\n\n/***/ }),\n/* 1460 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://rwaldron.github.io/proposal-math-extensions/\n\tvar $export = __webpack_require__(5);\n\tvar RAD_PER_DEG = 180 / Math.PI;\n\t\n\t$export($export.S, 'Math', {\n\t degrees: function degrees(radians) {\n\t return radians * RAD_PER_DEG;\n\t }\n\t});\n\n\n/***/ }),\n/* 1461 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://rwaldron.github.io/proposal-math-extensions/\n\tvar $export = __webpack_require__(5);\n\tvar scale = __webpack_require__(605);\n\tvar fround = __webpack_require__(603);\n\t\n\t$export($export.S, 'Math', {\n\t fscale: function fscale(x, inLow, inHigh, outLow, outHigh) {\n\t return fround(scale(x, inLow, inHigh, outLow, outHigh));\n\t }\n\t});\n\n\n/***/ }),\n/* 1462 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.S, 'Math', {\n\t iaddh: function iaddh(x0, x1, y0, y1) {\n\t var $x0 = x0 >>> 0;\n\t var $x1 = x1 >>> 0;\n\t var $y0 = y0 >>> 0;\n\t return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;\n\t }\n\t});\n\n\n/***/ }),\n/* 1463 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.S, 'Math', {\n\t imulh: function imulh(u, v) {\n\t var UINT16 = 0xffff;\n\t var $u = +u;\n\t var $v = +v;\n\t var u0 = $u & UINT16;\n\t var v0 = $v & UINT16;\n\t var u1 = $u >> 16;\n\t var v1 = $v >> 16;\n\t var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n\t return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);\n\t }\n\t});\n\n\n/***/ }),\n/* 1464 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.S, 'Math', {\n\t isubh: function isubh(x0, x1, y0, y1) {\n\t var $x0 = x0 >>> 0;\n\t var $x1 = x1 >>> 0;\n\t var $y0 = y0 >>> 0;\n\t return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;\n\t }\n\t});\n\n\n/***/ }),\n/* 1465 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://rwaldron.github.io/proposal-math-extensions/\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.S, 'Math', { RAD_PER_DEG: 180 / Math.PI });\n\n\n/***/ }),\n/* 1466 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://rwaldron.github.io/proposal-math-extensions/\n\tvar $export = __webpack_require__(5);\n\tvar DEG_PER_RAD = Math.PI / 180;\n\t\n\t$export($export.S, 'Math', {\n\t radians: function radians(degrees) {\n\t return degrees * DEG_PER_RAD;\n\t }\n\t});\n\n\n/***/ }),\n/* 1467 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://rwaldron.github.io/proposal-math-extensions/\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.S, 'Math', { scale: __webpack_require__(605) });\n\n\n/***/ }),\n/* 1468 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// http://jfbastien.github.io/papers/Math.signbit.html\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.S, 'Math', { signbit: function signbit(x) {\n\t // eslint-disable-next-line no-self-compare\n\t return (x = +x) != x ? x : x == 0 ? 1 / x == Infinity : x > 0;\n\t} });\n\n\n/***/ }),\n/* 1469 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.S, 'Math', {\n\t umulh: function umulh(u, v) {\n\t var UINT16 = 0xffff;\n\t var $u = +u;\n\t var $v = +v;\n\t var u0 = $u & UINT16;\n\t var v0 = $v & UINT16;\n\t var u1 = $u >>> 16;\n\t var v1 = $v >>> 16;\n\t var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n\t return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);\n\t }\n\t});\n\n\n/***/ }),\n/* 1470 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar toObject = __webpack_require__(45);\n\tvar aFunction = __webpack_require__(55);\n\tvar $defineProperty = __webpack_require__(42);\n\t\n\t// B.2.2.2 Object.prototype.__defineGetter__(P, getter)\n\t__webpack_require__(39) && $export($export.P + __webpack_require__(275), 'Object', {\n\t __defineGetter__: function __defineGetter__(P, getter) {\n\t $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });\n\t }\n\t});\n\n\n/***/ }),\n/* 1471 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar toObject = __webpack_require__(45);\n\tvar aFunction = __webpack_require__(55);\n\tvar $defineProperty = __webpack_require__(42);\n\t\n\t// B.2.2.3 Object.prototype.__defineSetter__(P, setter)\n\t__webpack_require__(39) && $export($export.P + __webpack_require__(275), 'Object', {\n\t __defineSetter__: function __defineSetter__(P, setter) {\n\t $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });\n\t }\n\t});\n\n\n/***/ }),\n/* 1472 */\n[2498, 5, 610],\n/* 1473 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://github.com/tc39/proposal-object-getownpropertydescriptors\n\tvar $export = __webpack_require__(5);\n\tvar ownKeys = __webpack_require__(611);\n\tvar toIObject = __webpack_require__(74);\n\tvar gOPD = __webpack_require__(72);\n\tvar createProperty = __webpack_require__(377);\n\t\n\t$export($export.S, 'Object', {\n\t getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n\t var O = toIObject(object);\n\t var getDesc = gOPD.f;\n\t var keys = ownKeys(O);\n\t var result = {};\n\t var i = 0;\n\t var key, desc;\n\t while (keys.length > i) {\n\t desc = getDesc(O, key = keys[i++]);\n\t if (desc !== undefined) createProperty(result, key, desc);\n\t }\n\t return result;\n\t }\n\t});\n\n\n/***/ }),\n/* 1474 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar toObject = __webpack_require__(45);\n\tvar toPrimitive = __webpack_require__(92);\n\tvar getPrototypeOf = __webpack_require__(73);\n\tvar getOwnPropertyDescriptor = __webpack_require__(72).f;\n\t\n\t// B.2.2.4 Object.prototype.__lookupGetter__(P)\n\t__webpack_require__(39) && $export($export.P + __webpack_require__(275), 'Object', {\n\t __lookupGetter__: function __lookupGetter__(P) {\n\t var O = toObject(this);\n\t var K = toPrimitive(P, true);\n\t var D;\n\t do {\n\t if (D = getOwnPropertyDescriptor(O, K)) return D.get;\n\t } while (O = getPrototypeOf(O));\n\t }\n\t});\n\n\n/***/ }),\n/* 1475 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar toObject = __webpack_require__(45);\n\tvar toPrimitive = __webpack_require__(92);\n\tvar getPrototypeOf = __webpack_require__(73);\n\tvar getOwnPropertyDescriptor = __webpack_require__(72).f;\n\t\n\t// B.2.2.5 Object.prototype.__lookupSetter__(P)\n\t__webpack_require__(39) && $export($export.P + __webpack_require__(275), 'Object', {\n\t __lookupSetter__: function __lookupSetter__(P) {\n\t var O = toObject(this);\n\t var K = toPrimitive(P, true);\n\t var D;\n\t do {\n\t if (D = getOwnPropertyDescriptor(O, K)) return D.set;\n\t } while (O = getPrototypeOf(O));\n\t }\n\t});\n\n\n/***/ }),\n/* 1476 */\n[2499, 5, 610],\n/* 1477 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://github.com/zenparsing/es-observable\n\tvar $export = __webpack_require__(5);\n\tvar global = __webpack_require__(22);\n\tvar core = __webpack_require__(79);\n\tvar microtask = __webpack_require__(388)();\n\tvar OBSERVABLE = __webpack_require__(34)('observable');\n\tvar aFunction = __webpack_require__(55);\n\tvar anObject = __webpack_require__(14);\n\tvar anInstance = __webpack_require__(139);\n\tvar redefineAll = __webpack_require__(145);\n\tvar hide = __webpack_require__(61);\n\tvar forOf = __webpack_require__(140);\n\tvar RETURN = forOf.RETURN;\n\t\n\tvar getMethod = function (fn) {\n\t return fn == null ? undefined : aFunction(fn);\n\t};\n\t\n\tvar cleanupSubscription = function (subscription) {\n\t var cleanup = subscription._c;\n\t if (cleanup) {\n\t subscription._c = undefined;\n\t cleanup();\n\t }\n\t};\n\t\n\tvar subscriptionClosed = function (subscription) {\n\t return subscription._o === undefined;\n\t};\n\t\n\tvar closeSubscription = function (subscription) {\n\t if (!subscriptionClosed(subscription)) {\n\t subscription._o = undefined;\n\t cleanupSubscription(subscription);\n\t }\n\t};\n\t\n\tvar Subscription = function (observer, subscriber) {\n\t anObject(observer);\n\t this._c = undefined;\n\t this._o = observer;\n\t observer = new SubscriptionObserver(this);\n\t try {\n\t var cleanup = subscriber(observer);\n\t var subscription = cleanup;\n\t if (cleanup != null) {\n\t if (typeof cleanup.unsubscribe === 'function') cleanup = function () { subscription.unsubscribe(); };\n\t else aFunction(cleanup);\n\t this._c = cleanup;\n\t }\n\t } catch (e) {\n\t observer.error(e);\n\t return;\n\t } if (subscriptionClosed(this)) cleanupSubscription(this);\n\t};\n\t\n\tSubscription.prototype = redefineAll({}, {\n\t unsubscribe: function unsubscribe() { closeSubscription(this); }\n\t});\n\t\n\tvar SubscriptionObserver = function (subscription) {\n\t this._s = subscription;\n\t};\n\t\n\tSubscriptionObserver.prototype = redefineAll({}, {\n\t next: function next(value) {\n\t var subscription = this._s;\n\t if (!subscriptionClosed(subscription)) {\n\t var observer = subscription._o;\n\t try {\n\t var m = getMethod(observer.next);\n\t if (m) return m.call(observer, value);\n\t } catch (e) {\n\t try {\n\t closeSubscription(subscription);\n\t } finally {\n\t throw e;\n\t }\n\t }\n\t }\n\t },\n\t error: function error(value) {\n\t var subscription = this._s;\n\t if (subscriptionClosed(subscription)) throw value;\n\t var observer = subscription._o;\n\t subscription._o = undefined;\n\t try {\n\t var m = getMethod(observer.error);\n\t if (!m) throw value;\n\t value = m.call(observer, value);\n\t } catch (e) {\n\t try {\n\t cleanupSubscription(subscription);\n\t } finally {\n\t throw e;\n\t }\n\t } cleanupSubscription(subscription);\n\t return value;\n\t },\n\t complete: function complete(value) {\n\t var subscription = this._s;\n\t if (!subscriptionClosed(subscription)) {\n\t var observer = subscription._o;\n\t subscription._o = undefined;\n\t try {\n\t var m = getMethod(observer.complete);\n\t value = m ? m.call(observer, value) : undefined;\n\t } catch (e) {\n\t try {\n\t cleanupSubscription(subscription);\n\t } finally {\n\t throw e;\n\t }\n\t } cleanupSubscription(subscription);\n\t return value;\n\t }\n\t }\n\t});\n\t\n\tvar $Observable = function Observable(subscriber) {\n\t anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);\n\t};\n\t\n\tredefineAll($Observable.prototype, {\n\t subscribe: function subscribe(observer) {\n\t return new Subscription(observer, this._f);\n\t },\n\t forEach: function forEach(fn) {\n\t var that = this;\n\t return new (core.Promise || global.Promise)(function (resolve, reject) {\n\t aFunction(fn);\n\t var subscription = that.subscribe({\n\t next: function (value) {\n\t try {\n\t return fn(value);\n\t } catch (e) {\n\t reject(e);\n\t subscription.unsubscribe();\n\t }\n\t },\n\t error: reject,\n\t complete: resolve\n\t });\n\t });\n\t }\n\t});\n\t\n\tredefineAll($Observable, {\n\t from: function from(x) {\n\t var C = typeof this === 'function' ? this : $Observable;\n\t var method = getMethod(anObject(x)[OBSERVABLE]);\n\t if (method) {\n\t var observable = anObject(method.call(x));\n\t return observable.constructor === C ? observable : new C(function (observer) {\n\t return observable.subscribe(observer);\n\t });\n\t }\n\t return new C(function (observer) {\n\t var done = false;\n\t microtask(function () {\n\t if (!done) {\n\t try {\n\t if (forOf(x, false, function (it) {\n\t observer.next(it);\n\t if (done) return RETURN;\n\t }) === RETURN) return;\n\t } catch (e) {\n\t if (done) throw e;\n\t observer.error(e);\n\t return;\n\t } observer.complete();\n\t }\n\t });\n\t return function () { done = true; };\n\t });\n\t },\n\t of: function of() {\n\t for (var i = 0, l = arguments.length, items = new Array(l); i < l;) items[i] = arguments[i++];\n\t return new (typeof this === 'function' ? this : $Observable)(function (observer) {\n\t var done = false;\n\t microtask(function () {\n\t if (!done) {\n\t for (var j = 0; j < items.length; ++j) {\n\t observer.next(items[j]);\n\t if (done) return;\n\t } observer.complete();\n\t }\n\t });\n\t return function () { done = true; };\n\t });\n\t }\n\t});\n\t\n\thide($Observable.prototype, OBSERVABLE, function () { return this; });\n\t\n\t$export($export.G, { Observable: $Observable });\n\t\n\t__webpack_require__(146)('Observable');\n\n\n/***/ }),\n/* 1478 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://github.com/tc39/proposal-promise-finally\n\t'use strict';\n\tvar $export = __webpack_require__(5);\n\tvar core = __webpack_require__(79);\n\tvar global = __webpack_require__(22);\n\tvar speciesConstructor = __webpack_require__(226);\n\tvar promiseResolve = __webpack_require__(615);\n\t\n\t$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n\t var C = speciesConstructor(this, core.Promise || global.Promise);\n\t var isFunction = typeof onFinally == 'function';\n\t return this.then(\n\t isFunction ? function (x) {\n\t return promiseResolve(C, onFinally()).then(function () { return x; });\n\t } : onFinally,\n\t isFunction ? function (e) {\n\t return promiseResolve(C, onFinally()).then(function () { throw e; });\n\t } : onFinally\n\t );\n\t} });\n\n\n/***/ }),\n/* 1479 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://github.com/tc39/proposal-promise-try\n\tvar $export = __webpack_require__(5);\n\tvar newPromiseCapability = __webpack_require__(389);\n\tvar perform = __webpack_require__(614);\n\t\n\t$export($export.S, 'Promise', { 'try': function (callbackfn) {\n\t var promiseCapability = newPromiseCapability.f(this);\n\t var result = perform(callbackfn);\n\t (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n\t return promiseCapability.promise;\n\t} });\n\n\n/***/ }),\n/* 1480 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar metadata = __webpack_require__(101);\n\tvar anObject = __webpack_require__(14);\n\tvar toMetaKey = metadata.key;\n\tvar ordinaryDefineOwnMetadata = metadata.set;\n\t\n\tmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n\t ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n\t} });\n\n\n/***/ }),\n/* 1481 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar metadata = __webpack_require__(101);\n\tvar anObject = __webpack_require__(14);\n\tvar toMetaKey = metadata.key;\n\tvar getOrCreateMetadataMap = metadata.map;\n\tvar store = metadata.store;\n\t\n\tmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n\t var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n\t var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n\t if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n\t if (metadataMap.size) return true;\n\t var targetMetadata = store.get(target);\n\t targetMetadata['delete'](targetKey);\n\t return !!targetMetadata.size || store['delete'](target);\n\t} });\n\n\n/***/ }),\n/* 1482 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar Set = __webpack_require__(623);\n\tvar from = __webpack_require__(591);\n\tvar metadata = __webpack_require__(101);\n\tvar anObject = __webpack_require__(14);\n\tvar getPrototypeOf = __webpack_require__(73);\n\tvar ordinaryOwnMetadataKeys = metadata.keys;\n\tvar toMetaKey = metadata.key;\n\t\n\tvar ordinaryMetadataKeys = function (O, P) {\n\t var oKeys = ordinaryOwnMetadataKeys(O, P);\n\t var parent = getPrototypeOf(O);\n\t if (parent === null) return oKeys;\n\t var pKeys = ordinaryMetadataKeys(parent, P);\n\t return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n\t};\n\t\n\tmetadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n\t return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n\t} });\n\n\n/***/ }),\n/* 1483 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar metadata = __webpack_require__(101);\n\tvar anObject = __webpack_require__(14);\n\tvar getPrototypeOf = __webpack_require__(73);\n\tvar ordinaryHasOwnMetadata = metadata.has;\n\tvar ordinaryGetOwnMetadata = metadata.get;\n\tvar toMetaKey = metadata.key;\n\t\n\tvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n\t var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n\t if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n\t var parent = getPrototypeOf(O);\n\t return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n\t};\n\t\n\tmetadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n\t return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n\t} });\n\n\n/***/ }),\n/* 1484 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar metadata = __webpack_require__(101);\n\tvar anObject = __webpack_require__(14);\n\tvar ordinaryOwnMetadataKeys = metadata.keys;\n\tvar toMetaKey = metadata.key;\n\t\n\tmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n\t return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n\t} });\n\n\n/***/ }),\n/* 1485 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar metadata = __webpack_require__(101);\n\tvar anObject = __webpack_require__(14);\n\tvar ordinaryGetOwnMetadata = metadata.get;\n\tvar toMetaKey = metadata.key;\n\t\n\tmetadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n\t return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n\t , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n\t} });\n\n\n/***/ }),\n/* 1486 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar metadata = __webpack_require__(101);\n\tvar anObject = __webpack_require__(14);\n\tvar getPrototypeOf = __webpack_require__(73);\n\tvar ordinaryHasOwnMetadata = metadata.has;\n\tvar toMetaKey = metadata.key;\n\t\n\tvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n\t var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n\t if (hasOwn) return true;\n\t var parent = getPrototypeOf(O);\n\t return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n\t};\n\t\n\tmetadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n\t return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n\t} });\n\n\n/***/ }),\n/* 1487 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar metadata = __webpack_require__(101);\n\tvar anObject = __webpack_require__(14);\n\tvar ordinaryHasOwnMetadata = metadata.has;\n\tvar toMetaKey = metadata.key;\n\t\n\tmetadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n\t return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n\t , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n\t} });\n\n\n/***/ }),\n/* 1488 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar $metadata = __webpack_require__(101);\n\tvar anObject = __webpack_require__(14);\n\tvar aFunction = __webpack_require__(55);\n\tvar toMetaKey = $metadata.key;\n\tvar ordinaryDefineOwnMetadata = $metadata.set;\n\t\n\t$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {\n\t return function decorator(target, targetKey) {\n\t ordinaryDefineOwnMetadata(\n\t metadataKey, metadataValue,\n\t (targetKey !== undefined ? anObject : aFunction)(target),\n\t toMetaKey(targetKey)\n\t );\n\t };\n\t} });\n\n\n/***/ }),\n/* 1489 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from\n\t__webpack_require__(278)('Set');\n\n\n/***/ }),\n/* 1490 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of\n\t__webpack_require__(279)('Set');\n\n\n/***/ }),\n/* 1491 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://github.com/DavidBruant/Map-Set.prototype.toJSON\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.P + $export.R, 'Set', { toJSON: __webpack_require__(595)('Set') });\n\n\n/***/ }),\n/* 1492 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://github.com/mathiasbynens/String.prototype.at\n\tvar $export = __webpack_require__(5);\n\tvar $at = __webpack_require__(280)(true);\n\t\n\t$export($export.P, 'String', {\n\t at: function at(pos) {\n\t return $at(this, pos);\n\t }\n\t});\n\n\n/***/ }),\n/* 1493 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://tc39.github.io/String.prototype.matchAll/\n\tvar $export = __webpack_require__(5);\n\tvar defined = __webpack_require__(90);\n\tvar toLength = __webpack_require__(37);\n\tvar isRegExp = __webpack_require__(273);\n\tvar getFlags = __webpack_require__(222);\n\tvar RegExpProto = RegExp.prototype;\n\t\n\tvar $RegExpStringIterator = function (regexp, string) {\n\t this._r = regexp;\n\t this._s = string;\n\t};\n\t\n\t__webpack_require__(384)($RegExpStringIterator, 'RegExp String', function next() {\n\t var match = this._r.exec(this._s);\n\t return { value: match, done: match === null };\n\t});\n\t\n\t$export($export.P, 'String', {\n\t matchAll: function matchAll(regexp) {\n\t defined(this);\n\t if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!');\n\t var S = String(this);\n\t var flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp);\n\t var rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);\n\t rx.lastIndex = toLength(regexp.lastIndex);\n\t return new $RegExpStringIterator(rx, S);\n\t }\n\t});\n\n\n/***/ }),\n/* 1494 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://github.com/tc39/proposal-string-pad-start-end\n\tvar $export = __webpack_require__(5);\n\tvar $pad = __webpack_require__(617);\n\tvar userAgent = __webpack_require__(282);\n\t\n\t// https://github.com/zloirock/core-js/issues/280\n\tvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\t\n\t$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n\t padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n\t return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n\t }\n\t});\n\n\n/***/ }),\n/* 1495 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://github.com/tc39/proposal-string-pad-start-end\n\tvar $export = __webpack_require__(5);\n\tvar $pad = __webpack_require__(617);\n\tvar userAgent = __webpack_require__(282);\n\t\n\t// https://github.com/zloirock/core-js/issues/280\n\tvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\t\n\t$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n\t padStart: function padStart(maxLength /* , fillString = ' ' */) {\n\t return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n\t }\n\t});\n\n\n/***/ }),\n/* 1496 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\n\t__webpack_require__(177)('trimLeft', function ($trim) {\n\t return function trimLeft() {\n\t return $trim(this, 1);\n\t };\n\t}, 'trimStart');\n\n\n/***/ }),\n/* 1497 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\n\t__webpack_require__(177)('trimRight', function ($trim) {\n\t return function trimRight() {\n\t return $trim(this, 2);\n\t };\n\t}, 'trimEnd');\n\n\n/***/ }),\n/* 1498 */\n[2500, 398],\n/* 1499 */\n[2501, 398],\n/* 1500 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://github.com/tc39/proposal-global\n\tvar $export = __webpack_require__(5);\n\t\n\t$export($export.S, 'System', { global: __webpack_require__(22) });\n\n\n/***/ }),\n/* 1501 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from\n\t__webpack_require__(278)('WeakMap');\n\n\n/***/ }),\n/* 1502 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of\n\t__webpack_require__(279)('WeakMap');\n\n\n/***/ }),\n/* 1503 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from\n\t__webpack_require__(278)('WeakSet');\n\n\n/***/ }),\n/* 1504 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of\n\t__webpack_require__(279)('WeakSet');\n\n\n/***/ }),\n/* 1505 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar $iterators = __webpack_require__(400);\n\tvar getKeys = __webpack_require__(143);\n\tvar redefine = __webpack_require__(62);\n\tvar global = __webpack_require__(22);\n\tvar hide = __webpack_require__(61);\n\tvar Iterators = __webpack_require__(175);\n\tvar wks = __webpack_require__(34);\n\tvar ITERATOR = wks('iterator');\n\tvar TO_STRING_TAG = wks('toStringTag');\n\tvar ArrayValues = Iterators.Array;\n\t\n\tvar DOMIterables = {\n\t CSSRuleList: true, // TODO: Not spec compliant, should be false.\n\t CSSStyleDeclaration: false,\n\t CSSValueList: false,\n\t ClientRectList: false,\n\t DOMRectList: false,\n\t DOMStringList: false,\n\t DOMTokenList: true,\n\t DataTransferItemList: false,\n\t FileList: false,\n\t HTMLAllCollection: false,\n\t HTMLCollection: false,\n\t HTMLFormElement: false,\n\t HTMLSelectElement: false,\n\t MediaList: true, // TODO: Not spec compliant, should be false.\n\t MimeTypeArray: false,\n\t NamedNodeMap: false,\n\t NodeList: true,\n\t PaintRequestList: false,\n\t Plugin: false,\n\t PluginArray: false,\n\t SVGLengthList: false,\n\t SVGNumberList: false,\n\t SVGPathSegList: false,\n\t SVGPointList: false,\n\t SVGStringList: false,\n\t SVGTransformList: false,\n\t SourceBufferList: false,\n\t StyleSheetList: true, // TODO: Not spec compliant, should be false.\n\t TextTrackCueList: false,\n\t TextTrackList: false,\n\t TouchList: false\n\t};\n\t\n\tfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n\t var NAME = collections[i];\n\t var explicit = DOMIterables[NAME];\n\t var Collection = global[NAME];\n\t var proto = Collection && Collection.prototype;\n\t var key;\n\t if (proto) {\n\t if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n\t if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n\t Iterators[NAME] = ArrayValues;\n\t if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n\t }\n\t}\n\n\n/***/ }),\n/* 1506 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(5);\n\tvar $task = __webpack_require__(396);\n\t$export($export.G + $export.B, {\n\t setImmediate: $task.set,\n\t clearImmediate: $task.clear\n\t});\n\n\n/***/ }),\n/* 1507 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// ie9- setTimeout & setInterval additional parameters fix\n\tvar global = __webpack_require__(22);\n\tvar $export = __webpack_require__(5);\n\tvar userAgent = __webpack_require__(282);\n\tvar slice = [].slice;\n\tvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\n\tvar wrap = function (set) {\n\t return function (fn, time /* , ...args */) {\n\t var boundArgs = arguments.length > 2;\n\t var args = boundArgs ? slice.call(arguments, 2) : false;\n\t return set(boundArgs ? function () {\n\t // eslint-disable-next-line no-new-func\n\t (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);\n\t } : fn, time);\n\t };\n\t};\n\t$export($export.G + $export.B + $export.F * MSIE, {\n\t setTimeout: wrap(global.setTimeout),\n\t setInterval: wrap(global.setInterval)\n\t});\n\n\n/***/ }),\n/* 1508 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(1436);\n\t__webpack_require__(1375);\n\t__webpack_require__(1377);\n\t__webpack_require__(1376);\n\t__webpack_require__(1379);\n\t__webpack_require__(1381);\n\t__webpack_require__(1386);\n\t__webpack_require__(1380);\n\t__webpack_require__(1378);\n\t__webpack_require__(1388);\n\t__webpack_require__(1387);\n\t__webpack_require__(1383);\n\t__webpack_require__(1384);\n\t__webpack_require__(1382);\n\t__webpack_require__(1374);\n\t__webpack_require__(1385);\n\t__webpack_require__(1389);\n\t__webpack_require__(1390);\n\t__webpack_require__(1342);\n\t__webpack_require__(1344);\n\t__webpack_require__(1343);\n\t__webpack_require__(1392);\n\t__webpack_require__(1391);\n\t__webpack_require__(1362);\n\t__webpack_require__(1372);\n\t__webpack_require__(1373);\n\t__webpack_require__(1363);\n\t__webpack_require__(1364);\n\t__webpack_require__(1365);\n\t__webpack_require__(1366);\n\t__webpack_require__(1367);\n\t__webpack_require__(1368);\n\t__webpack_require__(1369);\n\t__webpack_require__(1370);\n\t__webpack_require__(1371);\n\t__webpack_require__(1345);\n\t__webpack_require__(1346);\n\t__webpack_require__(1347);\n\t__webpack_require__(1348);\n\t__webpack_require__(1349);\n\t__webpack_require__(1350);\n\t__webpack_require__(1351);\n\t__webpack_require__(1352);\n\t__webpack_require__(1353);\n\t__webpack_require__(1354);\n\t__webpack_require__(1355);\n\t__webpack_require__(1356);\n\t__webpack_require__(1357);\n\t__webpack_require__(1358);\n\t__webpack_require__(1359);\n\t__webpack_require__(1360);\n\t__webpack_require__(1361);\n\t__webpack_require__(1423);\n\t__webpack_require__(1428);\n\t__webpack_require__(1435);\n\t__webpack_require__(1426);\n\t__webpack_require__(1418);\n\t__webpack_require__(1419);\n\t__webpack_require__(1424);\n\t__webpack_require__(1429);\n\t__webpack_require__(1431);\n\t__webpack_require__(1414);\n\t__webpack_require__(1415);\n\t__webpack_require__(1416);\n\t__webpack_require__(1417);\n\t__webpack_require__(1420);\n\t__webpack_require__(1421);\n\t__webpack_require__(1422);\n\t__webpack_require__(1425);\n\t__webpack_require__(1427);\n\t__webpack_require__(1430);\n\t__webpack_require__(1432);\n\t__webpack_require__(1433);\n\t__webpack_require__(1434);\n\t__webpack_require__(1337);\n\t__webpack_require__(1339);\n\t__webpack_require__(1338);\n\t__webpack_require__(1341);\n\t__webpack_require__(1340);\n\t__webpack_require__(1326);\n\t__webpack_require__(1324);\n\t__webpack_require__(1330);\n\t__webpack_require__(1327);\n\t__webpack_require__(1333);\n\t__webpack_require__(1335);\n\t__webpack_require__(1323);\n\t__webpack_require__(1329);\n\t__webpack_require__(1320);\n\t__webpack_require__(1334);\n\t__webpack_require__(1318);\n\t__webpack_require__(1332);\n\t__webpack_require__(1331);\n\t__webpack_require__(1325);\n\t__webpack_require__(1328);\n\t__webpack_require__(1317);\n\t__webpack_require__(1319);\n\t__webpack_require__(1322);\n\t__webpack_require__(1321);\n\t__webpack_require__(1336);\n\t__webpack_require__(400);\n\t__webpack_require__(1408);\n\t__webpack_require__(621);\n\t__webpack_require__(1413);\n\t__webpack_require__(622);\n\t__webpack_require__(1409);\n\t__webpack_require__(1410);\n\t__webpack_require__(1411);\n\t__webpack_require__(1412);\n\t__webpack_require__(1393);\n\t__webpack_require__(620);\n\t__webpack_require__(623);\n\t__webpack_require__(624);\n\t__webpack_require__(1448);\n\t__webpack_require__(1437);\n\t__webpack_require__(1438);\n\t__webpack_require__(1443);\n\t__webpack_require__(1446);\n\t__webpack_require__(1447);\n\t__webpack_require__(1441);\n\t__webpack_require__(1444);\n\t__webpack_require__(1442);\n\t__webpack_require__(1445);\n\t__webpack_require__(1439);\n\t__webpack_require__(1440);\n\t__webpack_require__(1394);\n\t__webpack_require__(1395);\n\t__webpack_require__(1396);\n\t__webpack_require__(1397);\n\t__webpack_require__(1398);\n\t__webpack_require__(1401);\n\t__webpack_require__(1399);\n\t__webpack_require__(1400);\n\t__webpack_require__(1402);\n\t__webpack_require__(1403);\n\t__webpack_require__(1404);\n\t__webpack_require__(1405);\n\t__webpack_require__(1407);\n\t__webpack_require__(1406);\n\t__webpack_require__(1451);\n\t__webpack_require__(1449);\n\t__webpack_require__(1450);\n\t__webpack_require__(1492);\n\t__webpack_require__(1495);\n\t__webpack_require__(1494);\n\t__webpack_require__(1496);\n\t__webpack_require__(1497);\n\t__webpack_require__(1493);\n\t__webpack_require__(1498);\n\t__webpack_require__(1499);\n\t__webpack_require__(1473);\n\t__webpack_require__(1476);\n\t__webpack_require__(1472);\n\t__webpack_require__(1470);\n\t__webpack_require__(1471);\n\t__webpack_require__(1474);\n\t__webpack_require__(1475);\n\t__webpack_require__(1457);\n\t__webpack_require__(1491);\n\t__webpack_require__(1456);\n\t__webpack_require__(1490);\n\t__webpack_require__(1502);\n\t__webpack_require__(1504);\n\t__webpack_require__(1455);\n\t__webpack_require__(1489);\n\t__webpack_require__(1501);\n\t__webpack_require__(1503);\n\t__webpack_require__(1454);\n\t__webpack_require__(1500);\n\t__webpack_require__(1453);\n\t__webpack_require__(1458);\n\t__webpack_require__(1459);\n\t__webpack_require__(1460);\n\t__webpack_require__(1461);\n\t__webpack_require__(1462);\n\t__webpack_require__(1464);\n\t__webpack_require__(1463);\n\t__webpack_require__(1465);\n\t__webpack_require__(1466);\n\t__webpack_require__(1467);\n\t__webpack_require__(1469);\n\t__webpack_require__(1468);\n\t__webpack_require__(1478);\n\t__webpack_require__(1479);\n\t__webpack_require__(1480);\n\t__webpack_require__(1481);\n\t__webpack_require__(1483);\n\t__webpack_require__(1482);\n\t__webpack_require__(1485);\n\t__webpack_require__(1484);\n\t__webpack_require__(1486);\n\t__webpack_require__(1487);\n\t__webpack_require__(1488);\n\t__webpack_require__(1452);\n\t__webpack_require__(1477);\n\t__webpack_require__(1507);\n\t__webpack_require__(1506);\n\t__webpack_require__(1505);\n\tmodule.exports = __webpack_require__(79);\n\n\n/***/ }),\n/* 1509 */\n/***/ (function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/**\n\t * Copyright (c) 2014, Facebook, Inc.\n\t * All rights reserved.\n\t *\n\t * This source code is licensed under the BSD-style license found in the\n\t * https://raw.github.com/facebook/regenerator/master/LICENSE file. An\n\t * additional grant of patent rights can be found in the PATENTS file in\n\t * the same directory.\n\t */\n\t\n\t!(function(global) {\n\t \"use strict\";\n\t\n\t var Op = Object.prototype;\n\t var hasOwn = Op.hasOwnProperty;\n\t var undefined; // More compressible than void 0.\n\t var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n\t var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n\t var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n\t var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\t\n\t var inModule = typeof module === \"object\";\n\t var runtime = global.regeneratorRuntime;\n\t if (runtime) {\n\t if (inModule) {\n\t // If regeneratorRuntime is defined globally and we're in a module,\n\t // make the exports object identical to regeneratorRuntime.\n\t module.exports = runtime;\n\t }\n\t // Don't bother evaluating the rest of this file if the runtime was\n\t // already defined globally.\n\t return;\n\t }\n\t\n\t // Define the runtime globally (as expected by generated code) as either\n\t // module.exports (if we're in a module) or a new, empty object.\n\t runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\t\n\t function wrap(innerFn, outerFn, self, tryLocsList) {\n\t // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n\t var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n\t var generator = Object.create(protoGenerator.prototype);\n\t var context = new Context(tryLocsList || []);\n\t\n\t // The ._invoke method unifies the implementations of the .next,\n\t // .throw, and .return methods.\n\t generator._invoke = makeInvokeMethod(innerFn, self, context);\n\t\n\t return generator;\n\t }\n\t runtime.wrap = wrap;\n\t\n\t // Try/catch helper to minimize deoptimizations. Returns a completion\n\t // record like context.tryEntries[i].completion. This interface could\n\t // have been (and was previously) designed to take a closure to be\n\t // invoked without arguments, but in all the cases we care about we\n\t // already have an existing method we want to call, so there's no need\n\t // to create a new function object. We can even get away with assuming\n\t // the method takes exactly one argument, since that happens to be true\n\t // in every case, so we don't have to touch the arguments object. The\n\t // only additional allocation required is the completion record, which\n\t // has a stable shape and so hopefully should be cheap to allocate.\n\t function tryCatch(fn, obj, arg) {\n\t try {\n\t return { type: \"normal\", arg: fn.call(obj, arg) };\n\t } catch (err) {\n\t return { type: \"throw\", arg: err };\n\t }\n\t }\n\t\n\t var GenStateSuspendedStart = \"suspendedStart\";\n\t var GenStateSuspendedYield = \"suspendedYield\";\n\t var GenStateExecuting = \"executing\";\n\t var GenStateCompleted = \"completed\";\n\t\n\t // Returning this object from the innerFn has the same effect as\n\t // breaking out of the dispatch switch statement.\n\t var ContinueSentinel = {};\n\t\n\t // Dummy constructor functions that we use as the .constructor and\n\t // .constructor.prototype properties for functions that return Generator\n\t // objects. For full spec compliance, you may wish to configure your\n\t // minifier not to mangle the names of these two functions.\n\t function Generator() {}\n\t function GeneratorFunction() {}\n\t function GeneratorFunctionPrototype() {}\n\t\n\t // This is a polyfill for %IteratorPrototype% for environments that\n\t // don't natively support it.\n\t var IteratorPrototype = {};\n\t IteratorPrototype[iteratorSymbol] = function () {\n\t return this;\n\t };\n\t\n\t var getProto = Object.getPrototypeOf;\n\t var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\t if (NativeIteratorPrototype &&\n\t NativeIteratorPrototype !== Op &&\n\t hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n\t // This environment has a native %IteratorPrototype%; use it instead\n\t // of the polyfill.\n\t IteratorPrototype = NativeIteratorPrototype;\n\t }\n\t\n\t var Gp = GeneratorFunctionPrototype.prototype =\n\t Generator.prototype = Object.create(IteratorPrototype);\n\t GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n\t GeneratorFunctionPrototype.constructor = GeneratorFunction;\n\t GeneratorFunctionPrototype[toStringTagSymbol] =\n\t GeneratorFunction.displayName = \"GeneratorFunction\";\n\t\n\t // Helper for defining the .next, .throw, and .return methods of the\n\t // Iterator interface in terms of a single ._invoke method.\n\t function defineIteratorMethods(prototype) {\n\t [\"next\", \"throw\", \"return\"].forEach(function(method) {\n\t prototype[method] = function(arg) {\n\t return this._invoke(method, arg);\n\t };\n\t });\n\t }\n\t\n\t runtime.isGeneratorFunction = function(genFun) {\n\t var ctor = typeof genFun === \"function\" && genFun.constructor;\n\t return ctor\n\t ? ctor === GeneratorFunction ||\n\t // For the native GeneratorFunction constructor, the best we can\n\t // do is to check its .name property.\n\t (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n\t : false;\n\t };\n\t\n\t runtime.mark = function(genFun) {\n\t if (Object.setPrototypeOf) {\n\t Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n\t } else {\n\t genFun.__proto__ = GeneratorFunctionPrototype;\n\t if (!(toStringTagSymbol in genFun)) {\n\t genFun[toStringTagSymbol] = \"GeneratorFunction\";\n\t }\n\t }\n\t genFun.prototype = Object.create(Gp);\n\t return genFun;\n\t };\n\t\n\t // Within the body of any async function, `await x` is transformed to\n\t // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n\t // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n\t // meant to be awaited.\n\t runtime.awrap = function(arg) {\n\t return { __await: arg };\n\t };\n\t\n\t function AsyncIterator(generator) {\n\t function invoke(method, arg, resolve, reject) {\n\t var record = tryCatch(generator[method], generator, arg);\n\t if (record.type === \"throw\") {\n\t reject(record.arg);\n\t } else {\n\t var result = record.arg;\n\t var value = result.value;\n\t if (value &&\n\t typeof value === \"object\" &&\n\t hasOwn.call(value, \"__await\")) {\n\t return Promise.resolve(value.__await).then(function(value) {\n\t invoke(\"next\", value, resolve, reject);\n\t }, function(err) {\n\t invoke(\"throw\", err, resolve, reject);\n\t });\n\t }\n\t\n\t return Promise.resolve(value).then(function(unwrapped) {\n\t // When a yielded Promise is resolved, its final value becomes\n\t // the .value of the Promise<{value,done}> result for the\n\t // current iteration. If the Promise is rejected, however, the\n\t // result for this iteration will be rejected with the same\n\t // reason. Note that rejections of yielded Promises are not\n\t // thrown back into the generator function, as is the case\n\t // when an awaited Promise is rejected. This difference in\n\t // behavior between yield and await is important, because it\n\t // allows the consumer to decide what to do with the yielded\n\t // rejection (swallow it and continue, manually .throw it back\n\t // into the generator, abandon iteration, whatever). With\n\t // await, by contrast, there is no opportunity to examine the\n\t // rejection reason outside the generator function, so the\n\t // only option is to throw it from the await expression, and\n\t // let the generator function handle the exception.\n\t result.value = unwrapped;\n\t resolve(result);\n\t }, reject);\n\t }\n\t }\n\t\n\t if (typeof global.process === \"object\" && global.process.domain) {\n\t invoke = global.process.domain.bind(invoke);\n\t }\n\t\n\t var previousPromise;\n\t\n\t function enqueue(method, arg) {\n\t function callInvokeWithMethodAndArg() {\n\t return new Promise(function(resolve, reject) {\n\t invoke(method, arg, resolve, reject);\n\t });\n\t }\n\t\n\t return previousPromise =\n\t // If enqueue has been called before, then we want to wait until\n\t // all previous Promises have been resolved before calling invoke,\n\t // so that results are always delivered in the correct order. If\n\t // enqueue has not been called before, then it is important to\n\t // call invoke immediately, without waiting on a callback to fire,\n\t // so that the async generator function has the opportunity to do\n\t // any necessary setup in a predictable way. This predictability\n\t // is why the Promise constructor synchronously invokes its\n\t // executor callback, and why async functions synchronously\n\t // execute code before the first await. Since we implement simple\n\t // async functions in terms of async generators, it is especially\n\t // important to get this right, even though it requires care.\n\t previousPromise ? previousPromise.then(\n\t callInvokeWithMethodAndArg,\n\t // Avoid propagating failures to Promises returned by later\n\t // invocations of the iterator.\n\t callInvokeWithMethodAndArg\n\t ) : callInvokeWithMethodAndArg();\n\t }\n\t\n\t // Define the unified helper method that is used to implement .next,\n\t // .throw, and .return (see defineIteratorMethods).\n\t this._invoke = enqueue;\n\t }\n\t\n\t defineIteratorMethods(AsyncIterator.prototype);\n\t AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n\t return this;\n\t };\n\t runtime.AsyncIterator = AsyncIterator;\n\t\n\t // Note that simple async functions are implemented on top of\n\t // AsyncIterator objects; they just return a Promise for the value of\n\t // the final result produced by the iterator.\n\t runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n\t var iter = new AsyncIterator(\n\t wrap(innerFn, outerFn, self, tryLocsList)\n\t );\n\t\n\t return runtime.isGeneratorFunction(outerFn)\n\t ? iter // If outerFn is a generator, return the full iterator.\n\t : iter.next().then(function(result) {\n\t return result.done ? result.value : iter.next();\n\t });\n\t };\n\t\n\t function makeInvokeMethod(innerFn, self, context) {\n\t var state = GenStateSuspendedStart;\n\t\n\t return function invoke(method, arg) {\n\t if (state === GenStateExecuting) {\n\t throw new Error(\"Generator is already running\");\n\t }\n\t\n\t if (state === GenStateCompleted) {\n\t if (method === \"throw\") {\n\t throw arg;\n\t }\n\t\n\t // Be forgiving, per 25.3.3.3.3 of the spec:\n\t // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n\t return doneResult();\n\t }\n\t\n\t context.method = method;\n\t context.arg = arg;\n\t\n\t while (true) {\n\t var delegate = context.delegate;\n\t if (delegate) {\n\t var delegateResult = maybeInvokeDelegate(delegate, context);\n\t if (delegateResult) {\n\t if (delegateResult === ContinueSentinel) continue;\n\t return delegateResult;\n\t }\n\t }\n\t\n\t if (context.method === \"next\") {\n\t // Setting context._sent for legacy support of Babel's\n\t // function.sent implementation.\n\t context.sent = context._sent = context.arg;\n\t\n\t } else if (context.method === \"throw\") {\n\t if (state === GenStateSuspendedStart) {\n\t state = GenStateCompleted;\n\t throw context.arg;\n\t }\n\t\n\t context.dispatchException(context.arg);\n\t\n\t } else if (context.method === \"return\") {\n\t context.abrupt(\"return\", context.arg);\n\t }\n\t\n\t state = GenStateExecuting;\n\t\n\t var record = tryCatch(innerFn, self, context);\n\t if (record.type === \"normal\") {\n\t // If an exception is thrown from innerFn, we leave state ===\n\t // GenStateExecuting and loop back for another invocation.\n\t state = context.done\n\t ? GenStateCompleted\n\t : GenStateSuspendedYield;\n\t\n\t if (record.arg === ContinueSentinel) {\n\t continue;\n\t }\n\t\n\t return {\n\t value: record.arg,\n\t done: context.done\n\t };\n\t\n\t } else if (record.type === \"throw\") {\n\t state = GenStateCompleted;\n\t // Dispatch the exception by looping back around to the\n\t // context.dispatchException(context.arg) call above.\n\t context.method = \"throw\";\n\t context.arg = record.arg;\n\t }\n\t }\n\t };\n\t }\n\t\n\t // Call delegate.iterator[context.method](context.arg) and handle the\n\t // result, either by returning a { value, done } result from the\n\t // delegate iterator, or by modifying context.method and context.arg,\n\t // setting context.delegate to null, and returning the ContinueSentinel.\n\t function maybeInvokeDelegate(delegate, context) {\n\t var method = delegate.iterator[context.method];\n\t if (method === undefined) {\n\t // A .throw or .return when the delegate iterator has no .throw\n\t // method always terminates the yield* loop.\n\t context.delegate = null;\n\t\n\t if (context.method === \"throw\") {\n\t if (delegate.iterator.return) {\n\t // If the delegate iterator has a return method, give it a\n\t // chance to clean up.\n\t context.method = \"return\";\n\t context.arg = undefined;\n\t maybeInvokeDelegate(delegate, context);\n\t\n\t if (context.method === \"throw\") {\n\t // If maybeInvokeDelegate(context) changed context.method from\n\t // \"return\" to \"throw\", let that override the TypeError below.\n\t return ContinueSentinel;\n\t }\n\t }\n\t\n\t context.method = \"throw\";\n\t context.arg = new TypeError(\n\t \"The iterator does not provide a 'throw' method\");\n\t }\n\t\n\t return ContinueSentinel;\n\t }\n\t\n\t var record = tryCatch(method, delegate.iterator, context.arg);\n\t\n\t if (record.type === \"throw\") {\n\t context.method = \"throw\";\n\t context.arg = record.arg;\n\t context.delegate = null;\n\t return ContinueSentinel;\n\t }\n\t\n\t var info = record.arg;\n\t\n\t if (! info) {\n\t context.method = \"throw\";\n\t context.arg = new TypeError(\"iterator result is not an object\");\n\t context.delegate = null;\n\t return ContinueSentinel;\n\t }\n\t\n\t if (info.done) {\n\t // Assign the result of the finished delegate to the temporary\n\t // variable specified by delegate.resultName (see delegateYield).\n\t context[delegate.resultName] = info.value;\n\t\n\t // Resume execution at the desired location (see delegateYield).\n\t context.next = delegate.nextLoc;\n\t\n\t // If context.method was \"throw\" but the delegate handled the\n\t // exception, let the outer generator proceed normally. If\n\t // context.method was \"next\", forget context.arg since it has been\n\t // \"consumed\" by the delegate iterator. If context.method was\n\t // \"return\", allow the original .return call to continue in the\n\t // outer generator.\n\t if (context.method !== \"return\") {\n\t context.method = \"next\";\n\t context.arg = undefined;\n\t }\n\t\n\t } else {\n\t // Re-yield the result returned by the delegate method.\n\t return info;\n\t }\n\t\n\t // The delegate iterator is finished, so forget it and continue with\n\t // the outer generator.\n\t context.delegate = null;\n\t return ContinueSentinel;\n\t }\n\t\n\t // Define Generator.prototype.{next,throw,return} in terms of the\n\t // unified ._invoke helper method.\n\t defineIteratorMethods(Gp);\n\t\n\t Gp[toStringTagSymbol] = \"Generator\";\n\t\n\t // A Generator should always return itself as the iterator object when the\n\t // @@iterator function is called on it. Some browsers' implementations of the\n\t // iterator prototype chain incorrectly implement this, causing the Generator\n\t // object to not be returned from this call. This ensures that doesn't happen.\n\t // See https://github.com/facebook/regenerator/issues/274 for more details.\n\t Gp[iteratorSymbol] = function() {\n\t return this;\n\t };\n\t\n\t Gp.toString = function() {\n\t return \"[object Generator]\";\n\t };\n\t\n\t function pushTryEntry(locs) {\n\t var entry = { tryLoc: locs[0] };\n\t\n\t if (1 in locs) {\n\t entry.catchLoc = locs[1];\n\t }\n\t\n\t if (2 in locs) {\n\t entry.finallyLoc = locs[2];\n\t entry.afterLoc = locs[3];\n\t }\n\t\n\t this.tryEntries.push(entry);\n\t }\n\t\n\t function resetTryEntry(entry) {\n\t var record = entry.completion || {};\n\t record.type = \"normal\";\n\t delete record.arg;\n\t entry.completion = record;\n\t }\n\t\n\t function Context(tryLocsList) {\n\t // The root entry object (effectively a try statement without a catch\n\t // or a finally block) gives us a place to store values thrown from\n\t // locations where there is no enclosing try statement.\n\t this.tryEntries = [{ tryLoc: \"root\" }];\n\t tryLocsList.forEach(pushTryEntry, this);\n\t this.reset(true);\n\t }\n\t\n\t runtime.keys = function(object) {\n\t var keys = [];\n\t for (var key in object) {\n\t keys.push(key);\n\t }\n\t keys.reverse();\n\t\n\t // Rather than returning an object with a next method, we keep\n\t // things simple and return the next function itself.\n\t return function next() {\n\t while (keys.length) {\n\t var key = keys.pop();\n\t if (key in object) {\n\t next.value = key;\n\t next.done = false;\n\t return next;\n\t }\n\t }\n\t\n\t // To avoid creating an additional object, we just hang the .value\n\t // and .done properties off the next function object itself. This\n\t // also ensures that the minifier will not anonymize the function.\n\t next.done = true;\n\t return next;\n\t };\n\t };\n\t\n\t function values(iterable) {\n\t if (iterable) {\n\t var iteratorMethod = iterable[iteratorSymbol];\n\t if (iteratorMethod) {\n\t return iteratorMethod.call(iterable);\n\t }\n\t\n\t if (typeof iterable.next === \"function\") {\n\t return iterable;\n\t }\n\t\n\t if (!isNaN(iterable.length)) {\n\t var i = -1, next = function next() {\n\t while (++i < iterable.length) {\n\t if (hasOwn.call(iterable, i)) {\n\t next.value = iterable[i];\n\t next.done = false;\n\t return next;\n\t }\n\t }\n\t\n\t next.value = undefined;\n\t next.done = true;\n\t\n\t return next;\n\t };\n\t\n\t return next.next = next;\n\t }\n\t }\n\t\n\t // Return an iterator with no values.\n\t return { next: doneResult };\n\t }\n\t runtime.values = values;\n\t\n\t function doneResult() {\n\t return { value: undefined, done: true };\n\t }\n\t\n\t Context.prototype = {\n\t constructor: Context,\n\t\n\t reset: function(skipTempReset) {\n\t this.prev = 0;\n\t this.next = 0;\n\t // Resetting context._sent for legacy support of Babel's\n\t // function.sent implementation.\n\t this.sent = this._sent = undefined;\n\t this.done = false;\n\t this.delegate = null;\n\t\n\t this.method = \"next\";\n\t this.arg = undefined;\n\t\n\t this.tryEntries.forEach(resetTryEntry);\n\t\n\t if (!skipTempReset) {\n\t for (var name in this) {\n\t // Not sure about the optimal order of these conditions:\n\t if (name.charAt(0) === \"t\" &&\n\t hasOwn.call(this, name) &&\n\t !isNaN(+name.slice(1))) {\n\t this[name] = undefined;\n\t }\n\t }\n\t }\n\t },\n\t\n\t stop: function() {\n\t this.done = true;\n\t\n\t var rootEntry = this.tryEntries[0];\n\t var rootRecord = rootEntry.completion;\n\t if (rootRecord.type === \"throw\") {\n\t throw rootRecord.arg;\n\t }\n\t\n\t return this.rval;\n\t },\n\t\n\t dispatchException: function(exception) {\n\t if (this.done) {\n\t throw exception;\n\t }\n\t\n\t var context = this;\n\t function handle(loc, caught) {\n\t record.type = \"throw\";\n\t record.arg = exception;\n\t context.next = loc;\n\t\n\t if (caught) {\n\t // If the dispatched exception was caught by a catch block,\n\t // then let that catch block handle the exception normally.\n\t context.method = \"next\";\n\t context.arg = undefined;\n\t }\n\t\n\t return !! caught;\n\t }\n\t\n\t for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n\t var entry = this.tryEntries[i];\n\t var record = entry.completion;\n\t\n\t if (entry.tryLoc === \"root\") {\n\t // Exception thrown outside of any try block that could handle\n\t // it, so set the completion value of the entire function to\n\t // throw the exception.\n\t return handle(\"end\");\n\t }\n\t\n\t if (entry.tryLoc <= this.prev) {\n\t var hasCatch = hasOwn.call(entry, \"catchLoc\");\n\t var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\t\n\t if (hasCatch && hasFinally) {\n\t if (this.prev < entry.catchLoc) {\n\t return handle(entry.catchLoc, true);\n\t } else if (this.prev < entry.finallyLoc) {\n\t return handle(entry.finallyLoc);\n\t }\n\t\n\t } else if (hasCatch) {\n\t if (this.prev < entry.catchLoc) {\n\t return handle(entry.catchLoc, true);\n\t }\n\t\n\t } else if (hasFinally) {\n\t if (this.prev < entry.finallyLoc) {\n\t return handle(entry.finallyLoc);\n\t }\n\t\n\t } else {\n\t throw new Error(\"try statement without catch or finally\");\n\t }\n\t }\n\t }\n\t },\n\t\n\t abrupt: function(type, arg) {\n\t for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n\t var entry = this.tryEntries[i];\n\t if (entry.tryLoc <= this.prev &&\n\t hasOwn.call(entry, \"finallyLoc\") &&\n\t this.prev < entry.finallyLoc) {\n\t var finallyEntry = entry;\n\t break;\n\t }\n\t }\n\t\n\t if (finallyEntry &&\n\t (type === \"break\" ||\n\t type === \"continue\") &&\n\t finallyEntry.tryLoc <= arg &&\n\t arg <= finallyEntry.finallyLoc) {\n\t // Ignore the finally entry if control is not jumping to a\n\t // location outside the try/catch block.\n\t finallyEntry = null;\n\t }\n\t\n\t var record = finallyEntry ? finallyEntry.completion : {};\n\t record.type = type;\n\t record.arg = arg;\n\t\n\t if (finallyEntry) {\n\t this.method = \"next\";\n\t this.next = finallyEntry.finallyLoc;\n\t return ContinueSentinel;\n\t }\n\t\n\t return this.complete(record);\n\t },\n\t\n\t complete: function(record, afterLoc) {\n\t if (record.type === \"throw\") {\n\t throw record.arg;\n\t }\n\t\n\t if (record.type === \"break\" ||\n\t record.type === \"continue\") {\n\t this.next = record.arg;\n\t } else if (record.type === \"return\") {\n\t this.rval = this.arg = record.arg;\n\t this.method = \"return\";\n\t this.next = \"end\";\n\t } else if (record.type === \"normal\" && afterLoc) {\n\t this.next = afterLoc;\n\t }\n\t\n\t return ContinueSentinel;\n\t },\n\t\n\t finish: function(finallyLoc) {\n\t for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n\t var entry = this.tryEntries[i];\n\t if (entry.finallyLoc === finallyLoc) {\n\t this.complete(entry.completion, entry.afterLoc);\n\t resetTryEntry(entry);\n\t return ContinueSentinel;\n\t }\n\t }\n\t },\n\t\n\t \"catch\": function(tryLoc) {\n\t for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n\t var entry = this.tryEntries[i];\n\t if (entry.tryLoc === tryLoc) {\n\t var record = entry.completion;\n\t if (record.type === \"throw\") {\n\t var thrown = record.arg;\n\t resetTryEntry(entry);\n\t }\n\t return thrown;\n\t }\n\t }\n\t\n\t // The context.catch method must only be called with a location\n\t // argument that corresponds to a known catch block.\n\t throw new Error(\"illegal catch attempt\");\n\t },\n\t\n\t delegateYield: function(iterable, resultName, nextLoc) {\n\t this.delegate = {\n\t iterator: values(iterable),\n\t resultName: resultName,\n\t nextLoc: nextLoc\n\t };\n\t\n\t if (this.method === \"next\") {\n\t // Deliberately forget the last sent value so that we don't\n\t // accidentally pass it on to the delegate.\n\t this.arg = undefined;\n\t }\n\t\n\t return ContinueSentinel;\n\t }\n\t };\n\t})(\n\t // Among the various tricks for obtaining a reference to the global\n\t // object, this seems to be the most reliable technique that does not\n\t // use indirect eval (which violates Content Security Policy).\n\t typeof global === \"object\" ? global :\n\t typeof window === \"object\" ? window :\n\t typeof self === \"object\" ? self : this\n\t);\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ }),\n/* 1510 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(1515), __esModule: true };\n\n/***/ }),\n/* 1511 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(1517), __esModule: true };\n\n/***/ }),\n/* 1512 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(1519), __esModule: true };\n\n/***/ }),\n/* 1513 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(1521), __esModule: true };\n\n/***/ }),\n/* 1514 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(1522), __esModule: true };\n\n/***/ }),\n/* 1515 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(637);\n\t__webpack_require__(1545);\n\tmodule.exports = __webpack_require__(83).Array.from;\n\n\n/***/ }),\n/* 1516 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(1547);\n\tmodule.exports = __webpack_require__(83).Object.assign;\n\n\n/***/ }),\n/* 1517 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(1548);\n\tvar $Object = __webpack_require__(83).Object;\n\tmodule.exports = function create(P, D) {\n\t return $Object.create(P, D);\n\t};\n\n\n/***/ }),\n/* 1518 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(1552);\n\tmodule.exports = __webpack_require__(83).Object.entries;\n\n\n/***/ }),\n/* 1519 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(1549);\n\tmodule.exports = __webpack_require__(83).Object.setPrototypeOf;\n\n\n/***/ }),\n/* 1520 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(1553);\n\tmodule.exports = __webpack_require__(83).Object.values;\n\n\n/***/ }),\n/* 1521 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(1551);\n\t__webpack_require__(1550);\n\t__webpack_require__(1554);\n\t__webpack_require__(1555);\n\tmodule.exports = __webpack_require__(83).Symbol;\n\n\n/***/ }),\n/* 1522 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(637);\n\t__webpack_require__(1556);\n\tmodule.exports = __webpack_require__(414).f('iterator');\n\n\n/***/ }),\n/* 1523 */\n55,\n/* 1524 */\n/***/ (function(module, exports) {\n\n\tmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 1525 */\n[2409, 152, 636, 1543],\n/* 1526 */\n[2410, 402, 93],\n/* 1527 */\n[2411, 151, 231],\n/* 1528 */\n[2415, 229, 407, 230],\n/* 1529 */\n[2419, 122],\n/* 1530 */\n[2423, 228, 93],\n/* 1531 */\n[2424, 402],\n/* 1532 */\n[2426, 179],\n/* 1533 */\n[2427, 406, 231, 408, 180, 93],\n/* 1534 */\n[2429, 93],\n/* 1535 */\n602,\n/* 1536 */\n[2431, 285, 181, 150, 151, 227],\n/* 1537 */\n[2432, 120, 229, 407, 230, 284, 629, 227],\n/* 1538 */\n[2435, 151, 179, 229, 120],\n/* 1539 */\n[2437, 152, 632],\n/* 1540 */\n[2439, 150, 284, 409],\n/* 1541 */\n[2446, 181, 179, 403, 631],\n/* 1542 */\n[2450, 411, 404],\n/* 1543 */\n[2453, 411],\n/* 1544 */\n[2461, 1526, 93, 228, 83],\n/* 1545 */\n[2462, 403, 121, 284, 1532, 1530, 636, 1527, 1544, 1534],\n/* 1546 */\n[2463, 1524, 1535, 228, 152, 630],\n/* 1547 */\n[2493, 121, 1537],\n/* 1548 */\n[2494, 121, 406],\n/* 1549 */\n[2495, 121, 1541],\n/* 1550 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 1551 */\n[2497, 122, 150, 120, 121, 635, 1536, 227, 410, 408, 285, 93, 414, 413, 1528, 1531, 179, 181, 284, 152, 412, 231, 406, 1539, 631, 407, 151, 229, 632, 230, 283, 180],\n/* 1552 */\n[2498, 121, 634],\n/* 1553 */\n[2499, 121, 634],\n/* 1554 */\n[2500, 413],\n/* 1555 */\n[2501, 413],\n/* 1556 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(1546);\n\tvar global = __webpack_require__(122);\n\tvar hide = __webpack_require__(180);\n\tvar Iterators = __webpack_require__(228);\n\tvar TO_STRING_TAG = __webpack_require__(93)('toStringTag');\n\t\n\tvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n\t 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n\t 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n\t 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n\t 'TextTrackList,TouchList').split(',');\n\t\n\tfor (var i = 0; i < DOMIterables.length; i++) {\n\t var NAME = DOMIterables[i];\n\t var Collection = global[NAME];\n\t var proto = Collection && Collection.prototype;\n\t if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n\t Iterators[NAME] = Iterators.Array;\n\t}\n\n\n/***/ }),\n/* 1557 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Standalone extraction of Backbone.Events, no external dependency required.\n\t * Degrades nicely when Backone/underscore are already available in the current\n\t * global context.\n\t *\n\t * Note that docs suggest to use underscore's `_.extend()` method to add Events\n\t * support to some given object. A `mixin()` method has been added to the Events\n\t * prototype to avoid using underscore for that sole purpose:\n\t *\n\t * var myEventEmitter = BackboneEvents.mixin({});\n\t *\n\t * Or for a function constructor:\n\t *\n\t * function MyConstructor(){}\n\t * MyConstructor.prototype.foo = function(){}\n\t * BackboneEvents.mixin(MyConstructor.prototype);\n\t *\n\t * (c) 2009-2013 Jeremy Ashkenas, DocumentCloud Inc.\n\t * (c) 2013 Nicolas Perriault\n\t */\n\t/* global exports:true, define, module */\n\t(function() {\n\t var root = this,\n\t nativeForEach = Array.prototype.forEach,\n\t hasOwnProperty = Object.prototype.hasOwnProperty,\n\t slice = Array.prototype.slice,\n\t idCounter = 0;\n\t\n\t // Returns a partial implementation matching the minimal API subset required\n\t // by Backbone.Events\n\t function miniscore() {\n\t return {\n\t keys: Object.keys || function (obj) {\n\t if (typeof obj !== \"object\" && typeof obj !== \"function\" || obj === null) {\n\t throw new TypeError(\"keys() called on a non-object\");\n\t }\n\t var key, keys = [];\n\t for (key in obj) {\n\t if (obj.hasOwnProperty(key)) {\n\t keys[keys.length] = key;\n\t }\n\t }\n\t return keys;\n\t },\n\t\n\t uniqueId: function(prefix) {\n\t var id = ++idCounter + '';\n\t return prefix ? prefix + id : id;\n\t },\n\t\n\t has: function(obj, key) {\n\t return hasOwnProperty.call(obj, key);\n\t },\n\t\n\t each: function(obj, iterator, context) {\n\t if (obj == null) return;\n\t if (nativeForEach && obj.forEach === nativeForEach) {\n\t obj.forEach(iterator, context);\n\t } else if (obj.length === +obj.length) {\n\t for (var i = 0, l = obj.length; i < l; i++) {\n\t iterator.call(context, obj[i], i, obj);\n\t }\n\t } else {\n\t for (var key in obj) {\n\t if (this.has(obj, key)) {\n\t iterator.call(context, obj[key], key, obj);\n\t }\n\t }\n\t }\n\t },\n\t\n\t once: function(func) {\n\t var ran = false, memo;\n\t return function() {\n\t if (ran) return memo;\n\t ran = true;\n\t memo = func.apply(this, arguments);\n\t func = null;\n\t return memo;\n\t };\n\t }\n\t };\n\t }\n\t\n\t var _ = miniscore(), Events;\n\t\n\t // Backbone.Events\n\t // ---------------\n\t\n\t // A module that can be mixed in to *any object* in order to provide it with\n\t // custom events. You may bind with `on` or remove with `off` callback\n\t // functions to an event; `trigger`-ing an event fires all callbacks in\n\t // succession.\n\t //\n\t // var object = {};\n\t // _.extend(object, Backbone.Events);\n\t // object.on('expand', function(){ alert('expanded'); });\n\t // object.trigger('expand');\n\t //\n\t Events = {\n\t\n\t // Bind an event to a `callback` function. Passing `\"all\"` will bind\n\t // the callback to all events fired.\n\t on: function(name, callback, context) {\n\t if (!eventsApi(this, 'on', name, [callback, context]) || !callback) return this;\n\t this._events || (this._events = {});\n\t var events = this._events[name] || (this._events[name] = []);\n\t events.push({callback: callback, context: context, ctx: context || this});\n\t return this;\n\t },\n\t\n\t // Bind an event to only be triggered a single time. After the first time\n\t // the callback is invoked, it will be removed.\n\t once: function(name, callback, context) {\n\t if (!eventsApi(this, 'once', name, [callback, context]) || !callback) return this;\n\t var self = this;\n\t var once = _.once(function() {\n\t self.off(name, once);\n\t callback.apply(this, arguments);\n\t });\n\t once._callback = callback;\n\t return this.on(name, once, context);\n\t },\n\t\n\t // Remove one or many callbacks. If `context` is null, removes all\n\t // callbacks with that function. If `callback` is null, removes all\n\t // callbacks for the event. If `name` is null, removes all bound\n\t // callbacks for all events.\n\t off: function(name, callback, context) {\n\t var retain, ev, events, names, i, l, j, k;\n\t if (!this._events || !eventsApi(this, 'off', name, [callback, context])) return this;\n\t if (!name && !callback && !context) {\n\t this._events = {};\n\t return this;\n\t }\n\t\n\t names = name ? [name] : _.keys(this._events);\n\t for (i = 0, l = names.length; i < l; i++) {\n\t name = names[i];\n\t if (events = this._events[name]) {\n\t this._events[name] = retain = [];\n\t if (callback || context) {\n\t for (j = 0, k = events.length; j < k; j++) {\n\t ev = events[j];\n\t if ((callback && callback !== ev.callback && callback !== ev.callback._callback) ||\n\t (context && context !== ev.context)) {\n\t retain.push(ev);\n\t }\n\t }\n\t }\n\t if (!retain.length) delete this._events[name];\n\t }\n\t }\n\t\n\t return this;\n\t },\n\t\n\t // Trigger one or many events, firing all bound callbacks. Callbacks are\n\t // passed the same arguments as `trigger` is, apart from the event name\n\t // (unless you're listening on `\"all\"`, which will cause your callback to\n\t // receive the true name of the event as the first argument).\n\t trigger: function(name) {\n\t if (!this._events) return this;\n\t var args = slice.call(arguments, 1);\n\t if (!eventsApi(this, 'trigger', name, args)) return this;\n\t var events = this._events[name];\n\t var allEvents = this._events.all;\n\t if (events) triggerEvents(events, args);\n\t if (allEvents) triggerEvents(allEvents, arguments);\n\t return this;\n\t },\n\t\n\t // Tell this object to stop listening to either specific events ... or\n\t // to every object it's currently listening to.\n\t stopListening: function(obj, name, callback) {\n\t var listeners = this._listeners;\n\t if (!listeners) return this;\n\t var deleteListener = !name && !callback;\n\t if (typeof name === 'object') callback = this;\n\t if (obj) (listeners = {})[obj._listenerId] = obj;\n\t for (var id in listeners) {\n\t listeners[id].off(name, callback, this);\n\t if (deleteListener) delete this._listeners[id];\n\t }\n\t return this;\n\t }\n\t\n\t };\n\t\n\t // Regular expression used to split event strings.\n\t var eventSplitter = /\\s+/;\n\t\n\t // Implement fancy features of the Events API such as multiple event\n\t // names `\"change blur\"` and jQuery-style event maps `{change: action}`\n\t // in terms of the existing API.\n\t var eventsApi = function(obj, action, name, rest) {\n\t if (!name) return true;\n\t\n\t // Handle event maps.\n\t if (typeof name === 'object') {\n\t for (var key in name) {\n\t obj[action].apply(obj, [key, name[key]].concat(rest));\n\t }\n\t return false;\n\t }\n\t\n\t // Handle space separated event names.\n\t if (eventSplitter.test(name)) {\n\t var names = name.split(eventSplitter);\n\t for (var i = 0, l = names.length; i < l; i++) {\n\t obj[action].apply(obj, [names[i]].concat(rest));\n\t }\n\t return false;\n\t }\n\t\n\t return true;\n\t };\n\t\n\t // A difficult-to-believe, but optimized internal dispatch function for\n\t // triggering events. Tries to keep the usual cases speedy (most internal\n\t // Backbone events have 3 arguments).\n\t var triggerEvents = function(events, args) {\n\t var ev, i = -1, l = events.length, a1 = args[0], a2 = args[1], a3 = args[2];\n\t switch (args.length) {\n\t case 0: while (++i < l) (ev = events[i]).callback.call(ev.ctx); return;\n\t case 1: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1); return;\n\t case 2: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2); return;\n\t case 3: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2, a3); return;\n\t default: while (++i < l) (ev = events[i]).callback.apply(ev.ctx, args);\n\t }\n\t };\n\t\n\t var listenMethods = {listenTo: 'on', listenToOnce: 'once'};\n\t\n\t // Inversion-of-control versions of `on` and `once`. Tell *this* object to\n\t // listen to an event in another object ... keeping track of what it's\n\t // listening to.\n\t _.each(listenMethods, function(implementation, method) {\n\t Events[method] = function(obj, name, callback) {\n\t var listeners = this._listeners || (this._listeners = {});\n\t var id = obj._listenerId || (obj._listenerId = _.uniqueId('l'));\n\t listeners[id] = obj;\n\t if (typeof name === 'object') callback = this;\n\t obj[implementation](name, callback, this);\n\t return this;\n\t };\n\t });\n\t\n\t // Aliases for backwards compatibility.\n\t Events.bind = Events.on;\n\t Events.unbind = Events.off;\n\t\n\t // Mixin utility\n\t Events.mixin = function(proto) {\n\t var exports = ['on', 'once', 'off', 'trigger', 'stopListening', 'listenTo',\n\t 'listenToOnce', 'bind', 'unbind'];\n\t _.each(exports, function(name) {\n\t proto[name] = this[name];\n\t }, this);\n\t return proto;\n\t };\n\t\n\t // Export Events as BackboneEvents depending on current context\n\t if (true) {\n\t if (typeof module !== 'undefined' && module.exports) {\n\t exports = module.exports = Events;\n\t }\n\t exports.BackboneEvents = Events;\n\t }else if (typeof define === \"function\" && typeof define.amd == \"object\") {\n\t define(function() {\n\t return Events;\n\t });\n\t } else {\n\t root.BackboneEvents = Events;\n\t }\n\t})(this);\n\n\n/***/ }),\n/* 1558 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(1557);\n\n\n/***/ }),\n/* 1559 */\n/***/ (function(module, exports) {\n\n\t'use strict'\n\t\n\texports.byteLength = byteLength\n\texports.toByteArray = toByteArray\n\texports.fromByteArray = fromByteArray\n\t\n\tvar lookup = []\n\tvar revLookup = []\n\tvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\t\n\tvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\n\tfor (var i = 0, len = code.length; i < len; ++i) {\n\t lookup[i] = code[i]\n\t revLookup[code.charCodeAt(i)] = i\n\t}\n\t\n\t// Support decoding URL-safe base64 strings, as Node.js does.\n\t// See: https://en.wikipedia.org/wiki/Base64#URL_applications\n\trevLookup['-'.charCodeAt(0)] = 62\n\trevLookup['_'.charCodeAt(0)] = 63\n\t\n\tfunction getLens (b64) {\n\t var len = b64.length\n\t\n\t if (len % 4 > 0) {\n\t throw new Error('Invalid string. Length must be a multiple of 4')\n\t }\n\t\n\t // Trim off extra bytes after placeholder bytes are found\n\t // See: https://github.com/beatgammit/base64-js/issues/42\n\t var validLen = b64.indexOf('=')\n\t if (validLen === -1) validLen = len\n\t\n\t var placeHoldersLen = validLen === len\n\t ? 0\n\t : 4 - (validLen % 4)\n\t\n\t return [validLen, placeHoldersLen]\n\t}\n\t\n\t// base64 is 4/3 + up to two characters of the original data\n\tfunction byteLength (b64) {\n\t var lens = getLens(b64)\n\t var validLen = lens[0]\n\t var placeHoldersLen = lens[1]\n\t return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n\t}\n\t\n\tfunction _byteLength (b64, validLen, placeHoldersLen) {\n\t return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n\t}\n\t\n\tfunction toByteArray (b64) {\n\t var tmp\n\t var lens = getLens(b64)\n\t var validLen = lens[0]\n\t var placeHoldersLen = lens[1]\n\t\n\t var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\t\n\t var curByte = 0\n\t\n\t // if there are placeholders, only get up to the last complete 4 chars\n\t var len = placeHoldersLen > 0\n\t ? validLen - 4\n\t : validLen\n\t\n\t var i\n\t for (i = 0; i < len; i += 4) {\n\t tmp =\n\t (revLookup[b64.charCodeAt(i)] << 18) |\n\t (revLookup[b64.charCodeAt(i + 1)] << 12) |\n\t (revLookup[b64.charCodeAt(i + 2)] << 6) |\n\t revLookup[b64.charCodeAt(i + 3)]\n\t arr[curByte++] = (tmp >> 16) & 0xFF\n\t arr[curByte++] = (tmp >> 8) & 0xFF\n\t arr[curByte++] = tmp & 0xFF\n\t }\n\t\n\t if (placeHoldersLen === 2) {\n\t tmp =\n\t (revLookup[b64.charCodeAt(i)] << 2) |\n\t (revLookup[b64.charCodeAt(i + 1)] >> 4)\n\t arr[curByte++] = tmp & 0xFF\n\t }\n\t\n\t if (placeHoldersLen === 1) {\n\t tmp =\n\t (revLookup[b64.charCodeAt(i)] << 10) |\n\t (revLookup[b64.charCodeAt(i + 1)] << 4) |\n\t (revLookup[b64.charCodeAt(i + 2)] >> 2)\n\t arr[curByte++] = (tmp >> 8) & 0xFF\n\t arr[curByte++] = tmp & 0xFF\n\t }\n\t\n\t return arr\n\t}\n\t\n\tfunction tripletToBase64 (num) {\n\t return lookup[num >> 18 & 0x3F] +\n\t lookup[num >> 12 & 0x3F] +\n\t lookup[num >> 6 & 0x3F] +\n\t lookup[num & 0x3F]\n\t}\n\t\n\tfunction encodeChunk (uint8, start, end) {\n\t var tmp\n\t var output = []\n\t for (var i = start; i < end; i += 3) {\n\t tmp =\n\t ((uint8[i] << 16) & 0xFF0000) +\n\t ((uint8[i + 1] << 8) & 0xFF00) +\n\t (uint8[i + 2] & 0xFF)\n\t output.push(tripletToBase64(tmp))\n\t }\n\t return output.join('')\n\t}\n\t\n\tfunction fromByteArray (uint8) {\n\t var tmp\n\t var len = uint8.length\n\t var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n\t var parts = []\n\t var maxChunkLength = 16383 // must be multiple of 3\n\t\n\t // go through the array every three bytes, we'll deal with trailing stuff later\n\t for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n\t parts.push(encodeChunk(\n\t uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n\t ))\n\t }\n\t\n\t // pad the end with zeros, but make sure to not forget the extra bytes\n\t if (extraBytes === 1) {\n\t tmp = uint8[len - 1]\n\t parts.push(\n\t lookup[tmp >> 2] +\n\t lookup[(tmp << 4) & 0x3F] +\n\t '=='\n\t )\n\t } else if (extraBytes === 2) {\n\t tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n\t parts.push(\n\t lookup[tmp >> 10] +\n\t lookup[(tmp >> 4) & 0x3F] +\n\t lookup[(tmp << 2) & 0x3F] +\n\t '='\n\t )\n\t }\n\t\n\t return parts.join('')\n\t}\n\n\n/***/ }),\n/* 1560 */\n/***/ (function(module, exports) {\n\n\t\n\tmodule.exports = function chain(){\n\t var len = arguments.length\n\t var args = [];\n\t\n\t for (var i = 0; i < len; i++)\n\t args[i] = arguments[i]\n\t\n\t args = args.filter(function(fn){ return fn != null })\n\t\n\t if (args.length === 0) return undefined\n\t if (args.length === 1) return args[0]\n\t\n\t return args.reduce(function(current, next){\n\t return function chainedFunction() {\n\t current.apply(this, arguments);\n\t next.apply(this, arguments);\n\t };\n\t })\n\t}\n\n\n/***/ }),\n/* 1561 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar $ = __webpack_require__(417),\n\t utils = __webpack_require__(233),\n\t isTag = utils.isTag,\n\t domEach = utils.domEach,\n\t hasOwn = Object.prototype.hasOwnProperty,\n\t camelCase = utils.camelCase,\n\t cssCase = utils.cssCase,\n\t rspace = /\\s+/,\n\t dataAttrPrefix = 'data-',\n\t _ = {\n\t forEach: __webpack_require__(304),\n\t extend: __webpack_require__(734),\n\t some: __webpack_require__(1845)\n\t },\n\t\n\t // Lookup table for coercing string data-* attributes to their corresponding\n\t // JavaScript primitives\n\t primitives = {\n\t null: null,\n\t true: true,\n\t false: false\n\t },\n\t\n\t // Attributes that are booleans\n\t rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,\n\t // Matches strings that look like JSON objects or arrays\n\t rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/;\n\t\n\t\n\tvar getAttr = function(elem, name) {\n\t if (!elem || !isTag(elem)) return;\n\t\n\t if (!elem.attribs) {\n\t elem.attribs = {};\n\t }\n\t\n\t // Return the entire attribs object if no attribute specified\n\t if (!name) {\n\t return elem.attribs;\n\t }\n\t\n\t if (hasOwn.call(elem.attribs, name)) {\n\t // Get the (decoded) attribute\n\t return rboolean.test(name) ? name : elem.attribs[name];\n\t }\n\t\n\t // Mimic the DOM and return text content as value for `option's`\n\t if (elem.name === 'option' && name === 'value') {\n\t return $.text(elem.children);\n\t }\n\t\n\t // Mimic DOM with default value for radios/checkboxes\n\t if (elem.name === 'input' &&\n\t (elem.attribs.type === 'radio' || elem.attribs.type === 'checkbox') &&\n\t name === 'value') {\n\t return 'on';\n\t }\n\t};\n\t\n\tvar setAttr = function(el, name, value) {\n\t\n\t if (value === null) {\n\t removeAttribute(el, name);\n\t } else {\n\t el.attribs[name] = value+'';\n\t }\n\t};\n\t\n\texports.attr = function(name, value) {\n\t // Set the value (with attr map support)\n\t if (typeof name === 'object' || value !== undefined) {\n\t if (typeof value === 'function') {\n\t return domEach(this, function(i, el) {\n\t setAttr(el, name, value.call(el, i, el.attribs[name]));\n\t });\n\t }\n\t return domEach(this, function(i, el) {\n\t if (!isTag(el)) return;\n\t\n\t if (typeof name === 'object') {\n\t _.forEach(name, function(value, name) {\n\t setAttr(el, name, value);\n\t });\n\t } else {\n\t setAttr(el, name, value);\n\t }\n\t });\n\t }\n\t\n\t return getAttr(this[0], name);\n\t};\n\t\n\tvar getProp = function (el, name) {\n\t if (!el || !isTag(el)) return;\n\t \n\t return el.hasOwnProperty(name)\n\t ? el[name]\n\t : rboolean.test(name)\n\t ? getAttr(el, name) !== undefined\n\t : getAttr(el, name);\n\t};\n\t\n\tvar setProp = function (el, name, value) {\n\t el[name] = rboolean.test(name) ? !!value : value;\n\t};\n\t\n\texports.prop = function (name, value) {\n\t var i = 0,\n\t property;\n\t\n\t if (typeof name === 'string' && value === undefined) {\n\t\n\t switch (name) {\n\t case 'style':\n\t property = this.css();\n\t\n\t _.forEach(property, function (v, p) {\n\t property[i++] = p;\n\t });\n\t\n\t property.length = i;\n\t\n\t break;\n\t case 'tagName':\n\t case 'nodeName':\n\t property = this[0].name.toUpperCase();\n\t break;\n\t default:\n\t property = getProp(this[0], name);\n\t }\n\t\n\t return property;\n\t }\n\t\n\t if (typeof name === 'object' || value !== undefined) {\n\t\n\t if (typeof value === 'function') {\n\t return domEach(this, function(i, el) {\n\t setProp(el, name, value.call(el, i, getProp(el, name)));\n\t });\n\t }\n\t\n\t return domEach(this, function(i, el) {\n\t if (!isTag(el)) return;\n\t\n\t if (typeof name === 'object') {\n\t\n\t _.forEach(name, function(val, name) {\n\t setProp(el, name, val);\n\t });\n\t\n\t } else {\n\t setProp(el, name, value);\n\t }\n\t });\n\t\n\t }\n\t};\n\t\n\tvar setData = function(el, name, value) {\n\t if (!el.data) {\n\t el.data = {};\n\t }\n\t\n\t if (typeof name === 'object') return _.extend(el.data, name);\n\t if (typeof name === 'string' && value !== undefined) {\n\t el.data[name] = value;\n\t } else if (typeof name === 'object') {\n\t _.extend(el.data, name);\n\t }\n\t};\n\t\n\t// Read the specified attribute from the equivalent HTML5 `data-*` attribute,\n\t// and (if present) cache the value in the node's internal data store. If no\n\t// attribute name is specified, read *all* HTML5 `data-*` attributes in this\n\t// manner.\n\tvar readData = function(el, name) {\n\t var readAll = arguments.length === 1;\n\t var domNames, domName, jsNames, jsName, value, idx, length;\n\t\n\t if (readAll) {\n\t domNames = Object.keys(el.attribs).filter(function(attrName) {\n\t return attrName.slice(0, dataAttrPrefix.length) === dataAttrPrefix;\n\t });\n\t jsNames = domNames.map(function(domName) {\n\t return camelCase(domName.slice(dataAttrPrefix.length));\n\t });\n\t } else {\n\t domNames = [dataAttrPrefix + cssCase(name)];\n\t jsNames = [name];\n\t }\n\t\n\t for (idx = 0, length = domNames.length; idx < length; ++idx) {\n\t domName = domNames[idx];\n\t jsName = jsNames[idx];\n\t if (hasOwn.call(el.attribs, domName)) {\n\t value = el.attribs[domName];\n\t\n\t if (hasOwn.call(primitives, value)) {\n\t value = primitives[value];\n\t } else if (value === String(Number(value))) {\n\t value = Number(value);\n\t } else if (rbrace.test(value)) {\n\t try {\n\t value = JSON.parse(value);\n\t } catch(e){ }\n\t }\n\t\n\t el.data[jsName] = value;\n\t }\n\t }\n\t\n\t return readAll ? el.data : value;\n\t};\n\t\n\texports.data = function(name, value) {\n\t var elem = this[0];\n\t\n\t if (!elem || !isTag(elem)) return;\n\t\n\t if (!elem.data) {\n\t elem.data = {};\n\t }\n\t\n\t // Return the entire data object if no data specified\n\t if (!name) {\n\t return readData(elem);\n\t }\n\t\n\t // Set the value (with attr map support)\n\t if (typeof name === 'object' || value !== undefined) {\n\t domEach(this, function(i, el) {\n\t setData(el, name, value);\n\t });\n\t return this;\n\t } else if (hasOwn.call(elem.data, name)) {\n\t return elem.data[name];\n\t }\n\t\n\t return readData(elem, name);\n\t};\n\t\n\t/**\n\t * Get the value of an element\n\t */\n\t\n\texports.val = function(value) {\n\t var querying = arguments.length === 0,\n\t element = this[0];\n\t\n\t if(!element) return;\n\t\n\t switch (element.name) {\n\t case 'textarea':\n\t return this.text(value);\n\t case 'input':\n\t switch (this.attr('type')) {\n\t case 'radio':\n\t if (querying) {\n\t return this.attr('value');\n\t } else {\n\t this.attr('value', value);\n\t return this;\n\t }\n\t break;\n\t default:\n\t return this.attr('value', value);\n\t }\n\t return;\n\t case 'select':\n\t var option = this.find('option:selected'),\n\t returnValue;\n\t if (option === undefined) return undefined;\n\t if (!querying) {\n\t if (!this.attr().hasOwnProperty('multiple') && typeof value == 'object') {\n\t return this;\n\t }\n\t if (typeof value != 'object') {\n\t value = [value];\n\t }\n\t this.find('option').removeAttr('selected');\n\t for (var i = 0; i < value.length; i++) {\n\t this.find('option[value=\"' + value[i] + '\"]').attr('selected', '');\n\t }\n\t return this;\n\t }\n\t returnValue = option.attr('value');\n\t if (this.attr().hasOwnProperty('multiple')) {\n\t returnValue = [];\n\t domEach(option, function(i, el) {\n\t returnValue.push(getAttr(el, 'value'));\n\t });\n\t }\n\t return returnValue;\n\t case 'option':\n\t if (!querying) {\n\t this.attr('value', value);\n\t return this;\n\t }\n\t return this.attr('value');\n\t }\n\t};\n\t\n\t/**\n\t * Remove an attribute\n\t */\n\t\n\tvar removeAttribute = function(elem, name) {\n\t if (!elem.attribs || !hasOwn.call(elem.attribs, name))\n\t return;\n\t\n\t delete elem.attribs[name];\n\t};\n\t\n\t\n\texports.removeAttr = function(name) {\n\t domEach(this, function(i, elem) {\n\t removeAttribute(elem, name);\n\t });\n\t\n\t return this;\n\t};\n\t\n\texports.hasClass = function(className) {\n\t return _.some(this, function(elem) {\n\t var attrs = elem.attribs,\n\t clazz = attrs && attrs['class'],\n\t idx = -1,\n\t end;\n\t\n\t if (clazz) {\n\t while ((idx = clazz.indexOf(className, idx+1)) > -1) {\n\t end = idx + className.length;\n\t\n\t if ((idx === 0 || rspace.test(clazz[idx-1]))\n\t && (end === clazz.length || rspace.test(clazz[end]))) {\n\t return true;\n\t }\n\t }\n\t }\n\t });\n\t};\n\t\n\texports.addClass = function(value) {\n\t // Support functions\n\t if (typeof value === 'function') {\n\t return domEach(this, function(i, el) {\n\t var className = el.attribs['class'] || '';\n\t exports.addClass.call([el], value.call(el, i, className));\n\t });\n\t }\n\t\n\t // Return if no value or not a string or function\n\t if (!value || typeof value !== 'string') return this;\n\t\n\t var classNames = value.split(rspace),\n\t numElements = this.length;\n\t\n\t\n\t for (var i = 0; i < numElements; i++) {\n\t // If selected element isn't a tag, move on\n\t if (!isTag(this[i])) continue;\n\t\n\t // If we don't already have classes\n\t var className = getAttr(this[i], 'class'),\n\t numClasses,\n\t setClass;\n\t\n\t if (!className) {\n\t setAttr(this[i], 'class', classNames.join(' ').trim());\n\t } else {\n\t setClass = ' ' + className + ' ';\n\t numClasses = classNames.length;\n\t\n\t // Check if class already exists\n\t for (var j = 0; j < numClasses; j++) {\n\t var appendClass = classNames[j] + ' ';\n\t if (setClass.indexOf(' ' + appendClass) < 0)\n\t setClass += appendClass;\n\t }\n\t\n\t setAttr(this[i], 'class', setClass.trim());\n\t }\n\t }\n\t\n\t return this;\n\t};\n\t\n\tvar splitClass = function(className) {\n\t return className ? className.trim().split(rspace) : [];\n\t};\n\t\n\texports.removeClass = function(value) {\n\t var classes,\n\t numClasses,\n\t removeAll;\n\t\n\t // Handle if value is a function\n\t if (typeof value === 'function') {\n\t return domEach(this, function(i, el) {\n\t exports.removeClass.call(\n\t [el], value.call(el, i, el.attribs['class'] || '')\n\t );\n\t });\n\t }\n\t\n\t classes = splitClass(value);\n\t numClasses = classes.length;\n\t removeAll = arguments.length === 0;\n\t\n\t return domEach(this, function(i, el) {\n\t if (!isTag(el)) return;\n\t\n\t if (removeAll) {\n\t // Short circuit the remove all case as this is the nice one\n\t el.attribs.class = '';\n\t } else {\n\t var elClasses = splitClass(el.attribs.class),\n\t index,\n\t changed;\n\t\n\t for (var j = 0; j < numClasses; j++) {\n\t index = elClasses.indexOf(classes[j]);\n\t\n\t if (index >= 0) {\n\t elClasses.splice(index, 1);\n\t changed = true;\n\t\n\t // We have to do another pass to ensure that there are not duplicate\n\t // classes listed\n\t j--;\n\t }\n\t }\n\t if (changed) {\n\t el.attribs.class = elClasses.join(' ');\n\t }\n\t }\n\t });\n\t};\n\t\n\texports.toggleClass = function(value, stateVal) {\n\t // Support functions\n\t if (typeof value === 'function') {\n\t return domEach(this, function(i, el) {\n\t exports.toggleClass.call(\n\t [el],\n\t value.call(el, i, el.attribs['class'] || '', stateVal),\n\t stateVal\n\t );\n\t });\n\t }\n\t\n\t // Return if no value or not a string or function\n\t if (!value || typeof value !== 'string') return this;\n\t\n\t var classNames = value.split(rspace),\n\t numClasses = classNames.length,\n\t state = typeof stateVal === 'boolean' ? stateVal ? 1 : -1 : 0,\n\t numElements = this.length,\n\t elementClasses,\n\t index;\n\t\n\t for (var i = 0; i < numElements; i++) {\n\t // If selected element isn't a tag, move on\n\t if (!isTag(this[i])) continue;\n\t\n\t elementClasses = splitClass(this[i].attribs.class);\n\t\n\t // Check if class already exists\n\t for (var j = 0; j < numClasses; j++) {\n\t // Check if the class name is currently defined\n\t index = elementClasses.indexOf(classNames[j]);\n\t\n\t // Add if stateValue === true or we are toggling and there is no value\n\t if (state >= 0 && index < 0) {\n\t elementClasses.push(classNames[j]);\n\t } else if (state <= 0 && index >= 0) {\n\t // Otherwise remove but only if the item exists\n\t elementClasses.splice(index, 1);\n\t }\n\t }\n\t\n\t this[i].attribs.class = elementClasses.join(' ');\n\t }\n\t\n\t return this;\n\t};\n\t\n\texports.is = function (selector) {\n\t if (selector) {\n\t return this.filter(selector).length > 0;\n\t }\n\t return false;\n\t};\n\t\n\n\n/***/ }),\n/* 1562 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar domEach = __webpack_require__(233).domEach,\n\t _ = {\n\t pick: __webpack_require__(1842),\n\t };\n\t\n\tvar toString = Object.prototype.toString;\n\t\n\t/**\n\t * Set / Get css.\n\t *\n\t * @param {String|Object} prop\n\t * @param {String} val\n\t * @return {self}\n\t * @api public\n\t */\n\t\n\texports.css = function(prop, val) {\n\t if (arguments.length === 2 ||\n\t // When `prop` is a \"plain\" object\n\t (toString.call(prop) === '[object Object]')) {\n\t return domEach(this, function(idx, el) {\n\t setCss(el, prop, val, idx);\n\t });\n\t } else {\n\t return getCss(this[0], prop);\n\t }\n\t};\n\t\n\t/**\n\t * Set styles of all elements.\n\t *\n\t * @param {String|Object} prop\n\t * @param {String} val\n\t * @param {Number} idx - optional index within the selection\n\t * @return {self}\n\t * @api private\n\t */\n\t\n\tfunction setCss(el, prop, val, idx) {\n\t if ('string' == typeof prop) {\n\t var styles = getCss(el);\n\t if (typeof val === 'function') {\n\t val = val.call(el, idx, styles[prop]);\n\t }\n\t\n\t if (val === '') {\n\t delete styles[prop];\n\t } else if (val != null) {\n\t styles[prop] = val;\n\t }\n\t\n\t el.attribs.style = stringify(styles);\n\t } else if ('object' == typeof prop) {\n\t Object.keys(prop).forEach(function(k){\n\t setCss(el, k, prop[k]);\n\t });\n\t }\n\t}\n\t\n\t/**\n\t * Get parsed styles of the first element.\n\t *\n\t * @param {String} prop\n\t * @return {Object}\n\t * @api private\n\t */\n\t\n\tfunction getCss(el, prop) {\n\t var styles = parse(el.attribs.style);\n\t if (typeof prop === 'string') {\n\t return styles[prop];\n\t } else if (Array.isArray(prop)) {\n\t return _.pick(styles, prop);\n\t } else {\n\t return styles;\n\t }\n\t}\n\t\n\t/**\n\t * Stringify `obj` to styles.\n\t *\n\t * @param {Object} obj\n\t * @return {Object}\n\t * @api private\n\t */\n\t\n\tfunction stringify(obj) {\n\t return Object.keys(obj || {})\n\t .reduce(function(str, prop){\n\t return str += ''\n\t + (str ? ' ' : '')\n\t + prop\n\t + ': '\n\t + obj[prop]\n\t + ';';\n\t }, '');\n\t}\n\t\n\t/**\n\t * Parse `styles`.\n\t *\n\t * @param {String} styles\n\t * @return {Object}\n\t * @api private\n\t */\n\t\n\tfunction parse(styles) {\n\t styles = (styles || '').trim();\n\t\n\t if (!styles) return {};\n\t\n\t return styles\n\t .split(';')\n\t .reduce(function(obj, str){\n\t var n = str.indexOf(':');\n\t // skip if there is no :, or if it is the first/last character\n\t if (n < 1 || n === str.length-1) return obj;\n\t obj[str.slice(0,n).trim()] = str.slice(n+1).trim();\n\t return obj;\n\t }, {});\n\t}\n\n\n/***/ }),\n/* 1563 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// https://github.com/jquery/jquery/blob/2.1.3/src/manipulation/var/rcheckableType.js\n\t// https://github.com/jquery/jquery/blob/2.1.3/src/serialize.js\n\tvar submittableSelector = 'input,select,textarea,keygen',\n\t r20 = /%20/g,\n\t rCRLF = /\\r?\\n/g,\n\t _ = {\n\t map: __webpack_require__(1839)\n\t };\n\t\n\texports.serialize = function() {\n\t // Convert form elements into name/value objects\n\t var arr = this.serializeArray();\n\t\n\t // Serialize each element into a key/value string\n\t var retArr = _.map(arr, function(data) {\n\t return encodeURIComponent(data.name) + '=' + encodeURIComponent(data.value);\n\t });\n\t\n\t // Return the resulting serialization\n\t return retArr.join('&').replace(r20, '+');\n\t};\n\t\n\texports.serializeArray = function() {\n\t // Resolve all form elements from either forms or collections of form elements\n\t var Cheerio = this.constructor;\n\t return this.map(function() {\n\t var elem = this;\n\t var $elem = Cheerio(elem);\n\t if (elem.name === 'form') {\n\t return $elem.find(submittableSelector).toArray();\n\t } else {\n\t return $elem.filter(submittableSelector).toArray();\n\t }\n\t }).filter(\n\t // Verify elements have a name (`attr.name`) and are not disabled (`:disabled`)\n\t '[name!=\"\"]:not(:disabled)'\n\t // and cannot be clicked (`[type=submit]`) or are used in `x-www-form-urlencoded` (`[type=file]`)\n\t + ':not(:submit, :button, :image, :reset, :file)'\n\t // and are either checked/don't have a checkable state\n\t + ':matches([checked], :not(:checkbox, :radio))'\n\t // Convert each of the elements to its value(s)\n\t ).map(function(i, elem) {\n\t var $elem = Cheerio(elem);\n\t var name = $elem.attr('name');\n\t var val = $elem.val();\n\t\n\t // If there is no value set (e.g. `undefined`, `null`), then return nothing\n\t if (val == null) {\n\t return null;\n\t } else {\n\t // If we have an array of values (e.g. `