CINXE.COM

Switching to electric vehicles could save the US billions, but timing is everything

<!DOCTYPE html> <html lang="en-GLOBAL" class="no-js"> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="theme-color" content="#d8352a"> <meta name="msapplication-navbutton-color" content="#d8352a"> <meta charset="utf-8"> <meta property="fb:app_id" content="127105130696839"> <meta name="current-region" content="global"> <meta http-equiv="Content-Language" content="en-GLOBAL"> <meta name="description" content="Ensuring that everyone doesn’t charge their cars simultaneously will make a big difference." /> <meta name="pubdate" content="20181204" /> <meta name="commissioning-region" content="us" /> <meta name="searchtype" content="analysis" /> <meta name="original-source" content="https://theconversation.com/switching-to-electric-vehicles-could-save-the-us-billions-but-timing-is-everything-106227" /> <meta name="news_keywords" content="Automotive industry, Autonomous vehicles, Electric vehicles (EVs), Electrical grid, Electrification of transportation, Energy transition, Infrastructure, Transportation" /> <meta name="author" content="Dave Tuttle" /> <meta name="author" content="F. Todd Davidson" /> <meta name="author" content="Joshua D. Rhodes" /> <meta name="author" content="Kazunori Nagasawa" /> <meta name="institution" content="National Renewable Energy Laboratory" /> <meta name="institution" content="The University of Texas at Austin" /> <meta property="og:site_name" content="The Conversation" /> <meta property="og:title" content="Switching to electric vehicles could save the US billions, but timing is everything" /> <meta property="og:description" content="Ensuring that everyone doesn’t charge their cars simultaneously will make a big difference." /> <meta property="og:type" content="article" /> <meta property="og:image" content="https://images.theconversation.com/files/248054/original/file-20181129-170226-u9psbj.jpg?ixlib=rb-4.1.0&amp;q=45&amp;auto=format&amp;w=1356&amp;h=668&amp;fit=crop" /> <meta property="og:updated_time" content="2024-05-08T19:07:52Z" /> <meta property="og:url" content="http://theconversation.com/switching-to-electric-vehicles-could-save-the-us-billions-but-timing-is-everything-106227" /> <meta property="article:publisher" content="https://facebook.com/theConversationUS" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@ConversationUS" /> <link rel="canonical" href="https://theconversation.com/switching-to-electric-vehicles-could-save-the-us-billions-but-timing-is-everything-106227" /> <meta property="fb:pages" content="1453112561595308"> <script type="application/javascript"> window.PAGE_CONFIG = { content_id: 106227, content_slug: 'switching-to-electric-vehicles-could-save-the-us-billions-but-timing-is-everything-106227', comments_closed_at: '2022-09-13T07:04:48Z', subscriptionOptions: {}, promos_context: { topic_ids: [848, 1007, 1826, 13581, 17808, 27122, 61799, 145458], section_ids: [3241, 3232], collaborator_ids: [228715, 342381, 367574, 390517, 590667], content_language: 'en', } } </script> <script> window.GTM = window.GTM || {} window.GTM.pageType = "article" window.GTM.ArticleData = {"article_id":"106227","article_tags":"Automotive industry|Autonomous vehicles|Electric vehicles (EVs)|Electrical grid|Electrification of transportation|Energy transition|Infrastructure|Transportation","article_type":"free","author_id":"390517|367574|228715|590667","author_name":"Dave Tuttle|F. Todd Davidson|Joshua D. Rhodes|Kazunori Nagasawa","content_category":"Environment + Energy|Home","feature_type":"analysis","headline":"switching to electric vehicles could save the us billions but timing is everything","publish_date":"2018-12-04","publish_time":"11:32"} </script> <script> //<![CDATA[ window.public_path = "https://cdn.theconversation.com/static/tc/"; window.TC = {}; window.TC.Config = {"cookie_domain":".theconversation.com","image_cdn_domain":"images.theconversation.com","analytics_url":"https://analytics.theconversation.com","sharejs_init_delay_ms":0,"recaptcha":{"enabled":true,"siteKey":"6Lf3Oc0UAAAAAIbME3Lv7iS7EVeuQzpru1Jbij5N"}}; //]]> </script> <!-- refspec 39bb155e1fcf00099c87c61b2593cfc93847fdf7 --> <title>Switching to electric vehicles could save the US billions, but timing is everything</title> <style media="screen"> @font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:100;src:local("Montserrat Thin "),local("Montserrat-Thin"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-100-a5bfe500a212b55e1d97ab22ec963cc2.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-100-f3fd3a8cda2788c9187834cf76d76d57.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:100;src:local("Montserrat Thin italic"),local("Montserrat-Thinitalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-100italic-c4fd7303dedad09a44867a2c79296456.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-100italic-8545c5c9716e859e79c61d608b561504.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:200;src:local("Montserrat Extra Light "),local("Montserrat-Extra Light"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-200-11e53b4b006a3bacb5b027c6a9bb64ce.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-200-b6f663e2de4a8379688cdba1b954edbc.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:200;src:local("Montserrat Extra Light italic"),local("Montserrat-Extra Lightitalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-200italic-32131f2a84c4a3abee7d2fd2b49850ad.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-200italic-cd7b7fa2da727185e9a74724658bcc65.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:300;src:local("Montserrat Light "),local("Montserrat-Light"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-300-c587fd5d56f85fb730092fc82551b5a1.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-300-46b5c290e8fd38b7639e3f9383c2ac56.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:300;src:local("Montserrat Light italic"),local("Montserrat-Lightitalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-300italic-ca09533c023a3a9df2fb0167c26e0fdb.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-300italic-f56d740b2c209398b341cc025a9c77d6.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:400;src:local("Montserrat Regular "),local("Montserrat-Regular"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-400-504499c7e16ee847a32a7a8bf6923a79.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-400-7710fcbaccd9837e1c5e7e819bf1d230.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:400;src:local("Montserrat Regular italic"),local("Montserrat-Regularitalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-400italic-920286bb1fd8ffb693ef17a42546ee3a.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-400italic-035e0faa25a71eeab032f07cf5490eef.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:500;src:local("Montserrat Medium "),local("Montserrat-Medium"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-500-6fd836a65acf6d59bd2f5e0be5717207.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-500-561e37f444fecedbe680a382e941392a.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:500;src:local("Montserrat Medium italic"),local("Montserrat-Mediumitalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-500italic-44f475da8da3427ecc77a4450f00452c.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-500italic-4d2fdf6bcf6c74b893e69fec9c8907e5.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:600;src:local("Montserrat SemiBold "),local("Montserrat-SemiBold"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-600-c18b4ac34e93857f7437c28f94923dc0.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-600-010ceaeb92611d327450a647f8ce6017.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:600;src:local("Montserrat SemiBold italic"),local("Montserrat-SemiBolditalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-600italic-2dbbde16b836db7a390a71d3aa2a232e.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-600italic-045adf4940dd14d523350697cd984663.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:700;src:local("Montserrat Bold "),local("Montserrat-Bold"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-700-66fd2310725b78026454e50d0dd9effc.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-700-a7a97263d97c409f1a624f88d4f8f00e.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:700;src:local("Montserrat Bold italic"),local("Montserrat-Bolditalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-700italic-a9005293d3425d6e611c7c5f451d6f68.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-700italic-2413952457cc83b0bc6fe20b12ffa15b.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:800;src:local("Montserrat ExtraBold "),local("Montserrat-ExtraBold"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-800-abbac7439df45ab1a1e316d480a5c281.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-800-5e564db333b8b21c83b84ed531d94eb2.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:800;src:local("Montserrat ExtraBold italic"),local("Montserrat-ExtraBolditalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-800italic-4dac3f51b5a7a0609d210cc4fd4d5980.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-800italic-61120b3c6f076e91b0a7e86ac6966634.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:900;src:local("Montserrat Black "),local("Montserrat-Black"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-900-041d8fc07df6765187171717d5b810fb.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-900-c440708c3b73b3d9cea7e345718de728.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:900;src:local("Montserrat Black italic"),local("Montserrat-Blackitalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-900italic-3028f5dd9ff9ce34cb18fac0f6ffbbda.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-900italic-1d7048d5048513c46705b15fb67a4379.woff) format("woff")}@keyframes (progress){to{background-position:-60px 0}}abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{background:transparent;border:0;font-size:100%;margin:0;outline:0;padding:0;vertical-align:baseline}body,html{height:100%;-webkit-overflow-scrolling:touch}table{border-collapse:separate;border-spacing:0}caption,td,th{font-weight:400;text-align:left}table,td,th{vertical-align:middle}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote,q{quotes:"" ""}img{-ms-interpolation-mode:bicubic}a img{border:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ol,nav ul{list-style:none}del{text-decoration:line-through}sup{vertical-align:super}sub,sup{font-size:smaller}sub{vertical-align:sub}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}input,select{vertical-align:middle}[class*=" icon-"],[class^=icon-],h1{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}@font-face{font-family:TCFont-Regular;font-style:normal;font-weight:400;src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/tcfont-regular-f612b8e50274f80fce402eb6dd5356ea.eot);src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/tcfont-regular-f612b8e50274f80fce402eb6dd5356ea.eot?#iefix) format("embedded-opentype"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/tcfont-regular-b820d37bb7b5e511344449a3bb688f10.woff) format("woff"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/tcfont-regular-f5cd784c207a3587678e5864b0e6a5ce.ttf) format("truetype")}[class*=" icon-"],[class^=icon-]{display:inline-block;font-family:TCFont-Regular;font-size:1.231em;font-style:normal!important;font-weight:400!important;position:relative;top:-.1em;vertical-align:middle;width:1.231em}[class*=" icon-"].icon-comments:before,[class^=icon-].icon-comments:before{content:""}[class*=" icon-"].icon-twitter:before,[class^=icon-].icon-twitter:before{color:#000;content:""}[class*=" icon-"].icon-email:before,[class^=icon-].icon-email:before{content:""}[class*=" icon-"].icon-facebook:before,[class^=icon-].icon-facebook:before{color:#3a5a93;content:""}[class*=" icon-"].icon-maximise:before,[class^=icon-].icon-maximise:before{content:""}[class*=" icon-"].icon-republish:before,[class^=icon-].icon-republish:before{content:""}[class*=" icon-"].icon-globe:before,[class^=icon-].icon-globe:before{content:""}[class*=" icon-"].icon-delete:before,[class^=icon-].icon-delete:before{content:""}[class*=" icon-"].icon-add:before,[class^=icon-].icon-add:before{content:""}[class*=" icon-"].icon-layout:before,[class^=icon-].icon-layout:before{content:""}[class*=" icon-"].icon-article-published:before,[class*=" icon-"].icon-article:before,[class^=icon-].icon-article-published:before,[class^=icon-].icon-article:before{content:""}[class*=" icon-"].icon-article-check:before,[class^=icon-].icon-article-check:before{content:""}[class*=" icon-"].icon-chart:before,[class^=icon-].icon-chart:before{content:""}[class*=" icon-"].icon-reader:before,[class^=icon-].icon-reader:before{content:""}[class*=" icon-"].icon-readers:before,[class^=icon-].icon-readers:before{content:""}[class*=" icon-"].icon-subtract:before,[class^=icon-].icon-subtract:before{content:""}[class*=" icon-"].icon-comment:before,[class^=icon-].icon-comment:before{content:""}[class*=" icon-"].icon-search:before,[class^=icon-].icon-search:before{content:""}[class*=" icon-"].icon-help:before,[class^=icon-].icon-help:before{content:""}[class*=" icon-"].icon-rss:before,[class^=icon-].icon-rss:before{color:#eb7f3e;content:""}[class*=" icon-"].icon-rss-non-coloured:before,[class^=icon-].icon-rss-non-coloured:before{content:""}[class*=" icon-"].icon-favourite:before,[class^=icon-].icon-favourite:before{content:""}[class*=" icon-"].icon-location:before,[class^=icon-].icon-location:before{content:""}[class*=" icon-"].icon-time:before,[class^=icon-].icon-time:before{content:""}[class*=" icon-"].icon-friend-of-tc:before,[class^=icon-].icon-friend-of-tc:before{content:""}[class*=" icon-"].icon-friend-of-tc-outer:before,[class^=icon-].icon-friend-of-tc-outer:before{content:""}[class*=" icon-"].icon-friend-of-tc-heart:before,[class^=icon-].icon-friend-of-tc-heart:before{content:""}[class*=" icon-"].icon-check:before,[class^=icon-].icon-check:before{content:""}[class*=" icon-"].icon-favourite-add:before,[class^=icon-].icon-favourite-add:before{content:""}[class*=" icon-"].icon-followed:before,[class^=icon-].icon-followed:before{content:""}[class*=" icon-"].icon-skype:before,[class^=icon-].icon-skype:before{content:""}[class*=" icon-"].icon-media-enquiries:before,[class*=" icon-"].icon-phone:before,[class*=" icon-"].icon-work-phone:before,[class^=icon-].icon-media-enquiries:before,[class^=icon-].icon-phone:before,[class^=icon-].icon-work-phone:before{content:""}[class*=" icon-"].icon-mobile:before,[class^=icon-].icon-mobile:before{content:""}[class*=" icon-"].icon-private:before,[class^=icon-].icon-private:before{content:""}[class*=" icon-"].icon-public:before,[class^=icon-].icon-public:before{content:""}[class*=" icon-"].icon-topics:before,[class^=icon-].icon-topics:before{content:""}[class*=" icon-"].icon-menu:before,[class^=icon-].icon-menu:before{content:""}[class*=" icon-"].icon-external-link:before,[class^=icon-].icon-external-link:before{content:""}[class*=" icon-"].icon-trash:before,[class^=icon-].icon-trash:before{content:""}[class*=" icon-"].icon-image:before,[class*=" icon-"].icon-picture:before,[class^=icon-].icon-image:before,[class^=icon-].icon-picture:before{content:""}[class*=" icon-"].icon-edit:before,[class^=icon-].icon-edit:before{content:""}[class*=" icon-"].icon-heading:before,[class^=icon-].icon-heading:before{content:""}[class*=" icon-"].icon-bold:before,[class^=icon-].icon-bold:before{content:""}[class*=" icon-"].icon-italic:before,[class^=icon-].icon-italic:before{content:""}[class*=" icon-"].icon-link:before,[class^=icon-].icon-link:before{content:""}[class*=" icon-"].icon-video:before,[class^=icon-].icon-video:before{content:""}[class*=" icon-"].icon-fullscreen:before,[class^=icon-].icon-fullscreen:before{content:""}[class*=" icon-"].icon-close-fullscreen:before,[class^=icon-].icon-close-fullscreen:before{content:""}[class*=" icon-"].icon-favourite-minus:before,[class^=icon-].icon-favourite-minus:before{content:""}[class*=" icon-"].icon-envelope:before,[class^=icon-].icon-envelope:before{content:""}[class*=" icon-"].icon-simple-check:before,[class^=icon-].icon-simple-check:before{content:""}[class*=" icon-"].icon-calendar:before,[class^=icon-].icon-calendar:before{content:""}[class*=" icon-"].icon-the-conversation:before,[class^=icon-].icon-the-conversation:before{content:""}[class*=" icon-"].icon-lock:before,[class^=icon-].icon-lock:before{content:""}[class*=" icon-"].icon-unlock:before,[class^=icon-].icon-unlock:before{content:""}[class*=" icon-"].icon-audio:before,[class^=icon-].icon-audio:before{content:""}[class*=" icon-"].icon-chevron-right:before,[class^=icon-].icon-chevron-right:before{content:""}[class*=" icon-"].icon-caret-down:before,[class^=icon-].icon-caret-down:before{content:""}[class*=" icon-"].icon-caret-left:before,[class^=icon-].icon-caret-left:before{content:""}[class*=" icon-"].icon-caret-right:before,[class^=icon-].icon-caret-right:before{content:""}[class*=" icon-"].icon-caret-up:before,[class^=icon-].icon-caret-up:before{content:""}[class*=" icon-"].icon-pastespecial:before,[class^=icon-].icon-pastespecial:before{content:""}[class*=" icon-"].icon-linkedin:before,[class^=icon-].icon-linkedin:before{color:#0181b2;content:""}[class*=" icon-"].icon-pause:before,[class^=icon-].icon-pause:before{content:""}[class*=" icon-"].icon-cog:before,[class^=icon-].icon-cog:before{content:""}[class*=" icon-"].icon-orcid:before,[class^=icon-].icon-orcid:before{color:#a6ce39;content:""}[class*=" icon-"].icon-music:before,[class^=icon-].icon-music:before{content:""}[class*=" icon-"].icon-print:before,[class^=icon-].icon-print:before{content:""}[class*=" icon-"].icon-google-plus:before,[class^=icon-].icon-google-plus:before{color:#de4931;content:""}[class*=" icon-"].icon-home:before,[class^=icon-].icon-home:before{content:""}[class*=" icon-"].icon-facebook-simple:before,[class^=icon-].icon-facebook-simple:before{color:#3a5a93;content:""}[class*=" icon-"].icon-tag:before,[class^=icon-].icon-tag:before{content:""}[class*=" icon-"].icon-left-guillemet:before,[class^=icon-].icon-left-guillemet:before{content:""}[class*=" icon-"].icon-input:before,[class^=icon-].icon-input:before{content:""}[class*=" icon-"].icon-whatsapp:before,[class^=icon-].icon-whatsapp:before{color:#455a64;content:""}[class*=" icon-"].icon-fb-messenger:before,[class^=icon-].icon-fb-messenger:before{color:#0084ff;content:""}[class*=" icon-"].icon-youtube:before,[class^=icon-].icon-youtube:before{color:red;content:""}[class*=" icon-"].icon-auth-facebook:before,[class^=icon-].icon-auth-facebook:before{color:#3a5a93;content:""}[class*=" icon-"].icon-auth-twitter:before,[class^=icon-].icon-auth-twitter:before{color:#000;content:""}[class*=" icon-"].icon-auth-linkedin:before,[class^=icon-].icon-auth-linkedin:before{color:#0181b2;content:""}[class*=" icon-"].icon-auth-google:before,[class^=icon-].icon-auth-google:before{color:#de4931;content:""}.icon-combine .icon-friend-of-tc-heart{margin-top:.045em;position:absolute}span.icon-combine-heart{display:inline-block;font-size:inherit;height:inherit;padding-left:10px;position:relative}span.icon-combine-heart i{left:0;position:absolute;text-align:center;top:0}i.icon-conversation-red{color:#d8372c}.vivus-icon-examples li{float:left;height:25px;list-style:none;padding:10px 0;width:25%}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:400;src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-regular-979b88dad081c654981a0c29d46e27bc.eot);src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-regular-979b88dad081c654981a0c29d46e27bc.eot?#iefix) format("embedded-opentype"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-regular-6fbec92a1e6cb891ff0da1af2e97a523.woff) format("woff"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-regular-116bba3f2aa32286b63c594118c67f74.ttf) format("truetype")}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:700;src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bold-9f88f945d8445fa58978dfbc4bce5ae9.eot);src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bold-9f88f945d8445fa58978dfbc4bce5ae9.eot?#iefix) format("embedded-opentype"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bold-98b8244fa821eed601d3d92165b098c6.woff) format("woff"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bold-1c63ea5a813372cc806d3885496b3308.ttf) format("truetype")}@font-face{font-family:Libre Baskerville;font-style:italic;font-weight:400;src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-italic-760c6e0b5a6ab858f15ea6cc6a864a40.eot);src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-italic-760c6e0b5a6ab858f15ea6cc6a864a40.eot?#iefix) format("embedded-opentype"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-italic-022309ef5c47fb36921851f730a90a84.woff) format("woff"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-italic-e6cc30071bd07d243648b875a10a6c02.ttf) format("truetype")}@font-face{font-family:Libre Baskerville;font-style:italic;font-weight:700;src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bolditalic-4fc9003b7c507a3909502ccc05a9cf2a.eot);src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bolditalic-4fc9003b7c507a3909502ccc05a9cf2a.eot?#iefix) format("embedded-opentype"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bolditalic-005508da94d530c4715b860b63e014bc.woff) format("woff"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bolditalic-d0e7fc2079d2288a9c737a386bd46401.ttf) format("truetype")}@media only screen and (max-width:599px){body{font-size:16px;height:100%;line-height:22px;width:100%}body #page-wrapper.overlay-visible{height:100%;overflow:hidden}body .handheld{display:block}body p{padding:0}body.pages-show .highlight-panel{display:none}body.pages-show .page-layout.section .handheld-analysis,body.pages-show .page-layout.section .series{display:block}body.pages-show .page-layout.section .handheld-ad,body.pages-show .page-layout.section .handheld-briefs{display:none}body.pages-show .page-layout.section.handheld-display-research .handheld-briefs,body.pages-show .page-layout.section.handheld-display-research .handheld-research{display:block}body.pages-show .page-layout.section.handheld-display-research #special_section,body.pages-show .page-layout.section.handheld-display-research .handheld-ad,body.pages-show .page-layout.section.handheld-display-research .series,body.pages-show .page-layout.section.handheld-display-research section#research-news .bordered{display:none}body.pages-show .page-layout.section.handheld-display-columns .handheld-ad,body.pages-show .page-layout.section.handheld-display-columns .handheld-columnists{display:block}body #analysis-and-comment .bordered,body #columnists .bordered,body #eb,body #editors-picks,body #members-footer,body #misc-sidebar,body #partners-footer,body #primary-navigation,body #research-news .bordered,body .masthead-search,body.pages-show .page-layout.section.handheld-display-columns #special_section,body.pages-show .page-layout.section.handheld-display-columns .handheld-briefs,body.pages-show .page-layout.section.handheld-display-columns .series{display:none}body .wrapper{margin:0;padding-left:10px;padding-right:10px;width:auto}body.search-index #search_form #search-header{background:none;padding:0}body.search-index #search_form #search-header .search-form{padding-bottom:0}body.search-index #search_form #search-header .search-form label{box-sizing:border-box;padding:6px 0 0 8px}body.search-index #search_form #search-header .search-form input{-webkit-appearance:none;box-sizing:border-box;font-size:20px;min-width:100%;padding:4px 8px 4px 35px;width:100%}body.search-index #search_form #search-header .search-form input[type=submit]{left:-110%;position:absolute}body.search-index #search_form #search-header .search-form nav,body.search-index #search_form aside#search-sidebar{display:none}body.search-index #search_form section#search-results{margin-top:12px}body.search-index #search_form section#search-results h1{font-size:20px;text-align:left}body footer#footer{padding:5px 0}body footer#footer a{letter-spacing:normal;margin-right:10px}body footer#footer p.copyright{clear:both;float:none;font-size:12px;letter-spacing:normal;margin-bottom:0;padding:5px 0;text-align:center}body footer#footer p.copyright span{display:block}body footer#footer p.copyright span+span{margin-top:3px}body footer#footer p.copyright a{display:inline}body footer#footer p.copyright .comma{display:none}body #outer{padding-top:12px}body #outer>.wrapper{padding-bottom:0}body #outer .sidebar-link-list{display:none}body.pages .page-layout.section nav#tabbed-navigation{display:table}body h1.page-header{font-size:20px!important;line-height:1.3!important;width:100%}body h2{font-size:18px;line-height:1.3}body.partners.partners-index .partner article:after,body.partners.partners-index .partner:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}body.info.info-contact_us #email tr th{border:0!important;display:block;padding-bottom:10px!important}body.info.info-contact_us #email tr td{border-bottom:1px solid #d7d7db;border-top:0!important;display:block;margin:0!important;padding-top:0!important}body article aside.share{clear:both}body article aside.share li{float:left;margin-right:5px}body article aside.share li .button{font-size:10px;margin-bottom:0;padding-right:8px}body .content-list figure{display:none}body.columns-show article{margin-bottom:1em}body.columns-show .pagination{font-size:.9em;margin-bottom:1em}}@media only screen and (min-width:1466px){html body .article-section article h2{font-size:20px}html body .article-section .lead-story h2{font-size:30px}html body .article-section .c-format h2{font-size:12px}html body.profiles-dashboards-show .metrics-wrapper .metrics-column{width:50%}html body .donations-video iframe{height:279px}}.vivus-grid-example{background-color:#212121;color:#fff;display:block;margin-bottom:20px;padding:20px;text-align:center}body{min-width:992px}.wrapper{margin:0 auto;position:relative;width:972px}.wrapper:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}.wrapper [class*=" grid-"],.wrapper [class^=grid-]{float:left;margin-right:20px}.wrapper .grid-one{width:42px}.wrapper .grid-two{width:104px}.wrapper .grid-three{width:166px}.wrapper .grid-four{width:228px}.wrapper .grid-five{width:290px}.wrapper .grid-six{width:352px}.wrapper .grid-seven{width:414px}.wrapper .grid-eight{width:476px}.wrapper .grid-nine{width:538px}.wrapper .grid-ten{width:600px}.wrapper .grid-eleven{width:662px}.wrapper .grid-twelve{width:724px}.wrapper .grid-thirteen{width:786px}.wrapper .grid-fourteen{width:848px}.wrapper .grid-fifteen{width:910px}.wrapper .grid-sixteen{width:972px}.wrapper .grid-prepend-one{margin-left:62px}.wrapper .grid-prepend-two{margin-left:124px}.wrapper .grid-prepend-three{margin-left:186px}.wrapper .grid-prepend-four{margin-left:248px}.wrapper .grid-prepend-five{margin-left:310px}.wrapper .grid-prepend-six{margin-left:372px}.wrapper .grid-prepend-seven{margin-left:434px}.wrapper .grid-prepend-eight{margin-left:496px}.wrapper .grid-prepend-nine{margin-left:558px}.wrapper .grid-prepend-ten{margin-left:620px}.wrapper .grid-prepend-eleven{margin-left:682px}.wrapper .grid-prepend-twelve{margin-left:744px}.wrapper .grid-prepend-thirteen{margin-left:806px}.wrapper .grid-prepend-fourteen{margin-left:868px}.wrapper .grid-prepend-fifteen{margin-left:930px}.wrapper .grid-prepend-sixteen{margin-left:992px}.wrapper .grid-append-one{margin-right:62px}.wrapper .grid-append-two{margin-right:124px}.wrapper .grid-append-three{margin-right:186px}.wrapper .grid-append-four{margin-right:248px}.wrapper .grid-append-five{margin-right:310px}.wrapper .grid-append-six{margin-right:372px}.wrapper .grid-append-seven{margin-right:434px}.wrapper .grid-append-eight{margin-right:496px}.wrapper .grid-append-nine{margin-right:558px}.wrapper .grid-append-ten{margin-right:620px}.wrapper .grid-append-eleven{margin-right:682px}.wrapper .grid-append-twelve{margin-right:744px}.wrapper .grid-append-thirteen{margin-right:806px}.wrapper .grid-append-fourteen{margin-right:868px}.wrapper .grid-append-fifteen{margin-right:930px}.wrapper .grid-append-sixteen{margin-right:992px}.wrapper .grid-last{margin-right:0}.wrapper .grid-left{float:left}.wrapper .grid-right{float:right}@media only screen and (max-width:599px){body{min-width:100%}.wrapper,.wrapper .grid-eight,.wrapper .grid-eleven,.wrapper .grid-fifteen,.wrapper .grid-five,.wrapper .grid-four,.wrapper .grid-fourteen,.wrapper .grid-nine,.wrapper .grid-one,.wrapper .grid-seven,.wrapper .grid-six,.wrapper .grid-sixteen,.wrapper .grid-ten,.wrapper .grid-thirteen,.wrapper .grid-three,.wrapper .grid-twelve,.wrapper .grid-two{width:100%}.wrapper .grid-prepend-eight,.wrapper .grid-prepend-eleven,.wrapper .grid-prepend-fifteen,.wrapper .grid-prepend-five,.wrapper .grid-prepend-four,.wrapper .grid-prepend-fourteen,.wrapper .grid-prepend-nine,.wrapper .grid-prepend-one,.wrapper .grid-prepend-seven,.wrapper .grid-prepend-six,.wrapper .grid-prepend-sixteen,.wrapper .grid-prepend-ten,.wrapper .grid-prepend-thirteen,.wrapper .grid-prepend-three,.wrapper .grid-prepend-twelve,.wrapper .grid-prepend-two{margin-left:0}.wrapper .grid-append-eight,.wrapper .grid-append-eleven,.wrapper .grid-append-fifteen,.wrapper .grid-append-five,.wrapper .grid-append-four,.wrapper .grid-append-fourteen,.wrapper .grid-append-nine,.wrapper .grid-append-one,.wrapper .grid-append-seven,.wrapper .grid-append-six,.wrapper .grid-append-sixteen,.wrapper .grid-append-ten,.wrapper .grid-append-thirteen,.wrapper .grid-append-three,.wrapper .grid-append-twelve,.wrapper .grid-append-two{margin-right:0}}@media only screen and (min-width:1466px){body{min-width:1376px}.wrapper{width:1356px}.wrapper .grid-one{width:66px}.wrapper .grid-two{width:152px}.wrapper .grid-three{width:238px}.wrapper .grid-four{width:324px}.wrapper .grid-five{width:410px}.wrapper .grid-six{width:496px}.wrapper .grid-seven{width:582px}.wrapper .grid-eight{width:668px}.wrapper .grid-nine{width:754px}.wrapper .grid-ten{width:840px}.wrapper .grid-eleven{width:926px}.wrapper .grid-twelve{width:1012px}.wrapper .grid-thirteen{width:1098px}.wrapper .grid-fourteen{width:1184px}.wrapper .grid-fifteen{width:1270px}.wrapper .grid-sixteen{width:1356px}.wrapper .grid-prepend-one{margin-left:86px}.wrapper .grid-prepend-two{margin-left:172px}.wrapper .grid-prepend-three{margin-left:258px}.wrapper .grid-prepend-four{margin-left:344px}.wrapper .grid-prepend-five{margin-left:430px}.wrapper .grid-prepend-six{margin-left:516px}.wrapper .grid-prepend-seven{margin-left:602px}.wrapper .grid-prepend-eight{margin-left:688px}.wrapper .grid-prepend-nine{margin-left:774px}.wrapper .grid-prepend-ten{margin-left:860px}.wrapper .grid-prepend-eleven{margin-left:946px}.wrapper .grid-prepend-twelve{margin-left:1032px}.wrapper .grid-prepend-thirteen{margin-left:1118px}.wrapper .grid-prepend-fourteen{margin-left:1204px}.wrapper .grid-prepend-fifteen{margin-left:1290px}.wrapper .grid-prepend-sixteen{margin-left:1376px}.wrapper .grid-append-one{margin-right:86px}.wrapper .grid-append-two{margin-right:172px}.wrapper .grid-append-three{margin-right:258px}.wrapper .grid-append-four{margin-right:344px}.wrapper .grid-append-five{margin-right:430px}.wrapper .grid-append-six{margin-right:516px}.wrapper .grid-append-seven{margin-right:602px}.wrapper .grid-append-eight{margin-right:688px}.wrapper .grid-append-nine{margin-right:774px}.wrapper .grid-append-ten{margin-right:860px}.wrapper .grid-append-eleven{margin-right:946px}.wrapper .grid-append-twelve{margin-right:1032px}.wrapper .grid-append-thirteen{margin-right:1118px}.wrapper .grid-append-fourteen{margin-right:1204px}.wrapper .grid-append-fifteen{margin-right:1290px}.wrapper .grid-append-sixteen{margin-right:1376px}.wrapper .large-grid-one{width:66px}.wrapper .large-grid-two{width:152px}.wrapper .large-grid-three{width:238px}.wrapper .large-grid-four{width:324px}.wrapper .large-grid-five{width:410px}.wrapper .large-grid-six{width:496px}.wrapper .large-grid-seven{width:582px}.wrapper .large-grid-eight{width:668px}.wrapper .large-grid-nine{width:754px}.wrapper .large-grid-ten{width:840px}.wrapper .large-grid-eleven{width:926px}.wrapper .large-grid-twelve{width:1012px}.wrapper .large-grid-thirteen{width:1098px}.wrapper .large-grid-fourteen{width:1184px}.wrapper .large-grid-fifteen{width:1270px}.wrapper .large-grid-sixteen{width:1356px}.wrapper .large-grid-prepend-one{margin-left:86px}.wrapper .large-grid-prepend-two{margin-left:172px}.wrapper .large-grid-prepend-three{margin-left:258px}.wrapper .large-grid-prepend-four{margin-left:344px}.wrapper .large-grid-prepend-five{margin-left:430px}.wrapper .large-grid-prepend-six{margin-left:516px}.wrapper .large-grid-prepend-seven{margin-left:602px}.wrapper .large-grid-prepend-eight{margin-left:688px}.wrapper .large-grid-prepend-nine{margin-left:774px}.wrapper .large-grid-prepend-ten{margin-left:860px}.wrapper .large-grid-prepend-eleven{margin-left:946px}.wrapper .large-grid-prepend-twelve{margin-left:1032px}.wrapper .large-grid-prepend-thirteen{margin-left:1118px}.wrapper .large-grid-prepend-fourteen{margin-left:1204px}.wrapper .large-grid-prepend-fifteen{margin-left:1290px}.wrapper .large-grid-prepend-sixteen{margin-left:1376px}.wrapper .large-grid-append-one{margin-right:86px}.wrapper .large-grid-append-two{margin-right:172px}.wrapper .large-grid-append-three{margin-right:258px}.wrapper .large-grid-append-four{margin-right:344px}.wrapper .large-grid-append-five{margin-right:430px}.wrapper .large-grid-append-six{margin-right:516px}.wrapper .large-grid-append-seven{margin-right:602px}.wrapper .large-grid-append-eight{margin-right:688px}.wrapper .large-grid-append-nine{margin-right:774px}.wrapper .large-grid-append-ten{margin-right:860px}.wrapper .large-grid-append-eleven{margin-right:946px}.wrapper .large-grid-append-twelve{margin-right:1032px}.wrapper .large-grid-append-thirteen{margin-right:1118px}.wrapper .large-grid-append-fourteen{margin-right:1204px}.wrapper .large-grid-append-fifteen{margin-right:1290px}.wrapper .large-grid-append-sixteen{margin-right:1376px}}#header{background:#f2f2f3;border-bottom:5px solid #f2f2f3;border-top:1px solid #d7d7db;padding-top:24px}#header.condensed{border-bottom:1px solid #d7d7db;padding-top:17px}#header.condensed #masthead{margin-bottom:18px}#header.condensed .masthead-home-link{display:block;float:left;top:3px;width:260px}#header.condensed .masthead-home-link img{width:100%}#header.condensed .masthead-tagline{display:none}@media only screen and (max-width:599px){#header,#header.condensed{border:none;padding:0}#header .wrapper,#header.condensed .wrapper{position:static}#header #masthead,#header.condensed #masthead{margin:0}}#masthead{margin:0 0 24px;position:relative}#masthead .masthead-home-link{color:#4b4b4e;display:block;float:left;font-family:Helvetica Neue,sans-serif;font-size:32px;font-weight:700;height:29px;margin-bottom:0;position:relative;text-transform:uppercase;width:350px}#masthead .masthead-home-link img{display:block}html.no-svg #masthead .masthead-home-link{background:url(https://cdn.theconversation.com/static/tc/logos/logo-no-svg-44adbb10155a857a2ee142b13158122f.png) 0 0 no-repeat;height:30px;width:262px}html.no-svg #masthead .masthead-home-link img{display:none}#masthead .masthead-tagline{clear:left;color:#4b4b4e;float:left;font-size:12px;font-weight:400;height:18px;padding-top:4px;width:300px}#masthead .masthead-search{float:right;margin-left:20px;margin-top:-3px}#masthead .masthead-search input{background-color:#fff;border:1px solid #d7d7db;border-radius:2px;display:block;font-size:12px;line-height:16px;min-width:280px;padding:7px 6px 6px 26px;position:relative}#masthead .masthead-search input:focus{border-color:#d7d7db;outline:none}#masthead .masthead-search label{color:#4b4b4e;padding:8px 0 0 12px;position:absolute;z-index:3}#masthead .masthead-search label i:before{color:#4b4b4e;font-size:14px;left:-4px;position:relative;top:0}#masthead .masthead-search .button,#masthead .masthead-search legend{display:none}@media only screen and (max-width:599px){#masthead{display:none}}#topbar{background:#fff;height:46px;line-height:18px;position:relative;z-index:25}.topbar-module{float:left}.topbar-button-list{list-style:none}.topbar-button-list li{float:left;margin-right:8px}.topbar-button-list li:first-child{margin-left:8px}.topbar-button-list a{border-radius:16px;display:block;height:32px;line-height:32px;margin:7px 0;text-align:center;width:32px}.topbar-button-list i{font-size:16px;line-height:16px;margin:0 auto;top:2px;vertical-align:baseline}.topbar-button-list i:before{color:#fff}.topbar-stay-informed{float:right}.topbar-stay-informed .topbar-button-text{color:#fff;display:none;padding:0 6px 0 0}.topbar-stay-informed .topbar-button.with-label a{padding:0 6px;width:auto}.topbar-stay-informed .topbar-button i:before{color:#fff}.topbar-stay-informed .newsletter a{background:#d8372c}.topbar-stay-informed .newsletter a:hover{background:#b12a20}.topbar-stay-informed .facebook a{background:#3a5a93}.topbar-stay-informed .facebook a:hover{background:#4971b7}.topbar-stay-informed .twitter a{background:#00b0e9}.topbar-stay-informed .twitter a:hover{background:#1dc8ff}.topbar-stay-informed .rss a{background:#eb7f3e}.topbar-stay-informed .rss a:hover{background:#f09e6c}.topbar-stay-informed .linkedin a{background:#0181b2}.topbar-stay-informed .linkedin a:hover{background:#01a6e5}.topbar-stay-informed .googleplus a{background:#de4931}.topbar-stay-informed .googleplus a:hover{background:#e5705d}.topbar-item-list{list-style:none}.topbar-item-list li{border-left:1px solid #d7d7db;float:left}.topbar-item-list li:first-child{border-left:0;padding-left:0}.topbar-item-list li a{color:#4b4b4e;display:block;height:18px;padding:15px 10px 13px;transition:background .3s}.topbar-item-list li a:active,.topbar-item-list li a:focus,.topbar-item-list li a:hover{background:#f2f2f3;color:#000}.topbar-item-list .tc-donate{background-color:#d8372c}.topbar-item-list .tc-donate a{color:#fff;font-weight:700;padding:14px 10px}.topbar-item-list .tc-donate a:active,.topbar-item-list .tc-donate a:focus,.topbar-item-list .tc-donate a:hover{background:#990a00;color:#fff}.topbar-dropdown a{color:#4b4b4e;display:block;height:18px;padding:15px 15px 13px;position:relative;transition:background .3s;white-space:nowrap;z-index:200}.topbar-dropdown a:active,.topbar-dropdown a:focus,.topbar-dropdown a:hover{background:#f2f2f3;color:#000}.topbar-dropdown .menu-button-close,.topbar-dropdown .menu-button-open{bottom:0;display:none;left:0;position:absolute;right:0;text-indent:-10000px;top:0}.topbar-dropdown .menu-button-close,.topbar-dropdown .menu-button-close:focus,.topbar-dropdown .menu-button-close:hover,.topbar-dropdown .menu-button-open,.topbar-dropdown .menu-button-open:focus,.topbar-dropdown .menu-button-open:hover{background:url(https://cdn.theconversation.com/static/tc/"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7") repeat 0 0}.topbar-dropdown .menu-button-contents{display:block;height:18px;padding:15px 6px 13px 15px;position:relative}.topbar-dropdown .menu-button-text{float:left;max-width:150px;overflow:hidden;padding-right:6px;position:relative;text-overflow:ellipsis;white-space:nowrap}.topbar-dropdown .drop-down-caret{color:transparent;font-size:1em;opacity:.6;top:-2px}.js .topbar-dropdown .drop-down-caret{color:inherit}.topbar-dropdown.open .menu{display:block;z-index:8}.topbar-dropdown.open .menu-button-contents{border-bottom:1px solid #fff;margin-bottom:-1px;position:relative;z-index:10}.topbar-dropdown .menu{background:#fff;border:1px solid #f1f1f2;border-radius:0 0 2px 2px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);box-sizing:border-box;display:none;left:0;margin-right:-1px;min-width:100%;position:absolute;top:46px}.topbar-mobile-home-link{color:#4b4b4e;display:none;font-family:Helvetica Neue,sans-serif;font-size:18px;font-weight:700;height:46px;margin-left:25%;text-transform:uppercase;width:50%;z-index:100}.topbar-mobile-home-link img{position:relative;top:50%;transform:translateY(-50%);width:100%}.topbar-home-link{text-align:center}.topbar-dashboard-link{float:right}.topbar-dashboard-link a{border-left:1px solid #f2f2f3;border-right:1px solid #f2f2f3}.topbar-label{padding:15px 0 13px 10px}.topbar-edition-selector{border-right:1px solid #f2f2f3;height:46px;position:relative}.topbar-edition-selector .current-region{color:#d8372c}.topbar-account-nav{border-right:1px solid #f2f2f3;float:right;position:relative}.editing-page .topbar-account-nav{border-right:0}.topbar-account-nav img{border-radius:32px;display:inline;height:36px;margin-top:-10px;width:36px}.topbar-account-nav .dashboard{display:none}.topbar-account-nav .activity-count{background:#d8372c;border:1px solid #d8372c;border-radius:10px;color:#fff;font-size:11px;font-weight:700;height:14px;line-height:14px;padding:2px 6px;position:absolute;right:-11px;top:3px;z-index:12}@media only screen and (min-width:1466px){.topbar-stay-informed .topbar-button-text{display:inline}}@media only screen and (max-width:599px){.topbar-admin-shortcuts,.topbar-dashboard-link,.topbar-edition-selector,.topbar-edition-selector-title,.topbar-home-link,.topbar-promotional-links,.topbar-stay-informed{display:none}#topbar{border-bottom:1px solid #f2f2f3;font-size:12px}#topbar .wrapper{padding-left:10px;padding-right:10px}#topbar .topbar-mobile-home-link{display:block}#topbar .author-signup,#topbar .reader-signup{display:none}.topbar-account-nav{border-right:0;display:block;position:absolute;right:0;top:0}.topbar-account-nav .activity-count{right:33px}.topbar-account-nav.open .menu-button-contents{border-left:1px solid #f2f2f3}.topbar-account-nav .menu-button-contents{padding-left:6px}.topbar-account-nav .menu-button-name{display:none}.topbar-account-nav .menu{border-right:0;left:auto;right:1px}.topbar-account-nav .dashboard{display:block}.topbar-account-nav .menu-button{padding-left:0}}#page-wrapper,body,html{height:100%}body{background-color:#fff;line-height:18px}#page-wrapper{display:flex;flex-direction:column}#outer{flex:1;padding-top:48px}#outer>.wrapper{padding-bottom:48px}#footers{flex-shrink:0}.handheld{display:none}h1 a:hover{text-decoration:none}div.crop{overflow:hidden}table.grid td,table.grid tr{border-bottom:1px solid #000}input::-moz-placeholder{color:#62626a}input::placeholder{color:#62626a}input.placeholder{color:#62626a}input:focus::-moz-placeholder{color:#d7d7db}input:focus::placeholder{color:#d7d7db}input:focus.placeholder{color:#d7d7db}.fluid-width-video-wrapper{margin-bottom:18px}audio{display:none;height:0;visibility:hidden;width:0}.placeholder-container{background-color:var(--background-color);position:relative}.placeholder-container:before{content:"";float:left;height:0;margin-left:-1px;padding-top:var(--aspect-ratio-percent);width:1px}.placeholder-container:after{clear:both;content:"";display:table}.placeholder-container iframe,.placeholder-container img{bottom:0;height:100%;left:0;-o-object-fit:cover;object-fit:cover;opacity:.1;position:absolute!important;right:0;top:0;transition:opacity .5s;width:100%}.placeholder-container iframe.lazyloaded,.placeholder-container img.lazyloaded{filter:blur(0);opacity:1}.placeholder-container img{background-color:#fff}html{-webkit-text-size-adjust:100%}body,input,select,textarea{color:#000;font-family:Helvetica Neue,sans-serif;font-size:13px}.text-center{text-align:center}span.nobr{white-space:nowrap}p{margin-bottom:18px}p.fine-print{font-size:11px!important}strong{font-weight:700}blockquote,em{font-style:italic}blockquote{clear:both;color:#4b4b4e;margin-bottom:18px;padding:9px 18px 12px;text-align:center}blockquote p:last-child,blockquote>blockquote:last-child{margin-bottom:0}blockquote,blockquote.left{border-left:4px solid #d7d7db;text-align:left}blockquote.right{border-right:4px solid #d7d7db;text-align:right}blockquote.feature{border-bottom:4px solid #f2f2f3;border-left:none;border-top:4px solid #f2f2f3;color:#000;font-family:LeagueGothicRegular,League Gothic,Impact,sans-serif;font-size:32px;font-style:normal;font-weight:700;margin:18px 0 36px;padding:30px 0 24px;position:relative;text-align:left;text-transform:uppercase}blockquote.feature p:first-child{text-indent:50px}blockquote.feature:before{color:#d7d7db;content:"“";font-size:125px;left:0;position:absolute;top:62px}blockquote.feature,blockquote.feature p{line-height:36px}blockquote.feature cite{font-size:24px}blockquote.feature cite:before{content:"— "}blockquote cite{color:#4b4b4e;font-style:normal}blockquote,h1,h2,h3,h4,h5,h6{-webkit-text-rendering:optimizeLegibility;-moz-text-rendering:optimizeLegibility;-ms-text-rendering:optimizeLegibility;-o-text-rendering:optimizeLegibility;text-rendering:optimizeLegibility}h1.legacy.slammed,h2.slammed,h3.slammed,h4.legacy.slammed,h5.slammed,h6.slammed{margin-bottom:0}h1.legacy.border,h2.border,h3.border,h4.legacy.border,h5.border,h6.border{border-bottom:1px solid #d7d7db;padding-bottom:.33em}h1.legacy{font-size:28px;font-weight:700;line-height:36px;margin-bottom:18px}h1.legacy.page-header{border-bottom:1px solid #d7d7db;margin-bottom:36px;padding-bottom:9px}h1.legacy.page-header span{color:#d7d7db}h2{font-size:23px}h2,h3{font-weight:700;margin-bottom:12px}h3{color:#000;font-size:15px;line-height:18px}h4.legacy{color:#000;font-size:10px;letter-spacing:.12em;margin-bottom:10px;text-transform:uppercase}h6{color:#d7d7db}hr{border:none;border-top:1px solid #d7d7db;clear:both;margin-bottom:18px}.link,a{color:#085d91;outline:none;text-decoration:none}.link:hover,a:hover{color:#003461;text-decoration:none}.link:focus,a:focus{outline:none}.link:visited,a:visited{color:#4b4b4e}.link:visited:hover,a:visited:hover{color:#085d91}nav ol li,nav ul li{list-style:none;margin-left:0}ul li{margin-left:0}ul.fine-print li{font-size:11px}ul.semantic li{list-style-type:none;margin-left:0}ol li{margin-left:0}ol.fine-print li{font-size:11px}ol.semantic li{list-style-type:none;margin-left:0}dl dt{clear:left;float:left;font-weight:700}dl dd{float:left;margin-left:1em;text-align:left}.league-gothic{font-family:LeagueGothicRegular,League Gothic,Impact,sans-serif;font-size:30px;font-size-adjust:.455;font-weight:400;line-height:40px;text-rendering:optimizeLegibility}.meslo{font-family:MesloLGMDZ,Monaco,monospace}.figure,figure{display:block;position:relative}.figure:after,figure:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}.figure iframe,figure iframe{display:block}.figure .figcaption,.figure figcaption,figure .figcaption,figure figcaption{color:#212121;display:block;font-size:13px;line-height:18px;padding-top:6px}.figure .figcaption a,.figure figcaption a,figure .figcaption a,figure figcaption a{font-weight:400!important}.figure .figcaption .attribution,.figure .figcaption .attribution a,.figure figcaption .attribution,.figure figcaption .attribution a,figure .figcaption .attribution,figure .figcaption .attribution a,figure figcaption .attribution,figure figcaption .attribution a{color:#212121}.figure .figcaption .attribution a:focus,.figure .figcaption .attribution a:hover,.figure figcaption .attribution a:focus,.figure figcaption .attribution a:hover,figure .figcaption .attribution a:focus,figure .figcaption .attribution a:hover,figure figcaption .attribution a:focus,figure figcaption .attribution a:hover{color:#085d91}article header p.byline{color:#4b4b4e;font-size:11px;line-height:18px;margin-bottom:0;padding:2px 0}.callout{background:#f2f2f3;border-top:4px solid #d7d7db;color:#000;display:block;margin:1em 0;padding:.5em 1em}.right{float:right}.left{float:left}.clear{clear:both}.clear-left{clear:left}.clear-right{clear:right}.clearfix:after,.clearfix:before{content:" ";display:block;height:0;visibility:hidden}.clearfix:after{clear:both}.clearfix{zoom:1}@keyframes pulse{40%{transform:scale(1)}47%{transform:scale(1.03)}55%{transform:scale(1)}to{transform:scale(1)}}.information{background:#f2f2f3 url(https://cdn.theconversation.com/static/tc/icons/alert-instructions-76f48e944055d94f9ad902aca4ffe1f1.png) no-repeat 15px 13px;border-radius:2px;color:#4b4b4e;padding:12px 12px 12px 42px}.information a{color:inherit;font-weight:700}.information p{margin-bottom:0}.information p+p{margin-top:1em}.information .button{margin:-3px 6px}.information ul{list-style-position:inside}.information.prominent{background-color:#f2f2f3;border:1px solid #d7d7db}.information.success{background-color:#29a37a;background-image:url(https://cdn.theconversation.com/static/tc/icons/alert-success-cefcd0dc236e8d3c0a77863b29040399.png);color:#fff}.information.error{background-color:#d8372c;background-image:url(https://cdn.theconversation.com/static/tc/icons/alert-error-f95893328ecf3dd6c51eba085c089084.png);color:#fff}.information.warning{background-color:#ffda75;background-image:url(https://cdn.theconversation.com/static/tc/icons/alert-information-30e614f3f403049753170ccd98ce7053.png);color:#000}.formtastic .information{padding:12px 12px 12px 42px}p.flash{animation-duration:5s;animation-iteration-count:infinite;animation-name:pulse;animation-timing-function:ease-in-out;backface-visibility:hidden;background-color:#f2f2f3;border:1px solid #d7d7db;border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top:none;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);color:#000;filter:url(https://cdn.theconversation.com/static/tc/"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0'/></filter></svg>#grayscale");font-size:13px;left:50%;margin-left:-240px;padding:10px 20px;position:fixed;text-align:center;top:0;transform-style:preserve-3d;width:440px;z-index:30000}@media only screen and (max-width:599px){p.flash{margin-left:-37%;padding:10px 2%;width:70%}}p.flash.hidden{top:-200px;transition:top .5s}p.flash.show{top:0;transition:top .5s}p.flash.notice{background-color:#29a37a;border-color:#29a37a;color:#fff;font-weight:700}p.flash.warning{background-color:#ffda75;border-color:#ffda75}p.flash.alert{background-color:#d8372c;border-color:#d8372c;color:#fff;font-weight:700}#masthead{padding-top:5px}#masthead a.masthead-home-link{height:40px;margin-top:-8px}#masthead .masthead-search #q{box-sizing:border-box}#primary-navigation{position:relative}#primary-navigation:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}#primary-navigation ol{float:left;list-style:none;margin-bottom:-4px;width:100%;z-index:3}#primary-navigation li{float:left;margin-right:.8em}#primary-navigation li:last-child{margin-right:0}#primary-navigation li.custom-nav-link{float:right;margin-left:20px}#primary-navigation a{border-bottom:5px solid transparent;color:#4b4b4e;display:block;float:left;font-size:13px;font-weight:700;line-height:26px;margin-bottom:-1px;padding-bottom:5px}#primary-navigation a.current,#primary-navigation a:hover{border-color:#d8372c;text-decoration:none}#primary-navigation a:hover{color:#4b4b4e}#primary-navigation a.current{color:#212121}#primary-navigation span span{color:#4b4b4e}@media only screen and (min-width:1466px){#primary-navigation li{margin-right:1.2em}#primary-navigation a{font-size:14px}}.region-select{background:#fff;border:1px solid #d7d7db;border-radius:.25rem;float:left;height:28px;margin:10px 10px 0 0;overflow:hidden;position:relative;width:140px}.region-select:after{bottom:0;color:#d7d7db;content:"";font-family:TCFont-Regular;line-height:2;position:absolute;right:10px;top:0}.region-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;-moz-outline:none;-moz-user-focus:none;background:transparent;border:none;box-shadow:none;color:#383838;display:block;font-size:inherit;height:28px;outline:none;padding:5px 7px;position:absolute;text-indent:.01px;text-overflow:"";width:120%;z-index:1}.region-select select:-moz-focusring{color:transparent}.region-select select::-ms-expand{display:none}.search-form legend{display:none}.search-form .input-wrapper{position:relative}.search-form .input-wrapper input[type=text],.search-form .input-wrapper label{display:block;font-size:12px;line-height:16px}.search-form .input-wrapper label{color:#4b4b4e;padding:8px 0 0 12px;position:absolute;z-index:3}.search-form .input-wrapper label i:before{color:#4b4b4e;font-size:14px;left:-4px;position:relative;top:0}.search-form .input-wrapper input[type=text]{background-color:#fff;border:1px solid #d7d7db;border-radius:2px;min-width:280px;padding:7px 6px 6px 26px;position:relative}.search-form .input-wrapper input[type=text]:focus{border-color:#293299;outline:none}#small-sidebar{background:#fff;background-clip:padding-box;border-top:46px solid transparent;box-sizing:border-box;display:none;font-family:Noto Sans,sans-serif;height:0;overflow-y:auto;position:absolute;top:0;transition:height .55s cubic-bezier(.32,.08,.24,1);width:100%;z-index:11;-webkit-overflow-scrolling:touch}#small-sidebar.visible{height:100%}#small-sidebar.visible .small-sidebar-group{opacity:1;top:0}.new-header #small-sidebar{border-top:96px solid transparent;z-index:9}#small-sidebar-close-button,#small-sidebar-open-button{color:#383838;display:none;font-family:Noto Sans,sans-serif;font-size:14px;font-weight:700;line-height:46px;padding:0 12px;position:absolute;top:auto;transition:opacity .275s}.new-header #small-sidebar-close-button,.new-header #small-sidebar-open-button{color:#000;font-family:Montserrat;line-height:57px;padding:0 16px;top:44px}#small-sidebar-open-button{opacity:1;z-index:101}#small-sidebar-close-button,#small-sidebar-open-button.visible{opacity:0;z-index:100}#small-sidebar-close-button.visible{opacity:1;z-index:101}.small-sidebar-editions .region-select{border:none;box-sizing:border-box;height:33px;margin:0;width:100%}.small-sidebar-editions .region-select:after{color:#727272;line-height:1em;padding:10px;pointer-events:none;right:0;top:0}.small-sidebar-editions select{font-size:15px;height:33px;padding:0 4px}#small-sidebar-search form{position:relative}#small-sidebar-search input{border:none;border-radius:.25rem;box-sizing:border-box;font-size:15px;height:33px;width:100%}#small-sidebar-search input::-moz-placeholder{color:#383838;opacity:1}#small-sidebar-search input::placeholder{color:#383838;opacity:1}#small-sidebar-search input:focus::-moz-placeholder{opacity:.2}#small-sidebar-search input:focus::placeholder{opacity:.2}#small-sidebar-search button{background:none;border:none;border-radius:2px;color:#fff;cursor:pointer;height:29px;padding:7px 0;position:absolute;right:2px;top:2px;transition:background .3s;width:33px}#small-sidebar-search button .icon-search{color:#727272;font-size:22px}#small-sidebar-search input,.small-sidebar-editions .region-select{border:1px solid #d7d7db;border-radius:.25rem;float:none;height:auto;width:100%}#small-region-select-dropdown,#small-sidebar-search input{font-family:Noto Sans,sans-serif;font-size:14px;height:auto;padding:10px 12px;position:static;width:100%}.small-sidebar-group{opacity:0;padding:12px;position:relative;top:-50px;transition:opacity 1.1s cubic-bezier(.32,.08,.24,1) .198s,top .55s cubic-bezier(.32,.08,.24,1)}.small-sidebar-group:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}.small-sidebar-group+.small-sidebar-group{margin-top:0}.small-sidebar-group h3{color:#383838;font-size:14px;font-weight:700;line-height:1;margin:0 0 8px;padding:0}.small-sidebar-group h3:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}.small-sidebar-group ul{list-style:none}.small-sidebar-group li{margin:5px 0 0}.small-sidebar-group a{color:#383838;display:block;font-size:20px;font-weight:700;line-height:1;margin:0 0 .8em;padding:.2em 0;position:relative}.small-sidebar-group a.active{border-left:6px solid #d7d7db;margin-left:-12px;padding-left:6px}.small-sidebar-group .icon-chevron-right{font-size:14px;line-height:1;position:absolute;right:2px;top:10px}.sections-sidebar-group a{font-family:Montserrat,sans-serif}@media only screen and (max-width:599px){#small-sidebar,#small-sidebar-close-button,#small-sidebar-open-button{display:block}}#topbar .topbar-stay-informed a{border-right:1px solid #f1f1f2}#topbar .topbar-dashboard-link a{border-left:0}#topbar .topbar-account-nav h4{padding:0 15px}#topbar .topbar-admin-shortcuts{border-right:1px solid #f1f1f2;float:right}#topbar .topbar-account-nav .menu{left:auto;min-width:125%;right:0}#topbar .menu-button-contents{cursor:pointer}@media only screen and (max-width:599px){#topbar{border-bottom:none}#topbar #topbar-dynamic-content.language-override-es .reader-signin{font-size:11px}#topbar .topbar-account-nav{font-family:Noto Sans,sans-serif;font-size:14px;font-weight:700}#topbar .topbar-account-nav li{border-left:none}#topbar .topbar-account-nav li a{color:#383838}#topbar .topbar-account-nav .metrics{display:none}}.content-authors{font-size:12px}.content-authors h3{font-size:11px}.content-authors a{font-weight:700}.content-authors .institution_name{color:#4b4b4e;font-weight:400}.content-authors-synopsis{display:none}.content-authors-synopsis i{border:1px solid #d7d7db;border-radius:50%;color:#4b4b4e;height:16px;line-height:16px;margin-right:6px;text-align:center;width:16px}.content-authors-synopsis .icon-caret-up{display:none}.content-authors-group{margin-bottom:36px}.content-authors-group ol{list-style:none;padding-top:6px}.content-authors-group li{clear:left}.content-authors-group li+li{margin-top:24px}.content-authors-group img{border-radius:50%;display:block;float:left;margin:0 12px 18px 0;width:48px}.content-post .team-blog .content-authors-group img{display:block}.content-post .content-authors-group img{display:none}.content-post .content-authors-group .role{margin-left:0}.content-authors-group .role{color:#4b4b4e;font-size:11px;line-height:1.4;margin-left:60px}@media only screen and (max-width:599px){.content-authors h3{margin-left:0}.content-authors-synopsis{display:block;margin-bottom:12px}.content-authors-group{display:none}.content-authors-group img{margin-left:0}.open .icon-caret-down{display:none}.open .icon-caret-up{display:inline-block}.open .content-authors-group{display:block}}@media only screen and (min-width:1466px){.content-authors-group .role{line-height:1.4}}.content-body{font-family:Libre Baskerville,serif;font-size:18px;line-height:1.6;padding-bottom:12px}.content-body .figcaption a,.content-body a,.content-body figcaption a{white-space:pre-wrap;word-wrap:break-word;color:#4b4b4e;text-decoration:underline}.content-body .figcaption a:hover,.content-body a:hover,.content-body figcaption a:hover{color:#293299}.content-body .figcaption a:visited,.content-body a:visited,.content-body figcaption a:visited{color:#4b4b4e}.content-body .figcaption a:visited:hover,.content-body a:visited:hover,.content-body figcaption a:visited:hover{color:#293299}.content-body blockquote{border-left:8px solid #d7d7db}.content-body ol,.content-body ul{margin-bottom:18px;padding-left:2em}.content-body table{border:1px solid #d7d7db;border-collapse:collapse;border-spacing:0;empty-cells:show;font-family:Helvetica Neue,sans-serif;font-size:13px;margin-bottom:18px;width:100%}.content-body table thead th{font-weight:700;vertical-align:top}.content-body table tbody td,.content-body table thead th{border:1px solid #d7d7db;padding:.5em 1em}.content-body figure{margin-bottom:18px}.content-body figure table{margin-bottom:0}.content-body figure.align-right{clear:right;float:right;margin-left:20px;width:237px}.content-body figure.align-left{clear:left;float:left;margin-right:20px;width:237px}.content-body figure.align-center img{width:100%}.content-body figure a,.content-body figure img{display:block;max-width:100%;text-decoration:none}.content-body figure figcaption{color:#4b4b4e;cursor:default;font-family:Helvetica Neue,sans-serif}.content-body figure figcaption a{display:inline}.content-topics{margin-bottom:12px}.content-topics ul{margin-left:25px}@media only screen and (max-width:599px){.content-body{font-size:16px;line-height:1.6}.content-body blockquote{margin-left:-10px}.content-body figure.align-left,.content-body figure.align-right{margin-bottom:12px;width:100%}.content-body figure.align-left img,.content-body figure.align-right img{width:100%}}.content-column-header{margin-top:1px;position:relative}.content-column-header .column-header{background-color:#f2f2f3;border-bottom:1px solid #e5e5e6;color:#383838;display:block;height:118px}.content-column-header .column-header:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}.content-column-header .column-header:hover h3{text-decoration:underline}.content-column-header .content-column-feed{cursor:pointer;display:block;padding-top:5px;position:absolute;right:0;text-align:center;top:18px;z-index:7}.content-column-header .content-column-feed-itunes{top:54px}.content-column-header img{border:1px solid #fff;border-radius:50%;float:left;margin-top:15px;width:90px}.content-column-header h3{font-size:27px;padding-top:40px}@media only screen and (max-width:599px){.content-column-header .column-header{height:auto}.content-column-header .content-column-feed{right:10px}.content-column-header .content-column-feed span{display:none}.content-column-header .content-column-image{position:absolute}.content-column-header .content-column-image img{width:60px}.content-column-header .content-column-title{float:none;margin-left:80px;margin-right:45px;width:auto}.content-column-header h3{font-size:22px;line-height:1.2;margin-bottom:6px;padding-top:20px}.content-column-header .byline{font-size:12px;line-height:1.4;margin-bottom:20px}}.content-column-podcast-header{border-bottom:1px solid #d7d7db;color:#4b4b4e;font-size:18px;font-weight:700;padding:20px 0}.content-column-podcast-header a{color:inherit}.content-column-podcast-header a:hover{color:#212121;text-decoration:underline}.content-column-podcast-header .podcast-link-title{display:block;font-size:28px;line-height:28px;margin-top:18px}@media only screen and (max-width:599px){.podcast-info .image{display:none}}.content-disclosure-statement{margin-bottom:36px}.content-disclosure-statement h3{font-size:11px}.content-disclosure-statement p{margin-bottom:0}.content-disclosure-statement p+p{margin-top:18px}@media only screen and (max-width:599px){.content-disclosure-statement{display:none;line-height:1.4;margin-left:0}.open .content-disclosure-statement{display:block}}.content-header{padding-bottom:36px;padding-top:36px}.content-header-container h1{color:#383838;font-family:Montserrat,sans-serif;font-size:38px;line-height:normal;margin:0 0 12px}.content-header-container time{color:#4b4b4e;font-size:13px}.content-header-container .time-separator{color:#4b4b4e;font-size:11px;padding-left:2px;padding-right:4px}@media only screen and (max-width:599px){.content-header{padding-bottom:0;padding-top:12px}.content-header-container h1{font-size:28px;line-height:1.4;margin-bottom:0}.content-header-container .time-separator{display:none}.content-header-container .timestamps{padding:12px 0}.content-header-container time{display:block}}.content-lead-image{padding-bottom:36px}.content-lead-image img{display:block;width:100%}@media only screen and (max-width:599px){.content-lead-image{padding-bottom:0}}.content-partners{margin-bottom:36px}.content-partners h3{font-size:11px}.content-partners .disclosure-logo{display:table;text-align:center;width:100%}.content-partners .logo{display:table-cell;vertical-align:middle;width:120px}.content-partners .funding-statement,.content-partners .partners-jobs-links{border-bottom:1px solid #f2f2f3;margin-bottom:12px;padding-bottom:12px}.content-partners img{margin:0 auto;max-width:120px;width:100%}.conversation-partners{margin-bottom:36px}.conversation-partners h3{font-size:11px}@media only screen and (max-width:599px){.content-partners{display:none;line-height:1.4;margin-left:0}.content-partners .disclosure-logo{display:none}.open .content-partners{display:block}.conversation-partners{display:none}.open .conversation-partners{display:block}}.content-social-distribution{font-size:11px;padding-bottom:36px;padding-top:5px}.content-social-distribution div{padding-bottom:10px;position:relative}.content-social-distribution a{color:#4b4b4e}.content-social-distribution a:hover{color:#000}.content-social-distribution i{font-size:12px}.content-social-distribution .fb-messenger,.content-social-distribution .whatsapp{display:none}.content-social-distribution .data-count{border:1px solid #d7d7db;border-radius:2px;color:#4b4b4e;padding:0 3px;position:absolute;right:0;top:0}.gallery-content .content-social-distribution{display:none}@media only screen and (max-width:599px){.content-social-distribution{border-bottom:1px solid #d7d7db;border-top:1px solid #d7d7db;clear:both;display:flex;margin:0 0 12px;padding:6px 0;width:100%}.content-social-distribution div{flex:1;padding:3px 0;text-align:center}.content-social-distribution div+div{border-left:1px solid #d7d7db}.content-social-distribution .fb-messenger,.content-social-distribution .whatsapp{display:block}.content-social-distribution a{display:block;width:100%}.content-social-distribution i{font-size:20px;top:0}.content-social-distribution i.icon-facebook{top:.1em}.content-social-distribution span,.data-count,.print{display:none}}#article .content-sidebar{float:right;position:relative}.content-sidebar{font-size:11px;margin-bottom:60px}.content-sidebar section.column-authors,.content-sidebar section.column-banner{margin-left:0}.content-sidebar .related-topics a{font-weight:700}.content-sidebar .byline{color:#4b4b4e;font-size:13px;margin-bottom:12px;margin-top:12px}.column-banner{margin-bottom:36px}.column-banner .byline{color:#4b4b4e;font-size:11px;font-style:italic;margin-bottom:12px;margin-top:12px}.column-title{border-bottom:1px solid #f2f2f3;display:block;height:108px;margin-bottom:12px;margin-top:28px;position:relative}.column-title:after{border-bottom:1px solid #f2f2f3;bottom:-3px;content:"";position:absolute;width:100%}.column-title h3{bottom:1px;font-size:15px;margin:0;padding-bottom:12px;padding-right:80px;position:absolute}.column-title img{bottom:0;position:absolute;right:0}@media only screen and (max-width:599px){.content-sidebar{margin-bottom:0;margin-left:0}.content-sidebar section{margin-left:0}}.content-translations{margin-bottom:36px}.content-translations ul{list-style:none}.content-translations-toggle{display:none}@media only screen and (max-width:599px){.content-translations{position:absolute;right:0;top:0}.content-translations h3,.content-translations ul{display:none}.content-translations.open{background:#fff;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);min-width:50%;padding:10px;position:absolute;right:0;top:-10px;z-index:100}.content-translations.open h3,.content-translations.open ul{display:block}.content-translations.open .content-translations-toggle{top:0}.content-translations.open .content-translations-toggle .icon-caret-up{display:inline-block}.content-translations.open .content-translations-toggle .icon-caret-down{display:none}.content-translations-toggle{display:block;font-size:20px;height:40px;line-height:40px;position:absolute;right:0;text-align:center;top:-10px;width:60px}.content-translations-toggle img{vertical-align:middle;width:26px}.content-translations-toggle i{border:1px solid #b0b3ba;border-radius:50%;color:#b0b3ba;font-size:15px;height:16px;line-height:16px;text-align:center;width:16px}.content-translations-toggle .icon-caret-down{display:inline-block}.content-translations-toggle .icon-caret-up{display:none}}body.refresh-article #outer{padding:0}body.refresh-article .audio-player{margin-bottom:36px}body.refresh-article .has-desktop-magazine .content-header,body.refresh-article .has-desktop-magazine .content-lead-image{display:none}@media only screen and (max-width:599px){body.refresh-article .has-desktop-magazine .content-header,body.refresh-article .has-desktop-magazine .content-lead-image,body.refresh-article .normal .content-header,body.refresh-article .normal .content-lead-image{display:block}}.magazine{display:none;padding-bottom:24px}.has-desktop-magazine .magazine{display:block}.magazine .image{background-position:50%;background-repeat:no-repeat;background-size:cover;-ms-behavior:url(https://cdn.theconversation.com/static/tc/stylesheets/backgroundsize.min-fd1df32bcabf45d9ca0f1696b9e81652.htc);height:600px}.magazine .image .placeholder-container,.magazine .image img{display:none}.magazine .wrapper{height:100%}.magazine-title{bottom:0;position:absolute;width:100%}.magazine-title header{bottom:70px;position:absolute}.magazine-title .content-header-block{border-left:24px solid #fff;display:inline-block;left:-12px;line-height:normal;padding:4px 0 0;position:relative}.magazine-title h1{background-color:#fff;color:#383838;display:inline;left:-1px;line-height:normal;margin:0;padding:4px 0 6px;position:relative}.magazine-title strong{left:-12px;position:relative;z-index:10}.magazine-title time{background-color:#fff;color:#4b4b4e;display:inline-block;font-size:13px;margin:-1px 0 0 -12px;padding:6px 12px}.magazine-title .time-separator{display:none}@media only screen and (max-width:599px){.magazine{padding-bottom:0}.has-desktop-magazine .magazine{display:none}.has-mobile-magazine .magazine{display:block}.magazine .image{background-image:none!important;height:auto}.magazine .image img{display:block;width:100%}.magazine .image .placeholder-container{display:block}.magazine-header{height:auto}.magazine-title{position:relative}.magazine-title header{bottom:auto;position:relative}.magazine-title .content-header-block{border-left:none;display:block;left:auto}.magazine-title h1{background:transparent;display:block;padding-bottom:0}.magazine-title h1 strong{left:0}.magazine-title .timestamps{padding:12px 0}.magazine-title time{display:block;margin:0;padding:0}}.content-gallery-item{background:#f2f2f3;clear:both;margin:0 0 40px;padding:10px 10px 0}.content-gallery-item img{display:block;max-height:90%;max-width:100%}.content-gallery-item figcaption{color:#4b4b4e;font-size:15px;font-weight:700;line-height:1.4;padding:20px 20px 20px 50px;position:relative}.content-gallery-item figcaption .count{color:#4b4b4e;left:5px;position:absolute;text-align:right;width:35px}.content-gallery-item figcaption .source{color:#62626a;font-weight:700;padding-left:.75em}.content-gallery-item:last-child{cursor:n-resize}.content-gallery-cover.loading{background-color:rgba(0,0,0,.9)}.gallery-cover{background:rgba(0,0,0,.9);height:150%;left:0;transition:opacity .35s ease-out;z-index:1000}.gallery-content,.gallery-cover{bottom:0;opacity:1;position:fixed;top:0;width:100%}.gallery-content{overflow:scroll;padding-top:38px;transition:opacity .75s ease-in .3s;z-index:1001}.gallery-content .close-gallery{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);position:fixed;right:26px;top:10px}.gallery-content.hidden,.gallery-cover.hidden{opacity:0}.gallery-content-inner{color:#fff;margin:0 auto;width:75%}.gallery-content-inner header h1{color:#fff}.gallery-content-inner header time{color:#62626a}.gallery-content-inner .content-gallery-item{background:transparent;cursor:default}.gallery-content-inner .content-gallery-item img{background:#fff;margin:0;padding:5px}.gallery-content-inner .content-gallery-item:last-child{cursor:default}.gallery-content-inner .content-gallery-item:last-child img{cursor:n-resize}.gallery-content-inner .content-gallery-item figcaption{color:#fff}.gallery-content-inner .content-gallery-item figcaption .count,.gallery-content-inner .content-gallery-item figcaption .source{color:hsla(0,0%,100%,.6)}#article .post-navigation{clear:both;margin-bottom:20px}#article .post-navigation ol{display:flex;flex-wrap:wrap}#article .post-navigation li{display:flex;float:left;width:50%}#article .post-navigation li:first-child .post-navigation-option{margin-right:10px}#article .post-navigation li:first-child .post-navigation-option:before{content:"";left:-20px;padding-left:10px;text-align:left}#article .post-navigation li:last-child .post-navigation-option{margin-left:10px}#article .post-navigation li:last-child .post-navigation-option:before{content:"";padding-right:10px;right:-20px;text-align:right}#article .post-navigation .post-navigation-option{background:#fff;border:1px solid #d7d7db;position:relative;transform-style:preserve-3d;width:100%}#article .post-navigation .post-navigation-option:before{background:inherit;border:1px solid #d7d7db;border-radius:50%;font-family:TCFont-Regular;height:40px;line-height:40px;position:absolute;top:50%;transform:translateY(-50%);width:30px;z-index:1}#article .post-navigation .post-navigation-option .article{background:inherit;display:block;min-height:65px;padding:20px;position:relative;z-index:2}#article .post-navigation .empty{opacity:0}#article .post-navigation h4{letter-spacing:normal}#article .post-navigation time{color:#4b4b4e;display:block;font-size:11px}#article .content-sidebar.column-sidebar .content-authors{margin-top:60px}@media only screen and (max-width:599px){#article .content-sidebar.column-sidebar .content-authors{margin-top:12px}} /*# sourceMappingURL=webpacked-critical-d0f67762b617f895.css.map*/ </style> <link rel="preload" href="https://cdn.theconversation.com/static/tc/webpacked-core-58ad5155c495e18d.css" as="style" type="text/css" media="screen" onload="this.onload=null;this.rel=&#39;stylesheet&#39;"> <link rel="stylesheet" href="https://cdn.theconversation.com/static/tc/webpacked-print-53ada9a8162f5384.css" media="print" /> <link rel="icon" sizes="192x192" href="https://cdn.theconversation.com/static/tc/@theconversation/ui/dist/esm/logos/web-app-logo-192x192-2d05bdd6de6328146de80245d4685946.png"> <link rel="shortcut icon" href="https://cdn.theconversation.com/static/tc/@theconversation/ui/dist/esm/logos/favicon-cdcdc0dd51ffe5238483c3f27fd2eb57.ico"> <script> (function (w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-WX8PHK9'); </script> <script> window.GTM = window.GTM || {} window.GTM.CustomDimensions = {"UserType":"Reader","RegionCode":"global","CommissioningRegion":"us","ContentType":"analysis"} </script> <script type="text/javascript" charset="utf-8"> window.didomiOnReady = window.didomiOnReady || []; window.DIDOMI = { ENABLED: false, THE_CONVERSATION_SDK_ID: "c:theconver-dUNGGyiP", THE_CONVERSATION_PROMOS_PURPOSE: "theconver-AA8pWL4T", } </script> <script> window.didomiEventListeners = window.didomiEventListeners || []; window.didomiEventListeners.push({ event: 'consent.changed', listener: function () { window.dispatchEvent(new CustomEvent('didomi:consent.changed')) } }); </script> <meta name="apple-mobile-web-app-title" content="The Conversation"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="default"> <link rel="apple-touch-icon" href="https://images.theconversation.com/files/581997/original/9275d5c0-7dd5-4ddf-b50b-98d537e016f4.png"> <link rel="manifest" href="/manifest.json"> </head> <body class="region_global content content-show refresh-article"> <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WX8PHK9" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript> <div> <a id="small-sidebar-open-button" href="#"> Menu </a> <a id="small-sidebar-close-button" href="#"> Close </a> <div id="small-sidebar"> <nav id="small-sidebar-search" class="small-sidebar-group"> <form action="/search"> <input type="text" name="q" placeholder="Search analysis, academics…"> <button type="submit" aria-label="Search"><span class="icon-search"></span></button> </form> </nav> <nav class="small-sidebar-group sections-sidebar-group"> <ul> <li class="home-page "> <a class="" href="/global">Home</a> </li> </ul> </nav> <nav class="small-sidebar-group small-sidebar-editions"> <h3>Edition</h3> <fieldset class="region-select"> <select id="small-region-select-dropdown"> <option data-code="AFRICA" value="/africa"> Africa </option> <option data-code="AU" value="/au"> Australia </option> <option data-code="BR" value="/br"> Brasil </option> <option data-code="CA" value="/ca"> Canada </option> <option data-code="CA-FR" value="/ca-fr"> Canada (français) </option> <option data-code="ES" value="/es"> España </option> <option data-code="EUROPE" value="/europe"> Europe </option> <option data-code="FR" value="/fr"> France </option> <option data-code="GLOBAL" value="/global" selected="selected"> Global </option> <option data-code="ID" value="/id"> Indonesia </option> <option data-code="NZ" value="/nz"> New Zealand </option> <option data-code="UK" value="/uk"> United Kingdom </option> <option data-code="US" value="/us"> United States </option> </select> </fieldset> </nav> </div> </div> <div id="page-wrapper"> <section id="topbar"> <div class="wrapper clearfix"> <a class="topbar-mobile-home-link" href="/global"> <img alt="The Conversation" src="https://cdn.theconversation.com/static/tc/@theconversation/ui/dist/esm/logos/logo-en-b159aca2598f351db37072c75294e4c8.svg" /> </a> <nav class="topbar-module"> <ul class="topbar-item-list"> <li class="topbar-home-link"> <a aria-label="Home" href="/global"> <i class="icon-home"></i> </a> </li> <li class="topbar-edition-selector-title topbar-label">Edition:</li> </ul> </nav> <nav class="topbar-edition-selector topbar-dropdown topbar-module"> <a class="menu-button-open" href="/global">Available editions</a> <div class="menu-button-contents"> <span class="menu-button-text"> <span class="current-region">Global</span> </span> <i class="icon-caret-down drop-down-caret"></i> </div> <ul class="menu"> <li class="region africa"> <a title="Africa edition" href="/africa">Africa</a> </li> <li class="region au"> <a title="Australia edition" href="/au">Australia</a> </li> <li class="region br"> <a title="Brasil edition" href="/br">Brasil</a> </li> <li class="region ca"> <a title="Canada edition" href="/ca">Canada</a> </li> <li class="region ca-fr"> <a title="Canada (français) edition" href="/ca-fr">Canada (français)</a> </li> <li class="region es"> <a title="España edition" href="/es">España</a> </li> <li class="region europe"> <a title="Europe edition" href="/europe">Europe</a> </li> <li class="region fr"> <a title="France edition" href="/fr">France</a> </li> <li class="region id"> <a title="Indonesia edition" href="/id">Indonesia</a> </li> <li class="region nz"> <a title="New Zealand edition" href="/nz">New Zealand</a> </li> <li class="region uk"> <a title="United Kingdom edition" href="/uk">United Kingdom</a> </li> <li class="region us"> <a title="United States edition" href="/us">United States</a> </li> </ul> </nav> <nav class="topbar-promotional-links topbar-module"> <ul class="topbar-item-list"> <li> <a title="Sign up to receive our daily email newsletter" href="/global/newsletters/global-perspectives-6?utm_campaign=System&amp;utm_content=newsletter&amp;utm_medium=TopBar&amp;utm_source=theconversation.com"> Get newsletter </a> </li> </ul> </nav> <div id="topbar-dynamic-content" class="language-override-en"> <nav class="topbar-account-nav topbar-dropdown topbar-module"> <ul class="topbar-item-list auth"> <li class="author-signup"> <a href="/become-an-author">Become an author</a> </li> <li class="reader-signup"> <a href="/sign_up?return_to=%2Fswitching-to-electric-vehicles-could-save-the-us-billions-but-timing-is-everything-106227">Sign up as a reader</a> </li> <li class="reader-signin"> <a href="/sign_in?return_to=%2Fswitching-to-electric-vehicles-could-save-the-us-billions-but-timing-is-everything-106227">Sign in</a> </li> </ul> </nav> </div> </div> </section> <div class="slot" data-id="14"></div> <section id="header"> <div class="wrapper nocontent"> <header id="masthead" class="clearfix"> <a class="masthead-home-link" href="/global"> <img alt="The Conversation" src="https://cdn.theconversation.com/static/tc/@theconversation/ui/dist/esm/logos/logo-en-b159aca2598f351db37072c75294e4c8.svg" /> </a> <form class="masthead-search" action="/global/search" accept-charset="UTF-8" method="get"> <fieldset> <legend>Search</legend> <div class="row"> <div class="input-wrapper"> <label for="q"><i class="icon-search"></i></label> <input type="text" name="q" id="q" value="" placeholder="Search analysis, research, academics…" /> </div> <button type="submit" class="button" value="Search"></button> </div> </fieldset> </form> <div class="masthead-tagline"> Academic rigour, journalistic flair </div> </header> <nav id="primary-navigation" class=" nocontent"> <ol> </ol> </nav> </div> </section> <div id="outer"> <article id="article" class="clearfix has-desktop-magazine has-mobile-magazine" data-id="106227" itemscope itemtype="http://schema.org/Article"> <figure class="magazine"> <div class="image" style="background-image: url(https://images.theconversation.com/files/248054/original/file-20181129-170226-u9psbj.jpg?ixlib=rb-4.1.0&amp;q=45&amp;auto=format&amp;w=1356&amp;h=668&amp;fit=crop);"> <div class="placeholder-container" style="--aspect-ratio-percent:66.5625%;--background-color:#514933"><img class="lazyloaded" src="https://images.theconversation.com/files/248054/original/file-20181129-170226-u9psbj.jpg?ixlib=rb-4.1.0&amp;q=20&amp;auto=format&amp;w=320&amp;fit=clip&amp;dpr=2&amp;usm=12&amp;cs=strip" data-id="248054" itemprop="image"></div> </div> <div class="wrapper"> <figcaption> Charging six cars at once is fine. Charging 60 million might be a bit tougher. <span class="attribution"><a class="source" href="https://www.shutterstock.com/image-photo/delaware-usa-april-24-2017-charging-673252429?src=ncU-xkHuPPQHK5-Cljk75Q-1-0">Nadya Kubik/Shutterstock.com</a></span> </figcaption> </div> <div class="magazine-title"> <div class="wrapper"> <header class="content-header-container grid-twelve large-grid-eleven"> <div> <div class="content-header-block"> <h1 class="legacy entry-title instapaper_title" itemprop="headline"> <strong> Switching to electric vehicles could save the US billions, but timing is&nbsp;everything </strong> </h1> </div> </div> <div class="timestamps"> <time datetime="2018-12-04T11:32:16Z" itemprop="datePublished" content="2018-12-04T11:32:16Z">Published: December 4, 2018 11.32am GMT</time> </div> </header> </div> </div> </figure> <div class="wrapper"> <div class="content-sidebar grid-four large-grid-four grid-last"> <section class="content-authors"> <div class="content-authors-synopsis"> <a href="#" class="content-authors-toggle"> <i class="icon-caret-down"></i> <i class="icon-caret-up"></i> <span class="nobr">F. Todd Davidson</span>, <em class="institution_name">The University of Texas at Austin</em>, <span class="nobr">Dave Tuttle</span>, <em class="institution_name">The University of Texas at Austin</em>, <span class="nobr">Joshua D. Rhodes</span>, <em class="institution_name">The University of Texas at Austin</em>, <span class="nobr">Kazunori Nagasawa</span>, <em class="institution_name">National Renewable Energy Laboratory</em> </a> </div> <div class="content-authors-group"> <h3 class="border">Authors</h3> <ol> <li class="vcard" id="author-243540" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <a rel="author" itemprop="url" href="/profiles/f-todd-davidson-367574"> <img alt="" class="lazyload" data-src="https://cdn.theconversation.com/avatars/367574/width170/Todd_Davidson_2014_5x7-285x400.jpg" src="https://cdn.theconversation.com/static/tc/author/width170_default-bea415b3a0223821a698f6e3f6d5ab99.jpg" itemprop="image"> <span class="fn author-name" itemprop="name"> F. Todd Davidson </span> </a> <p class="role"> Research Associate, Energy Institute, The University of Texas at Austin </p> </li> <li class="vcard" id="author-247821" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <a rel="author" itemprop="url" href="/profiles/dave-tuttle-390517"> <img alt="" class="lazyload" data-src="https://cdn.theconversation.com/avatars/390517/width170/file-20170714-24946-cvefk8.jpg" src="https://cdn.theconversation.com/static/tc/author/width170_default-bea415b3a0223821a698f6e3f6d5ab99.jpg" itemprop="image"> <span class="fn author-name" itemprop="name"> Dave Tuttle </span> </a> <p class="role"> Research Fellow, The Energy Institute,, The University of Texas at Austin </p> </li> <li class="vcard" id="author-244526" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <a rel="author" itemprop="url" href="/profiles/joshua-d-rhodes-228715"> <img alt="" class="lazyload" data-src="https://cdn.theconversation.com/avatars/228715/width170/image-20170504-21635-xc0x52.jpg" src="https://cdn.theconversation.com/static/tc/author/width170_default-bea415b3a0223821a698f6e3f6d5ab99.jpg" itemprop="image"> <span class="fn author-name" itemprop="name"> Joshua D. Rhodes </span> </a> <p class="role"> Research Fellow of Energy, The University of Texas at Austin </p> </li> <li class="vcard" id="author-244527" itemprop="author" itemscope="" itemtype="http://schema.org/Person"> <a rel="author" itemprop="url" href="/profiles/kazunori-nagasawa-590667"> <img alt="" class="lazyload" data-src="https://cdn.theconversation.com/avatars/590667/width170/file-20181108-74751-ae1n3u.jpg" src="https://cdn.theconversation.com/static/tc/author/width170_default-bea415b3a0223821a698f6e3f6d5ab99.jpg" itemprop="image"> <span class="fn author-name" itemprop="name"> Kazunori Nagasawa </span> </a> <p class="role"> Postdoctoral Researcher, National Renewable Energy Laboratory </p> </li> </ol> </div> </section> <section class="content-disclosure-statement"> <h3 class="border">Disclosure statement</h3> <p><span>Todd Davidson is a research professional at the University of Texas at Austin. As part of this role, he has received funding from oil and gas majors, automotive manufacturers, and the Department of Energy to investigate energy consumption in the transportation sector. Todd is also an equity partner in IdeaSmiths LLC, which conducts energy systems analyses and technology due diligence. The terms of his arrangement with IdeaSmiths has been reviewed and approved by the University of Texas in Austin in accordance with its policy on objectivity in research.</span></p> <p><span>Dave Tuttle has received National Science Foundation Department of Energy funding to investigate integration of renewable energy and electric vehicles with the grid. He is a Commissioner on the Electric Utility Commission overseeing Austin Energy, his local municipal electric utility. He holds a few equity positions in large investor owned public electric utilities outside his authority as an Electric Utility Commissioner.</span></p> <p><span>Joshua Rhodes is an equity partner in IdeaSmiths LLC, which conducts energy systems analyses and technology due diligence. The terms of this arrangement have been reviewed and approved by the University of Texas at Austin in accordance with its policy on objectivity in research.</span></p> <p><span>Kazunori Nagasawa does not work for, consult, own shares in or receive funding from any company or organisation that would benefit from this article, and has disclosed no relevant affiliations beyond their academic appointment.</span></p> </section> <section class="content-partners"> <h3 class="border">Partners</h3> <p><a href="/global/partners">View all partners</a></p> </section> <section class="slot" data-id="16"></section> </div> <div class="grid-twelve large-grid-eleven"> <div class="top"> <aside class="grid-two content-social-distribution"> <div class="email"> <a class="email-button" data-id="106227" target="_blank" rel="noopener" href="mailto:?subject=Switching%20to%20electric%20vehicles%20could%20save%20the%20US%20billions%2C%20but%20timing%20is%20everything%20%E2%80%94%20The%20Conversation&amp;body=Hi.%20I%20found%20an%20article%20that%20you%20might%20like%3A%20%22Switching%20to%20electric%20vehicles%20could%20save%20the%20US%20billions%2C%20but%20timing%20is%20everything%22%20%E2%80%94%20https%3A%2F%2Ftheconversation.com%2Fswitching-to-electric-vehicles-could-save-the-us-billions-but-timing-is-everything-106227"><i class="icon-email"></i> <span>Email</span></a> </div> <div class="twitter"> <a class="twitter-button" data-url="https://theconversation.com/switching-to-electric-vehicles-could-save-the-us-billions-but-timing-is-everything-106227" data-id="106227" target="_blank" rel="noopener" href="http://twitter.com/intent/tweet?text=Switching+to+electric+vehicles+could+save+the+US+billions%2C+but+timing+is+everything&amp;url=https%3A%2F%2Ftheconversation.com%2Fswitching-to-electric-vehicles-could-save-the-us-billions-but-timing-is-everything-106227%3Futm_source%3Dtwitter%26utm_medium%3Dbylinetwitterbutton&amp;utm_campaign=none&amp;via=ConversationUS"><i class="icon-twitter"></i> <span>X (Twitter)</span></a> </div> <div class="facebook"> <a class="facebook-button" data-url="https://theconversation.com/switching-to-electric-vehicles-could-save-the-us-billions-but-timing-is-everything-106227" data-id="106227" target="_blank" rel="noopener" href="http://www.facebook.com/sharer.php?u=https%3A%2F%2Ftheconversation.com%2Fswitching-to-electric-vehicles-could-save-the-us-billions-but-timing-is-everything-106227%3Futm_source%3Dfacebook%26utm_medium%3Dbylinefacebookbutton"><i class="icon-facebook"></i> <span>Facebook</span></a> </div> <div class="linkedin"> <a class="linkedin-button" data-url="https://theconversation.com/switching-to-electric-vehicles-could-save-the-us-billions-but-timing-is-everything-106227" data-id="106227" target="_blank" rel="noopener" href="http://www.linkedin.com/shareArticle?mini=true&amp;source=The+Conversation&amp;summary=Today%2C+%5Bless+than+2+percent%5D%28https%3A%2F%2Fcleantechnica.com%2F2018%2F07%2F01%2Fplease-stop-saying-evs-are-only-1-of-auto-sales-in-the-us%2F%29+of+the+vehicles+Americans+buy+are+electric.+But+within+the+next+three+d...&amp;title=Switching+to+electric+vehicles+could+save+the+US+billions%2C+but+timing+is+everything&amp;url=https%3A%2F%2Ftheconversation.com%2Fswitching-to-electric-vehicles-could-save-the-us-billions-but-timing-is-everything-106227%3Futm_source%3Dlinkedin%26utm_medium%3Dbylinelinkedinbutton"><i class="icon-linkedin"></i> <span>LinkedIn</span></a> </div> <div class="whatsapp"> <a class="whatsapp-button" data-href="https://theconversation.com/switching-to-electric-vehicles-could-save-the-us-billions-but-timing-is-everything-106227" data-action="share/whatsapp/share" data-id="106227" target="_blank" rel="noopener" href="whatsapp://send?text=Switching+to+electric+vehicles+could+save+the+US+billions%2C+but+timing+is+everything+https%3A%2F%2Ftheconversation.com%2Fswitching-to-electric-vehicles-could-save-the-us-billions-but-timing-is-everything-106227%3Futm_source%3Dwhatsapp%26utm_medium%3Dbylinewhatsappbutton"><i class="icon-whatsapp"></i> <span>WhatsApp</span></a> </div> <div class="fb-messenger"> <a class="fb-messenger-button" data-href="https://theconversation.com/switching-to-electric-vehicles-could-save-the-us-billions-but-timing-is-everything-106227" data-action="share/fb-messenger/share" data-id="106227" target="_blank" rel="noopener" href="fb-messenger://share?link=https%3A%2F%2Ftheconversation.com%2Fswitching-to-electric-vehicles-could-save-the-us-billions-but-timing-is-everything-106227%3Futm_source%3Dfb_messenger%26utm_medium%3Dbylinefb_messenger_button"><i class="icon-fb-messenger"></i> <span>Messenger</span></a> </div> </aside> </div> <div class="grid-ten large-grid-nine grid-last content-body content entry-content instapaper_body inline-promos" itemprop="articleBody"> <p>Today, <a href="https://cleantechnica.com/2018/07/01/please-stop-saying-evs-are-only-1-of-auto-sales-in-the-us/">less than 2 percent</a> of the vehicles Americans buy are electric. But within the next three decades, some automotive industry experts expect electric vehicles could make up the majority of <a href="https://www.forbes.com/sites/energyinnovation/2017/09/14/the-future-of-electric-vehicles-in-the-u-s-part-1-65-75-new-light-duty-vehicle-sales-by-2050/#20d771fee289">U.S.</a> and <a href="https://about.bnef.com/electric-vehicle-outlook/#toc-download">global car sales</a>.</p> <p>All told, American drivers log about <a href="https://www.fhwa.dot.gov/pressroom/fhwa1704.cfm">3 trillion miles</a> per year, consuming more than <a href="https://www.bts.gov/content/motor-vehicle-fuel-consumption-and-travel">170 billion gallons</a> of gasoline and diesel in the process. Converting all those road miles to electricity would place new demands on the nation’s system for producing and delivering electricity.</p> <p>As part of a major <a href="https://energy.utexas.edu/policy/eiof">energy infrastructure study</a>, <a href="https://scholar.google.com/citations?user=1B6nEBEAAAAJ&amp;hl=en&amp;oi=ao">we are seeking</a> to understand how an <a href="https://energy.utexas.edu/about/staff/todd-davidson">increase in electric vehicles (EVs)</a> might change <a href="https://energy.utexas.edu/about/staff/dave-tuttle">how energy</a> is <a href="https://www.researchgate.net/scientific-contributions/2008770532_Kazunori_Nagasawa">supplied and consumed</a>. So far, we have figured out the impact of electric vehicles will depend on where you live and when they are charged.</p> <h2>Estimating how much electricity EVs will demand</h2> <p>Using a similar technique featured in <a href="https://doi.org/10.1016/j.apenergy.2018.10.067">our recent paper</a> on hydrogen vehicles, we developed a state-by-state assessment of the amount of electricity that would be needed to charge an electrified fleet of personal cars, trucks and SUVs.</p><div class="slot clear" data-id="17"> <div class="inline-promos-skeleton"> <h5></h5> <button></button> </div> </div> <p><iframe id="j0lj8" class="tc-infographic-datawrapper" src="https://datawrapper.dwcdn.net/j0lj8/2/" height="400px" width="100%" style="border: 0;" scrolling="no" frameborder="0"></iframe></p> <p>We started by estimating the amount of gasoline every county consumes today. We then converted vehicle miles traveled into electricity requirements based on the efficiency of today’s EVs.</p> <p>Admittedly, these methods have limitations. The number of miles traveled could change significantly if <a href="https://theconversation.com/what-are-these-levels-of-autonomous-vehicles-96396">autonomous vehicles</a> become commonplace and more people rely on Uber, Lyft and other <a href="https://theconversation.com/to-uber-or-not-why-car-ownership-may-no-longer-be-a-good-deal-83558">vehicle sharing services</a>, for example. However, we believe our approach provides a good starting point for estimating future electricity demand if EVs become the norm.</p> <h2>Regional impacts</h2> <p>The U.S. electric grid has continually evolved to accommodate new demands throughout the <a href="https://theconversation.com/energy-transitions-are-nothing-new-but-the-one-underway-is-unprecedented-and-urgent-104821">last century</a>. But if the nation’s vehicles were to rapidly become electric, the grid would need to change faster. Depending on local driving habits and the grid infrastructure that’s already in place, our analysis shows that EVs will have different impacts in different regions.</p> <p>Since Texas and California <a href="https://www.eia.gov/electricity/state/unitedstates/">consume more electricity than any other states</a>, they provide a good snapshot of what a future filled with electric vehicles might look like. In both cases, an increase in EVs would drive consumption higher, with the potential to strain local infrastructure.</p> <p>If virtually all passenger cars in Texas were electrified today, the state would need approximately 110 more terawatt-hours of electricity per year – the average annual electricity consumption of <a href="https://www.eia.gov/tools/faqs/faq.php?id=97&amp;t=3">11 million homes</a>. The added electricity demand would result in a 30 percent increase over current consumption in Texas. </p> <p>By comparison, because of a more temperate climate, California might require nearly <a href="https://www.forbes.com/sites/ftodddavidson/2018/11/05/electric-vehicles-are-coming-and-new-england-and-california-better-watch-out/#6db24c932c41">50 percent more electricity</a> than it currently consumes if passenger vehicles in the state were fully electrified. That means California would need to generate an additional 120 terawatt-hours of electricity per year.</p> <h2>A tale of two grids</h2> <p>A look at the two states’ grids demonstrates how reliance on EVs for mobility could vary from place to place.</p> <p>On hot summer afternoons, Texas uses about <a href="https://www.forbes.com/sites/joshuarhodes/2018/07/19/texas-electric-grid-sets-new-system-wide-all-time-peak-demand-record-twice/#74aeb3e51521">half of the electricity</a> it generates to power air conditioning to keep buildings cool. The large seasonal variations in electricity demand due to air conditioning means the state has power plants that sit idle throughout many hours of the year. The spare capacity during off-peak hours could make it easier for Texas to meet future electricity demands of EVs.</p> <p>California’s more temperate climate means the state needs less electricity on summer days, and less demand variability on the grid overall. As a result, California has less generation capacity available than Texas to meet future charging demands from electric vehicles.</p> <p>In 2018, the Electric Reliability Council of Texas, the organization that manages most of Texas’s electric grid, hit a new peak demand of roughly <a href="http://www.ercot.com/content/wcm/lists/144927/Review_of_Summer_2018_ERCOT_Market_Performance_-_FINAL.pdf">73 gigawatts on July 19</a>. Looking at the off-peak hours for July 19, 2018, we found the ERCOT grid had spare capacity to provide more than 350 gigawatt-hours of additional electricity if idled power plants continued to operate throughout the day, not just during peak demand.</p> <p>Based on our estimates, the charging requirements for a fully electrified fleet of personal cars in Texas would be about 290 gigawatt-hours per day, less than the available surplus of generation capacity. In other words, the Texas grid could theoretically charge a fully electrified vehicle fleet today if vehicles were charged during off-peak hours.</p> <p>When we did the same analysis for California, however, we found that if EVs become the norm, it could push the total demand for electricity beyond the existing capacity of the Golden State’s grid.</p> <p><img src="https://cdn.theconversation.com/static_files/files/381/TX_CA_ideal_EVs_and_the_grid_ercot_caiso.gif?1543845692" width="100%"></p> <h2>Timing is everything</h2> <p>Perhaps even more important than how much electricity EVs would consume is the question of when it would be consumed.</p> <p>We based the above estimates on optimal, off-peak charging patterns. If instead most EVs were to be charged in the afternoon, the electricity grid would need more generation capacity to avoid outages.</p> <p><img src="https://cdn.theconversation.com/static_files/files/382/TX_CA_peak_EVs_and_the_grid_ercot_caiso.gif?1543845836" width="100%"></p> <p>To meet that demand, California and Texas would need to build new power plants or <a href="https://www.energy.ca.gov/almanac/electricity_data/total_system_power.html">buy more electricity</a> from neighboring states than they already do. The states might also need additional transmission and distribution infrastructure to accommodate new automotive <a href="https://www.nrel.gov/news/program/2018/analysis-quantifies-california-s-electric-vehicle-charging-infrastructure-needs.html">charging infrastructure</a>.</p> <p>All told, the transition to EVs from internal combustion engine vehicles <a href="https://www.lazard.com/media/450784/lazards-levelized-cost-of-energy-version-120-vfinal.pdf">could potentially cost</a> tens of billions of dollars in Texas and even more in California to install new electricity infrastructure if many vehicles were to be charged during peak hours. </p> <p>Incentives could reduce what it will cost to equip the grid for lots of electric vehicles. For example, utilities could charge different rates for electricity during different times of day and on different days of the week. Known as <a href="https://www.utilitydive.com/news/time-of-use-rates-can-manage-ev-charging-new-report-says/515284/">time-of-use</a> pricing, this practice can encourage vehicle charging when electricity is more abundant during off-peak hours and therefore cheaper to supply.</p> <p><a href="https://www.utilitydive.com/news/as-california-leads-way-with-tou-rates-some-call-for-simpler-solutions/532436/">California</a> and other areas, including <a href="https://austinenergy.com/ae/green-power/plug-in-austin/home-charging/ev360">Austin, Texas</a>, have already begun to use different strategies for implementing <a href="http://www.cpuc.ca.gov/General.aspx?id=12194">time-of-use rates</a>. Other regions might want to watch closely, and adopt the lessons learned in those places as the number of electric vehicles on the road rises.</p> <h2>The road ahead</h2> <p>While EVs might increase the amount of electricity the U.S. consumes, the investment required to accommodate them may be smaller than it appears. Many regions already have sufficient generation capacity if vehicles are charged during off-peak hours. The energy storage on board EVs could provide the flexibility needed to shift charging times and help grid operators better manage the supply and demand of electricity.</p> <p>What’s more, based on our calculations, the money Americans would save in fuel costs alone could offset these investments.</p> <p>For example, had most of California’s vehicles been electric by 2017, we estimate that its drivers would have saved around US$25 billion that year in fuel costs – based on the <a href="https://www.eia.gov/electricity/state/">average prices for electricity</a> and <a href="https://www.eia.gov/dnav/pet/pet_pri_gnd_dcus_sca_a.htm">gasoline</a>. </p> <p>In addition to fuel savings, some market analysts expect electric cars to be <a href="https://about.bnef.com/blog/electric-cars-reach-price-parity-2025/">cheaper than conventional vehicles</a> by 2026, another potential economic benefit. </p> <p>While it’s challenging to predict the future prices for gasoline, electricity and vehicles, we believe it is likely that the widespread use of EVs would reduce the overall costs of transportation in California and elsewhere. These savings are even greater if the environmental benefits, especially <a href="https://www.ucsusa.org/clean-vehicles/electric-vehicles/life-cycle-ev-emissions#.XAHWuOhKhPY">lower carbon emissions</a>, are taken into account.</p> <figure> <div class="placeholder-container" style="--aspect-ratio-percent:56.25%;--background-color:#fff"><iframe class="lazyload" data-src="https://www.youtube.com/embed/K9m9WDxmSN8?wmode=transparent&amp;start=0" frameborder="0" allowfullscreen="" width="100%" height="400"></iframe></div> <figcaption><span class="caption">The Union of Concerned Scientists has researched the carbon footprints of EVs versus gasoline-powered cars.</span></figcaption> </figure> </div> <div class="grid-ten grid-prepend-two large-grid-nine grid-last content-topics topic-list"> <i class="icon-tag"></i> <ul> <li class="topic-list-item"> <a href="/topics/infrastructure-848">Infrastructure</a> </li> <li class="topic-list-item"> <a href="/topics/autonomous-vehicles-1007">Autonomous vehicles</a> </li> <li class="topic-list-item"> <a href="/topics/automotive-industry-1826">Automotive industry</a> </li> <li class="topic-list-item"> <a href="/topics/transportation-13581">Transportation</a> </li> <li class="topic-list-item"> <a href="/topics/electrical-grid-17808">Electrical grid</a> </li> <li class="topic-list-item"> <a href="/topics/energy-transition-27122">Energy transition</a> </li> <li class="topic-list-item"> <a href="/topics/electrification-of-transportation-61799">Electrification of transportation</a> </li> <li class="topic-list-item"> <a href="/topics/electric-vehicles-evs-145458">Electric vehicles (EVs)</a> </li> </ul> </div> </div> <div class="slot grid-ten grid-prepend-two large-grid-nine grid-last mb5" data-id="15"></div> </div> <div class="wrapper"> <div class="react-content-related-container" data-article-id="106227"></div> </div> </article> <div id="comments-container"></div> <div class="page-addendum"> <div class="wrapper"> <div class="grid-eight"> <div id="addendum-events-list" class="addendum-block jobs-events-list events"> <h3 class="border slammed">Events</h3> <ul> </ul> <a class="view-more" href="/global/events"> <span class="action">More events</span> </a></div> </div> <div class="grid-eight grid-last"> <div id="addendum-jobs" class="addendum-block jobs jobs-events-list"> <h3 class="border slammed">Jobs</h3> <ul> <li class="with-logo"> <img alt="" class="lazyload" data-src="https://jobs.theconversation.com/uploads/job/logo/351283348/logo-1520549009.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="> <h5><a href="https://jobs.theconversation.com/jobs/351283348-deputy-director-of-medical-student-education-at-university-of-melbourne?utm_source=theconversation.com&amp;utm_medium=website&amp;utm_campaign=article">Deputy Director of Medical Student Education</a></h5> </li> <li class="with-logo"> <img alt="" class="lazyload" data-src="https://jobs.theconversation.com/uploads/job/logo/351070310/TC_Horizontal-ENG__1_.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="> <h5><a href="https://jobs.theconversation.com/jobs/351070310-public-policy-editor-at-the-conversation-au-nz?utm_source=theconversation.com&amp;utm_medium=website&amp;utm_campaign=article">Public Policy Editor</a></h5> </li> <li class="with-logo"> <img alt="" class="lazyload" data-src="https://jobs.theconversation.com/uploads/job/logo/351010396/3_monash.jpg" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="> <h5><a href="https://jobs.theconversation.com/jobs/351010396-ardc-project-management-office-manager-at-monash-university?utm_source=theconversation.com&amp;utm_medium=website&amp;utm_campaign=article">ARDC Project Management Office Manager</a></h5> </li> <li class="with-logo"> <img alt="" class="lazyload" data-src="https://jobs.theconversation.com/uploads/job/logo/350024422/Murdoch_University_extended_logo.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="> <h5><a href="https://jobs.theconversation.com/jobs/350024422-lecturer-senior-lecturer-in-indigenous-knowledges-at-murdoch-university?utm_source=theconversation.com&amp;utm_medium=website&amp;utm_campaign=article">Lecturer / Senior Lecturer in Indigenous Knowledges </a></h5> </li> <li class="with-logo"> <img alt="" class="lazyload" data-src="https://jobs.theconversation.com/uploads/job/logo/348233907/New_Logo.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="> <h5><a href="https://jobs.theconversation.com/jobs/348233907-commissioning-editor-nigeria-at-the-conversation-africa?utm_source=theconversation.com&amp;utm_medium=website&amp;utm_campaign=article">Commissioning Editor Nigeria</a></h5> </li> </ul> <a class="view-more clearfix" href="https://jobs.theconversation.com?utm_source=theconversation.com&amp;utm_medium=website&amp;utm_campaign=article_call_to_action"> <span class="action">More jobs</span> </a></div> </div> </div> </div> <script src="https://theconversation.com/javascripts/lib/content_tracker_hook.js" id="theconversation_tracker_hook" data-counter="https://counter.theconversation.com/content/106227/count" async="async"></script> </div> <div id="footers"> <section class="footer-primary"> <div class="wrapper nocontent"> <section class="community footer-link-list grid-five large-grid-four"> <nav> <ul> <li> <a href="https://drive.google.com/file/d/1DUkhOcnF1Ef1MpuKtGr7rbBAawO4XV48">Editorial Policies</a> </li> <li> <a href="/global/community-standards">Community standards</a> </li> <li> <a href="/global/republishing-guidelines">Republishing guidelines</a> </li> <li> <a href="https://analytics.theconversation.com/global">Analytics</a> </li> <li> <a href="/global/feeds">Our feeds</a> </li> <li> <a title="Sign up to receive our daily email newsletter" href="/global/newsletters/global-perspectives-6?utm_campaign=System&amp;utm_content=newsletter&amp;utm_medium=Footer&amp;utm_source=theconversation.com">Get newsletter</a> </li> </ul> </nav> </section> <section class="company footer-link-list grid-five large-grid-seven"> <nav> <ul> <li> <a href="/global/who-we-are">Who we are</a> </li> <li> <a href="/global/charter">Our charter</a> </li> <li> <a href="/global/team">Our team</a> </li> <li> <a href="/global/partners">Partners and funders</a> </li> <li> <a href="/global/resources-for-media">Resource for media</a> </li> <li> <a href="/global/contact-us">Contact us</a> </li> </ul> </nav> </section> <section class="grid-six large-grid-five grid-last"> <div class="sitewide-social-media"> <ul> <li class="facebook"> <a title="The Conversation on Facebook" rel="me" href="https://facebook.com/TheConversationGlobal">&#8203;</a> </li> <li class="twitter"> <a title="The Conversation on X (formerly Twitter)" rel="me" href="https://twitter.com/_TCGlobal">&#8203;</a> </li> <li class="linkedin"> <a title="The Conversation on LinkedIn" rel="me" href="https://www.linkedin.com/company/the-conversation-media-group">&#8203;</a> </li> </ul> </div> </section> </div> </section> <footer id="footer"> <div class="wrapper flex flex-col mx-auto pt-4 text-2xs md:flex-row 2xl:text-xs"> <nav class="flex flex-col gap-4 text-center md:flex-row"> <a class="mb-2" href="/global/privacy-policy">Privacy policy</a> <a class="mb-2" href="/global/terms-and-conditions">Terms and conditions</a> <a class="mb-2" href="/global/corrections">Corrections</a> </nav> <p class="copyright mx-auto mt-4 md:mt-0 lg:mr-0 lg:ml-auto"> Copyright © 2010–2024, <a href="https://theconversation.com/global/who-we-are">The Conversation</a> </p> </div> </footer> </div> </div> <div class="slot" data-id="13"></div> <script src="https://cdn.theconversation.com/static/tc/content-cf7bae48ba0cf801b6fd.js"></script> <script src="https://cdn.theconversation.com/static/tc/gtm_data_layer-2f5b94c0bf06c1289d2a.js"></script> <script> //<![CDATA[ TC.locale = "en-GLOBAL"; TC.env = "production"; TC.pageType = "content#show"; TC.localePath = "https://cdn.theconversation.com/static/tc/en-GLOBAL-ed4f7f5299604cb20356743faad128d3.json"; TC.bugsnagConfig = {"apiKey":"e6966b978008ed1612ea7793efb88e93","appVersion":"39bb155e1fcf00099c87c61b2593cfc93847fdf7","collectUserIp":false,"releaseStage":"production","notifyReleaseStages":["development","staging","production"]}; TC.init = function() { TC.EntrypointInitializer() } //]]> </script> <script> //<![CDATA[ "use strict";(self.webpackChunktc=self.webpackChunktc||[]).push([[952],{51250:function(e,t,s){s(52146).A.init(TC.localePath,TC.locale,!1,TC.init)},52146:function(e,t,s){s.d(t,{A:function(){return R}});var i=s(23029),n=s(92901),o=[],r=o.forEach,a=o.slice;function l(e,t,s,i){var n=e.read.bind(e);if(2!==n.length)n(t,s,i);else try{var o=n(t,s);o&&"function"==typeof o.then?o.then((function(e){return i(null,e)})).catch(i):i(null,o)}catch(e){i(e)}}var c=function(){function e(t){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(0,i.A)(this,e),this.backends=[],this.type="backend",this.allOptions=n,this.init(t,s)}return(0,n.A)(e,[{key:"init",value:function(e){var t=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.services=e,this.options=function(e){return r.call(a.call(arguments,1),(function(t){if(t)for(var s in t)void 0===e[s]&&(e[s]=t[s])})),e}(s,this.options||{},{handleEmptyResourcesAsFailed:!0,cacheHitMode:"none"}),this.allOptions=i,this.options.backends&&this.options.backends.forEach((function(s,n){var o;t.backends[n]=t.backends[n]||((o=s)?"function"==typeof o?new o:o:null),t.backends[n].init(e,t.options.backendOptions&&t.options.backendOptions[n]||{},i)})),this.services&&this.options.reloadInterval&&setInterval((function(){return t.reload()}),this.options.reloadInterval)}},{key:"read",value:function(e,t,s){var i=this,n=this.backends.length,o=function s(n,o){if(!(n<0)){var r=i.backends[n];r.save?(r.save(e,t,o),s(n-1,o)):s(n-1,o)}};!function r(a){if(a>=n)return s(new Error("non of the backend loaded data",!0));var c=a===n-1,u=i.options.handleEmptyResourcesAsFailed&&!c?0:-1,h=i.backends[a];h.read?l(h,e,t,(function(n,c,p){if(!n&&c&&Object.keys(c).length>u){if(s(null,c,a),o(a-1,c),h.save&&i.options.cacheHitMode&&["refresh","refreshAndUpdateStore"].indexOf(i.options.cacheHitMode)>-1){if(p&&i.options.refreshExpirationTime&&p+i.options.refreshExpirationTime>Date.now())return;var g=i.backends[a+1];g&&g.read&&l(g,e,t,(function(s,n){s||n&&(Object.keys(n).length<=u||(o(a,n),"refreshAndUpdateStore"===i.options.cacheHitMode&&i.services&&i.services.resourceStore&&i.services.resourceStore.addResourceBundle(e,t,n)))}))}}else r(a+1)})):r(a+1)}(0)}},{key:"create",value:function(e,t,s,i){var n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){},o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};this.backends.forEach((function(r){if(r.create){var a=r.create.bind(r);if(a.length<6)try{var l;(l=5===a.length?a(e,t,s,i,o):a(e,t,s,i))&&"function"==typeof l.then?l.then((function(e){return n(null,e)})).catch(n):n(null,l)}catch(e){n(e)}else a(e,t,s,i,n,o)}}))}},{key:"reload",value:function(){var e=this,t=this.services,s=t.backendConnector,i=t.languageUtils,n=t.logger,o=s.language;if(!o||"cimode"!==o.toLowerCase()){var r=[],a=function(e){i.toResolveHierarchy(e).forEach((function(e){r.indexOf(e)<0&&r.push(e)}))};a(o),this.allOptions.preload&&this.allOptions.preload.forEach((function(e){return a(e)})),r.forEach((function(t){e.allOptions.ns.forEach((function(e){s.read(t,e,"read",null,null,(function(i,o){i&&n.warn("loading namespace ".concat(e," for language ").concat(t," failed"),i),!i&&o&&n.log("loaded namespace ".concat(e," for language ").concat(t),o),s.loaded("".concat(t,"|").concat(e),i,o)}))}))}))}}}]),e}();c.type="backend";var u=s(72635),h=s(64467);function p(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,i)}return s}function g(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?p(Object(s),!0).forEach((function(t){(0,h.A)(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):p(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}var d=function(){function e(t){(0,i.A)(this,e),this.store=t.store}return(0,n.A)(e,[{key:"setItem",value:function(e,t){if(this.store)try{this.store.setItem(e,t)}catch(e){}}},{key:"getItem",value:function(e,t){if(this.store)try{return this.store.getItem(e,t)}catch(e){}}}]),e}();var f=function(){function e(t){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,i.A)(this,e),this.init(t,s),this.type="backend"}return(0,n.A)(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.services=e,this.options=g(g(g({},function(){var e=null;try{e=window.localStorage}catch(e){"undefined"!=typeof window&&console.log("Failed to load local storage.",e)}return{prefix:"i18next_res_",expirationTime:6048e5,defaultVersion:void 0,versions:{},store:e}}()),this.options),t),this.storage=new d(this.options)}},{key:"read",value:function(e,t,s){var i=Date.now();if(!this.storage.store)return s(null,null);var n=this.storage.getItem("".concat(this.options.prefix).concat(e,"-").concat(t));if(n){n=JSON.parse(n);var o=this.getVersion(e);if(n.i18nStamp&&n.i18nStamp+this.options.expirationTime>i&&o===n.i18nVersion){var r=n.i18nStamp;return delete n.i18nVersion,delete n.i18nStamp,s(null,n,r)}}return s(null,null)}},{key:"save",value:function(e,t,s){if(this.storage.store){s.i18nStamp=Date.now();var i=this.getVersion(e);i&&(s.i18nVersion=i),this.storage.setItem("".concat(this.options.prefix).concat(e,"-").concat(t),JSON.stringify(s))}}},{key:"getVersion",value:function(e){return this.options.versions[e]||this.options.defaultVersion}}]),e}();f.type="backend";var m=s(62046),y=s(80030),v=s(82284),b=[],x=b.forEach,k=b.slice;function S(e,t){if(t&&"object"===(0,v.A)(t)){var s="",i=encodeURIComponent;for(var n in t)s+="&"+i(n)+"="+i(t[n]);if(!s)return e;e=e+(-1!==e.indexOf("?")?"&":"?")+s.slice(1)}return e}function O(e,t,s,i,n){i&&"object"===(0,v.A)(i)&&(n||(i._t=new Date),i=S("",i).slice(1)),t.queryStringParams&&(e=S(e,t.queryStringParams));try{var o;(o=XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("MSXML2.XMLHTTP.3.0")).open(i?"POST":"GET",e,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,i&&o.setRequestHeader("Content-type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var r=t.customHeaders;if(r="function"==typeof r?r():r)for(var a in r)o.setRequestHeader(a,r[a]);o.onreadystatechange=function(){o.readyState>3&&s&&s(o.responseText,o)},o.send(i)}catch(e){console&&console.log(e)}}var w=function(){function e(t){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,i.A)(this,e),this.init(t,s),this.type="backend"}return(0,n.A)(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.services=e,this.options=function(e){return x.call(k.call(arguments,1),(function(t){if(t)for(var s in t)void 0===e[s]&&(e[s]=t[s])})),e}(t,this.options||{},{loadPath:"/locales/{{lng}}/{{ns}}.json",addPath:"/locales/add/{{lng}}/{{ns}}",allowMultiLoading:!1,parse:JSON.parse,parsePayload:function(e,t,s){return(0,h.A)({},t,s||"")},crossDomain:!1,ajax:O})}},{key:"readMulti",value:function(e,t,s){var i=this.options.loadPath;"function"==typeof this.options.loadPath&&(i=this.options.loadPath(e,t));var n=this.services.interpolator.interpolate(i,{lng:e.join("+"),ns:t.join("+")});this.loadUrl(n,s)}},{key:"read",value:function(e,t,s){var i=this.options.loadPath;"function"==typeof this.options.loadPath&&(i=this.options.loadPath([e],[t]));var n=this.services.interpolator.interpolate(i,{lng:e,ns:t});this.loadUrl(n,s)}},{key:"loadUrl",value:function(e,t){var s=this;this.options.ajax(e,this.options,(function(i,n){if(n.status>=500&&n.status<600)return t("failed loading "+e,!0);if(n.status>=400&&n.status<500)return t("failed loading "+e,!1);var o,r;try{o=s.options.parse(i,e)}catch(t){r="failed parsing "+e+" to json"}if(r)return t(r,!1);t(null,o)}))}},{key:"create",value:function(e,t,s,i){var n=this;"string"==typeof e&&(e=[e]);var o=this.options.parsePayload(t,s,i);e.forEach((function(e){var s=n.services.interpolator.interpolate(n.options.addPath,{lng:e,ns:t});n.options.ajax(s,n.options,(function(e,t){}),o)}))}}]),e}();w.type="backend";var L=w;function P(e,t){for(var s=0;s<t.length;s++){var i=t[s];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}var R=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,s,i;return t=e,i=[{key:"init",value:function(e,t,s,i){var n,o,r,a=[];(0,m.A)()&&a.push(f),a.push(L),u.Ay.use(c).init({backend:{backends:a,backendOptions:[{versions:(n={},o=t,r=e,o in n?Object.defineProperty(n,o,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[o]=r,n)},{crossDomain:s,loadPath:e}]},lng:t},(function(e){e&&e.length&&(0,y.A)("/no_js_locale?message=".concat(e[0]));try{i()}catch(e){throw(0,y.A)("/js_init_failure?message=".concat(e)),e}}))}},{key:"t",value:function(){return u.Ay.t.apply(u.Ay,arguments)||(arguments.length<=0?void 0:arguments[0])}}],(s=null)&&P(t.prototype,s),i&&P(t,i),e}()},62046:function(e,t,s){function i(){var e="local-storage-availability-test";try{return window.localStorage.setItem(e,e),window.localStorage.getItem(e),window.localStorage.removeItem(e),!0}catch(e){return!1}}s.d(t,{A:function(){return i}})},80030:function(e,t){t.A=function(e){var t=!1;window.XMLHttpRequest?t=new XMLHttpRequest:window.ActiveXObject&&(t=new ActiveXObject("Microsoft.XMLHTTP")),!1!==t&&(t.open("GET",e,!0),t.send())}},23029:function(e,t,s){function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}s.d(t,{A:function(){return i}})},92901:function(e,t,s){s.d(t,{A:function(){return o}});var i=s(20816);function n(e,t){for(var s=0;s<t.length;s++){var n=t[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,(0,i.A)(n.key),n)}}function o(e,t,s){return t&&n(e.prototype,t),s&&n(e,s),Object.defineProperty(e,"prototype",{writable:!1}),e}},64467:function(e,t,s){s.d(t,{A:function(){return n}});var i=s(20816);function n(e,t,s){return(t=(0,i.A)(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}},20816:function(e,t,s){s.d(t,{A:function(){return n}});var i=s(82284);function n(e){var t=function(e,t){if("object"!=(0,i.A)(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var n=s.call(e,t||"default");if("object"!=(0,i.A)(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==(0,i.A)(t)?t:t+""}},82284:function(e,t,s){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}s.d(t,{A:function(){return i}})},72635:function(e,t,s){s.d(t,{Ay:function(){return q}});const i={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class n{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||i,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"log","",!0)}warn(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"warn","",!0)}error(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"error","")}deprecate(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,s,i){return i&&!this.debug?null:("string"==typeof e[0]&&(e[0]=`${s}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new n(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new n(this.logger,e)}}var o=new n;class r{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach((e=>{this.observers[e]||(this.observers[e]=new Map);const s=this.observers[e].get(t)||0;this.observers[e].set(t,s+1)})),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i<t;i++)s[i-1]=arguments[i];if(this.observers[e]){Array.from(this.observers[e].entries()).forEach((e=>{let[t,i]=e;for(let e=0;e<i;e++)t(...s)}))}if(this.observers["*"]){Array.from(this.observers["*"].entries()).forEach((t=>{let[i,n]=t;for(let t=0;t<n;t++)i.apply(i,[e,...s])}))}}}const a=()=>{let e,t;const s=new Promise(((s,i)=>{e=s,t=i}));return s.resolve=e,s.reject=t,s},l=e=>null==e?"":""+e,c=/###/g,u=e=>e&&e.indexOf("###")>-1?e.replace(c,"."):e,h=e=>!e||"string"==typeof e,p=(e,t,s)=>{const i="string"!=typeof t?t:t.split(".");let n=0;for(;n<i.length-1;){if(h(e))return{};const t=u(i[n]);!e[t]&&s&&(e[t]=new s),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++n}return h(e)?{}:{obj:e,k:u(i[n])}},g=(e,t,s)=>{const{obj:i,k:n}=p(e,t,Object);if(void 0!==i||1===t.length)return void(i[n]=s);let o=t[t.length-1],r=t.slice(0,t.length-1),a=p(e,r,Object);for(;void 0===a.obj&&r.length;)o=`${r[r.length-1]}.${o}`,r=r.slice(0,r.length-1),a=p(e,r,Object),a&&a.obj&&void 0!==a.obj[`${a.k}.${o}`]&&(a.obj=void 0);a.obj[`${a.k}.${o}`]=s},d=(e,t)=>{const{obj:s,k:i}=p(e,t);if(s)return s[i]},f=(e,t,s)=>{for(const i in t)"__proto__"!==i&&"constructor"!==i&&(i in e?"string"==typeof e[i]||e[i]instanceof String||"string"==typeof t[i]||t[i]instanceof String?s&&(e[i]=t[i]):f(e[i],t[i],s):e[i]=t[i]);return e},m=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var y={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};const v=e=>"string"==typeof e?e.replace(/[&<>"'\/]/g,(e=>y[e])):e;const b=[" ",",","?","!",";"],x=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(void 0!==t)return t;const s=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,s),this.regExpQueue.push(e),s}}(20),k=function(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(!e)return;if(e[t])return e[t];const i=t.split(s);let n=e;for(let e=0;e<i.length;){if(!n||"object"!=typeof n)return;let t,o="";for(let r=e;r<i.length;++r)if(r!==e&&(o+=s),o+=i[r],t=n[o],void 0!==t){if(["string","number","boolean"].indexOf(typeof t)>-1&&r<i.length-1)continue;e+=r-e+1;break}n=t}return n},S=e=>e&&e.replace("_","-");class O extends r{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const n=void 0!==i.keySeparator?i.keySeparator:this.options.keySeparator,o=void 0!==i.ignoreJSONStructure?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let r;e.indexOf(".")>-1?r=e.split("."):(r=[e,t],s&&(Array.isArray(s)?r.push(...s):"string"==typeof s&&n?r.push(...s.split(n)):r.push(s)));const a=d(this.data,r);return!a&&!t&&!s&&e.indexOf(".")>-1&&(e=r[0],t=r[1],s=r.slice(2).join(".")),a||!o||"string"!=typeof s?a:k(this.data&&this.data[e]&&this.data[e][t],s,n)}addResource(e,t,s,i){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const o=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator;let r=[e,t];s&&(r=r.concat(o?s.split(o):s)),e.indexOf(".")>-1&&(r=e.split("."),i=t,t=r[1]),this.addNamespaces(t),g(this.data,r,i),n.silent||this.emit("added",e,t,s,i)}addResources(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(const i in s)("string"==typeof s[i]||Array.isArray(s[i]))&&this.addResource(e,t,i,s[i],{silent:!0});i.silent||this.emit("added",e,t,s)}addResourceBundle(e,t,s,i,n){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1,skipCopy:!1},r=[e,t];e.indexOf(".")>-1&&(r=e.split("."),i=s,s=t,t=r[1]),this.addNamespaces(t);let a=d(this.data,r)||{};o.skipCopy||(s=JSON.parse(JSON.stringify(s))),i?f(a,s,n):a={...a,...s},g(this.data,r,a),o.silent||this.emit("added",e,t,s)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI?{...this.getResource(e,t)}:this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((e=>t[e]&&Object.keys(t[e]).length>0))}toJSON(){return this.data}}var w={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,s,i,n){return e.forEach((e=>{this.processors[e]&&(t=this.processors[e].process(t,s,i,n))})),t}};const L={};class P extends r{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),((e,t,s)=>{e.forEach((e=>{t[e]&&(s[e]=t[e])}))})(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=o.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;const s=this.resolve(e,t);return s&&void 0!==s.res}extractFromKey(e,t){let s=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===s&&(s=":");const i=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator;let n=t.ns||this.options.defaultNS||[];const o=s&&e.indexOf(s)>-1,r=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||((e,t,s)=>{t=t||"",s=s||"";const i=b.filter((e=>t.indexOf(e)<0&&s.indexOf(e)<0));if(0===i.length)return!0;const n=x.getRegExp(`(${i.map((e=>"?"===e?"\\?":e)).join("|")})`);let o=!n.test(e);if(!o){const t=e.indexOf(s);t>0&&!n.test(e.substring(0,t))&&(o=!0)}return o})(e,s,i));if(o&&!r){const t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:n};const o=e.split(s);(s!==i||s===i&&this.options.ns.indexOf(o[0])>-1)&&(n=o.shift()),e=o.join(i)}return"string"==typeof n&&(n=[n]),{key:e,namespaces:n}}translate(e,t,s){if("object"!=typeof t&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof t&&(t={...t}),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);const i=void 0!==t.returnDetails?t.returnDetails:this.options.returnDetails,n=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,{key:o,namespaces:r}=this.extractFromKey(e[e.length-1],t),a=r[r.length-1],l=t.lng||this.language,c=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(l&&"cimode"===l.toLowerCase()){if(c){const e=t.nsSeparator||this.options.nsSeparator;return i?{res:`${a}${e}${o}`,usedKey:o,exactUsedKey:o,usedLng:l,usedNS:a,usedParams:this.getUsedParamsDetails(t)}:`${a}${e}${o}`}return i?{res:o,usedKey:o,exactUsedKey:o,usedLng:l,usedNS:a,usedParams:this.getUsedParamsDetails(t)}:o}const u=this.resolve(e,t);let h=u&&u.res;const p=u&&u.usedKey||o,g=u&&u.exactUsedKey||o,d=Object.prototype.toString.apply(h),f=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,m=!this.i18nFormat||this.i18nFormat.handleAsObject;if(m&&h&&("string"!=typeof h&&"boolean"!=typeof h&&"number"!=typeof h)&&["[object Number]","[object Function]","[object RegExp]"].indexOf(d)<0&&("string"!=typeof f||!Array.isArray(h))){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(p,h,{...t,ns:r}):`key '${o} (${this.language})' returned an object instead of string.`;return i?(u.res=e,u.usedParams=this.getUsedParamsDetails(t),u):e}if(n){const e=Array.isArray(h),s=e?[]:{},i=e?g:p;for(const e in h)if(Object.prototype.hasOwnProperty.call(h,e)){const o=`${i}${n}${e}`;s[e]=this.translate(o,{...t,joinArrays:!1,ns:r}),s[e]===o&&(s[e]=h[e])}h=s}}else if(m&&"string"==typeof f&&Array.isArray(h))h=h.join(f),h&&(h=this.extendTranslation(h,e,t,s));else{let i=!1,r=!1;const c=void 0!==t.count&&"string"!=typeof t.count,p=P.hasDefaultValue(t),g=c?this.pluralResolver.getSuffix(l,t.count,t):"",d=t.ordinal&&c?this.pluralResolver.getSuffix(l,t.count,{ordinal:!1}):"",f=c&&!t.ordinal&&0===t.count&&this.pluralResolver.shouldUseIntlApi(),m=f&&t[`defaultValue${this.options.pluralSeparator}zero`]||t[`defaultValue${g}`]||t[`defaultValue${d}`]||t.defaultValue;!this.isValidLookup(h)&&p&&(i=!0,h=m),this.isValidLookup(h)||(r=!0,h=o);const y=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&r?void 0:h,v=p&&m!==h&&this.options.updateMissing;if(r||i||v){if(this.logger.log(v?"updateKey":"missingKey",l,a,o,v?m:h),n){const e=this.resolve(o,{...t,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[];const s=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&s&&s[0])for(let t=0;t<s.length;t++)e.push(s[t]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(t.lng||this.language):e.push(t.lng||this.language);const i=(e,s,i)=>{const n=p&&i!==h?i:y;this.options.missingKeyHandler?this.options.missingKeyHandler(e,a,s,n,v,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(e,a,s,n,v,t),this.emit("missingKey",e,a,s,h)};this.options.saveMissing&&(this.options.saveMissingPlurals&&c?e.forEach((e=>{const s=this.pluralResolver.getSuffixes(e,t);f&&t[`defaultValue${this.options.pluralSeparator}zero`]&&s.indexOf(`${this.options.pluralSeparator}zero`)<0&&s.push(`${this.options.pluralSeparator}zero`),s.forEach((s=>{i([e],o+s,t[`defaultValue${s}`]||m)}))})):i(e,o,m))}h=this.extendTranslation(h,e,t,u,s),r&&h===o&&this.options.appendNamespaceToMissingKey&&(h=`${a}:${o}`),(r||i)&&this.options.parseMissingKeyHandler&&(h="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${a}:${o}`:o,i?h:void 0):this.options.parseMissingKeyHandler(h))}return i?(u.res=h,u.usedParams=this.getUsedParamsDetails(t),u):h}extendTranslation(e,t,s,i,n){var o=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...s},s.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!s.skipInterpolation){s.interpolation&&this.interpolator.init({...s,interpolation:{...this.options.interpolation,...s.interpolation}});const r="string"==typeof e&&(s&&s.interpolation&&void 0!==s.interpolation.skipOnVariables?s.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let a;if(r){const t=e.match(this.interpolator.nestingRegexp);a=t&&t.length}let l=s.replace&&"string"!=typeof s.replace?s.replace:s;if(this.options.interpolation.defaultVariables&&(l={...this.options.interpolation.defaultVariables,...l}),e=this.interpolator.interpolate(e,l,s.lng||this.language||i.usedLng,s),r){const t=e.match(this.interpolator.nestingRegexp);a<(t&&t.length)&&(s.nest=!1)}!s.lng&&"v1"!==this.options.compatibilityAPI&&i&&i.res&&(s.lng=this.language||i.usedLng),!1!==s.nest&&(e=this.interpolator.nest(e,(function(){for(var e=arguments.length,i=new Array(e),r=0;r<e;r++)i[r]=arguments[r];return n&&n[0]===i[0]&&!s.context?(o.logger.warn(`It seems you are nesting recursively key: ${i[0]} in key: ${t[0]}`),null):o.translate(...i,t)}),s)),s.interpolation&&this.interpolator.reset()}const r=s.postProcess||this.options.postProcess,a="string"==typeof r?[r]:r;return null!=e&&a&&a.length&&!1!==s.applyPostProcessor&&(e=w.handle(a,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...i,usedParams:this.getUsedParamsDetails(s)},...s}:s,this)),e}resolve(e){let t,s,i,n,o,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach((e=>{if(this.isValidLookup(t))return;const a=this.extractFromKey(e,r),l=a.key;s=l;let c=a.namespaces;this.options.fallbackNS&&(c=c.concat(this.options.fallbackNS));const u=void 0!==r.count&&"string"!=typeof r.count,h=u&&!r.ordinal&&0===r.count&&this.pluralResolver.shouldUseIntlApi(),p=void 0!==r.context&&("string"==typeof r.context||"number"==typeof r.context)&&""!==r.context,g=r.lngs?r.lngs:this.languageUtils.toResolveHierarchy(r.lng||this.language,r.fallbackLng);c.forEach((e=>{this.isValidLookup(t)||(o=e,!L[`${g[0]}-${e}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(o)&&(L[`${g[0]}-${e}`]=!0,this.logger.warn(`key "${s}" for languages "${g.join(", ")}" won't get resolved as namespace "${o}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),g.forEach((s=>{if(this.isValidLookup(t))return;n=s;const o=[l];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(o,l,s,e,r);else{let e;u&&(e=this.pluralResolver.getSuffix(s,r.count,r));const t=`${this.options.pluralSeparator}zero`,i=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(u&&(o.push(l+e),r.ordinal&&0===e.indexOf(i)&&o.push(l+e.replace(i,this.options.pluralSeparator)),h&&o.push(l+t)),p){const s=`${l}${this.options.contextSeparator}${r.context}`;o.push(s),u&&(o.push(s+e),r.ordinal&&0===e.indexOf(i)&&o.push(s+e.replace(i,this.options.pluralSeparator)),h&&o.push(s+t))}}let a;for(;a=o.pop();)this.isValidLookup(t)||(i=a,t=this.getResource(s,e,a,r))})))}))})),{res:t,usedKey:s,exactUsedKey:i,usedLng:n,usedNS:o}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,s,i):this.resourceStore.getResource(e,t,s,i)}getUsedParamsDetails(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],s=e.replace&&"string"!=typeof e.replace;let i=s?e.replace:e;if(s&&void 0!==e.count&&(i.count=e.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!s){i={...i};for(const e of t)delete i[e]}return i}static hasDefaultValue(e){const t="defaultValue";for(const s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&t===s.substring(0,12)&&void 0!==e[s])return!0;return!1}}const R=e=>e.charAt(0).toUpperCase()+e.slice(1);class C{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=o.create("languageUtils")}getScriptPartFromCode(e){if(!(e=S(e))||e.indexOf("-")<0)return null;const t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}getLanguagePartFromCode(e){if(!(e=S(e))||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if("string"==typeof e&&e.indexOf("-")>-1){if("undefined"!=typeof Intl&&void 0!==Intl.getCanonicalLocales)try{let t=Intl.getCanonicalLocales(e)[0];if(t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t)return t}catch(e){}const t=["hans","hant","latn","cyrl","cans","mong","arab"];let s=e.split("-");return this.options.lowerCaseLng?s=s.map((e=>e.toLowerCase())):2===s.length?(s[0]=s[0].toLowerCase(),s[1]=s[1].toUpperCase(),t.indexOf(s[1].toLowerCase())>-1&&(s[1]=R(s[1].toLowerCase()))):3===s.length&&(s[0]=s[0].toLowerCase(),2===s[1].length&&(s[1]=s[1].toUpperCase()),"sgn"!==s[0]&&2===s[2].length&&(s[2]=s[2].toUpperCase()),t.indexOf(s[1].toLowerCase())>-1&&(s[1]=R(s[1].toLowerCase())),t.indexOf(s[2].toLowerCase())>-1&&(s[2]=R(s[2].toLowerCase()))),s.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach((e=>{if(t)return;const s=this.formatLanguageCode(e);this.options.supportedLngs&&!this.isSupportedCode(s)||(t=s)})),!t&&this.options.supportedLngs&&e.forEach((e=>{if(t)return;const s=this.getLanguagePartFromCode(e);if(this.isSupportedCode(s))return t=s;t=this.options.supportedLngs.find((e=>e===s?e:e.indexOf("-")<0&&s.indexOf("-")<0?void 0:e.indexOf("-")>0&&s.indexOf("-")<0&&e.substring(0,e.indexOf("-"))===s||0===e.indexOf(s)&&s.length>1?e:void 0))})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let s=e[t];return s||(s=e[this.getScriptPartFromCode(t)]),s||(s=e[this.formatLanguageCode(t)]),s||(s=e[this.getLanguagePartFromCode(t)]),s||(s=e.default),s||[]}toResolveHierarchy(e,t){const s=this.getFallbackCodes(t||this.options.fallbackLng||[],e),i=[],n=e=>{e&&(this.isSupportedCode(e)?i.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return"string"==typeof e&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&n(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&n(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&n(this.getLanguagePartFromCode(e))):"string"==typeof e&&n(this.formatLanguageCode(e)),s.forEach((e=>{i.indexOf(e)<0&&n(this.formatLanguageCode(e))})),i}}let N=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],j={1:e=>Number(e>1),2:e=>Number(1!=e),3:e=>0,4:e=>Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2),5:e=>Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5),6:e=>Number(1==e?0:e>=2&&e<=4?1:2),7:e=>Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2),8:e=>Number(1==e?0:2==e?1:8!=e&&11!=e?2:3),9:e=>Number(e>=2),10:e=>Number(1==e?0:2==e?1:e<7?2:e<11?3:4),11:e=>Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3),12:e=>Number(e%10!=1||e%100==11),13:e=>Number(0!==e),14:e=>Number(1==e?0:2==e?1:3==e?2:3),15:e=>Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2),16:e=>Number(e%10==1&&e%100!=11?0:0!==e?1:2),17:e=>Number(1==e||e%10==1&&e%100!=11?0:1),18:e=>Number(0==e?0:1==e?1:2),19:e=>Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3),20:e=>Number(1==e?0:0==e||e%100>0&&e%100<20?1:2),21:e=>Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0),22:e=>Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)};const $=["v1","v2","v3"],A=["v4"],E={zero:0,one:1,two:2,few:3,many:4,other:5};class I{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=o.create("pluralResolver"),this.options.compatibilityJSON&&!A.includes(this.options.compatibilityJSON)||"undefined"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=(()=>{const e={};return N.forEach((t=>{t.lngs.forEach((s=>{e[s]={numbers:t.nr,plurals:j[t.fc]}}))})),e})(),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{const s=S("dev"===e?"en":e),i=t.ordinal?"ordinal":"cardinal",n=JSON.stringify({cleanedCode:s,type:i});if(n in this.pluralRulesCache)return this.pluralRulesCache[n];const o=new Intl.PluralRules(s,{type:i});return this.pluralRulesCache[n]=o,o}catch(e){return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}needsPlural(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=this.getRule(e,t);return this.shouldUseIntlApi()?s&&s.resolvedOptions().pluralCategories.length>1:s&&s.numbers.length>1}getPluralFormsOfKey(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,s).map((e=>`${t}${e}`))}getSuffixes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=this.getRule(e,t);return s?this.shouldUseIntlApi()?s.resolvedOptions().pluralCategories.sort(((e,t)=>E[e]-E[t])).map((e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`)):s.numbers.map((s=>this.getSuffix(e,s,t))):[]}getSuffix(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=this.getRule(e,s);return i?this.shouldUseIntlApi()?`${this.options.prepend}${s.ordinal?`ordinal${this.options.prepend}`:""}${i.select(t)}`:this.getSuffixRetroCompatible(i,t):(this.logger.warn(`no plural rule found for: ${e}`),"")}getSuffixRetroCompatible(e,t){const s=e.noAbs?e.plurals(t):e.plurals(Math.abs(t));let i=e.numbers[s];this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]&&(2===i?i="plural":1===i&&(i=""));const n=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return"v1"===this.options.compatibilityJSON?1===i?"":"number"==typeof i?`_plural_${i.toString()}`:n():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?n():this.options.prepend&&s.toString()?this.options.prepend+s.toString():s.toString()}shouldUseIntlApi(){return!$.includes(this.options.compatibilityJSON)}}const T=function(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",n=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=((e,t,s)=>{const i=d(e,s);return void 0!==i?i:d(t,s)})(e,t,s);return!o&&n&&"string"==typeof s&&(o=k(e,s,i),void 0===o&&(o=k(t,s,i))),o},D=e=>e.replace(/\$/g,"$$$$");class F{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=o.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||(e=>e),this.init(e)}init(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:s,useRawValueToEscape:i,prefix:n,prefixEscaped:o,suffix:r,suffixEscaped:a,formatSeparator:l,unescapeSuffix:c,unescapePrefix:u,nestingPrefix:h,nestingPrefixEscaped:p,nestingSuffix:g,nestingSuffixEscaped:d,nestingOptionsSeparator:f,maxReplaces:y,alwaysFormat:b}=e.interpolation;this.escape=void 0!==t?t:v,this.escapeValue=void 0===s||s,this.useRawValueToEscape=void 0!==i&&i,this.prefix=n?m(n):o||"{{",this.suffix=r?m(r):a||"}}",this.formatSeparator=l||",",this.unescapePrefix=c?"":u||"-",this.unescapeSuffix=this.unescapePrefix?"":c||"",this.nestingPrefix=h?m(h):p||m("$t("),this.nestingSuffix=g?m(g):d||m(")"),this.nestingOptionsSeparator=f||",",this.maxReplaces=y||1e3,this.alwaysFormat=void 0!==b&&b,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(e,t)=>e&&e.source===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,t,s,i){let n,o,r;const a=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},c=e=>{if(e.indexOf(this.formatSeparator)<0){const n=T(t,a,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(n,void 0,s,{...i,...t,interpolationkey:e}):n}const n=e.split(this.formatSeparator),o=n.shift().trim(),r=n.join(this.formatSeparator).trim();return this.format(T(t,a,o,this.options.keySeparator,this.options.ignoreJSONStructure),r,s,{...i,...t,interpolationkey:o})};this.resetRegExp();const u=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,h=i&&i.interpolation&&void 0!==i.interpolation.skipOnVariables?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>D(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?D(this.escape(e)):D(e)}].forEach((t=>{for(r=0;n=t.regex.exec(e);){const s=n[1].trim();if(o=c(s),void 0===o)if("function"==typeof u){const t=u(e,n,i);o="string"==typeof t?t:""}else if(i&&Object.prototype.hasOwnProperty.call(i,s))o="";else{if(h){o=n[0];continue}this.logger.warn(`missed to pass in variable ${s} for interpolating ${e}`),o=""}else"string"==typeof o||this.useRawValueToEscape||(o=l(o));const a=t.safeValue(o);if(e=e.replace(n[0],a),h?(t.regex.lastIndex+=o.length,t.regex.lastIndex-=n[0].length):t.regex.lastIndex=0,r++,r>=this.maxReplaces)break}})),e}nest(e,t){let s,i,n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=(e,t)=>{const s=this.nestingOptionsSeparator;if(e.indexOf(s)<0)return e;const i=e.split(new RegExp(`${s}[ ]*{`));let o=`{${i[1]}`;e=i[0],o=this.interpolate(o,n);const r=o.match(/'/g),a=o.match(/"/g);(r&&r.length%2==0&&!a||a.length%2!=0)&&(o=o.replace(/'/g,'"'));try{n=JSON.parse(o),t&&(n={...t,...n})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${s}${o}`}return n.defaultValue&&n.defaultValue.indexOf(this.prefix)>-1&&delete n.defaultValue,e};for(;s=this.nestingRegexp.exec(e);){let a=[];n={...o},n=n.replace&&"string"!=typeof n.replace?n.replace:n,n.applyPostProcessor=!1,delete n.defaultValue;let c=!1;if(-1!==s[0].indexOf(this.formatSeparator)&&!/{.*}/.test(s[1])){const e=s[1].split(this.formatSeparator).map((e=>e.trim()));s[1]=e.shift(),a=e,c=!0}if(i=t(r.call(this,s[1].trim(),n),n),i&&s[0]===e&&"string"!=typeof i)return i;"string"!=typeof i&&(i=l(i)),i||(this.logger.warn(`missed to resolve ${s[1]} for nesting ${e}`),i=""),c&&(i=a.reduce(((e,t)=>this.format(e,t,o.lng,{...o,interpolationkey:s[1].trim()})),i.trim())),e=e.replace(s[0],i),this.regexp.lastIndex=0}return e}}const V=e=>{const t={};return(s,i,n)=>{let o=n;n&&n.interpolationkey&&n.formatParams&&n.formatParams[n.interpolationkey]&&n[n.interpolationkey]&&(o={...o,[n.interpolationkey]:void 0});const r=i+JSON.stringify(o);let a=t[r];return a||(a=e(S(i),n),t[r]=a),a(s)}};class U{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=o.create("formatter"),this.options=e,this.formats={number:V(((e,t)=>{const s=new Intl.NumberFormat(e,{...t});return e=>s.format(e)})),currency:V(((e,t)=>{const s=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>s.format(e)})),datetime:V(((e,t)=>{const s=new Intl.DateTimeFormat(e,{...t});return e=>s.format(e)})),relativetime:V(((e,t)=>{const s=new Intl.RelativeTimeFormat(e,{...t});return e=>s.format(e,t.range||"day")})),list:V(((e,t)=>{const s=new Intl.ListFormat(e,{...t});return e=>s.format(e)}))},this.init(e)}init(e){const t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=V(t)}format(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const n=t.split(this.formatSeparator);if(n.length>1&&n[0].indexOf("(")>1&&n[0].indexOf(")")<0&&n.find((e=>e.indexOf(")")>-1))){const e=n.findIndex((e=>e.indexOf(")")>-1));n[0]=[n[0],...n.splice(1,e)].join(this.formatSeparator)}return n.reduce(((e,t)=>{const{formatName:n,formatOptions:o}=(e=>{let t=e.toLowerCase().trim();const s={};if(e.indexOf("(")>-1){const i=e.split("(");t=i[0].toLowerCase().trim();const n=i[1].substring(0,i[1].length-1);"currency"===t&&n.indexOf(":")<0?s.currency||(s.currency=n.trim()):"relativetime"===t&&n.indexOf(":")<0?s.range||(s.range=n.trim()):n.split(";").forEach((e=>{if(e){const[t,...i]=e.split(":"),n=i.join(":").trim().replace(/^'+|'+$/g,""),o=t.trim();s[o]||(s[o]=n),"false"===n&&(s[o]=!1),"true"===n&&(s[o]=!0),isNaN(n)||(s[o]=parseInt(n,10))}}))}return{formatName:t,formatOptions:s}})(t);if(this.formats[n]){let t=e;try{const r=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},a=r.locale||r.lng||i.locale||i.lng||s;t=this.formats[n](e,a,{...o,...i,...r})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${n}`),e}),e)}}class M extends r{constructor(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=s,this.languageUtils=s.languageUtils,this.options=i,this.logger=o.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(s,i.backend,i)}queueLoad(e,t,s,i){const n={},o={},r={},a={};return e.forEach((e=>{let i=!0;t.forEach((t=>{const r=`${e}|${t}`;!s.reload&&this.store.hasResourceBundle(e,t)?this.state[r]=2:this.state[r]<0||(1===this.state[r]?void 0===o[r]&&(o[r]=!0):(this.state[r]=1,i=!1,void 0===o[r]&&(o[r]=!0),void 0===n[r]&&(n[r]=!0),void 0===a[t]&&(a[t]=!0)))})),i||(r[e]=!0)})),(Object.keys(n).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(n),pending:Object.keys(o),toLoadLanguages:Object.keys(r),toLoadNamespaces:Object.keys(a)}}loaded(e,t,s){const i=e.split("|"),n=i[0],o=i[1];t&&this.emit("failedLoading",n,o,t),!t&&s&&this.store.addResourceBundle(n,o,s,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&s&&(this.state[e]=0);const r={};this.queue.forEach((s=>{((e,t,s,i)=>{const{obj:n,k:o}=p(e,t,Object);n[o]=n[o]||[],n[o].push(s)})(s.loaded,[n],o),((e,t)=>{void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)})(s,e),t&&s.errors.push(t),0!==s.pendingCount||s.done||(Object.keys(s.loaded).forEach((e=>{r[e]||(r[e]={});const t=s.loaded[e];t.length&&t.forEach((t=>{void 0===r[e][t]&&(r[e][t]=!0)}))})),s.done=!0,s.errors.length?s.callback(s.errors):s.callback())})),this.emit("loaded",r),this.queue=this.queue.filter((e=>!e.done))}read(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,o=arguments.length>5?arguments[5]:void 0;if(!e.length)return o(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:s,tried:i,wait:n,callback:o});this.readingCalls++;const r=(r,a)=>{if(this.readingCalls--,this.waitingReads.length>0){const e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}r&&a&&i<this.maxRetries?setTimeout((()=>{this.read.call(this,e,t,s,i+1,2*n,o)}),n):o(r,a)},a=this.backend[s].bind(this.backend);if(2!==a.length)return a(e,t,r);try{const s=a(e,t);s&&"function"==typeof s.then?s.then((e=>r(null,e))).catch(r):r(null,s)}catch(e){r(e)}}prepareLoading(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);const n=this.queueLoad(e,t,s,i);if(!n.toLoad.length)return n.pending.length||i(),null;n.toLoad.forEach((e=>{this.loadOne(e)}))}load(e,t,s){this.prepareLoading(e,t,{},s)}reload(e,t,s){this.prepareLoading(e,t,{reload:!0},s)}loadOne(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const s=e.split("|"),i=s[0],n=s[1];this.read(i,n,"read",void 0,void 0,((s,o)=>{s&&this.logger.warn(`${t}loading namespace ${n} for language ${i} failed`,s),!s&&o&&this.logger.log(`${t}loaded namespace ${n} for language ${i}`,o),this.loaded(e,s,o)}))}saveMissing(e,t,s,i,n){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t))this.logger.warn(`did not save key "${s}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=s&&""!==s){if(this.backend&&this.backend.create){const a={...o,isUpdate:n},l=this.backend.create.bind(this.backend);if(l.length<6)try{let n;n=5===l.length?l(e,t,s,i,a):l(e,t,s,i),n&&"function"==typeof n.then?n.then((e=>r(null,e))).catch(r):r(null,n)}catch(e){r(e)}else l(e,t,s,i,r,a)}e&&e[0]&&this.store.addResource(e[0],t,s,i)}}}const H=()=>({debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if("object"==typeof e[1]&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const s=e[3]||e[2];Object.keys(s).forEach((e=>{t[e]=s[e]}))}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),K=e=>("string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e),J=()=>{};class z extends r{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;var s;if(super(),this.options=K(e),this.services={},this.logger=o,this.modules={external:[]},s=this,Object.getOwnPropertyNames(Object.getPrototypeOf(s)).forEach((e=>{"function"==typeof s[e]&&(s[e]=s[e].bind(s))})),t&&!this.isInitialized&&!e.isClone){if(!this.options.initImmediate)return this.init(e,t),this;setTimeout((()=>{this.init(e,t)}),0)}}init(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,"function"==typeof t&&(s=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&("string"==typeof t.ns?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const i=H();this.options={...i,...this.options,...K(t)},"v1"!==this.options.compatibilityAPI&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator);const n=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let t;this.modules.logger?o.init(n(this.modules.logger),this.options):o.init(null,this.options),this.modules.formatter?t=this.modules.formatter:"undefined"!=typeof Intl&&(t=U);const s=new C(this.options);this.store=new O(this.options.resources,this.options);const r=this.services;r.logger=o,r.resourceStore=this.store,r.languageUtils=s,r.pluralResolver=new I(s,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!t||this.options.interpolation.format&&this.options.interpolation.format!==i.interpolation.format||(r.formatter=n(t),r.formatter.init(r,this.options),this.options.interpolation.format=r.formatter.format.bind(r.formatter)),r.interpolator=new F(this.options),r.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},r.backendConnector=new M(n(this.modules.backend),r.resourceStore,r,this.options),r.backendConnector.on("*",(function(t){for(var s=arguments.length,i=new Array(s>1?s-1:0),n=1;n<s;n++)i[n-1]=arguments[n];e.emit(t,...i)})),this.modules.languageDetector&&(r.languageDetector=n(this.modules.languageDetector),r.languageDetector.init&&r.languageDetector.init(r,this.options.detection,this.options)),this.modules.i18nFormat&&(r.i18nFormat=n(this.modules.i18nFormat),r.i18nFormat.init&&r.i18nFormat.init(this)),this.translator=new P(this.services,this.options),this.translator.on("*",(function(t){for(var s=arguments.length,i=new Array(s>1?s-1:0),n=1;n<s;n++)i[n-1]=arguments[n];e.emit(t,...i)})),this.modules.external.forEach((e=>{e.init&&e.init(this)}))}if(this.format=this.options.interpolation.format,s||(s=J),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach((t=>{this[t]=function(){return e.store[t](...arguments)}}));["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach((t=>{this[t]=function(){return e.store[t](...arguments),e}}));const r=a(),l=()=>{const e=(e,t)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),r.resolve(t),s(e,t)};if(this.languages&&"v1"!==this.options.compatibilityAPI&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initImmediate?l():setTimeout(l,0),r}loadResources(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:J;const s="string"==typeof e?e:this.language;if("function"==typeof e&&(t=e),!this.options.resources||this.options.partialBundledLanguages){if(s&&"cimode"===s.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return t();const e=[],i=t=>{if(!t)return;if("cimode"===t)return;this.services.languageUtils.toResolveHierarchy(t).forEach((t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)}))};if(s)i(s);else{this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((e=>i(e)))}this.options.preload&&this.options.preload.forEach((e=>i(e))),this.services.backendConnector.load(e,this.options.ns,(e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),t(e)}))}else t(null)}reloadResources(e,t,s){const i=a();return"function"==typeof e&&(s=e,e=void 0),"function"==typeof t&&(s=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),s||(s=J),this.services.backendConnector.reload(e,t,(e=>{i.resolve(),s(e)})),i}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&w.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(let e=0;e<this.languages.length;e++){const t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}}changeLanguage(e,t){var s=this;this.isLanguageChangingTo=e;const i=a();this.emit("languageChanging",e);const n=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},o=(e,o)=>{o?(n(o),this.translator.changeLanguage(o),this.isLanguageChangingTo=void 0,this.emit("languageChanged",o),this.logger.log("languageChanged",o)):this.isLanguageChangingTo=void 0,i.resolve((function(){return s.t(...arguments)})),t&&t(e,(function(){return s.t(...arguments)}))},r=t=>{e||t||!this.services.languageDetector||(t=[]);const s="string"==typeof t?t:this.services.languageUtils.getBestMatchFromCodes(t);s&&(this.language||n(s),this.translator.language||this.translator.changeLanguage(s),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(s)),this.loadResources(s,(e=>{o(e,s)}))};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(r):this.services.languageDetector.detect(r):r(e):r(this.services.languageDetector.detect()),i}getFixedT(e,t,s){var i=this;const n=function(e,t){let o;if("object"!=typeof t){for(var r=arguments.length,a=new Array(r>2?r-2:0),l=2;l<r;l++)a[l-2]=arguments[l];o=i.options.overloadTranslationOptionHandler([e,t].concat(a))}else o={...t};o.lng=o.lng||n.lng,o.lngs=o.lngs||n.lngs,o.ns=o.ns||n.ns,""!==o.keyPrefix&&(o.keyPrefix=o.keyPrefix||s||n.keyPrefix);const c=i.options.keySeparator||".";let u;return u=o.keyPrefix&&Array.isArray(e)?e.map((e=>`${o.keyPrefix}${c}${e}`)):o.keyPrefix?`${o.keyPrefix}${c}${e}`:e,i.t(u,o)};return"string"==typeof e?n.lng=e:n.lngs=e,n.ns=t,n.keyPrefix=s,n}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const s=t.lng||this.resolvedLanguage||this.languages[0],i=!!this.options&&this.options.fallbackLng,n=this.languages[this.languages.length-1];if("cimode"===s.toLowerCase())return!0;const o=(e,t)=>{const s=this.services.backendConnector.state[`${e}|${t}`];return-1===s||0===s||2===s};if(t.precheck){const e=t.precheck(this,o);if(void 0!==e)return e}return!!this.hasResourceBundle(s,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!o(s,e)||i&&!o(n,e)))}loadNamespaces(e,t){const s=a();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach((e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)})),this.loadResources((e=>{s.resolve(),t&&t(e)})),s):(t&&t(),Promise.resolve())}loadLanguages(e,t){const s=a();"string"==typeof e&&(e=[e]);const i=this.options.preload||[],n=e.filter((e=>i.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e)));return n.length?(this.options.preload=i.concat(n),this.loadResources((e=>{s.resolve(),t&&t(e)})),s):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=this.services&&this.services.languageUtils||new C(H());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){return new z(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}cloneInstance(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:J;const s=e.forkResourceStore;s&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},n=new z(i);void 0===e.debug&&void 0===e.prefix||(n.logger=n.logger.clone(e));return["store","services","language"].forEach((e=>{n[e]=this[e]})),n.services={...this.services},n.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},s&&(n.store=new O(this.store.data,i),n.services.resourceStore=n.store),n.translator=new P(n.services,i),n.translator.on("*",(function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i<t;i++)s[i-1]=arguments[i];n.emit(e,...s)})),n.init(i,t),n.translator.options=i,n.translator.backendConnector.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},n}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const q=z.createInstance();q.createInstance=z.createInstance;q.createInstance,q.dir,q.init,q.loadResources,q.reloadResources,q.use,q.changeLanguage,q.getFixedT,q.t,q.exists,q.setDefaultNamespace,q.hasLoadedNamespace,q.loadNamespaces,q.loadLanguages}},function(e){var t;t=51250,e(e.s=t)}]); //# sourceMappingURL=i18n_init-9f062a0de30195f0d756.js.map //]]> </script> <script src="https://cdn.theconversation.com/static/tc/runtime-8563a1641acaeb567def.js"></script> <script type="text/javascript" data-vendor="c:smartocto-GJ7CA7CP"> var _ain = { access_level: "free", article_type: "analysis", authors: "National Renewable Energy Laboratory, The University of Texas at Austin", id: "2743", maincontent: ".content-body", postid: "106227", pubdate: "2018-12-04T11:32:16Z", reader_type: "anonymous", sections: "us>Environment + Energy", tags: "Infrastructure, Autonomous vehicles, Automotive industry, Transportation, Electrical grid, Energy transition, Electrification of transportation, Electric vehicles (EVs)", title: "Switching to electric vehicles could save the US billions, but timing is everything", }; (function (d, s) { var sf = d.createElement(s); sf.type = 'text/javascript'; sf.async = true; sf.src = (('https:' == d.location.protocol) ? 'https://d7d3cf2e81d293050033-3dfc0615b0fd7b49143049256703bfce.ssl.cf1.rackcdn.com' : 'http://t.contentinsights.com') + '/stf.js'; var t = d.getElementsByTagName(s)[0]; t.parentNode.insertBefore(sf, t); })(document, 'script'); </script> <script>window.tentacles = { apiToken: "zu0fth1pwaw4xbz53mh0yl3ik80ndct1" };</script> <script src="https://tentacles.smartocto.com/ten/tentacle.js" type="text/javascript" data-vendor="c:smartocto-GJ7CA7CP"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10