{"version":3,"sources":["webpack:///./src/app/pages/Article.js","webpack:///./src/app/components/MembranaInArticle.js","webpack:///./src/app/components/AuthorWidget.js","webpack:///./src/app/components/BreadCrumb.js","webpack:///./src/app/components/ui/Carousel.style.js","webpack:///./src/app/components/ui/Carousel.js","webpack:///./src/app/components/Timeline.js","webpack:///../common/lib/ion-dom/distribution/ion-dom.js","webpack:///./assets/images/social-media/instagram-author.svg","webpack:///./assets/images/icons/gallery-prev.svg","webpack:///./assets/images/icons/gallery-next.svg","webpack:///./assets/images/social-media/linkedin-author.svg","webpack:///./assets/images/general/no-profile.png","webpack:///./assets/images/social-media/facebook-author.svg"],"names":["ArticleSideShare","loadable","ArticleSocialShare","RelatedArticles","AuthorArticles","Video","NotFound","Outbrain","OutbrainInArticle","VoxImage","MostReadWidget","YouMayLike","resolveComponent","components","NewsletterCTA","NewsletterSubscribeCallToAction","YouMayLikeSkeleton","Skeleton","Oovvuu","then","window","oovvuuRuntime","setTimeout","OovvuuErrorBoundary","ErrorBoundary","oovvuu","InImage","Leaderboard","LeaderboardTop","HP","mpuRHS","mpuRHS1","props","state","hasError","error","errorInfo","this","message","children","React","Component","StyledArticleContent","styled","div","Gallery","readArticles","processArticleScripts","articleNode","scripts","nodeScriptReplace","node","async","onload","FB","XFBML","parse","console","log","src","processArticleVideo","querySelectorAll","v","sources","getElementsByTagName","s","push","getAttribute","type","v2","document","createElement","style","cssText","branding","hasAttribute","JSON","decodeURIComponent","e","ReactDom","render","className","poster","channel","autoplay","width","fluid","aspectRatio","preload","controls","parentElement","replaceChild","Error","h1","text","mb","p","Wrapper","downMd","useDown","link","location","pathname","fallback","undefined","main","px","mt","sm","lg","w","article","mx","textAlign","display","justifyContent","alignItems","flexDirection","isConnected","adPath","collapseEmptyDiv","slotId","targeting","mapping","FORMATS","leaderboardtop","ImageGallery","images","thumbNails","map","image","createRef","carouselNode","useRef","carousel","useCarousel","renderPaginationItem","current","img","idx","ref","label","onClick","aria-label","aria-selected","cursor","onSelectSlide","scrollLeft","offsetLeft","id","nextButton","next","prevButton","prev","Slide","getImageSize","alt","altText","caption","shape","noImage","NoImage","maxWidth","m","lineHeight","processTimelineShortcode","element","index","timelines","TIMELINE_REGEX","matchResult","match","elements","split","slug","mode","String","toUpperCase","timeline","key","dangerouslySetInnerHTML","__html","length","RenderArticle","useState","hasProcessed","setProcessed","articleRef","TitleRef","AutoPlay","URLSearchParams","useLocation","search","get","setPageType","useEffect","uuid","bodyHTML","includes","oovvuuArticleView","section","Window","scrollIntoView","relatedArticlesPresent","relatedArticles","resizeURL","process","isSponsored","sponsoredIndicator","isNative","sponsoredIndicatorMeta","sponsoredLogoImage","sponsoredLogo","imageURL","nativeLogoImage","bodyElements","mainImage","getImage","imageSrcUrl","calcImageSrcUrl","socialImageSrcUrl","socialTeaserImage","thumbnailUrl","videos","thumbnailURL","url","headline","LeadImage","SocialImage","staticContext","author","title","property","content","getTeaser","socialAbstract","canonicalUri","itemprop","height","name","keywords","itemProp","modified","published","contentKey","publication","twitterName","rel","href","canonical","interstitial","anchor","MAPPINGS","Interstitial","Inarticle","thirdParty","fontSize","gridTemplateColumns","xl","gap","aside","visibility","authors","visitorId","sessionId","path","provider","videoSources","script","replace","my","color","formatAgo","MPU","mpu","gridTemplateAreas","gridArea","teads","unknownImage","textTransform","concat","primaryTag","secondaryTags","trends","tag","to","sectionSlug","backgroundColor","Py","mr","source","spaceX","pb","borderWidth","borderStyle","borderColor","youMayLikeArticles","refresh","articles","py","position","top","mpu600","hasAuthorPage","authorArticles","h5","SweepOut","hoverBGColor","hoverColor","filter","filterArticle","slice","leaderboard","threshold","order","Offline","_Article","offline","setIsOffline","preloaded","isFetching","ArticlePushContext","previewArticle","fetchArticle","descriptionUrl","encodeURIComponent","oovvuuReplacementAdServerURL","setPreviewArticle","checkCanonical","articleUrlVerified","is404","hasFetched","mapStateToProps","app","getVisitorId","getSessionId","mapDispatchToProps","dispatch","bindActionCreators","setProcessedArticle","submitCompetition","ConnectedArticle","connect","MembranaInArticle","yieldMasterCmd","yieldMaster","init","pageVersionAutodetect","zIndex","AuthorWidget","borderRadius","h","imageUrl","ml","fontFamily","dataAuthor","span","relatedLinks","descriptionShort","facebook","a","target","aFB","linkedin","aLI","instagram","aI","pr","BreadCrumb","pathArray","nav","ul","reduce","acc","child","li","join","_","hover","getSectionLabel","system","Carousel","slidesToShow","translateX","css","Pagination","Bullet","active","th","navigationStyles","disabled","Next","Prev","useInterval","callback","delay","savedCallback","setInterval","clearInterval","forwardRef","dataTestId","goNext","goPrev","loop","numberOfSlides","pageIdx","setNumberOfSlides","setPageIdx","slidesToSwipe","swipeHandlers","rest","size","visibleSlides","Array","fill","aria-controls","data-testid","aria-live","aria-roledescription","role","cloneElement","S","displayName","duration","mobileSlidesToShow","mobileSlidesToSwipe","lastSlideIdx","nextPageIdx","Math","min","prevPageIdx","max","useSwipeable","onSwipedLeft","onSwipedRight","Timeline","items","tagName","parentNode","innerHTML","i","attributes","setAttribute","value","nodeScriptClone","childNodes","module","exports"],"mappings":"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","file":"static/js/pages-Article.e5d31f18.chunk.js","sourcesContent":[" import React, { Fragment, useEffect, useRef, useState } from 'react'\nimport styled, { x, useDown } from '@xstyled/styled-components'\nimport { Redirect } from 'react-router'\nimport { bindActionCreators } from 'redux'\nimport { connect } from 'react-redux'\nimport ReactDom from 'react-dom'\nimport Helmet from 'react-helmet'\nimport { useLocation } from 'react-router-dom'\nimport { nodeScriptReplace } from 'ion-dom'\nimport loadable from '@loadable/component'\n\nimport { setPageType } from '../../store/app'\nimport { fetchArticle, articleUrlVerified, setPreviewArticle, submitCompetition, setProcessedArticle, oovvuuArticleView, getVisitorId, getSessionId } from '../../store/article'\nimport { ArticleMeta } from 'ion-article-cmp'\nimport { calcImageSrcUrl } from 'ion-image'\nimport Ad from '../components/Ad'\nimport { FORMATS, MAPPINGS } from '../components/AdFormats'\nimport { LazyLoadComponent } from 'react-lazy-load-image-component'\nimport AuthorWidget from '../components/AuthorWidget'\nimport { ArticlePageSkeleton as Skeleton } from '../components/Skeletons'\nimport { getImageSize, getImage, getTeaser } from '../../lib/articleUtils'\nimport ImageOrNoImage from '../components/ui/Image'\nimport NoImage from '../../../assets/images/general/no-image.png'\nimport { formatAgo } from '../../lib/dateUtils'\n\nimport { BreadCrumb } from '../components/BreadCrumb'\n\nimport StyledLink from '../components/ui/Link'\nimport cssfxUnderline from '../components/ui/cssfxUnderline'\n\nimport next from '../../../assets/images/icons/gallery-next.svg'\nimport prev from '../../../assets/images/icons/gallery-prev.svg'\nimport { Carousel, useCarousel } from '../components/ui/Carousel'\nimport Timeline from '../components/Timeline'\nimport MembranaInArticle from '../components/MembranaInArticle'\n\nconst ArticleSideShare = loadable(() => import('../components/ui/ArticleSideShare'))\nconst ArticleSocialShare = loadable(() => import('../components/ArticleSocialShare'))\n\nconst RelatedArticles = loadable(() => import('../components/RelatedArticles'))\nconst AuthorArticles = loadable(() => import('../components/AuthorArticles'))\nconst Video = loadable(() => import('../components/Video'))\nconst NotFound = loadable(() => import('./NotFound'))\nconst Outbrain = loadable(() => import('../components/OutbrainWidget'))\nconst OutbrainInArticle = loadable(() => import('../components/OutbrainInArticleWidget'))\nconst VoxImage = loadable(() => import('../components/VoxImage'))\nconst MostReadWidget = loadable(() => import('../components/MostReadWidget'))\n\nconst YouMayLike = loadable(() => import('../components/YouMayLike'), {\n resolveComponent: (components) => components.default\n})\nconst NewsletterCTA = loadable(() => import('../components/NewsletterSubscribePopup'), {\n resolveComponent: (components) => components.NewsletterSubscribeCallToAction\n})\n\nconst YouMayLikeSkeleton = loadable(() => import('../components/YouMayLike'), {\n resolveComponent: (components) => components.Skeleton\n})\nconst Oovvuu = loadable(() =>\n import('../components/Oovvuu').then(components => {\n if (typeof window !== 'undefined' && typeof window.oovvuuRuntime === 'function') {\n setTimeout(() => {\n oovvuuRuntime()\n })\n }\n return components.default\n })\n)\nconst OovvuuErrorBoundary = loadable(() => import('../components/Oovvuu'), {\n resolveComponent: (components) => components.ErrorBoundary\n})\n\nconst oovvuu = 'playback.oovvuu.media'\n\nconst InImage = [\n [[1024, 0], [1, 2]],\n [[640, 0], [1, 2]],\n [[200, 0], [1, 2]],\n [[0, 0], [1, 2]]\n]\n\nconst Leaderboard = [\n [[1024, 0], [[728, 90], [970, 90], [970, 250], 'fluid']],\n [[640, 0], [[460, 60], 'fluid']],\n [[0, 0], [[300, 600], [336, 280], [320, 100], [320, 50], [300, 250], [300, 100], [300, 50], 'fluid']]\n]\n\nconst LeaderboardTop = [\n [[1024, 0], [[728, 90], [970, 90], 'fluid']],\n [[640, 0], [[460, 60], 'fluid']],\n [[0, 0], [[320, 100], [320, 50], [300, 100], [300, 50], 'fluid']]\n]\n\nconst HP = [\n [[1024, 0], [[300, 600], [160, 600], [120, 600], 'fluid']],\n [[640, 0], [[300, 600], [160, 600], [120, 600], 'fluid']],\n [[0, 0], [[300, 600], [336, 280], [320, 100], [320, 50], [300, 250], [300, 100], [300, 50], [160, 600], [120, 600], 'fluid']]\n]\n\nconst mpuRHS = [\n [[1024, 0], [[300, 250], [3, 3], 'fluid']],\n [[640, 0], [[300, 250], [336, 280], [3, 3], 'fluid']],\n [[0, 0], [[300, 600], [336, 280], [320, 100], [320, 50], [300, 250], [300, 100], [300, 50], [3, 3], 'fluid']]\n]\n\nconst mpuRHS1 = [\n [[1024, 0], [[300, 250], [3, 3], 'fluid']],\n [[640, 0], [[300, 250], [336, 280], [3, 3], 'fluid']],\n [[0, 0], [[300, 600], [336, 280], [320, 100], [320, 50], [300, 250], [300, 100], [300, 50], [3, 3], 'fluid']]\n]\n\nclass ErrorBoundary extends React.Component {\n constructor (props) {\n super(props)\n this.state = { hasError: false }\n }\n\n static getDerivedStateFromError (error) {\n // Update state so the next render will show the fallback UI.\n return { hasError: true, error }\n }\n\n componentDidCatch (error, errorInfo) {\n // You can also log the error to an error reporting service\n // console.error(error, errorInfo)\n }\n\n render () {\n if (this.state.hasError) {\n return <div>{this.props.message}</div>\n }\n return this.props.children\n }\n}\n\nconst StyledArticleContent = styled.div`\n margin-top: 30px;\n > div:first-of-type p:first-of-type {\n line-height: 1.3;\n font-size: ${20 / 16}rem;\n font-weight: semiBold;\n }\n p {\n line-height: 1.5;\n margin-bottom: 20px;\n a {\n color: blue;\n border-bottom: 1px solid blue;\n transition: all linear 0.3s;\n &:hover {\n color: blue;\n border-bottom: none;\n }\n }\n}\n div {\n line-height: 1.5;\n margin-bottom: 20px;\n a {\n color: blue;\n border-bottom: 1px solid blue;\n transition: all linear 0.3s;\n &:hover {\n color: blue;\n border-bottom: none;\n }\n }\n}\n h2, h3, h4 {\n margin-bottom: ${20 / 16}rem;\n }\n blockquote {\n text-align: center;\n margin-top: 50px;\n margin-bottom: 50px;\n font-family: \"PT Serif\", serif;\n font-size: ${22 / 16}rem;\n font-weight: 400;\n p {\n font-size: 1rem;\n &:last-of-type {\n font-family: \"Work Sans\", sans-serif;\n }\n }\n }\n figure {\n margin: 20px 0;\n @media screen and (min-width: 1500px) {\n margin: 20px -125px;\n width: 800px;\n }\n img {\n width: 100%;\n }\n figcaption {\n width: 100%;\n max-width: 800px;\n margin: auto;\n font-style: italic;\n font-size: ${14 / 16}rem;\n line-height: 1.2;\n margin-top: 10px;\n }\n }\n iframe {\n max-width: 100%;\n margin-bottom: 30px;\n }\n .advert-inarticle iframe {\n margin-bottom: 0;\n }\n ul, ol {\n margin: 20px 0 20px 20px;\n li {\n margin-left: 20px;\n padding-left: 10px;\n margin-bottom: 8px;\n &:last-of-type {\n margin-bottom: 0;\n }\n }\n }\n ul li {\n list-style-type: disc;\n }\n ol li {\n list-style-type: decimal;\n }\n tr {\n background-color: #f2f2f2;\n text-align: center;\n }\n`\n\nconst Gallery = styled.div`\n position: relative;\n .carousel-next,\n .carousel-prev {\n width: 42px;\n height: 42px;\n top: 50%;\n transform: translateY(-200%);\n }\n .carousel-next {\n right: 0;\n }\n .carousel-prev {\n left: 0;\n }\n .carousel-pagination {\n overflow-x: scroll;\n img {\n border-bottom: 3px solid #FFF;\n padding-bottom: 2px;\n &[aria-selected=true] {\n border-bottom: 3px solid #ED5C35;\n padding-bottom: 2px;\n }\n }\n }\n`\n\nconst readArticles = []\n\nfunction processArticleScripts (articleNode) {\n let scripts = 0\n const scriptLoaded = () => {\n scripts--\n if (scripts === 0) {\n nodeScriptReplace(articleNode, false)\n if (typeof window !== 'undefined' && typeof window.FB !== 'undefined') {\n window.FB.XFBML.parse()\n }\n }\n }\n\n if (articleNode) {\n nodeScriptReplace(articleNode, true, (node) => {\n scripts++\n node.async = false\n node.onload = () => scriptLoaded()\n console.log('Loading', node.src)\n return node\n })\n if (!scripts) {\n nodeScriptReplace(articleNode, false)\n }\n }\n}\n\nfunction processArticleVideo (articleNode) {\n for (const v of articleNode.querySelectorAll('video.ion-video')) {\n const sources = []\n for (const s of v.getElementsByTagName('source')) {\n sources.push({\n src: s.getAttribute('src'),\n type: s.getAttribute('type')\n })\n }\n const v2 = document.createElement('div')\n v2.style.cssText = 'clear:both;'\n let branding = {}\n try {\n if (v.hasAttribute('data-channel')) {\n branding = JSON.parse(decodeURIComponent(v.getAttribute('data-channel')))\n }\n } catch (e) {\n branding = {}\n }\n ReactDom.render(\n <div className='video'>\n <ErrorBoundary>\n <Video\n sources={sources}\n poster={v.getAttribute('poster')}\n channel={v.getAttribute('data-channel')}\n branding={branding}\n autoplay={false}\n width='650'\n fluid\n aspectRatio='16:9'\n preload='metadata'\n controls\n />\n </ErrorBoundary>\n </div>, v2)\n v.parentElement.replaceChild(v2, v)\n console.log('Updated videojs video')\n }\n}\n\nconst Error = ({ error }) => (\n <x.div>\n <x.h1 text='h1' mb={30}>Error:</x.h1>\n <x.p>{error}</x.p>\n </x.div>\n)\n\nconst Wrapper = (props) => {\n const downMd = useDown('md')\n return (\n <>\n {downMd &&\n <ArticleSideShare link={props.location.pathname} fallback={undefined} />}\n <x.main px={20} mt={{ sm: '96px', lg: '173px' }} w='100%'>\n <x.div mt={{ sm: '20px', article: '30px' }} mx={-20} textAlign='center' display='flex' justifyContent='center' alignItems='center' flexDirection='column'>\n <Ad isConnected={props.isConnected} adPath={props.adPath} collapseEmptyDiv slotId='leaderboard-top' targeting={{ Leaderboard: 'top' }} mapping={LeaderboardTop} className='advert' {...FORMATS.leaderboardtop} />\n </x.div>\n {props.children}\n </x.main>\n </>\n )\n}\n\nconst ImageGallery = ({ images }) => {\n const thumbNails = images.map(image => React.createRef())\n const carouselNode = useRef()\n const carousel = useCarousel({\n renderPaginationItem: (props) => {\n if (carouselNode.current) {\n return (\n <x.img\n w={16} src={carouselNode.current.getElementsByTagName('img')[props.idx].src} ref={thumbNails[props.idx]} label={props['aria-label']}\n onClick={props.onClick} aria-label={props['aria-label']} aria-selected={props['aria-selected']} cursor='pointer'\n />\n )\n }\n },\n onSelectSlide: (idx) => {\n if (thumbNails[idx].current) {\n thumbNails[idx].current.parentElement.scrollLeft = thumbNails[idx].current.offsetLeft\n }\n }\n })\n // console.log('ImageGallery', images)\n return (\n <Gallery>\n <Carousel id='ImageGallery' mx={0} mb={50} {...carousel} nextButton={<img src={next} />} prevButton={<img src={prev} />} ref={carouselNode}>\n {images.map(image => (\n <Carousel.Slide textAlign='center'>\n <ImageOrNoImage image={image} width={getImageSize('featured')} alt={image.altText || image.caption} shape='16x9' noImage={NoImage} />\n <x.p text='small' w='100%' maxWidth={550} m='10px auto 20px' lineHeight='1' textAlign='left'><em>{image.caption}</em></x.p>\n </Carousel.Slide>\n ))}\n </Carousel>\n </Gallery>\n )\n}\n\nfunction processTimelineShortcode (element, index, timelines) {\n const TIMELINE_REGEX = /<p>\\[timeline=([^ ]+)(?: mode=([^ ]+))?\\]<\\/p>/\n const matchResult = element.match(TIMELINE_REGEX)\n const elements = element.split(TIMELINE_REGEX)\n const slug = elements[1]\n const mode = elements[2] === undefined ? 'VERTICAL_ALTERNATING' : String(elements[2]).toUpperCase()\n if (!matchResult) {\n return <div key={'div-' + index} dangerouslySetInnerHTML={{ __html: element }} />\n }\n if (matchResult.index === 0) {\n return (\n <>\n <Timeline mode={mode} timeline={timelines[slug]} />\n <div key={'div-' + index} dangerouslySetInnerHTML={{ __html: elements[elements.length - 1] }} />\n </>\n )\n }\n // At the end if last element in the match result array is \"\"\n if (elements[elements.length - 1] === '') {\n return (\n <>\n <div key={'div-' + index} dangerouslySetInnerHTML={{ __html: elements[0] }} />\n <Timeline mode={mode} timeline={timelines[slug]} />\n </>\n )\n }\n // in the middle\n if (matchResult.index < element.length) {\n return (\n <>\n <div key={'div-' + index + '-a'} dangerouslySetInnerHTML={{ __html: elements[0] }} />\n <Timeline mode={mode} timeline={timelines[slug]} />\n <div key={'div-' + index + '-b'} dangerouslySetInnerHTML={{ __html: elements[elements.length - 1] }} />\n </>\n )\n }\n}\n\nconst RenderArticle = (props) => {\n const [hasProcessed, setProcessed] = useState(false)\n const articleRef = useRef()\n const TitleRef = useRef()\n const queryString = new URLSearchParams(useLocation().search)\n const AutoPlay = !!queryString.get('autoplay')\n const isMobile = useDown('md')\n const article = props.article\n const clickSource = 'Article Page'\n setPageType('article')\n\n if (!article) {\n return <Skeleton />\n }\n useEffect(() => {\n if (typeof window !== 'undefined' && typeof window.oovvuuRuntime === 'function') {\n oovvuuRuntime()\n }\n }, [article.uuid])\n\n useEffect(() => {\n if (!hasProcessed) {\n processArticleScripts(articleRef.current)\n if (article.bodyHTML.includes(oovvuu)) {\n props.oovvuuArticleView(article.section)\n }\n\n processArticleVideo(articleRef.current)\n\n setProcessed(true)\n }\n }, [articleRef.current])\n\n useEffect(() => {\n if (typeof Window !== 'undefined' && AutoPlay && TitleRef.current) {\n TitleRef.current.scrollIntoView(true)\n }\n }, [TitleRef.current])\n\n const relatedArticlesPresent = article.relatedArticles.length > 0\n const resizeURL = process.env.RAZZLE_RESIZE_URL\n const isSponsored = article.sponsoredIndicator === 'SPONSORED' || article.sponsoredIndicator === 'SPONSORED_EXPIRED'\n const isNative = article.sponsoredIndicator === 'NATIVE' || article.sponsoredIndicator === 'NATIVE_EXPIRED'\n const sponsoredIndicatorMeta = isSponsored ? 'sponsored' : isNative ? 'partnered' : ''\n const sponsoredLogoImage = isSponsored && article.sponsoredLogo && article.sponsoredLogo.imageURL ? article.sponsoredLogo.imageURL : ''\n const nativeLogoImage = isNative && article.sponsoredLogo && article.sponsoredLogo.imageURL ? article.sponsoredLogo.imageURL : ''\n const bodyElements = article?.bodyHTML.split('<ad-slot/>')\n const mainImage = getImage(article)\n const imageSrcUrl = calcImageSrcUrl(mainImage, 650, '16x9', false)\n const socialImageSrcUrl = article.socialTeaserImage ? calcImageSrcUrl(article.socialTeaserImage, 650, '16x9', false) : undefined\n const thumbnailUrl = article.videos && article.videos[0].thumbnailURL ? calcImageSrcUrl({ url: article.videos[0].thumbnailURL, caption: article.headline }, 100, 'square', false) : calcImageSrcUrl(mainImage, 100, 'square', false)\n const LeadImage = imageSrcUrl ? resizeURL + imageSrcUrl : (article.videos ? resizeURL + calcImageSrcUrl({ url: article.videos[0].thumbnailURL, caption: article.headline }, 650, '16x9', false) : NoImage)\n const SocialImage = socialImageSrcUrl ? resizeURL + socialImageSrcUrl : undefined\n const { staticContext } = props\n if (staticContext) {\n staticContext.author = article.author\n staticContext.title = article.headline\n }\n return (\n <>\n <Helmet title={article.headline}>\n <meta property='fb:app_id' content='293175074032541' />\n <meta property='og:type' content='article' />\n <meta property='og:title' content={getTeaser(article)} />\n <meta property='og:description' content={article.socialAbstract || article.abstract} />\n <meta property='og:url' content={process.env.RAZZLE_SITE_URL + article.canonicalUri} />\n <meta property='og:image' itemprop='image' content={SocialImage || LeadImage} />\n <meta property='og:image:width' content={article?.images?.[0].width || 0} />\n <meta property='og:image:height' content={article?.images?.[0].height || 0} />\n <meta property='og:image:alt' content={article?.images?.[0].caption || article.headline} />\n <meta property='og:image:secure_url' itemprop='image' content={SocialImage || LeadImage} />\n <meta name='keywords' content={article.keywords} />\n <meta itemProp='headline' content={article.headline} />\n <meta itemProp='description' name='description' content={article.abstract} />\n <meta itemProp='dateModified' content={article.modified} />\n <meta itemProp='datePublished' content={article.published} />\n <meta itemProp='identifier' content={article.contentKey} />\n <meta name='author' content={article.author} />\n <meta name='publisher' content={article.publication} />\n <meta name='twitter:site' content={props.twitterName} />\n <meta name='twitter:creator' content={props.twitterName} />\n <meta name='twitter:title' content={article.headline} />\n <meta name='twitter:description' content={article.abstract} />\n <meta itemprop='image' content={LeadImage} />\n <meta itemprop='thumbnailUrl' content={resizeURL + thumbnailUrl} />\n <meta name='twitter:card' content='summary_large_image' />\n <meta name='twitter:image' content={SocialImage || LeadImage} />\n <meta property='twitter:image:alt' content={article?.images?.[0].caption || article.headline} />\n <meta itemProp='inLanguage' content='en' />\n {(isSponsored || isNative) &&\n <meta name='robots' content='nofollow' />}\n {article.canonicalUri &&\n <link rel='canonical' itemprop='url' href={process.env.RAZZLE_SITE_URL + article.canonicalUri} />}\n {sponsoredIndicatorMeta &&\n <meta itemProp='magnet:custom' name='contenttype' content={sponsoredIndicatorMeta} />}\n {isSponsored &&\n <meta name='robots' content='noindex' />}\n {process.env.RAZZLE_ENABLE_MEBRANA && <script async='async' src='https://cdn.membrana.media/mil/ym.js' />}\n </Helmet>\n <ArticleMeta article={article} canonical={props.canonical} />\n <Ad isConnected={props.isConnected} adPath={props.adPath} slotId='interstitial' targeting={{ interstitial: 'interstitial' }} collapseEmptyDiv className='advert' anchor='interstitial' mapping={MAPPINGS.Interstitial} {...FORMATS.interstitial} />\n <Ad isConnected={props.isConnected} adPath={props.adPath} slotId='third-party' targeting={{ Inarticle: 'Inimage' }} collapseEmptyDiv className='advert' mapping={InImage} {...FORMATS.thirdParty} />\n <x.article className='main-article' fontSize={props.fontSize} w='100%' maxWidth='1500px' m='auto' ref={articleRef}>\n <x.div display='grid' gridTemplateColumns={{ sm: '100%', xl: '300px auto 300px' }} gap={{ sm: '0', xl: '50' }} alignItems='center'>\n <x.aside display={{ sm: 'none', xl: 'block' }} visibility={{ sm: 'hidden', xl: 'visible' }}>\n {/* NB: Mobile has it's own AuthorWidget below! */}\n <LazyLoadComponent>\n <AuthorWidget author={props.author} authors={article.authors} visitorId={props.visitorId} sessionId={props.sessionId} section={article.section} />\n </LazyLoadComponent>\n </x.aside>\n <x.div w='100%' maxWidth='800px' m='0 auto'>\n <BreadCrumb path={article.section} visitorId={props.visitorId} sessionId={props.sessionId} section={article.section} />\n <x.h1 text={{ sm: 'h3', lg: 'h1' }} mb={{ sm: '15px', lg: '30px' }} ref={TitleRef}>{article.headline}</x.h1>\n {mainImage && mainImage.url && article.images?.length === 1 && !!process.env.RAZZLE_ENABLE_VOX &&\n <VoxImage contentKey={props.contentKey}>\n <ImageOrNoImage image={mainImage} width={getImageSize('featured')} alt={article.images && (article.images[0].altText || article.images[0].caption)} shape='16x9' noImage={NoImage} />\n </VoxImage>}\n {mainImage && mainImage.url && article.images?.length === 1 && !process.env.RAZZLE_ENABLE_VOX &&\n <ImageOrNoImage image={mainImage} width={getImageSize('featured')} alt={article.images && (article.images[0].altText || article.images[0].caption)} shape='16x9' noImage={NoImage} />}\n {article.images && article.images.length > 1 &&\n <ImageGallery images={article.images} />}\n {article.videos && article.videos[0].sources && article.videos[0].provider === 'rumble' &&\n // ION Video player to use a 'sources' property\n <div className='video'>\n <ErrorBoundary>\n <Video\n sources={article.videoSources}\n poster={article.videos[0].thumbnailURL ? article.videos[0].thumbnailURL.url : ''}\n autoplay={AutoPlay}\n width='650'\n fluid\n aspectRatio='16:9'\n preload='metadata'\n channel={article.videos[0].channel}\n branding={article.videos[0].branding}\n controls\n />\n </ErrorBoundary>\n </div>}\n {article.videos && article.videos[0] && article.videos[0].provider === 'youtube' &&\n <div className='video-youtube' key={'div-' + article.videos[0].id} dangerouslySetInnerHTML={{ __html: article.videos[0].script.replace(/\"/, '') }} />}\n <x.div w='100%' maxWidth='800px' m='auto'>\n {article.images && article.images.length === 1 &&\n <>\n <x.p text='small' my={5}><em>{article.images && article.images[0].caption}</em></x.p>\n <x.p text='small' my={5}><em>{article.images && article.images[0].author && `Image by: ${article.images[0].author}`}</em></x.p>\n </>\n }\n </x.div>\n <x.div w='100%' maxWidth='550px' m='auto' display={{ sm: 'none', lg: 'block' }} visibility={{ sm: 'hidden', lg: 'visible' }}>\n <x.p text='xsmall' color='meta' mb={20}>Published {formatAgo(article.published, true)}</x.p>\n </x.div>\n </x.div>\n <x.aside w='100%' maxWidth='550px' m='auto' mb={10} display={{ sm: 'block', xl: 'none' }} visibility={{ sm: 'visible', xl: 'hidden' }}>\n <x.div display='inline-block'>\n {props.author &&\n <LazyLoadComponent>\n <AuthorWidget author={props.author} authors={article.authors} visitorId={props.visitorId} sessionId={props.sessionId} section={article.section} />\n </LazyLoadComponent>}\n </x.div>\n <x.div display='inline-block'>\n <x.p text='xsmall' color='meta'> | Published {formatAgo(article.published, true)}</x.p>\n </x.div>\n </x.aside>\n <x.div textAlign='center' justifyContent='center' alignItems='center' flexDirection='column' display={{ sm: 'none', xl: 'flex' }} visibility={{ sm: 'hidden', xl: 'visible' }}>\n <Ad isConnected={props.isConnected} adPath={props.adPath} collapseEmptyDiv slotId='MPU-topright1' targeting={{ MPU: 'topright' }} mapping={mpuRHS} className='advert' {...FORMATS.mpu} />\n </x.div>\n </x.div>\n <x.div w='100%' maxWidth='1500px' m='auto' display={{ sm: 'flex', xl: 'grid' }} gridTemplateColumns={{ sm: '100%', xl: '300px auto 300px' }} gridTemplateAreas={{ xl: '\"articles main-article adverts\"' }} gap={{ sm: '50px', xl: '0', article: '175px' }} flexDirection={{ sm: 'column', xl: 'row' }}>\n <x.div gridArea='main-article' w={{ sm: '100%', lg: '550px' }} m='0 auto'>\n <ArticleSocialShare link={props.location.pathname} contentKey={article.contentKey} visitorId={props.visitorId} sessionId={props.sessionId} fallback={(<></>)} />\n {/* Article Body starts here */}\n <StyledArticleContent className='article-content' text='large'>\n {\n bodyElements.map((element, index) => {\n switch (index) {\n case 0:\n return (\n processTimelineShortcode(element, index, article.timelines)\n )\n case 1: // Inarticle-top ad\n return (\n <Fragment key={index}>\n <x.div my={30} w={{ sm: '100%', article: '768px' }} mx={{ sm: '0', article: '-109px' }} textAlign='center' display='flex' justifyContent='center' alignItems='center' flexDirection='column'>\n <Ad isConnected={props.isConnected} adPath={props.adPath} slotId='Inarticle-top' targeting={{ Inarticle: 'top' }} className='advert advert-inarticle' mapping={mpuRHS} {...FORMATS.teads} />\n <ErrorBoundary isConnected={props.isConnected}>\n {/* Membrana start */}\n {process.env.RAZZLE_ENABLE_MEBRANA && <MembranaInArticle />}\n {/* Membrana End */}\n </ErrorBoundary>\n </x.div>\n {processTimelineShortcode(element, index, article.timelines)}\n </Fragment>\n )\n case 2: // Related Articles\n return (\n <Fragment key={index}>\n {relatedArticlesPresent &&\n <LazyLoadComponent>\n <ErrorBoundary isConnected={props.isConnected}>\n <RelatedArticles relatedArticles={article.relatedArticles} unknownImage={NoImage} visitorId={props.visitorId} sessionId={props.sessionId} section={article.section} />\n </ErrorBoundary>\n </LazyLoadComponent>}\n {processTimelineShortcode(element, index, article.timelines)}\n </Fragment>\n )\n case 3: // Inarticle-middle\n return (\n <Fragment key={index}>\n <x.div id='teadsTarget' my={30} w={{ sm: '100%', article: '768px' }} mx={{ sm: '0', article: '-109px' }} textAlign='center' display='flex' justifyContent='center' alignItems='center' flexDirection='column'>\n <Ad isConnected={props.isConnected} adPath={props.adPath} slotId='Inarticle-middle' targeting={{ Inarticle: 'middle' }} className='advert-3x3 advert-inarticle' mapping={mpuRHS1} {...FORMATS.teads} />\n </x.div>\n {processTimelineShortcode(element, index, article.timelines)}\n </Fragment>\n )\n case 4: // Inarticle-outstream\n return (\n <Fragment key={index}>\n <x.div id='teadsTarget-2' my={30} w={{ sm: '100%', article: '768px' }} mx={{ sm: '0', article: '-109px' }} textAlign='center' display='flex' justifyContent='center' alignItems='center' flexDirection='column'>\n <Ad isConnected={props.isConnected} adPath={props.adPath} slotId='Inarticle-outstream' targeting={{ Inarticle: 'outstream' }} className='advert-3x3 advert-inarticle' mapping={mpuRHS1} {...FORMATS.teads} />\n </x.div>\n {processTimelineShortcode(element, index, article.timelines)}\n </Fragment>\n )\n case 5: // inarticle-bot\n return (\n <Fragment key={index}>\n <x.div my={30} w={{ sm: '100%', article: '768px' }} mx={{ sm: '0', article: '-109px' }} textAlign='center' display='flex' justifyContent='center' alignItems='center' flexDirection='column'>\n <Ad isConnected={props.isConnected} adPath={props.adPath} slotId='Inarticle-bot' targeting={{ Inarticle: 'bot' }} className='advert-3x3 advert-inarticle' mapping={mpuRHS} {...FORMATS.mpu} />\n </x.div>\n {processTimelineShortcode(element, index, article.timelines)}\n </Fragment>\n )\n // case (index > 5 ? index : undefined): // Inarticle-bot + (index - 3)\n // return (\n // <Fragment key={index}>\n // <x.div my={30} w={{ sm: '100%', article: '768px' }} mx={{ sm: '0', article: '-109px' }} textAlign='center' display='flex' justifyContent='center' alignItems='center' flexDirection='column'>\n // <Ad isConnected={props.isConnected} adPath={props.adPath} slotId={`Inarticle-bot${index - 4}`} targeting={{ Inarticle: `bot${index - 4}` }} className='advert-inarticle' mapping={mpuRHS} {...FORMATS.mpu} />\n // </x.div>\n // {processTimelineShortcode(element, index, article.timelines)}\n // </Fragment>\n // )\n }\n // Remainder of the article\n return (\n processTimelineShortcode(element, index, article.timelines)\n )\n })\n }\n {sponsoredLogoImage &&\n <LazyLoadComponent>\n <div className='articleSponsoredBar'>This article is sponsored by\n <img src={resizeURL + '/10000x25?source=' + sponsoredLogoImage} />\n </div>\n </LazyLoadComponent>}\n {nativeLogoImage &&\n <LazyLoadComponent>\n <div className='articleSponsoredBar'>This article was published in partnership with\n <img src={resizeURL + '/10000x25?source=' + nativeLogoImage} />\n </div>\n </LazyLoadComponent>}\n </StyledArticleContent>\n {/* Article Body ends here */}\n <x.div my={30}>\n <x.p text='xsmall' textTransform='uppercase' color='mdGrey' mb={10}>Related Topics:</x.p>\n {[].concat(article.primaryTag).concat(article.secondaryTags).concat(article.trends).map(tag => {\n if (tag) {\n return <StyledLink key={tag.slug} to={'/' + tag.sectionSlug + '/' + tag.slug} text='tag' backgroundColor='#F2F2F2' Py={5} px={8} display='inline-block' mr={5} visitorId={props.visitorId} sessionId={props.sessionId} section={article.section} source={clickSource}>{tag.label}</StyledLink>\n }\n })}\n </x.div>\n <LazyLoadComponent>\n <x.div display='flex' spaceX={10} mt={10} alignItems='center' mb={30} pb={30} borderWidth='0 0 1px 0' borderStyle='solid' borderColor='divider'>\n <ArticleSocialShare link={props.location.pathname} contentKey={article.contentKey} visitorId={props.visitorId} sessionId={props.sessionId} fallback={(<></>)} />\n </x.div>\n </LazyLoadComponent>\n </x.div>\n {/* More For You and Read Next */}\n {!props.youMayLikeArticles && <YouMayLikeSkeleton />}\n {!!props.youMayLikeArticles &&\n <YouMayLike\n uuid={article.uuid} refresh={!hasProcessed} articles={props.youMayLikeArticles} section={article.section ? article.section.split('/')[0] : 'news'}\n />}\n <x.div gridArea='adverts'>\n <x.div textAlign='center' display='flex' alignItems='center' flexDirection='column' py={{ sm: '20px', lg: '0' }} mb={{ sm: '20px', lg: '0' }} position='sticky' top={10}>\n <Ad isConnected={props.isConnected} adPath={props.adPath} slotId='MPU600-right' targeting={{ mpu600: 'right' }} mapping={HP} collapseEmptyDiv {...FORMATS.mpu600} />\n </x.div>\n </x.div>\n </x.div>\n </x.article>\n {process.env.RAZZLE_ENABLE_NEWSLETTER_POPUPS &&\n <LazyLoadComponent>\n <NewsletterCTA />\n </LazyLoadComponent>}\n {/* Author Articles Start */}\n {props.author && props.author.hasAuthorPage && props.authorArticles &&\n <LazyLoadComponent>\n <x.div maxWidth={1220} w='100%' mx='auto' my={{ sm: '20px', lg: '50px' }}>\n <x.p text='xsmall' textTransform='uppercase' color='mdGrey'>Recent stories by:</x.p>\n <x.h5 text='h5' borderWidth='0 0 1px 0' borderStyle='solid' borderColor='divider' pb={10} mb={20}>\n <StyledLink to={'/' + props.author.slug} color='blue' visitorId={props.visitorId} sessionId={props.sessionId} section={article.section} source={clickSource}>\n <cssfxUnderline.SweepOut hoverBGColor='blue' hoverColor='blue'>{props.author.name}</cssfxUnderline.SweepOut>\n </StyledLink>\n </x.h5>\n <ErrorBoundary isConnected={props.isConnected}>\n <AuthorArticles articles={props.authorArticles.filter(filterArticle => filterArticle.contentKey !== article.contentKey).slice(0, 4)} visitorId={props.visitorId} sessionId={props.sessionId} section={article.section} />\n </ErrorBoundary>\n </x.div>\n </LazyLoadComponent>}\n {/* Author Articles End */}\n <x.div my={50} mx={-20} textAlign='center' display='flex' justifyContent='center' alignItems='center' flexDirection='column'>\n <Ad isConnected={props.isConnected} adPath={props.adPath} collapseEmptyDiv slotId='Leaderboard-bot' targeting={{ Leaderboard: 'bot' }} mapping={Leaderboard} className='advert' {...FORMATS.leaderboard} />\n </x.div>\n {/* <LazyLoadComponent>\n <x.div maxWidth={1220} w='100%' mx='auto' my={{ sm: '20px', lg: '50px' }}>\n {process.env.RAZZLE_ENABLE_OOVVUU && props.oovvuu &&\n <ErrorBoundary>\n <OovvuuErrorBoundary>\n <Oovvuu uuid={props.oovvuu} />\n </OovvuuErrorBoundary>\n </ErrorBoundary>}\n </x.div>\n </LazyLoadComponent> */}\n {/* Outbrain Start */}\n {process.env.RAZZLE_ENABLE_OUTBRAIN &&\n <LazyLoadComponent threshold={250}>\n <x.div w='100%' maxWidth={1220} mx='auto' display='grid' gridTemplateColumns={{ sm: '100%', lg: 'minmax(min-content, 905px) 275px' }} gap={{ lg: '40' }} mt={50} mb={50}>\n <x.div order={{ sm: '2', lg: '1' }}>\n {typeof window !== 'undefined' && (\n <ErrorBoundary>\n <Outbrain canonical={props.canonical} />\n </ErrorBoundary>\n )}\n </x.div>\n <x.aside className='divider-left' position='relative' order={{ sm: '1', lg: '2' }}>\n <x.div position={{ sm: 'unset', lg: 'sticky' }} top={10}>\n <ErrorBoundary>\n <MostReadWidget section={article.section ? (article.section.match('multimedia') ? 'news' : article.section.split('/')[0]) : 'news'} uuid={article.uuid} />\n </ErrorBoundary>\n </x.div>\n </x.aside>\n </x.div>\n </LazyLoadComponent>}\n {/* Outbrain End */}\n </>\n )\n}\nconst Offline = () => (\n <div>\n <h1>You are offline</h1>\n <p>You are currently offline and we don't have the information available to show you this page. Once you go back online, we'll be able to get the data we need and show you this page.</p>\n </div>\n)\n\nconst _Article = (props) => {\n const [offline, setIsOffline] = useState(!props.isConnected)\n\n if (offline === props.isConnected) {\n setIsOffline(!props.isConnected)\n }\n // Handle fetching new articles on the client when the contentKey changes\n useEffect(() => {\n // Check that we don't already have the article\n if (props.preloaded || !props.article || props.contentKey !== props.article.contentKey) {\n // Don't refetch if a fetch is already in progress\n if (props.preloaded || !props.isFetching && !props.ArticlePushContext && !props.previewArticle) {\n props.fetchArticle(props.contentKey)\n }\n }\n const path = `/${process.env.RAZZLE_DFP_CODE}${props.adPath || (props.location.pathname === '/' ? '/homepage' : props.location.pathname)}`\n const descriptionUrl = `description_url=${encodeURIComponent(window.location.href)}`\n const custParams = 'cust_params=title%3d{mediainfo.name}%26description%3d{mediainfo.description}%26keywords%3d{mediainfo.tags}'\n window.oovvuuReplacementAdServerURL = `https://pubads.g.doubleclick.net/gampad/ads?iu=${path}&sz=640x480&${custParams}&ciu_szs=300x250&gdfp_req=1&ad_rule=1&ad_type=video&output=vmap&unviewed_position_start=1&env=vp&impl=s&correlator=&${descriptionUrl}&vpmute=1&plcmt=1`\n }, [props.contentKey, offline])\n\n if (props.ArticlePushContext) {\n props.setPreviewArticle(props.contentKey)\n }\n // SSR needs the signal to initially fetch the article\n if (!props.article && !props.isFetching && !props.hasError && !props.ArticlePushContext) {\n props.fetchArticle(props.contentKey)\n return <Skeleton />\n }\n\n if (props.checkCanonical && !props.ArticlePushContext && !props.previewArticle) {\n if (props.canonical !== props.location.pathname) {\n return <Redirect to={{ pathname: props.canonical, state: { modified: props.modified } }} />\n }\n props.articleUrlVerified()\n }\n if (props.hasError && props.is404) {\n return (\n <Wrapper {...props}>\n <Ad isConnected={props.isConnected} adPath={props.adPath} slotId='interstitial' targeting={{ interstitial: 'interstitial' }} collapseEmptyDiv className='advert' anchor='interstitial' mapping={MAPPINGS.Interstitial} {...FORMATS.interstitial} />\n <Ad isConnected={props.isConnected} adPath={props.adPath} collapseEmptyDiv slotId='leaderboard-top' targeting={{ Leaderboard: 'top' }} mapping={Leaderboard} className='advert' {...FORMATS.leaderboardtop} />\n <ErrorBoundary message='Not Found'>\n <NotFound />\n </ErrorBoundary>\n <Ad isConnected={props.isConnected} adPath={props.adPath} collapseEmptyDiv slotId='Leaderboard-bot' targeting={{ Leaderboard: 'bot' }} mapping={Leaderboard} className='advert' {...FORMATS.leaderboard} />\n </Wrapper>\n )\n }\n return (\n <Wrapper {...props}>\n {props.hasError\n ? (props.isConnected\n ? <Error error={props.error} />\n : <Offline />)\n : props.hasFetched\n ? <RenderArticle {...props} canonical={(props.article && props.article.canonicalUri) ? props.article.canonicalUri : props.location.pathname} />\n : <Skeleton />}\n </Wrapper>\n )\n}\n\nconst mapStateToProps = (state) => ({ ...state.article, ...state.app, ...{ visitorId: getVisitorId(state), sessionId: getSessionId(state) } })\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchArticle,\n articleUrlVerified,\n setPreviewArticle,\n setProcessedArticle,\n oovvuuArticleView,\n submitCompetition\n}, dispatch)\n\nexport const ConnectedArticle = connect(mapStateToProps, mapDispatchToProps)(_Article)\nexport default ConnectedArticle\n// defaultArticle.whyDidYouRender = true\n","import React, { useEffect } from 'react'\nimport { x } from '@xstyled/styled-components'\nimport { useLocation } from 'react-router-dom'\n\nconst MembranaInArticle = () => {\n const location = useLocation()\n useEffect(() => {\n if (typeof window !== 'undefined') {\n window.yieldMasterCmd = window.yieldMasterCmd || []\n window.yieldMasterCmd.push(function () {\n window.yieldMaster.init({\n pageVersionAutodetect: true\n })\n })\n }\n }, [location.path])\n return (\n <x.div w='100%' maxWidth={1220} mx='auto' mt={20} mb={20} zIndex={5}>\n <x.div className='MIL_VIDEO' />\n </x.div>\n )\n}\n\nexport default MembranaInArticle\n","import React from 'react'\nimport styled, { x, system } from '@xstyled/styled-components'\nimport Link from './ui/Link'\nimport Image from './ui/Image'\nimport cssfxUnderline from './ui/cssfxUnderline'\n\nimport NoImage from '../../../assets/images/general/no-profile.png'\nimport aFB from '../../../assets/images/social-media/facebook-author.svg'\n// import aT from '../../../assets/images/social-media/twitter-author.svg'\nimport aLI from '../../../assets/images/social-media/linkedin-author.svg'\nimport aI from '../../../assets/images/social-media/instagram-author.svg'\n\nexport const Skeleton = (props) => {\n return (\n <x.div borderWidth='1px 0' borderStyle='solid' borderColor='divider' py={20} display='flex' animation='pulse'>\n <x.div w={{ sm: '50px', lg: '127px' }} h={{ sm: '50px', lg: '127px' }} bg='#F0F0F0' borderRadius='100%' />\n <x.div ml={20}>\n {props.article && props.article.author \n ?\n <>\n <x.p text='meta'>Written by</x.p>\n <x.span display='block' key={props.article.author} text='large'>{props.article.author}</x.span>\n </>\n :\n <>\n <x.div h={3} mb={5} bg='#F0F0F0'></x.div>\n <x.div h={7} mb={5} bg='#F0F0F0'></x.div>\n </>\n }\n <x.div h={5} mb={5} bg='#F0F0F0'></x.div>\n <x.div h={5} mb={5} bg='#F0F0F0'></x.div>\n <x.div w='33%' h={5} bg='#F0F0F0'></x.div>\n <x.div display='flex' spaceX={10} mt={10} className='author-follow'>\n <x.div w={10} h={10} bg='#F0F0F0' borderRadius='full' />\n <x.div w={10} h={10} bg='#F0F0F0' borderRadius='full' />\n <x.div w={10} h={10} bg='#F0F0F0' borderRadius='full' />\n <x.div w={10} h={10} bg='#F0F0F0' borderRadius='full' />\n </x.div>\n </x.div>\n </x.div>\n )\n}\n\nexport const AuthorWidget = ({ author, authors, visitorId, sessionId, section }) => {\n const clickSource = 'Author Widget'\n return (\n <x.div display={{ sm: 'unset', lg: 'grid' }} gridTemplateColumns={{ sm: 'unset', lg: '127px auto' }}>\n <x.div display={{ sm: 'none', lg: 'block' }} visibility={{ sm: 'hidden', lg: 'visible' }}>\n {authors && authors.length > 1\n ? (<Image image='' width={127} shape='square' noImage={NoImage} borderRadius='100%' w={{ sm: '50px', lg: '127px' }} h={{ sm: '50px', lg: '127px' }} />)\n : author\n ? (<Image image={{ url: ((author.imageUrl && !author.imageUrl.match('undefined')) ? author.imageUrl : '') }} width={127} shape='square' noImage={NoImage} borderRadius='100%' w={{ sm: '50px', lg: '127px' }} h={{ sm: '50px', lg: '127px' }} />)\n : ''}\n </x.div>\n <x.div ml={20} display={{ sm: 'none', lg: 'block' }} visibility={{ sm: 'hidden', lg: 'visible' }}>\n <x.p text='meta'>Written by</x.p>\n <x.p text='large' mt={5} mb={10} fontFamily='\"PT Serif\", serif'>\n {authors && authors.map(author => {\n if (author.hasAuthorPage && author.slug) {\n return (\n <Link key={author.name} to={'/' + author.slug} color='blue' visitorId={visitorId} sessionId={sessionId} section={section} source={clickSource} className='author' dataAuthor={author.name} >\n <cssfxUnderline.SweepOut hoverBGColor='blue' hoverColor='blue'>{author.name}</cssfxUnderline.SweepOut>\n </Link>\n )\n }\n return (<x.span display='block' key={author.name} text='large'>{author.name}</x.span>)\n })}\n </x.p>\n {authors && authors.length === 1 && author && author.relatedLinks &&\n <>\n <x.p text='small'>{author.descriptionShort}</x.p>\n <x.div display='flex' spaceX={10} mt={20} className='author-follow'>\n {author.relatedLinks.facebook &&\n <x.a target='_blank' rel='noopener noreferrer nofollow' href={author.relatedLinks.facebook}><x.img src={aFB} alt={`Follow ${author.name} on Facebook`} /></x.a>}\n {/* {author.relatedLinks.twitter &&\n <x.a target='_blank' rel='noopener noreferrer nofollow' href={author.relatedLinks.twitter}><x.img src={aT} alt={`Follow ${author.name} on Twitter`} /></x.a>\n } */}\n {author.relatedLinks.linkedin &&\n <x.a target='_blank' rel='noopener noreferrer nofollow' href={author.relatedLinks.linkedin}><x.img src={aLI} alt={`Connect with ${author.name} on LinkedIn`} /></x.a>}\n {author.relatedLinks.instagram &&\n <x.a target='_blank' rel='noopener noreferrer nofollow' href={author.relatedLinks.instagram}><x.img src={aI} alt={`Follow ${author.name} on Instagram`} /></x.a>}\n </x.div>\n </>}\n </x.div>\n <x.div display={{ sm: 'block', lg: 'none' }} visibility={{ sm: 'visible', lg: 'hidden' }}>\n <x.p text='xsmall' color='meta'>By {authors && authors.map(author => {\n if (author.hasAuthorPage && author.slug) {\n return (\n <Link key={author.name} to={'/' + author.slug} color='blue' pr={{ sm: 10 }} visitorId={visitorId} sessionId={sessionId} section={section} source={clickSource} className='author' dataAuthor={author.name}>\n <cssfxUnderline.SweepOut hoverBGColor='blue' hoverColor='blue'>{author.name}</cssfxUnderline.SweepOut>\n </Link>\n )\n }\n return (<x.span display='inline' key={author.name}>{author.name}</x.span>)\n })}\n </x.p>\n </x.div>\n </x.div>\n )\n}\n\nexport default AuthorWidget\n","import React from 'react'\nimport { x } from '@xstyled/styled-components'\nimport StyledLink from '../components/ui/Link'\nimport { getSectionLabel } from 'ion-sections'\n\nexport const BreadCrumb = ({ className, path, section, visitorId, sessionId }) => {\n const pathArray = path.replace(/^\\/+/, '').split('/')\n const clickSource = 'BreadCrumb'\n return (\n <x.nav className={className} aria-label=\"Breadcrumb\" mb={10} mt={20}>\n <x.ul display=\"flex\" spaceX={10}>\n {pathArray.reduce((acc, child, index) => {\n acc.push(\n <x.li key={child + index}>\n <StyledLink to={'/' + pathArray.slice(0, index + 1).join('/')} text=\"breadcrumb\" backgroundColor={{ _: 'orangeAlpha', hover: 'rgba(237,92,53,0.2)' }} p='2px 8px' borderRadius='100' visitorId={visitorId} sessionId={sessionId} section={section} source={clickSource}>{getSectionLabel(pathArray.slice(0, index + 1).join('/'))}</StyledLink>\n </x.li>\n )\n return acc\n }, [])}\n </x.ul>\n </x.nav>\n )\n}\n\nexport default BreadCrumb\n","import styled, { css } from '@xstyled/styled-components'\nimport { system, th } from '@xstyled/system'\n\nexport const Wrapper = styled.div`\n overflow: hidden;\n position: relative;\n ${system}\n`\n\nexport const Carousel = styled.ul(\n ({ slidesToShow, translateX }) => css`\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n width: ${100 / slidesToShow}%;\n height: 100%;\n transition: transform 0.5s ease-out;\n transform: translateX(${translateX}%);\n `\n)\n\nexport const Slide = styled.li`\n width: 100%;\n height: 100%;\n flex: 0 0 auto;\n ${system}\n`\n\nexport const Pagination = styled.div`\n display: flex;\n position: relative;\n z-index: 10;\n bottom: 0;\n width: 100%;\n gap: 20px;\n padding-bottom: 5px;\n @media screen and (max-width:1023px) {\n gap: 10px;\n padding-bottom: 10px;\n }\n img {\n width: 144px;\n display: block;\n }\n`\n\nexport const Bullet = styled.div(\n ({ active }) => css`\n height: 10;\n width: 10;\n border-radius: 50%;\n cursor: pointer;\n margin: 0 xxs;\n ${active ? th('carousels.navigation.bullet.active') : th('carousels.navigation.bullet.default')}\n ${system}\n `\n)\n\nconst navigationStyles = css`\n position: absolute;\n height: 20px;\n top: 0;\n display: flex;\n align-items: center;\n cursor: ${props => (props.disabled ? 'not-allowed' : 'pointer')};\n opacity: ${props => (props.disabled ? 0.25 : 1)};\n pointer-events: ${props => (props.disabled ? 'none' : null)};\n z-index: 20;\n`\n\nexport const Next = styled.div`\n ${navigationStyles}\n right: 0;\n top: 4px;\n width: 20px;\n height: 20px;\n`\n\nexport const Prev = styled.div`\n ${navigationStyles}\n right: 28px;\n top: 4px;\n width: 20px;\n height: 20px;\n`","import React, { cloneElement, forwardRef, useEffect, useState, useRef } from 'react'\nimport { bool, func, node, number, string } from 'prop-types'\nimport { useDown } from '@xstyled/styled-components'\nimport { useSwipeable } from 'react-swipeable'\n\nimport * as S from './Carousel.style'\n\nexport const useInterval = (callback, delay) => {\n const savedCallback = useRef()\n\n // Remember the latest callback.\n useEffect(() => {\n savedCallback.current = callback\n }, [callback])\n\n // Set up the interval.\n useEffect(() => {\n function tick() {\n savedCallback.current()\n }\n if (delay !== null) {\n let id = setInterval(tick, delay)\n return () => clearInterval(id)\n }\n }, [delay])\n}\n\nexport const Carousel = forwardRef((props, ref) => {\n const {\n children,\n dataTestId,\n goNext,\n goPrev,\n id = 'carousel',\n loop,\n nextButton,\n numberOfSlides,\n pageIdx,\n prevButton,\n renderPaginationItem,\n setNumberOfSlides,\n setPageIdx,\n slidesToShow,\n slidesToSwipe,\n swipeHandlers,\n ...rest\n } = props\n\n const translateX = -(pageIdx * 100)\n\n useEffect(() => {\n // TODO: Allow for immutable objects - remove when no longer needed\n setNumberOfSlides(children.length || children.size)\n }, [children, setNumberOfSlides])\n\n // Get array with indexes of visible slides so we know which ones are (aria-)hidden\n const visibleSlides = Array(slidesToShow)\n .fill()\n .map((_, idx) => pageIdx + idx)\n\n return (\n <>\n {prevButton && (\n <S.Prev\n aria-controls={id}\n aria-label=\"Previous slide\"\n className=\"carousel-prev\"\n data-testid={dataTestId && `${dataTestId}-button-prev`}\n disabled={!loop && pageIdx === 0}\n onClick={goPrev}\n >\n {prevButton}\n </S.Prev>\n )}\n {nextButton && (\n <S.Next\n aria-controls={id}\n aria-label=\"Next slide\"\n className=\"carousel-next\"\n data-testid={dataTestId && `${dataTestId}-button-next`}\n disabled={!loop && pageIdx >= numberOfSlides - slidesToSwipe}\n onClick={goNext}\n >\n {nextButton}\n </S.Next>\n )}\n <S.Wrapper\n {...rest}\n aria-live=\"off\"\n aria-roledescription=\"carousel\"\n id={id}\n ref={ref}\n role=\"region\"\n >\n <S.Carousel {...swipeHandlers} slidesToShow={slidesToShow} translateX={translateX}>\n {children.map((child, idx) =>\n cloneElement(child, {\n key: idx,\n role: 'group',\n 'aria-hidden': !visibleSlides.includes(idx),\n 'aria-readonly': true,\n 'aria-roledescription': 'slide',\n 'aria-label': `${idx + 1} of ${numberOfSlides}`\n })\n )}\n </S.Carousel>\n <S.Pagination\n className=\"carousel-pagination\"\n data-testid={dataTestId && `${dataTestId}-pagination`}\n >\n {children.map((_, idx) => {\n const props = {\n idx,\n 'aria-controls': id,\n 'aria-label': `${idx + 1} of ${numberOfSlides}`,\n 'aria-selected': idx === pageIdx,\n onClick: () => setPageIdx(idx),\n pageIdx\n }\n if (renderPaginationItem) {\n return renderPaginationItem(props)\n }\n // eslint-disable-next-line react/no-array-index-key\n return <S.Bullet active={idx === pageIdx} key={idx} {...props} />\n })}\n </S.Pagination>\n </S.Wrapper>\n </>\n )\n})\n\nCarousel.Slide = S.Slide\nCarousel.Bullet = S.Bullet\nCarousel.displayName = 'Carousel'\n\nexport const useCarousel = (props = {}) => {\n let {\n autoplay,\n duration = 5000,\n loop,\n slidesToShow = 1,\n slidesToSwipe = slidesToShow,\n mobileSlidesToShow = 1,\n mobileSlidesToSwipe = mobileSlidesToShow,\n onSelectSlide,\n ...rest\n } = props\n\n // Set slidesToShow to 1 for mobile\n const downMd = useDown('md')\n if (downMd) {\n slidesToShow = mobileSlidesToShow\n slidesToSwipe = mobileSlidesToSwipe\n }\n\n const [numberOfSlides, setNumberOfSlides] = useState(0)\n const [pageIdx, setPageIdx] = useState(0)\n\n const lastSlideIdx = numberOfSlides ? numberOfSlides - slidesToShow : 0\n\n // Add autoplay\n useInterval(\n () => {\n if (autoplay) {\n goNext()\n }\n },\n autoplay ? duration : null\n )\n\n const goNext = () => {\n const nextPageIdx = Math.min(pageIdx + slidesToSwipe, lastSlideIdx)\n\n if (pageIdx === lastSlideIdx && loop) {\n setPageIdx(0)\n if (onSelectSlide) {\n onSelectSlide(0)\n }\n } else if (nextPageIdx <= lastSlideIdx) {\n setPageIdx(nextPageIdx)\n if (onSelectSlide) {\n onSelectSlide(nextPageIdx)\n }\n }\n }\n\n const goPrev = () => {\n const prevPageIdx = Math.max(pageIdx - slidesToSwipe, 0)\n\n if (pageIdx === 0 && loop) {\n setPageIdx(lastSlideIdx)\n if (onSelectSlide) {\n onSelectSlide(lastSlideIdx)\n }\n } else if (prevPageIdx >= 0) {\n setPageIdx(prevPageIdx)\n if (onSelectSlide) {\n onSelectSlide(prevPageIdx)\n }\n }\n }\n\n const swipeHandlers = useSwipeable({\n onSwipedLeft: goNext,\n onSwipedRight: goPrev\n })\n\n return {\n goNext,\n goPrev,\n loop,\n numberOfSlides,\n pageIdx,\n setNumberOfSlides,\n setPageIdx,\n slidesToShow,\n slidesToSwipe,\n swipeHandlers,\n ...rest\n }\n}\n\nCarousel.propTypes /* remove-proptypes */ = {\n autoplay: bool,\n children: node,\n dataTestId: string,\n duration: number,\n goNext: func,\n goPrev: func,\n id: string,\n loop: bool,\n nextButton: node,\n numberOfSlides: number,\n pageIdx: number,\n prevButton: node,\n renderPaginationItem: func,\n setNumberOfSlides: func,\n setPageIdx: func,\n slidesToShow: number,\n slidesToSwipe: number\n}","import { Chrono } from 'react-chrono'\nimport { x } from '@xstyled/styled-components'\nconst Timeline = ({ mode, timeline }) => {\n if (timeline) {\n return (\n <x.div w='100%' maxWidth='1500px' h='950px'>\n <Chrono items={timeline} mode={mode} />\n </x.div>\n )\n } else {\n return null\n }\n}\n\nexport default Timeline\n","export function getFormFields(formElements) {\n var formElementsArray = [];\n for (var i in formElements) {\n var element = {};\n element.name = formElements[i].name;\n element.value = formElements[i].value;\n formElementsArray.push(element);\n }\n return formElementsArray.filter(function (element) {\n return element.name ? element.name.match('fields') !== 'null' : null;\n });\n}\n\nexport function getAllFormFields(formElements) {\n var formEntries = {};\n for (var i = 0; i < formElements.length; i++) {\n if (formElements[i].type === 'checkbox') {\n if (!formEntries[formElements[i].name]) {\n formEntries[formElements[i].name] = [];\n }\n if (formElements[i].checked) {\n formEntries[formElements[i].name].push(formElements[i].value);\n }\n } else if (formElements[i].type === 'radio') {\n if (formElements[i].checked) {\n formEntries[formElements[i].name] = formElements[i].value;\n }\n } else {\n formEntries[formElements[i].name] = formElements[i].value;\n }\n }\n return formEntries;\n}\n\nfunction nodeScriptClone(node, src, callback) {\n if (!src && node.src) {\n return node;\n }\n if (src && !node.src) {\n return node;\n }\n var script = document.createElement('script');\n script.text = node.innerHTML;\n for (var i = node.attributes.length - 1; i >= 0; i--) {\n script.setAttribute(node.attributes[i].name, node.attributes[i].value);\n }\n if (callback) {\n return callback(script);\n }\n return script;\n}\n\nexport function nodeScriptReplace(node, src, callback) {\n if (!node) {\n return;\n }\n if (node.tagName === 'SCRIPT') {\n try {\n node.parentNode.replaceChild(nodeScriptClone(node, src, callback), node);\n } catch (e) {\n console.error(e.message);\n }\n } else {\n var i = 0;\n var children = node.childNodes;\n while (i < children.length) {\n nodeScriptReplace(children[i++], src, callback);\n }\n }\n}\n\nexport function executeScripts(parentNode) {\n var scripts = 0;\n if (parentNode) {\n nodeScriptReplace(parentNode, true, function (node) {\n scripts++;\n node.async = false;\n node.onload = function () {\n scripts--;\n if (scripts === 0) {\n // All scripts have been loaded\n nodeScriptReplace(parentNode, false);\n }\n };\n return node;\n });\n }\n if (scripts === 0) {\n // No loadable scripts, execute any javascript code\n nodeScriptReplace(parentNode, false);\n }\n}","module.exports = __webpack_public_path__ + \"static/media/instagram-author.beadaf36.svg\";","module.exports = __webpack_public_path__ + \"static/media/gallery-prev.5b4c06a7.svg\";","module.exports = __webpack_public_path__ + \"static/media/gallery-next.8ada7682.svg\";","module.exports = __webpack_public_path__ + \"static/media/linkedin-author.819099ae.svg\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/facebook-author.bbb12ffb.svg\";"],"sourceRoot":""}