{"version":3,"file":"9fd0ed6d6df2438a8ca5c3b736bfb79cb1bafea2-c38bca6acec4154be8d7.js","mappings":"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","sources":["webpack://ask_infertility_app/./node_modules/react-modal-video/lib/index.js","webpack://ask_infertility_app/./node_modules/react-transition-group/CSSTransition.js","webpack://ask_infertility_app/./node_modules/react-transition-group/Transition.js","webpack://ask_infertility_app/./node_modules/react-transition-group/utils/PropTypes.js","webpack://ask_infertility_app/./src/components/EmbedVideoThumb.tsx","webpack://ask_infertility_app/./src/components/PlayIcon.tsx","webpack://ask_infertility_app/./node_modules/react-transition-group/node_modules/dom-helpers/class/addClass.js","webpack://ask_infertility_app/./node_modules/react-transition-group/node_modules/dom-helpers/class/hasClass.js","webpack://ask_infertility_app/./node_modules/react-transition-group/node_modules/dom-helpers/class/removeClass.js"],"sourcesContent":["'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _react = require('react');\nvar _react2 = _interopRequireDefault(_react);\nvar _CSSTransition = require('react-transition-group/CSSTransition');\nvar _CSSTransition2 = _interopRequireDefault(_CSSTransition);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\nfunction _inherits(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 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}\nvar ModalVideo = function (_React$Component) {\n _inherits(ModalVideo, _React$Component);\n function ModalVideo(props) {\n _classCallCheck(this, ModalVideo);\n var _this = _possibleConstructorReturn(this, (ModalVideo.__proto__ || Object.getPrototypeOf(ModalVideo)).call(this, props));\n _this.state = {\n isOpen: false,\n modalVideoWidth: '100%'\n };\n _this.closeModal = _this.closeModal.bind(_this);\n _this.updateFocus = _this.updateFocus.bind(_this);\n _this.timeout; // used for resizing video.\n return _this;\n }\n _createClass(ModalVideo, [{\n key: 'openModal',\n value: function openModal() {\n this.setState({\n isOpen: true\n });\n }\n }, {\n key: 'closeModal',\n value: function closeModal() {\n this.setState({\n isOpen: false\n });\n if (typeof this.props.onClose === 'function') {\n this.props.onClose();\n }\n }\n }, {\n key: 'keydownHandler',\n value: function keydownHandler(e) {\n if (e.keyCode === 27) {\n this.closeModal();\n }\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n document.addEventListener('keydown', this.keydownHandler.bind(this));\n window.addEventListener('resize', this.resizeModalVideoWhenHeightGreaterThanWindowHeight.bind(this));\n this.setState({\n modalVideoWidth: this.getWidthFulfillAspectRatio(this.props.ratio, window.innerHeight, window.innerWidth)\n });\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n document.removeEventListener('keydown', this.keydownHandler.bind(this));\n window.removeEventListener('resize', this.resizeModalVideoWhenHeightGreaterThanWindowHeight.bind(this));\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n if (this.state.isOpen && this.modal) {\n this.modal.focus();\n }\n }\n }, {\n key: 'updateFocus',\n value: function updateFocus(e) {\n if (e.keyCode === 9) {\n e.preventDefault();\n e.stopPropagation();\n if (this.modal === document.activeElement) {\n this.modalbtn.focus();\n } else {\n this.modal.focus();\n }\n }\n }\n\n /**\n * Resize modal-video-iframe-wrap when window size changed when the height of the video is greater than the height of the window.\n */\n }, {\n key: 'resizeModalVideoWhenHeightGreaterThanWindowHeight',\n value: function resizeModalVideoWhenHeightGreaterThanWindowHeight() {\n var _this2 = this;\n clearTimeout(this.timeout);\n this.timeout = setTimeout(function () {\n var width = _this2.getWidthFulfillAspectRatio(_this2.props.ratio, window.innerHeight, window.innerWidth);\n if (_this2.state.modalVideoWidth != width) {\n _this2.setState({\n modalVideoWidth: width\n });\n }\n }, 10);\n }\n }, {\n key: 'getQueryString',\n value: function getQueryString(obj) {\n var url = '';\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (obj[key] !== null) {\n url += key + '=' + obj[key] + '&';\n }\n }\n }\n return url.substr(0, url.length - 1);\n }\n }, {\n key: 'getYoutubeUrl',\n value: function getYoutubeUrl(youtube, videoId) {\n var query = this.getQueryString(youtube);\n return '//www.youtube.com/embed/' + videoId + '?' + query;\n }\n }, {\n key: 'getVimeoUrl',\n value: function getVimeoUrl(vimeo, videoId) {\n var query = this.getQueryString(vimeo);\n return '//player.vimeo.com/video/' + videoId + '?' + query;\n }\n }, {\n key: 'getYoukuUrl',\n value: function getYoukuUrl(youku, videoId) {\n var query = this.getQueryString(youku);\n return '//player.youku.com/embed/' + videoId + '?' + query;\n }\n }, {\n key: 'getVideoUrl',\n value: function getVideoUrl(opt, videoId) {\n if (opt.channel === 'youtube') {\n return this.getYoutubeUrl(opt.youtube, videoId);\n } else if (opt.channel === 'vimeo') {\n return this.getVimeoUrl(opt.vimeo, videoId);\n } else if (opt.channel === 'youku') {\n return this.getYoukuUrl(opt.youku, videoId);\n } else if (opt.channel === 'custom') {\n return opt.url;\n }\n }\n }, {\n key: 'getPadding',\n value: function getPadding(ratio) {\n var arr = ratio.split(':');\n var width = Number(arr[0]);\n var height = Number(arr[1]);\n var padding = height * 100 / width;\n return padding + '%';\n }\n\n /**\n * Calculate the width of the video fulfill aspect ratio.\n * When the height of the video is greater than the height of the window,\n * this function return the width that fulfill the aspect ratio for the height of the window.\n * In other cases, this function return '100%'(the height relative to the width is determined by css).\n * \n * @param string ratio\n * @param number maxWidth\n * @returns number | '100%'\n */\n }, {\n key: 'getWidthFulfillAspectRatio',\n value: function getWidthFulfillAspectRatio(ratio, maxHeight, maxWidth) {\n var arr = ratio.split(':');\n var width = Number(arr[0]);\n var height = Number(arr[1]);\n\n // Height that fulfill the aspect ratio for maxWidth.\n var videoHeight = maxWidth * (height / width);\n if (maxHeight < videoHeight) {\n // when the height of the video is greater than the height of the window.\n // calculate the width that fulfill the aspect ratio for the height of the window.\n\n // ex: 16:9 aspect ratio\n // 16:9 = width : height\n // → width = 16 / 9 * height\n return Math.floor(width / height * maxHeight);\n }\n return '100%';\n }\n }, {\n key: 'render',\n value: function render() {\n var _this3 = this;\n var modalVideoInnerStyle = {\n width: this.state.modalVideoWidth\n };\n var modalVideoIframeWrapStyle = {\n paddingBottom: this.getPadding(this.props.ratio)\n };\n return _react2.default.createElement(_CSSTransition2.default, {\n classNames: this.props.classNames.modalVideoEffect,\n timeout: this.props.animationSpeed\n }, function () {\n if (!_this3.state.isOpen) {\n return null;\n }\n return _react2.default.createElement('div', {\n className: _this3.props.classNames.modalVideo,\n tabIndex: '-1',\n role: 'dialog',\n 'aria-label': _this3.props.aria.openMessage,\n onClick: _this3.closeModal,\n ref: function ref(node) {\n _this3.modal = node;\n },\n onKeyDown: _this3.updateFocus\n }, _react2.default.createElement('div', {\n className: _this3.props.classNames.modalVideoBody\n }, _react2.default.createElement('div', {\n className: _this3.props.classNames.modalVideoInner,\n style: modalVideoInnerStyle\n }, _react2.default.createElement('div', {\n className: _this3.props.classNames.modalVideoIframeWrap,\n style: modalVideoIframeWrapStyle\n }, _react2.default.createElement('button', {\n className: _this3.props.classNames.modalVideoCloseBtn,\n 'aria-label': _this3.props.aria.dismissBtnMessage,\n ref: function ref(node) {\n _this3.modalbtn = node;\n },\n onKeyDown: _this3.updateFocus\n }), _this3.props.children || _react2.default.createElement('iframe', {\n width: '460',\n height: '230',\n src: _this3.getVideoUrl(_this3.props, _this3.props.videoId),\n frameBorder: '0',\n allow: 'accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture',\n allowFullScreen: _this3.props.allowFullScreen,\n tabIndex: '-1'\n })))));\n });\n }\n }], [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(props) {\n return {\n isOpen: props.isOpen\n };\n }\n }]);\n return ModalVideo;\n}(_react2.default.Component);\nexports.default = ModalVideo;\nModalVideo.defaultProps = {\n channel: 'youtube',\n isOpen: false,\n youtube: {\n autoplay: 1,\n cc_load_policy: 1,\n color: null,\n controls: 1,\n disablekb: 0,\n enablejsapi: 0,\n end: null,\n fs: 1,\n h1: null,\n iv_load_policy: 1,\n list: null,\n listType: null,\n loop: 0,\n modestbranding: null,\n origin: null,\n playlist: null,\n playsinline: null,\n rel: 0,\n showinfo: 1,\n start: 0,\n wmode: 'transparent',\n theme: 'dark',\n mute: 0\n },\n ratio: '16:9',\n vimeo: {\n api: false,\n autopause: true,\n autoplay: true,\n byline: true,\n callback: null,\n color: null,\n height: null,\n loop: false,\n maxheight: null,\n maxwidth: null,\n player_id: null,\n portrait: true,\n title: true,\n width: null,\n xhtml: false\n },\n youku: {\n autoplay: 1,\n show_related: 0\n },\n allowFullScreen: true,\n animationSpeed: 300,\n classNames: {\n modalVideoEffect: 'modal-video-effect',\n modalVideo: 'modal-video',\n modalVideoClose: 'modal-video-close',\n modalVideoBody: 'modal-video-body',\n modalVideoInner: 'modal-video-inner',\n modalVideoIframeWrap: 'modal-video-movie-wrap',\n modalVideoCloseBtn: 'modal-video-close-btn'\n },\n aria: {\n openMessage: 'You just opened the modal video',\n dismissBtnMessage: 'Close the modal by clicking here'\n }\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\nvar _addClass = _interopRequireDefault(require(\"dom-helpers/class/addClass\"));\nvar _removeClass = _interopRequireDefault(require(\"dom-helpers/class/removeClass\"));\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\nvar _PropTypes = require(\"./utils/PropTypes\");\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};\n if (desc.get || desc.set) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n }\n newObj.default = obj;\n return newObj;\n }\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\nvar addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _addClass.default)(node, c);\n });\n};\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _removeClass.default)(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](http://www.nganimate.org/) library, you should use it if you're\n * using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n *
\n * {\"I'll receive my-node-* classes\"}\n *
\n *
\n * \n *
\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity: 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**.\n */\n\nvar CSSTransition = /*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n function CSSTransition() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.onEnter = function (node, appearing) {\n var _this$getClassNames = _this.getClassNames(appearing ? 'appear' : 'enter'),\n className = _this$getClassNames.className;\n _this.removeClasses(node, 'exit');\n addClass(node, className);\n if (_this.props.onEnter) {\n _this.props.onEnter(node, appearing);\n }\n };\n _this.onEntering = function (node, appearing) {\n var _this$getClassNames2 = _this.getClassNames(appearing ? 'appear' : 'enter'),\n activeClassName = _this$getClassNames2.activeClassName;\n _this.reflowAndAddClass(node, activeClassName);\n if (_this.props.onEntering) {\n _this.props.onEntering(node, appearing);\n }\n };\n _this.onEntered = function (node, appearing) {\n var appearClassName = _this.getClassNames('appear').doneClassName;\n var enterClassName = _this.getClassNames('enter').doneClassName;\n var doneClassName = appearing ? appearClassName + \" \" + enterClassName : enterClassName;\n _this.removeClasses(node, appearing ? 'appear' : 'enter');\n addClass(node, doneClassName);\n if (_this.props.onEntered) {\n _this.props.onEntered(node, appearing);\n }\n };\n _this.onExit = function (node) {\n var _this$getClassNames3 = _this.getClassNames('exit'),\n className = _this$getClassNames3.className;\n _this.removeClasses(node, 'appear');\n _this.removeClasses(node, 'enter');\n addClass(node, className);\n if (_this.props.onExit) {\n _this.props.onExit(node);\n }\n };\n _this.onExiting = function (node) {\n var _this$getClassNames4 = _this.getClassNames('exit'),\n activeClassName = _this$getClassNames4.activeClassName;\n _this.reflowAndAddClass(node, activeClassName);\n if (_this.props.onExiting) {\n _this.props.onExiting(node);\n }\n };\n _this.onExited = function (node) {\n var _this$getClassNames5 = _this.getClassNames('exit'),\n doneClassName = _this$getClassNames5.doneClassName;\n _this.removeClasses(node, 'exit');\n addClass(node, doneClassName);\n if (_this.props.onExited) {\n _this.props.onExited(node);\n }\n };\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + '-' : '';\n var className = isStringClassNames ? prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? className + '-active' : classNames[type + 'Active'];\n var doneClassName = isStringClassNames ? className + '-done' : classNames[type + 'Done'];\n return {\n className: className,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n return _this;\n }\n var _proto = CSSTransition.prototype;\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$getClassNames6 = this.getClassNames(type),\n className = _this$getClassNames6.className,\n activeClassName = _this$getClassNames6.activeClassName,\n doneClassName = _this$getClassNames6.doneClassName;\n className && removeClass(node, className);\n activeClassName && removeClass(node, activeClassName);\n doneClassName && removeClass(node, doneClassName);\n };\n _proto.reflowAndAddClass = function reflowAndAddClass(node, className) {\n // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n if (className) {\n /* eslint-disable no-unused-expressions */\n node && node.scrollTop;\n /* eslint-enable no-unused-expressions */\n\n addClass(node, className);\n }\n };\n _proto.render = function render() {\n var props = _extends({}, this.props);\n delete props.classNames;\n return _react.default.createElement(_Transition.default, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n return CSSTransition;\n}(_react.default.Component);\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, _Transition.default.propTypes, {\n /**\n * The animation classNames applied to the component as it enters, exits or\n * has finished the transition. A single name can be provided and it will be\n * suffixed for each stage: e.g.\n *\n * `classNames=\"fade\"` applies `fade-enter`, `fade-enter-active`,\n * `fade-enter-done`, `fade-exit`, `fade-exit-active`, `fade-exit-done`,\n * `fade-appear`, `fade-appear-active`, and `fade-appear-done`.\n *\n * **Note**: `fade-appear-done` and `fade-enter-done` will _both_ be applied.\n * This allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply an\n * epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: _PropTypes.classNamesShape,\n /**\n * A `` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n /**\n * A `` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n /**\n * A `` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n /**\n * A `` callback fired immediately after the 'exit' class is\n * applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n /**\n * A `` callback fired immediately after the 'exit-active' is applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n /**\n * A `` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nvar _default = CSSTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\nvar _PropTypes = require(\"./utils/PropTypes\");\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};\n if (desc.get || desc.set) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n }\n newObj.default = obj;\n return newObj;\n }\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 0 },\n * entered: { opacity: 1 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nexports.EXITING = EXITING;\nvar Transition = /*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n function Transition(props, context) {\n var _this;\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context.transitionGroup; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n var _proto = Transition.prototype;\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: null // allows for nested Transitions\n };\n };\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n return null;\n }; // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n if (prevProps !== this.props) {\n var status = this.state.status;\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n this.updateStatus(false, nextStatus);\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n var node = _reactDom.default.findDOMNode(this);\n if (nextStatus === ENTERING) {\n this.performEnter(node, mounting);\n } else {\n this.performExit(node);\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n _proto.performEnter = function performEnter(node, mounting) {\n var _this2 = this;\n var enter = this.props.enter;\n var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node);\n });\n return;\n }\n this.props.onEnter(node, appearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(node, appearing);\n _this2.onTransitionEnd(node, enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node, appearing);\n });\n });\n });\n };\n _proto.performExit = function performExit(node) {\n var _this3 = this;\n var exit = this.props.exit;\n var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n if (!exit) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n return;\n }\n this.props.onExit(node);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(node);\n _this3.onTransitionEnd(node, timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n var active = true;\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n this.nextCallback.cancel = function () {\n active = false;\n };\n return this.nextCallback;\n };\n _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {\n this.setNextCallback(handler);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n if (this.props.addEndListener) {\n this.props.addEndListener(node, this.nextCallback);\n }\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n _proto.render = function render() {\n var status = this.state.status;\n if (status === UNMOUNTED) {\n return null;\n }\n var _this$props = this.props,\n children = _this$props.children,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n delete childProps.in;\n delete childProps.mountOnEnter;\n delete childProps.unmountOnExit;\n delete childProps.appear;\n delete childProps.enter;\n delete childProps.exit;\n delete childProps.timeout;\n delete childProps.addEndListener;\n delete childProps.onEnter;\n delete childProps.onEntering;\n delete childProps.onEntered;\n delete childProps.onExit;\n delete childProps.onExiting;\n delete childProps.onExited;\n if (typeof children === 'function') {\n return children(status, childProps);\n }\n var child = _react.default.Children.only(children);\n return _react.default.cloneElement(child, childProps);\n };\n return Transition;\n}(_react.default.Component);\nTransition.contextTypes = {\n transitionGroup: PropTypes.object\n};\nTransition.childContextTypes = {\n transitionGroup: function transitionGroup() {}\n};\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`, `'unmounted'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n /**\n * Normally a component is not transitioned if it is shown when the `` component mounts.\n * If you want to transition on the first mount set `appear` to `true`, and the\n * component will transition in as soon as the `` mounts.\n *\n * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\n */\n appear: PropTypes.bool,\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = _PropTypes.timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n return pt.apply(void 0, [props].concat(args));\n },\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. **Note:** Timeouts are still used as a fallback if provided.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func // Name the function so it is clearer in the documentation\n} : {};\nfunction noop() {}\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.classNamesShape = exports.timeoutsShape = void 0;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nvar timeoutsShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number,\n appear: _propTypes.default.number\n}).isRequired]) : null;\nexports.timeoutsShape = timeoutsShape;\nvar classNamesShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({\n enter: _propTypes.default.string,\n exit: _propTypes.default.string,\n active: _propTypes.default.string\n}), _propTypes.default.shape({\n enter: _propTypes.default.string,\n enterDone: _propTypes.default.string,\n enterActive: _propTypes.default.string,\n exit: _propTypes.default.string,\n exitDone: _propTypes.default.string,\n exitActive: _propTypes.default.string\n})]) : null;\nexports.classNamesShape = classNamesShape;","import React from \"react\"\nimport PlayIcon from \"components/PlayIcon\"\nimport styled from \"styled-components\"\nimport Img from \"gatsby-image\"\n\nconst ImageWrapper: any = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n /* width: 280px; */\n margin-right: 20px;\n height: 11rem;\n cursor: pointer;\n`\nconst Image = styled.img`\n border-radius: 8px;\n margin: 0;\n object-fit: cover;\n width: 100%;\n height: 100%;\n`\n\ninterface Props {\n onClick?: Function\n imageUrl: any\n customStyle?: any\n size?: string\n}\n\nconst EmbedVideoThumb: React.FC = props => {\n let imageSrc\n if (!props.imageUrl.childImageSharp) {\n imageSrc = props.imageUrl\n }\n return (\n \n {props.imageUrl.childImageSharp ? (\n \n ) : (\n \n )}\n \n \n )\n}\n\nexport default EmbedVideoThumb\n","import styled from \"styled-components\"\nimport Play from \"images/play.inline.svg\"\nimport theme from \"components/layout/theme\"\n\nconst PlayIcon = styled(Play)`\n position: absolute;\n width: ${props => (props.size === \"small\" ? \"28px\" : \"72px\")};\n height: ${props => (props.size === \"small\" ? \"28px\" : \"72px\")};\n color: ${theme.colors.primary};\n left: 50%;\n margin-left: ${props => (props.size === \"small\" ? \"-14px\" : \"-36px\")};\n top: 50%;\n margin-top: ${props => (props.size === \"small\" ? \"-14px\" : \"-36px\")};\n`\n\nexport default PlayIcon\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = addClass;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nfunction addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hasClass;\n\nfunction hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nfunction replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};"],"names":["_createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","Constructor","protoProps","staticProps","prototype","_react2","_interopRequireDefault","_CSSTransition2","obj","__esModule","default","ModalVideo","_React$Component","instance","TypeError","_classCallCheck","this","_this","self","call","ReferenceError","_possibleConstructorReturn","__proto__","getPrototypeOf","state","isOpen","modalVideoWidth","closeModal","bind","updateFocus","timeout","subClass","superClass","create","constructor","value","setPrototypeOf","_inherits","setState","onClose","e","keyCode","document","addEventListener","keydownHandler","window","resizeModalVideoWhenHeightGreaterThanWindowHeight","getWidthFulfillAspectRatio","ratio","innerHeight","innerWidth","removeEventListener","modal","focus","preventDefault","stopPropagation","activeElement","modalbtn","_this2","clearTimeout","setTimeout","width","url","hasOwnProperty","substr","youtube","videoId","getQueryString","vimeo","youku","opt","channel","getYoutubeUrl","getVimeoUrl","getYoukuUrl","arr","split","Number","maxHeight","maxWidth","height","Math","floor","_this3","modalVideoInnerStyle","modalVideoIframeWrapStyle","paddingBottom","getPadding","createElement","classNames","modalVideoEffect","animationSpeed","className","modalVideo","tabIndex","role","aria","openMessage","onClick","ref","node","onKeyDown","modalVideoBody","modalVideoInner","style","modalVideoIframeWrap","modalVideoCloseBtn","dismissBtnMessage","children","src","getVideoUrl","frameBorder","allow","allowFullScreen","Component","exports","defaultProps","autoplay","cc_load_policy","color","controls","disablekb","enablejsapi","end","fs","h1","iv_load_policy","list","listType","loop","modestbranding","origin","playlist","playsinline","rel","showinfo","start","wmode","theme","mute","api","autopause","byline","callback","maxheight","maxwidth","player_id","portrait","title","xhtml","show_related","modalVideoClose","newObj","desc","getOwnPropertyDescriptor","get","set","_interopRequireWildcard","_addClass","_removeClass","_react","_Transition","_extends","assign","arguments","source","apply","addClass","classes","forEach","c","removeClass","CSSTransition","_len","args","Array","_key","concat","onEnter","appearing","getClassNames","removeClasses","onEntering","activeClassName","reflowAndAddClass","onEntered","appearClassName","doneClassName","enterClassName","onExit","onExiting","onExited","type","isStringClassNames","_proto","_this$getClassNames6","scrollTop","render","propTypes","_default","module","EXITING","ENTERED","ENTERING","EXITED","UNMOUNTED","PropTypes","_reactDom","_reactLifecyclesCompat","Transition","context","initialStatus","parentGroup","transitionGroup","appear","isMounting","enter","appearStatus","in","unmountOnExit","mountOnEnter","status","nextCallback","getChildContext","getDerivedStateFromProps","_ref","prevState","componentDidMount","updateStatus","componentDidUpdate","prevProps","nextStatus","componentWillUnmount","cancelNextCallback","getTimeouts","exit","undefined","mounting","findDOMNode","performEnter","performExit","timeouts","enterTimeout","safeSetState","onTransitionEnd","cancel","nextState","setNextCallback","_this4","active","event","handler","doesNotHaveTimeoutOrListener","addEndListener","_this$props","childProps","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","child","Children","only","cloneElement","noop","contextTypes","object","childContextTypes","polyfill","classNamesShape","timeoutsShape","ImageWrapper","styled","div","_templateObject","_taggedTemplateLiteralLoose","Image","img","_templateObject2","imageSrc","imageUrl","childImageSharp","React","customStyle","Img","fluid","borderRadius","margin","objectFit","PlayIcon","size","Play","colors","primary","element","classList","add","_hasClass","setAttribute","baseVal","contains","replaceClassName","origClass","classToRemove","replace","RegExp","remove"],"sourceRoot":""}