html,body{margin:0}.inno :where(*:not(svg,svg *,.inno-no-reset,.inno-no-reset *),use){all:revert;margin:0;padding:0;border:0;list-style:none}@font-face{font-family:”Inquirer Headline”;font-weight:100;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-ThinWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-ThinWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:100;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-ThinItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-ThinItalicWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:300;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-LightWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-LightWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:300;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-LightItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-LightItalicWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:normal;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-RegularWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-RegularWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:normal;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-RegularItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-RegularItalicWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:500;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-MediumWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-MediumWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:500;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-MediumItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-MediumItalicWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:600;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-SemiBoldWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-SemiBoldWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:600;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-SemiBoldItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-SemiBoldItalicWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:700;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-BoldWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-BoldWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:700;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-BoldItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-BoldItalicWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:900;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-BlackWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-BlackWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Headline”;font-weight:900;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerHeadline-BlackItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerHeadline-BlackItalicWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Text”;font-weight:normal;src:url(“https://media.inquirer.com/fonts/InquirerTextWEB-RegularWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerTextWEB-RegularWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Text”;font-weight:normal;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerTextWEB-RegularItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerTextWEB-RegularItalicWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Text”;font-weight:bold;src:url(“https://media.inquirer.com/fonts/InquirerTextWEB-BoldWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerTextWEB-BoldWEB.woff”) format(“woff”)}@font-face{font-family:”Inquirer Text”;font-weight:bold;font-style:italic;src:url(“https://media.inquirer.com/fonts/InquirerTextWEB-BoldItalicWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/InquirerTextWEB-BoldItalicWEB.woff”) format(“woff”)}@font-face{font-family:”Grot 10″;font-weight:normal;src:url(“https://media.inquirer.com/fonts/Grot10-RegularWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/Grot10-RegularWEB.woff”) format(“woff”)}@font-face{font-family:”Grot 10″;font-weight:500;src:url(“https://media.inquirer.com/fonts/Grot10-MediumWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/Grot10-MediumWEB.woff”) format(“woff”)}@font-face{font-family:”Grot 10″;font-weight:bold;src:url(“https://media.inquirer.com/fonts/Grot10-ExtraboldWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/Grot10-ExtraboldWEB.woff”) format(“woff”)}@font-face{font-family:”Grot12″;font-weight:300;src:url(“https://media.inquirer.com/fonts/Grot12Condensed-LightWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/Grot12Condensed-LightWEB.woff”) format(“woff”)}@font-face{font-family:”Grot12″;font-weight:600;src:url(“https://media.inquirer.com/fonts/Grot12Condensed-SemiboldWEB.woff2”) format(“woff2”),url(“https://media.inquirer.com/fonts/Grot12Condensed-SemiboldWEB.woff”) format(“woff”)}body.is-scroll-locked{overflow:hidden;height:100%}.inno{position:relative;–color-background: #d8edf4;–color-background-secondary: #ffffff;–color-accent: #8d7d88;–color-over-accent: #222222;–color-text-primary: #222222;–color-text-link: #8d7d88;–color-text-secondary: #808284;–color-text-tertiary: #808284;–color-text-accent: #8d7d88;–color-faint: #222222;–color-mask: rgba(34, 34, 34, 0.8);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:”Grot 10″,sans-serif;background:var(–color-background);color:var(–color-text-primary);padding-block-end:64px;overflow:clip;font-size:14px;line-height:1}.inno-mode–dark{–color-background: #222222;–color-background-secondary: #595760;–color-accent: #8dd7f7;–color-over-accent: #222222;–color-text-primary: #ffffff;–color-text-secondary: #dcdcdc;–color-text-tertiary: #808284;–color-text-link: #1a6aff;–color-faint: #595760;–color-mask: rgba(255, 255, 255, 0.8)}.inno–lite.inno-color–purple{–color-accent: #7b2589;–color-over-accent: #ffffff;–color-text-accent: #7b2589}.inno–lite.inno-color–pink{–color-accent: #cd0785;–color-over-accent: #ffffff;–color-text-accent: #cd0785}.inno–lite.inno-color–red{–color-accent: #e11b22;–color-over-accent: #ffffff;–color-text-accent: #e11b22}.inno–lite.inno-color–orange{–color-accent: #e66a1f;–color-over-accent: #222222;–color-text-accent: #e66a1f}.inno–lite.inno-color–yellow{–color-accent: #f0af13;–color-over-accent: #222222;–color-text-accent: #f0af13}.inno–lite.inno-color–green{–color-accent: #00a253;–color-over-accent: #ffffff;–color-text-accent: #00a253}.inno–lite.inno-color–teal{–color-accent: #00a69e;–color-over-accent: #ffffff;–color-text-accent: #00a69e}.inno–lite.inno-color–light-gray{–color-accent: #dcdcdc;–color-over-accent: #222222;–color-text-accent: #dcdcdc}.inno–lite.inno-color–light-blue{–color-accent: #8dd7f7;–color-over-accent: #222222;–color-text-accent: #8dd7f7}.inno–lite.inno-color–blue{–color-accent: #004e96;–color-over-accent: #ffffff;–color-text-accent: #004e96}.inno–lite.inno-color–black{–color-accent: #222222;–color-over-accent: #ffffff;–color-text-accent: #222222}.inno–lite.inno-color–white{–color-accent: #ffffff;–color-over-accent: #222222;–color-text-accent: #ffffff}.inno–lite.inno-color–white,.inno–lite.inno-color–black{–color-accent: #004e96;–color-over-accent: #ffffff;–color-text-accent: #222222}.inno–lite.inno-color–white.inno-mode–dark,.inno–lite.inno-color–black.inno-mode–dark{–color-accent: #8dd7f7;–color-over-accent: #222222;–color-text-accent: #ffffff}.inno–widget,.inno–embed{overflow:hidden;padding-block-end:0}.inno–widget .inno-layout–content>*,.inno–embed .inno-layout–content>*{max-width:none}.inno-anchorable:before{content:””;display:block;height:calc(var(–nav-height, 0) + 10px);margin:calc(0px – (var(–nav-height, 0) + 10px)) 0 0}.inno-spanner{background-color:#dcdcdc;box-shadow:4px 0 0 #dcdcdc,-4px 0 0 #dcdcdc;color:#fff;padding:1px 0;margin:0 5px;box-decoration-break:clone;-webkit-box-decoration-break:clone;color:#222}.inno-spanner–error,.inno-spanner–error-invalid-symbol{background-color:#fff;border:3px dashed #e11b22;box-shadow:none;padding-left:4px;padding-right:4px}.inno-spanner–proposed{background-color:#8d7d88;box-shadow:4px 0 0 #8d7d88,-4px 0 0 #8d7d88;color:#fff;padding:1px 0;margin:0 5px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.inno-spanner–being-built{background-color:#6ad843;box-shadow:4px 0 0 #6ad843,-4px 0 0 #6ad843;color:#fff;padding:1px 0;margin:0 5px;box-decoration-break:clone;-webkit-box-decoration-break:clone}body:has(.inno-chrome–chromeless){overflow:hidden;width:100vw;height:100vh}@supports(width: 100dvw){body:has(.inno-chrome–chromeless){width:100dvw}}@supports(height: 100dvh){body:has(.inno-chrome–chromeless){height:100dvh}}body:has(.inno-chrome–chromeless) .global-app-bar,body:has(.inno-chrome–chromeless) .footer,body:has(.inno-chrome–chromeless) .footer-wrapper{display:none}body:has(.inno-chrome–chromeless) #inq-article-completion{height:0px}.inno{–gutter: calc(50vw – 325px)}.inno *{box-sizing:border-box}.inno-layout–content>*{max-width:min(650px,100vw – 32px);margin-inline:auto}.inno-layout–align-full{max-width:100%}.inno-layout–align-wide{max-width:min(1250px,100vw – 32px);margin-inline:auto}.inno-layout–align-default{max-width:min(650px,100vw – 32px);margin-inline:auto}@media(min-width: 768px){.inno-layout–align-left{float:left;margin-inline-start:var(–gutter);margin-inline-end:24px;width:301px;margin-block-end:16px;padding-top:6px}}@media(min-width: 960px){.inno-layout–align-left{margin-inline-start:calc(var(–gutter) – clamp(0px,var(–gutter) – 100px,160px))}}@media(min-width: 768px){.inno-layout–align-right{float:right;width:301px;margin-inline-start:24px;margin-inline-end:var(–gutter);margin-block-end:16px;padding-top:5px}}@media(min-width: 960px){.inno-layout–align-right{margin-inline-end:calc(var(–gutter) – clamp(0px,var(–gutter) – 100px,160px))}}.inno-layout–stack>*+*{margin-block-start:24px}.inno-layout–stack-tight>*+*{margin-block-start:10px}.inno-layout–stack-loose>*+*{margin-block-start:30px}*+.inno-layout–isolate{margin-block-start:48px}.inno-layout–isolate+*{margin-block-start:48px}.inno-chart{position:relative;width:100%;height:100%;margin-bottom:40px}.inno-chart__chart{position:relative;z-index:3;overflow:visible;height:auto;margin-inline:16px}@media(width >= 768px){.inno-chart__chart{margin-inline:40px}}.inno-chart__plot{overflow:visible !important}.inno-chart__axis .tick{opacity:0}.inno-chart__tick-label{position:absolute;width:fit-content;display:flex;white-space:nowrap;margin:auto;font-size:10px}@media(min-width: 768px){.inno-chart__tick-label{font-size:14px}}.inno-chart__tick-label–x{top:calc(100% + 8px);transform:translateX(-50%)}.inno-chart__tick-label–y{text-align:right;right:calc(100% + 8px);transform:translateY(-50%)}.inno-chart__tick-label–y–14{right:calc(94% + 8px)}.inno-chart__tick{stroke:#fff;stroke-width:2px}.inno-chart__tick–x{color:#fff;transform:translateX(-40px)}.inno-chart__tick–x:first-of-type{transform:translateX(0px)}.inno-chart__tick–y{stroke-width:0}.inno-chart__line{fill:rgba(0,0,0,0);stroke:#626268;stroke-width:4px}.inno-chart__source{margin-block-start:48px;color:#595760;line-height:1.2}.inno-chart__source-label{font-weight:800}.inno-inline-map{width:100%;display:block}.inno-inline-map__map{webkit-mask-image:radial-gradient(circle, black 60%, transparent 100%);mask-image:radial-gradient(circle, black 50%, transparent 100%)}.inno-inline-map__note{margin-block-start:24px;color:#808284;line-height:1.2}.inno-node{position:relative;z-index:1000}.inno-node–power1{width:250px;height:250px}.inno-spark{position:absolute;top:-25px;left:-25px;width:50px;height:50px;z-index:20}@keyframes flicker{0%{scale:1.2}100%{scale:.9}}.inno-spark__offset,.inno-spark__sparks{position:absolute;top:0;left:0;right:0;bottom:0}.inno-spark__sparks{animation:flicker .2s linear alternate infinite;transform-origin:center}.inno-spark__img{width:100%;height:100%;position:absolute;top:0;left:0;right:0;opacity:1;animation:toggle .6s linear infinite}.inno-spark__img–1{animation-delay:0}.inno-spark__img–2{animation-delay:.2s}.inno-spark__img–3{animation-delay:.4s}@keyframes toggle{0%,33%{opacity:1}80%,100%{opacity:0}}.inno-waffle{width:100%;height:fit-content;position:relative;margin-block-end:24px}.inno-waffle__annotations,.inno-waffle__chart{width:100%;height:100%;display:grid;grid-template-rows:48px 48px auto;grid-template-columns:auto;row-gap:16px}.inno-waffle__annotations-area,.inno-waffle__chart-area{position:relative;height:100%;display:grid;grid-template-rows:32px auto;grid-template-columns:1fr}@media(width >= 768px){.inno-waffle__annotations-area,.inno-waffle__chart-area{height:100%}}.inno-waffle__annotations{position:absolute;inset:0}.inno-waffle__annotation{position:absolute;margin:auto;font-size:12px;line-height:1.2}.inno-waffle__annotation–0,.inno-waffle__annotation–1{width:fit-content;margin-top:12px;bottom:calc(100% – 44px)}.inno-waffle__annotation–0{left:28px}.inno-waffle__annotation–0::before{content:””;position:absolute;bottom:calc(100% – 8px);left:-20px;width:12px;height:2px;background-color:#222;margin:auto}.inno-waffle__annotation–2,.inno-waffle__annotation–3,.inno-waffle__annotation–4{background-color:#d8edf4;display:flex;flex-wrap:wrap;width:120px;padding:8px;opacity:.95}.inno-waffle__annotation–2{left:31.5px;top:80px}.inno-waffle__annotation–3{right:38px;top:240.5px}@media(width >= 768px){.inno-waffle__annotation–3{right:36.5px;top:200px}}.inno-waffle__annotation–4{left:31.5px;top:calc(100% – 200px + 4px)}.inno-waffle__chart-title{font-family:”Grot 10″,sans-serif;font-size:18px;font-weight:600;width:100%;color:var(–color-text-primary)}@media(width >= 768px){.inno-waffle__chart-title{line-height:1.6;font-size:20px}}.inno-waffle__eniac,.inno-waffle__conventional,.inno-waffle__ai{display:flex;flex-wrap:wrap;width:100%;height:fit-content}.inno-waffle__block{width:6px;height:6px;margin:1px;background-image:url(“https://interactives.inquirer.com/projects/2026/08/ai-electricity/1786635856057/assets/_resized/house–325px.webp”);background-size:contain}.inno-waffle__block–hidden{background-image:none}@media(width .inno-heading:has(+*){margin-block-end:0px}.inno-layout–stack-tight>.inno-heading:has(+*){margin-block-end:0px}.inno-layout–stack-loose>*+.inno-heading{margin-block-start:60px}.inno-layout–stack-loose>.inno-heading:has(+*){margin-block-end:-15px}.inno-hero{margin-block-start:0;padding-top:72px}.inno-hero–has-media .inno-hero__content{padding-bottom:72px}@media(min-width: 960px){.inno-hero–has-media .inno-hero__content{padding-bottom:128px}}.inno-color–white .inno-hero,.inno-mode–light .inno-hero–style-transparent{–color-accent: #ffffff;–color-over-accent: #222222}.inno-color–black .inno-hero,.inno-mode–dark .inno-hero–style-transparent{–color-accent: #222222;–color-over-accent: #ffffff}.inno-hero–style-transparent .inno-hero__content{background:rgba(0,0,0,0)}.inno-hero–layout-above{display:flex;flex-direction:column-reverse}.inno-hero–layout-above .inno-hero__content{padding:24px 0}.inno-hero–layout-above .inno-hero__media{max-width:80%;margin:0 auto;padding-top:24px}.inno-hero–layout-above .inno-hero__media>*{max-width:350px}.inno-hero–layout-above .inno-hero__media .inno-caption-text{display:none}.inno-hero__content{padding-block:24px;text-align:center;background:var(–color-accent);color:var(–color-over-accent)}@media(min-width: 960px){.inno-hero__content{padding-block:32px}}.inno-hero__eyebrow{font-family:”Grot12″,sans-serif;font-weight:bold;text-transform:uppercase;font-size:16px;font-weight:bold;padding:5px 8px;background:var(–color-over-accent);color:var(–color-accent);width:max-content;text-decoration:none;line-height:2}@media(min-width: 768px){.inno-hero__eyebrow{font-size:18px}}.inno-hero__headline{font-family:”Inquirer Headline”,”Times New Roman”,serif;text-transform:uppercase;font-size:6em;font-weight:900;line-height:1;text-align:center;text-wrap:balance;color:#626268}@media(width >= 768px){.inno-hero__headline{font-size:10em}}@media(prefers-reduced-motion: no-preference){.inno-hero__headline{animation:paths 5s step-end infinite}.inno-hero__headline:before{content:attr(data-text);position:absolute;width:100%;z-index:-1;left:-10px;top:2px;color:#fff12a;animation:paths 5s step-end infinite,opacity 5s step-end infinite,font 8s step-end infinite,movement 10s step-end infinite}.inno-hero__headline:after{content:attr(data-text);position:absolute;width:100%;z-index:-1;left:10px;top:4px;color:#8d7d88;animation:paths 5s step-end infinite,opacity 5s step-end infinite,font 7s step-end infinite,movement 8s step-end infinite}}.paths{animation:paths 5s step-end infinite}@keyframes paths{0%{clip-path:polygon(0% 43%, 83% 43%, 83% 22%, 23% 22%, 23% 24%, 91% 24%, 91% 26%, 18% 26%, 18% 83%, 29% 83%, 29% 17%, 41% 17%, 41% 39%, 18% 39%, 18% 82%, 54% 82%, 54% 88%, 19% 88%, 19% 4%, 39% 4%, 39% 14%, 76% 14%, 76% 52%, 23% 52%, 23% 35%, 19% 35%, 19% 8%, 36% 8%, 36% 31%, 73% 31%, 73% 16%, 1% 16%, 1% 56%, 50% 56%, 50% 8%)}5%{clip-path:polygon(0% 29%, 44% 29%, 44% 83%, 94% 83%, 94% 56%, 11% 56%, 11% 64%, 94% 64%, 94% 70%, 88% 70%, 88% 32%, 18% 32%, 18% 96%, 10% 96%, 10% 62%, 9% 62%, 9% 84%, 68% 84%, 68% 50%, 52% 50%, 52% 55%, 35% 55%, 35% 87%, 25% 87%, 25% 39%, 15% 39%, 15% 88%, 52% 88%)}30%{clip-path:polygon(0% 53%, 93% 53%, 93% 62%, 68% 62%, 68% 37%, 97% 37%, 97% 89%, 13% 89%, 13% 45%, 51% 45%, 51% 88%, 17% 88%, 17% 54%, 81% 54%, 81% 75%, 79% 75%, 79% 76%, 38% 76%, 38% 28%, 61% 28%, 61% 12%, 55% 12%, 55% 62%, 68% 62%, 68% 51%, 0% 51%, 0% 92%, 63% 92%, 63% 4%, 65% 4%)}45%{clip-path:polygon(0% 33%, 2% 33%, 2% 69%, 58% 69%, 58% 94%, 55% 94%, 55% 25%, 33% 25%, 33% 85%, 16% 85%, 16% 19%, 5% 19%, 5% 20%, 79% 20%, 79% 96%, 93% 96%, 93% 50%, 5% 50%, 5% 74%, 55% 74%, 55% 57%, 96% 57%, 96% 59%, 87% 59%, 87% 65%, 82% 65%, 82% 39%, 63% 39%, 63% 92%, 4% 92%, 4% 36%, 24% 36%, 24% 70%, 1% 70%, 1% 43%, 15% 43%, 15% 28%, 23% 28%, 23% 71%, 90% 71%, 90% 86%, 97% 86%, 97% 1%, 60% 1%, 60% 67%, 71% 67%, 71% 91%, 17% 91%, 17% 14%, 39% 14%, 39% 30%, 58% 30%, 58% 11%, 52% 11%, 52% 83%, 68% 83%)}76%{clip-path:polygon(0% 26%, 15% 26%, 15% 73%, 72% 73%, 72% 70%, 77% 70%, 77% 75%, 8% 75%, 8% 42%, 4% 42%, 4% 61%, 17% 61%, 17% 12%, 26% 12%, 26% 63%, 73% 63%, 73% 43%, 90% 43%, 90% 67%, 50% 67%, 50% 41%, 42% 41%, 42% 46%, 50% 46%, 50% 84%, 96% 84%, 96% 78%, 49% 78%, 49% 25%, 63% 25%, 63% 14%)}90%{clip-path:polygon(0% 41%, 13% 41%, 13% 6%, 87% 6%, 87% 93%, 10% 93%, 10% 13%, 89% 13%, 89% 6%, 3% 6%, 3% 8%, 16% 8%, 16% 79%, 0% 79%, 0% 99%, 92% 99%, 92% 90%, 5% 90%, 5% 60%, 0% 60%, 0% 48%, 89% 48%, 89% 13%, 80% 13%, 80% 43%, 95% 43%, 95% 19%, 80% 19%, 80% 85%, 38% 85%, 38% 62%)}1%,7%,33%,47%,78%,93%{clip-path:none}}.movement{position:absolute;animation:movement 8s step-end infinite}@keyframes movement{0%{top:0px;left:-20px}15%{top:10px;left:10px}60%{top:5px;left:-10px}75%{top:-5px;left:20px}100%{top:10px;left:5px}}.opacity{animation:opacity 5s step-end infinite}@keyframes opacity{0%{opacity:.1}5%{opacity:.7}30%{opacity:.4}45%{opacity:.6}76%{opacity:.4}90%{opacity:.8}1%,7%,33%,47%,78%,93%{opacity:0}}.font{animation:font 7s step-end infinite}@keyframes font{0%{font-weight:100;color:#fff12a;filter:blur(3px)}20%{font-weight:500;color:#fff;filter:blur(0)}50%{font-weight:300;color:#8d7d88;filter:blur(2px)}60%{font-weight:700;color:#fff;filter:blur(0)}90%{font-weight:500;color:#fff12a;filter:blur(6px)}}.inno-hero__subheadline{font-family:”Inquirer Headline”,”Times New Roman”,serif;font-size:20px;line-height:1.3;text-wrap:balance}.inno-hero__media{position:relative;z-index:2;margin-top:-48px}@media(min-width: 960px){.inno-hero__media{margin-top:-96px}}.inno-hover{position:relative;cursor:pointer;border:1px var(–color-accent) solid;padding:3px 4px;transition:border .4s ease-in-out;box-sizing:border-box}@media(min-width: 768px){.inno-hover{cursor:help}}.inno-hover:hover{border:1px var(–color-accent) solid}.inno-hover__box{position:fixed;bottom:0;left:0;right:0;z-index:20;background-color:var(–color-background);pointer-events:none;transform:translateY(100%);transition:transform .4s ease-in-out;padding:16px;border-top:1px solid var(–color-accent);white-space:normal;font-family:”Grot 10″,sans-serif;font-size:14px;line-height:1.5}@media(min-width: 768px){.inno-hover__box{position:absolute;top:100%;width:200px;left:-1px;right:0;bottom:auto;margin:auto;max-width:250px;padding:6px;opacity:0;transition:opacity .4s ease-in-out;transform:none;border:1px solid var(–color-accent)}}.inno-hover.is-visible .inno-hover__box{opacity:1;transform:translateY(0)}.inno-icon{display:inline-block;width:1.2em;height:1.2em;fill:currentColor}.inno-icon–white{fill:#fff}.inno-icon–black{fill:#222}.inno-icon–accent{fill:var(–color-accent)}.inno-icon–over-accent{fill:var(–color-over-accent)}.inno-icon__stroke{fill:rgba(0,0,0,0);stroke:currentColor;stroke-width:2px;vector-effect:non-scaling-stroke}.inno-icon–white .inno-icon__stroke{stroke:#fff}.inno-icon–black .inno-icon__stroke{stroke:#222}.inno-icon–accent .inno-icon__stroke{stroke:var(–color-accent)}.inno-icon–over-accent .inno-icon__stroke{stroke:var(–color-over-accent)}.inno-image{max-width:480px;margin:0 auto}.inno-image__img{width:100%;display:block}.inno-looping-video__video{width:100%}.inno-p{-webkit-font-smoothing:subpixel-antialiased;-mox-osx-font-smoothing:grayscale;color:#222;color:var(–color-text-primary);font-family:”Inquirer Text”,”Times New Roman”,serif;font-size:18px;line-height:1.666666;white-space:pre-line;text-wrap:pretty;z-index:10000;position:relative}@media(min-width: 600px){.inno-p{font-size:20px;line-height:1.6}}.inno-p–has-dropcap:first-letter{margin-top:1px;margin-right:12px;margin-bottom:0;margin-left:0;font-family:”Inquirer Headline”,”Times New Roman”,serif;font-size:3.2em;float:left;font-weight:bold;line-height:1;color:var(–color-text-accent)}@-moz-document url-prefix(){.inno-p–has-dropcap:first-letter{margin-top:10px;margin-bottom:0px}}@media(min-width: 600px){.inno-p–has-dropcap:first-letter{font-size:5.3em;margin-top:-3px;margin-bottom:-10px}@-moz-document url-prefix(){.inno-p–has-dropcap:first-letter{margin-top:12px;margin-bottom:0px}}}.inno-p a{transition:box-shadow .25s ease;color:var(–color-text-link);text-decoration:none;box-shadow:inset 0 -1px 0 0 var(–color-text-primary)}.inno-p a:hover{color:var(–color-text-primary)}.inno-p__endmark{display:inline-block;height:1.1em;width:1.1em;margin-left:5px;vertical-align:text-bottom;margin-bottom:2px;fill:var(–color-text-accent)}.inno-premium{padding:19px 26px 22px 8px;color:var(–color-text-primary);font-family:”Grot 10″,sans-serif;font-size:18px;line-height:1;font-weight:normal;background-color:var(–color-background-secondary)}.inno-premium .inno-icon{fill:#f0af13;width:24px;margin-right:7px}.inno-premium__header{display:flex}.inno-premium__hed{font-weight:bold;line-height:22px;font-size:16px;color:var(–color-text-primary);padding:3px 0 4px;font-family:”Grot 10″,sans-serif;text-wrap:pretty}.inno-mode–dark .inno-premium__hed{color:#fff}.inno-premium__message{font-weight:500;line-height:22px;font-size:16px;color:var(–color-text-secondary);font-family:”Grot 10″,sans-serif;margin-left:32px;text-wrap:pretty}.inno-heading{font-family:”Inquirer Headline”,”Times New Roman”,serif;font-size:24px;font-weight:600;line-height:1.2;color:var(–color-text-primary);scroll-margin-top:calc(var(–sticky-height) + 16px);text-wrap:balance;position:relative;z-index:10}@media(min-width: 768px){.inno-heading{font-size:32px}}.inno-heading–the-first-data-center,.inno-heading–powering-search-engines,.inno-heading–ai-in-everything-everywhere-all-at-once,.inno-heading–hyperscale-data-centers-can-consume-a-citys-worth-of-electricity-in-an-hour,.inno-heading–pecos-price-to-compare-has-increased-steadily-since-2022,.inno-heading–generation,.inno-heading–transmission,.inno-heading–distribution{color:#626268}.inno-heading–chapter{font-weight:300;border-bottom:1px solid var(–color-text-primary);text-transform:uppercase}.inno-layout–stack>.inno-heading:has(+*){margin-block-end:0px}.inno-layout–stack-tight>.inno-heading:has(+*){margin-block-end:0px}.inno-layout–stack-loose>*+.inno-heading{margin-block-start:60px}.inno-layout–stack-loose>.inno-heading:has(+*){margin-block-end:-15px}.inno-image{max-width:480px;margin:0 auto}.inno-image__img{width:100%;display:block}.inno-steps{position:relative}.inno-steps__steps{margin-top:-120vh;padding-bottom:70vh}.inno-steps__step{position:relative;z-index:10;-webkit-transform:translate3d(0, 0, 0);margin:70vh auto;padding:8px;background-color:none;overflow:auto;max-width:min(100% – 32px,650px)}@media(max-width: 600px){.inno-steps__step{padding:12px;margin:50vh auto}}.inno-steps__step:first-of-type{margin-top:0}.inno-steps__step:last-of-type{margin-bottom:0}.inno-steps__step–transparent{background-color:rgba(0,0,0,0);box-shadow:none}@media(min-width: 960px){.inno-steps__step–left{width:calc(50vw – 32px);margin-left:auto;margin-right:calc(50% + 16px)}}@media(min-width: 960px){.inno-steps__step–right{width:calc(50vw – 32px);margin-right:auto;margin-left:calc(50% + 16px)}}.inno-steps__step–full{max-width:none;width:100%;padding:24px 0;border-left:none;border-right:none}.inno-steps__step–full .inno-steps__body{max-width:100%;margin:0 auto}.inno-steps__step–full .inno-steps__body>*:not([class*=inno-layout–align-]){max-width:min(100% – 32px,650px);margin-inline:auto}.inno-steps__step .inno-hero__content{background-color:rgba(0,0,0,0);color:var(–color-text-primary)}.inno-steps__step .inno-byline{border-top:0;border-bottom:0;padding:0;margin-block-start:0;text-align:center}.inno-steps__step .inno-byline__content{flex-direction:column}.inno-steps__step .inno-premium{display:none}.inno-steps__step .inno-steps__body+.inno-caption{margin-top:6px}.inno-steps__content{position:sticky;height:100vh;width:100%;inset:0;margin:auto;display:flex;align-items:end;justify-content:end;overflow:hidden;isolation:isolate}@supports(height: 100dvh){.inno-steps__content{height:100dvh}}.inno-steps__content–backgrounds{z-index:8}.inno-steps__content–foregrounds{z-index:16}.inno-steps__custom{position:relative;aspect-ratio:3000/1333;width:100vw;height:fit-content;display:flex;align-items:end;justify-content:center}@media(min-width: 960px){.inno-steps__custom–left{width:50%;right:auto}}@media(min-width: 960px){.inno-steps__custom–right{width:50%;left:auto}}.inno-steps__custom:empty{display:none;pointer-events:none}.inno-steps__background,.inno-steps__foreground{position:absolute;width:100%;left:0;right:0;bottom:0;opacity:0;transition:opacity .4s ease-in-out;display:flex;justify-content:end;align-items:center;max-height:100%}.inno-steps__background–clouds,.inno-steps__foreground–clouds{top:0}.inno-steps__background–wires,.inno-steps__foreground–wires{opacity:1;z-index:20}[data-index=”-1″] .inno-steps__background–generation,[data-index=”-1″] .inno-steps__foreground–generation{opacity:1}[data-current=generation] .inno-steps__background–generation,[data-current=generation] .inno-steps__foreground–generation{opacity:1}[data-current=transmission] .inno-steps__background–transmission,[data-current=transmission] .inno-steps__foreground–transmission{opacity:1}[data-current=distribution] .inno-steps__background–distribution,[data-current=distribution] .inno-steps__foreground–distribution{opacity:1}.inno-steps__wires{display:block;transition:opacity .4s ease-in-out;opacity:0}.inno-steps__wires[data-id=generation]{position:relative}.inno-steps__path{fill:rgba(0,0,0,0);stroke:#333246;stroke-width:10px;filter:url(“#speckle-texture”)}.inno-subscribe{display:none;position:relative}.inno-subscribe.is-unsubscribed{display:block}.inno-subscribe.is-preview{display:block}.inno-subscribe.is-dev{display:block}.inno-subscribe.is-dev::before{content:”Non-subscribers only”;display:block;position:absolute;left:-20px;border:1px dashed red;font-size:8px;text-transform:uppercase;padding:5px;font-weight:bold;writing-mode:vertical-lr}.inno-tags{border-top:1px solid var(–color-faint);padding-block:12px}.inno-tags__title{font-family:”Grot 10″,sans-serif;font-size:14px;font-weight:normal}.inno-tags__buttons{display:flex;flex-wrap:wrap;gap:8px}.inno-tags__buttons .inno-button{flex:0 0 auto}.inno-video{width:auto}.inno-video__video{width:100%}.inno-toast{position:fixed;bottom:16px;left:0;right:0;width:max-content;margin:0px auto;z-index:120;display:flex;align-content:center;justify-content:center;text-align:center;font-size:20px;border-radius:5px;background-color:var(–color-text-primary);color:var(–color-background);padding:24px 48px;box-shadow:0 1px 4px rgba(89,87,96,.1),0 3px 6px rgba(89,87,96,.1);translate:0% calc(100% + 18px);transition:translate .4s;opacity:0}.inno-toast b,.inno-toast strong{font-weight:normal}.inno-toast.is-active{translate:0 0;opacity:1}



Power Hungry
Why your Peco bills could increase thanks to new hyperscale AI data centers
If you give a computer a task, it’s going to need electricity to perform it. The more difficult the problem, the more resources it requires. This is at the heart of the fight against the data centers behind AI – often an incredibly complex and power-hungry process.
You might think that tech giants that build and use data centers would cover 100% of the costs. However, the knock-on repercussions of this heavy power drain could impact the amount you owe on your Peco bill. Let us explain.
The first “data center”
If you needed help with a calculation 80 years ago, you could use the ENIAC, the first general-purpose computer, built at the University of Pennsylvania.

It was 1,440 times faster than a hand calculator but at a cost: high energy demands. The ENIAC had its own dedicated power lines and consumed 150 kWh of electricity.
Powering search engines
By the mid-2000s, we could solve the same problem at a fraction of the ENIAC’s speed thanks to search engines like Google.

Google processes billions of traditional search queries a day via data centers – warehouse-scale, resource-intensive facilities. These campuses can consume between 10,000 and 25,000 kWh, according to a 2025 report by the International Energy Agency, to run computers and keep them cool.
Data centers don’t just power search engines; they also sustain streaming services, social media, and much more. However, workflows are increasingly shifting to use artificial intelligence.
AI in everything, everywhere, all at once
Today, unless you actively opt out, your Google search will likely be augmented by AI. “Historically, you would just get hyperlinks, and then you would have to click through and read the webpages yourself,” said Benjamin Lee, professor of computer science at the University of Pennsylvania and visiting scientist at Google. “In some sense, generative AI is doing the reading for you and trying to anticipate the actual answer you were looking for.”

The average Google Gemini prompt uses about 10 times the energy of a pre-AI Google search. This is partly because AI technology involves complex algorithms that require more computing power, but it’s also because between the 1960s and 2010s the basic building blocks of computer chips were increasingly getting smaller and more power-efficient. Within that timeframe, our computational ability multiplied by sixfold with only a 6% increase in power usage, according to Lee.
But those efficiency gains eventually stalled.
“When AI came along in late 2022, we realized we needed hundreds – or thousands – times more [computational power], and the transistors weren’t keeping up,” Lee said. “The hardware side slowed down, even as the computational demands went up by a lot.”
To meet the needs of the AI boom, we could no longer count on transistors becoming more power efficient. Consequently, “hyperscale data centers” that power AI tools consume exponentially more resources than conventional ones, needing anywhere from 100,000 to 1,000,000 kWh, according to a 2024 white paper by the Electric Power Research Institute.
To put it in perspective, in a single hour, a hyperscale 1,000,000-kW data center running at peak capacity can consume more electricity than every household in Philadelphia combined.
Hyperscale data centers can consume a city’s worth of electricity in an hour
ENIAC
Conventional
Hyperscale
A report by Wood Mackenzie, an energy research firm, found that utility customers might already be shouldering some of the cost of servicing heavy users of electricity, including data centers. These hyperscale facilities and their projected demand for power could impact all three categories on your bill: generation, transmission, and distribution.
Let’s walk through each one.











-
Generation
Generation refers to how power stations produce electricity from primary energy sources like fossil fuels, solar, or wind. Pennsylvania generates about 60% of the state’s electricity with natural gas, according to the American Gas Association.
“There's only so much gas in the market and, with data centers coming online, there's increased competition for it,” said Elizabeth Marx, executive director of the Pennsylvania Utility Law Project, a statewide legal aid program representing low-income consumers and protecting their access to affordable energy and water.
story continues after advertisementPennsylvania Gov. Josh Shapiro recently proposed that hyperscale data centers supply their own power to reduce the burden on residential customers to pay for infrastructure costs. However, not everyone agrees that it will work.
“Unless they are building clean generation that doesn't rely on and constrain our gas supply, [data centers are] having an impact on the price of gas,” Marx said, “and [that cost] flows into your electricity bills.”
-
Transmission
Transmission is the middle step of moving electricity from a generating power station to a substation. PJM Interconnection, which serves Pennsylvania, plays a significant role in getting AI data centers connected to the grid.
PJM has a capacity market, where utilities – like Peco – pay power plants to guarantee enough power to meet future energy needs. This ensures that enough electricity will be available at high usage and to avoid blackouts.
“The biggest impact that we're seeing already from data centers is on capacity market prices,” Marx said. In 2024, AI companies started shopping around for power purchasing agreements directly with power suppliers.
The increased demand for capacity without greater supply increased the cost of electricity. The capacity price during the 2024/2025 auction was about $46 per MW/day, according to Monitoring Analytics, an independent market monitor for PJM. The following year, it surged to $297 per MW/day.
In a recent quarterly report, Monitoring Analytics said that “large data center loads have already had a significant and irreversible impact on PJM customers.” Between 2016 and 2025, Peco customers saw a $20.46 increase in the supply portion of their bill, which includes generation and transmission.
Peco’s Price to Compare has increased steadily since 2022
68101214 centsJun 2022Jun 2026JuneJune
Source: Peco’s Price to Compare is what customers pay if they do not shop around for an alternative electricity supplierPa. law requires that Peco is not allowed to profit off generation and transmission; you are just paying the rate set at PJM wholesale auctions. “Supply costs are set by the competitive market, are not controlled by Peco, and do not generate a profit for the company,” said Candice Womer, communications manager at Peco.
-
Distribution
Distribution is the final phase, where electricity moves from a transmission station to your home. It makes up 50% of your electric bill and, unlike the supply side of the electricity equation, can generate a profit for utility companies.
Almost two-thirds of Americans believe that a major reason behind their rising home energy costs is utility companies’ bottom line, according to a recent Pew Research Center survey.
In its second quarterly report of 2025, Peco reported $136 million in adjusted earnings, compared with $93 million in the same period in 2024. The company said in its earnings report that it used the profits to improve distribution infrastructure.
When utility companies invest in the electric grid to ensure it is ready for peak demand or storms, those investments are often baked into distribution costs. “Peco must balance its obligation to serve new customers with the risk of overbuilding infrastructure,” Womer said. “When distribution upgrades are needed, those costs are paid up front by the data center customer through a Contribution in Aid of Construction, ensuring there is no impact to other customers.”
One of the fees baked into distribution charges on your monthly bill is the Universal Service Fund. This helps fund programs like Peco’s Customer Assistance Program that help low-income households afford their utilities. In her testimony before the Pennsylvania House Energy and Consumer Protection, Technology, and Utilities Commission earlier this year, Marx said that in Pennsylvania, “universal service costs are only allocated to residential customers.”
Despite their direct impact on rising costs, data centers pay nothing to support these programs, she said.
What happens when electricity is unaffordable
About half of all adults (51%) in the U.S. say they are concerned about the price of electricity. The increase in electricity prices has outpaced inflation since 2022, according to a report by the U.S. Energy Information Administration. While most Americans support modernizing and expanding the electric grid, according to a Smart Energy Consumer Collaborative survey, that doesn’t make the surging costs sting any less.

“It’s very hard to reduce the electricity you use in a significant way,” said Vik Patel, managing attorney of the energy and utilities unit of Community Legal Services. “If it's cold outside, you need to have the heater on. Otherwise it can be unsafe. [It’s the] same thing in the summer; you have to have access to cooling.”
Even if electricity feels unaffordable, it can be difficult for customers to lower their use and, therefore, their bill. But if customers can’t pay their bill, they risk losing power completely.
Last year, about 25,000 households in Philadelphia had their electricity terminated and could not afford to have it restored, according to Patel. “There are a lot of collateral effects when someone's electricity is terminated,” he said. “They can get evicted. [They can] lose custody of their kids.”
What happens next
Data centers and their projected demands on the grid are not the only reason electric bills are increasing, but that has not lessened some residents’ concern about their expansion.
There are already dozens of conventional data centers in Philadelphia, according to Data Center Map, a private company that tracks such facilities nationwide. Two hyperscale campuses are being built in nearby Bucks County and Cumberland County, N.J.
At least four more data centers have been proposed in Chester and Montgomery Counties. These local proposals face a groundswell of opposition from residents who worry about the environmental and financial ramifications of having these hyperscale facilities in their backyard.
“I don't deny we need to upgrade our grid,” Marx said. “And, quite frankly, more frequent storms are absolutely going to cause more infrastructure costs. But I think there's a lack of transparency in what's necessary and what is nice to have. Who’s it for? Who pays for it and at what expense?”
Staff Contributors
- Reporting: Charmaine Runes
- Design and development: Charmaine Runes, Sam Morris
- Graphics: John Duchneskie
- Illustration: Glenn Harvey
- Editing: Sam Morris, Cynthia Henry
- Copy Editing: Addam Schwartz
(()=>{var Ua=Object.defineProperty;var Ha=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Xa=(t,e)=>{for(var r in e)Ua(t,r,{get:e[r],enumerable:!0})};var da=Ha(tt=>{var yc={0:”Jan.”,1:”Feb.”,2:”March”,3:”April”,4:”May”,5:”June”,6:”July”,7:”Aug.”,8:”Sept.”,9:”Oct.”,10:”Nov.”,11:”Dec.”};function la(t){return t===void 0&&(t=new Date),yc[t.getMonth()]}var _c={0:”Jan”,1:”Feb”,2:”Mar”,3:”Apr”,4:”May”,5:”Jun”,6:”Jul”,7:”Aug”,8:”Sep”,9:”Oct”,10:”Nov”,11:”Dec”};function ua(t){return t===void 0&&(t=new Date),_c[t.getMonth()]}function le(t){return t==null}function pa(t){return typeof t==”number”&&isFinite(t)}function Tn(t){return pa(t)&&Math.floor(t)===t}var vc=[“one”,”two”,”three”,”four”,”five”,”six”,”seven”,”eight”,”nine”],wc=[“million”,”billion”,”trillion”,”quadrillion”,”quintillion”,”sextillion”,”septillion”,”octillion”,”nonillion”,”decillion”],ca=[“th”,”st”,”nd”,”rd”,”th”,”th”,”th”,”th”,”th”,”th”],bc=[11,12,13];function fa(t){if(le(t))return””;var e=+t;return Tn(e)?bc.indexOf(e%100)>-1?ca[0]:ca[e%10]:””}var Tc=[“first”,”second”,”third”,”fourth”,”fifth”,”sixth”,”seventh”,”eighth”,”ninth”],Sc=new RegExp(/s+([^s]*)s*$/);tt.apdate=function(t){return t===void 0&&(t=new Date),la(t)+” “+t.getDate()+”, “+t.getFullYear()},tt.apdatetab=function(t){return t===void 0&&(t=new Date),ua(t)+” “+t.getDate()+”, “+t.getFullYear()},tt.apmonth=la,tt.apmonthtab=ua,tt.apnumber=function(t){if(le(t))return””;var e=+t;return Tn(e)?e=10?t.toString():vc[e-1]:t.toString()},tt.aptime=function(t){t===void 0&&(t=new Date);var e,r,n=t.getHours(),o=t.getMinutes(),i=o===0;if(i){if(n===0)return”midnight”;if(n===12)return”noon”}return n0?n:12):(e=”p.m.”,r=n===12?n:n-12),i?r+” “+e:r+”:”+(o<10?"0"+o:o)+" "+e},tt.capfirst=function(t){if(le(t))return"";var e=String(t);return""+e.charAt(0).toUpperCase()+e.slice(1)},tt.intcomma=function(t){if(le(t))return"";var e,r=+t;return pa(r)?((e=r.toString().split("."))[0]=e[0].replace(/B(?=(d{3})+(?!d))/g,","),e.join(".")):t.toString()},tt.intword=function(t){if(le(t))return"";var e=+t;if(!Tn(e))return t.toString();var r=Math.abs(e);if(r<1e6)return t.toString();var n=Math.ceil(Math.log(r+1)/Math.LN10)-1,o=n-n%3,i=e/Math.pow(10,o);return(i=Math.round(10*i)/10)+" "+wc[Math.floor(o/3)-2]},tt.ordinal=function(t,e){if(e===void 0&&(e=!1),le(t))return"";var r=+t;return Tn(r)?e&&r{},No={init:()=>{Ya()}};var Wa=()=>{},Ro={init:()=>{Wa()}};var Ga=()=>{},Io={init:()=>{Ga()}};var xt=typeof window{let t=new Map;return t.set(“x”,”translateX”),t.set(“y”,”translateY”),t.set(“z”,”translateZ”),t})(),ke=[“perspective”,”translateX”,”translateY”,”translateZ”,”rotate”,”rotateX”,”rotateY”,”rotateZ”,”scale”,”scaleX”,”scaleY”,”scaleZ”,”skew”,”skewX”,”skewY”],Mo=ke.reduce((t,e)=>({…t,[e]:e+”(“}),{}),Q=()=>{},Po=t=>t,Oo=/)s*[-.d]/,Do=/(^#([da-f]{3}){1,2}$)|(^#([da-f]{4}){1,2}$)/i,Lo=/rgb(s*(d+)s*,s*(d+)s*,s*(d+)s*)/i,$o=/rgba(s*(d+)s*,s*(d+)s*,s*(d+)s*,s*(-?d+|-?d*.d+)s*)/i,Bo=/hsl(s*(-?d+|-?d*.d+)s*,s*(-?d+|-?d*.d+)%s*,s*(-?d+|-?d*.d+)%s*)/i,qo=/hsla(s*(-?d+|-?d*.d+)s*,s*(-?d+|-?d*.d+)%s*,s*(-?d+|-?d*.d+)%s*,s*(-?d+|-?d*.d+)s*)/i,On=/[-+]?d*.?d+(?:e[-+]?d)?/gi,Fo=/^([-+]?d*.?d+(?:e[-+]?d+)?)([a-z]+|%)$/i,Vo=/([a-z])([A-Z])/g;var zo=/var(s*(–[w-]+)(?:s*,s*([^)]+))?s*)/;var Me={id:null,keyframes:null,playbackEase:null,playbackRate:1,frameRate:We,loop:0,reversed:!1,alternate:!1,autoplay:!0,persist:!1,duration:yt,delay:0,loopDelay:0,ease:”out(2)”,composition:$.replace,modifier:Po,onBegin:Q,onBeforeUpdate:Q,onUpdate:Q,onLoop:Q,onPause:Q,onComplete:Q,onRender:Q},Ke={current:null,root:Qt},M={defaults:Me,precision:4,timeScale:1,tickThreshold:200,editor:null},Dn={version:”4.5.0″,engine:null};xt&&(Cr.AnimeJS||(Cr.AnimeJS=[]),Cr.AnimeJS.push(Dn));var Ln=t=>t.replace(Vo,”$1-$2″).toLowerCase(),bt=(t,e)=>t.indexOf(e)===0,Ft=Date.now,te=Array.isArray,Rr=t=>t&&t.constructor===Object,Ho=t=>typeof t==”number”&&!isNaN(t),Vt=t=>typeof t==”string”,Tt=t=>typeof t==”function”,S=t=>typeof t>”u”,ee=t=>S(t)||t===null,Pe=t=>xt&&t instanceof SVGElement,$n=t=>Do.test(t),Bn=t=>bt(t,”rgb”),qn=t=>bt(t,”hsl”),Xo=t=>$n(t)||(Bn(t)||qn(t))&&(t[t.length-1]===”)”||!Oo.test(t)),Je=t=>!M.defaults.hasOwnProperty(t),Ka=[“opacity”,”rotate”,”overflow”,”color”],Yo=(t,e)=>{if(Ka.includes(e))return!1;if(t.getAttribute(e)||e in t){if(e===”scale”){let r=t.parentNode;return r&&r.tagName===”filter”}return!0}};var pe=Math.pow,Ze=Math.sqrt,Wo=Math.sin,Go=Math.cos;var Ko=Math.floor,Jo=Math.asin;var Zo=Math.atan2,de=Math.PI,Uo=Math.round,nt=(t,e,r)=>tr?r:t,w=(t,e)=>{if(er===1?e:r===0?t:t+(e-t)*r,Qe=t=>t===1/0?Ye:t===-1/0?-Ye:t,he=t=>tte(t)?[…t]:t,Qo=(t,e)=>{let r={…t};for(let n in e){let o=t[n];r[n]=S(o)?e[n]:o}return r},R=(t,e,r,n=”_prev”,o=”_next”)=>{let i=t._head,s=o;for(r&&(i=t._tail,s=n);i;){let a=i[s];e(i),i=a}},me=(t,e,r=”_prev”,n=”_next”)=>{let o=e[r],i=e[n];o?o[n]=i:t._head=i,i?i[r]=o:t._tail=o,e[r]=null,e[n]=null},zt=(t,e,r,n=”_prev”,o=”_next”)=>{let i=t._tail;for(;i&&r&&r(i,e);)i=i[n];let s=i?i[o]:t._head;i?i[o]=e:t._head=e,s?s[n]=e:t._tail=e,e[n]=i,e[o]=s};var jo=(t,e,r)=>{let n=t.style.transform;if(n){let o=t[jt],i=0,s=n.length,a;for(;i<s;){for(;i=s)break;let u=i;for(;i=s)break;let c=n.substring(u,i),f=1,p=i+1,d=-1,g=-1;for(i++;i0;){let T=n.charCodeAt(i);T===40?f++:T===41?f–:T===44&&f===1&&(d===-1?d=i:g===-1&&(g=i)),i++}let m=i-1;c===”translate”||c===”translate3d”?(d===-1?o.translateX=n.substring(p,m).trim():(o.translateX=n.substring(p,d).trim(),g===-1?o.translateY=n.substring(d+1,m).trim():(o.translateY=n.substring(d+1,g).trim(),o.translateZ=n.substring(g+1,m).trim())),a=n.substring(p,m)):c===”scale”||c===”scale3d”?d===-1?o.scale=n.substring(p,m).trim():(o.scaleX=n.substring(p,d).trim(),g===-1?o.scaleY=n.substring(d+1,m).trim():(o.scaleY=n.substring(d+1,g).trim(),o.scaleZ=n.substring(g+1,m).trim())):o[c]=n.substring(p,m)}if(e===”translate3d”&&a)return r&&(r[e]=a),a;let l=o[e];if(!S(l))return r&&(r[e]=l),l}return e===”translate3d”?”0px, 0px, 0px”:e===”rotate3d”?”0, 0, 0, 0deg”:bt(e,”scale”)?”1″:bt(e,”rotate”)||bt(e,”skew”)?”0deg”:”0px”},Ir=t=>{let e=Nt;for(let r=0,n=ke.length;r<n;r++){let o=ke[r],i=t[o];if(i!==void 0){if(o==="translateX"){let s=t.translateY;if(s!==void 0){let a=t.translateZ;a!==void 0?(e+=`translate3d(${i},${s},${a}) `,r+=2):(e+=`translate(${i},${s}) `,r+=1);continue}}if(o==="scaleX"&&t.scale===void 0){let s=t.scaleY;if(s!==void 0){let a=t.scaleZ;a!==void 0?(e+=`scale3d(${i},${s},${a}) `,r+=2):(e+=`scale(${i},${s}) `,r+=1);continue}}e+=`${Mo[o]}${i}) `}o==="rotateZ"&&t.rotate3d!==void 0&&(e+=`rotate3d(${t.rotate3d}) `)}return t.matrix!==void 0&&(e+=`matrix(${t.matrix}) `),t.matrix3d!==void 0&&(e+=`matrix3d(${t.matrix3d}) `),e};var Fn=[];function kr(t,e){if(!t)return null;let r=Fn.length;t:for(let n=0;n<r;n++){let o=Fn[n];if(o.detect&&!o.detect(t))continue;let i=o.targetAdapters;for(let s=0,a=i.length;s<a;s++){let l=i[s];if(l.detect(t)){let u=l.props[e];if(u&&(!u.gate||u.gate(t)))return u;break t}}}for(let n=0;n<r;n++){let o=Fn[n];if(o.detect&&!o.detect(t))continue;let i=o.propertyResolvers;for(let s=0,a=i.length;s{let e=Lo.exec(t)||$o.exec(t),r=S(e[4])?1:+e[4];return[+e[1],+e[2],+e[3],r]},Za=t=>{let e=t.length,r=e===4||e===5;return[+(“0x”+t[1]+t[r?1:2]),+(“0x”+t[r?2:3]+t[r?2:4]),+(“0x”+t[r?3:5]+t[r?3:6]),e===5||e===9?+(+(“0x”+t[r?4:7]+t[r?4:8])/255).toFixed(3):1]},Vn=(t,e,r)=>(r1&&(r-=1),r<1/6?t+(e-t)*6*r:r<1/2?e:r{let e=Bo.exec(t)||qo.exec(t),r=+e[1]/360,n=+e[2]/100,o=+e[3]/100,i=S(e[4])?1:+e[4],s,a,l;if(n===0)s=a=l=o;else{let u=oBn(t)?Ja(t):$n(t)?Za(t):qn(t)?Qa(t):[0,0,0,1];var V=(t,e)=>S(t)?e:t,ei=(t,e)=>{let r=t.match(zo),n=e[Et]?e:document.documentElement,o=getComputedStyle(n)?.getPropertyValue(r[1]);return(!o||o.trim()===Nt)&&r[2]&&(o=r[2].trim()),o||0},Rt=(t,e,r,n,o,i)=>{if(Tt(t)){if(!o){let a=t(e,r,n,i);return isNaN(+a)?a||0:+a}let s=()=>{let a=t(e,r,n,i);return isNaN(+a)?a||0:+a};return o.func=s,s()}if(Vt(t)&&bt(t,ko)){if(!o)return ei(t,e);let s=()=>ei(t,e);return o.func=s,s()}return t},zn=(t,e)=>t[Et]?t[Ie]&&Yo(t,e)?E.ATTRIBUTE:ke.includes(e)||Nr.get(e)?E.TRANSFORM:bt(e,”–“)?E.CSS_VAR:e in t.style?E.CSS:e in t?E.OBJECT:E.ATTRIBUTE:E.OBJECT,ri=(t,e,r)=>{let n=t.style[e];n&&r&&(r[e]=n);let o=n||getComputedStyle(t[Er]||t).getPropertyValue(e);return o===”auto”?”0″:o},De=(t,e,r,n)=>{let o=S(r)?zn(t,e):r,i=kr(t,e);if(i){let s=i.get(t);return s&&n&&(n[e]=s),s??0}if(o===E.OBJECT){let s=t[e];return s&&n&&(n[e]=s),s||0}if(o===E.ATTRIBUTE){let s=t.getAttribute(e);return s&&n&&(n[e]=s),s}return o===E.TRANSFORM?jo(t,e,n):o===E.CSS_VAR?ri(t,e,n).trimStart():ri(t,e,n)},Mr=(t,e,r)=>r===”-“?t-e:r===”+”?t+e:t*e,Pr=()=>({t:y.NUMBER,n:0,u:null,o:null,d:null,s:null}),ot=(t,e)=>{if(e.t=y.NUMBER,e.n=0,e.u=null,e.o=null,e.d=null,e.s=null,!t)return e;let r=+t;if(!isNaN(r))return e.n=r,e;let n=t;n[1]===”=”&&(e.o=n[0],n=n.slice(2));let o=n.includes(” “)?!1:Fo.exec(n);if(o)return e.t=y.UNIT,e.n=+o[1],e.u=o[2],e;if(e.o)return e.n=+n,e;if(Xo(n))return e.t=y.COLOR,e.d=ti(n),e;{let i=n.match(On);return e.t=y.COMPLEX,e.d=i?i.map(Number):[],e.s=n.split(On)||[],e}},Un=(t,e)=>(e.t=t._valueType,e.n=t._toNumber,e.u=t._unit,e.o=null,e.d=B(t._toNumbers),e.s=B(t._strings),e),ft=Pr(),Or=(t,e,r)=>{let n=t._modifier,o=t._fromNumbers,i=t._toNumbers,s=t._strings,a=s[0];for(let l=0,u=i.length;l{let i=t.parent,s=t.duration,a=t.completed,l=t.iterationDuration,u=t.iterationCount,c=t._currentIteration,f=t._loopDelay,p=t._reversed,d=t._alternate,g=t._hasChildren,m=t._delay,T=t._currentTime,q=m+l,N=e-m,O=nt(T,-m,s),P=nt(N,-m,s),D=N-T,k=P>0,vt=P>=s,Mt=s1){let Kt=l+(vt?0:f),K=~~(P/Kt);t._currentIteration=nt(K,0,u),vt&&t._currentIteration–,Ot=t._currentIteration%2,Gt=P-K*Kt||0}let Te=p^(d&&Ot),Se=t._ease,L=vt?Te?0:s:Te?l-Gt:Gt;Se&&(L=l*Se(L/l)||0);let U=(i?i.backwards:N<T)?!Te:!!Te;if(t._currentTime=N,t._iterationTime=L,t.backwards=U,k&&!t.began?(t.began=!0,!r&&!(i&&(U||!i.began))&&t.onBegin(t)):N=(i&&m>0?0:m)&&e<=q||em||e>=q&&O!==s)||L>=q&&O!==s||L0&&!vt||e=M.tickThreshold,K=w(t._offset+(i?i._offset:0)+m+L,12),h=t._head,A,et,pt,ue,Ae=0;for(;h;){let dt=h._composition,J=h._currentTime,Jt=h._changeDuration,ht=h._absoluteStartTime+h._changeDuration,C=h._nextRep,rt=h._prevRep,Lt=dt!==$.none,at=rt?rt._absoluteStartTime+rt._changeDuration:0,At=rt&&rt.parent!==h.parent,$t=!C||C._isOverridden?ht:C.parent===h.parent?ht+C._delay:C._absoluteStartTime<C._absoluteUpdateStartTime?C._absoluteStartTime:C._absoluteUpdateStartTime;if((Kt||(J!==Jt||K=h._absoluteStartTime||At&&!h._hasFromValue&&!rt._isOverridden&&K>=at||C&&!C._isOverridden&&C.parent===h.parent&&C._currentTime!==0&&L=h._startTime)&&(!Lt||!h._isOverridden&&(!h._isOverlapped||K<=ht)&&(!C||C._isOverridden||K=h._absoluteStartTime||!h._hasFromValue&&K>=at:K>=at+h._delay)))){let ce=h._currentTime=nt(L-h._startTime,0,Jt),H=h._ease(ce/h._updateDuration),lt=h._modifier,mt=h._valueType,ut=h._tweenType,Ce=ut===E.OBJECT,wt=mt===y.NUMBER,Bt=wt&&Ce||H===0||H===1?-1:M.precision,F,qt;if(wt)F=qt=lt(w(Oe(h._fromNumber,h._toNumber,H),Bt));else if(mt===y.UNIT)qt=lt(w(Oe(h._fromNumber,h._toNumber,H),Bt)),F=`${qt}${h._unit}`;else if(mt===y.COLOR){let X=h._numbers,Zt=h._fromNumbers,Ct=h._toNumbers,Ee=1-H,Tr=Zt[0],Sr=Zt[1],Ne=Zt[2],Re=Ct[0],fe=Ct[1],He=Ct[2];X[0]=lt(Math.sqrt(Tr*Tr*Ee+Re*Re*H)),X[1]=lt(Math.sqrt(Sr*Sr*Ee+fe*fe*H)),X[2]=lt(Math.sqrt(Ne*Ne*Ee+He*He*H)),X[3]=lt(Oe(Zt[3],Ct[3],H)),(!h._setter||n)&&(F=`rgba(${w(X[0],0)},${w(X[1],0)},${w(X[2],0)},${X[3]})`)}else mt===y.COMPLEX&&(F=Or(h,H,Bt));if(Lt&&(h._number=qt),!n&&dt!==$.blend){let X=h.property;A=h.target,h._setter?h._setter(A,qt,h):Ce?A[X]=F:ut===E.ATTRIBUTE?A.setAttribute(X,F):(et=A.style,ut===E.TRANSFORM?(A!==pt&&(pt=A,ue=A[jt]),ue[X]=F,Ae=1):ut===E.CSS?et[X]=F:ut===E.CSS_VAR&&et.setProperty(X,F)),k&&(Dt=1)}else h._value=F}else J&&rt&&!At&&L0&&!a||U&&N=u-1&&(t.paused=!0,!a&&!g&&(t.completed=!0,!r&&!(i&&(U||!i.began))&&(t.onComplete(t),t._resolve(t)))):t.completed=!1,Dt},re=(t,e,r,n,o)=>{let i=t._currentIteration;if(je(t,e,r,n,o),t._hasChildren){let s=t,a=s.backwards,l=n?e:s._iterationTime,u=Ft(),c=0,f=!0;if(!n&&s._currentIteration!==i){let p=s.iterationDuration;R(s,d=>{if(!a)!d.completed&&!d.backwards&&d._currentTime<d.iterationDuration&&je(d,p,r,1,Y.FORCE),d.began=!1,d.completed=!1;else{let g=d.duration,m=d._offset+d._delay,T=m+g;!r&&g{let d=w((l-p._offset)*p._speed,12);if(a&&d>p._delay+p.duration)return;let g=p._fps=s.duration&&(s.paused=!0,s.completed||(s.completed=!0,r||(s.onComplete(s),s._resolve(s))))}};var ni={},oi=(t,e,r)=>{if(r===E.TRANSFORM){let n=Nr.get(t);return n||t}else if(r===E.CSS||r===E.ATTRIBUTE&&Pe(e)&&t in e.style){let n=ni[t];if(n)return n;{let o=t&&Ln(t);return ni[t]=o,o}}else return t},Hn=(t,e=!1)=>{if(t._hasChildren)R(t,r=>Hn(r,e),!0);else{let r=t;r.pause(),R(r,n=>{let o=n.property,i=n.target,s=n._tweenType,a=n._inlineValue,l=ee(a)||a===Nt;if(n._setter){if(!e&&!l){if(ot(a,ft),ft.d){let u=ft.d,c=n._numbers;for(let f=0,p=u.length;f
{u.getAttribute&&u.getAttribute(“style”)===Nt&&u.removeAttribute(“style”)})})}return t};var Le=class{constructor(e=0){this.deltaTime=0,this._currentTime=e,this._lastTickTime=e,this._startTime=e,this._lastTime=e,this._frameDuration=yt/We,this._fps=We,this._speed=1,this._hasChildren=!1,this._head=null,this._tail=null}get fps(){return this._fps}set fps(e){let r=+e,n=rMe.frameRate&&(Me.frameRate=n),this._fps=n,this._frameDuration=o}get speed(){return this._speed}set speed(e){let r=+e;this._speed=r<v?v:r}requestTick(e){let r=this._frameDuration,n=e-this._lastTickTime,o=r*.25,i=o<4?o:4;return n+i=r?e-n%r:e,Y.AUTO)}computeDeltaTime(e){let r=e-this._lastTime;return this.deltaTime=r,this._lastTime=e,r}};var Ut={animation:null,update:Q},ii=t=>{let e=Ut.animation;return e||(e={duration:v,computeDeltaTime:Q,_offset:0,_delay:0,_head:null,_tail:null},Ut.animation=e,Ut.update=()=>{t.forEach(r=>{for(let n in r){let o=r[n],i=o._head;if(i){let s=i._valueType,a=s===y.COMPLEX||s===y.COLOR?B(i._fromNumbers):null,l=i._fromNumber,u=o._tail;for(;u&&u!==i;){if(a)for(let c=0,f=u._numbers.length;cxt?requestAnimationFrame:setImmediate)(),ja=(()=>xt?cancelAnimationFrame:clearImmediate)(),Xn=class extends Le{constructor(e){super(e),this.useDefaultMainLoop=!0,this.pauseOnDocumentHidden=!0,this.defaults=Me,this.paused=!0,this.reqId=0}update(){let e=this._currentTime=Ft();if(this.requestTick(e)){this.computeDeltaTime(e);let r=this._speed,n=this._fps,o=this._head;for(;o;){let i=o._next;o.paused?(me(this,o),this._hasChildren=!!this._tail,o._running=!1,o.completed&&!o._cancelled&&o.cancel()):re(o,(e-o._startTime)*o._speed*r,0,0,o._fpse.resetTime()),this.wake()}get speed(){return this._speed*(M.timeScale===1?1:yt)}set speed(e){let r=e*M.timeScale;this._speed!==r&&(this._speed=r,R(this,n=>n.speed=n._speed))}get timeUnit(){return M.timeScale===1?”ms”:”s”}set timeUnit(e){let n=e===”s”,o=n?.001:1;if(M.timeScale!==o){M.timeScale=o,M.tickThreshold=200*o;let i=n?.001:yt;this.defaults.duration*=i,this._speed*=i}}get precision(){return M.precision}set precision(e){M.precision=e}},W=(()=>{let t=new Xn(Ft());return xt&&(Dn.engine=t,Qt.addEventListener(“visibilitychange”,()=>{t.pauseOnDocumentHidden&&(Qt.hidden?t.pause():t.resume())})),t})(),ai=()=>{W._head?(W.reqId=si(ai),W.update()):W.reqId=0},tl=()=>(ja(W.reqId),W.reqId=0,W);var Dr={_rep:new WeakMap,_add:new Map},er=(t,e,r=”_rep”)=>{let n=Dr[r],o=n.get(t);return o||(o={},n.set(t,o)),o[e]?o[e]:o[e]={_head:null,_tail:null}},el=(t,e)=>t._isOverridden||t._absoluteStartTime>e._absoluteStartTime,tr=t=>{t._isOverlapped=1,t._isOverridden=1,t._changeDuration=v,t._currentTime=v},Lr=(t,e)=>{let r=t._composition;if(r===$.replace){let n=t._absoluteStartTime;zt(e,t,el,”_prevRep”,”_nextRep”);let o=t._prevRep;if(o){let i=o.parent,s=o._absoluteEndTime;if(t.parent.id!==i.id&&i.iterationCount>1&&s+(i.duration-i.iterationDuration)>n){tr(o);let u=o._prevRep;for(;u&&u.parent.id===i.id;)tr(u),u=u._prevRep}let a=t._absoluteUpdateStartTime;if(s>a){let u=o._startTime,c=s-(u+o._updateDuration),f=w(a-c-u,12);o._changeDuration=f,o._currentTime=f,o._isOverlapped=1,f{c._isOverlapped||(u=!1)}),u){let c=i.parent;if(c){let f=!0;R(c,p=>{p!==i&&R(p,d=>{d._isOverlapped||(f=!1)})}),f&&c.cancel()}else i.cancel()}}}}else if(r===$.blend){let n=er(t.target,t.property,”_add”),o=ii(Dr._add),i=n._head;i||(i={…t},i._composition=$.replace,i._updateDuration=v,i._startTime=0,i._numbers=B(t._fromNumbers),i._number=0,i._next=null,i._prev=null,zt(n,i),zt(o,i));let s=t._toNumber;if(t._fromNumber=i._fromNumber-s,t._toNumber=0,t._numbers=B(t._fromNumbers),t._number=0,i._fromNumber=s,t._toNumbers.length){let a=B(t._toNumbers);a.forEach((l,u)=>{t._fromNumbers[u]=i._fromNumbers[u]-l,t._toNumbers[u]=0}),i._fromNumbers=a}zt(n,t,null,”_prevAdd”,”_nextAdd”)}return t},li=t=>{let e=t._composition;if(e!==$.none){let r=t.target,n=t.property,s=Dr._rep.get(r)[n];if(me(s,t,”_prevRep”,”_nextRep”),e===$.blend){let a=Dr._add,l=a.get(r);if(!l)return;let u=l[n],c=Ut.animation;me(u,t,”_prevAdd”,”_nextAdd”);let f=u._head;if(f&&f===u._tail){me(u,f,”_prevAdd”,”_nextAdd”),me(c,f);let p=!0;for(let d in l)if(l[d]._head){p=!1;break}p&&a.delete(r)}}}return t};var ui=t=>(t.paused=!0,t.began=!1,t.completed=!1,t),Yn=t=>(t._cancelled&&(t._hasChildren?R(t,Yn):R(t,e=>{e._composition!==$.none&&Lr(e,er(e.target,e.property))}),t._cancelled=0),t),ci=0,rl=(t,e)=>t._priority>e._priority,$r=class extends Le{constructor(e={},r=null,n=0){super(0),++ci;let{id:o,delay:i,duration:s,reversed:a,alternate:l,loop:u,loopDelay:c,autoplay:f,frameRate:p,playbackRate:d,priority:g,onComplete:m,onLoop:T,onPause:q,onBegin:N,onBeforeUpdate:O,onUpdate:P}=e;Ke.current&&Ke.current.register(this);let D=r?0:W._lastTickTime,k=r?r.defaults:M.defaults,vt=Tt(i)||S(i)?k.delay:+i,Mt=Tt(s)||S(s)?1/0:+s,Pt=V(u,k.loop),Ot=V(c,k.loopDelay),Gt=Pt===!0||Pt===1/0||Pt<0?1/0:Pt+1,Dt=0;r?Dt=n:(W.reqId||W.requestTick(Ft()),Dt=(W._lastTickTime-W._startTime)*M.timeScale),this.id=S(o)?ci:o,this.parent=r,this.duration=Qe((Mt+Ot)*Gt-Ot)||v,this.backwards=!1,this.paused=!0,this.began=!1,this.completed=!1,this.onBegin=N||k.onBegin,this.onBeforeUpdate=O||k.onBeforeUpdate,this.onUpdate=P||k.onUpdate,this.onLoop=T||k.onLoop,this.onPause=q||k.onPause,this.onComplete=m||k.onComplete,this.iterationDuration=Mt,this.iterationCount=Gt,this._autoplay=r?!1:V(f,k.autoplay),this._offset=Dt,this._delay=vt,this._loopDelay=Ot,this._iterationTime=0,this._currentIteration=0,this._resolve=Q,this._running=!1,this._reversed=+V(a,k.reversed),this._reverse=this._reversed,this._cancelled=0,this._alternate=V(l,k.alternate),this._prev=null,this._next=null,this._lastTickTime=D,this._startTime=D,this._lastTime=D,this._fps=V(p,k.frameRate),this._speed=V(d,k.playbackRate),this._priority=+V(g,1)}get cancelled(){return!!this._cancelled}set cancelled(e){e?this.cancel():this.reset(!0).play()}get currentTime(){return nt(w(this._currentTime,M.precision),-this._delay,this.duration)}set currentTime(e){let r=this.paused;this.pause().seek(+e),r||this.resume()}get iterationCurrentTime(){return nt(w(this._iterationTime,M.precision),0,this.iterationDuration)}set iterationCurrentTime(e){this.currentTime=this.iterationDuration*this._currentIteration+e}get progress(){return nt(w(this._currentTime/this.duration,10),0,1)}set progress(e){this.currentTime=this.duration*e}get iterationProgress(){return nt(w(this._iterationTime/this.iterationDuration,10),0,1)}set iterationProgress(e){let r=this.iterationDuration;this.currentTime=r*this._currentIteration+r*e}get currentIteration(){return this._currentIteration}set currentIteration(e){this.currentTime=this.iterationDuration*nt(+e,0,this.iterationCount-1)}get reversed(){return!!this._reversed}set reversed(e){e?this.reverse():this.play()}get speed(){return super.speed}set speed(e){super.speed=e,this.resetTime()}reset(e=!1){return Yn(this),this._reversed&&!this._reverse&&(this.reversed=!1),this._iterationTime=this.iterationDuration,re(this,0,1,~~e,Y.FORCE),ui(this),this._hasChildren&&R(this,ui),this}init(e=!1){this.fps=this._fps,this.speed=this._speed,!e&&this._hasChildren&&re(this,this.duration,1,~~e,Y.FORCE),this.reset(e);let r=this._autoplay;return r===!0?this.resume():r&&!S(r.linked)&&r.link(this),this}resetTime(){let e=1/(this._speed*W._speed);return this._startTime=Ft()-(this._currentTime+this._delay)*e,this}pause(){return this.paused?this:(this.paused=!0,this.onPause(this),this)}resume(){return this.paused?(this.paused=!1,this.duratione.cancel(),!0):R(this,li),this._cancelled=1,this.pause()}stretch(e){let r=this.duration,n=he(e);if(r===n)return this;let o=e/r,i=e{this.then=null,e(this),this.then=r,this._resolve=Q};return new Promise(o=>(this._resolve=()=>o(n()),this.completed&&this._resolve(),this))}};function fi(t){let e=Vt(t)?Ke.root.querySelectorAll(t):t;if(e instanceof NodeList||e instanceof HTMLCollection)return e}function rr(t){if(ee(t))return[];if(!xt)return te(t)&&t.flat(1/0)||[t];if(te(t)){let r=t.flat(1/0),n=[];for(let o=0,i=r.length;o<i;o++){let s=r[o];if(!ee(s)){let a=fi(s);if(a)for(let l=0,u=a.length;l<u;l++){let c=a[l];if(!ee(c)){let f=!1;for(let p=0,d=n.length;p<d;p++)if(n[p]===c){f=!0;break}f||n.push(c)}}else{let l=!1;for(let u=0,c=n.length;u<c;u++)if(n[u]===s){l=!0;break}l||n.push(s)}}}return n}let e=fi(t);return e?Array.from(e):[t]}function pi(t){let e=rr(t),r=e.length;for(let n=0;n{let o=e.u,i=e.n;if(e.t===y.UNIT&&o===r)return e;let s=i+o+r,a=di[s];if(!S(a)&&!n)e.n=a;else{let l;if(o in Wn)l=i*Wn[o]/Wn[r];else{let c=t.cloneNode(),f=t.parentNode,p=f&&f!==Qt?f:Qt.body;p.appendChild(c);let d=c.style;d.width=100+o;let g=c.offsetWidth||100;d.width=100+r;let m=c.offsetWidth||100,T=g/m;p.removeChild(c),l=T*i}e.n=l,di[s]=l}return e.t,y.UNIT,e.u=r,e};var Ht=t=>t;var nr=(t=1.68)=>e=>pe(e,+t),Jn={in:t=>e=>t(e),out:t=>e=>1-t(1-e),inOut:t=>e=>ee=>e1-Go(t*nl),Circ:t=>1-Ze(1-t*t),Expo:t=>t?pe(2,10*t-10):0,Bounce:t=>{let e,r=4;for(;te=>(+t+1)*e*e*e-+t*e*e,Elastic:(t=1,e=.3)=>{let r=nt(+t,1,10),n=nt(+e,v,2),o=n/hi*Jo(1/r),i=hi/n;return s=>s===0||s===1?s:-r*pe(2,-10*(1-s))*Wo((1-s-o)*i)}},Kn=(()=>{let t={linear:Ht,none:Ht};for(let e in Jn)for(let r in mi){let n=mi[r],o=Jn[e];t[e+r]=r===Nt||r===”Back”||r===”Elastic”?(i,s)=>o(n(i,s)):o(n)}return t})(),Br={linear:Ht,none:Ht},ol=t=>{if(Br[t])return Br[t];if(t.indexOf(“(“){if(Vt(t)){for(let r=0,n=gi.length;r{let r={};if(te(t)){let n=[].concat(…t.map(o=>Object.keys(o))).filter(Je);for(let o=0,i=n.length;o{let u={};for(let c in l){let f=l[c];Je(c)?c===s&&(u.to=f):u[c]=f}return u});r[s]=a}}else{let n=V(e.duration,M.defaults.duration);Object.keys(t).map(i=>({o:parseFloat(i)/100,p:t[i]})).sort((i,s)=>i.o-s.o).forEach(i=>{let s=i.o,a=i.p;for(let l in a)if(Je(l)){let u=r[l];u||(u=r[l]=[]);let c=s*n,f=u.length,p=u[f-1],d={to:a[l]},g=0;for(let m=0;m<f;m++)g+=u[m].duration;f===1&&(d.from=p.to),a.ease&&(d.ease=a.ease),d.duration=c-(f?g:0),u.push(d)}return i});for(let i in r){let s=r[i],a;for(let l=0,u=s.length;l=yt?$.none:S(N)?P.composition:N,Se=this._offset+(n?n._offset:0);Mt&&(D.parent=this);let L=NaN,U=NaN,Kt=0,K=0;for(let h=0;h2&<?(ne=[],C.forEach((mt,ut)=>{ut?ut===1?(Be[1]=mt,ne.push(Be)):ne.push(mt):Be[0]=mt})):ne=C}else Vr[0]=C,ne=Vr;let Lt=null,at=null,At=NaN,$t=0,ce=0;for(let H=ne.length;ce1?Rt(Ot,A,et,pt,null,wt)/H:Ot),A,et,pt,null,wt),Ne=Rt(V(It.delay,ce?0:Gt),A,et,pt,null,wt),Re=It.modifier||Dt,fe=!S(qt),He=!S(F),Xe=te(F),qa=Xe||fe&&He,Fa=at?$t:0,Rn=at?$t+Ne:Ne,In=w(Se+Rn,12),Va=w(Se+Fa,12);!K&&(fe||Xe)&&(K=1);let gt=at;if(ut!==$.none){let b=Lt._head;for(;b&&b._absoluteStartTime=In)for(;b;)tr(b),b=b._nextRep}if(qa){ot(Xe?Rt(F[0],A,et,pt,Fr,wt):qt,x),ot(Xe?Rt(F[1],A,et,pt,qr,wt):F,_);let b=De(A,ht,J,$e);x.t===y.NUMBER&&(gt?gt._valueType===y.UNIT&&(x.t=y.UNIT,x.u=gt._unit):(ot(b,ft),ft.t===y.UNIT&&(x.t=y.UNIT,x.u=ft.u)))}else He?ot(F,_):at?Un(at,_):ot(n&>&>.parent.parent===n?gt._value:De(A,ht,J,$e),_),fe?ot(qt,x):at?Un(at,x):ot(n&>&>.parent.parent===n?gt._value:De(A,ht,J,$e),x);if(x.o&&(x.n=Mr(gt?gt._toNumber:ot(De(A,ht,J,$e),ft).n,x.n,x.o)),_.o&&(_.n=Mr(x.n,_.n,_.o)),x.t!==_.t){if(x.t===y.COMPLEX||_.t===y.COMPLEX){let b=x.t===y.COMPLEX?x:_,Z=x.t===y.COMPLEX?_:x;Z.t=y.COMPLEX,Z.s=B(b.s),Z.d=b.d.map(()=>Z.n)}else if(x.t===y.UNIT||_.t===y.UNIT){let b=x.t===y.UNIT?x:_,Z=x.t===y.UNIT?_:x;Z.t=y.UNIT,Z.u=b.u}else if(x.t===y.COLOR||_.t===y.COLOR){let b=x.t===y.COLOR?x:_,Z=x.t===y.COLOR?_:x;Z.t=y.COLOR,Z.d=b.d.map(()=>0)}}if(x.u!==_.u){let b=_.u?x:_;b=Gn(A,b,_.u?_.u:x.u,!1)}if(_.d&&x.d&&_.d.length!==x.d.length){let b=x.d.length>_.d.length?x:_,Z=b===x?_:x;Z.d=b.d.map((uf,Eo)=>S(Z.d[Eo])?0:Z.d[Eo]),Z.s=B(b.s)}let kn=w(+Sr||v,12),So=$e[ht];ee(So)||($e[ht]=null);let za=Jt?Jt.set:null;$t=w(Rn+kn,12);let Ar=x.d,Ao=_.d,Co=_.s,ct={parent:this,id:il++,property:ht,target:A,_value:null,_toFunc:qr.func,_fromFunc:Fr.func,_ease:Zn(Tr),_fromNumbers:Ar?B(Ar):Ge,_toNumbers:Ao?B(Ao):Ge,_strings:Co?B(Co):Ge,_fromNumber:x.n,_toNumber:_.n,_numbers:Ar?B(Ar):Ge,_number:x.n,_unit:_.u,_modifier:Re,_currentTime:0,_startTime:Rn,_delay:+Ne,_updateDuration:kn,_changeDuration:kn,_absoluteStartTime:In,_absoluteUpdateStartTime:Va,_absoluteEndTime:w(Se+$t,12),_hasFromValue:fe||Xe?1:0,_tweenType:J,_setter:za,_valueType:_.t,_composition:ut,_isOverlapped:0,_isOverridden:0,_renderTransforms:0,_inlineValue:So,_prevRep:null,_nextRep:null,_prevAdd:null,_nextAdd:null,_prev:null,_next:null};ut!==$.none&&Lr(ct,Lt);let Mn=ct._valueType;if(Mn===y.COMPLEX)ct._value=Or(ct,1,-1);else if(Mn===y.UNIT)ct._value=`${Re(ct._toNumber)}${ct._unit}`;else if(Mn===y.COLOR){let b=_.d;ct._value=`rgba(${w(b[0],0)},${w(b[1],0)},${w(b[2],0)},${b[3]})`}else ct._value=Re(ct._toNumber);isNaN(At)&&(At=ct._startTime),at=ct,Kt++,zt(this,ct)}(isNaN(U)||AtL)&&(L=$t),J===E.TRANSFORM&&(ue=Kt-ce,Ae=Kt)}if(!isNaN(ue)){let dt=0;R(this,J=>{dt>=ue&&dt{Jt.id===J.id&&(Jt._renderTransforms=1)})),dt++})}}u||console.warn(“No target found. Make sure the element you’re trying to animate is accessible before creating your animation.”),U?(R(this,h=>{h._startTime-h._delay||(h._delay-=U),h._startTime-=U}),L-=U):U=0,L||(L=v,this.iterationCount=0),this.targets=l,this.id=S(p)?xi:p,this.duration=L===v?v:Qe((L+this._loopDelay)*this.iterationCount-this._loopDelay)||v,this.onRender=O||P.onRender,this._ease=vt,this._delay=U,this.iterationDuration=L,!this._autoplay&&K&&this.onRender(this)}stretch(e){let r=this.duration;if(r===he(e))return this;let n=e/r;return R(this,o=>{o._updateDuration=he(o._updateDuration*n),o._changeDuration=he(o._changeDuration*n),o._currentTime*=n,o._delay*=n,o._startTime*=n,o._absoluteStartTime*=n,o._absoluteUpdateStartTime*=n,o._absoluteEndTime*=n}),super.stretch(e)}refresh(){return R(this,e=>{let r=e._toFunc,n=e._fromFunc;(r||n)&&(n?(ot(n(),x),x.u!==e._unit&&e.target[Et]&&Gn(e.target,x,e._unit,!0),e._fromNumbers=B(x.d),e._fromNumber=x.n):r&&(ot(De(e.target,e.property,e._tweenType),ft),e._fromNumbers=B(ft.d),e._fromNumber=ft.n),r&&(ot(r(),_),e._toNumbers=B(_.d),e._strings=B(_.s),e._toNumber=_.o?Mr(e._fromNumber,_.n,_.o):_.n))}),this.duration===v&&this.restart(),this}revert(){return super.revert(),Hn(this)}then(e){return super.then(e)}},Hr=(t,e)=>M.editor?M.editor.addAnimation(t,e):new Ur(t,e,null,0,!1).init();var Yr={};Xa(Yr,{createDrawable:()=>_i,createMotionPath:()=>yi,morphTo:()=>vi});var Xr=t=>{let r=rr(t)[0];return!r||!Pe(r)?console.warn(`${t} is not a valid SVGGeometryElement`):r};var Qn=(t,e,r,n,o)=>{let i=r+n,s=o?Math.max(0,Math.min(i,e)):(i%e+e)%e;return t.getPointAtLength(s)},jn=(t,e,r=0)=>n=>{let o=+t.getTotalLength(),i=n[Ie],s=t.getCTM(),a=r===0;return{from:0,to:o,modifier:l=>{let u=r*o,c=l+u;if(e===”a”){let f=Qn(t,o,c,-1,a),p=Qn(t,o,c,1,a);return Zo(p.y-f.y,p.x-f.x)*180/de}else{let f=Qn(t,o,c,0,a);return e===”x”?i||!s?f.x:f.x*s.a+f.y*s.c+s.e:i||!s?f.y:f.x*s.b+f.y*s.d+s.f}}}},yi=(t,e=0)=>{let r=Xr(t);if(r)return{translateX:jn(r,”x”,e),translateY:jn(r,”y”,e),rotate:jn(r,”a”,e)}};var al=t=>{let e=1;if(t&&t.getCTM){let r=t.getCTM();if(r){let n=Ze(r.a*r.a+r.b*r.b),o=Ze(r.c*r.c+r.d*r.d);e=(n+o)/2}}return e},ll=(t,e,r)=>{let n=yt,o=getComputedStyle(t),i=o.strokeLinecap,s=o.vectorEffect===”non-scaling-stroke”?t:null,a=i,l=new Proxy(t,{get(u,c){let f=u[c];return c===Er?u:c===”setAttribute”?(…p)=>{if(p[0]===”draw”){let g=p[1].split(” “),m=+g[0],T=+g[1],q=al(s),N=m*-n*q,O=T*n*q+N,P=n*q+(m===0&&T===1||m===1&&T===0?0:10*q)-O;if(i!==”butt”){let D=m===T?”butt”:i;a!==D&&(u.style.strokeLinecap=`${D}`,a=D)}u.setAttribute(“stroke-dashoffset”,`${N}`),u.setAttribute(“stroke-dasharray”,`${O} ${P}`)}return Reflect.apply(f,u,p)}:Tt(f)?(…p)=>Reflect.apply(f,u,p):f}});return t.getAttribute(“pathLength”)!==`${n}`&&(t.setAttribute(“pathLength”,`${n}`),l.setAttribute(“draw”,`${e} ${r}`)),l},_i=(t,e=0,r=0)=>rr(t).map(o=>ll(o,e,r));var vi=(t,e=.33)=>(r,n,o,i)=>{if(!(r.tagName||””).toLowerCase().match(/^(path|polygon|polyline)$/))throw new Error(`Can’t morph a SVG element. Use , or .`);let a=Xr(t);if(!a)throw new Error(“Can’t morph to an invalid target. ‘path2’ must resolve to an existing , or SVG element.”);if(!(a.tagName||””).toLowerCase().match(/^(path|polygon|polyline)$/))throw new Error(`Can’t morph a SVG element. Use , or .`);let u=r.tagName===”path”,c=u?” “:”,”,f=i?i._value:null;f&&r.setAttribute(u?”d”:”points”,f);let p=””,d=””;if(!e)p=r.getAttribute(u?”d”:”points”),d=a.getAttribute(u?”d”:”points”);else{let g=r.getTotalLength(),m=a.getTotalLength(),T=Math.max(Math.ceil(g*e),Math.ceil(m*e));for(let q=0;q{let o=document.querySelector(`.js-spark-box[data-id=”${t}”]`),i=o.querySelector(“.js-spark”);i||(o.append(document.querySelector(“.js-spark”)),i=o.querySelector(“.js-spark”));let s=i.querySelector(“.js-spark-offset”),a=Hr(s,{ease:”linear”,duration:1,autoplay:!1,loop:!1,…Yr.createMotionPath(e)}),l=Hr(i,{ease:”linear”,duration:1,autoplay:!1,keyframes:{“0%”:{opacity:0},”10%”:{opacity:1},”98%”:{opacity:1},”100%”:{opacity:0}}});i.setAttribute(“style”,n),a.seek(r),l.seek(r)},ge={update:(t,e,r,n=null)=>{ul(t,e,r,n)}};function Wr(t,e,r){t=+t,e=+e,r=(o=arguments.length)<2?(e=t,t=0,1):o<3?1:+r;for(var n=-1,o=Math.max(0,Math.ceil((e-t)/r))|0,i=new Array(o);++n{}};function bi(){for(var t=0,e=arguments.length,r={},n;t=0&&(n=r.slice(o+1),r=r.slice(0,o)),r&&!e.hasOwnProperty(r))throw new Error(“unknown type: “+r);return{type:r,name:n}})}Gr.prototype=bi.prototype={constructor:Gr,on:function(t,e){var r=this._,n=fl(t+””,r),o,i=-1,s=n.length;if(arguments.length<2){for(;++i<s;)if((o=(t=n[i]).type)&&(o=pl(r[o],t.name)))return o;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++i0)for(var r=new Array(o),n=0,o,i;n<o;++n)r[n]=arguments[n+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=this._[t],n=0,o=i.length;n<o;++n)i[n].value.apply(e,r)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var n=this._[t],o=0,i=n.length;o<i;++o)n[o].value.apply(e,r)}};function pl(t,e){for(var r=0,n=t.length,o;r<n;++r)if((o=t[r]).name===e)return o.value}function wi(t,e,r){for(var n=0,o=t.length;n=0&&(e=t.slice(0,r))!==”xmlns”&&(t=t.slice(r+1)),eo.hasOwnProperty(e)?{space:eo[e],local:t}:t}function dl(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===Kr&&e.documentElement.namespaceURI===Kr?e.createElement(t):e.createElementNS(r,t)}}function hl(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Jr(t){var e=Xt(t);return(e.local?hl:dl)(e)}function ml(){}function xe(t){return t==null?ml:function(){return this.querySelector(t)}}function Ti(t){typeof t!=”function”&&(t=xe(t));for(var e=this._groups,r=e.length,n=new Array(r),o=0;o<r;++o)for(var i=e[o],s=i.length,a=n[o]=new Array(s),l,u,c=0;c<s;++c)(l=i[c])&&(u=t.call(l,l.__data__,c,i))&&("__data__"in l&&(u.__data__=l.__data__),a[c]=u);return new I(n,this._parents)}function or(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function gl(){return[]}function ir(t){return t==null?gl:function(){return this.querySelectorAll(t)}}function xl(t){return function(){return or(t.apply(this,arguments))}}function Si(t){typeof t=="function"?t=xl(t):t=ir(t);for(var e=this._groups,r=e.length,n=[],o=[],i=0;i<r;++i)for(var s=e[i],a=s.length,l,u=0;u<a;++u)(l=s[u])&&(n.push(t.call(l,l.__data__,u,s)),o.push(l));return new I(n,o)}function sr(t){return function(){return this.matches(t)}}function Zr(t){return function(e){return e.matches(t)}}var yl=Array.prototype.find;function _l(t){return function(){return yl.call(this.children,t)}}function vl(){return this.firstElementChild}function Ai(t){return this.select(t==null?vl:_l(typeof t=="function"?t:Zr(t)))}var wl=Array.prototype.filter;function bl(){return Array.from(this.children)}function Tl(t){return function(){return wl.call(this.children,t)}}function Ci(t){return this.selectAll(t==null?bl:Tl(typeof t=="function"?t:Zr(t)))}function Ei(t){typeof t!="function"&&(t=sr(t));for(var e=this._groups,r=e.length,n=new Array(r),o=0;o<r;++o)for(var i=e[o],s=i.length,a=n[o]=[],l,u=0;u<s;++u)(l=i[u])&&t.call(l,l.__data__,u,i)&&a.push(l);return new I(n,this._parents)}function Qr(t){return new Array(t.length)}function Ni(){return new I(this._enter||this._groups.map(Qr),this._parents)}function ar(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}ar.prototype={constructor:ar,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function Ri(t){return function(){return t}}function Sl(t,e,r,n,o,i){for(var s=0,a,l=e.length,u=i.length;s<u;++s)(a=e[s])?(a.__data__=i[s],n[s]=a):r[s]=new ar(t,i[s]);for(;s<l;++s)(a=e[s])&&(o[s]=a)}function Al(t,e,r,n,o,i,s){var a,l,u=new Map,c=e.length,f=i.length,p=new Array(c),d;for(a=0;a<c;++a)(l=e[a])&&(p[a]=d=s.call(l,l.__data__,a,e)+"",u.has(d)?o[a]=l:u.set(d,l));for(a=0;a<f;++a)d=s.call(t,i[a],a,i)+"",(l=u.get(d))?(n[a]=l,l.__data__=i[a],u.delete(d)):r[a]=new ar(t,i[a]);for(a=0;a<c;++a)(l=e[a])&&u.get(p[a])===l&&(o[a]=l)}function Cl(t){return t.__data__}function Ii(t,e){if(!arguments.length)return Array.from(this,Cl);var r=e?Al:Sl,n=this._parents,o=this._groups;typeof t!="function"&&(t=Ri(t));for(var i=o.length,s=new Array(i),a=new Array(i),l=new Array(i),u=0;u<i;++u){var c=n[u],f=o[u],p=f.length,d=El(t.call(c,c&&c.__data__,u,n)),g=d.length,m=a[u]=new Array(g),T=s[u]=new Array(g),q=l[u]=new Array(p);r(c,f,m,T,q,d,e);for(var N=0,O=0,P,D;N=O&&(O=N+1);!(D=T[O])&&++O<g;);P._next=D||null}}return s=new I(s,n),s._enter=a,s._exit=l,s}function El(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function ki(){return new I(this._exit||this._groups.map(Qr),this._parents)}function Mi(t,e,r){var n=this.enter(),o=this,i=this.exit();return typeof t=="function"?(n=t(n),n&&(n=n.selection())):n=n.append(t+""),e!=null&&(o=e(o),o&&(o=o.selection())),r==null?i.remove():r(i),n&&o?n.merge(o).order():o}function Pi(t){for(var e=t.selection?t.selection():t,r=this._groups,n=e._groups,o=r.length,i=n.length,s=Math.min(o,i),a=new Array(o),l=0;l<s;++l)for(var u=r[l],c=n[l],f=u.length,p=a[l]=new Array(f),d,g=0;g<f;++g)(d=u[g]||c[g])&&(p[g]=d);for(;l<o;++l)a[l]=r[l];return new I(a,this._parents)}function Oi(){for(var t=this._groups,e=-1,r=t.length;++e=0;)(s=n[o])&&(i&&s.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(s,i),i=s);return this}function Di(t){t||(t=Nl);function e(f,p){return f&&p?t(f.__data__,p.__data__):!f-!p}for(var r=this._groups,n=r.length,o=new Array(n),i=0;i<n;++i){for(var s=r[i],a=s.length,l=o[i]=new Array(a),u,c=0;c<a;++c)(u=s[c])&&(l[c]=u);l.sort(e)}return new I(o,this._parents).order()}function Nl(t,e){return te?1:t>=e?0:NaN}function Li(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function $i(){return Array.from(this)}function Bi(){for(var t=this._groups,e=0,r=t.length;e<r;++e)for(var n=t[e],o=0,i=n.length;o<i;++o){var s=n[o];if(s)return s}return null}function qi(){let t=0;for(let e of this)++t;return t}function Fi(){return!this.node()}function Vi(t){for(var e=this._groups,r=0,n=e.length;r<n;++r)for(var o=e[r],i=0,s=o.length,a;i<s;++i)(a=o[i])&&t.call(a,a.__data__,i,o);return this}function Rl(t){return function(){this.removeAttribute(t)}}function Il(t){return function(){this.removeAttributeNS(t.space,t.local)}}function kl(t,e){return function(){this.setAttribute(t,e)}}function Ml(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function Pl(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttribute(t):this.setAttribute(t,r)}}function Ol(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}}function zi(t,e){var r=Xt(t);if(arguments.length1?this.each((e==null?Dl:typeof e==”function”?$l:Ll)(t,e,r??””)):oe(this.node(),t)}function oe(t,e){return t.style.getPropertyValue(e)||jr(t).getComputedStyle(t,null).getPropertyValue(e)}function Bl(t){return function(){delete this[t]}}function ql(t,e){return function(){this[t]=e}}function Fl(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function Hi(t,e){return arguments.length>1?this.each((e==null?Bl:typeof e==”function”?Fl:ql)(t,e)):this.node()[t]}function Xi(t){return t.trim().split(/^|s+/)}function ro(t){return t.classList||new Yi(t)}function Yi(t){this._node=t,this._names=Xi(t.getAttribute(“class”)||””)}Yi.prototype={add:function(t){var e=this._names.indexOf(t);e=0&&(this._names.splice(e,1),this._node.setAttribute(“class”,this._names.join(” “)))},contains:function(t){return this._names.indexOf(t)>=0}};function Wi(t,e){for(var r=ro(t),n=-1,o=e.length;++n<o;)r.add(e[n])}function Gi(t,e){for(var r=ro(t),n=-1,o=e.length;++n<o;)r.remove(e[n])}function Vl(t){return function(){Wi(this,t)}}function zl(t){return function(){Gi(this,t)}}function Ul(t,e){return function(){(e.apply(this,arguments)?Wi:Gi)(this,t)}}function Ki(t,e){var r=Xi(t+"");if(arguments.length<2){for(var n=ro(this.node()),o=-1,i=r.length;++o=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function ou(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,o=e.length,i;r<o;++r)i=e[r],(!t.type||i.type===t.type)&&i.name===t.name?this.removeEventListener(i.type,i.listener,i.options):e[++n]=i;++n?e.length=n:delete this.__on}}}function iu(t,e,r){return function(){var n=this.__on,o,i=ru(e);if(n){for(var s=0,a=n.length;s<a;++s)if((o=n[s]).type===t.type&&o.name===t.name){this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=i,o.options=r),o.value=e;return}}this.addEventListener(t.type,i,r),o={type:t.type,name:t.name,value:e,listener:i,options:r},n?n.push(o):this.__on=[o]}}function is(t,e,r){var n=nu(t+""),o,i=n.length,s;if(arguments.length<2){var a=this.node().__on;if(a){for(var l=0,u=a.length,c;l<u;++l)for(o=0,c=a[l];o<i;++o)if((s=n[o]).type===c.type&&s.name===c.name)return c.value}return}for(a=e?iu:ou,o=0;o<i;++o)this.each(a(n[o],e,r));return this}function ss(t,e,r){var n=jr(t),o=n.CustomEvent;typeof o=="function"?o=new o(e,r):(o=n.document.createEvent("Event"),r?(o.initEvent(e,r.bubbles,r.cancelable),o.detail=r.detail):o.initEvent(e,!1,!1)),t.dispatchEvent(o)}function su(t,e){return function(){return ss(this,t,e)}}function au(t,e){return function(){return ss(this,t,e.apply(this,arguments))}}function as(t,e){return this.each((typeof e=="function"?au:su)(t,e))}function*ls(){for(var t=this._groups,e=0,r=t.length;e<r;++e)for(var n=t[e],o=0,i=n.length,s;o>8&15|e>>4&240,e>>4&15|e&240,(e&15)<>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?en(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<>16&255,t>>8&255,t&255,1)}function en(t,e,r,n){return n<=0&&(t=e=r=NaN),new it(t,e,r,n)}function yu(t){return t instanceof fr||(t=ie(t)),t?(t=t.rgb(),new it(t.r,t.g,t.b,t.opacity)):new it}function Fe(t,e,r,n){return arguments.length===1?yu(t):new it(t,e,r,n??1)}function it(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}tn(it,Fe,io(fr,{brighter(t){return t=t==null?nn:Math.pow(nn,t),new it(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?ur:Math.pow(ur,t),new it(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new it(_e(this.r),_e(this.g),_e(this.b),on(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:hs,formatHex:hs,formatHex8:_u,formatRgb:ms,toString:ms}));function hs(){return`#${ye(this.r)}${ye(this.g)}${ye(this.b)}`}function _u(){return`#${ye(this.r)}${ye(this.g)}${ye(this.b)}${ye((isNaN(this.opacity)?1:this.opacity)*255)}`}function ms(){let t=on(this.opacity);return`${t===1?"rgb(":"rgba("}${_e(this.r)}, ${_e(this.g)}, ${_e(this.b)}${t===1?")":`, ${t})`}`}function on(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function _e(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ye(t){return t=_e(t),(t<16?"0":"")+t.toString(16)}function gs(t,e,r,n){return n<=0?t=e=r=NaN:r=1?t=e=NaN:e<=0&&(t=NaN),new St(t,e,r,n)}function ys(t){if(t instanceof St)return new St(t.h,t.s,t.l,t.opacity);if(t instanceof fr||(t=ie(t)),!t)return new St;if(t instanceof St)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,o=Math.min(e,r,n),i=Math.max(e,r,n),s=NaN,a=i-o,l=(i+o)/2;return a?(e===i?s=(r-n)/a+(r<n)*6:r===i?s=(n-e)/a+2:s=(e-r)/a+4,a/=l0&&l<1?0:s,new St(s,a,l,t.opacity)}function _s(t,e,r,n){return arguments.length===1?ys(t):new St(t,e,r,n??1)}function St(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}tn(St,_s,io(fr,{brighter(t){return t=t==null?nn:Math.pow(nn,t),new St(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?ur:Math.pow(ur,t),new St(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r=240?t-240:t+120,o,n),so(t,o,n),so(t<120?t+240:t-120,o,n),this.opacity)},clamp(){return new St(xs(this.h),rn(this.s),rn(this.l),on(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=on(this.opacity);return`${t===1?"hsl(":"hsla("}${xs(this.h)}, ${rn(this.s)*100}%, ${rn(this.l)*100}%${t===1?")":`, ${t})`}`}}));function xs(t){return t=(t||0)%360,t<0?t+360:t}function rn(t){return Math.max(0,Math.min(1,t||0))}function so(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}function ao(t,e,r,n,o){var i=t*t,s=i*t;return((1-3*t+3*i-s)*e+(4-6*i+3*s)*r+(1+3*t+3*i-3*s)*n+s*o)/6}function vs(t){var e=t.length-1;return function(r){var n=r=1?(r=1,e-1):Math.floor(r*e),o=t[n],i=t[n+1],s=n>0?t[n-1]:2*o-i,a=n<e-1?t[n+2]:2*i-o;return ao((r-n/e)*e,s,o,i,a)}}function ws(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)()=>t;function vu(t,e){return function(r){return t+r*e}}function wu(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function bs(t){return(t=+t)==1?sn:function(e,r){return r-e?wu(e,r,t):lo(isNaN(e)?r:e)}}function sn(t,e){var r=e-t;return r?vu(t,r):lo(isNaN(t)?e:t)}var an=function t(e){var r=bs(e);function n(o,i){var s=r((o=Fe(o)).r,(i=Fe(i)).r),a=r(o.g,i.g),l=r(o.b,i.b),u=sn(o.opacity,i.opacity);return function(c){return o.r=s(c),o.g=a(c),o.b=l(c),o.opacity=u(c),o+””}}return n.gamma=t,n}(1);function Ts(t){return function(e){var r=e.length,n=new Array(r),o=new Array(r),i=new Array(r),s,a;for(s=0;sr&&(i=e.slice(r,i),a[s]?a[s]+=i:a[++s]=i),(n=n[0])===(o=o[0])?a[s]?a[s]+=o:a[++s]=o:(a[++s]=null,l.push({i:s,x:_t(n,o)})),r=uo.lastIndex;return r<e.length&&(i=e.slice(r),a[s]?a[s]+=i:a[++s]=i),a.length<2?l[0]?Au(l[0].x):Su(e):(e=l.length,function(u){for(var c=0,f;c<e;++c)a[(f=l[c]).i]=f.x(u);return a.join("")})}var Ss=180/Math.PI,ln={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function po(t,e,r,n,o,i){var s,a,l;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(l=t*r+e*n)&&(r-=t*l,n-=e*l),(a=Math.sqrt(r*r+n*n))&&(r/=a,n/=a,l/=a),t*n180?c+=360:c-u>180&&(u+=360),p.push({i:f.push(o(f)+”rotate(“,null,n)-2,x:_t(u,c)})):c&&f.push(o(f)+”rotate(“+c+n)}function a(u,c,f,p){u!==c?p.push({i:f.push(o(f)+”skewX(“,null,n)-2,x:_t(u,c)}):c&&f.push(o(f)+”skewX(“+c+n)}function l(u,c,f,p,d,g){if(u!==f||c!==p){var m=d.push(o(d)+”scale(“,null,”,”,null,”)”);g.push({i:m-4,x:_t(u,f)},{i:m-2,x:_t(c,p)})}else(f!==1||p!==1)&&d.push(o(d)+”scale(“+f+”,”+p+”)”)}return function(u,c){var f=[],p=[];return u=t(u),c=t(c),i(u.translateX,u.translateY,c.translateX,c.translateY,f,p),s(u.rotate,c.rotate,f,p),a(u.skewX,c.skewX,f,p),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,f,p),u=c=null,function(d){for(var g=-1,m=p.length,T;++g=0&&t._call.call(void 0,e),t=t._next;–Ve}function Ns(){ve=(fn=mr.now())+pn,Ve=dr=0;try{ks()}finally{Ve=0,Nu(),ve=0}}function Eu(){var t=mr.now(),e=t-fn;e>Rs&&(pn-=e,fn=t)}function Nu(){for(var t,e=cn,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:cn=r);hr=t,go(n)}function go(t){if(!Ve){dr&&(dr=clearTimeout(dr));var e=t-ve;e>24?(t{n.stop(),t(o+e)},e,r),n}var Ru=to(“start”,”end”,”cancel”,”interrupt”),Iu=[],Os=0,Ms=1,gn=2,mn=3,Ps=4,xn=5,yr=6;function se(t,e,r,n,o,i){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;ku(t,r,{name:e,index:n,group:o,on:Ru,tween:Iu,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:Os})}function _r(t,e){var r=z(t,e);if(r.state>Os)throw new Error(“too late; already scheduled”);return r}function G(t,e){var r=z(t,e);if(r.state>mn)throw new Error(“too late; already running”);return r}function z(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error(“transition not found”);return r}function ku(t,e,r){var n=t.__transition,o;n[e]=r,r.timer=dn(i,0,r.time);function i(u){r.state=Ms,r.timer.restart(s,r.delay,r.time),r.delay<=u&&s(u-r.delay)}function s(u){var c,f,p,d;if(r.state!==Ms)return l();for(c in n)if(d=n[c],d.name===r.name){if(d.state===mn)return hn(s);d.state===Ps?(d.state=yr,d.timer.stop(),d.on.call("interrupt",t,t.__data__,d.index,d.group),delete n[c]):+c<e&&(d.state=yr,d.timer.stop(),d.on.call("cancel",t,t.__data__,d.index,d.group),delete n[c])}if(hn(function(){r.state===mn&&(r.state=Ps,r.timer.restart(a,r.delay,r.time),a(u))}),r.state=gn,r.on.call("start",t,t.__data__,r.index,r.group),r.state===gn){for(r.state=mn,o=new Array(p=r.tween.length),c=0,f=-1;c<p;++c)(d=r.tween[c].value.call(t,t.__data__,r.index,r.group))&&(o[++f]=d);o.length=f+1}}function a(u){for(var c=u<r.duration?r.ease.call(null,u/r.duration):(r.timer.restart(l),r.state=xn,1),f=-1,p=o.length;++f
gn&&n.state<xn,n.state=yr,n.timer.stop(),n.on.call(o?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete r[s]}i&&delete t.__transition}}function Ds(t){return this.each(function(){yn(this,t)})}function Mu(t,e){var r,n;return function(){var o=G(this,t),i=o.tween;if(i!==r){n=r=i;for(var s=0,a=n.length;s<a;++s)if(n[s].name===e){n=n.slice(),n.splice(s,1);break}}o.tween=n}}function Pu(t,e,r){var n,o;if(typeof r!="function")throw new Error;return function(){var i=G(this,t),s=i.tween;if(s!==n){o=(n=s).slice();for(var a={name:e,value:r},l=0,u=o.length;l<u;++l)if(o[l].name===e){o[l]=a;break}l===u&&o.push(a)}i.tween=o}}function Ls(t,e){var r=this._id;if(t+="",arguments.length<2){for(var n=z(this.node(),r).tween,o=0,i=n.length,s;o<i;++o)if((s=n[o]).name===t)return s.value;return null}return this.each((e==null?Mu:Pu)(r,t,e))}function ze(t,e,r){var n=t._id;return t.each(function(){var o=G(this,n);(o.value||(o.value={}))[e]=r.apply(this,arguments)}),function(o){return z(o,n).value[e]}}function _n(t,e){var r;return(typeof e=="number"?_t:e instanceof ie?an:(r=ie(e))?(e=r,an):fo)(t,e)}function Ou(t){return function(){this.removeAttribute(t)}}function Du(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Lu(t,e,r){var n,o=r+"",i;return function(){var s=this.getAttribute(t);return s===o?null:s===n?i:i=e(n=s,r)}}function $u(t,e,r){var n,o=r+"",i;return function(){var s=this.getAttributeNS(t.space,t.local);return s===o?null:s===n?i:i=e(n=s,r)}}function Bu(t,e,r){var n,o,i;return function(){var s,a=r(this),l;return a==null?void this.removeAttribute(t):(s=this.getAttribute(t),l=a+"",s===l?null:s===n&&l===o?i:(o=l,i=e(n=s,a)))}}function qu(t,e,r){var n,o,i;return function(){var s,a=r(this),l;return a==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),l=a+"",s===l?null:s===n&&l===o?i:(o=l,i=e(n=s,a)))}}function $s(t,e){var r=Xt(t),n=r==="transform"?mo:_n;return this.attrTween(t,typeof e=="function"?(r.local?qu:Bu)(r,n,ze(this,"attr."+t,e)):e==null?(r.local?Du:Ou)(r):(r.local?$u:Lu)(r,n,e))}function Fu(t,e){return function(r){this.setAttribute(t,e.call(this,r))}}function Vu(t,e){return function(r){this.setAttributeNS(t.space,t.local,e.call(this,r))}}function zu(t,e){var r,n;function o(){var i=e.apply(this,arguments);return i!==n&&(r=(n=i)&&Vu(t,i)),r}return o._value=e,o}function Uu(t,e){var r,n;function o(){var i=e.apply(this,arguments);return i!==n&&(r=(n=i)&&Fu(t,i)),r}return o._value=e,o}function Bs(t,e){var r="attr."+t;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;var n=Xt(t);return this.tween(r,(n.local?zu:Uu)(n,e))}function Hu(t,e){return function(){_r(this,t).delay=+e.apply(this,arguments)}}function Xu(t,e){return e=+e,function(){_r(this,t).delay=e}}function qs(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?Hu:Xu)(e,t)):z(this.node(),e).delay}function Yu(t,e){return function(){G(this,t).duration=+e.apply(this,arguments)}}function Wu(t,e){return e=+e,function(){G(this,t).duration=e}}function Fs(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?Yu:Wu)(e,t)):z(this.node(),e).duration}function Gu(t,e){if(typeof e!="function")throw new Error;return function(){G(this,t).ease=e}}function Vs(t){var e=this._id;return arguments.length?this.each(Gu(e,t)):z(this.node(),e).ease}function Ku(t,e){return function(){var r=e.apply(this,arguments);if(typeof r!="function")throw new Error;G(this,t).ease=r}}function zs(t){if(typeof t!="function")throw new Error;return this.each(Ku(this._id,t))}function Us(t){typeof t!="function"&&(t=sr(t));for(var e=this._groups,r=e.length,n=new Array(r),o=0;o<r;++o)for(var i=e[o],s=i.length,a=n[o]=[],l,u=0;u<s;++u)(l=i[u])&&t.call(l,l.__data__,u,i)&&a.push(l);return new j(n,this._parents,this._name,this._id)}function Hs(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,r=t._groups,n=e.length,o=r.length,i=Math.min(n,o),s=new Array(n),a=0;a<i;++a)for(var l=e[a],u=r[a],c=l.length,f=s[a]=new Array(c),p,d=0;d<c;++d)(p=l[d]||u[d])&&(f[d]=p);for(;a=0&&(e=e.slice(0,r)),!e||e===”start”})}function Zu(t,e,r){var n,o,i=Ju(e)?_r:G;return function(){var s=i(this,t),a=s.on;a!==n&&(o=(n=a).copy()).on(e,r),s.on=o}}function Xs(t,e){var r=this._id;return arguments.length<2?z(this.node(),r).on.on(t):this.each(Zu(r,t,e))}function Qu(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function Ys(){return this.on("end.remove",Qu(this._id))}function Ws(t){var e=this._name,r=this._id;typeof t!="function"&&(t=xe(t));for(var n=this._groups,o=n.length,i=new Array(o),s=0;s<o;++s)for(var a=n[s],l=a.length,u=i[s]=new Array(l),c,f,p=0;p<l;++p)(c=a[p])&&(f=t.call(c,c.__data__,p,a))&&("__data__"in c&&(f.__data__=c.__data__),u[p]=f,se(u[p],e,r,p,u,z(c,r)));return new j(i,this._parents,e,r)}function Gs(t){var e=this._name,r=this._id;typeof t!="function"&&(t=ir(t));for(var n=this._groups,o=n.length,i=[],s=[],a=0;a<o;++a)for(var l=n[a],u=l.length,c,f=0;f<u;++f)if(c=l[f]){for(var p=t.call(c,c.__data__,f,l),d,g=z(c,r),m=0,T=p.length;m<T;++m)(d=p[m])&&se(d,e,r,m,p,g);i.push(p),s.push(c)}return new j(i,s,e,r)}var ju=Yt.prototype.constructor;function Ks(){return new ju(this._groups,this._parents)}function tc(t,e){var r,n,o;return function(){var i=oe(this,t),s=(this.style.removeProperty(t),oe(this,t));return i===s?null:i===r&&s===n?o:o=e(r=i,n=s)}}function Js(t){return function(){this.style.removeProperty(t)}}function ec(t,e,r){var n,o=r+"",i;return function(){var s=oe(this,t);return s===o?null:s===n?i:i=e(n=s,r)}}function rc(t,e,r){var n,o,i;return function(){var s=oe(this,t),a=r(this),l=a+"";return a==null&&(l=a=(this.style.removeProperty(t),oe(this,t))),s===l?null:s===n&&l===o?i:(o=l,i=e(n=s,a))}}function nc(t,e){var r,n,o,i="style."+e,s="end."+i,a;return function(){var l=G(this,t),u=l.on,c=l.value[i]==null?a||(a=Js(e)):void 0;(u!==r||o!==c)&&(n=(r=u).copy()).on(s,o=c),l.on=n}}function Zs(t,e,r){var n=(t+="")=="transform"?ho:_n;return e==null?this.styleTween(t,tc(t,n)).on("end.style."+t,Js(t)):typeof e=="function"?this.styleTween(t,rc(t,n,ze(this,"style."+t,e))).each(nc(this._id,t)):this.styleTween(t,ec(t,n,e),r).on("end.style."+t,null)}function oc(t,e,r){return function(n){this.style.setProperty(t,e.call(this,n),r)}}function ic(t,e,r){var n,o;function i(){var s=e.apply(this,arguments);return s!==o&&(n=(o=s)&&oc(t,s,r)),n}return i._value=e,i}function Qs(t,e,r){var n="style."+(t+="");if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,ic(t,e,r??""))}function sc(t){return function(){this.textContent=t}}function ac(t){return function(){var e=t(this);this.textContent=e??""}}function js(t){return this.tween("text",typeof t=="function"?ac(ze(this,"text",t)):sc(t==null?"":t+""))}function lc(t){return function(e){this.textContent=t.call(this,e)}}function uc(t){var e,r;function n(){var o=t.apply(this,arguments);return o!==r&&(e=(r=o)&&lc(o)),e}return n._value=t,n}function ta(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,uc(t))}function ea(){for(var t=this._name,e=this._id,r=vn(),n=this._groups,o=n.length,i=0;i<o;++i)for(var s=n[i],a=s.length,l,u=0;u<a;++u)if(l=s[u]){var c=z(l,e);se(l,t,r,u,s,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new j(n,this._parents,t,r)}function ra(){var t,e,r=this,n=r._id,o=r.size();return new Promise(function(i,s){var a={value:s},l={value:function(){–o===0&&i()}};r.each(function(){var u=G(this,n),c=u.on;c!==t&&(e=(t=c).copy(),e._.cancel.push(a),e._.interrupt.push(a),e._.end.push(l)),u.on=e}),o===0&&i()})}var cc=0;function j(t,e,r,n){this._groups=t,this._parents=e,this._name=r,this._id=n}function na(t){return Yt().transition(t)}function vn(){return++cc}var Wt=Yt.prototype;j.prototype=na.prototype={constructor:j,select:Ws,selectAll:Gs,selectChild:Wt.selectChild,selectChildren:Wt.selectChildren,filter:Us,merge:Hs,selection:Ks,transition:ea,call:Wt.call,nodes:Wt.nodes,node:Wt.node,size:Wt.size,empty:Wt.empty,each:Wt.each,on:Xs,attr:$s,attrTween:Bs,style:Zs,styleTween:Qs,text:js,textTween:ta,remove:Ys,tween:Ls,delay:qs,duration:Fs,ease:Vs,easeVarying:zs,end:ra,[Symbol.iterator]:Wt[Symbol.iterator]};function wn(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var fc={time:null,delay:0,duration:250,ease:wn};function pc(t,e){for(var r;!(r=t.__transition)||!(r=r[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return r}function oa(t){var e,r;t instanceof j?(e=t._id,t=t._name):(e=vn(),(r=fc).time=xr(),t=t==null?null:t+"");for(var n=this._groups,o=n.length,i=0;i<o;++i)for(var s=n[i],a=s.length,l,u=0;u{let t=oo(“.js-waffle”);for(let e of t){let r=Wr(5e3),n=document.querySelector(‘.js-waffle[data-name=”eniac”]’).dataset.number,o=e.dataset.number/n;no(e).selectAll(“.inno-waffle__block”).data(r).enter().append(“div”).attr(“class”,i=>i{},sa={init:()=>{mc(),gc()}};var bn,xc=(t,e)=>{bn=bn||window.PMNdataLayer,bn?bn.push({event:”misc_event”,eventAction:t,eventLabel:e}):window.location.hostname.includes(“localhost”)?console.log(“Analytics event:”,t,e,”(not actually being sent due to localhost)”):console.log(“Failed to push analytics event”,t,e)},aa={event:(t,e)=>{xc(t,e)}};var _y=da();var ha=()=>/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);var vo=(t,e=null,r=null)=>{r||(r=document.querySelector(“head”));let n=document.createElement(“script”);n.type=”text/javascript”,n.src=t,e&&(n.onload=e),r.appendChild(n)},Sn=(t,e,r=0)=>{let n=t.getBoundingClientRect().top,o=e.getBoundingClientRect().top,i=o-n,a=1-(o-r)/i;return Math.min(1,Math.max(0,a))},An=()=>(window.PMNdataLayer?.[0]!==void 0&&window.PMNdataLayer[0])?.analytics?.user?.state===”Subscribed”,Cn=()=>{let e=(window.PMNdataLayer?.[0]!==void 0&&window.PMNdataLayer[0])?.analytics?.user?.state;return window.location.host.includes(“zzz-systest”)||window.location.host.includes(“pmn.arcpublishing.com”)||window.location.host.includes(“stage.fusion.inquirer.com”)||typeof e>”u”},ma=()=>{let e=(window.PMNdataLayer?.[0]!==void 0&&window.PMNdataLayer[0])?.analytics?.user?.hasAdsFreeReading;return!!(e&&e==1)},vr=()=>window.location.host.includes(“localhost”);var st=document.querySelector(“.js-wires”),En=”http://www.w3.org/2000/svg”,Ay=window.innerHeight*.9,xa=”#333246″,Ac=”#FFEDDE”;var Cc=5;var Ec=1/10,wr=new Object,ya=()=>{Nc(),st.querySelectorAll(“.js-path”).forEach(t=>{let e=kc(t);Mc(t,e,Ec),t.dataset.end==”byline”&&t.dataset.type!=”shadow”&&Ic(t),ge.update(“wires”,t,0)}),Rc(),st.classList.add(“is-loaded”)},_a=t=>{document.querySelectorAll(“.js-path”).forEach(e=>{e.setAttribute(“d”,””)}),st.querySelectorAll(“circle”).forEach(e=>{e.remove()})},Nc=()=>{let t=document.querySelector(“.js-inno”),e=t.getBoundingClientRect().width,r=t.getBoundingClientRect().height;st.style.height=r,st.style.width=e,st.setAttribute(“viewBox”,`0 0 ${e} ${r}`);let n=st.querySelector(“filter”);n.setAttribute(“width”,e),n.setAttribute(“height”,r),wr.left={x:e*.15,y:0},wr.right={x:e*.85,y:0}},Rc=()=>{st.querySelectorAll(“.js-path-blocker”).forEach(e=>{let n=document.querySelector(“.js-inno”).getBoundingClientRect().top+window.scrollY,i=document.querySelector(`.js-node[data-id=”${e?.dataset.start}”]`).getBoundingClientRect().bottom+window.scrollY-n,a=document.querySelector(`.js-node[data-id=”${e?.dataset.end}”]`).getBoundingClientRect().top+window.scrollY-32;e.setAttribute(“width”,window.innerWidth),e.setAttribute(“height”,a-i),e.setAttribute(“y”,i),e.setAttribute(“x”,0),e.setAttribute(“fill”,’url(“#gradient”)’)})},Ic=t=>{let e=t.getTotalLength(),r=t.getPointAtLength(e),n=document.createElementNS(En,”clipPath”);n.setAttribute(“id”,”shadow”);let o=document.createElementNS(En,”circle”);o.setAttribute(“className”,”js-plug”),o.setAttribute(“cx”,r.x-4),o.setAttribute(“cy”,r.y),o.setAttribute(“r”,”6″),n.appendChild(o);let i=document.createElementNS(En,”circle”);i.setAttribute(“className”,”js-plug”),i.setAttribute(“cx”,r.x),i.setAttribute(“cy”,r.y),i.setAttribute(“r”,”20″),i.setAttribute(“fill”,xa),i.setAttribute(“clip-path”,”url(#shadow)”);let s=document.createElementNS(En,”circle”);s.setAttribute(“className”,”js-plug”),s.setAttribute(“cx”,r.x-4),s.setAttribute(“cy”,r.y),s.setAttribute(“r”,”8″),s.setAttribute(“fill”,Ac),st.prepend(i),st.prepend(s),st.prepend(n)};var kc=t=>{let e=new Array,r=[…document.querySelectorAll(“.js-node”)],n=r.findIndex(p=>p.dataset.id==t.dataset.end),o=r.at(n),i=o.dataset.id,s=o.dataset.position,a=s==”left”?”right”:”left”,l=Oc(o),u=ga(st,o,s),c=ga(st,o,a),f=Dc(o,s);return t.dataset.end==”byline”||t.dataset.end==”chatbot”?e.push({x:wr[s].x-document.querySelector(“.js-inno”).getBoundingClientRect().width*.025,y:wr[s].y}):e.push(wr[s]),e.push(u),t.dataset.end==”byline”?e.push(f):e.push(l),e},Mc=(t,e,r)=>{if(e){let o=Pc(e,r),i=`M ${e[0].x} ${e[0].y}`,s=`M ${e[0].x} ${e[0].y}`;if(i+=`Q ${o[1].end.x} ${o[1].end.y} ${e[1].x} ${e[1].y}`,s+=`Q ${o[1].end.x+12} ${o[1].end.y+12} ${e[1].x+18} ${e[1].y+18}`,e.length>2)for(var n=1;n{let r=new Array;for(var n=1;n{let e=t.getBoundingClientRect().width,r=t.getBoundingClientRect().height,n=t.getBoundingClientRect().right-e/2,o=t.getBoundingClientRect().top+r/2+window.scrollY;return{x:n,y:o}},Dc=(t,e)=>{let r=t.getBoundingClientRect()[e],n=t.getBoundingClientRect().top+t.getBoundingClientRect().height/2+window.scrollY;return{x:r,y:n}},ga=(t,e,r)=>{let n,o,i;return r==”left”?(n=t.getBoundingClientRect().left+e.getBoundingClientRect().left,o=n/2):(n=t.getBoundingClientRect().right-e.getBoundingClientRect().right,o=e.getBoundingClientRect().right+n/2),e.dataset.id!=”byline”?i=e.getBoundingClientRect().top+e.getBoundingClientRect().height/2+window.scrollY:i=e.getBoundingClientRect().bottom+window.scrollY,{x:o,y:i}},Lc=()=>{let e=[…st.querySelectorAll(“.js-path[data-index]”)].reduce((n,o,i)=>{let s=o.dataset.end,a=document.querySelector(`.js-node[data-id=”${s}”]`),l=a.getBoundingClientRect();return n[i]={…o.dataset,endEl:a,endBounds:l},n},{}),r=Object.values(e).find(n=>n.endBounds.top>0);if(r){let n=r.index,o=e[n].endEl,i=n==0?document.querySelector(“body”):e[n-1].endEl,s=Sn(i,o),a=document.querySelector(`.js-path[data-index=”${n}”]`);ge.update(“wires”,a,s)}},$c=()=>{window.addEventListener(“resize”,()=>{_a(),ya()}),window.addEventListener(“scroll”,()=>{Lc()})},va={init:()=>{_a(),ya(),$c()}};var Bc=()=>{},wa={init:()=>{Bc()}};var qc=()=>{ma()&&document.querySelectorAll(“.js-adbox”).forEach(e=>{e.classList.add(“is-hidden”)})},ba={init:()=>{qc()}};var we,Ta,Fc=()=>{we=document.getElementById(“js-inno-toast”)},Vc=t=>{if(!we)return;we.innerHTML=t,we.classList.add(“is-active”);let e=()=>{we.addEventListener(“transitionend”,zc,{once:!0}),we.classList.remove(“is-active”)};clearTimeout(Ta),Ta=setTimeout(e,5e3)},zc=()=>{we.innerHTML=””},be={init:()=>{Fc()},showToast:Vc};var Nn,Sa=!1,Uc=async()=>new Promise(t=>{setTimeout(()=>{console.log(“simulating createShareLink for localhost”),t(“https://inquirer.com/interactives”),Hc()},100)}),Hc=()=>{let t=document.querySelector(“.js-gift-toast-receiver”);!t||!(t instanceof HTMLElement)||setTimeout(()=>{let e=t?.querySelector(“span”);e&&(e.innerHTML=”Gift link copied to clipboard“)},20)},Xc=()=>{let t=window.services?.createShareLink;t&&(Nn=t),vr()&&(Nn=Uc),Nn&&Wc()},Yc=async t=>{let e=”text/plain”,r=async()=>{try{return await Nn(window.location.pathname)}catch{t.dataset.state=”error”,be.showToast(“Hmm, we couldn’t generate a gift link…”)}},n=new ClipboardItem({[e]:r()});await navigator.clipboard.write([n]).catch(o=>{console.log(o),be.showToast(“Couldn’t copy to clipboard, try again?”),t.dataset.state=”error”}),be.showToast(“Gift link copied to clipboard!”),t.dataset.state=”complete”},Wc=()=>{document.querySelectorAll(“.js-gift”).forEach(e=>{(An()||vr()||Cn())&&e.classList.add(“is-available”)}),document.querySelectorAll(“.js-gift-button”).forEach(e=>{e instanceof HTMLButtonElement&&e.addEventListener(“click”,()=>{e.classList.contains(“disabled”)||(e.dataset.state=”loading”,Sa=!0,Yc(e),setTimeout(()=>{e.dataset.state=”ready”},2e3))})});let t=document.querySelector(“.js-gift-toast-receiver”);!t||!(t instanceof HTMLElement)||Gc(t)},Gc=t=>{new MutationObserver(r=>{for(let n of r){let o=[…n.addedNodes].at(0);if(!(o instanceof HTMLElement))return;Sa&&be.showToast(o.outerHTML)}}).observe(t,{subtree:!0,childList:!0})},Aa={init:()=>{Xc()}};var Kc=()=>{window.addEventListener(“message”,t=>{if(t.data[“datawrapper-height”]){let e=t.data[“datawrapper-height”];for(let r in e)document.querySelector(`#datawrapper-chart-${r}`).setAttribute(“height”,e[r])}})},Jc=()=>{document.querySelectorAll(“.js-datawrapper-graphic”).forEach(t=>{vo(`https://datawrapper.dwcdn.net/${t.dataset.id}/embed.js`,null,t)})},Zc=()=>{window.addEventListener(“message”,t=>{let e=t.data;document.querySelectorAll(`iframe[src*=”${e.id}”]`).forEach(n=>{n.style.height=`${e.height}px`})},!1)},Qc=()=>{document.querySelectorAll(“.js-pym-graphic”).forEach(t=>{if(typeof window{new window.pym.Parent(t.id,t.dataset.iframe)};typeof window.pym>”u”?vo(“https://pym.nprapps.org/pym.v1.min.js”,e):e()}})},Ca={init:()=>{Kc(),Jc(),Qc(),Zc()}};var br,jc=()=>{document.querySelectorAll(“.js-hover”).forEach(t=>{t.addEventListener(“click”,()=>{Ea(t)}),t.addEventListener(“mouseenter”,()=>{Ea(t)}),t.addEventListener(“mouseout”,()=>{Na(t)})}),window.addEventListener(“scroll”,()=>{br!==null&&tf()})},tf=()=>{(br>window.scrollY+100||br{Na(t)})},Ea=t=>{t.classList.add(“is-visible”),br=window.scrollY},Na=t=>{t.classList.remove(“is-visible”),br=null},Ra={init:()=>{jc()}};var Ia=1,wo=class{constructor(e){this.el=e,this.contentPosition=”default”,this.possibleSteps=new Array,this.currentStep=null,this.offset=window.innerHeight*.9,this.instanceOfSteps=Ia,this.progress=0,Ia++,this.setPossibleSteps(),this.updateContent(),this.bindings()}setPossibleSteps(){this.el.querySelectorAll(“.js-steps-step”).forEach(e=>{e.dataset.step&&this.possibleSteps.push(e.dataset.step)})}bindings(){window.addEventListener(“scroll”,()=>{this.updateContent()}),window.addEventListener(“resize”,()=>{this.updateContent()})}updateContent(){this.updateCurrentStep(),this.animateParallax(),this.positionSpark()}updateCurrentStep(){let e,r;this.el.querySelectorAll(“.js-steps-step”).forEach((i,s)=>{i.getBoundingClientRect().top{let a=”is-“+i,l=”is-“+s;this.possibleSteps.indexOf(i){let n=50*this.progress,o=r.dataset.ground==”background”?1.5:2.25,i=parseInt(r.dataset.parallax)*.5,s=n*(i+o),l=r.classList.contains(“js-step-clouds”)?”X”:”Y”;r.style.transform=`translate${l}(${s}px)`})}positionSpark(){if(this.el.dataset.current){let e=document.querySelector(`.js-steps-wires[data-id=”${this.el.dataset.current}”]`),r=e.querySelector(“.js-steps-path”),n=e.dataset.parallax,i=this.el.querySelector(`.js-step-layer[data-step=${this.el.dataset.current}][data-ground=”foreground”][data-parallax=”${n}”]`).getAttribute(“style”);e.setAttribute(“style”,i),ge.update(“steps”,r,this.progress,i)}}},ka={init:()=>{document.querySelectorAll(“.js-steps”).forEach(t=>{new wo(t)})}};var ef=(t,e,r)=>{document.querySelectorAll(“.js-subscribe”).forEach(n=>{n.classList.toggle(“is-unsubscribed”,!t),n.classList.toggle(“is-preview”,e),n.classList.toggle(“is-dev”,r)})},Ma={init:()=>{ef(An(),Cn(),vr())}};var rf=()=>{},Pa={init:()=>{rf()}};var Ue,bo,To=!0,nf=()=>{Ue=document.querySelectorAll(“.js-video-autoplay”)},of=()=>{window.addEventListener(“resize”,()=>{Oa()}),window.addEventListener(“scroll”,()=>{Oa()}),Ue.forEach(t=>{t.addEventListener(“volumechange”,e=>{t.muted!==To&&!ha()&&(To=t.muted,sf())})})},Oa=()=>{let t;Ue.forEach((e,r)=>{let n=e.getBoundingClientRect(),o=n.height/2;n.y-o&&(t=e)}),t!==bo&&(bo=t,Ue.forEach(e=>{e.pause()}),t?t.play():bo=null)},sf=()=>{Ue.forEach(t=>{t.muted=To})},Da={init:()=>{nf(),Ue&&of()}};var La={init:()=>{No.init?.(),Ro.init?.(),Io.init?.(),ge.init?.(),sa.init?.(),va.init?.(),wa.init?.(),ba.init?.(),Aa.init?.(),Ca.init?.(),Ra.init?.(),ka.init?.(),Ma.init?.(),Pa.init?.(),Da.init?.(),be.init?.()}};var af=()=>{},$a={init:()=>{af()}};var lf=document.querySelector(“.js-inno”),Ba=()=>{La.init(),$a.init()};lf?Ba():new MutationObserver((e,r)=>{if(document.querySelector(“.js-inno”)){r.disconnect(),Ba();return}}).observe(document,{attributes:!0,childList:!0,subtree:!0});})();
/*! Bundled license information:
animejs/dist/modules/core/consts.js:
(**
* Anime.js – core – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/core/globals.js:
(**
* Anime.js – core – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/core/helpers.js:
(**
* Anime.js – core – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/core/transforms.js:
(**
* Anime.js – core – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/adapters/registry.js:
(**
* Anime.js – adapters – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/core/colors.js:
(**
* Anime.js – core – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/core/values.js:
(**
* Anime.js – core – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/core/render.js:
(**
* Anime.js – core – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/core/styles.js:
(**
* Anime.js – core – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/core/clock.js:
(**
* Anime.js – core – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/animation/additive.js:
(**
* Anime.js – animation – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/engine/engine.js:
(**
* Anime.js – engine – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/animation/composition.js:
(**
* Anime.js – animation – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/timer/timer.js:
(**
* Anime.js – timer – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/core/targets.js:
(**
* Anime.js – core – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/core/units.js:
(**
* Anime.js – core – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/easings/none.js:
(**
* Anime.js – easings – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/easings/eases/parser.js:
(**
* Anime.js – easings – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/animation/animation.js:
(**
* Anime.js – animation – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/svg/helpers.js:
(**
* Anime.js – svg – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/svg/motionpath.js:
(**
* Anime.js – svg – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/svg/drawable.js:
(**
* Anime.js – svg – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/svg/morphto.js:
(**
* Anime.js – svg – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/svg/index.js:
(**
* Anime.js – svg – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
animejs/dist/modules/index.js:
(**
* Anime.js – ESM
* @version v4.5.0
* @license MIT
* @copyright 2026 – Julian Garnier
*)
*/























