diff --git a/pr-preview/pr-19/assets/OpenSans-Bold-B6RzugBC.woff2 b/pr-preview/pr-19/assets/OpenSans-Bold-B6RzugBC.woff2 new file mode 100644 index 0000000..9e68ce8 Binary files /dev/null and b/pr-preview/pr-19/assets/OpenSans-Bold-B6RzugBC.woff2 differ diff --git a/pr-preview/pr-19/assets/OpenSans-Bold-DqUvPboT.ttf b/pr-preview/pr-19/assets/OpenSans-Bold-DqUvPboT.ttf new file mode 100644 index 0000000..fd79d43 Binary files /dev/null and b/pr-preview/pr-19/assets/OpenSans-Bold-DqUvPboT.ttf differ diff --git a/pr-preview/pr-19/assets/OpenSans-Bold-Zo72i-Y_.woff b/pr-preview/pr-19/assets/OpenSans-Bold-Zo72i-Y_.woff new file mode 100644 index 0000000..4590c27 Binary files /dev/null and b/pr-preview/pr-19/assets/OpenSans-Bold-Zo72i-Y_.woff differ diff --git a/pr-preview/pr-19/assets/OpenSans-ExtraBold-DDPRfZHf.woff b/pr-preview/pr-19/assets/OpenSans-ExtraBold-DDPRfZHf.woff new file mode 100644 index 0000000..1f05575 Binary files /dev/null and b/pr-preview/pr-19/assets/OpenSans-ExtraBold-DDPRfZHf.woff differ diff --git a/pr-preview/pr-19/assets/OpenSans-ExtraBold-QLQ1ofwe.woff2 b/pr-preview/pr-19/assets/OpenSans-ExtraBold-QLQ1ofwe.woff2 new file mode 100644 index 0000000..09b3b7b Binary files /dev/null and b/pr-preview/pr-19/assets/OpenSans-ExtraBold-QLQ1ofwe.woff2 differ diff --git a/pr-preview/pr-19/assets/OpenSans-ExtraBold-fqOqBv5P.ttf b/pr-preview/pr-19/assets/OpenSans-ExtraBold-fqOqBv5P.ttf new file mode 100644 index 0000000..21f6f84 Binary files /dev/null and b/pr-preview/pr-19/assets/OpenSans-ExtraBold-fqOqBv5P.ttf differ diff --git a/pr-preview/pr-19/assets/OpenSans-Regular-7s9KL9Bb.ttf b/pr-preview/pr-19/assets/OpenSans-Regular-7s9KL9Bb.ttf new file mode 100644 index 0000000..db43334 Binary files /dev/null and b/pr-preview/pr-19/assets/OpenSans-Regular-7s9KL9Bb.ttf differ diff --git a/pr-preview/pr-19/assets/OpenSans-Regular-D0LNdIuH.woff b/pr-preview/pr-19/assets/OpenSans-Regular-D0LNdIuH.woff new file mode 100644 index 0000000..728f8a2 Binary files /dev/null and b/pr-preview/pr-19/assets/OpenSans-Regular-D0LNdIuH.woff differ diff --git a/pr-preview/pr-19/assets/OpenSans-Regular-D_5PeaXC.woff2 b/pr-preview/pr-19/assets/OpenSans-Regular-D_5PeaXC.woff2 new file mode 100644 index 0000000..d2483e9 Binary files /dev/null and b/pr-preview/pr-19/assets/OpenSans-Regular-D_5PeaXC.woff2 differ diff --git a/pr-preview/pr-19/assets/OpenSans-SemiBold-C7OkNJpS.woff2 b/pr-preview/pr-19/assets/OpenSans-SemiBold-C7OkNJpS.woff2 new file mode 100644 index 0000000..0c9638e Binary files /dev/null and b/pr-preview/pr-19/assets/OpenSans-SemiBold-C7OkNJpS.woff2 differ diff --git a/pr-preview/pr-19/assets/OpenSans-SemiBold-gN-3ccKH.ttf b/pr-preview/pr-19/assets/OpenSans-SemiBold-gN-3ccKH.ttf new file mode 100644 index 0000000..1a7679e Binary files /dev/null and b/pr-preview/pr-19/assets/OpenSans-SemiBold-gN-3ccKH.ttf differ diff --git a/pr-preview/pr-19/assets/OpenSans-SemiBold-pC11pJ5m.woff b/pr-preview/pr-19/assets/OpenSans-SemiBold-pC11pJ5m.woff new file mode 100644 index 0000000..33a7ce4 Binary files /dev/null and b/pr-preview/pr-19/assets/OpenSans-SemiBold-pC11pJ5m.woff differ diff --git a/pr-preview/pr-19/assets/Raleway-Bold-BNCCa7ZO.ttf b/pr-preview/pr-19/assets/Raleway-Bold-BNCCa7ZO.ttf new file mode 100644 index 0000000..38c099c Binary files /dev/null and b/pr-preview/pr-19/assets/Raleway-Bold-BNCCa7ZO.ttf differ diff --git a/pr-preview/pr-19/assets/Raleway-Bold-N8_9CUZn.woff2 b/pr-preview/pr-19/assets/Raleway-Bold-N8_9CUZn.woff2 new file mode 100644 index 0000000..92cade2 Binary files /dev/null and b/pr-preview/pr-19/assets/Raleway-Bold-N8_9CUZn.woff2 differ diff --git a/pr-preview/pr-19/assets/Raleway-Bold-RiCvOKBQ.woff b/pr-preview/pr-19/assets/Raleway-Bold-RiCvOKBQ.woff new file mode 100644 index 0000000..4e9c4e6 Binary files /dev/null and b/pr-preview/pr-19/assets/Raleway-Bold-RiCvOKBQ.woff differ diff --git a/pr-preview/pr-19/assets/background-C-9v9KoP.png b/pr-preview/pr-19/assets/background-C-9v9KoP.png new file mode 100644 index 0000000..6ee2f53 Binary files /dev/null and b/pr-preview/pr-19/assets/background-C-9v9KoP.png differ diff --git a/pr-preview/pr-19/assets/background_small-iWw9WgKG.png b/pr-preview/pr-19/assets/background_small-iWw9WgKG.png new file mode 100644 index 0000000..8a1f85f Binary files /dev/null and b/pr-preview/pr-19/assets/background_small-iWw9WgKG.png differ diff --git a/pr-preview/pr-19/assets/canemure-Dp1aZClk.png b/pr-preview/pr-19/assets/canemure-Dp1aZClk.png new file mode 100644 index 0000000..7df792c Binary files /dev/null and b/pr-preview/pr-19/assets/canemure-Dp1aZClk.png differ diff --git a/pr-preview/pr-19/assets/error_owl-BiAQuXeU.png b/pr-preview/pr-19/assets/error_owl-BiAQuXeU.png new file mode 100644 index 0000000..d04a6ea Binary files /dev/null and b/pr-preview/pr-19/assets/error_owl-BiAQuXeU.png differ diff --git a/pr-preview/pr-19/assets/favicon-CkvW8qvA.png b/pr-preview/pr-19/assets/favicon-CkvW8qvA.png new file mode 100644 index 0000000..098b44c Binary files /dev/null and b/pr-preview/pr-19/assets/favicon-CkvW8qvA.png differ diff --git a/pr-preview/pr-19/assets/images/results/choices_en.jpg b/pr-preview/pr-19/assets/images/results/choices_en.jpg new file mode 100644 index 0000000..8ddaf68 Binary files /dev/null and b/pr-preview/pr-19/assets/images/results/choices_en.jpg differ diff --git a/pr-preview/pr-19/assets/images/results/choices_fi.jpg b/pr-preview/pr-19/assets/images/results/choices_fi.jpg new file mode 100644 index 0000000..805713f Binary files /dev/null and b/pr-preview/pr-19/assets/images/results/choices_fi.jpg differ diff --git a/pr-preview/pr-19/assets/images/results/cities_en.jpg b/pr-preview/pr-19/assets/images/results/cities_en.jpg new file mode 100644 index 0000000..9837737 Binary files /dev/null and b/pr-preview/pr-19/assets/images/results/cities_en.jpg differ diff --git a/pr-preview/pr-19/assets/images/results/cities_fi.jpg b/pr-preview/pr-19/assets/images/results/cities_fi.jpg new file mode 100644 index 0000000..d686a29 Binary files /dev/null and b/pr-preview/pr-19/assets/images/results/cities_fi.jpg differ diff --git a/pr-preview/pr-19/assets/images/results/cleantech_en.jpg b/pr-preview/pr-19/assets/images/results/cleantech_en.jpg new file mode 100644 index 0000000..cd706ab Binary files /dev/null and b/pr-preview/pr-19/assets/images/results/cleantech_en.jpg differ diff --git a/pr-preview/pr-19/assets/images/results/cleantech_fi.jpg b/pr-preview/pr-19/assets/images/results/cleantech_fi.jpg new file mode 100644 index 0000000..4f8561f Binary files /dev/null and b/pr-preview/pr-19/assets/images/results/cleantech_fi.jpg differ diff --git a/pr-preview/pr-19/assets/images/results/companies_en.jpg b/pr-preview/pr-19/assets/images/results/companies_en.jpg new file mode 100644 index 0000000..d884ccf Binary files /dev/null and b/pr-preview/pr-19/assets/images/results/companies_en.jpg differ diff --git a/pr-preview/pr-19/assets/images/results/companies_fi.jpg b/pr-preview/pr-19/assets/images/results/companies_fi.jpg new file mode 100644 index 0000000..fe52b2b Binary files /dev/null and b/pr-preview/pr-19/assets/images/results/companies_fi.jpg differ diff --git a/pr-preview/pr-19/assets/images/results/consumption_en.jpg b/pr-preview/pr-19/assets/images/results/consumption_en.jpg new file mode 100644 index 0000000..8785ca2 Binary files /dev/null and b/pr-preview/pr-19/assets/images/results/consumption_en.jpg differ diff --git a/pr-preview/pr-19/assets/images/results/consumption_fi.jpg b/pr-preview/pr-19/assets/images/results/consumption_fi.jpg new file mode 100644 index 0000000..bd9791d Binary files /dev/null and b/pr-preview/pr-19/assets/images/results/consumption_fi.jpg differ diff --git a/pr-preview/pr-19/assets/images/results/food_en.jpg b/pr-preview/pr-19/assets/images/results/food_en.jpg new file mode 100644 index 0000000..96e8e27 Binary files /dev/null and b/pr-preview/pr-19/assets/images/results/food_en.jpg differ diff --git a/pr-preview/pr-19/assets/images/results/food_fi.jpg b/pr-preview/pr-19/assets/images/results/food_fi.jpg new file mode 100644 index 0000000..b062807 Binary files /dev/null and b/pr-preview/pr-19/assets/images/results/food_fi.jpg differ diff --git a/pr-preview/pr-19/assets/images/results/societal_en.jpg b/pr-preview/pr-19/assets/images/results/societal_en.jpg new file mode 100644 index 0000000..e267644 Binary files /dev/null and b/pr-preview/pr-19/assets/images/results/societal_en.jpg differ diff --git a/pr-preview/pr-19/assets/images/results/societal_fi.jpg b/pr-preview/pr-19/assets/images/results/societal_fi.jpg new file mode 100644 index 0000000..ebc0aee Binary files /dev/null and b/pr-preview/pr-19/assets/images/results/societal_fi.jpg differ diff --git a/pr-preview/pr-19/assets/images/waste/bio_en.png b/pr-preview/pr-19/assets/images/waste/bio_en.png new file mode 100644 index 0000000..a9ac320 Binary files /dev/null and b/pr-preview/pr-19/assets/images/waste/bio_en.png differ diff --git a/pr-preview/pr-19/assets/images/waste/bio_fi.png b/pr-preview/pr-19/assets/images/waste/bio_fi.png new file mode 100644 index 0000000..c560382 Binary files /dev/null and b/pr-preview/pr-19/assets/images/waste/bio_fi.png differ diff --git a/pr-preview/pr-19/assets/images/waste/bio_sv.png b/pr-preview/pr-19/assets/images/waste/bio_sv.png new file mode 100644 index 0000000..a4381d3 Binary files /dev/null and b/pr-preview/pr-19/assets/images/waste/bio_sv.png differ diff --git a/pr-preview/pr-19/assets/images/waste/carton_en.png b/pr-preview/pr-19/assets/images/waste/carton_en.png new file mode 100644 index 0000000..879449f Binary files /dev/null and b/pr-preview/pr-19/assets/images/waste/carton_en.png differ diff --git a/pr-preview/pr-19/assets/images/waste/carton_fi.png b/pr-preview/pr-19/assets/images/waste/carton_fi.png new file mode 100644 index 0000000..a2c3c5a Binary files /dev/null and b/pr-preview/pr-19/assets/images/waste/carton_fi.png differ diff --git a/pr-preview/pr-19/assets/images/waste/carton_sv.png b/pr-preview/pr-19/assets/images/waste/carton_sv.png new file mode 100644 index 0000000..d7869bb Binary files /dev/null and b/pr-preview/pr-19/assets/images/waste/carton_sv.png differ diff --git a/pr-preview/pr-19/assets/images/waste/household_en.png b/pr-preview/pr-19/assets/images/waste/household_en.png new file mode 100644 index 0000000..fea8592 Binary files /dev/null and b/pr-preview/pr-19/assets/images/waste/household_en.png differ diff --git a/pr-preview/pr-19/assets/images/waste/household_fi.png b/pr-preview/pr-19/assets/images/waste/household_fi.png new file mode 100644 index 0000000..6d407be Binary files /dev/null and b/pr-preview/pr-19/assets/images/waste/household_fi.png differ diff --git a/pr-preview/pr-19/assets/images/waste/household_sv.png b/pr-preview/pr-19/assets/images/waste/household_sv.png new file mode 100644 index 0000000..38d1bf6 Binary files /dev/null and b/pr-preview/pr-19/assets/images/waste/household_sv.png differ diff --git a/pr-preview/pr-19/assets/images/waste/plastic_en.png b/pr-preview/pr-19/assets/images/waste/plastic_en.png new file mode 100644 index 0000000..aa31b95 Binary files /dev/null and b/pr-preview/pr-19/assets/images/waste/plastic_en.png differ diff --git a/pr-preview/pr-19/assets/images/waste/plastic_fi.png b/pr-preview/pr-19/assets/images/waste/plastic_fi.png new file mode 100644 index 0000000..c590162 Binary files /dev/null and b/pr-preview/pr-19/assets/images/waste/plastic_fi.png differ diff --git a/pr-preview/pr-19/assets/images/waste/plastic_sv.png b/pr-preview/pr-19/assets/images/waste/plastic_sv.png new file mode 100644 index 0000000..d33f8d6 Binary files /dev/null and b/pr-preview/pr-19/assets/images/waste/plastic_sv.png differ diff --git a/pr-preview/pr-19/assets/index-BM5Ct0rv.css b/pr-preview/pr-19/assets/index-BM5Ct0rv.css new file mode 100644 index 0000000..1932514 --- /dev/null +++ b/pr-preview/pr-19/assets/index-BM5Ct0rv.css @@ -0,0 +1 @@ +@charset "UTF-8";footer[data-v-79f2e8f9]{width:100%;background:#204161;color:#fff;font-size:1em;font-weight:600;display:flex;align-content:center;text-align:center}#fill1[data-v-79f2e8f9],#fill2[data-v-79f2e8f9]{flex-grow:1}#logo[data-v-79f2e8f9]{margin:0 auto;max-height:80%;max-width:8em}#canemure[data-v-79f2e8f9]{margin:0 auto;max-height:80%;max-width:18em}#canemure-text[data-v-79f2e8f9]{font-size:.7em}#copyright-and-social[data-v-79f2e8f9]{flex-grow:1}#copyright[data-v-79f2e8f9]{border-bottom:1px solid white}#footer-links[data-v-79f2e8f9]{text-align:left;margin:1em;font-weight:700}#footer-links a[data-v-79f2e8f9]{display:block;color:inherit;font-weight:700;text-decoration:none}#footer-links a[data-v-79f2e8f9]:hover{color:#4e8dcc}#social[data-v-79f2e8f9]{margin-top:.5em;display:inline-flex;align-items:center}#social a[data-v-79f2e8f9]{display:inline-block;margin-left:.5em}@supports (display: grid){footer[data-v-79f2e8f9]{display:grid;align-items:center;grid-template:". logo copyright links ." auto/1fr 12em 2fr 12em 1fr}@media (max-width: 500px){footer[data-v-79f2e8f9]{justify-items:center;grid-template:"links" auto "copyright" auto "logo" minmax(100px,auto)/auto}#footer-links[data-v-79f2e8f9]{text-align:center}}#logo-link[data-v-79f2e8f9]{grid-area:logo;margin:1em}#copyright-and-social[data-v-79f2e8f9]{grid-area:copyright}#footer-links[data-v-79f2e8f9]{grid-area:links}}header[data-v-52715995]{width:100%;height:60px;background:#3f6f9d;color:#fff;text-transform:uppercase;display:flex;align-items:center}h1[data-v-52715995]{text-align:center;display:inline-block;flex-grow:1;font-size:1.5em}a[data-v-52715995]{margin:6px;color:#fff;font-size:.9em;text-decoration:underline}a.current[data-v-52715995]{font-weight:700;text-decoration:none;opacity:.5;cursor:default}a[data-v-52715995]:active{text-decoration:none;outline:0}a[data-v-52715995]:visited{color:#fff}a[data-v-52715995]:focus{text-decoration:none;outline:0}#user-email[data-v-52715995]{text-transform:none;overflow:hidden;text-overflow:ellipsis;display:flex}#user-email img[data-v-52715995]{max-height:1.5em}#login[data-v-52715995]{height:2em;padding:0;font-size:.9em;display:none}#lang[data-v-52715995]{display:none}@media (min-width: 800px){#fill1[data-v-52715995],#fill2[data-v-52715995]{flex-grow:1}#login[data-v-52715995],#lang[data-v-52715995]{display:block}h1[data-v-52715995]{margin:0 1em;text-align:left;white-space:nowrap}}@supports (display: grid){header[data-v-52715995]{display:grid;grid-template:"title" 60px/auto}@media (min-width: 800px){header[data-v-52715995]{grid-template:". title login lang ." 60px/1fr minmax(auto,500px) auto 100px 1fr}}h1[data-v-52715995]{grid-area:title}#login[data-v-52715995]{grid-area:login}#social[data-v-52715995]{grid-area:social}#lang[data-v-52715995]{grid-area:lang}}nav[data-v-c2bb5936]{background:#fff;text-align:center}a[data-v-c2bb5936]{display:inline-block;padding:1em 2em;text-decoration:none;font-weight:600;font-size:1em}a.router-link-exact-active[data-v-c2bb5936]{color:#3f6f9d;border-color:#3f6f9d;border-bottom:4px solid;line-height:16px}a.ready[data-v-c2bb5936]{color:#82a733;border-color:#82a733}a.ready[data-v-c2bb5936]:before{content:"✓";margin-right:.2em}a.disabled[data-v-c2bb5936]{color:gray}#mobile-menu-login[data-v-c2bb5936],#mobile-menu-logout[data-v-c2bb5936]{border-bottom:2px solid #e1e1e1}#mobile-menu-logout[data-v-c2bb5936]{text-transform:none;overflow:hidden;text-overflow:ellipsis;max-width:200px}#mobile-menu-logout img[data-v-c2bb5936]{max-height:1.5em}#mobile-menu-language[data-v-c2bb5936]{border-top:2px solid #e1e1e1}#mobile-menu-language a[data-v-c2bb5936]{color:inherit}#mobile-menu-language a.current[data-v-c2bb5936]{color:gray;cursor:default}#mobile-menu-language a.current[data-v-c2bb5936]:before{content:"✓";color:#82a733}@media (min-width: 800px){#mobile-menu-login[data-v-c2bb5936],#mobile-menu-logout[data-v-c2bb5936],#mobile-menu-language[data-v-c2bb5936]{display:none}}#wrapper[data-v-77a5eae1]{position:fixed;background-color:#16161580;z-index:998;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:start;overflow:auto}hr[data-v-77a5eae1]{border-top:1px solid #e1e1e1}#dialog-content[data-v-77a5eae1]{text-transform:none;color:#333;min-width:150px;max-width:800px;min-height:100px;background:#f9f9f9;border:8px solid #3f6f9d;padding:1.5em;margin:60px 0;position:relative;flex:1 1 100%}#close-button[data-v-c1724875]{position:absolute;top:0;right:0;width:auto;height:auto;padding:.5em}.error-container[data-v-c1724875]{padding:1em;margin-top:2em;margin-bottom:2em;max-width:fit-content;background-color:#f4cece}#email-block[data-v-c1724875]{display:flex;align-items:center;flex-wrap:wrap}#email-block span[data-v-c1724875]{margin-right:1em}#email-block input[data-v-c1724875]{max-width:30em;flex:1 1 0%}.button-primary[data-v-c1724875]{display:block;margin-left:0}#close-button[data-v-90d6fc3a]{position:absolute;top:0;right:0;width:auto;height:auto;padding:.5em}.button-primary[data-v-90d6fc3a]{display:block;margin-left:0}.button-primary.bg-color-grey[data-v-90d6fc3a]{background-color:gray}.input-block[data-v-90d6fc3a]{padding:.5em 0;display:flex;flex-wrap:wrap;text-align:left;align-items:center}.input-block .input-container[data-v-90d6fc3a]{min-width:20em;max-width:30em;flex:1 1 0%;text-align:left;margin-bottom:1em;display:flex}.input-block label[data-v-90d6fc3a]{flex:1 1 0%;min-width:10em;max-width:16em;margin-right:1em;margin-bottom:1em}.text-input[data-v-90d6fc3a]{min-width:20em;max-width:27em;flex:1 1 0%}textarea[data-v-90d6fc3a]{height:8em;font-family:Open Sans,sans-serif;font-size:1em;border:1px solid #e1e1e1;padding:.3em;margin-right:.5em}.mb-2[data-v-90d6fc3a]{margin-bottom:2em}.mt-0[data-v-90d6fc3a]{margin-top:0}.info-block[data-v-90d6fc3a]{padding:1em;margin-top:2em;margin-bottom:2em;max-width:fit-content}.error-bg-color[data-v-90d6fc3a]{background-color:#f4cece}@font-face{font-family:Open Sans;src:url(./OpenSans-Regular-D_5PeaXC.woff2) format("woff2"),url(./OpenSans-Regular-D0LNdIuH.woff) format("woff"),url(./OpenSans-Regular-7s9KL9Bb.ttf) format("truetype")}@font-face{font-family:Open Sans;font-weight:700;src:url(./OpenSans-Bold-B6RzugBC.woff2) format("woff2"),url(./OpenSans-Bold-Zo72i-Y_.woff) format("woff"),url(./OpenSans-Bold-DqUvPboT.ttf) format("truetype")}@font-face{font-family:Open Sans;font-weight:600;src:url(./OpenSans-SemiBold-C7OkNJpS.woff2) format("woff2"),url(./OpenSans-SemiBold-pC11pJ5m.woff) format("woff"),url(./OpenSans-SemiBold-gN-3ccKH.ttf) format("truetype")}@font-face{font-family:Open Sans;font-weight:800;src:url(./OpenSans-ExtraBold-QLQ1ofwe.woff2) format("woff2"),url(./OpenSans-ExtraBold-DDPRfZHf.woff) format("woff"),url(./OpenSans-ExtraBold-fqOqBv5P.ttf) format("truetype")}@font-face{font-family:Raleway;font-weight:700;src:url(./Raleway-Bold-N8_9CUZn.woff2) format("woff2"),url(./Raleway-Bold-RiCvOKBQ.woff) format("woff"),url(./Raleway-Bold-BNCCa7ZO.ttf) format("truetype")}input[type=radio],input[type=checkbox]{position:absolute;opacity:0}input[type=radio]:checked+label:before,input[type=checkbox]:checked+label:before{background:#4e8dcc;border:2px solid #4e8dcc;box-shadow:inset 0 0 0 3px #fff}input[type=radio]:not(:checked):focus+label:before,input[type=checkbox]:not(:checked):focus+label:before{border:2px solid #666666}input[type=radio]:disabled+label:before,input[type=checkbox]:disabled+label:before{pointer-events:none;background:#f9f9f9;border:2px solid #e1e1e1}input[type=radio]:disabled+label:hover:before,input[type=checkbox]:disabled+label:hover:before{border:2px solid #e1e1e1}input[type=radio]:checked+label:after,input[type=checkbox]:checked+label:after{background:#4e8dcc;border:2px solid #4e8dcc;box-shadow:inset 0 0 0 3px #fff}input[type=radio]:not(:checked):focus+label:after,input[type=checkbox]:not(:checked):focus+label:after{border:2px solid #666666}input[type=radio]:disabled+label:after,input[type=checkbox]:disabled+label:after{pointer-events:none;background:#f9f9f9;border:2px solid #e1e1e1}input[type=radio]:disabled+label:hover:after,input[type=checkbox]:disabled+label:hover:after{border:2px solid #e1e1e1}.radio-item{display:inline-block;padding:0;margin:0}.radio-item label{margin-right:.5em}.radio-item label:before{content:"✓";display:inline-block;width:1.8em;height:1.6em;padding-top:.2em;border:2px solid #e1e1e1;background-color:#fff;color:transparent;text-align:center}.radio-item label:hover:before{border:2px solid #666666}.radio-item label:after{content:"✓";display:inline-block;width:1.8em;height:1.6em;padding-top:.2em;border:2px solid #e1e1e1;background-color:#fff;color:transparent;text-align:center}.radio-item label:hover:after{border:2px solid #666666}.radio-item label:before{border-radius:20px;font-weight:700;margin-right:.25em}.radio-item label:after{display:none}.checkbox-item{display:inline-block;padding:0;margin:0}.checkbox-item label{margin-right:.5em}.checkbox-item label:before{content:"✓";display:inline-block;width:1.8em;height:1.6em;padding-top:.2em;border:2px solid #e1e1e1;background-color:#fff;color:transparent;text-align:center}.checkbox-item label:hover:before{border:2px solid #666666}.checkbox-item label:after{content:"✓";display:inline-block;width:1.8em;height:1.6em;padding-top:.2em;border:2px solid #e1e1e1;background-color:#fff;color:transparent;text-align:center}.checkbox-item label:hover:after{border:2px solid #666666}.checkbox-item input[type=checkbox]:checked+label:before{color:#fff}.checkbox-item input[type=checkbox]:checked+label:after{color:#fff}.checkbox-item label:after{display:none}.checkbox-item label:before{margin-right:.25em}.checkbox-item.flipped label{margin-right:0}.checkbox-item.flipped label:after{margin-left:.25em;display:inline-block}.checkbox-item.flipped label:before{display:none}.range-item{padding:1em 0;text-align:left;display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid #e1e1e1}.range-item .range-label{width:220px;font-weight:600;margin-right:1em}.range-item .range-label-description{display:block;font-weight:400;font-size:.9em}.range-item input[type=range]{flex:1 1 0%;margin:1em 1em 1em 0;border:none;background:transparent}.range-item .range-contents{display:inline-flex;align-items:center;flex-wrap:wrap}input{font-size:1em;font-family:Open Sans,sans-serif;border:1px solid #e1e1e1;padding:.3em;margin-right:.5em}input[type=number]{width:9ch}input[type=submit]{font-family:Raleway;font-weight:700;font-size:1em;color:#fff;background:#7daccd;border:none;border-radius:4px;word-wrap:break-word;white-space:normal;display:inline-block;text-transform:uppercase;vertical-align:middle;max-width:300px;cursor:pointer;width:10em;height:3em;width:12em;padding:0 4px;height:4em;margin:1em}input[type=submit].button-primary{background:#82a733}input[type=submit].active{background:#4e8dcc}input[type=submit].large{width:12em}input[type=submit]:not(:disabled):hover{background:#4e8dcc}input[type=submit]:disabled{background:gray}input[type=range]{-webkit-appearance:none;min-width:200px;max-width:300px;width:100%;margin:8px}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{width:100%;height:8px;cursor:pointer;background:#a1b3c5;border-radius:10px}input[type=range]::-webkit-slider-thumb{height:26px;width:26px;border-radius:15px;background:#4e8dcc;cursor:pointer;-webkit-appearance:none;margin-top:-9.1px}input[type=range]::-moz-range-track{width:100%;height:7px;cursor:pointer;background:#a1b3c5;border-radius:10px}input[type=range]::-moz-range-thumb{height:20px;width:20px;border-radius:15px;background:#4e8dcc;cursor:pointer}input[type=range]::-ms-track{height:10px;cursor:pointer;background:#a1b3c5;border:none;color:transparent;border-radius:33px}input[type=range]::-ms-fill-lower{background:#a1b3c5;border-radius:33px}input[type=range]::-ms-fill-upper{background:#a1b3c5;border-radius:33px}input[type=range]::-ms-thumb{height:100%;width:20px;border-radius:15px;background:#4e8dcc;cursor:pointer;height:8px;border:none}input[type=range]:disabled::-moz-range-thumb{background:gray}input[type=range]:disabled::-ms-thumb{background:gray}input[type=range]:disabled::-webkit-slider-thumb{background:gray}button{font-family:Raleway;font-weight:700;font-size:1em;color:#fff;background:#7daccd;border:none;border-radius:4px;word-wrap:break-word;white-space:normal;display:inline-block;text-transform:uppercase;vertical-align:middle;max-width:300px;cursor:pointer;margin:4px;width:10em;height:3em}button.button-primary{background:#82a733}button.active{background:#4e8dcc}button.large{width:12em}button:not(:disabled):hover{background:#4e8dcc}button:disabled{background:gray}select{border:1px solid #e1e1e1;padding:.2em;margin-right:.5em;font-size:1em;font-family:Open Sans,sans-serif}body{width:100vw;margin:0;padding:0;font-family:Open Sans,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;background-color:#f9f9f9;overflow-x:hidden}.calc-form .action-wrapper{text-align:center}a{text-decoration:none;color:#4e8dcc;font-weight:700}a:visited{color:#4e8dcc;font-weight:400}a:hover{color:#3f6f9d}table,th,td{border:1px solid black}.separator{display:inline-block;background:#e1e1e1;border:1px solid #e1e1e1;height:2em;margin:0 4px -10px 8px}*[hidden=hidden],*.hidden{display:none}*.invisible{visibility:hidden}.field-unit{font-size:.9em}.inner-label{width:11em}.wrapped-text{white-space:pre-line}.full-page-text{padding:2em}label,h3{-webkit-user-select:none;user-select:none}.reset-button{display:block;margin-left:0;margin-top:2em;margin-bottom:1em;width:fit-content}@media (min-width: 1920px){body{background-size:contain}}#picture-padder[data-v-7a7a37b1]{max-width:100%;height:100%;margin:0 auto}#picture-padder img[data-v-7a7a37b1]{max-width:100%}#busy-indicator[data-v-7a7a37b1]{position:fixed;bottom:10%;left:0;right:0;margin:0 auto;line-height:3em;width:200px;border:2px solid #3f6f9d;border-radius:20px;text-align:center;color:#3f6f9d;background:#fff;z-index:999}#navigation.hidden[data-v-7a7a37b1]{display:block}#content[data-v-7a7a37b1]{background:#fff;width:100%;max-width:800px;display:block;margin:0 auto;min-height:85vh}#global-error[data-v-7a7a37b1]{background:red;color:#fff;text-align:center;padding:.5em;position:fixed;bottom:0;width:100%;z-index:997}#global-error #error-text[data-v-7a7a37b1]{display:block;padding:0 2em}#global-error #clear-error[data-v-7a7a37b1]{height:2em}#menu-button[data-v-7a7a37b1]{display:none}#mobile-menu-overlay[data-v-7a7a37b1]{background-color:#16161580;position:fixed;top:0;left:0;width:100%;height:100%}#base-data-notification[data-v-7a7a37b1]{text-align:center;color:#fff;padding:1em;background:#4e8dcc}.spinner[data-v-7a7a37b1]{width:40px;height:40px;position:relative;vertical-align:middle;display:inline-block}.double-bounce1[data-v-7a7a37b1],.double-bounce2[data-v-7a7a37b1]{width:100%;height:100%;border-radius:50%;background-color:#3f6f9d;opacity:.7;position:absolute;top:0;left:0;-webkit-animation:sk-bounce-7a7a37b1 2s infinite ease-in-out;animation:sk-bounce-7a7a37b1 2s infinite ease-in-out}.double-bounce2[data-v-7a7a37b1]{-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes sk-bounce-7a7a37b1{0%,to{-webkit-transform:scale(0)}50%{-webkit-transform:scale(1)}}@keyframes sk-bounce-7a7a37b1{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}@media (min-width: 800px){#content[data-v-7a7a37b1]{padding:8px;margin-top:10px}#app-content.with-background[data-v-7a7a37b1]{background-image:url(./background-C-9v9KoP.png);background-repeat:no-repeat;background-size:contain;background-position:0px 7.2em}}@supports (display: grid){#app-content[data-v-7a7a37b1]{min-height:100vh;display:grid;align-items:unset;grid-template:"head" 60px "pict" auto "cont" 1fr "foot" auto}#menu-button[data-v-7a7a37b1]{display:unset;background:#82a733;color:#fff;width:50px;height:50px;border-radius:100px;position:fixed;bottom:85px;right:0;z-index:990}#menu-button div[data-v-7a7a37b1]{width:60%;height:3px;background-color:#fff;margin:3px auto}#navigation[data-v-7a7a37b1]{width:unset;z-index:991;right:0;bottom:0;position:fixed;display:inline-grid;border:2px solid #e1e1e1}#navigation.hidden[data-v-7a7a37b1]{display:none}#header[data-v-7a7a37b1]{grid-area:head}#content[data-v-7a7a37b1]{grid-area:cont;min-height:unset}#footer[data-v-7a7a37b1]{grid-area:foot}#picture-padder[data-v-7a7a37b1]{grid-area:pict}@media (min-width: 800px){#app-content[data-v-7a7a37b1]{grid-template:"head head head" 60px "nav nav nav" auto "pict pict pict" auto ". cont ." 1fr "foot foot foot" auto/1fr minmax(auto,800px) 1fr}#navigation[data-v-7a7a37b1]{grid-area:nav;z-index:initial;right:initial;top:initial;position:initial;display:initial;transform:initial;border:none}#navigation.hidden[data-v-7a7a37b1]{display:initial}#menu-button[data-v-7a7a37b1]{display:none}}}h1[data-v-2124d57d]{font-family:Raleway;font-weight:800;font-size:1.5em;color:#3f6f9d;max-width:800px;text-align:center}.infoBox[data-v-2124d57d]{margin:2.5em;border:.5em solid #3f6f9d;border-radius:1em;padding:1em;text-align:center;font-weight:600}@media (min-width: 800px){h1[data-v-2124d57d]{margin-top:0;font-size:1.8em}}#chart-legend,.chart-legend{display:inline-block;color:#000}#chart-legend ul,.chart-legend ul{list-style:none}#chart-legend ul li,.chart-legend ul li{text-align:left;margin:.5em}#chart-legend ul li .legend-color-block,.chart-legend ul li .legend-color-block{margin-right:.5em;width:1em;height:1em;border-radius:100px;display:inline-block}#doughnut-chart{margin:2em 0}.sub-section[data-v-272aeb36]{margin:10px 0}h3[data-v-272aeb36]{text-align:left;padding-left:1em;background:#fff;line-height:44px;margin:0;font-weight:600;font-size:1.5em;border:1px solid #e1e1e1;cursor:pointer;position:relative}h3[data-v-272aeb36]:before{content:"";width:8px;height:100%;position:absolute;left:0;top:0;background:#4e8dcc}h3[data-v-272aeb36]:after{content:"+";position:absolute;right:1em}h3.active[data-v-272aeb36]{background:#4e8dcc;color:#fff;border-bottom:none}h3.active[data-v-272aeb36]:after{content:"–";position:absolute;right:1em}.contents[data-v-272aeb36]{text-align:left;background:#fff;border:1px solid #e1e1e1;padding:10px}#links a[data-v-272aeb36]{text-transform:capitalize;margin-right:1ch}#actions li[data-v-272aeb36]{margin-bottom:6px}ul[data-v-272aeb36]{list-style:none;text-align:left;padding:0}h3[data-v-1c3c76ba]{text-transform:uppercase;text-align:left;margin-bottom:0}h1[data-v-1c3c76ba]{text-align:left;font-size:24px;margin-top:5px}summary[data-v-1c3c76ba]{margin:1em 0}#close-button[data-v-1c3c76ba]{position:absolute;top:0;right:0;width:auto;height:auto;padding:.5em}#continue[data-v-1c3c76ba]{display:block;margin:0 auto}#chart-wrapper[data-v-1c3c76ba]{display:flex;background:#fff;border:1px solid #e1e1e1;align-items:center;justify-content:center;flex-wrap:wrap}#result-selection-buttons button[data-v-1c3c76ba]{height:3em;margin-top:10px;margin-left:4px;word-wrap:break-word}#result-selection-buttons button.active[data-v-1c3c76ba]{background:#4e8dcc}.range-details-text[data-v-96d8d4ae]{display:block;margin-top:1em}#low-carbon-services[data-v-661a40a2]{margin-top:1em}.low-carbon-choice[data-v-661a40a2]{margin-left:.5em}.consumption-group[data-v-661a40a2]{display:inline-flex;text-align:right;align-items:center}#total[data-v-661a40a2]{font-weight:700;text-align:center;display:block;margin-top:1em}#secondary-house-checker[data-v-366d5263]{border:none;padding:0;margin:0}.details-button-wrapper[data-v-e1367da4]{display:inline;position:relative}button[data-v-e1367da4]{height:2em;width:2em;padding:0;border-radius:30px;color:#fff;background:#ec9a1e;font-size:.9em}button[data-v-e1367da4]:disabled{background:gray;pointer-events:none}#text[data-v-e1367da4]{display:block;border:1px solid #4e8dcc;background:#fff;font-size:1em;font-weight:400;text-transform:none;text-align:center;padding:1em;color:#333;position:absolute;z-index:995;max-width:400px;min-width:250px;-webkit-user-select:none;user-select:none}#purchase-sum[data-v-5f55f72f]{font-weight:700;text-align:center;display:block;margin-top:1em}.range-item[data-v-5f55f72f]{clear:both;border-bottom:1px solid #e1e1e1}.vueperslide{white-space:normal;background-size:cover;flex-shrink:0;display:block;width:100%;position:relative}.vueperslide--clone-1{position:absolute;top:0;bottom:0;right:100%}.vueperslides--rtl .vueperslide--clone-1{right:auto;left:100%}.vueperslide[href]{-webkit-user-drag:none}.vueperslide__image{position:absolute;top:0;left:0;right:0;bottom:0;background-size:cover}.vueperslide__loader{position:absolute;top:0;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.vueperslide__content-wrapper:not(.vueperslide__content-wrapper--outside-top):not(.vueperslide__content-wrapper--outside-bottom){height:100%;margin:auto}.vueperslides--fade .vueperslide{position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;transition:ease-in-out opacity;transition-duration:inherit}.vueperslides--fade .vueperslide--active,.vueperslides--fade .vueperslide--visible{z-index:1;opacity:1}.vueperslides--slide-image-inside .vueperslide{overflow:hidden}.vueperslides--3d .vueperslide{position:absolute;z-index:-1;height:100%}.vueperslides--3d .vueperslide--previous-slide,.vueperslides--3d .vueperslide--active,.vueperslides--3d .vueperslide--next-slide{z-index:0}.vueperslides--3d .vueperslide--active{z-index:1}.vueperslides--3d .vueperslide[face=front]{transform:rotateY(90deg) translate(-50%) rotateY(-90deg)}.vueperslides--3d .vueperslide[face=right]{transform:rotateY(90deg) translate(50%);transform-origin:100% 0}.vueperslides--3d .vueperslide[face=back]{transform:rotateY(270deg) translate(-50%) rotateY(-90deg)}.vueperslides--3d .vueperslide[face=left]{transform:rotateY(270deg) translate(-50%);transform-origin:0 0}.vueperslides:not(.no-shadow):not(.vueperslides--3d) .vueperslides__parallax-wrapper:before,.vueperslides:not(.no-shadow):not(.vueperslides--3d) .vueperslides__parallax-wrapper:after{content:"";position:absolute;bottom:100%;left:-1em;right:-1em;height:2em;box-shadow:0 0 20px #00000040;z-index:2}.vueperslides:not(.no-shadow):not(.vueperslides--3d) .vueperslides__parallax-wrapper:after{top:100%;bottom:auto}.vueperslides__arrows{color:#fff}.vueperslides__arrows--outside{color:currentColor}.vueperslides__arrow{top:50%;background-color:transparent;border:none;opacity:.7}.vueperslides__arrow--prev,.vueperslides--rtl .vueperslides__arrow--next{right:auto;left:.5em}.vueperslides__arrow--next,.vueperslides--rtl .vueperslides__arrow--prev{left:auto;right:.5em}.vueperslides__arrow:hover{opacity:1}.vueperslides__arrows--outside .vueperslides__arrow--prev,.vueperslides--rtl .vueperslides__arrows--outside .vueperslides__arrow--next{right:auto;left:-3.5em}.vueperslides__arrows--outside .vueperslides__arrow--next,.vueperslides--rtl .vueperslides__arrows--outside .vueperslides__arrow--prev{left:auto;right:-3.5em}.vueperslides__paused{top:.7em;right:.7em;opacity:0;text-shadow:0 0 3px rgba(0,0,0,.4);z-index:1}.vueperslides:hover .vueperslides__paused{opacity:1}.vueperslides__bullets:not(.vueperslides__bullets--outside){color:#fff}.vueperslides__bullet{margin:1.5em .6em;padding:0;border:none;background:none}.vueperslides__bullet .default{width:12px;height:12px;border-radius:12px;border:1px solid currentColor;background-color:transparent;box-shadow:0 0 1px #00000080,0 0 3px #0000004d;transition:.4s ease-in-out;box-sizing:border-box}.vueperslides__bullet .default span{display:none}.vueperslides__bullet--active .default{border-width:6px}.vueperslide,.vueperslide__image{background-position:center}.vueperslide__video{outline:none}.vueperslide--no-pointer-events:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0}.vueperslide__content-wrapper:not(.vueperslide__content-wrapper--outside-top):not(.vueperslide__content-wrapper--outside-bottom){display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;text-align:center}.vueperslide__content-wrapper.parallax-fixed-content,.vueperslide--has-image-inside .vueperslide__content-wrapper,.vueperslide--has-video .vueperslide__content-wrapper{position:absolute;z-index:2;top:0;bottom:0;left:0;right:0;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none}.vueperslides{position:relative}.vueperslides--fixed-height .vueperslides__inner,.vueperslides--fixed-height .vueperslides__parallax-wrapper,.vueperslides--fixed-height .vueperslide{height:inherit}.vueperslides--fixed-height .vueperslides__parallax-wrapper{padding-bottom:0!important}.vueperslides--fixed-height.vueperslides--bullets-outside{margin-bottom:4em}.vueperslides__inner{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vueperslides__parallax-wrapper{position:relative;overflow:hidden}.vueperslides--3d .vueperslides__parallax-wrapper{overflow:visible}.vueperslides__track{position:absolute;top:0;height:100%;left:0;right:0;overflow:hidden;z-index:1}.vueperslides--parallax .vueperslides__track{height:200%;transform:translateY(0)}.vueperslides--touchable .vueperslides__track{cursor:ew-resize;cursor:grab}.vueperslides--touchable .vueperslides__track--mousedown,.vueperslides--touchable .vueperslides__track--dragging{cursor:grabbing}.vueperslides--3d .vueperslides__track{overflow:visible;perspective:100em}.vueperslides__track-inner{white-space:nowrap;transition:.5s ease-in-out transform;height:100%;display:flex}.vueperslides--no-animation .vueperslides__track-inner{transition-duration:0s!important}.vueperslides--fade .vueperslides__track-inner{white-space:normal;transition:none}.vueperslides--3d .vueperslides__track-inner{transform-style:preserve-3d}.vueperslides__track--mousedown .vueperslides__track-inner{transition:.25s ease-in-out transform!important}.vueperslides__track--dragging .vueperslides__track-inner{transition:none}.vueperslides__arrow{position:absolute;font-size:inherit;color:inherit;text-align:center;transform:translateY(-50%);transition:.3s ease-in-out;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none;z-index:2;line-height:1}.vueperslides__arrow svg{vertical-align:middle;stroke:currentColor;fill:none;width:3.5em;padding:1em;stroke-width:1;transition:.3s ease-in-out;box-sizing:border-box}.vueperslides__arrow svg:hover{stroke-width:1.3}.vueperslides__paused{position:absolute;transition:.3s ease-in-out}.vueperslides__bullets{display:flex;justify-content:center;position:absolute;bottom:0;left:0;right:0}.vueperslides__bullets--outside{position:relative}.vueperslides__bullets button,.vueperslides__bullet{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none;z-index:2;display:flex;justify-content:center;align-items:center;color:inherit}.vueperslides__bullets button::-moz-focus-inner,.vueperslides__bullet::-moz-focus-inner{border:0}.vueperslides__fractions{position:absolute;top:.8em;left:.5em;z-index:2;padding:.2em 1em;border:1px solid rgba(255,255,255,.5);border-radius:2em;background:#fff3;color:#fff}.vueperslides__progress{position:absolute;top:0;left:0;right:0;z-index:2;height:6px;color:#000000b3}.vueperslides__progress>*{position:absolute;top:0;bottom:0;left:0;background:currentColor;transition:.3s ease-in-out}button.vueperslides__arrow{opacity:.8;padding:0;height:fit-content;width:fit-content;color:#fff;background:#4e8dcc;transform:translateY(-50%);transition:.1s ease-in-out}button.vueperslides__arrow:hover{background:#3f6f9d}.vueperslides{display:flex;justify-content:center}.vueperslides__parallax-wrapper{width:41em;margin:0 .5em}#chart-legend{display:inline-block}#chart-legend ul{list-style:none}#chart-legend ul li{text-align:left}#chart-legend ul li .legend-color-block{width:1em;height:1em;border-radius:100px;display:inline-block}button[data-v-43583d6e]{height:3em;margin-top:10px;margin-left:4px;word-wrap:break-word}h1[data-v-43583d6e],p[data-v-43583d6e],label[data-v-43583d6e]{padding:.5em}.social-share-button[data-v-43583d6e]{padding:0}#societal-change img[data-v-43583d6e]{width:100%}#chart-wrapper[data-v-43583d6e]{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}#hide-social[data-v-43583d6e]{height:0;overflow:hidden}#social-share-chart-wrapper[data-v-43583d6e]{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;color:#3f6f9d;background:#f9f9f9}#social-share-chart-wrapper h2[data-v-43583d6e]{display:block;flex-basis:100%;text-align:center;margin-top:0;margin-bottom:0;padding-bottom:0}#social-share-chart-wrapper #share-footer[data-v-43583d6e]{background:#fff;text-align:center;padding-bottom:10px;flex-basis:100%;height:40px;text-transform:uppercase;font-size:1em;font-weight:700}#social-share-chart-wrapper #share-footer #share-logo[data-v-43583d6e]{height:100%;margin:0 10px;vertical-align:middle}#calc-base[data-v-a152f294]{background:#fff;border:1px solid gray;padding:1em}.car-details[data-v-a08e35a6]{background:#d4e0ee;padding:1em;width:100%}.fuel-details .fuel-detail-label[data-v-a08e35a6]{width:220px;display:inline-block;font-weight:600}.fuel-details-wrapper[data-v-a08e35a6]{display:inline-block}footer[data-v-2247646d]{font-size:.9em;color:#666}.car-details-button[data-v-2247646d]{margin-left:0}.car-wrapper[data-v-2247646d]{display:inline-block}.car-label[data-v-2247646d]{font-size:1em;width:11em;display:inline-block}.car-section[data-v-c454a621]{display:flex;align-items:center;flex-wrap:wrap;border-bottom:1px solid #e1e1e1}.car-index[data-v-c454a621]{display:block;margin:.5em 0 0;text-transform:none}.remove-car[data-v-c454a621]{background:red;color:#fff;height:1.5em;width:1.5em;border-radius:1em;text-align:center;font-weight:600;text-transform:none;padding:0;margin:0}#long-distance-label[data-v-24d19350]{margin-top:1em}h4[data-v-130d9f03]{margin-bottom:0}#sorting-title[data-v-ceb32794]{margin-top:1em}main[data-v-f6c2de76]{padding:0 20px;position:relative;white-space:pre-line}h1[data-v-f6c2de76]{clear:both}section[data-v-f6c2de76]{border-bottom:1px solid #e1e1e1;text-align:left}section h2[data-v-f6c2de76],section h3[data-v-f6c2de76]{cursor:pointer;color:#3f6f9d;margin:0;-webkit-user-select:none;user-select:none}section h2[data-v-f6c2de76]{font-size:1em;font-weight:700;padding:5px 0}section h3[data-v-f6c2de76]{margin-left:20px;font-size:1em;font-weight:600;padding:3px 0}section .section-content[data-v-f6c2de76]{margin-left:20px}section .subsection-content[data-v-f6c2de76]{margin-left:40px}#return-button[data-v-f6c2de76]{margin-bottom:0;margin-left:0;float:left}.padding[data-v-3bab971b]{padding:1.5em}#not-found[data-v-7a2bb5ed]{text-align:center}.number-input-wrapper[data-v-081a6ecb],.number-input-wrapper[data-v-9d79bb81]{display:inline-block}.range-contents[data-v-e6103e1f]{flex:1 1 0%}.calc-sub-form[data-v-2747011d]{margin:5px 0}.calc-sub-form>fieldset[data-v-2747011d]{padding:1.5em;background:#f9f9f9;border:1px solid #e1e1e1;margin:0}.calc-sub-form h3[data-v-2747011d]{text-align:left;padding-left:1em;background:#fff;line-height:44px;margin:0;font-weight:600;font-size:1.5em;border:1px solid #e1e1e1;cursor:pointer;position:relative}.calc-sub-form h3[data-v-2747011d]:before{content:"";width:8px;height:100%;position:absolute;left:0;top:0;background:gray}.calc-sub-form h3[data-v-2747011d]:not([disabled]):before{background:#4e8dcc}.calc-sub-form h3[data-v-2747011d]:after{content:"+";color:#666;position:absolute;right:1em}.calc-sub-form h3[disabled][data-v-2747011d]{color:gray}.calc-sub-form h3:not([disabled]).active[data-v-2747011d]{background:#4e8dcc;color:#fff}.calc-sub-form h3.active[data-v-2747011d]{border-bottom:none}.calc-sub-form h3.active[data-v-2747011d]:after{content:""}.calc-sub-form summary[data-v-2747011d]{font-size:1em;display:block;text-align:left;max-width:800px}.calc-sub-form-nested[data-v-2747011d]{margin-left:20px;margin-top:10px}.info[data-v-2747011d]{font-size:1em;margin-top:1em}.section-title{font-weight:700;font-size:1em;text-transform:uppercase;margin:0;width:220px;word-wrap:break-word;display:inline-block}.section-title.lower-case{font-weight:600;text-transform:none}.section-title-food{font-weight:700;font-size:1.25em;text-transform:uppercase;margin-top:2.5em;margin-bottom:1em;word-wrap:break-word;display:inline-block}.input-selection[data-v-054f56d6]{display:flex;text-align:left;flex-wrap:wrap;padding:1em;margin:0 1em;border-bottom:1px solid #e1e1e1;align-items:center}.input-selection.active[data-v-054f56d6]{background:#fff}.input-selection .radio-item[data-v-054f56d6]{flex:1 1 0%}.input-selection .amount[data-v-054f56d6]{flex:2 1 0%;display:inline-block}.input-selection .extra[data-v-054f56d6]{flex:1 1 100%;display:flex;align-items:center;margin-top:.5em}.input-selection .extra .extra-label[data-v-054f56d6]{flex:1 1 0%}.input-selection .extra .extra-content[data-v-054f56d6]{flex:2 1 0%}.section-title[data-v-054f56d6]{float:left;max-width:100%;min-width:220px;width:unset}#options[data-v-054f56d6]{clear:both}.sub-form-section[data-v-977fe0ab]{padding:1.5em 0;display:flex;flex-wrap:wrap;text-align:left;align-items:center;border-bottom:1px solid #e1e1e1}.sub-form-section.no-border[data-v-977fe0ab]{border-bottom:none}.sub-form-section fieldset[data-v-977fe0ab]{flex:1 1 0%;min-width:200px;text-align:left;display:inline-block;border:0;padding:0}.sub-form-section fieldset label[data-v-977fe0ab]{display:inline-block;font-size:.9em}.sub-form-section footer[data-v-977fe0ab]{margin-top:.5em;flex-basis:100%;font-size:.9em;color:#666}.field-unit[data-v-977fe0ab]{font-size:.9em} diff --git a/pr-preview/pr-19/assets/index-D8U9WUYu.js b/pr-preview/pr-19/assets/index-D8U9WUYu.js new file mode 100644 index 0000000..2777903 --- /dev/null +++ b/pr-preview/pr-19/assets/index-D8U9WUYu.js @@ -0,0 +1,1710 @@ +var Nw=Object.defineProperty;var Vw=(e,t,n)=>t in e?Nw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var ve=(e,t,n)=>Vw(e,typeof t!="symbol"?t+"":t,n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const a of s)if(a.type==="childList")for(const r of a.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&i(r)}).observe(document,{childList:!0,subtree:!0});function n(s){const a={};return s.integrity&&(a.integrity=s.integrity),s.referrerPolicy&&(a.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?a.credentials="include":s.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function i(s){if(s.ep)return;s.ep=!0;const a=n(s);fetch(s.href,a)}})();/*! + * shared v9.14.0 + * (c) 2024 kazuya kawaguchi + * Released under the MIT License. + */const qn=typeof window<"u";let Sn,fa;{const e=qn&&window.performance;e&&e.mark&&e.measure&&e.clearMarks&&e.clearMeasures&&(Sn=t=>{e.mark(t)},fa=(t,n,i)=>{e.measure(t,n,i),e.clearMarks(n),e.clearMarks(i)})}const Kw=/\{([0-9a-zA-Z]+)\}/g;function lh(e,...t){return t.length===1&&Ge(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Kw,(n,i)=>t.hasOwnProperty(i)?t[i]:"")}const yi=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Gw=(e,t,n)=>Ww({l:e,k:t,s:n}),Ww=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ot=e=>typeof e=="number"&&isFinite(e),Yw=e=>Xk(e)==="[object Date]",Us=e=>Xk(e)==="[object RegExp]",tu=e=>$e(e)&&Object.keys(e).length===0,Xt=Object.assign;let Uf;const Li=()=>Uf||(Uf=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function $f(e){return e.replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const Jw=Object.prototype.hasOwnProperty;function pl(e,t){return Jw.call(e,t)}const ft=Array.isArray,it=e=>typeof e=="function",re=e=>typeof e=="string",Oe=e=>typeof e=="boolean",Ge=e=>e!==null&&typeof e=="object",Xw=e=>Ge(e)&&it(e.then)&&it(e.catch),Jk=Object.prototype.toString,Xk=e=>Jk.call(e),$e=e=>{if(!Ge(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},zw=e=>e==null?"":ft(e)||$e(e)&&e.toString===Jk?JSON.stringify(e,null,2):String(e);function qw(e,t=""){return e.reduce((n,i,s)=>s===0?n+i:n+t+i,"")}const _f=2;function Zw(e,t=0,n=e.length){const i=e.split(/\r?\n/);let s=0;const a=[];for(let r=0;r=t){for(let o=r-_f;o<=r+_f||n>s;o++){if(o<0||o>=i.length)continue;const A=o+1;a.push(`${A}${" ".repeat(3-String(A).length)}| ${i[o]}`);const l=i[o].length;if(o===r){const u=t-(s-l)+1,c=Math.max(1,n>s?l-u:n-t);a.push(" | "+" ".repeat(u)+"^".repeat(c))}else if(o>r){if(n>s){const u=Math.max(Math.min(n-s,l),1);a.push(" | "+"^".repeat(u))}s+=l+1}}break}return a.join(` +`)}function nu(e){let t=e;return()=>++t}function jt(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Tf={};function zk(e){Tf[e]||(Tf[e]=!0,jt(e))}function uh(){const e=new Map;return{events:e,on(n,i){const s=e.get(n);s&&s.push(i)||e.set(n,[i])},off(n,i){const s=e.get(n);s&&s.splice(s.indexOf(i)>>>0,1)},emit(n,i){(e.get(n)||[]).slice().map(s=>s(i)),(e.get("*")||[]).slice().map(s=>s(n,i))}}}const eA=e=>!Ge(e)||ft(e);function GA(e,t){if(eA(e)||eA(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:i,des:s}=n.pop();Object.keys(i).forEach(a=>{eA(i[a])||eA(s[a])?s[a]=i[a]:n.push({src:i[a],des:s[a]})})}}/*! + * message-compiler v9.14.0 + * (c) 2024 kazuya kawaguchi + * Released under the MIT License. + */function e0(e,t,n){return{line:e,column:t,offset:n}}function gl(e,t,n){return{start:e,end:t}}const t0=/\{([0-9a-zA-Z]+)\}/g;function qk(e,...t){return t.length===1&&n0(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(t0,(n,i)=>t.hasOwnProperty(i)?t[i]:"")}const Zk=Object.assign,If=e=>typeof e=="string",n0=e=>e!==null&&typeof e=="object";function ev(e,t=""){return e.reduce((n,i,s)=>s===0?n+i:n+t+i,"")}const iu={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},i0={[iu.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function s0(e,t,...n){const i=qk(i0[e],...n||[]),s={message:String(i),code:e};return t&&(s.location=t),s}const Be={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},a0={[Be.EXPECTED_TOKEN]:"Expected token: '{0}'",[Be.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Be.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Be.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Be.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Be.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Be.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Be.EMPTY_PLACEHOLDER]:"Empty placeholder",[Be.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Be.INVALID_LINKED_FORMAT]:"Invalid linked format",[Be.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Be.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Be.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Be.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Be.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Be.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function mr(e,t,n={}){const{domain:i,messages:s,args:a}=n,r=qk((s||a0)[e]||"",...a||[]),o=new SyntaxError(String(r));return o.code=e,t&&(o.location=t),o.domain=i,o}function r0(e){throw e}const o0=/<\/?[\w\s="/.':;#-\/]+>/,A0=e=>o0.test(e),wi=" ",l0="\r",on=` +`,u0="\u2028",c0="\u2029";function d0(e){const t=e;let n=0,i=1,s=1,a=0;const r=S=>t[S]===l0&&t[S+1]===on,o=S=>t[S]===on,A=S=>t[S]===c0,l=S=>t[S]===u0,u=S=>r(S)||o(S)||A(S)||l(S),c=()=>n,d=()=>i,h=()=>s,m=()=>a,p=S=>r(S)||A(S)||l(S)?on:t[S],k=()=>p(n),y=()=>p(n+a);function B(){return a=0,u(n)&&(i++,s=0),r(n)&&n++,n++,s++,t[n]}function v(){return r(n+a)&&a++,a++,t[n+a]}function _(){n=0,i=1,s=1,a=0}function E(S=0){a=S}function F(){const S=n+a;for(;S!==n;)B();a=0}return{index:c,line:d,column:h,peekOffset:m,charAt:p,currentChar:k,currentPeek:y,next:B,peek:v,reset:_,resetPeek:E,skipToPeek:F}}const zi=void 0,h0=".",Qf="'",f0="tokenizer";function m0(e,t={}){const n=t.location!==!1,i=d0(e),s=()=>i.index(),a=()=>e0(i.line(),i.column(),i.index()),r=a(),o=s(),A={currentType:14,offset:o,startLoc:r,endLoc:r,lastType:14,lastOffset:o,lastStartLoc:r,lastEndLoc:r,braceNest:0,inLinked:!1,text:""},l=()=>A,{onError:u}=t;function c(b,w,Q,...D){const z=l();if(w.column+=Q,w.offset+=Q,u){const ne=n?gl(z.startLoc,w):null,ee=mr(b,ne,{domain:f0,args:D});u(ee)}}function d(b,w,Q){b.endLoc=a(),b.currentType=w;const D={type:w};return n&&(D.loc=gl(b.startLoc,b.endLoc)),Q!=null&&(D.value=Q),D}const h=b=>d(b,14);function m(b,w){return b.currentChar()===w?(b.next(),w):(c(Be.EXPECTED_TOKEN,a(),0,w),"")}function p(b){let w="";for(;b.currentPeek()===wi||b.currentPeek()===on;)w+=b.currentPeek(),b.peek();return w}function k(b){const w=p(b);return b.skipToPeek(),w}function y(b){if(b===zi)return!1;const w=b.charCodeAt(0);return w>=97&&w<=122||w>=65&&w<=90||w===95}function B(b){if(b===zi)return!1;const w=b.charCodeAt(0);return w>=48&&w<=57}function v(b,w){const{currentType:Q}=w;if(Q!==2)return!1;p(b);const D=y(b.currentPeek());return b.resetPeek(),D}function _(b,w){const{currentType:Q}=w;if(Q!==2)return!1;p(b);const D=b.currentPeek()==="-"?b.peek():b.currentPeek(),z=B(D);return b.resetPeek(),z}function E(b,w){const{currentType:Q}=w;if(Q!==2)return!1;p(b);const D=b.currentPeek()===Qf;return b.resetPeek(),D}function F(b,w){const{currentType:Q}=w;if(Q!==8)return!1;p(b);const D=b.currentPeek()===".";return b.resetPeek(),D}function S(b,w){const{currentType:Q}=w;if(Q!==9)return!1;p(b);const D=y(b.currentPeek());return b.resetPeek(),D}function H(b,w){const{currentType:Q}=w;if(!(Q===8||Q===12))return!1;p(b);const D=b.currentPeek()===":";return b.resetPeek(),D}function T(b,w){const{currentType:Q}=w;if(Q!==10)return!1;const D=()=>{const ne=b.currentPeek();return ne==="{"?y(b.peek()):ne==="@"||ne==="%"||ne==="|"||ne===":"||ne==="."||ne===wi||!ne?!1:ne===on?(b.peek(),D()):V(b,!1)},z=D();return b.resetPeek(),z}function O(b){p(b);const w=b.currentPeek()==="|";return b.resetPeek(),w}function R(b){const w=p(b),Q=b.currentPeek()==="%"&&b.peek()==="{";return b.resetPeek(),{isModulo:Q,hasSpace:w.length>0}}function V(b,w=!0){const Q=(z=!1,ne="",ee=!1)=>{const L=b.currentPeek();return L==="{"?ne==="%"?!1:z:L==="@"||!L?ne==="%"?!0:z:L==="%"?(b.peek(),Q(z,"%",!0)):L==="|"?ne==="%"||ee?!0:!(ne===wi||ne===on):L===wi?(b.peek(),Q(!0,wi,ee)):L===on?(b.peek(),Q(!0,on,ee)):!0},D=Q();return w&&b.resetPeek(),D}function Z(b,w){const Q=b.currentChar();return Q===zi?zi:w(Q)?(b.next(),Q):null}function Se(b){const w=b.charCodeAt(0);return w>=97&&w<=122||w>=65&&w<=90||w>=48&&w<=57||w===95||w===36}function fe(b){return Z(b,Se)}function le(b){const w=b.charCodeAt(0);return w>=97&&w<=122||w>=65&&w<=90||w>=48&&w<=57||w===95||w===36||w===45}function ie(b){return Z(b,le)}function ue(b){const w=b.charCodeAt(0);return w>=48&&w<=57}function pe(b){return Z(b,ue)}function et(b){const w=b.charCodeAt(0);return w>=48&&w<=57||w>=65&&w<=70||w>=97&&w<=102}function at(b){return Z(b,et)}function je(b){let w="",Q="";for(;w=pe(b);)Q+=w;return Q}function Ve(b){k(b);const w=b.currentChar();return w!=="%"&&c(Be.EXPECTED_TOKEN,a(),0,w),b.next(),"%"}function ze(b){let w="";for(;;){const Q=b.currentChar();if(Q==="{"||Q==="}"||Q==="@"||Q==="|"||!Q)break;if(Q==="%")if(V(b))w+=Q,b.next();else break;else if(Q===wi||Q===on)if(V(b))w+=Q,b.next();else{if(O(b))break;w+=Q,b.next()}else w+=Q,b.next()}return w}function ut(b){k(b);let w="",Q="";for(;w=ie(b);)Q+=w;return b.currentChar()===zi&&c(Be.UNTERMINATED_CLOSING_BRACE,a(),0),Q}function tt(b){k(b);let w="";return b.currentChar()==="-"?(b.next(),w+=`-${je(b)}`):w+=je(b),b.currentChar()===zi&&c(Be.UNTERMINATED_CLOSING_BRACE,a(),0),w}function P(b){return b!==Qf&&b!==on}function ae(b){k(b),m(b,"'");let w="",Q="";for(;w=Z(b,P);)w==="\\"?Q+=se(b):Q+=w;const D=b.currentChar();return D===on||D===zi?(c(Be.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,a(),0),D===on&&(b.next(),m(b,"'")),Q):(m(b,"'"),Q)}function se(b){const w=b.currentChar();switch(w){case"\\":case"'":return b.next(),`\\${w}`;case"u":return de(b,w,4);case"U":return de(b,w,6);default:return c(Be.UNKNOWN_ESCAPE_SEQUENCE,a(),0,w),""}}function de(b,w,Q){m(b,w);let D="";for(let z=0;z{const D=b.currentChar();return D==="{"||D==="%"||D==="@"||D==="|"||D==="("||D===")"||!D||D===wi?Q:(Q+=D,b.next(),w(Q))};return w("")}function U(b){k(b);const w=m(b,"|");return k(b),w}function j(b,w){let Q=null;switch(b.currentChar()){case"{":return w.braceNest>=1&&c(Be.NOT_ALLOW_NEST_PLACEHOLDER,a(),0),b.next(),Q=d(w,2,"{"),k(b),w.braceNest++,Q;case"}":return w.braceNest>0&&w.currentType===2&&c(Be.EMPTY_PLACEHOLDER,a(),0),b.next(),Q=d(w,3,"}"),w.braceNest--,w.braceNest>0&&k(b),w.inLinked&&w.braceNest===0&&(w.inLinked=!1),Q;case"@":return w.braceNest>0&&c(Be.UNTERMINATED_CLOSING_BRACE,a(),0),Q=K(b,w)||h(w),w.braceNest=0,Q;default:{let z=!0,ne=!0,ee=!0;if(O(b))return w.braceNest>0&&c(Be.UNTERMINATED_CLOSING_BRACE,a(),0),Q=d(w,1,U(b)),w.braceNest=0,w.inLinked=!1,Q;if(w.braceNest>0&&(w.currentType===5||w.currentType===6||w.currentType===7))return c(Be.UNTERMINATED_CLOSING_BRACE,a(),0),w.braceNest=0,W(b,w);if(z=v(b,w))return Q=d(w,5,ut(b)),k(b),Q;if(ne=_(b,w))return Q=d(w,6,tt(b)),k(b),Q;if(ee=E(b,w))return Q=d(w,7,ae(b)),k(b),Q;if(!z&&!ne&&!ee)return Q=d(w,13,nt(b)),c(Be.INVALID_TOKEN_IN_PLACEHOLDER,a(),0,Q.value),k(b),Q;break}}return Q}function K(b,w){const{currentType:Q}=w;let D=null;const z=b.currentChar();switch((Q===8||Q===9||Q===12||Q===10)&&(z===on||z===wi)&&c(Be.INVALID_LINKED_FORMAT,a(),0),z){case"@":return b.next(),D=d(w,8,"@"),w.inLinked=!0,D;case".":return k(b),b.next(),d(w,9,".");case":":return k(b),b.next(),d(w,10,":");default:return O(b)?(D=d(w,1,U(b)),w.braceNest=0,w.inLinked=!1,D):F(b,w)||H(b,w)?(k(b),K(b,w)):S(b,w)?(k(b),d(w,12,_e(b))):T(b,w)?(k(b),z==="{"?j(b,w)||D:d(w,11,g(b))):(Q===8&&c(Be.INVALID_LINKED_FORMAT,a(),0),w.braceNest=0,w.inLinked=!1,W(b,w))}}function W(b,w){let Q={type:14};if(w.braceNest>0)return j(b,w)||h(w);if(w.inLinked)return K(b,w)||h(w);switch(b.currentChar()){case"{":return j(b,w)||h(w);case"}":return c(Be.UNBALANCED_CLOSING_BRACE,a(),0),b.next(),d(w,3,"}");case"@":return K(b,w)||h(w);default:{if(O(b))return Q=d(w,1,U(b)),w.braceNest=0,w.inLinked=!1,Q;const{isModulo:z,hasSpace:ne}=R(b);if(z)return ne?d(w,0,ze(b)):d(w,4,Ve(b));if(V(b))return d(w,0,ze(b));break}}return Q}function J(){const{currentType:b,offset:w,startLoc:Q,endLoc:D}=A;return A.lastType=b,A.lastOffset=w,A.lastStartLoc=Q,A.lastEndLoc=D,A.offset=s(),A.startLoc=a(),i.currentChar()===zi?d(A,14):W(i,A)}return{nextToken:J,currentOffset:s,currentPosition:a,context:l}}const p0="parser",g0=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function k0(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const i=parseInt(t||n,16);return i<=55295||i>=57344?String.fromCodePoint(i):"�"}}}function v0(e={}){const t=e.location!==!1,{onError:n,onWarn:i}=e;function s(v,_,E,F,...S){const H=v.currentPosition();if(H.offset+=F,H.column+=F,n){const T=t?gl(E,H):null,O=mr(_,T,{domain:p0,args:S});n(O)}}function a(v,_,E,F,...S){const H=v.currentPosition();if(H.offset+=F,H.column+=F,i){const T=t?gl(E,H):null;i(s0(_,T,S))}}function r(v,_,E){const F={type:v};return t&&(F.start=_,F.end=_,F.loc={start:E,end:E}),F}function o(v,_,E,F){t&&(v.end=_,v.loc&&(v.loc.end=E))}function A(v,_){const E=v.context(),F=r(3,E.offset,E.startLoc);return F.value=_,o(F,v.currentOffset(),v.currentPosition()),F}function l(v,_){const E=v.context(),{lastOffset:F,lastStartLoc:S}=E,H=r(5,F,S);return H.index=parseInt(_,10),v.nextToken(),o(H,v.currentOffset(),v.currentPosition()),H}function u(v,_,E){const F=v.context(),{lastOffset:S,lastStartLoc:H}=F,T=r(4,S,H);return T.key=_,E===!0&&(T.modulo=!0),v.nextToken(),o(T,v.currentOffset(),v.currentPosition()),T}function c(v,_){const E=v.context(),{lastOffset:F,lastStartLoc:S}=E,H=r(9,F,S);return H.value=_.replace(g0,k0),v.nextToken(),o(H,v.currentOffset(),v.currentPosition()),H}function d(v){const _=v.nextToken(),E=v.context(),{lastOffset:F,lastStartLoc:S}=E,H=r(8,F,S);return _.type!==12?(s(v,Be.UNEXPECTED_EMPTY_LINKED_MODIFIER,E.lastStartLoc,0),H.value="",o(H,F,S),{nextConsumeToken:_,node:H}):(_.value==null&&s(v,Be.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Kn(_)),H.value=_.value||"",o(H,v.currentOffset(),v.currentPosition()),{node:H})}function h(v,_){const E=v.context(),F=r(7,E.offset,E.startLoc);return F.value=_,o(F,v.currentOffset(),v.currentPosition()),F}function m(v){const _=v.context(),E=r(6,_.offset,_.startLoc);let F=v.nextToken();if(F.type===9){const S=d(v);E.modifier=S.node,F=S.nextConsumeToken||v.nextToken()}switch(F.type!==10&&s(v,Be.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,Kn(F)),F=v.nextToken(),F.type===2&&(F=v.nextToken()),F.type){case 11:F.value==null&&s(v,Be.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,Kn(F)),E.key=h(v,F.value||"");break;case 5:F.value==null&&s(v,Be.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,Kn(F)),E.key=u(v,F.value||"");break;case 6:F.value==null&&s(v,Be.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,Kn(F)),E.key=l(v,F.value||"");break;case 7:F.value==null&&s(v,Be.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,Kn(F)),E.key=c(v,F.value||"");break;default:{s(v,Be.UNEXPECTED_EMPTY_LINKED_KEY,_.lastStartLoc,0);const S=v.context(),H=r(7,S.offset,S.startLoc);return H.value="",o(H,S.offset,S.startLoc),E.key=H,o(E,S.offset,S.startLoc),{nextConsumeToken:F,node:E}}}return o(E,v.currentOffset(),v.currentPosition()),{node:E}}function p(v){const _=v.context(),E=_.currentType===1?v.currentOffset():_.offset,F=_.currentType===1?_.endLoc:_.startLoc,S=r(2,E,F);S.items=[];let H=null,T=null;do{const V=H||v.nextToken();switch(H=null,V.type){case 0:V.value==null&&s(v,Be.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,Kn(V)),S.items.push(A(v,V.value||""));break;case 6:V.value==null&&s(v,Be.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,Kn(V)),S.items.push(l(v,V.value||""));break;case 4:T=!0;break;case 5:V.value==null&&s(v,Be.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,Kn(V)),S.items.push(u(v,V.value||"",!!T)),T&&(a(v,iu.USE_MODULO_SYNTAX,_.lastStartLoc,0,Kn(V)),T=null);break;case 7:V.value==null&&s(v,Be.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,Kn(V)),S.items.push(c(v,V.value||""));break;case 8:{const Z=m(v);S.items.push(Z.node),H=Z.nextConsumeToken||null;break}}}while(_.currentType!==14&&_.currentType!==1);const O=_.currentType===1?_.lastOffset:v.currentOffset(),R=_.currentType===1?_.lastEndLoc:v.currentPosition();return o(S,O,R),S}function k(v,_,E,F){const S=v.context();let H=F.items.length===0;const T=r(1,_,E);T.cases=[],T.cases.push(F);do{const O=p(v);H||(H=O.items.length===0),T.cases.push(O)}while(S.currentType!==14);return H&&s(v,Be.MUST_HAVE_MESSAGES_IN_PLURAL,E,0),o(T,v.currentOffset(),v.currentPosition()),T}function y(v){const _=v.context(),{offset:E,startLoc:F}=_,S=p(v);return _.currentType===14?S:k(v,E,F,S)}function B(v){const _=m0(v,Zk({},e)),E=_.context(),F=r(0,E.offset,E.startLoc);return t&&F.loc&&(F.loc.source=v),F.body=y(_),e.onCacheKey&&(F.cacheKey=e.onCacheKey(v)),E.currentType!==14&&s(_,Be.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,v[E.offset]||""),o(F,_.currentOffset(),_.currentPosition()),F}return{parse:B}}function Kn(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function y0(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:a=>(n.helpers.add(a),a)}}function Hf(e,t){for(let n=0;nLf(n)),e}function Lf(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;no;function l(k,y){o.code+=k}function u(k,y=!0){const B=y?s:"";l(a?B+" ".repeat(k):B)}function c(k=!0){const y=++o.indentLevel;k&&u(y)}function d(k=!0){const y=--o.indentLevel;k&&u(y)}function h(){u(o.indentLevel)}return{context:A,push:l,indent:c,deindent:d,newline:h,helper:k=>`_${k}`,needIndent:()=>o.needIndent}}function F0(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),nr(e,t.key),t.modifier?(e.push(", "),nr(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function E0(e,t){const{helper:n,needIndent:i}=e;e.push(`${n("normalize")}([`),e.indent(i());const s=t.items.length;for(let a=0;a1){e.push(`${n("plural")}([`),e.indent(i());const s=t.cases.length;for(let a=0;a{const n=If(t.mode)?t.mode:"normal",i=If(t.filename)?t.filename:"message.intl",s=!!t.sourceMap,a=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` +`,r=t.needIndent?t.needIndent:n!=="arrow",o=e.helpers||[],A=S0(e,{mode:n,filename:i,sourceMap:s,breakLineCode:a,needIndent:r});A.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),A.indent(r),o.length>0&&(A.push(`const { ${ev(o.map(c=>`${c}: _${c}`),", ")} } = ctx`),A.newline()),A.push("return "),nr(A,e),A.deindent(r),A.push("}"),delete e.helpers;const{code:l,map:u}=A.context();return{ast:e,code:l,map:u?u.toJSON():void 0}};function T0(e,t={}){const n=Zk({},t),i=!!n.jit,s=!!n.minify,a=n.optimize==null?!0:n.optimize,o=v0(n).parse(e);return i?(a&&B0(o),s&&Na(o),{ast:o,code:""}):(b0(o,n),_0(o,n))}/*! + * core-base v9.14.0 + * (c) 2024 kazuya kawaguchi + * Released under the MIT License. + */function I0(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Li().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Li().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Li().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}const Ds=[];Ds[0]={w:[0],i:[3,0],"[":[4],o:[7]};Ds[1]={w:[1],".":[2],"[":[4],o:[7]};Ds[2]={w:[2],i:[3,0],0:[3,0]};Ds[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]};Ds[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]};Ds[5]={"'":[4,0],o:8,l:[5,0]};Ds[6]={'"':[4,0],o:8,l:[6,0]};const Q0=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function H0(e){return Q0.test(e)}function L0(e){const t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===n&&(t===34||t===39)?e.slice(1,-1):e}function D0(e){if(e==null)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function M0(e){const t=e.trim();return e.charAt(0)==="0"&&isNaN(parseInt(e))?!1:H0(t)?L0(t):"*"+t}function O0(e){const t=[];let n=-1,i=0,s=0,a,r,o,A,l,u,c;const d=[];d[0]=()=>{r===void 0?r=o:r+=o},d[1]=()=>{r!==void 0&&(t.push(r),r=void 0)},d[2]=()=>{d[0](),s++},d[3]=()=>{if(s>0)s--,i=4,d[0]();else{if(s=0,r===void 0||(r=M0(r),r===!1))return!1;d[1]()}};function h(){const m=e[n+1];if(i===5&&m==="'"||i===6&&m==='"')return n++,o="\\"+m,d[0](),!0}for(;i!==null;)if(n++,a=e[n],!(a==="\\"&&h())){if(A=D0(a),c=Ds[i],l=c[A]||c.l||8,l===8||(i=l[0],l[1]!==void 0&&(u=d[l[1]],u&&(o=a,u()===!1))))return;if(i===7)return t}}const Df=new Map;function j0(e,t){return Ge(e)?e[t]:null}function P0(e,t){if(!Ge(e))return null;let n=Df.get(t);if(n||(n=O0(t),n&&Df.set(t,n)),!n)return null;const i=n.length;let s=e,a=0;for(;ae,x0=e=>"",N0="text",V0=e=>e.length===0?"":qw(e),K0=zw;function Mf(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function G0(e){const t=Ot(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Ot(e.named.count)||Ot(e.named.n))?Ot(e.named.count)?e.named.count:Ot(e.named.n)?e.named.n:t:t}function W0(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Y0(e={}){const t=e.locale,n=G0(e),i=Ge(e.pluralRules)&&re(t)&&it(e.pluralRules[t])?e.pluralRules[t]:Mf,s=Ge(e.pluralRules)&&re(t)&&it(e.pluralRules[t])?Mf:void 0,a=y=>y[i(n,y.length,s)],r=e.list||[],o=y=>r[y],A=e.named||{};Ot(e.pluralIndex)&&W0(n,A);const l=y=>A[y];function u(y){const B=it(e.messages)?e.messages(y):Ge(e.messages)?e.messages[y]:!1;return B||(e.parent?e.parent.message(y):x0)}const c=y=>e.modifiers?e.modifiers[y]:R0,d=$e(e.processor)&&it(e.processor.normalize)?e.processor.normalize:V0,h=$e(e.processor)&&it(e.processor.interpolate)?e.processor.interpolate:K0,m=$e(e.processor)&&re(e.processor.type)?e.processor.type:N0,k={list:o,named:l,plural:a,linked:(y,...B)=>{const[v,_]=B;let E="text",F="";B.length===1?Ge(v)?(F=v.modifier||F,E=v.type||E):re(v)&&(F=v||F):B.length===2&&(re(v)&&(F=v||F),re(_)&&(E=_||E));const S=u(y)(k),H=E==="vnode"&&ft(S)&&F?S[0]:S;return F?c(F)(H,E):H},message:u,type:m,interpolate:h,normalize:d,values:Xt({},r,A)};return k}let go=null;function J0(e){go=e}function X0(e,t,n){go&&go.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const z0=q0("function:translate");function q0(e){return t=>go&&go.emit(e,t)}const tv=iu.__EXTEND_POINT__,js=nu(tv),ln={NOT_FOUND_KEY:tv,FALLBACK_TO_TRANSLATE:js(),CANNOT_FORMAT_NUMBER:js(),FALLBACK_TO_NUMBER_FORMAT:js(),CANNOT_FORMAT_DATE:js(),FALLBACK_TO_DATE_FORMAT:js(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:js(),__EXTEND_POINT__:js()},Z0={[ln.NOT_FOUND_KEY]:"Not found '{key}' key in '{locale}' locale messages.",[ln.FALLBACK_TO_TRANSLATE]:"Fall back to translate '{key}' key with '{target}' locale.",[ln.CANNOT_FORMAT_NUMBER]:"Cannot format a number value due to not supported Intl.NumberFormat.",[ln.FALLBACK_TO_NUMBER_FORMAT]:"Fall back to number format '{key}' key with '{target}' locale.",[ln.CANNOT_FORMAT_DATE]:"Cannot format a date value due to not supported Intl.DateTimeFormat.",[ln.FALLBACK_TO_DATE_FORMAT]:"Fall back to datetime format '{key}' key with '{target}' locale.",[ln.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]:"This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future."};function ma(e,...t){return lh(Z0[e],...t)}const nv=Be.__EXTEND_POINT__,Ps=nu(nv),Vt={INVALID_ARGUMENT:nv,INVALID_DATE_ARGUMENT:Ps(),INVALID_ISO_DATE_ARGUMENT:Ps(),NOT_SUPPORT_NON_STRING_MESSAGE:Ps(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:Ps(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:Ps(),NOT_SUPPORT_LOCALE_TYPE:Ps(),__EXTEND_POINT__:Ps()};function ci(e){return mr(e,null,{messages:eC})}const eC={[Vt.INVALID_ARGUMENT]:"Invalid arguments",[Vt.INVALID_DATE_ARGUMENT]:"The date provided is an invalid Date object.Make sure your Date represents a valid date.",[Vt.INVALID_ISO_DATE_ARGUMENT]:"The argument provided is not a valid ISO date string",[Vt.NOT_SUPPORT_NON_STRING_MESSAGE]:"Not support non-string message",[Vt.NOT_SUPPORT_LOCALE_PROMISE_VALUE]:"cannot support promise value",[Vt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION]:"cannot support async function",[Vt.NOT_SUPPORT_LOCALE_TYPE]:"cannot support locale type"};function dh(e,t){return t.locale!=null?Of(t.locale):Of(e.locale)}let Ru;function Of(e){if(re(e))return e;if(it(e)){if(e.resolvedOnce&&Ru!=null)return Ru;if(e.constructor.name==="Function"){const t=e();if(Xw(t))throw ci(Vt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Ru=t}else throw ci(Vt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw ci(Vt.NOT_SUPPORT_LOCALE_TYPE)}function tC(e,t,n){return[...new Set([n,...ft(t)?t:Ge(t)?Object.keys(t):re(t)?[t]:[n]])]}function iv(e,t,n){const i=re(n)?n:ir,s=e;s.__localeChainCache||(s.__localeChainCache=new Map);let a=s.__localeChainCache.get(i);if(!a){a=[];let r=[n];for(;ft(r);)r=jf(a,r,t);const o=ft(t)||!$e(t)?t:t.default?t.default:null;r=re(o)?[o]:o,ft(r)&&jf(a,r,!1),s.__localeChainCache.set(i,a)}return a}function jf(e,t,n){let i=!0;for(let s=0;s`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function aC(){return{upper:(e,t)=>t==="text"&&re(e)?e.toUpperCase():t==="vnode"&&Ge(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&re(e)?e.toLowerCase():t==="vnode"&&Ge(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&re(e)?Pf(e):t==="vnode"&&Ge(e)&&"__v_isVNode"in e?Pf(e.children):e}}let sv;function Rf(e){sv=e}let av;function rC(e){av=e}let rv;function oC(e){rv=e}let ov=null;const AC=e=>{ov=e},lC=()=>ov;let Av=null;const xf=e=>{Av=e},uC=()=>Av;let Nf=0;function cC(e={}){const t=it(e.onWarn)?e.onWarn:jt,n=re(e.version)?e.version:sC,i=re(e.locale)||it(e.locale)?e.locale:ir,s=it(i)?ir:i,a=ft(e.fallbackLocale)||$e(e.fallbackLocale)||re(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s,r=$e(e.messages)?e.messages:{[s]:{}},o=$e(e.datetimeFormats)?e.datetimeFormats:{[s]:{}},A=$e(e.numberFormats)?e.numberFormats:{[s]:{}},l=Xt({},e.modifiers||{},aC()),u=e.pluralRules||{},c=it(e.missing)?e.missing:null,d=Oe(e.missingWarn)||Us(e.missingWarn)?e.missingWarn:!0,h=Oe(e.fallbackWarn)||Us(e.fallbackWarn)?e.fallbackWarn:!0,m=!!e.fallbackFormat,p=!!e.unresolving,k=it(e.postTranslation)?e.postTranslation:null,y=$e(e.processor)?e.processor:null,B=Oe(e.warnHtmlMessage)?e.warnHtmlMessage:!0,v=!!e.escapeParameter,_=it(e.messageCompiler)?e.messageCompiler:sv;it(e.messageCompiler)&&zk(ma(ln.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER));const E=it(e.messageResolver)?e.messageResolver:av||j0,F=it(e.localeFallbacker)?e.localeFallbacker:rv||tC,S=Ge(e.fallbackContext)?e.fallbackContext:void 0,H=e,T=Ge(H.__datetimeFormatters)?H.__datetimeFormatters:new Map,O=Ge(H.__numberFormatters)?H.__numberFormatters:new Map,R=Ge(H.__meta)?H.__meta:{};Nf++;const V={version:n,cid:Nf,locale:i,fallbackLocale:a,messages:r,modifiers:l,pluralRules:u,missing:c,missingWarn:d,fallbackWarn:h,fallbackFormat:m,unresolving:p,postTranslation:k,processor:y,warnHtmlMessage:B,escapeParameter:v,messageCompiler:_,messageResolver:E,localeFallbacker:F,fallbackContext:S,onWarn:t,__meta:R};return V.datetimeFormats=o,V.numberFormats=A,V.__datetimeFormatters=T,V.__numberFormatters=O,V.__v_emitter=H.__v_emitter!=null?H.__v_emitter:void 0,X0(V,n,R),V}function au(e,t){return e instanceof RegExp?e.test(t):e}function lv(e,t){return e instanceof RegExp?e.test(t):e}function hh(e,t,n,i,s){const{missing:a,onWarn:r}=e;{const o=e.__v_emitter;o&&o.emit("missing",{locale:n,key:t,type:s,groupId:`${s}:${t}`})}if(a!==null){const o=a(e,n,t,s);return re(o)?o:t}else return lv(i,t)&&r(ma(ln.NOT_FOUND_KEY,{key:t,locale:n})),t}function Fr(e,t,n){const i=e;i.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function uv(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function dC(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let i=n+1;ihC(n,e)}function hC(e,t){const n=t.b||t.body;if((n.t||n.type)===1){const i=n,s=i.c||i.cases;return e.plural(s.reduce((a,r)=>[...a,Vf(e,r)],[]))}else return Vf(e,n)}function Vf(e,t){const n=t.s||t.static;if(n)return e.type==="text"?n:e.normalize([n]);{const i=(t.i||t.items).reduce((s,a)=>[...s,xc(e,a)],[]);return e.normalize(i)}}function xc(e,t){const n=t.t||t.type;switch(n){case 3:{const i=t;return i.v||i.value}case 9:{const i=t;return i.v||i.value}case 4:{const i=t;return e.interpolate(e.named(i.k||i.key))}case 5:{const i=t;return e.interpolate(e.list(i.i!=null?i.i:i.index))}case 6:{const i=t,s=i.m||i.modifier;return e.linked(xc(e,i.k||i.key),s?xc(e,s):void 0,e.type)}case 7:{const i=t;return i.v||i.value}case 8:{const i=t;return i.v||i.value}default:throw new Error(`unhandled node type on format message part: ${n}`)}}const fC="Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.";function cv(e,t){t&&A0(e)&&jt(lh(fC,{source:e}))}const dv=e=>e;let Wa=Object.create(null);function hv(e){e.code===iu.USE_MODULO_SYNTAX&&jt(`The use of named interpolation with modulo syntax is deprecated. It will be removed in v10. +reference: https://vue-i18n.intlify.dev/guide/essentials/syntax#rails-i18n-format +(message compiler warning message: ${e.message})`)}const $s=e=>Ge(e)&&(e.t===0||e.type===0)&&("b"in e||"body"in e);function fv(e,t={}){let n=!1;const i=t.onError||r0;return t.onError=s=>{n=!0,i(s)},{...T0(e,t),detectError:n}}const mC=(e,t)=>{if(!re(e))throw ci(Vt.NOT_SUPPORT_NON_STRING_MESSAGE);t.onWarn=hv;{const n=Oe(t.warnHtmlMessage)?t.warnHtmlMessage:!0;cv(e,n);const s=(t.onCacheKey||dv)(e),a=Wa[s];if(a)return a;const{code:r,detectError:o}=fv(e,t),A=new Function(`return ${r}`)();return o?A:Wa[s]=A}};function pC(e,t){if(t.onWarn=hv,__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&re(e)){const n=Oe(t.warnHtmlMessage)?t.warnHtmlMessage:!0;cv(e,n);const s=(t.onCacheKey||dv)(e),a=Wa[s];if(a)return a;const{ast:r,detectError:o}=fv(e,{...t,location:!0,jit:!0}),A=xu(r);return o?A:Wa[s]=A}else{if(!$s(e))return jt(`the message that is resolve with key '${t.key}' is not supported for jit compilation`),()=>e;const n=e.cacheKey;if(n){const i=Wa[n];return i||(Wa[n]=xu(e))}else return xu(e)}}const Kf=()=>"",Dn=e=>it(e);function Gf(e,...t){const{fallbackFormat:n,postTranslation:i,unresolving:s,messageCompiler:a,fallbackLocale:r,messages:o}=e,[A,l]=Nc(...t),u=Oe(l.missingWarn)?l.missingWarn:e.missingWarn,c=Oe(l.fallbackWarn)?l.fallbackWarn:e.fallbackWarn,d=Oe(l.escapeParameter)?l.escapeParameter:e.escapeParameter,h=!!l.resolvedMessage,m=re(l.default)||Oe(l.default)?Oe(l.default)?a?A:()=>A:l.default:n?a?A:()=>A:"",p=n||m!=="",k=dh(e,l);d&&gC(l);let[y,B,v]=h?[A,k,o[k]||{}]:mv(e,A,k,r,c,u),_=y,E=A;if(!h&&!(re(_)||$s(_)||Dn(_))&&p&&(_=m,E=_),!h&&(!(re(_)||$s(_)||Dn(_))||!re(B)))return s?su:A;if(re(_)&&e.messageCompiler==null)return jt(`The message format compilation is not supported in this build. Because message compiler isn't included. You need to pre-compilation all message format. So translate function return '${A}'.`),A;let F=!1;const S=()=>{F=!0},H=Dn(_)?_:pv(e,A,B,_,E,S);if(F)return _;const T=bC(e,B,v,l),O=Y0(T),R=kC(e,H,O),V=i?i(R,A):R;{const Z={timestamp:Date.now(),key:re(A)?A:Dn(_)?_.key:"",locale:B||(Dn(_)?_.locale:""),format:re(_)?_:Dn(_)?_.source:"",message:V};Z.meta=Xt({},e.__meta,lC()||{}),z0(Z)}return V}function gC(e){ft(e.list)?e.list=e.list.map(t=>re(t)?$f(t):t):Ge(e.named)&&Object.keys(e.named).forEach(t=>{re(e.named[t])&&(e.named[t]=$f(e.named[t]))})}function mv(e,t,n,i,s,a){const{messages:r,onWarn:o,messageResolver:A,localeFallbacker:l}=e,u=l(e,i,n);let c={},d,h=null,m=n,p=null;const k="translate";for(let y=0;yi;return d.locale=n,d.key=t,d}let A=null,l,u;qn&&(A=window.performance.now(),l="intlify-message-compilation-start",u="intlify-message-compilation-end",Sn&&Sn(l));const c=r(i,vC(e,n,s,i,o,a));if(qn){const d=window.performance.now(),h=e.__v_emitter;h&&A&&h.emit("message-compilation",{type:"message-compilation",message:i,time:d-A,groupId:`translate:${t}`}),l&&u&&Sn&&fa&&(Sn(u),fa("intlify message compilation",l,u))}return c.locale=n,c.key=t,c.source=i,c}function kC(e,t,n){let i=null,s,a;qn&&(i=window.performance.now(),s="intlify-message-evaluation-start",a="intlify-message-evaluation-end",Sn&&Sn(s));const r=t(n);if(qn){const o=window.performance.now(),A=e.__v_emitter;A&&i&&A.emit("message-evaluation",{type:"message-evaluation",value:r,time:o-i,groupId:`translate:${t.key}`}),s&&a&&Sn&&fa&&(Sn(a),fa("intlify message evaluation",s,a))}return r}function Nc(...e){const[t,n,i]=e,s={};if(!re(t)&&!Ot(t)&&!Dn(t)&&!$s(t))throw ci(Vt.INVALID_ARGUMENT);const a=Ot(t)?String(t):(Dn(t),t);return Ot(n)?s.plural=n:re(n)?s.default=n:$e(n)&&!tu(n)?s.named=n:ft(n)&&(s.list=n),Ot(i)?s.plural=i:re(i)?s.default=i:$e(i)&&Xt(s,i),[a,s]}function vC(e,t,n,i,s,a){return{locale:t,key:n,warnHtmlMessage:s,onError:r=>{a&&a(r);{const o=yC(i),A=`Message compilation error: ${r.message}`,l=r.location&&o&&Zw(o,r.location.start.offset,r.location.end.offset),u=e.__v_emitter;u&&o&&u.emit("compile-error",{message:o,error:r.message,start:r.location&&r.location.start.offset,end:r.location&&r.location.end.offset,groupId:`translate:${n}`}),console.error(l?`${A} +${l}`:A)}},onCacheKey:r=>Gw(t,n,r)}}function yC(e){if(re(e))return e;if(e.loc&&e.loc.source)return e.loc.source}function bC(e,t,n,i){const{modifiers:s,pluralRules:a,messageResolver:r,fallbackLocale:o,fallbackWarn:A,missingWarn:l,fallbackContext:u}=e,d={locale:t,modifiers:s,pluralRules:a,messages:h=>{let m=r(n,h);if(m==null&&u){const[,,p]=mv(u,h,t,o,A,l);m=r(p,h)}if(re(m)||$s(m)){let p=!1;const y=pv(e,h,t,m,h,()=>{p=!0});return p?Kf:y}else return Dn(m)?m:Kf}};return e.processor&&(d.processor=e.processor),i.list&&(d.list=i.list),i.named&&(d.named=i.named),Ot(i.plural)&&(d.pluralIndex=i.plural),d}const Wf=typeof Intl<"u",gv={dateTimeFormat:Wf&&typeof Intl.DateTimeFormat<"u",numberFormat:Wf&&typeof Intl.NumberFormat<"u"};function Yf(e,...t){const{datetimeFormats:n,unresolving:i,fallbackLocale:s,onWarn:a,localeFallbacker:r}=e,{__datetimeFormatters:o}=e;if(!gv.dateTimeFormat)return a(ma(ln.CANNOT_FORMAT_DATE)),kl;const[A,l,u,c]=Vc(...t),d=Oe(u.missingWarn)?u.missingWarn:e.missingWarn,h=Oe(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,m=!!u.part,p=dh(e,u),k=r(e,s,p);if(!re(A)||A==="")return new Intl.DateTimeFormat(p,c).format(l);let y={},B,v=null,_=p,E=null;const F="datetime format";for(let T=0;T{kv.includes(A)?r[A]=n[A]:a[A]=n[A]}),re(i)?a.locale=i:$e(i)&&(r=i),$e(s)&&(r=s),[a.key||"",o,a,r]}function Jf(e,t,n){const i=e;for(const s in n){const a=`${t}__${s}`;i.__datetimeFormatters.has(a)&&i.__datetimeFormatters.delete(a)}}function Xf(e,...t){const{numberFormats:n,unresolving:i,fallbackLocale:s,onWarn:a,localeFallbacker:r}=e,{__numberFormatters:o}=e;if(!gv.numberFormat)return a(ma(ln.CANNOT_FORMAT_NUMBER)),kl;const[A,l,u,c]=Kc(...t),d=Oe(u.missingWarn)?u.missingWarn:e.missingWarn,h=Oe(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,m=!!u.part,p=dh(e,u),k=r(e,s,p);if(!re(A)||A==="")return new Intl.NumberFormat(p,c).format(l);let y={},B,v=null,_=p,E=null;const F="number format";for(let T=0;T{vv.includes(A)?r[A]=n[A]:a[A]=n[A]}),re(i)?a.locale=i:$e(i)&&(r=i),$e(s)&&(r=s),[a.key||"",o,a,r]}function zf(e,t,n){const i=e;for(const s in n){const a=`${t}__${s}`;i.__numberFormatters.has(a)&&i.__numberFormatters.delete(a)}}I0();/** +* @vue/shared v3.4.38 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function Gi(e,t){const n=new Set(e.split(","));return i=>n.has(i)}const ot=Object.freeze({}),za=Object.freeze([]),Yt=()=>{},BC=()=>!1,Do=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),vl=e=>e.startsWith("onUpdate:"),Ht=Object.assign,fh=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},wC=Object.prototype.hasOwnProperty,Pe=(e,t)=>wC.call(e,t),me=Array.isArray,na=e=>Mo(e)==="[object Map]",pr=e=>Mo(e)==="[object Set]",qf=e=>Mo(e)==="[object Date]",be=e=>typeof e=="function",Bt=e=>typeof e=="string",gi=e=>typeof e=="symbol",Xe=e=>e!==null&&typeof e=="object",mh=e=>(Xe(e)||be(e))&&be(e.then)&&be(e.catch),yv=Object.prototype.toString,Mo=e=>yv.call(e),ph=e=>Mo(e).slice(8,-1),bv=e=>Mo(e)==="[object Object]",gh=e=>Bt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,no=Gi(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),CC=Gi("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),ru=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},SC=/-(\w)/g,En=ru(e=>e.replace(SC,(t,n)=>n?n.toUpperCase():"")),FC=/\B([A-Z])/g,ki=ru(e=>e.replace(FC,"-$1").toLowerCase()),pa=ru(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ys=ru(e=>e?`on${pa(e)}`:""),_s=(e,t)=>!Object.is(e,t),Va=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:i,value:n})},bl=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Zf;const kh=()=>Zf||(Zf=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ln(e){if(me(e)){const t={};for(let n=0;n{if(n){const i=n.split(UC);i.length>1&&(t[i[0].trim()]=i[1].trim())}}),t}function Ee(e){let t="";if(Bt(e))t=e;else if(me(e))for(let n=0;nga(n,t))}const wv=e=>!!(e&&e.__v_isRef===!0),C=e=>Bt(e)?e:e==null?"":me(e)||Xe(e)&&(e.toString===yv||!be(e.toString))?wv(e)?C(e.value):JSON.stringify(e,Cv,2):String(e),Cv=(e,t)=>wv(t)?Cv(e,t.value):na(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[i,s],a)=>(n[Nu(i,a)+" =>"]=s,n),{})}:pr(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Nu(n))}:gi(t)?Nu(t):Xe(t)&&!me(t)&&!bv(t)?String(t):t,Nu=(e,t="")=>{var n;return gi(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.38 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function vi(e,...t){console.warn(`[Vue warn] ${e}`,...t)}let wn;class Sv{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=wn,!t&&wn&&(this.index=(wn.scopes||(wn.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=wn;try{return wn=this,t()}finally{wn=n}}else vi("cannot run an inactive effect scope.")}on(){wn=this}off(){wn=this.parent}stop(t){if(this._active){let n,i;for(n=0,i=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),Yi()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Bs,n=ia;try{return Bs=!0,ia=this,this._runnings++,em(this),this.fn()}finally{tm(this),this._runnings--,ia=n,Bs=t}}stop(){this.active&&(em(this),tm(this),this.onStop&&this.onStop(),this.active=!1)}}function xC(e){return e.value}function em(e){e._trackId++,e._depsLength=0}function tm(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},Bl=new WeakMap,sa=Symbol("iterate"),Yc=Symbol("Map key iterate");function sn(e,t,n){if(Bs&&ia){let i=Bl.get(e);i||Bl.set(e,i=new Map);let s=i.get(n);s||i.set(n,s=Tv(()=>i.delete(n))),$v(ia,s,{target:e,type:t,key:n})}}function mi(e,t,n,i,s,a){const r=Bl.get(e);if(!r)return;let o=[];if(t==="clear")o=[...r.values()];else if(n==="length"&&me(e)){const A=Number(i);r.forEach((l,u)=>{(u==="length"||!gi(u)&&u>=A)&&o.push(l)})}else switch(n!==void 0&&o.push(r.get(n)),t){case"add":me(e)?gh(n)&&o.push(r.get("length")):(o.push(r.get(sa)),na(e)&&o.push(r.get(Yc)));break;case"delete":me(e)||(o.push(r.get(sa)),na(e)&&o.push(r.get(Yc)));break;case"set":na(e)&&o.push(r.get(sa));break}Bh();for(const A of o)A&&_v(A,4,{target:e,type:t,key:n,newValue:i,oldValue:s,oldTarget:a});wh()}function NC(e,t){const n=Bl.get(e);return n&&n.get(t)}const VC=Gi("__proto__,__v_isRef,__isVue"),Iv=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(gi)),nm=KC();function KC(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const i=Ce(this);for(let a=0,r=this.length;a{e[t]=function(...n){Wi(),Bh();const i=Ce(this)[t].apply(this,n);return wh(),Yi(),i}}),e}function GC(e){gi(e)||(e=String(e));const t=Ce(this);return sn(t,"has",e),t.hasOwnProperty(e)}class Qv{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,i){const s=this._isReadonly,a=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return a;if(n==="__v_raw")return i===(s?a?Pv:jv:a?Ov:Mv).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(i)?t:void 0;const r=me(t);if(!s){if(r&&Pe(nm,n))return Reflect.get(nm,n,i);if(n==="hasOwnProperty")return GC}const o=Reflect.get(t,n,i);return(gi(n)?Iv.has(n):VC(n))||(s||sn(t,"get",n),a)?o:mt(o)?r&&gh(n)?o:o.value:Xe(o)?s?xv(o):Oo(o):o}}class Hv extends Qv{constructor(t=!1){super(!1,t)}set(t,n,i,s){let a=t[n];if(!this._isShallow){const A=Ni(a);if(!Oi(i)&&!Ni(i)&&(a=Ce(a),i=Ce(i)),!me(t)&&mt(a)&&!mt(i))return A?!1:(a.value=i,!0)}const r=me(t)&&gh(n)?Number(n)e,ou=e=>Reflect.getPrototypeOf(e);function tA(e,t,n=!1,i=!1){e=e.__v_raw;const s=Ce(e),a=Ce(t);n||(_s(t,a)&&sn(s,"get",t),sn(s,"get",a));const{has:r}=ou(s),o=i?Ch:n?Sh:ko;if(r.call(s,t))return o(e.get(t));if(r.call(s,a))return o(e.get(a));e!==s&&e.get(t)}function nA(e,t=!1){const n=this.__v_raw,i=Ce(n),s=Ce(e);return t||(_s(e,s)&&sn(i,"has",e),sn(i,"has",s)),e===s?n.has(e):n.has(e)||n.has(s)}function iA(e,t=!1){return e=e.__v_raw,!t&&sn(Ce(e),"iterate",sa),Reflect.get(e,"size",e)}function im(e,t=!1){!t&&!Oi(e)&&!Ni(e)&&(e=Ce(e));const n=Ce(this);return ou(n).has.call(n,e)||(n.add(e),mi(n,"add",e,e)),this}function sm(e,t,n=!1){!n&&!Oi(t)&&!Ni(t)&&(t=Ce(t));const i=Ce(this),{has:s,get:a}=ou(i);let r=s.call(i,e);r?Dv(i,s,e):(e=Ce(e),r=s.call(i,e));const o=a.call(i,e);return i.set(e,t),r?_s(t,o)&&mi(i,"set",e,t,o):mi(i,"add",e,t),this}function am(e){const t=Ce(this),{has:n,get:i}=ou(t);let s=n.call(t,e);s?Dv(t,n,e):(e=Ce(e),s=n.call(t,e));const a=i?i.call(t,e):void 0,r=t.delete(e);return s&&mi(t,"delete",e,void 0,a),r}function rm(){const e=Ce(this),t=e.size!==0,n=na(e)?new Map(e):new Set(e),i=e.clear();return t&&mi(e,"clear",void 0,void 0,n),i}function sA(e,t){return function(i,s){const a=this,r=a.__v_raw,o=Ce(r),A=t?Ch:e?Sh:ko;return!e&&sn(o,"iterate",sa),r.forEach((l,u)=>i.call(s,A(l),A(u),a))}}function aA(e,t,n){return function(...i){const s=this.__v_raw,a=Ce(s),r=na(a),o=e==="entries"||e===Symbol.iterator&&r,A=e==="keys"&&r,l=s[e](...i),u=n?Ch:t?Sh:ko;return!t&&sn(a,"iterate",A?Yc:sa),{next(){const{value:c,done:d}=l.next();return d?{value:c,done:d}:{value:o?[u(c[0]),u(c[1])]:u(c),done:d}},[Symbol.iterator](){return this}}}}function qi(e){return function(...t){{const n=t[0]?`on key "${t[0]}" `:"";vi(`${pa(e)} operation ${n}failed: target is readonly.`,Ce(this))}return e==="delete"?!1:e==="clear"?void 0:this}}function zC(){const e={get(a){return tA(this,a)},get size(){return iA(this)},has:nA,add:im,set:sm,delete:am,clear:rm,forEach:sA(!1,!1)},t={get(a){return tA(this,a,!1,!0)},get size(){return iA(this)},has:nA,add(a){return im.call(this,a,!0)},set(a,r){return sm.call(this,a,r,!0)},delete:am,clear:rm,forEach:sA(!1,!0)},n={get(a){return tA(this,a,!0)},get size(){return iA(this,!0)},has(a){return nA.call(this,a,!0)},add:qi("add"),set:qi("set"),delete:qi("delete"),clear:qi("clear"),forEach:sA(!0,!1)},i={get(a){return tA(this,a,!0,!0)},get size(){return iA(this,!0)},has(a){return nA.call(this,a,!0)},add:qi("add"),set:qi("set"),delete:qi("delete"),clear:qi("clear"),forEach:sA(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(a=>{e[a]=aA(a,!1,!1),n[a]=aA(a,!0,!1),t[a]=aA(a,!1,!0),i[a]=aA(a,!0,!0)}),[e,n,t,i]}const[qC,ZC,eS,tS]=zC();function Au(e,t){const n=t?e?tS:eS:e?ZC:qC;return(i,s,a)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?i:Reflect.get(Pe(n,s)&&s in i?n:i,s,a)}const nS={get:Au(!1,!1)},iS={get:Au(!1,!0)},sS={get:Au(!0,!1)},aS={get:Au(!0,!0)};function Dv(e,t,n){const i=Ce(n);if(i!==n&&t.call(e,i)){const s=ph(e);vi(`Reactive ${s} contains both the raw and reactive versions of the same object${s==="Map"?" as keys":""}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}}const Mv=new WeakMap,Ov=new WeakMap,jv=new WeakMap,Pv=new WeakMap;function rS(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function oS(e){return e.__v_skip||!Object.isExtensible(e)?0:rS(ph(e))}function Oo(e){return Ni(e)?e:lu(e,!1,WC,nS,Mv)}function Rv(e){return lu(e,!1,JC,iS,Ov)}function xv(e){return lu(e,!0,YC,sS,jv)}function di(e){return lu(e,!0,XC,aS,Pv)}function lu(e,t,n,i,s){if(!Xe(e))return vi(`value cannot be made ${t?"readonly":"reactive"}: ${String(e)}`),e;if(e.__v_raw&&!(t&&e.__v_isReactive))return e;const a=s.get(e);if(a)return a;const r=oS(e);if(r===0)return e;const o=new Proxy(e,r===2?i:n);return s.set(e,o),o}function Mi(e){return Ni(e)?Mi(e.__v_raw):!!(e&&e.__v_isReactive)}function Ni(e){return!!(e&&e.__v_isReadonly)}function Oi(e){return!!(e&&e.__v_isShallow)}function sr(e){return e?!!e.__v_raw:!1}function Ce(e){const t=e&&e.__v_raw;return t?Ce(t):e}function ds(e){return Object.isExtensible(e)&&yl(e,"__v_skip",!0),e}const ko=e=>Xe(e)?Oo(e):e,Sh=e=>Xe(e)?xv(e):e,AS="Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free";class Nv{constructor(t,n,i,s){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new bh(()=>t(this._value),()=>WA(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=i}get value(){const t=Ce(this);return(!t._cacheable||t.effect.dirty)&&_s(t._value,t._value=t.effect.run())&&WA(t,4),Vv(t),t.effect._dirtyLevel>=2&&(this._warnRecursive&&vi(AS,` + +getter: `,this.getter),WA(t,2)),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function lS(e,t,n=!1){let i,s;const a=be(e);a?(i=e,s=()=>{vi("Write operation failed: computed value is readonly")}):(i=e.get,s=e.set);const r=new Nv(i,s,a||!s,n);return t&&!n&&(r.effect.onTrack=t.onTrack,r.effect.onTrigger=t.onTrigger),r}function Vv(e){var t;Bs&&ia&&(e=Ce(e),$v(ia,(t=e.dep)!=null?t:e.dep=Tv(()=>e.dep=void 0,e instanceof Nv?e:void 0),{target:e,type:"get",key:"value"}))}function WA(e,t=4,n,i){e=Ce(e);const s=e.dep;s&&_v(s,t,{target:e,type:"set",key:"value",newValue:n,oldValue:i})}function mt(e){return!!(e&&e.__v_isRef===!0)}function On(e){return Kv(e,!1)}function jo(e){return Kv(e,!0)}function Kv(e,t){return mt(e)?e:new uS(e,t)}class uS{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:Ce(t),this._value=n?t:ko(t)}get value(){return Vv(this),this._value}set value(t){const n=this.__v_isShallow||Oi(t)||Ni(t);if(t=n?t:Ce(t),_s(t,this._rawValue)){const i=this._rawValue;this._rawValue=t,this._value=n?t:ko(t),WA(this,4,t,i)}}}function hs(e){return mt(e)?e.value:e}const cS={get:(e,t,n)=>hs(Reflect.get(e,t,n)),set:(e,t,n,i)=>{const s=e[t];return mt(s)&&!mt(n)?(s.value=n,!0):Reflect.set(e,t,n,i)}};function Gv(e){return Mi(e)?e:new Proxy(e,cS)}function om(e){sr(e)||vi("toRefs() expects a reactive object but received a plain one.");const t=me(e)?new Array(e.length):{};for(const n in e)t[n]=Wv(e,n);return t}class dS{constructor(t,n,i){this._object=t,this._key=n,this._defaultValue=i,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return NC(Ce(this._object),this._key)}}class hS{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Vu(e,t,n){return mt(e)?e:be(e)?new hS(e):Xe(e)&&arguments.length>1?Wv(e,t,n):On(e)}function Wv(e,t,n){const i=e[t];return mt(i)?i:new dS(e,t,n)}/** +* @vue/runtime-core v3.4.38 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const aa=[];function YA(e){aa.push(e)}function JA(){aa.pop()}let Ku=!1;function te(e,...t){if(Ku)return;Ku=!0,Wi();const n=aa.length?aa[aa.length-1].component:null,i=n&&n.appContext.config.warnHandler,s=fS();if(i)ji(i,n,11,[e+t.map(a=>{var r,o;return(o=(r=a.toString)==null?void 0:r.call(a))!=null?o:JSON.stringify(a)}).join(""),n&&n.proxy,s.map(({vnode:a})=>`at <${gu(n,a.type)}>`).join(` +`),s]);else{const a=[`[Vue warn]: ${e}`,...t];s.length&&a.push(` +`,...mS(s)),console.warn(...a)}Yi(),Ku=!1}function fS(){let e=aa[aa.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const i=e.component&&e.component.parent;e=i&&i.vnode}return t}function mS(e){const t=[];return e.forEach((n,i)=>{t.push(...i===0?[]:[` +`],...pS(n))}),t}function pS({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",i=e.component?e.component.parent==null:!1,s=` at <${gu(e.component,e.type,i)}`,a=">"+n;return e.props?[s,...gS(e.props),a]:[s+a]}function gS(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(i=>{t.push(...Yv(i,e[i]))}),n.length>3&&t.push(" ..."),t}function Yv(e,t,n){return Bt(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:mt(t)?(t=Yv(e,Ce(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):be(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Ce(t),n?t:[`${e}=`,t])}const Fh={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush",15:"component update"};function ji(e,t,n,i){try{return i?e(...i):e()}catch(s){Po(s,t,n)}}function Jn(e,t,n,i){if(be(e)){const s=ji(e,t,n,i);return s&&mh(s)&&s.catch(a=>{Po(a,t,n)}),s}if(me(e)){const s=[];for(let a=0;a>>1,s=nn[i],a=yo(s);ali&&nn.splice(t,1)}function zv(e){me(e)?qa.push(...e):(!ss||!ss.includes(e,e.allowRecurse?zs+1:zs))&&qa.push(e),Xv()}function Am(e,t,n=vo?li+1:0){for(t=t||new Map;nyo(n)-yo(i));if(qa.length=0,ss){ss.push(...t);return}for(ss=t,e=e||new Map,zs=0;zse.id==null?1/0:e.id,BS=(e,t)=>{const n=yo(e)-yo(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Zv(e){Jc=!1,vo=!0,e=e||new Map,nn.sort(BS);const t=n=>Uh(e,n);try{for(li=0;livS){const i=t.i,s=i&&Oh(i.type);return Po(`Maximum recursive updates exceeded${s?` in component <${s}>`:""}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,null,10),!0}else e.set(t,n+1)}}let ra=!1;const XA=new Map;kh().__VUE_HMR_RUNTIME__={createRecord:Gu(ey),rerender:Gu(SS),reload:Gu(FS)};const ka=new Map;function wS(e){const t=e.type.__hmrId;let n=ka.get(t);n||(ey(t,e.type),n=ka.get(t)),n.instances.add(e)}function CS(e){ka.get(e.type.__hmrId).instances.delete(e)}function ey(e,t){return ka.has(e)?!1:(ka.set(e,{initialDef:wl(t),instances:new Set}),!0)}function wl(e){return Qy(e)?e.__vccOpts:e}function SS(e,t){const n=ka.get(e);n&&(n.initialDef.render=t,[...n.instances].forEach(i=>{t&&(i.render=t,wl(i.type).render=t),i.renderCache=[],ra=!0,i.effect.dirty=!0,i.update(),ra=!1}))}function FS(e,t){const n=ka.get(e);if(!n)return;t=wl(t),lm(n.initialDef,t);const i=[...n.instances];for(let s=0;s{a.parent.update(),o.delete(a)})):a.appContext.reload?a.appContext.reload():typeof window<"u"?window.location.reload():console.warn("[HMR] Root or manually mounted instance modified. Full reload required.")}zv(()=>{XA.clear()})}function lm(e,t){Ht(e,t);for(const n in e)n!=="__file"&&!(n in t)&&delete e[n]}function Gu(e){return(t,n)=>{try{return e(t,n)}catch(i){console.error(i),console.warn("[HMR] Something went wrong during Vue component hot-reload. Full reload required.")}}}let ui,Nr=[],Xc=!1;function Ro(e,...t){ui?ui.emit(e,...t):Xc||Nr.push({event:e,args:t})}function ty(e,t){var n,i;ui=e,ui?(ui.enabled=!0,Nr.forEach(({event:s,args:a})=>ui.emit(s,...a)),Nr=[]):typeof window<"u"&&window.HTMLElement&&!((i=(n=window.navigator)==null?void 0:n.userAgent)!=null&&i.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(a=>{ty(a,t)}),setTimeout(()=>{ui||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Xc=!0,Nr=[])},3e3)):(Xc=!0,Nr=[])}function ES(e,t){Ro("app:init",e,t,{Fragment:ke,Text:gr,Comment:pn,Static:qA})}function US(e){Ro("app:unmount",e)}const $S=$h("component:added"),ny=$h("component:updated"),_S=$h("component:removed"),TS=e=>{ui&&typeof ui.cleanupBuffer=="function"&&!ui.cleanupBuffer(e)&&_S(e)};/*! #__NO_SIDE_EFFECTS__ */function $h(e){return t=>{Ro(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}const IS=iy("perf:start"),QS=iy("perf:end");function iy(e){return(t,n,i)=>{Ro(e,t.appContext.app,t.uid,t,n,i)}}function HS(e,t,n){Ro("component:emit",e.appContext.app,e,t,n)}let Ut=null,cu=null;function Cl(e){const t=Ut;return Ut=e,cu=e&&e.type.__scopeId||null,t}function Sa(e){cu=e}function Fa(){cu=null}function X(e,t=Ut,n){if(!t||e._n)return e;const i=(...s)=>{i._d&&Bm(-1);const a=Cl(t);let r;try{r=e(...s)}finally{Cl(a),i._d&&Bm(1)}return ny(t),r};return i._n=!0,i._c=!0,i._d=!0,i}function sy(e){CC(e)&&te("Do not use built-in directive ids as custom directive id: "+e)}function oe(e,t){if(Ut===null)return te("withDirectives can only be used inside render functions."),e;const n=pu(Ut),i=e.dirs||(e.dirs=[]);for(let s=0;s!!e.type.__asyncLoader,_h=e=>e.type.__isKeepAlive;function LS(e,t){ry(e,"a",t)}function DS(e,t){ry(e,"da",t)}function ry(e,t,n=It){const i=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(du(t,i,n),n){let s=n.parent;for(;s&&s.parent;)_h(s.parent.vnode)&&MS(i,t,n,s),s=s.parent}}function MS(e,t,n,i){const s=du(t,e,i,!0);hu(()=>{fh(i[t],s)},n)}function du(e,t,n=It,i=!1){if(n){const s=n[e]||(n[e]=[]),a=t.__weh||(t.__weh=(...r)=>{Wi();const o=xo(n),A=Jn(t,n,e,r);return o(),Yi(),A});return i?s.unshift(a):s.push(a),a}else{const s=Ys(Fh[e].replace(/ hook$/,""));te(`${s} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`)}}const Ji=e=>(t,n=It)=>{(!mu||e==="sp")&&du(e,(...i)=>t(...i),n)},oy=Ji("bm"),Th=Ji("m"),OS=Ji("bu"),jS=Ji("u"),PS=Ji("bum"),hu=Ji("um"),RS=Ji("sp"),xS=Ji("rtg"),NS=Ji("rtc");function VS(e,t=It){du("ec",e,t)}const Ay="components";function Y(e,t){return uy(Ay,e,!0,t)||e}const ly=Symbol.for("v-ndc");function KS(e){return Bt(e)?uy(Ay,e,!1)||e:e||ly}function uy(e,t,n=!0,i=!1){const s=Ut||It;if(s){const a=s.type;{const o=Oh(a,!1);if(o&&(o===t||o===En(t)||o===pa(En(t))))return a}const r=um(s[e]||a[e],t)||um(s.appContext[e],t);return!r&&i?a:(n&&!r&&te(`Failed to resolve ${e.slice(0,-1)}: ${t} +If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.`),r)}else te(`resolve${pa(e.slice(0,-1))} can only be used in render() or setup().`)}function um(e,t){return e&&(e[t]||e[En(t)]||e[pa(En(t))])}function Re(e,t,n,i){let s;const a=n;if(me(e)||Bt(e)){s=new Array(e.length);for(let r=0,o=e.length;rt(r,o,void 0,a));else{const r=Object.keys(e);s=new Array(r.length);for(let o=0,A=r.length;o{const a=i.fn(...s);return a&&(a.key=i.key),a}:i.fn)}return e}function _t(e,t,n={},i,s){if(Ut.isCE||Ut.parent&&io(Ut.parent)&&Ut.parent.isCE)return t!=="default"&&(n.name=t),M("slot",n,i&&i());let a=e[t];a&&a.length>1&&(te("SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template."),a=()=>[]),a&&a._c&&(a._d=!1),$();const r=a&&cy(a(n)),o=we(ke,{key:(n.key||r&&r.key||`_${t}`)+(!r&&i?"_fb":"")},r||(i?i():[]),r&&e._===1?64:-2);return!s&&o.scopeId&&(o.slotScopeIds=[o.scopeId+"-s"]),a&&a._c&&(a._d=!0),o}function cy(e){return e.some(t=>rr(t)?!(t.type===pn||t.type===ke&&!cy(t.children)):!0)?e:null}const zc=e=>e?Ty(e)?pu(e):zc(e.parent):null,oa=Ht(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>di(e.props),$attrs:e=>di(e.attrs),$slots:e=>di(e.slots),$refs:e=>di(e.refs),$parent:e=>zc(e.parent),$root:e=>zc(e.root),$emit:e=>e.emit,$options:e=>Qh(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,uu(e.update)}),$nextTick:e=>e.n||(e.n=ar.bind(e.proxy)),$watch:e=>EF.bind(e)}),Ih=e=>e==="_"||e==="$",Wu=(e,t)=>e!==ot&&!e.__isScriptSetup&&Pe(e,t),dy={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:i,data:s,props:a,accessCache:r,type:o,appContext:A}=e;if(t==="__isVue")return!0;let l;if(t[0]!=="$"){const h=r[t];if(h!==void 0)switch(h){case 1:return i[t];case 2:return s[t];case 4:return n[t];case 3:return a[t]}else{if(Wu(i,t))return r[t]=1,i[t];if(s!==ot&&Pe(s,t))return r[t]=2,s[t];if((l=e.propsOptions[0])&&Pe(l,t))return r[t]=3,a[t];if(n!==ot&&Pe(n,t))return r[t]=4,n[t];qc&&(r[t]=0)}}const u=oa[t];let c,d;if(u)return t==="$attrs"?(sn(e.attrs,"get",""),El()):t==="$slots"&&sn(e,"get",t),u(e);if((c=o.__cssModules)&&(c=c[t]))return c;if(n!==ot&&Pe(n,t))return r[t]=4,n[t];if(d=A.config.globalProperties,Pe(d,t))return d[t];Ut&&(!Bt(t)||t.indexOf("__v")!==0)&&(s!==ot&&Ih(t[0])&&Pe(s,t)?te(`Property ${JSON.stringify(t)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`):e===Ut&&te(`Property ${JSON.stringify(t)} was accessed during render but is not defined on instance.`))},set({_:e},t,n){const{data:i,setupState:s,ctx:a}=e;return Wu(s,t)?(s[t]=n,!0):s.__isScriptSetup&&Pe(s,t)?(te(`Cannot mutate \n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFP0lEQVRogb2aTWgdVRiGn3cMoZQQi4sgpZRQinYRixsFq4hkUaELUWmliEhBREWsqKgLF1JEpIiIVMF20Y0FKYg/pYItglIRim5Eof4F6UYXFkoWpVzj9bwu7plkcu783dtJXgj57tyZc97vnO98f3NFBUIIs8AeSQ8AW21PApmkrHBbFv8qh7EdJGEbgFyWVPXMFdtfACclfScp1IxfDtvbbZ8JIfzjiBCCx0Xx2TZy/Py77fts1y1QKfkbbH94LYQ7xE8hhF11fCcS8pnthxiYTn75MrAA9D0wh34yRnBiHkW5xlTyOWFgmjmfLba3RlOdk/SE7QuSFhsVAKYk3WZ7On6+YvuwpGO2lyQF2/2cVE6waKepEm1QOFcTwLykN4Cd8docMAO0UmAyKpETvAicrtK+Q+QL0A8hnJN0nhUFNtneWPVg5QGJq3gFWOqKZUssxXlzHhuo4bnqi3zrc0Tz6JhfPaI59pNrlfevUqB4Y5QDK9u7brC96kzVocmE1p08EKKzaHXzaEFi/dAnLl6TIqkCy6lBdIdrsgO2U+9X/A7gv4Lp1HIo3YHEj3emRAhh0vZB4JLtQ7Zn0hXOsiwAn9o+GwNn7ZhDCiTRs+sdmLZ9B7AJeN7268BsepOkHyU9BZymwY0PKVCMsm0P0giYkLQhylOSHgGO2p4p4XFR0nPACdu9qgErTWgtYkAcL8sXxvYG27uBM7bv8SBlL97/B3AIuFA1ZpMJdY3MdlZM9KK8EzgCPJg+IClkWbWzXFcTyjPP4jxRzmzPAW/b3u8RaoBSd9Z2FzyoHXYD24gpcVk6Xbh2vQfFUmnWavtGSUdt32L7HUl/j6VA4oXqPNGjkl4DplLFiyTTaw3ytKSDwIztlyVdrlOgKZWohe07c/JQmkuVXmshTwEHgLdCCFvqONR6oSYkBX4liudpBHnC9gHgpO27qha0lMAoXqg4cJmceJuR5MhlF/AecHfZ4S6rB7KUTB2azGJME0rl3M3uSZUojQPFh5sUadqBrhCD3hQJ51VeqKh928K8jTnk412DvCDpWeDLtCsyZEKj7kCqZJk8Lvk49w+SngbOlrR06gualsGsUR7T9oOkj4F9ks6qosU4VBOnqUSDEt8DvTT6pnJbRQtyD/gIeEbSQh2BtDO3SpF44uuC3fHYM7qZ8hwnladsz0uazecrMZurko4DhyX9VUe+jNCNtj/xCr6yPTvSIPXjb7b9uatxyfaTrik5U5St7khxYBTEMVd1HAqOY8H2K8CxssNahTJNAwzbcBfQoF0SUrMBfgNeLDusuYJVNUGjF1qD4qbYtFqyfR64V9IpSatKR9tbgJck7agarNGEutwFDzrbvbiqPeAU8JikiyX3bgbeBB4HRmruLpsQK337rrBo+1tJi5JOAC9I+mWIQAg32T4C7PWguVuJoTOQujY67N5lWdYH3rX9ftVB9eAly35J99NiAVNyIT9EaVrbJZq8jKTrCqZbu4CV7fXchMZieA3Id73twpVlo8teoqyAWAdkDHi1mnvIhBjuCq+rEvnOt/V+ZQXNWnqhVpxsT7SdN1WgL2m5mSppIxWtlzXEZJw3xxI1rZ1UgeUXbDHYzALztifXIjeqwK3A7YX5Fhmk16VIV7cH/AxcjaswDbwK7AOWQgj9ggsMhf9jteELMSc/uBPAdmBbIRZdUIsOXXHQGduf2aP/xqHutw9j4lfb8yOvTAhhzvY3tv8NISyT6UqhlvKfIYSH3VAbVB512zts75W0j8Gr/vx6ZelYJo/hxXrA18AHwLmmqP0/S72aSAb6S7AAAAAASUVORK5CYII=\"","\n\n\n\n\n","export default \"data:image/png;base64,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\"","\n\n\n","function validateForm(form: HTMLFormElement) {\n let isValid = true\n const hasBrowserSupport = 'reportValidity' in document.createElement('form')\n if (hasBrowserSupport) {\n isValid = form.reportValidity()\n } else {\n // validation check for older browsers. Highlights the incorrect fields with red color and !\n Array.from(form.getElementsByTagName('input')).forEach((input) => {\n const parent = input.parentElement\n if (input.disabled) {\n return\n }\n\n const prevErrorElements =\n parent == null ? [] : parent.getElementsByClassName('error-bang')\n if (!input.validity.valid) {\n isValid = false\n input.style.color = 'red'\n\n if (prevErrorElements.length > 0) {\n return\n }\n const errorElement = document.createElement('b')\n errorElement.className = 'error-bang'\n errorElement.innerHTML = ' ! '\n errorElement.style.color = 'red'\n input.insertAdjacentElement('beforebegin', errorElement)\n } else {\n input.style.color = ''\n if (parent != null) {\n Array.from(prevErrorElements).forEach((el) => {\n parent.removeChild(el)\n })\n }\n }\n })\n }\n return isValid\n}\n\nfunction isOldInternetExplorer() {\n const ua = window.navigator.userAgent\n return ua.indexOf('MSIE') !== -1 || ua.indexOf('Trident') !== -1\n}\n\nfunction scrollToElement(elementId: string) {\n if (!elementId) {\n return\n }\n const element = document.getElementById(elementId)\n if (element) {\n const top = (element as any).offsetTop\n window.scrollTo(0, top)\n }\n}\n\nfunction roundResults(value: number) {\n if (value === 0) {\n return 0\n }\n if (value < 10) {\n return value\n }\n if (value < 200) {\n return Math.round(value / 10) * 10 // if small enough, return rounded to 10\n }\n return Math.round(value / 100) * 100 // round to hundred\n}\n\nexport { validateForm, isOldInternetExplorer, scrollToElement, roundResults }\n","\n\n\n\n\n","\n\n\n\n\n","export default \"__VITE_ASSET__BYrNh9wI__\"","export default \"__VITE_ASSET__CFuh$Wly__\"","\n\n\n\n\n\n","\n\n\n\n\n","/*!\n * @kurkle/color v0.3.2\n * https://github.com/kurkle/color#readme\n * (c) 2023 Jukka Kurkela\n * Released under the MIT License\n */\nfunction round(v) {\n return v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n return lim(round(v * 2.55), 0, 255);\n}\nfunction b2p(v) {\n return lim(round(v / 2.55), 0, 100);\n}\nfunction n2b(v) {\n return lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n return lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n return lim(round(v * 100), 0, 100);\n}\n\nconst map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = [...'0123456789ABCDEF'];\nconst h1 = b => hex[b & 0xF];\nconst h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = b => ((b & 0xF0) >> 4) === (b & 0xF);\nconst isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\nfunction hexParse(str) {\n var len = str.length;\n var ret;\n if (str[0] === '#') {\n if (len === 4 || len === 5) {\n ret = {\n r: 255 & map$1[str[1]] * 17,\n g: 255 & map$1[str[2]] * 17,\n b: 255 & map$1[str[3]] * 17,\n a: len === 5 ? map$1[str[4]] * 17 : 255\n };\n } else if (len === 7 || len === 9) {\n ret = {\n r: map$1[str[1]] << 4 | map$1[str[2]],\n g: map$1[str[3]] << 4 | map$1[str[4]],\n b: map$1[str[5]] << 4 | map$1[str[6]],\n a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255\n };\n }\n }\n return ret;\n}\nconst alpha = (a, f) => a < 255 ? f(a) : '';\nfunction hexString(v) {\n var f = isShort(v) ? h1 : h2;\n return v\n ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f)\n : undefined;\n}\n\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n return [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n const rgb = hsl2rgbn(h, 1, 0.5);\n let i;\n if (w + b > 1) {\n i = 1 / (w + b);\n w *= i;\n b *= i;\n }\n for (i = 0; i < 3; i++) {\n rgb[i] *= 1 - w - b;\n rgb[i] += w;\n }\n return rgb;\n}\nfunction hueValue(r, g, b, d, max) {\n if (r === max) {\n return ((g - b) / d) + (g < b ? 6 : 0);\n }\n if (g === max) {\n return (b - r) / d + 2;\n }\n return (r - g) / d + 4;\n}\nfunction rgb2hsl(v) {\n const range = 255;\n const r = v.r / range;\n const g = v.g / range;\n const b = v.b / range;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n let h, s, d;\n if (max !== min) {\n d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n h = hueValue(r, g, b, d, max);\n h = h * 60 + 0.5;\n }\n return [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n return (\n Array.isArray(a)\n ? f(a[0], a[1], a[2])\n : f(a, b, c)\n ).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n return calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n return calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n return calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n return (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n const m = HUE_RE.exec(str);\n let a = 255;\n let v;\n if (!m) {\n return;\n }\n if (m[5] !== v) {\n a = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n }\n const h = hue(+m[2]);\n const p1 = +m[3] / 100;\n const p2 = +m[4] / 100;\n if (m[1] === 'hwb') {\n v = hwb2rgb(h, p1, p2);\n } else if (m[1] === 'hsv') {\n v = hsv2rgb(h, p1, p2);\n } else {\n v = hsl2rgb(h, p1, p2);\n }\n return {\n r: v[0],\n g: v[1],\n b: v[2],\n a: a\n };\n}\nfunction rotate(v, deg) {\n var h = rgb2hsl(v);\n h[0] = hue(h[0] + deg);\n h = hsl2rgb(h);\n v.r = h[0];\n v.g = h[1];\n v.b = h[2];\n}\nfunction hslString(v) {\n if (!v) {\n return;\n }\n const a = rgb2hsl(v);\n const h = a[0];\n const s = n2p(a[1]);\n const l = n2p(a[2]);\n return v.a < 255\n ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n : `hsl(${h}, ${s}%, ${l}%)`;\n}\n\nconst map = {\n x: 'dark',\n Z: 'light',\n Y: 're',\n X: 'blu',\n W: 'gr',\n V: 'medium',\n U: 'slate',\n A: 'ee',\n T: 'ol',\n S: 'or',\n B: 'ra',\n C: 'lateg',\n D: 'ights',\n R: 'in',\n Q: 'turquois',\n E: 'hi',\n P: 'ro',\n O: 'al',\n N: 'le',\n M: 'de',\n L: 'yello',\n F: 'en',\n K: 'ch',\n G: 'arks',\n H: 'ea',\n I: 'ightg',\n J: 'wh'\n};\nconst names$1 = {\n OiceXe: 'f0f8ff',\n antiquewEte: 'faebd7',\n aqua: 'ffff',\n aquamarRe: '7fffd4',\n azuY: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '0',\n blanKedOmond: 'ffebcd',\n Xe: 'ff',\n XeviTet: '8a2be2',\n bPwn: 'a52a2a',\n burlywood: 'deb887',\n caMtXe: '5f9ea0',\n KartYuse: '7fff00',\n KocTate: 'd2691e',\n cSO: 'ff7f50',\n cSnflowerXe: '6495ed',\n cSnsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: 'ffff',\n xXe: '8b',\n xcyan: '8b8b',\n xgTMnPd: 'b8860b',\n xWay: 'a9a9a9',\n xgYF: '6400',\n xgYy: 'a9a9a9',\n xkhaki: 'bdb76b',\n xmagFta: '8b008b',\n xTivegYF: '556b2f',\n xSange: 'ff8c00',\n xScEd: '9932cc',\n xYd: '8b0000',\n xsOmon: 'e9967a',\n xsHgYF: '8fbc8f',\n xUXe: '483d8b',\n xUWay: '2f4f4f',\n xUgYy: '2f4f4f',\n xQe: 'ced1',\n xviTet: '9400d3',\n dAppRk: 'ff1493',\n dApskyXe: 'bfff',\n dimWay: '696969',\n dimgYy: '696969',\n dodgerXe: '1e90ff',\n fiYbrick: 'b22222',\n flSOwEte: 'fffaf0',\n foYstWAn: '228b22',\n fuKsia: 'ff00ff',\n gaRsbSo: 'dcdcdc',\n ghostwEte: 'f8f8ff',\n gTd: 'ffd700',\n gTMnPd: 'daa520',\n Way: '808080',\n gYF: '8000',\n gYFLw: 'adff2f',\n gYy: '808080',\n honeyMw: 'f0fff0',\n hotpRk: 'ff69b4',\n RdianYd: 'cd5c5c',\n Rdigo: '4b0082',\n ivSy: 'fffff0',\n khaki: 'f0e68c',\n lavFMr: 'e6e6fa',\n lavFMrXsh: 'fff0f5',\n lawngYF: '7cfc00',\n NmoncEffon: 'fffacd',\n ZXe: 'add8e6',\n ZcSO: 'f08080',\n Zcyan: 'e0ffff',\n ZgTMnPdLw: 'fafad2',\n ZWay: 'd3d3d3',\n ZgYF: '90ee90',\n ZgYy: 'd3d3d3',\n ZpRk: 'ffb6c1',\n ZsOmon: 'ffa07a',\n ZsHgYF: '20b2aa',\n ZskyXe: '87cefa',\n ZUWay: '778899',\n ZUgYy: '778899',\n ZstAlXe: 'b0c4de',\n ZLw: 'ffffe0',\n lime: 'ff00',\n limegYF: '32cd32',\n lRF: 'faf0e6',\n magFta: 'ff00ff',\n maPon: '800000',\n VaquamarRe: '66cdaa',\n VXe: 'cd',\n VScEd: 'ba55d3',\n VpurpN: '9370db',\n VsHgYF: '3cb371',\n VUXe: '7b68ee',\n VsprRggYF: 'fa9a',\n VQe: '48d1cc',\n VviTetYd: 'c71585',\n midnightXe: '191970',\n mRtcYam: 'f5fffa',\n mistyPse: 'ffe4e1',\n moccasR: 'ffe4b5',\n navajowEte: 'ffdead',\n navy: '80',\n Tdlace: 'fdf5e6',\n Tive: '808000',\n TivedBb: '6b8e23',\n Sange: 'ffa500',\n SangeYd: 'ff4500',\n ScEd: 'da70d6',\n pOegTMnPd: 'eee8aa',\n pOegYF: '98fb98',\n pOeQe: 'afeeee',\n pOeviTetYd: 'db7093',\n papayawEp: 'ffefd5',\n pHKpuff: 'ffdab9',\n peru: 'cd853f',\n pRk: 'ffc0cb',\n plum: 'dda0dd',\n powMrXe: 'b0e0e6',\n purpN: '800080',\n YbeccapurpN: '663399',\n Yd: 'ff0000',\n Psybrown: 'bc8f8f',\n PyOXe: '4169e1',\n saddNbPwn: '8b4513',\n sOmon: 'fa8072',\n sandybPwn: 'f4a460',\n sHgYF: '2e8b57',\n sHshell: 'fff5ee',\n siFna: 'a0522d',\n silver: 'c0c0c0',\n skyXe: '87ceeb',\n UXe: '6a5acd',\n UWay: '708090',\n UgYy: '708090',\n snow: 'fffafa',\n sprRggYF: 'ff7f',\n stAlXe: '4682b4',\n tan: 'd2b48c',\n teO: '8080',\n tEstN: 'd8bfd8',\n tomato: 'ff6347',\n Qe: '40e0d0',\n viTet: 'ee82ee',\n JHt: 'f5deb3',\n wEte: 'ffffff',\n wEtesmoke: 'f5f5f5',\n Lw: 'ffff00',\n LwgYF: '9acd32'\n};\nfunction unpack() {\n const unpacked = {};\n const keys = Object.keys(names$1);\n const tkeys = Object.keys(map);\n let i, j, k, ok, nk;\n for (i = 0; i < keys.length; i++) {\n ok = nk = keys[i];\n for (j = 0; j < tkeys.length; j++) {\n k = tkeys[j];\n nk = nk.replace(k, map[k]);\n }\n k = parseInt(names$1[ok], 16);\n unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n }\n return unpacked;\n}\n\nlet names;\nfunction nameParse(str) {\n if (!names) {\n names = unpack();\n names.transparent = [0, 0, 0, 0];\n }\n const a = names[str.toLowerCase()];\n return a && {\n r: a[0],\n g: a[1],\n b: a[2],\n a: a.length === 4 ? a[3] : 255\n };\n}\n\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n const m = RGB_RE.exec(str);\n let a = 255;\n let r, g, b;\n if (!m) {\n return;\n }\n if (m[7] !== r) {\n const v = +m[7];\n a = m[8] ? p2b(v) : lim(v * 255, 0, 255);\n }\n r = +m[1];\n g = +m[3];\n b = +m[5];\n r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255));\n g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255));\n b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255));\n return {\n r: r,\n g: g,\n b: b,\n a: a\n };\n}\nfunction rgbString(v) {\n return v && (\n v.a < 255\n ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n : `rgb(${v.r}, ${v.g}, ${v.b})`\n );\n}\n\nconst to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055;\nconst from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\nfunction interpolate(rgb1, rgb2, t) {\n const r = from(b2n(rgb1.r));\n const g = from(b2n(rgb1.g));\n const b = from(b2n(rgb1.b));\n return {\n r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n a: rgb1.a + t * (rgb2.a - rgb1.a)\n };\n}\n\nfunction modHSL(v, i, ratio) {\n if (v) {\n let tmp = rgb2hsl(v);\n tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n tmp = hsl2rgb(tmp);\n v.r = tmp[0];\n v.g = tmp[1];\n v.b = tmp[2];\n }\n}\nfunction clone(v, proto) {\n return v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n var v = {r: 0, g: 0, b: 0, a: 255};\n if (Array.isArray(input)) {\n if (input.length >= 3) {\n v = {r: input[0], g: input[1], b: input[2], a: 255};\n if (input.length > 3) {\n v.a = n2b(input[3]);\n }\n }\n } else {\n v = clone(input, {r: 0, g: 0, b: 0, a: 1});\n v.a = n2b(v.a);\n }\n return v;\n}\nfunction functionParse(str) {\n if (str.charAt(0) === 'r') {\n return rgbParse(str);\n }\n return hueParse(str);\n}\nclass Color {\n constructor(input) {\n if (input instanceof Color) {\n return input;\n }\n const type = typeof input;\n let v;\n if (type === 'object') {\n v = fromObject(input);\n } else if (type === 'string') {\n v = hexParse(input) || nameParse(input) || functionParse(input);\n }\n this._rgb = v;\n this._valid = !!v;\n }\n get valid() {\n return this._valid;\n }\n get rgb() {\n var v = clone(this._rgb);\n if (v) {\n v.a = b2n(v.a);\n }\n return v;\n }\n set rgb(obj) {\n this._rgb = fromObject(obj);\n }\n rgbString() {\n return this._valid ? rgbString(this._rgb) : undefined;\n }\n hexString() {\n return this._valid ? hexString(this._rgb) : undefined;\n }\n hslString() {\n return this._valid ? hslString(this._rgb) : undefined;\n }\n mix(color, weight) {\n if (color) {\n const c1 = this.rgb;\n const c2 = color.rgb;\n let w2;\n const p = weight === w2 ? 0.5 : weight;\n const w = 2 * p - 1;\n const a = c1.a - c2.a;\n const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n w2 = 1 - w1;\n c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n c1.a = p * c1.a + (1 - p) * c2.a;\n this.rgb = c1;\n }\n return this;\n }\n interpolate(color, t) {\n if (color) {\n this._rgb = interpolate(this._rgb, color._rgb, t);\n }\n return this;\n }\n clone() {\n return new Color(this.rgb);\n }\n alpha(a) {\n this._rgb.a = n2b(a);\n return this;\n }\n clearer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 - ratio;\n return this;\n }\n greyscale() {\n const rgb = this._rgb;\n const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n rgb.r = rgb.g = rgb.b = val;\n return this;\n }\n opaquer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 + ratio;\n return this;\n }\n negate() {\n const v = this._rgb;\n v.r = 255 - v.r;\n v.g = 255 - v.g;\n v.b = 255 - v.b;\n return this;\n }\n lighten(ratio) {\n modHSL(this._rgb, 2, ratio);\n return this;\n }\n darken(ratio) {\n modHSL(this._rgb, 2, -ratio);\n return this;\n }\n saturate(ratio) {\n modHSL(this._rgb, 1, ratio);\n return this;\n }\n desaturate(ratio) {\n modHSL(this._rgb, 1, -ratio);\n return this;\n }\n rotate(deg) {\n rotate(this._rgb, deg);\n return this;\n }\n}\n\nfunction index_esm(input) {\n return new Color(input);\n}\n\nexport { Color, b2n, b2p, index_esm as default, hexParse, hexString, hsl2rgb, hslString, hsv2rgb, hueParse, hwb2rgb, lim, n2b, n2p, nameParse, p2b, rgb2hsl, rgbParse, rgbString, rotate, round };\n","/*!\n * Chart.js v4.4.4\n * https://www.chartjs.org\n * (c) 2024 Chart.js Contributors\n * Released under the MIT License\n */\nimport { Color } from '@kurkle/color';\n\n/**\n * @namespace Chart.helpers\n */ /**\n * An empty function that can be used, for example, for optional callback.\n */ function noop() {\n/* noop */ }\n/**\n * Returns a unique id, sequentially generated from a global variable.\n */ const uid = (()=>{\n let id = 0;\n return ()=>id++;\n})();\n/**\n * Returns true if `value` is neither null nor undefined, else returns false.\n * @param value - The value to test.\n * @since 2.7.0\n */ function isNullOrUndef(value) {\n return value === null || typeof value === 'undefined';\n}\n/**\n * Returns true if `value` is an array (including typed arrays), else returns false.\n * @param value - The value to test.\n * @function\n */ function isArray(value) {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n const type = Object.prototype.toString.call(value);\n if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') {\n return true;\n }\n return false;\n}\n/**\n * Returns true if `value` is an object (excluding null), else returns false.\n * @param value - The value to test.\n * @since 2.7.0\n */ function isObject(value) {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\n/**\n * Returns true if `value` is a finite number, else returns false\n * @param value - The value to test.\n */ function isNumberFinite(value) {\n return (typeof value === 'number' || value instanceof Number) && isFinite(+value);\n}\n/**\n * Returns `value` if finite, else returns `defaultValue`.\n * @param value - The value to return if defined.\n * @param defaultValue - The value to return if `value` is not finite.\n */ function finiteOrDefault(value, defaultValue) {\n return isNumberFinite(value) ? value : defaultValue;\n}\n/**\n * Returns `value` if defined, else returns `defaultValue`.\n * @param value - The value to return if defined.\n * @param defaultValue - The value to return if `value` is undefined.\n */ function valueOrDefault(value, defaultValue) {\n return typeof value === 'undefined' ? defaultValue : value;\n}\nconst toPercentage = (value, dimension)=>typeof value === 'string' && value.endsWith('%') ? parseFloat(value) / 100 : +value / dimension;\nconst toDimension = (value, dimension)=>typeof value === 'string' && value.endsWith('%') ? parseFloat(value) / 100 * dimension : +value;\n/**\n * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\n * value returned by `fn`. If `fn` is not a function, this method returns undefined.\n * @param fn - The function to call.\n * @param args - The arguments with which `fn` should be called.\n * @param [thisArg] - The value of `this` provided for the call to `fn`.\n */ function callback(fn, args, thisArg) {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n}\nfunction each(loopable, fn, thisArg, reverse) {\n let i, len, keys;\n if (isArray(loopable)) {\n len = loopable.length;\n if (reverse) {\n for(i = len - 1; i >= 0; i--){\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for(i = 0; i < len; i++){\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n for(i = 0; i < len; i++){\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n}\n/**\n * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\n * @param a0 - The array to compare\n * @param a1 - The array to compare\n * @private\n */ function _elementsEqual(a0, a1) {\n let i, ilen, v0, v1;\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n for(i = 0, ilen = a0.length; i < ilen; ++i){\n v0 = a0[i];\n v1 = a1[i];\n if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n return false;\n }\n }\n return true;\n}\n/**\n * Returns a deep copy of `source` without keeping references on objects and arrays.\n * @param source - The value to clone.\n */ function clone(source) {\n if (isArray(source)) {\n return source.map(clone);\n }\n if (isObject(source)) {\n const target = Object.create(null);\n const keys = Object.keys(source);\n const klen = keys.length;\n let k = 0;\n for(; k < klen; ++k){\n target[keys[k]] = clone(source[keys[k]]);\n }\n return target;\n }\n return source;\n}\nfunction isValidKey(key) {\n return [\n '__proto__',\n 'prototype',\n 'constructor'\n ].indexOf(key) === -1;\n}\n/**\n * The default merger when Chart.helpers.merge is called without merger option.\n * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.\n * @private\n */ function _merger(key, target, source, options) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n merge(tval, sval, options);\n } else {\n target[key] = clone(sval);\n }\n}\nfunction merge(target, source, options) {\n const sources = isArray(source) ? source : [\n source\n ];\n const ilen = sources.length;\n if (!isObject(target)) {\n return target;\n }\n options = options || {};\n const merger = options.merger || _merger;\n let current;\n for(let i = 0; i < ilen; ++i){\n current = sources[i];\n if (!isObject(current)) {\n continue;\n }\n const keys = Object.keys(current);\n for(let k = 0, klen = keys.length; k < klen; ++k){\n merger(keys[k], target, current, options);\n }\n }\n return target;\n}\nfunction mergeIf(target, source) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return merge(target, source, {\n merger: _mergerIf\n });\n}\n/**\n * Merges source[key] in target[key] only if target[key] is undefined.\n * @private\n */ function _mergerIf(key, target, source) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n mergeIf(tval, sval);\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = clone(sval);\n }\n}\n/**\n * @private\n */ function _deprecated(scope, value, previous, current) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous + '\" is deprecated. Please use \"' + current + '\" instead');\n }\n}\n// resolveObjectKey resolver cache\nconst keyResolvers = {\n // Chart.helpers.core resolveObjectKey should resolve empty key to root object\n '': (v)=>v,\n // default resolvers\n x: (o)=>o.x,\n y: (o)=>o.y\n};\n/**\n * @private\n */ function _splitKey(key) {\n const parts = key.split('.');\n const keys = [];\n let tmp = '';\n for (const part of parts){\n tmp += part;\n if (tmp.endsWith('\\\\')) {\n tmp = tmp.slice(0, -1) + '.';\n } else {\n keys.push(tmp);\n tmp = '';\n }\n }\n return keys;\n}\nfunction _getKeyResolver(key) {\n const keys = _splitKey(key);\n return (obj)=>{\n for (const k of keys){\n if (k === '') {\n break;\n }\n obj = obj && obj[k];\n }\n return obj;\n };\n}\nfunction resolveObjectKey(obj, key) {\n const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key));\n return resolver(obj);\n}\n/**\n * @private\n */ function _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nconst defined = (value)=>typeof value !== 'undefined';\nconst isFunction = (value)=>typeof value === 'function';\n// Adapted from https://stackoverflow.com/questions/31128855/comparing-ecma6-sets-for-equality#31129384\nconst setsEqual = (a, b)=>{\n if (a.size !== b.size) {\n return false;\n }\n for (const item of a){\n if (!b.has(item)) {\n return false;\n }\n }\n return true;\n};\n/**\n * @param e - The event\n * @private\n */ function _isClickEvent(e) {\n return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n\n/**\n * @alias Chart.helpers.math\n * @namespace\n */ const PI = Math.PI;\nconst TAU = 2 * PI;\nconst PITAU = TAU + PI;\nconst INFINITY = Number.POSITIVE_INFINITY;\nconst RAD_PER_DEG = PI / 180;\nconst HALF_PI = PI / 2;\nconst QUARTER_PI = PI / 4;\nconst TWO_THIRDS_PI = PI * 2 / 3;\nconst log10 = Math.log10;\nconst sign = Math.sign;\nfunction almostEquals(x, y, epsilon) {\n return Math.abs(x - y) < epsilon;\n}\n/**\n * Implementation of the nice number algorithm used in determining where axis labels will go\n */ function niceNum(range) {\n const roundedRange = Math.round(range);\n range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n const niceRange = Math.pow(10, Math.floor(log10(range)));\n const fraction = range / niceRange;\n const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n return niceFraction * niceRange;\n}\n/**\n * Returns an array of factors sorted from 1 to sqrt(value)\n * @private\n */ function _factorize(value) {\n const result = [];\n const sqrt = Math.sqrt(value);\n let i;\n for(i = 1; i < sqrt; i++){\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n if (sqrt === (sqrt | 0)) {\n result.push(sqrt);\n }\n result.sort((a, b)=>a - b).pop();\n return result;\n}\nfunction isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\nfunction almostWhole(x, epsilon) {\n const rounded = Math.round(x);\n return rounded - epsilon <= x && rounded + epsilon >= x;\n}\n/**\n * @private\n */ function _setMinAndMaxByKey(array, target, property) {\n let i, ilen, value;\n for(i = 0, ilen = array.length; i < ilen; i++){\n value = array[i][property];\n if (!isNaN(value)) {\n target.min = Math.min(target.min, value);\n target.max = Math.max(target.max, value);\n }\n }\n}\nfunction toRadians(degrees) {\n return degrees * (PI / 180);\n}\nfunction toDegrees(radians) {\n return radians * (180 / PI);\n}\n/**\n * Returns the number of decimal places\n * i.e. the number of digits after the decimal point, of the value of this Number.\n * @param x - A number.\n * @returns The number of decimal places.\n * @private\n */ function _decimalPlaces(x) {\n if (!isNumberFinite(x)) {\n return;\n }\n let e = 1;\n let p = 0;\n while(Math.round(x * e) / e !== x){\n e *= 10;\n p++;\n }\n return p;\n}\n// Gets the angle from vertical upright to the point about a centre.\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n const distanceFromXCenter = anglePoint.x - centrePoint.x;\n const distanceFromYCenter = anglePoint.y - centrePoint.y;\n const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n if (angle < -0.5 * PI) {\n angle += TAU; // make sure the returned angle is in the range of (-PI/2, 3PI/2]\n }\n return {\n angle,\n distance: radialDistanceFromCenter\n };\n}\nfunction distanceBetweenPoints(pt1, pt2) {\n return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\n/**\n * Shortest distance between angles, in either direction.\n * @private\n */ function _angleDiff(a, b) {\n return (a - b + PITAU) % TAU - PI;\n}\n/**\n * Normalize angle to be between 0 and 2*PI\n * @private\n */ function _normalizeAngle(a) {\n return (a % TAU + TAU) % TAU;\n}\n/**\n * @private\n */ function _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n const a = _normalizeAngle(angle);\n const s = _normalizeAngle(start);\n const e = _normalizeAngle(end);\n const angleToStart = _normalizeAngle(s - a);\n const angleToEnd = _normalizeAngle(e - a);\n const startToAngle = _normalizeAngle(a - s);\n const endToAngle = _normalizeAngle(a - e);\n return a === s || a === e || sameAngleIsFullCircle && s === e || angleToStart > angleToEnd && startToAngle < endToAngle;\n}\n/**\n * Limit `value` between `min` and `max`\n * @param value\n * @param min\n * @param max\n * @private\n */ function _limitValue(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\n/**\n * @param {number} value\n * @private\n */ function _int16Range(value) {\n return _limitValue(value, -32768, 32767);\n}\n/**\n * @param value\n * @param start\n * @param end\n * @param [epsilon]\n * @private\n */ function _isBetween(value, start, end, epsilon = 1e-6) {\n return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n\nfunction _lookup(table, value, cmp) {\n cmp = cmp || ((index)=>table[index] < value);\n let hi = table.length - 1;\n let lo = 0;\n let mid;\n while(hi - lo > 1){\n mid = lo + hi >> 1;\n if (cmp(mid)) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return {\n lo,\n hi\n };\n}\n/**\n * Binary search\n * @param table - the table search. must be sorted!\n * @param key - property name for the value in each entry\n * @param value - value to find\n * @param last - lookup last index\n * @private\n */ const _lookupByKey = (table, key, value, last)=>_lookup(table, value, last ? (index)=>{\n const ti = table[index][key];\n return ti < value || ti === value && table[index + 1][key] === value;\n } : (index)=>table[index][key] < value);\n/**\n * Reverse binary search\n * @param table - the table search. must be sorted!\n * @param key - property name for the value in each entry\n * @param value - value to find\n * @private\n */ const _rlookupByKey = (table, key, value)=>_lookup(table, value, (index)=>table[index][key] >= value);\n/**\n * Return subset of `values` between `min` and `max` inclusive.\n * Values are assumed to be in sorted order.\n * @param values - sorted array of values\n * @param min - min value\n * @param max - max value\n */ function _filterBetween(values, min, max) {\n let start = 0;\n let end = values.length;\n while(start < end && values[start] < min){\n start++;\n }\n while(end > start && values[end - 1] > max){\n end--;\n }\n return start > 0 || end < values.length ? values.slice(start, end) : values;\n}\nconst arrayEvents = [\n 'push',\n 'pop',\n 'shift',\n 'splice',\n 'unshift'\n];\nfunction listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n return;\n }\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [\n listener\n ]\n }\n });\n arrayEvents.forEach((key)=>{\n const method = '_onData' + _capitalize(key);\n const base = array[key];\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value (...args) {\n const res = base.apply(this, args);\n array._chartjs.listeners.forEach((object)=>{\n if (typeof object[method] === 'function') {\n object[method](...args);\n }\n });\n return res;\n }\n });\n });\n}\nfunction unlistenArrayEvents(array, listener) {\n const stub = array._chartjs;\n if (!stub) {\n return;\n }\n const listeners = stub.listeners;\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n if (listeners.length > 0) {\n return;\n }\n arrayEvents.forEach((key)=>{\n delete array[key];\n });\n delete array._chartjs;\n}\n/**\n * @param items\n */ function _arrayUnique(items) {\n const set = new Set(items);\n if (set.size === items.length) {\n return items;\n }\n return Array.from(set);\n}\n\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\n/**\n* Request animation polyfill\n*/ const requestAnimFrame = function() {\n if (typeof window === 'undefined') {\n return function(callback) {\n return callback();\n };\n }\n return window.requestAnimationFrame;\n}();\n/**\n * Throttles calling `fn` once per animation frame\n * Latest arguments are used on the actual call\n */ function throttled(fn, thisArg) {\n let argsToUse = [];\n let ticking = false;\n return function(...args) {\n // Save the args for use later\n argsToUse = args;\n if (!ticking) {\n ticking = true;\n requestAnimFrame.call(window, ()=>{\n ticking = false;\n fn.apply(thisArg, argsToUse);\n });\n }\n };\n}\n/**\n * Debounces calling `fn` for `delay` ms\n */ function debounce(fn, delay) {\n let timeout;\n return function(...args) {\n if (delay) {\n clearTimeout(timeout);\n timeout = setTimeout(fn, delay, args);\n } else {\n fn.apply(this, args);\n }\n return delay;\n };\n}\n/**\n * Converts 'start' to 'left', 'end' to 'right' and others to 'center'\n * @private\n */ const _toLeftRightCenter = (align)=>align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\n/**\n * Returns `start`, `end` or `(start + end) / 2` depending on `align`. Defaults to `center`\n * @private\n */ const _alignStartEnd = (align, start, end)=>align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\n/**\n * Returns `left`, `right` or `(left + right) / 2` depending on `align`. Defaults to `left`\n * @private\n */ const _textX = (align, left, right, rtl)=>{\n const check = rtl ? 'left' : 'right';\n return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\n/**\n * Return start and count of visible points.\n * @private\n */ function _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n const pointCount = points.length;\n let start = 0;\n let count = pointCount;\n if (meta._sorted) {\n const { iScale , _parsed } = meta;\n const axis = iScale.axis;\n const { min , max , minDefined , maxDefined } = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(Math.min(// @ts-expect-error Need to type _parsed\n _lookupByKey(_parsed, axis, min).lo, // @ts-expect-error Need to fix types on _lookupByKey\n animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo), 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(Math.max(// @ts-expect-error Need to type _parsed\n _lookupByKey(_parsed, iScale.axis, max, true).hi + 1, // @ts-expect-error Need to fix types on _lookupByKey\n animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1), start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n }\n return {\n start,\n count\n };\n}\n/**\n * Checks if the scale ranges have changed.\n * @param {object} meta - dataset meta.\n * @returns {boolean}\n * @private\n */ function _scaleRangesChanged(meta) {\n const { xScale , yScale , _scaleRanges } = meta;\n const newRanges = {\n xmin: xScale.min,\n xmax: xScale.max,\n ymin: yScale.min,\n ymax: yScale.max\n };\n if (!_scaleRanges) {\n meta._scaleRanges = newRanges;\n return true;\n }\n const changed = _scaleRanges.xmin !== xScale.min || _scaleRanges.xmax !== xScale.max || _scaleRanges.ymin !== yScale.min || _scaleRanges.ymax !== yScale.max;\n Object.assign(_scaleRanges, newRanges);\n return changed;\n}\n\nconst atEdge = (t)=>t === 0 || t === 1;\nconst elasticIn = (t, s, p)=>-(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t, s, p)=>Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\n/**\n * Easing functions adapted from Robert Penner's easing equations.\n * @namespace Chart.helpers.easing.effects\n * @see http://www.robertpenner.com/easing/\n */ const effects = {\n linear: (t)=>t,\n easeInQuad: (t)=>t * t,\n easeOutQuad: (t)=>-t * (t - 2),\n easeInOutQuad: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t : -0.5 * (--t * (t - 2) - 1),\n easeInCubic: (t)=>t * t * t,\n easeOutCubic: (t)=>(t -= 1) * t * t + 1,\n easeInOutCubic: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t : 0.5 * ((t -= 2) * t * t + 2),\n easeInQuart: (t)=>t * t * t * t,\n easeOutQuart: (t)=>-((t -= 1) * t * t * t - 1),\n easeInOutQuart: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t * t : -0.5 * ((t -= 2) * t * t * t - 2),\n easeInQuint: (t)=>t * t * t * t * t,\n easeOutQuint: (t)=>(t -= 1) * t * t * t * t + 1,\n easeInOutQuint: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t * t * t : 0.5 * ((t -= 2) * t * t * t * t + 2),\n easeInSine: (t)=>-Math.cos(t * HALF_PI) + 1,\n easeOutSine: (t)=>Math.sin(t * HALF_PI),\n easeInOutSine: (t)=>-0.5 * (Math.cos(PI * t) - 1),\n easeInExpo: (t)=>t === 0 ? 0 : Math.pow(2, 10 * (t - 1)),\n easeOutExpo: (t)=>t === 1 ? 1 : -Math.pow(2, -10 * t) + 1,\n easeInOutExpo: (t)=>atEdge(t) ? t : t < 0.5 ? 0.5 * Math.pow(2, 10 * (t * 2 - 1)) : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n easeInCirc: (t)=>t >= 1 ? t : -(Math.sqrt(1 - t * t) - 1),\n easeOutCirc: (t)=>Math.sqrt(1 - (t -= 1) * t),\n easeInOutCirc: (t)=>(t /= 0.5) < 1 ? -0.5 * (Math.sqrt(1 - t * t) - 1) : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n easeInElastic: (t)=>atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n easeOutElastic: (t)=>atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n easeInOutElastic (t) {\n const s = 0.1125;\n const p = 0.45;\n return atEdge(t) ? t : t < 0.5 ? 0.5 * elasticIn(t * 2, s, p) : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n },\n easeInBack (t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n easeOutBack (t) {\n const s = 1.70158;\n return (t -= 1) * t * ((s + 1) * t + s) + 1;\n },\n easeInOutBack (t) {\n let s = 1.70158;\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= 1.525) + 1) * t - s));\n }\n return 0.5 * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2);\n },\n easeInBounce: (t)=>1 - effects.easeOutBounce(1 - t),\n easeOutBounce (t) {\n const m = 7.5625;\n const d = 2.75;\n if (t < 1 / d) {\n return m * t * t;\n }\n if (t < 2 / d) {\n return m * (t -= 1.5 / d) * t + 0.75;\n }\n if (t < 2.5 / d) {\n return m * (t -= 2.25 / d) * t + 0.9375;\n }\n return m * (t -= 2.625 / d) * t + 0.984375;\n },\n easeInOutBounce: (t)=>t < 0.5 ? effects.easeInBounce(t * 2) * 0.5 : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5\n};\n\nfunction isPatternOrGradient(value) {\n if (value && typeof value === 'object') {\n const type = value.toString();\n return type === '[object CanvasPattern]' || type === '[object CanvasGradient]';\n }\n return false;\n}\nfunction color(value) {\n return isPatternOrGradient(value) ? value : new Color(value);\n}\nfunction getHoverColor(value) {\n return isPatternOrGradient(value) ? value : new Color(value).saturate(0.5).darken(0.1).hexString();\n}\n\nconst numbers = [\n 'x',\n 'y',\n 'borderWidth',\n 'radius',\n 'tension'\n];\nconst colors = [\n 'color',\n 'borderColor',\n 'backgroundColor'\n];\nfunction applyAnimationsDefaults(defaults) {\n defaults.set('animation', {\n delay: undefined,\n duration: 1000,\n easing: 'easeOutQuart',\n fn: undefined,\n from: undefined,\n loop: undefined,\n to: undefined,\n type: undefined\n });\n defaults.describe('animation', {\n _fallback: false,\n _indexable: false,\n _scriptable: (name)=>name !== 'onProgress' && name !== 'onComplete' && name !== 'fn'\n });\n defaults.set('animations', {\n colors: {\n type: 'color',\n properties: colors\n },\n numbers: {\n type: 'number',\n properties: numbers\n }\n });\n defaults.describe('animations', {\n _fallback: 'animation'\n });\n defaults.set('transitions', {\n active: {\n animation: {\n duration: 400\n }\n },\n resize: {\n animation: {\n duration: 0\n }\n },\n show: {\n animations: {\n colors: {\n from: 'transparent'\n },\n visible: {\n type: 'boolean',\n duration: 0\n }\n }\n },\n hide: {\n animations: {\n colors: {\n to: 'transparent'\n },\n visible: {\n type: 'boolean',\n easing: 'linear',\n fn: (v)=>v | 0\n }\n }\n }\n });\n}\n\nfunction applyLayoutsDefaults(defaults) {\n defaults.set('layout', {\n autoPadding: true,\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n });\n}\n\nconst intlCache = new Map();\nfunction getNumberFormat(locale, options) {\n options = options || {};\n const cacheKey = locale + JSON.stringify(options);\n let formatter = intlCache.get(cacheKey);\n if (!formatter) {\n formatter = new Intl.NumberFormat(locale, options);\n intlCache.set(cacheKey, formatter);\n }\n return formatter;\n}\nfunction formatNumber(num, locale, options) {\n return getNumberFormat(locale, options).format(num);\n}\n\nconst formatters = {\n values (value) {\n return isArray(value) ? value : '' + value;\n },\n numeric (tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const locale = this.chart.options.locale;\n let notation;\n let delta = tickValue;\n if (ticks.length > 1) {\n const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n if (maxTick < 1e-4 || maxTick > 1e+15) {\n notation = 'scientific';\n }\n delta = calculateDelta(tickValue, ticks);\n }\n const logDelta = log10(Math.abs(delta));\n const numDecimal = isNaN(logDelta) ? 1 : Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n const options = {\n notation,\n minimumFractionDigits: numDecimal,\n maximumFractionDigits: numDecimal\n };\n Object.assign(options, this.options.ticks.format);\n return formatNumber(tickValue, locale, options);\n },\n logarithmic (tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const remain = ticks[index].significand || tickValue / Math.pow(10, Math.floor(log10(tickValue)));\n if ([\n 1,\n 2,\n 3,\n 5,\n 10,\n 15\n ].includes(remain) || index > 0.8 * ticks.length) {\n return formatters.numeric.call(this, tickValue, index, ticks);\n }\n return '';\n }\n};\nfunction calculateDelta(tickValue, ticks) {\n let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n delta = tickValue - Math.floor(tickValue);\n }\n return delta;\n}\n var Ticks = {\n formatters\n};\n\nfunction applyScaleDefaults(defaults) {\n defaults.set('scale', {\n display: true,\n offset: false,\n reverse: false,\n beginAtZero: false,\n bounds: 'ticks',\n clip: true,\n grace: 0,\n grid: {\n display: true,\n lineWidth: 1,\n drawOnChartArea: true,\n drawTicks: true,\n tickLength: 8,\n tickWidth: (_ctx, options)=>options.lineWidth,\n tickColor: (_ctx, options)=>options.color,\n offset: false\n },\n border: {\n display: true,\n dash: [],\n dashOffset: 0.0,\n width: 1\n },\n title: {\n display: false,\n text: '',\n padding: {\n top: 4,\n bottom: 4\n }\n },\n ticks: {\n minRotation: 0,\n maxRotation: 50,\n mirror: false,\n textStrokeWidth: 0,\n textStrokeColor: '',\n padding: 3,\n display: true,\n autoSkip: true,\n autoSkipPadding: 3,\n labelOffset: 0,\n callback: Ticks.formatters.values,\n minor: {},\n major: {},\n align: 'center',\n crossAlign: 'near',\n showLabelBackdrop: false,\n backdropColor: 'rgba(255, 255, 255, 0.75)',\n backdropPadding: 2\n }\n });\n defaults.route('scale.ticks', 'color', '', 'color');\n defaults.route('scale.grid', 'color', '', 'borderColor');\n defaults.route('scale.border', 'color', '', 'borderColor');\n defaults.route('scale.title', 'color', '', 'color');\n defaults.describe('scale', {\n _fallback: false,\n _scriptable: (name)=>!name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n _indexable: (name)=>name !== 'borderDash' && name !== 'tickBorderDash' && name !== 'dash'\n });\n defaults.describe('scales', {\n _fallback: 'scale'\n });\n defaults.describe('scale.ticks', {\n _scriptable: (name)=>name !== 'backdropPadding' && name !== 'callback',\n _indexable: (name)=>name !== 'backdropPadding'\n });\n}\n\nconst overrides = Object.create(null);\nconst descriptors = Object.create(null);\n function getScope$1(node, key) {\n if (!key) {\n return node;\n }\n const keys = key.split('.');\n for(let i = 0, n = keys.length; i < n; ++i){\n const k = keys[i];\n node = node[k] || (node[k] = Object.create(null));\n }\n return node;\n}\nfunction set(root, scope, values) {\n if (typeof scope === 'string') {\n return merge(getScope$1(root, scope), values);\n }\n return merge(getScope$1(root, ''), scope);\n}\n class Defaults {\n constructor(_descriptors, _appliers){\n this.animation = undefined;\n this.backgroundColor = 'rgba(0,0,0,0.1)';\n this.borderColor = 'rgba(0,0,0,0.1)';\n this.color = '#666';\n this.datasets = {};\n this.devicePixelRatio = (context)=>context.chart.platform.getDevicePixelRatio();\n this.elements = {};\n this.events = [\n 'mousemove',\n 'mouseout',\n 'click',\n 'touchstart',\n 'touchmove'\n ];\n this.font = {\n family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n size: 12,\n style: 'normal',\n lineHeight: 1.2,\n weight: null\n };\n this.hover = {};\n this.hoverBackgroundColor = (ctx, options)=>getHoverColor(options.backgroundColor);\n this.hoverBorderColor = (ctx, options)=>getHoverColor(options.borderColor);\n this.hoverColor = (ctx, options)=>getHoverColor(options.color);\n this.indexAxis = 'x';\n this.interaction = {\n mode: 'nearest',\n intersect: true,\n includeInvisible: false\n };\n this.maintainAspectRatio = true;\n this.onHover = null;\n this.onClick = null;\n this.parsing = true;\n this.plugins = {};\n this.responsive = true;\n this.scale = undefined;\n this.scales = {};\n this.showLine = true;\n this.drawActiveElementsOnTop = true;\n this.describe(_descriptors);\n this.apply(_appliers);\n }\n set(scope, values) {\n return set(this, scope, values);\n }\n get(scope) {\n return getScope$1(this, scope);\n }\n describe(scope, values) {\n return set(descriptors, scope, values);\n }\n override(scope, values) {\n return set(overrides, scope, values);\n }\n route(scope, name, targetScope, targetName) {\n const scopeObject = getScope$1(this, scope);\n const targetScopeObject = getScope$1(this, targetScope);\n const privateName = '_' + name;\n Object.defineProperties(scopeObject, {\n [privateName]: {\n value: scopeObject[name],\n writable: true\n },\n [name]: {\n enumerable: true,\n get () {\n const local = this[privateName];\n const target = targetScopeObject[targetName];\n if (isObject(local)) {\n return Object.assign({}, target, local);\n }\n return valueOrDefault(local, target);\n },\n set (value) {\n this[privateName] = value;\n }\n }\n });\n }\n apply(appliers) {\n appliers.forEach((apply)=>apply(this));\n }\n}\nvar defaults = /* #__PURE__ */ new Defaults({\n _scriptable: (name)=>!name.startsWith('on'),\n _indexable: (name)=>name !== 'events',\n hover: {\n _fallback: 'interaction'\n },\n interaction: {\n _scriptable: false,\n _indexable: false\n }\n}, [\n applyAnimationsDefaults,\n applyLayoutsDefaults,\n applyScaleDefaults\n]);\n\n/**\n * Converts the given font object into a CSS font string.\n * @param font - A font object.\n * @return The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font\n * @private\n */ function toFontString(font) {\n if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n return null;\n }\n return (font.style ? font.style + ' ' : '') + (font.weight ? font.weight + ' ' : '') + font.size + 'px ' + font.family;\n}\n/**\n * @private\n */ function _measureText(ctx, data, gc, longest, string) {\n let textWidth = data[string];\n if (!textWidth) {\n textWidth = data[string] = ctx.measureText(string).width;\n gc.push(string);\n }\n if (textWidth > longest) {\n longest = textWidth;\n }\n return longest;\n}\n/**\n * @private\n */ // eslint-disable-next-line complexity\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n cache = cache || {};\n let data = cache.data = cache.data || {};\n let gc = cache.garbageCollect = cache.garbageCollect || [];\n if (cache.font !== font) {\n data = cache.data = {};\n gc = cache.garbageCollect = [];\n cache.font = font;\n }\n ctx.save();\n ctx.font = font;\n let longest = 0;\n const ilen = arrayOfThings.length;\n let i, j, jlen, thing, nestedThing;\n for(i = 0; i < ilen; i++){\n thing = arrayOfThings[i];\n // Undefined strings and arrays should not be measured\n if (thing !== undefined && thing !== null && !isArray(thing)) {\n longest = _measureText(ctx, data, gc, longest, thing);\n } else if (isArray(thing)) {\n // if it is an array lets measure each element\n // to do maybe simplify this function a bit so we can do this more recursively?\n for(j = 0, jlen = thing.length; j < jlen; j++){\n nestedThing = thing[j];\n // Undefined strings and arrays should not be measured\n if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n longest = _measureText(ctx, data, gc, longest, nestedThing);\n }\n }\n }\n }\n ctx.restore();\n const gcLen = gc.length / 2;\n if (gcLen > arrayOfThings.length) {\n for(i = 0; i < gcLen; i++){\n delete data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n return longest;\n}\n/**\n * Returns the aligned pixel value to avoid anti-aliasing blur\n * @param chart - The chart instance.\n * @param pixel - A pixel value.\n * @param width - The width of the element.\n * @returns The aligned pixel value.\n * @private\n */ function _alignPixel(chart, pixel, width) {\n const devicePixelRatio = chart.currentDevicePixelRatio;\n const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\n/**\n * Clears the entire canvas.\n */ function clearCanvas(canvas, ctx) {\n if (!ctx && !canvas) {\n return;\n }\n ctx = ctx || canvas.getContext('2d');\n ctx.save();\n // canvas.width and canvas.height do not consider the canvas transform,\n // while clearRect does\n ctx.resetTransform();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n}\nfunction drawPoint(ctx, options, x, y) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n drawPointLegend(ctx, options, x, y, null);\n}\n// eslint-disable-next-line complexity\nfunction drawPointLegend(ctx, options, x, y, w) {\n let type, xOffset, yOffset, size, cornerRadius, width, xOffsetW, yOffsetW;\n const style = options.pointStyle;\n const rotation = options.rotation;\n const radius = options.radius;\n let rad = (rotation || 0) * RAD_PER_DEG;\n if (style && typeof style === 'object') {\n type = style.toString();\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n ctx.beginPath();\n switch(style){\n // Default includes circle\n default:\n if (w) {\n ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU);\n } else {\n ctx.arc(x, y, radius, 0, TAU);\n }\n ctx.closePath();\n break;\n case 'triangle':\n width = w ? w / 2 : radius;\n ctx.moveTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n // NOTE: the rounded rect implementation changed to use `arc` instead of\n // `quadraticCurveTo` since it generates better results when rect is\n // almost a circle. 0.516 (instead of 0.5) produces results with visually\n // closer proportion to the previous impl and it is inscribed in the\n // circle with `radius`. For more details, see the following PRs:\n // https://github.com/chartjs/Chart.js/issues/5597\n // https://github.com/chartjs/Chart.js/issues/5858\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n xOffsetW = Math.cos(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size);\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n yOffsetW = Math.sin(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size);\n ctx.arc(x - xOffsetW, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffsetW, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffsetW, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffsetW, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n width = w ? w / 2 : size;\n ctx.rect(x - width, y - size, 2 * width, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n /* falls through */ case 'rectRot':\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n /* falls through */ case 'cross':\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.moveTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n break;\n case 'star':\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.moveTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n rad += QUARTER_PI;\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.moveTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n break;\n case 'line':\n xOffset = w ? w / 2 : Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * (w ? w / 2 : radius), y + Math.sin(rad) * radius);\n break;\n case false:\n ctx.closePath();\n break;\n }\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n}\n/**\n * Returns true if the point is inside the rectangle\n * @param point - The point to test\n * @param area - The rectangle\n * @param margin - allowed margin\n * @private\n */ function _isPointInArea(point, area, margin) {\n margin = margin || 0.5; // margin - default is to match rounded decimals\n return !area || point && point.x > area.left - margin && point.x < area.right + margin && point.y > area.top - margin && point.y < area.bottom + margin;\n}\nfunction clipArea(ctx, area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n}\nfunction unclipArea(ctx) {\n ctx.restore();\n}\n/**\n * @private\n */ function _steppedLineTo(ctx, previous, target, flip, mode) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n if (mode === 'middle') {\n const midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, previous.y);\n ctx.lineTo(midpoint, target.y);\n } else if (mode === 'after' !== !!flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n ctx.lineTo(target.x, target.y);\n}\n/**\n * @private\n */ function _bezierCurveTo(ctx, previous, target, flip) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n ctx.bezierCurveTo(flip ? previous.cp1x : previous.cp2x, flip ? previous.cp1y : previous.cp2y, flip ? target.cp2x : target.cp1x, flip ? target.cp2y : target.cp1y, target.x, target.y);\n}\nfunction setRenderOpts(ctx, opts) {\n if (opts.translation) {\n ctx.translate(opts.translation[0], opts.translation[1]);\n }\n if (!isNullOrUndef(opts.rotation)) {\n ctx.rotate(opts.rotation);\n }\n if (opts.color) {\n ctx.fillStyle = opts.color;\n }\n if (opts.textAlign) {\n ctx.textAlign = opts.textAlign;\n }\n if (opts.textBaseline) {\n ctx.textBaseline = opts.textBaseline;\n }\n}\nfunction decorateText(ctx, x, y, line, opts) {\n if (opts.strikethrough || opts.underline) {\n /**\n * Now that IE11 support has been dropped, we can use more\n * of the TextMetrics object. The actual bounding boxes\n * are unflagged in Chrome, Firefox, Edge, and Safari so they\n * can be safely used.\n * See https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics#Browser_compatibility\n */ const metrics = ctx.measureText(line);\n const left = x - metrics.actualBoundingBoxLeft;\n const right = x + metrics.actualBoundingBoxRight;\n const top = y - metrics.actualBoundingBoxAscent;\n const bottom = y + metrics.actualBoundingBoxDescent;\n const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n ctx.strokeStyle = ctx.fillStyle;\n ctx.beginPath();\n ctx.lineWidth = opts.decorationWidth || 2;\n ctx.moveTo(left, yDecoration);\n ctx.lineTo(right, yDecoration);\n ctx.stroke();\n }\n}\nfunction drawBackdrop(ctx, opts) {\n const oldColor = ctx.fillStyle;\n ctx.fillStyle = opts.color;\n ctx.fillRect(opts.left, opts.top, opts.width, opts.height);\n ctx.fillStyle = oldColor;\n}\n/**\n * Render text onto the canvas\n */ function renderText(ctx, text, x, y, font, opts = {}) {\n const lines = isArray(text) ? text : [\n text\n ];\n const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n let i, line;\n ctx.save();\n ctx.font = font.string;\n setRenderOpts(ctx, opts);\n for(i = 0; i < lines.length; ++i){\n line = lines[i];\n if (opts.backdrop) {\n drawBackdrop(ctx, opts.backdrop);\n }\n if (stroke) {\n if (opts.strokeColor) {\n ctx.strokeStyle = opts.strokeColor;\n }\n if (!isNullOrUndef(opts.strokeWidth)) {\n ctx.lineWidth = opts.strokeWidth;\n }\n ctx.strokeText(line, x, y, opts.maxWidth);\n }\n ctx.fillText(line, x, y, opts.maxWidth);\n decorateText(ctx, x, y, line, opts);\n y += Number(font.lineHeight);\n }\n ctx.restore();\n}\n/**\n * Add a path of a rectangle with rounded corners to the current sub-path\n * @param ctx - Context\n * @param rect - Bounding rect\n */ function addRoundedRectPath(ctx, rect) {\n const { x , y , w , h , radius } = rect;\n // top left arc\n ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, 1.5 * PI, PI, true);\n // line from top left to bottom left\n ctx.lineTo(x, y + h - radius.bottomLeft);\n // bottom left arc\n ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n // line from bottom left to bottom right\n ctx.lineTo(x + w - radius.bottomRight, y + h);\n // bottom right arc\n ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n // line from bottom right to top right\n ctx.lineTo(x + w, y + radius.topRight);\n // top right arc\n ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n // line from top right to top left\n ctx.lineTo(x + radius.topLeft, y);\n}\n\nconst LINE_HEIGHT = /^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/;\nconst FONT_STYLE = /^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;\n/**\n * @alias Chart.helpers.options\n * @namespace\n */ /**\n * Converts the given line height `value` in pixels for a specific font `size`.\n * @param value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\n * @param size - The font size (in pixels) used to resolve relative `value`.\n * @returns The effective line height in pixels (size * 1.2 if value is invalid).\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\n * @since 2.7.0\n */ function toLineHeight(value, size) {\n const matches = ('' + value).match(LINE_HEIGHT);\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n value = +matches[2];\n switch(matches[3]){\n case 'px':\n return value;\n case '%':\n value /= 100;\n break;\n }\n return size * value;\n}\nconst numberOrZero = (v)=>+v || 0;\nfunction _readValueToProps(value, props) {\n const ret = {};\n const objProps = isObject(props);\n const keys = objProps ? Object.keys(props) : props;\n const read = isObject(value) ? objProps ? (prop)=>valueOrDefault(value[prop], value[props[prop]]) : (prop)=>value[prop] : ()=>value;\n for (const prop of keys){\n ret[prop] = numberOrZero(read(prop));\n }\n return ret;\n}\n/**\n * Converts the given value into a TRBL object.\n * @param value - If a number, set the value to all TRBL component,\n * else, if an object, use defined properties and sets undefined ones to 0.\n * x / y are shorthands for same value for left/right and top/bottom.\n * @returns The padding values (top, right, bottom, left)\n * @since 3.0.0\n */ function toTRBL(value) {\n return _readValueToProps(value, {\n top: 'y',\n right: 'x',\n bottom: 'y',\n left: 'x'\n });\n}\n/**\n * Converts the given value into a TRBL corners object (similar with css border-radius).\n * @param value - If a number, set the value to all TRBL corner components,\n * else, if an object, use defined properties and sets undefined ones to 0.\n * @returns The TRBL corner values (topLeft, topRight, bottomLeft, bottomRight)\n * @since 3.0.0\n */ function toTRBLCorners(value) {\n return _readValueToProps(value, [\n 'topLeft',\n 'topRight',\n 'bottomLeft',\n 'bottomRight'\n ]);\n}\n/**\n * Converts the given value into a padding object with pre-computed width/height.\n * @param value - If a number, set the value to all TRBL component,\n * else, if an object, use defined properties and sets undefined ones to 0.\n * x / y are shorthands for same value for left/right and top/bottom.\n * @returns The padding values (top, right, bottom, left, width, height)\n * @since 2.7.0\n */ function toPadding(value) {\n const obj = toTRBL(value);\n obj.width = obj.left + obj.right;\n obj.height = obj.top + obj.bottom;\n return obj;\n}\n/**\n * Parses font options and returns the font object.\n * @param options - A object that contains font options to be parsed.\n * @param fallback - A object that contains fallback font options.\n * @return The font object.\n * @private\n */ function toFont(options, fallback) {\n options = options || {};\n fallback = fallback || defaults.font;\n let size = valueOrDefault(options.size, fallback.size);\n if (typeof size === 'string') {\n size = parseInt(size, 10);\n }\n let style = valueOrDefault(options.style, fallback.style);\n if (style && !('' + style).match(FONT_STYLE)) {\n console.warn('Invalid font style specified: \"' + style + '\"');\n style = undefined;\n }\n const font = {\n family: valueOrDefault(options.family, fallback.family),\n lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n size,\n style,\n weight: valueOrDefault(options.weight, fallback.weight),\n string: ''\n };\n font.string = toFontString(font);\n return font;\n}\n/**\n * Evaluates the given `inputs` sequentially and returns the first defined value.\n * @param inputs - An array of values, falling back to the last value.\n * @param context - If defined and the current value is a function, the value\n * is called with `context` as first argument and the result becomes the new input.\n * @param index - If defined and the current value is an array, the value\n * at `index` become the new input.\n * @param info - object to return information about resolution in\n * @param info.cacheable - Will be set to `false` if option is not cacheable.\n * @since 2.7.0\n */ function resolve(inputs, context, index, info) {\n let cacheable = true;\n let i, ilen, value;\n for(i = 0, ilen = inputs.length; i < ilen; ++i){\n value = inputs[i];\n if (value === undefined) {\n continue;\n }\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n if (index !== undefined && isArray(value)) {\n value = value[index % value.length];\n cacheable = false;\n }\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n return value;\n }\n }\n}\n/**\n * @param minmax\n * @param grace\n * @param beginAtZero\n * @private\n */ function _addGrace(minmax, grace, beginAtZero) {\n const { min , max } = minmax;\n const change = toDimension(grace, (max - min) / 2);\n const keepZero = (value, add)=>beginAtZero && value === 0 ? 0 : value + add;\n return {\n min: keepZero(min, -Math.abs(change)),\n max: keepZero(max, change)\n };\n}\nfunction createContext(parentContext, context) {\n return Object.assign(Object.create(parentContext), context);\n}\n\n/**\n * Creates a Proxy for resolving raw values for options.\n * @param scopes - The option scopes to look for values, in resolution order\n * @param prefixes - The prefixes for values, in resolution order.\n * @param rootScopes - The root option scopes\n * @param fallback - Parent scopes fallback\n * @param getTarget - callback for getting the target for changed values\n * @returns Proxy\n * @private\n */ function _createResolver(scopes, prefixes = [\n ''\n], rootScopes, fallback, getTarget = ()=>scopes[0]) {\n const finalRootScopes = rootScopes || scopes;\n if (typeof fallback === 'undefined') {\n fallback = _resolve('_fallback', scopes);\n }\n const cache = {\n [Symbol.toStringTag]: 'Object',\n _cacheable: true,\n _scopes: scopes,\n _rootScopes: finalRootScopes,\n _fallback: fallback,\n _getTarget: getTarget,\n override: (scope)=>_createResolver([\n scope,\n ...scopes\n ], prefixes, finalRootScopes, fallback)\n };\n return new Proxy(cache, {\n /**\n * A trap for the delete operator.\n */ deleteProperty (target, prop) {\n delete target[prop]; // remove from cache\n delete target._keys; // remove cached keys\n delete scopes[0][prop]; // remove from top level scope\n return true;\n },\n /**\n * A trap for getting property values.\n */ get (target, prop) {\n return _cached(target, prop, ()=>_resolveWithPrefixes(prop, prefixes, scopes, target));\n },\n /**\n * A trap for Object.getOwnPropertyDescriptor.\n * Also used by Object.hasOwnProperty.\n */ getOwnPropertyDescriptor (target, prop) {\n return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n },\n /**\n * A trap for Object.getPrototypeOf.\n */ getPrototypeOf () {\n return Reflect.getPrototypeOf(scopes[0]);\n },\n /**\n * A trap for the in operator.\n */ has (target, prop) {\n return getKeysFromAllScopes(target).includes(prop);\n },\n /**\n * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols.\n */ ownKeys (target) {\n return getKeysFromAllScopes(target);\n },\n /**\n * A trap for setting property values.\n */ set (target, prop, value) {\n const storage = target._storage || (target._storage = getTarget());\n target[prop] = storage[prop] = value; // set to top level scope + cache\n delete target._keys; // remove cached keys\n return true;\n }\n });\n}\n/**\n * Returns an Proxy for resolving option values with context.\n * @param proxy - The Proxy returned by `_createResolver`\n * @param context - Context object for scriptable/indexable options\n * @param subProxy - The proxy provided for scriptable options\n * @param descriptorDefaults - Defaults for descriptors\n * @private\n */ function _attachContext(proxy, context, subProxy, descriptorDefaults) {\n const cache = {\n _cacheable: false,\n _proxy: proxy,\n _context: context,\n _subProxy: subProxy,\n _stack: new Set(),\n _descriptors: _descriptors(proxy, descriptorDefaults),\n setContext: (ctx)=>_attachContext(proxy, ctx, subProxy, descriptorDefaults),\n override: (scope)=>_attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n };\n return new Proxy(cache, {\n /**\n * A trap for the delete operator.\n */ deleteProperty (target, prop) {\n delete target[prop]; // remove from cache\n delete proxy[prop]; // remove from proxy\n return true;\n },\n /**\n * A trap for getting property values.\n */ get (target, prop, receiver) {\n return _cached(target, prop, ()=>_resolveWithContext(target, prop, receiver));\n },\n /**\n * A trap for Object.getOwnPropertyDescriptor.\n * Also used by Object.hasOwnProperty.\n */ getOwnPropertyDescriptor (target, prop) {\n return target._descriptors.allKeys ? Reflect.has(proxy, prop) ? {\n enumerable: true,\n configurable: true\n } : undefined : Reflect.getOwnPropertyDescriptor(proxy, prop);\n },\n /**\n * A trap for Object.getPrototypeOf.\n */ getPrototypeOf () {\n return Reflect.getPrototypeOf(proxy);\n },\n /**\n * A trap for the in operator.\n */ has (target, prop) {\n return Reflect.has(proxy, prop);\n },\n /**\n * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols.\n */ ownKeys () {\n return Reflect.ownKeys(proxy);\n },\n /**\n * A trap for setting property values.\n */ set (target, prop, value) {\n proxy[prop] = value; // set to proxy\n delete target[prop]; // remove from cache\n return true;\n }\n });\n}\n/**\n * @private\n */ function _descriptors(proxy, defaults = {\n scriptable: true,\n indexable: true\n}) {\n const { _scriptable =defaults.scriptable , _indexable =defaults.indexable , _allKeys =defaults.allKeys } = proxy;\n return {\n allKeys: _allKeys,\n scriptable: _scriptable,\n indexable: _indexable,\n isScriptable: isFunction(_scriptable) ? _scriptable : ()=>_scriptable,\n isIndexable: isFunction(_indexable) ? _indexable : ()=>_indexable\n };\n}\nconst readKey = (prefix, name)=>prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value)=>isObject(value) && prop !== 'adapters' && (Object.getPrototypeOf(value) === null || value.constructor === Object);\nfunction _cached(target, prop, resolve) {\n if (Object.prototype.hasOwnProperty.call(target, prop) || prop === 'constructor') {\n return target[prop];\n }\n const value = resolve();\n // cache the resolved value\n target[prop] = value;\n return value;\n}\nfunction _resolveWithContext(target, prop, receiver) {\n const { _proxy , _context , _subProxy , _descriptors: descriptors } = target;\n let value = _proxy[prop]; // resolve from proxy\n // resolve with context\n if (isFunction(value) && descriptors.isScriptable(prop)) {\n value = _resolveScriptable(prop, value, target, receiver);\n }\n if (isArray(value) && value.length) {\n value = _resolveArray(prop, value, target, descriptors.isIndexable);\n }\n if (needsSubResolver(prop, value)) {\n // if the resolved value is an object, create a sub resolver for it\n value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n }\n return value;\n}\nfunction _resolveScriptable(prop, getValue, target, receiver) {\n const { _proxy , _context , _subProxy , _stack } = target;\n if (_stack.has(prop)) {\n throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n }\n _stack.add(prop);\n let value = getValue(_context, _subProxy || receiver);\n _stack.delete(prop);\n if (needsSubResolver(prop, value)) {\n // When scriptable option returns an object, create a resolver on that.\n value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n }\n return value;\n}\nfunction _resolveArray(prop, value, target, isIndexable) {\n const { _proxy , _context , _subProxy , _descriptors: descriptors } = target;\n if (typeof _context.index !== 'undefined' && isIndexable(prop)) {\n return value[_context.index % value.length];\n } else if (isObject(value[0])) {\n // Array of objects, return array or resolvers\n const arr = value;\n const scopes = _proxy._scopes.filter((s)=>s !== arr);\n value = [];\n for (const item of arr){\n const resolver = createSubResolver(scopes, _proxy, prop, item);\n value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n }\n }\n return value;\n}\nfunction resolveFallback(fallback, prop, value) {\n return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\nconst getScope = (key, parent)=>key === true ? parent : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\nfunction addScopes(set, parentScopes, key, parentFallback, value) {\n for (const parent of parentScopes){\n const scope = getScope(key, parent);\n if (scope) {\n set.add(scope);\n const fallback = resolveFallback(scope._fallback, key, value);\n if (typeof fallback !== 'undefined' && fallback !== key && fallback !== parentFallback) {\n // When we reach the descriptor that defines a new _fallback, return that.\n // The fallback will resume to that new scope.\n return fallback;\n }\n } else if (scope === false && typeof parentFallback !== 'undefined' && key !== parentFallback) {\n // Fallback to `false` results to `false`, when falling back to different key.\n // For example `interaction` from `hover` or `plugins.tooltip` and `animation` from `animations`\n return null;\n }\n }\n return false;\n}\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n const rootScopes = resolver._rootScopes;\n const fallback = resolveFallback(resolver._fallback, prop, value);\n const allScopes = [\n ...parentScopes,\n ...rootScopes\n ];\n const set = new Set();\n set.add(value);\n let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n if (key === null) {\n return false;\n }\n if (typeof fallback !== 'undefined' && fallback !== prop) {\n key = addScopesFromKey(set, allScopes, fallback, key, value);\n if (key === null) {\n return false;\n }\n }\n return _createResolver(Array.from(set), [\n ''\n ], rootScopes, fallback, ()=>subGetTarget(resolver, prop, value));\n}\nfunction addScopesFromKey(set, allScopes, key, fallback, item) {\n while(key){\n key = addScopes(set, allScopes, key, fallback, item);\n }\n return key;\n}\nfunction subGetTarget(resolver, prop, value) {\n const parent = resolver._getTarget();\n if (!(prop in parent)) {\n parent[prop] = {};\n }\n const target = parent[prop];\n if (isArray(target) && isObject(value)) {\n // For array of objects, the object is used to store updated values\n return value;\n }\n return target || {};\n}\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n let value;\n for (const prefix of prefixes){\n value = _resolve(readKey(prefix, prop), scopes);\n if (typeof value !== 'undefined') {\n return needsSubResolver(prop, value) ? createSubResolver(scopes, proxy, prop, value) : value;\n }\n }\n}\nfunction _resolve(key, scopes) {\n for (const scope of scopes){\n if (!scope) {\n continue;\n }\n const value = scope[key];\n if (typeof value !== 'undefined') {\n return value;\n }\n }\n}\nfunction getKeysFromAllScopes(target) {\n let keys = target._keys;\n if (!keys) {\n keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n }\n return keys;\n}\nfunction resolveKeysFromAllScopes(scopes) {\n const set = new Set();\n for (const scope of scopes){\n for (const key of Object.keys(scope).filter((k)=>!k.startsWith('_'))){\n set.add(key);\n }\n }\n return Array.from(set);\n}\nfunction _parseObjectDataRadialScale(meta, data, start, count) {\n const { iScale } = meta;\n const { key ='r' } = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for(i = 0, ilen = count; i < ilen; ++i){\n index = i + start;\n item = data[index];\n parsed[i] = {\n r: iScale.parse(resolveObjectKey(item, key), index)\n };\n }\n return parsed;\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\nconst getPoint = (points, i)=>i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis)=>indexAxis === 'x' ? 'y' : 'x';\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n // Props to Rob Spencer at scaled innovation for his post on splining between points\n // http://scaledinnovation.com/analytics/splines/aboutSplines.html\n // This function must also respect \"skipped\" points\n const previous = firstPoint.skip ? middlePoint : firstPoint;\n const current = middlePoint;\n const next = afterPoint.skip ? middlePoint : afterPoint;\n const d01 = distanceBetweenPoints(current, previous);\n const d12 = distanceBetweenPoints(next, current);\n let s01 = d01 / (d01 + d12);\n let s12 = d12 / (d01 + d12);\n // If all points are the same, s01 & s02 will be inf\n s01 = isNaN(s01) ? 0 : s01;\n s12 = isNaN(s12) ? 0 : s12;\n const fa = t * s01; // scaling factor for triangle Ta\n const fb = t * s12;\n return {\n previous: {\n x: current.x - fa * (next.x - previous.x),\n y: current.y - fa * (next.y - previous.y)\n },\n next: {\n x: current.x + fb * (next.x - previous.x),\n y: current.y + fb * (next.y - previous.y)\n }\n };\n}\n/**\n * Adjust tangents to ensure monotonic properties\n */ function monotoneAdjust(points, deltaK, mK) {\n const pointsLen = points.length;\n let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for(let i = 0; i < pointsLen - 1; ++i){\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent || !pointAfter) {\n continue;\n }\n if (almostEquals(deltaK[i], 0, EPSILON)) {\n mK[i] = mK[i + 1] = 0;\n continue;\n }\n alphaK = mK[i] / deltaK[i];\n betaK = mK[i + 1] / deltaK[i];\n squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n if (squaredMagnitude <= 9) {\n continue;\n }\n tauK = 3 / Math.sqrt(squaredMagnitude);\n mK[i] = alphaK * tauK * deltaK[i];\n mK[i + 1] = betaK * tauK * deltaK[i];\n }\n}\nfunction monotoneCompute(points, mK, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n let delta, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for(let i = 0; i < pointsLen; ++i){\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n const iPixel = pointCurrent[indexAxis];\n const vPixel = pointCurrent[valueAxis];\n if (pointBefore) {\n delta = (iPixel - pointBefore[indexAxis]) / 3;\n pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n }\n if (pointAfter) {\n delta = (pointAfter[indexAxis] - iPixel) / 3;\n pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n }\n }\n}\n/**\n * This function calculates Bézier control points in a similar way than |splineCurve|,\n * but preserves monotonicity of the provided data and ensures no local extremums are added\n * between the dataset discrete points due to the interpolation.\n * See : https://en.wikipedia.org/wiki/Monotone_cubic_interpolation\n */ function splineCurveMonotone(points, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n const deltaK = Array(pointsLen).fill(0);\n const mK = Array(pointsLen);\n // Calculate slopes (deltaK) and initialize tangents (mK)\n let i, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for(i = 0; i < pointsLen; ++i){\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n if (pointAfter) {\n const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n // In the case of two points that appear at the same x pixel, slopeDeltaX is 0\n deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n }\n mK[i] = !pointBefore ? deltaK[i] : !pointAfter ? deltaK[i - 1] : sign(deltaK[i - 1]) !== sign(deltaK[i]) ? 0 : (deltaK[i - 1] + deltaK[i]) / 2;\n }\n monotoneAdjust(points, deltaK, mK);\n monotoneCompute(points, mK, indexAxis);\n}\nfunction capControlPoint(pt, min, max) {\n return Math.max(Math.min(pt, max), min);\n}\nfunction capBezierPoints(points, area) {\n let i, ilen, point, inArea, inAreaPrev;\n let inAreaNext = _isPointInArea(points[0], area);\n for(i = 0, ilen = points.length; i < ilen; ++i){\n inAreaPrev = inArea;\n inArea = inAreaNext;\n inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n if (!inArea) {\n continue;\n }\n point = points[i];\n if (inAreaPrev) {\n point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n }\n if (inAreaNext) {\n point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n }\n }\n}\n/**\n * @private\n */ function _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n let i, ilen, point, controlPoints;\n // Only consider points that are drawn in case the spanGaps option is used\n if (options.spanGaps) {\n points = points.filter((pt)=>!pt.skip);\n }\n if (options.cubicInterpolationMode === 'monotone') {\n splineCurveMonotone(points, indexAxis);\n } else {\n let prev = loop ? points[points.length - 1] : points[0];\n for(i = 0, ilen = points.length; i < ilen; ++i){\n point = points[i];\n controlPoints = splineCurve(prev, point, points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen], options.tension);\n point.cp1x = controlPoints.previous.x;\n point.cp1y = controlPoints.previous.y;\n point.cp2x = controlPoints.next.x;\n point.cp2y = controlPoints.next.y;\n prev = point;\n }\n }\n if (options.capBezierPoints) {\n capBezierPoints(points, area);\n }\n}\n\n/**\n * Note: typedefs are auto-exported, so use a made-up `dom` namespace where\n * necessary to avoid duplicates with `export * from './helpers`; see\n * https://github.com/microsoft/TypeScript/issues/46011\n * @typedef { import('../core/core.controller.js').default } dom.Chart\n * @typedef { import('../../types').ChartEvent } ChartEvent\n */ /**\n * @private\n */ function _isDomSupported() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n/**\n * @private\n */ function _getParentNode(domNode) {\n let parent = domNode.parentNode;\n if (parent && parent.toString() === '[object ShadowRoot]') {\n parent = parent.host;\n }\n return parent;\n}\n/**\n * convert max-width/max-height values that may be percentages into a number\n * @private\n */ function parseMaxStyle(styleValue, node, parentProperty) {\n let valueInPixels;\n if (typeof styleValue === 'string') {\n valueInPixels = parseInt(styleValue, 10);\n if (styleValue.indexOf('%') !== -1) {\n // percentage * size in dimension\n valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n }\n } else {\n valueInPixels = styleValue;\n }\n return valueInPixels;\n}\nconst getComputedStyle = (element)=>element.ownerDocument.defaultView.getComputedStyle(element, null);\nfunction getStyle(el, property) {\n return getComputedStyle(el).getPropertyValue(property);\n}\nconst positions = [\n 'top',\n 'right',\n 'bottom',\n 'left'\n];\nfunction getPositionedStyle(styles, style, suffix) {\n const result = {};\n suffix = suffix ? '-' + suffix : '';\n for(let i = 0; i < 4; i++){\n const pos = positions[i];\n result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n }\n result.width = result.left + result.right;\n result.height = result.top + result.bottom;\n return result;\n}\nconst useOffsetPos = (x, y, target)=>(x > 0 || y > 0) && (!target || !target.shadowRoot);\n/**\n * @param e\n * @param canvas\n * @returns Canvas position\n */ function getCanvasPosition(e, canvas) {\n const touches = e.touches;\n const source = touches && touches.length ? touches[0] : e;\n const { offsetX , offsetY } = source;\n let box = false;\n let x, y;\n if (useOffsetPos(offsetX, offsetY, e.target)) {\n x = offsetX;\n y = offsetY;\n } else {\n const rect = canvas.getBoundingClientRect();\n x = source.clientX - rect.left;\n y = source.clientY - rect.top;\n box = true;\n }\n return {\n x,\n y,\n box\n };\n}\n/**\n * Gets an event's x, y coordinates, relative to the chart area\n * @param event\n * @param chart\n * @returns x and y coordinates of the event\n */ function getRelativePosition(event, chart) {\n if ('native' in event) {\n return event;\n }\n const { canvas , currentDevicePixelRatio } = chart;\n const style = getComputedStyle(canvas);\n const borderBox = style.boxSizing === 'border-box';\n const paddings = getPositionedStyle(style, 'padding');\n const borders = getPositionedStyle(style, 'border', 'width');\n const { x , y , box } = getCanvasPosition(event, canvas);\n const xOffset = paddings.left + (box && borders.left);\n const yOffset = paddings.top + (box && borders.top);\n let { width , height } = chart;\n if (borderBox) {\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n return {\n x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n };\n}\nfunction getContainerSize(canvas, width, height) {\n let maxWidth, maxHeight;\n if (width === undefined || height === undefined) {\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n width = canvas.clientWidth;\n height = canvas.clientHeight;\n } else {\n const rect = container.getBoundingClientRect(); // this is the border box of the container\n const containerStyle = getComputedStyle(container);\n const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n const containerPadding = getPositionedStyle(containerStyle, 'padding');\n width = rect.width - containerPadding.width - containerBorder.width;\n height = rect.height - containerPadding.height - containerBorder.height;\n maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n }\n }\n return {\n width,\n height,\n maxWidth: maxWidth || INFINITY,\n maxHeight: maxHeight || INFINITY\n };\n}\nconst round1 = (v)=>Math.round(v * 10) / 10;\n// eslint-disable-next-line complexity\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n const style = getComputedStyle(canvas);\n const margins = getPositionedStyle(style, 'margin');\n const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n let { width , height } = containerSize;\n if (style.boxSizing === 'content-box') {\n const borders = getPositionedStyle(style, 'border', 'width');\n const paddings = getPositionedStyle(style, 'padding');\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n width = Math.max(0, width - margins.width);\n height = Math.max(0, aspectRatio ? width / aspectRatio : height - margins.height);\n width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n if (width && !height) {\n // https://github.com/chartjs/Chart.js/issues/4659\n // If the canvas has width, but no height, default to aspectRatio of 2 (canvas default)\n height = round1(width / 2);\n }\n const maintainHeight = bbWidth !== undefined || bbHeight !== undefined;\n if (maintainHeight && aspectRatio && containerSize.height && height > containerSize.height) {\n height = containerSize.height;\n width = round1(Math.floor(height * aspectRatio));\n }\n return {\n width,\n height\n };\n}\n/**\n * @param chart\n * @param forceRatio\n * @param forceStyle\n * @returns True if the canvas context size or transformation has changed.\n */ function retinaScale(chart, forceRatio, forceStyle) {\n const pixelRatio = forceRatio || 1;\n const deviceHeight = Math.floor(chart.height * pixelRatio);\n const deviceWidth = Math.floor(chart.width * pixelRatio);\n chart.height = Math.floor(chart.height);\n chart.width = Math.floor(chart.width);\n const canvas = chart.canvas;\n // If no style has been set on the canvas, the render size is used as display size,\n // making the chart visually bigger, so let's enforce it to the \"correct\" values.\n // See https://github.com/chartjs/Chart.js/issues/3575\n if (canvas.style && (forceStyle || !canvas.style.height && !canvas.style.width)) {\n canvas.style.height = `${chart.height}px`;\n canvas.style.width = `${chart.width}px`;\n }\n if (chart.currentDevicePixelRatio !== pixelRatio || canvas.height !== deviceHeight || canvas.width !== deviceWidth) {\n chart.currentDevicePixelRatio = pixelRatio;\n canvas.height = deviceHeight;\n canvas.width = deviceWidth;\n chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n return true;\n }\n return false;\n}\n/**\n * Detects support for options object argument in addEventListener.\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n * @private\n */ const supportsEventListenerOptions = function() {\n let passiveSupported = false;\n try {\n const options = {\n get passive () {\n passiveSupported = true;\n return false;\n }\n };\n if (_isDomSupported()) {\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n }\n } catch (e) {\n // continue regardless of error\n }\n return passiveSupported;\n}();\n/**\n * The \"used\" size is the final value of a dimension property after all calculations have\n * been performed. This method uses the computed style of `element` but returns undefined\n * if the computed style is not expressed in pixels. That can happen in some cases where\n * `element` has a size relative to its parent and this last one is not yet displayed,\n * for example because of `display: none` on a parent node.\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\n * @returns Size in pixels or undefined if unknown.\n */ function readUsedSize(element, property) {\n const value = getStyle(element, property);\n const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? +matches[1] : undefined;\n}\n\n/**\n * @private\n */ function _pointInLine(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: p1.y + t * (p2.y - p1.y)\n };\n}\n/**\n * @private\n */ function _steppedInterpolation(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y : mode === 'after' ? t < 1 ? p1.y : p2.y : t > 0 ? p2.y : p1.y\n };\n}\n/**\n * @private\n */ function _bezierInterpolation(p1, p2, t, mode) {\n const cp1 = {\n x: p1.cp2x,\n y: p1.cp2y\n };\n const cp2 = {\n x: p2.cp1x,\n y: p2.cp1y\n };\n const a = _pointInLine(p1, cp1, t);\n const b = _pointInLine(cp1, cp2, t);\n const c = _pointInLine(cp2, p2, t);\n const d = _pointInLine(a, b, t);\n const e = _pointInLine(b, c, t);\n return _pointInLine(d, e, t);\n}\n\nconst getRightToLeftAdapter = function(rectX, width) {\n return {\n x (x) {\n return rectX + rectX + width - x;\n },\n setWidth (w) {\n width = w;\n },\n textAlign (align) {\n if (align === 'center') {\n return align;\n }\n return align === 'right' ? 'left' : 'right';\n },\n xPlus (x, value) {\n return x - value;\n },\n leftForLtr (x, itemWidth) {\n return x - itemWidth;\n }\n };\n};\nconst getLeftToRightAdapter = function() {\n return {\n x (x) {\n return x;\n },\n setWidth (w) {},\n textAlign (align) {\n return align;\n },\n xPlus (x, value) {\n return x + value;\n },\n leftForLtr (x, _itemWidth) {\n return x;\n }\n };\n};\nfunction getRtlAdapter(rtl, rectX, width) {\n return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\nfunction overrideTextDirection(ctx, direction) {\n let style, original;\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [\n style.getPropertyValue('direction'),\n style.getPropertyPriority('direction')\n ];\n style.setProperty('direction', direction, 'important');\n ctx.prevTextDirection = original;\n }\n}\nfunction restoreTextDirection(ctx, original) {\n if (original !== undefined) {\n delete ctx.prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n}\n\nfunction propertyFn(property) {\n if (property === 'angle') {\n return {\n between: _angleBetween,\n compare: _angleDiff,\n normalize: _normalizeAngle\n };\n }\n return {\n between: _isBetween,\n compare: (a, b)=>a - b,\n normalize: (x)=>x\n };\n}\nfunction normalizeSegment({ start , end , count , loop , style }) {\n return {\n start: start % count,\n end: end % count,\n loop: loop && (end - start + 1) % count === 0,\n style\n };\n}\nfunction getSegment(segment, points, bounds) {\n const { property , start: startBound , end: endBound } = bounds;\n const { between , normalize } = propertyFn(property);\n const count = points.length;\n let { start , end , loop } = segment;\n let i, ilen;\n if (loop) {\n start += count;\n end += count;\n for(i = 0, ilen = count; i < ilen; ++i){\n if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n break;\n }\n start--;\n end--;\n }\n start %= count;\n end %= count;\n }\n if (end < start) {\n end += count;\n }\n return {\n start,\n end,\n loop,\n style: segment.style\n };\n}\n function _boundSegment(segment, points, bounds) {\n if (!bounds) {\n return [\n segment\n ];\n }\n const { property , start: startBound , end: endBound } = bounds;\n const count = points.length;\n const { compare , between , normalize } = propertyFn(property);\n const { start , end , loop , style } = getSegment(segment, points, bounds);\n const result = [];\n let inside = false;\n let subStart = null;\n let value, point, prevValue;\n const startIsBefore = ()=>between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n const endIsBefore = ()=>compare(endBound, value) === 0 || between(endBound, prevValue, value);\n const shouldStart = ()=>inside || startIsBefore();\n const shouldStop = ()=>!inside || endIsBefore();\n for(let i = start, prev = start; i <= end; ++i){\n point = points[i % count];\n if (point.skip) {\n continue;\n }\n value = normalize(point[property]);\n if (value === prevValue) {\n continue;\n }\n inside = between(value, startBound, endBound);\n if (subStart === null && shouldStart()) {\n subStart = compare(value, startBound) === 0 ? i : prev;\n }\n if (subStart !== null && shouldStop()) {\n result.push(normalizeSegment({\n start: subStart,\n end: i,\n loop,\n count,\n style\n }));\n subStart = null;\n }\n prev = i;\n prevValue = value;\n }\n if (subStart !== null) {\n result.push(normalizeSegment({\n start: subStart,\n end,\n loop,\n count,\n style\n }));\n }\n return result;\n}\n function _boundSegments(line, bounds) {\n const result = [];\n const segments = line.segments;\n for(let i = 0; i < segments.length; i++){\n const sub = _boundSegment(segments[i], line.points, bounds);\n if (sub.length) {\n result.push(...sub);\n }\n }\n return result;\n}\n function findStartAndEnd(points, count, loop, spanGaps) {\n let start = 0;\n let end = count - 1;\n if (loop && !spanGaps) {\n while(start < count && !points[start].skip){\n start++;\n }\n }\n while(start < count && points[start].skip){\n start++;\n }\n start %= count;\n if (loop) {\n end += start;\n }\n while(end > start && points[end % count].skip){\n end--;\n }\n end %= count;\n return {\n start,\n end\n };\n}\n function solidSegments(points, start, max, loop) {\n const count = points.length;\n const result = [];\n let last = start;\n let prev = points[start];\n let end;\n for(end = start + 1; end <= max; ++end){\n const cur = points[end % count];\n if (cur.skip || cur.stop) {\n if (!prev.skip) {\n loop = false;\n result.push({\n start: start % count,\n end: (end - 1) % count,\n loop\n });\n start = last = cur.stop ? end : null;\n }\n } else {\n last = end;\n if (prev.skip) {\n start = end;\n }\n }\n prev = cur;\n }\n if (last !== null) {\n result.push({\n start: start % count,\n end: last % count,\n loop\n });\n }\n return result;\n}\n function _computeSegments(line, segmentOptions) {\n const points = line.points;\n const spanGaps = line.options.spanGaps;\n const count = points.length;\n if (!count) {\n return [];\n }\n const loop = !!line._loop;\n const { start , end } = findStartAndEnd(points, count, loop, spanGaps);\n if (spanGaps === true) {\n return splitByStyles(line, [\n {\n start,\n end,\n loop\n }\n ], points, segmentOptions);\n }\n const max = end < start ? end + count : end;\n const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\n function splitByStyles(line, segments, points, segmentOptions) {\n if (!segmentOptions || !segmentOptions.setContext || !points) {\n return segments;\n }\n return doSplitByStyles(line, segments, points, segmentOptions);\n}\n function doSplitByStyles(line, segments, points, segmentOptions) {\n const chartContext = line._chart.getContext();\n const baseStyle = readStyle(line.options);\n const { _datasetIndex: datasetIndex , options: { spanGaps } } = line;\n const count = points.length;\n const result = [];\n let prevStyle = baseStyle;\n let start = segments[0].start;\n let i = start;\n function addStyle(s, e, l, st) {\n const dir = spanGaps ? -1 : 1;\n if (s === e) {\n return;\n }\n s += count;\n while(points[s % count].skip){\n s -= dir;\n }\n while(points[e % count].skip){\n e += dir;\n }\n if (s % count !== e % count) {\n result.push({\n start: s % count,\n end: e % count,\n loop: l,\n style: st\n });\n prevStyle = st;\n start = e % count;\n }\n }\n for (const segment of segments){\n start = spanGaps ? start : segment.start;\n let prev = points[start % count];\n let style;\n for(i = start + 1; i <= segment.end; i++){\n const pt = points[i % count];\n style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n type: 'segment',\n p0: prev,\n p1: pt,\n p0DataIndex: (i - 1) % count,\n p1DataIndex: i % count,\n datasetIndex\n })));\n if (styleChanged(style, prevStyle)) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n prev = pt;\n prevStyle = style;\n }\n if (start < i - 1) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n }\n return result;\n}\nfunction readStyle(options) {\n return {\n backgroundColor: options.backgroundColor,\n borderCapStyle: options.borderCapStyle,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderJoinStyle: options.borderJoinStyle,\n borderWidth: options.borderWidth,\n borderColor: options.borderColor\n };\n}\nfunction styleChanged(style, prevStyle) {\n if (!prevStyle) {\n return false;\n }\n const cache = [];\n const replacer = function(key, value) {\n if (!isPatternOrGradient(value)) {\n return value;\n }\n if (!cache.includes(value)) {\n cache.push(value);\n }\n return cache.indexOf(value);\n };\n return JSON.stringify(style, replacer) !== JSON.stringify(prevStyle, replacer);\n}\n\nexport { unclipArea as $, _rlookupByKey as A, _lookupByKey as B, _isPointInArea as C, getAngleFromPoint as D, toPadding as E, each as F, getMaximumSize as G, HALF_PI as H, _getParentNode as I, readUsedSize as J, supportsEventListenerOptions as K, throttled as L, _isDomSupported as M, _factorize as N, finiteOrDefault as O, PI as P, callback as Q, _addGrace as R, _limitValue as S, TAU as T, toDegrees as U, _measureText as V, _int16Range as W, _alignPixel as X, clipArea as Y, renderText as Z, _arrayUnique as _, resolve as a, fontString as a$, toFont as a0, _toLeftRightCenter as a1, _alignStartEnd as a2, overrides as a3, merge as a4, _capitalize as a5, descriptors as a6, isFunction as a7, _attachContext as a8, _createResolver as a9, overrideTextDirection as aA, _textX as aB, restoreTextDirection as aC, drawPointLegend as aD, distanceBetweenPoints as aE, noop as aF, _setMinAndMaxByKey as aG, niceNum as aH, almostWhole as aI, almostEquals as aJ, _decimalPlaces as aK, Ticks as aL, log10 as aM, _longestText as aN, _filterBetween as aO, _lookup as aP, isPatternOrGradient as aQ, getHoverColor as aR, clone as aS, _merger as aT, _mergerIf as aU, _deprecated as aV, _splitKey as aW, toFontString as aX, splineCurve as aY, splineCurveMonotone as aZ, getStyle as a_, _descriptors as aa, mergeIf as ab, uid as ac, debounce as ad, retinaScale as ae, clearCanvas as af, setsEqual as ag, _elementsEqual as ah, _isClickEvent as ai, _isBetween as aj, _readValueToProps as ak, _updateBezierControlPoints as al, _computeSegments as am, _boundSegments as an, _steppedInterpolation as ao, _bezierInterpolation as ap, _pointInLine as aq, _steppedLineTo as ar, _bezierCurveTo as as, drawPoint as at, addRoundedRectPath as au, toTRBL as av, toTRBLCorners as aw, _boundSegment as ax, _normalizeAngle as ay, getRtlAdapter as az, isArray as b, toLineHeight as b0, PITAU as b1, INFINITY as b2, RAD_PER_DEG as b3, QUARTER_PI as b4, TWO_THIRDS_PI as b5, _angleDiff as b6, color as c, defaults as d, effects as e, resolveObjectKey as f, isNumberFinite as g, defined as h, isObject as i, createContext as j, isNullOrUndef as k, listenArrayEvents as l, toPercentage as m, toDimension as n, formatNumber as o, _angleBetween as p, _getStartAndCountOfVisiblePoints as q, requestAnimFrame as r, sign as s, toRadians as t, unlistenArrayEvents as u, valueOrDefault as v, _scaleRangesChanged as w, isNumber as x, _parseObjectDataRadialScale as y, getRelativePosition as z };\n//# sourceMappingURL=helpers.segment.js.map\n","/*!\n * Chart.js v4.4.4\n * https://www.chartjs.org\n * (c) 2024 Chart.js Contributors\n * Released under the MIT License\n */\nimport { r as requestAnimFrame, a as resolve, e as effects, c as color, i as isObject, d as defaults, b as isArray, v as valueOrDefault, u as unlistenArrayEvents, l as listenArrayEvents, f as resolveObjectKey, g as isNumberFinite, h as defined, s as sign, j as createContext, k as isNullOrUndef, _ as _arrayUnique, t as toRadians, m as toPercentage, n as toDimension, T as TAU, o as formatNumber, p as _angleBetween, H as HALF_PI, P as PI, q as _getStartAndCountOfVisiblePoints, w as _scaleRangesChanged, x as isNumber, y as _parseObjectDataRadialScale, z as getRelativePosition, A as _rlookupByKey, B as _lookupByKey, C as _isPointInArea, D as getAngleFromPoint, E as toPadding, F as each, G as getMaximumSize, I as _getParentNode, J as readUsedSize, K as supportsEventListenerOptions, L as throttled, M as _isDomSupported, N as _factorize, O as finiteOrDefault, Q as callback, R as _addGrace, S as _limitValue, U as toDegrees, V as _measureText, W as _int16Range, X as _alignPixel, Y as clipArea, Z as renderText, $ as unclipArea, a0 as toFont, a1 as _toLeftRightCenter, a2 as _alignStartEnd, a3 as overrides, a4 as merge, a5 as _capitalize, a6 as descriptors, a7 as isFunction, a8 as _attachContext, a9 as _createResolver, aa as _descriptors, ab as mergeIf, ac as uid, ad as debounce, ae as retinaScale, af as clearCanvas, ag as setsEqual, ah as _elementsEqual, ai as _isClickEvent, aj as _isBetween, ak as _readValueToProps, al as _updateBezierControlPoints, am as _computeSegments, an as _boundSegments, ao as _steppedInterpolation, ap as _bezierInterpolation, aq as _pointInLine, ar as _steppedLineTo, as as _bezierCurveTo, at as drawPoint, au as addRoundedRectPath, av as toTRBL, aw as toTRBLCorners, ax as _boundSegment, ay as _normalizeAngle, az as getRtlAdapter, aA as overrideTextDirection, aB as _textX, aC as restoreTextDirection, aD as drawPointLegend, aE as distanceBetweenPoints, aF as noop, aG as _setMinAndMaxByKey, aH as niceNum, aI as almostWhole, aJ as almostEquals, aK as _decimalPlaces, aL as Ticks, aM as log10, aN as _longestText, aO as _filterBetween, aP as _lookup } from './chunks/helpers.segment.js';\nimport '@kurkle/color';\n\nclass Animator {\n constructor(){\n this._request = null;\n this._charts = new Map();\n this._running = false;\n this._lastDate = undefined;\n }\n _notify(chart, anims, date, type) {\n const callbacks = anims.listeners[type];\n const numSteps = anims.duration;\n callbacks.forEach((fn)=>fn({\n chart,\n initial: anims.initial,\n numSteps,\n currentStep: Math.min(date - anims.start, numSteps)\n }));\n }\n _refresh() {\n if (this._request) {\n return;\n }\n this._running = true;\n this._request = requestAnimFrame.call(window, ()=>{\n this._update();\n this._request = null;\n if (this._running) {\n this._refresh();\n }\n });\n }\n _update(date = Date.now()) {\n let remaining = 0;\n this._charts.forEach((anims, chart)=>{\n if (!anims.running || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n let draw = false;\n let item;\n for(; i >= 0; --i){\n item = items[i];\n if (item._active) {\n if (item._total > anims.duration) {\n anims.duration = item._total;\n }\n item.tick(date);\n draw = true;\n } else {\n items[i] = items[items.length - 1];\n items.pop();\n }\n }\n if (draw) {\n chart.draw();\n this._notify(chart, anims, date, 'progress');\n }\n if (!items.length) {\n anims.running = false;\n this._notify(chart, anims, date, 'complete');\n anims.initial = false;\n }\n remaining += items.length;\n });\n this._lastDate = date;\n if (remaining === 0) {\n this._running = false;\n }\n }\n _getAnims(chart) {\n const charts = this._charts;\n let anims = charts.get(chart);\n if (!anims) {\n anims = {\n running: false,\n initial: true,\n items: [],\n listeners: {\n complete: [],\n progress: []\n }\n };\n charts.set(chart, anims);\n }\n return anims;\n }\n listen(chart, event, cb) {\n this._getAnims(chart).listeners[event].push(cb);\n }\n add(chart, items) {\n if (!items || !items.length) {\n return;\n }\n this._getAnims(chart).items.push(...items);\n }\n has(chart) {\n return this._getAnims(chart).items.length > 0;\n }\n start(chart) {\n const anims = this._charts.get(chart);\n if (!anims) {\n return;\n }\n anims.running = true;\n anims.start = Date.now();\n anims.duration = anims.items.reduce((acc, cur)=>Math.max(acc, cur._duration), 0);\n this._refresh();\n }\n running(chart) {\n if (!this._running) {\n return false;\n }\n const anims = this._charts.get(chart);\n if (!anims || !anims.running || !anims.items.length) {\n return false;\n }\n return true;\n }\n stop(chart) {\n const anims = this._charts.get(chart);\n if (!anims || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n for(; i >= 0; --i){\n items[i].cancel();\n }\n anims.items = [];\n this._notify(chart, anims, Date.now(), 'complete');\n }\n remove(chart) {\n return this._charts.delete(chart);\n }\n}\nvar animator = /* #__PURE__ */ new Animator();\n\nconst transparent = 'transparent';\nconst interpolators = {\n boolean (from, to, factor) {\n return factor > 0.5 ? to : from;\n },\n color (from, to, factor) {\n const c0 = color(from || transparent);\n const c1 = c0.valid && color(to || transparent);\n return c1 && c1.valid ? c1.mix(c0, factor).hexString() : to;\n },\n number (from, to, factor) {\n return from + (to - from) * factor;\n }\n};\nclass Animation {\n constructor(cfg, target, prop, to){\n const currentValue = target[prop];\n to = resolve([\n cfg.to,\n to,\n currentValue,\n cfg.from\n ]);\n const from = resolve([\n cfg.from,\n currentValue,\n to\n ]);\n this._active = true;\n this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n this._easing = effects[cfg.easing] || effects.linear;\n this._start = Math.floor(Date.now() + (cfg.delay || 0));\n this._duration = this._total = Math.floor(cfg.duration);\n this._loop = !!cfg.loop;\n this._target = target;\n this._prop = prop;\n this._from = from;\n this._to = to;\n this._promises = undefined;\n }\n active() {\n return this._active;\n }\n update(cfg, to, date) {\n if (this._active) {\n this._notify(false);\n const currentValue = this._target[this._prop];\n const elapsed = date - this._start;\n const remain = this._duration - elapsed;\n this._start = date;\n this._duration = Math.floor(Math.max(remain, cfg.duration));\n this._total += elapsed;\n this._loop = !!cfg.loop;\n this._to = resolve([\n cfg.to,\n to,\n currentValue,\n cfg.from\n ]);\n this._from = resolve([\n cfg.from,\n currentValue,\n to\n ]);\n }\n }\n cancel() {\n if (this._active) {\n this.tick(Date.now());\n this._active = false;\n this._notify(false);\n }\n }\n tick(date) {\n const elapsed = date - this._start;\n const duration = this._duration;\n const prop = this._prop;\n const from = this._from;\n const loop = this._loop;\n const to = this._to;\n let factor;\n this._active = from !== to && (loop || elapsed < duration);\n if (!this._active) {\n this._target[prop] = to;\n this._notify(true);\n return;\n }\n if (elapsed < 0) {\n this._target[prop] = from;\n return;\n }\n factor = elapsed / duration % 2;\n factor = loop && factor > 1 ? 2 - factor : factor;\n factor = this._easing(Math.min(1, Math.max(0, factor)));\n this._target[prop] = this._fn(from, to, factor);\n }\n wait() {\n const promises = this._promises || (this._promises = []);\n return new Promise((res, rej)=>{\n promises.push({\n res,\n rej\n });\n });\n }\n _notify(resolved) {\n const method = resolved ? 'res' : 'rej';\n const promises = this._promises || [];\n for(let i = 0; i < promises.length; i++){\n promises[i][method]();\n }\n }\n}\n\nclass Animations {\n constructor(chart, config){\n this._chart = chart;\n this._properties = new Map();\n this.configure(config);\n }\n configure(config) {\n if (!isObject(config)) {\n return;\n }\n const animationOptions = Object.keys(defaults.animation);\n const animatedProps = this._properties;\n Object.getOwnPropertyNames(config).forEach((key)=>{\n const cfg = config[key];\n if (!isObject(cfg)) {\n return;\n }\n const resolved = {};\n for (const option of animationOptions){\n resolved[option] = cfg[option];\n }\n (isArray(cfg.properties) && cfg.properties || [\n key\n ]).forEach((prop)=>{\n if (prop === key || !animatedProps.has(prop)) {\n animatedProps.set(prop, resolved);\n }\n });\n });\n }\n _animateOptions(target, values) {\n const newOptions = values.options;\n const options = resolveTargetOptions(target, newOptions);\n if (!options) {\n return [];\n }\n const animations = this._createAnimations(options, newOptions);\n if (newOptions.$shared) {\n awaitAll(target.options.$animations, newOptions).then(()=>{\n target.options = newOptions;\n }, ()=>{\n });\n }\n return animations;\n }\n _createAnimations(target, values) {\n const animatedProps = this._properties;\n const animations = [];\n const running = target.$animations || (target.$animations = {});\n const props = Object.keys(values);\n const date = Date.now();\n let i;\n for(i = props.length - 1; i >= 0; --i){\n const prop = props[i];\n if (prop.charAt(0) === '$') {\n continue;\n }\n if (prop === 'options') {\n animations.push(...this._animateOptions(target, values));\n continue;\n }\n const value = values[prop];\n let animation = running[prop];\n const cfg = animatedProps.get(prop);\n if (animation) {\n if (cfg && animation.active()) {\n animation.update(cfg, value, date);\n continue;\n } else {\n animation.cancel();\n }\n }\n if (!cfg || !cfg.duration) {\n target[prop] = value;\n continue;\n }\n running[prop] = animation = new Animation(cfg, target, prop, value);\n animations.push(animation);\n }\n return animations;\n }\n update(target, values) {\n if (this._properties.size === 0) {\n Object.assign(target, values);\n return;\n }\n const animations = this._createAnimations(target, values);\n if (animations.length) {\n animator.add(this._chart, animations);\n return true;\n }\n }\n}\nfunction awaitAll(animations, properties) {\n const running = [];\n const keys = Object.keys(properties);\n for(let i = 0; i < keys.length; i++){\n const anim = animations[keys[i]];\n if (anim && anim.active()) {\n running.push(anim.wait());\n }\n }\n return Promise.all(running);\n}\nfunction resolveTargetOptions(target, newOptions) {\n if (!newOptions) {\n return;\n }\n let options = target.options;\n if (!options) {\n target.options = newOptions;\n return;\n }\n if (options.$shared) {\n target.options = options = Object.assign({}, options, {\n $shared: false,\n $animations: {}\n });\n }\n return options;\n}\n\nfunction scaleClip(scale, allowedOverflow) {\n const opts = scale && scale.options || {};\n const reverse = opts.reverse;\n const min = opts.min === undefined ? allowedOverflow : 0;\n const max = opts.max === undefined ? allowedOverflow : 0;\n return {\n start: reverse ? max : min,\n end: reverse ? min : max\n };\n}\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n if (allowedOverflow === false) {\n return false;\n }\n const x = scaleClip(xScale, allowedOverflow);\n const y = scaleClip(yScale, allowedOverflow);\n return {\n top: y.end,\n right: x.end,\n bottom: y.start,\n left: x.start\n };\n}\nfunction toClip(value) {\n let t, r, b, l;\n if (isObject(value)) {\n t = value.top;\n r = value.right;\n b = value.bottom;\n l = value.left;\n } else {\n t = r = b = l = value;\n }\n return {\n top: t,\n right: r,\n bottom: b,\n left: l,\n disabled: value === false\n };\n}\nfunction getSortedDatasetIndices(chart, filterVisible) {\n const keys = [];\n const metasets = chart._getSortedDatasetMetas(filterVisible);\n let i, ilen;\n for(i = 0, ilen = metasets.length; i < ilen; ++i){\n keys.push(metasets[i].index);\n }\n return keys;\n}\nfunction applyStack(stack, value, dsIndex, options = {}) {\n const keys = stack.keys;\n const singleMode = options.mode === 'single';\n let i, ilen, datasetIndex, otherValue;\n if (value === null) {\n return;\n }\n for(i = 0, ilen = keys.length; i < ilen; ++i){\n datasetIndex = +keys[i];\n if (datasetIndex === dsIndex) {\n if (options.all) {\n continue;\n }\n break;\n }\n otherValue = stack.values[datasetIndex];\n if (isNumberFinite(otherValue) && (singleMode || value === 0 || sign(value) === sign(otherValue))) {\n value += otherValue;\n }\n }\n return value;\n}\nfunction convertObjectDataToArray(data, meta) {\n const { iScale , vScale } = meta;\n const iAxisKey = iScale.axis === 'x' ? 'x' : 'y';\n const vAxisKey = vScale.axis === 'x' ? 'x' : 'y';\n const keys = Object.keys(data);\n const adata = new Array(keys.length);\n let i, ilen, key;\n for(i = 0, ilen = keys.length; i < ilen; ++i){\n key = keys[i];\n adata[i] = {\n [iAxisKey]: key,\n [vAxisKey]: data[key]\n };\n }\n return adata;\n}\nfunction isStacked(scale, meta) {\n const stacked = scale && scale.options.stacked;\n return stacked || stacked === undefined && meta.stack !== undefined;\n}\nfunction getStackKey(indexScale, valueScale, meta) {\n return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\nfunction getUserBounds(scale) {\n const { min , max , minDefined , maxDefined } = scale.getUserBounds();\n return {\n min: minDefined ? min : Number.NEGATIVE_INFINITY,\n max: maxDefined ? max : Number.POSITIVE_INFINITY\n };\n}\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n return subStack[indexValue] || (subStack[indexValue] = {});\n}\nfunction getLastIndexInStack(stack, vScale, positive, type) {\n for (const meta of vScale.getMatchingVisibleMetas(type).reverse()){\n const value = stack[meta.index];\n if (positive && value > 0 || !positive && value < 0) {\n return meta.index;\n }\n }\n return null;\n}\nfunction updateStacks(controller, parsed) {\n const { chart , _cachedMeta: meta } = controller;\n const stacks = chart._stacks || (chart._stacks = {});\n const { iScale , vScale , index: datasetIndex } = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const key = getStackKey(iScale, vScale, meta);\n const ilen = parsed.length;\n let stack;\n for(let i = 0; i < ilen; ++i){\n const item = parsed[i];\n const { [iAxis]: index , [vAxis]: value } = item;\n const itemStacks = item._stacks || (item._stacks = {});\n stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n stack[datasetIndex] = value;\n stack._top = getLastIndexInStack(stack, vScale, true, meta.type);\n stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type);\n const visualValues = stack._visualValues || (stack._visualValues = {});\n visualValues[datasetIndex] = value;\n }\n}\nfunction getFirstScaleId(chart, axis) {\n const scales = chart.scales;\n return Object.keys(scales).filter((key)=>scales[key].axis === axis).shift();\n}\nfunction createDatasetContext(parent, index) {\n return createContext(parent, {\n active: false,\n dataset: undefined,\n datasetIndex: index,\n index,\n mode: 'default',\n type: 'dataset'\n });\n}\nfunction createDataContext(parent, index, element) {\n return createContext(parent, {\n active: false,\n dataIndex: index,\n parsed: undefined,\n raw: undefined,\n element,\n index,\n mode: 'default',\n type: 'data'\n });\n}\nfunction clearStacks(meta, items) {\n const datasetIndex = meta.controller.index;\n const axis = meta.vScale && meta.vScale.axis;\n if (!axis) {\n return;\n }\n items = items || meta._parsed;\n for (const parsed of items){\n const stacks = parsed._stacks;\n if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n return;\n }\n delete stacks[axis][datasetIndex];\n if (stacks[axis]._visualValues !== undefined && stacks[axis]._visualValues[datasetIndex] !== undefined) {\n delete stacks[axis]._visualValues[datasetIndex];\n }\n }\n}\nconst isDirectUpdateMode = (mode)=>mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared)=>shared ? cached : Object.assign({}, cached);\nconst createStack = (canStack, meta, chart)=>canStack && !meta.hidden && meta._stacked && {\n keys: getSortedDatasetIndices(chart, true),\n values: null\n };\nclass DatasetController {\n static defaults = {};\n static datasetElementType = null;\n static dataElementType = null;\n constructor(chart, datasetIndex){\n this.chart = chart;\n this._ctx = chart.ctx;\n this.index = datasetIndex;\n this._cachedDataOpts = {};\n this._cachedMeta = this.getMeta();\n this._type = this._cachedMeta.type;\n this.options = undefined;\n this._parsing = false;\n this._data = undefined;\n this._objectData = undefined;\n this._sharedOptions = undefined;\n this._drawStart = undefined;\n this._drawCount = undefined;\n this.enableOptionSharing = false;\n this.supportsDecimation = false;\n this.$context = undefined;\n this._syncList = [];\n this.datasetElementType = new.target.datasetElementType;\n this.dataElementType = new.target.dataElementType;\n this.initialize();\n }\n initialize() {\n const meta = this._cachedMeta;\n this.configure();\n this.linkScales();\n meta._stacked = isStacked(meta.vScale, meta);\n this.addElements();\n if (this.options.fill && !this.chart.isPluginEnabled('filler')) {\n console.warn(\"Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options\");\n }\n }\n updateIndex(datasetIndex) {\n if (this.index !== datasetIndex) {\n clearStacks(this._cachedMeta);\n }\n this.index = datasetIndex;\n }\n linkScales() {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n const chooseId = (axis, x, y, r)=>axis === 'x' ? x : axis === 'r' ? r : y;\n const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n const indexAxis = meta.indexAxis;\n const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n meta.xScale = this.getScaleForId(xid);\n meta.yScale = this.getScaleForId(yid);\n meta.rScale = this.getScaleForId(rid);\n meta.iScale = this.getScaleForId(iid);\n meta.vScale = this.getScaleForId(vid);\n }\n getDataset() {\n return this.chart.data.datasets[this.index];\n }\n getMeta() {\n return this.chart.getDatasetMeta(this.index);\n }\n getScaleForId(scaleID) {\n return this.chart.scales[scaleID];\n }\n _getOtherScale(scale) {\n const meta = this._cachedMeta;\n return scale === meta.iScale ? meta.vScale : meta.iScale;\n }\n reset() {\n this._update('reset');\n }\n _destroy() {\n const meta = this._cachedMeta;\n if (this._data) {\n unlistenArrayEvents(this._data, this);\n }\n if (meta._stacked) {\n clearStacks(meta);\n }\n }\n _dataCheck() {\n const dataset = this.getDataset();\n const data = dataset.data || (dataset.data = []);\n const _data = this._data;\n if (isObject(data)) {\n const meta = this._cachedMeta;\n this._data = convertObjectDataToArray(data, meta);\n } else if (_data !== data) {\n if (_data) {\n unlistenArrayEvents(_data, this);\n const meta = this._cachedMeta;\n clearStacks(meta);\n meta._parsed = [];\n }\n if (data && Object.isExtensible(data)) {\n listenArrayEvents(data, this);\n }\n this._syncList = [];\n this._data = data;\n }\n }\n addElements() {\n const meta = this._cachedMeta;\n this._dataCheck();\n if (this.datasetElementType) {\n meta.dataset = new this.datasetElementType();\n }\n }\n buildOrUpdateElements(resetNewElements) {\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n let stackChanged = false;\n this._dataCheck();\n const oldStacked = meta._stacked;\n meta._stacked = isStacked(meta.vScale, meta);\n if (meta.stack !== dataset.stack) {\n stackChanged = true;\n clearStacks(meta);\n meta.stack = dataset.stack;\n }\n this._resyncElements(resetNewElements);\n if (stackChanged || oldStacked !== meta._stacked) {\n updateStacks(this, meta._parsed);\n }\n }\n configure() {\n const config = this.chart.config;\n const scopeKeys = config.datasetScopeKeys(this._type);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true);\n this.options = config.createResolver(scopes, this.getContext());\n this._parsing = this.options.parsing;\n this._cachedDataOpts = {};\n }\n parse(start, count) {\n const { _cachedMeta: meta , _data: data } = this;\n const { iScale , _stacked } = meta;\n const iAxis = iScale.axis;\n let sorted = start === 0 && count === data.length ? true : meta._sorted;\n let prev = start > 0 && meta._parsed[start - 1];\n let i, cur, parsed;\n if (this._parsing === false) {\n meta._parsed = data;\n meta._sorted = true;\n parsed = data;\n } else {\n if (isArray(data[start])) {\n parsed = this.parseArrayData(meta, data, start, count);\n } else if (isObject(data[start])) {\n parsed = this.parseObjectData(meta, data, start, count);\n } else {\n parsed = this.parsePrimitiveData(meta, data, start, count);\n }\n const isNotInOrderComparedToPrev = ()=>cur[iAxis] === null || prev && cur[iAxis] < prev[iAxis];\n for(i = 0; i < count; ++i){\n meta._parsed[i + start] = cur = parsed[i];\n if (sorted) {\n if (isNotInOrderComparedToPrev()) {\n sorted = false;\n }\n prev = cur;\n }\n }\n meta._sorted = sorted;\n }\n if (_stacked) {\n updateStacks(this, parsed);\n }\n }\n parsePrimitiveData(meta, data, start, count) {\n const { iScale , vScale } = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = new Array(count);\n let i, ilen, index;\n for(i = 0, ilen = count; i < ilen; ++i){\n index = i + start;\n parsed[i] = {\n [iAxis]: singleScale || iScale.parse(labels[index], index),\n [vAxis]: vScale.parse(data[index], index)\n };\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const { xScale , yScale } = meta;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for(i = 0, ilen = count; i < ilen; ++i){\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(item[0], index),\n y: yScale.parse(item[1], index)\n };\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const { xScale , yScale } = meta;\n const { xAxisKey ='x' , yAxisKey ='y' } = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for(i = 0, ilen = count; i < ilen; ++i){\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(resolveObjectKey(item, xAxisKey), index),\n y: yScale.parse(resolveObjectKey(item, yAxisKey), index)\n };\n }\n return parsed;\n }\n getParsed(index) {\n return this._cachedMeta._parsed[index];\n }\n getDataElement(index) {\n return this._cachedMeta.data[index];\n }\n applyStack(scale, parsed, mode) {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const value = parsed[scale.axis];\n const stack = {\n keys: getSortedDatasetIndices(chart, true),\n values: parsed._stacks[scale.axis]._visualValues\n };\n return applyStack(stack, value, meta.index, {\n mode\n });\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n const parsedValue = parsed[scale.axis];\n let value = parsedValue === null ? NaN : parsedValue;\n const values = stack && parsed._stacks[scale.axis];\n if (stack && values) {\n stack.values = values;\n value = applyStack(stack, parsedValue, this._cachedMeta.index);\n }\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n }\n getMinMax(scale, canStack) {\n const meta = this._cachedMeta;\n const _parsed = meta._parsed;\n const sorted = meta._sorted && scale === meta.iScale;\n const ilen = _parsed.length;\n const otherScale = this._getOtherScale(scale);\n const stack = createStack(canStack, meta, this.chart);\n const range = {\n min: Number.POSITIVE_INFINITY,\n max: Number.NEGATIVE_INFINITY\n };\n const { min: otherMin , max: otherMax } = getUserBounds(otherScale);\n let i, parsed;\n function _skip() {\n parsed = _parsed[i];\n const otherValue = parsed[otherScale.axis];\n return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue;\n }\n for(i = 0; i < ilen; ++i){\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n if (sorted) {\n break;\n }\n }\n if (sorted) {\n for(i = ilen - 1; i >= 0; --i){\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n break;\n }\n }\n return range;\n }\n getAllParsedValues(scale) {\n const parsed = this._cachedMeta._parsed;\n const values = [];\n let i, ilen, value;\n for(i = 0, ilen = parsed.length; i < ilen; ++i){\n value = parsed[i][scale.axis];\n if (isNumberFinite(value)) {\n values.push(value);\n }\n }\n return values;\n }\n getMaxOverflow() {\n return false;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n };\n }\n _update(mode) {\n const meta = this._cachedMeta;\n this.update(mode || 'default');\n meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow())));\n }\n update(mode) {}\n draw() {\n const ctx = this._ctx;\n const chart = this.chart;\n const meta = this._cachedMeta;\n const elements = meta.data || [];\n const area = chart.chartArea;\n const active = [];\n const start = this._drawStart || 0;\n const count = this._drawCount || elements.length - start;\n const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop;\n let i;\n if (meta.dataset) {\n meta.dataset.draw(ctx, area, start, count);\n }\n for(i = start; i < start + count; ++i){\n const element = elements[i];\n if (element.hidden) {\n continue;\n }\n if (element.active && drawActiveElementsOnTop) {\n active.push(element);\n } else {\n element.draw(ctx, area);\n }\n }\n for(i = 0; i < active.length; ++i){\n active[i].draw(ctx, area);\n }\n }\n getStyle(index, active) {\n const mode = active ? 'active' : 'default';\n return index === undefined && this._cachedMeta.dataset ? this.resolveDatasetElementOptions(mode) : this.resolveDataElementOptions(index || 0, mode);\n }\n getContext(index, active, mode) {\n const dataset = this.getDataset();\n let context;\n if (index >= 0 && index < this._cachedMeta.data.length) {\n const element = this._cachedMeta.data[index];\n context = element.$context || (element.$context = createDataContext(this.getContext(), index, element));\n context.parsed = this.getParsed(index);\n context.raw = dataset.data[index];\n context.index = context.dataIndex = index;\n } else {\n context = this.$context || (this.$context = createDatasetContext(this.chart.getContext(), this.index));\n context.dataset = dataset;\n context.index = context.datasetIndex = this.index;\n }\n context.active = !!active;\n context.mode = mode;\n return context;\n }\n resolveDatasetElementOptions(mode) {\n return this._resolveElementOptions(this.datasetElementType.id, mode);\n }\n resolveDataElementOptions(index, mode) {\n return this._resolveElementOptions(this.dataElementType.id, mode, index);\n }\n _resolveElementOptions(elementType, mode = 'default', index) {\n const active = mode === 'active';\n const cache = this._cachedDataOpts;\n const cacheKey = elementType + '-' + mode;\n const cached = cache[cacheKey];\n const sharing = this.enableOptionSharing && defined(index);\n if (cached) {\n return cloneIfNotShared(cached, sharing);\n }\n const config = this.chart.config;\n const scopeKeys = config.datasetElementScopeKeys(this._type, elementType);\n const prefixes = active ? [\n `${elementType}Hover`,\n 'hover',\n elementType,\n ''\n ] : [\n elementType,\n ''\n ];\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n const names = Object.keys(defaults.elements[elementType]);\n const context = ()=>this.getContext(index, active, mode);\n const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n if (values.$shared) {\n values.$shared = sharing;\n cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n }\n return values;\n }\n _resolveAnimations(index, transition, active) {\n const chart = this.chart;\n const cache = this._cachedDataOpts;\n const cacheKey = `animation-${transition}`;\n const cached = cache[cacheKey];\n if (cached) {\n return cached;\n }\n let options;\n if (chart.options.animation !== false) {\n const config = this.chart.config;\n const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n options = config.createResolver(scopes, this.getContext(index, active, transition));\n }\n const animations = new Animations(chart, options && options.animations);\n if (options && options._cacheable) {\n cache[cacheKey] = Object.freeze(animations);\n }\n return animations;\n }\n getSharedOptions(options) {\n if (!options.$shared) {\n return;\n }\n return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n }\n includeOptions(mode, sharedOptions) {\n return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n }\n _getSharedOptions(start, mode) {\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const previouslySharedOptions = this._sharedOptions;\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions) || sharedOptions !== previouslySharedOptions;\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n return {\n sharedOptions,\n includeOptions\n };\n }\n updateElement(element, index, properties, mode) {\n if (isDirectUpdateMode(mode)) {\n Object.assign(element, properties);\n } else {\n this._resolveAnimations(index, mode).update(element, properties);\n }\n }\n updateSharedOptions(sharedOptions, mode, newOptions) {\n if (sharedOptions && !isDirectUpdateMode(mode)) {\n this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n }\n }\n _setStyle(element, index, mode, active) {\n element.active = active;\n const options = this.getStyle(index, active);\n this._resolveAnimations(index, mode, active).update(element, {\n options: !active && this.getSharedOptions(options) || options\n });\n }\n removeHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', false);\n }\n setHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', true);\n }\n _removeDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', false);\n }\n }\n _setDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', true);\n }\n }\n _resyncElements(resetNewElements) {\n const data = this._data;\n const elements = this._cachedMeta.data;\n for (const [method, arg1, arg2] of this._syncList){\n this[method](arg1, arg2);\n }\n this._syncList = [];\n const numMeta = elements.length;\n const numData = data.length;\n const count = Math.min(numData, numMeta);\n if (count) {\n this.parse(0, count);\n }\n if (numData > numMeta) {\n this._insertElements(numMeta, numData - numMeta, resetNewElements);\n } else if (numData < numMeta) {\n this._removeElements(numData, numMeta - numData);\n }\n }\n _insertElements(start, count, resetNewElements = true) {\n const meta = this._cachedMeta;\n const data = meta.data;\n const end = start + count;\n let i;\n const move = (arr)=>{\n arr.length += count;\n for(i = arr.length - 1; i >= end; i--){\n arr[i] = arr[i - count];\n }\n };\n move(data);\n for(i = start; i < end; ++i){\n data[i] = new this.dataElementType();\n }\n if (this._parsing) {\n move(meta._parsed);\n }\n this.parse(start, count);\n if (resetNewElements) {\n this.updateElements(data, start, count, 'reset');\n }\n }\n updateElements(element, start, count, mode) {}\n _removeElements(start, count) {\n const meta = this._cachedMeta;\n if (this._parsing) {\n const removed = meta._parsed.splice(start, count);\n if (meta._stacked) {\n clearStacks(meta, removed);\n }\n }\n meta.data.splice(start, count);\n }\n _sync(args) {\n if (this._parsing) {\n this._syncList.push(args);\n } else {\n const [method, arg1, arg2] = args;\n this[method](arg1, arg2);\n }\n this.chart._dataChanges.push([\n this.index,\n ...args\n ]);\n }\n _onDataPush() {\n const count = arguments.length;\n this._sync([\n '_insertElements',\n this.getDataset().data.length - count,\n count\n ]);\n }\n _onDataPop() {\n this._sync([\n '_removeElements',\n this._cachedMeta.data.length - 1,\n 1\n ]);\n }\n _onDataShift() {\n this._sync([\n '_removeElements',\n 0,\n 1\n ]);\n }\n _onDataSplice(start, count) {\n if (count) {\n this._sync([\n '_removeElements',\n start,\n count\n ]);\n }\n const newCount = arguments.length - 2;\n if (newCount) {\n this._sync([\n '_insertElements',\n start,\n newCount\n ]);\n }\n }\n _onDataUnshift() {\n this._sync([\n '_insertElements',\n 0,\n arguments.length\n ]);\n }\n}\n\nfunction getAllScaleValues(scale, type) {\n if (!scale._cache.$bar) {\n const visibleMetas = scale.getMatchingVisibleMetas(type);\n let values = [];\n for(let i = 0, ilen = visibleMetas.length; i < ilen; i++){\n values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale));\n }\n scale._cache.$bar = _arrayUnique(values.sort((a, b)=>a - b));\n }\n return scale._cache.$bar;\n}\n function computeMinSampleSize(meta) {\n const scale = meta.iScale;\n const values = getAllScaleValues(scale, meta.type);\n let min = scale._length;\n let i, ilen, curr, prev;\n const updateMinAndPrev = ()=>{\n if (curr === 32767 || curr === -32768) {\n return;\n }\n if (defined(prev)) {\n min = Math.min(min, Math.abs(curr - prev) || min);\n }\n prev = curr;\n };\n for(i = 0, ilen = values.length; i < ilen; ++i){\n curr = scale.getPixelForValue(values[i]);\n updateMinAndPrev();\n }\n prev = undefined;\n for(i = 0, ilen = scale.ticks.length; i < ilen; ++i){\n curr = scale.getPixelForTick(i);\n updateMinAndPrev();\n }\n return min;\n}\n function computeFitCategoryTraits(index, ruler, options, stackCount) {\n const thickness = options.barThickness;\n let size, ratio;\n if (isNullOrUndef(thickness)) {\n size = ruler.min * options.categoryPercentage;\n ratio = options.barPercentage;\n } else {\n size = thickness * stackCount;\n ratio = 1;\n }\n return {\n chunk: size / stackCount,\n ratio,\n start: ruler.pixels[index] - size / 2\n };\n}\n function computeFlexCategoryTraits(index, ruler, options, stackCount) {\n const pixels = ruler.pixels;\n const curr = pixels[index];\n let prev = index > 0 ? pixels[index - 1] : null;\n let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n const percent = options.categoryPercentage;\n if (prev === null) {\n prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n }\n if (next === null) {\n next = curr + curr - prev;\n }\n const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n const size = Math.abs(next - prev) / 2 * percent;\n return {\n chunk: size / stackCount,\n ratio: options.barPercentage,\n start\n };\n}\nfunction parseFloatBar(entry, item, vScale, i) {\n const startValue = vScale.parse(entry[0], i);\n const endValue = vScale.parse(entry[1], i);\n const min = Math.min(startValue, endValue);\n const max = Math.max(startValue, endValue);\n let barStart = min;\n let barEnd = max;\n if (Math.abs(min) > Math.abs(max)) {\n barStart = max;\n barEnd = min;\n }\n item[vScale.axis] = barEnd;\n item._custom = {\n barStart,\n barEnd,\n start: startValue,\n end: endValue,\n min,\n max\n };\n}\nfunction parseValue(entry, item, vScale, i) {\n if (isArray(entry)) {\n parseFloatBar(entry, item, vScale, i);\n } else {\n item[vScale.axis] = vScale.parse(entry, i);\n }\n return item;\n}\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = [];\n let i, ilen, item, entry;\n for(i = start, ilen = start + count; i < ilen; ++i){\n entry = data[i];\n item = {};\n item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n parsed.push(parseValue(entry, item, vScale, i));\n }\n return parsed;\n}\nfunction isFloatBar(custom) {\n return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\nfunction barSign(size, vScale, actualBase) {\n if (size !== 0) {\n return sign(size);\n }\n return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\nfunction borderProps(properties) {\n let reverse, start, end, top, bottom;\n if (properties.horizontal) {\n reverse = properties.base > properties.x;\n start = 'left';\n end = 'right';\n } else {\n reverse = properties.base < properties.y;\n start = 'bottom';\n end = 'top';\n }\n if (reverse) {\n top = 'end';\n bottom = 'start';\n } else {\n top = 'start';\n bottom = 'end';\n }\n return {\n start,\n end,\n reverse,\n top,\n bottom\n };\n}\nfunction setBorderSkipped(properties, options, stack, index) {\n let edge = options.borderSkipped;\n const res = {};\n if (!edge) {\n properties.borderSkipped = res;\n return;\n }\n if (edge === true) {\n properties.borderSkipped = {\n top: true,\n right: true,\n bottom: true,\n left: true\n };\n return;\n }\n const { start , end , reverse , top , bottom } = borderProps(properties);\n if (edge === 'middle' && stack) {\n properties.enableBorderRadius = true;\n if ((stack._top || 0) === index) {\n edge = top;\n } else if ((stack._bottom || 0) === index) {\n edge = bottom;\n } else {\n res[parseEdge(bottom, start, end, reverse)] = true;\n edge = top;\n }\n }\n res[parseEdge(edge, start, end, reverse)] = true;\n properties.borderSkipped = res;\n}\nfunction parseEdge(edge, a, b, reverse) {\n if (reverse) {\n edge = swap(edge, a, b);\n edge = startEnd(edge, b, a);\n } else {\n edge = startEnd(edge, a, b);\n }\n return edge;\n}\nfunction swap(orig, v1, v2) {\n return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\nfunction startEnd(v, start, end) {\n return v === 'start' ? start : v === 'end' ? end : v;\n}\nfunction setInflateAmount(properties, { inflateAmount }, ratio) {\n properties.inflateAmount = inflateAmount === 'auto' ? ratio === 1 ? 0.33 : 0 : inflateAmount;\n}\nclass BarController extends DatasetController {\n static id = 'bar';\n static defaults = {\n datasetElementType: false,\n dataElementType: 'bar',\n categoryPercentage: 0.8,\n barPercentage: 0.9,\n grouped: true,\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'x',\n 'y',\n 'base',\n 'width',\n 'height'\n ]\n }\n }\n };\n static overrides = {\n scales: {\n _index_: {\n type: 'category',\n offset: true,\n grid: {\n offset: true\n }\n },\n _value_: {\n type: 'linear',\n beginAtZero: true\n }\n }\n };\n parsePrimitiveData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseArrayData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseObjectData(meta, data, start, count) {\n const { iScale , vScale } = meta;\n const { xAxisKey ='x' , yAxisKey ='y' } = this._parsing;\n const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n const parsed = [];\n let i, ilen, item, obj;\n for(i = start, ilen = start + count; i < ilen; ++i){\n obj = data[i];\n item = {};\n item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i);\n parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i));\n }\n return parsed;\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n super.updateRangeFromParsed(range, scale, parsed, stack);\n const custom = parsed._custom;\n if (custom && scale === this._cachedMeta.vScale) {\n range.min = Math.min(range.min, custom.min);\n range.max = Math.max(range.max, custom.max);\n }\n }\n getMaxOverflow() {\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const { iScale , vScale } = meta;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const value = isFloatBar(custom) ? '[' + custom.start + ', ' + custom.end + ']' : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n return {\n label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n value\n };\n }\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n const meta = this._cachedMeta;\n meta.stack = this.getDataset().stack;\n }\n update(mode) {\n const meta = this._cachedMeta;\n this.updateElements(meta.data, 0, meta.data.length, mode);\n }\n updateElements(bars, start, count, mode) {\n const reset = mode === 'reset';\n const { index , _cachedMeta: { vScale } } = this;\n const base = vScale.getBasePixel();\n const horizontal = vScale.isHorizontal();\n const ruler = this._getRuler();\n const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode);\n for(let i = start; i < start + count; i++){\n const parsed = this.getParsed(i);\n const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {\n base,\n head: base\n } : this._calculateBarValuePixels(i);\n const ipixels = this._calculateBarIndexPixels(i, ruler);\n const stack = (parsed._stacks || {})[vScale.axis];\n const properties = {\n horizontal,\n base: vpixels.base,\n enableBorderRadius: !stack || isFloatBar(parsed._custom) || index === stack._top || index === stack._bottom,\n x: horizontal ? vpixels.head : ipixels.center,\n y: horizontal ? ipixels.center : vpixels.head,\n height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n }\n const options = properties.options || bars[i].options;\n setBorderSkipped(properties, options, stack, index);\n setInflateAmount(properties, options, ruler.ratio);\n this.updateElement(bars[i], i, properties, mode);\n }\n }\n _getStacks(last, dataIndex) {\n const { iScale } = this._cachedMeta;\n const metasets = iScale.getMatchingVisibleMetas(this._type).filter((meta)=>meta.controller.options.grouped);\n const stacked = iScale.options.stacked;\n const stacks = [];\n const currentParsed = this._cachedMeta.controller.getParsed(dataIndex);\n const iScaleValue = currentParsed && currentParsed[iScale.axis];\n const skipNull = (meta)=>{\n const parsed = meta._parsed.find((item)=>item[iScale.axis] === iScaleValue);\n const val = parsed && parsed[meta.vScale.axis];\n if (isNullOrUndef(val) || isNaN(val)) {\n return true;\n }\n };\n for (const meta of metasets){\n if (dataIndex !== undefined && skipNull(meta)) {\n continue;\n }\n if (stacked === false || stacks.indexOf(meta.stack) === -1 || stacked === undefined && meta.stack === undefined) {\n stacks.push(meta.stack);\n }\n if (meta.index === last) {\n break;\n }\n }\n if (!stacks.length) {\n stacks.push(undefined);\n }\n return stacks;\n }\n _getStackCount(index) {\n return this._getStacks(undefined, index).length;\n }\n _getStackIndex(datasetIndex, name, dataIndex) {\n const stacks = this._getStacks(datasetIndex, dataIndex);\n const index = name !== undefined ? stacks.indexOf(name) : -1;\n return index === -1 ? stacks.length - 1 : index;\n }\n _getRuler() {\n const opts = this.options;\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const pixels = [];\n let i, ilen;\n for(i = 0, ilen = meta.data.length; i < ilen; ++i){\n pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i));\n }\n const barThickness = opts.barThickness;\n const min = barThickness || computeMinSampleSize(meta);\n return {\n min,\n pixels,\n start: iScale._startPixel,\n end: iScale._endPixel,\n stackCount: this._getStackCount(),\n scale: iScale,\n grouped: opts.grouped,\n ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n };\n }\n _calculateBarValuePixels(index) {\n const { _cachedMeta: { vScale , _stacked , index: datasetIndex } , options: { base: baseValue , minBarLength } } = this;\n const actualBase = baseValue || 0;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const floating = isFloatBar(custom);\n let value = parsed[vScale.axis];\n let start = 0;\n let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value;\n let head, size;\n if (length !== value) {\n start = length - value;\n length = value;\n }\n if (floating) {\n value = custom.barStart;\n length = custom.barEnd - custom.barStart;\n if (value !== 0 && sign(value) !== sign(custom.barEnd)) {\n start = 0;\n }\n start += value;\n }\n const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start;\n let base = vScale.getPixelForValue(startValue);\n if (this.chart.getDataVisibility(index)) {\n head = vScale.getPixelForValue(start + length);\n } else {\n head = base;\n }\n size = head - base;\n if (Math.abs(size) < minBarLength) {\n size = barSign(size, vScale, actualBase) * minBarLength;\n if (value === actualBase) {\n base -= size / 2;\n }\n const startPixel = vScale.getPixelForDecimal(0);\n const endPixel = vScale.getPixelForDecimal(1);\n const min = Math.min(startPixel, endPixel);\n const max = Math.max(startPixel, endPixel);\n base = Math.max(Math.min(base, max), min);\n head = base + size;\n if (_stacked && !floating) {\n parsed._stacks[vScale.axis]._visualValues[datasetIndex] = vScale.getValueForPixel(head) - vScale.getValueForPixel(base);\n }\n }\n if (base === vScale.getPixelForValue(actualBase)) {\n const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2;\n base += halfGrid;\n size -= halfGrid;\n }\n return {\n size,\n base,\n head,\n center: head + size / 2\n };\n }\n _calculateBarIndexPixels(index, ruler) {\n const scale = ruler.scale;\n const options = this.options;\n const skipNull = options.skipNull;\n const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity);\n let center, size;\n if (ruler.grouped) {\n const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount;\n const range = options.barThickness === 'flex' ? computeFlexCategoryTraits(index, ruler, options, stackCount) : computeFitCategoryTraits(index, ruler, options, stackCount);\n const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined);\n center = range.start + range.chunk * stackIndex + range.chunk / 2;\n size = Math.min(maxBarThickness, range.chunk * range.ratio);\n } else {\n center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index);\n size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n }\n return {\n base: center - size / 2,\n head: center + size / 2,\n center,\n size\n };\n }\n draw() {\n const meta = this._cachedMeta;\n const vScale = meta.vScale;\n const rects = meta.data;\n const ilen = rects.length;\n let i = 0;\n for(; i < ilen; ++i){\n if (this.getParsed(i)[vScale.axis] !== null && !rects[i].hidden) {\n rects[i].draw(this._ctx);\n }\n }\n }\n}\n\nclass BubbleController extends DatasetController {\n static id = 'bubble';\n static defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'x',\n 'y',\n 'borderWidth',\n 'radius'\n ]\n }\n }\n };\n static overrides = {\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n };\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n parsePrimitiveData(meta, data, start, count) {\n const parsed = super.parsePrimitiveData(meta, data, start, count);\n for(let i = 0; i < parsed.length; i++){\n parsed[i]._custom = this.resolveDataElementOptions(i + start).radius;\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const parsed = super.parseArrayData(meta, data, start, count);\n for(let i = 0; i < parsed.length; i++){\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const parsed = super.parseObjectData(meta, data, start, count);\n for(let i = 0; i < parsed.length; i++){\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n getMaxOverflow() {\n const data = this._cachedMeta.data;\n let max = 0;\n for(let i = data.length - 1; i >= 0; --i){\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const labels = this.chart.data.labels || [];\n const { xScale , yScale } = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n const r = parsed._custom;\n return {\n label: labels[index] || '',\n value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n };\n }\n update(mode) {\n const points = this._cachedMeta.data;\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const { iScale , vScale } = this._cachedMeta;\n const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n for(let i = start; i < start + count; i++){\n const point = points[i];\n const parsed = !reset && this.getParsed(i);\n const properties = {};\n const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n properties.skip = isNaN(iPixel) || isNaN(vPixel);\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n if (reset) {\n properties.options.radius = 0;\n }\n }\n this.updateElement(point, i, properties, mode);\n }\n }\n resolveDataElementOptions(index, mode) {\n const parsed = this.getParsed(index);\n let values = super.resolveDataElementOptions(index, mode);\n if (values.$shared) {\n values = Object.assign({}, values, {\n $shared: false\n });\n }\n const radius = values.radius;\n if (mode !== 'active') {\n values.radius = 0;\n }\n values.radius += valueOrDefault(parsed && parsed._custom, radius);\n return values;\n }\n}\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n let ratioX = 1;\n let ratioY = 1;\n let offsetX = 0;\n let offsetY = 0;\n if (circumference < TAU) {\n const startAngle = rotation;\n const endAngle = startAngle + circumference;\n const startX = Math.cos(startAngle);\n const startY = Math.sin(startAngle);\n const endX = Math.cos(endAngle);\n const endY = Math.sin(endAngle);\n const calcMax = (angle, a, b)=>_angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n const calcMin = (angle, a, b)=>_angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n const maxX = calcMax(0, startX, endX);\n const maxY = calcMax(HALF_PI, startY, endY);\n const minX = calcMin(PI, startX, endX);\n const minY = calcMin(PI + HALF_PI, startY, endY);\n ratioX = (maxX - minX) / 2;\n ratioY = (maxY - minY) / 2;\n offsetX = -(maxX + minX) / 2;\n offsetY = -(maxY + minY) / 2;\n }\n return {\n ratioX,\n ratioY,\n offsetX,\n offsetY\n };\n}\nclass DoughnutController extends DatasetController {\n static id = 'doughnut';\n static defaults = {\n datasetElementType: false,\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: false\n },\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'circumference',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'startAngle',\n 'x',\n 'y',\n 'offset',\n 'borderWidth',\n 'spacing'\n ]\n }\n },\n cutout: '50%',\n rotation: 0,\n circumference: 360,\n radius: '100%',\n spacing: 0,\n indexAxis: 'r'\n };\n static descriptors = {\n _scriptable: (name)=>name !== 'spacing',\n _indexable: (name)=>name !== 'spacing' && !name.startsWith('borderDash') && !name.startsWith('hoverBorderDash')\n };\n static overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels (chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const { labels: { pointStyle , color } } = chart.legend.options;\n return data.labels.map((label, i)=>{\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n fontColor: color,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick (e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n }\n }\n };\n constructor(chart, datasetIndex){\n super(chart, datasetIndex);\n this.enableOptionSharing = true;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.offsetX = undefined;\n this.offsetY = undefined;\n }\n linkScales() {}\n parse(start, count) {\n const data = this.getDataset().data;\n const meta = this._cachedMeta;\n if (this._parsing === false) {\n meta._parsed = data;\n } else {\n let getter = (i)=>+data[i];\n if (isObject(data[start])) {\n const { key ='value' } = this._parsing;\n getter = (i)=>+resolveObjectKey(data[i], key);\n }\n let i, ilen;\n for(i = start, ilen = start + count; i < ilen; ++i){\n meta._parsed[i] = getter(i);\n }\n }\n }\n _getRotation() {\n return toRadians(this.options.rotation - 90);\n }\n _getCircumference() {\n return toRadians(this.options.circumference);\n }\n _getRotationExtents() {\n let min = TAU;\n let max = -TAU;\n for(let i = 0; i < this.chart.data.datasets.length; ++i){\n if (this.chart.isDatasetVisible(i) && this.chart.getDatasetMeta(i).type === this._type) {\n const controller = this.chart.getDatasetMeta(i).controller;\n const rotation = controller._getRotation();\n const circumference = controller._getCircumference();\n min = Math.min(min, rotation);\n max = Math.max(max, rotation + circumference);\n }\n }\n return {\n rotation: min,\n circumference: max - min\n };\n }\n update(mode) {\n const chart = this.chart;\n const { chartArea } = chart;\n const meta = this._cachedMeta;\n const arcs = meta.data;\n const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing;\n const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1);\n const chartWeight = this._getRingWeight(this.index);\n const { circumference , rotation } = this._getRotationExtents();\n const { ratioX , ratioY , offsetX , offsetY } = getRatioAndOffset(rotation, circumference, cutout);\n const maxWidth = (chartArea.width - spacing) / ratioX;\n const maxHeight = (chartArea.height - spacing) / ratioY;\n const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n const outerRadius = toDimension(this.options.radius, maxRadius);\n const innerRadius = Math.max(outerRadius * cutout, 0);\n const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal();\n this.offsetX = offsetX * outerRadius;\n this.offsetY = offsetY * outerRadius;\n meta.total = this.calculateTotal();\n this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index);\n this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0);\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n _circumference(i, reset) {\n const opts = this.options;\n const meta = this._cachedMeta;\n const circumference = this._getCircumference();\n if (reset && opts.animation.animateRotate || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n return 0;\n }\n return this.calculateCircumference(meta._parsed[i] * circumference / TAU);\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const centerX = (chartArea.left + chartArea.right) / 2;\n const centerY = (chartArea.top + chartArea.bottom) / 2;\n const animateScale = reset && animationOpts.animateScale;\n const innerRadius = animateScale ? 0 : this.innerRadius;\n const outerRadius = animateScale ? 0 : this.outerRadius;\n const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode);\n let startAngle = this._getRotation();\n let i;\n for(i = 0; i < start; ++i){\n startAngle += this._circumference(i, reset);\n }\n for(i = start; i < start + count; ++i){\n const circumference = this._circumference(i, reset);\n const arc = arcs[i];\n const properties = {\n x: centerX + this.offsetX,\n y: centerY + this.offsetY,\n startAngle,\n endAngle: startAngle + circumference,\n circumference,\n outerRadius,\n innerRadius\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n }\n startAngle += circumference;\n this.updateElement(arc, i, properties, mode);\n }\n }\n calculateTotal() {\n const meta = this._cachedMeta;\n const metaData = meta.data;\n let total = 0;\n let i;\n for(i = 0; i < metaData.length; i++){\n const value = meta._parsed[i];\n if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n total += Math.abs(value);\n }\n }\n return total;\n }\n calculateCircumference(value) {\n const total = this._cachedMeta.total;\n if (total > 0 && !isNaN(value)) {\n return TAU * (Math.abs(value) / total);\n }\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index], chart.options.locale);\n return {\n label: labels[index] || '',\n value\n };\n }\n getMaxBorderWidth(arcs) {\n let max = 0;\n const chart = this.chart;\n let i, ilen, meta, controller, options;\n if (!arcs) {\n for(i = 0, ilen = chart.data.datasets.length; i < ilen; ++i){\n if (chart.isDatasetVisible(i)) {\n meta = chart.getDatasetMeta(i);\n arcs = meta.data;\n controller = meta.controller;\n break;\n }\n }\n }\n if (!arcs) {\n return 0;\n }\n for(i = 0, ilen = arcs.length; i < ilen; ++i){\n options = controller.resolveDataElementOptions(i);\n if (options.borderAlign !== 'inner') {\n max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n }\n }\n return max;\n }\n getMaxOffset(arcs) {\n let max = 0;\n for(let i = 0, ilen = arcs.length; i < ilen; ++i){\n const options = this.resolveDataElementOptions(i);\n max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n }\n return max;\n }\n _getRingWeightOffset(datasetIndex) {\n let ringWeightOffset = 0;\n for(let i = 0; i < datasetIndex; ++i){\n if (this.chart.isDatasetVisible(i)) {\n ringWeightOffset += this._getRingWeight(i);\n }\n }\n return ringWeightOffset;\n }\n _getRingWeight(datasetIndex) {\n return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n }\n _getVisibleDatasetWeightTotal() {\n return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n }\n}\n\nclass LineController extends DatasetController {\n static id = 'line';\n static defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n showLine: true,\n spanGaps: false\n };\n static overrides = {\n scales: {\n _index_: {\n type: 'category'\n },\n _value_: {\n type: 'linear'\n }\n }\n };\n initialize() {\n this.enableOptionSharing = true;\n this.supportsDecimation = true;\n super.initialize();\n }\n update(mode) {\n const meta = this._cachedMeta;\n const { dataset: line , data: points = [] , _dataset } = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let { start , count } = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n this.updateElements(points, start, count, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const { iScale , vScale , _stacked , _dataset } = this._cachedMeta;\n const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const { spanGaps , segment } = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n const end = start + count;\n const pointsCount = points.length;\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for(let i = 0; i < pointsCount; ++i){\n const point = points[i];\n const properties = directUpdate ? point : {};\n if (i < start || i >= end) {\n properties.skip = true;\n continue;\n }\n const parsed = this.getParsed(i);\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && Math.abs(parsed[iAxis] - prevParsed[iAxis]) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n const data = meta.data || [];\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n draw() {\n const meta = this._cachedMeta;\n meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n super.draw();\n }\n}\n\nclass PolarAreaController extends DatasetController {\n static id = 'polarArea';\n static defaults = {\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: true\n },\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius'\n ]\n }\n },\n indexAxis: 'r',\n startAngle: 0\n };\n static overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels (chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const { labels: { pointStyle , color } } = chart.legend.options;\n return data.labels.map((label, i)=>{\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n fontColor: color,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick (e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n }\n },\n scales: {\n r: {\n type: 'radialLinear',\n angleLines: {\n display: false\n },\n beginAtZero: true,\n grid: {\n circular: true\n },\n pointLabels: {\n display: false\n },\n startAngle: 0\n }\n }\n };\n constructor(chart, datasetIndex){\n super(chart, datasetIndex);\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index].r, chart.options.locale);\n return {\n label: labels[index] || '',\n value\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const arcs = this._cachedMeta.data;\n this._updateRadius();\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n getMinMax() {\n const meta = this._cachedMeta;\n const range = {\n min: Number.POSITIVE_INFINITY,\n max: Number.NEGATIVE_INFINITY\n };\n meta.data.forEach((element, index)=>{\n const parsed = this.getParsed(index).r;\n if (!isNaN(parsed) && this.chart.getDataVisibility(index)) {\n if (parsed < range.min) {\n range.min = parsed;\n }\n if (parsed > range.max) {\n range.max = parsed;\n }\n }\n });\n return range;\n }\n _updateRadius() {\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n const outerRadius = Math.max(minSize / 2, 0);\n const innerRadius = Math.max(opts.cutoutPercentage ? outerRadius / 100 * opts.cutoutPercentage : 1, 0);\n const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n this.outerRadius = outerRadius - radiusLength * this.index;\n this.innerRadius = this.outerRadius - radiusLength;\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const scale = this._cachedMeta.rScale;\n const centerX = scale.xCenter;\n const centerY = scale.yCenter;\n const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI;\n let angle = datasetStartAngle;\n let i;\n const defaultAngle = 360 / this.countVisibleElements();\n for(i = 0; i < start; ++i){\n angle += this._computeAngle(i, mode, defaultAngle);\n }\n for(i = start; i < start + count; i++){\n const arc = arcs[i];\n let startAngle = angle;\n let endAngle = angle + this._computeAngle(i, mode, defaultAngle);\n let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0;\n angle = endAngle;\n if (reset) {\n if (animationOpts.animateScale) {\n outerRadius = 0;\n }\n if (animationOpts.animateRotate) {\n startAngle = endAngle = datasetStartAngle;\n }\n }\n const properties = {\n x: centerX,\n y: centerY,\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle,\n options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n };\n this.updateElement(arc, i, properties, mode);\n }\n }\n countVisibleElements() {\n const meta = this._cachedMeta;\n let count = 0;\n meta.data.forEach((element, index)=>{\n if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) {\n count++;\n }\n });\n return count;\n }\n _computeAngle(index, mode, defaultAngle) {\n return this.chart.getDataVisibility(index) ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle) : 0;\n }\n}\n\nclass PieController extends DoughnutController {\n static id = 'pie';\n static defaults = {\n cutout: 0,\n rotation: 0,\n circumference: 360,\n radius: '100%'\n };\n}\n\nclass RadarController extends DatasetController {\n static id = 'radar';\n static defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n indexAxis: 'r',\n showLine: true,\n elements: {\n line: {\n fill: 'start'\n }\n }\n };\n static overrides = {\n aspectRatio: 1,\n scales: {\n r: {\n type: 'radialLinear'\n }\n }\n };\n getLabelAndValue(index) {\n const vScale = this._cachedMeta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: vScale.getLabels()[index],\n value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const meta = this._cachedMeta;\n const line = meta.dataset;\n const points = meta.data || [];\n const labels = meta.iScale.getLabels();\n line.points = points;\n if (mode !== 'resize') {\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n const properties = {\n _loop: true,\n _fullLoop: labels.length === points.length,\n options\n };\n this.updateElement(line, undefined, properties, mode);\n }\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const scale = this._cachedMeta.rScale;\n const reset = mode === 'reset';\n for(let i = start; i < start + count; i++){\n const point = points[i];\n const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r);\n const x = reset ? scale.xCenter : pointPosition.x;\n const y = reset ? scale.yCenter : pointPosition.y;\n const properties = {\n x,\n y,\n angle: pointPosition.angle,\n skip: isNaN(x) || isNaN(y),\n options\n };\n this.updateElement(point, i, properties, mode);\n }\n }\n}\n\nclass ScatterController extends DatasetController {\n static id = 'scatter';\n static defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n showLine: false,\n fill: false\n };\n static overrides = {\n interaction: {\n mode: 'point'\n },\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n };\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const labels = this.chart.data.labels || [];\n const { xScale , yScale } = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n return {\n label: labels[index] || '',\n value: '(' + x + ', ' + y + ')'\n };\n }\n update(mode) {\n const meta = this._cachedMeta;\n const { data: points = [] } = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let { start , count } = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n if (this.options.showLine) {\n if (!this.datasetElementType) {\n this.addElements();\n }\n const { dataset: line , _dataset } = meta;\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n } else if (this.datasetElementType) {\n delete meta.dataset;\n this.datasetElementType = false;\n }\n this.updateElements(points, start, count, mode);\n }\n addElements() {\n const { showLine } = this.options;\n if (!this.datasetElementType && showLine) {\n this.datasetElementType = this.chart.registry.getElement('line');\n }\n super.addElements();\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const { iScale , vScale , _stacked , _dataset } = this._cachedMeta;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const { spanGaps , segment } = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for(let i = start; i < start + count; ++i){\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && Math.abs(parsed[iAxis] - prevParsed[iAxis]) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const data = meta.data || [];\n if (!this.options.showLine) {\n let max = 0;\n for(let i = data.length - 1; i >= 0; --i){\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n}\n\nvar controllers = /*#__PURE__*/Object.freeze({\n__proto__: null,\nBarController: BarController,\nBubbleController: BubbleController,\nDoughnutController: DoughnutController,\nLineController: LineController,\nPieController: PieController,\nPolarAreaController: PolarAreaController,\nRadarController: RadarController,\nScatterController: ScatterController\n});\n\n/**\n * @namespace Chart._adapters\n * @since 2.8.0\n * @private\n */ function abstract() {\n throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\n/**\n * Date adapter (current used by the time scale)\n * @namespace Chart._adapters._date\n * @memberof Chart._adapters\n * @private\n */ class DateAdapterBase {\n /**\n * Override default date adapter methods.\n * Accepts type parameter to define options type.\n * @example\n * Chart._adapters._date.override<{myAdapterOption: string}>({\n * init() {\n * console.log(this.options.myAdapterOption);\n * }\n * })\n */ static override(members) {\n Object.assign(DateAdapterBase.prototype, members);\n }\n options;\n constructor(options){\n this.options = options || {};\n }\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n init() {}\n formats() {\n return abstract();\n }\n parse() {\n return abstract();\n }\n format() {\n return abstract();\n }\n add() {\n return abstract();\n }\n diff() {\n return abstract();\n }\n startOf() {\n return abstract();\n }\n endOf() {\n return abstract();\n }\n}\nvar adapters = {\n _date: DateAdapterBase\n};\n\nfunction binarySearch(metaset, axis, value, intersect) {\n const { controller , data , _sorted } = metaset;\n const iScale = controller._cachedMeta.iScale;\n if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) {\n const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey;\n if (!intersect) {\n return lookupMethod(data, axis, value);\n } else if (controller._sharedOptions) {\n const el = data[0];\n const range = typeof el.getRange === 'function' && el.getRange(axis);\n if (range) {\n const start = lookupMethod(data, axis, value - range);\n const end = lookupMethod(data, axis, value + range);\n return {\n lo: start.lo,\n hi: end.hi\n };\n }\n }\n }\n return {\n lo: 0,\n hi: data.length - 1\n };\n}\n function evaluateInteractionItems(chart, axis, position, handler, intersect) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n const value = position[axis];\n for(let i = 0, ilen = metasets.length; i < ilen; ++i){\n const { index , data } = metasets[i];\n const { lo , hi } = binarySearch(metasets[i], axis, value, intersect);\n for(let j = lo; j <= hi; ++j){\n const element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\n function getDistanceMetricForAxis(axis) {\n const useX = axis.indexOf('x') !== -1;\n const useY = axis.indexOf('y') !== -1;\n return function(pt1, pt2) {\n const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n };\n}\n function getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) {\n const items = [];\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return items;\n }\n const evaluationFunc = function(element, datasetIndex, index) {\n if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) {\n return;\n }\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n items.push({\n element,\n datasetIndex,\n index\n });\n }\n };\n evaluateInteractionItems(chart, axis, position, evaluationFunc, true);\n return items;\n}\n function getNearestRadialItems(chart, position, axis, useFinalPosition) {\n let items = [];\n function evaluationFunc(element, datasetIndex, index) {\n const { startAngle , endAngle } = element.getProps([\n 'startAngle',\n 'endAngle'\n ], useFinalPosition);\n const { angle } = getAngleFromPoint(element, {\n x: position.x,\n y: position.y\n });\n if (_angleBetween(angle, startAngle, endAngle)) {\n items.push({\n element,\n datasetIndex,\n index\n });\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\n function getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n let items = [];\n const distanceMetric = getDistanceMetricForAxis(axis);\n let minDistance = Number.POSITIVE_INFINITY;\n function evaluationFunc(element, datasetIndex, index) {\n const inRange = element.inRange(position.x, position.y, useFinalPosition);\n if (intersect && !inRange) {\n return;\n }\n const center = element.getCenterPoint(useFinalPosition);\n const pointInArea = !!includeInvisible || chart.isPointInArea(center);\n if (!pointInArea && !inRange) {\n return;\n }\n const distance = distanceMetric(position, center);\n if (distance < minDistance) {\n items = [\n {\n element,\n datasetIndex,\n index\n }\n ];\n minDistance = distance;\n } else if (distance === minDistance) {\n items.push({\n element,\n datasetIndex,\n index\n });\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\n function getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return [];\n }\n return axis === 'r' && !intersect ? getNearestRadialItems(chart, position, axis, useFinalPosition) : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible);\n}\n function getAxisItems(chart, position, axis, intersect, useFinalPosition) {\n const items = [];\n const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n let intersectsItem = false;\n evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index)=>{\n if (element[rangeMethod] && element[rangeMethod](position[axis], useFinalPosition)) {\n items.push({\n element,\n datasetIndex,\n index\n });\n intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition);\n }\n });\n if (intersect && !intersectsItem) {\n return [];\n }\n return items;\n}\n var Interaction = {\n evaluateInteractionItems,\n modes: {\n index (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'x';\n const includeInvisible = options.includeInvisible || false;\n const items = options.intersect ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n const elements = [];\n if (!items.length) {\n return [];\n }\n chart.getSortedVisibleDatasetMetas().forEach((meta)=>{\n const index = items[0].index;\n const element = meta.data[index];\n if (element && !element.skip) {\n elements.push({\n element,\n datasetIndex: meta.index,\n index\n });\n }\n });\n return elements;\n },\n dataset (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n let items = options.intersect ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n if (items.length > 0) {\n const datasetIndex = items[0].datasetIndex;\n const data = chart.getDatasetMeta(datasetIndex).data;\n items = [];\n for(let i = 0; i < data.length; ++i){\n items.push({\n element: data[i],\n datasetIndex,\n index: i\n });\n }\n }\n return items;\n },\n point (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible);\n },\n nearest (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible);\n },\n x (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition);\n },\n y (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition);\n }\n }\n};\n\nconst STATIC_POSITIONS = [\n 'left',\n 'top',\n 'right',\n 'bottom'\n];\nfunction filterByPosition(array, position) {\n return array.filter((v)=>v.pos === position);\n}\nfunction filterDynamicPositionByAxis(array, axis) {\n return array.filter((v)=>STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\nfunction sortByWeight(array, reverse) {\n return array.sort((a, b)=>{\n const v0 = reverse ? b : a;\n const v1 = reverse ? a : b;\n return v0.weight === v1.weight ? v0.index - v1.index : v0.weight - v1.weight;\n });\n}\nfunction wrapBoxes(boxes) {\n const layoutBoxes = [];\n let i, ilen, box, pos, stack, stackWeight;\n for(i = 0, ilen = (boxes || []).length; i < ilen; ++i){\n box = boxes[i];\n ({ position: pos , options: { stack , stackWeight =1 } } = box);\n layoutBoxes.push({\n index: i,\n box,\n pos,\n horizontal: box.isHorizontal(),\n weight: box.weight,\n stack: stack && pos + stack,\n stackWeight\n });\n }\n return layoutBoxes;\n}\nfunction buildStacks(layouts) {\n const stacks = {};\n for (const wrap of layouts){\n const { stack , pos , stackWeight } = wrap;\n if (!stack || !STATIC_POSITIONS.includes(pos)) {\n continue;\n }\n const _stack = stacks[stack] || (stacks[stack] = {\n count: 0,\n placed: 0,\n weight: 0,\n size: 0\n });\n _stack.count++;\n _stack.weight += stackWeight;\n }\n return stacks;\n}\n function setLayoutDims(layouts, params) {\n const stacks = buildStacks(layouts);\n const { vBoxMaxWidth , hBoxMaxHeight } = params;\n let i, ilen, layout;\n for(i = 0, ilen = layouts.length; i < ilen; ++i){\n layout = layouts[i];\n const { fullSize } = layout.box;\n const stack = stacks[layout.stack];\n const factor = stack && layout.stackWeight / stack.weight;\n if (layout.horizontal) {\n layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n layout.height = hBoxMaxHeight;\n } else {\n layout.width = vBoxMaxWidth;\n layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n }\n }\n return stacks;\n}\nfunction buildLayoutBoxes(boxes) {\n const layoutBoxes = wrapBoxes(boxes);\n const fullSize = sortByWeight(layoutBoxes.filter((wrap)=>wrap.box.fullSize), true);\n const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n return {\n fullSize,\n leftAndTop: left.concat(top),\n rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n vertical: left.concat(right).concat(centerVertical),\n horizontal: top.concat(bottom).concat(centerHorizontal)\n };\n}\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\nfunction updateMaxPadding(maxPadding, boxPadding) {\n maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\nfunction updateDims(chartArea, params, layout, stacks) {\n const { pos , box } = layout;\n const maxPadding = chartArea.maxPadding;\n if (!isObject(pos)) {\n if (layout.size) {\n chartArea[pos] -= layout.size;\n }\n const stack = stacks[layout.stack] || {\n size: 0,\n count: 1\n };\n stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n layout.size = stack.size / stack.count;\n chartArea[pos] += layout.size;\n }\n if (box.getPadding) {\n updateMaxPadding(maxPadding, box.getPadding());\n }\n const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n const widthChanged = newWidth !== chartArea.w;\n const heightChanged = newHeight !== chartArea.h;\n chartArea.w = newWidth;\n chartArea.h = newHeight;\n return layout.horizontal ? {\n same: widthChanged,\n other: heightChanged\n } : {\n same: heightChanged,\n other: widthChanged\n };\n}\nfunction handleMaxPadding(chartArea) {\n const maxPadding = chartArea.maxPadding;\n function updatePos(pos) {\n const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n chartArea[pos] += change;\n return change;\n }\n chartArea.y += updatePos('top');\n chartArea.x += updatePos('left');\n updatePos('right');\n updatePos('bottom');\n}\nfunction getMargins(horizontal, chartArea) {\n const maxPadding = chartArea.maxPadding;\n function marginForPositions(positions) {\n const margin = {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n positions.forEach((pos)=>{\n margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n });\n return margin;\n }\n return horizontal ? marginForPositions([\n 'left',\n 'right'\n ]) : marginForPositions([\n 'top',\n 'bottom'\n ]);\n}\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n const refitBoxes = [];\n let i, ilen, layout, box, refit, changed;\n for(i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i){\n layout = boxes[i];\n box = layout.box;\n box.update(layout.width || chartArea.w, layout.height || chartArea.h, getMargins(layout.horizontal, chartArea));\n const { same , other } = updateDims(chartArea, params, layout, stacks);\n refit |= same && refitBoxes.length;\n changed = changed || other;\n if (!box.fullSize) {\n refitBoxes.push(layout);\n }\n }\n return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\nfunction setBoxDims(box, left, top, width, height) {\n box.top = top;\n box.left = left;\n box.right = left + width;\n box.bottom = top + height;\n box.width = width;\n box.height = height;\n}\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n const userPadding = params.padding;\n let { x , y } = chartArea;\n for (const layout of boxes){\n const box = layout.box;\n const stack = stacks[layout.stack] || {\n count: 1,\n placed: 0,\n weight: 1\n };\n const weight = layout.stackWeight / stack.weight || 1;\n if (layout.horizontal) {\n const width = chartArea.w * weight;\n const height = stack.size || box.height;\n if (defined(stack.start)) {\n y = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n } else {\n setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n }\n stack.start = y;\n stack.placed += width;\n y = box.bottom;\n } else {\n const height = chartArea.h * weight;\n const width = stack.size || box.width;\n if (defined(stack.start)) {\n x = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n } else {\n setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n }\n stack.start = x;\n stack.placed += height;\n x = box.right;\n }\n }\n chartArea.x = x;\n chartArea.y = y;\n}\nvar layouts = {\n addBox (chart, item) {\n if (!chart.boxes) {\n chart.boxes = [];\n }\n item.fullSize = item.fullSize || false;\n item.position = item.position || 'top';\n item.weight = item.weight || 0;\n item._layers = item._layers || function() {\n return [\n {\n z: 0,\n draw (chartArea) {\n item.draw(chartArea);\n }\n }\n ];\n };\n chart.boxes.push(item);\n },\n removeBox (chart, layoutItem) {\n const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n if (index !== -1) {\n chart.boxes.splice(index, 1);\n }\n },\n configure (chart, item, options) {\n item.fullSize = options.fullSize;\n item.position = options.position;\n item.weight = options.weight;\n },\n update (chart, width, height, minPadding) {\n if (!chart) {\n return;\n }\n const padding = toPadding(chart.options.layout.padding);\n const availableWidth = Math.max(width - padding.width, 0);\n const availableHeight = Math.max(height - padding.height, 0);\n const boxes = buildLayoutBoxes(chart.boxes);\n const verticalBoxes = boxes.vertical;\n const horizontalBoxes = boxes.horizontal;\n each(chart.boxes, (box)=>{\n if (typeof box.beforeLayout === 'function') {\n box.beforeLayout();\n }\n });\n const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap)=>wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n const params = Object.freeze({\n outerWidth: width,\n outerHeight: height,\n padding,\n availableWidth,\n availableHeight,\n vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n hBoxMaxHeight: availableHeight / 2\n });\n const maxPadding = Object.assign({}, padding);\n updateMaxPadding(maxPadding, toPadding(minPadding));\n const chartArea = Object.assign({\n maxPadding,\n w: availableWidth,\n h: availableHeight,\n x: padding.left,\n y: padding.top\n }, padding);\n const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n fitBoxes(boxes.fullSize, chartArea, params, stacks);\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n }\n handleMaxPadding(chartArea);\n placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n chartArea.x += chartArea.w;\n chartArea.y += chartArea.h;\n placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n chart.chartArea = {\n left: chartArea.left,\n top: chartArea.top,\n right: chartArea.left + chartArea.w,\n bottom: chartArea.top + chartArea.h,\n height: chartArea.h,\n width: chartArea.w\n };\n each(boxes.chartArea, (layout)=>{\n const box = layout.box;\n Object.assign(box, chart.chartArea);\n box.update(chartArea.w, chartArea.h, {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n });\n });\n }\n};\n\nclass BasePlatform {\n acquireContext(canvas, aspectRatio) {}\n releaseContext(context) {\n return false;\n }\n addEventListener(chart, type, listener) {}\n removeEventListener(chart, type, listener) {}\n getDevicePixelRatio() {\n return 1;\n }\n getMaximumSize(element, width, height, aspectRatio) {\n width = Math.max(0, width || element.width);\n height = height || element.height;\n return {\n width,\n height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n };\n }\n isAttached(canvas) {\n return true;\n }\n updateConfig(config) {\n }\n}\n\nclass BasicPlatform extends BasePlatform {\n acquireContext(item) {\n return item && item.getContext && item.getContext('2d') || null;\n }\n updateConfig(config) {\n config.options.animation = false;\n }\n}\n\nconst EXPANDO_KEY = '$chartjs';\n const EVENT_TYPES = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup',\n pointerenter: 'mouseenter',\n pointerdown: 'mousedown',\n pointermove: 'mousemove',\n pointerup: 'mouseup',\n pointerleave: 'mouseout',\n pointerout: 'mouseout'\n};\nconst isNullOrEmpty = (value)=>value === null || value === '';\n function initCanvas(canvas, aspectRatio) {\n const style = canvas.style;\n const renderHeight = canvas.getAttribute('height');\n const renderWidth = canvas.getAttribute('width');\n canvas[EXPANDO_KEY] = {\n initial: {\n height: renderHeight,\n width: renderWidth,\n style: {\n display: style.display,\n height: style.height,\n width: style.width\n }\n }\n };\n style.display = style.display || 'block';\n style.boxSizing = style.boxSizing || 'border-box';\n if (isNullOrEmpty(renderWidth)) {\n const displayWidth = readUsedSize(canvas, 'width');\n if (displayWidth !== undefined) {\n canvas.width = displayWidth;\n }\n }\n if (isNullOrEmpty(renderHeight)) {\n if (canvas.style.height === '') {\n canvas.height = canvas.width / (aspectRatio || 2);\n } else {\n const displayHeight = readUsedSize(canvas, 'height');\n if (displayHeight !== undefined) {\n canvas.height = displayHeight;\n }\n }\n }\n return canvas;\n}\nconst eventListenerOptions = supportsEventListenerOptions ? {\n passive: true\n} : false;\nfunction addListener(node, type, listener) {\n if (node) {\n node.addEventListener(type, listener, eventListenerOptions);\n }\n}\nfunction removeListener(chart, type, listener) {\n if (chart && chart.canvas) {\n chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n }\n}\nfunction fromNativeEvent(event, chart) {\n const type = EVENT_TYPES[event.type] || event.type;\n const { x , y } = getRelativePosition(event, chart);\n return {\n type,\n chart,\n native: event,\n x: x !== undefined ? x : null,\n y: y !== undefined ? y : null\n };\n}\nfunction nodeListContains(nodeList, canvas) {\n for (const node of nodeList){\n if (node === canvas || node.contains(canvas)) {\n return true;\n }\n }\n}\nfunction createAttachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver((entries)=>{\n let trigger = false;\n for (const entry of entries){\n trigger = trigger || nodeListContains(entry.addedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.removedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {\n childList: true,\n subtree: true\n });\n return observer;\n}\nfunction createDetachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver((entries)=>{\n let trigger = false;\n for (const entry of entries){\n trigger = trigger || nodeListContains(entry.removedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.addedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {\n childList: true,\n subtree: true\n });\n return observer;\n}\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\nfunction onWindowResize() {\n const dpr = window.devicePixelRatio;\n if (dpr === oldDevicePixelRatio) {\n return;\n }\n oldDevicePixelRatio = dpr;\n drpListeningCharts.forEach((resize, chart)=>{\n if (chart.currentDevicePixelRatio !== dpr) {\n resize();\n }\n });\n}\nfunction listenDevicePixelRatioChanges(chart, resize) {\n if (!drpListeningCharts.size) {\n window.addEventListener('resize', onWindowResize);\n }\n drpListeningCharts.set(chart, resize);\n}\nfunction unlistenDevicePixelRatioChanges(chart) {\n drpListeningCharts.delete(chart);\n if (!drpListeningCharts.size) {\n window.removeEventListener('resize', onWindowResize);\n }\n}\nfunction createResizeObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n return;\n }\n const resize = throttled((width, height)=>{\n const w = container.clientWidth;\n listener(width, height);\n if (w < container.clientWidth) {\n listener();\n }\n }, window);\n const observer = new ResizeObserver((entries)=>{\n const entry = entries[0];\n const width = entry.contentRect.width;\n const height = entry.contentRect.height;\n if (width === 0 && height === 0) {\n return;\n }\n resize(width, height);\n });\n observer.observe(container);\n listenDevicePixelRatioChanges(chart, resize);\n return observer;\n}\nfunction releaseObserver(chart, type, observer) {\n if (observer) {\n observer.disconnect();\n }\n if (type === 'resize') {\n unlistenDevicePixelRatioChanges(chart);\n }\n}\nfunction createProxyAndListen(chart, type, listener) {\n const canvas = chart.canvas;\n const proxy = throttled((event)=>{\n if (chart.ctx !== null) {\n listener(fromNativeEvent(event, chart));\n }\n }, chart);\n addListener(canvas, type, proxy);\n return proxy;\n}\n class DomPlatform extends BasePlatform {\n acquireContext(canvas, aspectRatio) {\n const context = canvas && canvas.getContext && canvas.getContext('2d');\n if (context && context.canvas === canvas) {\n initCanvas(canvas, aspectRatio);\n return context;\n }\n return null;\n }\n releaseContext(context) {\n const canvas = context.canvas;\n if (!canvas[EXPANDO_KEY]) {\n return false;\n }\n const initial = canvas[EXPANDO_KEY].initial;\n [\n 'height',\n 'width'\n ].forEach((prop)=>{\n const value = initial[prop];\n if (isNullOrUndef(value)) {\n canvas.removeAttribute(prop);\n } else {\n canvas.setAttribute(prop, value);\n }\n });\n const style = initial.style || {};\n Object.keys(style).forEach((key)=>{\n canvas.style[key] = style[key];\n });\n canvas.width = canvas.width;\n delete canvas[EXPANDO_KEY];\n return true;\n }\n addEventListener(chart, type, listener) {\n this.removeEventListener(chart, type);\n const proxies = chart.$proxies || (chart.$proxies = {});\n const handlers = {\n attach: createAttachObserver,\n detach: createDetachObserver,\n resize: createResizeObserver\n };\n const handler = handlers[type] || createProxyAndListen;\n proxies[type] = handler(chart, type, listener);\n }\n removeEventListener(chart, type) {\n const proxies = chart.$proxies || (chart.$proxies = {});\n const proxy = proxies[type];\n if (!proxy) {\n return;\n }\n const handlers = {\n attach: releaseObserver,\n detach: releaseObserver,\n resize: releaseObserver\n };\n const handler = handlers[type] || removeListener;\n handler(chart, type, proxy);\n proxies[type] = undefined;\n }\n getDevicePixelRatio() {\n return window.devicePixelRatio;\n }\n getMaximumSize(canvas, width, height, aspectRatio) {\n return getMaximumSize(canvas, width, height, aspectRatio);\n }\n isAttached(canvas) {\n const container = canvas && _getParentNode(canvas);\n return !!(container && container.isConnected);\n }\n}\n\nfunction _detectPlatform(canvas) {\n if (!_isDomSupported() || typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas) {\n return BasicPlatform;\n }\n return DomPlatform;\n}\n\nclass Element {\n static defaults = {};\n static defaultRoutes = undefined;\n x;\n y;\n active = false;\n options;\n $animations;\n tooltipPosition(useFinalPosition) {\n const { x , y } = this.getProps([\n 'x',\n 'y'\n ], useFinalPosition);\n return {\n x,\n y\n };\n }\n hasValue() {\n return isNumber(this.x) && isNumber(this.y);\n }\n getProps(props, final) {\n const anims = this.$animations;\n if (!final || !anims) {\n // let's not create an object, if not needed\n return this;\n }\n const ret = {};\n props.forEach((prop)=>{\n ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop];\n });\n return ret;\n }\n}\n\nfunction autoSkip(scale, ticks) {\n const tickOpts = scale.options.ticks;\n const determinedMaxTicks = determineMaxTicks(scale);\n const ticksLimit = Math.min(tickOpts.maxTicksLimit || determinedMaxTicks, determinedMaxTicks);\n const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n const numMajorIndices = majorIndices.length;\n const first = majorIndices[0];\n const last = majorIndices[numMajorIndices - 1];\n const newTicks = [];\n if (numMajorIndices > ticksLimit) {\n skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n return newTicks;\n }\n const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n if (numMajorIndices > 0) {\n let i, ilen;\n const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n for(i = 0, ilen = numMajorIndices - 1; i < ilen; i++){\n skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n }\n skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n return newTicks;\n }\n skip(ticks, newTicks, spacing);\n return newTicks;\n}\nfunction determineMaxTicks(scale) {\n const offset = scale.options.offset;\n const tickLength = scale._tickSize();\n const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n const maxChart = scale._maxLength / tickLength;\n return Math.floor(Math.min(maxScale, maxChart));\n}\n function calculateSpacing(majorIndices, ticks, ticksLimit) {\n const evenMajorSpacing = getEvenSpacing(majorIndices);\n const spacing = ticks.length / ticksLimit;\n if (!evenMajorSpacing) {\n return Math.max(spacing, 1);\n }\n const factors = _factorize(evenMajorSpacing);\n for(let i = 0, ilen = factors.length - 1; i < ilen; i++){\n const factor = factors[i];\n if (factor > spacing) {\n return factor;\n }\n }\n return Math.max(spacing, 1);\n}\n function getMajorIndices(ticks) {\n const result = [];\n let i, ilen;\n for(i = 0, ilen = ticks.length; i < ilen; i++){\n if (ticks[i].major) {\n result.push(i);\n }\n }\n return result;\n}\n function skipMajors(ticks, newTicks, majorIndices, spacing) {\n let count = 0;\n let next = majorIndices[0];\n let i;\n spacing = Math.ceil(spacing);\n for(i = 0; i < ticks.length; i++){\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = majorIndices[count * spacing];\n }\n }\n}\n function skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n const start = valueOrDefault(majorStart, 0);\n const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length);\n let count = 0;\n let length, i, next;\n spacing = Math.ceil(spacing);\n if (majorEnd) {\n length = majorEnd - majorStart;\n spacing = length / Math.floor(length / spacing);\n }\n next = start;\n while(next < 0){\n count++;\n next = Math.round(start + count * spacing);\n }\n for(i = Math.max(start, 0); i < end; i++){\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = Math.round(start + count * spacing);\n }\n }\n}\n function getEvenSpacing(arr) {\n const len = arr.length;\n let i, diff;\n if (len < 2) {\n return false;\n }\n for(diff = arr[0], i = 1; i < len; ++i){\n if (arr[i] - arr[i - 1] !== diff) {\n return false;\n }\n }\n return diff;\n}\n\nconst reverseAlign = (align)=>align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset)=>edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nconst getTicksLimit = (ticksLength, maxTicksLimit)=>Math.min(maxTicksLimit || ticksLength, ticksLength);\n function sample(arr, numItems) {\n const result = [];\n const increment = arr.length / numItems;\n const len = arr.length;\n let i = 0;\n for(; i < len; i += increment){\n result.push(arr[Math.floor(i)]);\n }\n return result;\n}\n function getPixelForGridLine(scale, index, offsetGridLines) {\n const length = scale.ticks.length;\n const validIndex = Math.min(index, length - 1);\n const start = scale._startPixel;\n const end = scale._endPixel;\n const epsilon = 1e-6;\n let lineValue = scale.getPixelForTick(validIndex);\n let offset;\n if (offsetGridLines) {\n if (length === 1) {\n offset = Math.max(lineValue - start, end - lineValue);\n } else if (index === 0) {\n offset = (scale.getPixelForTick(1) - lineValue) / 2;\n } else {\n offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n }\n lineValue += validIndex < index ? offset : -offset;\n if (lineValue < start - epsilon || lineValue > end + epsilon) {\n return;\n }\n }\n return lineValue;\n}\n function garbageCollect(caches, length) {\n each(caches, (cache)=>{\n const gc = cache.gc;\n const gcLen = gc.length / 2;\n let i;\n if (gcLen > length) {\n for(i = 0; i < gcLen; ++i){\n delete cache.data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n });\n}\n function getTickMarkLength(options) {\n return options.drawTicks ? options.tickLength : 0;\n}\n function getTitleHeight(options, fallback) {\n if (!options.display) {\n return 0;\n }\n const font = toFont(options.font, fallback);\n const padding = toPadding(options.padding);\n const lines = isArray(options.text) ? options.text.length : 1;\n return lines * font.lineHeight + padding.height;\n}\nfunction createScaleContext(parent, scale) {\n return createContext(parent, {\n scale,\n type: 'scale'\n });\n}\nfunction createTickContext(parent, index, tick) {\n return createContext(parent, {\n tick,\n index,\n type: 'tick'\n });\n}\nfunction titleAlign(align, position, reverse) {\n let ret = _toLeftRightCenter(align);\n if (reverse && position !== 'right' || !reverse && position === 'right') {\n ret = reverseAlign(ret);\n }\n return ret;\n}\nfunction titleArgs(scale, offset, position, align) {\n const { top , left , bottom , right , chart } = scale;\n const { chartArea , scales } = chart;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n const height = bottom - top;\n const width = right - left;\n if (scale.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n } else if (position === 'center') {\n titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n } else {\n titleY = offsetFromEdge(scale, position, offset);\n }\n maxWidth = right - left;\n } else {\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n } else if (position === 'center') {\n titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n } else {\n titleX = offsetFromEdge(scale, position, offset);\n }\n titleY = _alignStartEnd(align, bottom, top);\n rotation = position === 'left' ? -HALF_PI : HALF_PI;\n }\n return {\n titleX,\n titleY,\n maxWidth,\n rotation\n };\n}\nclass Scale extends Element {\n constructor(cfg){\n super();\n this.id = cfg.id;\n this.type = cfg.type;\n this.options = undefined;\n this.ctx = cfg.ctx;\n this.chart = cfg.chart;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this._margins = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.maxWidth = undefined;\n this.maxHeight = undefined;\n this.paddingTop = undefined;\n this.paddingBottom = undefined;\n this.paddingLeft = undefined;\n this.paddingRight = undefined;\n this.axis = undefined;\n this.labelRotation = undefined;\n this.min = undefined;\n this.max = undefined;\n this._range = undefined;\n this.ticks = [];\n this._gridLineItems = null;\n this._labelItems = null;\n this._labelSizes = null;\n this._length = 0;\n this._maxLength = 0;\n this._longestTextCache = {};\n this._startPixel = undefined;\n this._endPixel = undefined;\n this._reversePixels = false;\n this._userMax = undefined;\n this._userMin = undefined;\n this._suggestedMax = undefined;\n this._suggestedMin = undefined;\n this._ticksLength = 0;\n this._borderValue = 0;\n this._cache = {};\n this._dataLimitsCached = false;\n this.$context = undefined;\n }\n init(options) {\n this.options = options.setContext(this.getContext());\n this.axis = options.axis;\n this._userMin = this.parse(options.min);\n this._userMax = this.parse(options.max);\n this._suggestedMin = this.parse(options.suggestedMin);\n this._suggestedMax = this.parse(options.suggestedMax);\n }\n parse(raw, index) {\n return raw;\n }\n getUserBounds() {\n let { _userMin , _userMax , _suggestedMin , _suggestedMax } = this;\n _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY);\n _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY);\n _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY);\n _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY);\n return {\n min: finiteOrDefault(_userMin, _suggestedMin),\n max: finiteOrDefault(_userMax, _suggestedMax),\n minDefined: isNumberFinite(_userMin),\n maxDefined: isNumberFinite(_userMax)\n };\n }\n getMinMax(canStack) {\n let { min , max , minDefined , maxDefined } = this.getUserBounds();\n let range;\n if (minDefined && maxDefined) {\n return {\n min,\n max\n };\n }\n const metas = this.getMatchingVisibleMetas();\n for(let i = 0, ilen = metas.length; i < ilen; ++i){\n range = metas[i].controller.getMinMax(this, canStack);\n if (!minDefined) {\n min = Math.min(min, range.min);\n }\n if (!maxDefined) {\n max = Math.max(max, range.max);\n }\n }\n min = maxDefined && min > max ? max : min;\n max = minDefined && min > max ? min : max;\n return {\n min: finiteOrDefault(min, finiteOrDefault(max, min)),\n max: finiteOrDefault(max, finiteOrDefault(min, max))\n };\n }\n getPadding() {\n return {\n left: this.paddingLeft || 0,\n top: this.paddingTop || 0,\n right: this.paddingRight || 0,\n bottom: this.paddingBottom || 0\n };\n }\n getTicks() {\n return this.ticks;\n }\n getLabels() {\n const data = this.chart.data;\n return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n }\n getLabelItems(chartArea = this.chart.chartArea) {\n const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea));\n return items;\n }\n beforeLayout() {\n this._cache = {};\n this._dataLimitsCached = false;\n }\n beforeUpdate() {\n callback(this.options.beforeUpdate, [\n this\n ]);\n }\n update(maxWidth, maxHeight, margins) {\n const { beginAtZero , grace , ticks: tickOpts } = this.options;\n const sampleSize = tickOpts.sampleSize;\n this.beforeUpdate();\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins = Object.assign({\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, margins);\n this.ticks = null;\n this._labelSizes = null;\n this._gridLineItems = null;\n this._labelItems = null;\n this.beforeSetDimensions();\n this.setDimensions();\n this.afterSetDimensions();\n this._maxLength = this.isHorizontal() ? this.width + margins.left + margins.right : this.height + margins.top + margins.bottom;\n if (!this._dataLimitsCached) {\n this.beforeDataLimits();\n this.determineDataLimits();\n this.afterDataLimits();\n this._range = _addGrace(this, grace, beginAtZero);\n this._dataLimitsCached = true;\n }\n this.beforeBuildTicks();\n this.ticks = this.buildTicks() || [];\n this.afterBuildTicks();\n const samplingEnabled = sampleSize < this.ticks.length;\n this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks);\n this.configure();\n this.beforeCalculateLabelRotation();\n this.calculateLabelRotation();\n this.afterCalculateLabelRotation();\n if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n this.ticks = autoSkip(this, this.ticks);\n this._labelSizes = null;\n this.afterAutoSkip();\n }\n if (samplingEnabled) {\n this._convertTicksToLabels(this.ticks);\n }\n this.beforeFit();\n this.fit();\n this.afterFit();\n this.afterUpdate();\n }\n configure() {\n let reversePixels = this.options.reverse;\n let startPixel, endPixel;\n if (this.isHorizontal()) {\n startPixel = this.left;\n endPixel = this.right;\n } else {\n startPixel = this.top;\n endPixel = this.bottom;\n reversePixels = !reversePixels;\n }\n this._startPixel = startPixel;\n this._endPixel = endPixel;\n this._reversePixels = reversePixels;\n this._length = endPixel - startPixel;\n this._alignToPixels = this.options.alignToPixels;\n }\n afterUpdate() {\n callback(this.options.afterUpdate, [\n this\n ]);\n }\n beforeSetDimensions() {\n callback(this.options.beforeSetDimensions, [\n this\n ]);\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = 0;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = 0;\n this.bottom = this.height;\n }\n this.paddingLeft = 0;\n this.paddingTop = 0;\n this.paddingRight = 0;\n this.paddingBottom = 0;\n }\n afterSetDimensions() {\n callback(this.options.afterSetDimensions, [\n this\n ]);\n }\n _callHooks(name) {\n this.chart.notifyPlugins(name, this.getContext());\n callback(this.options[name], [\n this\n ]);\n }\n beforeDataLimits() {\n this._callHooks('beforeDataLimits');\n }\n determineDataLimits() {}\n afterDataLimits() {\n this._callHooks('afterDataLimits');\n }\n beforeBuildTicks() {\n this._callHooks('beforeBuildTicks');\n }\n buildTicks() {\n return [];\n }\n afterBuildTicks() {\n this._callHooks('afterBuildTicks');\n }\n beforeTickToLabelConversion() {\n callback(this.options.beforeTickToLabelConversion, [\n this\n ]);\n }\n generateTickLabels(ticks) {\n const tickOpts = this.options.ticks;\n let i, ilen, tick;\n for(i = 0, ilen = ticks.length; i < ilen; i++){\n tick = ticks[i];\n tick.label = callback(tickOpts.callback, [\n tick.value,\n i,\n ticks\n ], this);\n }\n }\n afterTickToLabelConversion() {\n callback(this.options.afterTickToLabelConversion, [\n this\n ]);\n }\n beforeCalculateLabelRotation() {\n callback(this.options.beforeCalculateLabelRotation, [\n this\n ]);\n }\n calculateLabelRotation() {\n const options = this.options;\n const tickOpts = options.ticks;\n const numTicks = getTicksLimit(this.ticks.length, options.ticks.maxTicksLimit);\n const minRotation = tickOpts.minRotation || 0;\n const maxRotation = tickOpts.maxRotation;\n let labelRotation = minRotation;\n let tickWidth, maxHeight, maxLabelDiagonal;\n if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) {\n this.labelRotation = minRotation;\n return;\n }\n const labelSizes = this._getLabelSizes();\n const maxLabelWidth = labelSizes.widest.width;\n const maxLabelHeight = labelSizes.highest.height;\n const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth);\n tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1);\n if (maxLabelWidth + 6 > tickWidth) {\n tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n maxHeight = this.maxHeight - getTickMarkLength(options.grid) - tickOpts.padding - getTitleHeight(options.title, this.chart.options.font);\n maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n labelRotation = toDegrees(Math.min(Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)), Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1))));\n labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n }\n this.labelRotation = labelRotation;\n }\n afterCalculateLabelRotation() {\n callback(this.options.afterCalculateLabelRotation, [\n this\n ]);\n }\n afterAutoSkip() {}\n beforeFit() {\n callback(this.options.beforeFit, [\n this\n ]);\n }\n fit() {\n const minSize = {\n width: 0,\n height: 0\n };\n const { chart , options: { ticks: tickOpts , title: titleOpts , grid: gridOpts } } = this;\n const display = this._isVisible();\n const isHorizontal = this.isHorizontal();\n if (display) {\n const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n if (isHorizontal) {\n minSize.width = this.maxWidth;\n minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n } else {\n minSize.height = this.maxHeight;\n minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n }\n if (tickOpts.display && this.ticks.length) {\n const { first , last , widest , highest } = this._getLabelSizes();\n const tickPadding = tickOpts.padding * 2;\n const angleRadians = toRadians(this.labelRotation);\n const cos = Math.cos(angleRadians);\n const sin = Math.sin(angleRadians);\n if (isHorizontal) {\n const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding);\n } else {\n const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding);\n }\n this._calculatePadding(first, last, sin, cos);\n }\n }\n this._handleMargins();\n if (isHorizontal) {\n this.width = this._length = chart.width - this._margins.left - this._margins.right;\n this.height = minSize.height;\n } else {\n this.width = minSize.width;\n this.height = this._length = chart.height - this._margins.top - this._margins.bottom;\n }\n }\n _calculatePadding(first, last, sin, cos) {\n const { ticks: { align , padding } , position } = this.options;\n const isRotated = this.labelRotation !== 0;\n const labelsBelowTicks = position !== 'top' && this.axis === 'x';\n if (this.isHorizontal()) {\n const offsetLeft = this.getPixelForTick(0) - this.left;\n const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1);\n let paddingLeft = 0;\n let paddingRight = 0;\n if (isRotated) {\n if (labelsBelowTicks) {\n paddingLeft = cos * first.width;\n paddingRight = sin * last.height;\n } else {\n paddingLeft = sin * first.height;\n paddingRight = cos * last.width;\n }\n } else if (align === 'start') {\n paddingRight = last.width;\n } else if (align === 'end') {\n paddingLeft = first.width;\n } else if (align !== 'inner') {\n paddingLeft = first.width / 2;\n paddingRight = last.width / 2;\n }\n this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0);\n this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0);\n } else {\n let paddingTop = last.height / 2;\n let paddingBottom = first.height / 2;\n if (align === 'start') {\n paddingTop = 0;\n paddingBottom = first.height;\n } else if (align === 'end') {\n paddingTop = last.height;\n paddingBottom = 0;\n }\n this.paddingTop = paddingTop + padding;\n this.paddingBottom = paddingBottom + padding;\n }\n }\n _handleMargins() {\n if (this._margins) {\n this._margins.left = Math.max(this.paddingLeft, this._margins.left);\n this._margins.top = Math.max(this.paddingTop, this._margins.top);\n this._margins.right = Math.max(this.paddingRight, this._margins.right);\n this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom);\n }\n }\n afterFit() {\n callback(this.options.afterFit, [\n this\n ]);\n }\n isHorizontal() {\n const { axis , position } = this.options;\n return position === 'top' || position === 'bottom' || axis === 'x';\n }\n isFullSize() {\n return this.options.fullSize;\n }\n _convertTicksToLabels(ticks) {\n this.beforeTickToLabelConversion();\n this.generateTickLabels(ticks);\n let i, ilen;\n for(i = 0, ilen = ticks.length; i < ilen; i++){\n if (isNullOrUndef(ticks[i].label)) {\n ticks.splice(i, 1);\n ilen--;\n i--;\n }\n }\n this.afterTickToLabelConversion();\n }\n _getLabelSizes() {\n let labelSizes = this._labelSizes;\n if (!labelSizes) {\n const sampleSize = this.options.ticks.sampleSize;\n let ticks = this.ticks;\n if (sampleSize < ticks.length) {\n ticks = sample(ticks, sampleSize);\n }\n this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length, this.options.ticks.maxTicksLimit);\n }\n return labelSizes;\n }\n _computeLabelSizes(ticks, length, maxTicksLimit) {\n const { ctx , _longestTextCache: caches } = this;\n const widths = [];\n const heights = [];\n const increment = Math.floor(length / getTicksLimit(length, maxTicksLimit));\n let widestLabelSize = 0;\n let highestLabelSize = 0;\n let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n for(i = 0; i < length; i += increment){\n label = ticks[i].label;\n tickFont = this._resolveTickFontOptions(i);\n ctx.font = fontString = tickFont.string;\n cache = caches[fontString] = caches[fontString] || {\n data: {},\n gc: []\n };\n lineHeight = tickFont.lineHeight;\n width = height = 0;\n if (!isNullOrUndef(label) && !isArray(label)) {\n width = _measureText(ctx, cache.data, cache.gc, width, label);\n height = lineHeight;\n } else if (isArray(label)) {\n for(j = 0, jlen = label.length; j < jlen; ++j){\n nestedLabel = label[j];\n if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\n width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel);\n height += lineHeight;\n }\n }\n }\n widths.push(width);\n heights.push(height);\n widestLabelSize = Math.max(width, widestLabelSize);\n highestLabelSize = Math.max(height, highestLabelSize);\n }\n garbageCollect(caches, length);\n const widest = widths.indexOf(widestLabelSize);\n const highest = heights.indexOf(highestLabelSize);\n const valueAt = (idx)=>({\n width: widths[idx] || 0,\n height: heights[idx] || 0\n });\n return {\n first: valueAt(0),\n last: valueAt(length - 1),\n widest: valueAt(widest),\n highest: valueAt(highest),\n widths,\n heights\n };\n }\n getLabelForValue(value) {\n return value;\n }\n getPixelForValue(value, index) {\n return NaN;\n }\n getValueForPixel(pixel) {}\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getPixelForDecimal(decimal) {\n if (this._reversePixels) {\n decimal = 1 - decimal;\n }\n const pixel = this._startPixel + decimal * this._length;\n return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel);\n }\n getDecimalForPixel(pixel) {\n const decimal = (pixel - this._startPixel) / this._length;\n return this._reversePixels ? 1 - decimal : decimal;\n }\n getBasePixel() {\n return this.getPixelForValue(this.getBaseValue());\n }\n getBaseValue() {\n const { min , max } = this;\n return min < 0 && max < 0 ? max : min > 0 && max > 0 ? min : 0;\n }\n getContext(index) {\n const ticks = this.ticks || [];\n if (index >= 0 && index < ticks.length) {\n const tick = ticks[index];\n return tick.$context || (tick.$context = createTickContext(this.getContext(), index, tick));\n }\n return this.$context || (this.$context = createScaleContext(this.chart.getContext(), this));\n }\n _tickSize() {\n const optionTicks = this.options.ticks;\n const rot = toRadians(this.labelRotation);\n const cos = Math.abs(Math.cos(rot));\n const sin = Math.abs(Math.sin(rot));\n const labelSizes = this._getLabelSizes();\n const padding = optionTicks.autoSkipPadding || 0;\n const w = labelSizes ? labelSizes.widest.width + padding : 0;\n const h = labelSizes ? labelSizes.highest.height + padding : 0;\n return this.isHorizontal() ? h * cos > w * sin ? w / cos : h / sin : h * sin < w * cos ? h / cos : w / sin;\n }\n _isVisible() {\n const display = this.options.display;\n if (display !== 'auto') {\n return !!display;\n }\n return this.getMatchingVisibleMetas().length > 0;\n }\n _computeGridLineItems(chartArea) {\n const axis = this.axis;\n const chart = this.chart;\n const options = this.options;\n const { grid , position , border } = options;\n const offset = grid.offset;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const ticksLength = ticks.length + (offset ? 1 : 0);\n const tl = getTickMarkLength(grid);\n const items = [];\n const borderOpts = border.setContext(this.getContext());\n const axisWidth = borderOpts.display ? borderOpts.width : 0;\n const axisHalfWidth = axisWidth / 2;\n const alignBorderValue = function(pixel) {\n return _alignPixel(chart, pixel, axisWidth);\n };\n let borderValue, i, lineValue, alignedLineValue;\n let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n if (position === 'top') {\n borderValue = alignBorderValue(this.bottom);\n ty1 = this.bottom - tl;\n ty2 = borderValue - axisHalfWidth;\n y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n y2 = chartArea.bottom;\n } else if (position === 'bottom') {\n borderValue = alignBorderValue(this.top);\n y1 = chartArea.top;\n y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n ty1 = borderValue + axisHalfWidth;\n ty2 = this.top + tl;\n } else if (position === 'left') {\n borderValue = alignBorderValue(this.right);\n tx1 = this.right - tl;\n tx2 = borderValue - axisHalfWidth;\n x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n x2 = chartArea.right;\n } else if (position === 'right') {\n borderValue = alignBorderValue(this.left);\n x1 = chartArea.left;\n x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n tx1 = borderValue + axisHalfWidth;\n tx2 = this.left + tl;\n } else if (axis === 'x') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n y1 = chartArea.top;\n y2 = chartArea.bottom;\n ty1 = borderValue + axisHalfWidth;\n ty2 = ty1 + tl;\n } else if (axis === 'y') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n tx1 = borderValue - axisHalfWidth;\n tx2 = tx1 - tl;\n x1 = chartArea.left;\n x2 = chartArea.right;\n }\n const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength);\n const step = Math.max(1, Math.ceil(ticksLength / limit));\n for(i = 0; i < ticksLength; i += step){\n const context = this.getContext(i);\n const optsAtIndex = grid.setContext(context);\n const optsAtIndexBorder = border.setContext(context);\n const lineWidth = optsAtIndex.lineWidth;\n const lineColor = optsAtIndex.color;\n const borderDash = optsAtIndexBorder.dash || [];\n const borderDashOffset = optsAtIndexBorder.dashOffset;\n const tickWidth = optsAtIndex.tickWidth;\n const tickColor = optsAtIndex.tickColor;\n const tickBorderDash = optsAtIndex.tickBorderDash || [];\n const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n lineValue = getPixelForGridLine(this, i, offset);\n if (lineValue === undefined) {\n continue;\n }\n alignedLineValue = _alignPixel(chart, lineValue, lineWidth);\n if (isHorizontal) {\n tx1 = tx2 = x1 = x2 = alignedLineValue;\n } else {\n ty1 = ty2 = y1 = y2 = alignedLineValue;\n }\n items.push({\n tx1,\n ty1,\n tx2,\n ty2,\n x1,\n y1,\n x2,\n y2,\n width: lineWidth,\n color: lineColor,\n borderDash,\n borderDashOffset,\n tickWidth,\n tickColor,\n tickBorderDash,\n tickBorderDashOffset\n });\n }\n this._ticksLength = ticksLength;\n this._borderValue = borderValue;\n return items;\n }\n _computeLabelItems(chartArea) {\n const axis = this.axis;\n const options = this.options;\n const { position , ticks: optionTicks } = options;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const { align , crossAlign , padding , mirror } = optionTicks;\n const tl = getTickMarkLength(options.grid);\n const tickAndPadding = tl + padding;\n const hTickAndPadding = mirror ? -padding : tickAndPadding;\n const rotation = -toRadians(this.labelRotation);\n const items = [];\n let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n let textBaseline = 'middle';\n if (position === 'top') {\n y = this.bottom - hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'bottom') {\n y = this.top + hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'left') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (position === 'right') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (axis === 'x') {\n if (position === 'center') {\n y = (chartArea.top + chartArea.bottom) / 2 + tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n }\n textAlign = this._getXAxisLabelAlignment();\n } else if (axis === 'y') {\n if (position === 'center') {\n x = (chartArea.left + chartArea.right) / 2 - tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n x = this.chart.scales[positionAxisID].getPixelForValue(value);\n }\n textAlign = this._getYAxisLabelAlignment(tl).textAlign;\n }\n if (axis === 'y') {\n if (align === 'start') {\n textBaseline = 'top';\n } else if (align === 'end') {\n textBaseline = 'bottom';\n }\n }\n const labelSizes = this._getLabelSizes();\n for(i = 0, ilen = ticks.length; i < ilen; ++i){\n tick = ticks[i];\n label = tick.label;\n const optsAtIndex = optionTicks.setContext(this.getContext(i));\n pixel = this.getPixelForTick(i) + optionTicks.labelOffset;\n font = this._resolveTickFontOptions(i);\n lineHeight = font.lineHeight;\n lineCount = isArray(label) ? label.length : 1;\n const halfCount = lineCount / 2;\n const color = optsAtIndex.color;\n const strokeColor = optsAtIndex.textStrokeColor;\n const strokeWidth = optsAtIndex.textStrokeWidth;\n let tickTextAlign = textAlign;\n if (isHorizontal) {\n x = pixel;\n if (textAlign === 'inner') {\n if (i === ilen - 1) {\n tickTextAlign = !this.options.reverse ? 'right' : 'left';\n } else if (i === 0) {\n tickTextAlign = !this.options.reverse ? 'left' : 'right';\n } else {\n tickTextAlign = 'center';\n }\n }\n if (position === 'top') {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = -lineCount * lineHeight + lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n } else {\n textOffset = -labelSizes.highest.height + lineHeight / 2;\n }\n } else {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n } else {\n textOffset = labelSizes.highest.height - lineCount * lineHeight;\n }\n }\n if (mirror) {\n textOffset *= -1;\n }\n if (rotation !== 0 && !optsAtIndex.showLabelBackdrop) {\n x += lineHeight / 2 * Math.sin(rotation);\n }\n } else {\n y = pixel;\n textOffset = (1 - lineCount) * lineHeight / 2;\n }\n let backdrop;\n if (optsAtIndex.showLabelBackdrop) {\n const labelPadding = toPadding(optsAtIndex.backdropPadding);\n const height = labelSizes.heights[i];\n const width = labelSizes.widths[i];\n let top = textOffset - labelPadding.top;\n let left = 0 - labelPadding.left;\n switch(textBaseline){\n case 'middle':\n top -= height / 2;\n break;\n case 'bottom':\n top -= height;\n break;\n }\n switch(textAlign){\n case 'center':\n left -= width / 2;\n break;\n case 'right':\n left -= width;\n break;\n case 'inner':\n if (i === ilen - 1) {\n left -= width;\n } else if (i > 0) {\n left -= width / 2;\n }\n break;\n }\n backdrop = {\n left,\n top,\n width: width + labelPadding.width,\n height: height + labelPadding.height,\n color: optsAtIndex.backdropColor\n };\n }\n items.push({\n label,\n font,\n textOffset,\n options: {\n rotation,\n color,\n strokeColor,\n strokeWidth,\n textAlign: tickTextAlign,\n textBaseline,\n translation: [\n x,\n y\n ],\n backdrop\n }\n });\n }\n return items;\n }\n _getXAxisLabelAlignment() {\n const { position , ticks } = this.options;\n const rotation = -toRadians(this.labelRotation);\n if (rotation) {\n return position === 'top' ? 'left' : 'right';\n }\n let align = 'center';\n if (ticks.align === 'start') {\n align = 'left';\n } else if (ticks.align === 'end') {\n align = 'right';\n } else if (ticks.align === 'inner') {\n align = 'inner';\n }\n return align;\n }\n _getYAxisLabelAlignment(tl) {\n const { position , ticks: { crossAlign , mirror , padding } } = this.options;\n const labelSizes = this._getLabelSizes();\n const tickAndPadding = tl + padding;\n const widest = labelSizes.widest.width;\n let textAlign;\n let x;\n if (position === 'left') {\n if (mirror) {\n x = this.right + padding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x += widest;\n }\n } else {\n x = this.right - tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= widest / 2;\n } else {\n textAlign = 'left';\n x = this.left;\n }\n }\n } else if (position === 'right') {\n if (mirror) {\n x = this.left + padding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= widest / 2;\n } else {\n textAlign = 'left';\n x -= widest;\n }\n } else {\n x = this.left + tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x = this.right;\n }\n }\n } else {\n textAlign = 'right';\n }\n return {\n textAlign,\n x\n };\n }\n _computeLabelArea() {\n if (this.options.ticks.mirror) {\n return;\n }\n const chart = this.chart;\n const position = this.options.position;\n if (position === 'left' || position === 'right') {\n return {\n top: 0,\n left: this.left,\n bottom: chart.height,\n right: this.right\n };\n }\n if (position === 'top' || position === 'bottom') {\n return {\n top: this.top,\n left: 0,\n bottom: this.bottom,\n right: chart.width\n };\n }\n }\n drawBackground() {\n const { ctx , options: { backgroundColor } , left , top , width , height } = this;\n if (backgroundColor) {\n ctx.save();\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(left, top, width, height);\n ctx.restore();\n }\n }\n getLineWidthForValue(value) {\n const grid = this.options.grid;\n if (!this._isVisible() || !grid.display) {\n return 0;\n }\n const ticks = this.ticks;\n const index = ticks.findIndex((t)=>t.value === value);\n if (index >= 0) {\n const opts = grid.setContext(this.getContext(index));\n return opts.lineWidth;\n }\n return 0;\n }\n drawGrid(chartArea) {\n const grid = this.options.grid;\n const ctx = this.ctx;\n const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea));\n let i, ilen;\n const drawLine = (p1, p2, style)=>{\n if (!style.width || !style.color) {\n return;\n }\n ctx.save();\n ctx.lineWidth = style.width;\n ctx.strokeStyle = style.color;\n ctx.setLineDash(style.borderDash || []);\n ctx.lineDashOffset = style.borderDashOffset;\n ctx.beginPath();\n ctx.moveTo(p1.x, p1.y);\n ctx.lineTo(p2.x, p2.y);\n ctx.stroke();\n ctx.restore();\n };\n if (grid.display) {\n for(i = 0, ilen = items.length; i < ilen; ++i){\n const item = items[i];\n if (grid.drawOnChartArea) {\n drawLine({\n x: item.x1,\n y: item.y1\n }, {\n x: item.x2,\n y: item.y2\n }, item);\n }\n if (grid.drawTicks) {\n drawLine({\n x: item.tx1,\n y: item.ty1\n }, {\n x: item.tx2,\n y: item.ty2\n }, {\n color: item.tickColor,\n width: item.tickWidth,\n borderDash: item.tickBorderDash,\n borderDashOffset: item.tickBorderDashOffset\n });\n }\n }\n }\n }\n drawBorder() {\n const { chart , ctx , options: { border , grid } } = this;\n const borderOpts = border.setContext(this.getContext());\n const axisWidth = border.display ? borderOpts.width : 0;\n if (!axisWidth) {\n return;\n }\n const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth;\n const borderValue = this._borderValue;\n let x1, x2, y1, y2;\n if (this.isHorizontal()) {\n x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2;\n x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2;\n y1 = y2 = borderValue;\n } else {\n y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2;\n y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2;\n x1 = x2 = borderValue;\n }\n ctx.save();\n ctx.lineWidth = borderOpts.width;\n ctx.strokeStyle = borderOpts.color;\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n ctx.restore();\n }\n drawLabels(chartArea) {\n const optionTicks = this.options.ticks;\n if (!optionTicks.display) {\n return;\n }\n const ctx = this.ctx;\n const area = this._computeLabelArea();\n if (area) {\n clipArea(ctx, area);\n }\n const items = this.getLabelItems(chartArea);\n for (const item of items){\n const renderTextOptions = item.options;\n const tickFont = item.font;\n const label = item.label;\n const y = item.textOffset;\n renderText(ctx, label, 0, y, tickFont, renderTextOptions);\n }\n if (area) {\n unclipArea(ctx);\n }\n }\n drawTitle() {\n const { ctx , options: { position , title , reverse } } = this;\n if (!title.display) {\n return;\n }\n const font = toFont(title.font);\n const padding = toPadding(title.padding);\n const align = title.align;\n let offset = font.lineHeight / 2;\n if (position === 'bottom' || position === 'center' || isObject(position)) {\n offset += padding.bottom;\n if (isArray(title.text)) {\n offset += font.lineHeight * (title.text.length - 1);\n }\n } else {\n offset += padding.top;\n }\n const { titleX , titleY , maxWidth , rotation } = titleArgs(this, offset, position, align);\n renderText(ctx, title.text, 0, 0, font, {\n color: title.color,\n maxWidth,\n rotation,\n textAlign: titleAlign(align, position, reverse),\n textBaseline: 'middle',\n translation: [\n titleX,\n titleY\n ]\n });\n }\n draw(chartArea) {\n if (!this._isVisible()) {\n return;\n }\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawBorder();\n this.drawTitle();\n this.drawLabels(chartArea);\n }\n _layers() {\n const opts = this.options;\n const tz = opts.ticks && opts.ticks.z || 0;\n const gz = valueOrDefault(opts.grid && opts.grid.z, -1);\n const bz = valueOrDefault(opts.border && opts.border.z, 0);\n if (!this._isVisible() || this.draw !== Scale.prototype.draw) {\n return [\n {\n z: tz,\n draw: (chartArea)=>{\n this.draw(chartArea);\n }\n }\n ];\n }\n return [\n {\n z: gz,\n draw: (chartArea)=>{\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawTitle();\n }\n },\n {\n z: bz,\n draw: ()=>{\n this.drawBorder();\n }\n },\n {\n z: tz,\n draw: (chartArea)=>{\n this.drawLabels(chartArea);\n }\n }\n ];\n }\n getMatchingVisibleMetas(type) {\n const metas = this.chart.getSortedVisibleDatasetMetas();\n const axisID = this.axis + 'AxisID';\n const result = [];\n let i, ilen;\n for(i = 0, ilen = metas.length; i < ilen; ++i){\n const meta = metas[i];\n if (meta[axisID] === this.id && (!type || meta.type === type)) {\n result.push(meta);\n }\n }\n return result;\n }\n _resolveTickFontOptions(index) {\n const opts = this.options.ticks.setContext(this.getContext(index));\n return toFont(opts.font);\n }\n _maxDigits() {\n const fontSize = this._resolveTickFontOptions(0).lineHeight;\n return (this.isHorizontal() ? this.width : this.height) / fontSize;\n }\n}\n\nclass TypedRegistry {\n constructor(type, scope, override){\n this.type = type;\n this.scope = scope;\n this.override = override;\n this.items = Object.create(null);\n }\n isForType(type) {\n return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n }\n register(item) {\n const proto = Object.getPrototypeOf(item);\n let parentScope;\n if (isIChartComponent(proto)) {\n parentScope = this.register(proto);\n }\n const items = this.items;\n const id = item.id;\n const scope = this.scope + '.' + id;\n if (!id) {\n throw new Error('class does not have id: ' + item);\n }\n if (id in items) {\n return scope;\n }\n items[id] = item;\n registerDefaults(item, scope, parentScope);\n if (this.override) {\n defaults.override(item.id, item.overrides);\n }\n return scope;\n }\n get(id) {\n return this.items[id];\n }\n unregister(item) {\n const items = this.items;\n const id = item.id;\n const scope = this.scope;\n if (id in items) {\n delete items[id];\n }\n if (scope && id in defaults[scope]) {\n delete defaults[scope][id];\n if (this.override) {\n delete overrides[id];\n }\n }\n }\n}\nfunction registerDefaults(item, scope, parentScope) {\n const itemDefaults = merge(Object.create(null), [\n parentScope ? defaults.get(parentScope) : {},\n defaults.get(scope),\n item.defaults\n ]);\n defaults.set(scope, itemDefaults);\n if (item.defaultRoutes) {\n routeDefaults(scope, item.defaultRoutes);\n }\n if (item.descriptors) {\n defaults.describe(scope, item.descriptors);\n }\n}\nfunction routeDefaults(scope, routes) {\n Object.keys(routes).forEach((property)=>{\n const propertyParts = property.split('.');\n const sourceName = propertyParts.pop();\n const sourceScope = [\n scope\n ].concat(propertyParts).join('.');\n const parts = routes[property].split('.');\n const targetName = parts.pop();\n const targetScope = parts.join('.');\n defaults.route(sourceScope, sourceName, targetScope, targetName);\n });\n}\nfunction isIChartComponent(proto) {\n return 'id' in proto && 'defaults' in proto;\n}\n\nclass Registry {\n constructor(){\n this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n this.elements = new TypedRegistry(Element, 'elements');\n this.plugins = new TypedRegistry(Object, 'plugins');\n this.scales = new TypedRegistry(Scale, 'scales');\n this._typedRegistries = [\n this.controllers,\n this.scales,\n this.elements\n ];\n }\n add(...args) {\n this._each('register', args);\n }\n remove(...args) {\n this._each('unregister', args);\n }\n addControllers(...args) {\n this._each('register', args, this.controllers);\n }\n addElements(...args) {\n this._each('register', args, this.elements);\n }\n addPlugins(...args) {\n this._each('register', args, this.plugins);\n }\n addScales(...args) {\n this._each('register', args, this.scales);\n }\n getController(id) {\n return this._get(id, this.controllers, 'controller');\n }\n getElement(id) {\n return this._get(id, this.elements, 'element');\n }\n getPlugin(id) {\n return this._get(id, this.plugins, 'plugin');\n }\n getScale(id) {\n return this._get(id, this.scales, 'scale');\n }\n removeControllers(...args) {\n this._each('unregister', args, this.controllers);\n }\n removeElements(...args) {\n this._each('unregister', args, this.elements);\n }\n removePlugins(...args) {\n this._each('unregister', args, this.plugins);\n }\n removeScales(...args) {\n this._each('unregister', args, this.scales);\n }\n _each(method, args, typedRegistry) {\n [\n ...args\n ].forEach((arg)=>{\n const reg = typedRegistry || this._getRegistryForType(arg);\n if (typedRegistry || reg.isForType(arg) || reg === this.plugins && arg.id) {\n this._exec(method, reg, arg);\n } else {\n each(arg, (item)=>{\n const itemReg = typedRegistry || this._getRegistryForType(item);\n this._exec(method, itemReg, item);\n });\n }\n });\n }\n _exec(method, registry, component) {\n const camelMethod = _capitalize(method);\n callback(component['before' + camelMethod], [], component);\n registry[method](component);\n callback(component['after' + camelMethod], [], component);\n }\n _getRegistryForType(type) {\n for(let i = 0; i < this._typedRegistries.length; i++){\n const reg = this._typedRegistries[i];\n if (reg.isForType(type)) {\n return reg;\n }\n }\n return this.plugins;\n }\n _get(id, typedRegistry, type) {\n const item = typedRegistry.get(id);\n if (item === undefined) {\n throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n }\n return item;\n }\n}\nvar registry = /* #__PURE__ */ new Registry();\n\nclass PluginService {\n constructor(){\n this._init = [];\n }\n notify(chart, hook, args, filter) {\n if (hook === 'beforeInit') {\n this._init = this._createDescriptors(chart, true);\n this._notify(this._init, chart, 'install');\n }\n const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart);\n const result = this._notify(descriptors, chart, hook, args);\n if (hook === 'afterDestroy') {\n this._notify(descriptors, chart, 'stop');\n this._notify(this._init, chart, 'uninstall');\n }\n return result;\n }\n _notify(descriptors, chart, hook, args) {\n args = args || {};\n for (const descriptor of descriptors){\n const plugin = descriptor.plugin;\n const method = plugin[hook];\n const params = [\n chart,\n args,\n descriptor.options\n ];\n if (callback(method, params, plugin) === false && args.cancelable) {\n return false;\n }\n }\n return true;\n }\n invalidate() {\n if (!isNullOrUndef(this._cache)) {\n this._oldCache = this._cache;\n this._cache = undefined;\n }\n }\n _descriptors(chart) {\n if (this._cache) {\n return this._cache;\n }\n const descriptors = this._cache = this._createDescriptors(chart);\n this._notifyStateChanges(chart);\n return descriptors;\n }\n _createDescriptors(chart, all) {\n const config = chart && chart.config;\n const options = valueOrDefault(config.options && config.options.plugins, {});\n const plugins = allPlugins(config);\n return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n }\n _notifyStateChanges(chart) {\n const previousDescriptors = this._oldCache || [];\n const descriptors = this._cache;\n const diff = (a, b)=>a.filter((x)=>!b.some((y)=>x.plugin.id === y.plugin.id));\n this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n }\n}\n function allPlugins(config) {\n const localIds = {};\n const plugins = [];\n const keys = Object.keys(registry.plugins.items);\n for(let i = 0; i < keys.length; i++){\n plugins.push(registry.getPlugin(keys[i]));\n }\n const local = config.plugins || [];\n for(let i = 0; i < local.length; i++){\n const plugin = local[i];\n if (plugins.indexOf(plugin) === -1) {\n plugins.push(plugin);\n localIds[plugin.id] = true;\n }\n }\n return {\n plugins,\n localIds\n };\n}\nfunction getOpts(options, all) {\n if (!all && options === false) {\n return null;\n }\n if (options === true) {\n return {};\n }\n return options;\n}\nfunction createDescriptors(chart, { plugins , localIds }, options, all) {\n const result = [];\n const context = chart.getContext();\n for (const plugin of plugins){\n const id = plugin.id;\n const opts = getOpts(options[id], all);\n if (opts === null) {\n continue;\n }\n result.push({\n plugin,\n options: pluginOpts(chart.config, {\n plugin,\n local: localIds[id]\n }, opts, context)\n });\n }\n return result;\n}\nfunction pluginOpts(config, { plugin , local }, opts, context) {\n const keys = config.pluginScopeKeys(plugin);\n const scopes = config.getOptionScopes(opts, keys);\n if (local && plugin.defaults) {\n scopes.push(plugin.defaults);\n }\n return config.createResolver(scopes, context, [\n ''\n ], {\n scriptable: false,\n indexable: false,\n allKeys: true\n });\n}\n\nfunction getIndexAxis(type, options) {\n const datasetDefaults = defaults.datasets[type] || {};\n const datasetOptions = (options.datasets || {})[type] || {};\n return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n let axis = id;\n if (id === '_index_') {\n axis = indexAxis;\n } else if (id === '_value_') {\n axis = indexAxis === 'x' ? 'y' : 'x';\n }\n return axis;\n}\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n return axis === indexAxis ? '_index_' : '_value_';\n}\nfunction idMatchesAxis(id) {\n if (id === 'x' || id === 'y' || id === 'r') {\n return id;\n }\n}\nfunction axisFromPosition(position) {\n if (position === 'top' || position === 'bottom') {\n return 'x';\n }\n if (position === 'left' || position === 'right') {\n return 'y';\n }\n}\nfunction determineAxis(id, ...scaleOptions) {\n if (idMatchesAxis(id)) {\n return id;\n }\n for (const opts of scaleOptions){\n const axis = opts.axis || axisFromPosition(opts.position) || id.length > 1 && idMatchesAxis(id[0].toLowerCase());\n if (axis) {\n return axis;\n }\n }\n throw new Error(`Cannot determine type of '${id}' axis. Please provide 'axis' or 'position' option.`);\n}\nfunction getAxisFromDataset(id, axis, dataset) {\n if (dataset[axis + 'AxisID'] === id) {\n return {\n axis\n };\n }\n}\nfunction retrieveAxisFromDatasets(id, config) {\n if (config.data && config.data.datasets) {\n const boundDs = config.data.datasets.filter((d)=>d.xAxisID === id || d.yAxisID === id);\n if (boundDs.length) {\n return getAxisFromDataset(id, 'x', boundDs[0]) || getAxisFromDataset(id, 'y', boundDs[0]);\n }\n }\n return {};\n}\nfunction mergeScaleConfig(config, options) {\n const chartDefaults = overrides[config.type] || {\n scales: {}\n };\n const configScales = options.scales || {};\n const chartIndexAxis = getIndexAxis(config.type, options);\n const scales = Object.create(null);\n Object.keys(configScales).forEach((id)=>{\n const scaleConf = configScales[id];\n if (!isObject(scaleConf)) {\n return console.error(`Invalid scale configuration for scale: ${id}`);\n }\n if (scaleConf._proxy) {\n return console.warn(`Ignoring resolver passed as options for scale: ${id}`);\n }\n const axis = determineAxis(id, scaleConf, retrieveAxisFromDatasets(id, config), defaults.scales[scaleConf.type]);\n const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n const defaultScaleOptions = chartDefaults.scales || {};\n scales[id] = mergeIf(Object.create(null), [\n {\n axis\n },\n scaleConf,\n defaultScaleOptions[axis],\n defaultScaleOptions[defaultId]\n ]);\n });\n config.data.datasets.forEach((dataset)=>{\n const type = dataset.type || config.type;\n const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n const datasetDefaults = overrides[type] || {};\n const defaultScaleOptions = datasetDefaults.scales || {};\n Object.keys(defaultScaleOptions).forEach((defaultID)=>{\n const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n const id = dataset[axis + 'AxisID'] || axis;\n scales[id] = scales[id] || Object.create(null);\n mergeIf(scales[id], [\n {\n axis\n },\n configScales[id],\n defaultScaleOptions[defaultID]\n ]);\n });\n });\n Object.keys(scales).forEach((key)=>{\n const scale = scales[key];\n mergeIf(scale, [\n defaults.scales[scale.type],\n defaults.scale\n ]);\n });\n return scales;\n}\nfunction initOptions(config) {\n const options = config.options || (config.options = {});\n options.plugins = valueOrDefault(options.plugins, {});\n options.scales = mergeScaleConfig(config, options);\n}\nfunction initData(data) {\n data = data || {};\n data.datasets = data.datasets || [];\n data.labels = data.labels || [];\n return data;\n}\nfunction initConfig(config) {\n config = config || {};\n config.data = initData(config.data);\n initOptions(config);\n return config;\n}\nconst keyCache = new Map();\nconst keysCached = new Set();\nfunction cachedKeys(cacheKey, generate) {\n let keys = keyCache.get(cacheKey);\n if (!keys) {\n keys = generate();\n keyCache.set(cacheKey, keys);\n keysCached.add(keys);\n }\n return keys;\n}\nconst addIfFound = (set, obj, key)=>{\n const opts = resolveObjectKey(obj, key);\n if (opts !== undefined) {\n set.add(opts);\n }\n};\nclass Config {\n constructor(config){\n this._config = initConfig(config);\n this._scopeCache = new Map();\n this._resolverCache = new Map();\n }\n get platform() {\n return this._config.platform;\n }\n get type() {\n return this._config.type;\n }\n set type(type) {\n this._config.type = type;\n }\n get data() {\n return this._config.data;\n }\n set data(data) {\n this._config.data = initData(data);\n }\n get options() {\n return this._config.options;\n }\n set options(options) {\n this._config.options = options;\n }\n get plugins() {\n return this._config.plugins;\n }\n update() {\n const config = this._config;\n this.clearCache();\n initOptions(config);\n }\n clearCache() {\n this._scopeCache.clear();\n this._resolverCache.clear();\n }\n datasetScopeKeys(datasetType) {\n return cachedKeys(datasetType, ()=>[\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetAnimationScopeKeys(datasetType, transition) {\n return cachedKeys(`${datasetType}.transition.${transition}`, ()=>[\n [\n `datasets.${datasetType}.transitions.${transition}`,\n `transitions.${transition}`\n ],\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetElementScopeKeys(datasetType, elementType) {\n return cachedKeys(`${datasetType}-${elementType}`, ()=>[\n [\n `datasets.${datasetType}.elements.${elementType}`,\n `datasets.${datasetType}`,\n `elements.${elementType}`,\n ''\n ]\n ]);\n }\n pluginScopeKeys(plugin) {\n const id = plugin.id;\n const type = this.type;\n return cachedKeys(`${type}-plugin-${id}`, ()=>[\n [\n `plugins.${id}`,\n ...plugin.additionalOptionScopes || []\n ]\n ]);\n }\n _cachedScopes(mainScope, resetCache) {\n const _scopeCache = this._scopeCache;\n let cache = _scopeCache.get(mainScope);\n if (!cache || resetCache) {\n cache = new Map();\n _scopeCache.set(mainScope, cache);\n }\n return cache;\n }\n getOptionScopes(mainScope, keyLists, resetCache) {\n const { options , type } = this;\n const cache = this._cachedScopes(mainScope, resetCache);\n const cached = cache.get(keyLists);\n if (cached) {\n return cached;\n }\n const scopes = new Set();\n keyLists.forEach((keys)=>{\n if (mainScope) {\n scopes.add(mainScope);\n keys.forEach((key)=>addIfFound(scopes, mainScope, key));\n }\n keys.forEach((key)=>addIfFound(scopes, options, key));\n keys.forEach((key)=>addIfFound(scopes, overrides[type] || {}, key));\n keys.forEach((key)=>addIfFound(scopes, defaults, key));\n keys.forEach((key)=>addIfFound(scopes, descriptors, key));\n });\n const array = Array.from(scopes);\n if (array.length === 0) {\n array.push(Object.create(null));\n }\n if (keysCached.has(keyLists)) {\n cache.set(keyLists, array);\n }\n return array;\n }\n chartOptionScopes() {\n const { options , type } = this;\n return [\n options,\n overrides[type] || {},\n defaults.datasets[type] || {},\n {\n type\n },\n defaults,\n descriptors\n ];\n }\n resolveNamedOptions(scopes, names, context, prefixes = [\n ''\n ]) {\n const result = {\n $shared: true\n };\n const { resolver , subPrefixes } = getResolver(this._resolverCache, scopes, prefixes);\n let options = resolver;\n if (needContext(resolver, names)) {\n result.$shared = false;\n context = isFunction(context) ? context() : context;\n const subResolver = this.createResolver(scopes, context, subPrefixes);\n options = _attachContext(resolver, context, subResolver);\n }\n for (const prop of names){\n result[prop] = options[prop];\n }\n return result;\n }\n createResolver(scopes, context, prefixes = [\n ''\n ], descriptorDefaults) {\n const { resolver } = getResolver(this._resolverCache, scopes, prefixes);\n return isObject(context) ? _attachContext(resolver, context, undefined, descriptorDefaults) : resolver;\n }\n}\nfunction getResolver(resolverCache, scopes, prefixes) {\n let cache = resolverCache.get(scopes);\n if (!cache) {\n cache = new Map();\n resolverCache.set(scopes, cache);\n }\n const cacheKey = prefixes.join();\n let cached = cache.get(cacheKey);\n if (!cached) {\n const resolver = _createResolver(scopes, prefixes);\n cached = {\n resolver,\n subPrefixes: prefixes.filter((p)=>!p.toLowerCase().includes('hover'))\n };\n cache.set(cacheKey, cached);\n }\n return cached;\n}\nconst hasFunction = (value)=>isObject(value) && Object.getOwnPropertyNames(value).some((key)=>isFunction(value[key]));\nfunction needContext(proxy, names) {\n const { isScriptable , isIndexable } = _descriptors(proxy);\n for (const prop of names){\n const scriptable = isScriptable(prop);\n const indexable = isIndexable(prop);\n const value = (indexable || scriptable) && proxy[prop];\n if (scriptable && (isFunction(value) || hasFunction(value)) || indexable && isArray(value)) {\n return true;\n }\n }\n return false;\n}\n\nvar version = \"4.4.4\";\n\nconst KNOWN_POSITIONS = [\n 'top',\n 'bottom',\n 'left',\n 'right',\n 'chartArea'\n];\nfunction positionIsHorizontal(position, axis) {\n return position === 'top' || position === 'bottom' || KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x';\n}\nfunction compare2Level(l1, l2) {\n return function(a, b) {\n return a[l1] === b[l1] ? a[l2] - b[l2] : a[l1] - b[l1];\n };\n}\nfunction onAnimationsComplete(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n chart.notifyPlugins('afterRender');\n callback(animationOptions && animationOptions.onComplete, [\n context\n ], chart);\n}\nfunction onAnimationProgress(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n callback(animationOptions && animationOptions.onProgress, [\n context\n ], chart);\n}\n function getCanvas(item) {\n if (_isDomSupported() && typeof item === 'string') {\n item = document.getElementById(item);\n } else if (item && item.length) {\n item = item[0];\n }\n if (item && item.canvas) {\n item = item.canvas;\n }\n return item;\n}\nconst instances = {};\nconst getChart = (key)=>{\n const canvas = getCanvas(key);\n return Object.values(instances).filter((c)=>c.canvas === canvas).pop();\n};\nfunction moveNumericKeys(obj, start, move) {\n const keys = Object.keys(obj);\n for (const key of keys){\n const intKey = +key;\n if (intKey >= start) {\n const value = obj[key];\n delete obj[key];\n if (move > 0 || intKey > start) {\n obj[intKey + move] = value;\n }\n }\n }\n}\n function determineLastEvent(e, lastEvent, inChartArea, isClick) {\n if (!inChartArea || e.type === 'mouseout') {\n return null;\n }\n if (isClick) {\n return lastEvent;\n }\n return e;\n}\nfunction getSizeForArea(scale, chartArea, field) {\n return scale.options.clip ? scale[field] : chartArea[field];\n}\nfunction getDatasetArea(meta, chartArea) {\n const { xScale , yScale } = meta;\n if (xScale && yScale) {\n return {\n left: getSizeForArea(xScale, chartArea, 'left'),\n right: getSizeForArea(xScale, chartArea, 'right'),\n top: getSizeForArea(yScale, chartArea, 'top'),\n bottom: getSizeForArea(yScale, chartArea, 'bottom')\n };\n }\n return chartArea;\n}\nclass Chart {\n static defaults = defaults;\n static instances = instances;\n static overrides = overrides;\n static registry = registry;\n static version = version;\n static getChart = getChart;\n static register(...items) {\n registry.add(...items);\n invalidatePlugins();\n }\n static unregister(...items) {\n registry.remove(...items);\n invalidatePlugins();\n }\n constructor(item, userConfig){\n const config = this.config = new Config(userConfig);\n const initialCanvas = getCanvas(item);\n const existingChart = getChart(initialCanvas);\n if (existingChart) {\n throw new Error('Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' + ' must be destroyed before the canvas with ID \\'' + existingChart.canvas.id + '\\' can be reused.');\n }\n const options = config.createResolver(config.chartOptionScopes(), this.getContext());\n this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n this.platform.updateConfig(config);\n const context = this.platform.acquireContext(initialCanvas, options.aspectRatio);\n const canvas = context && context.canvas;\n const height = canvas && canvas.height;\n const width = canvas && canvas.width;\n this.id = uid();\n this.ctx = context;\n this.canvas = canvas;\n this.width = width;\n this.height = height;\n this._options = options;\n this._aspectRatio = this.aspectRatio;\n this._layers = [];\n this._metasets = [];\n this._stacks = undefined;\n this.boxes = [];\n this.currentDevicePixelRatio = undefined;\n this.chartArea = undefined;\n this._active = [];\n this._lastEvent = undefined;\n this._listeners = {};\n this._responsiveListeners = undefined;\n this._sortedMetasets = [];\n this.scales = {};\n this._plugins = new PluginService();\n this.$proxies = {};\n this._hiddenIndices = {};\n this.attached = false;\n this._animationsDisabled = undefined;\n this.$context = undefined;\n this._doResize = debounce((mode)=>this.update(mode), options.resizeDelay || 0);\n this._dataChanges = [];\n instances[this.id] = this;\n if (!context || !canvas) {\n console.error(\"Failed to create chart: can't acquire context from the given item\");\n return;\n }\n animator.listen(this, 'complete', onAnimationsComplete);\n animator.listen(this, 'progress', onAnimationProgress);\n this._initialize();\n if (this.attached) {\n this.update();\n }\n }\n get aspectRatio() {\n const { options: { aspectRatio , maintainAspectRatio } , width , height , _aspectRatio } = this;\n if (!isNullOrUndef(aspectRatio)) {\n return aspectRatio;\n }\n if (maintainAspectRatio && _aspectRatio) {\n return _aspectRatio;\n }\n return height ? width / height : null;\n }\n get data() {\n return this.config.data;\n }\n set data(data) {\n this.config.data = data;\n }\n get options() {\n return this._options;\n }\n set options(options) {\n this.config.options = options;\n }\n get registry() {\n return registry;\n }\n _initialize() {\n this.notifyPlugins('beforeInit');\n if (this.options.responsive) {\n this.resize();\n } else {\n retinaScale(this, this.options.devicePixelRatio);\n }\n this.bindEvents();\n this.notifyPlugins('afterInit');\n return this;\n }\n clear() {\n clearCanvas(this.canvas, this.ctx);\n return this;\n }\n stop() {\n animator.stop(this);\n return this;\n }\n resize(width, height) {\n if (!animator.running(this)) {\n this._resize(width, height);\n } else {\n this._resizeBeforeDraw = {\n width,\n height\n };\n }\n }\n _resize(width, height) {\n const options = this.options;\n const canvas = this.canvas;\n const aspectRatio = options.maintainAspectRatio && this.aspectRatio;\n const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio);\n const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio();\n const mode = this.width ? 'resize' : 'attach';\n this.width = newSize.width;\n this.height = newSize.height;\n this._aspectRatio = this.aspectRatio;\n if (!retinaScale(this, newRatio, true)) {\n return;\n }\n this.notifyPlugins('resize', {\n size: newSize\n });\n callback(options.onResize, [\n this,\n newSize\n ], this);\n if (this.attached) {\n if (this._doResize(mode)) {\n this.render();\n }\n }\n }\n ensureScalesHaveIDs() {\n const options = this.options;\n const scalesOptions = options.scales || {};\n each(scalesOptions, (axisOptions, axisID)=>{\n axisOptions.id = axisID;\n });\n }\n buildOrUpdateScales() {\n const options = this.options;\n const scaleOpts = options.scales;\n const scales = this.scales;\n const updated = Object.keys(scales).reduce((obj, id)=>{\n obj[id] = false;\n return obj;\n }, {});\n let items = [];\n if (scaleOpts) {\n items = items.concat(Object.keys(scaleOpts).map((id)=>{\n const scaleOptions = scaleOpts[id];\n const axis = determineAxis(id, scaleOptions);\n const isRadial = axis === 'r';\n const isHorizontal = axis === 'x';\n return {\n options: scaleOptions,\n dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n };\n }));\n }\n each(items, (item)=>{\n const scaleOptions = item.options;\n const id = scaleOptions.id;\n const axis = determineAxis(id, scaleOptions);\n const scaleType = valueOrDefault(scaleOptions.type, item.dtype);\n if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n scaleOptions.position = item.dposition;\n }\n updated[id] = true;\n let scale = null;\n if (id in scales && scales[id].type === scaleType) {\n scale = scales[id];\n } else {\n const scaleClass = registry.getScale(scaleType);\n scale = new scaleClass({\n id,\n type: scaleType,\n ctx: this.ctx,\n chart: this\n });\n scales[scale.id] = scale;\n }\n scale.init(scaleOptions, options);\n });\n each(updated, (hasUpdated, id)=>{\n if (!hasUpdated) {\n delete scales[id];\n }\n });\n each(scales, (scale)=>{\n layouts.configure(this, scale, scale.options);\n layouts.addBox(this, scale);\n });\n }\n _updateMetasets() {\n const metasets = this._metasets;\n const numData = this.data.datasets.length;\n const numMeta = metasets.length;\n metasets.sort((a, b)=>a.index - b.index);\n if (numMeta > numData) {\n for(let i = numData; i < numMeta; ++i){\n this._destroyDatasetMeta(i);\n }\n metasets.splice(numData, numMeta - numData);\n }\n this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n }\n _removeUnreferencedMetasets() {\n const { _metasets: metasets , data: { datasets } } = this;\n if (metasets.length > datasets.length) {\n delete this._stacks;\n }\n metasets.forEach((meta, index)=>{\n if (datasets.filter((x)=>x === meta._dataset).length === 0) {\n this._destroyDatasetMeta(index);\n }\n });\n }\n buildOrUpdateControllers() {\n const newControllers = [];\n const datasets = this.data.datasets;\n let i, ilen;\n this._removeUnreferencedMetasets();\n for(i = 0, ilen = datasets.length; i < ilen; i++){\n const dataset = datasets[i];\n let meta = this.getDatasetMeta(i);\n const type = dataset.type || this.config.type;\n if (meta.type && meta.type !== type) {\n this._destroyDatasetMeta(i);\n meta = this.getDatasetMeta(i);\n }\n meta.type = type;\n meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options);\n meta.order = dataset.order || 0;\n meta.index = i;\n meta.label = '' + dataset.label;\n meta.visible = this.isDatasetVisible(i);\n if (meta.controller) {\n meta.controller.updateIndex(i);\n meta.controller.linkScales();\n } else {\n const ControllerClass = registry.getController(type);\n const { datasetElementType , dataElementType } = defaults.datasets[type];\n Object.assign(ControllerClass, {\n dataElementType: registry.getElement(dataElementType),\n datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n });\n meta.controller = new ControllerClass(this, i);\n newControllers.push(meta.controller);\n }\n }\n this._updateMetasets();\n return newControllers;\n }\n _resetElements() {\n each(this.data.datasets, (dataset, datasetIndex)=>{\n this.getDatasetMeta(datasetIndex).controller.reset();\n }, this);\n }\n reset() {\n this._resetElements();\n this.notifyPlugins('reset');\n }\n update(mode) {\n const config = this.config;\n config.update();\n const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext());\n const animsDisabled = this._animationsDisabled = !options.animation;\n this._updateScales();\n this._checkEventBindings();\n this._updateHiddenIndices();\n this._plugins.invalidate();\n if (this.notifyPlugins('beforeUpdate', {\n mode,\n cancelable: true\n }) === false) {\n return;\n }\n const newControllers = this.buildOrUpdateControllers();\n this.notifyPlugins('beforeElementsUpdate');\n let minPadding = 0;\n for(let i = 0, ilen = this.data.datasets.length; i < ilen; i++){\n const { controller } = this.getDatasetMeta(i);\n const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n controller.buildOrUpdateElements(reset);\n minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n }\n minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0;\n this._updateLayout(minPadding);\n if (!animsDisabled) {\n each(newControllers, (controller)=>{\n controller.reset();\n });\n }\n this._updateDatasets(mode);\n this.notifyPlugins('afterUpdate', {\n mode\n });\n this._layers.sort(compare2Level('z', '_idx'));\n const { _active , _lastEvent } = this;\n if (_lastEvent) {\n this._eventHandler(_lastEvent, true);\n } else if (_active.length) {\n this._updateHoverStyles(_active, _active, true);\n }\n this.render();\n }\n _updateScales() {\n each(this.scales, (scale)=>{\n layouts.removeBox(this, scale);\n });\n this.ensureScalesHaveIDs();\n this.buildOrUpdateScales();\n }\n _checkEventBindings() {\n const options = this.options;\n const existingEvents = new Set(Object.keys(this._listeners));\n const newEvents = new Set(options.events);\n if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) {\n this.unbindEvents();\n this.bindEvents();\n }\n }\n _updateHiddenIndices() {\n const { _hiddenIndices } = this;\n const changes = this._getUniformDataChanges() || [];\n for (const { method , start , count } of changes){\n const move = method === '_removeElements' ? -count : count;\n moveNumericKeys(_hiddenIndices, start, move);\n }\n }\n _getUniformDataChanges() {\n const _dataChanges = this._dataChanges;\n if (!_dataChanges || !_dataChanges.length) {\n return;\n }\n this._dataChanges = [];\n const datasetCount = this.data.datasets.length;\n const makeSet = (idx)=>new Set(_dataChanges.filter((c)=>c[0] === idx).map((c, i)=>i + ',' + c.splice(1).join(',')));\n const changeSet = makeSet(0);\n for(let i = 1; i < datasetCount; i++){\n if (!setsEqual(changeSet, makeSet(i))) {\n return;\n }\n }\n return Array.from(changeSet).map((c)=>c.split(',')).map((a)=>({\n method: a[1],\n start: +a[2],\n count: +a[3]\n }));\n }\n _updateLayout(minPadding) {\n if (this.notifyPlugins('beforeLayout', {\n cancelable: true\n }) === false) {\n return;\n }\n layouts.update(this, this.width, this.height, minPadding);\n const area = this.chartArea;\n const noArea = area.width <= 0 || area.height <= 0;\n this._layers = [];\n each(this.boxes, (box)=>{\n if (noArea && box.position === 'chartArea') {\n return;\n }\n if (box.configure) {\n box.configure();\n }\n this._layers.push(...box._layers());\n }, this);\n this._layers.forEach((item, index)=>{\n item._idx = index;\n });\n this.notifyPlugins('afterLayout');\n }\n _updateDatasets(mode) {\n if (this.notifyPlugins('beforeDatasetsUpdate', {\n mode,\n cancelable: true\n }) === false) {\n return;\n }\n for(let i = 0, ilen = this.data.datasets.length; i < ilen; ++i){\n this.getDatasetMeta(i).controller.configure();\n }\n for(let i = 0, ilen = this.data.datasets.length; i < ilen; ++i){\n this._updateDataset(i, isFunction(mode) ? mode({\n datasetIndex: i\n }) : mode);\n }\n this.notifyPlugins('afterDatasetsUpdate', {\n mode\n });\n }\n _updateDataset(index, mode) {\n const meta = this.getDatasetMeta(index);\n const args = {\n meta,\n index,\n mode,\n cancelable: true\n };\n if (this.notifyPlugins('beforeDatasetUpdate', args) === false) {\n return;\n }\n meta.controller._update(mode);\n args.cancelable = false;\n this.notifyPlugins('afterDatasetUpdate', args);\n }\n render() {\n if (this.notifyPlugins('beforeRender', {\n cancelable: true\n }) === false) {\n return;\n }\n if (animator.has(this)) {\n if (this.attached && !animator.running(this)) {\n animator.start(this);\n }\n } else {\n this.draw();\n onAnimationsComplete({\n chart: this\n });\n }\n }\n draw() {\n let i;\n if (this._resizeBeforeDraw) {\n const { width , height } = this._resizeBeforeDraw;\n this._resizeBeforeDraw = null;\n this._resize(width, height);\n }\n this.clear();\n if (this.width <= 0 || this.height <= 0) {\n return;\n }\n if (this.notifyPlugins('beforeDraw', {\n cancelable: true\n }) === false) {\n return;\n }\n const layers = this._layers;\n for(i = 0; i < layers.length && layers[i].z <= 0; ++i){\n layers[i].draw(this.chartArea);\n }\n this._drawDatasets();\n for(; i < layers.length; ++i){\n layers[i].draw(this.chartArea);\n }\n this.notifyPlugins('afterDraw');\n }\n _getSortedDatasetMetas(filterVisible) {\n const metasets = this._sortedMetasets;\n const result = [];\n let i, ilen;\n for(i = 0, ilen = metasets.length; i < ilen; ++i){\n const meta = metasets[i];\n if (!filterVisible || meta.visible) {\n result.push(meta);\n }\n }\n return result;\n }\n getSortedVisibleDatasetMetas() {\n return this._getSortedDatasetMetas(true);\n }\n _drawDatasets() {\n if (this.notifyPlugins('beforeDatasetsDraw', {\n cancelable: true\n }) === false) {\n return;\n }\n const metasets = this.getSortedVisibleDatasetMetas();\n for(let i = metasets.length - 1; i >= 0; --i){\n this._drawDataset(metasets[i]);\n }\n this.notifyPlugins('afterDatasetsDraw');\n }\n _drawDataset(meta) {\n const ctx = this.ctx;\n const clip = meta._clip;\n const useClip = !clip.disabled;\n const area = getDatasetArea(meta, this.chartArea);\n const args = {\n meta,\n index: meta.index,\n cancelable: true\n };\n if (this.notifyPlugins('beforeDatasetDraw', args) === false) {\n return;\n }\n if (useClip) {\n clipArea(ctx, {\n left: clip.left === false ? 0 : area.left - clip.left,\n right: clip.right === false ? this.width : area.right + clip.right,\n top: clip.top === false ? 0 : area.top - clip.top,\n bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom\n });\n }\n meta.controller.draw();\n if (useClip) {\n unclipArea(ctx);\n }\n args.cancelable = false;\n this.notifyPlugins('afterDatasetDraw', args);\n }\n isPointInArea(point) {\n return _isPointInArea(point, this.chartArea, this._minPadding);\n }\n getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n const method = Interaction.modes[mode];\n if (typeof method === 'function') {\n return method(this, e, options, useFinalPosition);\n }\n return [];\n }\n getDatasetMeta(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n const metasets = this._metasets;\n let meta = metasets.filter((x)=>x && x._dataset === dataset).pop();\n if (!meta) {\n meta = {\n type: null,\n data: [],\n dataset: null,\n controller: null,\n hidden: null,\n xAxisID: null,\n yAxisID: null,\n order: dataset && dataset.order || 0,\n index: datasetIndex,\n _dataset: dataset,\n _parsed: [],\n _sorted: false\n };\n metasets.push(meta);\n }\n return meta;\n }\n getContext() {\n return this.$context || (this.$context = createContext(null, {\n chart: this,\n type: 'chart'\n }));\n }\n getVisibleDatasetCount() {\n return this.getSortedVisibleDatasetMetas().length;\n }\n isDatasetVisible(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n if (!dataset) {\n return false;\n }\n const meta = this.getDatasetMeta(datasetIndex);\n return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n }\n setDatasetVisibility(datasetIndex, visible) {\n const meta = this.getDatasetMeta(datasetIndex);\n meta.hidden = !visible;\n }\n toggleDataVisibility(index) {\n this._hiddenIndices[index] = !this._hiddenIndices[index];\n }\n getDataVisibility(index) {\n return !this._hiddenIndices[index];\n }\n _updateVisibility(datasetIndex, dataIndex, visible) {\n const mode = visible ? 'show' : 'hide';\n const meta = this.getDatasetMeta(datasetIndex);\n const anims = meta.controller._resolveAnimations(undefined, mode);\n if (defined(dataIndex)) {\n meta.data[dataIndex].hidden = !visible;\n this.update();\n } else {\n this.setDatasetVisibility(datasetIndex, visible);\n anims.update(meta, {\n visible\n });\n this.update((ctx)=>ctx.datasetIndex === datasetIndex ? mode : undefined);\n }\n }\n hide(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, false);\n }\n show(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, true);\n }\n _destroyDatasetMeta(datasetIndex) {\n const meta = this._metasets[datasetIndex];\n if (meta && meta.controller) {\n meta.controller._destroy();\n }\n delete this._metasets[datasetIndex];\n }\n _stop() {\n let i, ilen;\n this.stop();\n animator.remove(this);\n for(i = 0, ilen = this.data.datasets.length; i < ilen; ++i){\n this._destroyDatasetMeta(i);\n }\n }\n destroy() {\n this.notifyPlugins('beforeDestroy');\n const { canvas , ctx } = this;\n this._stop();\n this.config.clearCache();\n if (canvas) {\n this.unbindEvents();\n clearCanvas(canvas, ctx);\n this.platform.releaseContext(ctx);\n this.canvas = null;\n this.ctx = null;\n }\n delete instances[this.id];\n this.notifyPlugins('afterDestroy');\n }\n toBase64Image(...args) {\n return this.canvas.toDataURL(...args);\n }\n bindEvents() {\n this.bindUserEvents();\n if (this.options.responsive) {\n this.bindResponsiveEvents();\n } else {\n this.attached = true;\n }\n }\n bindUserEvents() {\n const listeners = this._listeners;\n const platform = this.platform;\n const _add = (type, listener)=>{\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const listener = (e, x, y)=>{\n e.offsetX = x;\n e.offsetY = y;\n this._eventHandler(e);\n };\n each(this.options.events, (type)=>_add(type, listener));\n }\n bindResponsiveEvents() {\n if (!this._responsiveListeners) {\n this._responsiveListeners = {};\n }\n const listeners = this._responsiveListeners;\n const platform = this.platform;\n const _add = (type, listener)=>{\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const _remove = (type, listener)=>{\n if (listeners[type]) {\n platform.removeEventListener(this, type, listener);\n delete listeners[type];\n }\n };\n const listener = (width, height)=>{\n if (this.canvas) {\n this.resize(width, height);\n }\n };\n let detached;\n const attached = ()=>{\n _remove('attach', attached);\n this.attached = true;\n this.resize();\n _add('resize', listener);\n _add('detach', detached);\n };\n detached = ()=>{\n this.attached = false;\n _remove('resize', listener);\n this._stop();\n this._resize(0, 0);\n _add('attach', attached);\n };\n if (platform.isAttached(this.canvas)) {\n attached();\n } else {\n detached();\n }\n }\n unbindEvents() {\n each(this._listeners, (listener, type)=>{\n this.platform.removeEventListener(this, type, listener);\n });\n this._listeners = {};\n each(this._responsiveListeners, (listener, type)=>{\n this.platform.removeEventListener(this, type, listener);\n });\n this._responsiveListeners = undefined;\n }\n updateHoverStyle(items, mode, enabled) {\n const prefix = enabled ? 'set' : 'remove';\n let meta, item, i, ilen;\n if (mode === 'dataset') {\n meta = this.getDatasetMeta(items[0].datasetIndex);\n meta.controller['_' + prefix + 'DatasetHoverStyle']();\n }\n for(i = 0, ilen = items.length; i < ilen; ++i){\n item = items[i];\n const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n if (controller) {\n controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n }\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements) {\n const lastActive = this._active || [];\n const active = activeElements.map(({ datasetIndex , index })=>{\n const meta = this.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('No dataset found at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index\n };\n });\n const changed = !_elementsEqual(active, lastActive);\n if (changed) {\n this._active = active;\n this._lastEvent = null;\n this._updateHoverStyles(active, lastActive);\n }\n }\n notifyPlugins(hook, args, filter) {\n return this._plugins.notify(this, hook, args, filter);\n }\n isPluginEnabled(pluginId) {\n return this._plugins._cache.filter((p)=>p.plugin.id === pluginId).length === 1;\n }\n _updateHoverStyles(active, lastActive, replay) {\n const hoverOptions = this.options.hover;\n const diff = (a, b)=>a.filter((x)=>!b.some((y)=>x.datasetIndex === y.datasetIndex && x.index === y.index));\n const deactivated = diff(lastActive, active);\n const activated = replay ? active : diff(active, lastActive);\n if (deactivated.length) {\n this.updateHoverStyle(deactivated, hoverOptions.mode, false);\n }\n if (activated.length && hoverOptions.mode) {\n this.updateHoverStyle(activated, hoverOptions.mode, true);\n }\n }\n _eventHandler(e, replay) {\n const args = {\n event: e,\n replay,\n cancelable: true,\n inChartArea: this.isPointInArea(e)\n };\n const eventFilter = (plugin)=>(plugin.options.events || this.options.events).includes(e.native.type);\n if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n return;\n }\n const changed = this._handleEvent(e, replay, args.inChartArea);\n args.cancelable = false;\n this.notifyPlugins('afterEvent', args, eventFilter);\n if (changed || args.changed) {\n this.render();\n }\n return this;\n }\n _handleEvent(e, replay, inChartArea) {\n const { _active: lastActive = [] , options } = this;\n const useFinalPosition = replay;\n const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition);\n const isClick = _isClickEvent(e);\n const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick);\n if (inChartArea) {\n this._lastEvent = null;\n callback(options.onHover, [\n e,\n active,\n this\n ], this);\n if (isClick) {\n callback(options.onClick, [\n e,\n active,\n this\n ], this);\n }\n }\n const changed = !_elementsEqual(active, lastActive);\n if (changed || replay) {\n this._active = active;\n this._updateHoverStyles(active, lastActive, replay);\n }\n this._lastEvent = lastEvent;\n return changed;\n }\n _getActiveElements(e, lastActive, inChartArea, useFinalPosition) {\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const hoverOptions = this.options.hover;\n return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n }\n}\nfunction invalidatePlugins() {\n return each(Chart.instances, (chart)=>chart._plugins.invalidate());\n}\n\nfunction clipArc(ctx, element, endAngle) {\n const { startAngle , pixelMargin , x , y , outerRadius , innerRadius } = element;\n let angleMargin = pixelMargin / outerRadius;\n // Draw an inner border by clipping the arc and drawing a double-width border\n // Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n if (innerRadius > pixelMargin) {\n angleMargin = pixelMargin / innerRadius;\n ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n } else {\n ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI);\n }\n ctx.closePath();\n ctx.clip();\n}\nfunction toRadiusCorners(value) {\n return _readValueToProps(value, [\n 'outerStart',\n 'outerEnd',\n 'innerStart',\n 'innerEnd'\n ]);\n}\n/**\n * Parse border radius from the provided options\n */ function parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) {\n const o = toRadiusCorners(arc.options.borderRadius);\n const halfThickness = (outerRadius - innerRadius) / 2;\n const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n // Outer limits are complicated. We want to compute the available angular distance at\n // a radius of outerRadius - borderRadius because for small angular distances, this term limits.\n // We compute at r = outerRadius - borderRadius because this circle defines the center of the border corners.\n //\n // If the borderRadius is large, that value can become negative.\n // This causes the outer borders to lose their radius entirely, which is rather unexpected. To solve that, if borderRadius > outerRadius\n // we know that the thickness term will dominate and compute the limits at that point\n const computeOuterLimit = (val)=>{\n const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit));\n };\n return {\n outerStart: computeOuterLimit(o.outerStart),\n outerEnd: computeOuterLimit(o.outerEnd),\n innerStart: _limitValue(o.innerStart, 0, innerLimit),\n innerEnd: _limitValue(o.innerEnd, 0, innerLimit)\n };\n}\n/**\n * Convert (r, 𝜃) to (x, y)\n */ function rThetaToXY(r, theta, x, y) {\n return {\n x: x + r * Math.cos(theta),\n y: y + r * Math.sin(theta)\n };\n}\n/**\n * Path the arc, respecting border radius by separating into left and right halves.\n *\n * Start End\n *\n * 1--->a--->2 Outer\n * / \\\n * 8 3\n * | |\n * | |\n * 7 4\n * \\ /\n * 6<---b<---5 Inner\n */ function pathArc(ctx, element, offset, spacing, end, circular) {\n const { x , y , startAngle: start , pixelMargin , innerRadius: innerR } = element;\n const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n let spacingOffset = 0;\n const alpha = end - start;\n if (spacing) {\n // When spacing is present, it is the same for all items\n // So we adjust the start and end angle of the arc such that\n // the distance is the same as it would be without the spacing\n const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n const adjustedAngle = avNogSpacingRadius !== 0 ? alpha * avNogSpacingRadius / (avNogSpacingRadius + spacing) : alpha;\n spacingOffset = (alpha - adjustedAngle) / 2;\n }\n const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius;\n const angleOffset = (alpha - beta) / 2;\n const startAngle = start + angleOffset + spacingOffset;\n const endAngle = end - angleOffset - spacingOffset;\n const { outerStart , outerEnd , innerStart , innerEnd } = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle);\n const outerStartAdjustedRadius = outerRadius - outerStart;\n const outerEndAdjustedRadius = outerRadius - outerEnd;\n const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n const innerStartAdjustedRadius = innerRadius + innerStart;\n const innerEndAdjustedRadius = innerRadius + innerEnd;\n const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n ctx.beginPath();\n if (circular) {\n // The first arc segments from point 1 to point a to point 2\n const outerMidAdjustedAngle = (outerStartAdjustedAngle + outerEndAdjustedAngle) / 2;\n ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerMidAdjustedAngle);\n ctx.arc(x, y, outerRadius, outerMidAdjustedAngle, outerEndAdjustedAngle);\n // The corner segment from point 2 to point 3\n if (outerEnd > 0) {\n const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI);\n }\n // The line from point 3 to point 4\n const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n ctx.lineTo(p4.x, p4.y);\n // The corner segment from point 4 to point 5\n if (innerEnd > 0) {\n const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI);\n }\n // The inner arc from point 5 to point b to point 6\n const innerMidAdjustedAngle = (endAngle - innerEnd / innerRadius + (startAngle + innerStart / innerRadius)) / 2;\n ctx.arc(x, y, innerRadius, endAngle - innerEnd / innerRadius, innerMidAdjustedAngle, true);\n ctx.arc(x, y, innerRadius, innerMidAdjustedAngle, startAngle + innerStart / innerRadius, true);\n // The corner segment from point 6 to point 7\n if (innerStart > 0) {\n const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI);\n }\n // The line from point 7 to point 8\n const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n ctx.lineTo(p8.x, p8.y);\n // The corner segment from point 8 to point 1\n if (outerStart > 0) {\n const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle);\n }\n } else {\n ctx.moveTo(x, y);\n const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x;\n const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerStartX, outerStartY);\n const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x;\n const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerEndX, outerEndY);\n }\n ctx.closePath();\n}\nfunction drawArc(ctx, element, offset, spacing, circular) {\n const { fullCircles , startAngle , circumference } = element;\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n for(let i = 0; i < fullCircles; ++i){\n ctx.fill();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + (circumference % TAU || TAU);\n }\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.fill();\n return endAngle;\n}\nfunction drawBorder(ctx, element, offset, spacing, circular) {\n const { fullCircles , startAngle , circumference , options } = element;\n const { borderWidth , borderJoinStyle , borderDash , borderDashOffset } = options;\n const inner = options.borderAlign === 'inner';\n if (!borderWidth) {\n return;\n }\n ctx.setLineDash(borderDash || []);\n ctx.lineDashOffset = borderDashOffset;\n if (inner) {\n ctx.lineWidth = borderWidth * 2;\n ctx.lineJoin = borderJoinStyle || 'round';\n } else {\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = borderJoinStyle || 'bevel';\n }\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n for(let i = 0; i < fullCircles; ++i){\n ctx.stroke();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + (circumference % TAU || TAU);\n }\n }\n if (inner) {\n clipArc(ctx, element, endAngle);\n }\n if (!fullCircles) {\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.stroke();\n }\n}\nclass ArcElement extends Element {\n static id = 'arc';\n static defaults = {\n borderAlign: 'center',\n borderColor: '#fff',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: undefined,\n borderRadius: 0,\n borderWidth: 2,\n offset: 0,\n spacing: 0,\n angle: undefined,\n circular: true\n };\n static defaultRoutes = {\n backgroundColor: 'backgroundColor'\n };\n static descriptors = {\n _scriptable: true,\n _indexable: (name)=>name !== 'borderDash'\n };\n circumference;\n endAngle;\n fullCircles;\n innerRadius;\n outerRadius;\n pixelMargin;\n startAngle;\n constructor(cfg){\n super();\n this.options = undefined;\n this.circumference = undefined;\n this.startAngle = undefined;\n this.endAngle = undefined;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.pixelMargin = 0;\n this.fullCircles = 0;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(chartX, chartY, useFinalPosition) {\n const point = this.getProps([\n 'x',\n 'y'\n ], useFinalPosition);\n const { angle , distance } = getAngleFromPoint(point, {\n x: chartX,\n y: chartY\n });\n const { startAngle , endAngle , innerRadius , outerRadius , circumference } = this.getProps([\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference'\n ], useFinalPosition);\n const rAdjust = (this.options.spacing + this.options.borderWidth) / 2;\n const _circumference = valueOrDefault(circumference, endAngle - startAngle);\n const nonZeroBetween = _angleBetween(angle, startAngle, endAngle) && startAngle !== endAngle;\n const betweenAngles = _circumference >= TAU || nonZeroBetween;\n const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);\n return betweenAngles && withinRadius;\n }\n getCenterPoint(useFinalPosition) {\n const { x , y , startAngle , endAngle , innerRadius , outerRadius } = this.getProps([\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius'\n ], useFinalPosition);\n const { offset , spacing } = this.options;\n const halfAngle = (startAngle + endAngle) / 2;\n const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n return {\n x: x + Math.cos(halfAngle) * halfRadius,\n y: y + Math.sin(halfAngle) * halfRadius\n };\n }\n tooltipPosition(useFinalPosition) {\n return this.getCenterPoint(useFinalPosition);\n }\n draw(ctx) {\n const { options , circumference } = this;\n const offset = (options.offset || 0) / 4;\n const spacing = (options.spacing || 0) / 2;\n const circular = options.circular;\n this.pixelMargin = options.borderAlign === 'inner' ? 0.33 : 0;\n this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0;\n if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) {\n return;\n }\n ctx.save();\n const halfAngle = (this.startAngle + this.endAngle) / 2;\n ctx.translate(Math.cos(halfAngle) * offset, Math.sin(halfAngle) * offset);\n const fix = 1 - Math.sin(Math.min(PI, circumference || 0));\n const radiusOffset = offset * fix;\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n drawArc(ctx, this, radiusOffset, spacing, circular);\n drawBorder(ctx, this, radiusOffset, spacing, circular);\n ctx.restore();\n }\n}\n\nfunction setStyle(ctx, options, style = options) {\n ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle);\n ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash));\n ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset);\n ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle);\n ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth);\n ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor);\n}\nfunction lineTo(ctx, previous, target) {\n ctx.lineTo(target.x, target.y);\n}\n function getLineMethod(options) {\n if (options.stepped) {\n return _steppedLineTo;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierCurveTo;\n }\n return lineTo;\n}\nfunction pathVars(points, segment, params = {}) {\n const count = points.length;\n const { start: paramsStart = 0 , end: paramsEnd = count - 1 } = params;\n const { start: segmentStart , end: segmentEnd } = segment;\n const start = Math.max(paramsStart, segmentStart);\n const end = Math.min(paramsEnd, segmentEnd);\n const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n return {\n count,\n start,\n loop: segment.loop,\n ilen: end < start && !outside ? count + end - start : end - start\n };\n}\n function pathSegment(ctx, line, segment, params) {\n const { points , options } = line;\n const { count , start , loop , ilen } = pathVars(points, segment, params);\n const lineMethod = getLineMethod(options);\n let { move =true , reverse } = params || {};\n let i, point, prev;\n for(i = 0; i <= ilen; ++i){\n point = points[(start + (reverse ? ilen - i : i)) % count];\n if (point.skip) {\n continue;\n } else if (move) {\n ctx.moveTo(point.x, point.y);\n move = false;\n } else {\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n prev = point;\n }\n if (loop) {\n point = points[(start + (reverse ? ilen : 0)) % count];\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n return !!loop;\n}\n function fastPathSegment(ctx, line, segment, params) {\n const points = line.points;\n const { count , start , ilen } = pathVars(points, segment, params);\n const { move =true , reverse } = params || {};\n let avgX = 0;\n let countX = 0;\n let i, point, prevX, minY, maxY, lastY;\n const pointIndex = (index)=>(start + (reverse ? ilen - index : index)) % count;\n const drawX = ()=>{\n if (minY !== maxY) {\n ctx.lineTo(avgX, maxY);\n ctx.lineTo(avgX, minY);\n ctx.lineTo(avgX, lastY);\n }\n };\n if (move) {\n point = points[pointIndex(0)];\n ctx.moveTo(point.x, point.y);\n }\n for(i = 0; i <= ilen; ++i){\n point = points[pointIndex(i)];\n if (point.skip) {\n continue;\n }\n const x = point.x;\n const y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n } else if (y > maxY) {\n maxY = y;\n }\n avgX = (countX * avgX + x) / ++countX;\n } else {\n drawX();\n ctx.lineTo(x, y);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n }\n lastY = y;\n }\n drawX();\n}\n function _getSegmentMethod(line) {\n const opts = line.options;\n const borderDash = opts.borderDash && opts.borderDash.length;\n const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n return useFastPath ? fastPathSegment : pathSegment;\n}\n function _getInterpolationMethod(options) {\n if (options.stepped) {\n return _steppedInterpolation;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierInterpolation;\n }\n return _pointInLine;\n}\nfunction strokePathWithCache(ctx, line, start, count) {\n let path = line._path;\n if (!path) {\n path = line._path = new Path2D();\n if (line.path(path, start, count)) {\n path.closePath();\n }\n }\n setStyle(ctx, line.options);\n ctx.stroke(path);\n}\nfunction strokePathDirect(ctx, line, start, count) {\n const { segments , options } = line;\n const segmentMethod = _getSegmentMethod(line);\n for (const segment of segments){\n setStyle(ctx, options, segment.style);\n ctx.beginPath();\n if (segmentMethod(ctx, line, segment, {\n start,\n end: start + count - 1\n })) {\n ctx.closePath();\n }\n ctx.stroke();\n }\n}\nconst usePath2D = typeof Path2D === 'function';\nfunction draw(ctx, line, start, count) {\n if (usePath2D && !line.options.segment) {\n strokePathWithCache(ctx, line, start, count);\n } else {\n strokePathDirect(ctx, line, start, count);\n }\n}\nclass LineElement extends Element {\n static id = 'line';\n static defaults = {\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderWidth: 3,\n capBezierPoints: true,\n cubicInterpolationMode: 'default',\n fill: false,\n spanGaps: false,\n stepped: false,\n tension: 0\n };\n static defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n };\n static descriptors = {\n _scriptable: true,\n _indexable: (name)=>name !== 'borderDash' && name !== 'fill'\n };\n constructor(cfg){\n super();\n this.animated = true;\n this.options = undefined;\n this._chart = undefined;\n this._loop = undefined;\n this._fullLoop = undefined;\n this._path = undefined;\n this._points = undefined;\n this._segments = undefined;\n this._decimated = false;\n this._pointsUpdated = false;\n this._datasetIndex = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n updateControlPoints(chartArea, indexAxis) {\n const options = this.options;\n if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) {\n const loop = options.spanGaps ? this._loop : this._fullLoop;\n _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis);\n this._pointsUpdated = true;\n }\n }\n set points(points) {\n this._points = points;\n delete this._segments;\n delete this._path;\n this._pointsUpdated = false;\n }\n get points() {\n return this._points;\n }\n get segments() {\n return this._segments || (this._segments = _computeSegments(this, this.options.segment));\n }\n first() {\n const segments = this.segments;\n const points = this.points;\n return segments.length && points[segments[0].start];\n }\n last() {\n const segments = this.segments;\n const points = this.points;\n const count = segments.length;\n return count && points[segments[count - 1].end];\n }\n interpolate(point, property) {\n const options = this.options;\n const value = point[property];\n const points = this.points;\n const segments = _boundSegments(this, {\n property,\n start: value,\n end: value\n });\n if (!segments.length) {\n return;\n }\n const result = [];\n const _interpolate = _getInterpolationMethod(options);\n let i, ilen;\n for(i = 0, ilen = segments.length; i < ilen; ++i){\n const { start , end } = segments[i];\n const p1 = points[start];\n const p2 = points[end];\n if (p1 === p2) {\n result.push(p1);\n continue;\n }\n const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n const interpolated = _interpolate(p1, p2, t, options.stepped);\n interpolated[property] = point[property];\n result.push(interpolated);\n }\n return result.length === 1 ? result[0] : result;\n }\n pathSegment(ctx, segment, params) {\n const segmentMethod = _getSegmentMethod(this);\n return segmentMethod(ctx, this, segment, params);\n }\n path(ctx, start, count) {\n const segments = this.segments;\n const segmentMethod = _getSegmentMethod(this);\n let loop = this._loop;\n start = start || 0;\n count = count || this.points.length - start;\n for (const segment of segments){\n loop &= segmentMethod(ctx, this, segment, {\n start,\n end: start + count - 1\n });\n }\n return !!loop;\n }\n draw(ctx, chartArea, start, count) {\n const options = this.options || {};\n const points = this.points || [];\n if (points.length && options.borderWidth) {\n ctx.save();\n draw(ctx, this, start, count);\n ctx.restore();\n }\n if (this.animated) {\n this._pointsUpdated = false;\n this._path = undefined;\n }\n }\n}\n\nfunction inRange$1(el, pos, axis, useFinalPosition) {\n const options = el.options;\n const { [axis]: value } = el.getProps([\n axis\n ], useFinalPosition);\n return Math.abs(pos - value) < options.radius + options.hitRadius;\n}\nclass PointElement extends Element {\n static id = 'point';\n parsed;\n skip;\n stop;\n /**\n * @type {any}\n */ static defaults = {\n borderWidth: 1,\n hitRadius: 1,\n hoverBorderWidth: 1,\n hoverRadius: 4,\n pointStyle: 'circle',\n radius: 3,\n rotation: 0\n };\n /**\n * @type {any}\n */ static defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n };\n constructor(cfg){\n super();\n this.options = undefined;\n this.parsed = undefined;\n this.skip = undefined;\n this.stop = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n const options = this.options;\n const { x , y } = this.getProps([\n 'x',\n 'y'\n ], useFinalPosition);\n return Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2) < Math.pow(options.hitRadius + options.radius, 2);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange$1(this, mouseX, 'x', useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange$1(this, mouseY, 'y', useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const { x , y } = this.getProps([\n 'x',\n 'y'\n ], useFinalPosition);\n return {\n x,\n y\n };\n }\n size(options) {\n options = options || this.options || {};\n let radius = options.radius || 0;\n radius = Math.max(radius, radius && options.hoverRadius || 0);\n const borderWidth = radius && options.borderWidth || 0;\n return (radius + borderWidth) * 2;\n }\n draw(ctx, area) {\n const options = this.options;\n if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) {\n return;\n }\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.fillStyle = options.backgroundColor;\n drawPoint(ctx, options, this.x, this.y);\n }\n getRange() {\n const options = this.options || {};\n // @ts-expect-error Fallbacks should never be hit in practice\n return options.radius + options.hitRadius;\n }\n}\n\nfunction getBarBounds(bar, useFinalPosition) {\n const { x , y , base , width , height } = bar.getProps([\n 'x',\n 'y',\n 'base',\n 'width',\n 'height'\n ], useFinalPosition);\n let left, right, top, bottom, half;\n if (bar.horizontal) {\n half = height / 2;\n left = Math.min(x, base);\n right = Math.max(x, base);\n top = y - half;\n bottom = y + half;\n } else {\n half = width / 2;\n left = x - half;\n right = x + half;\n top = Math.min(y, base);\n bottom = Math.max(y, base);\n }\n return {\n left,\n top,\n right,\n bottom\n };\n}\nfunction skipOrLimit(skip, value, min, max) {\n return skip ? 0 : _limitValue(value, min, max);\n}\nfunction parseBorderWidth(bar, maxW, maxH) {\n const value = bar.options.borderWidth;\n const skip = bar.borderSkipped;\n const o = toTRBL(value);\n return {\n t: skipOrLimit(skip.top, o.top, 0, maxH),\n r: skipOrLimit(skip.right, o.right, 0, maxW),\n b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n l: skipOrLimit(skip.left, o.left, 0, maxW)\n };\n}\nfunction parseBorderRadius(bar, maxW, maxH) {\n const { enableBorderRadius } = bar.getProps([\n 'enableBorderRadius'\n ]);\n const value = bar.options.borderRadius;\n const o = toTRBLCorners(value);\n const maxR = Math.min(maxW, maxH);\n const skip = bar.borderSkipped;\n const enableBorder = enableBorderRadius || isObject(value);\n return {\n topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n };\n}\nfunction boundingRects(bar) {\n const bounds = getBarBounds(bar);\n const width = bounds.right - bounds.left;\n const height = bounds.bottom - bounds.top;\n const border = parseBorderWidth(bar, width / 2, height / 2);\n const radius = parseBorderRadius(bar, width / 2, height / 2);\n return {\n outer: {\n x: bounds.left,\n y: bounds.top,\n w: width,\n h: height,\n radius\n },\n inner: {\n x: bounds.left + border.l,\n y: bounds.top + border.t,\n w: width - border.l - border.r,\n h: height - border.t - border.b,\n radius: {\n topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r))\n }\n }\n };\n}\nfunction inRange(bar, x, y, useFinalPosition) {\n const skipX = x === null;\n const skipY = y === null;\n const skipBoth = skipX && skipY;\n const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n return bounds && (skipX || _isBetween(x, bounds.left, bounds.right)) && (skipY || _isBetween(y, bounds.top, bounds.bottom));\n}\nfunction hasRadius(radius) {\n return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\n function addNormalRectPath(ctx, rect) {\n ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\nfunction inflateRect(rect, amount, refRect = {}) {\n const x = rect.x !== refRect.x ? -amount : 0;\n const y = rect.y !== refRect.y ? -amount : 0;\n const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n return {\n x: rect.x + x,\n y: rect.y + y,\n w: rect.w + w,\n h: rect.h + h,\n radius: rect.radius\n };\n}\nclass BarElement extends Element {\n static id = 'bar';\n static defaults = {\n borderSkipped: 'start',\n borderWidth: 0,\n borderRadius: 0,\n inflateAmount: 'auto',\n pointStyle: undefined\n };\n static defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n };\n constructor(cfg){\n super();\n this.options = undefined;\n this.horizontal = undefined;\n this.base = undefined;\n this.width = undefined;\n this.height = undefined;\n this.inflateAmount = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n draw(ctx) {\n const { inflateAmount , options: { borderColor , backgroundColor } } = this;\n const { inner , outer } = boundingRects(this);\n const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath;\n ctx.save();\n if (outer.w !== inner.w || outer.h !== inner.h) {\n ctx.beginPath();\n addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n ctx.clip();\n addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n ctx.fillStyle = borderColor;\n ctx.fill('evenodd');\n }\n ctx.beginPath();\n addRectPath(ctx, inflateRect(inner, inflateAmount));\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n return inRange(this, mouseX, mouseY, useFinalPosition);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange(this, mouseX, null, useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange(this, null, mouseY, useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const { x , y , base , horizontal } = this.getProps([\n 'x',\n 'y',\n 'base',\n 'horizontal'\n ], useFinalPosition);\n return {\n x: horizontal ? (x + base) / 2 : x,\n y: horizontal ? y : (y + base) / 2\n };\n }\n getRange(axis) {\n return axis === 'x' ? this.width / 2 : this.height / 2;\n }\n}\n\nvar elements = /*#__PURE__*/Object.freeze({\n__proto__: null,\nArcElement: ArcElement,\nBarElement: BarElement,\nLineElement: LineElement,\nPointElement: PointElement\n});\n\nconst BORDER_COLORS = [\n 'rgb(54, 162, 235)',\n 'rgb(255, 99, 132)',\n 'rgb(255, 159, 64)',\n 'rgb(255, 205, 86)',\n 'rgb(75, 192, 192)',\n 'rgb(153, 102, 255)',\n 'rgb(201, 203, 207)' // grey\n];\n// Border colors with 50% transparency\nconst BACKGROUND_COLORS = /* #__PURE__ */ BORDER_COLORS.map((color)=>color.replace('rgb(', 'rgba(').replace(')', ', 0.5)'));\nfunction getBorderColor(i) {\n return BORDER_COLORS[i % BORDER_COLORS.length];\n}\nfunction getBackgroundColor(i) {\n return BACKGROUND_COLORS[i % BACKGROUND_COLORS.length];\n}\nfunction colorizeDefaultDataset(dataset, i) {\n dataset.borderColor = getBorderColor(i);\n dataset.backgroundColor = getBackgroundColor(i);\n return ++i;\n}\nfunction colorizeDoughnutDataset(dataset, i) {\n dataset.backgroundColor = dataset.data.map(()=>getBorderColor(i++));\n return i;\n}\nfunction colorizePolarAreaDataset(dataset, i) {\n dataset.backgroundColor = dataset.data.map(()=>getBackgroundColor(i++));\n return i;\n}\nfunction getColorizer(chart) {\n let i = 0;\n return (dataset, datasetIndex)=>{\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n if (controller instanceof DoughnutController) {\n i = colorizeDoughnutDataset(dataset, i);\n } else if (controller instanceof PolarAreaController) {\n i = colorizePolarAreaDataset(dataset, i);\n } else if (controller) {\n i = colorizeDefaultDataset(dataset, i);\n }\n };\n}\nfunction containsColorsDefinitions(descriptors) {\n let k;\n for(k in descriptors){\n if (descriptors[k].borderColor || descriptors[k].backgroundColor) {\n return true;\n }\n }\n return false;\n}\nfunction containsColorsDefinition(descriptor) {\n return descriptor && (descriptor.borderColor || descriptor.backgroundColor);\n}\nvar plugin_colors = {\n id: 'colors',\n defaults: {\n enabled: true,\n forceOverride: false\n },\n beforeLayout (chart, _args, options) {\n if (!options.enabled) {\n return;\n }\n const { data: { datasets } , options: chartOptions } = chart.config;\n const { elements } = chartOptions;\n if (!options.forceOverride && (containsColorsDefinitions(datasets) || containsColorsDefinition(chartOptions) || elements && containsColorsDefinitions(elements))) {\n return;\n }\n const colorizer = getColorizer(chart);\n datasets.forEach(colorizer);\n }\n};\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n const samples = options.samples || availableWidth;\n if (samples >= count) {\n return data.slice(start, start + count);\n }\n const decimated = [];\n const bucketWidth = (count - 2) / (samples - 2);\n let sampledIndex = 0;\n const endIndex = start + count - 1;\n let a = start;\n let i, maxAreaPoint, maxArea, area, nextA;\n decimated[sampledIndex++] = data[a];\n for(i = 0; i < samples - 2; i++){\n let avgX = 0;\n let avgY = 0;\n let j;\n const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n const avgRangeLength = avgRangeEnd - avgRangeStart;\n for(j = avgRangeStart; j < avgRangeEnd; j++){\n avgX += data[j].x;\n avgY += data[j].y;\n }\n avgX /= avgRangeLength;\n avgY /= avgRangeLength;\n const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n const { x: pointAx , y: pointAy } = data[a];\n maxArea = area = -1;\n for(j = rangeOffs; j < rangeTo; j++){\n area = 0.5 * Math.abs((pointAx - avgX) * (data[j].y - pointAy) - (pointAx - data[j].x) * (avgY - pointAy));\n if (area > maxArea) {\n maxArea = area;\n maxAreaPoint = data[j];\n nextA = j;\n }\n }\n decimated[sampledIndex++] = maxAreaPoint;\n a = nextA;\n }\n decimated[sampledIndex++] = data[endIndex];\n return decimated;\n}\nfunction minMaxDecimation(data, start, count, availableWidth) {\n let avgX = 0;\n let countX = 0;\n let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n const decimated = [];\n const endIndex = start + count - 1;\n const xMin = data[start].x;\n const xMax = data[endIndex].x;\n const dx = xMax - xMin;\n for(i = start; i < start + count; ++i){\n point = data[i];\n x = (point.x - xMin) / dx * availableWidth;\n y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n minIndex = i;\n } else if (y > maxY) {\n maxY = y;\n maxIndex = i;\n }\n avgX = (countX * avgX + point.x) / ++countX;\n } else {\n const lastIndex = i - 1;\n if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) {\n const intermediateIndex1 = Math.min(minIndex, maxIndex);\n const intermediateIndex2 = Math.max(minIndex, maxIndex);\n if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex1],\n x: avgX\n });\n }\n if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex2],\n x: avgX\n });\n }\n }\n if (i > 0 && lastIndex !== startIndex) {\n decimated.push(data[lastIndex]);\n }\n decimated.push(point);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n minIndex = maxIndex = startIndex = i;\n }\n }\n return decimated;\n}\nfunction cleanDecimatedDataset(dataset) {\n if (dataset._decimated) {\n const data = dataset._data;\n delete dataset._decimated;\n delete dataset._data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n writable: true,\n value: data\n });\n }\n}\nfunction cleanDecimatedData(chart) {\n chart.data.datasets.forEach((dataset)=>{\n cleanDecimatedDataset(dataset);\n });\n}\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n const pointCount = points.length;\n let start = 0;\n let count;\n const { iScale } = meta;\n const { min , max , minDefined , maxDefined } = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n return {\n start,\n count\n };\n}\nvar plugin_decimation = {\n id: 'decimation',\n defaults: {\n algorithm: 'min-max',\n enabled: false\n },\n beforeElementsUpdate: (chart, args, options)=>{\n if (!options.enabled) {\n cleanDecimatedData(chart);\n return;\n }\n const availableWidth = chart.width;\n chart.data.datasets.forEach((dataset, datasetIndex)=>{\n const { _data , indexAxis } = dataset;\n const meta = chart.getDatasetMeta(datasetIndex);\n const data = _data || dataset.data;\n if (resolve([\n indexAxis,\n chart.options.indexAxis\n ]) === 'y') {\n return;\n }\n if (!meta.controller.supportsDecimation) {\n return;\n }\n const xAxis = chart.scales[meta.xAxisID];\n if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n return;\n }\n if (chart.options.parsing) {\n return;\n }\n let { start , count } = getStartAndCountOfVisiblePointsSimplified(meta, data);\n const threshold = options.threshold || 4 * availableWidth;\n if (count <= threshold) {\n cleanDecimatedDataset(dataset);\n return;\n }\n if (isNullOrUndef(_data)) {\n dataset._data = data;\n delete dataset.data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this._decimated;\n },\n set: function(d) {\n this._data = d;\n }\n });\n }\n let decimated;\n switch(options.algorithm){\n case 'lttb':\n decimated = lttbDecimation(data, start, count, availableWidth, options);\n break;\n case 'min-max':\n decimated = minMaxDecimation(data, start, count, availableWidth);\n break;\n default:\n throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n }\n dataset._decimated = decimated;\n });\n },\n destroy (chart) {\n cleanDecimatedData(chart);\n }\n};\n\nfunction _segments(line, target, property) {\n const segments = line.segments;\n const points = line.points;\n const tpoints = target.points;\n const parts = [];\n for (const segment of segments){\n let { start , end } = segment;\n end = _findSegmentEnd(start, end, points);\n const bounds = _getBounds(property, points[start], points[end], segment.loop);\n if (!target.segments) {\n parts.push({\n source: segment,\n target: bounds,\n start: points[start],\n end: points[end]\n });\n continue;\n }\n const targetSegments = _boundSegments(target, bounds);\n for (const tgt of targetSegments){\n const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n const fillSources = _boundSegment(segment, points, subBounds);\n for (const fillSource of fillSources){\n parts.push({\n source: fillSource,\n target: tgt,\n start: {\n [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n },\n end: {\n [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n }\n });\n }\n }\n }\n return parts;\n}\nfunction _getBounds(property, first, last, loop) {\n if (loop) {\n return;\n }\n let start = first[property];\n let end = last[property];\n if (property === 'angle') {\n start = _normalizeAngle(start);\n end = _normalizeAngle(end);\n }\n return {\n property,\n start,\n end\n };\n}\nfunction _pointsFromSegments(boundary, line) {\n const { x =null , y =null } = boundary || {};\n const linePoints = line.points;\n const points = [];\n line.segments.forEach(({ start , end })=>{\n end = _findSegmentEnd(start, end, linePoints);\n const first = linePoints[start];\n const last = linePoints[end];\n if (y !== null) {\n points.push({\n x: first.x,\n y\n });\n points.push({\n x: last.x,\n y\n });\n } else if (x !== null) {\n points.push({\n x,\n y: first.y\n });\n points.push({\n x,\n y: last.y\n });\n }\n });\n return points;\n}\nfunction _findSegmentEnd(start, end, points) {\n for(; end > start; end--){\n const point = points[end];\n if (!isNaN(point.x) && !isNaN(point.y)) {\n break;\n }\n }\n return end;\n}\nfunction _getEdge(a, b, prop, fn) {\n if (a && b) {\n return fn(a[prop], b[prop]);\n }\n return a ? a[prop] : b ? b[prop] : 0;\n}\n\nfunction _createBoundaryLine(boundary, line) {\n let points = [];\n let _loop = false;\n if (isArray(boundary)) {\n _loop = true;\n points = boundary;\n } else {\n points = _pointsFromSegments(boundary, line);\n }\n return points.length ? new LineElement({\n points,\n options: {\n tension: 0\n },\n _loop,\n _fullLoop: _loop\n }) : null;\n}\nfunction _shouldApplyFill(source) {\n return source && source.fill !== false;\n}\n\nfunction _resolveTarget(sources, index, propagate) {\n const source = sources[index];\n let fill = source.fill;\n const visited = [\n index\n ];\n let target;\n if (!propagate) {\n return fill;\n }\n while(fill !== false && visited.indexOf(fill) === -1){\n if (!isNumberFinite(fill)) {\n return fill;\n }\n target = sources[fill];\n if (!target) {\n return false;\n }\n if (target.visible) {\n return fill;\n }\n visited.push(fill);\n fill = target.fill;\n }\n return false;\n}\n function _decodeFill(line, index, count) {\n const fill = parseFillOption(line);\n if (isObject(fill)) {\n return isNaN(fill.value) ? false : fill;\n }\n let target = parseFloat(fill);\n if (isNumberFinite(target) && Math.floor(target) === target) {\n return decodeTargetIndex(fill[0], index, target, count);\n }\n return [\n 'origin',\n 'start',\n 'end',\n 'stack',\n 'shape'\n ].indexOf(fill) >= 0 && fill;\n}\nfunction decodeTargetIndex(firstCh, index, target, count) {\n if (firstCh === '-' || firstCh === '+') {\n target = index + target;\n }\n if (target === index || target < 0 || target >= count) {\n return false;\n }\n return target;\n}\n function _getTargetPixel(fill, scale) {\n let pixel = null;\n if (fill === 'start') {\n pixel = scale.bottom;\n } else if (fill === 'end') {\n pixel = scale.top;\n } else if (isObject(fill)) {\n pixel = scale.getPixelForValue(fill.value);\n } else if (scale.getBasePixel) {\n pixel = scale.getBasePixel();\n }\n return pixel;\n}\n function _getTargetValue(fill, scale, startValue) {\n let value;\n if (fill === 'start') {\n value = startValue;\n } else if (fill === 'end') {\n value = scale.options.reverse ? scale.min : scale.max;\n } else if (isObject(fill)) {\n value = fill.value;\n } else {\n value = scale.getBaseValue();\n }\n return value;\n}\n function parseFillOption(line) {\n const options = line.options;\n const fillOption = options.fill;\n let fill = valueOrDefault(fillOption && fillOption.target, fillOption);\n if (fill === undefined) {\n fill = !!options.backgroundColor;\n }\n if (fill === false || fill === null) {\n return false;\n }\n if (fill === true) {\n return 'origin';\n }\n return fill;\n}\n\nfunction _buildStackLine(source) {\n const { scale , index , line } = source;\n const points = [];\n const segments = line.segments;\n const sourcePoints = line.points;\n const linesBelow = getLinesBelow(scale, index);\n linesBelow.push(_createBoundaryLine({\n x: null,\n y: scale.bottom\n }, line));\n for(let i = 0; i < segments.length; i++){\n const segment = segments[i];\n for(let j = segment.start; j <= segment.end; j++){\n addPointsBelow(points, sourcePoints[j], linesBelow);\n }\n }\n return new LineElement({\n points,\n options: {}\n });\n}\n function getLinesBelow(scale, index) {\n const below = [];\n const metas = scale.getMatchingVisibleMetas('line');\n for(let i = 0; i < metas.length; i++){\n const meta = metas[i];\n if (meta.index === index) {\n break;\n }\n if (!meta.hidden) {\n below.unshift(meta.dataset);\n }\n }\n return below;\n}\n function addPointsBelow(points, sourcePoint, linesBelow) {\n const postponed = [];\n for(let j = 0; j < linesBelow.length; j++){\n const line = linesBelow[j];\n const { first , last , point } = findPoint(line, sourcePoint, 'x');\n if (!point || first && last) {\n continue;\n }\n if (first) {\n postponed.unshift(point);\n } else {\n points.push(point);\n if (!last) {\n break;\n }\n }\n }\n points.push(...postponed);\n}\n function findPoint(line, sourcePoint, property) {\n const point = line.interpolate(sourcePoint, property);\n if (!point) {\n return {};\n }\n const pointValue = point[property];\n const segments = line.segments;\n const linePoints = line.points;\n let first = false;\n let last = false;\n for(let i = 0; i < segments.length; i++){\n const segment = segments[i];\n const firstValue = linePoints[segment.start][property];\n const lastValue = linePoints[segment.end][property];\n if (_isBetween(pointValue, firstValue, lastValue)) {\n first = pointValue === firstValue;\n last = pointValue === lastValue;\n break;\n }\n }\n return {\n first,\n last,\n point\n };\n}\n\nclass simpleArc {\n constructor(opts){\n this.x = opts.x;\n this.y = opts.y;\n this.radius = opts.radius;\n }\n pathSegment(ctx, bounds, opts) {\n const { x , y , radius } = this;\n bounds = bounds || {\n start: 0,\n end: TAU\n };\n ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n return !opts.bounds;\n }\n interpolate(point) {\n const { x , y , radius } = this;\n const angle = point.angle;\n return {\n x: x + Math.cos(angle) * radius,\n y: y + Math.sin(angle) * radius,\n angle\n };\n }\n}\n\nfunction _getTarget(source) {\n const { chart , fill , line } = source;\n if (isNumberFinite(fill)) {\n return getLineByIndex(chart, fill);\n }\n if (fill === 'stack') {\n return _buildStackLine(source);\n }\n if (fill === 'shape') {\n return true;\n }\n const boundary = computeBoundary(source);\n if (boundary instanceof simpleArc) {\n return boundary;\n }\n return _createBoundaryLine(boundary, line);\n}\n function getLineByIndex(chart, index) {\n const meta = chart.getDatasetMeta(index);\n const visible = meta && chart.isDatasetVisible(index);\n return visible ? meta.dataset : null;\n}\nfunction computeBoundary(source) {\n const scale = source.scale || {};\n if (scale.getPointPositionForValue) {\n return computeCircularBoundary(source);\n }\n return computeLinearBoundary(source);\n}\nfunction computeLinearBoundary(source) {\n const { scale ={} , fill } = source;\n const pixel = _getTargetPixel(fill, scale);\n if (isNumberFinite(pixel)) {\n const horizontal = scale.isHorizontal();\n return {\n x: horizontal ? pixel : null,\n y: horizontal ? null : pixel\n };\n }\n return null;\n}\nfunction computeCircularBoundary(source) {\n const { scale , fill } = source;\n const options = scale.options;\n const length = scale.getLabels().length;\n const start = options.reverse ? scale.max : scale.min;\n const value = _getTargetValue(fill, scale, start);\n const target = [];\n if (options.grid.circular) {\n const center = scale.getPointPositionForValue(0, start);\n return new simpleArc({\n x: center.x,\n y: center.y,\n radius: scale.getDistanceFromCenterForValue(value)\n });\n }\n for(let i = 0; i < length; ++i){\n target.push(scale.getPointPositionForValue(i, value));\n }\n return target;\n}\n\nfunction _drawfill(ctx, source, area) {\n const target = _getTarget(source);\n const { line , scale , axis } = source;\n const lineOpts = line.options;\n const fillOption = lineOpts.fill;\n const color = lineOpts.backgroundColor;\n const { above =color , below =color } = fillOption || {};\n if (target && line.points.length) {\n clipArea(ctx, area);\n doFill(ctx, {\n line,\n target,\n above,\n below,\n area,\n scale,\n axis\n });\n unclipArea(ctx);\n }\n}\nfunction doFill(ctx, cfg) {\n const { line , target , above , below , area , scale } = cfg;\n const property = line._loop ? 'angle' : cfg.axis;\n ctx.save();\n if (property === 'x' && below !== above) {\n clipVertical(ctx, target, area.top);\n fill(ctx, {\n line,\n target,\n color: above,\n scale,\n property\n });\n ctx.restore();\n ctx.save();\n clipVertical(ctx, target, area.bottom);\n }\n fill(ctx, {\n line,\n target,\n color: below,\n scale,\n property\n });\n ctx.restore();\n}\nfunction clipVertical(ctx, target, clipY) {\n const { segments , points } = target;\n let first = true;\n let lineLoop = false;\n ctx.beginPath();\n for (const segment of segments){\n const { start , end } = segment;\n const firstPoint = points[start];\n const lastPoint = points[_findSegmentEnd(start, end, points)];\n if (first) {\n ctx.moveTo(firstPoint.x, firstPoint.y);\n first = false;\n } else {\n ctx.lineTo(firstPoint.x, clipY);\n ctx.lineTo(firstPoint.x, firstPoint.y);\n }\n lineLoop = !!target.pathSegment(ctx, segment, {\n move: lineLoop\n });\n if (lineLoop) {\n ctx.closePath();\n } else {\n ctx.lineTo(lastPoint.x, clipY);\n }\n }\n ctx.lineTo(target.first().x, clipY);\n ctx.closePath();\n ctx.clip();\n}\nfunction fill(ctx, cfg) {\n const { line , target , property , color , scale } = cfg;\n const segments = _segments(line, target, property);\n for (const { source: src , target: tgt , start , end } of segments){\n const { style: { backgroundColor =color } = {} } = src;\n const notShape = target !== true;\n ctx.save();\n ctx.fillStyle = backgroundColor;\n clipBounds(ctx, scale, notShape && _getBounds(property, start, end));\n ctx.beginPath();\n const lineLoop = !!line.pathSegment(ctx, src);\n let loop;\n if (notShape) {\n if (lineLoop) {\n ctx.closePath();\n } else {\n interpolatedLineTo(ctx, target, end, property);\n }\n const targetLoop = !!target.pathSegment(ctx, tgt, {\n move: lineLoop,\n reverse: true\n });\n loop = lineLoop && targetLoop;\n if (!loop) {\n interpolatedLineTo(ctx, target, start, property);\n }\n }\n ctx.closePath();\n ctx.fill(loop ? 'evenodd' : 'nonzero');\n ctx.restore();\n }\n}\nfunction clipBounds(ctx, scale, bounds) {\n const { top , bottom } = scale.chart.chartArea;\n const { property , start , end } = bounds || {};\n if (property === 'x') {\n ctx.beginPath();\n ctx.rect(start, top, end - start, bottom - top);\n ctx.clip();\n }\n}\nfunction interpolatedLineTo(ctx, target, point, property) {\n const interpolatedPoint = target.interpolate(point, property);\n if (interpolatedPoint) {\n ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n }\n}\n\nvar index = {\n id: 'filler',\n afterDatasetsUpdate (chart, _args, options) {\n const count = (chart.data.datasets || []).length;\n const sources = [];\n let meta, i, line, source;\n for(i = 0; i < count; ++i){\n meta = chart.getDatasetMeta(i);\n line = meta.dataset;\n source = null;\n if (line && line.options && line instanceof LineElement) {\n source = {\n visible: chart.isDatasetVisible(i),\n index: i,\n fill: _decodeFill(line, i, count),\n chart,\n axis: meta.controller.options.indexAxis,\n scale: meta.vScale,\n line\n };\n }\n meta.$filler = source;\n sources.push(source);\n }\n for(i = 0; i < count; ++i){\n source = sources[i];\n if (!source || source.fill === false) {\n continue;\n }\n source.fill = _resolveTarget(sources, i, options.propagate);\n }\n },\n beforeDraw (chart, _args, options) {\n const draw = options.drawTime === 'beforeDraw';\n const metasets = chart.getSortedVisibleDatasetMetas();\n const area = chart.chartArea;\n for(let i = metasets.length - 1; i >= 0; --i){\n const source = metasets[i].$filler;\n if (!source) {\n continue;\n }\n source.line.updateControlPoints(area, source.axis);\n if (draw && source.fill) {\n _drawfill(chart.ctx, source, area);\n }\n }\n },\n beforeDatasetsDraw (chart, _args, options) {\n if (options.drawTime !== 'beforeDatasetsDraw') {\n return;\n }\n const metasets = chart.getSortedVisibleDatasetMetas();\n for(let i = metasets.length - 1; i >= 0; --i){\n const source = metasets[i].$filler;\n if (_shouldApplyFill(source)) {\n _drawfill(chart.ctx, source, chart.chartArea);\n }\n }\n },\n beforeDatasetDraw (chart, args, options) {\n const source = args.meta.$filler;\n if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') {\n return;\n }\n _drawfill(chart.ctx, source, chart.chartArea);\n },\n defaults: {\n propagate: true,\n drawTime: 'beforeDatasetDraw'\n }\n};\n\nconst getBoxSize = (labelOpts, fontSize)=>{\n let { boxHeight =fontSize , boxWidth =fontSize } = labelOpts;\n if (labelOpts.usePointStyle) {\n boxHeight = Math.min(boxHeight, fontSize);\n boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize);\n }\n return {\n boxWidth,\n boxHeight,\n itemHeight: Math.max(fontSize, boxHeight)\n };\n};\nconst itemsEqual = (a, b)=>a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\nclass Legend extends Element {\n constructor(config){\n super();\n this._added = false;\n this.legendHitBoxes = [];\n this._hoveredItem = null;\n this.doughnutMode = false;\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this.legendItems = undefined;\n this.columnSizes = undefined;\n this.lineWidths = undefined;\n this.maxHeight = undefined;\n this.maxWidth = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.height = undefined;\n this.width = undefined;\n this._margins = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight, margins) {\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins;\n this.setDimensions();\n this.buildLabels();\n this.fit();\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = this._margins.left;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = this._margins.top;\n this.bottom = this.height;\n }\n }\n buildLabels() {\n const labelOpts = this.options.labels || {};\n let legendItems = callback(labelOpts.generateLabels, [\n this.chart\n ], this) || [];\n if (labelOpts.filter) {\n legendItems = legendItems.filter((item)=>labelOpts.filter(item, this.chart.data));\n }\n if (labelOpts.sort) {\n legendItems = legendItems.sort((a, b)=>labelOpts.sort(a, b, this.chart.data));\n }\n if (this.options.reverse) {\n legendItems.reverse();\n }\n this.legendItems = legendItems;\n }\n fit() {\n const { options , ctx } = this;\n if (!options.display) {\n this.width = this.height = 0;\n return;\n }\n const labelOpts = options.labels;\n const labelFont = toFont(labelOpts.font);\n const fontSize = labelFont.size;\n const titleHeight = this._computeTitleHeight();\n const { boxWidth , itemHeight } = getBoxSize(labelOpts, fontSize);\n let width, height;\n ctx.font = labelFont.string;\n if (this.isHorizontal()) {\n width = this.maxWidth;\n height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n } else {\n height = this.maxHeight;\n width = this._fitCols(titleHeight, labelFont, boxWidth, itemHeight) + 10;\n }\n this.width = Math.min(width, options.maxWidth || this.maxWidth);\n this.height = Math.min(height, options.maxHeight || this.maxHeight);\n }\n _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n const { ctx , maxWidth , options: { labels: { padding } } } = this;\n const hitboxes = this.legendHitBoxes = [];\n const lineWidths = this.lineWidths = [\n 0\n ];\n const lineHeight = itemHeight + padding;\n let totalHeight = titleHeight;\n ctx.textAlign = 'left';\n ctx.textBaseline = 'middle';\n let row = -1;\n let top = -lineHeight;\n this.legendItems.forEach((legendItem, i)=>{\n const itemWidth = boxWidth + fontSize / 2 + ctx.measureText(legendItem.text).width;\n if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n totalHeight += lineHeight;\n lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n top += lineHeight;\n row++;\n }\n hitboxes[i] = {\n left: 0,\n top,\n row,\n width: itemWidth,\n height: itemHeight\n };\n lineWidths[lineWidths.length - 1] += itemWidth + padding;\n });\n return totalHeight;\n }\n _fitCols(titleHeight, labelFont, boxWidth, _itemHeight) {\n const { ctx , maxHeight , options: { labels: { padding } } } = this;\n const hitboxes = this.legendHitBoxes = [];\n const columnSizes = this.columnSizes = [];\n const heightLimit = maxHeight - titleHeight;\n let totalWidth = padding;\n let currentColWidth = 0;\n let currentColHeight = 0;\n let left = 0;\n let col = 0;\n this.legendItems.forEach((legendItem, i)=>{\n const { itemWidth , itemHeight } = calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight);\n if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n totalWidth += currentColWidth + padding;\n columnSizes.push({\n width: currentColWidth,\n height: currentColHeight\n });\n left += currentColWidth + padding;\n col++;\n currentColWidth = currentColHeight = 0;\n }\n hitboxes[i] = {\n left,\n top: currentColHeight,\n col,\n width: itemWidth,\n height: itemHeight\n };\n currentColWidth = Math.max(currentColWidth, itemWidth);\n currentColHeight += itemHeight + padding;\n });\n totalWidth += currentColWidth;\n columnSizes.push({\n width: currentColWidth,\n height: currentColHeight\n });\n return totalWidth;\n }\n adjustHitBoxes() {\n if (!this.options.display) {\n return;\n }\n const titleHeight = this._computeTitleHeight();\n const { legendHitBoxes: hitboxes , options: { align , labels: { padding } , rtl } } = this;\n const rtlHelper = getRtlAdapter(rtl, this.left, this.width);\n if (this.isHorizontal()) {\n let row = 0;\n let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n for (const hitbox of hitboxes){\n if (row !== hitbox.row) {\n row = hitbox.row;\n left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n }\n hitbox.top += this.top + titleHeight + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n left += hitbox.width + padding;\n }\n } else {\n let col = 0;\n let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n for (const hitbox of hitboxes){\n if (hitbox.col !== col) {\n col = hitbox.col;\n top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n }\n hitbox.top = top;\n hitbox.left += this.left + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n top += hitbox.height + padding;\n }\n }\n }\n isHorizontal() {\n return this.options.position === 'top' || this.options.position === 'bottom';\n }\n draw() {\n if (this.options.display) {\n const ctx = this.ctx;\n clipArea(ctx, this);\n this._draw();\n unclipArea(ctx);\n }\n }\n _draw() {\n const { options: opts , columnSizes , lineWidths , ctx } = this;\n const { align , labels: labelOpts } = opts;\n const defaultColor = defaults.color;\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const labelFont = toFont(labelOpts.font);\n const { padding } = labelOpts;\n const fontSize = labelFont.size;\n const halfFontSize = fontSize / 2;\n let cursor;\n this.drawTitle();\n ctx.textAlign = rtlHelper.textAlign('left');\n ctx.textBaseline = 'middle';\n ctx.lineWidth = 0.5;\n ctx.font = labelFont.string;\n const { boxWidth , boxHeight , itemHeight } = getBoxSize(labelOpts, fontSize);\n const drawLegendBox = function(x, y, legendItem) {\n if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n return;\n }\n ctx.save();\n const lineWidth = valueOrDefault(legendItem.lineWidth, 1);\n ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor);\n ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt');\n ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0);\n ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter');\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor);\n ctx.setLineDash(valueOrDefault(legendItem.lineDash, []));\n if (labelOpts.usePointStyle) {\n const drawOptions = {\n radius: boxHeight * Math.SQRT2 / 2,\n pointStyle: legendItem.pointStyle,\n rotation: legendItem.rotation,\n borderWidth: lineWidth\n };\n const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n const centerY = y + halfFontSize;\n drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth);\n } else {\n const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n const borderRadius = toTRBLCorners(legendItem.borderRadius);\n ctx.beginPath();\n if (Object.values(borderRadius).some((v)=>v !== 0)) {\n addRoundedRectPath(ctx, {\n x: xBoxLeft,\n y: yBoxTop,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius\n });\n } else {\n ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n }\n ctx.fill();\n if (lineWidth !== 0) {\n ctx.stroke();\n }\n }\n ctx.restore();\n };\n const fillText = function(x, y, legendItem) {\n renderText(ctx, legendItem.text, x, y + itemHeight / 2, labelFont, {\n strikethrough: legendItem.hidden,\n textAlign: rtlHelper.textAlign(legendItem.textAlign)\n });\n };\n const isHorizontal = this.isHorizontal();\n const titleHeight = this._computeTitleHeight();\n if (isHorizontal) {\n cursor = {\n x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]),\n y: this.top + padding + titleHeight,\n line: 0\n };\n } else {\n cursor = {\n x: this.left + padding,\n y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height),\n line: 0\n };\n }\n overrideTextDirection(this.ctx, opts.textDirection);\n const lineHeight = itemHeight + padding;\n this.legendItems.forEach((legendItem, i)=>{\n ctx.strokeStyle = legendItem.fontColor;\n ctx.fillStyle = legendItem.fontColor;\n const textWidth = ctx.measureText(legendItem.text).width;\n const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n const width = boxWidth + halfFontSize + textWidth;\n let x = cursor.x;\n let y = cursor.y;\n rtlHelper.setWidth(this.width);\n if (isHorizontal) {\n if (i > 0 && x + width + padding > this.right) {\n y = cursor.y += lineHeight;\n cursor.line++;\n x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]);\n }\n } else if (i > 0 && y + lineHeight > this.bottom) {\n x = cursor.x = x + columnSizes[cursor.line].width + padding;\n cursor.line++;\n y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height);\n }\n const realX = rtlHelper.x(x);\n drawLegendBox(realX, y, legendItem);\n x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl);\n fillText(rtlHelper.x(x), y, legendItem);\n if (isHorizontal) {\n cursor.x += width + padding;\n } else if (typeof legendItem.text !== 'string') {\n const fontLineHeight = labelFont.lineHeight;\n cursor.y += calculateLegendItemHeight(legendItem, fontLineHeight) + padding;\n } else {\n cursor.y += lineHeight;\n }\n });\n restoreTextDirection(this.ctx, opts.textDirection);\n }\n drawTitle() {\n const opts = this.options;\n const titleOpts = opts.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n if (!titleOpts.display) {\n return;\n }\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const ctx = this.ctx;\n const position = titleOpts.position;\n const halfFontSize = titleFont.size / 2;\n const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n let y;\n let left = this.left;\n let maxWidth = this.width;\n if (this.isHorizontal()) {\n maxWidth = Math.max(...this.lineWidths);\n y = this.top + topPaddingPlusHalfFontSize;\n left = _alignStartEnd(opts.align, left, this.right - maxWidth);\n } else {\n const maxHeight = this.columnSizes.reduce((acc, size)=>Math.max(acc, size.height), 0);\n y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight());\n }\n const x = _alignStartEnd(position, left, left + maxWidth);\n ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position));\n ctx.textBaseline = 'middle';\n ctx.strokeStyle = titleOpts.color;\n ctx.fillStyle = titleOpts.color;\n ctx.font = titleFont.string;\n renderText(ctx, titleOpts.text, x, y, titleFont);\n }\n _computeTitleHeight() {\n const titleOpts = this.options.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n }\n _getLegendItemAt(x, y) {\n let i, hitBox, lh;\n if (_isBetween(x, this.left, this.right) && _isBetween(y, this.top, this.bottom)) {\n lh = this.legendHitBoxes;\n for(i = 0; i < lh.length; ++i){\n hitBox = lh[i];\n if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width) && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) {\n return this.legendItems[i];\n }\n }\n }\n return null;\n }\n handleEvent(e) {\n const opts = this.options;\n if (!isListened(e.type, opts)) {\n return;\n }\n const hoveredItem = this._getLegendItemAt(e.x, e.y);\n if (e.type === 'mousemove' || e.type === 'mouseout') {\n const previous = this._hoveredItem;\n const sameItem = itemsEqual(previous, hoveredItem);\n if (previous && !sameItem) {\n callback(opts.onLeave, [\n e,\n previous,\n this\n ], this);\n }\n this._hoveredItem = hoveredItem;\n if (hoveredItem && !sameItem) {\n callback(opts.onHover, [\n e,\n hoveredItem,\n this\n ], this);\n }\n } else if (hoveredItem) {\n callback(opts.onClick, [\n e,\n hoveredItem,\n this\n ], this);\n }\n }\n}\nfunction calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight) {\n const itemWidth = calculateItemWidth(legendItem, boxWidth, labelFont, ctx);\n const itemHeight = calculateItemHeight(_itemHeight, legendItem, labelFont.lineHeight);\n return {\n itemWidth,\n itemHeight\n };\n}\nfunction calculateItemWidth(legendItem, boxWidth, labelFont, ctx) {\n let legendItemText = legendItem.text;\n if (legendItemText && typeof legendItemText !== 'string') {\n legendItemText = legendItemText.reduce((a, b)=>a.length > b.length ? a : b);\n }\n return boxWidth + labelFont.size / 2 + ctx.measureText(legendItemText).width;\n}\nfunction calculateItemHeight(_itemHeight, legendItem, fontLineHeight) {\n let itemHeight = _itemHeight;\n if (typeof legendItem.text !== 'string') {\n itemHeight = calculateLegendItemHeight(legendItem, fontLineHeight);\n }\n return itemHeight;\n}\nfunction calculateLegendItemHeight(legendItem, fontLineHeight) {\n const labelHeight = legendItem.text ? legendItem.text.length : 0;\n return fontLineHeight * labelHeight;\n}\nfunction isListened(type, opts) {\n if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) {\n return true;\n }\n if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n return true;\n }\n return false;\n}\nvar plugin_legend = {\n id: 'legend',\n _element: Legend,\n start (chart, _args, options) {\n const legend = chart.legend = new Legend({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, legend, options);\n layouts.addBox(chart, legend);\n },\n stop (chart) {\n layouts.removeBox(chart, chart.legend);\n delete chart.legend;\n },\n beforeUpdate (chart, _args, options) {\n const legend = chart.legend;\n layouts.configure(chart, legend, options);\n legend.options = options;\n },\n afterUpdate (chart) {\n const legend = chart.legend;\n legend.buildLabels();\n legend.adjustHitBoxes();\n },\n afterEvent (chart, args) {\n if (!args.replay) {\n chart.legend.handleEvent(args.event);\n }\n },\n defaults: {\n display: true,\n position: 'top',\n align: 'center',\n fullSize: true,\n reverse: false,\n weight: 1000,\n onClick (e, legendItem, legend) {\n const index = legendItem.datasetIndex;\n const ci = legend.chart;\n if (ci.isDatasetVisible(index)) {\n ci.hide(index);\n legendItem.hidden = true;\n } else {\n ci.show(index);\n legendItem.hidden = false;\n }\n },\n onHover: null,\n onLeave: null,\n labels: {\n color: (ctx)=>ctx.chart.options.color,\n boxWidth: 40,\n padding: 10,\n generateLabels (chart) {\n const datasets = chart.data.datasets;\n const { labels: { usePointStyle , pointStyle , textAlign , color , useBorderRadius , borderRadius } } = chart.legend.options;\n return chart._getSortedDatasetMetas().map((meta)=>{\n const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n const borderWidth = toPadding(style.borderWidth);\n return {\n text: datasets[meta.index].label,\n fillStyle: style.backgroundColor,\n fontColor: color,\n hidden: !meta.visible,\n lineCap: style.borderCapStyle,\n lineDash: style.borderDash,\n lineDashOffset: style.borderDashOffset,\n lineJoin: style.borderJoinStyle,\n lineWidth: (borderWidth.width + borderWidth.height) / 4,\n strokeStyle: style.borderColor,\n pointStyle: pointStyle || style.pointStyle,\n rotation: style.rotation,\n textAlign: textAlign || style.textAlign,\n borderRadius: useBorderRadius && (borderRadius || style.borderRadius),\n datasetIndex: meta.index\n };\n }, this);\n }\n },\n title: {\n color: (ctx)=>ctx.chart.options.color,\n display: false,\n position: 'center',\n text: ''\n }\n },\n descriptors: {\n _scriptable: (name)=>!name.startsWith('on'),\n labels: {\n _scriptable: (name)=>![\n 'generateLabels',\n 'filter',\n 'sort'\n ].includes(name)\n }\n }\n};\n\nclass Title extends Element {\n constructor(config){\n super();\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this._padding = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight) {\n const opts = this.options;\n this.left = 0;\n this.top = 0;\n if (!opts.display) {\n this.width = this.height = this.right = this.bottom = 0;\n return;\n }\n this.width = this.right = maxWidth;\n this.height = this.bottom = maxHeight;\n const lineCount = isArray(opts.text) ? opts.text.length : 1;\n this._padding = toPadding(opts.padding);\n const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height;\n if (this.isHorizontal()) {\n this.height = textSize;\n } else {\n this.width = textSize;\n }\n }\n isHorizontal() {\n const pos = this.options.position;\n return pos === 'top' || pos === 'bottom';\n }\n _drawArgs(offset) {\n const { top , left , bottom , right , options } = this;\n const align = options.align;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n if (this.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n titleY = top + offset;\n maxWidth = right - left;\n } else {\n if (options.position === 'left') {\n titleX = left + offset;\n titleY = _alignStartEnd(align, bottom, top);\n rotation = PI * -0.5;\n } else {\n titleX = right - offset;\n titleY = _alignStartEnd(align, top, bottom);\n rotation = PI * 0.5;\n }\n maxWidth = bottom - top;\n }\n return {\n titleX,\n titleY,\n maxWidth,\n rotation\n };\n }\n draw() {\n const ctx = this.ctx;\n const opts = this.options;\n if (!opts.display) {\n return;\n }\n const fontOpts = toFont(opts.font);\n const lineHeight = fontOpts.lineHeight;\n const offset = lineHeight / 2 + this._padding.top;\n const { titleX , titleY , maxWidth , rotation } = this._drawArgs(offset);\n renderText(ctx, opts.text, 0, 0, fontOpts, {\n color: opts.color,\n maxWidth,\n rotation,\n textAlign: _toLeftRightCenter(opts.align),\n textBaseline: 'middle',\n translation: [\n titleX,\n titleY\n ]\n });\n }\n}\nfunction createTitle(chart, titleOpts) {\n const title = new Title({\n ctx: chart.ctx,\n options: titleOpts,\n chart\n });\n layouts.configure(chart, title, titleOpts);\n layouts.addBox(chart, title);\n chart.titleBlock = title;\n}\nvar plugin_title = {\n id: 'title',\n _element: Title,\n start (chart, _args, options) {\n createTitle(chart, options);\n },\n stop (chart) {\n const titleBlock = chart.titleBlock;\n layouts.removeBox(chart, titleBlock);\n delete chart.titleBlock;\n },\n beforeUpdate (chart, _args, options) {\n const title = chart.titleBlock;\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'bold'\n },\n fullSize: true,\n padding: 10,\n position: 'top',\n text: '',\n weight: 2000\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false\n }\n};\n\nconst map = new WeakMap();\nvar plugin_subtitle = {\n id: 'subtitle',\n start (chart, _args, options) {\n const title = new Title({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, title, options);\n layouts.addBox(chart, title);\n map.set(chart, title);\n },\n stop (chart) {\n layouts.removeBox(chart, map.get(chart));\n map.delete(chart);\n },\n beforeUpdate (chart, _args, options) {\n const title = map.get(chart);\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'normal'\n },\n fullSize: true,\n padding: 0,\n position: 'top',\n text: '',\n weight: 1500\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false\n }\n};\n\nconst positioners = {\n average (items) {\n if (!items.length) {\n return false;\n }\n let i, len;\n let xSet = new Set();\n let y = 0;\n let count = 0;\n for(i = 0, len = items.length; i < len; ++i){\n const el = items[i].element;\n if (el && el.hasValue()) {\n const pos = el.tooltipPosition();\n xSet.add(pos.x);\n y += pos.y;\n ++count;\n }\n }\n if (count === 0 || xSet.size === 0) {\n return false;\n }\n const xAverage = [\n ...xSet\n ].reduce((a, b)=>a + b) / xSet.size;\n return {\n x: xAverage,\n y: y / count\n };\n },\n nearest (items, eventPosition) {\n if (!items.length) {\n return false;\n }\n let x = eventPosition.x;\n let y = eventPosition.y;\n let minDistance = Number.POSITIVE_INFINITY;\n let i, len, nearestElement;\n for(i = 0, len = items.length; i < len; ++i){\n const el = items[i].element;\n if (el && el.hasValue()) {\n const center = el.getCenterPoint();\n const d = distanceBetweenPoints(eventPosition, center);\n if (d < minDistance) {\n minDistance = d;\n nearestElement = el;\n }\n }\n }\n if (nearestElement) {\n const tp = nearestElement.tooltipPosition();\n x = tp.x;\n y = tp.y;\n }\n return {\n x,\n y\n };\n }\n};\nfunction pushOrConcat(base, toPush) {\n if (toPush) {\n if (isArray(toPush)) {\n Array.prototype.push.apply(base, toPush);\n } else {\n base.push(toPush);\n }\n }\n return base;\n}\n function splitNewlines(str) {\n if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n return str.split('\\n');\n }\n return str;\n}\n function createTooltipItem(chart, item) {\n const { element , datasetIndex , index } = item;\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n const { label , value } = controller.getLabelAndValue(index);\n return {\n chart,\n label,\n parsed: controller.getParsed(index),\n raw: chart.data.datasets[datasetIndex].data[index],\n formattedValue: value,\n dataset: controller.getDataset(),\n dataIndex: index,\n datasetIndex,\n element\n };\n}\n function getTooltipSize(tooltip, options) {\n const ctx = tooltip.chart.ctx;\n const { body , footer , title } = tooltip;\n const { boxWidth , boxHeight } = options;\n const bodyFont = toFont(options.bodyFont);\n const titleFont = toFont(options.titleFont);\n const footerFont = toFont(options.footerFont);\n const titleLineCount = title.length;\n const footerLineCount = footer.length;\n const bodyLineItemCount = body.length;\n const padding = toPadding(options.padding);\n let height = padding.height;\n let width = 0;\n let combinedBodyLength = body.reduce((count, bodyItem)=>count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n if (titleLineCount) {\n height += titleLineCount * titleFont.lineHeight + (titleLineCount - 1) * options.titleSpacing + options.titleMarginBottom;\n }\n if (combinedBodyLength) {\n const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n height += bodyLineItemCount * bodyLineHeight + (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight + (combinedBodyLength - 1) * options.bodySpacing;\n }\n if (footerLineCount) {\n height += options.footerMarginTop + footerLineCount * footerFont.lineHeight + (footerLineCount - 1) * options.footerSpacing;\n }\n let widthPadding = 0;\n const maxLineWidth = function(line) {\n width = Math.max(width, ctx.measureText(line).width + widthPadding);\n };\n ctx.save();\n ctx.font = titleFont.string;\n each(tooltip.title, maxLineWidth);\n ctx.font = bodyFont.string;\n each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n widthPadding = options.displayColors ? boxWidth + 2 + options.boxPadding : 0;\n each(body, (bodyItem)=>{\n each(bodyItem.before, maxLineWidth);\n each(bodyItem.lines, maxLineWidth);\n each(bodyItem.after, maxLineWidth);\n });\n widthPadding = 0;\n ctx.font = footerFont.string;\n each(tooltip.footer, maxLineWidth);\n ctx.restore();\n width += padding.width;\n return {\n width,\n height\n };\n}\nfunction determineYAlign(chart, size) {\n const { y , height } = size;\n if (y < height / 2) {\n return 'top';\n } else if (y > chart.height - height / 2) {\n return 'bottom';\n }\n return 'center';\n}\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n const { x , width } = size;\n const caret = options.caretSize + options.caretPadding;\n if (xAlign === 'left' && x + width + caret > chart.width) {\n return true;\n }\n if (xAlign === 'right' && x - width - caret < 0) {\n return true;\n }\n}\nfunction determineXAlign(chart, options, size, yAlign) {\n const { x , width } = size;\n const { width: chartWidth , chartArea: { left , right } } = chart;\n let xAlign = 'center';\n if (yAlign === 'center') {\n xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n } else if (x <= width / 2) {\n xAlign = 'left';\n } else if (x >= chartWidth - width / 2) {\n xAlign = 'right';\n }\n if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n xAlign = 'center';\n }\n return xAlign;\n}\n function determineAlignment(chart, options, size) {\n const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size);\n return {\n xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign),\n yAlign\n };\n}\nfunction alignX(size, xAlign) {\n let { x , width } = size;\n if (xAlign === 'right') {\n x -= width;\n } else if (xAlign === 'center') {\n x -= width / 2;\n }\n return x;\n}\nfunction alignY(size, yAlign, paddingAndSize) {\n let { y , height } = size;\n if (yAlign === 'top') {\n y += paddingAndSize;\n } else if (yAlign === 'bottom') {\n y -= height + paddingAndSize;\n } else {\n y -= height / 2;\n }\n return y;\n}\n function getBackgroundPoint(options, size, alignment, chart) {\n const { caretSize , caretPadding , cornerRadius } = options;\n const { xAlign , yAlign } = alignment;\n const paddingAndSize = caretSize + caretPadding;\n const { topLeft , topRight , bottomLeft , bottomRight } = toTRBLCorners(cornerRadius);\n let x = alignX(size, xAlign);\n const y = alignY(size, yAlign, paddingAndSize);\n if (yAlign === 'center') {\n if (xAlign === 'left') {\n x += paddingAndSize;\n } else if (xAlign === 'right') {\n x -= paddingAndSize;\n }\n } else if (xAlign === 'left') {\n x -= Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x += Math.max(topRight, bottomRight) + caretSize;\n }\n return {\n x: _limitValue(x, 0, chart.width - size.width),\n y: _limitValue(y, 0, chart.height - size.height)\n };\n}\nfunction getAlignedX(tooltip, align, options) {\n const padding = toPadding(options.padding);\n return align === 'center' ? tooltip.x + tooltip.width / 2 : align === 'right' ? tooltip.x + tooltip.width - padding.right : tooltip.x + padding.left;\n}\n function getBeforeAfterBodyLines(callback) {\n return pushOrConcat([], splitNewlines(callback));\n}\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n return createContext(parent, {\n tooltip,\n tooltipItems,\n type: 'tooltip'\n });\n}\nfunction overrideCallbacks(callbacks, context) {\n const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n return override ? callbacks.override(override) : callbacks;\n}\nconst defaultCallbacks = {\n beforeTitle: noop,\n title (tooltipItems) {\n if (tooltipItems.length > 0) {\n const item = tooltipItems[0];\n const labels = item.chart.data.labels;\n const labelCount = labels ? labels.length : 0;\n if (this && this.options && this.options.mode === 'dataset') {\n return item.dataset.label || '';\n } else if (item.label) {\n return item.label;\n } else if (labelCount > 0 && item.dataIndex < labelCount) {\n return labels[item.dataIndex];\n }\n }\n return '';\n },\n afterTitle: noop,\n beforeBody: noop,\n beforeLabel: noop,\n label (tooltipItem) {\n if (this && this.options && this.options.mode === 'dataset') {\n return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n }\n let label = tooltipItem.dataset.label || '';\n if (label) {\n label += ': ';\n }\n const value = tooltipItem.formattedValue;\n if (!isNullOrUndef(value)) {\n label += value;\n }\n return label;\n },\n labelColor (tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n borderColor: options.borderColor,\n backgroundColor: options.backgroundColor,\n borderWidth: options.borderWidth,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderRadius: 0\n };\n },\n labelTextColor () {\n return this.options.bodyColor;\n },\n labelPointStyle (tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n pointStyle: options.pointStyle,\n rotation: options.rotation\n };\n },\n afterLabel: noop,\n afterBody: noop,\n beforeFooter: noop,\n footer: noop,\n afterFooter: noop\n};\n function invokeCallbackWithFallback(callbacks, name, ctx, arg) {\n const result = callbacks[name].call(ctx, arg);\n if (typeof result === 'undefined') {\n return defaultCallbacks[name].call(ctx, arg);\n }\n return result;\n}\nclass Tooltip extends Element {\n static positioners = positioners;\n constructor(config){\n super();\n this.opacity = 0;\n this._active = [];\n this._eventPosition = undefined;\n this._size = undefined;\n this._cachedAnimations = undefined;\n this._tooltipItems = [];\n this.$animations = undefined;\n this.$context = undefined;\n this.chart = config.chart;\n this.options = config.options;\n this.dataPoints = undefined;\n this.title = undefined;\n this.beforeBody = undefined;\n this.body = undefined;\n this.afterBody = undefined;\n this.footer = undefined;\n this.xAlign = undefined;\n this.yAlign = undefined;\n this.x = undefined;\n this.y = undefined;\n this.height = undefined;\n this.width = undefined;\n this.caretX = undefined;\n this.caretY = undefined;\n this.labelColors = undefined;\n this.labelPointStyles = undefined;\n this.labelTextColors = undefined;\n }\n initialize(options) {\n this.options = options;\n this._cachedAnimations = undefined;\n this.$context = undefined;\n }\n _resolveAnimations() {\n const cached = this._cachedAnimations;\n if (cached) {\n return cached;\n }\n const chart = this.chart;\n const options = this.options.setContext(this.getContext());\n const opts = options.enabled && chart.options.animation && options.animations;\n const animations = new Animations(this.chart, opts);\n if (opts._cacheable) {\n this._cachedAnimations = Object.freeze(animations);\n }\n return animations;\n }\n getContext() {\n return this.$context || (this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems));\n }\n getTitle(context, options) {\n const { callbacks } = options;\n const beforeTitle = invokeCallbackWithFallback(callbacks, 'beforeTitle', this, context);\n const title = invokeCallbackWithFallback(callbacks, 'title', this, context);\n const afterTitle = invokeCallbackWithFallback(callbacks, 'afterTitle', this, context);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n lines = pushOrConcat(lines, splitNewlines(title));\n lines = pushOrConcat(lines, splitNewlines(afterTitle));\n return lines;\n }\n getBeforeBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(invokeCallbackWithFallback(options.callbacks, 'beforeBody', this, tooltipItems));\n }\n getBody(tooltipItems, options) {\n const { callbacks } = options;\n const bodyItems = [];\n each(tooltipItems, (context)=>{\n const bodyItem = {\n before: [],\n lines: [],\n after: []\n };\n const scoped = overrideCallbacks(callbacks, context);\n pushOrConcat(bodyItem.before, splitNewlines(invokeCallbackWithFallback(scoped, 'beforeLabel', this, context)));\n pushOrConcat(bodyItem.lines, invokeCallbackWithFallback(scoped, 'label', this, context));\n pushOrConcat(bodyItem.after, splitNewlines(invokeCallbackWithFallback(scoped, 'afterLabel', this, context)));\n bodyItems.push(bodyItem);\n });\n return bodyItems;\n }\n getAfterBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(invokeCallbackWithFallback(options.callbacks, 'afterBody', this, tooltipItems));\n }\n getFooter(tooltipItems, options) {\n const { callbacks } = options;\n const beforeFooter = invokeCallbackWithFallback(callbacks, 'beforeFooter', this, tooltipItems);\n const footer = invokeCallbackWithFallback(callbacks, 'footer', this, tooltipItems);\n const afterFooter = invokeCallbackWithFallback(callbacks, 'afterFooter', this, tooltipItems);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n lines = pushOrConcat(lines, splitNewlines(footer));\n lines = pushOrConcat(lines, splitNewlines(afterFooter));\n return lines;\n }\n _createItems(options) {\n const active = this._active;\n const data = this.chart.data;\n const labelColors = [];\n const labelPointStyles = [];\n const labelTextColors = [];\n let tooltipItems = [];\n let i, len;\n for(i = 0, len = active.length; i < len; ++i){\n tooltipItems.push(createTooltipItem(this.chart, active[i]));\n }\n if (options.filter) {\n tooltipItems = tooltipItems.filter((element, index, array)=>options.filter(element, index, array, data));\n }\n if (options.itemSort) {\n tooltipItems = tooltipItems.sort((a, b)=>options.itemSort(a, b, data));\n }\n each(tooltipItems, (context)=>{\n const scoped = overrideCallbacks(options.callbacks, context);\n labelColors.push(invokeCallbackWithFallback(scoped, 'labelColor', this, context));\n labelPointStyles.push(invokeCallbackWithFallback(scoped, 'labelPointStyle', this, context));\n labelTextColors.push(invokeCallbackWithFallback(scoped, 'labelTextColor', this, context));\n });\n this.labelColors = labelColors;\n this.labelPointStyles = labelPointStyles;\n this.labelTextColors = labelTextColors;\n this.dataPoints = tooltipItems;\n return tooltipItems;\n }\n update(changed, replay) {\n const options = this.options.setContext(this.getContext());\n const active = this._active;\n let properties;\n let tooltipItems = [];\n if (!active.length) {\n if (this.opacity !== 0) {\n properties = {\n opacity: 0\n };\n }\n } else {\n const position = positioners[options.position].call(this, active, this._eventPosition);\n tooltipItems = this._createItems(options);\n this.title = this.getTitle(tooltipItems, options);\n this.beforeBody = this.getBeforeBody(tooltipItems, options);\n this.body = this.getBody(tooltipItems, options);\n this.afterBody = this.getAfterBody(tooltipItems, options);\n this.footer = this.getFooter(tooltipItems, options);\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, size);\n const alignment = determineAlignment(this.chart, options, positionAndSize);\n const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart);\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n properties = {\n opacity: 1,\n x: backgroundPoint.x,\n y: backgroundPoint.y,\n width: size.width,\n height: size.height,\n caretX: position.x,\n caretY: position.y\n };\n }\n this._tooltipItems = tooltipItems;\n this.$context = undefined;\n if (properties) {\n this._resolveAnimations().update(this, properties);\n }\n if (changed && options.external) {\n options.external.call(this, {\n chart: this.chart,\n tooltip: this,\n replay\n });\n }\n }\n drawCaret(tooltipPoint, ctx, size, options) {\n const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n ctx.lineTo(caretPosition.x1, caretPosition.y1);\n ctx.lineTo(caretPosition.x2, caretPosition.y2);\n ctx.lineTo(caretPosition.x3, caretPosition.y3);\n }\n getCaretPosition(tooltipPoint, size, options) {\n const { xAlign , yAlign } = this;\n const { caretSize , cornerRadius } = options;\n const { topLeft , topRight , bottomLeft , bottomRight } = toTRBLCorners(cornerRadius);\n const { x: ptX , y: ptY } = tooltipPoint;\n const { width , height } = size;\n let x1, x2, x3, y1, y2, y3;\n if (yAlign === 'center') {\n y2 = ptY + height / 2;\n if (xAlign === 'left') {\n x1 = ptX;\n x2 = x1 - caretSize;\n y1 = y2 + caretSize;\n y3 = y2 - caretSize;\n } else {\n x1 = ptX + width;\n x2 = x1 + caretSize;\n y1 = y2 - caretSize;\n y3 = y2 + caretSize;\n }\n x3 = x1;\n } else {\n if (xAlign === 'left') {\n x2 = ptX + Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize;\n } else {\n x2 = this.caretX;\n }\n if (yAlign === 'top') {\n y1 = ptY;\n y2 = y1 - caretSize;\n x1 = x2 - caretSize;\n x3 = x2 + caretSize;\n } else {\n y1 = ptY + height;\n y2 = y1 + caretSize;\n x1 = x2 + caretSize;\n x3 = x2 - caretSize;\n }\n y3 = y1;\n }\n return {\n x1,\n x2,\n x3,\n y1,\n y2,\n y3\n };\n }\n drawTitle(pt, ctx, options) {\n const title = this.title;\n const length = title.length;\n let titleFont, titleSpacing, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.titleAlign, options);\n ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n ctx.textBaseline = 'middle';\n titleFont = toFont(options.titleFont);\n titleSpacing = options.titleSpacing;\n ctx.fillStyle = options.titleColor;\n ctx.font = titleFont.string;\n for(i = 0; i < length; ++i){\n ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n pt.y += titleFont.lineHeight + titleSpacing;\n if (i + 1 === length) {\n pt.y += options.titleMarginBottom - titleSpacing;\n }\n }\n }\n }\n _drawColorBox(ctx, pt, i, rtlHelper, options) {\n const labelColor = this.labelColors[i];\n const labelPointStyle = this.labelPointStyles[i];\n const { boxHeight , boxWidth } = options;\n const bodyFont = toFont(options.bodyFont);\n const colorX = getAlignedX(this, 'left', options);\n const rtlColorX = rtlHelper.x(colorX);\n const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n const colorY = pt.y + yOffSet;\n if (options.usePointStyle) {\n const drawOptions = {\n radius: Math.min(boxWidth, boxHeight) / 2,\n pointStyle: labelPointStyle.pointStyle,\n rotation: labelPointStyle.rotation,\n borderWidth: 1\n };\n const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n const centerY = colorY + boxHeight / 2;\n ctx.strokeStyle = options.multiKeyBackground;\n ctx.fillStyle = options.multiKeyBackground;\n drawPoint(ctx, drawOptions, centerX, centerY);\n ctx.strokeStyle = labelColor.borderColor;\n ctx.fillStyle = labelColor.backgroundColor;\n drawPoint(ctx, drawOptions, centerX, centerY);\n } else {\n ctx.lineWidth = isObject(labelColor.borderWidth) ? Math.max(...Object.values(labelColor.borderWidth)) : labelColor.borderWidth || 1;\n ctx.strokeStyle = labelColor.borderColor;\n ctx.setLineDash(labelColor.borderDash || []);\n ctx.lineDashOffset = labelColor.borderDashOffset || 0;\n const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth);\n const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - 2);\n const borderRadius = toTRBLCorners(labelColor.borderRadius);\n if (Object.values(borderRadius).some((v)=>v !== 0)) {\n ctx.beginPath();\n ctx.fillStyle = options.multiKeyBackground;\n addRoundedRectPath(ctx, {\n x: outerX,\n y: colorY,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius\n });\n ctx.fill();\n ctx.stroke();\n ctx.fillStyle = labelColor.backgroundColor;\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: innerX,\n y: colorY + 1,\n w: boxWidth - 2,\n h: boxHeight - 2,\n radius: borderRadius\n });\n ctx.fill();\n } else {\n ctx.fillStyle = options.multiKeyBackground;\n ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n ctx.fillStyle = labelColor.backgroundColor;\n ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n }\n }\n ctx.fillStyle = this.labelTextColors[i];\n }\n drawBody(pt, ctx, options) {\n const { body } = this;\n const { bodySpacing , bodyAlign , displayColors , boxHeight , boxWidth , boxPadding } = options;\n const bodyFont = toFont(options.bodyFont);\n let bodyLineHeight = bodyFont.lineHeight;\n let xLinePadding = 0;\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n const fillLineOfText = function(line) {\n ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n pt.y += bodyLineHeight + bodySpacing;\n };\n const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n let bodyItem, textColor, lines, i, j, ilen, jlen;\n ctx.textAlign = bodyAlign;\n ctx.textBaseline = 'middle';\n ctx.font = bodyFont.string;\n pt.x = getAlignedX(this, bodyAlignForCalculation, options);\n ctx.fillStyle = options.bodyColor;\n each(this.beforeBody, fillLineOfText);\n xLinePadding = displayColors && bodyAlignForCalculation !== 'right' ? bodyAlign === 'center' ? boxWidth / 2 + boxPadding : boxWidth + 2 + boxPadding : 0;\n for(i = 0, ilen = body.length; i < ilen; ++i){\n bodyItem = body[i];\n textColor = this.labelTextColors[i];\n ctx.fillStyle = textColor;\n each(bodyItem.before, fillLineOfText);\n lines = bodyItem.lines;\n if (displayColors && lines.length) {\n this._drawColorBox(ctx, pt, i, rtlHelper, options);\n bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n }\n for(j = 0, jlen = lines.length; j < jlen; ++j){\n fillLineOfText(lines[j]);\n bodyLineHeight = bodyFont.lineHeight;\n }\n each(bodyItem.after, fillLineOfText);\n }\n xLinePadding = 0;\n bodyLineHeight = bodyFont.lineHeight;\n each(this.afterBody, fillLineOfText);\n pt.y -= bodySpacing;\n }\n drawFooter(pt, ctx, options) {\n const footer = this.footer;\n const length = footer.length;\n let footerFont, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.footerAlign, options);\n pt.y += options.footerMarginTop;\n ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n ctx.textBaseline = 'middle';\n footerFont = toFont(options.footerFont);\n ctx.fillStyle = options.footerColor;\n ctx.font = footerFont.string;\n for(i = 0; i < length; ++i){\n ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n pt.y += footerFont.lineHeight + options.footerSpacing;\n }\n }\n }\n drawBackground(pt, ctx, tooltipSize, options) {\n const { xAlign , yAlign } = this;\n const { x , y } = pt;\n const { width , height } = tooltipSize;\n const { topLeft , topRight , bottomLeft , bottomRight } = toTRBLCorners(options.cornerRadius);\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.beginPath();\n ctx.moveTo(x + topLeft, y);\n if (yAlign === 'top') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width - topRight, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + topRight);\n if (yAlign === 'center' && xAlign === 'right') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width, y + height - bottomRight);\n ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height);\n if (yAlign === 'bottom') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + bottomLeft, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft);\n if (yAlign === 'center' && xAlign === 'left') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x, y + topLeft);\n ctx.quadraticCurveTo(x, y, x + topLeft, y);\n ctx.closePath();\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n }\n _updateAnimationTarget(options) {\n const chart = this.chart;\n const anims = this.$animations;\n const animX = anims && anims.x;\n const animY = anims && anims.y;\n if (animX || animY) {\n const position = positioners[options.position].call(this, this._active, this._eventPosition);\n if (!position) {\n return;\n }\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, this._size);\n const alignment = determineAlignment(chart, options, positionAndSize);\n const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n if (animX._to !== point.x || animY._to !== point.y) {\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n this.width = size.width;\n this.height = size.height;\n this.caretX = position.x;\n this.caretY = position.y;\n this._resolveAnimations().update(this, point);\n }\n }\n }\n _willRender() {\n return !!this.opacity;\n }\n draw(ctx) {\n const options = this.options.setContext(this.getContext());\n let opacity = this.opacity;\n if (!opacity) {\n return;\n }\n this._updateAnimationTarget(options);\n const tooltipSize = {\n width: this.width,\n height: this.height\n };\n const pt = {\n x: this.x,\n y: this.y\n };\n opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n const padding = toPadding(options.padding);\n const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;\n if (options.enabled && hasTooltipContent) {\n ctx.save();\n ctx.globalAlpha = opacity;\n this.drawBackground(pt, ctx, tooltipSize, options);\n overrideTextDirection(ctx, options.textDirection);\n pt.y += padding.top;\n this.drawTitle(pt, ctx, options);\n this.drawBody(pt, ctx, options);\n this.drawFooter(pt, ctx, options);\n restoreTextDirection(ctx, options.textDirection);\n ctx.restore();\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements, eventPosition) {\n const lastActive = this._active;\n const active = activeElements.map(({ datasetIndex , index })=>{\n const meta = this.chart.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('Cannot find a dataset at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index\n };\n });\n const changed = !_elementsEqual(lastActive, active);\n const positionChanged = this._positionChanged(active, eventPosition);\n if (changed || positionChanged) {\n this._active = active;\n this._eventPosition = eventPosition;\n this._ignoreReplayEvents = true;\n this.update(true);\n }\n }\n handleEvent(e, replay, inChartArea = true) {\n if (replay && this._ignoreReplayEvents) {\n return false;\n }\n this._ignoreReplayEvents = false;\n const options = this.options;\n const lastActive = this._active || [];\n const active = this._getActiveElements(e, lastActive, replay, inChartArea);\n const positionChanged = this._positionChanged(active, e);\n const changed = replay || !_elementsEqual(active, lastActive) || positionChanged;\n if (changed) {\n this._active = active;\n if (options.enabled || options.external) {\n this._eventPosition = {\n x: e.x,\n y: e.y\n };\n this.update(true, replay);\n }\n }\n return changed;\n }\n _getActiveElements(e, lastActive, replay, inChartArea) {\n const options = this.options;\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive.filter((i)=>this.chart.data.datasets[i.datasetIndex] && this.chart.getDatasetMeta(i.datasetIndex).controller.getParsed(i.index) !== undefined);\n }\n const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay);\n if (options.reverse) {\n active.reverse();\n }\n return active;\n }\n _positionChanged(active, e) {\n const { caretX , caretY , options } = this;\n const position = positioners[options.position].call(this, active, e);\n return position !== false && (caretX !== position.x || caretY !== position.y);\n }\n}\nvar plugin_tooltip = {\n id: 'tooltip',\n _element: Tooltip,\n positioners,\n afterInit (chart, _args, options) {\n if (options) {\n chart.tooltip = new Tooltip({\n chart,\n options\n });\n }\n },\n beforeUpdate (chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n reset (chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n afterDraw (chart) {\n const tooltip = chart.tooltip;\n if (tooltip && tooltip._willRender()) {\n const args = {\n tooltip\n };\n if (chart.notifyPlugins('beforeTooltipDraw', {\n ...args,\n cancelable: true\n }) === false) {\n return;\n }\n tooltip.draw(chart.ctx);\n chart.notifyPlugins('afterTooltipDraw', args);\n }\n },\n afterEvent (chart, args) {\n if (chart.tooltip) {\n const useFinalPosition = args.replay;\n if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) {\n args.changed = true;\n }\n }\n },\n defaults: {\n enabled: true,\n external: null,\n position: 'average',\n backgroundColor: 'rgba(0,0,0,0.8)',\n titleColor: '#fff',\n titleFont: {\n weight: 'bold'\n },\n titleSpacing: 2,\n titleMarginBottom: 6,\n titleAlign: 'left',\n bodyColor: '#fff',\n bodySpacing: 2,\n bodyFont: {},\n bodyAlign: 'left',\n footerColor: '#fff',\n footerSpacing: 2,\n footerMarginTop: 6,\n footerFont: {\n weight: 'bold'\n },\n footerAlign: 'left',\n padding: 6,\n caretPadding: 2,\n caretSize: 5,\n cornerRadius: 6,\n boxHeight: (ctx, opts)=>opts.bodyFont.size,\n boxWidth: (ctx, opts)=>opts.bodyFont.size,\n multiKeyBackground: '#fff',\n displayColors: true,\n boxPadding: 0,\n borderColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n animation: {\n duration: 400,\n easing: 'easeOutQuart'\n },\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'x',\n 'y',\n 'width',\n 'height',\n 'caretX',\n 'caretY'\n ]\n },\n opacity: {\n easing: 'linear',\n duration: 200\n }\n },\n callbacks: defaultCallbacks\n },\n defaultRoutes: {\n bodyFont: 'font',\n footerFont: 'font',\n titleFont: 'font'\n },\n descriptors: {\n _scriptable: (name)=>name !== 'filter' && name !== 'itemSort' && name !== 'external',\n _indexable: false,\n callbacks: {\n _scriptable: false,\n _indexable: false\n },\n animation: {\n _fallback: false\n },\n animations: {\n _fallback: 'animation'\n }\n },\n additionalOptionScopes: [\n 'interaction'\n ]\n};\n\nvar plugins = /*#__PURE__*/Object.freeze({\n__proto__: null,\nColors: plugin_colors,\nDecimation: plugin_decimation,\nFiller: index,\nLegend: plugin_legend,\nSubTitle: plugin_subtitle,\nTitle: plugin_title,\nTooltip: plugin_tooltip\n});\n\nconst addIfString = (labels, raw, index, addedLabels)=>{\n if (typeof raw === 'string') {\n index = labels.push(raw) - 1;\n addedLabels.unshift({\n index,\n label: raw\n });\n } else if (isNaN(raw)) {\n index = null;\n }\n return index;\n};\nfunction findOrAddLabel(labels, raw, index, addedLabels) {\n const first = labels.indexOf(raw);\n if (first === -1) {\n return addIfString(labels, raw, index, addedLabels);\n }\n const last = labels.lastIndexOf(raw);\n return first !== last ? index : first;\n}\nconst validIndex = (index, max)=>index === null ? null : _limitValue(Math.round(index), 0, max);\nfunction _getLabelForValue(value) {\n const labels = this.getLabels();\n if (value >= 0 && value < labels.length) {\n return labels[value];\n }\n return value;\n}\nclass CategoryScale extends Scale {\n static id = 'category';\n static defaults = {\n ticks: {\n callback: _getLabelForValue\n }\n };\n constructor(cfg){\n super(cfg);\n this._startValue = undefined;\n this._valueRange = 0;\n this._addedLabels = [];\n }\n init(scaleOptions) {\n const added = this._addedLabels;\n if (added.length) {\n const labels = this.getLabels();\n for (const { index , label } of added){\n if (labels[index] === label) {\n labels.splice(index, 1);\n }\n }\n this._addedLabels = [];\n }\n super.init(scaleOptions);\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n const labels = this.getLabels();\n index = isFinite(index) && labels[index] === raw ? index : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels);\n return validIndex(index, labels.length - 1);\n }\n determineDataLimits() {\n const { minDefined , maxDefined } = this.getUserBounds();\n let { min , max } = this.getMinMax(true);\n if (this.options.bounds === 'ticks') {\n if (!minDefined) {\n min = 0;\n }\n if (!maxDefined) {\n max = this.getLabels().length - 1;\n }\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const min = this.min;\n const max = this.max;\n const offset = this.options.offset;\n const ticks = [];\n let labels = this.getLabels();\n labels = min === 0 && max === labels.length - 1 ? labels : labels.slice(min, max + 1);\n this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n this._startValue = this.min - (offset ? 0.5 : 0);\n for(let value = min; value <= max; value++){\n ticks.push({\n value\n });\n }\n return ticks;\n }\n getLabelForValue(value) {\n return _getLabelForValue.call(this, value);\n }\n configure() {\n super.configure();\n if (!this.isHorizontal()) {\n this._reversePixels = !this._reversePixels;\n }\n }\n getPixelForValue(value) {\n if (typeof value !== 'number') {\n value = this.parse(value);\n }\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getValueForPixel(pixel) {\n return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange);\n }\n getBasePixel() {\n return this.bottom;\n }\n}\n\nfunction generateTicks$1(generationOptions, dataRange) {\n const ticks = [];\n const MIN_SPACING = 1e-14;\n const { bounds , step , min , max , precision , count , maxTicks , maxDigits , includeBounds } = generationOptions;\n const unit = step || 1;\n const maxSpaces = maxTicks - 1;\n const { min: rmin , max: rmax } = dataRange;\n const minDefined = !isNullOrUndef(min);\n const maxDefined = !isNullOrUndef(max);\n const countDefined = !isNullOrUndef(count);\n const minSpacing = (rmax - rmin) / (maxDigits + 1);\n let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit;\n let factor, niceMin, niceMax, numSpaces;\n if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n return [\n {\n value: rmin\n },\n {\n value: rmax\n }\n ];\n }\n numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n if (numSpaces > maxSpaces) {\n spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit;\n }\n if (!isNullOrUndef(precision)) {\n factor = Math.pow(10, precision);\n spacing = Math.ceil(spacing * factor) / factor;\n }\n if (bounds === 'ticks') {\n niceMin = Math.floor(rmin / spacing) * spacing;\n niceMax = Math.ceil(rmax / spacing) * spacing;\n } else {\n niceMin = rmin;\n niceMax = rmax;\n }\n if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {\n numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n spacing = (max - min) / numSpaces;\n niceMin = min;\n niceMax = max;\n } else if (countDefined) {\n niceMin = minDefined ? min : niceMin;\n niceMax = maxDefined ? max : niceMax;\n numSpaces = count - 1;\n spacing = (niceMax - niceMin) / numSpaces;\n } else {\n numSpaces = (niceMax - niceMin) / spacing;\n if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n numSpaces = Math.round(numSpaces);\n } else {\n numSpaces = Math.ceil(numSpaces);\n }\n }\n const decimalPlaces = Math.max(_decimalPlaces(spacing), _decimalPlaces(niceMin));\n factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision);\n niceMin = Math.round(niceMin * factor) / factor;\n niceMax = Math.round(niceMax * factor) / factor;\n let j = 0;\n if (minDefined) {\n if (includeBounds && niceMin !== min) {\n ticks.push({\n value: min\n });\n if (niceMin < min) {\n j++;\n }\n if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n j++;\n }\n } else if (niceMin < min) {\n j++;\n }\n }\n for(; j < numSpaces; ++j){\n const tickValue = Math.round((niceMin + j * spacing) * factor) / factor;\n if (maxDefined && tickValue > max) {\n break;\n }\n ticks.push({\n value: tickValue\n });\n }\n if (maxDefined && includeBounds && niceMax !== max) {\n if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n ticks[ticks.length - 1].value = max;\n } else {\n ticks.push({\n value: max\n });\n }\n } else if (!maxDefined || niceMax === max) {\n ticks.push({\n value: niceMax\n });\n }\n return ticks;\n}\nfunction relativeLabelSize(value, minSpacing, { horizontal , minRotation }) {\n const rad = toRadians(minRotation);\n const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n const length = 0.75 * minSpacing * ('' + value).length;\n return Math.min(minSpacing / ratio, length);\n}\nclass LinearScaleBase extends Scale {\n constructor(cfg){\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._endValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n return null;\n }\n return +raw;\n }\n handleTickRangeOptions() {\n const { beginAtZero } = this.options;\n const { minDefined , maxDefined } = this.getUserBounds();\n let { min , max } = this;\n const setMin = (v)=>min = minDefined ? min : v;\n const setMax = (v)=>max = maxDefined ? max : v;\n if (beginAtZero) {\n const minSign = sign(min);\n const maxSign = sign(max);\n if (minSign < 0 && maxSign < 0) {\n setMax(0);\n } else if (minSign > 0 && maxSign > 0) {\n setMin(0);\n }\n }\n if (min === max) {\n let offset = max === 0 ? 1 : Math.abs(max * 0.05);\n setMax(max + offset);\n if (!beginAtZero) {\n setMin(min - offset);\n }\n }\n this.min = min;\n this.max = max;\n }\n getTickLimit() {\n const tickOpts = this.options.ticks;\n let { maxTicksLimit , stepSize } = tickOpts;\n let maxTicks;\n if (stepSize) {\n maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1;\n if (maxTicks > 1000) {\n console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`);\n maxTicks = 1000;\n }\n } else {\n maxTicks = this.computeTickLimit();\n maxTicksLimit = maxTicksLimit || 11;\n }\n if (maxTicksLimit) {\n maxTicks = Math.min(maxTicksLimit, maxTicks);\n }\n return maxTicks;\n }\n computeTickLimit() {\n return Number.POSITIVE_INFINITY;\n }\n buildTicks() {\n const opts = this.options;\n const tickOpts = opts.ticks;\n let maxTicks = this.getTickLimit();\n maxTicks = Math.max(2, maxTicks);\n const numericGeneratorOptions = {\n maxTicks,\n bounds: opts.bounds,\n min: opts.min,\n max: opts.max,\n precision: tickOpts.precision,\n step: tickOpts.stepSize,\n count: tickOpts.count,\n maxDigits: this._maxDigits(),\n horizontal: this.isHorizontal(),\n minRotation: tickOpts.minRotation || 0,\n includeBounds: tickOpts.includeBounds !== false\n };\n const dataRange = this._range || this;\n const ticks = generateTicks$1(numericGeneratorOptions, dataRange);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n configure() {\n const ticks = this.ticks;\n let start = this.min;\n let end = this.max;\n super.configure();\n if (this.options.offset && ticks.length) {\n const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n start -= offset;\n end += offset;\n }\n this._startValue = start;\n this._endValue = end;\n this._valueRange = end - start;\n }\n getLabelForValue(value) {\n return formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n}\n\nclass LinearScale extends LinearScaleBase {\n static id = 'linear';\n static defaults = {\n ticks: {\n callback: Ticks.formatters.numeric\n }\n };\n determineDataLimits() {\n const { min , max } = this.getMinMax(true);\n this.min = isNumberFinite(min) ? min : 0;\n this.max = isNumberFinite(max) ? max : 1;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n const horizontal = this.isHorizontal();\n const length = horizontal ? this.width : this.height;\n const minRotation = toRadians(this.options.ticks.minRotation);\n const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n const tickFont = this._resolveTickFontOptions(0);\n return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n }\n getPixelForValue(value) {\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n }\n}\n\nconst log10Floor = (v)=>Math.floor(log10(v));\nconst changeExponent = (v, m)=>Math.pow(10, log10Floor(v) + m);\nfunction isMajor(tickVal) {\n const remain = tickVal / Math.pow(10, log10Floor(tickVal));\n return remain === 1;\n}\nfunction steps(min, max, rangeExp) {\n const rangeStep = Math.pow(10, rangeExp);\n const start = Math.floor(min / rangeStep);\n const end = Math.ceil(max / rangeStep);\n return end - start;\n}\nfunction startExp(min, max) {\n const range = max - min;\n let rangeExp = log10Floor(range);\n while(steps(min, max, rangeExp) > 10){\n rangeExp++;\n }\n while(steps(min, max, rangeExp) < 10){\n rangeExp--;\n }\n return Math.min(rangeExp, log10Floor(min));\n}\n function generateTicks(generationOptions, { min , max }) {\n min = finiteOrDefault(generationOptions.min, min);\n const ticks = [];\n const minExp = log10Floor(min);\n let exp = startExp(min, max);\n let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n const stepSize = Math.pow(10, exp);\n const base = minExp > exp ? Math.pow(10, minExp) : 0;\n const start = Math.round((min - base) * precision) / precision;\n const offset = Math.floor((min - base) / stepSize / 10) * stepSize * 10;\n let significand = Math.floor((start - offset) / Math.pow(10, exp));\n let value = finiteOrDefault(generationOptions.min, Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision);\n while(value < max){\n ticks.push({\n value,\n major: isMajor(value),\n significand\n });\n if (significand >= 10) {\n significand = significand < 15 ? 15 : 20;\n } else {\n significand++;\n }\n if (significand >= 20) {\n exp++;\n significand = 2;\n precision = exp >= 0 ? 1 : precision;\n }\n value = Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision;\n }\n const lastTick = finiteOrDefault(generationOptions.max, value);\n ticks.push({\n value: lastTick,\n major: isMajor(lastTick),\n significand\n });\n return ticks;\n}\nclass LogarithmicScale extends Scale {\n static id = 'logarithmic';\n static defaults = {\n ticks: {\n callback: Ticks.formatters.logarithmic,\n major: {\n enabled: true\n }\n }\n };\n constructor(cfg){\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n const value = LinearScaleBase.prototype.parse.apply(this, [\n raw,\n index\n ]);\n if (value === 0) {\n this._zero = true;\n return undefined;\n }\n return isNumberFinite(value) && value > 0 ? value : null;\n }\n determineDataLimits() {\n const { min , max } = this.getMinMax(true);\n this.min = isNumberFinite(min) ? Math.max(0, min) : null;\n this.max = isNumberFinite(max) ? Math.max(0, max) : null;\n if (this.options.beginAtZero) {\n this._zero = true;\n }\n if (this._zero && this.min !== this._suggestedMin && !isNumberFinite(this._userMin)) {\n this.min = min === changeExponent(this.min, 0) ? changeExponent(this.min, -1) : changeExponent(this.min, 0);\n }\n this.handleTickRangeOptions();\n }\n handleTickRangeOptions() {\n const { minDefined , maxDefined } = this.getUserBounds();\n let min = this.min;\n let max = this.max;\n const setMin = (v)=>min = minDefined ? min : v;\n const setMax = (v)=>max = maxDefined ? max : v;\n if (min === max) {\n if (min <= 0) {\n setMin(1);\n setMax(10);\n } else {\n setMin(changeExponent(min, -1));\n setMax(changeExponent(max, +1));\n }\n }\n if (min <= 0) {\n setMin(changeExponent(max, -1));\n }\n if (max <= 0) {\n setMax(changeExponent(min, +1));\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const opts = this.options;\n const generationOptions = {\n min: this._userMin,\n max: this._userMax\n };\n const ticks = generateTicks(generationOptions, this);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n getLabelForValue(value) {\n return value === undefined ? '0' : formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n configure() {\n const start = this.min;\n super.configure();\n this._startValue = log10(start);\n this._valueRange = log10(this.max) - log10(start);\n }\n getPixelForValue(value) {\n if (value === undefined || value === 0) {\n value = this.min;\n }\n if (value === null || isNaN(value)) {\n return NaN;\n }\n return this.getPixelForDecimal(value === this.min ? 0 : (log10(value) - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n const decimal = this.getDecimalForPixel(pixel);\n return Math.pow(10, this._startValue + decimal * this._valueRange);\n }\n}\n\nfunction getTickBackdropHeight(opts) {\n const tickOpts = opts.ticks;\n if (tickOpts.display && opts.display) {\n const padding = toPadding(tickOpts.backdropPadding);\n return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height;\n }\n return 0;\n}\nfunction measureLabelSize(ctx, font, label) {\n label = isArray(label) ? label : [\n label\n ];\n return {\n w: _longestText(ctx, font.string, label),\n h: label.length * font.lineHeight\n };\n}\nfunction determineLimits(angle, pos, size, min, max) {\n if (angle === min || angle === max) {\n return {\n start: pos - size / 2,\n end: pos + size / 2\n };\n } else if (angle < min || angle > max) {\n return {\n start: pos - size,\n end: pos\n };\n }\n return {\n start: pos,\n end: pos + size\n };\n}\n function fitWithPointLabels(scale) {\n const orig = {\n l: scale.left + scale._padding.left,\n r: scale.right - scale._padding.right,\n t: scale.top + scale._padding.top,\n b: scale.bottom - scale._padding.bottom\n };\n const limits = Object.assign({}, orig);\n const labelSizes = [];\n const padding = [];\n const valueCount = scale._pointLabels.length;\n const pointLabelOpts = scale.options.pointLabels;\n const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0;\n for(let i = 0; i < valueCount; i++){\n const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i));\n padding[i] = opts.padding;\n const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle);\n const plFont = toFont(opts.font);\n const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n labelSizes[i] = textSize;\n const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle);\n const angle = Math.round(toDegrees(angleRadians));\n const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n updateLimits(limits, orig, angleRadians, hLimits, vLimits);\n }\n scale.setCenterPoint(orig.l - limits.l, limits.r - orig.r, orig.t - limits.t, limits.b - orig.b);\n scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\nfunction updateLimits(limits, orig, angle, hLimits, vLimits) {\n const sin = Math.abs(Math.sin(angle));\n const cos = Math.abs(Math.cos(angle));\n let x = 0;\n let y = 0;\n if (hLimits.start < orig.l) {\n x = (orig.l - hLimits.start) / sin;\n limits.l = Math.min(limits.l, orig.l - x);\n } else if (hLimits.end > orig.r) {\n x = (hLimits.end - orig.r) / sin;\n limits.r = Math.max(limits.r, orig.r + x);\n }\n if (vLimits.start < orig.t) {\n y = (orig.t - vLimits.start) / cos;\n limits.t = Math.min(limits.t, orig.t - y);\n } else if (vLimits.end > orig.b) {\n y = (vLimits.end - orig.b) / cos;\n limits.b = Math.max(limits.b, orig.b + y);\n }\n}\nfunction createPointLabelItem(scale, index, itemOpts) {\n const outerDistance = scale.drawingArea;\n const { extra , additionalAngle , padding , size } = itemOpts;\n const pointLabelPosition = scale.getPointPosition(index, outerDistance + extra + padding, additionalAngle);\n const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI)));\n const y = yForAngle(pointLabelPosition.y, size.h, angle);\n const textAlign = getTextAlignForAngle(angle);\n const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n return {\n visible: true,\n x: pointLabelPosition.x,\n y,\n textAlign,\n left,\n top: y,\n right: left + size.w,\n bottom: y + size.h\n };\n}\nfunction isNotOverlapped(item, area) {\n if (!area) {\n return true;\n }\n const { left , top , right , bottom } = item;\n const apexesInArea = _isPointInArea({\n x: left,\n y: top\n }, area) || _isPointInArea({\n x: left,\n y: bottom\n }, area) || _isPointInArea({\n x: right,\n y: top\n }, area) || _isPointInArea({\n x: right,\n y: bottom\n }, area);\n return !apexesInArea;\n}\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n const items = [];\n const valueCount = scale._pointLabels.length;\n const opts = scale.options;\n const { centerPointLabels , display } = opts.pointLabels;\n const itemOpts = {\n extra: getTickBackdropHeight(opts) / 2,\n additionalAngle: centerPointLabels ? PI / valueCount : 0\n };\n let area;\n for(let i = 0; i < valueCount; i++){\n itemOpts.padding = padding[i];\n itemOpts.size = labelSizes[i];\n const item = createPointLabelItem(scale, i, itemOpts);\n items.push(item);\n if (display === 'auto') {\n item.visible = isNotOverlapped(item, area);\n if (item.visible) {\n area = item;\n }\n }\n }\n return items;\n}\nfunction getTextAlignForAngle(angle) {\n if (angle === 0 || angle === 180) {\n return 'center';\n } else if (angle < 180) {\n return 'left';\n }\n return 'right';\n}\nfunction leftForTextAlign(x, w, align) {\n if (align === 'right') {\n x -= w;\n } else if (align === 'center') {\n x -= w / 2;\n }\n return x;\n}\nfunction yForAngle(y, h, angle) {\n if (angle === 90 || angle === 270) {\n y -= h / 2;\n } else if (angle > 270 || angle < 90) {\n y -= h;\n }\n return y;\n}\nfunction drawPointLabelBox(ctx, opts, item) {\n const { left , top , right , bottom } = item;\n const { backdropColor } = opts;\n if (!isNullOrUndef(backdropColor)) {\n const borderRadius = toTRBLCorners(opts.borderRadius);\n const padding = toPadding(opts.backdropPadding);\n ctx.fillStyle = backdropColor;\n const backdropLeft = left - padding.left;\n const backdropTop = top - padding.top;\n const backdropWidth = right - left + padding.width;\n const backdropHeight = bottom - top + padding.height;\n if (Object.values(borderRadius).some((v)=>v !== 0)) {\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: backdropLeft,\n y: backdropTop,\n w: backdropWidth,\n h: backdropHeight,\n radius: borderRadius\n });\n ctx.fill();\n } else {\n ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight);\n }\n }\n}\nfunction drawPointLabels(scale, labelCount) {\n const { ctx , options: { pointLabels } } = scale;\n for(let i = labelCount - 1; i >= 0; i--){\n const item = scale._pointLabelItems[i];\n if (!item.visible) {\n continue;\n }\n const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n drawPointLabelBox(ctx, optsAtIndex, item);\n const plFont = toFont(optsAtIndex.font);\n const { x , y , textAlign } = item;\n renderText(ctx, scale._pointLabels[i], x, y + plFont.lineHeight / 2, plFont, {\n color: optsAtIndex.color,\n textAlign: textAlign,\n textBaseline: 'middle'\n });\n }\n}\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n const { ctx } = scale;\n if (circular) {\n ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU);\n } else {\n let pointPosition = scale.getPointPosition(0, radius);\n ctx.moveTo(pointPosition.x, pointPosition.y);\n for(let i = 1; i < labelCount; i++){\n pointPosition = scale.getPointPosition(i, radius);\n ctx.lineTo(pointPosition.x, pointPosition.y);\n }\n }\n}\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount, borderOpts) {\n const ctx = scale.ctx;\n const circular = gridLineOpts.circular;\n const { color , lineWidth } = gridLineOpts;\n if (!circular && !labelCount || !color || !lineWidth || radius < 0) {\n return;\n }\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = lineWidth;\n ctx.setLineDash(borderOpts.dash);\n ctx.lineDashOffset = borderOpts.dashOffset;\n ctx.beginPath();\n pathRadiusLine(scale, radius, circular, labelCount);\n ctx.closePath();\n ctx.stroke();\n ctx.restore();\n}\nfunction createPointLabelContext(parent, index, label) {\n return createContext(parent, {\n label,\n index,\n type: 'pointLabel'\n });\n}\nclass RadialLinearScale extends LinearScaleBase {\n static id = 'radialLinear';\n static defaults = {\n display: true,\n animate: true,\n position: 'chartArea',\n angleLines: {\n display: true,\n lineWidth: 1,\n borderDash: [],\n borderDashOffset: 0.0\n },\n grid: {\n circular: false\n },\n startAngle: 0,\n ticks: {\n showLabelBackdrop: true,\n callback: Ticks.formatters.numeric\n },\n pointLabels: {\n backdropColor: undefined,\n backdropPadding: 2,\n display: true,\n font: {\n size: 10\n },\n callback (label) {\n return label;\n },\n padding: 5,\n centerPointLabels: false\n }\n };\n static defaultRoutes = {\n 'angleLines.color': 'borderColor',\n 'pointLabels.color': 'color',\n 'ticks.color': 'color'\n };\n static descriptors = {\n angleLines: {\n _fallback: 'grid'\n }\n };\n constructor(cfg){\n super(cfg);\n this.xCenter = undefined;\n this.yCenter = undefined;\n this.drawingArea = undefined;\n this._pointLabels = [];\n this._pointLabelItems = [];\n }\n setDimensions() {\n const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2);\n const w = this.width = this.maxWidth - padding.width;\n const h = this.height = this.maxHeight - padding.height;\n this.xCenter = Math.floor(this.left + w / 2 + padding.left);\n this.yCenter = Math.floor(this.top + h / 2 + padding.top);\n this.drawingArea = Math.floor(Math.min(w, h) / 2);\n }\n determineDataLimits() {\n const { min , max } = this.getMinMax(false);\n this.min = isNumberFinite(min) && !isNaN(min) ? min : 0;\n this.max = isNumberFinite(max) && !isNaN(max) ? max : 0;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n }\n generateTickLabels(ticks) {\n LinearScaleBase.prototype.generateTickLabels.call(this, ticks);\n this._pointLabels = this.getLabels().map((value, index)=>{\n const label = callback(this.options.pointLabels.callback, [\n value,\n index\n ], this);\n return label || label === 0 ? label : '';\n }).filter((v, i)=>this.chart.getDataVisibility(i));\n }\n fit() {\n const opts = this.options;\n if (opts.display && opts.pointLabels.display) {\n fitWithPointLabels(this);\n } else {\n this.setCenterPoint(0, 0, 0, 0);\n }\n }\n setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n this.xCenter += Math.floor((leftMovement - rightMovement) / 2);\n this.yCenter += Math.floor((topMovement - bottomMovement) / 2);\n this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement));\n }\n getIndexAngle(index) {\n const angleMultiplier = TAU / (this._pointLabels.length || 1);\n const startAngle = this.options.startAngle || 0;\n return _normalizeAngle(index * angleMultiplier + toRadians(startAngle));\n }\n getDistanceFromCenterForValue(value) {\n if (isNullOrUndef(value)) {\n return NaN;\n }\n const scalingFactor = this.drawingArea / (this.max - this.min);\n if (this.options.reverse) {\n return (this.max - value) * scalingFactor;\n }\n return (value - this.min) * scalingFactor;\n }\n getValueForDistanceFromCenter(distance) {\n if (isNullOrUndef(distance)) {\n return NaN;\n }\n const scaledDistance = distance / (this.drawingArea / (this.max - this.min));\n return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance;\n }\n getPointLabelContext(index) {\n const pointLabels = this._pointLabels || [];\n if (index >= 0 && index < pointLabels.length) {\n const pointLabel = pointLabels[index];\n return createPointLabelContext(this.getContext(), index, pointLabel);\n }\n }\n getPointPosition(index, distanceFromCenter, additionalAngle = 0) {\n const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle;\n return {\n x: Math.cos(angle) * distanceFromCenter + this.xCenter,\n y: Math.sin(angle) * distanceFromCenter + this.yCenter,\n angle\n };\n }\n getPointPositionForValue(index, value) {\n return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n }\n getBasePosition(index) {\n return this.getPointPositionForValue(index || 0, this.getBaseValue());\n }\n getPointLabelPosition(index) {\n const { left , top , right , bottom } = this._pointLabelItems[index];\n return {\n left,\n top,\n right,\n bottom\n };\n }\n drawBackground() {\n const { backgroundColor , grid: { circular } } = this.options;\n if (backgroundColor) {\n const ctx = this.ctx;\n ctx.save();\n ctx.beginPath();\n pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length);\n ctx.closePath();\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n }\n drawGrid() {\n const ctx = this.ctx;\n const opts = this.options;\n const { angleLines , grid , border } = opts;\n const labelCount = this._pointLabels.length;\n let i, offset, position;\n if (opts.pointLabels.display) {\n drawPointLabels(this, labelCount);\n }\n if (grid.display) {\n this.ticks.forEach((tick, index)=>{\n if (index !== 0 || index === 0 && this.min < 0) {\n offset = this.getDistanceFromCenterForValue(tick.value);\n const context = this.getContext(index);\n const optsAtIndex = grid.setContext(context);\n const optsAtIndexBorder = border.setContext(context);\n drawRadiusLine(this, optsAtIndex, offset, labelCount, optsAtIndexBorder);\n }\n });\n }\n if (angleLines.display) {\n ctx.save();\n for(i = labelCount - 1; i >= 0; i--){\n const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i));\n const { color , lineWidth } = optsAtIndex;\n if (!lineWidth || !color) {\n continue;\n }\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = color;\n ctx.setLineDash(optsAtIndex.borderDash);\n ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n offset = this.getDistanceFromCenterForValue(opts.reverse ? this.min : this.max);\n position = this.getPointPosition(i, offset);\n ctx.beginPath();\n ctx.moveTo(this.xCenter, this.yCenter);\n ctx.lineTo(position.x, position.y);\n ctx.stroke();\n }\n ctx.restore();\n }\n }\n drawBorder() {}\n drawLabels() {\n const ctx = this.ctx;\n const opts = this.options;\n const tickOpts = opts.ticks;\n if (!tickOpts.display) {\n return;\n }\n const startAngle = this.getIndexAngle(0);\n let offset, width;\n ctx.save();\n ctx.translate(this.xCenter, this.yCenter);\n ctx.rotate(startAngle);\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n this.ticks.forEach((tick, index)=>{\n if (index === 0 && this.min >= 0 && !opts.reverse) {\n return;\n }\n const optsAtIndex = tickOpts.setContext(this.getContext(index));\n const tickFont = toFont(optsAtIndex.font);\n offset = this.getDistanceFromCenterForValue(this.ticks[index].value);\n if (optsAtIndex.showLabelBackdrop) {\n ctx.font = tickFont.string;\n width = ctx.measureText(tick.label).width;\n ctx.fillStyle = optsAtIndex.backdropColor;\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillRect(-width / 2 - padding.left, -offset - tickFont.size / 2 - padding.top, width + padding.width, tickFont.size + padding.height);\n }\n renderText(ctx, tick.label, 0, -offset, tickFont, {\n color: optsAtIndex.color,\n strokeColor: optsAtIndex.textStrokeColor,\n strokeWidth: optsAtIndex.textStrokeWidth\n });\n });\n ctx.restore();\n }\n drawTitle() {}\n}\n\nconst INTERVALS = {\n millisecond: {\n common: true,\n size: 1,\n steps: 1000\n },\n second: {\n common: true,\n size: 1000,\n steps: 60\n },\n minute: {\n common: true,\n size: 60000,\n steps: 60\n },\n hour: {\n common: true,\n size: 3600000,\n steps: 24\n },\n day: {\n common: true,\n size: 86400000,\n steps: 30\n },\n week: {\n common: false,\n size: 604800000,\n steps: 4\n },\n month: {\n common: true,\n size: 2.628e9,\n steps: 12\n },\n quarter: {\n common: false,\n size: 7.884e9,\n steps: 4\n },\n year: {\n common: true,\n size: 3.154e10\n }\n};\n const UNITS = /* #__PURE__ */ Object.keys(INTERVALS);\n function sorter(a, b) {\n return a - b;\n}\n function parse(scale, input) {\n if (isNullOrUndef(input)) {\n return null;\n }\n const adapter = scale._adapter;\n const { parser , round , isoWeekday } = scale._parseOpts;\n let value = input;\n if (typeof parser === 'function') {\n value = parser(value);\n }\n if (!isNumberFinite(value)) {\n value = typeof parser === 'string' ? adapter.parse(value, parser) : adapter.parse(value);\n }\n if (value === null) {\n return null;\n }\n if (round) {\n value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true) ? adapter.startOf(value, 'isoWeek', isoWeekday) : adapter.startOf(value, round);\n }\n return +value;\n}\n function determineUnitForAutoTicks(minUnit, min, max, capacity) {\n const ilen = UNITS.length;\n for(let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i){\n const interval = INTERVALS[UNITS[i]];\n const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n return UNITS[i];\n }\n }\n return UNITS[ilen - 1];\n}\n function determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n for(let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--){\n const unit = UNITS[i];\n if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n return unit;\n }\n }\n return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\n function determineMajorUnit(unit) {\n for(let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i){\n if (INTERVALS[UNITS[i]].common) {\n return UNITS[i];\n }\n }\n}\n function addTick(ticks, time, timestamps) {\n if (!timestamps) {\n ticks[time] = true;\n } else if (timestamps.length) {\n const { lo , hi } = _lookup(timestamps, time);\n const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n ticks[timestamp] = true;\n }\n}\n function setMajorTicks(scale, ticks, map, majorUnit) {\n const adapter = scale._adapter;\n const first = +adapter.startOf(ticks[0].value, majorUnit);\n const last = ticks[ticks.length - 1].value;\n let major, index;\n for(major = first; major <= last; major = +adapter.add(major, 1, majorUnit)){\n index = map[major];\n if (index >= 0) {\n ticks[index].major = true;\n }\n }\n return ticks;\n}\n function ticksFromTimestamps(scale, values, majorUnit) {\n const ticks = [];\n const map = {};\n const ilen = values.length;\n let i, value;\n for(i = 0; i < ilen; ++i){\n value = values[i];\n map[value] = i;\n ticks.push({\n value,\n major: false\n });\n }\n return ilen === 0 || !majorUnit ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\nclass TimeScale extends Scale {\n static id = 'time';\n static defaults = {\n bounds: 'data',\n adapters: {},\n time: {\n parser: false,\n unit: false,\n round: false,\n isoWeekday: false,\n minUnit: 'millisecond',\n displayFormats: {}\n },\n ticks: {\n source: 'auto',\n callback: false,\n major: {\n enabled: false\n }\n }\n };\n constructor(props){\n super(props);\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n this._unit = 'day';\n this._majorUnit = undefined;\n this._offsets = {};\n this._normalized = false;\n this._parseOpts = undefined;\n }\n init(scaleOpts, opts = {}) {\n const time = scaleOpts.time || (scaleOpts.time = {});\n const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n adapter.init(opts);\n mergeIf(time.displayFormats, adapter.formats());\n this._parseOpts = {\n parser: time.parser,\n round: time.round,\n isoWeekday: time.isoWeekday\n };\n super.init(scaleOpts);\n this._normalized = opts.normalized;\n }\n parse(raw, index) {\n if (raw === undefined) {\n return null;\n }\n return parse(this, raw);\n }\n beforeLayout() {\n super.beforeLayout();\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n }\n determineDataLimits() {\n const options = this.options;\n const adapter = this._adapter;\n const unit = options.time.unit || 'day';\n let { min , max , minDefined , maxDefined } = this.getUserBounds();\n function _applyBounds(bounds) {\n if (!minDefined && !isNaN(bounds.min)) {\n min = Math.min(min, bounds.min);\n }\n if (!maxDefined && !isNaN(bounds.max)) {\n max = Math.max(max, bounds.max);\n }\n }\n if (!minDefined || !maxDefined) {\n _applyBounds(this._getLabelBounds());\n if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n _applyBounds(this.getMinMax(false));\n }\n }\n min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n this.min = Math.min(min, max - 1);\n this.max = Math.max(min + 1, max);\n }\n _getLabelBounds() {\n const arr = this.getLabelTimestamps();\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n if (arr.length) {\n min = arr[0];\n max = arr[arr.length - 1];\n }\n return {\n min,\n max\n };\n }\n buildTicks() {\n const options = this.options;\n const timeOpts = options.time;\n const tickOpts = options.ticks;\n const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate();\n if (options.bounds === 'ticks' && timestamps.length) {\n this.min = this._userMin || timestamps[0];\n this.max = this._userMax || timestamps[timestamps.length - 1];\n }\n const min = this.min;\n const max = this.max;\n const ticks = _filterBetween(timestamps, min, max);\n this._unit = timeOpts.unit || (tickOpts.autoSkip ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min)) : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max));\n this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined : determineMajorUnit(this._unit);\n this.initOffsets(timestamps);\n if (options.reverse) {\n ticks.reverse();\n }\n return ticksFromTimestamps(this, ticks, this._majorUnit);\n }\n afterAutoSkip() {\n if (this.options.offsetAfterAutoskip) {\n this.initOffsets(this.ticks.map((tick)=>+tick.value));\n }\n }\n initOffsets(timestamps = []) {\n let start = 0;\n let end = 0;\n let first, last;\n if (this.options.offset && timestamps.length) {\n first = this.getDecimalForValue(timestamps[0]);\n if (timestamps.length === 1) {\n start = 1 - first;\n } else {\n start = (this.getDecimalForValue(timestamps[1]) - first) / 2;\n }\n last = this.getDecimalForValue(timestamps[timestamps.length - 1]);\n if (timestamps.length === 1) {\n end = last;\n } else {\n end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n }\n }\n const limit = timestamps.length < 3 ? 0.5 : 0.25;\n start = _limitValue(start, 0, limit);\n end = _limitValue(end, 0, limit);\n this._offsets = {\n start,\n end,\n factor: 1 / (start + 1 + end)\n };\n }\n _generate() {\n const adapter = this._adapter;\n const min = this.min;\n const max = this.max;\n const options = this.options;\n const timeOpts = options.time;\n const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min));\n const stepSize = valueOrDefault(options.ticks.stepSize, 1);\n const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n const hasWeekday = isNumber(weekday) || weekday === true;\n const ticks = {};\n let first = min;\n let time, count;\n if (hasWeekday) {\n first = +adapter.startOf(first, 'isoWeek', weekday);\n }\n first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n }\n const timestamps = options.ticks.source === 'data' && this.getDataTimestamps();\n for(time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++){\n addTick(ticks, time, timestamps);\n }\n if (time === max || options.bounds === 'ticks' || count === 1) {\n addTick(ticks, time, timestamps);\n }\n return Object.keys(ticks).sort(sorter).map((x)=>+x);\n }\n getLabelForValue(value) {\n const adapter = this._adapter;\n const timeOpts = this.options.time;\n if (timeOpts.tooltipFormat) {\n return adapter.format(value, timeOpts.tooltipFormat);\n }\n return adapter.format(value, timeOpts.displayFormats.datetime);\n }\n format(value, format) {\n const options = this.options;\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const fmt = format || formats[unit];\n return this._adapter.format(value, fmt);\n }\n _tickFormatFunction(time, index, ticks, format) {\n const options = this.options;\n const formatter = options.ticks.callback;\n if (formatter) {\n return callback(formatter, [\n time,\n index,\n ticks\n ], this);\n }\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const majorUnit = this._majorUnit;\n const minorFormat = unit && formats[unit];\n const majorFormat = majorUnit && formats[majorUnit];\n const tick = ticks[index];\n const major = majorUnit && majorFormat && tick && tick.major;\n return this._adapter.format(time, format || (major ? majorFormat : minorFormat));\n }\n generateTickLabels(ticks) {\n let i, ilen, tick;\n for(i = 0, ilen = ticks.length; i < ilen; ++i){\n tick = ticks[i];\n tick.label = this._tickFormatFunction(tick.value, i, ticks);\n }\n }\n getDecimalForValue(value) {\n return value === null ? NaN : (value - this.min) / (this.max - this.min);\n }\n getPixelForValue(value) {\n const offsets = this._offsets;\n const pos = this.getDecimalForValue(value);\n return this.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return this.min + pos * (this.max - this.min);\n }\n _getLabelSize(label) {\n const ticksOpts = this.options.ticks;\n const tickLabelWidth = this.ctx.measureText(label).width;\n const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n const cosRotation = Math.cos(angle);\n const sinRotation = Math.sin(angle);\n const tickFontSize = this._resolveTickFontOptions(0).size;\n return {\n w: tickLabelWidth * cosRotation + tickFontSize * sinRotation,\n h: tickLabelWidth * sinRotation + tickFontSize * cosRotation\n };\n }\n _getLabelCapacity(exampleTime) {\n const timeOpts = this.options.time;\n const displayFormats = timeOpts.displayFormats;\n const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [\n exampleTime\n ], this._majorUnit), format);\n const size = this._getLabelSize(exampleLabel);\n const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1;\n return capacity > 0 ? capacity : 1;\n }\n getDataTimestamps() {\n let timestamps = this._cache.data || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const metas = this.getMatchingVisibleMetas();\n if (this._normalized && metas.length) {\n return this._cache.data = metas[0].controller.getAllParsedValues(this);\n }\n for(i = 0, ilen = metas.length; i < ilen; ++i){\n timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this));\n }\n return this._cache.data = this.normalize(timestamps);\n }\n getLabelTimestamps() {\n const timestamps = this._cache.labels || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const labels = this.getLabels();\n for(i = 0, ilen = labels.length; i < ilen; ++i){\n timestamps.push(parse(this, labels[i]));\n }\n return this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps);\n }\n normalize(values) {\n return _arrayUnique(values.sort(sorter));\n }\n}\n\nfunction interpolate(table, val, reverse) {\n let lo = 0;\n let hi = table.length - 1;\n let prevSource, nextSource, prevTarget, nextTarget;\n if (reverse) {\n if (val >= table[lo].pos && val <= table[hi].pos) {\n ({ lo , hi } = _lookupByKey(table, 'pos', val));\n }\n ({ pos: prevSource , time: prevTarget } = table[lo]);\n ({ pos: nextSource , time: nextTarget } = table[hi]);\n } else {\n if (val >= table[lo].time && val <= table[hi].time) {\n ({ lo , hi } = _lookupByKey(table, 'time', val));\n }\n ({ time: prevSource , pos: prevTarget } = table[lo]);\n ({ time: nextSource , pos: nextTarget } = table[hi]);\n }\n const span = nextSource - prevSource;\n return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\nclass TimeSeriesScale extends TimeScale {\n static id = 'timeseries';\n static defaults = TimeScale.defaults;\n constructor(props){\n super(props);\n this._table = [];\n this._minPos = undefined;\n this._tableRange = undefined;\n }\n initOffsets() {\n const timestamps = this._getTimestampsForTable();\n const table = this._table = this.buildLookupTable(timestamps);\n this._minPos = interpolate(table, this.min);\n this._tableRange = interpolate(table, this.max) - this._minPos;\n super.initOffsets(timestamps);\n }\n buildLookupTable(timestamps) {\n const { min , max } = this;\n const items = [];\n const table = [];\n let i, ilen, prev, curr, next;\n for(i = 0, ilen = timestamps.length; i < ilen; ++i){\n curr = timestamps[i];\n if (curr >= min && curr <= max) {\n items.push(curr);\n }\n }\n if (items.length < 2) {\n return [\n {\n time: min,\n pos: 0\n },\n {\n time: max,\n pos: 1\n }\n ];\n }\n for(i = 0, ilen = items.length; i < ilen; ++i){\n next = items[i + 1];\n prev = items[i - 1];\n curr = items[i];\n if (Math.round((next + prev) / 2) !== curr) {\n table.push({\n time: curr,\n pos: i / (ilen - 1)\n });\n }\n }\n return table;\n }\n _generate() {\n const min = this.min;\n const max = this.max;\n let timestamps = super.getDataTimestamps();\n if (!timestamps.includes(min) || !timestamps.length) {\n timestamps.splice(0, 0, min);\n }\n if (!timestamps.includes(max) || timestamps.length === 1) {\n timestamps.push(max);\n }\n return timestamps.sort((a, b)=>a - b);\n }\n _getTimestampsForTable() {\n let timestamps = this._cache.all || [];\n if (timestamps.length) {\n return timestamps;\n }\n const data = this.getDataTimestamps();\n const label = this.getLabelTimestamps();\n if (data.length && label.length) {\n timestamps = this.normalize(data.concat(label));\n } else {\n timestamps = data.length ? data : label;\n }\n timestamps = this._cache.all = timestamps;\n return timestamps;\n }\n getDecimalForValue(value) {\n return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return interpolate(this._table, decimal * this._tableRange + this._minPos, true);\n }\n}\n\nvar scales = /*#__PURE__*/Object.freeze({\n__proto__: null,\nCategoryScale: CategoryScale,\nLinearScale: LinearScale,\nLogarithmicScale: LogarithmicScale,\nRadialLinearScale: RadialLinearScale,\nTimeScale: TimeScale,\nTimeSeriesScale: TimeSeriesScale\n});\n\nconst registerables = [\n controllers,\n elements,\n plugins,\n scales\n];\n\nexport { Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, plugin_colors as Colors, DatasetController, plugin_decimation as Decimation, DomPlatform, DoughnutController, Element, index as Filler, Interaction, plugin_legend as Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, plugin_subtitle as SubTitle, Ticks, TimeScale, TimeSeriesScale, plugin_title as Title, plugin_tooltip as Tooltip, adapters as _adapters, _detectPlatform, animator, controllers, defaults, elements, layouts, plugins, registerables, registry, scales };\n//# sourceMappingURL=chart.js.map\n","import { Chart as Chart$1, BarController, DoughnutController, LineController, PieController, PolarAreaController, RadarController, BubbleController, ScatterController } from 'chart.js';\nimport { version, isProxy, toRaw, defineComponent, ref, shallowRef, onMounted, onUnmounted, watch, nextTick, h } from 'vue';\n\nconst CommonProps = {\n data: {\n type: Object,\n required: true\n },\n options: {\n type: Object,\n default: ()=>({})\n },\n plugins: {\n type: Array,\n default: ()=>[]\n },\n datasetIdKey: {\n type: String,\n default: \"label\"\n },\n updateMode: {\n type: String,\n default: undefined\n }\n};\nconst A11yProps = {\n ariaLabel: {\n type: String\n },\n ariaDescribedby: {\n type: String\n }\n};\nconst Props = {\n type: {\n type: String,\n required: true\n },\n destroyDelay: {\n type: Number,\n default: 0 // No delay by default\n },\n ...CommonProps,\n ...A11yProps\n};\n\nconst compatProps = version[0] === \"2\" ? (internals, props)=>Object.assign(internals, {\n attrs: props\n }) : (internals, props)=>Object.assign(internals, props);\nfunction toRawIfProxy(obj) {\n return isProxy(obj) ? toRaw(obj) : obj;\n}\nfunction cloneProxy(obj) {\n let src = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : obj;\n return isProxy(src) ? new Proxy(obj, {}) : obj;\n}\nfunction setOptions(chart, nextOptions) {\n const options = chart.options;\n if (options && nextOptions) {\n Object.assign(options, nextOptions);\n }\n}\nfunction setLabels(currentData, nextLabels) {\n currentData.labels = nextLabels;\n}\nfunction setDatasets(currentData, nextDatasets, datasetIdKey) {\n const addedDatasets = [];\n currentData.datasets = nextDatasets.map((nextDataset)=>{\n // given the new set, find it's current match\n const currentDataset = currentData.datasets.find((dataset)=>dataset[datasetIdKey] === nextDataset[datasetIdKey]);\n // There is no original to update, so simply add new one\n if (!currentDataset || !nextDataset.data || addedDatasets.includes(currentDataset)) {\n return {\n ...nextDataset\n };\n }\n addedDatasets.push(currentDataset);\n Object.assign(currentDataset, nextDataset);\n return currentDataset;\n });\n}\nfunction cloneData(data, datasetIdKey) {\n const nextData = {\n labels: [],\n datasets: []\n };\n setLabels(nextData, data.labels);\n setDatasets(nextData, data.datasets, datasetIdKey);\n return nextData;\n}\n/**\n * Get dataset from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */ function getDatasetAtEvent(chart, event) {\n return chart.getElementsAtEventForMode(event, \"dataset\", {\n intersect: true\n }, false);\n}\n/**\n * Get single dataset element from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */ function getElementAtEvent(chart, event) {\n return chart.getElementsAtEventForMode(event, \"nearest\", {\n intersect: true\n }, false);\n}\n/**\n * Get all dataset elements from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */ function getElementsAtEvent(chart, event) {\n return chart.getElementsAtEventForMode(event, \"index\", {\n intersect: true\n }, false);\n}\n\nconst Chart = defineComponent({\n props: Props,\n setup (props, param) {\n let { expose , slots } = param;\n const canvasRef = ref(null);\n const chartRef = shallowRef(null);\n expose({\n chart: chartRef\n });\n const renderChart = ()=>{\n if (!canvasRef.value) return;\n const { type , data , options , plugins , datasetIdKey } = props;\n const clonedData = cloneData(data, datasetIdKey);\n const proxiedData = cloneProxy(clonedData, data);\n chartRef.value = new Chart$1(canvasRef.value, {\n type,\n data: proxiedData,\n options: {\n ...options\n },\n plugins\n });\n };\n const destroyChart = ()=>{\n const chart = toRaw(chartRef.value);\n if (chart) {\n if (props.destroyDelay > 0) {\n setTimeout(()=>{\n chart.destroy();\n chartRef.value = null;\n }, props.destroyDelay);\n } else {\n chart.destroy();\n chartRef.value = null;\n }\n }\n };\n const update = (chart)=>{\n chart.update(props.updateMode);\n };\n onMounted(renderChart);\n onUnmounted(destroyChart);\n watch([\n ()=>props.options,\n ()=>props.data\n ], (param, param1)=>{\n let [nextOptionsProxy, nextDataProxy] = param, [prevOptionsProxy, prevDataProxy] = param1;\n const chart = toRaw(chartRef.value);\n if (!chart) {\n return;\n }\n let shouldUpdate = false;\n if (nextOptionsProxy) {\n const nextOptions = toRawIfProxy(nextOptionsProxy);\n const prevOptions = toRawIfProxy(prevOptionsProxy);\n if (nextOptions && nextOptions !== prevOptions) {\n setOptions(chart, nextOptions);\n shouldUpdate = true;\n }\n }\n if (nextDataProxy) {\n const nextLabels = toRawIfProxy(nextDataProxy.labels);\n const prevLabels = toRawIfProxy(prevDataProxy.labels);\n const nextDatasets = toRawIfProxy(nextDataProxy.datasets);\n const prevDatasets = toRawIfProxy(prevDataProxy.datasets);\n if (nextLabels !== prevLabels) {\n setLabels(chart.config.data, nextLabels);\n shouldUpdate = true;\n }\n if (nextDatasets && nextDatasets !== prevDatasets) {\n setDatasets(chart.config.data, nextDatasets, props.datasetIdKey);\n shouldUpdate = true;\n }\n }\n if (shouldUpdate) {\n nextTick(()=>{\n update(chart);\n });\n }\n }, {\n deep: true\n });\n return ()=>{\n return h(\"canvas\", {\n role: \"img\",\n ariaLabel: props.ariaLabel,\n ariaDescribedby: props.ariaDescribedby,\n ref: canvasRef\n }, [\n h(\"p\", {}, [\n slots.default ? slots.default() : \"\"\n ])\n ]);\n };\n }\n});\n\nfunction createTypedChart(type, registerables) {\n Chart$1.register(registerables);\n return defineComponent({\n props: CommonProps,\n setup (props, param) {\n let { expose } = param;\n const ref = shallowRef(null);\n const reforwardRef = (chartRef)=>{\n ref.value = chartRef?.chart;\n };\n expose({\n chart: ref\n });\n return ()=>{\n return h(Chart, compatProps({\n ref: reforwardRef\n }, {\n type,\n ...props\n }));\n };\n }\n });\n}\nconst Bar = /* #__PURE__ */ createTypedChart(\"bar\", BarController);\nconst Doughnut = /* #__PURE__ */ createTypedChart(\"doughnut\", DoughnutController);\nconst Line = /* #__PURE__ */ createTypedChart(\"line\", LineController);\nconst Pie = /* #__PURE__ */ createTypedChart(\"pie\", PieController);\nconst PolarArea = /* #__PURE__ */ createTypedChart(\"polarArea\", PolarAreaController);\nconst Radar = /* #__PURE__ */ createTypedChart(\"radar\", RadarController);\nconst Bubble = /* #__PURE__ */ createTypedChart(\"bubble\", BubbleController);\nconst Scatter = /* #__PURE__ */ createTypedChart(\"scatter\", ScatterController);\n\nexport { Bar, Bubble, Chart, Doughnut, Line, Pie, PolarArea, Radar, Scatter, createTypedChart, getDatasetAtEvent, getElementAtEvent, getElementsAtEvent };\n//# sourceMappingURL=index.js.map\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n","\n\n\n","\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n","\n\n\n\n\n","\n\n\n","\n\n\n\n\n","\n\n\n","\n\n\n","import { openBlock as n, createBlock as k, resolveDynamicComponent as H, normalizeClass as b, normalizeStyle as m, withCtx as T, createElementBlock as r, Fragment as w, mergeProps as D, createCommentVNode as d, createTextVNode as B, toDisplayString as O, withDirectives as M, renderSlot as g, createElementVNode as f, vShow as I, resolveComponent as P, createSlots as E, createVNode as C, withKeys as y, renderList as L } from \"vue\";\nconst N = [\"src\"], V = [\"src\"], z = [\"src\"], A = [\"src\"], R = [\"src\"], X = { key: 2 }, W = { class: \"vueperslide__content-wrapper\" }, F = [\"innerHTML\"], Y = [\"innerHTML\"], q = { class: \"vueperslide__content-wrapper\" }, K = [\"innerHTML\"], U = [\"innerHTML\"], G = {\n key: 4,\n class: \"vueperslide__loader\"\n};\nfunction J(e, s, i, l, o, t) {\n return n(), k(H(i.link ? \"a\" : \"div\"), {\n class: b([\"vueperslide\", t.slideClasses]),\n href: i.link && !t.justDragged ? i.link : !1,\n target: i.link && i.openInNew ? typeof i.openInNew == \"boolean\" ? \"_blank\" : i.openInNew : \"_self\",\n face: t.slideFace3d,\n style: m(t.slideStyles),\n \"aria-hidden\": t.slides.activeId === e._.uid || t.isSlideVisible ? \"false\" : \"true\",\n onMouseenter: s[0] || (s[0] = (u) => e.$emit(\"mouse-enter\", { slideIndex: t.slideIndex, title: i.title, content: i.content, image: i.image, link: i.link }, e.$el)),\n onMouseleave: s[1] || (s[1] = (u) => e.$emit(\"mouse-leave\"))\n }, {\n default: T(() => [\n t.videoObj ? (n(), r(w, { key: 0 }, [\n t.videoObj.webm || t.videoObj.mp4 ? (n(), r(\"video\", D({\n key: 0,\n class: \"vueperslide__video\",\n width: \"100%\",\n height: \"100%\"\n }, t.videoObj.props || {}), [\n t.videoObj.webm ? (n(), r(\"source\", {\n key: 0,\n src: t.videoObj.webm,\n type: \"video/webm\"\n }, null, 8, N)) : d(\"\", !0),\n t.videoObj.mp4 ? (n(), r(\"source\", {\n key: 1,\n src: t.videoObj.mp4,\n type: \"video/mp4\"\n }, null, 8, V)) : d(\"\", !0),\n t.videoObj.ogv ? (n(), r(\"source\", {\n key: 2,\n src: t.videoObj.ogv,\n type: \"video/ogg\"\n }, null, 8, z)) : d(\"\", !0),\n t.videoObj.avi ? (n(), r(\"source\", {\n key: 3,\n src: t.videoObj.avi,\n type: \"video/avi\"\n }, null, 8, A)) : d(\"\", !0),\n B(O(t.videoObj.alt || \"Sorry, your browser doesn't support embedded videos.\"), 1)\n ], 16)) : t.videoObj.url ? (n(), r(\"iframe\", D({\n key: 1,\n class: \"vueperslide__video\",\n src: t.videoObj.url,\n type: \"text/html\",\n frameborder: \"0\",\n width: \"100%\",\n height: \"100%\"\n }, t.videoObj.props || {}), null, 16, R)) : d(\"\", !0)\n ], 64)) : d(\"\", !0),\n e.imageSrc && t.conf.slideImageInside ? (n(), r(\"div\", {\n key: 1,\n class: \"vueperslide__image\",\n style: m(t.imageStyles)\n }, null, 4)) : d(\"\", !0),\n t.conf.slideContentOutside ? M((n(), r(\"div\", X, [\n g(e.$slots, \"content\", {}, () => [\n f(\"div\", W, [\n i.title ? (n(), r(\"div\", {\n key: 0,\n class: \"vueperslide__title\",\n innerHTML: i.title\n }, null, 8, F)) : d(\"\", !0),\n i.content ? (n(), r(\"div\", {\n key: 1,\n class: \"vueperslide__content\",\n innerHTML: i.content\n }, null, 8, Y)) : d(\"\", !0)\n ])\n ])\n ], 512)), [\n [I, !1]\n ]) : g(e.$slots, \"content\", { key: 3 }, () => [\n f(\"div\", q, [\n i.title ? (n(), r(\"div\", {\n key: 0,\n class: \"vueperslide__title\",\n innerHTML: i.title\n }, null, 8, K)) : d(\"\", !0),\n i.content ? (n(), r(\"div\", {\n key: 1,\n class: \"vueperslide__content\",\n innerHTML: i.content\n }, null, 8, U)) : d(\"\", !0)\n ])\n ]),\n t.conf.lazy && !e.loaded ? (n(), r(\"div\", G, [\n g(e.$slots, \"loader\")\n ])) : d(\"\", !0)\n ]),\n _: 3\n }, 40, [\"href\", \"target\", \"class\", \"face\", \"style\", \"aria-hidden\"]);\n}\nconst j = (e, s) => {\n const i = e.__vccOpts || e;\n for (const [l, o] of s)\n i[l] = o;\n return i;\n}, Q = {\n inject: [\"slides\", \"touch\", \"updateSlide\", \"addClone\", \"addSlide\", \"removeSlide\"],\n props: {\n clone: { type: Boolean },\n image: { type: String, default: \"\" },\n video: { type: [String, Object], default: \"\" },\n title: { type: String, default: \"\" },\n content: { type: String, default: \"\" },\n link: { type: String, default: \"\" },\n duration: { type: Number, default: 0 },\n lazyloaded: { type: Boolean },\n openInNew: { type: [Boolean, String] }\n },\n emits: [\"mouse-enter\", \"mouse-leave\"],\n data: () => ({\n imageSrc: \"\",\n loading: !1,\n loaded: !1\n }),\n computed: {\n conf() {\n return this.$parent.conf;\n },\n slideClasses() {\n return {\n \"vueperslide--active\": this.slides.activeId === this._.uid,\n \"vueperslide--previous-slide\": this.isPreviousSlide,\n \"vueperslide--next-slide\": this.isNextSlide,\n \"vueperslide--visible\": this.isSlideVisible,\n \"vueperslide--loading\": this.conf.lazy && !this.loaded,\n \"vueperslide--has-video\": this.videoObj,\n \"vueperslide--has-image-inside\": this.conf.slideImageInside,\n \"vueperslide--no-pointer-events\": this.videoObj && this.videoObj.pointerEvents === !1\n };\n },\n slideStyles() {\n const { visibleSlides: e, fade: s, slideImageInside: i, gap: l, gapPx: o } = this.conf;\n return {\n ...!i && this.imageSrc && { backgroundImage: `url(\"${this.imageSrc}\")` },\n ...e > 1 && { width: (100 - (l ? l * (e - 1) : 0)) / e + \"%\" },\n ...e > 1 && s && { [this.conf.rtl ? \"right\" : \"left\"]: this.slideIndex % e / e * 100 + \"%\" },\n ...l && { [this.conf.rtl ? \"marginLeft\" : \"marginRight\"]: l + (o ? \"px\" : \"%\") }\n };\n },\n videoObj() {\n if (!this.video)\n return null;\n let e = { url: \"\", alt: \"\", props: { controls: !0 } };\n return typeof this.video == \"object\" ? e = Object.assign(e, this.video) : typeof this.video == \"string\" && (e.url = this.video), e;\n },\n youtubeVideo() {\n return /youtube\\.|youtu\\.be/.test(this.videoObj.url);\n },\n imageStyles() {\n return { ...this.conf.slideImageInside && this.imageSrc && { backgroundImage: `url(\"${this.imageSrc}\")` } };\n },\n slideFace3d() {\n if (!this.conf[\"3d\"])\n return !1;\n const e = [\"front\", \"right\", \"back\", \"left\"], s = (this.slides.current - 1 + this.slidesCount) % this.slidesCount, i = (this.slides.current + 1) % this.slidesCount;\n let l = \"front\";\n return this.slideIndex === s ? l = e[(4 + this.slides.current - 1) % 4] : this.slideIndex === i && (l = e[(this.slides.current + 1) % 4]), l = e[this.slideIndex % 4], this.conf.rtl && l === \"left\" ? l = \"right\" : this.conf.rtl && l === \"right\" && (l = \"left\"), l;\n },\n isPreviousSlide() {\n if (!this.conf[\"3d\"])\n return !1;\n const e = (this.slides.current - 1 + this.slidesCount) % this.slidesCount;\n return this._.uid === this.slides.list[e].id;\n },\n isNextSlide() {\n if (!this.conf[\"3d\"])\n return !1;\n const e = (this.slides.current + 1) % this.slidesCount;\n return this._.uid === this.slides.list[e].id;\n },\n isSlideVisible() {\n return this.slideIndex >= this.slides.firstVisible && this.slideIndex < this.slides.firstVisible + this.conf.visibleSlides;\n },\n slidesList() {\n return this.slides.list.map((e) => e.id);\n },\n slidesCount() {\n return this.slidesList.length;\n },\n slideIndex() {\n return this.slidesList.indexOf(this._.uid);\n },\n justDragged() {\n return this.touch.justDragged;\n }\n },\n methods: {\n updateThisSlide(e) {\n this.updateSlide(this._.uid, e);\n },\n loadImage() {\n if (!(this.loading || this.loaded))\n return this.loading = !0, new Promise((e, s) => {\n const i = document.createElement(\"img\");\n i.onload = () => {\n this.imageSrc = this.image, this.loading = !1, this.loaded = !0, this.$nextTick(() => {\n e({ image: this.imageSrc, style: ((this.$el.attributes || {}).style || {}).value });\n });\n }, i.onerror = (this.loading = !1) || s, i.src = this.image;\n });\n },\n playVideo() {\n !this.videoObj || (this.videoObj.url ? this.$el.querySelector(\"iframe\").contentWindow.postMessage('{\"event\":\"command\",\"func\":\"playVideo\",\"args\":\"\"}', \"*\") : this.$el.querySelector(\"video\").play());\n },\n pauseVideo() {\n !this.videoObj || (this.videoObj.url ? this.$el.querySelector(\"iframe\").contentWindow.postMessage('{\"event\":\"command\",\"func\":\"pauseVideo\",\"args\":\"\"}', \"*\") : this.$el.querySelector(\"video\").pause());\n }\n },\n created() {\n if (this.imageSrc = this.conf.lazy ? \"\" : this.image, this.clone)\n return this.addClone();\n this.addSlide({\n id: this._.uid,\n image: this.imageSrc,\n video: this.videoObj && { ...this.videoObj, play: this.playVideo, pause: this.pauseVideo },\n title: this.title,\n content: this.content,\n contentSlot: this.$slots.content,\n loaderSlot: this.$slots.loader,\n link: this.link,\n style: \"\",\n loadImage: this.loadImage,\n duration: this.duration\n });\n },\n mounted() {\n this.clone || this.updateThisSlide({\n contentSlot: this.$slots.content,\n loaderSlot: this.$slots.loader,\n style: ((this.$el.attributes || {}).style || {}).value\n });\n },\n beforeUnmount() {\n this.clone || this.removeSlide(this._.uid);\n },\n watch: {\n image() {\n this.imageSrc = this.conf.lazy && !this.isSlideVisible ? \"\" : this.image, this.clone || this.updateThisSlide({\n image: this.imageSrc,\n ...!this.conf.slideImageInside && { style: this.slideStyles }\n });\n },\n title() {\n this.clone || this.updateThisSlide({ title: this.title });\n },\n content() {\n this.clone || this.updateThisSlide({ content: this.content });\n },\n link() {\n this.clone || this.updateThisSlide({ link: this.link });\n },\n lazyloaded() {\n this.clone && (this.loaded = this.lazyloaded);\n }\n }\n}, Z = /* @__PURE__ */ j(Q, [[\"render\", J]]);\nconst $ = [\"innerHTML\"], ee = [\"innerHTML\"], te = { class: \"vueperslides__inner\" }, se = {\n key: 0,\n class: \"vueperslides__paused\"\n}, ie = {\n key: 1,\n class: \"vueperslides__progress\"\n}, le = {\n key: 2,\n class: \"vueperslides__fractions\"\n}, ne = { viewBox: \"0 0 9 18\" }, re = [\"d\"], ae = { viewBox: \"0 0 9 18\" }, de = [\"d\"], oe = {\n key: 4,\n class: \"vueperslides__bullets\",\n ref: \"bullets\",\n role: \"tablist\",\n \"aria-label\": \"Slideshow navigation\"\n}, ue = [\"aria-label\", \"onClick\"], he = { class: \"default\" }, ce = {\n key: 1,\n class: \"vueperslides__bullets vueperslides__bullets--outside\",\n ref: \"bullets\",\n role: \"tablist\",\n \"aria-label\": \"Slideshow navigation\"\n}, fe = [\"aria-label\", \"onClick\"], ve = { class: \"default\" }, ge = [\"innerHTML\"], pe = [\"innerHTML\"];\nfunction me(e, s, i, l, o, t) {\n const u = P(\"vnodes\"), v = P(\"vueper-slide\");\n return n(), r(\"div\", {\n class: b([\"vueperslides\", t.vueperslidesClasses]),\n ref: \"vueperslides\",\n \"aria-label\": \"Slideshow\",\n style: m(t.vueperslidesStyles)\n }, [\n t.slidesCount && t.conf.slideContentOutside === \"top\" ? (n(), r(\"div\", {\n key: 0,\n class: b([\"vueperslide__content-wrapper vueperslide__content-wrapper--outside-top\", t.conf.slideContentOutsideClass])\n }, [\n t.currentSlide.contentSlot ? (n(), k(u, {\n key: 0,\n vnodes: t.currentSlide.contentSlot()\n }, null, 8, [\"vnodes\"])) : (n(), r(w, { key: 1 }, [\n t.currentSlide.title ? (n(), r(\"div\", {\n key: 0,\n class: \"vueperslide__title\",\n innerHTML: t.currentSlide.title\n }, null, 8, $)) : d(\"\", !0),\n t.currentSlide.content ? (n(), r(\"div\", {\n key: 1,\n class: \"vueperslide__content\",\n innerHTML: t.currentSlide.content\n }, null, 8, ee)) : d(\"\", !0)\n ], 64))\n ], 2)) : d(\"\", !0),\n f(\"div\", te, [\n f(\"div\", {\n class: \"vueperslides__parallax-wrapper\",\n style: m(`padding-bottom: ${t.conf.slideRatio * 100}%`),\n \"aria-live\": \"polite\"\n }, [\n f(\"div\", {\n class: b([\"vueperslides__track\", { \"vueperslides__track--dragging\": e.touch.dragging, \"vueperslides__track--mousedown\": e.mouseDown }]),\n ref: \"track\",\n style: m(t.trackStyles)\n }, [\n f(\"div\", {\n class: \"vueperslides__track-inner\",\n style: m(t.trackInnerStyles)\n }, [\n g(e.$slots, \"default\"),\n e.isReady && t.conf.infinite && t.canSlide && t.lastSlide ? (n(), k(v, {\n key: 0,\n class: \"vueperslide--clone vueperslide--clone-1\",\n clone: \"\",\n title: t.lastSlide.title,\n content: t.lastSlide.content,\n image: t.lastSlide.image,\n link: t.lastSlide.link,\n style: m(t.lastSlide.style),\n lazyloaded: t.lastSlide.loaded,\n \"aria-hidden\": \"true\"\n }, E({ _: 2 }, [\n t.lastSlide.contentSlot ? {\n name: \"content\",\n fn: T(() => [\n C(u, {\n vnodes: t.lastSlide.contentSlot()\n }, null, 8, [\"vnodes\"])\n ]),\n key: \"0\"\n } : void 0,\n t.conf.lazy && !t.lastSlide.loaded && t.lastSlide.loaderSlot ? {\n name: \"loader\",\n fn: T(() => [\n C(u, {\n vnodes: t.lastSlide.loaderSlot()\n }, null, 8, [\"vnodes\"])\n ]),\n key: \"1\"\n } : void 0\n ]), 1032, [\"title\", \"content\", \"image\", \"link\", \"style\", \"lazyloaded\"])) : d(\"\", !0),\n e.isReady && t.conf.infinite && t.canSlide && t.firstSlide ? (n(), k(v, {\n key: 1,\n class: \"vueperslide--clone vueperslide--clone-2\",\n clone: \"\",\n title: t.firstSlide.title,\n content: t.firstSlide.content,\n image: t.firstSlide.image,\n link: t.firstSlide.link,\n style: m(t.firstSlide.style),\n lazyloaded: t.firstSlide.loaded,\n \"aria-hidden\": \"true\"\n }, E({ _: 2 }, [\n t.firstSlide.contentSlot ? {\n name: \"content\",\n fn: T(() => [\n C(u, {\n vnodes: t.firstSlide.contentSlot()\n }, null, 8, [\"vnodes\"])\n ]),\n key: \"0\"\n } : void 0,\n t.conf.lazy && !t.firstSlide.loaded && t.firstSlide.loaderSlot ? {\n name: \"loader\",\n fn: T(() => [\n C(u, {\n vnodes: t.firstSlide.loaderSlot()\n }, null, 8, [\"vnodes\"])\n ]),\n key: \"1\"\n } : void 0\n ]), 1032, [\"title\", \"content\", \"image\", \"link\", \"style\", \"lazyloaded\"])) : d(\"\", !0)\n ], 4)\n ], 6)\n ], 4),\n (t.conf.pauseOnHover || t.conf.pauseOnTouch) && e.$slots.pause ? (n(), r(\"div\", se, [\n g(e.$slots, \"pause\")\n ])) : d(\"\", !0),\n t.conf.progress ? (n(), r(\"div\", ie, [\n g(e.$slots, \"progress\", {\n current: e.slides.current + 1,\n total: t.slidesCount\n }, () => [\n f(\"div\", {\n style: m(`width: ${(e.slides.current + 1) * 100 / t.slidesCount}%`)\n }, null, 4)\n ])\n ])) : d(\"\", !0),\n t.conf.fractions ? (n(), r(\"div\", le, [\n g(e.$slots, \"fraction\", {\n current: e.slides.current + 1,\n total: t.slidesCount\n }, () => [\n B(O(`${e.slides.current + 1} / ${t.slidesCount}`), 1)\n ])\n ])) : d(\"\", !0),\n t.conf.arrows && t.canSlide && !i.disable ? (n(), r(\"div\", {\n key: 3,\n class: b([\"vueperslides__arrows\", { \"vueperslides__arrows--outside\": t.conf.arrowsOutside }])\n }, [\n M(f(\"button\", {\n class: \"vueperslides__arrow vueperslides__arrow--prev\",\n type: \"button\",\n onClick: s[0] || (s[0] = (c) => t.previous()),\n \"aria-label\": \"Previous\",\n onKeyup: [\n s[1] || (s[1] = y((c) => t.conf.rtl ? t.next() : t.previous(), [\"left\"])),\n s[2] || (s[2] = y((c) => t.conf.rtl ? t.previous() : t.next(), [\"right\"]))\n ]\n }, [\n g(e.$slots, `arrow-${t.conf.rtl ? \"right\" : \"left\"}`, {}, () => [\n (n(), r(\"svg\", ne, [\n f(\"path\", {\n \"stroke-linecap\": \"round\",\n d: t.conf.rtl ? \"m1 1 l7 8 -7 8\" : \"m8 1 l-7 8 7 8\"\n }, null, 8, re)\n ]))\n ])\n ], 544), [\n [I, !t.arrowPrevDisabled]\n ]),\n M(f(\"button\", {\n class: \"vueperslides__arrow vueperslides__arrow--next\",\n type: \"button\",\n onClick: s[3] || (s[3] = (c) => t.next()),\n \"aria-label\": \"Next\",\n onKeyup: [\n s[4] || (s[4] = y((c) => t.conf.rtl ? t.next() : t.previous(), [\"left\"])),\n s[5] || (s[5] = y((c) => t.conf.rtl ? t.previous() : t.next(), [\"right\"]))\n ]\n }, [\n g(e.$slots, `arrow-${t.conf.rtl ? \"left\" : \"right\"}`, {}, () => [\n (n(), r(\"svg\", ae, [\n f(\"path\", {\n \"stroke-linecap\": \"round\",\n d: t.conf.rtl ? \"m8 1 l-7 8 7 8\" : \"m1 1 l7 8 -7 8\"\n }, null, 8, de)\n ]))\n ])\n ], 544), [\n [I, !t.arrowNextDisabled]\n ])\n ], 2)) : d(\"\", !0),\n t.conf.bullets && t.canSlide && !i.disable && !t.conf.bulletsOutside ? (n(), r(\"div\", oe, [\n g(e.$slots, \"bullets\", {\n currentSlide: e.slides.current,\n bulletIndexes: t.bulletIndexes,\n goToSlide: t.goToSlide,\n previous: t.previous,\n next: t.next\n }, () => [\n (n(!0), r(w, null, L(t.bulletIndexes, (c, a) => (n(), r(\"button\", {\n class: b([\"vueperslides__bullet\", { \"vueperslides__bullet--active\": e.slides.current === c }]),\n type: \"button\",\n key: a,\n role: \"tab\",\n \"aria-label\": `Slide ${a + 1}`,\n onClick: (h) => t.goToSlide(c),\n onKeyup: [\n s[6] || (s[6] = y((h) => t.conf.rtl ? t.next() : t.previous(), [\"left\"])),\n s[7] || (s[7] = y((h) => t.conf.rtl ? t.previous() : t.next(), [\"right\"]))\n ]\n }, [\n g(e.$slots, \"bullet\", {\n active: e.slides.current === c,\n slideIndex: c,\n index: a + 1\n }, () => [\n f(\"div\", he, [\n f(\"span\", null, O(a + 1), 1)\n ])\n ])\n ], 42, ue))), 128))\n ])\n ], 512)) : d(\"\", !0)\n ]),\n t.conf.bullets && t.canSlide && !i.disable && t.conf.bulletsOutside ? (n(), r(\"div\", ce, [\n g(e.$slots, \"bullets\", {\n currentSlide: e.slides.current,\n bulletIndexes: t.bulletIndexes,\n goToSlide: t.goToSlide,\n previous: t.previous,\n next: t.next\n }, () => [\n (n(!0), r(w, null, L(t.bulletIndexes, (c, a) => (n(), r(\"button\", {\n class: b([\"vueperslides__bullet\", { \"vueperslides__bullet--active\": e.slides.current === c }]),\n type: \"button\",\n key: a,\n role: \"tab\",\n \"aria-label\": `Slide ${a + 1}`,\n onClick: (h) => t.goToSlide(c),\n onKeyup: [\n s[8] || (s[8] = y((h) => t.conf.rtl ? t.next() : t.previous(), [\"left\"])),\n s[9] || (s[9] = y((h) => t.conf.rtl ? t.previous() : t.next(), [\"right\"]))\n ]\n }, [\n g(e.$slots, \"bullet\", {\n active: e.slides.current === c,\n slideIndex: c,\n index: a + 1\n }, () => [\n f(\"div\", ve, [\n f(\"span\", null, O(a + 1), 1)\n ])\n ])\n ], 42, fe))), 128))\n ])\n ], 512)) : d(\"\", !0),\n t.slidesCount && t.conf.slideContentOutside === \"bottom\" ? (n(), r(\"div\", {\n key: 2,\n class: b([\"vueperslide__content-wrapper vueperslide__content-wrapper--outside-bottom\", t.conf.slideContentOutsideClass])\n }, [\n t.currentSlide.contentSlot ? (n(), k(u, {\n key: 0,\n vnodes: t.currentSlide.contentSlot()\n }, null, 8, [\"vnodes\"])) : (n(), r(w, { key: 1 }, [\n t.currentSlide.title ? (n(), r(\"div\", {\n key: 0,\n class: \"vueperslide__title\",\n innerHTML: t.currentSlide.title\n }, null, 8, ge)) : d(\"\", !0),\n t.currentSlide.content ? (n(), r(\"div\", {\n key: 1,\n class: \"vueperslide__content\",\n innerHTML: t.currentSlide.content\n }, null, 8, pe)) : d(\"\", !0)\n ], 64))\n ], 2)) : d(\"\", !0)\n ], 6);\n}\nconst Se = {\n name: \"vueper-slides\",\n components: {\n VueperSlide: Z,\n vnodes: {\n render() {\n return this.$attrs.vnodes;\n }\n }\n },\n provide() {\n return {\n conf: this.conf,\n slides: this.slides,\n touch: this.touch,\n updateSlide: this.updateSlide,\n addClone: this.addClone,\n addSlide: this.addSlide,\n removeSlide: this.removeSlide\n };\n },\n props: {\n alwaysRefreshClones: { type: Boolean, default: !1 },\n arrows: { type: Boolean, default: !0 },\n arrowsOutside: { type: Boolean, default: null },\n autoplay: { type: Boolean, default: !1 },\n breakpoints: { type: Object, default: () => ({}) },\n bullets: { type: Boolean, default: !0 },\n bulletsOutside: { type: Boolean, default: null },\n disable: { type: Boolean, default: !1 },\n disableArrowsOnEdges: { type: [Boolean, String], default: !1 },\n draggingDistance: { type: Number, default: null },\n duration: { type: [Number, String], default: 4e3 },\n infinite: { type: Boolean, default: !0 },\n fade: { type: Boolean, default: !1 },\n fixedHeight: { type: [Boolean, String], default: !1 },\n fractions: { type: Boolean, default: !1 },\n gap: { type: Number, default: 0 },\n initSlide: { type: Number, default: 1 },\n lazy: { type: Boolean, default: !1 },\n lazyLoadOnDrag: { type: Boolean, default: !1 },\n pauseOnHover: { type: Boolean, default: !0 },\n pauseOnTouch: { type: Boolean, default: !0 },\n parallax: { type: [Boolean, Number], default: !1 },\n pageScrollingElement: { type: String, default: \"\" },\n parallaxFixedContent: { type: Boolean, default: !1 },\n preventYScroll: { type: Boolean, default: !1 },\n progress: { type: Boolean, default: !1 },\n rtl: { type: Boolean, default: !1 },\n slideContentOutside: { type: [Boolean, String], default: !1 },\n slideContentOutsideClass: { type: String, default: \"\" },\n slideImageInside: { type: Boolean, default: !1 },\n slideMultiple: { type: [Boolean, Number], default: !1 },\n slideRatio: { type: Number, default: 1 / 3 },\n touchable: { type: Boolean, default: !0 },\n transitionSpeed: { type: [Number, String], default: 600 },\n visibleSlides: { type: Number, default: 1 },\n \"3d\": { type: Boolean, default: !1 }\n },\n emits: [\n \"ready\",\n \"next\",\n \"previous\",\n \"autoplay-pause\",\n \"autoplay-resume\",\n \"before-slide\",\n \"slide\",\n \"image-loaded\",\n \"image-failed\"\n ],\n data: () => ({\n isReady: !1,\n isPaused: !1,\n container: null,\n slides: {\n list: [],\n activeId: null,\n current: 0,\n focus: 0,\n firstVisible: 0\n },\n mouseDown: !1,\n mouseOver: !1,\n touch: {\n enabled: !0,\n dragging: !1,\n lazyloadTriggered: !1,\n justDragged: !1,\n dragStartX: 0,\n dragNowX: 0,\n dragAmount: 0\n },\n transition: { currentTranslation: 0, speed: 0, animated: !1 },\n autoplayTimer: null,\n nextSlideIsClone: !1,\n breakpointsData: { list: [], current: null },\n parallaxData: { translation: 0, slideshowOffsetTop: null, isVisible: !1 }\n }),\n computed: {\n conf() {\n const e = {\n ...this.$props,\n ...this.$props.breakpoints && this.$props.breakpoints[this.breakpointsData.current] || {}\n };\n return e.slideMultiple = e.slideMultiple ? e.visibleSlides : 1, e.gap = this.gap && parseInt(this.gap) || 0, e.visibleSlides > 1 && (e[\"3d\"] = !1), (e.fade || e.disableArrowsOnEdges || e.visibleSlides > 1 || e[\"3d\"]) && (e.infinite = !1), e.visibleSlides > 1 && e.arrowsOutside === null && (e.arrowsOutside = !0), e.visibleSlides > 1 && e.bulletsOutside === null && (e.bulletsOutside = !0), this.touch.enabled !== e.touchable && this.toggleTouchableOption(e.touchable), e.parallax && e.parallaxFixedContent && (e.slideContentOutside = \"top\", e.slideContentOutsideClass = \"parallax-fixed-content\"), e;\n },\n slidesCount() {\n return this.slides.list.length;\n },\n gapsCount() {\n const { fade: e, \"3d\": s, slideMultiple: i, gap: l } = this.conf;\n if (!l || e || s || this.multipleSlides1by1 && this.slides.current < this.preferredPosition)\n return 0;\n if (!this.slides.current && this.nextSlideIsClone)\n return this.slidesCount;\n if (this.nextSlideIsClone === 0)\n return -1;\n let o = this.slides.current / i - this.preferredPosition;\n return this.multipleSlides1by1 && this.slidePosAfterPreferred > 0 && (o -= this.slidePosAfterPreferred), o;\n },\n slidesAfterCurrent() {\n return this.slidesCount - (this.slides.current + 1);\n },\n preferredPosition() {\n return this.multipleSlides1by1 ? Math.ceil(this.conf.visibleSlides / 2) - 1 : 0;\n },\n slidePosAfterPreferred() {\n return this.conf.visibleSlides - this.preferredPosition - this.slidesAfterCurrent - 1;\n },\n multipleSlides1by1() {\n return this.conf.visibleSlides > 1 && this.conf.slideMultiple === 1;\n },\n touchEnabled: {\n get() {\n return this.slidesCount > 1 && this.touch.enabled;\n },\n set(e) {\n this.touch.enabled = e;\n }\n },\n canSlide() {\n return this.slidesCount / this.conf.visibleSlides > 1;\n },\n firstSlide() {\n const e = this.slidesCount ? this.slides.list[0] : {};\n return e.style && typeof e.style == \"string\" && (e.style = e.style.replace(/width: ?\\d+.*?;?/, \"\")), e;\n },\n lastSlide() {\n const e = this.slidesCount ? this.slides.list[this.slidesCount - 1] : {};\n return e.style && typeof e.style == \"string\" && (e.style = e.style.replace(/width: ?\\d+.*?;?/, \"\")), e;\n },\n currentSlide() {\n const e = this.slidesCount && this.slides.list[this.slides.current] || {};\n return this.slides.current < this.slidesCount && e.id !== this.slides.activeId && this.goToSlide(this.slides.current, { animation: !1, autoPlaying: !0 }), e;\n },\n vueperslidesClasses() {\n return {\n \"vueperslides--ready\": this.isReady,\n \"vueperslides--rtl\": this.conf.rtl,\n \"vueperslides--fade\": this.conf.fade,\n \"vueperslides--parallax\": this.conf.parallax,\n \"vueperslides--slide-image-inside\": this.conf.slideImageInside,\n \"vueperslides--touchable\": this.touchEnabled && !this.disable,\n \"vueperslides--fixed-height\": this.conf.fixedHeight,\n \"vueperslides--3d\": this.conf[\"3d\"],\n \"vueperslides--slide-multiple\": this.conf.slideMultiple > 1,\n \"vueperslides--bullets-outside\": this.conf.bulletsOutside,\n \"vueperslides--animated\": this.transition.animated,\n \"vueperslides--no-animation\": !this.isReady\n };\n },\n vueperslidesStyles() {\n return /^-?\\d/.test(this.conf.fixedHeight) ? `height: ${this.conf.fixedHeight}` : null;\n },\n trackStyles() {\n const e = {};\n return this.conf.parallax && (e.transform = `translate3d(0, ${this.parallaxData.translation}%, 0)`, e.willChange = this.parallaxData.isVisible ? \"transform\" : \"auto\"), e;\n },\n trackInnerStyles() {\n const e = {}, { fade: s, \"3d\": i } = this.conf;\n if (e.transitionDuration = `${this.transition.speed}ms`, i) {\n const l = this.transition.currentTranslation * 90 / 100;\n e.transform = `rotateY(-90deg) translateX(-50%) rotateY(90deg) rotateY(${l}deg)`;\n } else\n s || (e.transform = `translate3d(${this.transition.currentTranslation}%, 0, 0)`, e.willChange = this.touch.dragging || this.transition.animated ? \"transform\" : \"auto\");\n return e;\n },\n bulletIndexes() {\n return Array(Math.ceil(this.slidesCount / this.conf.slideMultiple)).fill().map((e, s) => s * this.conf.slideMultiple);\n },\n arrowPrevDisabled() {\n return !this.slides.current && this.conf.disableArrowsOnEdges;\n },\n arrowNextDisabled() {\n const { disableArrowsOnEdges: e, visibleSlides: s, slideMultiple: i } = this.conf;\n return this.slides.current + (i > 1 && s > 1 ? s - 1 : 0) === this.slidesCount - 1 && e;\n }\n },\n methods: {\n init() {\n this.container = this.$refs.vueperslides, this.touchEnabled = this.conf.touchable, this.transition.speed = this.conf.transitionSpeed, Object.keys(this.breakpoints).length && (this.setBreakpointsList(), this.setBreakpointConfig(this.getCurrentBreakpoint()));\n const e = { animation: !1, autoPlaying: this.conf.autoplay };\n this.goToSlide(this.conf.initSlide - 1, e), this.bindEvents(), this.$nextTick(() => {\n this.isReady = !0, this.emit(\"ready\");\n });\n },\n emit(e, s = !0, i = !1) {\n let l = null;\n if ((s || typeof i == \"number\") && (l = {}, s && this.slides.activeId && this.slidesCount && (l.currentSlide = this.getSlideData(this.slides.current)), typeof i == \"number\" && this.slidesCount)) {\n const { nextSlide: o } = this.getSlideInRange(i);\n l.nextSlide = this.getSlideData(o);\n }\n this.$emit(...l ? [e, l] : [e]);\n },\n getSlideData(e) {\n const s = this.slides.list[e];\n let i = {};\n return s && (i = {\n index: e,\n title: s.title,\n content: s.content,\n contentSlot: s.contentSlot,\n image: s.image,\n link: s.link\n }), i;\n },\n setBreakpointsList() {\n this.breakpointsData.list = [99999, ...Object.keys(this.breakpoints)].map((e) => parseInt(e)).sort((e, s) => parseInt(s) - parseInt(e));\n },\n getCurrentBreakpoint() {\n const e = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, s = [e, ...this.breakpointsData.list].sort((i, l) => parseInt(l) - parseInt(i));\n return this.breakpointsData.list[s.indexOf(e) - 1];\n },\n hasBreakpointChanged(e) {\n return this.breakpointsData.current !== parseInt(e);\n },\n setBreakpointConfig(e) {\n const s = this.breakpoints && this.breakpoints[e] || {}, i = s.slideMultiple && s.slideMultiple !== this.conf.slideMultiple, l = s.visibleSlides && s.visibleSlides !== this.conf.visibleSlides;\n this.breakpointsData.current = e, this.slides.current = this.getFirstVisibleSlide(this.slides.focus), i || l ? this.goToSlide(this.slides.current, { breakpointChange: !0 }) : this.updateTrackTranslation();\n },\n bindEvents() {\n const e = \"ontouchstart\" in window;\n this.touchEnabled && this.toggleTouchableOption(!0), this.conf.autoplay && (this.conf.pauseOnHover && !e ? (this.container.addEventListener(\"mouseenter\", this.onMouseEnter), this.container.addEventListener(\"mouseleave\", this.onMouseLeave)) : this.conf.pauseOnTouch && e && document.addEventListener(\"touchstart\", (s) => {\n this[this.$el.contains(s.target) ? \"onSlideshowTouch\" : \"onOustideTouch\"]();\n })), (this.breakpointsData.list.length || this.conf.parallax) && window.addEventListener(\"resize\", this.onResize), this.conf.parallax && this.enableParallax();\n },\n getSlideshowOffsetTop(e = !1) {\n if (this.parallaxData.slideshowOffsetTop === null || e) {\n let s = this.container, i = s.offsetTop;\n for (; s = s.offsetParent; )\n i += s.offsetTop;\n this.parallaxData.slideshowOffsetTop = i;\n }\n return this.parallaxData.slideshowOffsetTop;\n },\n enableParallax() {\n this.refreshParallax(), this.pageScrollingElement ? (this.parallaxData.scrollingEl = document.querySelector(this.pageScrollingElement), this.parallaxData.scrollingEl.addEventListener(\"scroll\", this.onScroll)) : document.addEventListener(\"scroll\", this.onScroll);\n },\n disableParallax() {\n (this.pageScrollingElement ? document.querySelector(this.pageScrollingElement) : document).removeEventListener(\"scroll\", this.onScroll), this.parallaxData.scrollingEl = null, this.parallaxData.isVisible = !1, this.parallaxData.translation = 0, this.parallaxData.slideshowOffsetTop = null;\n },\n onScroll() {\n const { scrollingEl: e } = this.parallaxData, s = document.documentElement;\n let i = 0;\n e ? i = e.scrollTop : i = (window.pageYOffset || s.scrollTop) - (s.clientTop || 0);\n const l = window.innerHeight || s.clientHeight || document.body.clientHeight, o = this.container.clientHeight, t = this.getSlideshowOffsetTop(), u = t + o - i, v = l + i - t;\n if (this.parallaxData.isVisible = u > 0 && v > 0, this.parallaxData.isVisible) {\n const c = l + o, a = u * 100 / c, h = this.conf.parallax === -1 ? 100 - a : a;\n this.parallaxData.translation = -h / 2;\n }\n },\n onResize() {\n if (this.breakpointsData.list.length) {\n const e = this.getCurrentBreakpoint();\n this.hasBreakpointChanged(e) && this.setBreakpointConfig(e);\n }\n this.conf.parallax && this.getSlideshowOffsetTop(!0);\n },\n onMouseEnter() {\n this.mouseOver = !0, this.conf.pauseOnHover && this.conf.autoplay && (this.isPaused = !0);\n },\n onMouseLeave() {\n this.mouseOver = !1, this.conf.pauseOnHover && this.conf.autoplay && (this.isPaused = !1);\n },\n onMouseDown(e) {\n !this.touchEnabled || this.disable || (!e.touches && this.preventYScroll && e.preventDefault(), this.mouseDown = !0, this.touch.dragStartX = this.getCurrentMouseX(e), this.conf.draggingDistance || this.updateTrackTranslation(this.touch.dragStartX));\n },\n onMouseMove(e) {\n if (this.mouseDown || this.touch.dragging)\n if (this.conf.autoplay && (this.isPaused = !0), this.preventYScroll && e.preventDefault(), this.mouseDown = !1, this.touch.dragging = !0, this.touch.dragNowX = this.getCurrentMouseX(e), this.conf.draggingDistance) {\n this.touch.dragAmount = this.touch.dragNowX - this.touch.dragStartX;\n const s = this.touch.dragAmount / this.container.clientWidth;\n this.updateTrackTranslation(), this.transition.currentTranslation += 100 * s;\n } else\n this.updateTrackTranslation(this.touch.dragNowX);\n },\n onMouseUp(e) {\n if (this.mouseDown = !1, this.touch.dragging)\n this.conf.autoplay && (!(\"ontouchstart\" in window) && !this.mouseOver ? this.isPaused = !1 : this.conf.pauseOnTouch || (this.isPaused = !1));\n else\n return this.cancelSlideChange();\n this.touch.dragging = !1;\n const s = this.conf.draggingDistance ? -this.touch.dragAmount : 0, i = (this.touch.dragStartX - this.container.offsetLeft) / this.container.clientWidth, l = (this.touch.dragNowX - this.container.offsetLeft) / this.container.clientWidth, o = ((i < 0.5 ? 0 : 1) - l) * 100;\n let t = (s || o) > 0;\n if (this.conf.rtl && (t = !t), [\n Math.abs(s) < this.conf.draggingDistance,\n !this.conf.draggingDistance && Math.abs(o) < 50,\n this.arrowPrevDisabled && !this.slides.current && !t,\n this.arrowNextDisabled && this.slides.current === this.slidesCount - 1 && t\n ].includes(!0))\n this.cancelSlideChange();\n else {\n const v = this.slides.current + this.conf.slideMultiple * (t ? 1 : -1);\n this.emit(t ? \"next\" : \"previous\"), this.goToSlide(v);\n }\n this.touch.dragStartX = null, this.touch.dragNowX = null, this.touch.dragAmount = null, this.touch.justDragged = !0, setTimeout(() => this.touch.justDragged = !1, 50), this.touch.lazyloadTriggered = !1;\n },\n onSlideshowTouch() {\n this.isPaused = !0;\n },\n onOustideTouch() {\n this.isPaused = !1;\n },\n justDragged() {\n return this.touch.justDragged;\n },\n cancelSlideChange() {\n this.conf.fade || this.updateTrackTranslation();\n },\n getCurrentMouseX(e) {\n return \"ontouchstart\" in window ? e.touches[0].clientX : e.clientX;\n },\n getBasicTranslation() {\n return this.slides.current / this.conf.visibleSlides;\n },\n updateTrackTranslation(e = null) {\n let s = this.getBasicTranslation();\n const { infinite: i, visibleSlides: l, slideMultiple: o, gap: t, \"3d\": u, lazy: v, lazyLoadOnDrag: c } = this.conf;\n if (i && this.nextSlideIsClone !== !1 && (s = (this.nextSlideIsClone ? this.slidesCount : -1) / l), t && (s += this.gapsCount / (l / o) * t / 100), this.touch.dragStartX && e && !(i && this.nextSlideIsClone !== !1)) {\n let a = 0;\n const h = (this.touch.dragStartX - this.container.offsetLeft) / this.container.clientWidth;\n let S = (e - this.container.offsetLeft) / this.container.clientWidth;\n if (u) {\n const p = Math.round(h) ? [0, 2] : [-1, 1];\n S = Math.min(Math.max(S, p[0]), p[1]);\n }\n if (a = (h < 0.5 ? 0 : 1) - S, s += a * (this.conf.rtl ? -1 : 1), v && c && !this.touch.lazyloadTriggered) {\n this.touch.lazyloadTriggered = !0;\n let p = this.slides.current + (a > 0 ? 1 : -1) * l;\n i && p === -1 ? p = this.slidesCount - 1 : i && p === this.slidesCount && (p = 0);\n for (let _ = 0; _ < l; _++) {\n const x = this.slides.list[p + _];\n x && !x.loaded && this.loadSlide(x, p + _);\n }\n }\n }\n if (this.multipleSlides1by1 && !i) {\n const a = this.slidePosAfterPreferred > 0;\n let h = Math.min(this.preferredPosition, this.slides.current);\n a && (h += this.slidePosAfterPreferred), s -= h / l;\n }\n this.transition.currentTranslation = -s * 100 * (this.conf.rtl ? -1 : 1);\n },\n pauseAutoplay() {\n this.isPaused = !0, clearTimeout(this.autoplayTimer), this.autoplayTimer = 0, this.emit(\"autoplay-pause\");\n },\n resumeAutoplay() {\n this.isPaused = !1, this.doAutoplay(), this.emit(\"autoplay-resume\");\n },\n doAutoplay() {\n clearTimeout(this.autoplayTimer), this.autoplayTimer = setTimeout(() => {\n this.goToSlide(this.slides.current + this.conf.slideMultiple, { autoPlaying: !0 });\n }, this.currentSlide.duration || this.conf.duration);\n },\n previous(e = !0) {\n e && this.emit(\"previous\"), this.goToSlide(this.slides.current - this.conf.slideMultiple);\n },\n next(e = !0) {\n e && this.emit(\"next\"), this.goToSlide(this.slides.current + this.conf.slideMultiple);\n },\n refreshParallax() {\n setTimeout(() => {\n this.onResize(), this.onScroll();\n }, 100);\n },\n getFirstVisibleSlide(e) {\n const { slideMultiple: s, visibleSlides: i } = this.conf;\n let l = this.slides.current;\n return i > 1 && s === i ? l = Math.floor(e / i) * i : this.multipleSlides1by1 && (l = e - Math.min(e, this.preferredPosition) - Math.max(this.slidePosAfterPreferred, 0)), l;\n },\n getSlideInRange(e, s) {\n let i = !1;\n this.conf.infinite && e === -1 ? i = 0 : this.conf.infinite && e === this.slidesCount && (i = 1);\n let l = (e + this.slidesCount) % this.slidesCount;\n if (this.conf.slideMultiple > 1) {\n const o = this.slidesCount % this.conf.slideMultiple || this.conf.slideMultiple, t = this.conf.slideMultiple - o;\n l += e < 0 ? t : 0, l = this.getFirstVisibleSlide(l);\n }\n return this.conf.disableArrowsOnEdges && (e < 0 || e > this.slidesCount - 1) && !s && (l = this.slides.current), { nextSlide: l, clone: i };\n },\n goToSlide(e, { animation: s = !0, autoPlaying: i = !1, jumping: l = !1, breakpointChange: o = !1, emit: t = !0 } = {}) {\n if (!this.slidesCount || this.disable)\n return;\n this.conf.autoplay && !i && !this.isPaused && (this.isPaused = !0, this.$nextTick(() => this.isPaused = !1)), this.transition.animated = s, setTimeout(() => this.transition.animated = !1, this.transitionSpeed);\n const { nextSlide: u, clone: v } = this.getSlideInRange(e, i);\n if (this.nextSlideIsClone = v, !this.slides.list[u])\n return;\n if (this.conf.lazy)\n for (let a = 0; a < this.conf.visibleSlides; a++) {\n const h = this.slides.list[u + a];\n h && !h.loaded && this.loadSlide(h, u + a);\n }\n this.isReady && !l && t && this.emit(\"before-slide\", !0, u);\n const c = this.slides.list[u];\n if (this.isReady && c.video) {\n const a = this.slides.list[this.slides.current];\n a.video && a.video.pause(), c.video.play();\n }\n if (v !== !1 && setTimeout(() => {\n const a = e === -1 && this.slides.current !== this.slidesCount - 1, h = e === this.slidesCount && this.slides.current !== 0;\n a || h || (this.transition.speed = 0, this.goToSlide(v ? 0 : this.slidesCount - 1, { animation: !1, jumping: !0 }), setTimeout(() => this.transition.speed = this.conf.transitionSpeed, 50));\n }, this.transition.speed - 50), this.slides.current = u, this.slides.firstVisible = this.getFirstVisibleSlide(u), o || (this.slides.focus = u), this.conf.fade || this.updateTrackTranslation(), this.slides.activeId = this.slides.list[this.slides.current].id, this.conf.autoplay && i && !this.isPaused && this.doAutoplay(), this.slidesCount && (this.isReady && !l && t && this.emit(\"slide\"), this.isReady && this.conf.bullets && !i && !l && this.$refs.bullets)) {\n const a = this.$refs.bullets.children, h = a && a[this.slides.current / this.conf.slideMultiple];\n if (h && h.nodeName.toLowerCase() === \"button\") {\n let S = document.documentElement;\n this.pageScrollingElement && (S = document.querySelector(this.pageScrollingElement));\n const p = S.scrollTop;\n h.focus({ preventScroll: !0 }), S.scrollTop = p;\n }\n }\n },\n addSlide(e) {\n return this.slides.list.push(e), this.isReady && this.slidesCount === 1 && this.conf.autoplay && this.isPaused && (this.isPaused = !1), this.slidesCount;\n },\n addClone() {\n return this.updateTrackTranslation(), this.slidesCount;\n },\n updateSlide(e, s) {\n let i = this.slides.list.find((l) => l.id === e);\n i && (i = Object.assign(i, s));\n },\n removeSlide(e) {\n const s = this.slides.list.findIndex((i) => i.id === e);\n s > -1 && (this.slides.list.splice(s, 1), this.slidesCount && e === this.slides.activeId && this.goToSlide(s - 1, { autoPlaying: !0 })), this.slides.current >= this.slidesCount && this.goToSlide(0, { autoPlaying: !0 });\n },\n loadSlide(e, s) {\n e.loadImage().then((i) => {\n const { image: l, style: o } = i;\n e.loaded = !0, e.image = l, e.style = o, this.$emit(\"image-loaded\", this.getSlideData(s));\n }, () => {\n e.loaded = !1, this.$emit(\"image-failed\", this.getSlideData(s));\n });\n },\n toggleTouchableOption(e) {\n const { track: s } = this.$refs;\n if (!s)\n return;\n this.touchEnabled = e;\n const i = \"ontouchstart\" in window;\n e ? (this.$refs.track.addEventListener(i ? \"touchstart\" : \"mousedown\", this.onMouseDown, { passive: !this.preventYScroll }), document.addEventListener(i ? \"touchmove\" : \"mousemove\", this.onMouseMove, { passive: !this.preventYScroll }), document.addEventListener(i ? \"touchend\" : \"mouseup\", this.onMouseUp, { passive: !0 })) : this.removeEventListeners();\n },\n removeEventListeners() {\n const e = \"ontouchstart\" in window;\n this.$refs.track.removeEventListener(e ? \"touchstart\" : \"mousedown\", this.onMouseDown, { passive: !this.preventYScroll }), document.removeEventListener(e ? \"touchmove\" : \"mousemove\", this.onMouseMove, { passive: !this.preventYScroll }), document.removeEventListener(e ? \"touchend\" : \"mouseup\", this.onMouseUp, { passive: !0 });\n }\n },\n watch: {\n isPaused(e) {\n this[e ? \"pauseAutoplay\" : \"resumeAutoplay\"]();\n },\n parallax(e) {\n this[e ? \"enableParallax\" : \"disableParallax\"]();\n }\n },\n mounted() {\n this.init();\n },\n beforeUnmount() {\n this.removeEventListeners(), this.conf.parallax && this.disableParallax(), window.removeEventListener(\"resize\", this.onResize), document.removeEventListener(\"touchstart\", (e) => {\n this[this.$el.contains(e.target) ? \"onSlideshowTouch\" : \"onOustideTouch\"]();\n }), this.container.removeEventListener(\"mouseenter\", this.onMouseEnter), this.container.removeEventListener(\"mouseleave\", this.onMouseLeave);\n }\n}, be = /* @__PURE__ */ j(Se, [[\"render\", me]]);\nexport {\n Z as VueperSlide,\n be as VueperSlides\n};\n","\n\n\n\n\n","\n\n\n\n\n","/*!\n * html2canvas 1.4.1 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\n\nvar Bounds = /** @class */ (function () {\n function Bounds(left, top, width, height) {\n this.left = left;\n this.top = top;\n this.width = width;\n this.height = height;\n }\n Bounds.prototype.add = function (x, y, w, h) {\n return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h);\n };\n Bounds.fromClientRect = function (context, clientRect) {\n return new Bounds(clientRect.left + context.windowBounds.left, clientRect.top + context.windowBounds.top, clientRect.width, clientRect.height);\n };\n Bounds.fromDOMRectList = function (context, domRectList) {\n var domRect = Array.from(domRectList).find(function (rect) { return rect.width !== 0; });\n return domRect\n ? new Bounds(domRect.left + context.windowBounds.left, domRect.top + context.windowBounds.top, domRect.width, domRect.height)\n : Bounds.EMPTY;\n };\n Bounds.EMPTY = new Bounds(0, 0, 0, 0);\n return Bounds;\n}());\nvar parseBounds = function (context, node) {\n return Bounds.fromClientRect(context, node.getBoundingClientRect());\n};\nvar parseDocumentSize = function (document) {\n var body = document.body;\n var documentElement = document.documentElement;\n if (!body || !documentElement) {\n throw new Error(\"Unable to get document size\");\n }\n var width = Math.max(Math.max(body.scrollWidth, documentElement.scrollWidth), Math.max(body.offsetWidth, documentElement.offsetWidth), Math.max(body.clientWidth, documentElement.clientWidth));\n var height = Math.max(Math.max(body.scrollHeight, documentElement.scrollHeight), Math.max(body.offsetHeight, documentElement.offsetHeight), Math.max(body.clientHeight, documentElement.clientHeight));\n return new Bounds(0, 0, width, height);\n};\n\n/*\n * css-line-break 2.1.0 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\nvar toCodePoints$1 = function (str) {\n var codePoints = [];\n var i = 0;\n var length = str.length;\n while (i < length) {\n var value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n var extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n }\n else {\n codePoints.push(value);\n i--;\n }\n }\n else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\nvar fromCodePoint$1 = function () {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n if (String.fromCodePoint) {\n return String.fromCodePoint.apply(String, codePoints);\n }\n var length = codePoints.length;\n if (!length) {\n return '';\n }\n var codeUnits = [];\n var index = -1;\n var result = '';\n while (++index < length) {\n var codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n }\n else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode.apply(String, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\nvar chars$2 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$2 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$2 = 0; i$2 < chars$2.length; i$2++) {\n lookup$2[chars$2.charCodeAt(i$2)] = i$2;\n}\n\n/*\n * utrie 1.0.2 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\nvar chars$1$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$1$1 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$1$1 = 0; i$1$1 < chars$1$1.length; i$1$1++) {\n lookup$1$1[chars$1$1.charCodeAt(i$1$1)] = i$1$1;\n}\nvar decode$1 = function (base64) {\n var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n var buffer = typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup$1$1[base64.charCodeAt(i)];\n encoded2 = lookup$1$1[base64.charCodeAt(i + 1)];\n encoded3 = lookup$1$1[base64.charCodeAt(i + 2)];\n encoded4 = lookup$1$1[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return buffer;\n};\nvar polyUint16Array$1 = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\nvar polyUint32Array$1 = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\n/** Shift size for getting the index-2 table offset. */\nvar UTRIE2_SHIFT_2$1 = 5;\n/** Shift size for getting the index-1 table offset. */\nvar UTRIE2_SHIFT_1$1 = 6 + 5;\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nvar UTRIE2_INDEX_SHIFT$1 = 2;\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nvar UTRIE2_SHIFT_1_2$1 = UTRIE2_SHIFT_1$1 - UTRIE2_SHIFT_2$1;\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nvar UTRIE2_LSCP_INDEX_2_OFFSET$1 = 0x10000 >> UTRIE2_SHIFT_2$1;\n/** Number of entries in a data block. 32=0x20 */\nvar UTRIE2_DATA_BLOCK_LENGTH$1 = 1 << UTRIE2_SHIFT_2$1;\n/** Mask for getting the lower bits for the in-data-block offset. */\nvar UTRIE2_DATA_MASK$1 = UTRIE2_DATA_BLOCK_LENGTH$1 - 1;\nvar UTRIE2_LSCP_INDEX_2_LENGTH$1 = 0x400 >> UTRIE2_SHIFT_2$1;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nvar UTRIE2_INDEX_2_BMP_LENGTH$1 = UTRIE2_LSCP_INDEX_2_OFFSET$1 + UTRIE2_LSCP_INDEX_2_LENGTH$1;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nvar UTRIE2_UTF8_2B_INDEX_2_OFFSET$1 = UTRIE2_INDEX_2_BMP_LENGTH$1;\nvar UTRIE2_UTF8_2B_INDEX_2_LENGTH$1 = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nvar UTRIE2_INDEX_1_OFFSET$1 = UTRIE2_UTF8_2B_INDEX_2_OFFSET$1 + UTRIE2_UTF8_2B_INDEX_2_LENGTH$1;\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nvar UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 = 0x10000 >> UTRIE2_SHIFT_1$1;\n/** Number of entries in an index-2 block. 64=0x40 */\nvar UTRIE2_INDEX_2_BLOCK_LENGTH$1 = 1 << UTRIE2_SHIFT_1_2$1;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nvar UTRIE2_INDEX_2_MASK$1 = UTRIE2_INDEX_2_BLOCK_LENGTH$1 - 1;\nvar slice16$1 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\nvar slice32$1 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\nvar createTrieFromBase64$1 = function (base64, _byteLength) {\n var buffer = decode$1(base64);\n var view32 = Array.isArray(buffer) ? polyUint32Array$1(buffer) : new Uint32Array(buffer);\n var view16 = Array.isArray(buffer) ? polyUint16Array$1(buffer) : new Uint16Array(buffer);\n var headerLength = 24;\n var index = slice16$1(view16, headerLength / 2, view32[4] / 2);\n var data = view32[5] === 2\n ? slice16$1(view16, (headerLength + view32[4]) / 2)\n : slice32$1(view32, Math.ceil((headerLength + view32[4]) / 4));\n return new Trie$1(view32[0], view32[1], view32[2], view32[3], index, data);\n};\nvar Trie$1 = /** @class */ (function () {\n function Trie(initialValue, errorValue, highStart, highValueIndex, index, data) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n Trie.prototype.get = function (codePoint) {\n var ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2$1];\n ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n return this.data[ix];\n }\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET$1 + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2$1)];\n ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n return this.data[ix];\n }\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET$1 - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 + (codePoint >> UTRIE2_SHIFT_1$1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2$1) & UTRIE2_INDEX_2_MASK$1;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n };\n return Trie;\n}());\n\n/*\n * base64-arraybuffer 1.0.2 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\nvar chars$3 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$3 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$3 = 0; i$3 < chars$3.length; i$3++) {\n lookup$3[chars$3.charCodeAt(i$3)] = i$3;\n}\n\nvar base64$1 = 'KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==';\n\nvar LETTER_NUMBER_MODIFIER = 50;\n// Non-tailorable Line Breaking Classes\nvar BK = 1; // Cause a line break (after)\nvar CR$1 = 2; // Cause a line break (after), except between CR and LF\nvar LF$1 = 3; // Cause a line break (after)\nvar CM = 4; // Prohibit a line break between the character and the preceding character\nvar NL = 5; // Cause a line break (after)\nvar WJ = 7; // Prohibit line breaks before and after\nvar ZW = 8; // Provide a break opportunity\nvar GL = 9; // Prohibit line breaks before and after\nvar SP = 10; // Enable indirect line breaks\nvar ZWJ$1 = 11; // Prohibit line breaks within joiner sequences\n// Break Opportunities\nvar B2 = 12; // Provide a line break opportunity before and after the character\nvar BA = 13; // Generally provide a line break opportunity after the character\nvar BB = 14; // Generally provide a line break opportunity before the character\nvar HY = 15; // Provide a line break opportunity after the character, except in numeric context\nvar CB = 16; // Provide a line break opportunity contingent on additional information\n// Characters Prohibiting Certain Breaks\nvar CL = 17; // Prohibit line breaks before\nvar CP = 18; // Prohibit line breaks before\nvar EX = 19; // Prohibit line breaks before\nvar IN = 20; // Allow only indirect line breaks between pairs\nvar NS = 21; // Allow only indirect line breaks before\nvar OP = 22; // Prohibit line breaks after\nvar QU = 23; // Act like they are both opening and closing\n// Numeric Context\nvar IS = 24; // Prevent breaks after any and before numeric\nvar NU = 25; // Form numeric expressions for line breaking purposes\nvar PO = 26; // Do not break following a numeric expression\nvar PR = 27; // Do not break in front of a numeric expression\nvar SY = 28; // Prevent a break before; and allow a break after\n// Other Characters\nvar AI = 29; // Act like AL when the resolvedEAW is N; otherwise; act as ID\nvar AL = 30; // Are alphabetic characters or symbols that are used with alphabetic characters\nvar CJ = 31; // Treat as NS or ID for strict or normal breaking.\nvar EB = 32; // Do not break from following Emoji Modifier\nvar EM = 33; // Do not break from preceding Emoji Base\nvar H2 = 34; // Form Korean syllable blocks\nvar H3 = 35; // Form Korean syllable blocks\nvar HL = 36; // Do not break around a following hyphen; otherwise act as Alphabetic\nvar ID = 37; // Break before or after; except in some numeric context\nvar JL = 38; // Form Korean syllable blocks\nvar JV = 39; // Form Korean syllable blocks\nvar JT = 40; // Form Korean syllable blocks\nvar RI$1 = 41; // Keep pairs together. For pairs; break before and after other classes\nvar SA = 42; // Provide a line break opportunity contingent on additional, language-specific context analysis\nvar XX = 43; // Have as yet unknown line breaking behavior or unassigned code positions\nvar ea_OP = [0x2329, 0xff08];\nvar BREAK_MANDATORY = '!';\nvar BREAK_NOT_ALLOWED$1 = '×';\nvar BREAK_ALLOWED$1 = '÷';\nvar UnicodeTrie$1 = createTrieFromBase64$1(base64$1);\nvar ALPHABETICS = [AL, HL];\nvar HARD_LINE_BREAKS = [BK, CR$1, LF$1, NL];\nvar SPACE$1 = [SP, ZW];\nvar PREFIX_POSTFIX = [PR, PO];\nvar LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE$1);\nvar KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3];\nvar HYPHEN = [HY, BA];\nvar codePointsToCharacterClasses = function (codePoints, lineBreak) {\n if (lineBreak === void 0) { lineBreak = 'strict'; }\n var types = [];\n var indices = [];\n var categories = [];\n codePoints.forEach(function (codePoint, index) {\n var classType = UnicodeTrie$1.get(codePoint);\n if (classType > LETTER_NUMBER_MODIFIER) {\n categories.push(true);\n classType -= LETTER_NUMBER_MODIFIER;\n }\n else {\n categories.push(false);\n }\n if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) {\n // U+2010, – U+2013, 〜 U+301C, ゠ U+30A0\n if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) {\n indices.push(index);\n return types.push(CB);\n }\n }\n if (classType === CM || classType === ZWJ$1) {\n // LB10 Treat any remaining combining mark or ZWJ as AL.\n if (index === 0) {\n indices.push(index);\n return types.push(AL);\n }\n // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of\n // the base character in all of the following rules. Treat ZWJ as if it were CM.\n var prev = types[index - 1];\n if (LINE_BREAKS.indexOf(prev) === -1) {\n indices.push(indices[index - 1]);\n return types.push(prev);\n }\n indices.push(index);\n return types.push(AL);\n }\n indices.push(index);\n if (classType === CJ) {\n return types.push(lineBreak === 'strict' ? NS : ID);\n }\n if (classType === SA) {\n return types.push(AL);\n }\n if (classType === AI) {\n return types.push(AL);\n }\n // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL\n // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised\n // to take into account the actual line breaking properties for these characters.\n if (classType === XX) {\n if ((codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd)) {\n return types.push(ID);\n }\n else {\n return types.push(AL);\n }\n }\n types.push(classType);\n });\n return [indices, types, categories];\n};\nvar isAdjacentWithSpaceIgnored = function (a, b, currentIndex, classTypes) {\n var current = classTypes[currentIndex];\n if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) {\n var i = currentIndex;\n while (i <= classTypes.length) {\n i++;\n var next = classTypes[i];\n if (next === b) {\n return true;\n }\n if (next !== SP) {\n break;\n }\n }\n }\n if (current === SP) {\n var i = currentIndex;\n while (i > 0) {\n i--;\n var prev = classTypes[i];\n if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) {\n var n = currentIndex;\n while (n <= classTypes.length) {\n n++;\n var next = classTypes[n];\n if (next === b) {\n return true;\n }\n if (next !== SP) {\n break;\n }\n }\n }\n if (prev !== SP) {\n break;\n }\n }\n }\n return false;\n};\nvar previousNonSpaceClassType = function (currentIndex, classTypes) {\n var i = currentIndex;\n while (i >= 0) {\n var type = classTypes[i];\n if (type === SP) {\n i--;\n }\n else {\n return type;\n }\n }\n return 0;\n};\nvar _lineBreakAtIndex = function (codePoints, classTypes, indicies, index, forbiddenBreaks) {\n if (indicies[index] === 0) {\n return BREAK_NOT_ALLOWED$1;\n }\n var currentIndex = index - 1;\n if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) {\n return BREAK_NOT_ALLOWED$1;\n }\n var beforeIndex = currentIndex - 1;\n var afterIndex = currentIndex + 1;\n var current = classTypes[currentIndex];\n // LB4 Always break after hard line breaks.\n // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks.\n var before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0;\n var next = classTypes[afterIndex];\n if (current === CR$1 && next === LF$1) {\n return BREAK_NOT_ALLOWED$1;\n }\n if (HARD_LINE_BREAKS.indexOf(current) !== -1) {\n return BREAK_MANDATORY;\n }\n // LB6 Do not break before hard line breaks.\n if (HARD_LINE_BREAKS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB7 Do not break before spaces or zero width space.\n if (SPACE$1.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB8 Break before any character following a zero-width space, even if one or more spaces intervene.\n if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) {\n return BREAK_ALLOWED$1;\n }\n // LB8a Do not break after a zero width joiner.\n if (UnicodeTrie$1.get(codePoints[currentIndex]) === ZWJ$1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // zwj emojis\n if ((current === EB || current === EM) && UnicodeTrie$1.get(codePoints[afterIndex]) === ZWJ$1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB11 Do not break before or after Word joiner and related characters.\n if (current === WJ || next === WJ) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB12 Do not break after NBSP and related characters.\n if (current === GL) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB12a Do not break before NBSP and related characters, except after spaces and hyphens.\n if ([SP, BA, HY].indexOf(current) === -1 && next === GL) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB13 Do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces.\n if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB14 Do not break after ‘[’, even after spaces.\n if (previousNonSpaceClassType(currentIndex, classTypes) === OP) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB15 Do not break within ‘”[’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces.\n if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB17 Do not break within ‘——’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB18 Break after spaces.\n if (current === SP) {\n return BREAK_ALLOWED$1;\n }\n // LB19 Do not break before or after quotation marks, such as ‘ ” ’.\n if (current === QU || next === QU) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB20 Break before and after unresolved CB.\n if (next === CB || current === CB) {\n return BREAK_ALLOWED$1;\n }\n // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents.\n if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB21a Don't break after Hebrew + Hyphen.\n if (before === HL && HYPHEN.indexOf(current) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB21b Don’t break between Solidus and Hebrew letters.\n if (current === SY && next === HL) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB22 Do not break before ellipsis.\n if (next === IN) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB23 Do not break between digits and letters.\n if ((ALPHABETICS.indexOf(next) !== -1 && current === NU) || (ALPHABETICS.indexOf(current) !== -1 && next === NU)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes.\n if ((current === PR && [ID, EB, EM].indexOf(next) !== -1) ||\n ([ID, EB, EM].indexOf(current) !== -1 && next === PO)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix.\n if ((ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1) ||\n (PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB25 Do not break between the following pairs of classes relevant to numbers:\n if (\n // (PR | PO) × ( OP | HY )? NU\n ([PR, PO].indexOf(current) !== -1 &&\n (next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||\n // ( OP | HY ) × NU\n ([OP, HY].indexOf(current) !== -1 && next === NU) ||\n // NU ×\t(NU | SY | IS)\n (current === NU && [NU, SY, IS].indexOf(next) !== -1)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // NU (NU | SY | IS)* × (NU | SY | IS | CL | CP)\n if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) {\n var prevIndex = currentIndex;\n while (prevIndex >= 0) {\n var type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED$1;\n }\n else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n }\n else {\n break;\n }\n }\n }\n // NU (NU | SY | IS)* (CL | CP)? × (PO | PR))\n if ([PR, PO].indexOf(next) !== -1) {\n var prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex;\n while (prevIndex >= 0) {\n var type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED$1;\n }\n else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n }\n else {\n break;\n }\n }\n }\n // LB26 Do not break a Korean syllable.\n if ((JL === current && [JL, JV, H2, H3].indexOf(next) !== -1) ||\n ([JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1) ||\n ([JT, H3].indexOf(current) !== -1 && next === JT)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB27 Treat a Korean Syllable Block the same as ID.\n if ((KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1) ||\n (KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB28 Do not break between alphabetics (“at”).\n if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB29 Do not break between numeric punctuation and alphabetics (“e.g.”).\n if (current === IS && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses.\n if ((ALPHABETICS.concat(NU).indexOf(current) !== -1 &&\n next === OP &&\n ea_OP.indexOf(codePoints[afterIndex]) === -1) ||\n (ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB30a Break between two regional indicator symbols if and only if there are an even number of regional\n // indicators preceding the position of the break.\n if (current === RI$1 && next === RI$1) {\n var i = indicies[currentIndex];\n var count = 1;\n while (i > 0) {\n i--;\n if (classTypes[i] === RI$1) {\n count++;\n }\n else {\n break;\n }\n }\n if (count % 2 !== 0) {\n return BREAK_NOT_ALLOWED$1;\n }\n }\n // LB30b Do not break between an emoji base and an emoji modifier.\n if (current === EB && next === EM) {\n return BREAK_NOT_ALLOWED$1;\n }\n return BREAK_ALLOWED$1;\n};\nvar cssFormattedClasses = function (codePoints, options) {\n if (!options) {\n options = { lineBreak: 'normal', wordBreak: 'normal' };\n }\n var _a = codePointsToCharacterClasses(codePoints, options.lineBreak), indicies = _a[0], classTypes = _a[1], isLetterNumber = _a[2];\n if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') {\n classTypes = classTypes.map(function (type) { return ([NU, AL, SA].indexOf(type) !== -1 ? ID : type); });\n }\n var forbiddenBreakpoints = options.wordBreak === 'keep-all'\n ? isLetterNumber.map(function (letterNumber, i) {\n return letterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff;\n })\n : undefined;\n return [indicies, classTypes, forbiddenBreakpoints];\n};\nvar Break = /** @class */ (function () {\n function Break(codePoints, lineBreak, start, end) {\n this.codePoints = codePoints;\n this.required = lineBreak === BREAK_MANDATORY;\n this.start = start;\n this.end = end;\n }\n Break.prototype.slice = function () {\n return fromCodePoint$1.apply(void 0, this.codePoints.slice(this.start, this.end));\n };\n return Break;\n}());\nvar LineBreaker = function (str, options) {\n var codePoints = toCodePoints$1(str);\n var _a = cssFormattedClasses(codePoints, options), indicies = _a[0], classTypes = _a[1], forbiddenBreakpoints = _a[2];\n var length = codePoints.length;\n var lastEnd = 0;\n var nextIndex = 0;\n return {\n next: function () {\n if (nextIndex >= length) {\n return { done: true, value: null };\n }\n var lineBreak = BREAK_NOT_ALLOWED$1;\n while (nextIndex < length &&\n (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) ===\n BREAK_NOT_ALLOWED$1) { }\n if (lineBreak !== BREAK_NOT_ALLOWED$1 || nextIndex === length) {\n var value = new Break(codePoints, lineBreak, lastEnd, nextIndex);\n lastEnd = nextIndex;\n return { value: value, done: false };\n }\n return { done: true, value: null };\n },\n };\n};\n\n// https://www.w3.org/TR/css-syntax-3\nvar FLAG_UNRESTRICTED = 1 << 0;\nvar FLAG_ID = 1 << 1;\nvar FLAG_INTEGER = 1 << 2;\nvar FLAG_NUMBER = 1 << 3;\nvar LINE_FEED = 0x000a;\nvar SOLIDUS = 0x002f;\nvar REVERSE_SOLIDUS = 0x005c;\nvar CHARACTER_TABULATION = 0x0009;\nvar SPACE = 0x0020;\nvar QUOTATION_MARK = 0x0022;\nvar EQUALS_SIGN = 0x003d;\nvar NUMBER_SIGN = 0x0023;\nvar DOLLAR_SIGN = 0x0024;\nvar PERCENTAGE_SIGN = 0x0025;\nvar APOSTROPHE = 0x0027;\nvar LEFT_PARENTHESIS = 0x0028;\nvar RIGHT_PARENTHESIS = 0x0029;\nvar LOW_LINE = 0x005f;\nvar HYPHEN_MINUS = 0x002d;\nvar EXCLAMATION_MARK = 0x0021;\nvar LESS_THAN_SIGN = 0x003c;\nvar GREATER_THAN_SIGN = 0x003e;\nvar COMMERCIAL_AT = 0x0040;\nvar LEFT_SQUARE_BRACKET = 0x005b;\nvar RIGHT_SQUARE_BRACKET = 0x005d;\nvar CIRCUMFLEX_ACCENT = 0x003d;\nvar LEFT_CURLY_BRACKET = 0x007b;\nvar QUESTION_MARK = 0x003f;\nvar RIGHT_CURLY_BRACKET = 0x007d;\nvar VERTICAL_LINE = 0x007c;\nvar TILDE = 0x007e;\nvar CONTROL = 0x0080;\nvar REPLACEMENT_CHARACTER = 0xfffd;\nvar ASTERISK = 0x002a;\nvar PLUS_SIGN = 0x002b;\nvar COMMA = 0x002c;\nvar COLON = 0x003a;\nvar SEMICOLON = 0x003b;\nvar FULL_STOP = 0x002e;\nvar NULL = 0x0000;\nvar BACKSPACE = 0x0008;\nvar LINE_TABULATION = 0x000b;\nvar SHIFT_OUT = 0x000e;\nvar INFORMATION_SEPARATOR_ONE = 0x001f;\nvar DELETE = 0x007f;\nvar EOF = -1;\nvar ZERO = 0x0030;\nvar a = 0x0061;\nvar e = 0x0065;\nvar f = 0x0066;\nvar u = 0x0075;\nvar z = 0x007a;\nvar A = 0x0041;\nvar E = 0x0045;\nvar F = 0x0046;\nvar U = 0x0055;\nvar Z = 0x005a;\nvar isDigit = function (codePoint) { return codePoint >= ZERO && codePoint <= 0x0039; };\nvar isSurrogateCodePoint = function (codePoint) { return codePoint >= 0xd800 && codePoint <= 0xdfff; };\nvar isHex = function (codePoint) {\n return isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f);\n};\nvar isLowerCaseLetter = function (codePoint) { return codePoint >= a && codePoint <= z; };\nvar isUpperCaseLetter = function (codePoint) { return codePoint >= A && codePoint <= Z; };\nvar isLetter = function (codePoint) { return isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint); };\nvar isNonASCIICodePoint = function (codePoint) { return codePoint >= CONTROL; };\nvar isWhiteSpace = function (codePoint) {\n return codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE;\n};\nvar isNameStartCodePoint = function (codePoint) {\n return isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;\n};\nvar isNameCodePoint = function (codePoint) {\n return isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;\n};\nvar isNonPrintableCodePoint = function (codePoint) {\n return ((codePoint >= NULL && codePoint <= BACKSPACE) ||\n codePoint === LINE_TABULATION ||\n (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) ||\n codePoint === DELETE);\n};\nvar isValidEscape = function (c1, c2) {\n if (c1 !== REVERSE_SOLIDUS) {\n return false;\n }\n return c2 !== LINE_FEED;\n};\nvar isIdentifierStart = function (c1, c2, c3) {\n if (c1 === HYPHEN_MINUS) {\n return isNameStartCodePoint(c2) || isValidEscape(c2, c3);\n }\n else if (isNameStartCodePoint(c1)) {\n return true;\n }\n else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) {\n return true;\n }\n return false;\n};\nvar isNumberStart = function (c1, c2, c3) {\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n if (isDigit(c2)) {\n return true;\n }\n return c2 === FULL_STOP && isDigit(c3);\n }\n if (c1 === FULL_STOP) {\n return isDigit(c2);\n }\n return isDigit(c1);\n};\nvar stringToNumber = function (codePoints) {\n var c = 0;\n var sign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n sign = -1;\n }\n c++;\n }\n var integers = [];\n while (isDigit(codePoints[c])) {\n integers.push(codePoints[c++]);\n }\n var int = integers.length ? parseInt(fromCodePoint$1.apply(void 0, integers), 10) : 0;\n if (codePoints[c] === FULL_STOP) {\n c++;\n }\n var fraction = [];\n while (isDigit(codePoints[c])) {\n fraction.push(codePoints[c++]);\n }\n var fracd = fraction.length;\n var frac = fracd ? parseInt(fromCodePoint$1.apply(void 0, fraction), 10) : 0;\n if (codePoints[c] === E || codePoints[c] === e) {\n c++;\n }\n var expsign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n expsign = -1;\n }\n c++;\n }\n var exponent = [];\n while (isDigit(codePoints[c])) {\n exponent.push(codePoints[c++]);\n }\n var exp = exponent.length ? parseInt(fromCodePoint$1.apply(void 0, exponent), 10) : 0;\n return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp);\n};\nvar LEFT_PARENTHESIS_TOKEN = {\n type: 2 /* LEFT_PARENTHESIS_TOKEN */\n};\nvar RIGHT_PARENTHESIS_TOKEN = {\n type: 3 /* RIGHT_PARENTHESIS_TOKEN */\n};\nvar COMMA_TOKEN = { type: 4 /* COMMA_TOKEN */ };\nvar SUFFIX_MATCH_TOKEN = { type: 13 /* SUFFIX_MATCH_TOKEN */ };\nvar PREFIX_MATCH_TOKEN = { type: 8 /* PREFIX_MATCH_TOKEN */ };\nvar COLUMN_TOKEN = { type: 21 /* COLUMN_TOKEN */ };\nvar DASH_MATCH_TOKEN = { type: 9 /* DASH_MATCH_TOKEN */ };\nvar INCLUDE_MATCH_TOKEN = { type: 10 /* INCLUDE_MATCH_TOKEN */ };\nvar LEFT_CURLY_BRACKET_TOKEN = {\n type: 11 /* LEFT_CURLY_BRACKET_TOKEN */\n};\nvar RIGHT_CURLY_BRACKET_TOKEN = {\n type: 12 /* RIGHT_CURLY_BRACKET_TOKEN */\n};\nvar SUBSTRING_MATCH_TOKEN = { type: 14 /* SUBSTRING_MATCH_TOKEN */ };\nvar BAD_URL_TOKEN = { type: 23 /* BAD_URL_TOKEN */ };\nvar BAD_STRING_TOKEN = { type: 1 /* BAD_STRING_TOKEN */ };\nvar CDO_TOKEN = { type: 25 /* CDO_TOKEN */ };\nvar CDC_TOKEN = { type: 24 /* CDC_TOKEN */ };\nvar COLON_TOKEN = { type: 26 /* COLON_TOKEN */ };\nvar SEMICOLON_TOKEN = { type: 27 /* SEMICOLON_TOKEN */ };\nvar LEFT_SQUARE_BRACKET_TOKEN = {\n type: 28 /* LEFT_SQUARE_BRACKET_TOKEN */\n};\nvar RIGHT_SQUARE_BRACKET_TOKEN = {\n type: 29 /* RIGHT_SQUARE_BRACKET_TOKEN */\n};\nvar WHITESPACE_TOKEN = { type: 31 /* WHITESPACE_TOKEN */ };\nvar EOF_TOKEN = { type: 32 /* EOF_TOKEN */ };\nvar Tokenizer = /** @class */ (function () {\n function Tokenizer() {\n this._value = [];\n }\n Tokenizer.prototype.write = function (chunk) {\n this._value = this._value.concat(toCodePoints$1(chunk));\n };\n Tokenizer.prototype.read = function () {\n var tokens = [];\n var token = this.consumeToken();\n while (token !== EOF_TOKEN) {\n tokens.push(token);\n token = this.consumeToken();\n }\n return tokens;\n };\n Tokenizer.prototype.consumeToken = function () {\n var codePoint = this.consumeCodePoint();\n switch (codePoint) {\n case QUOTATION_MARK:\n return this.consumeStringToken(QUOTATION_MARK);\n case NUMBER_SIGN:\n var c1 = this.peekCodePoint(0);\n var c2 = this.peekCodePoint(1);\n var c3 = this.peekCodePoint(2);\n if (isNameCodePoint(c1) || isValidEscape(c2, c3)) {\n var flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED;\n var value = this.consumeName();\n return { type: 5 /* HASH_TOKEN */, value: value, flags: flags };\n }\n break;\n case DOLLAR_SIGN:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUFFIX_MATCH_TOKEN;\n }\n break;\n case APOSTROPHE:\n return this.consumeStringToken(APOSTROPHE);\n case LEFT_PARENTHESIS:\n return LEFT_PARENTHESIS_TOKEN;\n case RIGHT_PARENTHESIS:\n return RIGHT_PARENTHESIS_TOKEN;\n case ASTERISK:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUBSTRING_MATCH_TOKEN;\n }\n break;\n case PLUS_SIGN:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case COMMA:\n return COMMA_TOKEN;\n case HYPHEN_MINUS:\n var e1 = codePoint;\n var e2 = this.peekCodePoint(0);\n var e3 = this.peekCodePoint(1);\n if (isNumberStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n if (isIdentifierStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDC_TOKEN;\n }\n break;\n case FULL_STOP:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case SOLIDUS:\n if (this.peekCodePoint(0) === ASTERISK) {\n this.consumeCodePoint();\n while (true) {\n var c = this.consumeCodePoint();\n if (c === ASTERISK) {\n c = this.consumeCodePoint();\n if (c === SOLIDUS) {\n return this.consumeToken();\n }\n }\n if (c === EOF) {\n return this.consumeToken();\n }\n }\n }\n break;\n case COLON:\n return COLON_TOKEN;\n case SEMICOLON:\n return SEMICOLON_TOKEN;\n case LESS_THAN_SIGN:\n if (this.peekCodePoint(0) === EXCLAMATION_MARK &&\n this.peekCodePoint(1) === HYPHEN_MINUS &&\n this.peekCodePoint(2) === HYPHEN_MINUS) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDO_TOKEN;\n }\n break;\n case COMMERCIAL_AT:\n var a1 = this.peekCodePoint(0);\n var a2 = this.peekCodePoint(1);\n var a3 = this.peekCodePoint(2);\n if (isIdentifierStart(a1, a2, a3)) {\n var value = this.consumeName();\n return { type: 7 /* AT_KEYWORD_TOKEN */, value: value };\n }\n break;\n case LEFT_SQUARE_BRACKET:\n return LEFT_SQUARE_BRACKET_TOKEN;\n case REVERSE_SOLIDUS:\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n break;\n case RIGHT_SQUARE_BRACKET:\n return RIGHT_SQUARE_BRACKET_TOKEN;\n case CIRCUMFLEX_ACCENT:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return PREFIX_MATCH_TOKEN;\n }\n break;\n case LEFT_CURLY_BRACKET:\n return LEFT_CURLY_BRACKET_TOKEN;\n case RIGHT_CURLY_BRACKET:\n return RIGHT_CURLY_BRACKET_TOKEN;\n case u:\n case U:\n var u1 = this.peekCodePoint(0);\n var u2 = this.peekCodePoint(1);\n if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) {\n this.consumeCodePoint();\n this.consumeUnicodeRangeToken();\n }\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n case VERTICAL_LINE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return DASH_MATCH_TOKEN;\n }\n if (this.peekCodePoint(0) === VERTICAL_LINE) {\n this.consumeCodePoint();\n return COLUMN_TOKEN;\n }\n break;\n case TILDE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return INCLUDE_MATCH_TOKEN;\n }\n break;\n case EOF:\n return EOF_TOKEN;\n }\n if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n return WHITESPACE_TOKEN;\n }\n if (isDigit(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n if (isNameStartCodePoint(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n return { type: 6 /* DELIM_TOKEN */, value: fromCodePoint$1(codePoint) };\n };\n Tokenizer.prototype.consumeCodePoint = function () {\n var value = this._value.shift();\n return typeof value === 'undefined' ? -1 : value;\n };\n Tokenizer.prototype.reconsumeCodePoint = function (codePoint) {\n this._value.unshift(codePoint);\n };\n Tokenizer.prototype.peekCodePoint = function (delta) {\n if (delta >= this._value.length) {\n return -1;\n }\n return this._value[delta];\n };\n Tokenizer.prototype.consumeUnicodeRangeToken = function () {\n var digits = [];\n var codePoint = this.consumeCodePoint();\n while (isHex(codePoint) && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n var questionMarks = false;\n while (codePoint === QUESTION_MARK && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n questionMarks = true;\n }\n if (questionMarks) {\n var start_1 = parseInt(fromCodePoint$1.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? ZERO : digit); })), 16);\n var end = parseInt(fromCodePoint$1.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? F : digit); })), 16);\n return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start_1, end: end };\n }\n var start = parseInt(fromCodePoint$1.apply(void 0, digits), 16);\n if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {\n this.consumeCodePoint();\n codePoint = this.consumeCodePoint();\n var endDigits = [];\n while (isHex(codePoint) && endDigits.length < 6) {\n endDigits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n var end = parseInt(fromCodePoint$1.apply(void 0, endDigits), 16);\n return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start, end: end };\n }\n else {\n return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start, end: start };\n }\n };\n Tokenizer.prototype.consumeIdentLikeToken = function () {\n var value = this.consumeName();\n if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return this.consumeUrlToken();\n }\n else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return { type: 19 /* FUNCTION_TOKEN */, value: value };\n }\n return { type: 20 /* IDENT_TOKEN */, value: value };\n };\n Tokenizer.prototype.consumeUrlToken = function () {\n var value = [];\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF) {\n return { type: 22 /* URL_TOKEN */, value: '' };\n }\n var next = this.peekCodePoint(0);\n if (next === APOSTROPHE || next === QUOTATION_MARK) {\n var stringToken = this.consumeStringToken(this.consumeCodePoint());\n if (stringToken.type === 0 /* STRING_TOKEN */) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return { type: 22 /* URL_TOKEN */, value: stringToken.value };\n }\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n while (true) {\n var codePoint = this.consumeCodePoint();\n if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) {\n return { type: 22 /* URL_TOKEN */, value: fromCodePoint$1.apply(void 0, value) };\n }\n else if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return { type: 22 /* URL_TOKEN */, value: fromCodePoint$1.apply(void 0, value) };\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n else if (codePoint === QUOTATION_MARK ||\n codePoint === APOSTROPHE ||\n codePoint === LEFT_PARENTHESIS ||\n isNonPrintableCodePoint(codePoint)) {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n else if (codePoint === REVERSE_SOLIDUS) {\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n value.push(this.consumeEscapedCodePoint());\n }\n else {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n }\n else {\n value.push(codePoint);\n }\n }\n };\n Tokenizer.prototype.consumeWhiteSpace = function () {\n while (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n };\n Tokenizer.prototype.consumeBadUrlRemnants = function () {\n while (true) {\n var codePoint = this.consumeCodePoint();\n if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) {\n return;\n }\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.consumeEscapedCodePoint();\n }\n }\n };\n Tokenizer.prototype.consumeStringSlice = function (count) {\n var SLICE_STACK_SIZE = 50000;\n var value = '';\n while (count > 0) {\n var amount = Math.min(SLICE_STACK_SIZE, count);\n value += fromCodePoint$1.apply(void 0, this._value.splice(0, amount));\n count -= amount;\n }\n this._value.shift();\n return value;\n };\n Tokenizer.prototype.consumeStringToken = function (endingCodePoint) {\n var value = '';\n var i = 0;\n do {\n var codePoint = this._value[i];\n if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) {\n value += this.consumeStringSlice(i);\n return { type: 0 /* STRING_TOKEN */, value: value };\n }\n if (codePoint === LINE_FEED) {\n this._value.splice(0, i);\n return BAD_STRING_TOKEN;\n }\n if (codePoint === REVERSE_SOLIDUS) {\n var next = this._value[i + 1];\n if (next !== EOF && next !== undefined) {\n if (next === LINE_FEED) {\n value += this.consumeStringSlice(i);\n i = -1;\n this._value.shift();\n }\n else if (isValidEscape(codePoint, next)) {\n value += this.consumeStringSlice(i);\n value += fromCodePoint$1(this.consumeEscapedCodePoint());\n i = -1;\n }\n }\n }\n i++;\n } while (true);\n };\n Tokenizer.prototype.consumeNumber = function () {\n var repr = [];\n var type = FLAG_INTEGER;\n var c1 = this.peekCodePoint(0);\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n repr.push(this.consumeCodePoint());\n }\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n c1 = this.peekCodePoint(0);\n var c2 = this.peekCodePoint(1);\n if (c1 === FULL_STOP && isDigit(c2)) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n c1 = this.peekCodePoint(0);\n c2 = this.peekCodePoint(1);\n var c3 = this.peekCodePoint(2);\n if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n return [stringToNumber(repr), type];\n };\n Tokenizer.prototype.consumeNumericToken = function () {\n var _a = this.consumeNumber(), number = _a[0], flags = _a[1];\n var c1 = this.peekCodePoint(0);\n var c2 = this.peekCodePoint(1);\n var c3 = this.peekCodePoint(2);\n if (isIdentifierStart(c1, c2, c3)) {\n var unit = this.consumeName();\n return { type: 15 /* DIMENSION_TOKEN */, number: number, flags: flags, unit: unit };\n }\n if (c1 === PERCENTAGE_SIGN) {\n this.consumeCodePoint();\n return { type: 16 /* PERCENTAGE_TOKEN */, number: number, flags: flags };\n }\n return { type: 17 /* NUMBER_TOKEN */, number: number, flags: flags };\n };\n Tokenizer.prototype.consumeEscapedCodePoint = function () {\n var codePoint = this.consumeCodePoint();\n if (isHex(codePoint)) {\n var hex = fromCodePoint$1(codePoint);\n while (isHex(this.peekCodePoint(0)) && hex.length < 6) {\n hex += fromCodePoint$1(this.consumeCodePoint());\n }\n if (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n var hexCodePoint = parseInt(hex, 16);\n if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) {\n return REPLACEMENT_CHARACTER;\n }\n return hexCodePoint;\n }\n if (codePoint === EOF) {\n return REPLACEMENT_CHARACTER;\n }\n return codePoint;\n };\n Tokenizer.prototype.consumeName = function () {\n var result = '';\n while (true) {\n var codePoint = this.consumeCodePoint();\n if (isNameCodePoint(codePoint)) {\n result += fromCodePoint$1(codePoint);\n }\n else if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n result += fromCodePoint$1(this.consumeEscapedCodePoint());\n }\n else {\n this.reconsumeCodePoint(codePoint);\n return result;\n }\n }\n };\n return Tokenizer;\n}());\n\nvar Parser = /** @class */ (function () {\n function Parser(tokens) {\n this._tokens = tokens;\n }\n Parser.create = function (value) {\n var tokenizer = new Tokenizer();\n tokenizer.write(value);\n return new Parser(tokenizer.read());\n };\n Parser.parseValue = function (value) {\n return Parser.create(value).parseComponentValue();\n };\n Parser.parseValues = function (value) {\n return Parser.create(value).parseComponentValues();\n };\n Parser.prototype.parseComponentValue = function () {\n var token = this.consumeToken();\n while (token.type === 31 /* WHITESPACE_TOKEN */) {\n token = this.consumeToken();\n }\n if (token.type === 32 /* EOF_TOKEN */) {\n throw new SyntaxError(\"Error parsing CSS component value, unexpected EOF\");\n }\n this.reconsumeToken(token);\n var value = this.consumeComponentValue();\n do {\n token = this.consumeToken();\n } while (token.type === 31 /* WHITESPACE_TOKEN */);\n if (token.type === 32 /* EOF_TOKEN */) {\n return value;\n }\n throw new SyntaxError(\"Error parsing CSS component value, multiple values found when expecting only one\");\n };\n Parser.prototype.parseComponentValues = function () {\n var values = [];\n while (true) {\n var value = this.consumeComponentValue();\n if (value.type === 32 /* EOF_TOKEN */) {\n return values;\n }\n values.push(value);\n values.push();\n }\n };\n Parser.prototype.consumeComponentValue = function () {\n var token = this.consumeToken();\n switch (token.type) {\n case 11 /* LEFT_CURLY_BRACKET_TOKEN */:\n case 28 /* LEFT_SQUARE_BRACKET_TOKEN */:\n case 2 /* LEFT_PARENTHESIS_TOKEN */:\n return this.consumeSimpleBlock(token.type);\n case 19 /* FUNCTION_TOKEN */:\n return this.consumeFunction(token);\n }\n return token;\n };\n Parser.prototype.consumeSimpleBlock = function (type) {\n var block = { type: type, values: [] };\n var token = this.consumeToken();\n while (true) {\n if (token.type === 32 /* EOF_TOKEN */ || isEndingTokenFor(token, type)) {\n return block;\n }\n this.reconsumeToken(token);\n block.values.push(this.consumeComponentValue());\n token = this.consumeToken();\n }\n };\n Parser.prototype.consumeFunction = function (functionToken) {\n var cssFunction = {\n name: functionToken.value,\n values: [],\n type: 18 /* FUNCTION */\n };\n while (true) {\n var token = this.consumeToken();\n if (token.type === 32 /* EOF_TOKEN */ || token.type === 3 /* RIGHT_PARENTHESIS_TOKEN */) {\n return cssFunction;\n }\n this.reconsumeToken(token);\n cssFunction.values.push(this.consumeComponentValue());\n }\n };\n Parser.prototype.consumeToken = function () {\n var token = this._tokens.shift();\n return typeof token === 'undefined' ? EOF_TOKEN : token;\n };\n Parser.prototype.reconsumeToken = function (token) {\n this._tokens.unshift(token);\n };\n return Parser;\n}());\nvar isDimensionToken = function (token) { return token.type === 15 /* DIMENSION_TOKEN */; };\nvar isNumberToken = function (token) { return token.type === 17 /* NUMBER_TOKEN */; };\nvar isIdentToken = function (token) { return token.type === 20 /* IDENT_TOKEN */; };\nvar isStringToken = function (token) { return token.type === 0 /* STRING_TOKEN */; };\nvar isIdentWithValue = function (token, value) {\n return isIdentToken(token) && token.value === value;\n};\nvar nonWhiteSpace = function (token) { return token.type !== 31 /* WHITESPACE_TOKEN */; };\nvar nonFunctionArgSeparator = function (token) {\n return token.type !== 31 /* WHITESPACE_TOKEN */ && token.type !== 4 /* COMMA_TOKEN */;\n};\nvar parseFunctionArgs = function (tokens) {\n var args = [];\n var arg = [];\n tokens.forEach(function (token) {\n if (token.type === 4 /* COMMA_TOKEN */) {\n if (arg.length === 0) {\n throw new Error(\"Error parsing function args, zero tokens for arg\");\n }\n args.push(arg);\n arg = [];\n return;\n }\n if (token.type !== 31 /* WHITESPACE_TOKEN */) {\n arg.push(token);\n }\n });\n if (arg.length) {\n args.push(arg);\n }\n return args;\n};\nvar isEndingTokenFor = function (token, type) {\n if (type === 11 /* LEFT_CURLY_BRACKET_TOKEN */ && token.type === 12 /* RIGHT_CURLY_BRACKET_TOKEN */) {\n return true;\n }\n if (type === 28 /* LEFT_SQUARE_BRACKET_TOKEN */ && token.type === 29 /* RIGHT_SQUARE_BRACKET_TOKEN */) {\n return true;\n }\n return type === 2 /* LEFT_PARENTHESIS_TOKEN */ && token.type === 3 /* RIGHT_PARENTHESIS_TOKEN */;\n};\n\nvar isLength = function (token) {\n return token.type === 17 /* NUMBER_TOKEN */ || token.type === 15 /* DIMENSION_TOKEN */;\n};\n\nvar isLengthPercentage = function (token) {\n return token.type === 16 /* PERCENTAGE_TOKEN */ || isLength(token);\n};\nvar parseLengthPercentageTuple = function (tokens) {\n return tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]];\n};\nvar ZERO_LENGTH = {\n type: 17 /* NUMBER_TOKEN */,\n number: 0,\n flags: FLAG_INTEGER\n};\nvar FIFTY_PERCENT = {\n type: 16 /* PERCENTAGE_TOKEN */,\n number: 50,\n flags: FLAG_INTEGER\n};\nvar HUNDRED_PERCENT = {\n type: 16 /* PERCENTAGE_TOKEN */,\n number: 100,\n flags: FLAG_INTEGER\n};\nvar getAbsoluteValueForTuple = function (tuple, width, height) {\n var x = tuple[0], y = tuple[1];\n return [getAbsoluteValue(x, width), getAbsoluteValue(typeof y !== 'undefined' ? y : x, height)];\n};\nvar getAbsoluteValue = function (token, parent) {\n if (token.type === 16 /* PERCENTAGE_TOKEN */) {\n return (token.number / 100) * parent;\n }\n if (isDimensionToken(token)) {\n switch (token.unit) {\n case 'rem':\n case 'em':\n return 16 * token.number; // TODO use correct font-size\n case 'px':\n default:\n return token.number;\n }\n }\n return token.number;\n};\n\nvar DEG = 'deg';\nvar GRAD = 'grad';\nvar RAD = 'rad';\nvar TURN = 'turn';\nvar angle = {\n name: 'angle',\n parse: function (_context, value) {\n if (value.type === 15 /* DIMENSION_TOKEN */) {\n switch (value.unit) {\n case DEG:\n return (Math.PI * value.number) / 180;\n case GRAD:\n return (Math.PI / 200) * value.number;\n case RAD:\n return value.number;\n case TURN:\n return Math.PI * 2 * value.number;\n }\n }\n throw new Error(\"Unsupported angle type\");\n }\n};\nvar isAngle = function (value) {\n if (value.type === 15 /* DIMENSION_TOKEN */) {\n if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) {\n return true;\n }\n }\n return false;\n};\nvar parseNamedSide = function (tokens) {\n var sideOrCorner = tokens\n .filter(isIdentToken)\n .map(function (ident) { return ident.value; })\n .join(' ');\n switch (sideOrCorner) {\n case 'to bottom right':\n case 'to right bottom':\n case 'left top':\n case 'top left':\n return [ZERO_LENGTH, ZERO_LENGTH];\n case 'to top':\n case 'bottom':\n return deg(0);\n case 'to bottom left':\n case 'to left bottom':\n case 'right top':\n case 'top right':\n return [ZERO_LENGTH, HUNDRED_PERCENT];\n case 'to right':\n case 'left':\n return deg(90);\n case 'to top left':\n case 'to left top':\n case 'right bottom':\n case 'bottom right':\n return [HUNDRED_PERCENT, HUNDRED_PERCENT];\n case 'to bottom':\n case 'top':\n return deg(180);\n case 'to top right':\n case 'to right top':\n case 'left bottom':\n case 'bottom left':\n return [HUNDRED_PERCENT, ZERO_LENGTH];\n case 'to left':\n case 'right':\n return deg(270);\n }\n return 0;\n};\nvar deg = function (deg) { return (Math.PI * deg) / 180; };\n\nvar color$1 = {\n name: 'color',\n parse: function (context, value) {\n if (value.type === 18 /* FUNCTION */) {\n var colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name];\n if (typeof colorFunction === 'undefined') {\n throw new Error(\"Attempting to parse an unsupported color function \\\"\" + value.name + \"\\\"\");\n }\n return colorFunction(context, value.values);\n }\n if (value.type === 5 /* HASH_TOKEN */) {\n if (value.value.length === 3) {\n var r = value.value.substring(0, 1);\n var g = value.value.substring(1, 2);\n var b = value.value.substring(2, 3);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), 1);\n }\n if (value.value.length === 4) {\n var r = value.value.substring(0, 1);\n var g = value.value.substring(1, 2);\n var b = value.value.substring(2, 3);\n var a = value.value.substring(3, 4);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), parseInt(a + a, 16) / 255);\n }\n if (value.value.length === 6) {\n var r = value.value.substring(0, 2);\n var g = value.value.substring(2, 4);\n var b = value.value.substring(4, 6);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1);\n }\n if (value.value.length === 8) {\n var r = value.value.substring(0, 2);\n var g = value.value.substring(2, 4);\n var b = value.value.substring(4, 6);\n var a = value.value.substring(6, 8);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), parseInt(a, 16) / 255);\n }\n }\n if (value.type === 20 /* IDENT_TOKEN */) {\n var namedColor = COLORS[value.value.toUpperCase()];\n if (typeof namedColor !== 'undefined') {\n return namedColor;\n }\n }\n return COLORS.TRANSPARENT;\n }\n};\nvar isTransparent = function (color) { return (0xff & color) === 0; };\nvar asString = function (color) {\n var alpha = 0xff & color;\n var blue = 0xff & (color >> 8);\n var green = 0xff & (color >> 16);\n var red = 0xff & (color >> 24);\n return alpha < 255 ? \"rgba(\" + red + \",\" + green + \",\" + blue + \",\" + alpha / 255 + \")\" : \"rgb(\" + red + \",\" + green + \",\" + blue + \")\";\n};\nvar pack = function (r, g, b, a) {\n return ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0;\n};\nvar getTokenColorValue = function (token, i) {\n if (token.type === 17 /* NUMBER_TOKEN */) {\n return token.number;\n }\n if (token.type === 16 /* PERCENTAGE_TOKEN */) {\n var max = i === 3 ? 1 : 255;\n return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max);\n }\n return 0;\n};\nvar rgb = function (_context, args) {\n var tokens = args.filter(nonFunctionArgSeparator);\n if (tokens.length === 3) {\n var _a = tokens.map(getTokenColorValue), r = _a[0], g = _a[1], b = _a[2];\n return pack(r, g, b, 1);\n }\n if (tokens.length === 4) {\n var _b = tokens.map(getTokenColorValue), r = _b[0], g = _b[1], b = _b[2], a = _b[3];\n return pack(r, g, b, a);\n }\n return 0;\n};\nfunction hue2rgb(t1, t2, hue) {\n if (hue < 0) {\n hue += 1;\n }\n if (hue >= 1) {\n hue -= 1;\n }\n if (hue < 1 / 6) {\n return (t2 - t1) * hue * 6 + t1;\n }\n else if (hue < 1 / 2) {\n return t2;\n }\n else if (hue < 2 / 3) {\n return (t2 - t1) * 6 * (2 / 3 - hue) + t1;\n }\n else {\n return t1;\n }\n}\nvar hsl = function (context, args) {\n var tokens = args.filter(nonFunctionArgSeparator);\n var hue = tokens[0], saturation = tokens[1], lightness = tokens[2], alpha = tokens[3];\n var h = (hue.type === 17 /* NUMBER_TOKEN */ ? deg(hue.number) : angle.parse(context, hue)) / (Math.PI * 2);\n var s = isLengthPercentage(saturation) ? saturation.number / 100 : 0;\n var l = isLengthPercentage(lightness) ? lightness.number / 100 : 0;\n var a = typeof alpha !== 'undefined' && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1;\n if (s === 0) {\n return pack(l * 255, l * 255, l * 255, 1);\n }\n var t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n var t1 = l * 2 - t2;\n var r = hue2rgb(t1, t2, h + 1 / 3);\n var g = hue2rgb(t1, t2, h);\n var b = hue2rgb(t1, t2, h - 1 / 3);\n return pack(r * 255, g * 255, b * 255, a);\n};\nvar SUPPORTED_COLOR_FUNCTIONS = {\n hsl: hsl,\n hsla: hsl,\n rgb: rgb,\n rgba: rgb\n};\nvar parseColor = function (context, value) {\n return color$1.parse(context, Parser.create(value).parseComponentValue());\n};\nvar COLORS = {\n ALICEBLUE: 0xf0f8ffff,\n ANTIQUEWHITE: 0xfaebd7ff,\n AQUA: 0x00ffffff,\n AQUAMARINE: 0x7fffd4ff,\n AZURE: 0xf0ffffff,\n BEIGE: 0xf5f5dcff,\n BISQUE: 0xffe4c4ff,\n BLACK: 0x000000ff,\n BLANCHEDALMOND: 0xffebcdff,\n BLUE: 0x0000ffff,\n BLUEVIOLET: 0x8a2be2ff,\n BROWN: 0xa52a2aff,\n BURLYWOOD: 0xdeb887ff,\n CADETBLUE: 0x5f9ea0ff,\n CHARTREUSE: 0x7fff00ff,\n CHOCOLATE: 0xd2691eff,\n CORAL: 0xff7f50ff,\n CORNFLOWERBLUE: 0x6495edff,\n CORNSILK: 0xfff8dcff,\n CRIMSON: 0xdc143cff,\n CYAN: 0x00ffffff,\n DARKBLUE: 0x00008bff,\n DARKCYAN: 0x008b8bff,\n DARKGOLDENROD: 0xb886bbff,\n DARKGRAY: 0xa9a9a9ff,\n DARKGREEN: 0x006400ff,\n DARKGREY: 0xa9a9a9ff,\n DARKKHAKI: 0xbdb76bff,\n DARKMAGENTA: 0x8b008bff,\n DARKOLIVEGREEN: 0x556b2fff,\n DARKORANGE: 0xff8c00ff,\n DARKORCHID: 0x9932ccff,\n DARKRED: 0x8b0000ff,\n DARKSALMON: 0xe9967aff,\n DARKSEAGREEN: 0x8fbc8fff,\n DARKSLATEBLUE: 0x483d8bff,\n DARKSLATEGRAY: 0x2f4f4fff,\n DARKSLATEGREY: 0x2f4f4fff,\n DARKTURQUOISE: 0x00ced1ff,\n DARKVIOLET: 0x9400d3ff,\n DEEPPINK: 0xff1493ff,\n DEEPSKYBLUE: 0x00bfffff,\n DIMGRAY: 0x696969ff,\n DIMGREY: 0x696969ff,\n DODGERBLUE: 0x1e90ffff,\n FIREBRICK: 0xb22222ff,\n FLORALWHITE: 0xfffaf0ff,\n FORESTGREEN: 0x228b22ff,\n FUCHSIA: 0xff00ffff,\n GAINSBORO: 0xdcdcdcff,\n GHOSTWHITE: 0xf8f8ffff,\n GOLD: 0xffd700ff,\n GOLDENROD: 0xdaa520ff,\n GRAY: 0x808080ff,\n GREEN: 0x008000ff,\n GREENYELLOW: 0xadff2fff,\n GREY: 0x808080ff,\n HONEYDEW: 0xf0fff0ff,\n HOTPINK: 0xff69b4ff,\n INDIANRED: 0xcd5c5cff,\n INDIGO: 0x4b0082ff,\n IVORY: 0xfffff0ff,\n KHAKI: 0xf0e68cff,\n LAVENDER: 0xe6e6faff,\n LAVENDERBLUSH: 0xfff0f5ff,\n LAWNGREEN: 0x7cfc00ff,\n LEMONCHIFFON: 0xfffacdff,\n LIGHTBLUE: 0xadd8e6ff,\n LIGHTCORAL: 0xf08080ff,\n LIGHTCYAN: 0xe0ffffff,\n LIGHTGOLDENRODYELLOW: 0xfafad2ff,\n LIGHTGRAY: 0xd3d3d3ff,\n LIGHTGREEN: 0x90ee90ff,\n LIGHTGREY: 0xd3d3d3ff,\n LIGHTPINK: 0xffb6c1ff,\n LIGHTSALMON: 0xffa07aff,\n LIGHTSEAGREEN: 0x20b2aaff,\n LIGHTSKYBLUE: 0x87cefaff,\n LIGHTSLATEGRAY: 0x778899ff,\n LIGHTSLATEGREY: 0x778899ff,\n LIGHTSTEELBLUE: 0xb0c4deff,\n LIGHTYELLOW: 0xffffe0ff,\n LIME: 0x00ff00ff,\n LIMEGREEN: 0x32cd32ff,\n LINEN: 0xfaf0e6ff,\n MAGENTA: 0xff00ffff,\n MAROON: 0x800000ff,\n MEDIUMAQUAMARINE: 0x66cdaaff,\n MEDIUMBLUE: 0x0000cdff,\n MEDIUMORCHID: 0xba55d3ff,\n MEDIUMPURPLE: 0x9370dbff,\n MEDIUMSEAGREEN: 0x3cb371ff,\n MEDIUMSLATEBLUE: 0x7b68eeff,\n MEDIUMSPRINGGREEN: 0x00fa9aff,\n MEDIUMTURQUOISE: 0x48d1ccff,\n MEDIUMVIOLETRED: 0xc71585ff,\n MIDNIGHTBLUE: 0x191970ff,\n MINTCREAM: 0xf5fffaff,\n MISTYROSE: 0xffe4e1ff,\n MOCCASIN: 0xffe4b5ff,\n NAVAJOWHITE: 0xffdeadff,\n NAVY: 0x000080ff,\n OLDLACE: 0xfdf5e6ff,\n OLIVE: 0x808000ff,\n OLIVEDRAB: 0x6b8e23ff,\n ORANGE: 0xffa500ff,\n ORANGERED: 0xff4500ff,\n ORCHID: 0xda70d6ff,\n PALEGOLDENROD: 0xeee8aaff,\n PALEGREEN: 0x98fb98ff,\n PALETURQUOISE: 0xafeeeeff,\n PALEVIOLETRED: 0xdb7093ff,\n PAPAYAWHIP: 0xffefd5ff,\n PEACHPUFF: 0xffdab9ff,\n PERU: 0xcd853fff,\n PINK: 0xffc0cbff,\n PLUM: 0xdda0ddff,\n POWDERBLUE: 0xb0e0e6ff,\n PURPLE: 0x800080ff,\n REBECCAPURPLE: 0x663399ff,\n RED: 0xff0000ff,\n ROSYBROWN: 0xbc8f8fff,\n ROYALBLUE: 0x4169e1ff,\n SADDLEBROWN: 0x8b4513ff,\n SALMON: 0xfa8072ff,\n SANDYBROWN: 0xf4a460ff,\n SEAGREEN: 0x2e8b57ff,\n SEASHELL: 0xfff5eeff,\n SIENNA: 0xa0522dff,\n SILVER: 0xc0c0c0ff,\n SKYBLUE: 0x87ceebff,\n SLATEBLUE: 0x6a5acdff,\n SLATEGRAY: 0x708090ff,\n SLATEGREY: 0x708090ff,\n SNOW: 0xfffafaff,\n SPRINGGREEN: 0x00ff7fff,\n STEELBLUE: 0x4682b4ff,\n TAN: 0xd2b48cff,\n TEAL: 0x008080ff,\n THISTLE: 0xd8bfd8ff,\n TOMATO: 0xff6347ff,\n TRANSPARENT: 0x00000000,\n TURQUOISE: 0x40e0d0ff,\n VIOLET: 0xee82eeff,\n WHEAT: 0xf5deb3ff,\n WHITE: 0xffffffff,\n WHITESMOKE: 0xf5f5f5ff,\n YELLOW: 0xffff00ff,\n YELLOWGREEN: 0x9acd32ff\n};\n\nvar backgroundClip = {\n name: 'background-clip',\n initialValue: 'border-box',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.map(function (token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return 1 /* PADDING_BOX */;\n case 'content-box':\n return 2 /* CONTENT_BOX */;\n }\n }\n return 0 /* BORDER_BOX */;\n });\n }\n};\n\nvar backgroundColor = {\n name: \"background-color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n};\n\nvar parseColorStop = function (context, args) {\n var color = color$1.parse(context, args[0]);\n var stop = args[1];\n return stop && isLengthPercentage(stop) ? { color: color, stop: stop } : { color: color, stop: null };\n};\nvar processColorStops = function (stops, lineLength) {\n var first = stops[0];\n var last = stops[stops.length - 1];\n if (first.stop === null) {\n first.stop = ZERO_LENGTH;\n }\n if (last.stop === null) {\n last.stop = HUNDRED_PERCENT;\n }\n var processStops = [];\n var previous = 0;\n for (var i = 0; i < stops.length; i++) {\n var stop_1 = stops[i].stop;\n if (stop_1 !== null) {\n var absoluteValue = getAbsoluteValue(stop_1, lineLength);\n if (absoluteValue > previous) {\n processStops.push(absoluteValue);\n }\n else {\n processStops.push(previous);\n }\n previous = absoluteValue;\n }\n else {\n processStops.push(null);\n }\n }\n var gapBegin = null;\n for (var i = 0; i < processStops.length; i++) {\n var stop_2 = processStops[i];\n if (stop_2 === null) {\n if (gapBegin === null) {\n gapBegin = i;\n }\n }\n else if (gapBegin !== null) {\n var gapLength = i - gapBegin;\n var beforeGap = processStops[gapBegin - 1];\n var gapValue = (stop_2 - beforeGap) / (gapLength + 1);\n for (var g = 1; g <= gapLength; g++) {\n processStops[gapBegin + g - 1] = gapValue * g;\n }\n gapBegin = null;\n }\n }\n return stops.map(function (_a, i) {\n var color = _a.color;\n return { color: color, stop: Math.max(Math.min(1, processStops[i] / lineLength), 0) };\n });\n};\nvar getAngleFromCorner = function (corner, width, height) {\n var centerX = width / 2;\n var centerY = height / 2;\n var x = getAbsoluteValue(corner[0], width) - centerX;\n var y = centerY - getAbsoluteValue(corner[1], height);\n return (Math.atan2(y, x) + Math.PI * 2) % (Math.PI * 2);\n};\nvar calculateGradientDirection = function (angle, width, height) {\n var radian = typeof angle === 'number' ? angle : getAngleFromCorner(angle, width, height);\n var lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian));\n var halfWidth = width / 2;\n var halfHeight = height / 2;\n var halfLineLength = lineLength / 2;\n var yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength;\n var xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength;\n return [lineLength, halfWidth - xDiff, halfWidth + xDiff, halfHeight - yDiff, halfHeight + yDiff];\n};\nvar distance = function (a, b) { return Math.sqrt(a * a + b * b); };\nvar findCorner = function (width, height, x, y, closest) {\n var corners = [\n [0, 0],\n [0, height],\n [width, 0],\n [width, height]\n ];\n return corners.reduce(function (stat, corner) {\n var cx = corner[0], cy = corner[1];\n var d = distance(x - cx, y - cy);\n if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) {\n return {\n optimumCorner: corner,\n optimumDistance: d\n };\n }\n return stat;\n }, {\n optimumDistance: closest ? Infinity : -Infinity,\n optimumCorner: null\n }).optimumCorner;\n};\nvar calculateRadius = function (gradient, x, y, width, height) {\n var rx = 0;\n var ry = 0;\n switch (gradient.size) {\n case 0 /* CLOSEST_SIDE */:\n // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, it exactly meets the closest side in each dimension.\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.min(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n rx = Math.min(Math.abs(x), Math.abs(x - width));\n ry = Math.min(Math.abs(y), Math.abs(y - height));\n }\n break;\n case 2 /* CLOSEST_CORNER */:\n // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified.\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.min(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n // Compute the ratio ry/rx (which is to be the same as for \"closest-side\")\n var c = Math.min(Math.abs(y), Math.abs(y - height)) / Math.min(Math.abs(x), Math.abs(x - width));\n var _a = findCorner(width, height, x, y, true), cx = _a[0], cy = _a[1];\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n case 1 /* FARTHEST_SIDE */:\n // Same as closest-side, except the ending shape is sized based on the farthest side(s)\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.max(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n rx = Math.max(Math.abs(x), Math.abs(x - width));\n ry = Math.max(Math.abs(y), Math.abs(y - height));\n }\n break;\n case 3 /* FARTHEST_CORNER */:\n // Same as closest-corner, except the ending shape is sized based on the farthest corner.\n // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified.\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.max(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n // Compute the ratio ry/rx (which is to be the same as for \"farthest-side\")\n var c = Math.max(Math.abs(y), Math.abs(y - height)) / Math.max(Math.abs(x), Math.abs(x - width));\n var _b = findCorner(width, height, x, y, false), cx = _b[0], cy = _b[1];\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n }\n if (Array.isArray(gradient.size)) {\n rx = getAbsoluteValue(gradient.size[0], width);\n ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx;\n }\n return [rx, ry];\n};\n\nvar linearGradient = function (context, tokens) {\n var angle$1 = deg(180);\n var stops = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n if (i === 0) {\n var firstToken = arg[0];\n if (firstToken.type === 20 /* IDENT_TOKEN */ && firstToken.value === 'to') {\n angle$1 = parseNamedSide(arg);\n return;\n }\n else if (isAngle(firstToken)) {\n angle$1 = angle.parse(context, firstToken);\n return;\n }\n }\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n return { angle: angle$1, stops: stops, type: 1 /* LINEAR_GRADIENT */ };\n};\n\nvar prefixLinearGradient = function (context, tokens) {\n var angle$1 = deg(180);\n var stops = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n if (i === 0) {\n var firstToken = arg[0];\n if (firstToken.type === 20 /* IDENT_TOKEN */ &&\n ['top', 'left', 'right', 'bottom'].indexOf(firstToken.value) !== -1) {\n angle$1 = parseNamedSide(arg);\n return;\n }\n else if (isAngle(firstToken)) {\n angle$1 = (angle.parse(context, firstToken) + deg(270)) % deg(360);\n return;\n }\n }\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n return {\n angle: angle$1,\n stops: stops,\n type: 1 /* LINEAR_GRADIENT */\n };\n};\n\nvar webkitGradient = function (context, tokens) {\n var angle = deg(180);\n var stops = [];\n var type = 1 /* LINEAR_GRADIENT */;\n var shape = 0 /* CIRCLE */;\n var size = 3 /* FARTHEST_CORNER */;\n var position = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n var firstToken = arg[0];\n if (i === 0) {\n if (isIdentToken(firstToken) && firstToken.value === 'linear') {\n type = 1 /* LINEAR_GRADIENT */;\n return;\n }\n else if (isIdentToken(firstToken) && firstToken.value === 'radial') {\n type = 2 /* RADIAL_GRADIENT */;\n return;\n }\n }\n if (firstToken.type === 18 /* FUNCTION */) {\n if (firstToken.name === 'from') {\n var color = color$1.parse(context, firstToken.values[0]);\n stops.push({ stop: ZERO_LENGTH, color: color });\n }\n else if (firstToken.name === 'to') {\n var color = color$1.parse(context, firstToken.values[0]);\n stops.push({ stop: HUNDRED_PERCENT, color: color });\n }\n else if (firstToken.name === 'color-stop') {\n var values = firstToken.values.filter(nonFunctionArgSeparator);\n if (values.length === 2) {\n var color = color$1.parse(context, values[1]);\n var stop_1 = values[0];\n if (isNumberToken(stop_1)) {\n stops.push({\n stop: { type: 16 /* PERCENTAGE_TOKEN */, number: stop_1.number * 100, flags: stop_1.flags },\n color: color\n });\n }\n }\n }\n }\n });\n return type === 1 /* LINEAR_GRADIENT */\n ? {\n angle: (angle + deg(180)) % deg(360),\n stops: stops,\n type: type\n }\n : { size: size, shape: shape, stops: stops, position: position, type: type };\n};\n\nvar CLOSEST_SIDE = 'closest-side';\nvar FARTHEST_SIDE = 'farthest-side';\nvar CLOSEST_CORNER = 'closest-corner';\nvar FARTHEST_CORNER = 'farthest-corner';\nvar CIRCLE = 'circle';\nvar ELLIPSE = 'ellipse';\nvar COVER = 'cover';\nvar CONTAIN = 'contain';\nvar radialGradient = function (context, tokens) {\n var shape = 0 /* CIRCLE */;\n var size = 3 /* FARTHEST_CORNER */;\n var stops = [];\n var position = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n var isColorStop = true;\n if (i === 0) {\n var isAtPosition_1 = false;\n isColorStop = arg.reduce(function (acc, token) {\n if (isAtPosition_1) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return acc;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return acc;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return acc;\n }\n }\n else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n }\n }\n else if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = 0 /* CIRCLE */;\n return false;\n case ELLIPSE:\n shape = 1 /* ELLIPSE */;\n return false;\n case 'at':\n isAtPosition_1 = true;\n return false;\n case CLOSEST_SIDE:\n size = 0 /* CLOSEST_SIDE */;\n return false;\n case COVER:\n case FARTHEST_SIDE:\n size = 1 /* FARTHEST_SIDE */;\n return false;\n case CONTAIN:\n case CLOSEST_CORNER:\n size = 2 /* CLOSEST_CORNER */;\n return false;\n case FARTHEST_CORNER:\n size = 3 /* FARTHEST_CORNER */;\n return false;\n }\n }\n else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n if (isColorStop) {\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n return { size: size, shape: shape, stops: stops, position: position, type: 2 /* RADIAL_GRADIENT */ };\n};\n\nvar prefixRadialGradient = function (context, tokens) {\n var shape = 0 /* CIRCLE */;\n var size = 3 /* FARTHEST_CORNER */;\n var stops = [];\n var position = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n var isColorStop = true;\n if (i === 0) {\n isColorStop = arg.reduce(function (acc, token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return false;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return false;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return false;\n }\n }\n else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n else if (i === 1) {\n isColorStop = arg.reduce(function (acc, token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = 0 /* CIRCLE */;\n return false;\n case ELLIPSE:\n shape = 1 /* ELLIPSE */;\n return false;\n case CONTAIN:\n case CLOSEST_SIDE:\n size = 0 /* CLOSEST_SIDE */;\n return false;\n case FARTHEST_SIDE:\n size = 1 /* FARTHEST_SIDE */;\n return false;\n case CLOSEST_CORNER:\n size = 2 /* CLOSEST_CORNER */;\n return false;\n case COVER:\n case FARTHEST_CORNER:\n size = 3 /* FARTHEST_CORNER */;\n return false;\n }\n }\n else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n if (isColorStop) {\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n return { size: size, shape: shape, stops: stops, position: position, type: 2 /* RADIAL_GRADIENT */ };\n};\n\nvar isLinearGradient = function (background) {\n return background.type === 1 /* LINEAR_GRADIENT */;\n};\nvar isRadialGradient = function (background) {\n return background.type === 2 /* RADIAL_GRADIENT */;\n};\nvar image = {\n name: 'image',\n parse: function (context, value) {\n if (value.type === 22 /* URL_TOKEN */) {\n var image_1 = { url: value.value, type: 0 /* URL */ };\n context.cache.addImage(value.value);\n return image_1;\n }\n if (value.type === 18 /* FUNCTION */) {\n var imageFunction = SUPPORTED_IMAGE_FUNCTIONS[value.name];\n if (typeof imageFunction === 'undefined') {\n throw new Error(\"Attempting to parse an unsupported image function \\\"\" + value.name + \"\\\"\");\n }\n return imageFunction(context, value.values);\n }\n throw new Error(\"Unsupported image type \" + value.type);\n }\n};\nfunction isSupportedImage(value) {\n return (!(value.type === 20 /* IDENT_TOKEN */ && value.value === 'none') &&\n (value.type !== 18 /* FUNCTION */ || !!SUPPORTED_IMAGE_FUNCTIONS[value.name]));\n}\nvar SUPPORTED_IMAGE_FUNCTIONS = {\n 'linear-gradient': linearGradient,\n '-moz-linear-gradient': prefixLinearGradient,\n '-ms-linear-gradient': prefixLinearGradient,\n '-o-linear-gradient': prefixLinearGradient,\n '-webkit-linear-gradient': prefixLinearGradient,\n 'radial-gradient': radialGradient,\n '-moz-radial-gradient': prefixRadialGradient,\n '-ms-radial-gradient': prefixRadialGradient,\n '-o-radial-gradient': prefixRadialGradient,\n '-webkit-radial-gradient': prefixRadialGradient,\n '-webkit-gradient': webkitGradient\n};\n\nvar backgroundImage = {\n name: 'background-image',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (context, tokens) {\n if (tokens.length === 0) {\n return [];\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return [];\n }\n return tokens\n .filter(function (value) { return nonFunctionArgSeparator(value) && isSupportedImage(value); })\n .map(function (value) { return image.parse(context, value); });\n }\n};\n\nvar backgroundOrigin = {\n name: 'background-origin',\n initialValue: 'border-box',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.map(function (token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return 1 /* PADDING_BOX */;\n case 'content-box':\n return 2 /* CONTENT_BOX */;\n }\n }\n return 0 /* BORDER_BOX */;\n });\n }\n};\n\nvar backgroundPosition = {\n name: 'background-position',\n initialValue: '0% 0%',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (_context, tokens) {\n return parseFunctionArgs(tokens)\n .map(function (values) { return values.filter(isLengthPercentage); })\n .map(parseLengthPercentageTuple);\n }\n};\n\nvar backgroundRepeat = {\n name: 'background-repeat',\n initialValue: 'repeat',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return parseFunctionArgs(tokens)\n .map(function (values) {\n return values\n .filter(isIdentToken)\n .map(function (token) { return token.value; })\n .join(' ');\n })\n .map(parseBackgroundRepeat);\n }\n};\nvar parseBackgroundRepeat = function (value) {\n switch (value) {\n case 'no-repeat':\n return 1 /* NO_REPEAT */;\n case 'repeat-x':\n case 'repeat no-repeat':\n return 2 /* REPEAT_X */;\n case 'repeat-y':\n case 'no-repeat repeat':\n return 3 /* REPEAT_Y */;\n case 'repeat':\n default:\n return 0 /* REPEAT */;\n }\n};\n\nvar BACKGROUND_SIZE;\n(function (BACKGROUND_SIZE) {\n BACKGROUND_SIZE[\"AUTO\"] = \"auto\";\n BACKGROUND_SIZE[\"CONTAIN\"] = \"contain\";\n BACKGROUND_SIZE[\"COVER\"] = \"cover\";\n})(BACKGROUND_SIZE || (BACKGROUND_SIZE = {}));\nvar backgroundSize = {\n name: 'background-size',\n initialValue: '0',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return parseFunctionArgs(tokens).map(function (values) { return values.filter(isBackgroundSizeInfoToken); });\n }\n};\nvar isBackgroundSizeInfoToken = function (value) {\n return isIdentToken(value) || isLengthPercentage(value);\n};\n\nvar borderColorForSide = function (side) { return ({\n name: \"border-\" + side + \"-color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n}); };\nvar borderTopColor = borderColorForSide('top');\nvar borderRightColor = borderColorForSide('right');\nvar borderBottomColor = borderColorForSide('bottom');\nvar borderLeftColor = borderColorForSide('left');\n\nvar borderRadiusForSide = function (side) { return ({\n name: \"border-radius-\" + side,\n initialValue: '0 0',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return parseLengthPercentageTuple(tokens.filter(isLengthPercentage));\n }\n}); };\nvar borderTopLeftRadius = borderRadiusForSide('top-left');\nvar borderTopRightRadius = borderRadiusForSide('top-right');\nvar borderBottomRightRadius = borderRadiusForSide('bottom-right');\nvar borderBottomLeftRadius = borderRadiusForSide('bottom-left');\n\nvar borderStyleForSide = function (side) { return ({\n name: \"border-\" + side + \"-style\",\n initialValue: 'solid',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, style) {\n switch (style) {\n case 'none':\n return 0 /* NONE */;\n case 'dashed':\n return 2 /* DASHED */;\n case 'dotted':\n return 3 /* DOTTED */;\n case 'double':\n return 4 /* DOUBLE */;\n }\n return 1 /* SOLID */;\n }\n}); };\nvar borderTopStyle = borderStyleForSide('top');\nvar borderRightStyle = borderStyleForSide('right');\nvar borderBottomStyle = borderStyleForSide('bottom');\nvar borderLeftStyle = borderStyleForSide('left');\n\nvar borderWidthForSide = function (side) { return ({\n name: \"border-\" + side + \"-width\",\n initialValue: '0',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n}); };\nvar borderTopWidth = borderWidthForSide('top');\nvar borderRightWidth = borderWidthForSide('right');\nvar borderBottomWidth = borderWidthForSide('bottom');\nvar borderLeftWidth = borderWidthForSide('left');\n\nvar color = {\n name: \"color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n};\n\nvar direction = {\n name: 'direction',\n initialValue: 'ltr',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, direction) {\n switch (direction) {\n case 'rtl':\n return 1 /* RTL */;\n case 'ltr':\n default:\n return 0 /* LTR */;\n }\n }\n};\n\nvar display = {\n name: 'display',\n initialValue: 'inline-block',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.filter(isIdentToken).reduce(function (bit, token) {\n return bit | parseDisplayValue(token.value);\n }, 0 /* NONE */);\n }\n};\nvar parseDisplayValue = function (display) {\n switch (display) {\n case 'block':\n case '-webkit-box':\n return 2 /* BLOCK */;\n case 'inline':\n return 4 /* INLINE */;\n case 'run-in':\n return 8 /* RUN_IN */;\n case 'flow':\n return 16 /* FLOW */;\n case 'flow-root':\n return 32 /* FLOW_ROOT */;\n case 'table':\n return 64 /* TABLE */;\n case 'flex':\n case '-webkit-flex':\n return 128 /* FLEX */;\n case 'grid':\n case '-ms-grid':\n return 256 /* GRID */;\n case 'ruby':\n return 512 /* RUBY */;\n case 'subgrid':\n return 1024 /* SUBGRID */;\n case 'list-item':\n return 2048 /* LIST_ITEM */;\n case 'table-row-group':\n return 4096 /* TABLE_ROW_GROUP */;\n case 'table-header-group':\n return 8192 /* TABLE_HEADER_GROUP */;\n case 'table-footer-group':\n return 16384 /* TABLE_FOOTER_GROUP */;\n case 'table-row':\n return 32768 /* TABLE_ROW */;\n case 'table-cell':\n return 65536 /* TABLE_CELL */;\n case 'table-column-group':\n return 131072 /* TABLE_COLUMN_GROUP */;\n case 'table-column':\n return 262144 /* TABLE_COLUMN */;\n case 'table-caption':\n return 524288 /* TABLE_CAPTION */;\n case 'ruby-base':\n return 1048576 /* RUBY_BASE */;\n case 'ruby-text':\n return 2097152 /* RUBY_TEXT */;\n case 'ruby-base-container':\n return 4194304 /* RUBY_BASE_CONTAINER */;\n case 'ruby-text-container':\n return 8388608 /* RUBY_TEXT_CONTAINER */;\n case 'contents':\n return 16777216 /* CONTENTS */;\n case 'inline-block':\n return 33554432 /* INLINE_BLOCK */;\n case 'inline-list-item':\n return 67108864 /* INLINE_LIST_ITEM */;\n case 'inline-table':\n return 134217728 /* INLINE_TABLE */;\n case 'inline-flex':\n return 268435456 /* INLINE_FLEX */;\n case 'inline-grid':\n return 536870912 /* INLINE_GRID */;\n }\n return 0 /* NONE */;\n};\n\nvar float = {\n name: 'float',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, float) {\n switch (float) {\n case 'left':\n return 1 /* LEFT */;\n case 'right':\n return 2 /* RIGHT */;\n case 'inline-start':\n return 3 /* INLINE_START */;\n case 'inline-end':\n return 4 /* INLINE_END */;\n }\n return 0 /* NONE */;\n }\n};\n\nvar letterSpacing = {\n name: 'letter-spacing',\n initialValue: '0',\n prefix: false,\n type: 0 /* VALUE */,\n parse: function (_context, token) {\n if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'normal') {\n return 0;\n }\n if (token.type === 17 /* NUMBER_TOKEN */) {\n return token.number;\n }\n if (token.type === 15 /* DIMENSION_TOKEN */) {\n return token.number;\n }\n return 0;\n }\n};\n\nvar LINE_BREAK;\n(function (LINE_BREAK) {\n LINE_BREAK[\"NORMAL\"] = \"normal\";\n LINE_BREAK[\"STRICT\"] = \"strict\";\n})(LINE_BREAK || (LINE_BREAK = {}));\nvar lineBreak = {\n name: 'line-break',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, lineBreak) {\n switch (lineBreak) {\n case 'strict':\n return LINE_BREAK.STRICT;\n case 'normal':\n default:\n return LINE_BREAK.NORMAL;\n }\n }\n};\n\nvar lineHeight = {\n name: 'line-height',\n initialValue: 'normal',\n prefix: false,\n type: 4 /* TOKEN_VALUE */\n};\nvar computeLineHeight = function (token, fontSize) {\n if (isIdentToken(token) && token.value === 'normal') {\n return 1.2 * fontSize;\n }\n else if (token.type === 17 /* NUMBER_TOKEN */) {\n return fontSize * token.number;\n }\n else if (isLengthPercentage(token)) {\n return getAbsoluteValue(token, fontSize);\n }\n return fontSize;\n};\n\nvar listStyleImage = {\n name: 'list-style-image',\n initialValue: 'none',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (context, token) {\n if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'none') {\n return null;\n }\n return image.parse(context, token);\n }\n};\n\nvar listStylePosition = {\n name: 'list-style-position',\n initialValue: 'outside',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, position) {\n switch (position) {\n case 'inside':\n return 0 /* INSIDE */;\n case 'outside':\n default:\n return 1 /* OUTSIDE */;\n }\n }\n};\n\nvar listStyleType = {\n name: 'list-style-type',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, type) {\n switch (type) {\n case 'disc':\n return 0 /* DISC */;\n case 'circle':\n return 1 /* CIRCLE */;\n case 'square':\n return 2 /* SQUARE */;\n case 'decimal':\n return 3 /* DECIMAL */;\n case 'cjk-decimal':\n return 4 /* CJK_DECIMAL */;\n case 'decimal-leading-zero':\n return 5 /* DECIMAL_LEADING_ZERO */;\n case 'lower-roman':\n return 6 /* LOWER_ROMAN */;\n case 'upper-roman':\n return 7 /* UPPER_ROMAN */;\n case 'lower-greek':\n return 8 /* LOWER_GREEK */;\n case 'lower-alpha':\n return 9 /* LOWER_ALPHA */;\n case 'upper-alpha':\n return 10 /* UPPER_ALPHA */;\n case 'arabic-indic':\n return 11 /* ARABIC_INDIC */;\n case 'armenian':\n return 12 /* ARMENIAN */;\n case 'bengali':\n return 13 /* BENGALI */;\n case 'cambodian':\n return 14 /* CAMBODIAN */;\n case 'cjk-earthly-branch':\n return 15 /* CJK_EARTHLY_BRANCH */;\n case 'cjk-heavenly-stem':\n return 16 /* CJK_HEAVENLY_STEM */;\n case 'cjk-ideographic':\n return 17 /* CJK_IDEOGRAPHIC */;\n case 'devanagari':\n return 18 /* DEVANAGARI */;\n case 'ethiopic-numeric':\n return 19 /* ETHIOPIC_NUMERIC */;\n case 'georgian':\n return 20 /* GEORGIAN */;\n case 'gujarati':\n return 21 /* GUJARATI */;\n case 'gurmukhi':\n return 22 /* GURMUKHI */;\n case 'hebrew':\n return 22 /* HEBREW */;\n case 'hiragana':\n return 23 /* HIRAGANA */;\n case 'hiragana-iroha':\n return 24 /* HIRAGANA_IROHA */;\n case 'japanese-formal':\n return 25 /* JAPANESE_FORMAL */;\n case 'japanese-informal':\n return 26 /* JAPANESE_INFORMAL */;\n case 'kannada':\n return 27 /* KANNADA */;\n case 'katakana':\n return 28 /* KATAKANA */;\n case 'katakana-iroha':\n return 29 /* KATAKANA_IROHA */;\n case 'khmer':\n return 30 /* KHMER */;\n case 'korean-hangul-formal':\n return 31 /* KOREAN_HANGUL_FORMAL */;\n case 'korean-hanja-formal':\n return 32 /* KOREAN_HANJA_FORMAL */;\n case 'korean-hanja-informal':\n return 33 /* KOREAN_HANJA_INFORMAL */;\n case 'lao':\n return 34 /* LAO */;\n case 'lower-armenian':\n return 35 /* LOWER_ARMENIAN */;\n case 'malayalam':\n return 36 /* MALAYALAM */;\n case 'mongolian':\n return 37 /* MONGOLIAN */;\n case 'myanmar':\n return 38 /* MYANMAR */;\n case 'oriya':\n return 39 /* ORIYA */;\n case 'persian':\n return 40 /* PERSIAN */;\n case 'simp-chinese-formal':\n return 41 /* SIMP_CHINESE_FORMAL */;\n case 'simp-chinese-informal':\n return 42 /* SIMP_CHINESE_INFORMAL */;\n case 'tamil':\n return 43 /* TAMIL */;\n case 'telugu':\n return 44 /* TELUGU */;\n case 'thai':\n return 45 /* THAI */;\n case 'tibetan':\n return 46 /* TIBETAN */;\n case 'trad-chinese-formal':\n return 47 /* TRAD_CHINESE_FORMAL */;\n case 'trad-chinese-informal':\n return 48 /* TRAD_CHINESE_INFORMAL */;\n case 'upper-armenian':\n return 49 /* UPPER_ARMENIAN */;\n case 'disclosure-open':\n return 50 /* DISCLOSURE_OPEN */;\n case 'disclosure-closed':\n return 51 /* DISCLOSURE_CLOSED */;\n case 'none':\n default:\n return -1 /* NONE */;\n }\n }\n};\n\nvar marginForSide = function (side) { return ({\n name: \"margin-\" + side,\n initialValue: '0',\n prefix: false,\n type: 4 /* TOKEN_VALUE */\n}); };\nvar marginTop = marginForSide('top');\nvar marginRight = marginForSide('right');\nvar marginBottom = marginForSide('bottom');\nvar marginLeft = marginForSide('left');\n\nvar overflow = {\n name: 'overflow',\n initialValue: 'visible',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.filter(isIdentToken).map(function (overflow) {\n switch (overflow.value) {\n case 'hidden':\n return 1 /* HIDDEN */;\n case 'scroll':\n return 2 /* SCROLL */;\n case 'clip':\n return 3 /* CLIP */;\n case 'auto':\n return 4 /* AUTO */;\n case 'visible':\n default:\n return 0 /* VISIBLE */;\n }\n });\n }\n};\n\nvar overflowWrap = {\n name: 'overflow-wrap',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, overflow) {\n switch (overflow) {\n case 'break-word':\n return \"break-word\" /* BREAK_WORD */;\n case 'normal':\n default:\n return \"normal\" /* NORMAL */;\n }\n }\n};\n\nvar paddingForSide = function (side) { return ({\n name: \"padding-\" + side,\n initialValue: '0',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'length-percentage'\n}); };\nvar paddingTop = paddingForSide('top');\nvar paddingRight = paddingForSide('right');\nvar paddingBottom = paddingForSide('bottom');\nvar paddingLeft = paddingForSide('left');\n\nvar textAlign = {\n name: 'text-align',\n initialValue: 'left',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, textAlign) {\n switch (textAlign) {\n case 'right':\n return 2 /* RIGHT */;\n case 'center':\n case 'justify':\n return 1 /* CENTER */;\n case 'left':\n default:\n return 0 /* LEFT */;\n }\n }\n};\n\nvar position = {\n name: 'position',\n initialValue: 'static',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, position) {\n switch (position) {\n case 'relative':\n return 1 /* RELATIVE */;\n case 'absolute':\n return 2 /* ABSOLUTE */;\n case 'fixed':\n return 3 /* FIXED */;\n case 'sticky':\n return 4 /* STICKY */;\n }\n return 0 /* STATIC */;\n }\n};\n\nvar textShadow = {\n name: 'text-shadow',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (context, tokens) {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n return parseFunctionArgs(tokens).map(function (values) {\n var shadow = {\n color: COLORS.TRANSPARENT,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH\n };\n var c = 0;\n for (var i = 0; i < values.length; i++) {\n var token = values[i];\n if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n }\n else if (c === 1) {\n shadow.offsetY = token;\n }\n else {\n shadow.blur = token;\n }\n c++;\n }\n else {\n shadow.color = color$1.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n\nvar textTransform = {\n name: 'text-transform',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, textTransform) {\n switch (textTransform) {\n case 'uppercase':\n return 2 /* UPPERCASE */;\n case 'lowercase':\n return 1 /* LOWERCASE */;\n case 'capitalize':\n return 3 /* CAPITALIZE */;\n }\n return 0 /* NONE */;\n }\n};\n\nvar transform$1 = {\n name: 'transform',\n initialValue: 'none',\n prefix: true,\n type: 0 /* VALUE */,\n parse: function (_context, token) {\n if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'none') {\n return null;\n }\n if (token.type === 18 /* FUNCTION */) {\n var transformFunction = SUPPORTED_TRANSFORM_FUNCTIONS[token.name];\n if (typeof transformFunction === 'undefined') {\n throw new Error(\"Attempting to parse an unsupported transform function \\\"\" + token.name + \"\\\"\");\n }\n return transformFunction(token.values);\n }\n return null;\n }\n};\nvar matrix = function (args) {\n var values = args.filter(function (arg) { return arg.type === 17 /* NUMBER_TOKEN */; }).map(function (arg) { return arg.number; });\n return values.length === 6 ? values : null;\n};\n// doesn't support 3D transforms at the moment\nvar matrix3d = function (args) {\n var values = args.filter(function (arg) { return arg.type === 17 /* NUMBER_TOKEN */; }).map(function (arg) { return arg.number; });\n var a1 = values[0], b1 = values[1]; values[2]; values[3]; var a2 = values[4], b2 = values[5]; values[6]; values[7]; values[8]; values[9]; values[10]; values[11]; var a4 = values[12], b4 = values[13]; values[14]; values[15];\n return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null;\n};\nvar SUPPORTED_TRANSFORM_FUNCTIONS = {\n matrix: matrix,\n matrix3d: matrix3d\n};\n\nvar DEFAULT_VALUE = {\n type: 16 /* PERCENTAGE_TOKEN */,\n number: 50,\n flags: FLAG_INTEGER\n};\nvar DEFAULT = [DEFAULT_VALUE, DEFAULT_VALUE];\nvar transformOrigin = {\n name: 'transform-origin',\n initialValue: '50% 50%',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n var origins = tokens.filter(isLengthPercentage);\n if (origins.length !== 2) {\n return DEFAULT;\n }\n return [origins[0], origins[1]];\n }\n};\n\nvar visibility = {\n name: 'visible',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, visibility) {\n switch (visibility) {\n case 'hidden':\n return 1 /* HIDDEN */;\n case 'collapse':\n return 2 /* COLLAPSE */;\n case 'visible':\n default:\n return 0 /* VISIBLE */;\n }\n }\n};\n\nvar WORD_BREAK;\n(function (WORD_BREAK) {\n WORD_BREAK[\"NORMAL\"] = \"normal\";\n WORD_BREAK[\"BREAK_ALL\"] = \"break-all\";\n WORD_BREAK[\"KEEP_ALL\"] = \"keep-all\";\n})(WORD_BREAK || (WORD_BREAK = {}));\nvar wordBreak = {\n name: 'word-break',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, wordBreak) {\n switch (wordBreak) {\n case 'break-all':\n return WORD_BREAK.BREAK_ALL;\n case 'keep-all':\n return WORD_BREAK.KEEP_ALL;\n case 'normal':\n default:\n return WORD_BREAK.NORMAL;\n }\n }\n};\n\nvar zIndex = {\n name: 'z-index',\n initialValue: 'auto',\n prefix: false,\n type: 0 /* VALUE */,\n parse: function (_context, token) {\n if (token.type === 20 /* IDENT_TOKEN */) {\n return { auto: true, order: 0 };\n }\n if (isNumberToken(token)) {\n return { auto: false, order: token.number };\n }\n throw new Error(\"Invalid z-index number parsed\");\n }\n};\n\nvar time = {\n name: 'time',\n parse: function (_context, value) {\n if (value.type === 15 /* DIMENSION_TOKEN */) {\n switch (value.unit.toLowerCase()) {\n case 's':\n return 1000 * value.number;\n case 'ms':\n return value.number;\n }\n }\n throw new Error(\"Unsupported time type\");\n }\n};\n\nvar opacity = {\n name: 'opacity',\n initialValue: '1',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isNumberToken(token)) {\n return token.number;\n }\n return 1;\n }\n};\n\nvar textDecorationColor = {\n name: \"text-decoration-color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n};\n\nvar textDecorationLine = {\n name: 'text-decoration-line',\n initialValue: 'none',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens\n .filter(isIdentToken)\n .map(function (token) {\n switch (token.value) {\n case 'underline':\n return 1 /* UNDERLINE */;\n case 'overline':\n return 2 /* OVERLINE */;\n case 'line-through':\n return 3 /* LINE_THROUGH */;\n case 'none':\n return 4 /* BLINK */;\n }\n return 0 /* NONE */;\n })\n .filter(function (line) { return line !== 0 /* NONE */; });\n }\n};\n\nvar fontFamily = {\n name: \"font-family\",\n initialValue: '',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n var accumulator = [];\n var results = [];\n tokens.forEach(function (token) {\n switch (token.type) {\n case 20 /* IDENT_TOKEN */:\n case 0 /* STRING_TOKEN */:\n accumulator.push(token.value);\n break;\n case 17 /* NUMBER_TOKEN */:\n accumulator.push(token.number.toString());\n break;\n case 4 /* COMMA_TOKEN */:\n results.push(accumulator.join(' '));\n accumulator.length = 0;\n break;\n }\n });\n if (accumulator.length) {\n results.push(accumulator.join(' '));\n }\n return results.map(function (result) { return (result.indexOf(' ') === -1 ? result : \"'\" + result + \"'\"); });\n }\n};\n\nvar fontSize = {\n name: \"font-size\",\n initialValue: '0',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'length'\n};\n\nvar fontWeight = {\n name: 'font-weight',\n initialValue: 'normal',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isNumberToken(token)) {\n return token.number;\n }\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'bold':\n return 700;\n case 'normal':\n default:\n return 400;\n }\n }\n return 400;\n }\n};\n\nvar fontVariant = {\n name: 'font-variant',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (_context, tokens) {\n return tokens.filter(isIdentToken).map(function (token) { return token.value; });\n }\n};\n\nvar fontStyle = {\n name: 'font-style',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, overflow) {\n switch (overflow) {\n case 'oblique':\n return \"oblique\" /* OBLIQUE */;\n case 'italic':\n return \"italic\" /* ITALIC */;\n case 'normal':\n default:\n return \"normal\" /* NORMAL */;\n }\n }\n};\n\nvar contains = function (bit, value) { return (bit & value) !== 0; };\n\nvar content = {\n name: 'content',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return [];\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return [];\n }\n return tokens;\n }\n};\n\nvar counterIncrement = {\n name: 'counter-increment',\n initialValue: 'none',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return null;\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return null;\n }\n var increments = [];\n var filtered = tokens.filter(nonWhiteSpace);\n for (var i = 0; i < filtered.length; i++) {\n var counter = filtered[i];\n var next = filtered[i + 1];\n if (counter.type === 20 /* IDENT_TOKEN */) {\n var increment = next && isNumberToken(next) ? next.number : 1;\n increments.push({ counter: counter.value, increment: increment });\n }\n }\n return increments;\n }\n};\n\nvar counterReset = {\n name: 'counter-reset',\n initialValue: 'none',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return [];\n }\n var resets = [];\n var filtered = tokens.filter(nonWhiteSpace);\n for (var i = 0; i < filtered.length; i++) {\n var counter = filtered[i];\n var next = filtered[i + 1];\n if (isIdentToken(counter) && counter.value !== 'none') {\n var reset = next && isNumberToken(next) ? next.number : 0;\n resets.push({ counter: counter.value, reset: reset });\n }\n }\n return resets;\n }\n};\n\nvar duration = {\n name: 'duration',\n initialValue: '0s',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (context, tokens) {\n return tokens.filter(isDimensionToken).map(function (token) { return time.parse(context, token); });\n }\n};\n\nvar quotes = {\n name: 'quotes',\n initialValue: 'none',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return null;\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return null;\n }\n var quotes = [];\n var filtered = tokens.filter(isStringToken);\n if (filtered.length % 2 !== 0) {\n return null;\n }\n for (var i = 0; i < filtered.length; i += 2) {\n var open_1 = filtered[i].value;\n var close_1 = filtered[i + 1].value;\n quotes.push({ open: open_1, close: close_1 });\n }\n return quotes;\n }\n};\nvar getQuote = function (quotes, depth, open) {\n if (!quotes) {\n return '';\n }\n var quote = quotes[Math.min(depth, quotes.length - 1)];\n if (!quote) {\n return '';\n }\n return open ? quote.open : quote.close;\n};\n\nvar boxShadow = {\n name: 'box-shadow',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (context, tokens) {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n return parseFunctionArgs(tokens).map(function (values) {\n var shadow = {\n color: 0x000000ff,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH,\n spread: ZERO_LENGTH,\n inset: false\n };\n var c = 0;\n for (var i = 0; i < values.length; i++) {\n var token = values[i];\n if (isIdentWithValue(token, 'inset')) {\n shadow.inset = true;\n }\n else if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n }\n else if (c === 1) {\n shadow.offsetY = token;\n }\n else if (c === 2) {\n shadow.blur = token;\n }\n else {\n shadow.spread = token;\n }\n c++;\n }\n else {\n shadow.color = color$1.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n\nvar paintOrder = {\n name: 'paint-order',\n initialValue: 'normal',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n var DEFAULT_VALUE = [0 /* FILL */, 1 /* STROKE */, 2 /* MARKERS */];\n var layers = [];\n tokens.filter(isIdentToken).forEach(function (token) {\n switch (token.value) {\n case 'stroke':\n layers.push(1 /* STROKE */);\n break;\n case 'fill':\n layers.push(0 /* FILL */);\n break;\n case 'markers':\n layers.push(2 /* MARKERS */);\n break;\n }\n });\n DEFAULT_VALUE.forEach(function (value) {\n if (layers.indexOf(value) === -1) {\n layers.push(value);\n }\n });\n return layers;\n }\n};\n\nvar webkitTextStrokeColor = {\n name: \"-webkit-text-stroke-color\",\n initialValue: 'currentcolor',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n};\n\nvar webkitTextStrokeWidth = {\n name: \"-webkit-text-stroke-width\",\n initialValue: '0',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n};\n\nvar CSSParsedDeclaration = /** @class */ (function () {\n function CSSParsedDeclaration(context, declaration) {\n var _a, _b;\n this.animationDuration = parse(context, duration, declaration.animationDuration);\n this.backgroundClip = parse(context, backgroundClip, declaration.backgroundClip);\n this.backgroundColor = parse(context, backgroundColor, declaration.backgroundColor);\n this.backgroundImage = parse(context, backgroundImage, declaration.backgroundImage);\n this.backgroundOrigin = parse(context, backgroundOrigin, declaration.backgroundOrigin);\n this.backgroundPosition = parse(context, backgroundPosition, declaration.backgroundPosition);\n this.backgroundRepeat = parse(context, backgroundRepeat, declaration.backgroundRepeat);\n this.backgroundSize = parse(context, backgroundSize, declaration.backgroundSize);\n this.borderTopColor = parse(context, borderTopColor, declaration.borderTopColor);\n this.borderRightColor = parse(context, borderRightColor, declaration.borderRightColor);\n this.borderBottomColor = parse(context, borderBottomColor, declaration.borderBottomColor);\n this.borderLeftColor = parse(context, borderLeftColor, declaration.borderLeftColor);\n this.borderTopLeftRadius = parse(context, borderTopLeftRadius, declaration.borderTopLeftRadius);\n this.borderTopRightRadius = parse(context, borderTopRightRadius, declaration.borderTopRightRadius);\n this.borderBottomRightRadius = parse(context, borderBottomRightRadius, declaration.borderBottomRightRadius);\n this.borderBottomLeftRadius = parse(context, borderBottomLeftRadius, declaration.borderBottomLeftRadius);\n this.borderTopStyle = parse(context, borderTopStyle, declaration.borderTopStyle);\n this.borderRightStyle = parse(context, borderRightStyle, declaration.borderRightStyle);\n this.borderBottomStyle = parse(context, borderBottomStyle, declaration.borderBottomStyle);\n this.borderLeftStyle = parse(context, borderLeftStyle, declaration.borderLeftStyle);\n this.borderTopWidth = parse(context, borderTopWidth, declaration.borderTopWidth);\n this.borderRightWidth = parse(context, borderRightWidth, declaration.borderRightWidth);\n this.borderBottomWidth = parse(context, borderBottomWidth, declaration.borderBottomWidth);\n this.borderLeftWidth = parse(context, borderLeftWidth, declaration.borderLeftWidth);\n this.boxShadow = parse(context, boxShadow, declaration.boxShadow);\n this.color = parse(context, color, declaration.color);\n this.direction = parse(context, direction, declaration.direction);\n this.display = parse(context, display, declaration.display);\n this.float = parse(context, float, declaration.cssFloat);\n this.fontFamily = parse(context, fontFamily, declaration.fontFamily);\n this.fontSize = parse(context, fontSize, declaration.fontSize);\n this.fontStyle = parse(context, fontStyle, declaration.fontStyle);\n this.fontVariant = parse(context, fontVariant, declaration.fontVariant);\n this.fontWeight = parse(context, fontWeight, declaration.fontWeight);\n this.letterSpacing = parse(context, letterSpacing, declaration.letterSpacing);\n this.lineBreak = parse(context, lineBreak, declaration.lineBreak);\n this.lineHeight = parse(context, lineHeight, declaration.lineHeight);\n this.listStyleImage = parse(context, listStyleImage, declaration.listStyleImage);\n this.listStylePosition = parse(context, listStylePosition, declaration.listStylePosition);\n this.listStyleType = parse(context, listStyleType, declaration.listStyleType);\n this.marginTop = parse(context, marginTop, declaration.marginTop);\n this.marginRight = parse(context, marginRight, declaration.marginRight);\n this.marginBottom = parse(context, marginBottom, declaration.marginBottom);\n this.marginLeft = parse(context, marginLeft, declaration.marginLeft);\n this.opacity = parse(context, opacity, declaration.opacity);\n var overflowTuple = parse(context, overflow, declaration.overflow);\n this.overflowX = overflowTuple[0];\n this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0];\n this.overflowWrap = parse(context, overflowWrap, declaration.overflowWrap);\n this.paddingTop = parse(context, paddingTop, declaration.paddingTop);\n this.paddingRight = parse(context, paddingRight, declaration.paddingRight);\n this.paddingBottom = parse(context, paddingBottom, declaration.paddingBottom);\n this.paddingLeft = parse(context, paddingLeft, declaration.paddingLeft);\n this.paintOrder = parse(context, paintOrder, declaration.paintOrder);\n this.position = parse(context, position, declaration.position);\n this.textAlign = parse(context, textAlign, declaration.textAlign);\n this.textDecorationColor = parse(context, textDecorationColor, (_a = declaration.textDecorationColor) !== null && _a !== void 0 ? _a : declaration.color);\n this.textDecorationLine = parse(context, textDecorationLine, (_b = declaration.textDecorationLine) !== null && _b !== void 0 ? _b : declaration.textDecoration);\n this.textShadow = parse(context, textShadow, declaration.textShadow);\n this.textTransform = parse(context, textTransform, declaration.textTransform);\n this.transform = parse(context, transform$1, declaration.transform);\n this.transformOrigin = parse(context, transformOrigin, declaration.transformOrigin);\n this.visibility = parse(context, visibility, declaration.visibility);\n this.webkitTextStrokeColor = parse(context, webkitTextStrokeColor, declaration.webkitTextStrokeColor);\n this.webkitTextStrokeWidth = parse(context, webkitTextStrokeWidth, declaration.webkitTextStrokeWidth);\n this.wordBreak = parse(context, wordBreak, declaration.wordBreak);\n this.zIndex = parse(context, zIndex, declaration.zIndex);\n }\n CSSParsedDeclaration.prototype.isVisible = function () {\n return this.display > 0 && this.opacity > 0 && this.visibility === 0 /* VISIBLE */;\n };\n CSSParsedDeclaration.prototype.isTransparent = function () {\n return isTransparent(this.backgroundColor);\n };\n CSSParsedDeclaration.prototype.isTransformed = function () {\n return this.transform !== null;\n };\n CSSParsedDeclaration.prototype.isPositioned = function () {\n return this.position !== 0 /* STATIC */;\n };\n CSSParsedDeclaration.prototype.isPositionedWithZIndex = function () {\n return this.isPositioned() && !this.zIndex.auto;\n };\n CSSParsedDeclaration.prototype.isFloating = function () {\n return this.float !== 0 /* NONE */;\n };\n CSSParsedDeclaration.prototype.isInlineLevel = function () {\n return (contains(this.display, 4 /* INLINE */) ||\n contains(this.display, 33554432 /* INLINE_BLOCK */) ||\n contains(this.display, 268435456 /* INLINE_FLEX */) ||\n contains(this.display, 536870912 /* INLINE_GRID */) ||\n contains(this.display, 67108864 /* INLINE_LIST_ITEM */) ||\n contains(this.display, 134217728 /* INLINE_TABLE */));\n };\n return CSSParsedDeclaration;\n}());\nvar CSSParsedPseudoDeclaration = /** @class */ (function () {\n function CSSParsedPseudoDeclaration(context, declaration) {\n this.content = parse(context, content, declaration.content);\n this.quotes = parse(context, quotes, declaration.quotes);\n }\n return CSSParsedPseudoDeclaration;\n}());\nvar CSSParsedCounterDeclaration = /** @class */ (function () {\n function CSSParsedCounterDeclaration(context, declaration) {\n this.counterIncrement = parse(context, counterIncrement, declaration.counterIncrement);\n this.counterReset = parse(context, counterReset, declaration.counterReset);\n }\n return CSSParsedCounterDeclaration;\n}());\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nvar parse = function (context, descriptor, style) {\n var tokenizer = new Tokenizer();\n var value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue;\n tokenizer.write(value);\n var parser = new Parser(tokenizer.read());\n switch (descriptor.type) {\n case 2 /* IDENT_VALUE */:\n var token = parser.parseComponentValue();\n return descriptor.parse(context, isIdentToken(token) ? token.value : descriptor.initialValue);\n case 0 /* VALUE */:\n return descriptor.parse(context, parser.parseComponentValue());\n case 1 /* LIST */:\n return descriptor.parse(context, parser.parseComponentValues());\n case 4 /* TOKEN_VALUE */:\n return parser.parseComponentValue();\n case 3 /* TYPE_VALUE */:\n switch (descriptor.format) {\n case 'angle':\n return angle.parse(context, parser.parseComponentValue());\n case 'color':\n return color$1.parse(context, parser.parseComponentValue());\n case 'image':\n return image.parse(context, parser.parseComponentValue());\n case 'length':\n var length_1 = parser.parseComponentValue();\n return isLength(length_1) ? length_1 : ZERO_LENGTH;\n case 'length-percentage':\n var value_1 = parser.parseComponentValue();\n return isLengthPercentage(value_1) ? value_1 : ZERO_LENGTH;\n case 'time':\n return time.parse(context, parser.parseComponentValue());\n }\n break;\n }\n};\n\nvar elementDebuggerAttribute = 'data-html2canvas-debug';\nvar getElementDebugType = function (element) {\n var attribute = element.getAttribute(elementDebuggerAttribute);\n switch (attribute) {\n case 'all':\n return 1 /* ALL */;\n case 'clone':\n return 2 /* CLONE */;\n case 'parse':\n return 3 /* PARSE */;\n case 'render':\n return 4 /* RENDER */;\n default:\n return 0 /* NONE */;\n }\n};\nvar isDebugging = function (element, type) {\n var elementType = getElementDebugType(element);\n return elementType === 1 /* ALL */ || type === elementType;\n};\n\nvar ElementContainer = /** @class */ (function () {\n function ElementContainer(context, element) {\n this.context = context;\n this.textNodes = [];\n this.elements = [];\n this.flags = 0;\n if (isDebugging(element, 3 /* PARSE */)) {\n debugger;\n }\n this.styles = new CSSParsedDeclaration(context, window.getComputedStyle(element, null));\n if (isHTMLElementNode(element)) {\n if (this.styles.animationDuration.some(function (duration) { return duration > 0; })) {\n element.style.animationDuration = '0s';\n }\n if (this.styles.transform !== null) {\n // getBoundingClientRect takes transforms into account\n element.style.transform = 'none';\n }\n }\n this.bounds = parseBounds(this.context, element);\n if (isDebugging(element, 4 /* RENDER */)) {\n this.flags |= 16 /* DEBUG_RENDER */;\n }\n }\n return ElementContainer;\n}());\n\n/*\n * text-segmentation 1.0.3 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\nvar base64 = 'AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=';\n\n/*\n * utrie 1.0.2 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\nvar chars$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$1 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$1 = 0; i$1 < chars$1.length; i$1++) {\n lookup$1[chars$1.charCodeAt(i$1)] = i$1;\n}\nvar decode = function (base64) {\n var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n var buffer = typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup$1[base64.charCodeAt(i)];\n encoded2 = lookup$1[base64.charCodeAt(i + 1)];\n encoded3 = lookup$1[base64.charCodeAt(i + 2)];\n encoded4 = lookup$1[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return buffer;\n};\nvar polyUint16Array = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\nvar polyUint32Array = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\n/** Shift size for getting the index-2 table offset. */\nvar UTRIE2_SHIFT_2 = 5;\n/** Shift size for getting the index-1 table offset. */\nvar UTRIE2_SHIFT_1 = 6 + 5;\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nvar UTRIE2_INDEX_SHIFT = 2;\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nvar UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nvar UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n/** Number of entries in a data block. 32=0x20 */\nvar UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nvar UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\nvar UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nvar UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nvar UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nvar UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nvar UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nvar UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n/** Number of entries in an index-2 block. 64=0x40 */\nvar UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nvar UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\nvar slice16 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\nvar slice32 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\nvar createTrieFromBase64 = function (base64, _byteLength) {\n var buffer = decode(base64);\n var view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n var view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n var headerLength = 24;\n var index = slice16(view16, headerLength / 2, view32[4] / 2);\n var data = view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\nvar Trie = /** @class */ (function () {\n function Trie(initialValue, errorValue, highStart, highValueIndex, index, data) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n Trie.prototype.get = function (codePoint) {\n var ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n };\n return Trie;\n}());\n\n/*\n * base64-arraybuffer 1.0.2 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nvar Prepend = 1;\nvar CR = 2;\nvar LF = 3;\nvar Control = 4;\nvar Extend = 5;\nvar SpacingMark = 7;\nvar L = 8;\nvar V = 9;\nvar T = 10;\nvar LV = 11;\nvar LVT = 12;\nvar ZWJ = 13;\nvar Extended_Pictographic = 14;\nvar RI = 15;\nvar toCodePoints = function (str) {\n var codePoints = [];\n var i = 0;\n var length = str.length;\n while (i < length) {\n var value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n var extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n }\n else {\n codePoints.push(value);\n i--;\n }\n }\n else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\nvar fromCodePoint = function () {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n if (String.fromCodePoint) {\n return String.fromCodePoint.apply(String, codePoints);\n }\n var length = codePoints.length;\n if (!length) {\n return '';\n }\n var codeUnits = [];\n var index = -1;\n var result = '';\n while (++index < length) {\n var codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n }\n else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode.apply(String, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\nvar UnicodeTrie = createTrieFromBase64(base64);\nvar BREAK_NOT_ALLOWED = '×';\nvar BREAK_ALLOWED = '÷';\nvar codePointToClass = function (codePoint) { return UnicodeTrie.get(codePoint); };\nvar _graphemeBreakAtIndex = function (_codePoints, classTypes, index) {\n var prevIndex = index - 2;\n var prev = classTypes[prevIndex];\n var current = classTypes[index - 1];\n var next = classTypes[index];\n // GB3 Do not break between a CR and LF\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n // GB4 Otherwise, break before and after controls.\n if (current === CR || current === LF || current === Control) {\n return BREAK_ALLOWED;\n }\n // GB5\n if (next === CR || next === LF || next === Control) {\n return BREAK_ALLOWED;\n }\n // Do not break Hangul syllable sequences.\n // GB6\n if (current === L && [L, V, LV, LVT].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n // GB7\n if ((current === LV || current === V) && (next === V || next === T)) {\n return BREAK_NOT_ALLOWED;\n }\n // GB8\n if ((current === LVT || current === T) && next === T) {\n return BREAK_NOT_ALLOWED;\n }\n // GB9 Do not break before extending characters or ZWJ.\n if (next === ZWJ || next === Extend) {\n return BREAK_NOT_ALLOWED;\n }\n // Do not break before SpacingMarks, or after Prepend characters.\n // GB9a\n if (next === SpacingMark) {\n return BREAK_NOT_ALLOWED;\n }\n // GB9a\n if (current === Prepend) {\n return BREAK_NOT_ALLOWED;\n }\n // GB11 Do not break within emoji modifier sequences or emoji zwj sequences.\n if (current === ZWJ && next === Extended_Pictographic) {\n while (prev === Extend) {\n prev = classTypes[--prevIndex];\n }\n if (prev === Extended_Pictographic) {\n return BREAK_NOT_ALLOWED;\n }\n }\n // GB12 Do not break within emoji flag sequences.\n // That is, do not break between regional indicator (RI) symbols\n // if there is an odd number of RI characters before the break point.\n if (current === RI && next === RI) {\n var countRI = 0;\n while (prev === RI) {\n countRI++;\n prev = classTypes[--prevIndex];\n }\n if (countRI % 2 === 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n return BREAK_ALLOWED;\n};\nvar GraphemeBreaker = function (str) {\n var codePoints = toCodePoints(str);\n var length = codePoints.length;\n var index = 0;\n var lastEnd = 0;\n var classTypes = codePoints.map(codePointToClass);\n return {\n next: function () {\n if (index >= length) {\n return { done: true, value: null };\n }\n var graphemeBreak = BREAK_NOT_ALLOWED;\n while (index < length &&\n (graphemeBreak = _graphemeBreakAtIndex(codePoints, classTypes, ++index)) === BREAK_NOT_ALLOWED) { }\n if (graphemeBreak !== BREAK_NOT_ALLOWED || index === length) {\n var value = fromCodePoint.apply(null, codePoints.slice(lastEnd, index));\n lastEnd = index;\n return { value: value, done: false };\n }\n return { done: true, value: null };\n },\n };\n};\nvar splitGraphemes = function (str) {\n var breaker = GraphemeBreaker(str);\n var graphemes = [];\n var bk;\n while (!(bk = breaker.next()).done) {\n if (bk.value) {\n graphemes.push(bk.value.slice());\n }\n }\n return graphemes;\n};\n\nvar testRangeBounds = function (document) {\n var TEST_HEIGHT = 123;\n if (document.createRange) {\n var range = document.createRange();\n if (range.getBoundingClientRect) {\n var testElement = document.createElement('boundtest');\n testElement.style.height = TEST_HEIGHT + \"px\";\n testElement.style.display = 'block';\n document.body.appendChild(testElement);\n range.selectNode(testElement);\n var rangeBounds = range.getBoundingClientRect();\n var rangeHeight = Math.round(rangeBounds.height);\n document.body.removeChild(testElement);\n if (rangeHeight === TEST_HEIGHT) {\n return true;\n }\n }\n }\n return false;\n};\nvar testIOSLineBreak = function (document) {\n var testElement = document.createElement('boundtest');\n testElement.style.width = '50px';\n testElement.style.display = 'block';\n testElement.style.fontSize = '12px';\n testElement.style.letterSpacing = '0px';\n testElement.style.wordSpacing = '0px';\n document.body.appendChild(testElement);\n var range = document.createRange();\n testElement.innerHTML = typeof ''.repeat === 'function' ? '👨'.repeat(10) : '';\n var node = testElement.firstChild;\n var textList = toCodePoints$1(node.data).map(function (i) { return fromCodePoint$1(i); });\n var offset = 0;\n var prev = {};\n // ios 13 does not handle range getBoundingClientRect line changes correctly #2177\n var supports = textList.every(function (text, i) {\n range.setStart(node, offset);\n range.setEnd(node, offset + text.length);\n var rect = range.getBoundingClientRect();\n offset += text.length;\n var boundAhead = rect.x > prev.x || rect.y > prev.y;\n prev = rect;\n if (i === 0) {\n return true;\n }\n return boundAhead;\n });\n document.body.removeChild(testElement);\n return supports;\n};\nvar testCORS = function () { return typeof new Image().crossOrigin !== 'undefined'; };\nvar testResponseType = function () { return typeof new XMLHttpRequest().responseType === 'string'; };\nvar testSVG = function (document) {\n var img = new Image();\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return false;\n }\n img.src = \"data:image/svg+xml,\";\n try {\n ctx.drawImage(img, 0, 0);\n canvas.toDataURL();\n }\n catch (e) {\n return false;\n }\n return true;\n};\nvar isGreenPixel = function (data) {\n return data[0] === 0 && data[1] === 255 && data[2] === 0 && data[3] === 255;\n};\nvar testForeignObject = function (document) {\n var canvas = document.createElement('canvas');\n var size = 100;\n canvas.width = size;\n canvas.height = size;\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return Promise.reject(false);\n }\n ctx.fillStyle = 'rgb(0, 255, 0)';\n ctx.fillRect(0, 0, size, size);\n var img = new Image();\n var greenImageSrc = canvas.toDataURL();\n img.src = greenImageSrc;\n var svg = createForeignObjectSVG(size, size, 0, 0, img);\n ctx.fillStyle = 'red';\n ctx.fillRect(0, 0, size, size);\n return loadSerializedSVG$1(svg)\n .then(function (img) {\n ctx.drawImage(img, 0, 0);\n var data = ctx.getImageData(0, 0, size, size).data;\n ctx.fillStyle = 'red';\n ctx.fillRect(0, 0, size, size);\n var node = document.createElement('div');\n node.style.backgroundImage = \"url(\" + greenImageSrc + \")\";\n node.style.height = size + \"px\";\n // Firefox 55 does not render inline tags\n return isGreenPixel(data)\n ? loadSerializedSVG$1(createForeignObjectSVG(size, size, 0, 0, node))\n : Promise.reject(false);\n })\n .then(function (img) {\n ctx.drawImage(img, 0, 0);\n // Edge does not render background-images\n return isGreenPixel(ctx.getImageData(0, 0, size, size).data);\n })\n .catch(function () { return false; });\n};\nvar createForeignObjectSVG = function (width, height, x, y, node) {\n var xmlns = 'http://www.w3.org/2000/svg';\n var svg = document.createElementNS(xmlns, 'svg');\n var foreignObject = document.createElementNS(xmlns, 'foreignObject');\n svg.setAttributeNS(null, 'width', width.toString());\n svg.setAttributeNS(null, 'height', height.toString());\n foreignObject.setAttributeNS(null, 'width', '100%');\n foreignObject.setAttributeNS(null, 'height', '100%');\n foreignObject.setAttributeNS(null, 'x', x.toString());\n foreignObject.setAttributeNS(null, 'y', y.toString());\n foreignObject.setAttributeNS(null, 'externalResourcesRequired', 'true');\n svg.appendChild(foreignObject);\n foreignObject.appendChild(node);\n return svg;\n};\nvar loadSerializedSVG$1 = function (svg) {\n return new Promise(function (resolve, reject) {\n var img = new Image();\n img.onload = function () { return resolve(img); };\n img.onerror = reject;\n img.src = \"data:image/svg+xml;charset=utf-8,\" + encodeURIComponent(new XMLSerializer().serializeToString(svg));\n });\n};\nvar FEATURES = {\n get SUPPORT_RANGE_BOUNDS() {\n var value = testRangeBounds(document);\n Object.defineProperty(FEATURES, 'SUPPORT_RANGE_BOUNDS', { value: value });\n return value;\n },\n get SUPPORT_WORD_BREAKING() {\n var value = FEATURES.SUPPORT_RANGE_BOUNDS && testIOSLineBreak(document);\n Object.defineProperty(FEATURES, 'SUPPORT_WORD_BREAKING', { value: value });\n return value;\n },\n get SUPPORT_SVG_DRAWING() {\n var value = testSVG(document);\n Object.defineProperty(FEATURES, 'SUPPORT_SVG_DRAWING', { value: value });\n return value;\n },\n get SUPPORT_FOREIGNOBJECT_DRAWING() {\n var value = typeof Array.from === 'function' && typeof window.fetch === 'function'\n ? testForeignObject(document)\n : Promise.resolve(false);\n Object.defineProperty(FEATURES, 'SUPPORT_FOREIGNOBJECT_DRAWING', { value: value });\n return value;\n },\n get SUPPORT_CORS_IMAGES() {\n var value = testCORS();\n Object.defineProperty(FEATURES, 'SUPPORT_CORS_IMAGES', { value: value });\n return value;\n },\n get SUPPORT_RESPONSE_TYPE() {\n var value = testResponseType();\n Object.defineProperty(FEATURES, 'SUPPORT_RESPONSE_TYPE', { value: value });\n return value;\n },\n get SUPPORT_CORS_XHR() {\n var value = 'withCredentials' in new XMLHttpRequest();\n Object.defineProperty(FEATURES, 'SUPPORT_CORS_XHR', { value: value });\n return value;\n },\n get SUPPORT_NATIVE_TEXT_SEGMENTATION() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var value = !!(typeof Intl !== 'undefined' && Intl.Segmenter);\n Object.defineProperty(FEATURES, 'SUPPORT_NATIVE_TEXT_SEGMENTATION', { value: value });\n return value;\n }\n};\n\nvar TextBounds = /** @class */ (function () {\n function TextBounds(text, bounds) {\n this.text = text;\n this.bounds = bounds;\n }\n return TextBounds;\n}());\nvar parseTextBounds = function (context, value, styles, node) {\n var textList = breakText(value, styles);\n var textBounds = [];\n var offset = 0;\n textList.forEach(function (text) {\n if (styles.textDecorationLine.length || text.trim().length > 0) {\n if (FEATURES.SUPPORT_RANGE_BOUNDS) {\n var clientRects = createRange(node, offset, text.length).getClientRects();\n if (clientRects.length > 1) {\n var subSegments = segmentGraphemes(text);\n var subOffset_1 = 0;\n subSegments.forEach(function (subSegment) {\n textBounds.push(new TextBounds(subSegment, Bounds.fromDOMRectList(context, createRange(node, subOffset_1 + offset, subSegment.length).getClientRects())));\n subOffset_1 += subSegment.length;\n });\n }\n else {\n textBounds.push(new TextBounds(text, Bounds.fromDOMRectList(context, clientRects)));\n }\n }\n else {\n var replacementNode = node.splitText(text.length);\n textBounds.push(new TextBounds(text, getWrapperBounds(context, node)));\n node = replacementNode;\n }\n }\n else if (!FEATURES.SUPPORT_RANGE_BOUNDS) {\n node = node.splitText(text.length);\n }\n offset += text.length;\n });\n return textBounds;\n};\nvar getWrapperBounds = function (context, node) {\n var ownerDocument = node.ownerDocument;\n if (ownerDocument) {\n var wrapper = ownerDocument.createElement('html2canvaswrapper');\n wrapper.appendChild(node.cloneNode(true));\n var parentNode = node.parentNode;\n if (parentNode) {\n parentNode.replaceChild(wrapper, node);\n var bounds = parseBounds(context, wrapper);\n if (wrapper.firstChild) {\n parentNode.replaceChild(wrapper.firstChild, wrapper);\n }\n return bounds;\n }\n }\n return Bounds.EMPTY;\n};\nvar createRange = function (node, offset, length) {\n var ownerDocument = node.ownerDocument;\n if (!ownerDocument) {\n throw new Error('Node has no owner document');\n }\n var range = ownerDocument.createRange();\n range.setStart(node, offset);\n range.setEnd(node, offset + length);\n return range;\n};\nvar segmentGraphemes = function (value) {\n if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var segmenter = new Intl.Segmenter(void 0, { granularity: 'grapheme' });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return Array.from(segmenter.segment(value)).map(function (segment) { return segment.segment; });\n }\n return splitGraphemes(value);\n};\nvar segmentWords = function (value, styles) {\n if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var segmenter = new Intl.Segmenter(void 0, {\n granularity: 'word'\n });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return Array.from(segmenter.segment(value)).map(function (segment) { return segment.segment; });\n }\n return breakWords(value, styles);\n};\nvar breakText = function (value, styles) {\n return styles.letterSpacing !== 0 ? segmentGraphemes(value) : segmentWords(value, styles);\n};\n// https://drafts.csswg.org/css-text/#word-separator\nvar wordSeparators = [0x0020, 0x00a0, 0x1361, 0x10100, 0x10101, 0x1039, 0x1091];\nvar breakWords = function (str, styles) {\n var breaker = LineBreaker(str, {\n lineBreak: styles.lineBreak,\n wordBreak: styles.overflowWrap === \"break-word\" /* BREAK_WORD */ ? 'break-word' : styles.wordBreak\n });\n var words = [];\n var bk;\n var _loop_1 = function () {\n if (bk.value) {\n var value = bk.value.slice();\n var codePoints = toCodePoints$1(value);\n var word_1 = '';\n codePoints.forEach(function (codePoint) {\n if (wordSeparators.indexOf(codePoint) === -1) {\n word_1 += fromCodePoint$1(codePoint);\n }\n else {\n if (word_1.length) {\n words.push(word_1);\n }\n words.push(fromCodePoint$1(codePoint));\n word_1 = '';\n }\n });\n if (word_1.length) {\n words.push(word_1);\n }\n }\n };\n while (!(bk = breaker.next()).done) {\n _loop_1();\n }\n return words;\n};\n\nvar TextContainer = /** @class */ (function () {\n function TextContainer(context, node, styles) {\n this.text = transform(node.data, styles.textTransform);\n this.textBounds = parseTextBounds(context, this.text, styles, node);\n }\n return TextContainer;\n}());\nvar transform = function (text, transform) {\n switch (transform) {\n case 1 /* LOWERCASE */:\n return text.toLowerCase();\n case 3 /* CAPITALIZE */:\n return text.replace(CAPITALIZE, capitalize);\n case 2 /* UPPERCASE */:\n return text.toUpperCase();\n default:\n return text;\n }\n};\nvar CAPITALIZE = /(^|\\s|:|-|\\(|\\))([a-z])/g;\nvar capitalize = function (m, p1, p2) {\n if (m.length > 0) {\n return p1 + p2.toUpperCase();\n }\n return m;\n};\n\nvar ImageElementContainer = /** @class */ (function (_super) {\n __extends(ImageElementContainer, _super);\n function ImageElementContainer(context, img) {\n var _this = _super.call(this, context, img) || this;\n _this.src = img.currentSrc || img.src;\n _this.intrinsicWidth = img.naturalWidth;\n _this.intrinsicHeight = img.naturalHeight;\n _this.context.cache.addImage(_this.src);\n return _this;\n }\n return ImageElementContainer;\n}(ElementContainer));\n\nvar CanvasElementContainer = /** @class */ (function (_super) {\n __extends(CanvasElementContainer, _super);\n function CanvasElementContainer(context, canvas) {\n var _this = _super.call(this, context, canvas) || this;\n _this.canvas = canvas;\n _this.intrinsicWidth = canvas.width;\n _this.intrinsicHeight = canvas.height;\n return _this;\n }\n return CanvasElementContainer;\n}(ElementContainer));\n\nvar SVGElementContainer = /** @class */ (function (_super) {\n __extends(SVGElementContainer, _super);\n function SVGElementContainer(context, img) {\n var _this = _super.call(this, context, img) || this;\n var s = new XMLSerializer();\n var bounds = parseBounds(context, img);\n img.setAttribute('width', bounds.width + \"px\");\n img.setAttribute('height', bounds.height + \"px\");\n _this.svg = \"data:image/svg+xml,\" + encodeURIComponent(s.serializeToString(img));\n _this.intrinsicWidth = img.width.baseVal.value;\n _this.intrinsicHeight = img.height.baseVal.value;\n _this.context.cache.addImage(_this.svg);\n return _this;\n }\n return SVGElementContainer;\n}(ElementContainer));\n\nvar LIElementContainer = /** @class */ (function (_super) {\n __extends(LIElementContainer, _super);\n function LIElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n _this.value = element.value;\n return _this;\n }\n return LIElementContainer;\n}(ElementContainer));\n\nvar OLElementContainer = /** @class */ (function (_super) {\n __extends(OLElementContainer, _super);\n function OLElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n _this.start = element.start;\n _this.reversed = typeof element.reversed === 'boolean' && element.reversed === true;\n return _this;\n }\n return OLElementContainer;\n}(ElementContainer));\n\nvar CHECKBOX_BORDER_RADIUS = [\n {\n type: 15 /* DIMENSION_TOKEN */,\n flags: 0,\n unit: 'px',\n number: 3\n }\n];\nvar RADIO_BORDER_RADIUS = [\n {\n type: 16 /* PERCENTAGE_TOKEN */,\n flags: 0,\n number: 50\n }\n];\nvar reformatInputBounds = function (bounds) {\n if (bounds.width > bounds.height) {\n return new Bounds(bounds.left + (bounds.width - bounds.height) / 2, bounds.top, bounds.height, bounds.height);\n }\n else if (bounds.width < bounds.height) {\n return new Bounds(bounds.left, bounds.top + (bounds.height - bounds.width) / 2, bounds.width, bounds.width);\n }\n return bounds;\n};\nvar getInputValue = function (node) {\n var value = node.type === PASSWORD ? new Array(node.value.length + 1).join('\\u2022') : node.value;\n return value.length === 0 ? node.placeholder || '' : value;\n};\nvar CHECKBOX = 'checkbox';\nvar RADIO = 'radio';\nvar PASSWORD = 'password';\nvar INPUT_COLOR = 0x2a2a2aff;\nvar InputElementContainer = /** @class */ (function (_super) {\n __extends(InputElementContainer, _super);\n function InputElementContainer(context, input) {\n var _this = _super.call(this, context, input) || this;\n _this.type = input.type.toLowerCase();\n _this.checked = input.checked;\n _this.value = getInputValue(input);\n if (_this.type === CHECKBOX || _this.type === RADIO) {\n _this.styles.backgroundColor = 0xdededeff;\n _this.styles.borderTopColor =\n _this.styles.borderRightColor =\n _this.styles.borderBottomColor =\n _this.styles.borderLeftColor =\n 0xa5a5a5ff;\n _this.styles.borderTopWidth =\n _this.styles.borderRightWidth =\n _this.styles.borderBottomWidth =\n _this.styles.borderLeftWidth =\n 1;\n _this.styles.borderTopStyle =\n _this.styles.borderRightStyle =\n _this.styles.borderBottomStyle =\n _this.styles.borderLeftStyle =\n 1 /* SOLID */;\n _this.styles.backgroundClip = [0 /* BORDER_BOX */];\n _this.styles.backgroundOrigin = [0 /* BORDER_BOX */];\n _this.bounds = reformatInputBounds(_this.bounds);\n }\n switch (_this.type) {\n case CHECKBOX:\n _this.styles.borderTopRightRadius =\n _this.styles.borderTopLeftRadius =\n _this.styles.borderBottomRightRadius =\n _this.styles.borderBottomLeftRadius =\n CHECKBOX_BORDER_RADIUS;\n break;\n case RADIO:\n _this.styles.borderTopRightRadius =\n _this.styles.borderTopLeftRadius =\n _this.styles.borderBottomRightRadius =\n _this.styles.borderBottomLeftRadius =\n RADIO_BORDER_RADIUS;\n break;\n }\n return _this;\n }\n return InputElementContainer;\n}(ElementContainer));\n\nvar SelectElementContainer = /** @class */ (function (_super) {\n __extends(SelectElementContainer, _super);\n function SelectElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n var option = element.options[element.selectedIndex || 0];\n _this.value = option ? option.text || '' : '';\n return _this;\n }\n return SelectElementContainer;\n}(ElementContainer));\n\nvar TextareaElementContainer = /** @class */ (function (_super) {\n __extends(TextareaElementContainer, _super);\n function TextareaElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n _this.value = element.value;\n return _this;\n }\n return TextareaElementContainer;\n}(ElementContainer));\n\nvar IFrameElementContainer = /** @class */ (function (_super) {\n __extends(IFrameElementContainer, _super);\n function IFrameElementContainer(context, iframe) {\n var _this = _super.call(this, context, iframe) || this;\n _this.src = iframe.src;\n _this.width = parseInt(iframe.width, 10) || 0;\n _this.height = parseInt(iframe.height, 10) || 0;\n _this.backgroundColor = _this.styles.backgroundColor;\n try {\n if (iframe.contentWindow &&\n iframe.contentWindow.document &&\n iframe.contentWindow.document.documentElement) {\n _this.tree = parseTree(context, iframe.contentWindow.document.documentElement);\n // http://www.w3.org/TR/css3-background/#special-backgrounds\n var documentBackgroundColor = iframe.contentWindow.document.documentElement\n ? parseColor(context, getComputedStyle(iframe.contentWindow.document.documentElement).backgroundColor)\n : COLORS.TRANSPARENT;\n var bodyBackgroundColor = iframe.contentWindow.document.body\n ? parseColor(context, getComputedStyle(iframe.contentWindow.document.body).backgroundColor)\n : COLORS.TRANSPARENT;\n _this.backgroundColor = isTransparent(documentBackgroundColor)\n ? isTransparent(bodyBackgroundColor)\n ? _this.styles.backgroundColor\n : bodyBackgroundColor\n : documentBackgroundColor;\n }\n }\n catch (e) { }\n return _this;\n }\n return IFrameElementContainer;\n}(ElementContainer));\n\nvar LIST_OWNERS = ['OL', 'UL', 'MENU'];\nvar parseNodeTree = function (context, node, parent, root) {\n for (var childNode = node.firstChild, nextNode = void 0; childNode; childNode = nextNode) {\n nextNode = childNode.nextSibling;\n if (isTextNode(childNode) && childNode.data.trim().length > 0) {\n parent.textNodes.push(new TextContainer(context, childNode, parent.styles));\n }\n else if (isElementNode(childNode)) {\n if (isSlotElement(childNode) && childNode.assignedNodes) {\n childNode.assignedNodes().forEach(function (childNode) { return parseNodeTree(context, childNode, parent, root); });\n }\n else {\n var container = createContainer(context, childNode);\n if (container.styles.isVisible()) {\n if (createsRealStackingContext(childNode, container, root)) {\n container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */;\n }\n else if (createsStackingContext(container.styles)) {\n container.flags |= 2 /* CREATES_STACKING_CONTEXT */;\n }\n if (LIST_OWNERS.indexOf(childNode.tagName) !== -1) {\n container.flags |= 8 /* IS_LIST_OWNER */;\n }\n parent.elements.push(container);\n childNode.slot;\n if (childNode.shadowRoot) {\n parseNodeTree(context, childNode.shadowRoot, container, root);\n }\n else if (!isTextareaElement(childNode) &&\n !isSVGElement(childNode) &&\n !isSelectElement(childNode)) {\n parseNodeTree(context, childNode, container, root);\n }\n }\n }\n }\n }\n};\nvar createContainer = function (context, element) {\n if (isImageElement(element)) {\n return new ImageElementContainer(context, element);\n }\n if (isCanvasElement(element)) {\n return new CanvasElementContainer(context, element);\n }\n if (isSVGElement(element)) {\n return new SVGElementContainer(context, element);\n }\n if (isLIElement(element)) {\n return new LIElementContainer(context, element);\n }\n if (isOLElement(element)) {\n return new OLElementContainer(context, element);\n }\n if (isInputElement(element)) {\n return new InputElementContainer(context, element);\n }\n if (isSelectElement(element)) {\n return new SelectElementContainer(context, element);\n }\n if (isTextareaElement(element)) {\n return new TextareaElementContainer(context, element);\n }\n if (isIFrameElement(element)) {\n return new IFrameElementContainer(context, element);\n }\n return new ElementContainer(context, element);\n};\nvar parseTree = function (context, element) {\n var container = createContainer(context, element);\n container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */;\n parseNodeTree(context, element, container, container);\n return container;\n};\nvar createsRealStackingContext = function (node, container, root) {\n return (container.styles.isPositionedWithZIndex() ||\n container.styles.opacity < 1 ||\n container.styles.isTransformed() ||\n (isBodyElement(node) && root.styles.isTransparent()));\n};\nvar createsStackingContext = function (styles) { return styles.isPositioned() || styles.isFloating(); };\nvar isTextNode = function (node) { return node.nodeType === Node.TEXT_NODE; };\nvar isElementNode = function (node) { return node.nodeType === Node.ELEMENT_NODE; };\nvar isHTMLElementNode = function (node) {\n return isElementNode(node) && typeof node.style !== 'undefined' && !isSVGElementNode(node);\n};\nvar isSVGElementNode = function (element) {\n return typeof element.className === 'object';\n};\nvar isLIElement = function (node) { return node.tagName === 'LI'; };\nvar isOLElement = function (node) { return node.tagName === 'OL'; };\nvar isInputElement = function (node) { return node.tagName === 'INPUT'; };\nvar isHTMLElement = function (node) { return node.tagName === 'HTML'; };\nvar isSVGElement = function (node) { return node.tagName === 'svg'; };\nvar isBodyElement = function (node) { return node.tagName === 'BODY'; };\nvar isCanvasElement = function (node) { return node.tagName === 'CANVAS'; };\nvar isVideoElement = function (node) { return node.tagName === 'VIDEO'; };\nvar isImageElement = function (node) { return node.tagName === 'IMG'; };\nvar isIFrameElement = function (node) { return node.tagName === 'IFRAME'; };\nvar isStyleElement = function (node) { return node.tagName === 'STYLE'; };\nvar isScriptElement = function (node) { return node.tagName === 'SCRIPT'; };\nvar isTextareaElement = function (node) { return node.tagName === 'TEXTAREA'; };\nvar isSelectElement = function (node) { return node.tagName === 'SELECT'; };\nvar isSlotElement = function (node) { return node.tagName === 'SLOT'; };\n// https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\nvar isCustomElement = function (node) { return node.tagName.indexOf('-') > 0; };\n\nvar CounterState = /** @class */ (function () {\n function CounterState() {\n this.counters = {};\n }\n CounterState.prototype.getCounterValue = function (name) {\n var counter = this.counters[name];\n if (counter && counter.length) {\n return counter[counter.length - 1];\n }\n return 1;\n };\n CounterState.prototype.getCounterValues = function (name) {\n var counter = this.counters[name];\n return counter ? counter : [];\n };\n CounterState.prototype.pop = function (counters) {\n var _this = this;\n counters.forEach(function (counter) { return _this.counters[counter].pop(); });\n };\n CounterState.prototype.parse = function (style) {\n var _this = this;\n var counterIncrement = style.counterIncrement;\n var counterReset = style.counterReset;\n var canReset = true;\n if (counterIncrement !== null) {\n counterIncrement.forEach(function (entry) {\n var counter = _this.counters[entry.counter];\n if (counter && entry.increment !== 0) {\n canReset = false;\n if (!counter.length) {\n counter.push(1);\n }\n counter[Math.max(0, counter.length - 1)] += entry.increment;\n }\n });\n }\n var counterNames = [];\n if (canReset) {\n counterReset.forEach(function (entry) {\n var counter = _this.counters[entry.counter];\n counterNames.push(entry.counter);\n if (!counter) {\n counter = _this.counters[entry.counter] = [];\n }\n counter.push(entry.reset);\n });\n }\n return counterNames;\n };\n return CounterState;\n}());\nvar ROMAN_UPPER = {\n integers: [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1],\n values: ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I']\n};\nvar ARMENIAN = {\n integers: [\n 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90, 80, 70,\n 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n ],\n values: [\n 'Ք',\n 'Փ',\n 'Ւ',\n 'Ց',\n 'Ր',\n 'Տ',\n 'Վ',\n 'Ս',\n 'Ռ',\n 'Ջ',\n 'Պ',\n 'Չ',\n 'Ո',\n 'Շ',\n 'Ն',\n 'Յ',\n 'Մ',\n 'Ճ',\n 'Ղ',\n 'Ձ',\n 'Հ',\n 'Կ',\n 'Ծ',\n 'Խ',\n 'Լ',\n 'Ի',\n 'Ժ',\n 'Թ',\n 'Ը',\n 'Է',\n 'Զ',\n 'Ե',\n 'Դ',\n 'Գ',\n 'Բ',\n 'Ա'\n ]\n};\nvar HEBREW = {\n integers: [\n 10000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20,\n 19, 18, 17, 16, 15, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n ],\n values: [\n 'י׳',\n 'ט׳',\n 'ח׳',\n 'ז׳',\n 'ו׳',\n 'ה׳',\n 'ד׳',\n 'ג׳',\n 'ב׳',\n 'א׳',\n 'ת',\n 'ש',\n 'ר',\n 'ק',\n 'צ',\n 'פ',\n 'ע',\n 'ס',\n 'נ',\n 'מ',\n 'ל',\n 'כ',\n 'יט',\n 'יח',\n 'יז',\n 'טז',\n 'טו',\n 'י',\n 'ט',\n 'ח',\n 'ז',\n 'ו',\n 'ה',\n 'ד',\n 'ג',\n 'ב',\n 'א'\n ]\n};\nvar GEORGIAN = {\n integers: [\n 10000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90,\n 80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n ],\n values: [\n 'ჵ',\n 'ჰ',\n 'ჯ',\n 'ჴ',\n 'ხ',\n 'ჭ',\n 'წ',\n 'ძ',\n 'ც',\n 'ჩ',\n 'შ',\n 'ყ',\n 'ღ',\n 'ქ',\n 'ფ',\n 'ჳ',\n 'ტ',\n 'ს',\n 'რ',\n 'ჟ',\n 'პ',\n 'ო',\n 'ჲ',\n 'ნ',\n 'მ',\n 'ლ',\n 'კ',\n 'ი',\n 'თ',\n 'ჱ',\n 'ზ',\n 'ვ',\n 'ე',\n 'დ',\n 'გ',\n 'ბ',\n 'ა'\n ]\n};\nvar createAdditiveCounter = function (value, min, max, symbols, fallback, suffix) {\n if (value < min || value > max) {\n return createCounterText(value, fallback, suffix.length > 0);\n }\n return (symbols.integers.reduce(function (string, integer, index) {\n while (value >= integer) {\n value -= integer;\n string += symbols.values[index];\n }\n return string;\n }, '') + suffix);\n};\nvar createCounterStyleWithSymbolResolver = function (value, codePointRangeLength, isNumeric, resolver) {\n var string = '';\n do {\n if (!isNumeric) {\n value--;\n }\n string = resolver(value) + string;\n value /= codePointRangeLength;\n } while (value * codePointRangeLength >= codePointRangeLength);\n return string;\n};\nvar createCounterStyleFromRange = function (value, codePointRangeStart, codePointRangeEnd, isNumeric, suffix) {\n var codePointRangeLength = codePointRangeEnd - codePointRangeStart + 1;\n return ((value < 0 ? '-' : '') +\n (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, isNumeric, function (codePoint) {\n return fromCodePoint$1(Math.floor(codePoint % codePointRangeLength) + codePointRangeStart);\n }) +\n suffix));\n};\nvar createCounterStyleFromSymbols = function (value, symbols, suffix) {\n if (suffix === void 0) { suffix = '. '; }\n var codePointRangeLength = symbols.length;\n return (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, false, function (codePoint) { return symbols[Math.floor(codePoint % codePointRangeLength)]; }) + suffix);\n};\nvar CJK_ZEROS = 1 << 0;\nvar CJK_TEN_COEFFICIENTS = 1 << 1;\nvar CJK_TEN_HIGH_COEFFICIENTS = 1 << 2;\nvar CJK_HUNDRED_COEFFICIENTS = 1 << 3;\nvar createCJKCounter = function (value, numbers, multipliers, negativeSign, suffix, flags) {\n if (value < -9999 || value > 9999) {\n return createCounterText(value, 4 /* CJK_DECIMAL */, suffix.length > 0);\n }\n var tmp = Math.abs(value);\n var string = suffix;\n if (tmp === 0) {\n return numbers[0] + string;\n }\n for (var digit = 0; tmp > 0 && digit <= 4; digit++) {\n var coefficient = tmp % 10;\n if (coefficient === 0 && contains(flags, CJK_ZEROS) && string !== '') {\n string = numbers[coefficient] + string;\n }\n else if (coefficient > 1 ||\n (coefficient === 1 && digit === 0) ||\n (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_COEFFICIENTS)) ||\n (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_HIGH_COEFFICIENTS) && value > 100) ||\n (coefficient === 1 && digit > 1 && contains(flags, CJK_HUNDRED_COEFFICIENTS))) {\n string = numbers[coefficient] + (digit > 0 ? multipliers[digit - 1] : '') + string;\n }\n else if (coefficient === 1 && digit > 0) {\n string = multipliers[digit - 1] + string;\n }\n tmp = Math.floor(tmp / 10);\n }\n return (value < 0 ? negativeSign : '') + string;\n};\nvar CHINESE_INFORMAL_MULTIPLIERS = '十百千萬';\nvar CHINESE_FORMAL_MULTIPLIERS = '拾佰仟萬';\nvar JAPANESE_NEGATIVE = 'マイナス';\nvar KOREAN_NEGATIVE = '마이너스';\nvar createCounterText = function (value, type, appendSuffix) {\n var defaultSuffix = appendSuffix ? '. ' : '';\n var cjkSuffix = appendSuffix ? '、' : '';\n var koreanSuffix = appendSuffix ? ', ' : '';\n var spaceSuffix = appendSuffix ? ' ' : '';\n switch (type) {\n case 0 /* DISC */:\n return '•' + spaceSuffix;\n case 1 /* CIRCLE */:\n return '◦' + spaceSuffix;\n case 2 /* SQUARE */:\n return '◾' + spaceSuffix;\n case 5 /* DECIMAL_LEADING_ZERO */:\n var string = createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);\n return string.length < 4 ? \"0\" + string : string;\n case 4 /* CJK_DECIMAL */:\n return createCounterStyleFromSymbols(value, '〇一二三四五六七八九', cjkSuffix);\n case 6 /* LOWER_ROMAN */:\n return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, 3 /* DECIMAL */, defaultSuffix).toLowerCase();\n case 7 /* UPPER_ROMAN */:\n return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, 3 /* DECIMAL */, defaultSuffix);\n case 8 /* LOWER_GREEK */:\n return createCounterStyleFromRange(value, 945, 969, false, defaultSuffix);\n case 9 /* LOWER_ALPHA */:\n return createCounterStyleFromRange(value, 97, 122, false, defaultSuffix);\n case 10 /* UPPER_ALPHA */:\n return createCounterStyleFromRange(value, 65, 90, false, defaultSuffix);\n case 11 /* ARABIC_INDIC */:\n return createCounterStyleFromRange(value, 1632, 1641, true, defaultSuffix);\n case 12 /* ARMENIAN */:\n case 49 /* UPPER_ARMENIAN */:\n return createAdditiveCounter(value, 1, 9999, ARMENIAN, 3 /* DECIMAL */, defaultSuffix);\n case 35 /* LOWER_ARMENIAN */:\n return createAdditiveCounter(value, 1, 9999, ARMENIAN, 3 /* DECIMAL */, defaultSuffix).toLowerCase();\n case 13 /* BENGALI */:\n return createCounterStyleFromRange(value, 2534, 2543, true, defaultSuffix);\n case 14 /* CAMBODIAN */:\n case 30 /* KHMER */:\n return createCounterStyleFromRange(value, 6112, 6121, true, defaultSuffix);\n case 15 /* CJK_EARTHLY_BRANCH */:\n return createCounterStyleFromSymbols(value, '子丑寅卯辰巳午未申酉戌亥', cjkSuffix);\n case 16 /* CJK_HEAVENLY_STEM */:\n return createCounterStyleFromSymbols(value, '甲乙丙丁戊己庚辛壬癸', cjkSuffix);\n case 17 /* CJK_IDEOGRAPHIC */:\n case 48 /* TRAD_CHINESE_INFORMAL */:\n return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 47 /* TRAD_CHINESE_FORMAL */:\n return createCJKCounter(value, '零壹貳參肆伍陸柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 42 /* SIMP_CHINESE_INFORMAL */:\n return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 41 /* SIMP_CHINESE_FORMAL */:\n return createCJKCounter(value, '零壹贰叁肆伍陆柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 26 /* JAPANESE_INFORMAL */:\n return createCJKCounter(value, '〇一二三四五六七八九', '十百千万', JAPANESE_NEGATIVE, cjkSuffix, 0);\n case 25 /* JAPANESE_FORMAL */:\n return createCJKCounter(value, '零壱弐参四伍六七八九', '拾百千万', JAPANESE_NEGATIVE, cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n case 31 /* KOREAN_HANGUL_FORMAL */:\n return createCJKCounter(value, '영일이삼사오육칠팔구', '십백천만', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n case 33 /* KOREAN_HANJA_INFORMAL */:\n return createCJKCounter(value, '零一二三四五六七八九', '十百千萬', KOREAN_NEGATIVE, koreanSuffix, 0);\n case 32 /* KOREAN_HANJA_FORMAL */:\n return createCJKCounter(value, '零壹貳參四五六七八九', '拾百千', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n case 18 /* DEVANAGARI */:\n return createCounterStyleFromRange(value, 0x966, 0x96f, true, defaultSuffix);\n case 20 /* GEORGIAN */:\n return createAdditiveCounter(value, 1, 19999, GEORGIAN, 3 /* DECIMAL */, defaultSuffix);\n case 21 /* GUJARATI */:\n return createCounterStyleFromRange(value, 0xae6, 0xaef, true, defaultSuffix);\n case 22 /* GURMUKHI */:\n return createCounterStyleFromRange(value, 0xa66, 0xa6f, true, defaultSuffix);\n case 22 /* HEBREW */:\n return createAdditiveCounter(value, 1, 10999, HEBREW, 3 /* DECIMAL */, defaultSuffix);\n case 23 /* HIRAGANA */:\n return createCounterStyleFromSymbols(value, 'あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん');\n case 24 /* HIRAGANA_IROHA */:\n return createCounterStyleFromSymbols(value, 'いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす');\n case 27 /* KANNADA */:\n return createCounterStyleFromRange(value, 0xce6, 0xcef, true, defaultSuffix);\n case 28 /* KATAKANA */:\n return createCounterStyleFromSymbols(value, 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン', cjkSuffix);\n case 29 /* KATAKANA_IROHA */:\n return createCounterStyleFromSymbols(value, 'イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス', cjkSuffix);\n case 34 /* LAO */:\n return createCounterStyleFromRange(value, 0xed0, 0xed9, true, defaultSuffix);\n case 37 /* MONGOLIAN */:\n return createCounterStyleFromRange(value, 0x1810, 0x1819, true, defaultSuffix);\n case 38 /* MYANMAR */:\n return createCounterStyleFromRange(value, 0x1040, 0x1049, true, defaultSuffix);\n case 39 /* ORIYA */:\n return createCounterStyleFromRange(value, 0xb66, 0xb6f, true, defaultSuffix);\n case 40 /* PERSIAN */:\n return createCounterStyleFromRange(value, 0x6f0, 0x6f9, true, defaultSuffix);\n case 43 /* TAMIL */:\n return createCounterStyleFromRange(value, 0xbe6, 0xbef, true, defaultSuffix);\n case 44 /* TELUGU */:\n return createCounterStyleFromRange(value, 0xc66, 0xc6f, true, defaultSuffix);\n case 45 /* THAI */:\n return createCounterStyleFromRange(value, 0xe50, 0xe59, true, defaultSuffix);\n case 46 /* TIBETAN */:\n return createCounterStyleFromRange(value, 0xf20, 0xf29, true, defaultSuffix);\n case 3 /* DECIMAL */:\n default:\n return createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);\n }\n};\n\nvar IGNORE_ATTRIBUTE = 'data-html2canvas-ignore';\nvar DocumentCloner = /** @class */ (function () {\n function DocumentCloner(context, element, options) {\n this.context = context;\n this.options = options;\n this.scrolledElements = [];\n this.referenceElement = element;\n this.counters = new CounterState();\n this.quoteDepth = 0;\n if (!element.ownerDocument) {\n throw new Error('Cloned element does not have an owner document');\n }\n this.documentElement = this.cloneNode(element.ownerDocument.documentElement, false);\n }\n DocumentCloner.prototype.toIFrame = function (ownerDocument, windowSize) {\n var _this = this;\n var iframe = createIFrameContainer(ownerDocument, windowSize);\n if (!iframe.contentWindow) {\n return Promise.reject(\"Unable to find iframe window\");\n }\n var scrollX = ownerDocument.defaultView.pageXOffset;\n var scrollY = ownerDocument.defaultView.pageYOffset;\n var cloneWindow = iframe.contentWindow;\n var documentClone = cloneWindow.document;\n /* Chrome doesn't detect relative background-images assigned in inline \n\n\n","export default \"__VITE_ASSET__FGa7Dzkm__\"","\n\n\n\n\n","\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n","\n","\n","\n","export default \"__VITE_ASSET__DuodanUT__\"","\n\n\n","/*!\n * vue-router v4.4.3\n * (c) 2024 Eduardo San Martin Morote\n * @license MIT\n */\nimport { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\nconst isBrowser = typeof document !== 'undefined';\n\nfunction isESModule(obj) {\n return obj.__esModule || obj[Symbol.toStringTag] === 'Module';\n}\nconst assign = Object.assign;\nfunction applyToParams(fn, params) {\n const newParams = {};\n for (const key in params) {\n const value = params[key];\n newParams[key] = isArray(value)\n ? value.map(fn)\n : fn(value);\n }\n return newParams;\n}\nconst noop = () => { };\n/**\n * Typesafe alternative to Array.isArray\n * https://github.com/microsoft/TypeScript/pull/48228\n */\nconst isArray = Array.isArray;\n\nfunction warn(msg) {\n // avoid using ...args as it breaks in older Edge builds\n const args = Array.from(arguments).slice(1);\n console.warn.apply(console, ['[Vue Router warn]: ' + msg].concat(args));\n}\n\n/**\n * Encoding Rules (␣ = Space)\n * - Path: ␣ \" < > # ? { }\n * - Query: ␣ \" < > # & =\n * - Hash: ␣ \" < > `\n *\n * On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2)\n * defines some extra characters to be encoded. Most browsers do not encode them\n * in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to\n * also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`)\n * plus `-._~`. This extra safety should be applied to query by patching the\n * string returned by encodeURIComponent encodeURI also encodes `[\\]^`. `\\`\n * should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\\`\n * into a `/` if directly typed in. The _backtick_ (`````) should also be\n * encoded everywhere because some browsers like FF encode it when directly\n * written while others don't. Safari and IE don't encode ``\"<>{}``` in hash.\n */\n// const EXTRA_RESERVED_RE = /[!'()*]/g\n// const encodeReservedReplacer = (c: string) => '%' + c.charCodeAt(0).toString(16)\nconst HASH_RE = /#/g; // %23\nconst AMPERSAND_RE = /&/g; // %26\nconst SLASH_RE = /\\//g; // %2F\nconst EQUAL_RE = /=/g; // %3D\nconst IM_RE = /\\?/g; // %3F\nconst PLUS_RE = /\\+/g; // %2B\n/**\n * NOTE: It's not clear to me if we should encode the + symbol in queries, it\n * seems to be less flexible than not doing so and I can't find out the legacy\n * systems requiring this for regular requests like text/html. In the standard,\n * the encoding of the plus character is only mentioned for\n * application/x-www-form-urlencoded\n * (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo\n * leave the plus character as is in queries. To be more flexible, we allow the\n * plus character on the query, but it can also be manually encoded by the user.\n *\n * Resources:\n * - https://url.spec.whatwg.org/#urlencoded-parsing\n * - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20\n */\nconst ENC_BRACKET_OPEN_RE = /%5B/g; // [\nconst ENC_BRACKET_CLOSE_RE = /%5D/g; // ]\nconst ENC_CARET_RE = /%5E/g; // ^\nconst ENC_BACKTICK_RE = /%60/g; // `\nconst ENC_CURLY_OPEN_RE = /%7B/g; // {\nconst ENC_PIPE_RE = /%7C/g; // |\nconst ENC_CURLY_CLOSE_RE = /%7D/g; // }\nconst ENC_SPACE_RE = /%20/g; // }\n/**\n * Encode characters that need to be encoded on the path, search and hash\n * sections of the URL.\n *\n * @internal\n * @param text - string to encode\n * @returns encoded string\n */\nfunction commonEncode(text) {\n return encodeURI('' + text)\n .replace(ENC_PIPE_RE, '|')\n .replace(ENC_BRACKET_OPEN_RE, '[')\n .replace(ENC_BRACKET_CLOSE_RE, ']');\n}\n/**\n * Encode characters that need to be encoded on the hash section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeHash(text) {\n return commonEncode(text)\n .replace(ENC_CURLY_OPEN_RE, '{')\n .replace(ENC_CURLY_CLOSE_RE, '}')\n .replace(ENC_CARET_RE, '^');\n}\n/**\n * Encode characters that need to be encoded query values on the query\n * section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeQueryValue(text) {\n return (commonEncode(text)\n // Encode the space as +, encode the + to differentiate it from the space\n .replace(PLUS_RE, '%2B')\n .replace(ENC_SPACE_RE, '+')\n .replace(HASH_RE, '%23')\n .replace(AMPERSAND_RE, '%26')\n .replace(ENC_BACKTICK_RE, '`')\n .replace(ENC_CURLY_OPEN_RE, '{')\n .replace(ENC_CURLY_CLOSE_RE, '}')\n .replace(ENC_CARET_RE, '^'));\n}\n/**\n * Like `encodeQueryValue` but also encodes the `=` character.\n *\n * @param text - string to encode\n */\nfunction encodeQueryKey(text) {\n return encodeQueryValue(text).replace(EQUAL_RE, '%3D');\n}\n/**\n * Encode characters that need to be encoded on the path section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodePath(text) {\n return commonEncode(text).replace(HASH_RE, '%23').replace(IM_RE, '%3F');\n}\n/**\n * Encode characters that need to be encoded on the path section of the URL as a\n * param. This function encodes everything {@link encodePath} does plus the\n * slash (`/`) character. If `text` is `null` or `undefined`, returns an empty\n * string instead.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeParam(text) {\n return text == null ? '' : encodePath(text).replace(SLASH_RE, '%2F');\n}\n/**\n * Decode text using `decodeURIComponent`. Returns the original text if it\n * fails.\n *\n * @param text - string to decode\n * @returns decoded string\n */\nfunction decode(text) {\n try {\n return decodeURIComponent('' + text);\n }\n catch (err) {\n (process.env.NODE_ENV !== 'production') && warn(`Error decoding \"${text}\". Using original value`);\n }\n return '' + text;\n}\n\nconst TRAILING_SLASH_RE = /\\/$/;\nconst removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, '');\n/**\n * Transforms a URI into a normalized history location\n *\n * @param parseQuery\n * @param location - URI to normalize\n * @param currentLocation - current absolute location. Allows resolving relative\n * paths. Must start with `/`. Defaults to `/`\n * @returns a normalized history location\n */\nfunction parseURL(parseQuery, location, currentLocation = '/') {\n let path, query = {}, searchString = '', hash = '';\n // Could use URL and URLSearchParams but IE 11 doesn't support it\n // TODO: move to new URL()\n const hashPos = location.indexOf('#');\n let searchPos = location.indexOf('?');\n // the hash appears before the search, so it's not part of the search string\n if (hashPos < searchPos && hashPos >= 0) {\n searchPos = -1;\n }\n if (searchPos > -1) {\n path = location.slice(0, searchPos);\n searchString = location.slice(searchPos + 1, hashPos > -1 ? hashPos : location.length);\n query = parseQuery(searchString);\n }\n if (hashPos > -1) {\n path = path || location.slice(0, hashPos);\n // keep the # character\n hash = location.slice(hashPos, location.length);\n }\n // no search and no query\n path = resolveRelativePath(path != null ? path : location, currentLocation);\n // empty path means a relative query or hash `?foo=f`, `#thing`\n return {\n fullPath: path + (searchString && '?') + searchString + hash,\n path,\n query,\n hash: decode(hash),\n };\n}\n/**\n * Stringifies a URL object\n *\n * @param stringifyQuery\n * @param location\n */\nfunction stringifyURL(stringifyQuery, location) {\n const query = location.query ? stringifyQuery(location.query) : '';\n return location.path + (query && '?') + query + (location.hash || '');\n}\n/**\n * Strips off the base from the beginning of a location.pathname in a non-case-sensitive way.\n *\n * @param pathname - location.pathname\n * @param base - base to strip off\n */\nfunction stripBase(pathname, base) {\n // no base or base is not found at the beginning\n if (!base || !pathname.toLowerCase().startsWith(base.toLowerCase()))\n return pathname;\n return pathname.slice(base.length) || '/';\n}\n/**\n * Checks if two RouteLocation are equal. This means that both locations are\n * pointing towards the same {@link RouteRecord} and that all `params`, `query`\n * parameters and `hash` are the same\n *\n * @param stringifyQuery - A function that takes a query object of type LocationQueryRaw and returns a string representation of it.\n * @param a - first {@link RouteLocation}\n * @param b - second {@link RouteLocation}\n */\nfunction isSameRouteLocation(stringifyQuery, a, b) {\n const aLastIndex = a.matched.length - 1;\n const bLastIndex = b.matched.length - 1;\n return (aLastIndex > -1 &&\n aLastIndex === bLastIndex &&\n isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) &&\n isSameRouteLocationParams(a.params, b.params) &&\n stringifyQuery(a.query) === stringifyQuery(b.query) &&\n a.hash === b.hash);\n}\n/**\n * Check if two `RouteRecords` are equal. Takes into account aliases: they are\n * considered equal to the `RouteRecord` they are aliasing.\n *\n * @param a - first {@link RouteRecord}\n * @param b - second {@link RouteRecord}\n */\nfunction isSameRouteRecord(a, b) {\n // since the original record has an undefined value for aliasOf\n // but all aliases point to the original record, this will always compare\n // the original record\n return (a.aliasOf || a) === (b.aliasOf || b);\n}\nfunction isSameRouteLocationParams(a, b) {\n if (Object.keys(a).length !== Object.keys(b).length)\n return false;\n for (const key in a) {\n if (!isSameRouteLocationParamsValue(a[key], b[key]))\n return false;\n }\n return true;\n}\nfunction isSameRouteLocationParamsValue(a, b) {\n return isArray(a)\n ? isEquivalentArray(a, b)\n : isArray(b)\n ? isEquivalentArray(b, a)\n : a === b;\n}\n/**\n * Check if two arrays are the same or if an array with one single entry is the\n * same as another primitive value. Used to check query and parameters\n *\n * @param a - array of values\n * @param b - array of values or a single value\n */\nfunction isEquivalentArray(a, b) {\n return isArray(b)\n ? a.length === b.length && a.every((value, i) => value === b[i])\n : a.length === 1 && a[0] === b;\n}\n/**\n * Resolves a relative path that starts with `.`.\n *\n * @param to - path location we are resolving\n * @param from - currentLocation.path, should start with `/`\n */\nfunction resolveRelativePath(to, from) {\n if (to.startsWith('/'))\n return to;\n if ((process.env.NODE_ENV !== 'production') && !from.startsWith('/')) {\n warn(`Cannot resolve a relative location without an absolute path. Trying to resolve \"${to}\" from \"${from}\". It should look like \"/${from}\".`);\n return to;\n }\n if (!to)\n return from;\n const fromSegments = from.split('/');\n const toSegments = to.split('/');\n const lastToSegment = toSegments[toSegments.length - 1];\n // make . and ./ the same (../ === .., ../../ === ../..)\n // this is the same behavior as new URL()\n if (lastToSegment === '..' || lastToSegment === '.') {\n toSegments.push('');\n }\n let position = fromSegments.length - 1;\n let toPosition;\n let segment;\n for (toPosition = 0; toPosition < toSegments.length; toPosition++) {\n segment = toSegments[toPosition];\n // we stay on the same position\n if (segment === '.')\n continue;\n // go up in the from array\n if (segment === '..') {\n // we can't go below zero, but we still need to increment toPosition\n if (position > 1)\n position--;\n // continue\n }\n // we reached a non-relative path, we stop here\n else\n break;\n }\n return (fromSegments.slice(0, position).join('/') +\n '/' +\n toSegments.slice(toPosition).join('/'));\n}\n/**\n * Initial route location where the router is. Can be used in navigation guards\n * to differentiate the initial navigation.\n *\n * @example\n * ```js\n * import { START_LOCATION } from 'vue-router'\n *\n * router.beforeEach((to, from) => {\n * if (from === START_LOCATION) {\n * // initial navigation\n * }\n * })\n * ```\n */\nconst START_LOCATION_NORMALIZED = {\n path: '/',\n // TODO: could we use a symbol in the future?\n name: undefined,\n params: {},\n query: {},\n hash: '',\n fullPath: '/',\n matched: [],\n meta: {},\n redirectedFrom: undefined,\n};\n\nvar NavigationType;\n(function (NavigationType) {\n NavigationType[\"pop\"] = \"pop\";\n NavigationType[\"push\"] = \"push\";\n})(NavigationType || (NavigationType = {}));\nvar NavigationDirection;\n(function (NavigationDirection) {\n NavigationDirection[\"back\"] = \"back\";\n NavigationDirection[\"forward\"] = \"forward\";\n NavigationDirection[\"unknown\"] = \"\";\n})(NavigationDirection || (NavigationDirection = {}));\n/**\n * Starting location for Histories\n */\nconst START = '';\n// Generic utils\n/**\n * Normalizes a base by removing any trailing slash and reading the base tag if\n * present.\n *\n * @param base - base to normalize\n */\nfunction normalizeBase(base) {\n if (!base) {\n if (isBrowser) {\n // respect tag\n const baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^\\w+:\\/\\/[^\\/]+/, '');\n }\n else {\n base = '/';\n }\n }\n // ensure leading slash when it was removed by the regex above avoid leading\n // slash with hash because the file could be read from the disk like file://\n // and the leading slash would cause problems\n if (base[0] !== '/' && base[0] !== '#')\n base = '/' + base;\n // remove the trailing slash so all other method can just do `base + fullPath`\n // to build an href\n return removeTrailingSlash(base);\n}\n// remove any character before the hash\nconst BEFORE_HASH_RE = /^[^#]+#/;\nfunction createHref(base, location) {\n return base.replace(BEFORE_HASH_RE, '#') + location;\n}\n\nfunction getElementPosition(el, offset) {\n const docRect = document.documentElement.getBoundingClientRect();\n const elRect = el.getBoundingClientRect();\n return {\n behavior: offset.behavior,\n left: elRect.left - docRect.left - (offset.left || 0),\n top: elRect.top - docRect.top - (offset.top || 0),\n };\n}\nconst computeScrollPosition = () => ({\n left: window.scrollX,\n top: window.scrollY,\n});\nfunction scrollToPosition(position) {\n let scrollToOptions;\n if ('el' in position) {\n const positionEl = position.el;\n const isIdSelector = typeof positionEl === 'string' && positionEl.startsWith('#');\n /**\n * `id`s can accept pretty much any characters, including CSS combinators\n * like `>` or `~`. It's still possible to retrieve elements using\n * `document.getElementById('~')` but it needs to be escaped when using\n * `document.querySelector('#\\\\~')` for it to be valid. The only\n * requirements for `id`s are them to be unique on the page and to not be\n * empty (`id=\"\"`). Because of that, when passing an id selector, it should\n * be properly escaped for it to work with `querySelector`. We could check\n * for the id selector to be simple (no CSS combinators `+ >~`) but that\n * would make things inconsistent since they are valid characters for an\n * `id` but would need to be escaped when using `querySelector`, breaking\n * their usage and ending up in no selector returned. Selectors need to be\n * escaped:\n *\n * - `#1-thing` becomes `#\\31 -thing`\n * - `#with~symbols` becomes `#with\\\\~symbols`\n *\n * - More information about the topic can be found at\n * https://mathiasbynens.be/notes/html5-id-class.\n * - Practical example: https://mathiasbynens.be/demo/html5-id\n */\n if ((process.env.NODE_ENV !== 'production') && typeof position.el === 'string') {\n if (!isIdSelector || !document.getElementById(position.el.slice(1))) {\n try {\n const foundEl = document.querySelector(position.el);\n if (isIdSelector && foundEl) {\n warn(`The selector \"${position.el}\" should be passed as \"el: document.querySelector('${position.el}')\" because it starts with \"#\".`);\n // return to avoid other warnings\n return;\n }\n }\n catch (err) {\n warn(`The selector \"${position.el}\" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`);\n // return to avoid other warnings\n return;\n }\n }\n }\n const el = typeof positionEl === 'string'\n ? isIdSelector\n ? document.getElementById(positionEl.slice(1))\n : document.querySelector(positionEl)\n : positionEl;\n if (!el) {\n (process.env.NODE_ENV !== 'production') &&\n warn(`Couldn't find element using selector \"${position.el}\" returned by scrollBehavior.`);\n return;\n }\n scrollToOptions = getElementPosition(el, position);\n }\n else {\n scrollToOptions = position;\n }\n if ('scrollBehavior' in document.documentElement.style)\n window.scrollTo(scrollToOptions);\n else {\n window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.scrollX, scrollToOptions.top != null ? scrollToOptions.top : window.scrollY);\n }\n}\nfunction getScrollKey(path, delta) {\n const position = history.state ? history.state.position - delta : -1;\n return position + path;\n}\nconst scrollPositions = new Map();\nfunction saveScrollPosition(key, scrollPosition) {\n scrollPositions.set(key, scrollPosition);\n}\nfunction getSavedScrollPosition(key) {\n const scroll = scrollPositions.get(key);\n // consume it so it's not used again\n scrollPositions.delete(key);\n return scroll;\n}\n// TODO: RFC about how to save scroll position\n/**\n * ScrollBehavior instance used by the router to compute and restore the scroll\n * position when navigating.\n */\n// export interface ScrollHandler {\n// // returns a scroll position that can be saved in history\n// compute(): ScrollPositionEntry\n// // can take an extended ScrollPositionEntry\n// scroll(position: ScrollPosition): void\n// }\n// export const scrollHandler: ScrollHandler = {\n// compute: computeScroll,\n// scroll: scrollToPosition,\n// }\n\nlet createBaseLocation = () => location.protocol + '//' + location.host;\n/**\n * Creates a normalized history location from a window.location object\n * @param base - The base path\n * @param location - The window.location object\n */\nfunction createCurrentLocation(base, location) {\n const { pathname, search, hash } = location;\n // allows hash bases like #, /#, #/, #!, #!/, /#!/, or even /folder#end\n const hashPos = base.indexOf('#');\n if (hashPos > -1) {\n let slicePos = hash.includes(base.slice(hashPos))\n ? base.slice(hashPos).length\n : 1;\n let pathFromHash = hash.slice(slicePos);\n // prepend the starting slash to hash so the url starts with /#\n if (pathFromHash[0] !== '/')\n pathFromHash = '/' + pathFromHash;\n return stripBase(pathFromHash, '');\n }\n const path = stripBase(pathname, base);\n return path + search + hash;\n}\nfunction useHistoryListeners(base, historyState, currentLocation, replace) {\n let listeners = [];\n let teardowns = [];\n // TODO: should it be a stack? a Dict. Check if the popstate listener\n // can trigger twice\n let pauseState = null;\n const popStateHandler = ({ state, }) => {\n const to = createCurrentLocation(base, location);\n const from = currentLocation.value;\n const fromState = historyState.value;\n let delta = 0;\n if (state) {\n currentLocation.value = to;\n historyState.value = state;\n // ignore the popstate and reset the pauseState\n if (pauseState && pauseState === from) {\n pauseState = null;\n return;\n }\n delta = fromState ? state.position - fromState.position : 0;\n }\n else {\n replace(to);\n }\n // Here we could also revert the navigation by calling history.go(-delta)\n // this listener will have to be adapted to not trigger again and to wait for the url\n // to be updated before triggering the listeners. Some kind of validation function would also\n // need to be passed to the listeners so the navigation can be accepted\n // call all listeners\n listeners.forEach(listener => {\n listener(currentLocation.value, from, {\n delta,\n type: NavigationType.pop,\n direction: delta\n ? delta > 0\n ? NavigationDirection.forward\n : NavigationDirection.back\n : NavigationDirection.unknown,\n });\n });\n };\n function pauseListeners() {\n pauseState = currentLocation.value;\n }\n function listen(callback) {\n // set up the listener and prepare teardown callbacks\n listeners.push(callback);\n const teardown = () => {\n const index = listeners.indexOf(callback);\n if (index > -1)\n listeners.splice(index, 1);\n };\n teardowns.push(teardown);\n return teardown;\n }\n function beforeUnloadListener() {\n const { history } = window;\n if (!history.state)\n return;\n history.replaceState(assign({}, history.state, { scroll: computeScrollPosition() }), '');\n }\n function destroy() {\n for (const teardown of teardowns)\n teardown();\n teardowns = [];\n window.removeEventListener('popstate', popStateHandler);\n window.removeEventListener('beforeunload', beforeUnloadListener);\n }\n // set up the listeners and prepare teardown callbacks\n window.addEventListener('popstate', popStateHandler);\n // TODO: could we use 'pagehide' or 'visibilitychange' instead?\n // https://developer.chrome.com/blog/page-lifecycle-api/\n window.addEventListener('beforeunload', beforeUnloadListener, {\n passive: true,\n });\n return {\n pauseListeners,\n listen,\n destroy,\n };\n}\n/**\n * Creates a state object\n */\nfunction buildState(back, current, forward, replaced = false, computeScroll = false) {\n return {\n back,\n current,\n forward,\n replaced,\n position: window.history.length,\n scroll: computeScroll ? computeScrollPosition() : null,\n };\n}\nfunction useHistoryStateNavigation(base) {\n const { history, location } = window;\n // private variables\n const currentLocation = {\n value: createCurrentLocation(base, location),\n };\n const historyState = { value: history.state };\n // build current history entry as this is a fresh navigation\n if (!historyState.value) {\n changeLocation(currentLocation.value, {\n back: null,\n current: currentLocation.value,\n forward: null,\n // the length is off by one, we need to decrease it\n position: history.length - 1,\n replaced: true,\n // don't add a scroll as the user may have an anchor, and we want\n // scrollBehavior to be triggered without a saved position\n scroll: null,\n }, true);\n }\n function changeLocation(to, state, replace) {\n /**\n * if a base tag is provided, and we are on a normal domain, we have to\n * respect the provided `base` attribute because pushState() will use it and\n * potentially erase anything before the `#` like at\n * https://github.com/vuejs/router/issues/685 where a base of\n * `/folder/#` but a base of `/` would erase the `/folder/` section. If\n * there is no host, the `` tag makes no sense and if there isn't a\n * base tag we can just use everything after the `#`.\n */\n const hashIndex = base.indexOf('#');\n const url = hashIndex > -1\n ? (location.host && document.querySelector('base')\n ? base\n : base.slice(hashIndex)) + to\n : createBaseLocation() + base + to;\n try {\n // BROWSER QUIRK\n // NOTE: Safari throws a SecurityError when calling this function 100 times in 30 seconds\n history[replace ? 'replaceState' : 'pushState'](state, '', url);\n historyState.value = state;\n }\n catch (err) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('Error with push/replace State', err);\n }\n else {\n console.error(err);\n }\n // Force the navigation, this also resets the call count\n location[replace ? 'replace' : 'assign'](url);\n }\n }\n function replace(to, data) {\n const state = assign({}, history.state, buildState(historyState.value.back, \n // keep back and forward entries but override current position\n to, historyState.value.forward, true), data, { position: historyState.value.position });\n changeLocation(to, state, true);\n currentLocation.value = to;\n }\n function push(to, data) {\n // Add to current entry the information of where we are going\n // as well as saving the current position\n const currentState = assign({}, \n // use current history state to gracefully handle a wrong call to\n // history.replaceState\n // https://github.com/vuejs/router/issues/366\n historyState.value, history.state, {\n forward: to,\n scroll: computeScrollPosition(),\n });\n if ((process.env.NODE_ENV !== 'production') && !history.state) {\n warn(`history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\\n\\n` +\n `history.replaceState(history.state, '', url)\\n\\n` +\n `You can find more information at https://router.vuejs.org/guide/migration/#Usage-of-history-state`);\n }\n changeLocation(currentState.current, currentState, true);\n const state = assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data);\n changeLocation(to, state, false);\n currentLocation.value = to;\n }\n return {\n location: currentLocation,\n state: historyState,\n push,\n replace,\n };\n}\n/**\n * Creates an HTML5 history. Most common history for single page applications.\n *\n * @param base -\n */\nfunction createWebHistory(base) {\n base = normalizeBase(base);\n const historyNavigation = useHistoryStateNavigation(base);\n const historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);\n function go(delta, triggerListeners = true) {\n if (!triggerListeners)\n historyListeners.pauseListeners();\n history.go(delta);\n }\n const routerHistory = assign({\n // it's overridden right after\n location: '',\n base,\n go,\n createHref: createHref.bind(null, base),\n }, historyNavigation, historyListeners);\n Object.defineProperty(routerHistory, 'location', {\n enumerable: true,\n get: () => historyNavigation.location.value,\n });\n Object.defineProperty(routerHistory, 'state', {\n enumerable: true,\n get: () => historyNavigation.state.value,\n });\n return routerHistory;\n}\n\n/**\n * Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere.\n * It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`.\n *\n * @param base - Base applied to all urls, defaults to '/'\n * @returns a history object that can be passed to the router constructor\n */\nfunction createMemoryHistory(base = '') {\n let listeners = [];\n let queue = [START];\n let position = 0;\n base = normalizeBase(base);\n function setLocation(location) {\n position++;\n if (position !== queue.length) {\n // we are in the middle, we remove everything from here in the queue\n queue.splice(position);\n }\n queue.push(location);\n }\n function triggerListeners(to, from, { direction, delta }) {\n const info = {\n direction,\n delta,\n type: NavigationType.pop,\n };\n for (const callback of listeners) {\n callback(to, from, info);\n }\n }\n const routerHistory = {\n // rewritten by Object.defineProperty\n location: START,\n // TODO: should be kept in queue\n state: {},\n base,\n createHref: createHref.bind(null, base),\n replace(to) {\n // remove current entry and decrement position\n queue.splice(position--, 1);\n setLocation(to);\n },\n push(to, data) {\n setLocation(to);\n },\n listen(callback) {\n listeners.push(callback);\n return () => {\n const index = listeners.indexOf(callback);\n if (index > -1)\n listeners.splice(index, 1);\n };\n },\n destroy() {\n listeners = [];\n queue = [START];\n position = 0;\n },\n go(delta, shouldTrigger = true) {\n const from = this.location;\n const direction = \n // we are considering delta === 0 going forward, but in abstract mode\n // using 0 for the delta doesn't make sense like it does in html5 where\n // it reloads the page\n delta < 0 ? NavigationDirection.back : NavigationDirection.forward;\n position = Math.max(0, Math.min(position + delta, queue.length - 1));\n if (shouldTrigger) {\n triggerListeners(this.location, from, {\n direction,\n delta,\n });\n }\n },\n };\n Object.defineProperty(routerHistory, 'location', {\n enumerable: true,\n get: () => queue[position],\n });\n return routerHistory;\n}\n\n/**\n * Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to\n * handle any URL is not possible.\n *\n * @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `` tag\n * in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState()\n * calls**, meaning that if you use a `` tag, it's `href` value **has to match this parameter** (ignoring anything\n * after the `#`).\n *\n * @example\n * ```js\n * // at https://example.com/folder\n * createWebHashHistory() // gives a url of `https://example.com/folder#`\n * createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#`\n * // if the `#` is provided in the base, it won't be added by `createWebHashHistory`\n * createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/`\n * // you should avoid doing this because it changes the original url and breaks copying urls\n * createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#`\n *\n * // at file:///usr/etc/folder/index.html\n * // for locations with no `host`, the base is ignored\n * createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#`\n * ```\n */\nfunction createWebHashHistory(base) {\n // Make sure this implementation is fine in terms of encoding, specially for IE11\n // for `file://`, directly use the pathname and ignore the base\n // location.pathname contains an initial `/` even at the root: `https://example.com`\n base = location.host ? base || location.pathname + location.search : '';\n // allow the user to provide a `#` in the middle: `/base/#/app`\n if (!base.includes('#'))\n base += '#';\n if ((process.env.NODE_ENV !== 'production') && !base.endsWith('#/') && !base.endsWith('#')) {\n warn(`A hash base must end with a \"#\":\\n\"${base}\" should be \"${base.replace(/#.*$/, '#')}\".`);\n }\n return createWebHistory(base);\n}\n\nfunction isRouteLocation(route) {\n return typeof route === 'string' || (route && typeof route === 'object');\n}\nfunction isRouteName(name) {\n return typeof name === 'string' || typeof name === 'symbol';\n}\n\nconst NavigationFailureSymbol = Symbol((process.env.NODE_ENV !== 'production') ? 'navigation failure' : '');\n/**\n * Enumeration with all possible types for navigation failures. Can be passed to\n * {@link isNavigationFailure} to check for specific failures.\n */\nvar NavigationFailureType;\n(function (NavigationFailureType) {\n /**\n * An aborted navigation is a navigation that failed because a navigation\n * guard returned `false` or called `next(false)`\n */\n NavigationFailureType[NavigationFailureType[\"aborted\"] = 4] = \"aborted\";\n /**\n * A cancelled navigation is a navigation that failed because a more recent\n * navigation finished started (not necessarily finished).\n */\n NavigationFailureType[NavigationFailureType[\"cancelled\"] = 8] = \"cancelled\";\n /**\n * A duplicated navigation is a navigation that failed because it was\n * initiated while already being at the exact same location.\n */\n NavigationFailureType[NavigationFailureType[\"duplicated\"] = 16] = \"duplicated\";\n})(NavigationFailureType || (NavigationFailureType = {}));\n// DEV only debug messages\nconst ErrorTypeMessages = {\n [1 /* ErrorTypes.MATCHER_NOT_FOUND */]({ location, currentLocation }) {\n return `No match for\\n ${JSON.stringify(location)}${currentLocation\n ? '\\nwhile being at\\n' + JSON.stringify(currentLocation)\n : ''}`;\n },\n [2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */]({ from, to, }) {\n return `Redirected from \"${from.fullPath}\" to \"${stringifyRoute(to)}\" via a navigation guard.`;\n },\n [4 /* ErrorTypes.NAVIGATION_ABORTED */]({ from, to }) {\n return `Navigation aborted from \"${from.fullPath}\" to \"${to.fullPath}\" via a navigation guard.`;\n },\n [8 /* ErrorTypes.NAVIGATION_CANCELLED */]({ from, to }) {\n return `Navigation cancelled from \"${from.fullPath}\" to \"${to.fullPath}\" with a new navigation.`;\n },\n [16 /* ErrorTypes.NAVIGATION_DUPLICATED */]({ from, to }) {\n return `Avoided redundant navigation to current location: \"${from.fullPath}\".`;\n },\n};\n/**\n * Creates a typed NavigationFailure object.\n * @internal\n * @param type - NavigationFailureType\n * @param params - { from, to }\n */\nfunction createRouterError(type, params) {\n // keep full error messages in cjs versions\n if ((process.env.NODE_ENV !== 'production') || !true) {\n return assign(new Error(ErrorTypeMessages[type](params)), {\n type,\n [NavigationFailureSymbol]: true,\n }, params);\n }\n else {\n return assign(new Error(), {\n type,\n [NavigationFailureSymbol]: true,\n }, params);\n }\n}\nfunction isNavigationFailure(error, type) {\n return (error instanceof Error &&\n NavigationFailureSymbol in error &&\n (type == null || !!(error.type & type)));\n}\nconst propertiesToLog = ['params', 'query', 'hash'];\nfunction stringifyRoute(to) {\n if (typeof to === 'string')\n return to;\n if (to.path != null)\n return to.path;\n const location = {};\n for (const key of propertiesToLog) {\n if (key in to)\n location[key] = to[key];\n }\n return JSON.stringify(location, null, 2);\n}\n\n// default pattern for a param: non-greedy everything but /\nconst BASE_PARAM_PATTERN = '[^/]+?';\nconst BASE_PATH_PARSER_OPTIONS = {\n sensitive: false,\n strict: false,\n start: true,\n end: true,\n};\n// Special Regex characters that must be escaped in static tokens\nconst REGEX_CHARS_RE = /[.+*?^${}()[\\]/\\\\]/g;\n/**\n * Creates a path parser from an array of Segments (a segment is an array of Tokens)\n *\n * @param segments - array of segments returned by tokenizePath\n * @param extraOptions - optional options for the regexp\n * @returns a PathParser\n */\nfunction tokensToParser(segments, extraOptions) {\n const options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions);\n // the amount of scores is the same as the length of segments except for the root segment \"/\"\n const score = [];\n // the regexp as a string\n let pattern = options.start ? '^' : '';\n // extracted keys\n const keys = [];\n for (const segment of segments) {\n // the root segment needs special treatment\n const segmentScores = segment.length ? [] : [90 /* PathScore.Root */];\n // allow trailing slash\n if (options.strict && !segment.length)\n pattern += '/';\n for (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {\n const token = segment[tokenIndex];\n // resets the score if we are inside a sub-segment /:a-other-:b\n let subSegmentScore = 40 /* PathScore.Segment */ +\n (options.sensitive ? 0.25 /* PathScore.BonusCaseSensitive */ : 0);\n if (token.type === 0 /* TokenType.Static */) {\n // prepend the slash if we are starting a new segment\n if (!tokenIndex)\n pattern += '/';\n pattern += token.value.replace(REGEX_CHARS_RE, '\\\\$&');\n subSegmentScore += 40 /* PathScore.Static */;\n }\n else if (token.type === 1 /* TokenType.Param */) {\n const { value, repeatable, optional, regexp } = token;\n keys.push({\n name: value,\n repeatable,\n optional,\n });\n const re = regexp ? regexp : BASE_PARAM_PATTERN;\n // the user provided a custom regexp /:id(\\\\d+)\n if (re !== BASE_PARAM_PATTERN) {\n subSegmentScore += 10 /* PathScore.BonusCustomRegExp */;\n // make sure the regexp is valid before using it\n try {\n new RegExp(`(${re})`);\n }\n catch (err) {\n throw new Error(`Invalid custom RegExp for param \"${value}\" (${re}): ` +\n err.message);\n }\n }\n // when we repeat we must take care of the repeating leading slash\n let subPattern = repeatable ? `((?:${re})(?:/(?:${re}))*)` : `(${re})`;\n // prepend the slash if we are starting a new segment\n if (!tokenIndex)\n subPattern =\n // avoid an optional / if there are more segments e.g. /:p?-static\n // or /:p?-:p2\n optional && segment.length < 2\n ? `(?:/${subPattern})`\n : '/' + subPattern;\n if (optional)\n subPattern += '?';\n pattern += subPattern;\n subSegmentScore += 20 /* PathScore.Dynamic */;\n if (optional)\n subSegmentScore += -8 /* PathScore.BonusOptional */;\n if (repeatable)\n subSegmentScore += -20 /* PathScore.BonusRepeatable */;\n if (re === '.*')\n subSegmentScore += -50 /* PathScore.BonusWildcard */;\n }\n segmentScores.push(subSegmentScore);\n }\n // an empty array like /home/ -> [[{home}], []]\n // if (!segment.length) pattern += '/'\n score.push(segmentScores);\n }\n // only apply the strict bonus to the last score\n if (options.strict && options.end) {\n const i = score.length - 1;\n score[i][score[i].length - 1] += 0.7000000000000001 /* PathScore.BonusStrict */;\n }\n // TODO: dev only warn double trailing slash\n if (!options.strict)\n pattern += '/?';\n if (options.end)\n pattern += '$';\n // allow paths like /dynamic to only match dynamic or dynamic/... but not dynamic_something_else\n else if (options.strict)\n pattern += '(?:/|$)';\n const re = new RegExp(pattern, options.sensitive ? '' : 'i');\n function parse(path) {\n const match = path.match(re);\n const params = {};\n if (!match)\n return null;\n for (let i = 1; i < match.length; i++) {\n const value = match[i] || '';\n const key = keys[i - 1];\n params[key.name] = value && key.repeatable ? value.split('/') : value;\n }\n return params;\n }\n function stringify(params) {\n let path = '';\n // for optional parameters to allow to be empty\n let avoidDuplicatedSlash = false;\n for (const segment of segments) {\n if (!avoidDuplicatedSlash || !path.endsWith('/'))\n path += '/';\n avoidDuplicatedSlash = false;\n for (const token of segment) {\n if (token.type === 0 /* TokenType.Static */) {\n path += token.value;\n }\n else if (token.type === 1 /* TokenType.Param */) {\n const { value, repeatable, optional } = token;\n const param = value in params ? params[value] : '';\n if (isArray(param) && !repeatable) {\n throw new Error(`Provided param \"${value}\" is an array but it is not repeatable (* or + modifiers)`);\n }\n const text = isArray(param)\n ? param.join('/')\n : param;\n if (!text) {\n if (optional) {\n // if we have more than one optional param like /:a?-static we don't need to care about the optional param\n if (segment.length < 2) {\n // remove the last slash as we could be at the end\n if (path.endsWith('/'))\n path = path.slice(0, -1);\n // do not append a slash on the next iteration\n else\n avoidDuplicatedSlash = true;\n }\n }\n else\n throw new Error(`Missing required param \"${value}\"`);\n }\n path += text;\n }\n }\n }\n // avoid empty path when we have multiple optional params\n return path || '/';\n }\n return {\n re,\n score,\n keys,\n parse,\n stringify,\n };\n}\n/**\n * Compares an array of numbers as used in PathParser.score and returns a\n * number. This function can be used to `sort` an array\n *\n * @param a - first array of numbers\n * @param b - second array of numbers\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n * should be sorted first\n */\nfunction compareScoreArray(a, b) {\n let i = 0;\n while (i < a.length && i < b.length) {\n const diff = b[i] - a[i];\n // only keep going if diff === 0\n if (diff)\n return diff;\n i++;\n }\n // if the last subsegment was Static, the shorter segments should be sorted first\n // otherwise sort the longest segment first\n if (a.length < b.length) {\n return a.length === 1 && a[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\n ? -1\n : 1;\n }\n else if (a.length > b.length) {\n return b.length === 1 && b[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\n ? 1\n : -1;\n }\n return 0;\n}\n/**\n * Compare function that can be used with `sort` to sort an array of PathParser\n *\n * @param a - first PathParser\n * @param b - second PathParser\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n */\nfunction comparePathParserScore(a, b) {\n let i = 0;\n const aScore = a.score;\n const bScore = b.score;\n while (i < aScore.length && i < bScore.length) {\n const comp = compareScoreArray(aScore[i], bScore[i]);\n // do not return if both are equal\n if (comp)\n return comp;\n i++;\n }\n if (Math.abs(bScore.length - aScore.length) === 1) {\n if (isLastScoreNegative(aScore))\n return 1;\n if (isLastScoreNegative(bScore))\n return -1;\n }\n // if a and b share the same score entries but b has more, sort b first\n return bScore.length - aScore.length;\n // this is the ternary version\n // return aScore.length < bScore.length\n // ? 1\n // : aScore.length > bScore.length\n // ? -1\n // : 0\n}\n/**\n * This allows detecting splats at the end of a path: /home/:id(.*)*\n *\n * @param score - score to check\n * @returns true if the last entry is negative\n */\nfunction isLastScoreNegative(score) {\n const last = score[score.length - 1];\n return score.length > 0 && last[last.length - 1] < 0;\n}\n\nconst ROOT_TOKEN = {\n type: 0 /* TokenType.Static */,\n value: '',\n};\nconst VALID_PARAM_RE = /[a-zA-Z0-9_]/;\n// After some profiling, the cache seems to be unnecessary because tokenizePath\n// (the slowest part of adding a route) is very fast\n// const tokenCache = new Map()\nfunction tokenizePath(path) {\n if (!path)\n return [[]];\n if (path === '/')\n return [[ROOT_TOKEN]];\n if (!path.startsWith('/')) {\n throw new Error((process.env.NODE_ENV !== 'production')\n ? `Route paths should start with a \"/\": \"${path}\" should be \"/${path}\".`\n : `Invalid path \"${path}\"`);\n }\n // if (tokenCache.has(path)) return tokenCache.get(path)!\n function crash(message) {\n throw new Error(`ERR (${state})/\"${buffer}\": ${message}`);\n }\n let state = 0 /* TokenizerState.Static */;\n let previousState = state;\n const tokens = [];\n // the segment will always be valid because we get into the initial state\n // with the leading /\n let segment;\n function finalizeSegment() {\n if (segment)\n tokens.push(segment);\n segment = [];\n }\n // index on the path\n let i = 0;\n // char at index\n let char;\n // buffer of the value read\n let buffer = '';\n // custom regexp for a param\n let customRe = '';\n function consumeBuffer() {\n if (!buffer)\n return;\n if (state === 0 /* TokenizerState.Static */) {\n segment.push({\n type: 0 /* TokenType.Static */,\n value: buffer,\n });\n }\n else if (state === 1 /* TokenizerState.Param */ ||\n state === 2 /* TokenizerState.ParamRegExp */ ||\n state === 3 /* TokenizerState.ParamRegExpEnd */) {\n if (segment.length > 1 && (char === '*' || char === '+'))\n crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`);\n segment.push({\n type: 1 /* TokenType.Param */,\n value: buffer,\n regexp: customRe,\n repeatable: char === '*' || char === '+',\n optional: char === '*' || char === '?',\n });\n }\n else {\n crash('Invalid state to consume buffer');\n }\n buffer = '';\n }\n function addCharToBuffer() {\n buffer += char;\n }\n while (i < path.length) {\n char = path[i++];\n if (char === '\\\\' && state !== 2 /* TokenizerState.ParamRegExp */) {\n previousState = state;\n state = 4 /* TokenizerState.EscapeNext */;\n continue;\n }\n switch (state) {\n case 0 /* TokenizerState.Static */:\n if (char === '/') {\n if (buffer) {\n consumeBuffer();\n }\n finalizeSegment();\n }\n else if (char === ':') {\n consumeBuffer();\n state = 1 /* TokenizerState.Param */;\n }\n else {\n addCharToBuffer();\n }\n break;\n case 4 /* TokenizerState.EscapeNext */:\n addCharToBuffer();\n state = previousState;\n break;\n case 1 /* TokenizerState.Param */:\n if (char === '(') {\n state = 2 /* TokenizerState.ParamRegExp */;\n }\n else if (VALID_PARAM_RE.test(char)) {\n addCharToBuffer();\n }\n else {\n consumeBuffer();\n state = 0 /* TokenizerState.Static */;\n // go back one character if we were not modifying\n if (char !== '*' && char !== '?' && char !== '+')\n i--;\n }\n break;\n case 2 /* TokenizerState.ParamRegExp */:\n // TODO: is it worth handling nested regexp? like :p(?:prefix_([^/]+)_suffix)\n // it already works by escaping the closing )\n // https://paths.esm.dev/?p=AAMeJbiAwQEcDKbAoAAkP60PG2R6QAvgNaA6AFACM2ABuQBB#\n // is this really something people need since you can also write\n // /prefix_:p()_suffix\n if (char === ')') {\n // handle the escaped )\n if (customRe[customRe.length - 1] == '\\\\')\n customRe = customRe.slice(0, -1) + char;\n else\n state = 3 /* TokenizerState.ParamRegExpEnd */;\n }\n else {\n customRe += char;\n }\n break;\n case 3 /* TokenizerState.ParamRegExpEnd */:\n // same as finalizing a param\n consumeBuffer();\n state = 0 /* TokenizerState.Static */;\n // go back one character if we were not modifying\n if (char !== '*' && char !== '?' && char !== '+')\n i--;\n customRe = '';\n break;\n default:\n crash('Unknown state');\n break;\n }\n }\n if (state === 2 /* TokenizerState.ParamRegExp */)\n crash(`Unfinished custom RegExp for param \"${buffer}\"`);\n consumeBuffer();\n finalizeSegment();\n // tokenCache.set(path, tokens)\n return tokens;\n}\n\nfunction createRouteRecordMatcher(record, parent, options) {\n const parser = tokensToParser(tokenizePath(record.path), options);\n // warn against params with the same name\n if ((process.env.NODE_ENV !== 'production')) {\n const existingKeys = new Set();\n for (const key of parser.keys) {\n if (existingKeys.has(key.name))\n warn(`Found duplicated params with name \"${key.name}\" for path \"${record.path}\". Only the last one will be available on \"$route.params\".`);\n existingKeys.add(key.name);\n }\n }\n const matcher = assign(parser, {\n record,\n parent,\n // these needs to be populated by the parent\n children: [],\n alias: [],\n });\n if (parent) {\n // both are aliases or both are not aliases\n // we don't want to mix them because the order is used when\n // passing originalRecord in Matcher.addRoute\n if (!matcher.record.aliasOf === !parent.record.aliasOf)\n parent.children.push(matcher);\n }\n return matcher;\n}\n\n/**\n * Creates a Router Matcher.\n *\n * @internal\n * @param routes - array of initial routes\n * @param globalOptions - global route options\n */\nfunction createRouterMatcher(routes, globalOptions) {\n // normalized ordered array of matchers\n const matchers = [];\n const matcherMap = new Map();\n globalOptions = mergeOptions({ strict: false, end: true, sensitive: false }, globalOptions);\n function getRecordMatcher(name) {\n return matcherMap.get(name);\n }\n function addRoute(record, parent, originalRecord) {\n // used later on to remove by name\n const isRootAdd = !originalRecord;\n const mainNormalizedRecord = normalizeRouteRecord(record);\n if ((process.env.NODE_ENV !== 'production')) {\n checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent);\n }\n // we might be the child of an alias\n mainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;\n const options = mergeOptions(globalOptions, record);\n // generate an array of records to correctly handle aliases\n const normalizedRecords = [\n mainNormalizedRecord,\n ];\n if ('alias' in record) {\n const aliases = typeof record.alias === 'string' ? [record.alias] : record.alias;\n for (const alias of aliases) {\n normalizedRecords.push(assign({}, mainNormalizedRecord, {\n // this allows us to hold a copy of the `components` option\n // so that async components cache is hold on the original record\n components: originalRecord\n ? originalRecord.record.components\n : mainNormalizedRecord.components,\n path: alias,\n // we might be the child of an alias\n aliasOf: originalRecord\n ? originalRecord.record\n : mainNormalizedRecord,\n // the aliases are always of the same kind as the original since they\n // are defined on the same record\n }));\n }\n }\n let matcher;\n let originalMatcher;\n for (const normalizedRecord of normalizedRecords) {\n const { path } = normalizedRecord;\n // Build up the path for nested routes if the child isn't an absolute\n // route. Only add the / delimiter if the child path isn't empty and if the\n // parent path doesn't have a trailing slash\n if (parent && path[0] !== '/') {\n const parentPath = parent.record.path;\n const connectingSlash = parentPath[parentPath.length - 1] === '/' ? '' : '/';\n normalizedRecord.path =\n parent.record.path + (path && connectingSlash + path);\n }\n if ((process.env.NODE_ENV !== 'production') && normalizedRecord.path === '*') {\n throw new Error('Catch all routes (\"*\") must now be defined using a param with a custom regexp.\\n' +\n 'See more at https://router.vuejs.org/guide/migration/#Removed-star-or-catch-all-routes.');\n }\n // create the object beforehand, so it can be passed to children\n matcher = createRouteRecordMatcher(normalizedRecord, parent, options);\n if ((process.env.NODE_ENV !== 'production') && parent && path[0] === '/')\n checkMissingParamsInAbsolutePath(matcher, parent);\n // if we are an alias we must tell the original record that we exist,\n // so we can be removed\n if (originalRecord) {\n originalRecord.alias.push(matcher);\n if ((process.env.NODE_ENV !== 'production')) {\n checkSameParams(originalRecord, matcher);\n }\n }\n else {\n // otherwise, the first record is the original and others are aliases\n originalMatcher = originalMatcher || matcher;\n if (originalMatcher !== matcher)\n originalMatcher.alias.push(matcher);\n // remove the route if named and only for the top record (avoid in nested calls)\n // this works because the original record is the first one\n if (isRootAdd && record.name && !isAliasRecord(matcher))\n removeRoute(record.name);\n }\n // Avoid adding a record that doesn't display anything. This allows passing through records without a component to\n // not be reached and pass through the catch all route\n if (isMatchable(matcher)) {\n insertMatcher(matcher);\n }\n if (mainNormalizedRecord.children) {\n const children = mainNormalizedRecord.children;\n for (let i = 0; i < children.length; i++) {\n addRoute(children[i], matcher, originalRecord && originalRecord.children[i]);\n }\n }\n // if there was no original record, then the first one was not an alias and all\n // other aliases (if any) need to reference this record when adding children\n originalRecord = originalRecord || matcher;\n // TODO: add normalized records for more flexibility\n // if (parent && isAliasRecord(originalRecord)) {\n // parent.children.push(originalRecord)\n // }\n }\n return originalMatcher\n ? () => {\n // since other matchers are aliases, they should be removed by the original matcher\n removeRoute(originalMatcher);\n }\n : noop;\n }\n function removeRoute(matcherRef) {\n if (isRouteName(matcherRef)) {\n const matcher = matcherMap.get(matcherRef);\n if (matcher) {\n matcherMap.delete(matcherRef);\n matchers.splice(matchers.indexOf(matcher), 1);\n matcher.children.forEach(removeRoute);\n matcher.alias.forEach(removeRoute);\n }\n }\n else {\n const index = matchers.indexOf(matcherRef);\n if (index > -1) {\n matchers.splice(index, 1);\n if (matcherRef.record.name)\n matcherMap.delete(matcherRef.record.name);\n matcherRef.children.forEach(removeRoute);\n matcherRef.alias.forEach(removeRoute);\n }\n }\n }\n function getRoutes() {\n return matchers;\n }\n function insertMatcher(matcher) {\n const index = findInsertionIndex(matcher, matchers);\n matchers.splice(index, 0, matcher);\n // only add the original record to the name map\n if (matcher.record.name && !isAliasRecord(matcher))\n matcherMap.set(matcher.record.name, matcher);\n }\n function resolve(location, currentLocation) {\n let matcher;\n let params = {};\n let path;\n let name;\n if ('name' in location && location.name) {\n matcher = matcherMap.get(location.name);\n if (!matcher)\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\n location,\n });\n // warn if the user is passing invalid params so they can debug it better when they get removed\n if ((process.env.NODE_ENV !== 'production')) {\n const invalidParams = Object.keys(location.params || {}).filter(paramName => !matcher.keys.find(k => k.name === paramName));\n if (invalidParams.length) {\n warn(`Discarded invalid param(s) \"${invalidParams.join('\", \"')}\" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`);\n }\n }\n name = matcher.record.name;\n params = assign(\n // paramsFromLocation is a new object\n paramsFromLocation(currentLocation.params, \n // only keep params that exist in the resolved location\n // only keep optional params coming from a parent record\n matcher.keys\n .filter(k => !k.optional)\n .concat(matcher.parent ? matcher.parent.keys.filter(k => k.optional) : [])\n .map(k => k.name)), \n // discard any existing params in the current location that do not exist here\n // #1497 this ensures better active/exact matching\n location.params &&\n paramsFromLocation(location.params, matcher.keys.map(k => k.name)));\n // throws if cannot be stringified\n path = matcher.stringify(params);\n }\n else if (location.path != null) {\n // no need to resolve the path with the matcher as it was provided\n // this also allows the user to control the encoding\n path = location.path;\n if ((process.env.NODE_ENV !== 'production') && !path.startsWith('/')) {\n warn(`The Matcher cannot resolve relative paths but received \"${path}\". Unless you directly called \\`matcher.resolve(\"${path}\")\\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`);\n }\n matcher = matchers.find(m => m.re.test(path));\n // matcher should have a value after the loop\n if (matcher) {\n // we know the matcher works because we tested the regexp\n params = matcher.parse(path);\n name = matcher.record.name;\n }\n // location is a relative path\n }\n else {\n // match by name or path of current route\n matcher = currentLocation.name\n ? matcherMap.get(currentLocation.name)\n : matchers.find(m => m.re.test(currentLocation.path));\n if (!matcher)\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\n location,\n currentLocation,\n });\n name = matcher.record.name;\n // since we are navigating to the same location, we don't need to pick the\n // params like when `name` is provided\n params = assign({}, currentLocation.params, location.params);\n path = matcher.stringify(params);\n }\n const matched = [];\n let parentMatcher = matcher;\n while (parentMatcher) {\n // reversed order so parents are at the beginning\n matched.unshift(parentMatcher.record);\n parentMatcher = parentMatcher.parent;\n }\n return {\n name,\n path,\n params,\n matched,\n meta: mergeMetaFields(matched),\n };\n }\n // add initial routes\n routes.forEach(route => addRoute(route));\n function clearRoutes() {\n matchers.length = 0;\n matcherMap.clear();\n }\n return {\n addRoute,\n resolve,\n removeRoute,\n clearRoutes,\n getRoutes,\n getRecordMatcher,\n };\n}\nfunction paramsFromLocation(params, keys) {\n const newParams = {};\n for (const key of keys) {\n if (key in params)\n newParams[key] = params[key];\n }\n return newParams;\n}\n/**\n * Normalizes a RouteRecordRaw. Creates a copy\n *\n * @param record\n * @returns the normalized version\n */\nfunction normalizeRouteRecord(record) {\n return {\n path: record.path,\n redirect: record.redirect,\n name: record.name,\n meta: record.meta || {},\n aliasOf: undefined,\n beforeEnter: record.beforeEnter,\n props: normalizeRecordProps(record),\n children: record.children || [],\n instances: {},\n leaveGuards: new Set(),\n updateGuards: new Set(),\n enterCallbacks: {},\n components: 'components' in record\n ? record.components || null\n : record.component && { default: record.component },\n };\n}\n/**\n * Normalize the optional `props` in a record to always be an object similar to\n * components. Also accept a boolean for components.\n * @param record\n */\nfunction normalizeRecordProps(record) {\n const propsObject = {};\n // props does not exist on redirect records, but we can set false directly\n const props = record.props || false;\n if ('component' in record) {\n propsObject.default = props;\n }\n else {\n // NOTE: we could also allow a function to be applied to every component.\n // Would need user feedback for use cases\n for (const name in record.components)\n propsObject[name] = typeof props === 'object' ? props[name] : props;\n }\n return propsObject;\n}\n/**\n * Checks if a record or any of its parent is an alias\n * @param record\n */\nfunction isAliasRecord(record) {\n while (record) {\n if (record.record.aliasOf)\n return true;\n record = record.parent;\n }\n return false;\n}\n/**\n * Merge meta fields of an array of records\n *\n * @param matched - array of matched records\n */\nfunction mergeMetaFields(matched) {\n return matched.reduce((meta, record) => assign(meta, record.meta), {});\n}\nfunction mergeOptions(defaults, partialOptions) {\n const options = {};\n for (const key in defaults) {\n options[key] = key in partialOptions ? partialOptions[key] : defaults[key];\n }\n return options;\n}\nfunction isSameParam(a, b) {\n return (a.name === b.name &&\n a.optional === b.optional &&\n a.repeatable === b.repeatable);\n}\n/**\n * Check if a path and its alias have the same required params\n *\n * @param a - original record\n * @param b - alias record\n */\nfunction checkSameParams(a, b) {\n for (const key of a.keys) {\n if (!key.optional && !b.keys.find(isSameParam.bind(null, key)))\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n }\n for (const key of b.keys) {\n if (!key.optional && !a.keys.find(isSameParam.bind(null, key)))\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n }\n}\n/**\n * A route with a name and a child with an empty path without a name should warn when adding the route\n *\n * @param mainNormalizedRecord - RouteRecordNormalized\n * @param parent - RouteRecordMatcher\n */\nfunction checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) {\n if (parent &&\n parent.record.name &&\n !mainNormalizedRecord.name &&\n !mainNormalizedRecord.path) {\n warn(`The route named \"${String(parent.record.name)}\" has a child without a name and an empty path. Using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to remove the warning.`);\n }\n}\nfunction checkMissingParamsInAbsolutePath(record, parent) {\n for (const key of parent.keys) {\n if (!record.keys.find(isSameParam.bind(null, key)))\n return warn(`Absolute path \"${record.record.path}\" must have the exact same param named \"${key.name}\" as its parent \"${parent.record.path}\".`);\n }\n}\n/**\n * Performs a binary search to find the correct insertion index for a new matcher.\n *\n * Matchers are primarily sorted by their score. If scores are tied then we also consider parent/child relationships,\n * with descendants coming before ancestors. If there's still a tie, new routes are inserted after existing routes.\n *\n * @param matcher - new matcher to be inserted\n * @param matchers - existing matchers\n */\nfunction findInsertionIndex(matcher, matchers) {\n // First phase: binary search based on score\n let lower = 0;\n let upper = matchers.length;\n while (lower !== upper) {\n const mid = (lower + upper) >> 1;\n const sortOrder = comparePathParserScore(matcher, matchers[mid]);\n if (sortOrder < 0) {\n upper = mid;\n }\n else {\n lower = mid + 1;\n }\n }\n // Second phase: check for an ancestor with the same score\n const insertionAncestor = getInsertionAncestor(matcher);\n if (insertionAncestor) {\n upper = matchers.lastIndexOf(insertionAncestor, upper - 1);\n if ((process.env.NODE_ENV !== 'production') && upper < 0) {\n // This should never happen\n warn(`Finding ancestor route \"${insertionAncestor.record.path}\" failed for \"${matcher.record.path}\"`);\n }\n }\n return upper;\n}\nfunction getInsertionAncestor(matcher) {\n let ancestor = matcher;\n while ((ancestor = ancestor.parent)) {\n if (isMatchable(ancestor) &&\n comparePathParserScore(matcher, ancestor) === 0) {\n return ancestor;\n }\n }\n return;\n}\n/**\n * Checks if a matcher can be reachable. This means if it's possible to reach it as a route. For example, routes without\n * a component, or name, or redirect, are just used to group other routes.\n * @param matcher\n * @param matcher.record record of the matcher\n * @returns\n */\nfunction isMatchable({ record }) {\n return !!(record.name ||\n (record.components && Object.keys(record.components).length) ||\n record.redirect);\n}\n\n/**\n * Transforms a queryString into a {@link LocationQuery} object. Accept both, a\n * version with the leading `?` and without Should work as URLSearchParams\n\n * @internal\n *\n * @param search - search string to parse\n * @returns a query object\n */\nfunction parseQuery(search) {\n const query = {};\n // avoid creating an object with an empty key and empty value\n // because of split('&')\n if (search === '' || search === '?')\n return query;\n const hasLeadingIM = search[0] === '?';\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split('&');\n for (let i = 0; i < searchParams.length; ++i) {\n // pre decode the + into space\n const searchParam = searchParams[i].replace(PLUS_RE, ' ');\n // allow the = character\n const eqPos = searchParam.indexOf('=');\n const key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\n const value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\n if (key in query) {\n // an extra variable for ts types\n let currentValue = query[key];\n if (!isArray(currentValue)) {\n currentValue = query[key] = [currentValue];\n }\n currentValue.push(value);\n }\n else {\n query[key] = value;\n }\n }\n return query;\n}\n/**\n * Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it\n * doesn't prepend a `?`\n *\n * @internal\n *\n * @param query - query object to stringify\n * @returns string version of the query without the leading `?`\n */\nfunction stringifyQuery(query) {\n let search = '';\n for (let key in query) {\n const value = query[key];\n key = encodeQueryKey(key);\n if (value == null) {\n // only null adds the value\n if (value !== undefined) {\n search += (search.length ? '&' : '') + key;\n }\n continue;\n }\n // keep null values\n const values = isArray(value)\n ? value.map(v => v && encodeQueryValue(v))\n : [value && encodeQueryValue(value)];\n values.forEach(value => {\n // skip undefined values in arrays as if they were not present\n // smaller code than using filter\n if (value !== undefined) {\n // only append & with non-empty search\n search += (search.length ? '&' : '') + key;\n if (value != null)\n search += '=' + value;\n }\n });\n }\n return search;\n}\n/**\n * Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting\n * numbers into strings, removing keys with an undefined value and replacing\n * undefined with null in arrays\n *\n * @param query - query object to normalize\n * @returns a normalized query object\n */\nfunction normalizeQuery(query) {\n const normalizedQuery = {};\n for (const key in query) {\n const value = query[key];\n if (value !== undefined) {\n normalizedQuery[key] = isArray(value)\n ? value.map(v => (v == null ? null : '' + v))\n : value == null\n ? value\n : '' + value;\n }\n }\n return normalizedQuery;\n}\n\n/**\n * RouteRecord being rendered by the closest ancestor Router View. Used for\n * `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View\n * Location Matched\n *\n * @internal\n */\nconst matchedRouteKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location matched' : '');\n/**\n * Allows overriding the router view depth to control which component in\n * `matched` is rendered. rvd stands for Router View Depth\n *\n * @internal\n */\nconst viewDepthKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view depth' : '');\n/**\n * Allows overriding the router instance returned by `useRouter` in tests. r\n * stands for router\n *\n * @internal\n */\nconst routerKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router' : '');\n/**\n * Allows overriding the current route returned by `useRoute` in tests. rl\n * stands for route location\n *\n * @internal\n */\nconst routeLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'route location' : '');\n/**\n * Allows overriding the current route used by router-view. Internally this is\n * used when the `route` prop is passed.\n *\n * @internal\n */\nconst routerViewLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location' : '');\n\n/**\n * Create a list of callbacks that can be reset. Used to create before and after navigation guards list\n */\nfunction useCallbacks() {\n let handlers = [];\n function add(handler) {\n handlers.push(handler);\n return () => {\n const i = handlers.indexOf(handler);\n if (i > -1)\n handlers.splice(i, 1);\n };\n }\n function reset() {\n handlers = [];\n }\n return {\n add,\n list: () => handlers.slice(),\n reset,\n };\n}\n\nfunction registerGuard(record, name, guard) {\n const removeFromList = () => {\n record[name].delete(guard);\n };\n onUnmounted(removeFromList);\n onDeactivated(removeFromList);\n onActivated(() => {\n record[name].add(guard);\n });\n record[name].add(guard);\n}\n/**\n * Add a navigation guard that triggers whenever the component for the current\n * location is about to be left. Similar to {@link beforeRouteLeave} but can be\n * used in any component. The guard is removed when the component is unmounted.\n *\n * @param leaveGuard - {@link NavigationGuard}\n */\nfunction onBeforeRouteLeave(leaveGuard) {\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\n warn('getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function');\n return;\n }\n const activeRecord = inject(matchedRouteKey, \n // to avoid warning\n {}).value;\n if (!activeRecord) {\n (process.env.NODE_ENV !== 'production') &&\n warn('No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\n return;\n }\n registerGuard(activeRecord, 'leaveGuards', leaveGuard);\n}\n/**\n * Add a navigation guard that triggers whenever the current location is about\n * to be updated. Similar to {@link beforeRouteUpdate} but can be used in any\n * component. The guard is removed when the component is unmounted.\n *\n * @param updateGuard - {@link NavigationGuard}\n */\nfunction onBeforeRouteUpdate(updateGuard) {\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\n warn('getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function');\n return;\n }\n const activeRecord = inject(matchedRouteKey, \n // to avoid warning\n {}).value;\n if (!activeRecord) {\n (process.env.NODE_ENV !== 'production') &&\n warn('No active route record was found when calling `onBeforeRouteUpdate()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\n return;\n }\n registerGuard(activeRecord, 'updateGuards', updateGuard);\n}\nfunction guardToPromiseFn(guard, to, from, record, name, runWithContext = fn => fn()) {\n // keep a reference to the enterCallbackArray to prevent pushing callbacks if a new navigation took place\n const enterCallbackArray = record &&\n // name is defined if record is because of the function overload\n (record.enterCallbacks[name] = record.enterCallbacks[name] || []);\n return () => new Promise((resolve, reject) => {\n const next = (valid) => {\n if (valid === false) {\n reject(createRouterError(4 /* ErrorTypes.NAVIGATION_ABORTED */, {\n from,\n to,\n }));\n }\n else if (valid instanceof Error) {\n reject(valid);\n }\n else if (isRouteLocation(valid)) {\n reject(createRouterError(2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */, {\n from: to,\n to: valid,\n }));\n }\n else {\n if (enterCallbackArray &&\n // since enterCallbackArray is truthy, both record and name also are\n record.enterCallbacks[name] === enterCallbackArray &&\n typeof valid === 'function') {\n enterCallbackArray.push(valid);\n }\n resolve();\n }\n };\n // wrapping with Promise.resolve allows it to work with both async and sync guards\n const guardReturn = runWithContext(() => guard.call(record && record.instances[name], to, from, (process.env.NODE_ENV !== 'production') ? canOnlyBeCalledOnce(next, to, from) : next));\n let guardCall = Promise.resolve(guardReturn);\n if (guard.length < 3)\n guardCall = guardCall.then(next);\n if ((process.env.NODE_ENV !== 'production') && guard.length > 2) {\n const message = `The \"next\" callback was never called inside of ${guard.name ? '\"' + guard.name + '\"' : ''}:\\n${guard.toString()}\\n. If you are returning a value instead of calling \"next\", make sure to remove the \"next\" parameter from your function.`;\n if (typeof guardReturn === 'object' && 'then' in guardReturn) {\n guardCall = guardCall.then(resolvedValue => {\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\n if (!next._called) {\n warn(message);\n return Promise.reject(new Error('Invalid navigation guard'));\n }\n return resolvedValue;\n });\n }\n else if (guardReturn !== undefined) {\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\n if (!next._called) {\n warn(message);\n reject(new Error('Invalid navigation guard'));\n return;\n }\n }\n }\n guardCall.catch(err => reject(err));\n });\n}\nfunction canOnlyBeCalledOnce(next, to, from) {\n let called = 0;\n return function () {\n if (called++ === 1)\n warn(`The \"next\" callback was called more than once in one navigation guard when going from \"${from.fullPath}\" to \"${to.fullPath}\". It should be called exactly one time in each navigation guard. This will fail in production.`);\n // @ts-expect-error: we put it in the original one because it's easier to check\n next._called = true;\n if (called === 1)\n next.apply(null, arguments);\n };\n}\nfunction extractComponentsGuards(matched, guardType, to, from, runWithContext = fn => fn()) {\n const guards = [];\n for (const record of matched) {\n if ((process.env.NODE_ENV !== 'production') && !record.components && !record.children.length) {\n warn(`Record with path \"${record.path}\" is either missing a \"component(s)\"` +\n ` or \"children\" property.`);\n }\n for (const name in record.components) {\n let rawComponent = record.components[name];\n if ((process.env.NODE_ENV !== 'production')) {\n if (!rawComponent ||\n (typeof rawComponent !== 'object' &&\n typeof rawComponent !== 'function')) {\n warn(`Component \"${name}\" in record with path \"${record.path}\" is not` +\n ` a valid component. Received \"${String(rawComponent)}\".`);\n // throw to ensure we stop here but warn to ensure the message isn't\n // missed by the user\n throw new Error('Invalid route component');\n }\n else if ('then' in rawComponent) {\n // warn if user wrote import('/component.vue') instead of () =>\n // import('./component.vue')\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a ` +\n `Promise instead of a function that returns a Promise. Did you ` +\n `write \"import('./MyPage.vue')\" instead of ` +\n `\"() => import('./MyPage.vue')\" ? This will break in ` +\n `production if not fixed.`);\n const promise = rawComponent;\n rawComponent = () => promise;\n }\n else if (rawComponent.__asyncLoader &&\n // warn only once per component\n !rawComponent.__warnedDefineAsync) {\n rawComponent.__warnedDefineAsync = true;\n warn(`Component \"${name}\" in record with path \"${record.path}\" is defined ` +\n `using \"defineAsyncComponent()\". ` +\n `Write \"() => import('./MyPage.vue')\" instead of ` +\n `\"defineAsyncComponent(() => import('./MyPage.vue'))\".`);\n }\n }\n // skip update and leave guards if the route component is not mounted\n if (guardType !== 'beforeRouteEnter' && !record.instances[name])\n continue;\n if (isRouteComponent(rawComponent)) {\n // __vccOpts is added by vue-class-component and contain the regular options\n const options = rawComponent.__vccOpts || rawComponent;\n const guard = options[guardType];\n guard &&\n guards.push(guardToPromiseFn(guard, to, from, record, name, runWithContext));\n }\n else {\n // start requesting the chunk already\n let componentPromise = rawComponent();\n if ((process.env.NODE_ENV !== 'production') && !('catch' in componentPromise)) {\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a function that does not return a Promise. If you were passing a functional component, make sure to add a \"displayName\" to the component. This will break in production if not fixed.`);\n componentPromise = Promise.resolve(componentPromise);\n }\n guards.push(() => componentPromise.then(resolved => {\n if (!resolved)\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\"`));\n const resolvedComponent = isESModule(resolved)\n ? resolved.default\n : resolved;\n // replace the function with the resolved component\n // cannot be null or undefined because we went into the for loop\n record.components[name] = resolvedComponent;\n // __vccOpts is added by vue-class-component and contain the regular options\n const options = resolvedComponent.__vccOpts || resolvedComponent;\n const guard = options[guardType];\n return (guard &&\n guardToPromiseFn(guard, to, from, record, name, runWithContext)());\n }));\n }\n }\n }\n return guards;\n}\n/**\n * Allows differentiating lazy components from functional components and vue-class-component\n * @internal\n *\n * @param component\n */\nfunction isRouteComponent(component) {\n return (typeof component === 'object' ||\n 'displayName' in component ||\n 'props' in component ||\n '__vccOpts' in component);\n}\n/**\n * Ensures a route is loaded, so it can be passed as o prop to ``.\n *\n * @param route - resolved route to load\n */\nfunction loadRouteLocation(route) {\n return route.matched.every(record => record.redirect)\n ? Promise.reject(new Error('Cannot load a route that redirects.'))\n : Promise.all(route.matched.map(record => record.components &&\n Promise.all(Object.keys(record.components).reduce((promises, name) => {\n const rawComponent = record.components[name];\n if (typeof rawComponent === 'function' &&\n !('displayName' in rawComponent)) {\n promises.push(rawComponent().then(resolved => {\n if (!resolved)\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\". Ensure you passed a function that returns a promise.`));\n const resolvedComponent = isESModule(resolved)\n ? resolved.default\n : resolved;\n // replace the function with the resolved component\n // cannot be null or undefined because we went into the for loop\n record.components[name] = resolvedComponent;\n return;\n }));\n }\n return promises;\n }, [])))).then(() => route);\n}\n\n// TODO: we could allow currentRoute as a prop to expose `isActive` and\n// `isExactActive` behavior should go through an RFC\n/**\n * Returns the internal behavior of a {@link RouterLink} without the rendering part.\n *\n * @param props - a `to` location and an optional `replace` flag\n */\nfunction useLink(props) {\n const router = inject(routerKey);\n const currentRoute = inject(routeLocationKey);\n let hasPrevious = false;\n let previousTo = null;\n const route = computed(() => {\n const to = unref(props.to);\n if ((process.env.NODE_ENV !== 'production') && (!hasPrevious || to !== previousTo)) {\n if (!isRouteLocation(to)) {\n if (hasPrevious) {\n warn(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- previous to:`, previousTo, `\\n- props:`, props);\n }\n else {\n warn(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- props:`, props);\n }\n }\n previousTo = to;\n hasPrevious = true;\n }\n return router.resolve(to);\n });\n const activeRecordIndex = computed(() => {\n const { matched } = route.value;\n const { length } = matched;\n const routeMatched = matched[length - 1];\n const currentMatched = currentRoute.matched;\n if (!routeMatched || !currentMatched.length)\n return -1;\n const index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));\n if (index > -1)\n return index;\n // possible parent record\n const parentRecordPath = getOriginalPath(matched[length - 2]);\n return (\n // we are dealing with nested routes\n length > 1 &&\n // if the parent and matched route have the same path, this link is\n // referring to the empty child. Or we currently are on a different\n // child of the same parent\n getOriginalPath(routeMatched) === parentRecordPath &&\n // avoid comparing the child with its parent\n currentMatched[currentMatched.length - 1].path !== parentRecordPath\n ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2]))\n : index);\n });\n const isActive = computed(() => activeRecordIndex.value > -1 &&\n includesParams(currentRoute.params, route.value.params));\n const isExactActive = computed(() => activeRecordIndex.value > -1 &&\n activeRecordIndex.value === currentRoute.matched.length - 1 &&\n isSameRouteLocationParams(currentRoute.params, route.value.params));\n function navigate(e = {}) {\n if (guardEvent(e)) {\n return router[unref(props.replace) ? 'replace' : 'push'](unref(props.to)\n // avoid uncaught errors are they are logged anyway\n ).catch(noop);\n }\n return Promise.resolve();\n }\n // devtools only\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n const instance = getCurrentInstance();\n if (instance) {\n const linkContextDevtools = {\n route: route.value,\n isActive: isActive.value,\n isExactActive: isExactActive.value,\n error: null,\n };\n // @ts-expect-error: this is internal\n instance.__vrl_devtools = instance.__vrl_devtools || [];\n // @ts-expect-error: this is internal\n instance.__vrl_devtools.push(linkContextDevtools);\n watchEffect(() => {\n linkContextDevtools.route = route.value;\n linkContextDevtools.isActive = isActive.value;\n linkContextDevtools.isExactActive = isExactActive.value;\n linkContextDevtools.error = isRouteLocation(unref(props.to))\n ? null\n : 'Invalid \"to\" value';\n }, { flush: 'post' });\n }\n }\n /**\n * NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this\n */\n return {\n route,\n href: computed(() => route.value.href),\n isActive,\n isExactActive,\n navigate,\n };\n}\nconst RouterLinkImpl = /*#__PURE__*/ defineComponent({\n name: 'RouterLink',\n compatConfig: { MODE: 3 },\n props: {\n to: {\n type: [String, Object],\n required: true,\n },\n replace: Boolean,\n activeClass: String,\n // inactiveClass: String,\n exactActiveClass: String,\n custom: Boolean,\n ariaCurrentValue: {\n type: String,\n default: 'page',\n },\n },\n useLink,\n setup(props, { slots }) {\n const link = reactive(useLink(props));\n const { options } = inject(routerKey);\n const elClass = computed(() => ({\n [getLinkClass(props.activeClass, options.linkActiveClass, 'router-link-active')]: link.isActive,\n // [getLinkClass(\n // props.inactiveClass,\n // options.linkInactiveClass,\n // 'router-link-inactive'\n // )]: !link.isExactActive,\n [getLinkClass(props.exactActiveClass, options.linkExactActiveClass, 'router-link-exact-active')]: link.isExactActive,\n }));\n return () => {\n const children = slots.default && slots.default(link);\n return props.custom\n ? children\n : h('a', {\n 'aria-current': link.isExactActive\n ? props.ariaCurrentValue\n : null,\n href: link.href,\n // this would override user added attrs but Vue will still add\n // the listener, so we end up triggering both\n onClick: link.navigate,\n class: elClass.value,\n }, children);\n };\n },\n});\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\n/**\n * Component to render a link that triggers a navigation on click.\n */\nconst RouterLink = RouterLinkImpl;\nfunction guardEvent(e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)\n return;\n // don't redirect when preventDefault called\n if (e.defaultPrevented)\n return;\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0)\n return;\n // don't redirect if `target=\"_blank\"`\n // @ts-expect-error getAttribute does exist\n if (e.currentTarget && e.currentTarget.getAttribute) {\n // @ts-expect-error getAttribute exists\n const target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target))\n return;\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault)\n e.preventDefault();\n return true;\n}\nfunction includesParams(outer, inner) {\n for (const key in inner) {\n const innerValue = inner[key];\n const outerValue = outer[key];\n if (typeof innerValue === 'string') {\n if (innerValue !== outerValue)\n return false;\n }\n else {\n if (!isArray(outerValue) ||\n outerValue.length !== innerValue.length ||\n innerValue.some((value, i) => value !== outerValue[i]))\n return false;\n }\n }\n return true;\n}\n/**\n * Get the original path value of a record by following its aliasOf\n * @param record\n */\nfunction getOriginalPath(record) {\n return record ? (record.aliasOf ? record.aliasOf.path : record.path) : '';\n}\n/**\n * Utility class to get the active class based on defaults.\n * @param propClass\n * @param globalClass\n * @param defaultClass\n */\nconst getLinkClass = (propClass, globalClass, defaultClass) => propClass != null\n ? propClass\n : globalClass != null\n ? globalClass\n : defaultClass;\n\nconst RouterViewImpl = /*#__PURE__*/ defineComponent({\n name: 'RouterView',\n // #674 we manually inherit them\n inheritAttrs: false,\n props: {\n name: {\n type: String,\n default: 'default',\n },\n route: Object,\n },\n // Better compat for @vue/compat users\n // https://github.com/vuejs/router/issues/1315\n compatConfig: { MODE: 3 },\n setup(props, { attrs, slots }) {\n (process.env.NODE_ENV !== 'production') && warnDeprecatedUsage();\n const injectedRoute = inject(routerViewLocationKey);\n const routeToDisplay = computed(() => props.route || injectedRoute.value);\n const injectedDepth = inject(viewDepthKey, 0);\n // The depth changes based on empty components option, which allows passthrough routes e.g. routes with children\n // that are used to reuse the `path` property\n const depth = computed(() => {\n let initialDepth = unref(injectedDepth);\n const { matched } = routeToDisplay.value;\n let matchedRoute;\n while ((matchedRoute = matched[initialDepth]) &&\n !matchedRoute.components) {\n initialDepth++;\n }\n return initialDepth;\n });\n const matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);\n provide(viewDepthKey, computed(() => depth.value + 1));\n provide(matchedRouteKey, matchedRouteRef);\n provide(routerViewLocationKey, routeToDisplay);\n const viewRef = ref();\n // watch at the same time the component instance, the route record we are\n // rendering, and the name\n watch(() => [viewRef.value, matchedRouteRef.value, props.name], ([instance, to, name], [oldInstance, from, oldName]) => {\n // copy reused instances\n if (to) {\n // this will update the instance for new instances as well as reused\n // instances when navigating to a new route\n to.instances[name] = instance;\n // the component instance is reused for a different route or name, so\n // we copy any saved update or leave guards. With async setup, the\n // mounting component will mount before the matchedRoute changes,\n // making instance === oldInstance, so we check if guards have been\n // added before. This works because we remove guards when\n // unmounting/deactivating components\n if (from && from !== to && instance && instance === oldInstance) {\n if (!to.leaveGuards.size) {\n to.leaveGuards = from.leaveGuards;\n }\n if (!to.updateGuards.size) {\n to.updateGuards = from.updateGuards;\n }\n }\n }\n // trigger beforeRouteEnter next callbacks\n if (instance &&\n to &&\n // if there is no instance but to and from are the same this might be\n // the first visit\n (!from || !isSameRouteRecord(to, from) || !oldInstance)) {\n (to.enterCallbacks[name] || []).forEach(callback => callback(instance));\n }\n }, { flush: 'post' });\n return () => {\n const route = routeToDisplay.value;\n // we need the value at the time we render because when we unmount, we\n // navigated to a different location so the value is different\n const currentName = props.name;\n const matchedRoute = matchedRouteRef.value;\n const ViewComponent = matchedRoute && matchedRoute.components[currentName];\n if (!ViewComponent) {\n return normalizeSlot(slots.default, { Component: ViewComponent, route });\n }\n // props from route configuration\n const routePropsOption = matchedRoute.props[currentName];\n const routeProps = routePropsOption\n ? routePropsOption === true\n ? route.params\n : typeof routePropsOption === 'function'\n ? routePropsOption(route)\n : routePropsOption\n : null;\n const onVnodeUnmounted = vnode => {\n // remove the instance reference to prevent leak\n if (vnode.component.isUnmounted) {\n matchedRoute.instances[currentName] = null;\n }\n };\n const component = h(ViewComponent, assign({}, routeProps, attrs, {\n onVnodeUnmounted,\n ref: viewRef,\n }));\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n isBrowser &&\n component.ref) {\n // TODO: can display if it's an alias, its props\n const info = {\n depth: depth.value,\n name: matchedRoute.name,\n path: matchedRoute.path,\n meta: matchedRoute.meta,\n };\n const internalInstances = isArray(component.ref)\n ? component.ref.map(r => r.i)\n : [component.ref.i];\n internalInstances.forEach(instance => {\n // @ts-expect-error\n instance.__vrv_devtools = info;\n });\n }\n return (\n // pass the vnode to the slot as a prop.\n // h and both accept vnodes\n normalizeSlot(slots.default, { Component: component, route }) ||\n component);\n };\n },\n});\nfunction normalizeSlot(slot, data) {\n if (!slot)\n return null;\n const slotContent = slot(data);\n return slotContent.length === 1 ? slotContent[0] : slotContent;\n}\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\n/**\n * Component to display the current route the user is at.\n */\nconst RouterView = RouterViewImpl;\n// warn against deprecated usage with & \n// due to functional component being no longer eager in Vue 3\nfunction warnDeprecatedUsage() {\n const instance = getCurrentInstance();\n const parentName = instance.parent && instance.parent.type.name;\n const parentSubTreeType = instance.parent && instance.parent.subTree && instance.parent.subTree.type;\n if (parentName &&\n (parentName === 'KeepAlive' || parentName.includes('Transition')) &&\n typeof parentSubTreeType === 'object' &&\n parentSubTreeType.name === 'RouterView') {\n const comp = parentName === 'KeepAlive' ? 'keep-alive' : 'transition';\n warn(` can no longer be used directly inside or .\\n` +\n `Use slot props instead:\\n\\n` +\n `\\n` +\n ` <${comp}>\\n` +\n ` \\n` +\n ` \\n` +\n ``);\n }\n}\n\n/**\n * Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances).\n *\n * @param routeLocation - routeLocation to format\n * @param tooltip - optional tooltip\n * @returns a copy of the routeLocation\n */\nfunction formatRouteLocation(routeLocation, tooltip) {\n const copy = assign({}, routeLocation, {\n // remove variables that can contain vue instances\n matched: routeLocation.matched.map(matched => omit(matched, ['instances', 'children', 'aliasOf'])),\n });\n return {\n _custom: {\n type: null,\n readOnly: true,\n display: routeLocation.fullPath,\n tooltip,\n value: copy,\n },\n };\n}\nfunction formatDisplay(display) {\n return {\n _custom: {\n display,\n },\n };\n}\n// to support multiple router instances\nlet routerId = 0;\nfunction addDevtools(app, router, matcher) {\n // Take over router.beforeEach and afterEach\n // make sure we are not registering the devtool twice\n if (router.__hasDevtools)\n return;\n router.__hasDevtools = true;\n // increment to support multiple router instances\n const id = routerId++;\n setupDevtoolsPlugin({\n id: 'org.vuejs.router' + (id ? '.' + id : ''),\n label: 'Vue Router',\n packageName: 'vue-router',\n homepage: 'https://router.vuejs.org',\n logo: 'https://router.vuejs.org/logo.png',\n componentStateTypes: ['Routing'],\n app,\n }, api => {\n if (typeof api.now !== 'function') {\n console.warn('[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\n }\n // display state added by the router\n api.on.inspectComponent((payload, ctx) => {\n if (payload.instanceData) {\n payload.instanceData.state.push({\n type: 'Routing',\n key: '$route',\n editable: false,\n value: formatRouteLocation(router.currentRoute.value, 'Current Route'),\n });\n }\n });\n // mark router-link as active and display tags on router views\n api.on.visitComponentTree(({ treeNode: node, componentInstance }) => {\n if (componentInstance.__vrv_devtools) {\n const info = componentInstance.__vrv_devtools;\n node.tags.push({\n label: (info.name ? `${info.name.toString()}: ` : '') + info.path,\n textColor: 0,\n tooltip: 'This component is rendered by <router-view>',\n backgroundColor: PINK_500,\n });\n }\n // if multiple useLink are used\n if (isArray(componentInstance.__vrl_devtools)) {\n componentInstance.__devtoolsApi = api;\n componentInstance.__vrl_devtools.forEach(devtoolsData => {\n let label = devtoolsData.route.path;\n let backgroundColor = ORANGE_400;\n let tooltip = '';\n let textColor = 0;\n if (devtoolsData.error) {\n label = devtoolsData.error;\n backgroundColor = RED_100;\n textColor = RED_700;\n }\n else if (devtoolsData.isExactActive) {\n backgroundColor = LIME_500;\n tooltip = 'This is exactly active';\n }\n else if (devtoolsData.isActive) {\n backgroundColor = BLUE_600;\n tooltip = 'This link is active';\n }\n node.tags.push({\n label,\n textColor,\n tooltip,\n backgroundColor,\n });\n });\n }\n });\n watch(router.currentRoute, () => {\n // refresh active state\n refreshRoutesView();\n api.notifyComponentUpdate();\n api.sendInspectorTree(routerInspectorId);\n api.sendInspectorState(routerInspectorId);\n });\n const navigationsLayerId = 'router:navigations:' + id;\n api.addTimelineLayer({\n id: navigationsLayerId,\n label: `Router${id ? ' ' + id : ''} Navigations`,\n color: 0x40a8c4,\n });\n // const errorsLayerId = 'router:errors'\n // api.addTimelineLayer({\n // id: errorsLayerId,\n // label: 'Router Errors',\n // color: 0xea5455,\n // })\n router.onError((error, to) => {\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n title: 'Error during Navigation',\n subtitle: to.fullPath,\n logType: 'error',\n time: api.now(),\n data: { error },\n groupId: to.meta.__navigationId,\n },\n });\n });\n // attached to `meta` and used to group events\n let navigationId = 0;\n router.beforeEach((to, from) => {\n const data = {\n guard: formatDisplay('beforeEach'),\n from: formatRouteLocation(from, 'Current Location during this navigation'),\n to: formatRouteLocation(to, 'Target location'),\n };\n // Used to group navigations together, hide from devtools\n Object.defineProperty(to.meta, '__navigationId', {\n value: navigationId++,\n });\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n time: api.now(),\n title: 'Start of navigation',\n subtitle: to.fullPath,\n data,\n groupId: to.meta.__navigationId,\n },\n });\n });\n router.afterEach((to, from, failure) => {\n const data = {\n guard: formatDisplay('afterEach'),\n };\n if (failure) {\n data.failure = {\n _custom: {\n type: Error,\n readOnly: true,\n display: failure ? failure.message : '',\n tooltip: 'Navigation Failure',\n value: failure,\n },\n };\n data.status = formatDisplay('❌');\n }\n else {\n data.status = formatDisplay('✅');\n }\n // we set here to have the right order\n data.from = formatRouteLocation(from, 'Current Location during this navigation');\n data.to = formatRouteLocation(to, 'Target location');\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n title: 'End of navigation',\n subtitle: to.fullPath,\n time: api.now(),\n data,\n logType: failure ? 'warning' : 'default',\n groupId: to.meta.__navigationId,\n },\n });\n });\n /**\n * Inspector of Existing routes\n */\n const routerInspectorId = 'router-inspector:' + id;\n api.addInspector({\n id: routerInspectorId,\n label: 'Routes' + (id ? ' ' + id : ''),\n icon: 'book',\n treeFilterPlaceholder: 'Search routes',\n });\n function refreshRoutesView() {\n // the routes view isn't active\n if (!activeRoutesPayload)\n return;\n const payload = activeRoutesPayload;\n // children routes will appear as nested\n let routes = matcher.getRoutes().filter(route => !route.parent ||\n // these routes have a parent with no component which will not appear in the view\n // therefore we still need to include them\n !route.parent.record.components);\n // reset match state to false\n routes.forEach(resetMatchStateOnRouteRecord);\n // apply a match state if there is a payload\n if (payload.filter) {\n routes = routes.filter(route => \n // save matches state based on the payload\n isRouteMatching(route, payload.filter.toLowerCase()));\n }\n // mark active routes\n routes.forEach(route => markRouteRecordActive(route, router.currentRoute.value));\n payload.rootNodes = routes.map(formatRouteRecordForInspector);\n }\n let activeRoutesPayload;\n api.on.getInspectorTree(payload => {\n activeRoutesPayload = payload;\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\n refreshRoutesView();\n }\n });\n /**\n * Display information about the currently selected route record\n */\n api.on.getInspectorState(payload => {\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\n const routes = matcher.getRoutes();\n const route = routes.find(route => route.record.__vd_id === payload.nodeId);\n if (route) {\n payload.state = {\n options: formatRouteRecordMatcherForStateInspector(route),\n };\n }\n }\n });\n api.sendInspectorTree(routerInspectorId);\n api.sendInspectorState(routerInspectorId);\n });\n}\nfunction modifierForKey(key) {\n if (key.optional) {\n return key.repeatable ? '*' : '?';\n }\n else {\n return key.repeatable ? '+' : '';\n }\n}\nfunction formatRouteRecordMatcherForStateInspector(route) {\n const { record } = route;\n const fields = [\n { editable: false, key: 'path', value: record.path },\n ];\n if (record.name != null) {\n fields.push({\n editable: false,\n key: 'name',\n value: record.name,\n });\n }\n fields.push({ editable: false, key: 'regexp', value: route.re });\n if (route.keys.length) {\n fields.push({\n editable: false,\n key: 'keys',\n value: {\n _custom: {\n type: null,\n readOnly: true,\n display: route.keys\n .map(key => `${key.name}${modifierForKey(key)}`)\n .join(' '),\n tooltip: 'Param keys',\n value: route.keys,\n },\n },\n });\n }\n if (record.redirect != null) {\n fields.push({\n editable: false,\n key: 'redirect',\n value: record.redirect,\n });\n }\n if (route.alias.length) {\n fields.push({\n editable: false,\n key: 'aliases',\n value: route.alias.map(alias => alias.record.path),\n });\n }\n if (Object.keys(route.record.meta).length) {\n fields.push({\n editable: false,\n key: 'meta',\n value: route.record.meta,\n });\n }\n fields.push({\n key: 'score',\n editable: false,\n value: {\n _custom: {\n type: null,\n readOnly: true,\n display: route.score.map(score => score.join(', ')).join(' | '),\n tooltip: 'Score used to sort routes',\n value: route.score,\n },\n },\n });\n return fields;\n}\n/**\n * Extracted from tailwind palette\n */\nconst PINK_500 = 0xec4899;\nconst BLUE_600 = 0x2563eb;\nconst LIME_500 = 0x84cc16;\nconst CYAN_400 = 0x22d3ee;\nconst ORANGE_400 = 0xfb923c;\n// const GRAY_100 = 0xf4f4f5\nconst DARK = 0x666666;\nconst RED_100 = 0xfee2e2;\nconst RED_700 = 0xb91c1c;\nfunction formatRouteRecordForInspector(route) {\n const tags = [];\n const { record } = route;\n if (record.name != null) {\n tags.push({\n label: String(record.name),\n textColor: 0,\n backgroundColor: CYAN_400,\n });\n }\n if (record.aliasOf) {\n tags.push({\n label: 'alias',\n textColor: 0,\n backgroundColor: ORANGE_400,\n });\n }\n if (route.__vd_match) {\n tags.push({\n label: 'matches',\n textColor: 0,\n backgroundColor: PINK_500,\n });\n }\n if (route.__vd_exactActive) {\n tags.push({\n label: 'exact',\n textColor: 0,\n backgroundColor: LIME_500,\n });\n }\n if (route.__vd_active) {\n tags.push({\n label: 'active',\n textColor: 0,\n backgroundColor: BLUE_600,\n });\n }\n if (record.redirect) {\n tags.push({\n label: typeof record.redirect === 'string'\n ? `redirect: ${record.redirect}`\n : 'redirects',\n textColor: 0xffffff,\n backgroundColor: DARK,\n });\n }\n // add an id to be able to select it. Using the `path` is not possible because\n // empty path children would collide with their parents\n let id = record.__vd_id;\n if (id == null) {\n id = String(routeRecordId++);\n record.__vd_id = id;\n }\n return {\n id,\n label: record.path,\n tags,\n children: route.children.map(formatRouteRecordForInspector),\n };\n}\n// incremental id for route records and inspector state\nlet routeRecordId = 0;\nconst EXTRACT_REGEXP_RE = /^\\/(.*)\\/([a-z]*)$/;\nfunction markRouteRecordActive(route, currentRoute) {\n // no route will be active if matched is empty\n // reset the matching state\n const isExactActive = currentRoute.matched.length &&\n isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record);\n route.__vd_exactActive = route.__vd_active = isExactActive;\n if (!isExactActive) {\n route.__vd_active = currentRoute.matched.some(match => isSameRouteRecord(match, route.record));\n }\n route.children.forEach(childRoute => markRouteRecordActive(childRoute, currentRoute));\n}\nfunction resetMatchStateOnRouteRecord(route) {\n route.__vd_match = false;\n route.children.forEach(resetMatchStateOnRouteRecord);\n}\nfunction isRouteMatching(route, filter) {\n const found = String(route.re).match(EXTRACT_REGEXP_RE);\n route.__vd_match = false;\n if (!found || found.length < 3) {\n return false;\n }\n // use a regexp without $ at the end to match nested routes better\n const nonEndingRE = new RegExp(found[1].replace(/\\$$/, ''), found[2]);\n if (nonEndingRE.test(filter)) {\n // mark children as matches\n route.children.forEach(child => isRouteMatching(child, filter));\n // exception case: `/`\n if (route.record.path !== '/' || filter === '/') {\n route.__vd_match = route.re.test(filter);\n return true;\n }\n // hide the / route\n return false;\n }\n const path = route.record.path.toLowerCase();\n const decodedPath = decode(path);\n // also allow partial matching on the path\n if (!filter.startsWith('/') &&\n (decodedPath.includes(filter) || path.includes(filter)))\n return true;\n if (decodedPath.startsWith(filter) || path.startsWith(filter))\n return true;\n if (route.record.name && String(route.record.name).includes(filter))\n return true;\n return route.children.some(child => isRouteMatching(child, filter));\n}\nfunction omit(obj, keys) {\n const ret = {};\n for (const key in obj) {\n if (!keys.includes(key)) {\n // @ts-expect-error\n ret[key] = obj[key];\n }\n }\n return ret;\n}\n\n/**\n * Creates a Router instance that can be used by a Vue app.\n *\n * @param options - {@link RouterOptions}\n */\nfunction createRouter(options) {\n const matcher = createRouterMatcher(options.routes, options);\n const parseQuery$1 = options.parseQuery || parseQuery;\n const stringifyQuery$1 = options.stringifyQuery || stringifyQuery;\n const routerHistory = options.history;\n if ((process.env.NODE_ENV !== 'production') && !routerHistory)\n throw new Error('Provide the \"history\" option when calling \"createRouter()\":' +\n ' https://router.vuejs.org/api/interfaces/RouterOptions.html#history');\n const beforeGuards = useCallbacks();\n const beforeResolveGuards = useCallbacks();\n const afterGuards = useCallbacks();\n const currentRoute = shallowRef(START_LOCATION_NORMALIZED);\n let pendingLocation = START_LOCATION_NORMALIZED;\n // leave the scrollRestoration if no scrollBehavior is provided\n if (isBrowser && options.scrollBehavior && 'scrollRestoration' in history) {\n history.scrollRestoration = 'manual';\n }\n const normalizeParams = applyToParams.bind(null, paramValue => '' + paramValue);\n const encodeParams = applyToParams.bind(null, encodeParam);\n const decodeParams = \n // @ts-expect-error: intentionally avoid the type check\n applyToParams.bind(null, decode);\n function addRoute(parentOrRoute, route) {\n let parent;\n let record;\n if (isRouteName(parentOrRoute)) {\n parent = matcher.getRecordMatcher(parentOrRoute);\n if ((process.env.NODE_ENV !== 'production') && !parent) {\n warn(`Parent route \"${String(parentOrRoute)}\" not found when adding child route`, route);\n }\n record = route;\n }\n else {\n record = parentOrRoute;\n }\n return matcher.addRoute(record, parent);\n }\n function removeRoute(name) {\n const recordMatcher = matcher.getRecordMatcher(name);\n if (recordMatcher) {\n matcher.removeRoute(recordMatcher);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`Cannot remove non-existent route \"${String(name)}\"`);\n }\n }\n function getRoutes() {\n return matcher.getRoutes().map(routeMatcher => routeMatcher.record);\n }\n function hasRoute(name) {\n return !!matcher.getRecordMatcher(name);\n }\n function resolve(rawLocation, currentLocation) {\n // const resolve: Router['resolve'] = (rawLocation: RouteLocationRaw, currentLocation) => {\n // const objectLocation = routerLocationAsObject(rawLocation)\n // we create a copy to modify it later\n currentLocation = assign({}, currentLocation || currentRoute.value);\n if (typeof rawLocation === 'string') {\n const locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);\n const matchedRoute = matcher.resolve({ path: locationNormalized.path }, currentLocation);\n const href = routerHistory.createHref(locationNormalized.fullPath);\n if ((process.env.NODE_ENV !== 'production')) {\n if (href.startsWith('//'))\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n else if (!matchedRoute.matched.length) {\n warn(`No match found for location with path \"${rawLocation}\"`);\n }\n }\n // locationNormalized is always a new object\n return assign(locationNormalized, matchedRoute, {\n params: decodeParams(matchedRoute.params),\n hash: decode(locationNormalized.hash),\n redirectedFrom: undefined,\n href,\n });\n }\n if ((process.env.NODE_ENV !== 'production') && !isRouteLocation(rawLocation)) {\n warn(`router.resolve() was passed an invalid location. This will fail in production.\\n- Location:`, rawLocation);\n return resolve({});\n }\n let matcherLocation;\n // path could be relative in object as well\n if (rawLocation.path != null) {\n if ((process.env.NODE_ENV !== 'production') &&\n 'params' in rawLocation &&\n !('name' in rawLocation) &&\n // @ts-expect-error: the type is never\n Object.keys(rawLocation.params).length) {\n warn(`Path \"${rawLocation.path}\" was passed with params but they will be ignored. Use a named route alongside params instead.`);\n }\n matcherLocation = assign({}, rawLocation, {\n path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path,\n });\n }\n else {\n // remove any nullish param\n const targetParams = assign({}, rawLocation.params);\n for (const key in targetParams) {\n if (targetParams[key] == null) {\n delete targetParams[key];\n }\n }\n // pass encoded values to the matcher, so it can produce encoded path and fullPath\n matcherLocation = assign({}, rawLocation, {\n params: encodeParams(targetParams),\n });\n // current location params are decoded, we need to encode them in case the\n // matcher merges the params\n currentLocation.params = encodeParams(currentLocation.params);\n }\n const matchedRoute = matcher.resolve(matcherLocation, currentLocation);\n const hash = rawLocation.hash || '';\n if ((process.env.NODE_ENV !== 'production') && hash && !hash.startsWith('#')) {\n warn(`A \\`hash\\` should always start with the character \"#\". Replace \"${hash}\" with \"#${hash}\".`);\n }\n // the matcher might have merged current location params, so\n // we need to run the decoding again\n matchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));\n const fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, {\n hash: encodeHash(hash),\n path: matchedRoute.path,\n }));\n const href = routerHistory.createHref(fullPath);\n if ((process.env.NODE_ENV !== 'production')) {\n if (href.startsWith('//')) {\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n }\n else if (!matchedRoute.matched.length) {\n warn(`No match found for location with path \"${rawLocation.path != null ? rawLocation.path : rawLocation}\"`);\n }\n }\n return assign({\n fullPath,\n // keep the hash encoded so fullPath is effectively path + encodedQuery +\n // hash\n hash,\n query: \n // if the user is using a custom query lib like qs, we might have\n // nested objects, so we keep the query as is, meaning it can contain\n // numbers at `$route.query`, but at the point, the user will have to\n // use their own type anyway.\n // https://github.com/vuejs/router/issues/328#issuecomment-649481567\n stringifyQuery$1 === stringifyQuery\n ? normalizeQuery(rawLocation.query)\n : (rawLocation.query || {}),\n }, matchedRoute, {\n redirectedFrom: undefined,\n href,\n });\n }\n function locationAsObject(to) {\n return typeof to === 'string'\n ? parseURL(parseQuery$1, to, currentRoute.value.path)\n : assign({}, to);\n }\n function checkCanceledNavigation(to, from) {\n if (pendingLocation !== to) {\n return createRouterError(8 /* ErrorTypes.NAVIGATION_CANCELLED */, {\n from,\n to,\n });\n }\n }\n function push(to) {\n return pushWithRedirect(to);\n }\n function replace(to) {\n return push(assign(locationAsObject(to), { replace: true }));\n }\n function handleRedirectRecord(to) {\n const lastMatched = to.matched[to.matched.length - 1];\n if (lastMatched && lastMatched.redirect) {\n const { redirect } = lastMatched;\n let newTargetLocation = typeof redirect === 'function' ? redirect(to) : redirect;\n if (typeof newTargetLocation === 'string') {\n newTargetLocation =\n newTargetLocation.includes('?') || newTargetLocation.includes('#')\n ? (newTargetLocation = locationAsObject(newTargetLocation))\n : // force empty params\n { path: newTargetLocation };\n // @ts-expect-error: force empty params when a string is passed to let\n // the router parse them again\n newTargetLocation.params = {};\n }\n if ((process.env.NODE_ENV !== 'production') &&\n newTargetLocation.path == null &&\n !('name' in newTargetLocation)) {\n warn(`Invalid redirect found:\\n${JSON.stringify(newTargetLocation, null, 2)}\\n when navigating to \"${to.fullPath}\". A redirect must contain a name or path. This will break in production.`);\n throw new Error('Invalid redirect');\n }\n return assign({\n query: to.query,\n hash: to.hash,\n // avoid transferring params if the redirect has a path\n params: newTargetLocation.path != null ? {} : to.params,\n }, newTargetLocation);\n }\n }\n function pushWithRedirect(to, redirectedFrom) {\n const targetLocation = (pendingLocation = resolve(to));\n const from = currentRoute.value;\n const data = to.state;\n const force = to.force;\n // to could be a string where `replace` is a function\n const replace = to.replace === true;\n const shouldRedirect = handleRedirectRecord(targetLocation);\n if (shouldRedirect)\n return pushWithRedirect(assign(locationAsObject(shouldRedirect), {\n state: typeof shouldRedirect === 'object'\n ? assign({}, data, shouldRedirect.state)\n : data,\n force,\n replace,\n }), \n // keep original redirectedFrom if it exists\n redirectedFrom || targetLocation);\n // if it was a redirect we already called `pushWithRedirect` above\n const toLocation = targetLocation;\n toLocation.redirectedFrom = redirectedFrom;\n let failure;\n if (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {\n failure = createRouterError(16 /* ErrorTypes.NAVIGATION_DUPLICATED */, { to: toLocation, from });\n // trigger scroll to allow scrolling to the same anchor\n handleScroll(from, from, \n // this is a push, the only way for it to be triggered from a\n // history.listen is with a redirect, which makes it become a push\n true, \n // This cannot be the first navigation because the initial location\n // cannot be manually navigated to\n false);\n }\n return (failure ? Promise.resolve(failure) : navigate(toLocation, from))\n .catch((error) => isNavigationFailure(error)\n ? // navigation redirects still mark the router as ready\n isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)\n ? error\n : markAsReady(error) // also returns the error\n : // reject any unknown error\n triggerError(error, toLocation, from))\n .then((failure) => {\n if (failure) {\n if (isNavigationFailure(failure, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\n if ((process.env.NODE_ENV !== 'production') &&\n // we are redirecting to the same location we were already at\n isSameRouteLocation(stringifyQuery$1, resolve(failure.to), toLocation) &&\n // and we have done it a couple of times\n redirectedFrom &&\n // @ts-expect-error: added only in dev\n (redirectedFrom._count = redirectedFrom._count\n ? // @ts-expect-error\n redirectedFrom._count + 1\n : 1) > 30) {\n warn(`Detected a possibly infinite redirection in a navigation guard when going from \"${from.fullPath}\" to \"${toLocation.fullPath}\". Aborting to avoid a Stack Overflow.\\n Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`);\n return Promise.reject(new Error('Infinite redirect in navigation guard'));\n }\n return pushWithRedirect(\n // keep options\n assign({\n // preserve an existing replacement but allow the redirect to override it\n replace,\n }, locationAsObject(failure.to), {\n state: typeof failure.to === 'object'\n ? assign({}, data, failure.to.state)\n : data,\n force,\n }), \n // preserve the original redirectedFrom if any\n redirectedFrom || toLocation);\n }\n }\n else {\n // if we fail we don't finalize the navigation\n failure = finalizeNavigation(toLocation, from, true, replace, data);\n }\n triggerAfterEach(toLocation, from, failure);\n return failure;\n });\n }\n /**\n * Helper to reject and skip all navigation guards if a new navigation happened\n * @param to\n * @param from\n */\n function checkCanceledNavigationAndReject(to, from) {\n const error = checkCanceledNavigation(to, from);\n return error ? Promise.reject(error) : Promise.resolve();\n }\n function runWithContext(fn) {\n const app = installedApps.values().next().value;\n // support Vue < 3.3\n return app && typeof app.runWithContext === 'function'\n ? app.runWithContext(fn)\n : fn();\n }\n // TODO: refactor the whole before guards by internally using router.beforeEach\n function navigate(to, from) {\n let guards;\n const [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);\n // all components here have been resolved once because we are leaving\n guards = extractComponentsGuards(leavingRecords.reverse(), 'beforeRouteLeave', to, from);\n // leavingRecords is already reversed\n for (const record of leavingRecords) {\n record.leaveGuards.forEach(guard => {\n guards.push(guardToPromiseFn(guard, to, from));\n });\n }\n const canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeRouteLeave guards\n return (runGuardQueue(guards)\n .then(() => {\n // check global guards beforeEach\n guards = [];\n for (const guard of beforeGuards.list()) {\n guards.push(guardToPromiseFn(guard, to, from));\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n })\n .then(() => {\n // check in components beforeRouteUpdate\n guards = extractComponentsGuards(updatingRecords, 'beforeRouteUpdate', to, from);\n for (const record of updatingRecords) {\n record.updateGuards.forEach(guard => {\n guards.push(guardToPromiseFn(guard, to, from));\n });\n }\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // check the route beforeEnter\n guards = [];\n for (const record of enteringRecords) {\n // do not trigger beforeEnter on reused views\n if (record.beforeEnter) {\n if (isArray(record.beforeEnter)) {\n for (const beforeEnter of record.beforeEnter)\n guards.push(guardToPromiseFn(beforeEnter, to, from));\n }\n else {\n guards.push(guardToPromiseFn(record.beforeEnter, to, from));\n }\n }\n }\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // NOTE: at this point to.matched is normalized and does not contain any () => Promise\n // clear existing enterCallbacks, these are added by extractComponentsGuards\n to.matched.forEach(record => (record.enterCallbacks = {}));\n // check in-component beforeRouteEnter\n guards = extractComponentsGuards(enteringRecords, 'beforeRouteEnter', to, from, runWithContext);\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // check global guards beforeResolve\n guards = [];\n for (const guard of beforeResolveGuards.list()) {\n guards.push(guardToPromiseFn(guard, to, from));\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n })\n // catch any navigation canceled\n .catch(err => isNavigationFailure(err, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)\n ? err\n : Promise.reject(err)));\n }\n function triggerAfterEach(to, from, failure) {\n // navigation is confirmed, call afterGuards\n // TODO: wrap with error handlers\n afterGuards\n .list()\n .forEach(guard => runWithContext(() => guard(to, from, failure)));\n }\n /**\n * - Cleans up any navigation guards\n * - Changes the url if necessary\n * - Calls the scrollBehavior\n */\n function finalizeNavigation(toLocation, from, isPush, replace, data) {\n // a more recent navigation took place\n const error = checkCanceledNavigation(toLocation, from);\n if (error)\n return error;\n // only consider as push if it's not the first navigation\n const isFirstNavigation = from === START_LOCATION_NORMALIZED;\n const state = !isBrowser ? {} : history.state;\n // change URL only if the user did a push/replace and if it's not the initial navigation because\n // it's just reflecting the url\n if (isPush) {\n // on the initial navigation, we want to reuse the scroll position from\n // history state if it exists\n if (replace || isFirstNavigation)\n routerHistory.replace(toLocation.fullPath, assign({\n scroll: isFirstNavigation && state && state.scroll,\n }, data));\n else\n routerHistory.push(toLocation.fullPath, data);\n }\n // accept current navigation\n currentRoute.value = toLocation;\n handleScroll(toLocation, from, isPush, isFirstNavigation);\n markAsReady();\n }\n let removeHistoryListener;\n // attach listener to history to trigger navigations\n function setupListeners() {\n // avoid setting up listeners twice due to an invalid first navigation\n if (removeHistoryListener)\n return;\n removeHistoryListener = routerHistory.listen((to, _from, info) => {\n if (!router.listening)\n return;\n // cannot be a redirect route because it was in history\n const toLocation = resolve(to);\n // due to dynamic routing, and to hash history with manual navigation\n // (manually changing the url or calling history.hash = '#/somewhere'),\n // there could be a redirect record in history\n const shouldRedirect = handleRedirectRecord(toLocation);\n if (shouldRedirect) {\n pushWithRedirect(assign(shouldRedirect, { replace: true }), toLocation).catch(noop);\n return;\n }\n pendingLocation = toLocation;\n const from = currentRoute.value;\n // TODO: should be moved to web history?\n if (isBrowser) {\n saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition());\n }\n navigate(toLocation, from)\n .catch((error) => {\n if (isNavigationFailure(error, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\n return error;\n }\n if (isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\n // Here we could call if (info.delta) routerHistory.go(-info.delta,\n // false) but this is bug prone as we have no way to wait the\n // navigation to be finished before calling pushWithRedirect. Using\n // a setTimeout of 16ms seems to work but there is no guarantee for\n // it to work on every browser. So instead we do not restore the\n // history entry and trigger a new navigation as requested by the\n // navigation guard.\n // the error is already handled by router.push we just want to avoid\n // logging the error\n pushWithRedirect(error.to, toLocation\n // avoid an uncaught rejection, let push call triggerError\n )\n .then(failure => {\n // manual change in hash history #916 ending up in the URL not\n // changing, but it was changed by the manual url change, so we\n // need to manually change it ourselves\n if (isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ |\n 16 /* ErrorTypes.NAVIGATION_DUPLICATED */) &&\n !info.delta &&\n info.type === NavigationType.pop) {\n routerHistory.go(-1, false);\n }\n })\n .catch(noop);\n // avoid the then branch\n return Promise.reject();\n }\n // do not restore history on unknown direction\n if (info.delta) {\n routerHistory.go(-info.delta, false);\n }\n // unrecognized error, transfer to the global handler\n return triggerError(error, toLocation, from);\n })\n .then((failure) => {\n failure =\n failure ||\n finalizeNavigation(\n // after navigation, all matched components are resolved\n toLocation, from, false);\n // revert the navigation\n if (failure) {\n if (info.delta &&\n // a new navigation has been triggered, so we do not want to revert, that will change the current history\n // entry while a different route is displayed\n !isNavigationFailure(failure, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\n routerHistory.go(-info.delta, false);\n }\n else if (info.type === NavigationType.pop &&\n isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 16 /* ErrorTypes.NAVIGATION_DUPLICATED */)) {\n // manual change in hash history #916\n // it's like a push but lacks the information of the direction\n routerHistory.go(-1, false);\n }\n }\n triggerAfterEach(toLocation, from, failure);\n })\n // avoid warnings in the console about uncaught rejections, they are logged by triggerErrors\n .catch(noop);\n });\n }\n // Initialization and Errors\n let readyHandlers = useCallbacks();\n let errorListeners = useCallbacks();\n let ready;\n /**\n * Trigger errorListeners added via onError and throws the error as well\n *\n * @param error - error to throw\n * @param to - location we were navigating to when the error happened\n * @param from - location we were navigating from when the error happened\n * @returns the error as a rejected promise\n */\n function triggerError(error, to, from) {\n markAsReady(error);\n const list = errorListeners.list();\n if (list.length) {\n list.forEach(handler => handler(error, to, from));\n }\n else {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('uncaught error during route navigation:');\n }\n console.error(error);\n }\n // reject the error no matter there were error listeners or not\n return Promise.reject(error);\n }\n function isReady() {\n if (ready && currentRoute.value !== START_LOCATION_NORMALIZED)\n return Promise.resolve();\n return new Promise((resolve, reject) => {\n readyHandlers.add([resolve, reject]);\n });\n }\n function markAsReady(err) {\n if (!ready) {\n // still not ready if an error happened\n ready = !err;\n setupListeners();\n readyHandlers\n .list()\n .forEach(([resolve, reject]) => (err ? reject(err) : resolve()));\n readyHandlers.reset();\n }\n return err;\n }\n // Scroll behavior\n function handleScroll(to, from, isPush, isFirstNavigation) {\n const { scrollBehavior } = options;\n if (!isBrowser || !scrollBehavior)\n return Promise.resolve();\n const scrollPosition = (!isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0))) ||\n ((isFirstNavigation || !isPush) &&\n history.state &&\n history.state.scroll) ||\n null;\n return nextTick()\n .then(() => scrollBehavior(to, from, scrollPosition))\n .then(position => position && scrollToPosition(position))\n .catch(err => triggerError(err, to, from));\n }\n const go = (delta) => routerHistory.go(delta);\n let started;\n const installedApps = new Set();\n const router = {\n currentRoute,\n listening: true,\n addRoute,\n removeRoute,\n clearRoutes: matcher.clearRoutes,\n hasRoute,\n getRoutes,\n resolve,\n options,\n push,\n replace,\n go,\n back: () => go(-1),\n forward: () => go(1),\n beforeEach: beforeGuards.add,\n beforeResolve: beforeResolveGuards.add,\n afterEach: afterGuards.add,\n onError: errorListeners.add,\n isReady,\n install(app) {\n const router = this;\n app.component('RouterLink', RouterLink);\n app.component('RouterView', RouterView);\n app.config.globalProperties.$router = router;\n Object.defineProperty(app.config.globalProperties, '$route', {\n enumerable: true,\n get: () => unref(currentRoute),\n });\n // this initial navigation is only necessary on client, on server it doesn't\n // make sense because it will create an extra unnecessary navigation and could\n // lead to problems\n if (isBrowser &&\n // used for the initial navigation client side to avoid pushing\n // multiple times when the router is used in multiple apps\n !started &&\n currentRoute.value === START_LOCATION_NORMALIZED) {\n // see above\n started = true;\n push(routerHistory.location).catch(err => {\n if ((process.env.NODE_ENV !== 'production'))\n warn('Unexpected error when starting the router:', err);\n });\n }\n const reactiveRoute = {};\n for (const key in START_LOCATION_NORMALIZED) {\n Object.defineProperty(reactiveRoute, key, {\n get: () => currentRoute.value[key],\n enumerable: true,\n });\n }\n app.provide(routerKey, router);\n app.provide(routeLocationKey, shallowReactive(reactiveRoute));\n app.provide(routerViewLocationKey, currentRoute);\n const unmountApp = app.unmount;\n installedApps.add(app);\n app.unmount = function () {\n installedApps.delete(app);\n // the router is not attached to an app anymore\n if (installedApps.size < 1) {\n // invalidate the current navigation\n pendingLocation = START_LOCATION_NORMALIZED;\n removeHistoryListener && removeHistoryListener();\n removeHistoryListener = null;\n currentRoute.value = START_LOCATION_NORMALIZED;\n started = false;\n ready = false;\n }\n unmountApp();\n };\n // TODO: this probably needs to be updated so it can be used by vue-termui\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n addDevtools(app, router, matcher);\n }\n },\n };\n // TODO: type this as NavigationGuardReturn or similar instead of any\n function runGuardQueue(guards) {\n return guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve());\n }\n return router;\n}\nfunction extractChangingRecords(to, from) {\n const leavingRecords = [];\n const updatingRecords = [];\n const enteringRecords = [];\n const len = Math.max(from.matched.length, to.matched.length);\n for (let i = 0; i < len; i++) {\n const recordFrom = from.matched[i];\n if (recordFrom) {\n if (to.matched.find(record => isSameRouteRecord(record, recordFrom)))\n updatingRecords.push(recordFrom);\n else\n leavingRecords.push(recordFrom);\n }\n const recordTo = to.matched[i];\n if (recordTo) {\n // the type doesn't matter because we are comparing per reference\n if (!from.matched.find(record => isSameRouteRecord(record, recordTo))) {\n enteringRecords.push(recordTo);\n }\n }\n }\n return [leavingRecords, updatingRecords, enteringRecords];\n}\n\n/**\n * Returns the router instance. Equivalent to using `$router` inside\n * templates.\n */\nfunction useRouter() {\n return inject(routerKey);\n}\n/**\n * Returns the current route location. Equivalent to using `$route` inside\n * templates.\n */\nfunction useRoute(_name) {\n return inject(routeLocationKey);\n}\n\nexport { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey };\n","import StartView from '@/views/start/StartView.vue'\nimport FoodView from './views/food/FoodView.vue'\nimport ConsumptionView from './views/consumption/ConsumptionView.vue'\nimport HousingView from './views/housing/HousingView.vue'\nimport ResultsView from './views/results/ResultsView.vue'\nimport TransportView from './views/transport/TransportView.vue'\nimport WasteView from './views/waste/WasteView.vue'\nimport CalculationInfo from './views/calculationInfo/CalculationInfo.vue'\nimport ActionsView from './views/actions/ActionsView.vue'\nimport ServiceDescription from './views/common/ServiceDescription.vue'\nimport AccessibilityNotice from './views/common/AccessibilityNotice.vue'\nimport PrivacyNotice from './views/common/PrivacyNotice.vue'\nimport TermsOfUse from './views/common/TermsOfUse.vue'\nimport NotFound from './views/common/NotFound.vue'\nimport { createRouter, createWebHashHistory } from 'vue-router'\n\nexport default createRouter({\n history: createWebHashHistory(import.meta.env.BASE_URL),\n routes: [\n {\n path: '/',\n name: 'start',\n component: StartView,\n },\n {\n path: '/consumption',\n name: 'consumption',\n component: ConsumptionView,\n },\n {\n path: '/food',\n name: 'food',\n component: FoodView,\n },\n {\n path: '/housing',\n name: 'housing',\n component: HousingView,\n },\n {\n path: '/results',\n name: 'results',\n component: ResultsView,\n },\n {\n path: '/transport',\n name: 'transport',\n component: TransportView,\n },\n {\n path: '/waste',\n name: 'waste',\n component: WasteView,\n },\n {\n path: '/calculationinfo',\n name: 'calculationInfo',\n component: CalculationInfo,\n },\n {\n path: '/actions',\n name: 'actions',\n component: ActionsView,\n },\n {\n path: '/serviceDescription',\n name: 'serviceDescription',\n component: ServiceDescription,\n },\n {\n path: '/accessibility',\n name: 'accessibilityNotice',\n component: AccessibilityNotice,\n },\n {\n path: '/privacyNotice',\n name: 'privacyNotice',\n component: PrivacyNotice,\n },\n {\n path: '/termsOfUse',\n name: 'termsOfUse',\n component: TermsOfUse,\n },\n { path: '/:pathMatch(.*)', component: NotFound },\n ],\n scrollBehavior(to) {\n if (to.hash) {\n return {\n el: to.hash,\n }\n }\n return { top: 0 }\n },\n})\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","export default {\n install(app) {\n const componentFiles = import.meta.glob('./components/forms/*.vue', {\n eager: true,\n })\n\n Object.entries(componentFiles).forEach(([path, m]) => {\n const componentName = path\n .split('/')\n .pop()\n .replace(/\\.\\w+$/, '')\n\n app.component(componentName, m.default)\n })\n },\n}\n","// src/normalize.ts\nfunction isObject(v) {\n return typeof v === \"object\" && v !== null;\n}\nfunction normalizeOptions(options, factoryOptions) {\n options = isObject(options) ? options : /* @__PURE__ */ Object.create(null);\n return new Proxy(options, {\n get(target, key, receiver) {\n if (key === \"key\")\n return Reflect.get(target, key, receiver);\n return Reflect.get(target, key, receiver) || Reflect.get(factoryOptions, key, receiver);\n }\n });\n}\n\n// src/pick.ts\nfunction get(state, path) {\n return path.reduce((obj, p) => {\n return obj == null ? void 0 : obj[p];\n }, state);\n}\nfunction set(state, path, val) {\n return path.slice(0, -1).reduce((obj, p) => {\n if (/^(__proto__)$/.test(p))\n return {};\n else return obj[p] = obj[p] || {};\n }, state)[path[path.length - 1]] = val, state;\n}\nfunction pick(baseState, paths) {\n return paths.reduce((substate, path) => {\n const pathArray = path.split(\".\");\n return set(substate, pathArray, get(baseState, pathArray));\n }, {});\n}\n\n// src/plugin.ts\nfunction parsePersistence(factoryOptions, store) {\n return (o) => {\n var _a;\n try {\n const {\n storage = localStorage,\n beforeRestore = void 0,\n afterRestore = void 0,\n serializer = {\n serialize: JSON.stringify,\n deserialize: JSON.parse\n },\n key = store.$id,\n paths = null,\n debug = false\n } = o;\n return {\n storage,\n beforeRestore,\n afterRestore,\n serializer,\n key: ((_a = factoryOptions.key) != null ? _a : (k) => k)(typeof key == \"string\" ? key : key(store.$id)),\n paths,\n debug\n };\n } catch (e) {\n if (o.debug)\n console.error(\"[pinia-plugin-persistedstate]\", e);\n return null;\n }\n };\n}\nfunction hydrateStore(store, { storage, serializer, key, debug }) {\n try {\n const fromStorage = storage == null ? void 0 : storage.getItem(key);\n if (fromStorage)\n store.$patch(serializer == null ? void 0 : serializer.deserialize(fromStorage));\n } catch (e) {\n if (debug)\n console.error(\"[pinia-plugin-persistedstate]\", e);\n }\n}\nfunction persistState(state, { storage, serializer, key, paths, debug }) {\n try {\n const toStore = Array.isArray(paths) ? pick(state, paths) : state;\n storage.setItem(key, serializer.serialize(toStore));\n } catch (e) {\n if (debug)\n console.error(\"[pinia-plugin-persistedstate]\", e);\n }\n}\nfunction createPersistedState(factoryOptions = {}) {\n return (context) => {\n const { auto = false } = factoryOptions;\n const {\n options: { persist = auto },\n store,\n pinia\n } = context;\n if (!persist)\n return;\n if (!(store.$id in pinia.state.value)) {\n const original_store = pinia._s.get(store.$id.replace(\"__hot:\", \"\"));\n if (original_store)\n Promise.resolve().then(() => original_store.$persist());\n return;\n }\n const persistences = (Array.isArray(persist) ? persist.map((p) => normalizeOptions(p, factoryOptions)) : [normalizeOptions(persist, factoryOptions)]).map(parsePersistence(factoryOptions, store)).filter(Boolean);\n store.$persist = () => {\n persistences.forEach((persistence) => {\n persistState(store.$state, persistence);\n });\n };\n store.$hydrate = ({ runHooks = true } = {}) => {\n persistences.forEach((persistence) => {\n const { beforeRestore, afterRestore } = persistence;\n if (runHooks)\n beforeRestore == null ? void 0 : beforeRestore(context);\n hydrateStore(store, persistence);\n if (runHooks)\n afterRestore == null ? void 0 : afterRestore(context);\n });\n };\n persistences.forEach((persistence) => {\n const { beforeRestore, afterRestore } = persistence;\n beforeRestore == null ? void 0 : beforeRestore(context);\n hydrateStore(store, persistence);\n afterRestore == null ? void 0 : afterRestore(context);\n store.$subscribe(\n (_mutation, state) => {\n persistState(state, persistence);\n },\n {\n detached: true\n }\n );\n });\n };\n}\n\n// src/index.ts\nvar src_default = createPersistedState();\nexport {\n createPersistedState,\n src_default as default\n};\n","import i18n from '@/locale/i18n'\nimport { createApp } from 'vue'\nimport App from './App.vue'\nimport router from './router'\nimport GlobalComponents from './globals'\nimport { createPinia } from 'pinia'\nimport piniaPluginPersistedstate from 'pinia-plugin-persistedstate'\n\nconst store = createPinia()\nstore.use(piniaPluginPersistedstate)\n\nconst app = createApp(App)\napp.use(GlobalComponents)\napp.use(store)\napp.use(router)\napp.use(i18n)\n\napp.mount('#app')\n"],"names":["inBrowser","mark","measure","perf","tag","name","startTag","endTag","RE_ARGS","format","message","args","isObject","match","identifier","makeSymbol","shareable","generateFormatCacheKey","locale","key","source","friendlyJSONstringify","json","isNumber","val","isDate","toTypeString","isRegExp","isEmptyObject","isPlainObject","assign","_globalThis","getGlobalThis","escapeHtml","rawText","hasOwnProperty","hasOwn","obj","isArray","isFunction","isString","isBoolean","isPromise","objectToString","value","proto","toDisplayString","join","items","separator","str","item","index","RANGE","generateCodeFrame","start","end","lines","count","res","i","j","line","lineLength","pad","length","incrementer","code","current","warn","msg","err","hasWarned","warnOnce","createEmitter","events","event","handler","handlers","payload","isNotObjectOrIsArray","deepCopy","src","des","stack","createPosition","column","offset","createLocation","CompileWarnCodes","warnMessages","createCompileWarn","loc","CompileErrorCodes","errorMessages","createCompileError","options","domain","messages","error","defaultOnError","RE_HTML_TAG","detectHtmlTag","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","CHAR_PS","createScanner","_buf","_index","_line","_column","_peekOffset","isCRLF","isLF","isPS","isLS","isLineEnd","peekOffset","charAt","currentChar","currentPeek","next","peek","reset","resetPeek","skipToPeek","target","EOF","DOT","LITERAL_DELIMITER","ERROR_DOMAIN$3","createTokenizer","location","_scnr","currentOffset","currentPosition","_initLoc","_initOffset","_context","context","onError","emitError","pos","ctx","getToken","type","token","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","isNumberStart","isNamedIdentifierStart","currentType","ret","isListIdentifierStart","isLiteralStart","isLinkedDotStart","isLinkedModifierStart","isLinkedDelimiterStart","isLinkedReferStart","fn","isTextStart","isPluralStart","detectModuloStart","spaces","hasSpace","prev","detectModulo","takeChar","isIdentifier","takeIdentifierChar","isNamedIdentifier","takeNamedIdentifierChar","isDigit","takeDigit","isHexDigit","takeHexDigit","getDigits","num","readModulo","readText","readNamedIdentifier","readListIdentifier","isLiteral","readLiteral","literal","readEscapeSequence","readUnicodeEscapeSequence","unicode","digits","sequence","isInvalidIdentifier","readInvalidIdentifier","identifiers","readLinkedModifier","readLinkedRefer","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","isModulo","nextToken","startLoc","endLoc","ERROR_DOMAIN$2","KNOWN_ESCAPES","fromEscapeSequence","codePoint4","codePoint6","codePoint","createParser","onWarn","tokenzer","emitWarn","startNode","node","endNode","parseText","tokenizer","parseList","parseNamed","modulo","parseLiteral","parseLinkedModifier","getTokenCaption","parseLinkedKey","parseLinked","linkedNode","parsed","nextContext","emptyLinkedKeyNode","parseMessage","startOffset","endOffset","parsePlural","msgNode","hasEmptyMessage","parseResource","parse","createTransformer","ast","traverseNodes","nodes","transformer","traverseNode","transform","optimize","body","optimizeMessageNode","c","values","ERROR_DOMAIN$1","minify","resource","cases","valueNode","linked","list","named","ERROR_DOMAIN","createCodeGenerator","sourceMap","filename","breakLineCode","_needIndent","push","_newline","n","withBreakLine","_breakLineCode","indent","withNewLine","level","deindent","newline","generateLinkedNode","generator","helper","generateNode","generateMessageNode","needIndent","generatePluralNode","generateResource","generate","mode","helpers","s","map","baseCompile","assignedOptions","jit","enalbeMinify","enambeOptimize","initFeatureFlags","pathStateMachine","literalValueRE","exp","stripQuotes","a","b","getPathCharType","formatSubPath","path","trimmed","keys","subPathDepth","newChar","transition","action","typeMap","actions","maybeUnescapeQuote","nextChar","cache","resolveWithKeyValue","resolveValue","hit","len","last","DEFAULT_MODIFIER","DEFAULT_MESSAGE","DEFAULT_MESSAGE_DATA_TYPE","DEFAULT_NORMALIZE","DEFAULT_INTERPOLATE","pluralDefault","choice","choicesLength","getPluralIndex","normalizeNamed","pluralIndex","props","createMessageContext","pluralRule","orgPluralRule","_list","_named","_modifier","normalize","interpolate","arg1","arg2","modifier","devtools","setDevToolsHook","hook","initI18nDevTools","i18n","version","meta","translateDevTools","createDevToolsHook","payloads","code$1","inc$1","CoreWarnCodes","getWarnMessage","format$1","inc","CoreErrorCodes","createCoreError","getLocale","resolveLocale","_resolveLocale","resolve","fallbackWithSimple","fallback","fallbackWithLocaleChain","startLocale","DEFAULT_LOCALE","chain","block","appendBlockToChain","defaults","blocks","follow","appendLocaleToChain","tokens","appendItemToChain","VERSION","NOT_REOSLVED","MISSING_RESOLVE_VALUE","capitalize","getDefaultLinkedModifiers","_compiler","registerMessageCompiler","compiler","_resolver","registerMessageResolver","resolver","_fallbacker","registerLocaleFallbacker","fallbacker","_additionalMeta","setAdditionalMeta","getAdditionalMeta","_fallbackContext","setFallbackContext","getFallbackContext","_cid","createCoreContext","_locale","fallbackLocale","datetimeFormats","numberFormats","modifiers","pluralRules","missing","missingWarn","fallbackWarn","fallbackFormat","unresolving","postTranslation","processor","warnHtmlMessage","escapeParameter","messageCompiler","messageResolver","localeFallbacker","fallbackContext","internalOptions","__datetimeFormatters","__numberFormatters","__meta","isTranslateFallbackWarn","isTranslateMissingWarn","handleMissing","emitter","updateFallbackLocale","isAlmostSameLocale","compareLocale","isImplicitFallback","targetLocale","locales","formatParts","formatMessageParts","_static","acm","formatMessagePart","text","linkedKey","linkedModifier","WARN_MESSAGE","checkHtmlMessage","defaultOnCacheKey","compileCache","onCompileWarn","_warn","isMessageAST","detectError","baseCompile$1","compileToFunction","cacheKey","cached","compile","NOOP_MESSAGE_FUNCTION","isMessageFunction","translate","parseTranslateArgs","resolvedMessage","defaultMsgOrKey","enableDefaultMsg","escapeParams","formatScope","resolveMessageFormat","cacheBaseKey","occurred","compileMessageFormat","ctxOptions","getMessageContextOptions","msgContext","messaged","evaluateMessage","from","to","missingRet","getCompileContext","msgCtx","arg3","_source","getSourceForCodeFrame","codeFrame","intlDefined","Availabilities","datetime","overrides","parseDateTimeArgs","part","datetimeFormat","id","formatter","DATETIME_FORMAT_OPTIONS_KEYS","arg4","matches","dateTime","clearDateTimeFormat","number","parseNumberArgs","numberFormat","NUMBER_FORMAT_OPTIONS_KEYS","clearNumberFormat","makeMap","expectsLowerCase","set","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","isOn","isModelListener","extend","remove","arr","el","isMap","isSet","isSymbol","toRawType","isIntegerKey","isReservedProp","isBuiltInDirective","cacheStringFunction","camelizeRE","camelize","_","hyphenateRE","hyphenate","toHandlerKey","hasChanged","oldValue","invokeArrayFns","fns","arg","def","writable","looseToNumber","normalizeStyle","normalized","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","cssText","tmp","normalizeClass","HTML_TAGS","SVG_TAGS","MATH_TAGS","isHTMLTag","isSVGTag","isMathMLTag","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","looseCompareArrays","equal","looseEqual","aValidType","bValidType","aKeysCount","bKeysCount","aHasKey","bHasKey","looseIndexOf","isRef","replacer","_key","entries","val2","stringifySymbol","v","_a","activeEffectScope","EffectScope","detached","currentEffectScope","fromParent","l","effectScope","recordEffectScope","effect","scope","getCurrentScope","onScopeDispose","activeEffect","ReactiveEffect","trigger","scheduler","pauseTracking","dep","triggerComputed","resetTracking","lastShouldTrack","shouldTrack","lastEffect","preCleanupEffect","postCleanupEffect","computed","effect2","cleanupDepEffect","trackId","pauseScheduleStack","trackStack","pauseScheduling","resetScheduling","queueEffectSchedulers","trackEffect","debuggerEventExtraInfo","oldDep","triggerEffects","dirtyLevel","tracking","createDep","cleanup","targetMap","ITERATE_KEY","MAP_KEY_ITERATE_KEY","track","depsMap","newValue","oldTarget","deps","newLength","key2","getDepFromReactive","object","isNonTrackableKeys","builtInSymbols","arrayInstrumentations","createArrayInstrumentations","instrumentations","toRaw","BaseReactiveHandler","_isReadonly","_isShallow","receiver","isReadonly2","isShallow2","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","targetIsArray","readonly","reactive","MutableReactiveHandler","isOldValueReadonly","isReadonly","isShallow","hadKey","result","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","shallowReadonlyHandlers","toShallow","getProto","get","rawTarget","rawKey","has2","wrap","toReadonly","toReactive","has","size","add","get2","checkIdentityKeys","deleteEntry","clear","hadItems","createForEach","callback","thisArg","observed","createIterableMethod","method","targetIsMap","isPair","isKeyOnly","innerIterator","done","createReadonlyMethod","createInstrumentations","mutableInstrumentations2","shallowInstrumentations2","readonlyInstrumentations2","shallowReadonlyInstrumentations2","mutableInstrumentations","readonlyInstrumentations","shallowInstrumentations","shallowReadonlyInstrumentations","createInstrumentationGetter","shallow","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","shallowReadonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","createReactiveObject","shallowReactive","shallowReadonly","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","proxy","isReactive","isProxy","raw","markRaw","COMPUTED_SIDE_EFFECT_WARN","ComputedRefImpl","getter","_setter","isSSR","triggerRefValue","self","trackRefValue","getterOrOptions","debugOptions","setter","onlyGetter","cRef","ref2","newVal","oldVal","r","ref","createRef","shallowRef","rawValue","RefImpl","__v_isShallow","useDirectValue","unref","shallowUnwrapHandlers","proxyRefs","objectWithRefs","toRefs","propertyToRef","ObjectRefImpl","_object","_defaultValue","GetterRefImpl","_getter","toRef","defaultValue","pushWarningContext","vnode","popWarningContext","isWarning","warn$1","instance","appWarnHandler","trace","getComponentTrace","callWithErrorHandling","_b","formatComponentName","warnArgs","formatTrace","currentVNode","normalizedStack","parentInstance","logs","entry","formatTraceEntry","recurseCount","postfix","isRoot","open","close","formatProps","formatProp","ErrorTypeStrings$1","handleError","callWithAsyncErrorHandling","throwInDev","contextVNode","cur","exposedInstance","errorInfo","errorCapturedHooks","appErrorHandler","logError","info","isFlushing","isFlushPending","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","RECURSION_LIMIT","nextTick","p","findInsertionIndex","middle","middleJob","middleJobId","getId","queueJob","job","queueFlush","flushJobs","invalidateJob","queuePostFlushCb","cb","flushPreFlushCbs","seen","checkRecursiveUpdates","flushPostFlushCbs","deduped","comparator","diff","check","componentName","getComponentName","isHmrUpdating","hmrDirtyComponents","tryWrap","createRecord","rerender","reload","registerHMR","record","unregisterHMR","initialDef","normalizeClassComponent","component","isClassComponent","newRender","newComp","updateComponentDef","instances","oldComp","dirtyInstances","e","devtools$1","buffer","devtoolsNotInstalled","emit$1","setDevtoolsHook$1","newHook","devtoolsInitApp","app","Fragment","Text","Comment","Static","devtoolsUnmountApp","devtoolsComponentAdded","createDevtoolsComponentHook","devtoolsComponentUpdated","_devtoolsComponentRemoved","devtoolsComponentRemoved","devtoolsPerfStart","createDevtoolsPerformanceHook","devtoolsPerfEnd","time","devtoolsComponentEmit","params","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","pushScopeId","popScopeId","withCtx","isNonScopedSlot","renderFnWithContext","setBlockTracking","prevInstance","validateDirectiveName","withDirectives","directives","getComponentPublicInstance","bindings","dir","traverse","invokeDirectiveHook","prevVNode","oldBindings","binding","setTransitionHooks","hooks","defineComponent","extraOptions","isAsyncWrapper","isKeepAlive","onActivated","registerKeepAliveHook","onDeactivated","currentInstance","wrappedHook","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","setCurrentInstance","apiName","createHook","lifecycle","isInSSRComponentSetup","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","COMPONENTS","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","resolveDynamicComponent","warnMissing","Component","selfName","registry","renderList","renderItem","createSlots","slots","dynamicSlots","slot","renderSlot","noSlotted","createVNode","openBlock","validSlotContent","ensureValidVNode","rendered","createBlock","vnodes","child","isVNode","getPublicInstance","isStatefulComponent","publicPropertiesMap","resolveMergedOptions","instanceWatch","isReservedPrefix","hasSetupBinding","state","PublicInstanceProxyHandlers","setupState","data","accessCache","appContext","normalizedProps","shouldCacheAccess","publicGetter","cssModule","globalProperties","markAttrsAccessed","propsOptions","descriptor","createDevRenderContext","exposePropsOnRenderContext","exposeSetupStateOnRenderContext","normalizePropsOrEmits","createDuplicateChecker","applyOptions","publicThis","callHook","dataOptions","computedOptions","methods","watchOptions","provideOptions","injectOptions","created","beforeMount","mounted","beforeUpdate","updated","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","render","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","inheritAttrs","components","filters","checkDuplicateProperties","resolveInjections","methodHandler","opt","createWatcher","provides","provide","registerLifecycleHook","register","_hook","exposed","normalizeInject","inject","h","createPathGetter","watch","base","mixins","extendsOptions","globalMixins","optionMergeStrategies","resolved","m","mergeOptions","strats","asMixin","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","createAppContext","uid$1","createAppAPI","hydrate","rootComponent","rootProps","installedPlugins","isMounted","plugin","mixin","validateComponentName","directive","rootContainer","isHydrate","namespace","cloneVNode","lastApp","currentApp","parentProvides","treatDefaultAsFactory","hasInjectionContext","internalObjectProto","createInternalObject","isInternalObject","initProps","rawProps","isStateful","attrs","setFullProps","validateProps","isInHmrContext","updateProps","rawPrevProps","optimized","patchFlag","rawCurrentProps","hasAttrsChanged","propsToUpdate","isEmitListener","camelizedKey","resolvePropValue","kebabKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","propsDefaults","mixinPropsCache","normalizePropsOptions","comp","hasExtends","extendProps","raw2","normalizedKey","validatePropName","prop","propType","shouldCast","shouldCastTrue","typeName","getType","ctor","resolvedValues","validateProp","required","validator","skipCheck","isValid","types","expectedTypes","valid","expectedType","assertType","getInvalidTypeMessage","isSimpleType","t","receivedType","expectedValue","styleValue","receivedValue","isExplicable","elem","isInternalKey","normalizeSlotValue","normalizeVNode","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","children","assignSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","setRef","rawRef","oldRawRef","parentSuspense","isUnmount","refValue","owner","oldRef","refs","_isString","_isRef","doSet","existing","queuePostRenderEffect","TeleportEndKey","isTeleport","supported","startMeasure","isSupported","endMeasure","needWarn","multi","queueEffectWithSuspense","createRenderer","baseCreateRenderer","createHydrationFns","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","hostSetText","hostSetElementText","hostParentNode","hostNextSibling","hostSetScopeId","hostInsertStaticContent","patch","n1","n2","container","anchor","parentComponent","slotScopeIds","isSameVNodeType","getNextHostNode","unmount","shapeFlag","processText","processCommentNode","mountStaticNode","patchStaticNode","processFragment","processElement","processComponent","internals","removeStaticNode","moveStaticNode","nextSibling","mountElement","patchElement","vnodeHook","dirs","mountChildren","resolveChildrenNamespace","setScopeId","invokeVNodeHook","needCallTransitionHooks","needTransition","scopeId","subTree","filterSingleRoot","parentVNode","cloneIfMounted","dynamicChildren","oldProps","newProps","toggleRecurse","patchBlockChildren","traverseStaticChildren","patchChildren","patchProps","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","mountComponent","updateComponent","initialVNode","createComponentInstance","setupComponent","setupRenderEffect","placeholder","shouldUpdateComponent","updateComponentPreRender","componentUpdateFn","bu","u","parent","nonHydratedAsyncRoot","locateNonHydratedAsyncRoot","originNext","nextTree","renderComponentRoot","prevTree","updateHOCHostEl","bm","isAsyncWrapperVNode","hydrateNode","hydrateSubTree","scopedInitialVNode","update","nextVNode","prevProps","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","unmountChildren","oldLength","commonLength","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","move","moveType","leave","delayLeave","afterLeave","remove2","performLeave","doRemove","cacheIndex","shouldInvokeDirs","shouldInvokeVnodeHook","unmountComponent","removeFragment","performRemove","bum","um","invalidateMount","teleportEnd","currentNamespace","allowed","ch1","ch2","arrI","subComponent","ssrContextKey","useSSRContext","watchEffect","doWatch","INITIAL_WATCHER_VALUE","immediate","deep","flush","once","onTrack","onTrigger","_cb","unwatch","warnInvalidSource","reactiveGetter","source2","forceTrigger","isMultiSource","onCleanup","baseGetter","ssrCleanup","segments","depth","getModelModifiers","modelName","emit","rawArgs","emitsOptions","lowerCaseEvent","handlerName","onceHandler","normalizeEmitsOptions","extendEmits","normalizedFromExtend","accessedAttrs","withProxy","renderCache","fallthroughAttrs","proxyToUse","thisProxy","render2","getFunctionalFallthrough","blockStack","root","setRoot","getChildRoot","filterModelListeners","allAttrs","eventAttrs","extraAttrs","isElementRoot","rawChildren","childRoot","dynamicIndex","updatedRoot","recurse","singleRoot","prevChildren","nextProps","nextChildren","emits","hasPropsChanged","dynamicProps","nextKeys","isSuspense","suspense","currentBlock","disableTracking","closeBlock","isBlockTreeEnabled","setupBlock","createElementBlock","createBaseVNode","createVNodeWithArgsTransform","_createVNode","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","normalizeChildren","cloned","guardReactiveProps","klass","style","extraProps","mergeRef","cloneTransition","mergedProps","mergeProps","deepCloneVNode","createTextVNode","flag","createCommentVNode","asBlock","slotFlag","toMerge","incoming","emptyAppContext","uid","getCurrentInstance","internalSetCurrentInstance","setInSSRSetupState","g","registerGlobalSetter","setters","unsetCurrentInstance","isBuiltInTag","isNativeTag","setupResult","setupStatefulComponent","names","isRuntimeOnly","setup","setupContext","createSetupContext","resolvedResult","handleSetupResult","finishComponentSetup","skipOptions","template","isCustomElement","compilerOptions","delimiters","componentCompilerOptions","finalCompilerOptions","attrsProxyHandlers","getSlotsProxy","exposedType","attrsProxy","slotsProxy","classifyRE","classify","includeInferred","inferFromRegistry","computed$1","propsOrChildren","initCustomFormatter","vueStyle","numberStyle","stringStyle","keywordStyle","genRefFlag","formatValue","formatInstance","createInstanceBlock","extractKeys","asRaw","Comp","extracted","isKeyOfType","opts","svgNS","mathmlNS","doc","templateContainer","nodeOps","is","selector","content","before","wrapper","vtcKey","patchClass","isSVG","transitionClasses","vShowOriginalDisplay","vShowHidden","vShow","setDisplay","CSS_VAR_TEXT","displayRE","patchStyle","isCssString","hasControlledDisplay","prevStyle","setStyle","cssVarText","semicolonRE","importantRE","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","patchDOMProp","needRemove","addEventListener","removeEventListener","veiKey","patchEvent","prevValue","nextValue","invokers","existingInvoker","sanitizeEventValue","parseName","invoker","createInvoker","optionsModifierRE","cachedNow","getNow","initialValue","patchStopImmediatePropagation","propName","originalStop","isNativeOn","patchProp","shouldSetAsProp","getModelAssigner","onCompositionStart","onCompositionEnd","assignKey","vModelText","lazy","trim","castToNumber","domValue","elValue","vModelCheckbox","modelValue","elementValue","getValue","checked","found","filtered","getCheckboxValue","setChecked","vModelRadio","vModelSelect","isSetModel","selectedVal","o","setSelected","_binding","isMultiple","isArrayValue","option","optionValue","optionType","systemModifiers","modifierGuards","withModifiers","guard","keyNames","withKeys","eventKey","k","rendererOptions","renderer","ensureRenderer","createApp","injectNativeTagCheck","injectCompilerOptionsCheck","mount","containerOrSelector","normalizeContainer","resolveRootNamespace","initDev","getDevtoolsGlobalHook","getTarget","isProxyAvailable","HOOK_SETUP","HOOK_PLUGIN_SETTINGS_SET","isPerformanceSupported","now","ApiProxy","defaultSettings","localSettingsSaveId","currentSettings","pluginId","_target","setupDevtoolsPlugin","pluginDescriptor","setupFn","enableProxy","I18nWarnCodes","I18nErrorCodes","createI18nError","TranslateVNodeSymbol","DatetimePartsSymbol","NumberPartsSymbol","EnableEmitter","DisableEmitter","SetPluralRulesSymbol","InejctWithOptionSymbol","DisposeSymbol","handleFlatJson","subKeys","lastIndex","currentObj","hasStringValue","getLocaleMessages","__i18n","flatJson","custom","getComponentOptions","adjustI18nResources","gl","componentOptions","createTextNode","DEVTOOLS_META","NOOP_RETURN_ARRAY","NOOP_RETURN_FALSE","composerID","defineCoreMissingHandler","getMetaInfo","createComposer","VueI18nLegacy","__root","__injectWithOption","_isGlobal","_ref","translateExistCompatible","_inheritLocale","_fallbackLocale","_messages","_datetimeFormats","_numberFormats","_missingWarn","_fallbackWarn","_fallbackRoot","_fallbackFormat","_missing","_runtimeMissing","_postTranslation","_warnHtmlMessage","_escapeParameter","_modifiers","_pluralRules","trackReactivityValues","getPostTranslationHandler","setPostTranslationHandler","getMissingHandler","setMissingHandler","isResolvedTranslateMessage","wrapWithDeps","argumentParser","warnType","fallbackSuccess","fallbackFail","successCondition","rt","d","translateVNode","numberParts","datetimeParts","setPluralRules","rules","te","getLocaleMessage","resolveMessages","targetLocaleMessages","messageValue","tm","setLocaleMessage","_message","mergeLocaleMessage","getDateTimeFormat","setDateTimeFormat","mergeDateTimeFormat","getNumberFormat","setNumberFormat","mergeNumberFormat","composer","convertComposerOptions","fallbackRoot","pluralizationRules","inheritLocale","sharedMessages","createVueI18n","__extender","vueI18n","__composer","baseFormatProps","getInterpolateArg","getFragmentableTag","TranslationImpl","useI18n","assignedAttrs","Translation","renderFormatter","slotKeys","partFormatter","parts","NumberFormatImpl","NumberFormat","DatetimeFormatImpl","DatetimeFormat","getComposer$2","i18nInternal","vTDirective","_process","parsedValue","parseValue","makeParams","textContent","apply","pluginOptions","useI18nComponentName","globalInstall","VueDevToolsLabels","VueDevToolsPlaceholders","VueDevToolsTimelineColors","VUE_I18N_COMPONENT_TYPES","devtoolsApi","enableDevTools","reject","api","componentInstance","treeNode","updateComponentTreeTags","instanceData","inspectComposer","registerScope","roots","inspectScope","getComponentInstance","editScope","getI18nScopeLable","global","getLocaleMessageValue","getMessageFunctionDetails","ESC","escape","escapeChar","func","keyInstance","nodeId","getComposer$1","makeScopeInspectState","localeType","localeStates","localeMessagesType","localeMessagesStates","datetimeFormatsType","datetimeFormatsStates","numberFormatsType","numberFormatsStates","addTimelineEvent","groupId","field","defineMixin","vuei18n","optionsI18n","mergeToGlobal","_vueI18n","I18nInjectionKey","createI18n","__legacyMode","__globalInjection","__allowComposition","__instances","globalScope","__global","createGlobal","symbol","__getInstance","__setInstance","__deleteInstance","globalReleaseHandler","injectGlobalFields","unmountApp","_composer","getI18nInstance","getGlobalComposer","getScope","useI18nForLegacy","getComposer","composerOptions","setupLifeCycle","legacyMode","useComponent","getParentComponentInstance","dispose","isLocalScope","warpWithDeps","sync","globalExportProps","globalExportMethods","desc","en","en$1","actionsView","consumption","createGroupCode","errors","food","footer","header","housing","login","navigation","results","waste","transport","serviceDescription","privacyNotice","termsOfUse","calculationInfo","accessibility","fi","sv","browserLang","dateTimeFormats","_imports_0$4","_imports_1","_imports_0$3","_imports_3","_withScopeId","_pushScopeId","_popScopeId","_createElementVNode","_imports_0","_hoisted_5","_hoisted_6","_hoisted_8","_hoisted_9","_imports_2","_hoisted_12","_hoisted_14","_hoisted_15","_hoisted_16","_openBlock","_createElementBlock","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_toDisplayString","_ctx","$t","_createTextVNode","$i18n","_hoisted_11","_component_router_link","_withCtx","isVue2","del","activePinia","setActivePinia","pinia","piniaSymbol","MutationType","IS_CLIENT","_global","bom","blob","autoBom","download","url","xhr","saveAs","corsEnabled","click","evt","_navigator","isMacOSWebView","downloadSaveAs","msSaveAs","fileSaverSaveAs","popup","force","isSafari","isChromeIOS","reader","toastMessage","piniaMessage","isPinia","checkClipboardAccess","checkNotFocusedError","actionGlobalCopyState","actionGlobalPasteState","loadStoresState","actionGlobalSaveState","fileInput","getFileOpener","openFile","files","file","actionGlobalOpenStateFile","storeState","formatDisplay","display","PINIA_ROOT_LABEL","PINIA_ROOT_ID","formatStoreForInspectorTree","store","formatStoreForInspectorState","storeNames","storeMap","storeId","getters","getterName","formatEventData","formatMutationType","isTimelineActive","componentStateTypes","MUTATIONS_LAYER_ID","INSPECTOR_ID","assign$1","getStoreType","registerPiniaDevtools","piniaStores","stores","inspectedStore","addStoreToDevtools","after","runningActionId","activeAction","eventData","hotUpdate","newStore","$dispose","patchActionForGrouping","actionNames","wrapWithProxy","storeActions","actionName","_actionId","trackedStore","retValue","devtoolsPlugin","originalHotUpdate","createPinia","_p","toBeInstalled","patchObject","newState","oldState","subPatch","targetValue","noop","addSubscription","subscriptions","removeSubscription","idx","triggerSubscriptions","fallbackRunWithContext","ACTION_MARKER","ACTION_NAME","mergeReactiveObjects","patchToApply","skipHydrateSymbol","shouldHydrate","isComputed","createOptionsStore","hot","initialState","localState","computedGetters","createSetupStore","$id","isOptionsStore","optionsForPlugin","$subscribeOptions","isListening","debuggerEvents","isSyncListening","actionSubscriptions","hotState","activeListener","$patch","partialStateOrMutator","subscriptionMutation","myListenerId","$reset","$state","wrappedAction","afterCallbackList","onErrorCallbackList","_hmrPayload","partialStore","stopWatcher","setupStore","actionValue","stateKey","newStateTarget","oldStateSource","actionFn","getterValue","nonEnumerable","extender","extensions","defineStore","idOrOptions","setupOptions","isSetupStore","useStore","hasContext","hotId","vm","mapStoreSuffix","mapStores","reduced","bind","toString","getPrototypeOf","kindOf","thing","kindOfTest","typeOfTest","isUndefined","isBuffer","isArrayBuffer","isArrayBufferView","prototype","isFile","isBlob","isFileList","isStream","isFormData","kind","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","forEach","allOwnKeys","findKey","isContextDefined","merge","caseless","assignValue","targetKey","stripBOM","inherits","constructor","superConstructor","descriptors","toFlatObject","sourceObj","destObj","filter","propFilter","endsWith","searchString","position","toArray","isTypedArray","TypedArray","forEachEntry","iterator","pair","matchAll","regExp","isHTMLForm","toCamelCase","p1","p2","reduceDescriptors","reducer","reducedDescriptors","freezeMethods","toObjectSet","arrayOrString","delimiter","define","toFiniteNumber","ALPHA","DIGIT","ALPHABET","generateString","alphabet","isSpecCompliantForm","toJSONObject","visit","reducedValue","isAsyncFn","isThenable","_setImmediate","setImmediateSupported","postMessageSupported","callbacks","asap","utils$1","AxiosError","config","request","response","utils","customProps","axiosError","httpAdapter","isVisitable","removeBrackets","renderKey","dots","isFlatArray","predicates","toFormData","formData","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","exposedHelpers","build","encode","charMap","AxiosURLSearchParams","encoder","_encode","buildURL","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","fulfilled","rejected","transitionalDefaults","URLSearchParams$1","FormData$1","Blob$1","platform$1","URLSearchParams","FormData","Blob","hasBrowserEnv","hasStandardBrowserEnv","hasStandardBrowserWebWorkerEnv","origin","platform","toURLEncodedForm","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","stringifySafely","parser","headers","contentType","hasJSONContentType","isObjectPayload","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","status","ignoreDuplicateOf","parseHeaders","rawHeaders","$internals","normalizeHeader","normalizeValue","parseTokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","w","char","buildAccessors","accessorName","methodName","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","matcher","deleted","deleteHeader","targets","asStrings","first","accessors","defineAccessor","mapped","headerValue","transformData","isCancel","CanceledError","settle","validateStatus","parseProtocol","speedometer","samplesCount","min","bytes","timestamps","head","tail","firstSampleTS","chunkLength","startedAt","bytesCount","passed","throttle","freq","timestamp","threshold","lastArgs","timer","invoke","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","progressBytes","rate","inRange","progressEventDecorator","throttled","lengthComputable","asyncDecorator","isURLSameOrigin","msie","urlParsingNode","originURL","resolveURL","href","requestURL","cookies","expires","secure","cookie","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","resolveConfig","newConfig","withXSRFToken","xsrfHeaderName","xsrfCookieName","auth","xsrfValue","isXHRAdapterSupported","xhrAdapter","_config","requestData","requestHeaders","responseType","onUploadProgress","onDownloadProgress","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","onloadend","responseHeaders","timeoutErrorMessage","cancel","protocol","composeSignals","signals","timeout","controller","aborted","onabort","reason","unsubscribe","signal","streamChunk","chunk","chunkSize","readBytes","iterable","readStream","stream","trackStream","onProgress","onFinish","_onFinish","loadedBytes","isFetchSupported","isReadableStreamSupported","encodeText","test","supportsRequestStream","duplexAccessed","hasContentType","DEFAULT_CHUNK_SIZE","supportsResponseStream","resolvers","getBodyLength","resolveBodyLength","fetchAdapter","cancelToken","withCredentials","fetchOptions","composedSignal","requestContentLength","_request","contentTypeHeader","isCredentialsSupported","isStreamResponse","responseContentLength","responseData","knownAdapters","renderReason","isResolvedHandle","adapter","adapters$1","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","dispatchRequest","validators","deprecatedWarnings","formatMessage","assertOptions","schema","allowUnknown","Axios","instanceConfig","configOrUrl","dummy","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","onFulfilled","onRejected","fullPath","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","onfulfilled","_resolve","abort","spread","isAxiosError","HttpStatusCode","createInstance","defaultConfig","axios","promises","apiURL","serv","parseErrorData","param","sessionId","fieldErrors","model","useBaseDataStore","glob","useGlobalStateStore","createNew","decade","income","Sections","Sections2","HeatingModes","WinterHeatingOptions","HouseTypes","getInitialHouse","isPrimary","getElectricityDefaults","getHeatingDefaults","getPurchaseDefaults","familySize","sendHouse","testInstanceId","he","house","getHouse","defaultArea","startView","area","useHousingStore","par","updateConsumption","primaryHouse","secondaryHouse","electricity","heating","purchases","section","currentlyShownResults","buildingData","electricityData","heatingData","purchaseData","addAction","linkDisplayText","heat","heatingEstimatesUsed","heatingEstimatesExceeded","heatingConsumptionBelowEstimates","links","ConsumptionFields","defaultLevels","useConsumptionStore","Frequencies","AmountEstimates","useWasteStore","Diets","FoodSections","FoodSections2","consumptionAverageKgPerCapPerWeek","eggsCountToKilograms","useFoodStore","eggs","gramsToKilos","diet","TransportSections","TransportSections2","BoatTypes","Fuels","Sizes","carsToSendFormat","cars","retCars","car","getFuelDetails","fuel","details","f","getCarFuelPercentageTotal","sum","useTransportStore","publicResult","order","sumAfter","detail","remainder","carResultSum","baseData","totalCarDistance","x","y","hasBioGasCar","postalCodeAsNumber","parseResponse","date","useResultsComparisonStore","withSecondaryHouse","ex","postalCode","duplicateIndex","image","address","email","startViewState","housingState","consumptionState","wasteState","foodState","transportState","resultState","_sfc_main$J","_imports_0$2","_sfc_render","_cache","$props","$setup","$data","$options","$event","_normalizeClass","_sfc_main$I","_imports_0$1","_resolveComponent","isVisible","globalStateStore","baseDataSubmitted","housingStore","foodStore","transportStore","consumptionStore","wasteStore","hasAnySubmitted","_createBlock","_createCommentVNode","validateForm","form","input","prevErrorElements","errorElement","isOldInternetExplorer","ua","scrollToElement","elementId","element","top","roundResults","_sfc_main$G","DialogBase","_component_DialogBase","_withKeys","_withModifiers","emailSent","_withDirectives","_sfc_main$F","expirationDate","monthsToAdd","daysToAdd","allowedDate","expiresHour","expiresMinutes","expiresDateTime","_hoisted_7","_hoisted_10","_hoisted_13","_hoisted_17","contact","_hoisted_18","_hoisted_19","backgroundUrl","smallBackgroundUrl","_sfc_main$E","BaseHeader","BaseNavigation","BaseFooter","LoginDialog","CreateGroupCodeDialog","$route","_component_BaseHeader","_component_BaseNavigation","baseDataStore","_component_router_view","_component_BaseFooter","_component_LoginDialog","mobileMenuVisible","_component_CreateGroupCodeDialog","_sfc_main$D","withRegistration","_component_IntegerInput","_component_SubFormSection","_Fragment","_renderList","incomeOptions","gender","_vModelRadio","groupCode","_vModelText","round","lim","p2b","n2b","b2n","n2p","map$1","hex","h1","h2","eq","isShort","hexParse","alpha","hexString","HUE_RE","hsl2rgbn","hsv2rgbn","hwb2rgbn","rgb","hueValue","max","rgb2hsl","calln","hsl2rgb","hwb2rgb","hsv2rgb","hue","hueParse","rotate","deg","hslString","names$1","unpack","unpacked","tkeys","ok","nk","nameParse","RGB_RE","rgbParse","rgbString","rgb1","rgb2","modHSL","ratio","clone","fromObject","functionParse","Color","color","weight","w2","w1","isNullOrUndef","isNumberFinite","finiteOrDefault","valueOrDefault","toPercentage","dimension","toDimension","each","loopable","reverse","_elementsEqual","a0","a1","ilen","v0","v1","klen","isValidKey","_merger","tval","sval","sources","merger","mergeIf","_mergerIf","keyResolvers","_splitKey","_getKeyResolver","resolveObjectKey","_capitalize","defined","setsEqual","_isClickEvent","PI","TAU","INFINITY","RAD_PER_DEG","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","log10","sign","almostEquals","epsilon","niceNum","range","roundedRange","niceRange","fraction","_factorize","sqrt","almostWhole","rounded","_setMinAndMaxByKey","array","property","toRadians","degrees","toDegrees","radians","_decimalPlaces","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","angle","_normalizeAngle","_angleBetween","sameAngleIsFullCircle","angleToStart","angleToEnd","startToAngle","endToAngle","_limitValue","_int16Range","_isBetween","_lookup","table","cmp","hi","lo","mid","_lookupByKey","ti","_rlookupByKey","_filterBetween","arrayEvents","listenArrayEvents","unlistenArrayEvents","stub","listeners","_arrayUnique","requestAnimFrame","argsToUse","ticking","debounce","delay","_toLeftRightCenter","align","_alignStartEnd","_textX","left","right","rtl","atEdge","elasticIn","elasticOut","effects","isPatternOrGradient","getHoverColor","numbers","colors","applyAnimationsDefaults","applyLayoutsDefaults","intlCache","formatNumber","formatters","tickValue","ticks","notation","delta","maxTick","calculateDelta","logDelta","numDecimal","remain","Ticks","applyScaleDefaults","getScope$1","Defaults","_descriptors","_appliers","targetScope","targetName","scopeObject","targetScopeObject","privateName","local","appliers","toFontString","font","_measureText","gc","longest","string","textWidth","_longestText","arrayOfThings","jlen","nestedThing","gcLen","_alignPixel","chart","pixel","width","devicePixelRatio","halfWidth","clearCanvas","canvas","drawPointLegend","xOffset","yOffset","cornerRadius","xOffsetW","yOffsetW","rotation","radius","rad","_isPointInArea","point","margin","clipArea","unclipArea","setRenderOpts","decorateText","metrics","bottom","yDecoration","drawBackdrop","oldColor","renderText","stroke","addRoundedRectPath","rect","LINE_HEIGHT","FONT_STYLE","toLineHeight","numberOrZero","_readValueToProps","objProps","read","toTRBL","toTRBLCorners","toPadding","toFont","inputs","_addGrace","minmax","grace","beginAtZero","change","keepZero","createContext","parentContext","_createResolver","scopes","rootScopes","finalRootScopes","_cached","_resolveWithPrefixes","getKeysFromAllScopes","storage","_attachContext","subProxy","descriptorDefaults","_resolveWithContext","_scriptable","_indexable","_allKeys","readKey","prefix","needsSubResolver","_proxy","_subProxy","_resolveScriptable","_resolveArray","_stack","createSubResolver","isIndexable","resolveFallback","addScopes","parentScopes","parentFallback","allScopes","addScopesFromKey","subGetTarget","resolveKeysFromAllScopes","_isDomSupported","_getParentNode","domNode","parseMaxStyle","parentProperty","valueInPixels","getComputedStyle","getStyle","positions","getPositionedStyle","styles","suffix","useOffsetPos","getCanvasPosition","touches","offsetX","offsetY","box","getRelativePosition","currentDevicePixelRatio","borderBox","paddings","borders","height","getContainerSize","maxWidth","maxHeight","containerStyle","containerBorder","containerPadding","round1","getMaximumSize","bbWidth","bbHeight","aspectRatio","margins","containerSize","retinaScale","forceRatio","forceStyle","pixelRatio","deviceHeight","deviceWidth","supportsEventListenerOptions","passiveSupported","readUsedSize","getRightToLeftAdapter","rectX","itemWidth","getLeftToRightAdapter","_itemWidth","getRtlAdapter","overrideTextDirection","direction","original","restoreTextDirection","Animator","anims","numSteps","remaining","draw","charts","acc","animator","transparent","interpolators","factor","c0","Animation","cfg","currentValue","elapsed","duration","loop","rej","Animations","animationOptions","animatedProps","newOptions","resolveTargetOptions","animations","awaitAll","running","animation","properties","anim","scaleClip","scale","allowedOverflow","defaultClip","xScale","yScale","toClip","getSortedDatasetIndices","filterVisible","metasets","applyStack","dsIndex","singleMode","datasetIndex","otherValue","convertObjectDataToArray","iScale","vScale","iAxisKey","vAxisKey","adata","isStacked","stacked","getStackKey","indexScale","valueScale","getUserBounds","minDefined","maxDefined","getOrCreateStack","stacks","stackKey","indexValue","subStack","getLastIndexInStack","positive","updateStacks","iAxis","vAxis","itemStacks","visualValues","getFirstScaleId","axis","scales","createDatasetContext","createDataContext","clearStacks","isDirectUpdateMode","cloneIfNotShared","shared","createStack","canStack","DatasetController","dataset","chooseId","xid","yid","rid","indexAxis","iid","vid","scaleID","_data","resetNewElements","stackChanged","oldStacked","scopeKeys","_stacked","sorted","isNotInOrderComparedToPrev","labels","singleScale","xAxisKey","yAxisKey","_parsed","otherScale","otherMin","otherMax","_skip","elements","active","drawActiveElementsOnTop","elementType","sharing","sharedOptions","firstOpts","previouslySharedOptions","includeOptions","numMeta","numData","removed","newCount","__publicField","getAllScaleValues","visibleMetas","computeMinSampleSize","curr","updateMinAndPrev","computeFitCategoryTraits","ruler","stackCount","thickness","computeFlexCategoryTraits","pixels","percent","parseFloatBar","startValue","endValue","barStart","barEnd","parseArrayOrPrimitive","isFloatBar","barSign","actualBase","borderProps","setBorderSkipped","edge","parseEdge","swap","startEnd","orig","v2","setInflateAmount","inflateAmount","BarController","bars","horizontal","vpixels","ipixels","dataIndex","currentParsed","iScaleValue","skipNull","barThickness","baseValue","minBarLength","floating","startPixel","endPixel","halfGrid","maxBarThickness","center","stackIndex","rects","getRatioAndOffset","circumference","cutout","ratioX","ratioY","startAngle","endAngle","startX","startY","endX","endY","calcMax","calcMin","maxX","maxY","minX","minY","DoughnutController","chartArea","arcs","spacing","maxSize","chartWeight","maxRadius","outerRadius","innerRadius","radiusLength","animationOpts","centerX","centerY","animateScale","arc","metaData","ringWeightOffset","pointStyle","label","legendItem","legend","abstract","DateAdapterBase","members","binarySearch","metaset","intersect","_sorted","lookupMethod","evaluateInteractionItems","getDistanceMetricForAxis","useX","useY","pt1","pt2","deltaX","deltaY","getIntersectItems","useFinalPosition","includeInvisible","getNearestRadialItems","evaluationFunc","getNearestCartesianItems","distanceMetric","minDistance","distance","getNearestItems","getAxisItems","rangeMethod","intersectsItem","Interaction","STATIC_POSITIONS","filterByPosition","filterDynamicPositionByAxis","sortByWeight","wrapBoxes","boxes","layoutBoxes","stackWeight","buildStacks","layouts","setLayoutDims","vBoxMaxWidth","hBoxMaxHeight","layout","fullSize","buildLayoutBoxes","centerHorizontal","centerVertical","getCombinedMax","maxPadding","updateMaxPadding","boxPadding","updateDims","newWidth","newHeight","widthChanged","heightChanged","handleMaxPadding","updatePos","getMargins","marginForPositions","fitBoxes","refitBoxes","refit","changed","same","other","setBoxDims","placeBoxes","userPadding","layoutItem","minPadding","padding","availableWidth","availableHeight","verticalBoxes","horizontalBoxes","visibleVerticalBoxCount","BasePlatform","BasicPlatform","EXPANDO_KEY","EVENT_TYPES","isNullOrEmpty","initCanvas","renderHeight","renderWidth","displayWidth","displayHeight","eventListenerOptions","addListener","removeListener","fromNativeEvent","nodeListContains","nodeList","createAttachObserver","observer","createDetachObserver","drpListeningCharts","oldDevicePixelRatio","onWindowResize","dpr","resize","listenDevicePixelRatioChanges","unlistenDevicePixelRatioChanges","createResizeObserver","releaseObserver","createProxyAndListen","DomPlatform","initial","proxies","_detectPlatform","Element$1","final","autoSkip","tickOpts","determinedMaxTicks","determineMaxTicks","ticksLimit","majorIndices","getMajorIndices","numMajorIndices","newTicks","skipMajors","calculateSpacing","avgMajorSpacing","skip","tickLength","maxScale","maxChart","evenMajorSpacing","getEvenSpacing","factors","majorStart","majorEnd","reverseAlign","offsetFromEdge","getTicksLimit","ticksLength","maxTicksLimit","sample","numItems","increment","getPixelForGridLine","offsetGridLines","validIndex","lineValue","garbageCollect","caches","getTickMarkLength","getTitleHeight","createScaleContext","createTickContext","tick","titleAlign","titleArgs","titleX","titleY","positionAxisID","Scale","Element","_userMin","_userMax","_suggestedMin","_suggestedMax","metas","sampleSize","samplingEnabled","reversePixels","numTicks","minRotation","maxRotation","labelRotation","tickWidth","maxLabelDiagonal","labelSizes","maxLabelWidth","maxLabelHeight","minSize","titleOpts","gridOpts","isHorizontal","titleHeight","widest","highest","tickPadding","angleRadians","cos","sin","labelHeight","labelWidth","isRotated","labelsBelowTicks","offsetLeft","offsetRight","paddingLeft","paddingRight","paddingTop","paddingBottom","widths","heights","widestLabelSize","highestLabelSize","tickFont","fontString","lineHeight","nestedLabel","valueAt","decimal","optionTicks","rot","grid","border","tl","borderOpts","axisWidth","axisHalfWidth","alignBorderValue","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","x1","y1","x2","y2","limit","step","optsAtIndex","optsAtIndexBorder","lineWidth","lineColor","borderDash","borderDashOffset","tickColor","tickBorderDash","tickBorderDashOffset","crossAlign","mirror","tickAndPadding","hTickAndPadding","textAlign","lineCount","textOffset","textBaseline","halfCount","strokeColor","strokeWidth","tickTextAlign","backdrop","labelPadding","backgroundColor","drawLine","lastLineWidth","renderTextOptions","title","tz","gz","bz","axisID","fontSize","TypedRegistry","override","parentScope","isIChartComponent","registerDefaults","itemDefaults","routeDefaults","routes","propertyParts","sourceName","sourceScope","Registry","typedRegistry","reg","itemReg","camelMethod","PluginService","all","plugins","allPlugins","createDescriptors","previousDescriptors","localIds","getOpts","pluginOpts","getIndexAxis","datasetDefaults","getAxisFromDefaultScaleID","getDefaultScaleIDFromAxis","idMatchesAxis","axisFromPosition","determineAxis","scaleOptions","getAxisFromDataset","retrieveAxisFromDatasets","boundDs","mergeScaleConfig","chartDefaults","configScales","chartIndexAxis","scaleConf","defaultId","defaultScaleOptions","defaultID","initOptions","initData","initConfig","keyCache","keysCached","cachedKeys","addIfFound","Config","datasetType","mainScope","resetCache","_scopeCache","keyLists","subPrefixes","getResolver","needContext","subResolver","resolverCache","hasFunction","isScriptable","scriptable","indexable","KNOWN_POSITIONS","positionIsHorizontal","compare2Level","l1","onAnimationsComplete","onAnimationProgress","getCanvas","getChart","moveNumericKeys","intKey","determineLastEvent","lastEvent","inChartArea","isClick","getSizeForArea","getDatasetArea","Chart$1","invalidatePlugins","userConfig","initialCanvas","existingChart","maintainAspectRatio","_aspectRatio","newSize","newRatio","scalesOptions","axisOptions","scaleOpts","isRadial","scaleType","scaleClass","hasUpdated","datasets","newControllers","ControllerClass","datasetElementType","dataElementType","animsDisabled","_active","_lastEvent","existingEvents","newEvents","_hiddenIndices","changes","_dataChanges","datasetCount","makeSet","changeSet","noArea","layers","clip","useClip","visible","_add","_remove","attached","enabled","activeElements","lastActive","replay","hoverOptions","eventFilter","Chart","clipArc","pixelMargin","angleMargin","toRadiusCorners","parseBorderRadius$1","angleDelta","halfThickness","innerLimit","computeOuterLimit","outerArcLimit","rThetaToXY","theta","pathArc","circular","innerR","spacingOffset","noSpacingInnerRadius","noSpacingOuterRadius","avNogSpacingRadius","adjustedAngle","beta","angleOffset","outerStart","outerEnd","innerStart","innerEnd","outerStartAdjustedRadius","outerEndAdjustedRadius","outerStartAdjustedAngle","outerEndAdjustedAngle","innerStartAdjustedRadius","innerEndAdjustedRadius","innerStartAdjustedAngle","innerEndAdjustedAngle","outerMidAdjustedAngle","pCenter","p4","innerMidAdjustedAngle","p8","outerStartX","outerStartY","outerEndX","outerEndY","drawArc","fullCircles","drawBorder","borderWidth","borderJoinStyle","inner","ArcElement","chartX","chartY","rAdjust","_circumference","nonZeroBetween","betweenAngles","withinRadius","halfAngle","halfRadius","fix","radiusOffset","getBarBounds","bar","half","skipOrLimit","parseBorderWidth","maxW","maxH","parseBorderRadius","enableBorderRadius","maxR","enableBorder","boundingRects","bounds","skipX","skipY","hasRadius","addNormalRectPath","inflateRect","amount","refRect","BarElement","borderColor","outer","addRectPath","mouseX","mouseY","getBoxSize","labelOpts","boxHeight","boxWidth","itemsEqual","Legend","legendItems","labelFont","itemHeight","hitboxes","lineWidths","totalHeight","row","_itemHeight","columnSizes","heightLimit","totalWidth","currentColWidth","currentColHeight","col","calculateItemSize","rtlHelper","hitbox","defaultColor","halfFontSize","cursor","drawLegendBox","drawOptions","yBoxTop","xBoxLeft","borderRadius","fillText","realX","fontLineHeight","calculateLegendItemHeight","titleFont","titlePadding","topPaddingPlusHalfFontSize","hitBox","lh","isListened","hoveredItem","previous","sameItem","calculateItemWidth","calculateItemHeight","legendItemText","plugin_legend","_args","ci","usePointStyle","useBorderRadius","addIfString","addedLabels","findOrAddLabel","_getLabelForValue","CategoryScale","added","generateTicks$1","generationOptions","dataRange","precision","maxTicks","maxDigits","includeBounds","unit","maxSpaces","rmin","rmax","countDefined","minSpacing","niceMin","niceMax","numSpaces","decimalPlaces","relativeLabelSize","LinearScaleBase","setMin","setMax","minSign","maxSign","stepSize","numericGeneratorOptions","LinearScale","log10Floor","changeExponent","isMajor","tickVal","steps","rangeExp","rangeStep","startExp","generateTicks","minExp","significand","lastTick","LogarithmicScale","getTickBackdropHeight","measureLabelSize","determineLimits","fitWithPointLabels","limits","valueCount","pointLabelOpts","additionalAngle","pointPosition","plFont","textSize","hLimits","vLimits","updateLimits","buildPointLabelItems","createPointLabelItem","itemOpts","outerDistance","extra","pointLabelPosition","yForAngle","getTextAlignForAngle","leftForTextAlign","isNotOverlapped","centerPointLabels","drawPointLabelBox","backdropColor","backdropLeft","backdropTop","backdropWidth","backdropHeight","drawPointLabels","labelCount","pointLabels","pathRadiusLine","drawRadiusLine","gridLineOpts","createPointLabelContext","RadialLinearScale","leftMovement","rightMovement","topMovement","bottomMovement","angleMultiplier","scalingFactor","scaledDistance","pointLabel","distanceFromCenter","angleLines","INTERVALS","UNITS","sorter","isoWeekday","determineUnitForAutoTicks","minUnit","capacity","interval","determineUnitForFormatting","determineMajorUnit","addTick","setMajorTicks","majorUnit","major","ticksFromTimestamps","TimeScale","_applyBounds","timeOpts","minor","weekday","hasWeekday","formats","fmt","minorFormat","majorFormat","offsets","ticksOpts","tickLabelWidth","cosRotation","sinRotation","tickFontSize","exampleTime","displayFormats","exampleLabel","prevSource","nextSource","prevTarget","nextTarget","span","TimeSeriesScale","CommonProps","A11yProps","Props","compatProps","toRawIfProxy","cloneProxy","setOptions","nextOptions","setLabels","currentData","nextLabels","setDatasets","nextDatasets","datasetIdKey","addedDatasets","nextDataset","currentDataset","cloneData","nextData","canvasRef","chartRef","renderChart","clonedData","proxiedData","destroyChart","param1","nextOptionsProxy","nextDataProxy","prevOptionsProxy","prevDataProxy","shouldUpdate","prevOptions","prevLabels","prevDatasets","createTypedChart","registerables","reforwardRef","Bar","Doughnut","fontStyle","textX","textY","ChartJS","_sfc_main$C","chartData","percentage","html","_component_Doughnut","_sfc_main$B","isExpanded","link","_renderSlot","_sfc_main$A","SubSection","DoughnutChart","_component_DoughnutChart","buttons","button","_sfc_main$z","_hoisted_20","_hoisted_22","_hoisted_23","_hoisted_25","_hoisted_26","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_32","_hoisted_33","_hoisted_35","_hoisted_36","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_46","_hoisted_47","_hoisted_48","_hoisted_50","_hoisted_51","_hoisted_53","_hoisted_54","_hoisted_56","_hoisted_57","_hoisted_59","_hoisted_60","_hoisted_61","_hoisted_63","_hoisted_64","_hoisted_66","_hoisted_67","_hoisted_68","_hoisted_70","_hoisted_71","_hoisted_72","_hoisted_74","_hoisted_75","_hoisted_77","_hoisted_78","_hoisted_79","_hoisted_81","_hoisted_82","_hoisted_83","_hoisted_85","_hoisted_86","_hoisted_87","_hoisted_88","_hoisted_90","_hoisted_91","_hoisted_93","_hoisted_94","_hoisted_96","_hoisted_97","_hoisted_101","_hoisted_102","_hoisted_104","_hoisted_105","_hoisted_107","_hoisted_108","_hoisted_109","_hoisted_111","_hoisted_112","_hoisted_113","_hoisted_115","_hoisted_116","_component_SubForm","consumptionTitleClicked","_hoisted_21","_hoisted_24","_hoisted_27","_hoisted_31","_hoisted_34","_hoisted_37","_hoisted_41","_hoisted_45","_hoisted_49","_hoisted_52","_hoisted_55","_hoisted_58","_hoisted_62","_hoisted_65","_hoisted_69","_hoisted_73","_hoisted_76","_hoisted_80","_hoisted_84","_hoisted_89","_hoisted_92","_hoisted_95","_hoisted_98","_hoisted_100","_hoisted_103","_hoisted_106","_hoisted_110","_hoisted_114","_sfc_main$y","dietTitleClicked","_sfc_main$x","FoodConsumption","FoodDiet","ResultBase","targetSection","_component_FoodDiet","_component_FoodConsumption","_component_ResultBase","_sfc_main$w","_component_DetailsButton","_component_RangeInput","updateLowCarbon","yearTotal","_sfc_main$v","titleClicked","_component_DecimalInput","_sfc_main$u","isEnabled","isActive","_sfc_main$t","shown","_sfc_main$s","DetailsButton","_component_SubFormRadioSection","mainHeatingMode","additionalHeatingModes","_vModelCheckbox","_sfc_main$r","furniture","appliances","misc","renovations","cleaning","_sfc_main$q","winterHeating","_sfc_main$p","HousingBasics","HousingElectricity","HousingHeating","HousingPurchases","HousingWinterHeating","secondHouseReady","currentSection","sectionsNeedingSaves","waitHeating","waitElectricity","waitHeatingResult","waitElectricityResults","updateDistrictConsumption","updateOilConsumption","updateCons","_component_HousingBasics","changeSection","_component_HousingHeating","_component_HousingElectricity","_component_HousingPurchases","_component_HousingWinterHeating","submitEnabled","N","V","z","A","R","X","W","F","Y","q","K","U","G","J","H","T","D","B","O","M","I","Q","Z","$","ee","se","ie","le","ne","re","ae","de","oe","ue","ce","fe","ve","ge","pe","me","P","E","C","L","Se","S","be","_sfc_main$o","VueperSlides","VueperSlide","_component_VueperSlides","slide","_component_VueperSlide","_sfc_main$n","_component_Bar","extendStatics","__extends","__","__assign","__awaiter","_arguments","adopt","__generator","verb","op","__spreadArray","pack","ar","Bounds","clientRect","domRectList","domRect","parseBounds","parseDocumentSize","document","documentElement","toCodePoints$1","codePoints","fromCodePoint$1","_i","codeUnits","chars$2","lookup$2","i$2","chars$1$1","lookup$1$1","i$1$1","decode$1","base64","bufferLength","encoded1","encoded2","encoded3","encoded4","polyUint16Array$1","polyUint32Array$1","UTRIE2_SHIFT_2$1","UTRIE2_SHIFT_1$1","UTRIE2_INDEX_SHIFT$1","UTRIE2_SHIFT_1_2$1","UTRIE2_LSCP_INDEX_2_OFFSET$1","UTRIE2_DATA_BLOCK_LENGTH$1","UTRIE2_DATA_MASK$1","UTRIE2_LSCP_INDEX_2_LENGTH$1","UTRIE2_INDEX_2_BMP_LENGTH$1","UTRIE2_UTF8_2B_INDEX_2_OFFSET$1","UTRIE2_UTF8_2B_INDEX_2_LENGTH$1","UTRIE2_INDEX_1_OFFSET$1","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1","UTRIE2_INDEX_2_BLOCK_LENGTH$1","UTRIE2_INDEX_2_MASK$1","slice16$1","view","slice32$1","createTrieFromBase64$1","_byteLength","view32","view16","headerLength","Trie$1","Trie","errorValue","highStart","highValueIndex","ix","chars$3","lookup$3","i$3","base64$1","LETTER_NUMBER_MODIFIER","BK","CR$1","LF$1","CM","NL","WJ","ZW","GL","SP","ZWJ$1","B2","BA","BB","HY","CB","CL","CP","EX","IN","NS","OP","QU","IS","NU","PO","PR","SY","AI","AL","CJ","EB","EM","H2","H3","HL","ID","JL","JV","JT","RI$1","SA","XX","ea_OP","BREAK_MANDATORY","BREAK_NOT_ALLOWED$1","BREAK_ALLOWED$1","UnicodeTrie$1","ALPHABETICS","HARD_LINE_BREAKS","SPACE$1","PREFIX_POSTFIX","LINE_BREAKS","KOREAN_SYLLABLE_BLOCK","HYPHEN","codePointsToCharacterClasses","lineBreak","indices","categories","classType","isAdjacentWithSpaceIgnored","currentIndex","classTypes","previousNonSpaceClassType","_lineBreakAtIndex","indicies","forbiddenBreaks","beforeIndex","afterIndex","prevIndex","cssFormattedClasses","isLetterNumber","forbiddenBreakpoints","letterNumber","Break","LineBreaker","lastEnd","FLAG_UNRESTRICTED","FLAG_ID","FLAG_INTEGER","FLAG_NUMBER","LINE_FEED","SOLIDUS","REVERSE_SOLIDUS","CHARACTER_TABULATION","SPACE","QUOTATION_MARK","EQUALS_SIGN","NUMBER_SIGN","DOLLAR_SIGN","PERCENTAGE_SIGN","APOSTROPHE","LEFT_PARENTHESIS","RIGHT_PARENTHESIS","LOW_LINE","HYPHEN_MINUS","EXCLAMATION_MARK","LESS_THAN_SIGN","GREATER_THAN_SIGN","COMMERCIAL_AT","LEFT_SQUARE_BRACKET","RIGHT_SQUARE_BRACKET","CIRCUMFLEX_ACCENT","LEFT_CURLY_BRACKET","QUESTION_MARK","RIGHT_CURLY_BRACKET","VERTICAL_LINE","TILDE","CONTROL","REPLACEMENT_CHARACTER","ASTERISK","PLUS_SIGN","COMMA","COLON","SEMICOLON","FULL_STOP","NULL","BACKSPACE","LINE_TABULATION","SHIFT_OUT","INFORMATION_SEPARATOR_ONE","DELETE","ZERO","isSurrogateCodePoint","isHex","isLowerCaseLetter","isUpperCaseLetter","isLetter","isNonASCIICodePoint","isWhiteSpace","isNameStartCodePoint","isNameCodePoint","isNonPrintableCodePoint","isValidEscape","c3","stringToNumber","integers","int","fracd","frac","expsign","exponent","LEFT_PARENTHESIS_TOKEN","RIGHT_PARENTHESIS_TOKEN","COMMA_TOKEN","SUFFIX_MATCH_TOKEN","PREFIX_MATCH_TOKEN","COLUMN_TOKEN","DASH_MATCH_TOKEN","INCLUDE_MATCH_TOKEN","LEFT_CURLY_BRACKET_TOKEN","RIGHT_CURLY_BRACKET_TOKEN","SUBSTRING_MATCH_TOKEN","BAD_URL_TOKEN","BAD_STRING_TOKEN","CDO_TOKEN","CDC_TOKEN","COLON_TOKEN","SEMICOLON_TOKEN","LEFT_SQUARE_BRACKET_TOKEN","RIGHT_SQUARE_BRACKET_TOKEN","WHITESPACE_TOKEN","EOF_TOKEN","Tokenizer","flags","e3","a2","a3","u1","u2","questionMarks","start_1","digit","endDigits","stringToken","SLICE_STACK_SIZE","endingCodePoint","repr","hexCodePoint","Parser","isEndingTokenFor","functionToken","cssFunction","isDimensionToken","isNumberToken","isIdentToken","isStringToken","isIdentWithValue","nonWhiteSpace","nonFunctionArgSeparator","parseFunctionArgs","isLength","isLengthPercentage","parseLengthPercentageTuple","ZERO_LENGTH","FIFTY_PERCENT","HUNDRED_PERCENT","getAbsoluteValueForTuple","tuple","getAbsoluteValue","DEG","GRAD","RAD","TURN","isAngle","parseNamedSide","sideOrCorner","ident","color$1","colorFunction","SUPPORTED_COLOR_FUNCTIONS","namedColor","COLORS","isTransparent","asString","blue","green","red","getTokenColorValue","hue2rgb","t1","t2","hsl","saturation","lightness","parseColor","backgroundClip","parseColorStop","stop","processColorStops","stops","processStops","stop_1","absoluteValue","gapBegin","stop_2","gapLength","beforeGap","gapValue","getAngleFromCorner","corner","calculateGradientDirection","radian","halfHeight","halfLineLength","yDiff","xDiff","findCorner","closest","corners","stat","cx","cy","calculateRadius","gradient","rx","ry","linearGradient","angle$1","firstToken","colorStop","prefixLinearGradient","webkitGradient","shape","CLOSEST_SIDE","FARTHEST_SIDE","CLOSEST_CORNER","FARTHEST_CORNER","CIRCLE","ELLIPSE","COVER","CONTAIN","radialGradient","isColorStop","isAtPosition_1","prefixRadialGradient","isLinearGradient","background","isRadialGradient","image_1","imageFunction","SUPPORTED_IMAGE_FUNCTIONS","isSupportedImage","backgroundImage","backgroundOrigin","backgroundPosition","backgroundRepeat","parseBackgroundRepeat","BACKGROUND_SIZE","backgroundSize","isBackgroundSizeInfoToken","borderColorForSide","side","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderRadiusForSide","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","borderStyleForSide","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderWidthForSide","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","bit","parseDisplayValue","float","letterSpacing","LINE_BREAK","computeLineHeight","listStyleImage","listStylePosition","listStyleType","marginForSide","marginTop","marginRight","marginBottom","marginLeft","overflow","overflowWrap","paddingForSide","textShadow","shadow","textTransform","transform$1","transformFunction","SUPPORTED_TRANSFORM_FUNCTIONS","matrix","matrix3d","b1","b2","a4","b4","DEFAULT_VALUE","DEFAULT","transformOrigin","origins","visibility","WORD_BREAK","wordBreak","zIndex","opacity","textDecorationColor","textDecorationLine","fontFamily","accumulator","fontWeight","fontVariant","contains","counterIncrement","increments","counter","counterReset","resets","quotes","open_1","close_1","getQuote","quote","boxShadow","paintOrder","webkitTextStrokeColor","webkitTextStrokeWidth","CSSParsedDeclaration","declaration","overflowTuple","CSSParsedPseudoDeclaration","CSSParsedCounterDeclaration","length_1","value_1","elementDebuggerAttribute","getElementDebugType","attribute","isDebugging","ElementContainer","isHTMLElementNode","chars$1","lookup$1","i$1","decode","polyUint16Array","polyUint32Array","UTRIE2_SHIFT_2","UTRIE2_SHIFT_1","UTRIE2_INDEX_SHIFT","UTRIE2_SHIFT_1_2","UTRIE2_LSCP_INDEX_2_OFFSET","UTRIE2_DATA_BLOCK_LENGTH","UTRIE2_DATA_MASK","UTRIE2_LSCP_INDEX_2_LENGTH","UTRIE2_INDEX_2_BMP_LENGTH","UTRIE2_UTF8_2B_INDEX_2_OFFSET","UTRIE2_UTF8_2B_INDEX_2_LENGTH","UTRIE2_INDEX_1_OFFSET","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH","UTRIE2_INDEX_2_BLOCK_LENGTH","UTRIE2_INDEX_2_MASK","slice16","slice32","createTrieFromBase64","chars","lookup","Prepend","CR","LF","Control","Extend","SpacingMark","LV","LVT","ZWJ","Extended_Pictographic","RI","toCodePoints","fromCodePoint","UnicodeTrie","BREAK_NOT_ALLOWED","BREAK_ALLOWED","codePointToClass","_graphemeBreakAtIndex","_codePoints","countRI","GraphemeBreaker","graphemeBreak","splitGraphemes","breaker","graphemes","bk","testRangeBounds","TEST_HEIGHT","testElement","rangeBounds","rangeHeight","testIOSLineBreak","textList","supports","boundAhead","testCORS","testResponseType","testSVG","img","isGreenPixel","testForeignObject","greenImageSrc","svg","createForeignObjectSVG","loadSerializedSVG$1","xmlns","foreignObject","FEATURES","TextBounds","parseTextBounds","breakText","textBounds","clientRects","createRange","subSegments","segmentGraphemes","subOffset_1","subSegment","replacementNode","getWrapperBounds","ownerDocument","parentNode","segmenter","segment","segmentWords","breakWords","wordSeparators","words","_loop_1","word_1","TextContainer","CAPITALIZE","ImageElementContainer","_super","_this","CanvasElementContainer","SVGElementContainer","LIElementContainer","OLElementContainer","CHECKBOX_BORDER_RADIUS","RADIO_BORDER_RADIUS","reformatInputBounds","getInputValue","PASSWORD","CHECKBOX","RADIO","INPUT_COLOR","InputElementContainer","SelectElementContainer","TextareaElementContainer","IFrameElementContainer","iframe","parseTree","documentBackgroundColor","bodyBackgroundColor","LIST_OWNERS","parseNodeTree","childNode","nextNode","isTextNode","isElementNode","isSlotElement","createContainer","createsRealStackingContext","createsStackingContext","isTextareaElement","isSVGElement","isSelectElement","isImageElement","isCanvasElement","isLIElement","isOLElement","isInputElement","isIFrameElement","isBodyElement","isSVGElementNode","isHTMLElement","isVideoElement","isStyleElement","isScriptElement","CounterState","counters","canReset","counterNames","ROMAN_UPPER","ARMENIAN","HEBREW","GEORGIAN","createAdditiveCounter","symbols","createCounterText","integer","createCounterStyleWithSymbolResolver","codePointRangeLength","isNumeric","createCounterStyleFromRange","codePointRangeStart","codePointRangeEnd","createCounterStyleFromSymbols","CJK_ZEROS","CJK_TEN_COEFFICIENTS","CJK_TEN_HIGH_COEFFICIENTS","CJK_HUNDRED_COEFFICIENTS","createCJKCounter","multipliers","negativeSign","coefficient","CHINESE_INFORMAL_MULTIPLIERS","CHINESE_FORMAL_MULTIPLIERS","JAPANESE_NEGATIVE","KOREAN_NEGATIVE","appendSuffix","defaultSuffix","cjkSuffix","koreanSuffix","spaceSuffix","IGNORE_ATTRIBUTE","DocumentCloner","windowSize","createIFrameContainer","scrollX","scrollY","cloneWindow","documentClone","iframeLoad","iframeLoader","onclone","referenceElement","restoreNodeScroll","imagesReady","serializeDoctype","restoreOwnerScroll","copyCSSStyles","sheet","css","rule","clonedCanvas","clonedCtx","attribs","video","blankCanvas","copyStyles","assignedNodes","assignedNode","window","styleBefore","styleAfter","createPseudoHideStyles","PseudoElementType","pseudoElt","anonymousReplacedElement","attr","counterStyle","counterState","counterType","delim","counterStates","counterType_1","PSEUDO_HIDE_ELEMENT_CLASS_BEFORE","PSEUDO_HIDE_ELEMENT_CLASS_AFTER","newClassName","cloneIframeContainer","imageReady","ignoredStyleProperties","doctype","PSEUDO_BEFORE","PSEUDO_AFTER","PSEUDO_HIDE_ELEMENT_STYLE","createStyles","CacheStorage","Cache","_options","isBlobImage","isRenderable","isSameOrigin","useCORS","useProxy","isInlineImage","isInlineBase64Image","reader_1","queryString","timeout_1","INLINE_SVG","INLINE_BASE64","INLINE_IMG","Vector","lerp","BezierCurve","startControl","endControl","firstHalf","ab","bc","cd","abbc","bccd","dest","isBezierCurve","BoundCurves","tlh","tlv","trh","trv","_c","brh","brv","_d","blh","blv","maxFactor","topWidth","rightHeight","bottomWidth","leftHeight","getCurvePoints","CORNER","r1","r2","kappa","ox","oy","xm","ym","calculateBorderBoxPath","curves","calculateContentBoxPath","calculatePaddingBoxPath","TransformEffect","ClipEffect","OpacityEffect","isTransformEffect","isClipEffect","isOpacityEffect","equalPath","transformPath","deltaW","deltaH","StackingContext","ElementPaint","paddingBox","inFlow","croplessEffects","parseStackTree","stackingContext","realStackingContext","listItems","treatAsRealStackingContext","paintContainer","listOwnerItems","parentStack","order_1","index_1","index_2","processListItems","numbering","reversed","parseStackingContexts","parsePathForBorder","borderSide","createPathFromCurves","parsePathForBorderDoubleOuter","parsePathForBorderDoubleInner","parsePathForBorderStroke","createStrokePathFromCurves","outer1","outer2","inner1","inner2","contentBox","calculateBackgroundPositioningArea","calculateBackgroundPaintingArea","calculateBackgroundRendering","intrinsicSize","backgroundPositioningArea","getBackgroundValueForIndex","backgroundPaintingArea","backgroundImageSize","calculateBackgroundSize","sizeWidth","sizeHeight","calculateBackgroundRepeatPath","isAuto","hasIntrinsicValue","intrinsicWidth","intrinsicHeight","intrinsicProportion","second","hasIntrinsicProportion","targetRatio","hasIntrinsicWidth","hasIntrinsicHeight","hasIntrinsicDimensions","width_1","height_1","width_2","height_2","width_3","height_3","repeat","SMALL_IMAGE","SAMPLE_TEXT","FontMetrics","baseline","Renderer","MASK_OFFSET","CanvasRenderer","paint","letters","letter","variant","fixIOSSystemFonts","paintOrderLayer","textShadows","iframeRenderer","isTextInputElement","canvasTextAlign","_e","_f","_g","_h","_j","_k","_l","_m","_o","paths","pattern","this_1","x0","y0","gradient_1","top_1","radialGradient_1","midX","midY","invF","curvePoints","outerPaths","innerPaths","hasBackground","borders_1","calculateBackgroundCurvedPaintingArea","borderBoxArea","maskOffset","shadowPaintingArea","strokePaths","boxPaths","dashLength","spaceLength","useLineDash","multiplier","numberOfDashes","minSpace","maxSpace","path1","path2","iOSBrokenFonts","fontFamilies","ForeignObjectRenderer","loadSerializedSVG","Logger","Context","windowBounds","html2canvas","renderElement","defaultView","resourceOptions","contextOptions","windowOptions","foreignObjectRendering","cloneOptions","documentCloner","clonedElement","renderOptions","_q","_r","_s","_t","_u","parseBackgroundColor","backgroundColorOverride","defaultBackgroundColor","_sfc_main$m","BarChart","CarouselBase","sets","ownResult","comparisonOptions","shareWindow","averageCompareWith","_component_BarChart","initialPageWidth","comparisonTarget","userHistorySelectedIndex","totalResult","_component_SubSection","_component_CarouselBase","doughnutData","_sfc_main$l","constant","carDistance","walking","cigarettes","carbon","_sfc_main$k","boatTitleClicked","boatType","usageHours","power","fuelConsumption","_sfc_main$j","sizes","fuels","fuelDetailsAsPercentage","updateFuelPercentage","updateFuelConsumption","_sfc_main$i","_sfc_main$h","CarSection","CarDetailsSection","carTitleClicked","_component_CarDetailsSection","_sfc_main$g","publicTransportTitleClicked","_sfc_main$f","travelTitleClicked","_sfc_main$e","TransportBoat","TransportCar","TransportPublic","TransportTravel","WalkingCyclingCalculator","_component_TransportCar","_component_TransportPublic","_component_TransportTravel","_component_TransportBoat","_component_WalkingCyclingCalculator","_sfc_main$d","_sfc_main$c","documentationUrl","toggleSection","visibleSections","subSection","toggleSubSection","visibleSubSections","_sfc_main$b","sitraUrl","sitraLinkText","housingSitraAction","foodSitraAction","transportSitraAction","consumptionSitraAction","wasteSitraAction","carbonOffset","activeView","showView","_sfc_main$a","isBrowser","isESModule","applyToParams","newParams","HASH_RE","AMPERSAND_RE","SLASH_RE","EQUAL_RE","IM_RE","PLUS_RE","ENC_BRACKET_OPEN_RE","ENC_BRACKET_CLOSE_RE","ENC_CARET_RE","ENC_BACKTICK_RE","ENC_CURLY_OPEN_RE","ENC_PIPE_RE","ENC_CURLY_CLOSE_RE","ENC_SPACE_RE","commonEncode","encodeHash","encodeQueryValue","encodeQueryKey","encodePath","encodeParam","TRAILING_SLASH_RE","removeTrailingSlash","parseURL","parseQuery","currentLocation","query","hash","hashPos","searchPos","resolveRelativePath","stringifyURL","stringifyQuery","stripBase","pathname","isSameRouteLocation","aLastIndex","bLastIndex","isSameRouteRecord","isSameRouteLocationParams","isSameRouteLocationParamsValue","isEquivalentArray","fromSegments","toSegments","lastToSegment","toPosition","START_LOCATION_NORMALIZED","NavigationType","NavigationDirection","normalizeBase","baseEl","BEFORE_HASH_RE","createHref","getElementPosition","docRect","elRect","computeScrollPosition","scrollToPosition","scrollToOptions","positionEl","isIdSelector","foundEl","getScrollKey","scrollPositions","saveScrollPosition","scrollPosition","getSavedScrollPosition","scroll","createBaseLocation","createCurrentLocation","search","slicePos","pathFromHash","useHistoryListeners","historyState","replace","teardowns","pauseState","popStateHandler","fromState","pauseListeners","listen","teardown","beforeUnloadListener","history","destroy","buildState","back","forward","replaced","computeScroll","useHistoryStateNavigation","changeLocation","hashIndex","currentState","createWebHistory","historyNavigation","historyListeners","go","triggerListeners","routerHistory","createWebHashHistory","isRouteLocation","route","isRouteName","NavigationFailureSymbol","NavigationFailureType","ErrorTypeMessages","stringifyRoute","createRouterError","isNavigationFailure","propertiesToLog","BASE_PARAM_PATTERN","BASE_PATH_PARSER_OPTIONS","REGEX_CHARS_RE","tokensToParser","score","segmentScores","tokenIndex","subSegmentScore","repeatable","optional","regexp","subPattern","stringify","avoidDuplicatedSlash","compareScoreArray","comparePathParserScore","aScore","bScore","isLastScoreNegative","ROOT_TOKEN","VALID_PARAM_RE","tokenizePath","crash","previousState","finalizeSegment","customRe","consumeBuffer","addCharToBuffer","createRouteRecordMatcher","existingKeys","createRouterMatcher","globalOptions","matchers","matcherMap","getRecordMatcher","addRoute","originalRecord","isRootAdd","mainNormalizedRecord","normalizeRouteRecord","checkChildMissingNameWithEmptyPath","normalizedRecords","aliases","alias","originalMatcher","normalizedRecord","parentPath","connectingSlash","checkMissingParamsInAbsolutePath","checkSameParams","isAliasRecord","removeRoute","isMatchable","insertMatcher","matcherRef","getRoutes","invalidParams","paramName","paramsFromLocation","matched","parentMatcher","mergeMetaFields","clearRoutes","normalizeRecordProps","propsObject","partialOptions","isSameParam","lower","upper","insertionAncestor","getInsertionAncestor","ancestor","searchParams","searchParam","eqPos","normalizeQuery","normalizedQuery","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","useCallbacks","guardToPromiseFn","runWithContext","enterCallbackArray","guardReturn","canOnlyBeCalledOnce","guardCall","resolvedValue","called","extractComponentsGuards","guardType","guards","rawComponent","isRouteComponent","componentPromise","resolvedComponent","useLink","router","currentRoute","hasPrevious","previousTo","activeRecordIndex","routeMatched","currentMatched","parentRecordPath","getOriginalPath","includesParams","isExactActive","navigate","guardEvent","linkContextDevtools","RouterLinkImpl","elClass","getLinkClass","RouterLink","innerValue","outerValue","propClass","globalClass","defaultClass","RouterViewImpl","warnDeprecatedUsage","injectedRoute","routeToDisplay","injectedDepth","initialDepth","matchedRoute","matchedRouteRef","viewRef","oldInstance","oldName","currentName","ViewComponent","routePropsOption","routeProps","slotContent","RouterView","parentName","parentSubTreeType","formatRouteLocation","routeLocation","tooltip","copy","omit","routerId","addDevtools","PINK_500","devtoolsData","ORANGE_400","textColor","RED_100","RED_700","LIME_500","BLUE_600","refreshRoutesView","routerInspectorId","navigationsLayerId","navigationId","failure","activeRoutesPayload","resetMatchStateOnRouteRecord","isRouteMatching","markRouteRecordActive","formatRouteRecordForInspector","formatRouteRecordMatcherForStateInspector","modifierForKey","fields","CYAN_400","DARK","tags","routeRecordId","EXTRACT_REGEXP_RE","childRoute","decodedPath","createRouter","parseQuery$1","stringifyQuery$1","beforeGuards","beforeResolveGuards","afterGuards","pendingLocation","normalizeParams","paramValue","encodeParams","decodeParams","parentOrRoute","recordMatcher","routeMatcher","hasRoute","rawLocation","locationNormalized","matcherLocation","targetParams","locationAsObject","checkCanceledNavigation","pushWithRedirect","handleRedirectRecord","lastMatched","redirect","newTargetLocation","redirectedFrom","targetLocation","shouldRedirect","toLocation","handleScroll","markAsReady","triggerError","finalizeNavigation","triggerAfterEach","checkCanceledNavigationAndReject","installedApps","leavingRecords","updatingRecords","enteringRecords","extractChangingRecords","canceledNavigationCheck","runGuardQueue","beforeEnter","isPush","isFirstNavigation","removeHistoryListener","setupListeners","_from","readyHandlers","errorListeners","ready","isReady","scrollBehavior","started","reactiveRoute","recordFrom","recordTo","StartView","ConsumptionView","FoodView","HousingView","ResultsView","TransportView","WasteView","CalculationInfo","ActionsView","ServiceDescription","AccessibilityNotice","PrivacyNotice","TermsOfUse","NotFound","_sfc_main$5","isOldIE","disabled","_sfc_main$4","_sfc_main$3","pow","numberValue","exponential","valueToPosition","_sfc_main$2","calcInfoHash","_sfc_main$1","detailsContentKey","_sfc_main","titleFor","GlobalComponents","__vite_glob_0_0","__vite_glob_0_1","__vite_glob_0_2","__vite_glob_0_3","__vite_glob_0_4","__vite_glob_0_5","__vite_glob_0_6","normalizeOptions","factoryOptions","pick","baseState","substate","pathArray","parsePersistence","beforeRestore","afterRestore","serializer","debug","hydrateStore","fromStorage","persistState","toStore","createPersistedState","auto","persist","original_store","persistences","persistence","runHooks","_mutation","src_default","piniaPluginPersistedstate","App"],"mappings":"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Cb,UAAW,WACX,UAAW,oBACX,SAAU,UACV,sBAAuB,2GACvB,cAAe,6BACf,aAAc,cACd,wBAAyB,qBACzB,oBACE,yKACF,cAAe,gBACf,iBACE,0GACF,mBACE,6EACF,WAAY,wBACZ,yBACE,qLACF,4BAA6B,mCAC7B,qBAAsB,2BACtB,mBAAoB,wCACpB,SAAU,UACV,gBAAiB,qJACjB,oBAAqB,mBACrB,oBAAqB,cACrB,eAAgB,MAChB,gBAAiB,0BACjB,mBAAoB,gBACpB,yBAA0B,kCAC1B,gBAAiB,qBACjB,mBACE,2EACF,sBAAuB,+CACvB,WAAY,eACZ,gBAAiB,uBACjB,iBAAkB,uBAClB,WAAY,eACZ,iBAAkB,iBAClB,eAAgB,OAChB,cAAe,iBACf,2BACE,uJACF,qCACE,8JACF,+CACE,iLACF,uCACE,yMACF,sCACE,+LACF,iCACE,+LACF,4CACE,oJACF,wCACE,qMACF,wBACE,2NACF,+BACE,4FACF,6BACE,yRACF,4BACE,4MACF,0BACE,iFACF,uBACE,kZACF,qBAAsB,2BACtB,sBAAuB,kDACvB,cAAe,oBACf,yBACE,sDACF,iBACE,mHACF,iBAAkB,oBAClB,eAAgB,mCAChB,mBAAoB,wDACpB,WAAY,8CACZ,wBACE,wDACF,2BACE,kEACF,kBAAmB,+BACnB,cAAe,OACf,8BACE,iRACF,qBACE,wOACF,uBAAwB,qDACxB,yBACE,qDACF,gBAAiB,qBACjB,aAAc,cACd,mBAAoB,qBACpB,gBAAiB,cACjB,iCACE,kFACF,gCACE,mKACF,8BAA+B,0BAC/B,yBACE,8HACF,uBACE,mHACF,2BAA4B,eAC5B,kCACE,sFACF,2BAA4B,iDAC5B,sCACE,oEACF,8BACE,sEACF,qBAAsB,0CACtB,wBACE,iEACF,sBACE,iJACF,kBAAmB,6BACnB,gBACE,6FACF,eAAgB,0BAChB,eAAgB,iBAChB,eAAgB,+BAChB,uBACE,wGACF,sBACE,iOACF,oBACE,6IACF,qBACE,qXACF,0BAA2B,qTAC3B,0BACE,mRACF,iBAAkB,kDAClB,oBACE,6DACF,sBAAuB,uCACvB,y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ACZ,iBAAkB,cAClB,eAAgB,aAChB,cAAe,WACf,2BACE,+KACF,qCACE,mJACF,+CACE,6KACF,uCACE,8LACF,sCACE,wRACF,iCACE,yRACF,4CACE,8HACF,wCACE,4KACF,wBACE,mLACF,+BACE,uHACF,6BACE,uLACF,4BACE,oKACF,0BACE,4FACF,uBACE,6aACF,qBAAsB,2BACtB,sBAAuB,gCACvB,cAAe,eACf,yBACE,mEACF,iBACE,mHACF,iBAAkB,mBAClB,eAAgB,wCAChB,mBACE,2EACF,WAAY,yCACZ,wBAAyB,6BACzB,2BACE,kEACF,kBAAmB,wBACnB,cAAe,OACf,8BACE,uTACF,qBACE,sPACF,uBAAwB,qCACxB,yBAA0B,yCAC1B,gBAAiB,sBACjB,aAAc,WACd,mBAAoB,eACpB,gBAAiB,oBACjB,iCACE,4FACF,gCACE,wKACF,8BAA+B,cAC/B,yBACE,8HACF,uBACE,mEACF,2BAA4B,qBAC5B,kCACE,wFACF,2BAA4B,wBAC5B,sCACE,iGACF,8BACE,sEACF,qBAAsB,oBACtB,wBACE,iEACF,sBACE,4PACF,kBAAmB,kCACnB,gBAAiB,mDACjB,eAAgB,gBAChB,eAAgB,8BAChB,eAAgB,oBAChB,uBACE,sHACF,sBACE,4MACF,oBACE,2HACF,qBACE,qSACF,0BACE,yRACF,0BACE,gPACF,iBAAkB,8CAClB,oBACE,8DACF,sBAAuB,mCACvB,yBACE,8DACF,gBAAiB,wCACjB,mBACE,oEACF,kBAAmB,6CACnB,qBACE,8EACJ,ECpJMA,GAAyB,CAC7B,OAAQ,aACR,OAAQ,WACR,YACE,gQACF,2BAA4B,mCAC5B,4BAA6B,yBAC7B,eAAgB,oBAChB,eAAgB,iBAChB,gBACE,6JACF,OAAQ,gBACV,ECbMA,GAA8B,CAClC,MAAO,QACP,SAAU,sBACV,MAAO,OACP,SAAU,WACV,WAAY,WACZ,OAAQ,UACR,iBAAkB,cACpB,ECPMA,GAAiC,CACrC,sBAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA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YAChB,iBAAkB,oBAClB,YAAa,kBACb,OAAQ,MACV,ECPMA,GAA0B,CAC9B,kBAAmB,iBACnB,cAAe,kBACf,iBAAkB,2BAClB,OAAQ,SACR,WAAY,KACZ,YAAa,gBACb,oBAAqB,kBACrB,cAAe,UACf,UAAW,WACX,YAAa,MACb,kBAAmB,yBACnB,cAAe,0CACf,kBAAmB,sBACnB,WAAY,IACZ,UAAW,QACX,UAAW,KACX,MAAO,YACP,mBAAoB,yBACpB,uBACE,0DACF,YAAa,WACb,UAAW,QACX,QAAS,YACT,kCACE,kEACF,sBAAuB,oCACvB,iBACE,+DACF,eAAgB,sBAChB,qBACE,+HACF,aAAc,KAChB,EClCMA,GAA0B,CAC9B,WAAY,YACd,ECDMA,GAA2B,CAC/B,YAAa,gCACb,UAAW,UACX,UAAW,eACX,SAAU,QACV,sBACE,qFACF,cAAe,gCACf,aAAc,eACd,wBAAyB,qBACzB,oBACE,wLACF,cAAe,iBACf,iBACE,0GACF,mBAAoB,oDACpB,WAAY,oBACZ,yBACE,qOACF,4BAA6B,0BAC7B,qBAAsB,mBACtB,mBAAoB,oDACpB,SAAU,cACV,gBACE,mMACF,oBAAqB,aACrB,oBAAqB,eACrB,eAAgB,OAChB,gBAAiB,gBACjB,mBAAoB,gBACpB,yBAA0B,oBAC1B,gBAAiB,cACjB,mBAAoB,8CACpB,sBAAuB,+CACvB,WAAY,MACZ,gBAAiB,SACjB,iBAAkB,WAClB,WAAY,aACZ,iBAAkB,cAClB,eAAgB,iBAChB,cAAe,SACf,2BACE,mNACF,qCACE,qKACF,+CACE,6KACF,uCACE,iMACF,sCACE,0RACF,iCACE,+QACF,4CACE,sIACF,wCACE,8LACF,wBACE,+LACF,+BACE,yHACF,6BACE,8MACF,4BACE,0KACF,0BACE,8FACF,uBACE,4cACF,qBAAsB,2BACtB,sBAAuB,+BACvB,cAAe,oBACf,yBACE,qEACF,iBACE,mHACF,iBAAkB,+BAClB,eAAgB,2CAChB,mBACE,yEACF,WAAY,0CACZ,wBAAyB,gBACzB,2BACE,kEACF,kBAAmB,sBACnB,cAAe,SACf,8BACE,8WACF,q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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,164,165,166,167,182,185,205,214]} \ No newline at end of file diff --git a/pr-preview/pr-19/assets/logo-CXWBCEIw.png b/pr-preview/pr-19/assets/logo-CXWBCEIw.png new file mode 100644 index 0000000..dabf171 Binary files /dev/null and b/pr-preview/pr-19/assets/logo-CXWBCEIw.png differ diff --git a/pr-preview/pr-19/assets/logo_color-WNFCb0cS.png b/pr-preview/pr-19/assets/logo_color-WNFCb0cS.png new file mode 100644 index 0000000..e18c26c Binary files /dev/null and b/pr-preview/pr-19/assets/logo_color-WNFCb0cS.png differ diff --git a/pr-preview/pr-19/index.html b/pr-preview/pr-19/index.html new file mode 100644 index 0000000..11ca39c --- /dev/null +++ b/pr-preview/pr-19/index.html @@ -0,0 +1,42 @@ + + + + + + + Ilmastodieetti + + + + + + + + + + + + + + + +
+ +