-
Notifications
You must be signed in to change notification settings - Fork 0
/
component---src-templates-project-js-9b679005359df88bc731.js.map
1 lines (1 loc) · 221 KB
/
component---src-templates-project-js-9b679005359df88bc731.js.map
1
{"version":3,"sources":["webpack:///component---src-templates-project-js-9b679005359df88bc731.js","webpack:///./~/deep-equal/index.js","webpack:///./~/deep-equal/lib/is_arguments.js","webpack:///./~/deep-equal/lib/keys.js","webpack:///./~/exenv/index.js","webpack:///./~/react-helmet/lib/Helmet.js","webpack:///./~/react-helmet/lib/HelmetConstants.js","webpack:///./~/react-helmet/lib/HelmetUtils.js","webpack:///./~/react-media/cjs/react-media.js?e838","webpack:///./~/react-side-effect/lib/index.js","webpack:///./~/shallowequal/index.js","webpack:///./src/templates/project.js","webpack:///./src/templates/project.module.css"],"names":["webpackJsonp","78","module","exports","__webpack_require__","isUndefinedOrNull","value","undefined","isBuffer","x","length","copy","slice","objEquiv","a","b","opts","i","key","prototype","isArguments","pSlice","call","deepEqual","ka","objectKeys","kb","e","sort","Array","actual","expected","Date","getTime","strict","79","supported","object","Object","toString","unsupported","hasOwnProperty","propertyIsEnumerable","supportsArgumentsClass","arguments","80","shim","obj","keys","push","82","__WEBPACK_AMD_DEFINE_RESULT__","canUseDOM","window","document","createElement","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","addEventListener","attachEvent","canUseViewport","screen","86","_interopRequireDefault","__esModule","default","_objectWithoutProperties","target","indexOf","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","create","constructor","enumerable","writable","configurable","setPrototypeOf","__proto__","Helmet","_extends","assign","source","_createClass","defineProperties","props","descriptor","defineProperty","protoProps","staticProps","_react","_react2","_propTypes","_propTypes2","_reactSideEffect","_reactSideEffect2","_deepEqual","_deepEqual2","_HelmetUtils","_HelmetConstants","Component","_class","_temp","_React$Component","HelmetWrapper","this","apply","shouldComponentUpdate","nextProps","mapNestedChildrenToProps","child","nestedChildren","type","TAG_NAMES","SCRIPT","NOSCRIPT","innerHTML","STYLE","cssText","Error","flattenArrayTypeChildren","_ref","_extends2","arrayTypeChildren","newChildProps","concat","mapObjectTypeChildren","_ref2","_extends3","_extends4","newProps","TITLE","titleAttributes","BODY","bodyAttributes","HTML","htmlAttributes","mapArrayTypeChildrenToProps","newFlattenedProps","forEach","arrayChildName","_extends5","warnOnInvalidChildren","mapChildrenToProps","children","_this2","Children","_child$props","childProps","convertReactPropstoHtmlAttributes","LINK","META","render","_props","set","propTypes","base","oneOfType","arrayOf","node","defaultTitle","string","defer","bool","encodeSpecialCharacters","link","meta","noscript","onChangeClientState","func","script","style","title","titleTemplate","defaultProps","peek","rewind","mappedState","mapStateOnServer","baseTag","linkTags","metaTags","noscriptTags","scriptTags","styleTags","NullComponent","HelmetSideEffects","reducePropsToState","handleClientStateChange","HelmetExport","renderStatic","33","ATTRIBUTE_NAMES","BASE","HEAD","REACT_TAG_MAP","VALID_TAG_NAMES","map","name","TAG_PROPERTIES","CHARSET","CSS_TEXT","HREF","HTTPEQUIV","INNER_HTML","ITEM_PROP","NAME","PROPERTY","REL","SRC","accesskey","charset","class","contenteditable","contextmenu","http-equiv","itemprop","tabindex","HELMET_PROPS","DEFAULT_TITLE","DEFER","ENCODE_SPECIAL_CHARACTERS","ON_CHANGE_CLIENT_STATE","TITLE_TEMPLATE","HTML_TAG_MAP","reduce","SELF_CLOSING_TAGS","HELMET_ATTRIBUTE","87","global","warn","requestAnimationFrame","_typeof","Symbol","iterator","_objectAssign","_objectAssign2","str","encode","String","replace","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","filter","tagAttrs","current","getBaseTagFromPropsList","primaryAttributes","reverse","innermostBaseTag","tag","attributeKey","lowerCaseAttributeKey","toLowerCase","getTagsFromPropsList","tagName","approvedSeenTags","isArray","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","tagUnion","property","rafPolyfill","clock","now","callback","currentTime","setTimeout","cafPolyfill","id","clearTimeout","webkitRequestAnimationFrame","mozRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","msg","console","_helmetCallback","newState","commitTagChanges","cb","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","join","attributes","elementTag","getElementsByTagName","helmetAttributeString","getAttribute","helmetAttributes","split","attributesToRemove","attributeKeys","attribute","setAttribute","indexToSave","splice","_i","removeAttribute","tags","headElement","head","querySelector","tagNodes","querySelectorAll","indexToDelete","newElement","styleSheet","appendChild","createTextNode","some","existingTag","index","isEqualNode","parentNode","removeChild","generateElementAttributesAsString","attr","generateTitleAsString","attributeString","flattenedTitle","generateTagsAsString","attributeHtml","tagContent","isSelfClosing","convertElementAttributestoReactProps","initProps","initAttributes","generateTitleAsReactComponent","_initProps","generateTagsAsReactComponent","_mappedTag","mappedTag","mappedAttribute","content","dangerouslySetInnerHTML","__html","getMethodsForTag","toComponent","_ref$title","11","_interopDefault","ex","createCommonjsModule","fn","makeEmptyFunction","arg","invariant","condition","format","c","d","f","validateFormat","error","args","argIndex","framesToPop","toObject","val","shouldUseNative","test1","getOwnPropertyNames","test2","fromCharCode","order2","n","test3","letter","err","React","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","emptyFunction_1","invariant_1","getOwnPropertySymbols","propIsEnumerable","ReactPropTypesSecret","from","symbols","to","s","ReactPropTypesSecret_1","factoryWithThrowingShims","propName","componentName","location","propFullName","secret","getShim","isRequired","ReactPropTypes","array","number","symbol","any","element","instanceOf","objectOf","oneOf","shape","exact","checkPropTypes","PropTypes","NODE_ENV","invariant$3","invariant_1$2","camel2hyphen","match","camel2hyphen_1","isDimension","feature","re","test","obj2mq","mq","features","json2mq","query","q","json2mq_1","classCallCheck","inherits","possibleConstructorReturn","Media","_this","_ret","_len","_key","state","matches","defaultMatches","updateMatches","setState","mediaQueryList","componentWillMount","targetWindow","matchMedia","addListener","componentWillUnmount","removeListener","only","91","withSideEffect","handleStateChangeOnClient","getDisplayName","WrappedComponent","displayName","emitChange","mountedInstances","SideEffect","_Component","recordedState","shallowEqual","componentDidUpdate","React__default","92","objA","objB","compare","compareContext","ret","keysA","keysB","bHasOwnProperty","bind","idx","valueA","valueB","154","pageQuery","_reactHelmet","_reactHelmet2","_projectModule","_projectModule2","_reactMedia","ProjectTemplate","data","project","className","styles","projectSingleContainer","projectName","projectImage","projectImageMobile","alt","src","img","url","projectImageDesktop","imgMock","projectInformation","projectTitle","projectDescription","description","projectTools","tools","projectUrl","href","deployUrl","246","projectNameTag"],"mappings":"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","file":"component---src-templates-project-js-9b679005359df88bc731.js","sourcesContent":["webpackJsonp([110308036455227],{\n\n/***/ 78:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar pSlice = Array.prototype.slice;\n\tvar objectKeys = __webpack_require__(80);\n\tvar isArguments = __webpack_require__(79);\n\t\n\tvar deepEqual = module.exports = function (actual, expected, opts) {\n\t if (!opts) opts = {};\n\t // 7.1. All identical values are equivalent, as determined by ===.\n\t if (actual === expected) {\n\t return true;\n\t\n\t } else if (actual instanceof Date && expected instanceof Date) {\n\t return actual.getTime() === expected.getTime();\n\t\n\t // 7.3. Other pairs that do not both pass typeof value == 'object',\n\t // equivalence is determined by ==.\n\t } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n\t return opts.strict ? actual === expected : actual == expected;\n\t\n\t // 7.4. For all other Object pairs, including Array objects, equivalence is\n\t // determined by having the same number of owned properties (as verified\n\t // with Object.prototype.hasOwnProperty.call), the same set of keys\n\t // (although not necessarily the same order), equivalent values for every\n\t // corresponding key, and an identical 'prototype' property. Note: this\n\t // accounts for both named and indexed properties on Arrays.\n\t } else {\n\t return objEquiv(actual, expected, opts);\n\t }\n\t}\n\t\n\tfunction isUndefinedOrNull(value) {\n\t return value === null || value === undefined;\n\t}\n\t\n\tfunction isBuffer (x) {\n\t if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n\t if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n\t return false;\n\t }\n\t if (x.length > 0 && typeof x[0] !== 'number') return false;\n\t return true;\n\t}\n\t\n\tfunction objEquiv(a, b, opts) {\n\t var i, key;\n\t if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n\t return false;\n\t // an identical 'prototype' property.\n\t if (a.prototype !== b.prototype) return false;\n\t //~~~I've managed to break Object.keys through screwy arguments passing.\n\t // Converting to array solves the problem.\n\t if (isArguments(a)) {\n\t if (!isArguments(b)) {\n\t return false;\n\t }\n\t a = pSlice.call(a);\n\t b = pSlice.call(b);\n\t return deepEqual(a, b, opts);\n\t }\n\t if (isBuffer(a)) {\n\t if (!isBuffer(b)) {\n\t return false;\n\t }\n\t if (a.length !== b.length) return false;\n\t for (i = 0; i < a.length; i++) {\n\t if (a[i] !== b[i]) return false;\n\t }\n\t return true;\n\t }\n\t try {\n\t var ka = objectKeys(a),\n\t kb = objectKeys(b);\n\t } catch (e) {//happens when one is a string literal and the other isn't\n\t return false;\n\t }\n\t // having the same number of owned properties (keys incorporates\n\t // hasOwnProperty)\n\t if (ka.length != kb.length)\n\t return false;\n\t //the same set of keys (although not necessarily the same order),\n\t ka.sort();\n\t kb.sort();\n\t //~~~cheap key test\n\t for (i = ka.length - 1; i >= 0; i--) {\n\t if (ka[i] != kb[i])\n\t return false;\n\t }\n\t //equivalent values for every corresponding key, and\n\t //~~~possibly expensive deep test\n\t for (i = ka.length - 1; i >= 0; i--) {\n\t key = ka[i];\n\t if (!deepEqual(a[key], b[key], opts)) return false;\n\t }\n\t return typeof a === typeof b;\n\t}\n\n\n/***/ }),\n\n/***/ 79:\n/***/ (function(module, exports) {\n\n\tvar supportsArgumentsClass = (function(){\n\t return Object.prototype.toString.call(arguments)\n\t})() == '[object Arguments]';\n\t\n\texports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\t\n\texports.supported = supported;\n\tfunction supported(object) {\n\t return Object.prototype.toString.call(object) == '[object Arguments]';\n\t};\n\t\n\texports.unsupported = unsupported;\n\tfunction unsupported(object){\n\t return object &&\n\t typeof object == 'object' &&\n\t typeof object.length == 'number' &&\n\t Object.prototype.hasOwnProperty.call(object, 'callee') &&\n\t !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n\t false;\n\t};\n\n\n/***/ }),\n\n/***/ 80:\n/***/ (function(module, exports) {\n\n\texports = module.exports = typeof Object.keys === 'function'\n\t ? Object.keys : shim;\n\t\n\texports.shim = shim;\n\tfunction shim (obj) {\n\t var keys = [];\n\t for (var key in obj) keys.push(key);\n\t return keys;\n\t}\n\n\n/***/ }),\n\n/***/ 82:\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_RESULT__;/*!\n\t Copyright (c) 2015 Jed Watson.\n\t Based on code that is Copyright 2013-2015, Facebook, Inc.\n\t All rights reserved.\n\t*/\n\t/* global define */\n\t\n\t(function () {\n\t\t'use strict';\n\t\n\t\tvar canUseDOM = !!(\n\t\t\ttypeof window !== 'undefined' &&\n\t\t\twindow.document &&\n\t\t\twindow.document.createElement\n\t\t);\n\t\n\t\tvar ExecutionEnvironment = {\n\t\n\t\t\tcanUseDOM: canUseDOM,\n\t\n\t\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\t\n\t\t\tcanUseEventListeners:\n\t\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\t\n\t\t\tcanUseViewport: canUseDOM && !!window.screen\n\t\n\t\t};\n\t\n\t\tif (true) {\n\t\t\t!(__WEBPACK_AMD_DEFINE_RESULT__ = function () {\n\t\t\t\treturn ExecutionEnvironment;\n\t\t\t}.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\t\tmodule.exports = ExecutionEnvironment;\n\t\t} else {\n\t\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t\t}\n\t\n\t}());\n\n\n/***/ }),\n\n/***/ 86:\n/***/ (function(module, exports, __webpack_require__) {\n\n\texports.__esModule = true;\n\texports.Helmet = 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 _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _propTypes = __webpack_require__(2);\n\t\n\tvar _propTypes2 = _interopRequireDefault(_propTypes);\n\t\n\tvar _reactSideEffect = __webpack_require__(91);\n\t\n\tvar _reactSideEffect2 = _interopRequireDefault(_reactSideEffect);\n\t\n\tvar _deepEqual = __webpack_require__(78);\n\t\n\tvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\t\n\tvar _HelmetUtils = __webpack_require__(87);\n\t\n\tvar _HelmetConstants = __webpack_require__(33);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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 Helmet = function Helmet(Component) {\n\t var _class, _temp;\n\t\n\t return _temp = _class = function (_React$Component) {\n\t _inherits(HelmetWrapper, _React$Component);\n\t\n\t function HelmetWrapper() {\n\t _classCallCheck(this, HelmetWrapper);\n\t\n\t return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n\t }\n\t\n\t HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n\t return !(0, _deepEqual2.default)(this.props, nextProps);\n\t };\n\t\n\t HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n\t if (!nestedChildren) {\n\t return null;\n\t }\n\t\n\t switch (child.type) {\n\t case _HelmetConstants.TAG_NAMES.SCRIPT:\n\t case _HelmetConstants.TAG_NAMES.NOSCRIPT:\n\t return {\n\t innerHTML: nestedChildren\n\t };\n\t\n\t case _HelmetConstants.TAG_NAMES.STYLE:\n\t return {\n\t cssText: nestedChildren\n\t };\n\t }\n\t\n\t throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n\t };\n\t\n\t HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n\t var _extends2;\n\t\n\t var child = _ref.child,\n\t arrayTypeChildren = _ref.arrayTypeChildren,\n\t newChildProps = _ref.newChildProps,\n\t nestedChildren = _ref.nestedChildren;\n\t\n\t return _extends({}, arrayTypeChildren, (_extends2 = {}, _extends2[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _extends2));\n\t };\n\t\n\t HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n\t var _extends3, _extends4;\n\t\n\t var child = _ref2.child,\n\t newProps = _ref2.newProps,\n\t newChildProps = _ref2.newChildProps,\n\t nestedChildren = _ref2.nestedChildren;\n\t\n\t switch (child.type) {\n\t case _HelmetConstants.TAG_NAMES.TITLE:\n\t return _extends({}, newProps, (_extends3 = {}, _extends3[child.type] = nestedChildren, _extends3.titleAttributes = _extends({}, newChildProps), _extends3));\n\t\n\t case _HelmetConstants.TAG_NAMES.BODY:\n\t return _extends({}, newProps, {\n\t bodyAttributes: _extends({}, newChildProps)\n\t });\n\t\n\t case _HelmetConstants.TAG_NAMES.HTML:\n\t return _extends({}, newProps, {\n\t htmlAttributes: _extends({}, newChildProps)\n\t });\n\t }\n\t\n\t return _extends({}, newProps, (_extends4 = {}, _extends4[child.type] = _extends({}, newChildProps), _extends4));\n\t };\n\t\n\t HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n\t var newFlattenedProps = _extends({}, newProps);\n\t\n\t Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n\t var _extends5;\n\t\n\t newFlattenedProps = _extends({}, newFlattenedProps, (_extends5 = {}, _extends5[arrayChildName] = arrayTypeChildren[arrayChildName], _extends5));\n\t });\n\t\n\t return newFlattenedProps;\n\t };\n\t\n\t HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n\t if (false) {\n\t if (!_HelmetConstants.VALID_TAG_NAMES.some(function (name) {\n\t return child.type === name;\n\t })) {\n\t if (typeof child.type === \"function\") {\n\t return (0, _HelmetUtils.warn)(\"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.\");\n\t }\n\t\n\t return (0, _HelmetUtils.warn)(\"Only elements types \" + _HelmetConstants.VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n\t }\n\t\n\t if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n\t return typeof nestedChild !== \"string\";\n\t }))) {\n\t throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``}</\" + child.type + \"> ) Refer to our API for more information.\");\n\t }\n\t }\n\t\n\t return true;\n\t };\n\t\n\t HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n\t var _this2 = this;\n\t\n\t var arrayTypeChildren = {};\n\t\n\t _react2.default.Children.forEach(children, function (child) {\n\t if (!child || !child.props) {\n\t return;\n\t }\n\t\n\t var _child$props = child.props,\n\t nestedChildren = _child$props.children,\n\t childProps = _objectWithoutProperties(_child$props, [\"children\"]);\n\t\n\t var newChildProps = (0, _HelmetUtils.convertReactPropstoHtmlAttributes)(childProps);\n\t\n\t _this2.warnOnInvalidChildren(child, nestedChildren);\n\t\n\t switch (child.type) {\n\t case _HelmetConstants.TAG_NAMES.LINK:\n\t case _HelmetConstants.TAG_NAMES.META:\n\t case _HelmetConstants.TAG_NAMES.NOSCRIPT:\n\t case _HelmetConstants.TAG_NAMES.SCRIPT:\n\t case _HelmetConstants.TAG_NAMES.STYLE:\n\t arrayTypeChildren = _this2.flattenArrayTypeChildren({\n\t child: child,\n\t arrayTypeChildren: arrayTypeChildren,\n\t newChildProps: newChildProps,\n\t nestedChildren: nestedChildren\n\t });\n\t break;\n\t\n\t default:\n\t newProps = _this2.mapObjectTypeChildren({\n\t child: child,\n\t newProps: newProps,\n\t newChildProps: newChildProps,\n\t nestedChildren: nestedChildren\n\t });\n\t break;\n\t }\n\t });\n\t\n\t newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n\t return newProps;\n\t };\n\t\n\t HelmetWrapper.prototype.render = function render() {\n\t var _props = this.props,\n\t children = _props.children,\n\t props = _objectWithoutProperties(_props, [\"children\"]);\n\t\n\t var newProps = _extends({}, props);\n\t\n\t if (children) {\n\t newProps = this.mapChildrenToProps(children, newProps);\n\t }\n\t\n\t return _react2.default.createElement(Component, newProps);\n\t };\n\t\n\t _createClass(HelmetWrapper, null, [{\n\t key: \"canUseDOM\",\n\t\n\t\n\t // Component.peek comes from react-side-effect:\n\t // For testing, you may use a static peek() method available on the returned component.\n\t // It lets you get the current state without resetting the mounted instance stack.\n\t // Don’t use it for anything other than testing.\n\t\n\t /**\n\t * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n\t * @param {Object} bodyAttributes: {\"className\": \"root\"}\n\t * @param {String} defaultTitle: \"Default Title\"\n\t * @param {Boolean} defer: true\n\t * @param {Boolean} encodeSpecialCharacters: true\n\t * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n\t * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n\t * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n\t * @param {Array} noscript: [{\"innerHTML\": \"<img src='http://mysite.com/js/test.js'\"}]\n\t * @param {Function} onChangeClientState: \"(newState) => console.log(newState)\"\n\t * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n\t * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n\t * @param {String} title: \"Title\"\n\t * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n\t * @param {String} titleTemplate: \"MySite.com - %s\"\n\t */\n\t set: function set(canUseDOM) {\n\t Component.canUseDOM = canUseDOM;\n\t }\n\t }]);\n\t\n\t return HelmetWrapper;\n\t }(_react2.default.Component), _class.propTypes = {\n\t base: _propTypes2.default.object,\n\t bodyAttributes: _propTypes2.default.object,\n\t children: _propTypes2.default.oneOfType([_propTypes2.default.arrayOf(_propTypes2.default.node), _propTypes2.default.node]),\n\t defaultTitle: _propTypes2.default.string,\n\t defer: _propTypes2.default.bool,\n\t encodeSpecialCharacters: _propTypes2.default.bool,\n\t htmlAttributes: _propTypes2.default.object,\n\t link: _propTypes2.default.arrayOf(_propTypes2.default.object),\n\t meta: _propTypes2.default.arrayOf(_propTypes2.default.object),\n\t noscript: _propTypes2.default.arrayOf(_propTypes2.default.object),\n\t onChangeClientState: _propTypes2.default.func,\n\t script: _propTypes2.default.arrayOf(_propTypes2.default.object),\n\t style: _propTypes2.default.arrayOf(_propTypes2.default.object),\n\t title: _propTypes2.default.string,\n\t titleAttributes: _propTypes2.default.object,\n\t titleTemplate: _propTypes2.default.string\n\t }, _class.defaultProps = {\n\t defer: true,\n\t encodeSpecialCharacters: true\n\t }, _class.peek = Component.peek, _class.rewind = function () {\n\t var mappedState = Component.rewind();\n\t if (!mappedState) {\n\t // provide fallback if mappedState is undefined\n\t mappedState = (0, _HelmetUtils.mapStateOnServer)({\n\t baseTag: [],\n\t bodyAttributes: {},\n\t encodeSpecialCharacters: true,\n\t htmlAttributes: {},\n\t linkTags: [],\n\t metaTags: [],\n\t noscriptTags: [],\n\t scriptTags: [],\n\t styleTags: [],\n\t title: \"\",\n\t titleAttributes: {}\n\t });\n\t }\n\t\n\t return mappedState;\n\t }, _temp;\n\t};\n\t\n\tvar NullComponent = function NullComponent() {\n\t return null;\n\t};\n\t\n\tvar HelmetSideEffects = (0, _reactSideEffect2.default)(_HelmetUtils.reducePropsToState, _HelmetUtils.handleClientStateChange, _HelmetUtils.mapStateOnServer)(NullComponent);\n\t\n\tvar HelmetExport = Helmet(HelmetSideEffects);\n\tHelmetExport.renderStatic = HelmetExport.rewind;\n\t\n\texports.Helmet = HelmetExport;\n\texports.default = HelmetExport;\n\n/***/ }),\n\n/***/ 33:\n/***/ (function(module, exports) {\n\n\texports.__esModule = true;\n\tvar ATTRIBUTE_NAMES = exports.ATTRIBUTE_NAMES = {\n\t BODY: \"bodyAttributes\",\n\t HTML: \"htmlAttributes\",\n\t TITLE: \"titleAttributes\"\n\t};\n\t\n\tvar TAG_NAMES = exports.TAG_NAMES = {\n\t BASE: \"base\",\n\t BODY: \"body\",\n\t HEAD: \"head\",\n\t HTML: \"html\",\n\t LINK: \"link\",\n\t META: \"meta\",\n\t NOSCRIPT: \"noscript\",\n\t SCRIPT: \"script\",\n\t STYLE: \"style\",\n\t TITLE: \"title\"\n\t};\n\t\n\tvar VALID_TAG_NAMES = exports.VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n\t return TAG_NAMES[name];\n\t});\n\t\n\tvar TAG_PROPERTIES = exports.TAG_PROPERTIES = {\n\t CHARSET: \"charset\",\n\t CSS_TEXT: \"cssText\",\n\t HREF: \"href\",\n\t HTTPEQUIV: \"http-equiv\",\n\t INNER_HTML: \"innerHTML\",\n\t ITEM_PROP: \"itemprop\",\n\t NAME: \"name\",\n\t PROPERTY: \"property\",\n\t REL: \"rel\",\n\t SRC: \"src\"\n\t};\n\t\n\tvar REACT_TAG_MAP = exports.REACT_TAG_MAP = {\n\t accesskey: \"accessKey\",\n\t charset: \"charSet\",\n\t class: \"className\",\n\t contenteditable: \"contentEditable\",\n\t contextmenu: \"contextMenu\",\n\t \"http-equiv\": \"httpEquiv\",\n\t itemprop: \"itemProp\",\n\t tabindex: \"tabIndex\"\n\t};\n\t\n\tvar HELMET_PROPS = exports.HELMET_PROPS = {\n\t DEFAULT_TITLE: \"defaultTitle\",\n\t DEFER: \"defer\",\n\t ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n\t ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n\t TITLE_TEMPLATE: \"titleTemplate\"\n\t};\n\t\n\tvar HTML_TAG_MAP = exports.HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n\t obj[REACT_TAG_MAP[key]] = key;\n\t return obj;\n\t}, {});\n\t\n\tvar SELF_CLOSING_TAGS = exports.SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\n\t\n\tvar HELMET_ATTRIBUTE = exports.HELMET_ATTRIBUTE = \"data-react-helmet\";\n\n/***/ }),\n\n/***/ 87:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {exports.__esModule = true;\n\texports.warn = exports.requestAnimationFrame = exports.reducePropsToState = exports.mapStateOnServer = exports.handleClientStateChange = exports.convertReactPropstoHtmlAttributes = undefined;\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 _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 _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _objectAssign = __webpack_require__(49);\n\t\n\tvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\t\n\tvar _HelmetConstants = __webpack_require__(33);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n\t var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\t\n\t if (encode === false) {\n\t return String(str);\n\t }\n\t\n\t return String(str).replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n\t};\n\t\n\tvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n\t var innermostTitle = getInnermostProperty(propsList, _HelmetConstants.TAG_NAMES.TITLE);\n\t var innermostTemplate = getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.TITLE_TEMPLATE);\n\t\n\t if (innermostTemplate && innermostTitle) {\n\t // use function arg to avoid need to escape $ characters\n\t return innermostTemplate.replace(/%s/g, function () {\n\t return innermostTitle;\n\t });\n\t }\n\t\n\t var innermostDefaultTitle = getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.DEFAULT_TITLE);\n\t\n\t return innermostTitle || innermostDefaultTitle || undefined;\n\t};\n\t\n\tvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n\t return getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n\t};\n\t\n\tvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n\t return propsList.filter(function (props) {\n\t return typeof props[tagType] !== \"undefined\";\n\t }).map(function (props) {\n\t return props[tagType];\n\t }).reduce(function (tagAttrs, current) {\n\t return _extends({}, tagAttrs, current);\n\t }, {});\n\t};\n\t\n\tvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n\t return propsList.filter(function (props) {\n\t return typeof props[_HelmetConstants.TAG_NAMES.BASE] !== \"undefined\";\n\t }).map(function (props) {\n\t return props[_HelmetConstants.TAG_NAMES.BASE];\n\t }).reverse().reduce(function (innermostBaseTag, tag) {\n\t if (!innermostBaseTag.length) {\n\t var keys = Object.keys(tag);\n\t\n\t for (var i = 0; i < keys.length; i++) {\n\t var attributeKey = keys[i];\n\t var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\t\n\t if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n\t return innermostBaseTag.concat(tag);\n\t }\n\t }\n\t }\n\t\n\t return innermostBaseTag;\n\t }, []);\n\t};\n\t\n\tvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n\t // Calculate list of tags, giving priority innermost component (end of the propslist)\n\t var approvedSeenTags = {};\n\t\n\t return propsList.filter(function (props) {\n\t if (Array.isArray(props[tagName])) {\n\t return true;\n\t }\n\t if (typeof props[tagName] !== \"undefined\") {\n\t warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n\t }\n\t return false;\n\t }).map(function (props) {\n\t return props[tagName];\n\t }).reverse().reduce(function (approvedTags, instanceTags) {\n\t var instanceSeenTags = {};\n\t\n\t instanceTags.filter(function (tag) {\n\t var primaryAttributeKey = void 0;\n\t var keys = Object.keys(tag);\n\t for (var i = 0; i < keys.length; i++) {\n\t var attributeKey = keys[i];\n\t var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\t\n\t // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n\t if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === _HelmetConstants.TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === _HelmetConstants.TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n\t primaryAttributeKey = lowerCaseAttributeKey;\n\t }\n\t // Special case for innerHTML which doesn't work lowercased\n\t if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || attributeKey === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT || attributeKey === _HelmetConstants.TAG_PROPERTIES.ITEM_PROP)) {\n\t primaryAttributeKey = attributeKey;\n\t }\n\t }\n\t\n\t if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n\t return false;\n\t }\n\t\n\t var value = tag[primaryAttributeKey].toLowerCase();\n\t\n\t if (!approvedSeenTags[primaryAttributeKey]) {\n\t approvedSeenTags[primaryAttributeKey] = {};\n\t }\n\t\n\t if (!instanceSeenTags[primaryAttributeKey]) {\n\t instanceSeenTags[primaryAttributeKey] = {};\n\t }\n\t\n\t if (!approvedSeenTags[primaryAttributeKey][value]) {\n\t instanceSeenTags[primaryAttributeKey][value] = true;\n\t return true;\n\t }\n\t\n\t return false;\n\t }).reverse().forEach(function (tag) {\n\t return approvedTags.push(tag);\n\t });\n\t\n\t // Update seen tags with tags from this instance\n\t var keys = Object.keys(instanceSeenTags);\n\t for (var i = 0; i < keys.length; i++) {\n\t var attributeKey = keys[i];\n\t var tagUnion = (0, _objectAssign2.default)({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n\t\n\t approvedSeenTags[attributeKey] = tagUnion;\n\t }\n\t\n\t return approvedTags;\n\t }, []).reverse();\n\t};\n\t\n\tvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n\t for (var i = propsList.length - 1; i >= 0; i--) {\n\t var props = propsList[i];\n\t\n\t if (props.hasOwnProperty(property)) {\n\t return props[property];\n\t }\n\t }\n\t\n\t return null;\n\t};\n\t\n\tvar reducePropsToState = function reducePropsToState(propsList) {\n\t return {\n\t baseTag: getBaseTagFromPropsList([_HelmetConstants.TAG_PROPERTIES.HREF], propsList),\n\t bodyAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.BODY, propsList),\n\t defer: getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.DEFER),\n\t encode: getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n\t htmlAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.HTML, propsList),\n\t linkTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.LINK, [_HelmetConstants.TAG_PROPERTIES.REL, _HelmetConstants.TAG_PROPERTIES.HREF], propsList),\n\t metaTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.META, [_HelmetConstants.TAG_PROPERTIES.NAME, _HelmetConstants.TAG_PROPERTIES.CHARSET, _HelmetConstants.TAG_PROPERTIES.HTTPEQUIV, _HelmetConstants.TAG_PROPERTIES.PROPERTY, _HelmetConstants.TAG_PROPERTIES.ITEM_PROP], propsList),\n\t noscriptTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.NOSCRIPT, [_HelmetConstants.TAG_PROPERTIES.INNER_HTML], propsList),\n\t onChangeClientState: getOnChangeClientState(propsList),\n\t scriptTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.SCRIPT, [_HelmetConstants.TAG_PROPERTIES.SRC, _HelmetConstants.TAG_PROPERTIES.INNER_HTML], propsList),\n\t styleTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.STYLE, [_HelmetConstants.TAG_PROPERTIES.CSS_TEXT], propsList),\n\t title: getTitleFromPropsList(propsList),\n\t titleAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.TITLE, propsList)\n\t };\n\t};\n\t\n\tvar rafPolyfill = function () {\n\t var clock = Date.now();\n\t\n\t return function (callback) {\n\t var currentTime = Date.now();\n\t\n\t if (currentTime - clock > 16) {\n\t clock = currentTime;\n\t callback(currentTime);\n\t } else {\n\t setTimeout(function () {\n\t rafPolyfill(callback);\n\t }, 0);\n\t }\n\t };\n\t}();\n\t\n\tvar cafPolyfill = function cafPolyfill(id) {\n\t return clearTimeout(id);\n\t};\n\t\n\tvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\n\t\n\tvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\t\n\tvar warn = function warn(msg) {\n\t return console && typeof console.warn === \"function\" && console.warn(msg);\n\t};\n\t\n\tvar _helmetCallback = null;\n\t\n\tvar handleClientStateChange = function handleClientStateChange(newState) {\n\t if (_helmetCallback) {\n\t cancelAnimationFrame(_helmetCallback);\n\t }\n\t\n\t if (newState.defer) {\n\t _helmetCallback = requestAnimationFrame(function () {\n\t commitTagChanges(newState, function () {\n\t _helmetCallback = null;\n\t });\n\t });\n\t } else {\n\t commitTagChanges(newState);\n\t _helmetCallback = null;\n\t }\n\t};\n\t\n\tvar commitTagChanges = function commitTagChanges(newState, cb) {\n\t var baseTag = newState.baseTag,\n\t bodyAttributes = newState.bodyAttributes,\n\t htmlAttributes = newState.htmlAttributes,\n\t linkTags = newState.linkTags,\n\t metaTags = newState.metaTags,\n\t noscriptTags = newState.noscriptTags,\n\t onChangeClientState = newState.onChangeClientState,\n\t scriptTags = newState.scriptTags,\n\t styleTags = newState.styleTags,\n\t title = newState.title,\n\t titleAttributes = newState.titleAttributes;\n\t\n\t updateAttributes(_HelmetConstants.TAG_NAMES.BODY, bodyAttributes);\n\t updateAttributes(_HelmetConstants.TAG_NAMES.HTML, htmlAttributes);\n\t\n\t updateTitle(title, titleAttributes);\n\t\n\t var tagUpdates = {\n\t baseTag: updateTags(_HelmetConstants.TAG_NAMES.BASE, baseTag),\n\t linkTags: updateTags(_HelmetConstants.TAG_NAMES.LINK, linkTags),\n\t metaTags: updateTags(_HelmetConstants.TAG_NAMES.META, metaTags),\n\t noscriptTags: updateTags(_HelmetConstants.TAG_NAMES.NOSCRIPT, noscriptTags),\n\t scriptTags: updateTags(_HelmetConstants.TAG_NAMES.SCRIPT, scriptTags),\n\t styleTags: updateTags(_HelmetConstants.TAG_NAMES.STYLE, styleTags)\n\t };\n\t\n\t var addedTags = {};\n\t var removedTags = {};\n\t\n\t Object.keys(tagUpdates).forEach(function (tagType) {\n\t var _tagUpdates$tagType = tagUpdates[tagType],\n\t newTags = _tagUpdates$tagType.newTags,\n\t oldTags = _tagUpdates$tagType.oldTags;\n\t\n\t\n\t if (newTags.length) {\n\t addedTags[tagType] = newTags;\n\t }\n\t if (oldTags.length) {\n\t removedTags[tagType] = tagUpdates[tagType].oldTags;\n\t }\n\t });\n\t\n\t cb && cb();\n\t\n\t onChangeClientState(newState, addedTags, removedTags);\n\t};\n\t\n\tvar flattenArray = function flattenArray(possibleArray) {\n\t return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n\t};\n\t\n\tvar updateTitle = function updateTitle(title, attributes) {\n\t if (typeof title !== \"undefined\" && document.title !== title) {\n\t document.title = flattenArray(title);\n\t }\n\t\n\t updateAttributes(_HelmetConstants.TAG_NAMES.TITLE, attributes);\n\t};\n\t\n\tvar updateAttributes = function updateAttributes(tagName, attributes) {\n\t var elementTag = document.getElementsByTagName(tagName)[0];\n\t\n\t if (!elementTag) {\n\t return;\n\t }\n\t\n\t var helmetAttributeString = elementTag.getAttribute(_HelmetConstants.HELMET_ATTRIBUTE);\n\t var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n\t var attributesToRemove = [].concat(helmetAttributes);\n\t var attributeKeys = Object.keys(attributes);\n\t\n\t for (var i = 0; i < attributeKeys.length; i++) {\n\t var attribute = attributeKeys[i];\n\t var value = attributes[attribute] || \"\";\n\t\n\t if (elementTag.getAttribute(attribute) !== value) {\n\t elementTag.setAttribute(attribute, value);\n\t }\n\t\n\t if (helmetAttributes.indexOf(attribute) === -1) {\n\t helmetAttributes.push(attribute);\n\t }\n\t\n\t var indexToSave = attributesToRemove.indexOf(attribute);\n\t if (indexToSave !== -1) {\n\t attributesToRemove.splice(indexToSave, 1);\n\t }\n\t }\n\t\n\t for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n\t elementTag.removeAttribute(attributesToRemove[_i]);\n\t }\n\t\n\t if (helmetAttributes.length === attributesToRemove.length) {\n\t elementTag.removeAttribute(_HelmetConstants.HELMET_ATTRIBUTE);\n\t } else if (elementTag.getAttribute(_HelmetConstants.HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n\t elementTag.setAttribute(_HelmetConstants.HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n\t }\n\t};\n\t\n\tvar updateTags = function updateTags(type, tags) {\n\t var headElement = document.head || document.querySelector(_HelmetConstants.TAG_NAMES.HEAD);\n\t var tagNodes = headElement.querySelectorAll(type + \"[\" + _HelmetConstants.HELMET_ATTRIBUTE + \"]\");\n\t var oldTags = Array.prototype.slice.call(tagNodes);\n\t var newTags = [];\n\t var indexToDelete = void 0;\n\t\n\t if (tags && tags.length) {\n\t tags.forEach(function (tag) {\n\t var newElement = document.createElement(type);\n\t\n\t for (var attribute in tag) {\n\t if (tag.hasOwnProperty(attribute)) {\n\t if (attribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML) {\n\t newElement.innerHTML = tag.innerHTML;\n\t } else if (attribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT) {\n\t if (newElement.styleSheet) {\n\t newElement.styleSheet.cssText = tag.cssText;\n\t } else {\n\t newElement.appendChild(document.createTextNode(tag.cssText));\n\t }\n\t } else {\n\t var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n\t newElement.setAttribute(attribute, value);\n\t }\n\t }\n\t }\n\t\n\t newElement.setAttribute(_HelmetConstants.HELMET_ATTRIBUTE, \"true\");\n\t\n\t // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n\t if (oldTags.some(function (existingTag, index) {\n\t indexToDelete = index;\n\t return newElement.isEqualNode(existingTag);\n\t })) {\n\t oldTags.splice(indexToDelete, 1);\n\t } else {\n\t newTags.push(newElement);\n\t }\n\t });\n\t }\n\t\n\t oldTags.forEach(function (tag) {\n\t return tag.parentNode.removeChild(tag);\n\t });\n\t newTags.forEach(function (tag) {\n\t return headElement.appendChild(tag);\n\t });\n\t\n\t return {\n\t oldTags: oldTags,\n\t newTags: newTags\n\t };\n\t};\n\t\n\tvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n\t return Object.keys(attributes).reduce(function (str, key) {\n\t var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n\t return str ? str + \" \" + attr : attr;\n\t }, \"\");\n\t};\n\t\n\tvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n\t var attributeString = generateElementAttributesAsString(attributes);\n\t var flattenedTitle = flattenArray(title);\n\t return attributeString ? \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\" : \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\";\n\t};\n\t\n\tvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n\t return tags.reduce(function (str, tag) {\n\t var attributeHtml = Object.keys(tag).filter(function (attribute) {\n\t return !(attribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || attribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT);\n\t }).reduce(function (string, attribute) {\n\t var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n\t return string ? string + \" \" + attr : attr;\n\t }, \"\");\n\t\n\t var tagContent = tag.innerHTML || tag.cssText || \"\";\n\t\n\t var isSelfClosing = _HelmetConstants.SELF_CLOSING_TAGS.indexOf(type) === -1;\n\t\n\t return str + \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"</\" + type + \">\");\n\t }, \"\");\n\t};\n\t\n\tvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n\t var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t return Object.keys(attributes).reduce(function (obj, key) {\n\t obj[_HelmetConstants.REACT_TAG_MAP[key] || key] = attributes[key];\n\t return obj;\n\t }, initProps);\n\t};\n\t\n\tvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n\t var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t return Object.keys(props).reduce(function (obj, key) {\n\t obj[_HelmetConstants.HTML_TAG_MAP[key] || key] = props[key];\n\t return obj;\n\t }, initAttributes);\n\t};\n\t\n\tvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n\t var _initProps;\n\t\n\t // assigning into an array to define toString function on it\n\t var initProps = (_initProps = {\n\t key: title\n\t }, _initProps[_HelmetConstants.HELMET_ATTRIBUTE] = true, _initProps);\n\t var props = convertElementAttributestoReactProps(attributes, initProps);\n\t\n\t return [_react2.default.createElement(_HelmetConstants.TAG_NAMES.TITLE, props, title)];\n\t};\n\t\n\tvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n\t return tags.map(function (tag, i) {\n\t var _mappedTag;\n\t\n\t var mappedTag = (_mappedTag = {\n\t key: i\n\t }, _mappedTag[_HelmetConstants.HELMET_ATTRIBUTE] = true, _mappedTag);\n\t\n\t Object.keys(tag).forEach(function (attribute) {\n\t var mappedAttribute = _HelmetConstants.REACT_TAG_MAP[attribute] || attribute;\n\t\n\t if (mappedAttribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || mappedAttribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT) {\n\t var content = tag.innerHTML || tag.cssText;\n\t mappedTag.dangerouslySetInnerHTML = { __html: content };\n\t } else {\n\t mappedTag[mappedAttribute] = tag[attribute];\n\t }\n\t });\n\t\n\t return _react2.default.createElement(type, mappedTag);\n\t });\n\t};\n\t\n\tvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n\t switch (type) {\n\t case _HelmetConstants.TAG_NAMES.TITLE:\n\t return {\n\t toComponent: function toComponent() {\n\t return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n\t },\n\t toString: function toString() {\n\t return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n\t }\n\t };\n\t case _HelmetConstants.ATTRIBUTE_NAMES.BODY:\n\t case _HelmetConstants.ATTRIBUTE_NAMES.HTML:\n\t return {\n\t toComponent: function toComponent() {\n\t return convertElementAttributestoReactProps(tags);\n\t },\n\t toString: function toString() {\n\t return generateElementAttributesAsString(tags);\n\t }\n\t };\n\t default:\n\t return {\n\t toComponent: function toComponent() {\n\t return generateTagsAsReactComponent(type, tags);\n\t },\n\t toString: function toString() {\n\t return generateTagsAsString(type, tags, encode);\n\t }\n\t };\n\t }\n\t};\n\t\n\tvar mapStateOnServer = function mapStateOnServer(_ref) {\n\t var baseTag = _ref.baseTag,\n\t bodyAttributes = _ref.bodyAttributes,\n\t encode = _ref.encode,\n\t htmlAttributes = _ref.htmlAttributes,\n\t linkTags = _ref.linkTags,\n\t metaTags = _ref.metaTags,\n\t noscriptTags = _ref.noscriptTags,\n\t scriptTags = _ref.scriptTags,\n\t styleTags = _ref.styleTags,\n\t _ref$title = _ref.title,\n\t title = _ref$title === undefined ? \"\" : _ref$title,\n\t titleAttributes = _ref.titleAttributes;\n\t return {\n\t base: getMethodsForTag(_HelmetConstants.TAG_NAMES.BASE, baseTag, encode),\n\t bodyAttributes: getMethodsForTag(_HelmetConstants.ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n\t htmlAttributes: getMethodsForTag(_HelmetConstants.ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n\t link: getMethodsForTag(_HelmetConstants.TAG_NAMES.LINK, linkTags, encode),\n\t meta: getMethodsForTag(_HelmetConstants.TAG_NAMES.META, metaTags, encode),\n\t noscript: getMethodsForTag(_HelmetConstants.TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n\t script: getMethodsForTag(_HelmetConstants.TAG_NAMES.SCRIPT, scriptTags, encode),\n\t style: getMethodsForTag(_HelmetConstants.TAG_NAMES.STYLE, styleTags, encode),\n\t title: getMethodsForTag(_HelmetConstants.TAG_NAMES.TITLE, { title: title, titleAttributes: titleAttributes }, encode)\n\t };\n\t};\n\t\n\texports.convertReactPropstoHtmlAttributes = convertReactPropstoHtmlAttributes;\n\texports.handleClientStateChange = handleClientStateChange;\n\texports.mapStateOnServer = mapStateOnServer;\n\texports.reducePropsToState = reducePropsToState;\n\texports.requestAnimationFrame = requestAnimationFrame;\n\texports.warn = warn;\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ }),\n\n/***/ 11:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\t\n\tvar React = _interopDefault(__webpack_require__(1));\n\t\n\tfunction createCommonjsModule(fn, module) {\n\t\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n\t}\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t *\n\t * \n\t */\n\t\n\tfunction makeEmptyFunction(arg) {\n\t return function () {\n\t return arg;\n\t };\n\t}\n\t\n\t/**\n\t * This function accepts and discards inputs; it has no side effects. This is\n\t * primarily useful idiomatically for overridable function endpoints which\n\t * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n\t */\n\tvar emptyFunction = function emptyFunction() {};\n\t\n\temptyFunction.thatReturns = makeEmptyFunction;\n\temptyFunction.thatReturnsFalse = makeEmptyFunction(false);\n\temptyFunction.thatReturnsTrue = makeEmptyFunction(true);\n\temptyFunction.thatReturnsNull = makeEmptyFunction(null);\n\temptyFunction.thatReturnsThis = function () {\n\t return this;\n\t};\n\temptyFunction.thatReturnsArgument = function (arg) {\n\t return arg;\n\t};\n\t\n\tvar emptyFunction_1 = emptyFunction;\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t *\n\t */\n\t\n\t/**\n\t * Use invariant() to assert state which your program assumes to be true.\n\t *\n\t * Provide sprintf-style format (only %s is supported) and arguments\n\t * to provide information about what broke and what you were\n\t * expecting.\n\t *\n\t * The invariant message will be stripped in production, but the invariant\n\t * will remain to ensure logic does not differ in production.\n\t */\n\t\n\tvar validateFormat = function validateFormat(format) {};\n\t\n\tif (false) {\n\t validateFormat = function validateFormat(format) {\n\t if (format === undefined) {\n\t throw new Error('invariant requires an error message argument');\n\t }\n\t };\n\t}\n\t\n\tfunction invariant(condition, format, a, b, c, d, e, f) {\n\t validateFormat(format);\n\t\n\t if (!condition) {\n\t var error;\n\t if (format === undefined) {\n\t error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n\t } else {\n\t var args = [a, b, c, d, e, f];\n\t var argIndex = 0;\n\t error = new Error(format.replace(/%s/g, function () {\n\t return args[argIndex++];\n\t }));\n\t error.name = 'Invariant Violation';\n\t }\n\t\n\t error.framesToPop = 1; // we don't care about invariant's own frame\n\t throw error;\n\t }\n\t}\n\t\n\tvar invariant_1 = invariant;\n\t\n\t/**\n\t * Similar to invariant but only logs a warning if the condition is not met.\n\t * This can be used to log issues in development environments in critical\n\t * paths. Removing the logging code for production environments will keep the\n\t * same logic and follow the same code paths.\n\t */\n\t\n\tvar warning = emptyFunction_1;\n\t\n\tif (false) {\n\t var printWarning = function printWarning(format) {\n\t for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t args[_key - 1] = arguments[_key];\n\t }\n\t\n\t var argIndex = 0;\n\t var message = 'Warning: ' + format.replace(/%s/g, function () {\n\t return args[argIndex++];\n\t });\n\t if (typeof console !== 'undefined') {\n\t console.error(message);\n\t }\n\t try {\n\t // --- Welcome to debugging React ---\n\t // This error was thrown as a convenience so that you can use this stack\n\t // to find the callsite that caused this warning to fire.\n\t throw new Error(message);\n\t } catch (x) {}\n\t };\n\t\n\t warning = function warning(condition, format) {\n\t if (format === undefined) {\n\t throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n\t }\n\t\n\t if (format.indexOf('Failed Composite propType: ') === 0) {\n\t return; // Ignore CompositeComponent proptype check.\n\t }\n\t\n\t if (!condition) {\n\t for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n\t args[_key2 - 2] = arguments[_key2];\n\t }\n\t\n\t printWarning.apply(undefined, [format].concat(args));\n\t }\n\t };\n\t}\n\t\n\tvar warning_1 = warning;\n\t\n\t/*\n\tobject-assign\n\t(c) Sindre Sorhus\n\t@license MIT\n\t*/\n\t\n\t/* eslint-disable no-unused-vars */\n\tvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\t\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\t\n\t\treturn Object(val);\n\t}\n\t\n\tfunction shouldUseNative() {\n\t\ttry {\n\t\t\tif (!Object.assign) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\t// Detect buggy property enumeration order in older V8 versions.\n\t\n\t\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\t\ttest1[5] = 'de';\n\t\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\t\tvar test2 = {};\n\t\t\tfor (var i = 0; i < 10; i++) {\n\t\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t\t}\n\t\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\t\treturn test2[n];\n\t\t\t});\n\t\t\tif (order2.join('') !== '0123456789') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\t\tvar test3 = {};\n\t\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\t\ttest3[letter] = letter;\n\t\t\t});\n\t\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\n\t\t\treturn true;\n\t\t} catch (err) {\n\t\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\t\treturn false;\n\t\t}\n\t}\n\t\n\tvar objectAssign = shouldUseNative() ? Object.assign : function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\t\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\t\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\tif (getOwnPropertySymbols) {\n\t\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\n\t\treturn to;\n\t};\n\t\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\t\n\tvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\t\n\tvar ReactPropTypesSecret_1 = ReactPropTypesSecret;\n\t\n\tif (false) {\n\t var invariant$1 = invariant_1;\n\t var warning$1 = warning_1;\n\t var ReactPropTypesSecret$1 = ReactPropTypesSecret_1;\n\t var loggedTypeFailures = {};\n\t}\n\t\n\t/**\n\t * Assert that the values match with the type specs.\n\t * Error messages are memorized and will only be shown once.\n\t *\n\t * @param {object} typeSpecs Map of name to a ReactPropType\n\t * @param {object} values Runtime values that need to be type-checked\n\t * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n\t * @param {string} componentName Name of the component for error messages.\n\t * @param {?Function} getStack Returns the component stack.\n\t * @private\n\t */\n\tfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n\t if (false) {\n\t for (var typeSpecName in typeSpecs) {\n\t if (typeSpecs.hasOwnProperty(typeSpecName)) {\n\t var error;\n\t // Prop type validation may throw. In case they do, we don't want to\n\t // fail the render phase where it didn't fail before. So we log it.\n\t // After these have been cleaned up, we'll let them throw.\n\t try {\n\t // This is intentionally an invariant that gets caught. It's the same\n\t // behavior as without this statement except with a better message.\n\t invariant$1(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]);\n\t error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret$1);\n\t } catch (ex) {\n\t error = ex;\n\t }\n\t warning$1(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);\n\t if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n\t // Only monitor this failure once because there tends to be a lot of the\n\t // same error.\n\t loggedTypeFailures[error.message] = true;\n\t\n\t var stack = getStack ? getStack() : '';\n\t\n\t warning$1(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');\n\t }\n\t }\n\t }\n\t }\n\t}\n\t\n\tvar checkPropTypes_1 = checkPropTypes;\n\t\n\tvar factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {\n\t /* global Symbol */\n\t var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n\t var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\t\n\t /**\n\t * Returns the iterator method function contained on the iterable object.\n\t *\n\t * Be sure to invoke the function with the iterable as context:\n\t *\n\t * var iteratorFn = getIteratorFn(myIterable);\n\t * if (iteratorFn) {\n\t * var iterator = iteratorFn.call(myIterable);\n\t * ...\n\t * }\n\t *\n\t * @param {?object} maybeIterable\n\t * @return {?function}\n\t */\n\t function getIteratorFn(maybeIterable) {\n\t var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n\t if (typeof iteratorFn === 'function') {\n\t return iteratorFn;\n\t }\n\t }\n\t\n\t /**\n\t * Collection of methods that allow declaration and validation of props that are\n\t * supplied to React components. Example usage:\n\t *\n\t * var Props = require('ReactPropTypes');\n\t * var MyArticle = React.createClass({\n\t * propTypes: {\n\t * // An optional string prop named \"description\".\n\t * description: Props.string,\n\t *\n\t * // A required enum prop named \"category\".\n\t * category: Props.oneOf(['News','Photos']).isRequired,\n\t *\n\t * // A prop named \"dialog\" that requires an instance of Dialog.\n\t * dialog: Props.instanceOf(Dialog).isRequired\n\t * },\n\t * render: function() { ... }\n\t * });\n\t *\n\t * A more formal specification of how these methods are used:\n\t *\n\t * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n\t * decl := ReactPropTypes.{type}(.isRequired)?\n\t *\n\t * Each and every declaration produces a function with the same signature. This\n\t * allows the creation of custom validation functions. For example:\n\t *\n\t * var MyLink = React.createClass({\n\t * propTypes: {\n\t * // An optional string or URI prop named \"href\".\n\t * href: function(props, propName, componentName) {\n\t * var propValue = props[propName];\n\t * if (propValue != null && typeof propValue !== 'string' &&\n\t * !(propValue instanceof URI)) {\n\t * return new Error(\n\t * 'Expected a string or an URI for ' + propName + ' in ' +\n\t * componentName\n\t * );\n\t * }\n\t * }\n\t * },\n\t * render: function() {...}\n\t * });\n\t *\n\t * @internal\n\t */\n\t\n\t var ANONYMOUS = '<<anonymous>>';\n\t\n\t // Important!\n\t // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n\t var ReactPropTypes = {\n\t array: createPrimitiveTypeChecker('array'),\n\t bool: createPrimitiveTypeChecker('boolean'),\n\t func: createPrimitiveTypeChecker('function'),\n\t number: createPrimitiveTypeChecker('number'),\n\t object: createPrimitiveTypeChecker('object'),\n\t string: createPrimitiveTypeChecker('string'),\n\t symbol: createPrimitiveTypeChecker('symbol'),\n\t\n\t any: createAnyTypeChecker(),\n\t arrayOf: createArrayOfTypeChecker,\n\t element: createElementTypeChecker(),\n\t instanceOf: createInstanceTypeChecker,\n\t node: createNodeChecker(),\n\t objectOf: createObjectOfTypeChecker,\n\t oneOf: createEnumTypeChecker,\n\t oneOfType: createUnionTypeChecker,\n\t shape: createShapeTypeChecker,\n\t exact: createStrictShapeTypeChecker,\n\t };\n\t\n\t /**\n\t * inlined Object.is polyfill to avoid requiring consumers ship their own\n\t * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n\t */\n\t /*eslint-disable no-self-compare*/\n\t function is(x, y) {\n\t // SameValue algorithm\n\t if (x === y) {\n\t // Steps 1-5, 7-10\n\t // Steps 6.b-6.e: +0 != -0\n\t return x !== 0 || 1 / x === 1 / y;\n\t } else {\n\t // Step 6.a: NaN == NaN\n\t return x !== x && y !== y;\n\t }\n\t }\n\t /*eslint-enable no-self-compare*/\n\t\n\t /**\n\t * We use an Error-like object for backward compatibility as people may call\n\t * PropTypes directly and inspect their output. However, we don't use real\n\t * Errors anymore. We don't inspect their stack anyway, and creating them\n\t * is prohibitively expensive if they are created too often, such as what\n\t * happens in oneOfType() for any type before the one that matched.\n\t */\n\t function PropTypeError(message) {\n\t this.message = message;\n\t this.stack = '';\n\t }\n\t // Make `instanceof Error` still work for returned errors.\n\t PropTypeError.prototype = Error.prototype;\n\t\n\t function createChainableTypeChecker(validate) {\n\t if (false) {\n\t var manualPropTypeCallCache = {};\n\t var manualPropTypeWarningCount = 0;\n\t }\n\t function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n\t componentName = componentName || ANONYMOUS;\n\t propFullName = propFullName || propName;\n\t\n\t if (secret !== ReactPropTypesSecret_1) {\n\t if (throwOnDirectAccess) {\n\t // New behavior only for users of `prop-types` package\n\t invariant_1(\n\t false,\n\t 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n\t 'Use `PropTypes.checkPropTypes()` to call them. ' +\n\t 'Read more at http://fb.me/use-check-prop-types'\n\t );\n\t } else if (false) {\n\t // Old behavior for people using React.PropTypes\n\t var cacheKey = componentName + ':' + propName;\n\t if (\n\t !manualPropTypeCallCache[cacheKey] &&\n\t // Avoid spamming the console because they are often not actionable except for lib authors\n\t manualPropTypeWarningCount < 3\n\t ) {\n\t warning_1(\n\t false,\n\t 'You are manually calling a React.PropTypes validation ' +\n\t 'function for the `%s` prop on `%s`. This is deprecated ' +\n\t 'and will throw in the standalone `prop-types` package. ' +\n\t 'You may be seeing this warning due to a third-party PropTypes ' +\n\t 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',\n\t propFullName,\n\t componentName\n\t );\n\t manualPropTypeCallCache[cacheKey] = true;\n\t manualPropTypeWarningCount++;\n\t }\n\t }\n\t }\n\t if (props[propName] == null) {\n\t if (isRequired) {\n\t if (props[propName] === null) {\n\t return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n\t }\n\t return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n\t }\n\t return null;\n\t } else {\n\t return validate(props, propName, componentName, location, propFullName);\n\t }\n\t }\n\t\n\t var chainedCheckType = checkType.bind(null, false);\n\t chainedCheckType.isRequired = checkType.bind(null, true);\n\t\n\t return chainedCheckType;\n\t }\n\t\n\t function createPrimitiveTypeChecker(expectedType) {\n\t function validate(props, propName, componentName, location, propFullName, secret) {\n\t var propValue = props[propName];\n\t var propType = getPropType(propValue);\n\t if (propType !== expectedType) {\n\t // `propValue` being instance of, say, date/regexp, pass the 'object'\n\t // check, but we can offer a more precise error message here rather than\n\t // 'of type `object`'.\n\t var preciseType = getPreciseType(propValue);\n\t\n\t return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n\t }\n\t return null;\n\t }\n\t return createChainableTypeChecker(validate);\n\t }\n\t\n\t function createAnyTypeChecker() {\n\t return createChainableTypeChecker(emptyFunction_1.thatReturnsNull);\n\t }\n\t\n\t function createArrayOfTypeChecker(typeChecker) {\n\t function validate(props, propName, componentName, location, propFullName) {\n\t if (typeof typeChecker !== 'function') {\n\t return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n\t }\n\t var propValue = props[propName];\n\t if (!Array.isArray(propValue)) {\n\t var propType = getPropType(propValue);\n\t return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n\t }\n\t for (var i = 0; i < propValue.length; i++) {\n\t var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret_1);\n\t if (error instanceof Error) {\n\t return error;\n\t }\n\t }\n\t return null;\n\t }\n\t return createChainableTypeChecker(validate);\n\t }\n\t\n\t function createElementTypeChecker() {\n\t function validate(props, propName, componentName, location, propFullName) {\n\t var propValue = props[propName];\n\t if (!isValidElement(propValue)) {\n\t var propType = getPropType(propValue);\n\t return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n\t }\n\t return null;\n\t }\n\t return createChainableTypeChecker(validate);\n\t }\n\t\n\t function createInstanceTypeChecker(expectedClass) {\n\t function validate(props, propName, componentName, location, propFullName) {\n\t if (!(props[propName] instanceof expectedClass)) {\n\t var expectedClassName = expectedClass.name || ANONYMOUS;\n\t var actualClassName = getClassName(props[propName]);\n\t return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n\t }\n\t return null;\n\t }\n\t return createChainableTypeChecker(validate);\n\t }\n\t\n\t function createEnumTypeChecker(expectedValues) {\n\t if (!Array.isArray(expectedValues)) {\n\t false ? warning_1(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n\t return emptyFunction_1.thatReturnsNull;\n\t }\n\t\n\t function validate(props, propName, componentName, location, propFullName) {\n\t var propValue = props[propName];\n\t for (var i = 0; i < expectedValues.length; i++) {\n\t if (is(propValue, expectedValues[i])) {\n\t return null;\n\t }\n\t }\n\t\n\t var valuesString = JSON.stringify(expectedValues);\n\t return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n\t }\n\t return createChainableTypeChecker(validate);\n\t }\n\t\n\t function createObjectOfTypeChecker(typeChecker) {\n\t function validate(props, propName, componentName, location, propFullName) {\n\t if (typeof typeChecker !== 'function') {\n\t return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n\t }\n\t var propValue = props[propName];\n\t var propType = getPropType(propValue);\n\t if (propType !== 'object') {\n\t return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n\t }\n\t for (var key in propValue) {\n\t if (propValue.hasOwnProperty(key)) {\n\t var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret_1);\n\t if (error instanceof Error) {\n\t return error;\n\t }\n\t }\n\t }\n\t return null;\n\t }\n\t return createChainableTypeChecker(validate);\n\t }\n\t\n\t function createUnionTypeChecker(arrayOfTypeCheckers) {\n\t if (!Array.isArray(arrayOfTypeCheckers)) {\n\t false ? warning_1(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n\t return emptyFunction_1.thatReturnsNull;\n\t }\n\t\n\t for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n\t var checker = arrayOfTypeCheckers[i];\n\t if (typeof checker !== 'function') {\n\t warning_1(\n\t false,\n\t 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n\t 'received %s at index %s.',\n\t getPostfixForTypeWarning(checker),\n\t i\n\t );\n\t return emptyFunction_1.thatReturnsNull;\n\t }\n\t }\n\t\n\t function validate(props, propName, componentName, location, propFullName) {\n\t for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n\t var checker = arrayOfTypeCheckers[i];\n\t if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret_1) == null) {\n\t return null;\n\t }\n\t }\n\t\n\t return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n\t }\n\t return createChainableTypeChecker(validate);\n\t }\n\t\n\t function createNodeChecker() {\n\t function validate(props, propName, componentName, location, propFullName) {\n\t if (!isNode(props[propName])) {\n\t return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n\t }\n\t return null;\n\t }\n\t return createChainableTypeChecker(validate);\n\t }\n\t\n\t function createShapeTypeChecker(shapeTypes) {\n\t function validate(props, propName, componentName, location, propFullName) {\n\t var propValue = props[propName];\n\t var propType = getPropType(propValue);\n\t if (propType !== 'object') {\n\t return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n\t }\n\t for (var key in shapeTypes) {\n\t var checker = shapeTypes[key];\n\t if (!checker) {\n\t continue;\n\t }\n\t var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret_1);\n\t if (error) {\n\t return error;\n\t }\n\t }\n\t return null;\n\t }\n\t return createChainableTypeChecker(validate);\n\t }\n\t\n\t function createStrictShapeTypeChecker(shapeTypes) {\n\t function validate(props, propName, componentName, location, propFullName) {\n\t var propValue = props[propName];\n\t var propType = getPropType(propValue);\n\t if (propType !== 'object') {\n\t return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n\t }\n\t // We need to check all keys in case some are required but missing from\n\t // props.\n\t var allKeys = objectAssign({}, props[propName], shapeTypes);\n\t for (var key in allKeys) {\n\t var checker = shapeTypes[key];\n\t if (!checker) {\n\t return new PropTypeError(\n\t 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n\t '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n\t '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n\t );\n\t }\n\t var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret_1);\n\t if (error) {\n\t return error;\n\t }\n\t }\n\t return null;\n\t }\n\t\n\t return createChainableTypeChecker(validate);\n\t }\n\t\n\t function isNode(propValue) {\n\t switch (typeof propValue) {\n\t case 'number':\n\t case 'string':\n\t case 'undefined':\n\t return true;\n\t case 'boolean':\n\t return !propValue;\n\t case 'object':\n\t if (Array.isArray(propValue)) {\n\t return propValue.every(isNode);\n\t }\n\t if (propValue === null || isValidElement(propValue)) {\n\t return true;\n\t }\n\t\n\t var iteratorFn = getIteratorFn(propValue);\n\t if (iteratorFn) {\n\t var iterator = iteratorFn.call(propValue);\n\t var step;\n\t if (iteratorFn !== propValue.entries) {\n\t while (!(step = iterator.next()).done) {\n\t if (!isNode(step.value)) {\n\t return false;\n\t }\n\t }\n\t } else {\n\t // Iterator will provide entry [k,v] tuples rather than values.\n\t while (!(step = iterator.next()).done) {\n\t var entry = step.value;\n\t if (entry) {\n\t if (!isNode(entry[1])) {\n\t return false;\n\t }\n\t }\n\t }\n\t }\n\t } else {\n\t return false;\n\t }\n\t\n\t return true;\n\t default:\n\t return false;\n\t }\n\t }\n\t\n\t function isSymbol(propType, propValue) {\n\t // Native Symbol.\n\t if (propType === 'symbol') {\n\t return true;\n\t }\n\t\n\t // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n\t if (propValue['@@toStringTag'] === 'Symbol') {\n\t return true;\n\t }\n\t\n\t // Fallback for non-spec compliant Symbols which are polyfilled.\n\t if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n\t return true;\n\t }\n\t\n\t return false;\n\t }\n\t\n\t // Equivalent of `typeof` but with special handling for array and regexp.\n\t function getPropType(propValue) {\n\t var propType = typeof propValue;\n\t if (Array.isArray(propValue)) {\n\t return 'array';\n\t }\n\t if (propValue instanceof RegExp) {\n\t // Old webkits (at least until Android 4.0) return 'function' rather than\n\t // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n\t // passes PropTypes.object.\n\t return 'object';\n\t }\n\t if (isSymbol(propType, propValue)) {\n\t return 'symbol';\n\t }\n\t return propType;\n\t }\n\t\n\t // This handles more types than `getPropType`. Only used for error messages.\n\t // See `createPrimitiveTypeChecker`.\n\t function getPreciseType(propValue) {\n\t if (typeof propValue === 'undefined' || propValue === null) {\n\t return '' + propValue;\n\t }\n\t var propType = getPropType(propValue);\n\t if (propType === 'object') {\n\t if (propValue instanceof Date) {\n\t return 'date';\n\t } else if (propValue instanceof RegExp) {\n\t return 'regexp';\n\t }\n\t }\n\t return propType;\n\t }\n\t\n\t // Returns a string that is postfixed to a warning about an invalid type.\n\t // For example, \"undefined\" or \"of type array\"\n\t function getPostfixForTypeWarning(value) {\n\t var type = getPreciseType(value);\n\t switch (type) {\n\t case 'array':\n\t case 'object':\n\t return 'an ' + type;\n\t case 'boolean':\n\t case 'date':\n\t case 'regexp':\n\t return 'a ' + type;\n\t default:\n\t return type;\n\t }\n\t }\n\t\n\t // Returns class name of the object, if any.\n\t function getClassName(propValue) {\n\t if (!propValue.constructor || !propValue.constructor.name) {\n\t return ANONYMOUS;\n\t }\n\t return propValue.constructor.name;\n\t }\n\t\n\t ReactPropTypes.checkPropTypes = checkPropTypes_1;\n\t ReactPropTypes.PropTypes = ReactPropTypes;\n\t\n\t return ReactPropTypes;\n\t};\n\t\n\tvar factoryWithThrowingShims = function() {\n\t function shim(props, propName, componentName, location, propFullName, secret) {\n\t if (secret === ReactPropTypesSecret_1) {\n\t // It is still safe when called from React.\n\t return;\n\t }\n\t invariant_1(\n\t false,\n\t 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n\t 'Use PropTypes.checkPropTypes() to call them. ' +\n\t 'Read more at http://fb.me/use-check-prop-types'\n\t );\n\t }\n\t shim.isRequired = shim;\n\t function getShim() {\n\t return shim;\n\t }\n\t // Important!\n\t // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n\t var ReactPropTypes = {\n\t array: shim,\n\t bool: shim,\n\t func: shim,\n\t number: shim,\n\t object: shim,\n\t string: shim,\n\t symbol: shim,\n\t\n\t any: shim,\n\t arrayOf: getShim,\n\t element: shim,\n\t instanceOf: getShim,\n\t node: shim,\n\t objectOf: getShim,\n\t oneOf: getShim,\n\t oneOfType: getShim,\n\t shape: getShim,\n\t exact: getShim\n\t };\n\t\n\t ReactPropTypes.checkPropTypes = emptyFunction_1;\n\t ReactPropTypes.PropTypes = ReactPropTypes;\n\t\n\t return ReactPropTypes;\n\t};\n\t\n\tvar propTypes = createCommonjsModule(function (module) {\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\t\n\tif (false) {\n\t var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n\t Symbol.for &&\n\t Symbol.for('react.element')) ||\n\t 0xeac7;\n\t\n\t var isValidElement = function(object) {\n\t return typeof object === 'object' &&\n\t object !== null &&\n\t object.$$typeof === REACT_ELEMENT_TYPE;\n\t };\n\t\n\t // By explicitly using `prop-types` you are opting into new development behavior.\n\t // http://fb.me/prop-types-in-prod\n\t var throwOnDirectAccess = true;\n\t module.exports = factoryWithTypeCheckers(isValidElement, throwOnDirectAccess);\n\t} else {\n\t // By explicitly using `prop-types` you are opting into new production behavior.\n\t // http://fb.me/prop-types-in-prod\n\t module.exports = factoryWithThrowingShims();\n\t}\n\t});\n\t\n\t/**\n\t * Copyright 2013-2015, 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 * LICENSE file in the root directory of this source tree. An additional grant\n\t * of patent rights can be found in the PATENTS file in the same directory.\n\t */\n\t\n\t/**\n\t * Use invariant() to assert state which your program assumes to be true.\n\t *\n\t * Provide sprintf-style format (only %s is supported) and arguments\n\t * to provide information about what broke and what you were\n\t * expecting.\n\t *\n\t * The invariant message will be stripped in production, but the invariant\n\t * will remain to ensure logic does not differ in production.\n\t */\n\t\n\tvar NODE_ENV = (\"production\");\n\t\n\tvar invariant$3 = function(condition, format, a, b, c, d, e, f) {\n\t if (NODE_ENV !== 'production') {\n\t if (format === undefined) {\n\t throw new Error('invariant requires an error message argument');\n\t }\n\t }\n\t\n\t if (!condition) {\n\t var error;\n\t if (format === undefined) {\n\t error = new Error(\n\t 'Minified exception occurred; use the non-minified dev environment ' +\n\t 'for the full error message and additional helpful warnings.'\n\t );\n\t } else {\n\t var args = [a, b, c, d, e, f];\n\t var argIndex = 0;\n\t error = new Error(\n\t format.replace(/%s/g, function() { return args[argIndex++]; })\n\t );\n\t error.name = 'Invariant Violation';\n\t }\n\t\n\t error.framesToPop = 1; // we don't care about invariant's own frame\n\t throw error;\n\t }\n\t};\n\t\n\tvar invariant_1$2 = invariant$3;\n\t\n\tvar camel2hyphen = function (str) {\n\t return str\n\t .replace(/[A-Z]/g, function (match) {\n\t return '-' + match.toLowerCase();\n\t })\n\t .toLowerCase();\n\t};\n\t\n\tvar camel2hyphen_1 = camel2hyphen;\n\t\n\tvar isDimension = function (feature) {\n\t var re = /[height|width]$/;\n\t return re.test(feature);\n\t};\n\t\n\tvar obj2mq = function (obj) {\n\t var mq = '';\n\t var features = Object.keys(obj);\n\t features.forEach(function (feature, index) {\n\t var value = obj[feature];\n\t feature = camel2hyphen_1(feature);\n\t // Add px to dimension features\n\t if (isDimension(feature) && typeof value === 'number') {\n\t value = value + 'px';\n\t }\n\t if (value === true) {\n\t mq += feature;\n\t } else if (value === false) {\n\t mq += 'not ' + feature;\n\t } else {\n\t mq += '(' + feature + ': ' + value + ')';\n\t }\n\t if (index < features.length-1) {\n\t mq += ' and ';\n\t }\n\t });\n\t return mq;\n\t};\n\t\n\tvar json2mq = function (query) {\n\t var mq = '';\n\t if (typeof query === 'string') {\n\t return query;\n\t }\n\t // Handling array of media queries\n\t if (query instanceof Array) {\n\t query.forEach(function (q, index) {\n\t mq += obj2mq(q);\n\t if (index < query.length-1) {\n\t mq += ', ';\n\t }\n\t });\n\t return mq;\n\t }\n\t // Handling single media query\n\t return obj2mq(query);\n\t};\n\t\n\tvar json2mq_1 = json2mq;\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n\t return typeof obj;\n\t} : function (obj) {\n\t return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n\t};\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\tvar classCallCheck = function (instance, Constructor) {\n\t if (!(instance instanceof Constructor)) {\n\t throw new TypeError(\"Cannot call a class as a function\");\n\t }\n\t};\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\tvar inherits = function (subClass, superClass) {\n\t if (typeof superClass !== \"function\" && superClass !== null) {\n\t throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n\t }\n\t\n\t subClass.prototype = Object.create(superClass && superClass.prototype, {\n\t constructor: {\n\t value: subClass,\n\t enumerable: false,\n\t writable: true,\n\t configurable: true\n\t }\n\t });\n\t if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n\t};\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\tvar possibleConstructorReturn = function (self, call) {\n\t if (!self) {\n\t throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n\t }\n\t\n\t return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n\t};\n\t\n\t/**\n\t * Conditionally renders based on whether or not a media query matches.\n\t */\n\t\n\tvar Media = function (_React$Component) {\n\t inherits(Media, _React$Component);\n\t\n\t function Media() {\n\t var _temp, _this, _ret;\n\t\n\t classCallCheck(this, Media);\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, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n\t matches: _this.props.defaultMatches\n\t }, _this.updateMatches = function () {\n\t return _this.setState({ matches: _this.mediaQueryList.matches });\n\t }, _temp), possibleConstructorReturn(_this, _ret);\n\t }\n\t\n\t Media.prototype.componentWillMount = function componentWillMount() {\n\t if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== \"object\") return;\n\t\n\t var targetWindow = this.props.targetWindow || window;\n\t\n\t invariant_1$2(typeof targetWindow.matchMedia === \"function\", \"<Media targetWindow> does not support `matchMedia`.\");\n\t\n\t var query = this.props.query;\n\t\n\t if (typeof query !== \"string\") query = json2mq_1(query);\n\t\n\t this.mediaQueryList = targetWindow.matchMedia(query);\n\t this.mediaQueryList.addListener(this.updateMatches);\n\t this.updateMatches();\n\t };\n\t\n\t Media.prototype.componentWillUnmount = function componentWillUnmount() {\n\t this.mediaQueryList.removeListener(this.updateMatches);\n\t };\n\t\n\t Media.prototype.render = function render() {\n\t var _props = this.props,\n\t children = _props.children,\n\t render = _props.render;\n\t var matches = this.state.matches;\n\t\n\t\n\t return render ? matches ? render() : null : children ? typeof children === \"function\" ? children(matches) : !Array.isArray(children) || children.length // Preact defaults to empty children array\n\t ? matches ? React.Children.only(children) : null : null : null;\n\t };\n\t\n\t return Media;\n\t}(React.Component);\n\t\n\tMedia.propTypes = {\n\t defaultMatches: propTypes.bool,\n\t query: propTypes.oneOfType([propTypes.string, propTypes.object, propTypes.arrayOf(propTypes.object.isRequired)]).isRequired,\n\t render: propTypes.func,\n\t children: propTypes.oneOfType([propTypes.node, propTypes.func]),\n\t targetWindow: propTypes.object\n\t};\n\tMedia.defaultProps = {\n\t defaultMatches: true\n\t};\n\t\n\tmodule.exports = Media;\n\n\n/***/ }),\n\n/***/ 91:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\t\n\tvar React = __webpack_require__(1);\n\tvar React__default = _interopDefault(React);\n\tvar ExecutionEnvironment = _interopDefault(__webpack_require__(82));\n\tvar shallowEqual = _interopDefault(__webpack_require__(92));\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\tfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n\t if (typeof reducePropsToState !== 'function') {\n\t throw new Error('Expected reducePropsToState to be a function.');\n\t }\n\t if (typeof handleStateChangeOnClient !== 'function') {\n\t throw new Error('Expected handleStateChangeOnClient to be a function.');\n\t }\n\t if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n\t throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n\t }\n\t\n\t function getDisplayName(WrappedComponent) {\n\t return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n\t }\n\t\n\t return function wrap(WrappedComponent) {\n\t if (typeof WrappedComponent !== 'function') {\n\t throw new Error('Expected WrappedComponent to be a React component.');\n\t }\n\t\n\t var mountedInstances = [];\n\t var state = void 0;\n\t\n\t function emitChange() {\n\t state = reducePropsToState(mountedInstances.map(function (instance) {\n\t return instance.props;\n\t }));\n\t\n\t if (SideEffect.canUseDOM) {\n\t handleStateChangeOnClient(state);\n\t } else if (mapStateOnServer) {\n\t state = mapStateOnServer(state);\n\t }\n\t }\n\t\n\t var SideEffect = function (_Component) {\n\t _inherits(SideEffect, _Component);\n\t\n\t function SideEffect() {\n\t _classCallCheck(this, SideEffect);\n\t\n\t return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n\t }\n\t\n\t // Try to use displayName of wrapped component\n\t SideEffect.peek = function peek() {\n\t return state;\n\t };\n\t\n\t // Expose canUseDOM so tests can monkeypatch it\n\t\n\t\n\t SideEffect.rewind = function rewind() {\n\t if (SideEffect.canUseDOM) {\n\t throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n\t }\n\t\n\t var recordedState = state;\n\t state = undefined;\n\t mountedInstances = [];\n\t return recordedState;\n\t };\n\t\n\t SideEffect.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n\t return !shallowEqual(nextProps, this.props);\n\t };\n\t\n\t SideEffect.prototype.componentWillMount = function componentWillMount() {\n\t mountedInstances.push(this);\n\t emitChange();\n\t };\n\t\n\t SideEffect.prototype.componentDidUpdate = function componentDidUpdate() {\n\t emitChange();\n\t };\n\t\n\t SideEffect.prototype.componentWillUnmount = function componentWillUnmount() {\n\t var index = mountedInstances.indexOf(this);\n\t mountedInstances.splice(index, 1);\n\t emitChange();\n\t };\n\t\n\t SideEffect.prototype.render = function render() {\n\t return React__default.createElement(WrappedComponent, this.props);\n\t };\n\t\n\t return SideEffect;\n\t }(React.Component);\n\t\n\t SideEffect.displayName = 'SideEffect(' + getDisplayName(WrappedComponent) + ')';\n\t SideEffect.canUseDOM = ExecutionEnvironment.canUseDOM;\n\t\n\t\n\t return SideEffect;\n\t };\n\t}\n\t\n\tmodule.exports = withSideEffect;\n\n\n/***/ }),\n\n/***/ 92:\n/***/ (function(module, exports) {\n\n\t//\n\t\n\tmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n\t var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\t\n\t if (ret !== void 0) {\n\t return !!ret;\n\t }\n\t\n\t if (objA === objB) {\n\t return true;\n\t }\n\t\n\t if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n\t return false;\n\t }\n\t\n\t var keysA = Object.keys(objA);\n\t var keysB = Object.keys(objB);\n\t\n\t if (keysA.length !== keysB.length) {\n\t return false;\n\t }\n\t\n\t var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\t\n\t // Test for A's keys different from B.\n\t for (var idx = 0; idx < keysA.length; idx++) {\n\t var key = keysA[idx];\n\t\n\t if (!bHasOwnProperty(key)) {\n\t return false;\n\t }\n\t\n\t var valueA = objA[key];\n\t var valueB = objB[key];\n\t\n\t ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\t\n\t if (ret === false || (ret === void 0 && valueA !== valueB)) {\n\t return false;\n\t }\n\t }\n\t\n\t return true;\n\t};\n\n\n/***/ }),\n\n/***/ 154:\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\texports.pageQuery = undefined;\n\t\n\tvar _react = __webpack_require__(1);\n\t\n\tvar _react2 = _interopRequireDefault(_react);\n\t\n\tvar _reactHelmet = __webpack_require__(86);\n\t\n\tvar _reactHelmet2 = _interopRequireDefault(_reactHelmet);\n\t\n\tvar _projectModule = __webpack_require__(246);\n\t\n\tvar _projectModule2 = _interopRequireDefault(_projectModule);\n\t\n\tvar _reactMedia = __webpack_require__(11);\n\t\n\tvar _reactMedia2 = _interopRequireDefault(_reactMedia);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar ProjectTemplate = function ProjectTemplate(_ref) {\n\t var data = _ref.data;\n\t var project = data.project;\n\t\n\t return _react2.default.createElement(\n\t \"div\",\n\t { className: _projectModule2.default.projectSingleContainer },\n\t _react2.default.createElement(_reactHelmet2.default, { title: \"Marc Aaron Glasser - \" + project.title }),\n\t _react2.default.createElement(\n\t \"div\",\n\t { className: _projectModule2.default.projectName },\n\t project.name\n\t ),\n\t _react2.default.createElement(\"img\", { className: _projectModule2.default.projectImage + \" \" + _projectModule2.default.projectImageMobile, alt: \"A screenshot of the \" + project.name + \" application.\", src: project.img.url }),\n\t _react2.default.createElement(\"img\", { className: _projectModule2.default.projectImage + \" \" + _projectModule2.default.projectImageDesktop, alt: \"A screenshot of the \" + project.name + \" application.\", src: project.imgMock.url }),\n\t _react2.default.createElement(\n\t \"div\",\n\t { className: _projectModule2.default.projectInformation },\n\t _react2.default.createElement(\n\t \"div\",\n\t { className: _projectModule2.default.projectTitle },\n\t _react2.default.createElement(\n\t \"em\",\n\t null,\n\t project.title\n\t )\n\t ),\n\t _react2.default.createElement(\n\t \"div\",\n\t { className: _projectModule2.default.projectDescription },\n\t project.description\n\t ),\n\t _react2.default.createElement(\n\t \"div\",\n\t { className: _projectModule2.default.projectTools },\n\t _react2.default.createElement(\n\t \"em\",\n\t null,\n\t project.tools\n\t )\n\t ),\n\t _react2.default.createElement(\"i\", { className: \"fas fa-code-branch fa-3x\" }),\n\t _react2.default.createElement(\n\t \"div\",\n\t { className: _projectModule2.default.projectUrl },\n\t _react2.default.createElement(\n\t \"div\",\n\t null,\n\t _react2.default.createElement(\n\t \"a\",\n\t { href: project.url },\n\t _react2.default.createElement(\n\t \"strong\",\n\t null,\n\t \"GitHub Repo\"\n\t )\n\t )\n\t ),\n\t _react2.default.createElement(\n\t \"div\",\n\t null,\n\t _react2.default.createElement(\n\t \"a\",\n\t { href: project.deployUrl },\n\t _react2.default.createElement(\n\t \"strong\",\n\t null,\n\t \"Live Version\"\n\t )\n\t )\n\t )\n\t )\n\t )\n\t );\n\t};\n\t\n\tvar pageQuery = exports.pageQuery = \"** extracted graphql fragment **\";\n\t\n\texports.default = ProjectTemplate;\n\n/***/ }),\n\n/***/ 246:\n/***/ (function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\tmodule.exports = {\"projectSingleContainer\":\"src-templates----project-module---projectSingleContainer---2RuGT\",\"projectName\":\"src-templates----project-module---projectName---32XxN\",\"projectImage\":\"src-templates----project-module---projectImage---1DqrS\",\"projectTitle\":\"src-templates----project-module---projectTitle---3dCxR\",\"projectTools\":\"src-templates----project-module---projectTools---3raq_\",\"projectDescription\":\"src-templates----project-module---projectDescription---3cN3z\",\"projectUrl\":\"src-templates----project-module---projectUrl---19t9D\",\"projectInformation\":\"src-templates----project-module---projectInformation---1AoX_\",\"projectNameTag\":\"src-templates----project-module---projectNameTag---gTn5N\",\"projectImageDesktop\":\"src-templates----project-module---projectImageDesktop---2qdF1\",\"projectImageMobile\":\"src-templates----project-module---projectImageMobile---2knnn\"};\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// component---src-templates-project-js-9b679005359df88bc731.js","var pSlice = Array.prototype.slice;\nvar objectKeys = require('./lib/keys.js');\nvar isArguments = require('./lib/is_arguments.js');\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/index.js\n// module id = 78\n// module chunks = 110308036455227 114276838955818","var supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/lib/is_arguments.js\n// module id = 79\n// module chunks = 110308036455227 114276838955818","exports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/lib/keys.js\n// module id = 80\n// module chunks = 110308036455227 114276838955818","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/exenv/index.js\n// module id = 82\n// module chunks = 110308036455227 114276838955818","exports.__esModule = true;\nexports.Helmet = undefined;\n\nvar _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\nvar _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\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactSideEffect = require(\"react-side-effect\");\n\nvar _reactSideEffect2 = _interopRequireDefault(_reactSideEffect);\n\nvar _deepEqual = require(\"deep-equal\");\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _HelmetUtils = require(\"./HelmetUtils.js\");\n\nvar _HelmetConstants = require(\"./HelmetConstants.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _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\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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\nfunction _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\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n _inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n _classCallCheck(this, HelmetWrapper);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !(0, _deepEqual2.default)(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case _HelmetConstants.TAG_NAMES.SCRIPT:\n case _HelmetConstants.TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case _HelmetConstants.TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _extends2;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n\n return _extends({}, arrayTypeChildren, (_extends2 = {}, _extends2[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _extends2));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _extends3, _extends4;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case _HelmetConstants.TAG_NAMES.TITLE:\n return _extends({}, newProps, (_extends3 = {}, _extends3[child.type] = nestedChildren, _extends3.titleAttributes = _extends({}, newChildProps), _extends3));\n\n case _HelmetConstants.TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case _HelmetConstants.TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_extends4 = {}, _extends4[child.type] = _extends({}, newChildProps), _extends4));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _extends5;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_extends5 = {}, _extends5[arrayChildName] = arrayTypeChildren[arrayChildName], _extends5));\n });\n\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!_HelmetConstants.VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return (0, _HelmetUtils.warn)(\"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return (0, _HelmetUtils.warn)(\"Only elements types \" + _HelmetConstants.VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``}</\" + child.type + \"> ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n\n _react2.default.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = _objectWithoutProperties(_child$props, [\"children\"]);\n\n var newChildProps = (0, _HelmetUtils.convertReactPropstoHtmlAttributes)(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case _HelmetConstants.TAG_NAMES.LINK:\n case _HelmetConstants.TAG_NAMES.META:\n case _HelmetConstants.TAG_NAMES.NOSCRIPT:\n case _HelmetConstants.TAG_NAMES.SCRIPT:\n case _HelmetConstants.TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = _objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return _react2.default.createElement(Component, newProps);\n };\n\n _createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n\n\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \"<img src='http://mysite.com/js/test.js'\"}]\n * @param {Function} onChangeClientState: \"(newState) => console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n\n return HelmetWrapper;\n }(_react2.default.Component), _class.propTypes = {\n base: _propTypes2.default.object,\n bodyAttributes: _propTypes2.default.object,\n children: _propTypes2.default.oneOfType([_propTypes2.default.arrayOf(_propTypes2.default.node), _propTypes2.default.node]),\n defaultTitle: _propTypes2.default.string,\n defer: _propTypes2.default.bool,\n encodeSpecialCharacters: _propTypes2.default.bool,\n htmlAttributes: _propTypes2.default.object,\n link: _propTypes2.default.arrayOf(_propTypes2.default.object),\n meta: _propTypes2.default.arrayOf(_propTypes2.default.object),\n noscript: _propTypes2.default.arrayOf(_propTypes2.default.object),\n onChangeClientState: _propTypes2.default.func,\n script: _propTypes2.default.arrayOf(_propTypes2.default.object),\n style: _propTypes2.default.arrayOf(_propTypes2.default.object),\n title: _propTypes2.default.string,\n titleAttributes: _propTypes2.default.object,\n titleTemplate: _propTypes2.default.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = (0, _HelmetUtils.mapStateOnServer)({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = (0, _reactSideEffect2.default)(_HelmetUtils.reducePropsToState, _HelmetUtils.handleClientStateChange, _HelmetUtils.mapStateOnServer)(NullComponent);\n\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\n\nexports.Helmet = HelmetExport;\nexports.default = HelmetExport;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-helmet/lib/Helmet.js\n// module id = 86\n// module chunks = 110308036455227 114276838955818","exports.__esModule = true;\nvar ATTRIBUTE_NAMES = exports.ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\n\nvar TAG_NAMES = exports.TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\n\nvar VALID_TAG_NAMES = exports.VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\n\nvar TAG_PROPERTIES = exports.TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\"\n};\n\nvar REACT_TAG_MAP = exports.REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\n\nvar HELMET_PROPS = exports.HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\n\nvar HTML_TAG_MAP = exports.HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\n\nvar SELF_CLOSING_TAGS = exports.SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\n\nvar HELMET_ATTRIBUTE = exports.HELMET_ATTRIBUTE = \"data-react-helmet\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-helmet/lib/HelmetConstants.js\n// module id = 33\n// module chunks = 110308036455227 114276838955818","exports.__esModule = true;\nexports.warn = exports.requestAnimationFrame = exports.reducePropsToState = exports.mapStateOnServer = exports.handleClientStateChange = exports.convertReactPropstoHtmlAttributes = undefined;\n\nvar _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\nvar _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\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _objectAssign = require(\"object-assign\");\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar _HelmetConstants = require(\"./HelmetConstants.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, _HelmetConstants.TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.DEFAULT_TITLE);\n\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[_HelmetConstants.TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[_HelmetConstants.TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === _HelmetConstants.TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === _HelmetConstants.TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n }\n // Special case for innerHTML which doesn't work lowercased\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || attributeKey === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT || attributeKey === _HelmetConstants.TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n });\n\n // Update seen tags with tags from this instance\n var keys = Object.keys(instanceSeenTags);\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = (0, _objectAssign2.default)({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([_HelmetConstants.TAG_PROPERTIES.HREF], propsList),\n bodyAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, _HelmetConstants.HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.LINK, [_HelmetConstants.TAG_PROPERTIES.REL, _HelmetConstants.TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.META, [_HelmetConstants.TAG_PROPERTIES.NAME, _HelmetConstants.TAG_PROPERTIES.CHARSET, _HelmetConstants.TAG_PROPERTIES.HTTPEQUIV, _HelmetConstants.TAG_PROPERTIES.PROPERTY, _HelmetConstants.TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.NOSCRIPT, [_HelmetConstants.TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.SCRIPT, [_HelmetConstants.TAG_PROPERTIES.SRC, _HelmetConstants.TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(_HelmetConstants.TAG_NAMES.STYLE, [_HelmetConstants.TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(_HelmetConstants.ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\n\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n\n updateAttributes(_HelmetConstants.TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(_HelmetConstants.TAG_NAMES.HTML, htmlAttributes);\n\n updateTitle(title, titleAttributes);\n\n var tagUpdates = {\n baseTag: updateTags(_HelmetConstants.TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(_HelmetConstants.TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(_HelmetConstants.TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(_HelmetConstants.TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(_HelmetConstants.TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(_HelmetConstants.TAG_NAMES.STYLE, styleTags)\n };\n\n var addedTags = {};\n var removedTags = {};\n\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n\n cb && cb();\n\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(_HelmetConstants.TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(_HelmetConstants.HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(_HelmetConstants.HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(_HelmetConstants.HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(_HelmetConstants.HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(_HelmetConstants.TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + _HelmetConstants.HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(_HelmetConstants.HELMET_ATTRIBUTE, \"true\");\n\n // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\" : \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || attribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n\n var isSelfClosing = _HelmetConstants.SELF_CLOSING_TAGS.indexOf(type) === -1;\n\n return str + \"<\" + type + \" \" + _HelmetConstants.HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"</\" + type + \">\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[_HelmetConstants.REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.keys(props).reduce(function (obj, key) {\n obj[_HelmetConstants.HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps;\n\n // assigning into an array to define toString function on it\n var initProps = (_initProps = {\n key: title\n }, _initProps[_HelmetConstants.HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n\n return [_react2.default.createElement(_HelmetConstants.TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[_HelmetConstants.HELMET_ATTRIBUTE] = true, _mappedTag);\n\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = _HelmetConstants.REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === _HelmetConstants.TAG_PROPERTIES.INNER_HTML || mappedAttribute === _HelmetConstants.TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = { __html: content };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n\n return _react2.default.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case _HelmetConstants.TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n case _HelmetConstants.ATTRIBUTE_NAMES.BODY:\n case _HelmetConstants.ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(_HelmetConstants.TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(_HelmetConstants.ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(_HelmetConstants.ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(_HelmetConstants.TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(_HelmetConstants.TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(_HelmetConstants.TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(_HelmetConstants.TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(_HelmetConstants.TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(_HelmetConstants.TAG_NAMES.TITLE, { title: title, titleAttributes: titleAttributes }, encode)\n };\n};\n\nexports.convertReactPropstoHtmlAttributes = convertReactPropstoHtmlAttributes;\nexports.handleClientStateChange = handleClientStateChange;\nexports.mapStateOnServer = mapStateOnServer;\nexports.reducePropsToState = reducePropsToState;\nexports.requestAnimationFrame = requestAnimationFrame;\nexports.warn = warn;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-helmet/lib/HelmetUtils.js\n// module id = 87\n// module chunks = 110308036455227 114276838955818","'use strict';\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar React = _interopDefault(require('react'));\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nvar emptyFunction_1 = emptyFunction;\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nvar invariant_1 = invariant;\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = emptyFunction_1;\n\nif (process.env.NODE_ENV !== 'production') {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nvar warning_1 = warning;\n\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nvar objectAssign = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nvar ReactPropTypesSecret_1 = ReactPropTypesSecret;\n\nif (process.env.NODE_ENV !== 'production') {\n var invariant$1 = invariant_1;\n var warning$1 = warning_1;\n var ReactPropTypesSecret$1 = ReactPropTypesSecret_1;\n var loggedTypeFailures = {};\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n invariant$1(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]);\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret$1);\n } catch (ex) {\n error = ex;\n }\n warning$1(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n warning$1(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');\n }\n }\n }\n }\n}\n\nvar checkPropTypes_1 = checkPropTypes;\n\nvar factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret_1) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n invariant_1(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n warning_1(\n false,\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `%s` prop on `%s`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',\n propFullName,\n componentName\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunction_1.thatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret_1);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n process.env.NODE_ENV !== 'production' ? warning_1(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n return emptyFunction_1.thatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret_1);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? warning_1(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunction_1.thatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n warning_1(\n false,\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received %s at index %s.',\n getPostfixForTypeWarning(checker),\n i\n );\n return emptyFunction_1.thatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret_1) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret_1);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = objectAssign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret_1);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes_1;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\nvar factoryWithThrowingShims = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret_1) {\n // It is still safe when called from React.\n return;\n }\n invariant_1(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n }\n shim.isRequired = shim;\n function getShim() {\n return shim;\n }\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction_1;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\nvar propTypes = createCommonjsModule(function (module) {\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = factoryWithTypeCheckers(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = factoryWithThrowingShims();\n}\n});\n\n/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar NODE_ENV = process.env.NODE_ENV;\n\nvar invariant$3 = function(condition, format, a, b, c, d, e, f) {\n if (NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nvar invariant_1$2 = invariant$3;\n\nvar camel2hyphen = function (str) {\n return str\n .replace(/[A-Z]/g, function (match) {\n return '-' + match.toLowerCase();\n })\n .toLowerCase();\n};\n\nvar camel2hyphen_1 = camel2hyphen;\n\nvar isDimension = function (feature) {\n var re = /[height|width]$/;\n return re.test(feature);\n};\n\nvar obj2mq = function (obj) {\n var mq = '';\n var features = Object.keys(obj);\n features.forEach(function (feature, index) {\n var value = obj[feature];\n feature = camel2hyphen_1(feature);\n // Add px to dimension features\n if (isDimension(feature) && typeof value === 'number') {\n value = value + 'px';\n }\n if (value === true) {\n mq += feature;\n } else if (value === false) {\n mq += 'not ' + feature;\n } else {\n mq += '(' + feature + ': ' + value + ')';\n }\n if (index < features.length-1) {\n mq += ' and ';\n }\n });\n return mq;\n};\n\nvar json2mq = function (query) {\n var mq = '';\n if (typeof query === 'string') {\n return query;\n }\n // Handling array of media queries\n if (query instanceof Array) {\n query.forEach(function (q, index) {\n mq += obj2mq(q);\n if (index < query.length-1) {\n mq += ', ';\n }\n });\n return mq;\n }\n // Handling single media query\n return obj2mq(query);\n};\n\nvar json2mq_1 = json2mq;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n\n\n\n\n\n\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\n\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n/**\n * Conditionally renders based on whether or not a media query matches.\n */\n\nvar Media = function (_React$Component) {\n inherits(Media, _React$Component);\n\n function Media() {\n var _temp, _this, _ret;\n\n classCallCheck(this, Media);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n matches: _this.props.defaultMatches\n }, _this.updateMatches = function () {\n return _this.setState({ matches: _this.mediaQueryList.matches });\n }, _temp), possibleConstructorReturn(_this, _ret);\n }\n\n Media.prototype.componentWillMount = function componentWillMount() {\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== \"object\") return;\n\n var targetWindow = this.props.targetWindow || window;\n\n invariant_1$2(typeof targetWindow.matchMedia === \"function\", \"<Media targetWindow> does not support `matchMedia`.\");\n\n var query = this.props.query;\n\n if (typeof query !== \"string\") query = json2mq_1(query);\n\n this.mediaQueryList = targetWindow.matchMedia(query);\n this.mediaQueryList.addListener(this.updateMatches);\n this.updateMatches();\n };\n\n Media.prototype.componentWillUnmount = function componentWillUnmount() {\n this.mediaQueryList.removeListener(this.updateMatches);\n };\n\n Media.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n render = _props.render;\n var matches = this.state.matches;\n\n\n return render ? matches ? render() : null : children ? typeof children === \"function\" ? children(matches) : !Array.isArray(children) || children.length // Preact defaults to empty children array\n ? matches ? React.Children.only(children) : null : null : null;\n };\n\n return Media;\n}(React.Component);\n\nMedia.propTypes = {\n defaultMatches: propTypes.bool,\n query: propTypes.oneOfType([propTypes.string, propTypes.object, propTypes.arrayOf(propTypes.object.isRequired)]).isRequired,\n render: propTypes.func,\n children: propTypes.oneOfType([propTypes.node, propTypes.func]),\n targetWindow: propTypes.object\n};\nMedia.defaultProps = {\n defaultMatches: true\n};\n\nmodule.exports = Media;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-media/cjs/react-media.js\n// module id = 11\n// module chunks = 35783957827783 110308036455227 110386388766557 114276838955818","'use strict';\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar React = require('react');\nvar React__default = _interopDefault(React);\nvar ExecutionEnvironment = _interopDefault(require('exenv'));\nvar shallowEqual = _interopDefault(require('shallowequal'));\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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\nfunction _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\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state = void 0;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = function (_Component) {\n _inherits(SideEffect, _Component);\n\n function SideEffect() {\n _classCallCheck(this, SideEffect);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n // Try to use displayName of wrapped component\n SideEffect.peek = function peek() {\n return state;\n };\n\n // Expose canUseDOM so tests can monkeypatch it\n\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n SideEffect.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !shallowEqual(nextProps, this.props);\n };\n\n SideEffect.prototype.componentWillMount = function componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n SideEffect.prototype.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n SideEffect.prototype.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n SideEffect.prototype.render = function render() {\n return React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.Component);\n\n SideEffect.displayName = 'SideEffect(' + getDisplayName(WrappedComponent) + ')';\n SideEffect.canUseDOM = ExecutionEnvironment.canUseDOM;\n\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-side-effect/lib/index.js\n// module id = 91\n// module chunks = 110308036455227 114276838955818","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/shallowequal/index.js\n// module id = 92\n// module chunks = 110308036455227 114276838955818","import React, {Component} from \"react\";\nimport Helmet from \"react-helmet\";\nimport styles from './project.module.css';\nimport Media from \"react-media\";\n\nconst ProjectTemplate = ({data}) => {\n const { project } = data;\n return (\n\t\t<div className={styles.projectSingleContainer}>\n <Helmet title={`Marc Aaron Glasser - ${project.title}`} />\n\t\t\t<div className={styles.projectName}>\n\t\t\t\t{project.name}\n\t\t\t</div>\n <img className={`${styles.projectImage} ${styles.projectImageMobile}`} alt={`A screenshot of the ${project.name} application.`} src={project.img.url}/>\n <img className={`${styles.projectImage} ${styles.projectImageDesktop}`} alt={`A screenshot of the ${project.name} application.`} src={project.imgMock.url}/>\n\t\t\t<div className={styles.projectInformation}>\n\t\t\t\t<div className={styles.projectTitle}>\n\t\t\t\t\t<em>{project.title}</em>\n\t\t\t\t</div>\n\t\t\t\t<div className={styles.projectDescription}>\n\t\t\t\t\t{project.description}\n\t\t\t\t</div>\n\t\t\t\t<div className={styles.projectTools}>\n\t\t\t\t\t<em>{project.tools}</em>\n\t\t\t\t</div>\n\t\t\t\t<i className=\"fas fa-code-branch fa-3x\"></i>\n\t\t\t\t<div className={styles.projectUrl}>\n <div>\n \t\t\t\t\t<a href={project.url}><strong>GitHub Repo</strong></a>\n </div>\n <div>\n \t\t\t\t\t<a href={project.deployUrl}><strong>Live Version</strong></a>\n </div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n );\n}\n\nexport const pageQuery = graphql`\n query projectBySlug($slug:String!){\n project(slug:{eq: $slug}){\n id\n name\n title\n url\n description\n tools\n slug\n img{\n url\n }\n imgMock{\n url\n }\n deployUrl\n }\n }\n`;\n\nexport default ProjectTemplate;\n\n\n\n// WEBPACK FOOTER //\n// ./src/templates/project.js","// removed by extract-text-webpack-plugin\nmodule.exports = {\"projectSingleContainer\":\"src-templates----project-module---projectSingleContainer---2RuGT\",\"projectName\":\"src-templates----project-module---projectName---32XxN\",\"projectImage\":\"src-templates----project-module---projectImage---1DqrS\",\"projectTitle\":\"src-templates----project-module---projectTitle---3dCxR\",\"projectTools\":\"src-templates----project-module---projectTools---3raq_\",\"projectDescription\":\"src-templates----project-module---projectDescription---3cN3z\",\"projectUrl\":\"src-templates----project-module---projectUrl---19t9D\",\"projectInformation\":\"src-templates----project-module---projectInformation---1AoX_\",\"projectNameTag\":\"src-templates----project-module---projectNameTag---gTn5N\",\"projectImageDesktop\":\"src-templates----project-module---projectImageDesktop---2qdF1\",\"projectImageMobile\":\"src-templates----project-module---projectImageMobile---2knnn\"};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/templates/project.module.css\n// module id = 246\n// module chunks = 110308036455227"],"sourceRoot":""}