commit 1b698c75f739983bbbb40e21bf9f686ba78eb474 Author: edi Date: Thu Jan 25 17:36:49 2024 +0100 neu diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..3d6deb2 --- /dev/null +++ b/404.html @@ -0,0 +1,214 @@ + + + + + + + + + + + + + +404 Page not found | vanilla.parts Doku + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+

Not found

+

Bummer! This page doesn't exist. back home.

+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/css/lite-yt-embed.css b/css/lite-yt-embed.css new file mode 100644 index 0000000..9995e27 --- /dev/null +++ b/css/lite-yt-embed.css @@ -0,0 +1,86 @@ +/* Originally obtained from Paul Irish https://github.com/paulirish/lite-youtube-embed */ +lite-youtube { + background-color: #000; + position: relative; + display: block; + contain: content; + background-position: center; + background-size: cover; + cursor: pointer; +} + +/* gradient */ +lite-youtube::before { + content: ''; + display: block; + position: absolute; + top: 0; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==); + background-position: top; + background-repeat: repeat-x; + height: 60px; + padding-bottom: 50px; + width: 100%; + transition: all 0.2s cubic-bezier(0, 0, 0.2, 1); +} + +/* responsive iframe with a 16:9 aspect ratio +thanks https://css-tricks.com/responsive-iframes/ +*/ +lite-youtube::after { + content: ""; + display: block; + padding-bottom: calc(100% / (16 / 9)); +} +lite-youtube > iframe { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + border: 0; +} + +/* play button */ +lite-youtube > .lty-playbtn { + display: block; + width: 68px; + height: 48px; + position: absolute; + cursor: pointer; + transform: translate3d(-50%, -50%, 0); + top: 50%; + left: 50%; + z-index: 1; + background-color: transparent; + /* YT's actual play button svg */ + background-image: url('data:image/svg+xml;utf8,'); + filter: grayscale(100%); + transition: filter .1s cubic-bezier(0, 0, 0.2, 1); + border: none; +} + +lite-youtube:hover > .lty-playbtn, +lite-youtube .lty-playbtn:focus { + filter: none; +} + +/* Post-click styles */ +lite-youtube.lyt-activated { + cursor: unset; +} +lite-youtube.lyt-activated::before, +lite-youtube.lyt-activated > .lty-playbtn { + opacity: 0; + pointer-events: none; +} + +.lyt-visually-hidden { + clip: rect(0 0 0 0); + clip-path: inset(50%); + height: 1px; + overflow: hidden; + position: absolute; + white-space: nowrap; + width: 1px; +} diff --git a/css/styles.30aa00213e8dd1fc1afe4a4ef52ea7fe88b1fa733c48684b3995c69daea9d759c8aa3c351d330c9aa78571e2697be9ad5a9eb7f2166acd38ca218924b287a813.css b/css/styles.30aa00213e8dd1fc1afe4a4ef52ea7fe88b1fa733c48684b3995c69daea9d759c8aa3c351d330c9aa78571e2697be9ad5a9eb7f2166acd38ca218924b287a813.css new file mode 100644 index 0000000..c6c9573 --- /dev/null +++ b/css/styles.30aa00213e8dd1fc1afe4a4ef52ea7fe88b1fa733c48684b3995c69daea9d759c8aa3c351d330c9aa78571e2697be9ad5a9eb7f2166acd38ca218924b287a813.css @@ -0,0 +1,4 @@ +html{--info-icon: url('https://doc.vanilla.parts/icons/info.svg');--sun-icon: url('https://doc.vanilla.parts/icons/sun.svg');--moon-icon: url('https://doc.vanilla.parts/icons/moon.svg');--next-icon: url('https://doc.vanilla.parts/icons/next.svg')}html{--color-mode: "light";--light: #fff;--dark: rgb(28,28,30);--haze: #f2f5f7;--bubble: rgb(36,36,38);--accent: var(--haze);--bg: var(--light);--code-bg: var(--accent);--overlay: var(--light);--text: #141010;--font: 'Metropolis', sans-serif;--border-color: #eee;--inline-color: darkgoldenrod;--theme: rgb(52,199,89);--ease: ease;--scroll-thumb: rgba(0,0,0,.06);--search-border-color: transparent;--next-icon-path: url(../images/icons/double-arrow.svg);--never-icon-path: url(../images/sitting.svg)}html[data-mode="dark"]{--color-mode: "dark";--theme: rgb(48,209,88);--bg: var(--dark);--text: #eee;--text-light: #fff;--accent: var(--bubble);--overlay: var(--bubble);--border-color: transparent;--scroll-thumb: rgba(255,255,255,.06);--search-bg: var(--accent);--search-border-color: var(--accent)}html[data-mode="dark"] *{box-shadow:none !important}html[data-mode="dark"] .color_choice::after{background-image:var(--moon-icon)}@media (prefers-color-scheme: dark){html[data-mode="auto"]{--color-mode: "dark";--theme: rgb(48,209,88);--bg: var(--dark);--text: #eee;--text-light: #fff;--accent: var(--bubble);--overlay: var(--bubble);--border-color: transparent;--scroll-thumb: rgba(255,255,255,.06);--search-bg: var(--accent);--search-border-color: var(--accent)}html[data-mode="auto"] *{box-shadow:none !important}}blockquote+.highlight_wrap{margin-top:2.25rem}*{box-sizing:border-box;margin:0;padding:0;scrollbar-color:var(--scroll-thumb) transparent;scrollbar-width:thin}::-webkit-scrollbar{width:.5rem}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:.25rem}body,html{scroll-behavior:smooth;scroll-padding-top:1rem;font-kerning:normal;-webkit-text-size-adjust:100%;font-size:18px}@keyframes flash{0%{opacity:0}75%{opacity:0}100%{opacity:1}}body{font-family:var(--font);background-color:var(--bg);color:var(--text);line-height:1.5;margin:0 auto;position:relative;font-kerning:normal;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-overflow-scrolling:touch;max-width:1440px;animation:0.67s flash ease-in}@media screen and (min-width: 1640px){body{max-width:1600px}}a{text-decoration:none;color:inherit}p{padding:0.75rem 0}p:empty{display:none}li,li p{padding:0.25rem 0}blockquote{opacity:0.8;padding:1rem;position:relative;quotes:"“" "”" "‘" "’";margin:0.75rem 0;display:flex;flex-flow:row wrap;background-repeat:no-repeat;background-size:5rem;background-position:50% 50%;position:relative;background-color:var(--accent);border-radius:0.25rem;overflow:hidden}blockquote::before{content:"";padding:2px;position:absolute;top:0;bottom:0;left:0;background:var(--theme)}blockquote p{padding-left:0.5rem !important;font-size:1.1rem !important;width:100%;font-style:italic}h1,h2,h3,h4,h5{font-family:inherit;font-weight:500;padding:0.33rem 0;color:inherit;line-height:1.35}h1{font-size:200%}h2{font-size:175%}h3{font-size:150%}h4{font-size:125%}h5{font-size:120%}h6{font-size:100%}img,svg,figure{max-width:100%;vertical-align:middle}img{height:auto;margin:1rem auto;padding:0}main{flex:1}@media screen and (min-width: 42rem){main{padding-bottom:45px}}ol,ul{list-style:none}b,strong{font-weight:500}hr{border:none;padding:1px;background:var(--border-color);margin:1rem 0}.aside{overflow-y:auto;background:var(--bg);border-radius:0.25rem;align-self:start;max-height:80vh;position:sticky;z-index:9999;top:0;padding:1rem 0}@media screen and (min-width: 42rem){.aside{padding:1rem 1.5rem;top:2.5rem;margin-top:1rem;padding-top:0}}.aside_inner{height:0;overflow:hidden}@media screen and (min-width: 42rem){.aside_inner{height:initial}}.aside.show .aside_inner{height:initial;overflow:visible}.aside_toggle{padding:0.5rem 1.5rem;border-radius:0.5rem;background:var(--accent);transform:translateY(-1rem);display:flex;justify-content:space-between}@media screen and (min-width: 42rem){.aside_toggle{display:none}}.aside h3{position:relative}.aside ul{padding:0;list-style:none}th,td{padding:0.5rem;font-weight:400 !important}th:not(:first-child),td:not(:first-child){padding-left:1.5rem}thead{background:var(--theme);color:var(--light);font-weight:400;text-align:left}tbody tr:nth-child(even){background-color:var(--accent) !important;box-shadow:0 1rem 0.75rem -0.75rem rgba(0,0,0,0.07)}table{margin:1.5rem 0;width:100%}.main{flex:1}@media screen and (max-width: 667px){.main>.grid-auto{grid-gap:0}}.page-home h1{font-weight:300}.content ul,.content ol{padding-left:1.1rem}.content ul{list-style:initial}.content ol{list-style:decimal}.content a:not(.button){color:var(--theme)}::placeholder{font-size:1rem}svg.icon_sort{fill:var(--light);height:0.7rem;width:0.7rem;display:inline-block;margin-left:auto;vertical-align:middle}canvas{margin:2.5rem auto 0 auto;max-width:450px !important;max-height:450px !important}footer{min-height:150px}del{opacity:0.5}#toTop{background:transparent;outline:0.5rem solid transparent;height:2rem;width:2rem;cursor:pointer;padding:0.5rem;display:flex;align-items:center;justify-content:center;position:fixed;right:0;bottom:2.25rem;transform:rotate(45deg) translate(5rem);opacity:0;transition:opacity 0.5s var(--ease),transform 0.25s var(--ease);z-index:5}#toTop.active{right:1.5rem;opacity:1;transform:rotate(45deg) translate(0)}#toTop::after,#toTop::before{position:absolute;display:block;width:1rem;height:1rem;content:"";border-left:1px solid var(--text);border-top:1px solid var(--text)}#toTop::after{width:0.67rem;height:0.67rem;transform:translate(0.1rem, 0.1rem)}#searchpage{padding-top:5rem}.nav{display:grid;grid-gap:1rem;padding:0 1.5rem !important;align-items:center;background-color:var(--bg)}@media screen and (min-width: 992px){.nav{grid-template-columns:10rem 1fr}}.nav_brand{position:relative}.nav_brand picture,.nav_brand img{max-width:10rem}.nav_header{position:absolute;top:0;left:0;width:100%;background-color:var(--bg);z-index:999999}.nav_toggle{position:absolute;top:0;bottom:0;width:3rem;display:flex;align-items:center;justify-content:flex-end;text-align:center;right:0;color:var(--text)}@media screen and (min-width: 992px){.nav_toggle{display:none}}.nav_body{display:flex;flex-direction:column;background:var(--accent);position:fixed;left:0;top:0;bottom:0;height:100vh;transition:transform 0.25s var(--ease);transform:translateX(-101vw)}@media screen and (min-width: 992px){.nav_body{transform:translateX(0);position:relative;height:initial;justify-content:flex-end;background:transparent;flex-direction:row}}.nav.show .nav_body{transform:translateX(0);box-shadow:0 1rem 4rem rgba(0,0,0,0.1);background:var(--bg);overflow-y:auto}.nav.show .nav_body li:first-child{margin:1.5rem 1rem 0.5rem 1rem}.nav-link{display:inline-flex;padding:0.5rem 1rem}.nav-item{display:grid;align-items:center}@media screen and (min-width: 992px){.nav-item .search{margin-right:1.5rem}}.nav_repo picture,.nav_repo img{max-width:1.25rem}.section_title{font-size:1.25rem}.section_link{font-size:1rem;font-weight:400}.sidebar-link{display:grid;padding:0.2rem 0}.toc{border-left:2px solid var(--theme);padding:0 1rem;height:0;overflow:hidden;filter:opacity(0.87)}.toc_item{font-size:0.9rem}.toc_active{height:initial}.search{flex:1;display:flex;justify-content:flex-end;position:relative}.search_field{padding:0.5rem 1.5rem 0.5rem 2.5rem;border-radius:1.5rem;width:13.5rem;outline:none;border:1px solid var(--search-border-color);background:transparent;color:var(--text);box-shadow:0 1rem 4rem rgba(0,0,0,0.17);font-size:1rem}.search_field:hover,.search_field:focus{background:var(--search-bg)}.search_label{width:1rem;height:1rem;position:absolute;left:0.33rem;top:0.25rem;opacity:0.33}.search_label svg{width:100%;height:100%;fill:var(--text)}.search_result{padding:0.5rem 1rem;display:block}.search_result:not(.passive):hover{background-color:var(--theme);color:var(--light)}.search_result.passive{display:grid}.search_results{width:13.5rem;background-color:var(--overlay);border-radius:0 0 0.25rem 0.25rem;box-shadow:0 1rem 4rem rgba(0,0,0,0.17);position:absolute;top:125%;display:grid;overflow:hidden;z-index:5}.search_results:empty{display:none}.search_title{padding:0.5rem 1rem 0.5rem 1rem;background:var(--theme);color:var(--light);font-size:0.9rem;opacity:0.87;text-transform:uppercase}.button{background-color:var(--theme);color:var(--light);border-radius:0.25rem;display:inline-block;padding:0.75rem 1.25rem;text-align:center}.button:hover{opacity:0.84}.button+.button{background-color:var(--haze);color:var(--dark)}.button_grid{display:grid;max-width:15rem;grid-gap:1rem;grid-template-columns:repeat(auto-fit, minmax(12rem, 1fr))}@media screen and (min-width: 557px){.button_grid{max-width:25rem}}.video{overflow:hidden;padding-bottom:56.25%;position:relative;height:0;margin:1.5rem 0;border-radius:0.6rem;background-color:var(--bg);box-shadow:0 1rem 2rem rgba(0,0,0,0.17)}.video iframe{left:0;top:0;height:100%;width:100%;border:none;position:absolute;transform:scale(1.02)}.icon{width:1.1rem;height:1.1rem;display:inline-flex;justify-content:center;align-items:center;margin:0 0.5rem}.link{opacity:0;position:relative}.link_owner:hover .link{opacity:1}.link_yank{opacity:1}.link_yanked{position:absolute;right:-2.2rem;top:-2rem;background-color:var(--theme);color:var(--light);width:7rem;padding:0.25rem 0.5rem;font-size:0.9rem;border-radius:1rem;text-align:center}.link_yanked::after{position:absolute;top:1rem;content:"";border-color:var(--theme) transparent;border-style:solid;border-width:1rem 1rem 0 1rem;height:0;width:0;transform-origin:50% 50%;transform:rotate(145deg);right:0.45rem}.gallery{width:100%;column-count:3;column-gap:1rem}@media screen and (max-width: 667px){.gallery{column-count:2}}.gallery_item{background-color:transparent;margin:0 0 1rem}.gallery_image{margin:0 auto}.pager{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;margin:2rem 0;max-width:100vw;overflow:hidden}.pager svg{filter:opacity(0.75);width:1.25rem;height:1rem;transform-origin:50% 50%}.pager_lean{justify-content:flex-end}.pager_label{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pager_link{padding:0.5rem 1rem;border-radius:0.25rem;width:12.5rem;max-width:40vw;position:relative;display:flex;align-items:center;text-align:center;justify-content:center}.pager_link::before,.pager_link::after{background-image:var(--next-icon);height:0.8rem;width:0.8rem;background-size:100%;background-repeat:no-repeat;transform-origin:50% 50%}.pager_item{display:flex;flex-direction:column;flex:1;max-width:48%}.pager_item.prev{align-items:flex-start}.pager_item.next{align-items:flex-end}.pager_item.next::after{content:""}.pager_item.prev .pager_link::before{content:"";transform:rotate(180deg);margin-right:0.67rem}.pager_item.next .pager_link::after{content:"";margin-left:0.67rem}.pager_item.next .pager_link{grid-template-columns:1fr 1.5rem}.pager_meta{margin:0.5rem 0}.color_mode{height:1rem;margin-left:1.5rem}.color_choice{outline:none;border:none;-webkit-appearance:none;height:1rem;position:relative;width:1rem;border-radius:1rem;cursor:pointer;z-index:2;right:0;filter:contrast(0.8)}.color_choice::after{content:"";top:0.1rem;bottom:0;left:0;position:absolute;height:0.8rem;background:var(--accent);width:0.8rem;border-radius:0.25rem;z-index:3;transform:scale(1.67);transform-origin:50% 50%;transition:transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);will-change:transform;background-image:var(--sun-icon);background-size:60%;background-repeat:no-repeat;background-position:center}.color_icon{height:1rem;width:1rem;margin:0;z-index:4;position:absolute;transform:translateY(-50%);transition:transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);right:3.5rem}.tip{padding:1.5rem 1rem 1.5rem 1.5rem;margin:1.5rem 0;border-left:0.2rem solid var(--theme);position:relative;background:var(--accent)}.tip blockquote{padding:0;margin:0;border:none}.tip blockquote::before{display:none}.tip p:first-child,.tip p~p{padding-top:0}.tip p:last-child{padding-bottom:0}.tip_warning{--theme: var(--inline-color)}.tip_warning::before{transform:rotate(180deg)}.tip::before{content:"";position:absolute;left:-0.85rem;top:1.5rem;z-index:3;padding:0.75rem;transform-origin:50% 50%;border-radius:50%;background-color:var(--theme);background-image:var(--info-icon);background-size:12%;background-position:50% 50%;background-repeat:no-repeat}.tabs{display:flex;flex-wrap:wrap;margin:2rem 0 2rem 0;position:relative}.tabs.tabs-left{justify-content:flex-start}.tabs.tabs-left label.tab-label{margin-right:0.5rem}.tabs.tabs-left .tab-content{border-radius:0px 6px 6px 6px}.tabs.tabs-right{justify-content:flex-end}.tabs.tabs-right label.tab-label{margin-left:0.5rem}.tabs.tabs-right .tab-content{border-radius:6px 6px 6px 6px}.tabs input.tab-input{display:none}.tabs label.tab-label{background-color:var(--accent) transparent;border-color:var(--theme);border-radius:6px 6px 0px 0px;border-style:solid;border-bottom-style:hidden;border-width:2px;cursor:pointer;display:inline-block;order:1;padding:0.3rem 0.6rem;position:relative;top:2px;user-select:none}.tabs input.tab-input:checked+label.tab-label{background-color:var(--accent);border-color:var(--theme)}.tabs .tab-content{background-color:var(--accent);border-color:var(--theme);border-style:solid;border-width:2px;display:none;order:2;padding:1rem;width:100%}html[data-mode="dark"] .mermaid{--theme: darkgoldenrod;background-color:transparent !important;margin-bottom:2.5rem}html[data-mode="dark"] .mermaid svg{margin:0 auto;display:block}.post{margin:0 auto;width:100%}.post p,.post h1,.post h2,.post h3,.post h4,.post h5,.post h6,.post blockquote,.post ol,.post ul,.post .highlight_wrap,.post hr{max-width:840px !important;margin-left:auto;margin-right:auto}@media screen and (min-width: 1025px){.post img:not(.icon){display:block;width:100vw;max-width:1024px;margin-left:auto;margin-right:auto}}.post h2,.post h3,.post h4{margin:0.5rem auto;text-align:left;padding:5px 0 0 0}.post p{padding-bottom:0.5rem;padding-top:0.5rem;font-size:1.05rem}.posts{display:flex;justify-content:space-between;flex-flow:row wrap;width:100%;align-items:stretch}.posts:not(.aside){padding:0 30px}.post ol{padding:1rem 1.25rem}.post_body img{width:100%;max-width:100%}.post_inner a{color:var(--theme);transition:all 0.3s}.post_inner a:hover{opacity:0.8;text-decoration:underline}.post_inner img:not(.icon){margin-bottom:2rem;box-shadow:0 1.5rem 1rem -1rem rgba(0,0,0,0.25)}.post_inner img:not(.icon)~h1,.post_inner img:not(.icon)~h2,.post_inner img:not(.icon)~h3,.post_inner img:not(.icon)~h4{margin-top:0;padding-top:0}.post .icon{margin-top:0;margin-bottom:0}.post_date{color:var(--theme)}.post_copy{opacity:0;transition:opacity 0.3s ease-out}.post_item{box-shadow:0 0 3rem rgba(0,0,0,0.17);margin:1.25rem 0;border-radius:10px;overflow:hidden;width:100%}.post_item:hover{box-shadow:0 0 5rem rgba(0,0,0,0.255)}@media screen and (min-width: 667px){.post_item{width:47%}}.post_item:hover .post_copy{opacity:1}.post_link{padding:2.5px 0;font-size:1.25em;margin:2.5px 0;text-align:left}.post_meta{overflow:hidden;opacity:0.8;font-size:0.84rem;font-weight:500;display:inline-grid;grid-template-columns:auto 1fr;background-color:var(--light);padding:0;align-items:center;border-radius:0.3rem;color:var(--dark);text-transform:capitalize}.post_meta a:hover{color:var(--theme);text-decoration:underline;opacity:0.9}.post_extra{display:flex;justify-content:flex-end}.post_tag{font-size:0.75rem !important;font-weight:500;background:var(--theme);color:var(--light);padding:0.25rem 0.67rem !important;text-transform:uppercase;display:inline-flex;border-radius:5px}.post_title{margin:1.75rem 0 1rem}.post_time{background:var(--theme);display:inline-grid;padding:0.2rem 0.75rem;color:var(--light)}.post_thumbnail{width:100%;margin:0}.post_nav{padding:3rem 1.5rem;display:grid;margin:2.25rem auto 1rem;text-align:center;color:var(--theme);text-transform:uppercase}.post_nav,.post_nav span{position:relative;z-index:3}.post_nav::before{content:"";position:absolute;background:var(--accent);top:0;left:0;bottom:0;right:0;z-index:1;border-radius:1rem}.post_next{display:inline-grid;margin:0 auto;width:10rem;grid-template-columns:1fr 1.33rem}.post_next::after{content:"";background-image:var(--next-icon-path);background-repeat:repeat no-repeat;background-size:0.8rem;background-position:center right}.excerpt{padding:0 10px 1.5rem 10px;position:relative;z-index:1}.excerpt_meta{display:flex;justify-content:space-between;align-items:center;transform:translateY(-2.5rem);position:relative;z-index:5}.archive_item{display:grid;padding:1.5rem 0}.archive_title{margin:0}.article{box-shadow:0 0.5rem 2rem rgba(0,0,0,0.12);overflow:hidden;border-radius:0.5rem}.article_title{margin:0}.article_excerpt{transition:height 0.5s, opacity 0.5s}.article_excerpt:not(.visible){height:0;opacity:0}.article_excerpt,.article_meta{transform-origin:bottom}.article_meta{padding:10px 1.25rem 1.25rem;color:var(--text);position:relative;z-index:2;transition:margin-top 0.5s;background:var(--bg)}.article_meta.center_y{transform-origin:center;transition:transform 0.5s;display:flex;flex-direction:column;justify-content:center}@media screen and (min-width: 42rem){.article_meta.center_y{left:-2rem}}.article_thumb{display:grid;position:relative;z-index:0;overflow:hidden;height:15rem;background-size:cover;background-position:50% 50%}@media screen and (min-width: 35rem){.article_thumb{height:22.5rem}}.article_thumb img{transition:transform 0.5s, opacity 0.5s}.article_thumb::after{content:'';position:absolute;top:0;left:0;width:100%;bottom:0;z-index:1;background:var(--bg);opacity:0;transition:opacity 0.1s ease-out}.article_showcase .article_thumb{height:15rem}.article_showcase .article_meta{padding-top:1.5rem}.article:hover .article_thumb img{transform:scale(1.1)}.article:hover .article_thumb::after{transition:opacity 0.1s ease-out;opacity:0.5}.article:hover .article_excerpt:not(.visible){height:75px;opacity:1}.article:hover .article_meta:not(.center_y){margin-top:-75px}@media screen and (min-width: 769px){.article:hover .article_meta.center_y{transform:translateX(-3rem)}}.article:hover{box-shadow:0 1.5rem 6rem rgba(0,0,0,0.17)}.article:hover a{color:initial !important}.article_hidden{display:none}.wrap{max-width:1240px}@media screen and (min-width: 1640px){.wrap{max-width:1600px}}.wrap,.wrap{width:100%;padding:0 25px;margin:0 auto}.pt-1{padding-top:1.5rem}.pb-1{padding-bottom:1.5rem}.mt-1{margin-top:1.5rem}.mb-1{margin-bottom:1.5rem}.pt-2{padding-top:3rem}.pb-2{padding-bottom:3rem}.mt-2{margin-top:3rem}.mb-2{margin-bottom:3rem}.pt-3{padding-top:4.5rem}.pb-3{padding-bottom:4.5rem}.mt-3{margin-top:4.5rem}.mb-3{margin-bottom:4.5rem}.pt-4{padding-top:6rem}.pb-4{padding-bottom:6rem}.mt-4{margin-top:6rem}.mb-4{margin-bottom:6rem}.pt-5{padding-top:7.5rem}.pb-5{padding-bottom:7.5rem}.mt-5{margin-top:7.5rem}.mb-5{margin-bottom:7.5rem}.pt-6{padding-top:9rem}.pb-6{padding-bottom:9rem}.mt-6{margin-top:9rem}.mb-6{margin-bottom:9rem}.pt-7{padding-top:10.5rem}.pb-7{padding-bottom:10.5rem}.mt-7{margin-top:10.5rem}.mb-7{margin-bottom:10.5rem}.pt-8{padding-top:12rem}.pb-8{padding-bottom:12rem}.mt-8{margin-top:12rem}.mb-8{margin-bottom:12rem}.grid-2,.grid-3,.grid-4,.grid-auto,.grid-reverse{display:grid;grid-template-columns:1fr}[class*='grid-']{grid-gap:2rem}@media screen and (min-width: 42rem){.grid-auto{grid-template-columns:2fr 5fr}.grid-reverse{grid-template-columns:3fr 1fr}.grid-2{grid-template-columns:repeat(2, 1fr)}.grid-3{grid-template-columns:repeat(auto-fit, minmax(15rem, 1fr))}.grid-4{grid-template-columns:repeat(auto-fit, minmax(12rem, 1fr))}}.active{color:var(--theme)}.is{background:var(--theme);color:var(--light)}.toggle svg{fill:var(--text);display:inline-block;transform-origin:50% 50%;transform:scale(1.2);cursor:pointer;margin:0}.scrollable{width:100%;overflow-x:hidden;max-width:calc(100vw - 48px)}@media screen and (min-width: 768px){.scrollable{max-width:100%}}.scrollable:hover{overflow-x:auto}.chart{display:grid;grid-gap:1.5rem;max-width:98vw !important;max-height:98vw !important}.link{display:inline-flex;align-items:center;width:2.5rem;margin:0 0.25rem;padding:0 0.25rem;opacity:0;transition:opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1)}.link svg,.link img{width:1.5rem;height:1.5rem;fill:var(--theme)}.link_owner:hover .link{opacity:0.9}.copy{cursor:pointer}.standardize-input{appearance:none;-webkit-appearance:none}@keyframes pulse{0%{opacity:1}75%{opacity:0.1}100%{opacity:1}}code{font-size:15px;font-weight:400;overflow-y:hidden;display:block;font-family:'Monaco', monospace;word-break:break-all}code.noClass{color:var(--inline-color);display:inline;line-break:anywhere}.windows .highlight{overflow-x:hidden}.windows .highlight:hover{overflow-x:auto}.highlight{display:grid;width:100%;border-radius:0 0.2rem 0.2rem 0;overflow-x:auto;position:relative}.highlight_wrap{display:grid;background:var(--code-bg) !important;border-radius:0.5rem;position:relative;padding:0 1rem;margin:1.5rem auto 1rem auto}.highlight_wrap .highlight_wrap{margin:0;padding:0}.highlight_wrap+.highlight_wrap{margin-top:2.25rem}.highlight_wrap:hover>div{opacity:1}.highlight_wrap .lang{position:absolute;top:0;right:0;text-align:right;width:7.5rem;padding:0.5rem 1rem;font-style:italic;text-transform:uppercase;font-size:67%;opacity:0.5;color:var(--text)}.highlight_wrap:hover .lang{opacity:0.1}.highlight .highlight{margin:0}.highlight pre{color:var(--text) !important;border-radius:4px;font-family:'Monaco', monospace;padding-top:1.5rem;padding-bottom:2rem}.highlight table{display:grid;max-width:100%;margin-bottom:0;background:transparent}.highlight td,.highlight th{padding:0}.highlight .lntd{width:100%;border:none}.highlight .lntd:first-child,.highlight .lntd:first-child pre{width:2.5rem !important;padding-left:0;padding-right:0;color:rgba(255,255,255,0.5);user-select:none}.highlight .lntd:first-child pre{width:100%;display:flex;align-items:center;flex-direction:column}.err{color:#a61717}.hl{width:100%;background:var(--inline-color)}.ln,.lnt{margin-right:0.75rem;padding:0;transition:opacity 0.3s var(--ease)}.ln,.ln span,.lnt,.lnt span{color:var(--text);opacity:0.5;user-select:none}.k,.kc,.kd,.kn,.kp,.kr,.kt,.nt{color:#6ab825;font-weight:500}.kn,.kp{font-weight:400}.nb,.no,.nv{color:#24909d}.nc,.nf,.nn{color:#447fcf}.s,.sa,.sb,.sc,.dl,.sd,.s2,.se,.sh,.si,.sx,.sr,.s1,.ss{color:#ed9d13}.m,.mb,.mf,.mh,.mi,.il,.mo{color:#3677a9}.ow{color:#6ab825;font-weight:500}.c,.ch,.cm,.c1{color:#999;font-style:italic}.cs{color:#e50808;background-color:#520000;font-weight:500}.cp,.cpf{color:#cd2828;font-weight:500}.gd,.gr{color:#d22323}.ge{font-style:italic}.gh,.gu,.nd,.na,.ne{color:#ffa500;font-weight:500}.gi{color:#589819}.go{color:#ccc}.gp{color:#aaa}.gs{font-weight:500}.gt{color:#d22323}.w{color:#666}.hljs-string{color:#6ab825}.hljs-attr{color:#ed9d13}.p .hljs-attr{color:var(--light)}.pre_wrap{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.pre_nolines.ln{display:none}.panel_box{display:inline-flex;perspective:300px;grid-gap:1rem;transition:opacity 0.3s var(--easing);background:var(--code-bg);padding:0.5rem 1.5rem;border-radius:2rem;align-items:center;position:absolute;right:0rem;top:-2.1rem;opacity:0}.panel_icon{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0.1rem;transform-origin:50% 50%;margin:0}.panel_icon.active{animation:pulse 0.1s linear}.panel_icon svg{fill:var(--text);width:1.5rem;height:1.5rem}.panel_hide{display:none}.panel_from{position:absolute;color:var(--theme);bottom:0;font-size:1.5rem;font-weight:500;padding:0.5rem 0;cursor:pointer;letter-spacing:0.1px;z-index:19}.panel_expanded .panel_from{display:none}.shell{position:relative}.shell::before{content:"$";position:relative;margin-right:0.36rem}.line-flex{display:flex}@font-face{font-family:'Metropolis';font-style:normal;font-weight:400;src:local("Metropolis Regular"),local("Metropolis-Regular"),url("../fonts/Metropolis-Regular.woff2") format("woff2"),url("../fonts/Metropolis-Regular.woff") format("woff");font-display:swap}@font-face{font-family:'Metropolis';font-style:normal;font-weight:300;src:local("Metropolis Light"),local("Metropolis-Light"),url("../fonts/Metropolis-Light.woff2") format("woff2"),url("../fonts/Metropolis-Light.woff") format("woff");font-display:swap}@font-face{font-family:'Metropolis';font-style:italic;font-weight:300;src:local("Metropolis Light Italic"),local("Metropolis-LightItalic"),url("../fonts/Metropolis-LightItalic.woff2") format("woff2"),url("../fonts/Metropolis-LightItalic.woff") format("woff");font-display:swap}@font-face{font-family:'Metropolis';font-style:normal;font-weight:500;src:local("Metropolis Medium"),local("Metropolis-Medium"),url("../fonts/Metropolis-Medium.woff2") format("woff2"),url("../fonts/Metropolis-Medium.woff") format("woff");font-display:swap}@font-face{font-family:'Metropolis';font-style:italic;font-weight:500;src:local("Metropolis Medium Italic"),local("Metropolis-MediumItalic"),url("../fonts/Metropolis-MediumItalic.woff2") format("woff2"),url("../fonts/Metropolis-MediumItalic.woff") format("woff");font-display:swap}@font-face{font-family:'Cookie';font-style:normal;font-weight:400;src:local("Cookie-Regular"),url("../fonts/cookie-v10-latin-regular.woff2") format("woff2"),url("../fonts/cookie-v10-latin-regular.woff") format("woff");font-display:swap}@keyframes chartjs-render-animation{0%{opacity:.99}100%{opacity:1}}.chartjs-render-monitor{animation:chartjs-render-animation 1ms}.chartjs-size-monitor,.chartjs-size-monitor-expand,.chartjs-size-monitor-shrink{position:absolute;direction:ltr;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1}.chartjs-size-monitor-expand>div{position:absolute;width:1000000px;height:1000000px;left:0;top:0}.chartjs-size-monitor-shrink>div{position:absolute;width:200%;height:200%;left:0;top:0}html{--ve-light-violett: {} + --ve-heavy-violett: {} }.lastmod{font-size:0.7em;display:inline;color:#999}.section_title{background-color:green;border-radius:8px}html[data-mode="dark"] .mermaid{--theme: darkgoldenrod;background-color:transparent !important;margin-bottom:2.5rem}html[data-mode="dark"] .mermaid svg{margin:0 auto;display:block} + +/*# sourceMappingURL=styles.css.map */ \ No newline at end of file diff --git a/css/styles.css.map b/css/styles.css.map new file mode 100644 index 0000000..192afa2 --- /dev/null +++ b/css/styles.css.map @@ -0,0 +1,37 @@ +{ + "version": 3, + "file": "styles.css", + "sourceRoot": "/home/edi/ve_doku", + "sources": [ + "themes/ve_doku_theme/assets/sass/main.sass", + "themes/ve_doku_theme/assets/sass/_variables.sass", + "themes/ve_doku_theme/assets/sass/_base.sass", + "themes/ve_doku_theme/assets/sass/_nav.sass", + "themes/ve_doku_theme/assets/sass/_components.sass", + "themes/ve_doku_theme/assets/sass/_mermaid.sass", + "themes/ve_doku_theme/assets/sass/_blog.sass", + "themes/ve_doku_theme/assets/sass/_utils.sass", + "themes/ve_doku_theme/assets/sass/_syntax.sass", + "themes/ve_doku_theme/assets/sass/_fonts.sass", + "themes/ve_doku_theme/assets/sass/_chart.sass", + "themes/ve_doku_theme/assets/sass/_custom.sass", + "themes/ve_doku_theme/assets/sass/_mermaid.sass" + ], + "sourcesContent": [ + "\nhtml {\n --info-icon: url('https://doc.vanilla.parts/icons/info.svg');\n --sun-icon: url('https://doc.vanilla.parts/icons/sun.svg');\n --moon-icon: url('https://doc.vanilla.parts/icons/moon.svg');\n --next-icon: url('https://doc.vanilla.parts/icons/next.svg'); }\n@import \"variables\";\n@import \"base\";\n@import \"nav\";\n@import \"components\";\n@import \"mermaid\";\n@import \"blog\";\n@import \"utils\";\n@import \"syntax\";\n@import \"fonts\";\n@import \"chart\";\n@import \"custom\";\n@import \"mermaid\";\n", + "\nhtml {\n --color-mode: \"light\";\n --light: #fff;\n --dark: rgb(28,28,30);\n --haze: #f2f5f7;\n --bubble: rgb(36,36,38);\n --accent: var(--haze);\n --bg: var(--light);\n --code-bg: var(--accent);\n --overlay: var(--light);\n //--text: #111\n --text: #141010;\n --font: 'Metropolis', sans-serif;\n --border-color: #eee;\n --inline-color: darkgoldenrod;\n --theme: rgb(52,199,89);\n --ease: ease;\n --scroll-thumb: rgba(0,0,0,.06);\n --search-border-color: transparent;\n --next-icon-path: url(../images/icons/double-arrow.svg);\n --never-icon-path: url(../images/sitting.svg);\n\n @mixin darkmode {\n --color-mode: \"dark\";\n --theme: rgb(48,209,88);\n --bg: var(--dark);\n --text: #eee;\n --text-light: #fff;\n --accent: var(--bubble);\n --overlay: var(--bubble);\n --border-color: transparent;\n --scroll-thumb: rgba(255,255,255,.06);\n --search-bg: var(--accent);\n --search-border-color: var(--accent);\n * {\n box-shadow: none !important; } }\n\n &[data-mode=\"dark\"] {\n @include darkmode;\n .color {\n &_choice {\n &::after {\n background-image: var(--moon-icon); } } } }\n\n &[data-mode=\"auto\"] {\n @media (prefers-color-scheme: dark) {\n @include darkmode; } } }\n\n%narrow {\n max-width: 750px;\n margin: 0 auto; }\n\nblockquote {\n + .highlight_wrap {\n margin-top: 2.25rem; } }\n", + "* {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n scrollbar-color: var(--scroll-thumb) transparent;\n scrollbar-width: thin; }\n\n::-webkit-scrollbar {\n width: .5rem; }\n\n::-webkit-scrollbar-thumb {\n background: var(--scroll-thumb);\n border-radius: .25rem; }\n\nbody, html {\n scroll-behavior: smooth;\n scroll-padding-top: 1rem;\n font-kerning: normal;\n -webkit-text-size-adjust: 100%;\n font-size: 18px; }\n\n@keyframes flash {\n 0% {\n opacity: 0; }\n 75% {\n opacity: 0; }\n 100% {\n opacity: 1; } }\n\nbody {\n font-family: var(--font);\n background-color: var(--bg);\n color: var(--text);\n line-height: 1.5;\n margin: 0 auto;\n position: relative;\n font-kerning: normal;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n min-height: 100vh;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n -webkit-overflow-scrolling: touch;\n max-width: 1440px;\n animation: 0.67s flash ease-in;\n\n @media screen and (min-width: 1640px) {\n max-width: 1600px; } }\n\na {\n text-decoration: none;\n color: inherit; }\np {\n padding: 0.75rem 0;\n // opacity: 0.9\n &:empty {\n display: none; } }\nli {\n &, p {\n padding: 0.25rem 0; } }\nblockquote {\n opacity: 0.8;\n padding: 1rem;\n position: relative;\n quotes: '\\201C''\\201D''\\2018''\\2019';\n margin: 0.75rem 0;\n display: flex;\n flex-flow: row wrap;\n background-repeat: no-repeat;\n background-size: 5rem;\n background-position: 50% 50%;\n position: relative;\n background-color: var(--accent);\n border-radius: 0.25rem;\n overflow: hidden;\n &::before {\n content: \"\";\n padding: 2px;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n background: var(--theme); }\n\n p {\n padding-left: 0.5rem !important;\n font-size: 1.1rem !important;\n width: 100%;\n font-style: italic; } }\n\nh1,h2,h3,h4,h5 {\n font-family: inherit;\n font-weight: 500;\n padding: 0.33rem 0;\n color: inherit;\n line-height: 1.35; }\n\nh1 {\n font-size: 200%; }\nh2 {\n font-size: 175%; }\nh3 {\n font-size: 150%; }\nh4 {\n font-size: 125%; }\nh5 {\n font-size: 120%; }\nh6 {\n font-size: 100%; }\n\nimg, svg, figure {\n max-width: 100%;\n vertical-align: middle; }\nimg {\n height: auto;\n margin: 1rem auto;\n padding: 0; }\n\nmain {\n flex: 1;\n @media screen and (min-width: 42rem) {\n padding-bottom: 45px; } }\n\nol, ul {\n list-style: none; }\n\nb, strong {\n font-weight: 500; }\n\nhr {\n border: none;\n padding: 1px;\n background: var(--border-color);\n margin: 1rem 0; }\n\n.aside {\n overflow-y: auto;\n background: var(--bg);\n border-radius: 0.25rem;\n align-self: start;\n max-height: 80vh;\n position: sticky;\n z-index: 9999;\n top: 0;\n padding: 1rem 0;\n @media screen and (min-width: 42rem) {\n padding: 1rem 1.5rem;\n top: 2.5rem;\n margin-top: 1rem;\n padding-top: 0; }\n &_inner {\n height: 0;\n overflow: hidden;\n @media screen and (min-width: 42rem) {\n height: initial; } }\n &.show &_inner {\n height: initial;\n overflow: visible; }\n &_toggle {\n padding: 0.5rem 1.5rem;\n border-radius: 0.5rem;\n background: var(--accent);\n transform: translateY(-1rem);\n display: flex;\n justify-content: space-between;\n @media screen and (min-width: 42rem) {\n display: none; } }\n h3 {\n position: relative; }\n ul {\n padding: 0;\n list-style: none; } }\n\nth, td {\n padding: 0.5rem;\n font-weight: 400 !important;\n &:not(:first-child) {\n padding-left: 1.5rem; } }\n\nthead {\n background: var(--theme);\n color: var(--light);\n font-weight: 400;\n text-align: left; }\n\ntbody {\n tr {\n &:nth-child(even) {\n background-color: var(--accent) !important;\n box-shadow: 0 1rem 0.75rem -0.75rem rgba(0,0,0,0.07); } } }\n\ntable {\n margin: 1.5rem 0;\n width: 100%; }\n\n.main {\n flex: 1;\n > .grid-auto {\n @media screen and (max-width: 667px) {\n grid-gap: 0; } } }\n\n.page {\n &-home {\n h1 {\n font-weight: 300; } } }\n\n.content {\n ul, ol {\n padding-left: 1.1rem; }\n ul {\n list-style: initial; }\n ol {\n list-style: decimal; }\n a:not(.button) {\n color: var(--theme); } }\n\n::placeholder {\n font-size: 1rem; }\n\nsvg {\n &.icon_sort {\n fill: var(--light);\n height: 0.7rem;\n width: 0.7rem;\n display: inline-block;\n margin-left: auto;\n vertical-align: middle; } }\n\ncanvas {\n margin: 2.5rem auto 0 auto;\n max-width: 450px !important;\n max-height: 450px !important; }\n\nfooter {\n min-height: 150px; }\n\ndel {\n opacity: 0.5; }\n\n#toTop {\n background: transparent;\n outline: 0.5rem solid transparent;\n height: 2rem;\n width: 2rem;\n cursor: pointer;\n padding: 0.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n right: 0;\n bottom: 2.25rem;\n transform: rotate(45deg) translate(5rem);\n opacity: 0;\n transition: opacity 0.5s var(--ease), transform 0.25s var(--ease);\n z-index: 5;\n &.active {\n right: 1.5rem;\n opacity: 1;\n transform: rotate(45deg) translate(0); }\n &::after, &::before {\n position: absolute;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n border-left: 1px solid var(--text);\n border-top: 1px solid var(--text); }\n &::after {\n width: 0.67rem;\n height: 0.67rem;\n transform: translate(0.1rem, 0.1rem); } }\n\n#searchpage {\n padding-top: 5rem; }\n", + ".nav {\n display: grid;\n grid-gap: 1rem;\n padding: 0 1.5rem !important;\n align-items: center;\n background-color: var(--bg);\n @media screen and (min-width: 992px) {\n grid-template-columns: 10rem 1fr; }\n &_brand {\n position: relative;\n picture, img {\n max-width: 10rem; } }\n &_header {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n background-color: var(--bg);\n z-index: 999999; }\n &_toggle {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 3rem;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n text-align: center;\n right: 0;\n color: var(--text);\n @media screen and (min-width: 992px) {\n display: none; } }\n &_body {\n display: flex;\n flex-direction: column;\n background: var(--accent);\n position: fixed;\n left: 0;\n top: 0;\n bottom: 0;\n height: 100vh;\n transition: transform 0.25s var(--ease);\n transform: translateX(-101vw);\n @media screen and (min-width: 992px) {\n transform: translateX(0);\n position: relative;\n height: initial;\n justify-content: flex-end;\n background: transparent;\n flex-direction: row; } }\n &.show &_body {\n transform: translateX(0);\n box-shadow: 0 1rem 4rem rgba(0,0,0,0.1);\n background: var(--bg);\n li:first-child {\n margin: 1.5rem 1rem 0.5rem 1rem; }\n overflow-y: auto;\n // input\n } // background: var(--accent)\n &-link {\n display: inline-flex;\n padding: 0.5rem 1rem; }\n &-item {\n display: grid;\n align-items: center;\n .search {\n @media screen and (min-width: 992px) {\n margin-right: 1.5rem; } } }\n &_repo {\n picture, img {\n max-width: 1.25rem; } } }\n", + ".section {\n &_title {\n font-size: 1.25rem; }\n &_link {\n font-size: 1rem;\n font-weight: 400; } }\n\n.sidebar {\n &-link {\n display: grid;\n padding: 0.2rem 0; } }\n\n.toc {\n border-left: 2px solid var(--theme);\n padding: 0 1rem;\n height: 0;\n overflow: hidden;\n filter: opacity(0.87);\n &_item {\n font-size: 0.9rem; }\n &_active {\n height: initial; } }\n.search {\n flex: 1;\n display: flex;\n justify-content: flex-end;\n position: relative;\n &_field {\n padding: 0.5rem 1.5rem 0.5rem 2.5rem;\n border-radius: 1.5rem;\n width: 13.5rem;\n outline: none;\n border: 1px solid var(--search-border-color);\n background: transparent;\n color: var(--text);\n box-shadow: 0 1rem 4rem rgba(0,0,0,0.17);\n font-size: 1rem;\n &:hover, &:focus {\n background: var(--search-bg); } }\n &_label {\n width: 1rem;\n height: 1rem;\n position: absolute;\n left: 0.33rem;\n top: 0.25rem;\n opacity: 0.33;\n svg {\n width: 100%;\n height: 100%;\n fill: var(--text); } }\n &_result {\n padding: 0.5rem 1rem;\n display: block;\n &:not(.passive):hover {\n background-color: var(--theme);\n color: var(--light); }\n &.passive {\n display: grid; }\n &s {\n width: 13.5rem;\n background-color: var(--overlay);\n border-radius: 0 0 0.25rem 0.25rem;\n box-shadow: 0 1rem 4rem rgba(0,0,0,0.17);\n position: absolute;\n top: 125%;\n display: grid;\n overflow: hidden;\n z-index: 5;\n &:empty {\n display: none; } } }\n &_title {\n padding: 0.5rem 1rem 0.5rem 1rem;\n background: var(--theme);\n color: var(--light);\n font-size: 0.9rem;\n opacity: 0.87;\n text-transform: uppercase; } }\n\n.button {\n background-color: var(--theme);\n color: var(--light);\n border-radius: 0.25rem;\n display: inline-block;\n padding: 0.75rem 1.25rem;\n text-align: center;\n &:hover {\n opacity: 0.84; }\n & + & {\n background-color: var(--haze);\n color: var(--dark); }\n &_grid {\n display: grid;\n max-width: 15rem;\n grid-gap: 1rem;\n grid-template-columns: repeat( auto-fit, minmax(12rem, 1fr) );\n @media screen and (min-width: 557px) {\n max-width: 25rem; } } }\n\n.video {\n overflow: hidden;\n padding-bottom: 56.25%;\n position: relative;\n height: 0;\n margin: 1.5rem 0;\n border-radius: 0.6rem;\n background-color: var(--bg);\n box-shadow: 0 1rem 2rem rgba(0,0,0,0.17);\n iframe {\n left: 0;\n top: 0;\n height: 100%;\n width: 100%;\n border: none;\n position: absolute;\n transform: scale(1.02); } }\n.icon {\n width: 1.1rem;\n height: 1.1rem;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n margin: 0 0.5rem; }\n\n.link {\n opacity: 0;\n position: relative;\n &_owner:hover & {\n opacity: 1; }\n &_yank {\n opacity: 1;\n &ed {\n position: absolute;\n right: -2.2rem;\n top: -2rem;\n background-color: var(--theme);\n color: var(--light);\n width: 7rem;\n padding: 0.25rem 0.5rem;\n font-size: 0.9rem;\n border-radius: 1rem;\n text-align: center;\n &::after {\n position: absolute;\n top: 1rem;\n content: \"\";\n border-color: var(--theme) transparent;\n border-style: solid;\n border-width: 1rem 1rem 0 1rem;\n height: 0;\n width: 0;\n transform-origin: 50% 50%;\n transform: rotate(145deg);\n right: 0.45rem; } } } }\n\n.gallery {\n width: 100%;\n column-count: 3;\n column-gap: 1rem;\n @media screen and (max-width: 667px) {\n column-count: 2; }\n &_item {\n background-color: transparent;\n margin: 0 0 1rem; }\n &_image {\n margin: 0 auto; } }\n\n.pager {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding-top: 2rem;\n margin: 2rem 0;\n max-width: 100vw;\n overflow: hidden;\n svg {\n filter: opacity(0.75);\n width: 1.25rem;\n height: 1rem;\n transform-origin: 50% 50%; }\n\n &_lean {\n justify-content: flex-end; }\n\n &_label {\n max-width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis; }\n\n &_link {\n padding: 0.5rem 1rem;\n border-radius: 0.25rem;\n width: 12.5rem;\n max-width: 40vw;\n position: relative;\n display: flex;\n align-items: center;\n text-align: center;\n justify-content: center;\n &::before, &::after {\n background-image: var(--next-icon);\n height: 0.8rem;\n width: 0.8rem;\n background-size: 100%;\n background-repeat: no-repeat;\n transform-origin: 50% 50%; } }\n\n &_item {\n display: flex;\n flex-direction: column;\n flex: 1;\n max-width: 48%;\n // filter: opacity(0.87)\n &.prev {\n align-items: flex-start;\n } // margin-right: 0.5rem\n\n &.next {\n align-items: flex-end;\n // margin-left: 0.5rem\n &::after {\n content: \"\"; } } }\n\n &_item.prev &_link {\n &::before {\n content: \"\";\n transform: rotate(180deg);\n margin-right: 0.67rem; } }\n\n &_item.next &_link {\n &::after {\n content: \"\";\n margin-left: 0.67rem; } }\n\n &_item.next &_link {\n grid-template-columns: 1fr 1.5rem; }\n\n &_meta {\n margin: 0.5rem 0; } }\n\n.color {\n &_mode {\n height: 1rem;\n margin-left: 1.5rem; }\n\n &_choice {\n outline: none;\n border: none;\n -webkit-appearance: none;\n height: 1rem;\n position: relative;\n width: 1rem;\n border-radius: 1rem;\n cursor: pointer;\n z-index: 2;\n right: 0;\n filter: contrast(0.8);\n\n &::after {\n content: \"\";\n top: 0.1rem;\n bottom: 0;\n left: 0;\n position: absolute;\n height: 0.8rem;\n background: var(--accent);\n width: 0.8rem;\n border-radius: 0.25rem;\n z-index: 3;\n transform: scale(1.67);\n transform-origin: 50% 50%;\n transition: transform 0.5s cubic-bezier(.19,1,.22,1);\n will-change: transform;\n background-image: var(--sun-icon);\n background-size: 60%;\n background-repeat: no-repeat;\n background-position: center; } }\n\n &_icon {\n height: 1rem;\n width: 1rem;\n margin: 0;\n z-index: 4;\n position: absolute;\n transform: translateY(-50%);\n transition: transform 0.5s cubic-bezier(.19,1,.22,1);\n right: 3.5rem; } }\n\n.tip {\n padding: 1.5rem 1rem 1.5rem 1.5rem;\n margin: 1.5rem 0;\n border-left: 0.2rem solid var(--theme);\n position: relative;\n background: var(--accent);\n blockquote {\n padding: 0;\n margin: 0;\n border: none;\n &::before {\n display: none; } }\n p {\n &:first-child, ~ p {\n padding-top: 0; }\n &:last-child {\n padding-bottom: 0; } }\n &_warning {\n --theme: var(--inline-color); }\n &_warning::before {\n transform: rotate(180deg); }\n &::before {\n content: \"\";\n position: absolute;\n left: -0.85rem;\n top: 1.5rem;\n z-index: 3;\n padding: 0.75rem;\n transform-origin: 50% 50%;\n border-radius: 50%;\n background-color: var(--theme);\n background-image: var(--info-icon);\n background-size: 12%;\n background-position: 50% 50%;\n background-repeat: no-repeat; } }\n\n.tabs {\n display: flex;\n flex-wrap: wrap;\n margin: 2rem 0 2rem 0;\n position: relative;\n\n &.tabs-left {\n justify-content: flex-start;\n\n label.tab-label {\n margin-right: 0.5rem; }\n\n .tab-content {\n border-radius: 0px 6px 6px 6px; } }\n\n &.tabs-right {\n justify-content: flex-end;\n\n label.tab-label {\n margin-left: 0.5rem; }\n\n .tab-content {\n border-radius: 6px 6px 6px 6px; } }\n\n input.tab-input {\n display: none; }\n\n label.tab-label {\n background-color: var(--accent) transparent;\n border-color: var(--theme);\n border-radius: 6px 6px 0px 0px;\n border-style: solid;\n border-bottom-style: hidden;\n border-width: 2px;\n cursor: pointer;\n display: inline-block;\n order: 1;\n padding: 0.3rem 0.6rem;\n position: relative;\n top: 2px;\n user-select: none; }\n\n input.tab-input:checked + label.tab-label {\n background-color: var(--accent);\n border-color: var(--theme); }\n\n .tab-content {\n background-color: var(--accent);\n border-color: var(--theme);\n border-style: solid;\n border-width: 2px;\n display: none;\n order: 2;\n padding: 1rem;\n width: 100%; } }\n", + "html[data-mode=\"dark\"] .mermaid {\n --theme: darkgoldenrod;\n background-color: transparent !important;\n margin-bottom: 2.5rem;\n svg {\n margin: 0 auto;\n display: block; } }\n", + "@mixin shadow($opacity: 0.17) {\n box-shadow: 0 0 3rem rgba(0,0,0,$opacity);\n &:hover {\n box-shadow: 0 0 5rem rgba(0,0,0, (1.5 * $opacity)); } }\n\n.post {\n margin: 0 auto;\n width: 100%;\n p, h1, h2, h3, h4, h5, h6, blockquote, ol, ul, .highlight_wrap, hr {\n max-width: 840px !important;\n margin-left: auto;\n margin-right: auto; }\n\n img:not(.icon) {\n @media screen and (min-width: 1025px) {\n display: block;\n width: 100vw;\n max-width: 1024px;\n margin-left: auto;\n margin-right: auto; } }\n\n h2,h3,h4 {\n margin: 0.5rem auto;\n text-align: left;\n padding: 5px 0 0 0; }\n\n p {\n padding-bottom: 0.5rem;\n padding-top: 0.5rem;\n font-size: 1.05rem; }\n\n &s {\n display: flex;\n justify-content: space-between;\n flex-flow: row wrap;\n width: 100%;\n align-items: stretch; }\n\n &s:not(.aside) {\n padding: 0 30px; }\n\n ol {\n padding: 1rem 1.25rem; }\n\n &_body {\n img {\n width: 100%;\n max-width: 100%; } }\n &_inner {\n a {\n color: var(--theme);\n transition: all 0.3s;\n &:hover {\n opacity: 0.8;\n text-decoration: underline; } }\n\n img:not(.icon) {\n margin-bottom: 2rem;\n box-shadow: 0 1.5rem 1rem -1rem rgba(0,0,0,0.25);\n ~ h1, ~ h2, ~ h3, ~ h4 {\n margin-top: 0;\n padding-top: 0; } } }\n\n .icon {\n margin-top: 0;\n margin-bottom: 0; }\n\n &_date {\n color: var(--theme); }\n\n &_copy {\n opacity: 0;\n transition: opacity 0.3s ease-out; }\n\n &_item {\n @include shadow;\n margin: 1.25rem 0;\n border-radius: 10px;\n overflow: hidden;\n width: 100%;\n @media screen and (min-width:667px) {\n width: 47%; } }\n\n &_item:hover &_copy {\n opacity: 1; }\n\n &_link {\n padding: 2.5px 0;\n font-size: 1.25em;\n margin: 2.5px 0;\n text-align: left; }\n\n &_meta {\n overflow: hidden;\n opacity: 0.8;\n font-size: 0.84rem;\n font-weight: 500;\n display: inline-grid;\n grid-template-columns: auto 1fr;\n background-color: var(--light);\n padding: 0;\n align-items: center;\n border-radius: 0.3rem;\n color: var(--dark);\n text-transform: capitalize;\n a {\n &:hover {\n color: var(--theme);\n text-decoration: underline;\n opacity: 0.9; } } }\n\n &_extra {\n display: flex;\n justify-content: flex-end; }\n\n &_tag {\n font-size: 0.75rem !important;\n font-weight: 500;\n background: var(--theme);\n color: var(--light);\n padding: 0.25rem 0.67rem !important;\n text-transform: uppercase;\n display: inline-flex;\n border-radius: 5px; }\n\n &_title {\n margin: 1.75rem 0 1rem; }\n\n &_time {\n background: var(--theme);\n display: inline-grid;\n padding: 0.2rem 0.75rem;\n color: var(--light); }\n\n &_thumbnail {\n width: 100%;\n margin: 0; }\n\n &_nav {\n padding: 3rem 1.5rem;\n display: grid;\n margin: 2.25rem auto 1rem;\n text-align: center;\n color: var(--theme);\n // box-shadow: 0 1rem 3rem -1rem rgba(0,0,0,0.15)\n text-transform: uppercase;\n &, span {\n position: relative;\n z-index: 3; }\n\n &::before {\n content: \"\";\n position: absolute;\n background: var(--accent);\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n z-index: 1;\n border-radius: 1rem; } }\n\n &_next {\n display: inline-grid;\n margin: 0 auto;\n width: 10rem;\n grid-template-columns: 1fr 1.33rem;\n &::after {\n content: \"\";\n background-image: var(--next-icon-path);\n background-repeat: repeat no-repeat;\n background-size: 0.8rem;\n background-position: center right; } } }\n\n// .pager\n// display: grid\n// grid-template-columns: 2.5rem 1fr 2.5rem\n// margin: 2rem auto 0\n// max-width: 12.5rem\n// &, &_item\n// justify-content: center\n// align-items: center\n\n// &_item\n// height: 2.5rem\n// width: 2.5rem\n// display: inline-flex\n// margin-left: 5px\n// margin-right: 5px\n// background-color: var(--accent)\n// color: var(--light)\n// border-radius: 50%\n// &:hover\n// opacity: 0.5\n\n// span\n// text-align: center\n\n.excerpt {\n padding: 0 10px 1.5rem 10px;\n position: relative;\n z-index: 1;\n &_meta {\n display: flex;\n justify-content: space-between;\n align-items: center;\n transform: translateY(-2.5rem);\n position: relative;\n z-index: 5; } }\n\n.archive {\n &_item {\n display: grid;\n padding: 1.5rem 0; }\n\n &_title {\n margin: 0; } }\n\n.article {\n box-shadow: 0 0.5rem 2rem rgba(0,0,0,0.12);\n overflow: hidden;\n border-radius: 0.5rem;\n &_title {\n margin: 0; }\n &_excerpt {\n &:not(.visible) {\n height: 0;\n opacity: 0; }\n transition: height 0.5s, opacity 0.5s; }\n &_excerpt,\n &_meta {\n transform-origin: bottom; }\n &_meta {\n padding: 10px 1.25rem 1.25rem;\n color: var(--text);\n position: relative;\n z-index: 2;\n transition: margin-top 0.5s;\n background: var(--bg);\n &.center_y {\n transform-origin: center;\n transition: transform 0.5s;\n display: flex;\n flex-direction: column;\n justify-content: center;\n @media screen and (min-width: 42rem) {\n left: -2rem; } } }\n\n &_thumb {\n display: grid;\n position: relative;\n z-index: 0;\n overflow: hidden;\n height: 15rem;\n background-size: cover;\n background-position: 50% 50%;\n @media screen and (min-width: 35rem) {\n height: 22.5rem; }\n\n img {\n transition: transform 0.5s, opacity 0.5s; }\n\n &::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n bottom: 0;\n z-index: 1;\n background: var(--bg);\n opacity: 0;\n transition: opacity 0.1s ease-out; } }\n\n &_showcase &_thumb {\n height: 15rem; }\n\n &_showcase &_meta {\n padding-top: 1.5rem; }\n\n &:hover &_thumb {\n img {\n transform: scale(1.1); }\n\n &::after {\n transition: opacity 0.1s ease-out;\n opacity: 0.5; } }\n\n &:hover &_excerpt:not(.visible) {\n height: 75px;\n opacity: 1; }\n\n &:hover &_meta {\n &:not(.center_y) {\n margin-top: -75px; }\n\n @media screen and (min-width: 769px) {\n &.center_y {\n transform: translateX(-3rem); } } }\n\n &:hover {\n box-shadow: 0 1.5rem 6rem rgba(0,0,0,0.17);\n a {\n color: initial !important; } }\n\n &_hidden {\n display: none; } }\n", + ".wrap {\n max-width: 1240px;\n @media screen and (min-width: 1640px) {\n max-width: 1600px; }\n &, & {\n width: 100%;\n padding: 0 25px;\n margin: 0 auto; } }\n\n@for $i from 1 through 8 {\n $size: $i * 1.5rem;\n $x-size: $size * 0.5;\n .pt-#{$i} {\n padding-top: $size; }\n\n .pb-#{$i} {\n padding-bottom: $size; }\n\n .mt-#{$i} {\n margin-top: $size; }\n\n .mb-#{$i} {\n margin-bottom: $size; } }\n\n%grid {\n display: grid;\n grid-template-columns: 1fr; }\n\n[class*='grid-'] {\n grid-gap: 2rem; }\n\n.grid-2, .grid-3, .grid-4, .grid-auto, .grid-reverse {\n @extend %grid; }\n\n@media screen and (min-width: 42rem) {\n .grid-auto {\n grid-template-columns: 2fr 5fr; }\n\n .grid-reverse {\n grid-template-columns: 3fr 1fr; }\n\n .grid-2 {\n grid-template-columns: repeat(2, 1fr); }\n\n .grid-3 {\n grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }\n\n .grid-4 {\n grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); } }\n\n.active {\n color: var(--theme); }\n\n.is {\n background: var(--theme);\n color: var(--light); }\n\n.toggle {\n svg {\n fill: var(--text);\n display: inline-block;\n transform-origin: 50% 50%;\n transform: scale(1.2);\n cursor: pointer;\n margin: 0; } }\n\n.scrollable {\n width: 100%;\n overflow-x: hidden;\n max-width: calc(100vw - 48px);\n @media screen and (min-width: 768px) {\n max-width: 100%; }\n &:hover {\n overflow-x: auto; } }\n\n.chart {\n display: grid;\n grid-gap: 1.5rem;\n max-width: 98vw !important;\n max-height: 98vw !important; }\n\n\n.link {\n display: inline-flex;\n align-items: center;\n width: 2.5rem;\n margin: 0 0.25rem;\n padding: 0 0.25rem;\n opacity: 0;\n transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);\n svg, img {\n width: 1.5rem;\n height: 1.5rem;\n fill: var(--theme); }\n &_owner:hover & {\n opacity: 0.9; } }\n\n.copy {\n cursor: pointer; }\n\n.standardize-input {\n appearance: none;\n -webkit-appearance: none; }\n", + "@keyframes pulse {\n 0% {\n opacity: 1; }\n 75% {\n opacity: 0.1; }\n 100% {\n opacity: 1; } }\n\ncode {\n font-size: 15px;\n font-weight: 400;\n overflow-y: hidden;\n display: block;\n font-family: 'Monaco', monospace;\n word-break: break-all;\n &.noClass {\n color: var(--inline-color);\n display: inline;\n line-break: anywhere; } }\n.windows .highlight {\n overflow-x: hidden;\n &:hover {\n overflow-x: auto; } }\n\n.highlight {\n display: grid;\n width: 100%;\n border-radius: 0 0.2rem 0.2rem 0;\n overflow-x: auto;\n position: relative;\n &_wrap {\n display: grid;\n background: var(--code-bg) !important;\n border-radius: 0.5rem;\n position: relative;\n padding: 0 1rem;\n margin: 1.5rem auto 1rem auto;\n & & {\n margin: 0;\n padding: 0; }\n & + & {\n margin-top: 2.25rem; }\n &:hover > div {\n opacity: 1; }\n .lang {\n position: absolute;\n top: 0;\n right: 0;\n text-align: right;\n width: 7.5rem;\n padding: 0.5rem 1rem;\n font-style: italic;\n text-transform: uppercase;\n font-size: 67%;\n opacity: 0.5;\n color: var(--text); }\n &:hover .lang {\n opacity: 0.1; } }\n & & {\n margin: 0; }\n pre {\n color: var(--text) !important;\n border-radius: 4px;\n font-family: 'Monaco', monospace;\n padding-top: 1.5rem;\n padding-bottom: 2rem; }\n\n table {\n display: grid;\n max-width: 100%;\n margin-bottom: 0;\n background: transparent; }\n td, th {\n padding: 0; }\n\n .lntd {\n width: 100%;\n border: none;\n &:first-child {\n &, pre {\n width: 2.5rem !important;\n padding-left: 0;\n padding-right: 0;\n color: rgba(255,255,255,0.5);\n user-select: none; }\n\n pre {\n width: 100%;\n display: flex;\n align-items: center;\n flex-direction: column; } } } }\n\n.err {\n color: #a61717; }\n.hl {\n width: 100%;\n background: var(--inline-color); }\n.ln, .lnt {\n margin-right: 0.75rem;\n padding: 0;\n transition: opacity 0.3s var(--ease);\n &, span {\n color: var(--text);\n opacity: 0.5;\n user-select: none; } }\n\n.k, .kc, .kd, .kn, .kp, .kr, .kt, .nt {\n color: #6ab825;\n font-weight: 500; }\n\n.kn, .kp {\n font-weight: 400; }\n\n.nb, .no, .nv {\n color: #24909d; }\n\n.nc, .nf, .nn {\n color: #447fcf; }\n\n.s, .sa, .sb, .sc, .dl, .sd, .s2, .se, .sh, .si, .sx, .sr, .s1, .ss {\n color: #ed9d13; }\n\n.m, .mb, .mf, .mh, .mi, .il, .mo {\n color: #3677a9; }\n\n.ow {\n color: #6ab825;\n font-weight: 500; }\n\n.c, .ch, .cm, .c1 {\n color: #999;\n font-style: italic; }\n\n.cs {\n color: #e50808;\n background-color: #520000;\n font-weight: 500; }\n\n.cp, .cpf {\n color: #cd2828;\n font-weight: 500; }\n\n.gd, .gr {\n color: #d22323; }\n\n.ge {\n font-style: italic; }\n\n.gh, .gu, .nd, .na, .ne {\n color: #ffa500;\n font-weight: 500; }\n\n.gi {\n color: #589819; }\n\n.go {\n color: #ccc; }\n\n.gp {\n color: #aaa; }\n\n.gs {\n font-weight: 500; }\n\n.gt {\n color: #d22323; }\n.w {\n color: #666; }\n\n.hljs {\n &-string {\n color: #6ab825; }\n &-attr {\n color: #ed9d13; }\n .p &-attr {\n color: var(--light); } }\n\n.pre {\n &_wrap {\n white-space: pre-wrap;\n white-space: -moz-pre-wrap;\n white-space: -pre-wrap;\n white-space: -o-pre-wrap;\n word-wrap: break-word; }\n\n &_nolines.ln {\n display: none; } }\n\n// crayon-like widget styles\n.panel {\n &_box {\n display: inline-flex;\n perspective: 300px;\n grid-gap: 1rem;\n transition: opacity 0.3s var(--easing);\n background: var(--code-bg);\n padding: 0.5rem 1.5rem;\n border-radius: 2rem;\n align-items: center;\n position: absolute;\n right: 0rem;\n top: -2.1rem;\n opacity: 0; }\n &_icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n padding: 0.1rem;\n transform-origin: 50% 50%;\n margin: 0;\n &.active {\n animation: pulse 0.1s linear; }\n svg {\n fill: var(--text);\n width: 1.5rem;\n height: 1.5rem; } }\n &_hide {\n // hide icon if not needed\n display: none; }\n &_from {\n position: absolute;\n color: var(--theme);\n bottom: 0;\n font-size: 1.5rem;\n font-weight: 500;\n padding: 0.5rem 0;\n cursor: pointer;\n letter-spacing: 0.1px;\n z-index: 19; }\n &_expanded &_from {\n display: none; } }\n\n.shell {\n position: relative;\n // display: flex\n // align-items: center\n // gap: 0.5rem\n &::before {\n content: \"$\";\n position: relative;\n margin-right: 0.36rem; } }\n\n.line {\n &-flex {\n display: flex; } }\n", + "$font-path: \"../fonts\";\n@font-face {\n font-family: 'Metropolis';\n font-style: normal;\n font-weight: 400;\n src: local('Metropolis Regular'), local('Metropolis-Regular'), url('#{$font-path}/Metropolis-Regular.woff2') format('woff2'), url('#{$font-path}/Metropolis-Regular.woff') format('woff');\n font-display: swap; }\n\n@font-face {\n font-family: 'Metropolis';\n font-style: normal;\n font-weight: 300;\n src: local('Metropolis Light'), local('Metropolis-Light'), url('#{$font-path}/Metropolis-Light.woff2') format('woff2'), url('#{$font-path}/Metropolis-Light.woff') format('woff');\n font-display: swap; }\n\n@font-face {\n font-family: 'Metropolis';\n font-style: italic;\n font-weight: 300;\n src: local('Metropolis Light Italic'), local('Metropolis-LightItalic'), url('#{$font-path}/Metropolis-LightItalic.woff2') format('woff2'), url('#{$font-path}/Metropolis-LightItalic.woff') format('woff');\n font-display: swap; }\n\n@font-face {\n font-family: 'Metropolis';\n font-style: normal;\n font-weight: 500;\n src: local('Metropolis Medium'), local('Metropolis-Medium'), url('#{$font-path}/Metropolis-Medium.woff2') format('woff2'), url('#{$font-path}/Metropolis-Medium.woff') format('woff');\n font-display: swap; }\n\n@font-face {\n font-family: 'Metropolis';\n font-style: italic;\n font-weight: 500;\n src: local('Metropolis Medium Italic'), local('Metropolis-MediumItalic'), url('#{$font-path}/Metropolis-MediumItalic.woff2') format('woff2'), url('#{$font-path}/Metropolis-MediumItalic.woff') format('woff');\n font-display: swap; }\n\n@font-face {\n font-family: 'Cookie';\n font-style: normal;\n font-weight: 400;\n src: local('Cookie-Regular'), url('#{$font-path}/cookie-v10-latin-regular.woff2') format('woff2'), url('#{$font-path}/cookie-v10-latin-regular.woff') format('woff');\n font-display: swap; }\n", + "@keyframes chartjs-render-animation {\n 0% {\n opacity: .99; }\n 100% {\n opacity: 1; } }\n\n.chartjs {\n &-render-monitor {\n animation: chartjs-render-animation 1ms; }\n\n &-size-monitor {\n &, &-expand, &-shrink {\n position: absolute;\n direction: ltr;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n overflow: hidden;\n pointer-events: none;\n visibility: hidden;\n z-index: -1; }\n\n &-expand {\n > div {\n position: absolute;\n width: 1000000px;\n height: 1000000px;\n left: 0;\n top: 0; } }\n\n &-shrink {\n > div {\n position: absolute;\n width: 200%;\n height: 200%;\n left: 0;\n top: 0; } } } }\n", + "// add customs styles and general overrides here\n// due to the cascading nature of css, if you try to override theme css variables in this file, those changes will not apply. Instead, override css variables in the `override.sass` file\n// we recommend not editing this file directly. Instead, create an `assets/sass/_custom.sass` file at the root level of your site.\n// if you edit this file directly, you will have to resolve git conflicts when and if you decide to pull changes we make on the theme\nhtml {\n --ve-light-violett: {}\n --ve-heavy-violett: {} }\n\n\n\n.lastmod {\n font-size: 0.7em;\n display: inline;\n color: #999; }\n\n.section_title {\n background-color: green;\n border-radius: 8px;\n } //opacity: 0.3\n", + "html[data-mode=\"dark\"] .mermaid {\n --theme: darkgoldenrod;\n background-color: transparent !important;\n margin-bottom: 2.5rem;\n svg {\n margin: 0 auto;\n display: block; } }\n" + ], + "names": [], + "mappings": "AACA,AAAA,IAAI,AAAC,CACH,WAAW,CAAA,gDAAC,CACZ,UAAU,CAAA,+CAAC,CACX,WAAW,CAAA,gDAAC,CACZ,WAAW,CAAA,gDAAC,CAAmD,ACJjE,AAAA,IAAI,AAAC,CACH,YAAY,CAAA,QAAC,CACb,OAAO,CAAA,KAAC,CACR,MAAM,CAAA,eAAC,CACP,MAAM,CAAA,QAAC,CACP,QAAQ,CAAA,cAAC,CACT,QAAQ,CAAA,YAAC,CACT,IAAI,CAAA,aAAC,CACL,SAAS,CAAA,cAAC,CACV,SAAS,CAAA,aAAC,CAEV,MAAM,CAAA,QAAC,CACP,MAAM,CAAA,yBAAC,CACP,cAAc,CAAA,KAAC,CACf,cAAc,CAAA,cAAC,CACf,OAAO,CAAA,eAAC,CACR,MAAM,CAAA,KAAC,CACP,cAAc,CAAA,gBAAC,CACf,qBAAqB,CAAA,YAAC,CACtB,gBAAgB,CAAA,sCAAC,CACjB,iBAAiB,CAAA,2BAAC,CA0BU,AA9C9B,AAqCE,IArCE,CAqCD,AAAA,SAAC,CAAU,MAAM,AAAhB,CAAkB,CAdlB,YAAY,CAAA,OAAC,CACb,OAAO,CAAA,eAAC,CACR,IAAI,CAAA,YAAC,CACL,MAAM,CAAA,KAAC,CACP,YAAY,CAAA,KAAC,CACb,QAAQ,CAAA,cAAC,CACT,SAAS,CAAA,cAAC,CACV,cAAc,CAAA,YAAC,CACf,cAAc,CAAA,sBAAC,CACf,WAAW,CAAA,cAAC,CACZ,qBAAqB,CAAA,cAAC,CAS2B,AA1CrD,AAkCI,IAlCA,CAqCD,AAAA,SAAC,CAAU,MAAM,AAAhB,EAHA,CAAC,AAAC,CACA,UAAU,CAAE,eAAe,CAAG,AAnCpC,AAyCQ,IAzCJ,CAqCD,AAAA,SAAC,CAAU,MAAM,AAAhB,EAEA,aAAM,EAEC,KAAK,AAAC,CACP,gBAAgB,CAAE,gBAAgB,CAAG,AAG3C,MAAM,6BADR,CA5CF,AA4CE,IA5CE,CA4CD,AAAA,SAAC,CAAU,MAAM,AAAhB,CAAkB,CArBlB,YAAY,CAAA,OAAC,CACb,OAAO,CAAA,eAAC,CACR,IAAI,CAAA,YAAC,CACL,MAAM,CAAA,KAAC,CACP,YAAY,CAAA,KAAC,CACb,QAAQ,CAAA,cAAC,CACT,SAAS,CAAA,cAAC,CACV,cAAc,CAAA,YAAC,CACf,cAAc,CAAA,sBAAC,CACf,WAAW,CAAA,cAAC,CACZ,qBAAqB,CAAA,cAAC,CAaE,AA9C5B,AAkCI,IAlCA,CA4CD,AAAA,SAAC,CAAU,MAAM,AAAhB,EAVA,CAAC,AAAC,CACA,UAAU,CAAE,eAAe,CAAG,CAWR,AAM5B,AACE,UADQ,CACN,eAAe,AAAC,CAChB,UAAU,CAAE,OAAO,CAAG,ACvD1B,AAAA,CAAC,AAAC,CACA,UAAU,CAAE,UAAU,CACtB,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,CAAC,CACV,eAAe,CAAE,mBAAmB,CAAC,WAAW,CAChD,eAAe,CAAE,IAAI,CAAG,EAExB,AAAF,iBAAmB,AAAC,CAClB,KAAK,CAAE,KAAK,CAAG,EAEf,AAAF,uBAAyB,AAAC,CACxB,UAAU,CAAE,mBAAmB,CAC/B,aAAa,CAAE,MAAM,CAAG,AAE1B,AAAA,IAAI,CAAE,IAAI,AAAC,CACT,eAAe,CAAE,MAAM,CACvB,kBAAkB,CAAE,IAAI,CACxB,YAAY,CAAE,MAAM,CACpB,wBAAwB,CAAE,IAAI,CAC9B,SAAS,CAAE,IAAI,CAAG,AAEpB,UAAU,CAAV,KAAU,CACR,EAAE,CACA,OAAO,CAAE,CAAC,CACZ,GAAG,CACD,OAAO,CAAE,CAAC,CACZ,IAAI,CACF,OAAO,CAAE,CAAC,EAEd,AAAA,IAAI,AAAC,CACH,WAAW,CAAE,WAAW,CACxB,gBAAgB,CAAE,SAAS,CAC3B,KAAK,CAAE,WAAW,CAClB,WAAW,CAAE,GAAG,CAChB,MAAM,CAAE,MAAM,CACd,QAAQ,CAAE,QAAQ,CAClB,YAAY,CAAE,MAAM,CACpB,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,MAAM,CACtB,eAAe,CAAE,aAAa,CAC9B,UAAU,CAAE,KAAK,CACjB,sBAAsB,CAAE,WAAW,CACnC,uBAAuB,CAAE,SAAS,CAClC,0BAA0B,CAAE,KAAK,CACjC,SAAS,CAAE,MAAM,CACjB,SAAS,CAAE,mBAAmB,CAGN,AADxB,MAAM,+BAlBR,CAAA,AAAA,IAAI,AAAC,CAmBD,SAAS,CAAE,MAAM,CAAK,CAAA,AAE1B,AAAA,CAAC,AAAC,CACA,eAAe,CAAE,IAAI,CACrB,KAAK,CAAE,OAAO,CAAG,AACnB,AAAA,CAAC,AAAC,CACA,OAAO,CAAE,SAAS,CAGE,AAJtB,AAGE,CAHD,CAGG,KAAK,AAAC,CACN,OAAO,CAAE,IAAI,CAAG,AACpB,AACE,EADA,CAAF,EAAE,CACG,CAAC,AAAC,CACH,OAAO,CAAE,SAAS,CAAG,AACzB,AAAA,UAAU,AAAC,CACT,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,IAAI,CACb,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,GAAO,CAAA,GAAO,CAAA,GAAO,CAAA,GAAO,CACpC,MAAM,CAAE,SAAS,CACjB,OAAO,CAAE,IAAI,CACb,SAAS,CAAE,QAAQ,CACnB,iBAAiB,CAAE,SAAS,CAC5B,eAAe,CAAE,IAAI,CACrB,mBAAmB,CAAE,OAAO,CAC5B,QAAQ,CAAE,QAAQ,CAClB,gBAAgB,CAAE,aAAa,CAC/B,aAAa,CAAE,OAAO,CACtB,QAAQ,CAAE,MAAM,CAcS,AA5B3B,AAeE,UAfQ,EAeL,MAAM,AAAC,CACR,OAAO,CAAE,EAAE,CACX,OAAO,CAAE,GAAG,CACZ,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,MAAM,CAAE,CAAC,CACT,IAAI,CAAE,CAAC,CACP,UAAU,CAAE,YAAY,CAAG,AAtB/B,AAwBE,UAxBQ,CAwBR,CAAC,AAAC,CACA,YAAY,CAAE,iBAAiB,CAC/B,SAAS,CAAE,iBAAiB,CAC5B,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,MAAM,CAAG,AAEzB,AAAA,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,AAAC,CACb,WAAW,CAAE,OAAO,CACpB,WAAW,CAAE,GAAG,CAChB,OAAO,CAAE,SAAS,CAClB,KAAK,CAAE,OAAO,CACd,WAAW,CAAE,IAAI,CAAG,AAEtB,AAAA,EAAE,AAAC,CACD,SAAS,CAAE,IAAI,CAAG,AACpB,AAAA,EAAE,AAAC,CACD,SAAS,CAAE,IAAI,CAAG,AACpB,AAAA,EAAE,AAAC,CACD,SAAS,CAAE,IAAI,CAAG,AACpB,AAAA,EAAE,AAAC,CACD,SAAS,CAAE,IAAI,CAAG,AACpB,AAAA,EAAE,AAAC,CACD,SAAS,CAAE,IAAI,CAAG,AACpB,AAAA,EAAE,AAAC,CACD,SAAS,CAAE,IAAI,CAAG,AAEpB,AAAA,GAAG,CAAE,GAAG,CAAE,MAAM,AAAC,CACf,SAAS,CAAE,IAAI,CACf,cAAc,CAAE,MAAM,CAAG,AAC3B,AAAA,GAAG,AAAC,CACF,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,SAAS,CACjB,OAAO,CAAE,CAAC,CAAG,AAEf,AAAA,IAAI,AAAC,CACH,IAAI,CAAE,CAAC,CAEoB,AAD3B,MAAM,8BAFR,CAAA,AAAA,IAAI,AAAC,CAGD,cAAc,CAAE,IAAI,CAAK,CAAA,AAE7B,AAAA,EAAE,CAAE,EAAE,AAAC,CACL,UAAU,CAAE,IAAI,CAAG,AAErB,AAAA,CAAC,CAAE,MAAM,AAAC,CACR,WAAW,CAAE,GAAG,CAAG,AAErB,AAAA,EAAE,AAAC,CACD,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,GAAG,CACZ,UAAU,CAAE,mBAAmB,CAC/B,MAAM,CAAE,MAAM,CAAG,AAEnB,AAAA,MAAM,AAAC,CACL,UAAU,CAAE,IAAI,CAChB,UAAU,CAAE,SAAS,CACrB,aAAa,CAAE,OAAO,CACtB,UAAU,CAAE,KAAK,CACjB,UAAU,CAAE,IAAI,CAChB,QAAQ,CAAE,MAAM,CAChB,OAAO,CAAE,IAAI,CACb,GAAG,CAAE,CAAC,CACN,OAAO,CAAE,MAAM,CA2BQ,AA1BvB,MAAM,8BAVR,CAAA,AAAA,MAAM,AAAC,CAWH,OAAO,CAAE,WAAW,CACpB,GAAG,CAAE,MAAM,CACX,UAAU,CAAE,IAAI,CAChB,WAAW,CAAE,CAAC,CAsBO,CAAA,AApCzB,AAeE,YAfI,AAeI,CACN,MAAM,CAAE,CAAC,CACT,QAAQ,CAAE,MAAM,CAEM,AADtB,MAAM,8BAHR,CAfF,AAeE,YAfI,AAeI,CAIJ,MAAM,CAAE,OAAO,CAAK,CAAA,AAnB1B,AAoBE,MApBI,AAoBH,KAAK,CApBR,YAAM,AAoBW,CACb,MAAM,CAAE,OAAO,CACf,QAAQ,CAAE,OAAO,CAAG,AAtBxB,AAuBE,aAvBI,AAuBK,CACP,OAAO,CAAE,aAAa,CACtB,aAAa,CAAE,MAAM,CACrB,UAAU,CAAE,aAAa,CACzB,SAAS,CAAE,iBAAiB,CAC5B,OAAO,CAAE,IAAI,CACb,eAAe,CAAE,aAAa,CAEV,AADpB,MAAM,8BAPR,CAvBF,AAuBE,aAvBI,AAuBK,CAQL,OAAO,CAAE,IAAI,CAAK,CAAA,AA/BxB,AAgCE,MAhCI,CAgCJ,EAAE,AAAC,CACD,QAAQ,CAAE,QAAQ,CAAG,AAjCzB,AAkCE,MAlCI,CAkCJ,EAAE,AAAC,CACD,OAAO,CAAE,CAAC,CACV,UAAU,CAAE,IAAI,CAAG,AAEvB,AAAA,EAAE,CAAE,EAAE,AAAC,CACL,OAAO,CAAE,MAAM,CACf,WAAW,CAAE,cAAc,CAEA,AAJ7B,AAGE,EAHA,CAGC,GAAK,EAAC,WAAW,EAHhB,EAAE,CAGH,GAAK,EAAC,WAAW,CAAE,CAClB,YAAY,CAAE,MAAM,CAAG,AAE3B,AAAA,KAAK,AAAC,CACJ,UAAU,CAAE,YAAY,CACxB,KAAK,CAAE,YAAY,CACnB,WAAW,CAAE,GAAG,CAChB,UAAU,CAAE,IAAI,CAAG,AAErB,AAEI,KAFC,CACH,EAAE,CACE,SAAU,CAAA,IAAI,CAAE,CAChB,gBAAgB,CAAE,aAAa,CAAC,UAAU,CAC1C,UAAU,CAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAE,QAAO,CAAC,gBAAgB,CAAG,AAE7D,AAAA,KAAK,AAAC,CACJ,MAAM,CAAE,QAAQ,CAChB,KAAK,CAAG,IAAI,CAAG,AAEjB,AAAA,KAAK,AAAC,CACJ,IAAI,CAAE,CAAC,CAGe,AADpB,MAAM,8BADR,CAFF,AAEE,KAFG,CAED,UAAU,AAAC,CAET,QAAQ,CAAE,CAAC,CAAK,CAAA,AAEtB,AAEI,UAFC,CAED,EAAE,AAAC,CACD,WAAW,CAAE,GAAG,CAAG,AAEzB,AACE,QADM,CACN,EAAE,CADJ,QAAQ,CACF,EAAE,AAAC,CACL,YAAY,CAAE,MAAM,CAAG,AAF3B,AAGE,QAHM,CAGN,EAAE,AAAC,CACD,UAAU,CAAE,OAAO,CAAG,AAJ1B,AAKE,QALM,CAKN,EAAE,AAAC,CACD,UAAU,CAAE,OAAO,CAAG,AAN1B,AAOE,QAPM,CAON,CAAC,CAAA,GAAK,CAAA,OAAO,CAAE,CACb,KAAK,CAAE,YAAY,CAAG,EAExB,AAAF,WAAa,AAAC,CACZ,SAAS,CAAE,IAAI,CAAG,AAEpB,AACE,GADC,AACA,UAAU,AAAC,CACV,IAAI,CAAE,YAAY,CAClB,MAAM,CAAE,MAAM,CACd,KAAK,CAAE,MAAM,CACb,OAAO,CAAE,YAAY,CACrB,WAAW,CAAE,IAAI,CACjB,cAAc,CAAE,MAAM,CAAG,AAE7B,AAAA,MAAM,AAAC,CACL,MAAM,CAAE,kBAAkB,CAC1B,SAAS,CAAE,gBAAgB,CAC3B,UAAU,CAAE,gBAAgB,CAAG,AAEjC,AAAA,MAAM,AAAC,CACL,UAAU,CAAE,KAAK,CAAG,AAEtB,AAAA,GAAG,AAAC,CACF,OAAO,CAAE,GAAG,CAAG,AAEjB,AAAA,MAAM,AAAC,CACL,UAAU,CAAE,WAAW,CACvB,OAAO,CAAE,wBAAwB,CACjC,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,OAAO,CACf,OAAO,CAAE,MAAM,CACf,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,MAAM,CACnB,eAAe,CAAE,MAAM,CACvB,QAAQ,CAAE,KAAK,CACf,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,OAAO,CACf,SAAS,CAAE,aAAa,CAAC,eAAe,CACxC,OAAO,CAAE,CAAC,CACV,UAAU,CAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAE,SAAS,CAAC,KAAK,CAAC,WAAW,CACjE,OAAO,CAAE,CAAC,CAgBiC,AAhC7C,AAiBE,MAjBI,AAiBH,OAAO,AAAC,CACP,KAAK,CAAE,MAAM,CACb,OAAO,CAAE,CAAC,CACV,SAAS,CAAE,aAAa,CAAC,YAAY,CAAG,AApB5C,AAqBE,MArBI,EAqBD,KAAK,CArBV,MAAM,EAqBS,MAAM,AAAC,CAClB,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,EAAE,CACX,WAAW,CAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAClC,UAAU,CAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAG,AA5BxC,AA6BE,MA7BI,EA6BD,KAAK,AAAC,CACP,KAAK,CAAE,OAAO,CACd,MAAM,CAAE,OAAO,CACf,SAAS,CAAE,yBAAyB,CAAG,AAE3C,AAAA,WAAW,AAAC,CACV,WAAW,CAAE,IAAI,CAAG,ACnRtB,AAAA,IAAI,AAAC,CACH,OAAO,CAAE,IAAI,CACb,QAAQ,CAAE,IAAI,CACd,OAAO,CAAE,mBAAmB,CAC5B,WAAW,CAAE,MAAM,CACnB,gBAAgB,CAAE,SAAS,CAiEE,AAhE7B,MAAM,8BANR,CAAA,AAAA,IAAI,AAAC,CAOD,qBAAqB,CAAE,SAAS,CA+DL,CAAA,AAtE/B,AAQE,UARE,AAQM,CACN,QAAQ,CAAE,QAAQ,CAEK,AAX3B,AAUI,UAVA,CAUA,OAAO,CAVX,UAAI,CAUS,GAAG,AAAC,CACX,SAAS,CAAE,KAAK,CAAG,AAXzB,AAYE,WAZE,AAYO,CACP,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,IAAI,CACX,gBAAgB,CAAE,SAAS,CAC3B,OAAO,CAAE,MAAM,CAAG,AAlBtB,AAmBE,WAnBE,AAmBO,CACP,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,MAAM,CAAE,CAAC,CACT,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,MAAM,CACnB,eAAe,CAAE,QAAQ,CACzB,UAAU,CAAE,MAAM,CAClB,KAAK,CAAE,CAAC,CACR,KAAK,CAAE,WAAW,CAEE,AADpB,MAAM,8BAXR,CAnBF,AAmBE,WAnBE,AAmBO,CAYL,OAAO,CAAE,IAAI,CAAK,CAAA,AA/BxB,AAgCE,SAhCE,AAgCK,CACL,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,MAAM,CACtB,UAAU,CAAE,aAAa,CACzB,QAAQ,CAAE,KAAK,CACf,IAAI,CAAE,CAAC,CACP,GAAG,CAAE,CAAC,CACN,MAAM,CAAE,CAAC,CACT,MAAM,CAAE,KAAK,CACb,UAAU,CAAE,SAAS,CAAC,KAAK,CAAC,WAAW,CACvC,SAAS,CAAE,kBAAkB,CAOH,AAN1B,MAAM,8BAXR,CAhCF,AAgCE,SAhCE,AAgCK,CAYH,SAAS,CAAE,aAAa,CACxB,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,OAAO,CACf,eAAe,CAAE,QAAQ,CACzB,UAAU,CAAE,WAAW,CACvB,cAAc,CAAE,GAAG,CAAK,CAAA,AAjD9B,AAkDE,IAlDE,AAkDD,KAAK,CAlDR,SAAI,AAkDY,CACZ,SAAS,CAAE,aAAa,CACxB,UAAU,CAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CACvC,UAAU,CAAE,SAAS,CAGrB,UAAU,CAAE,IAAI,CAElB,AA1DF,AAsDI,IAtDA,AAkDD,KAAK,CAlDR,SAAI,CAsDA,EAAE,CAAC,WAAW,AAAC,CACb,MAAM,CAAE,uBAAuB,CAAG,AAvDxC,AA2DE,SA3DE,AA2DK,CACL,OAAO,CAAE,WAAW,CACpB,OAAO,CAAE,WAAW,CAAG,AA7D3B,AA8DE,SA9DE,AA8DK,CACL,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,MAAM,CAGY,AAD7B,MAAM,8BADR,CAjEJ,AAiEI,SAjEA,CAiEA,OAAO,AAAC,CAEJ,YAAY,CAAE,MAAM,CAAK,CAAA,AAnEjC,AAqEI,SArEA,CAqEA,OAAO,CArEX,SAAI,CAqES,GAAG,AAAC,CACX,SAAS,CAAE,OAAO,CAAG,ACtE3B,AACE,cADM,AACE,CACN,SAAS,CAAE,OAAO,CAAG,AAFzB,AAGE,aAHM,AAGC,CACL,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CAAG,AAEvB,AACE,aADM,AACC,CACL,OAAO,CAAE,IAAI,CACb,OAAO,CAAE,QAAQ,CAAG,AAExB,AAAA,IAAI,AAAC,CACH,WAAW,CAAE,GAAG,CAAC,KAAK,CAAC,YAAY,CACnC,OAAO,CAAE,MAAM,CACf,MAAM,CAAE,CAAC,CACT,QAAQ,CAAE,MAAM,CAChB,MAAM,CAAE,aAAa,CAIC,AATxB,AAME,SANE,AAMK,CACL,SAAS,CAAE,MAAM,CAAG,AAPxB,AAQE,WARE,AAQO,CACP,MAAM,CAAE,OAAO,CAAG,AACtB,AAAA,OAAO,AAAC,CACN,IAAI,CAAE,CAAC,CACP,OAAO,CAAE,IAAI,CACb,eAAe,CAAE,QAAQ,CACzB,QAAQ,CAAE,QAAQ,CAkDc,AAtDlC,AAKE,aALK,AAKG,CACN,OAAO,CAAE,2BAA2B,CACpC,aAAa,CAAE,MAAM,CACrB,KAAK,CAAE,OAAO,CACd,OAAO,CAAE,IAAI,CACb,MAAM,CAAE,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAC5C,UAAU,CAAE,WAAW,CACvB,KAAK,CAAE,WAAW,CAClB,UAAU,CAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CACxC,SAAS,CAAE,IAAI,CAEoB,AAhBvC,AAeI,aAfG,CAeD,KAAK,CAfX,aAAO,CAeQ,KAAK,AAAC,CACf,UAAU,CAAE,gBAAgB,CAAG,AAhBrC,AAiBE,aAjBK,AAiBG,CACN,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,OAAO,CACb,GAAG,CAAE,OAAO,CACZ,OAAO,CAAE,IAAI,CAIW,AA3B5B,AAwBI,aAxBG,CAwBH,GAAG,AAAC,CACF,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,IAAI,CAAE,WAAW,CAAG,AA3B1B,AA4BE,cA5BK,AA4BI,CACP,OAAO,CAAE,WAAW,CACpB,OAAO,CAAE,KAAK,CAiBU,AA/C5B,AA+BI,cA/BG,CA+BF,GAAK,CAAA,QAAQ,EAAE,KAAK,AAAC,CACpB,gBAAgB,CAAE,YAAY,CAC9B,KAAK,CAAE,YAAY,CAAG,AAjC5B,AAkCI,cAlCG,AAkCF,QAAQ,AAAC,CACR,OAAO,CAAE,IAAI,CAAG,AAnCtB,AAoCI,eApCG,AAoCA,CACD,KAAK,CAAE,OAAO,CACd,gBAAgB,CAAE,cAAc,CAChC,aAAa,CAAE,mBAAmB,CAClC,UAAU,CAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CACxC,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,IAAI,CACT,OAAO,CAAE,IAAI,CACb,QAAQ,CAAE,MAAM,CAChB,OAAO,CAAE,CAAC,CAEU,AA/C1B,AA8CM,eA9CC,CA8CC,KAAK,AAAC,CACN,OAAO,CAAE,IAAI,CAAG,AA/CxB,AAgDE,aAhDK,AAgDG,CACN,OAAO,CAAE,uBAAuB,CAChC,UAAU,CAAE,YAAY,CACxB,KAAK,CAAE,YAAY,CACnB,SAAS,CAAE,MAAM,CACjB,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,SAAS,CAAG,AAEhC,AAAA,OAAO,AAAC,CACN,gBAAgB,CAAE,YAAY,CAC9B,KAAK,CAAE,YAAY,CACnB,aAAa,CAAE,OAAO,CACtB,OAAO,CAAE,YAAY,CACrB,OAAO,CAAE,eAAe,CACxB,UAAU,CAAE,MAAM,CAYS,AAlB7B,AAOE,OAPK,CAOH,KAAK,AAAC,CACN,OAAO,CAAE,IAAI,CAAG,AARpB,AASE,OATK,CAAP,OAAO,AASC,CACJ,gBAAgB,CAAE,WAAW,CAC7B,KAAK,CAAE,WAAW,CAAG,AAXzB,AAYE,YAZK,AAYE,CACL,OAAO,CAAE,IAAI,CACb,SAAS,CAAE,KAAK,CAChB,QAAQ,CAAE,IAAI,CACd,qBAAqB,CAAE,oCAAsC,CAEtC,AADvB,MAAM,8BALR,CAZF,AAYE,YAZK,AAYE,CAMH,SAAS,CAAE,KAAK,CAAK,CAAA,AAE3B,AAAA,MAAM,AAAC,CACL,QAAQ,CAAE,MAAM,CAChB,cAAc,CAAE,MAAM,CACtB,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,CAAC,CACT,MAAM,CAAE,QAAQ,CAChB,aAAa,CAAE,MAAM,CACrB,gBAAgB,CAAE,SAAS,CAC3B,UAAU,CAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAQX,AAhB/B,AASE,MATI,CASJ,MAAM,AAAC,CACL,IAAI,CAAE,CAAC,CACP,GAAG,CAAE,CAAC,CACN,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,QAAQ,CAClB,SAAS,CAAE,WAAW,CAAG,AAC7B,AAAA,KAAK,AAAC,CACJ,KAAK,CAAE,MAAM,CACb,MAAM,CAAE,MAAM,CACd,OAAO,CAAE,WAAW,CACpB,eAAe,CAAE,MAAM,CACvB,WAAW,CAAE,MAAM,CACnB,MAAM,CAAE,QAAQ,CAAG,AAErB,AAAA,KAAK,AAAC,CACJ,OAAO,CAAE,CAAC,CACV,QAAQ,CAAE,QAAQ,CA2BW,AA7B/B,AAGE,WAHG,CAGK,KAAK,CAHf,KAAK,AAGa,CACd,OAAO,CAAE,CAAC,CAAG,AAJjB,AAKE,UALG,AAKI,CACL,OAAO,CAAE,CAAC,CAuBe,AA7B7B,AAOI,YAPC,AAOG,CACF,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,OAAO,CACd,GAAG,CAAE,KAAK,CACV,gBAAgB,CAAE,YAAY,CAC9B,KAAK,CAAE,YAAY,CACnB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,cAAc,CACvB,SAAS,CAAE,MAAM,CACjB,aAAa,CAAE,IAAI,CACnB,UAAU,CAAE,MAAM,CAYG,AA7B3B,AAkBM,YAlBD,EAkBI,KAAK,AAAC,CACP,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,IAAI,CACT,OAAO,CAAE,EAAE,CACX,YAAY,CAAE,YAAY,CAAC,WAAW,CACtC,YAAY,CAAE,KAAK,CACnB,YAAY,CAAE,gBAAgB,CAC9B,MAAM,CAAE,CAAC,CACT,KAAK,CAAE,CAAC,CACR,gBAAgB,CAAE,OAAO,CACzB,SAAS,CAAE,cAAc,CACzB,KAAK,CAAE,OAAO,CAAG,AAEzB,AAAA,QAAQ,AAAC,CACP,KAAK,CAAE,IAAI,CACX,YAAY,CAAE,CAAC,CACf,UAAU,CAAE,IAAI,CAOK,AANrB,MAAM,8BAJR,CAAA,AAAA,QAAQ,AAAC,CAKL,YAAY,CAAE,CAAC,CAKI,CAAA,AAVvB,AAME,aANM,AAMC,CACL,gBAAgB,CAAE,WAAW,CAC7B,MAAM,CAAE,QAAQ,CAAG,AARvB,AASE,cATM,AASE,CACN,MAAM,CAAE,MAAM,CAAG,AAErB,AAAA,MAAM,AAAC,CACL,OAAO,CAAE,IAAI,CACb,eAAe,CAAE,aAAa,CAC9B,WAAW,CAAE,MAAM,CACnB,WAAW,CAAE,IAAI,CACjB,MAAM,CAAE,MAAM,CACd,SAAS,CAAE,KAAK,CAChB,QAAQ,CAAE,MAAM,CAiEO,AAxEzB,AAQE,MARI,CAQJ,GAAG,AAAC,CACF,MAAM,CAAE,aAAa,CACrB,KAAK,CAAE,OAAO,CACd,MAAM,CAAE,IAAI,CACZ,gBAAgB,CAAE,OAAO,CAAG,AAZhC,AAcE,WAdI,AAcG,CACL,eAAe,CAAE,QAAQ,CAAG,AAfhC,AAiBE,YAjBI,AAiBI,CACN,SAAS,CAAE,IAAI,CACf,QAAQ,CAAE,MAAM,CAChB,WAAW,CAAE,MAAM,CACnB,aAAa,CAAE,QAAQ,CAAG,AArB9B,AAuBE,WAvBI,AAuBG,CACL,OAAO,CAAE,WAAW,CACpB,aAAa,CAAE,OAAO,CACtB,KAAK,CAAE,OAAO,CACd,SAAS,CAAE,IAAI,CACf,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,MAAM,CACnB,UAAU,CAAE,MAAM,CAClB,eAAe,CAAE,MAAM,CAOS,AAvCpC,AAiCI,WAjCE,EAiCC,MAAM,CAjCb,WAAM,EAiCY,KAAK,AAAC,CAClB,gBAAgB,CAAE,gBAAgB,CAClC,MAAM,CAAE,MAAM,CACd,KAAK,CAAE,MAAM,CACb,eAAe,CAAE,IAAI,CACrB,iBAAiB,CAAE,SAAS,CAC5B,gBAAgB,CAAE,OAAO,CAAG,AAvClC,AAyCE,WAzCI,AAyCG,CACL,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,MAAM,CACtB,IAAI,CAAE,CAAC,CACP,SAAS,CAAE,GAAG,CAUQ,AAvD1B,AA+CI,WA/CE,AA+CD,KAAK,AAAC,CACL,WAAW,CAAE,UAAU,CAC3B,AAjDF,AAmDI,WAnDE,AAmDD,KAAK,AAAC,CACL,WAAW,CAAE,QAAQ,CAGH,AAvDxB,AAsDM,WAtDA,AAmDD,KAAK,EAGD,KAAK,AAAC,CACP,OAAO,CAAE,EAAE,CAAG,AAvDtB,AA0DI,WA1DE,AAyDE,KAAK,CAzDb,WAAM,EA0DC,MAAM,AAAC,CACR,OAAO,CAAE,EAAE,CACX,SAAS,CAAE,cAAc,CACzB,YAAY,CAAE,OAAO,CAAG,AA7D9B,AAgEI,WAhEE,AA+DE,KAAK,CA/Db,WAAM,EAgEC,KAAK,AAAC,CACP,OAAO,CAAE,EAAE,CACX,WAAW,CAAE,OAAO,CAAG,AAlE7B,AAoEE,WApEI,AAoEE,KAAK,CApEb,WAAM,AAoEe,CACjB,qBAAqB,CAAE,UAAU,CAAG,AArExC,AAuEE,WAvEI,AAuEG,CACL,MAAM,CAAE,QAAQ,CAAG,AAEvB,AACE,WADI,AACG,CACL,MAAM,CAAE,IAAI,CACZ,WAAW,CAAE,MAAM,CAAG,AAH1B,AAKE,aALI,AAKK,CACP,OAAO,CAAE,IAAI,CACb,MAAM,CAAE,IAAI,CACZ,kBAAkB,CAAE,IAAI,CACxB,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,aAAa,CAAE,IAAI,CACnB,MAAM,CAAE,OAAO,CACf,OAAO,CAAE,CAAC,CACV,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,aAAa,CAoBa,AApCtC,AAkBI,aAlBE,EAkBC,KAAK,AAAC,CACP,OAAO,CAAE,EAAE,CACX,GAAG,CAAE,MAAM,CACX,MAAM,CAAE,CAAC,CACT,IAAI,CAAE,CAAC,CACP,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,MAAM,CACd,UAAU,CAAE,aAAa,CACzB,KAAK,CAAE,MAAM,CACb,aAAa,CAAE,OAAO,CACtB,OAAO,CAAE,CAAC,CACV,SAAS,CAAE,WAAW,CACtB,gBAAgB,CAAE,OAAO,CACzB,UAAU,CAAE,SAAS,CAAC,IAAI,CAAC,8BAAyB,CACpD,WAAW,CAAE,SAAS,CACtB,gBAAgB,CAAE,eAAe,CACjC,eAAe,CAAE,GAAG,CACpB,iBAAiB,CAAE,SAAS,CAC5B,mBAAmB,CAAE,MAAM,CAAG,AApCpC,AAsCE,WAtCI,AAsCG,CACL,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,CAAC,CACV,QAAQ,CAAE,QAAQ,CAClB,SAAS,CAAE,gBAAgB,CAC3B,UAAU,CAAE,SAAS,CAAC,IAAI,CAAC,8BAAyB,CACpD,KAAK,CAAE,MAAM,CAAG,AAEpB,AAAA,IAAI,AAAC,CACH,OAAO,CAAE,yBAAyB,CAClC,MAAM,CAAE,QAAQ,CAChB,WAAW,CAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CACtC,QAAQ,CAAE,QAAQ,CAClB,UAAU,CAAE,aAAa,CA6BU,AAlCrC,AAME,IANE,CAMF,UAAU,AAAC,CACT,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,CAAC,CACT,MAAM,CAAE,IAAI,CAEQ,AAXxB,AAUI,IAVA,CAMF,UAAU,EAIL,MAAM,AAAC,CACR,OAAO,CAAE,IAAI,CAAG,AAXtB,AAaI,IAbA,CAYF,CAAC,CACG,WAAW,CAbjB,IAAI,CAYF,CAAC,CACkB,CAAC,AAAC,CACjB,WAAW,CAAE,CAAC,CAAG,AAdvB,AAeI,IAfA,CAYF,CAAC,CAGG,UAAU,AAAC,CACX,cAAc,CAAE,CAAC,CAAG,AAhB1B,AAiBE,YAjBE,AAiBQ,CACR,OAAO,CAAA,oBAAC,CAAuB,AAlBnC,AAmBE,YAnBE,EAmBS,MAAM,AAAC,CAChB,SAAS,CAAE,cAAc,CAAG,AApBhC,AAqBE,IArBE,EAqBC,MAAM,AAAC,CACR,OAAO,CAAE,EAAE,CACX,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,QAAQ,CACd,GAAG,CAAE,MAAM,CACX,OAAO,CAAE,CAAC,CACV,OAAO,CAAE,OAAO,CAChB,gBAAgB,CAAE,OAAO,CACzB,aAAa,CAAE,GAAG,CAClB,gBAAgB,CAAE,YAAY,CAC9B,gBAAgB,CAAE,gBAAgB,CAClC,eAAe,CAAE,GAAG,CACpB,mBAAmB,CAAE,OAAO,CAC5B,iBAAiB,CAAE,SAAS,CAAG,AAEnC,AAAA,KAAK,AAAC,CACJ,OAAO,CAAE,IAAI,CACb,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,aAAa,CACrB,QAAQ,CAAE,QAAQ,CAkDA,AAtDpB,AAME,KANG,AAMF,UAAU,AAAC,CACV,eAAe,CAAE,UAAU,CAMU,AAbzC,AASI,KATC,AAMF,UAAU,CAGT,KAAK,AAAA,UAAU,AAAC,CACd,YAAY,CAAE,MAAM,CAAG,AAV7B,AAYI,KAZC,AAMF,UAAU,CAMT,YAAY,AAAC,CACX,aAAa,CAAE,eAAe,CAAG,AAbvC,AAeE,KAfG,AAeF,WAAW,AAAC,CACX,eAAe,CAAE,QAAQ,CAMY,AAtBzC,AAkBI,KAlBC,AAeF,WAAW,CAGV,KAAK,AAAA,UAAU,AAAC,CACd,WAAW,CAAE,MAAM,CAAG,AAnB5B,AAqBI,KArBC,AAeF,WAAW,CAMV,YAAY,AAAC,CACX,aAAa,CAAE,eAAe,CAAG,AAtBvC,AAwBE,KAxBG,CAwBH,KAAK,AAAA,UAAU,AAAC,CACd,OAAO,CAAE,IAAI,CAAG,AAzBpB,AA2BE,KA3BG,CA2BH,KAAK,AAAA,UAAU,AAAC,CACd,gBAAgB,CAAE,aAAa,CAAC,WAAW,CAC3C,YAAY,CAAE,YAAY,CAC1B,aAAa,CAAE,eAAe,CAC9B,YAAY,CAAE,KAAK,CACnB,mBAAmB,CAAE,MAAM,CAC3B,YAAY,CAAE,GAAG,CACjB,MAAM,CAAE,OAAO,CACf,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,CAAC,CACR,OAAO,CAAE,aAAa,CACtB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,GAAG,CACR,WAAW,CAAE,IAAI,CAAG,AAxCxB,AA0CE,KA1CG,CA0CH,KAAK,AAAA,UAAU,CAAC,OAAO,CAAG,KAAK,AAAA,UAAU,AAAC,CACxC,gBAAgB,CAAE,aAAa,CAC/B,YAAY,CAAE,YAAY,CAAG,AA5CjC,AA8CE,KA9CG,CA8CH,YAAY,AAAC,CACX,gBAAgB,CAAE,aAAa,CAC/B,YAAY,CAAE,YAAY,CAC1B,YAAY,CAAE,KAAK,CACnB,YAAY,CAAE,GAAG,CACjB,OAAO,CAAE,IAAI,CACb,KAAK,CAAE,CAAC,CACR,OAAO,CAAE,IAAI,CACb,KAAK,CAAE,IAAI,CAAG,AC1XlB,AAAA,IAAI,CAAA,AAAA,SAAC,CAAU,MAAM,AAAhB,EAAkB,QAAQ,AAAC,CAC9B,OAAO,CAAA,cAAC,CACR,gBAAgB,CAAE,sBAAsB,CACxC,aAAa,CAAE,MAAM,CAGA,AANvB,AAIE,IAJE,CAAA,AAAA,SAAC,CAAU,MAAM,AAAhB,EAAkB,QAAQ,CAI7B,GAAG,AAAC,CACF,MAAM,CAAE,MAAM,CACd,OAAO,CAAE,KAAK,CAAG,ACDrB,AAAA,KAAK,AAAC,CACJ,MAAM,CAAE,MAAM,CACd,KAAK,CAAE,IAAI,CAoKiC,AAtK9C,AAGE,KAHG,CAGH,CAAC,CAHH,KAAK,CAGA,EAAE,CAHP,KAAK,CAGI,EAAE,CAHX,KAAK,CAGQ,EAAE,CAHf,KAAK,CAGY,EAAE,CAHnB,KAAK,CAGgB,EAAE,CAHvB,KAAK,CAGoB,EAAE,CAH3B,KAAK,CAGwB,UAAU,CAHvC,KAAK,CAGoC,EAAE,CAH3C,KAAK,CAGwC,EAAE,CAH/C,KAAK,CAG4C,eAAe,CAHhE,KAAK,CAG6D,EAAE,AAAC,CACjE,SAAS,CAAE,gBAAgB,CAC3B,WAAW,CAAE,IAAI,CACjB,YAAY,CAAE,IAAI,CAAG,AAGrB,MAAM,+BADR,CARF,AAQE,KARG,CAQH,GAAG,CAAA,GAAK,CAAA,KAAK,CAAE,CAEX,OAAO,CAAE,KAAK,CACd,KAAK,CAAE,KAAK,CACZ,SAAS,CAAE,MAAM,CACjB,WAAW,CAAE,IAAI,CACjB,YAAY,CAAE,IAAI,CAAK,CAAA,AAd7B,AAgBE,KAhBG,CAgBH,EAAE,CAhBJ,KAAK,CAgBA,EAAE,CAhBP,KAAK,CAgBG,EAAE,AAAC,CACP,MAAM,CAAE,WAAW,CACnB,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,SAAS,CAAG,AAnBzB,AAqBE,KArBG,CAqBH,CAAC,AAAC,CACA,cAAc,CAAE,MAAM,CACtB,WAAW,CAAE,MAAM,CACnB,SAAS,CAAE,OAAO,CAAG,AAxBzB,AA0BE,MA1BG,AA0BA,CACD,OAAO,CAAE,IAAI,CACb,eAAe,CAAE,aAAa,CAC9B,SAAS,CAAE,QAAQ,CACnB,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,OAAO,CAAG,AA/B3B,AAiCE,MAjCG,CAiCD,GAAK,CAAA,MAAM,CAAE,CACb,OAAO,CAAE,MAAM,CAAG,AAlCtB,AAoCE,KApCG,CAoCH,EAAE,AAAC,CACD,OAAO,CAAE,YAAY,CAAG,AArC5B,AAwCI,UAxCC,CAwCD,GAAG,AAAC,CACF,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,IAAI,CAAG,AA1CxB,AA4CI,WA5CC,CA4CD,CAAC,AAAC,CACA,KAAK,CAAE,YAAY,CACnB,UAAU,CAAE,QAAQ,CAGa,AAjDvC,AA+CM,WA/CD,CA4CD,CAAC,CAGG,KAAK,AAAC,CACN,OAAO,CAAE,GAAG,CACZ,eAAe,CAAE,SAAS,CAAG,AAjDrC,AAmDI,WAnDC,CAmDD,GAAG,CAAA,GAAK,CAAA,KAAK,CAAE,CACb,aAAa,CAAE,IAAI,CACnB,UAAU,CAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAE,KAAI,CAAC,gBAAgB,CAG3B,AAxD3B,AAsDM,WAtDD,CAmDD,GAAG,CAAA,GAAK,CAAA,KAAK,EAGT,EAAE,CAtDV,WAAK,CAmDD,GAAG,CAAA,GAAK,CAAA,KAAK,EAGH,EAAE,CAtDhB,WAAK,CAmDD,GAAG,CAAA,GAAK,CAAA,KAAK,EAGG,EAAE,CAtDtB,WAAK,CAmDD,GAAG,CAAA,GAAK,CAAA,KAAK,EAGS,EAAE,AAAC,CACrB,UAAU,CAAE,CAAC,CACb,WAAW,CAAE,CAAC,CAAG,AAxDzB,AA0DE,KA1DG,CA0DH,KAAK,AAAC,CACJ,UAAU,CAAE,CAAC,CACb,aAAa,CAAE,CAAC,CAAG,AA5DvB,AA8DE,UA9DG,AA8DI,CACL,KAAK,CAAE,YAAY,CAAG,AA/D1B,AAiEE,UAjEG,AAiEI,CACL,OAAO,CAAE,CAAC,CACV,UAAU,CAAE,qBAAqB,CAAG,AAnExC,AAqEE,UArEG,AAqEI,CAzEP,UAAU,CAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAoB,CA2EvC,MAAM,CAAE,SAAS,CACjB,aAAa,CAAE,IAAI,CACnB,QAAQ,CAAE,MAAM,CAChB,KAAK,CAAE,IAAI,CAEM,AA5ErB,AAHE,UAGG,CAHD,KAAK,AAAC,CACN,UAAU,CAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAA6B,CAAG,AA6ErD,MAAM,8BANR,CArEF,AAqEE,UArEG,AAqEI,CAOH,KAAK,CAAE,GAAG,CAAK,CAAA,AA5ErB,AA8EE,UA9EG,CA8EI,KAAK,CA9Ed,UAAK,AA8EiB,CAClB,OAAO,CAAE,CAAC,CAAG,AA/EjB,AAiFE,UAjFG,AAiFI,CACL,OAAO,CAAE,OAAO,CAChB,SAAS,CAAE,MAAM,CACjB,MAAM,CAAE,OAAO,CACf,UAAU,CAAE,IAAI,CAAG,AArFvB,AAuFE,UAvFG,AAuFI,CACL,QAAQ,CAAE,MAAM,CAChB,OAAO,CAAE,GAAG,CACZ,SAAS,CAAE,OAAO,CAClB,WAAW,CAAE,GAAG,CAChB,OAAO,CAAE,WAAW,CACpB,qBAAqB,CAAE,QAAQ,CAC/B,gBAAgB,CAAE,YAAY,CAC9B,OAAO,CAAE,CAAC,CACV,WAAW,CAAE,MAAM,CACnB,aAAa,CAAE,MAAM,CACrB,KAAK,CAAE,WAAW,CAClB,cAAc,CAAE,UAAU,CAKH,AAxG3B,AAqGM,UArGD,CAoGD,CAAC,CACG,KAAK,AAAC,CACN,KAAK,CAAE,YAAY,CACnB,eAAe,CAAE,SAAS,CAC1B,OAAO,CAAE,GAAG,CAAG,AAxGvB,AA0GE,WA1GG,AA0GK,CACN,OAAO,CAAE,IAAI,CACb,eAAe,CAAE,QAAQ,CAAG,AA5GhC,AA8GE,SA9GG,AA8GG,CACJ,SAAS,CAAE,kBAAkB,CAC7B,WAAW,CAAE,GAAG,CAChB,UAAU,CAAE,YAAY,CACxB,KAAK,CAAE,YAAY,CACnB,OAAO,CAAE,0BAA0B,CACnC,cAAc,CAAE,SAAS,CACzB,OAAO,CAAE,WAAW,CACpB,aAAa,CAAE,GAAG,CAAG,AAtHzB,AAwHE,WAxHG,AAwHK,CACN,MAAM,CAAE,cAAc,CAAG,AAzH7B,AA2HE,UA3HG,AA2HI,CACL,UAAU,CAAE,YAAY,CACxB,OAAO,CAAE,WAAW,CACpB,OAAO,CAAE,cAAc,CACvB,KAAK,CAAE,YAAY,CAAG,AA/H1B,AAiIE,eAjIG,AAiIS,CACV,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,CAAC,CAAG,AAnIhB,AAqIE,SArIG,AAqIG,CACJ,OAAO,CAAE,WAAW,CACpB,OAAO,CAAE,IAAI,CACb,MAAM,CAAE,iBAAiB,CACzB,UAAU,CAAE,MAAM,CAClB,KAAK,CAAE,YAAY,CAEnB,cAAc,CAAE,SAAS,CAcC,AA1J9B,AA6II,SA7IC,CAAL,SAAK,CA6IE,IAAI,AAAC,CACN,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,CAAC,CAAG,AA/InB,AAiJI,SAjJC,EAiJE,MAAM,AAAC,CACR,OAAO,CAAE,EAAE,CACX,QAAQ,CAAE,QAAQ,CAClB,UAAU,CAAE,aAAa,CACzB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,MAAM,CAAE,CAAC,CACT,KAAK,CAAE,CAAC,CACR,OAAO,CAAE,CAAC,CACV,aAAa,CAAE,IAAI,CAAG,AA1J5B,AA4JE,UA5JG,AA4JI,CACL,OAAO,CAAE,WAAW,CACpB,MAAM,CAAE,MAAM,CACd,KAAK,CAAE,KAAK,CACZ,qBAAqB,CAAE,WAAW,CAMM,AAtK5C,AAiKI,UAjKC,EAiKE,KAAK,AAAC,CACP,OAAO,CAAE,EAAE,CACX,gBAAgB,CAAE,qBAAqB,CACvC,iBAAiB,CAAE,gBAAgB,CACnC,eAAe,CAAE,MAAM,CACvB,mBAAmB,CAAE,YAAY,CAAG,AA0B1C,AAAA,QAAQ,AAAC,CACP,OAAO,CAAE,kBAAkB,CAC3B,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,CAAC,CAOO,AAVnB,AAIE,aAJM,AAIC,CACL,OAAO,CAAE,IAAI,CACb,eAAe,CAAE,aAAa,CAC9B,WAAW,CAAE,MAAM,CACnB,SAAS,CAAE,mBAAmB,CAC9B,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,CAAC,CAAG,AAEjB,AACE,aADM,AACC,CACL,OAAO,CAAE,IAAI,CACb,OAAO,CAAE,QAAQ,CAAG,AAHxB,AAKE,cALM,AAKE,CACN,MAAM,CAAE,CAAC,CAAG,AAEhB,AAAA,QAAQ,AAAC,CACP,UAAU,CAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAC1C,QAAQ,CAAE,MAAM,CAChB,aAAa,CAAE,MAAM,CAqFD,AAxFtB,AAIE,cAJM,AAIE,CACN,MAAM,CAAE,CAAC,CAAG,AALhB,AAME,gBANM,AAMI,CAIR,UAAU,CAAE,yBAAyB,CAAG,AAV5C,AAOI,gBAPI,CAOH,GAAK,CAAA,QAAQ,CAAE,CACd,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,CAAC,CAAG,AATnB,AAWE,gBAXM,CAAR,aAAQ,AAYC,CACL,gBAAgB,CAAE,MAAM,CAAG,AAb/B,AAcE,aAdM,AAcC,CACL,OAAO,CAAE,oBAAoB,CAC7B,KAAK,CAAE,WAAW,CAClB,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,CAAC,CACV,UAAU,CAAE,eAAe,CAC3B,UAAU,CAAE,SAAS,CAQC,AA5B1B,AAqBI,aArBI,AAqBH,SAAS,AAAC,CACT,gBAAgB,CAAE,MAAM,CACxB,UAAU,CAAE,cAAc,CAC1B,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,MAAM,CACtB,eAAe,CAAE,MAAM,CAEL,AADlB,MAAM,8BANR,CArBJ,AAqBI,aArBI,AAqBH,SAAS,AAAC,CAOP,IAAI,CAAE,KAAK,CAAK,CAAA,AA5BxB,AA8BE,cA9BM,AA8BE,CACN,OAAO,CAAE,IAAI,CACb,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,CAAC,CACV,QAAQ,CAAE,MAAM,CAChB,MAAM,CAAE,KAAK,CACb,eAAe,CAAE,KAAK,CACtB,mBAAmB,CAAE,OAAO,CAiBY,AAhBxC,MAAM,8BARR,CA9BF,AA8BE,cA9BM,AA8BE,CASJ,MAAM,CAAE,OAAO,CAeuB,CAAA,AAtD5C,AAyCI,cAzCI,CAyCJ,GAAG,AAAC,CACF,UAAU,CAAE,4BAA4B,CAAG,AA1CjD,AA4CI,cA5CI,EA4CD,KAAK,AAAC,CACP,OAAO,CAAE,EAAE,CACX,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,CAAC,CACV,UAAU,CAAE,SAAS,CACrB,OAAO,CAAE,CAAC,CACV,UAAU,CAAE,qBAAqB,CAAG,AAtD1C,AAwDE,iBAxDM,CAAR,cAAQ,AAwDa,CACjB,MAAM,CAAE,KAAK,CAAG,AAzDpB,AA2DE,iBA3DM,CAAR,aAAQ,AA2DY,CAChB,WAAW,CAAE,MAAM,CAAG,AA5D1B,AA+DI,QA/DI,CA8DJ,KAAK,CA9DT,cAAQ,CA+DJ,GAAG,AAAC,CACF,SAAS,CAAE,UAAU,CAAG,AAhE9B,AAkEI,QAlEI,CA8DJ,KAAK,CA9DT,cAAQ,EAkED,KAAK,AAAC,CACP,UAAU,CAAE,qBAAqB,CACjC,OAAO,CAAE,GAAG,CAAG,AApErB,AAsEE,QAtEM,CAsEJ,KAAK,CAtET,gBAAQ,CAsEW,GAAK,CAAA,QAAQ,CAAE,CAC9B,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,CAAC,CAAG,AAxEjB,AA2EI,QA3EI,CA0EJ,KAAK,CA1ET,aAAQ,CA2EH,GAAK,CAAA,SAAS,CAAE,CACf,UAAU,CAAE,KAAK,CAAG,AAEtB,MAAM,8BACJ,CA/EN,AA+EM,QA/EE,CA0EJ,KAAK,CA1ET,aAAQ,AA+ED,SAAS,AAAC,CACT,SAAS,CAAE,iBAAiB,CAAG,CAAA,AAhFvC,AAkFE,QAlFM,CAkFJ,KAAK,AAAC,CACN,UAAU,CAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAEV,AArFpC,AAoFI,QApFI,CAkFJ,KAAK,CAEL,CAAC,AAAC,CACA,KAAK,CAAE,kBAAkB,CAAG,AArFlC,AAuFE,eAvFM,AAuFG,CACP,OAAO,CAAE,IAAI,CAAG,ACjTpB,AAAA,KAAK,AAAC,CACJ,SAAS,CAAE,MAAM,CAMI,AALrB,MAAM,+BAFR,CAAA,AAAA,KAAK,AAAC,CAGF,SAAS,CAAE,MAAM,CAIE,CAAA,AAPvB,AAIE,KAJG,CAAL,KAAK,AAIE,CACH,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,MAAM,CACf,MAAM,CAAE,MAAM,CAAG,AAPrB,AAYE,KAZG,AAYC,CACF,WAAW,CAHN,MAAW,CAGK,AAbzB,AAeE,KAfG,AAeC,CACF,cAAc,CANT,MAAW,CAMQ,AAhB5B,AAkBE,KAlBG,AAkBC,CACF,UAAU,CATL,MAAW,CASI,AAnBxB,AAqBE,KArBG,AAqBC,CACF,aAAa,CAZR,MAAW,CAYO,AAtB3B,AAYE,KAZG,AAYC,CACF,WAAW,CAHN,IAAW,CAGK,AAbzB,AAeE,KAfG,AAeC,CACF,cAAc,CANT,IAAW,CAMQ,AAhB5B,AAkBE,KAlBG,AAkBC,CACF,UAAU,CATL,IAAW,CASI,AAnBxB,AAqBE,KArBG,AAqBC,CACF,aAAa,CAZR,IAAW,CAYO,AAtB3B,AAYE,KAZG,AAYC,CACF,WAAW,CAHN,MAAW,CAGK,AAbzB,AAeE,KAfG,AAeC,CACF,cAAc,CANT,MAAW,CAMQ,AAhB5B,AAkBE,KAlBG,AAkBC,CACF,UAAU,CATL,MAAW,CASI,AAnBxB,AAqBE,KArBG,AAqBC,CACF,aAAa,CAZR,MAAW,CAYO,AAtB3B,AAYE,KAZG,AAYC,CACF,WAAW,CAHN,IAAW,CAGK,AAbzB,AAeE,KAfG,AAeC,CACF,cAAc,CANT,IAAW,CAMQ,AAhB5B,AAkBE,KAlBG,AAkBC,CACF,UAAU,CATL,IAAW,CASI,AAnBxB,AAqBE,KArBG,AAqBC,CACF,aAAa,CAZR,IAAW,CAYO,AAtB3B,AAYE,KAZG,AAYC,CACF,WAAW,CAHN,MAAW,CAGK,AAbzB,AAeE,KAfG,AAeC,CACF,cAAc,CANT,MAAW,CAMQ,AAhB5B,AAkBE,KAlBG,AAkBC,CACF,UAAU,CATL,MAAW,CASI,AAnBxB,AAqBE,KArBG,AAqBC,CACF,aAAa,CAZR,MAAW,CAYO,AAtB3B,AAYE,KAZG,AAYC,CACF,WAAW,CAHN,IAAW,CAGK,AAbzB,AAeE,KAfG,AAeC,CACF,cAAc,CANT,IAAW,CAMQ,AAhB5B,AAkBE,KAlBG,AAkBC,CACF,UAAU,CATL,IAAW,CASI,AAnBxB,AAqBE,KArBG,AAqBC,CACF,aAAa,CAZR,IAAW,CAYO,AAtB3B,AAYE,KAZG,AAYC,CACF,WAAW,CAHN,OAAW,CAGK,AAbzB,AAeE,KAfG,AAeC,CACF,cAAc,CANT,OAAW,CAMQ,AAhB5B,AAkBE,KAlBG,AAkBC,CACF,UAAU,CATL,OAAW,CASI,AAnBxB,AAqBE,KArBG,AAqBC,CACF,aAAa,CAZR,OAAW,CAYO,AAtB3B,AAYE,KAZG,AAYC,CACF,WAAW,CAHN,KAAW,CAGK,AAbzB,AAeE,KAfG,AAeC,CACF,cAAc,CANT,KAAW,CAMQ,AAhB5B,AAkBE,KAlBG,AAkBC,CACF,UAAU,CATL,KAAW,CASI,AAnBxB,AAqBE,KArBG,AAqBC,CACF,aAAa,CAZR,KAAW,CAYO,AAS3B,AAPA,OAOO,CAAE,OAAO,CAAE,OAAO,CAAE,UAAU,CAAE,aAAa,AAP9C,CACJ,OAAO,CAAE,IAAI,CACb,qBAAqB,CAAE,GAAG,CAAG,CAE/B,AAAA,AAAA,KAAC,EAAO,OAAO,AAAd,CAAgB,CACf,QAAQ,CAAE,IAAI,CAAG,AAKnB,MAAM,8BACJ,CAAA,AAAA,UAAU,AAAC,CACT,qBAAqB,CAAE,OAAO,CAAG,AAEnC,AAAA,aAAa,AAAC,CACZ,qBAAqB,CAAE,OAAO,CAAG,AAEnC,AAAA,OAAO,AAAC,CACN,qBAAqB,CAAE,cAAc,CAAG,AAE1C,AAAA,OAAO,AAAC,CACN,qBAAqB,CAAE,oCAAoC,CAAG,AAEhE,AAAA,OAAO,AAAC,CACN,qBAAqB,CAAE,oCAAoC,CAAG,CAZ7B,AAcrC,AAAA,OAAO,AAAC,CACN,KAAK,CAAE,YAAY,CAAG,AAExB,AAAA,GAAG,AAAC,CACF,UAAU,CAAE,YAAY,CACxB,KAAK,CAAE,YAAY,CAAG,AAExB,AACE,OADK,CACL,GAAG,AAAC,CACF,IAAI,CAAE,WAAW,CACjB,OAAO,CAAE,YAAY,CACrB,gBAAgB,CAAE,OAAO,CACzB,SAAS,CAAE,UAAU,CACrB,MAAM,CAAE,OAAO,CACf,MAAM,CAAE,CAAC,CAAG,AAEhB,AAAA,WAAW,AAAC,CACV,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,MAAM,CAClB,SAAS,CAAE,kBAAkB,CAIN,AAHvB,MAAM,8BAJR,CAAA,AAAA,WAAW,AAAC,CAKR,SAAS,CAAE,IAAI,CAEM,CAAA,AAPzB,AAME,WANS,CAMP,KAAK,AAAC,CACN,UAAU,CAAE,IAAI,CAAG,AAEvB,AAAA,MAAM,AAAC,CACL,OAAO,CAAE,IAAI,CACb,QAAQ,CAAE,MAAM,CAChB,SAAS,CAAE,eAAe,CAC1B,UAAU,CAAE,eAAe,CAAG,AAGhC,AAAA,KAAK,AAAC,CACJ,OAAO,CAAE,WAAW,CACpB,WAAW,CAAE,MAAM,CACnB,KAAK,CAAE,MAAM,CACb,MAAM,CAAE,SAAS,CACjB,OAAO,CAAE,SAAS,CAClB,OAAO,CAAE,CAAC,CACV,UAAU,CAAE,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAMzC,AAbrB,AAQE,KARG,CAQH,GAAG,CARL,KAAK,CAQE,GAAG,AAAC,CACP,KAAK,CAAE,MAAM,CACb,MAAM,CAAE,MAAM,CACd,IAAI,CAAE,YAAY,CAAG,AAXzB,AAYE,WAZG,CAYK,KAAK,CAZf,KAAK,AAYa,CACd,OAAO,CAAE,GAAG,CAAG,AAEnB,AAAA,KAAK,AAAC,CACJ,MAAM,CAAE,OAAO,CAAG,AAEpB,AAAA,kBAAkB,AAAC,CACjB,UAAU,CAAE,IAAI,CAChB,kBAAkB,CAAE,IAAI,CAAG,ACtG7B,UAAU,CAAV,KAAU,CACR,EAAE,CACA,OAAO,CAAE,CAAC,CACZ,GAAG,CACD,OAAO,CAAE,GAAG,CACd,IAAI,CACF,OAAO,CAAE,CAAC,EAEd,AAAA,IAAI,AAAC,CACH,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CAChB,UAAU,CAAE,MAAM,CAClB,OAAO,CAAE,KAAK,CACd,WAAW,CAAE,mBAAmB,CAChC,UAAU,CAAE,SAAS,CAIM,AAV7B,AAOE,IAPE,AAOD,QAAQ,AAAC,CACR,KAAK,CAAE,mBAAmB,CAC1B,OAAO,CAAE,MAAM,CACf,UAAU,CAAE,QAAQ,CAAG,AAC3B,AAAA,QAAQ,CAAC,UAAU,AAAC,CAClB,UAAU,CAAE,MAAM,CAEK,AAHzB,AAEE,QAFM,CAAC,UAAU,CAEf,KAAK,AAAC,CACN,UAAU,CAAE,IAAI,CAAG,AAEvB,AAAA,UAAU,AAAC,CACT,OAAO,CAAE,IAAI,CACb,KAAK,CAAE,IAAI,CACX,aAAa,CAAE,iBAAiB,CAChC,UAAU,CAAE,IAAI,CAChB,QAAQ,CAAE,QAAQ,CA6DmB,AAlEvC,AAME,eANQ,AAMD,CACL,OAAO,CAAE,IAAI,CACb,UAAU,CAAE,cAAc,CAAC,UAAU,CACrC,aAAa,CAAE,MAAM,CACrB,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,MAAM,CACf,MAAM,CAAE,qBAAqB,CAqBV,AAjCvB,AAaI,eAbM,CAAV,eAAU,AAaF,CACF,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,CAAC,CAAG,AAfnB,AAgBI,eAhBM,CAAV,eAAU,AAgBA,CACJ,UAAU,CAAE,OAAO,CAAG,AAjB5B,AAkBI,eAlBM,CAkBJ,KAAK,CAAG,GAAG,AAAC,CACZ,OAAO,CAAE,CAAC,CAAG,AAnBnB,AAoBI,eApBM,CAoBN,KAAK,AAAC,CACJ,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,KAAK,CAAE,CAAC,CACR,UAAU,CAAE,KAAK,CACjB,KAAK,CAAE,MAAM,CACb,OAAO,CAAE,WAAW,CACpB,UAAU,CAAE,MAAM,CAClB,cAAc,CAAE,SAAS,CACzB,SAAS,CAAE,GAAG,CACd,OAAO,CAAE,GAAG,CACZ,KAAK,CAAE,WAAW,CAAG,AA/B3B,AAgCI,eAhCM,CAgCJ,KAAK,CAAC,KAAK,AAAC,CACZ,OAAO,CAAE,GAAG,CAAG,AAjCrB,AAkCE,UAlCQ,CAAV,UAAU,AAkCJ,CACF,MAAM,CAAE,CAAC,CAAG,AAnChB,AAoCE,UApCQ,CAoCR,GAAG,AAAC,CACF,KAAK,CAAE,WAAW,CAAC,UAAU,CAC7B,aAAa,CAAE,GAAG,CAClB,WAAW,CAAE,mBAAmB,CAChC,WAAW,CAAE,MAAM,CACnB,cAAc,CAAE,IAAI,CAAG,AAzC3B,AA2CE,UA3CQ,CA2CR,KAAK,AAAC,CACJ,OAAO,CAAE,IAAI,CACb,SAAS,CAAE,IAAI,CACf,aAAa,CAAE,CAAC,CAChB,UAAU,CAAE,WAAW,CAAG,AA/C9B,AAgDE,UAhDQ,CAgDR,EAAE,CAhDJ,UAAU,CAgDJ,EAAE,AAAC,CACL,OAAO,CAAE,CAAC,CAAG,AAjDjB,AAmDE,UAnDQ,CAmDR,KAAK,AAAC,CACJ,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CAaqB,AAlErC,AAuDM,UAvDI,CAmDR,KAAK,CAGD,WAAW,CAtDjB,UAAU,CAmDR,KAAK,CAGD,WAAW,CACR,GAAG,AAAC,CACL,KAAK,CAAE,iBAAiB,CACxB,YAAY,CAAE,CAAC,CACf,aAAa,CAAE,CAAC,CAChB,KAAK,CAAE,qBAAqB,CAC5B,WAAW,CAAE,IAAI,CAAG,AA5D5B,AA8DM,UA9DI,CAmDR,KAAK,CAGD,WAAW,CAQX,GAAG,AAAC,CACF,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,MAAM,CACnB,cAAc,CAAE,MAAM,CAAG,AAEjC,AAAA,IAAI,AAAC,CACH,KAAK,CAAE,OAAO,CAAG,AACnB,AAAA,GAAG,AAAC,CACF,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,mBAAmB,CAAG,AACpC,AAAA,GAAG,CAAE,IAAI,AAAC,CACR,YAAY,CAAE,OAAO,CACrB,OAAO,CAAE,CAAC,CACV,UAAU,CAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAIZ,AAP1B,AAIE,GAJC,CAAH,GAAG,CAIE,IAAI,CAJJ,IAAI,CAAJ,IAAI,CAIJ,IAAI,AAAC,CACN,KAAK,CAAE,WAAW,CAClB,OAAO,CAAE,GAAG,CACZ,WAAW,CAAE,IAAI,CAAG,AAExB,AAAA,EAAE,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,AAAC,CACpC,KAAK,CAAE,OAAO,CACd,WAAW,CAAE,GAAG,CAAG,AAErB,AAAA,GAAG,CAAE,GAAG,AAAC,CACP,WAAW,CAAE,GAAG,CAAG,AAErB,AAAA,GAAG,CAAE,GAAG,CAAE,GAAG,AAAC,CACZ,KAAK,CAAE,OAAO,CAAG,AAEnB,AAAA,GAAG,CAAE,GAAG,CAAE,GAAG,AAAC,CACZ,KAAK,CAAE,OAAO,CAAG,AAEnB,AAAA,EAAE,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,AAAC,CAClE,KAAK,CAAE,OAAO,CAAG,AAEnB,AAAA,EAAE,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,AAAC,CAC/B,KAAK,CAAE,OAAO,CAAG,AAEnB,AAAA,GAAG,AAAC,CACF,KAAK,CAAE,OAAO,CACd,WAAW,CAAE,GAAG,CAAG,AAErB,AAAA,EAAE,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,AAAC,CAChB,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,MAAM,CAAG,AAEvB,AAAA,GAAG,AAAC,CACF,KAAK,CAAE,OAAO,CACd,gBAAgB,CAAE,OAAO,CACzB,WAAW,CAAE,GAAG,CAAG,AAErB,AAAA,GAAG,CAAE,IAAI,AAAC,CACR,KAAK,CAAE,OAAO,CACd,WAAW,CAAE,GAAG,CAAG,AAErB,AAAA,GAAG,CAAE,GAAG,AAAC,CACP,KAAK,CAAE,OAAO,CAAG,AAEnB,AAAA,GAAG,AAAC,CACF,UAAU,CAAE,MAAM,CAAG,AAEvB,AAAA,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,CAAE,GAAG,AAAC,CACtB,KAAK,CAAE,OAAO,CACd,WAAW,CAAE,GAAG,CAAG,AAErB,AAAA,GAAG,AAAC,CACF,KAAK,CAAE,OAAO,CAAG,AAEnB,AAAA,GAAG,AAAC,CACF,KAAK,CAAE,IAAI,CAAG,AAEhB,AAAA,GAAG,AAAC,CACF,KAAK,CAAE,IAAI,CAAG,AAEhB,AAAA,GAAG,AAAC,CACF,WAAW,CAAE,GAAG,CAAG,AAErB,AAAA,GAAG,AAAC,CACF,KAAK,CAAE,OAAO,CAAG,AACnB,AAAA,EAAE,AAAC,CACD,KAAK,CAAE,IAAI,CAAG,AAEhB,AACE,YADG,AACM,CACP,KAAK,CAAE,OAAO,CAAG,AAFrB,AAGE,UAHG,AAGI,CACL,KAAK,CAAE,OAAO,CAAG,AACnB,AAAA,EAAE,CALJ,UAAK,AAKO,CACR,KAAK,CAAE,YAAY,CAAG,AAE1B,AACE,SADE,AACK,CACL,WAAW,CAAE,QAAQ,CACrB,WAAW,CAAE,aAAa,CAC1B,WAAW,CAAE,SAAS,CACtB,WAAW,CAAE,WAAW,CACxB,SAAS,CAAE,UAAU,CAAG,AAN5B,AAQE,YARE,AAQO,GAAG,AAAC,CACX,OAAO,CAAE,IAAI,CAAG,AAGpB,AACE,UADI,AACE,CACJ,OAAO,CAAE,WAAW,CACpB,WAAW,CAAE,KAAK,CAClB,QAAQ,CAAE,IAAI,CACd,UAAU,CAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CACtC,UAAU,CAAE,cAAc,CAC1B,OAAO,CAAE,aAAa,CACtB,aAAa,CAAE,IAAI,CACnB,WAAW,CAAE,MAAM,CACnB,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,GAAG,CAAE,OAAO,CACZ,OAAO,CAAE,CAAC,CAAG,AAbjB,AAcE,WAdI,AAcG,CACL,OAAO,CAAE,WAAW,CACpB,WAAW,CAAE,MAAM,CACnB,eAAe,CAAE,MAAM,CACvB,MAAM,CAAE,OAAO,CACf,OAAO,CAAE,MAAM,CACf,gBAAgB,CAAE,OAAO,CACzB,MAAM,CAAE,CAAC,CAMY,AA3BzB,AAsBI,WAtBE,AAsBD,OAAO,AAAC,CACP,SAAS,CAAE,iBAAiB,CAAG,AAvBrC,AAwBI,WAxBE,CAwBF,GAAG,AAAC,CACF,IAAI,CAAE,WAAW,CACjB,KAAK,CAAE,MAAM,CACb,MAAM,CAAE,MAAM,CAAG,AA3BvB,AA4BE,WA5BI,AA4BG,CAEL,OAAO,CAAE,IAAI,CAAG,AA9BpB,AA+BE,WA/BI,AA+BG,CACL,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,YAAY,CACnB,MAAM,CAAE,CAAC,CACT,SAAS,CAAE,MAAM,CACjB,WAAW,CAAE,GAAG,CAChB,OAAO,CAAE,QAAQ,CACjB,MAAM,CAAE,OAAO,CACf,cAAc,CAAE,KAAK,CACrB,OAAO,CAAE,EAAE,CAAG,AAxClB,AAyCE,eAzCI,CAAN,WAAM,AAyCc,CAChB,OAAO,CAAE,IAAI,CAAG,AAEpB,AAAA,MAAM,AAAC,CACL,QAAQ,CAAE,QAAQ,CAOU,AAR9B,AAKE,MALI,EAKD,MAAM,AAAC,CACR,OAAO,CAAE,GAAG,CACZ,QAAQ,CAAE,QAAQ,CAClB,YAAY,CAAE,OAAO,CAAG,AAE5B,AACE,UADG,AACI,CACL,OAAO,CAAE,IAAI,CAAG,ACpPpB,UAAU,CACR,WAAW,CAAE,YAAY,CACzB,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,GAAG,CAChB,GAAG,CAAE,2BAA2B,CAAE,2BAA2B,CAAE,wCAAuD,CAAC,eAAe,CAAE,uCAAsD,CAAC,cAAc,CAC7M,YAAY,CAAE,IAAI,CAEpB,UAAU,CACR,WAAW,CAAE,YAAY,CACzB,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,GAAG,CAChB,GAAG,CAAE,yBAAyB,CAAE,yBAAyB,CAAE,sCAAqD,CAAC,eAAe,CAAE,qCAAoD,CAAC,cAAc,CACrM,YAAY,CAAE,IAAI,CAEpB,UAAU,CACR,WAAW,CAAE,YAAY,CACzB,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,GAAG,CAChB,GAAG,CAAE,gCAAgC,CAAE,+BAA+B,CAAE,4CAA2D,CAAC,eAAe,CAAE,2CAA0D,CAAC,cAAc,CAC9N,YAAY,CAAE,IAAI,CAEpB,UAAU,CACR,WAAW,CAAE,YAAY,CACzB,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,GAAG,CAChB,GAAG,CAAE,0BAA0B,CAAE,0BAA0B,CAAE,uCAAsD,CAAC,eAAe,CAAE,sCAAqD,CAAC,cAAc,CACzM,YAAY,CAAE,IAAI,CAEpB,UAAU,CACR,WAAW,CAAE,YAAY,CACzB,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,GAAG,CAChB,GAAG,CAAE,iCAAiC,CAAE,gCAAgC,CAAE,6CAA4D,CAAC,eAAe,CAAE,4CAA2D,CAAC,cAAc,CAClO,YAAY,CAAE,IAAI,CAEpB,UAAU,CACR,WAAW,CAAE,QAAQ,CACrB,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,GAAG,CAChB,GAAG,CAAE,uBAAuB,CAAE,8CAA6D,CAAC,eAAe,CAAE,6CAA4D,CAAC,cAAc,CACxL,YAAY,CAAE,IAAI,CCzCpB,UAAU,CAAV,wBAAU,CACR,EAAE,CACA,OAAO,CAAE,GAAG,CACd,IAAI,CACF,OAAO,CAAE,CAAC,EAEd,AACE,uBADM,AACW,CACf,SAAS,CAAE,4BAA4B,CAAG,AAF9C,AAKI,qBALI,CAAR,4BAAQ,CAAR,4BAAQ,AAKkB,CACpB,QAAQ,CAAE,QAAQ,CAClB,SAAS,CAAE,GAAG,CACd,IAAI,CAAE,CAAC,CACP,GAAG,CAAE,CAAC,CACN,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CACT,QAAQ,CAAE,MAAM,CAChB,cAAc,CAAE,IAAI,CACpB,UAAU,CAAE,MAAM,CAClB,OAAO,CAAE,EAAE,CAAG,AAfpB,AAkBM,4BAlBE,CAkBA,GAAG,AAAC,CACJ,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,SAAS,CAChB,MAAM,CAAE,SAAS,CACjB,IAAI,CAAE,CAAC,CACP,GAAG,CAAE,CAAC,CAAG,AAvBjB,AA0BM,4BA1BE,CA0BA,GAAG,AAAC,CACJ,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,IAAI,CAAE,CAAC,CACP,GAAG,CAAE,CAAC,CAAG,ACjCjB,AAAA,IAAI,AAAC,CACH,kBAAkB,CAAA;yBAAC,CACK,AAI1B,AAAA,QAAQ,AAAC,CACP,SAAS,CAAE,KAAK,CAChB,OAAO,CAAE,MAAM,CACf,KAAK,CAAE,IAAI,CAAG,AAEhB,AAAA,cAAc,AAAC,CACb,gBAAgB,CAAE,KAAK,CACvB,aAAa,CAAE,GAAG,CAClB,ANlBF,AAAA,IAAI,CAAA,AAAA,SAAC,CAAU,MAAM,AAAhB,EAAkB,QAAQ,AAAC,CAC9B,OAAO,CAAA,cAAC,CACR,gBAAgB,CAAE,sBAAsB,CACxC,aAAa,CAAE,MAAM,CAGA,AANvB,AAIE,IAJE,CAAA,AAAA,SAAC,CAAU,MAAM,AAAhB,EAAkB,QAAQ,CAI7B,GAAG,AAAC,CACF,MAAM,CAAE,MAAM,CACd,OAAO,CAAE,KAAK,CAAG" +} \ No newline at end of file diff --git a/favicons/android-chrome-192x192.png b/favicons/android-chrome-192x192.png new file mode 100644 index 0000000..6bcc490 Binary files /dev/null and b/favicons/android-chrome-192x192.png differ diff --git a/favicons/android-chrome-512x512.png b/favicons/android-chrome-512x512.png new file mode 100644 index 0000000..252ada6 Binary files /dev/null and b/favicons/android-chrome-512x512.png differ diff --git a/favicons/apple-touch-icon.png b/favicons/apple-touch-icon.png new file mode 100644 index 0000000..4692b4f Binary files /dev/null and b/favicons/apple-touch-icon.png differ diff --git a/favicons/favicon-16x16.png b/favicons/favicon-16x16.png new file mode 100644 index 0000000..cb40c7b Binary files /dev/null and b/favicons/favicon-16x16.png differ diff --git a/favicons/favicon-32x32.png b/favicons/favicon-32x32.png new file mode 100644 index 0000000..d774d52 Binary files /dev/null and b/favicons/favicon-32x32.png differ diff --git a/favicons/favicon.ico b/favicons/favicon.ico new file mode 100644 index 0000000..d8dbab5 Binary files /dev/null and b/favicons/favicon.ico differ diff --git a/favicons/site.webmanifest b/favicons/site.webmanifest new file mode 100644 index 0000000..45dc8a2 --- /dev/null +++ b/favicons/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/fonts/Metropolis-Black.woff b/fonts/Metropolis-Black.woff new file mode 100644 index 0000000..0b4022d Binary files /dev/null and b/fonts/Metropolis-Black.woff differ diff --git a/fonts/Metropolis-Black.woff2 b/fonts/Metropolis-Black.woff2 new file mode 100644 index 0000000..9ad74d2 Binary files /dev/null and b/fonts/Metropolis-Black.woff2 differ diff --git a/fonts/Metropolis-BlackItalic.woff b/fonts/Metropolis-BlackItalic.woff new file mode 100644 index 0000000..470b7e6 Binary files /dev/null and b/fonts/Metropolis-BlackItalic.woff differ diff --git a/fonts/Metropolis-BlackItalic.woff2 b/fonts/Metropolis-BlackItalic.woff2 new file mode 100644 index 0000000..a269f3a Binary files /dev/null and b/fonts/Metropolis-BlackItalic.woff2 differ diff --git a/fonts/Metropolis-Bold.woff b/fonts/Metropolis-Bold.woff new file mode 100644 index 0000000..8538378 Binary files /dev/null and b/fonts/Metropolis-Bold.woff differ diff --git a/fonts/Metropolis-Bold.woff2 b/fonts/Metropolis-Bold.woff2 new file mode 100644 index 0000000..9648b0c Binary files /dev/null and b/fonts/Metropolis-Bold.woff2 differ diff --git a/fonts/Metropolis-BoldItalic.woff b/fonts/Metropolis-BoldItalic.woff new file mode 100644 index 0000000..377c991 Binary files /dev/null and b/fonts/Metropolis-BoldItalic.woff differ diff --git a/fonts/Metropolis-BoldItalic.woff2 b/fonts/Metropolis-BoldItalic.woff2 new file mode 100644 index 0000000..84a031b Binary files /dev/null and b/fonts/Metropolis-BoldItalic.woff2 differ diff --git a/fonts/Metropolis-ExtraBold.woff b/fonts/Metropolis-ExtraBold.woff new file mode 100644 index 0000000..fc98683 Binary files /dev/null and b/fonts/Metropolis-ExtraBold.woff differ diff --git a/fonts/Metropolis-ExtraBold.woff2 b/fonts/Metropolis-ExtraBold.woff2 new file mode 100644 index 0000000..8a96ad9 Binary files /dev/null and b/fonts/Metropolis-ExtraBold.woff2 differ diff --git a/fonts/Metropolis-ExtraBoldItalic.woff b/fonts/Metropolis-ExtraBoldItalic.woff new file mode 100644 index 0000000..7039b62 Binary files /dev/null and b/fonts/Metropolis-ExtraBoldItalic.woff differ diff --git a/fonts/Metropolis-ExtraBoldItalic.woff2 b/fonts/Metropolis-ExtraBoldItalic.woff2 new file mode 100644 index 0000000..e080928 Binary files /dev/null and b/fonts/Metropolis-ExtraBoldItalic.woff2 differ diff --git a/fonts/Metropolis-ExtraLight.woff b/fonts/Metropolis-ExtraLight.woff new file mode 100644 index 0000000..7e5c31e Binary files /dev/null and b/fonts/Metropolis-ExtraLight.woff differ diff --git a/fonts/Metropolis-ExtraLight.woff2 b/fonts/Metropolis-ExtraLight.woff2 new file mode 100644 index 0000000..951cfc4 Binary files /dev/null and b/fonts/Metropolis-ExtraLight.woff2 differ diff --git a/fonts/Metropolis-ExtraLightItalic.woff b/fonts/Metropolis-ExtraLightItalic.woff new file mode 100644 index 0000000..da2929c Binary files /dev/null and b/fonts/Metropolis-ExtraLightItalic.woff differ diff --git a/fonts/Metropolis-ExtraLightItalic.woff2 b/fonts/Metropolis-ExtraLightItalic.woff2 new file mode 100644 index 0000000..c6a665c Binary files /dev/null and b/fonts/Metropolis-ExtraLightItalic.woff2 differ diff --git a/fonts/Metropolis-Light.woff b/fonts/Metropolis-Light.woff new file mode 100644 index 0000000..f3a84ef Binary files /dev/null and b/fonts/Metropolis-Light.woff differ diff --git a/fonts/Metropolis-Light.woff2 b/fonts/Metropolis-Light.woff2 new file mode 100644 index 0000000..f0ff6f3 Binary files /dev/null and b/fonts/Metropolis-Light.woff2 differ diff --git a/fonts/Metropolis-LightItalic.woff b/fonts/Metropolis-LightItalic.woff new file mode 100644 index 0000000..ee72f2c Binary files /dev/null and b/fonts/Metropolis-LightItalic.woff differ diff --git a/fonts/Metropolis-LightItalic.woff2 b/fonts/Metropolis-LightItalic.woff2 new file mode 100644 index 0000000..3cbcc34 Binary files /dev/null and b/fonts/Metropolis-LightItalic.woff2 differ diff --git a/fonts/Metropolis-Medium.woff b/fonts/Metropolis-Medium.woff new file mode 100644 index 0000000..cd3c1ab Binary files /dev/null and b/fonts/Metropolis-Medium.woff differ diff --git a/fonts/Metropolis-Medium.woff2 b/fonts/Metropolis-Medium.woff2 new file mode 100644 index 0000000..43578fe Binary files /dev/null and b/fonts/Metropolis-Medium.woff2 differ diff --git a/fonts/Metropolis-MediumItalic.woff b/fonts/Metropolis-MediumItalic.woff new file mode 100644 index 0000000..814a9d5 Binary files /dev/null and b/fonts/Metropolis-MediumItalic.woff differ diff --git a/fonts/Metropolis-MediumItalic.woff2 b/fonts/Metropolis-MediumItalic.woff2 new file mode 100644 index 0000000..83f741c Binary files /dev/null and b/fonts/Metropolis-MediumItalic.woff2 differ diff --git a/fonts/Metropolis-Regular.woff b/fonts/Metropolis-Regular.woff new file mode 100644 index 0000000..6aa4dba Binary files /dev/null and b/fonts/Metropolis-Regular.woff differ diff --git a/fonts/Metropolis-Regular.woff2 b/fonts/Metropolis-Regular.woff2 new file mode 100644 index 0000000..f50bf34 Binary files /dev/null and b/fonts/Metropolis-Regular.woff2 differ diff --git a/fonts/Metropolis-RegularItalic.woff b/fonts/Metropolis-RegularItalic.woff new file mode 100644 index 0000000..019578a Binary files /dev/null and b/fonts/Metropolis-RegularItalic.woff differ diff --git a/fonts/Metropolis-RegularItalic.woff2 b/fonts/Metropolis-RegularItalic.woff2 new file mode 100644 index 0000000..93de258 Binary files /dev/null and b/fonts/Metropolis-RegularItalic.woff2 differ diff --git a/fonts/Metropolis-SemiBold.woff b/fonts/Metropolis-SemiBold.woff new file mode 100644 index 0000000..ca2edb0 Binary files /dev/null and b/fonts/Metropolis-SemiBold.woff differ diff --git a/fonts/Metropolis-SemiBold.woff2 b/fonts/Metropolis-SemiBold.woff2 new file mode 100644 index 0000000..fad6dfd Binary files /dev/null and b/fonts/Metropolis-SemiBold.woff2 differ diff --git a/fonts/Metropolis-SemiBoldItalic.woff b/fonts/Metropolis-SemiBoldItalic.woff new file mode 100644 index 0000000..3c6a03b Binary files /dev/null and b/fonts/Metropolis-SemiBoldItalic.woff differ diff --git a/fonts/Metropolis-SemiBoldItalic.woff2 b/fonts/Metropolis-SemiBoldItalic.woff2 new file mode 100644 index 0000000..ad97ed0 Binary files /dev/null and b/fonts/Metropolis-SemiBoldItalic.woff2 differ diff --git a/fonts/Metropolis-Thin.woff b/fonts/Metropolis-Thin.woff new file mode 100644 index 0000000..40341f4 Binary files /dev/null and b/fonts/Metropolis-Thin.woff differ diff --git a/fonts/Metropolis-Thin.woff2 b/fonts/Metropolis-Thin.woff2 new file mode 100644 index 0000000..9ffe02a Binary files /dev/null and b/fonts/Metropolis-Thin.woff2 differ diff --git a/fonts/Metropolis-ThinItalic.woff b/fonts/Metropolis-ThinItalic.woff new file mode 100644 index 0000000..8943df9 Binary files /dev/null and b/fonts/Metropolis-ThinItalic.woff differ diff --git a/fonts/Metropolis-ThinItalic.woff2 b/fonts/Metropolis-ThinItalic.woff2 new file mode 100644 index 0000000..e4bdf05 Binary files /dev/null and b/fonts/Metropolis-ThinItalic.woff2 differ diff --git a/icons/carly.svg b/icons/carly.svg new file mode 100644 index 0000000..26bab80 --- /dev/null +++ b/icons/carly.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icons/check.svg b/icons/check.svg new file mode 100644 index 0000000..d4ab455 --- /dev/null +++ b/icons/check.svg @@ -0,0 +1 @@ + diff --git a/icons/copy.svg b/icons/copy.svg new file mode 100644 index 0000000..d23ad91 --- /dev/null +++ b/icons/copy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icons/expand.svg b/icons/expand.svg new file mode 100644 index 0000000..14d8524 --- /dev/null +++ b/icons/expand.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icons/info.svg b/icons/info.svg new file mode 100644 index 0000000..535dc81 --- /dev/null +++ b/icons/info.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icons/link.svg b/icons/link.svg new file mode 100644 index 0000000..e8aeefd --- /dev/null +++ b/icons/link.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icons/moon.svg b/icons/moon.svg new file mode 100644 index 0000000..cef2693 --- /dev/null +++ b/icons/moon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icons/next.svg b/icons/next.svg new file mode 100644 index 0000000..de70acf --- /dev/null +++ b/icons/next.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/icons/order.svg b/icons/order.svg new file mode 100644 index 0000000..4993afd --- /dev/null +++ b/icons/order.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icons/sun.svg b/icons/sun.svg new file mode 100644 index 0000000..96d8da6 --- /dev/null +++ b/icons/sun.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/github.svg b/images/github.svg new file mode 100644 index 0000000..d9a232c --- /dev/null +++ b/images/github.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/next.svg b/images/next.svg new file mode 100644 index 0000000..de70acf --- /dev/null +++ b/images/next.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/search.svg b/images/search.svg new file mode 100644 index 0000000..09bf2ca --- /dev/null +++ b/images/search.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/chart.min.js b/js/chart.min.js new file mode 100644 index 0000000..7458f14 --- /dev/null +++ b/js/chart.min.js @@ -0,0 +1,7 @@ +/*! + * Chart.js v2.9.4 + * https://www.chartjs.org + * (c) 2020 Chart.js Contributors + * Released under the MIT License + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(function(){try{return require("moment")}catch(t){}}()):"function"==typeof define&&define.amd?define(["require"],(function(t){return e(function(){try{return t("moment")}catch(t){}}())})):(t=t||self).Chart=e(t.moment)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},n=function(t,e){return t(e={exports:{}},e.exports),e.exports}((function(t){var n={};for(var i in e)e.hasOwnProperty(i)&&(n[e[i]]=i);var a=t.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var r in a)if(a.hasOwnProperty(r)){if(!("channels"in a[r]))throw new Error("missing channels property: "+r);if(!("labels"in a[r]))throw new Error("missing channel labels property: "+r);if(a[r].labels.length!==a[r].channels)throw new Error("channel and label counts mismatch: "+r);var o=a[r].channels,s=a[r].labels;delete a[r].channels,delete a[r].labels,Object.defineProperty(a[r],"channels",{value:o}),Object.defineProperty(a[r],"labels",{value:s})}a.rgb.hsl=function(t){var e,n,i=t[0]/255,a=t[1]/255,r=t[2]/255,o=Math.min(i,a,r),s=Math.max(i,a,r),l=s-o;return s===o?e=0:i===s?e=(a-r)/l:a===s?e=2+(r-i)/l:r===s&&(e=4+(i-a)/l),(e=Math.min(60*e,360))<0&&(e+=360),n=(o+s)/2,[e,100*(s===o?0:n<=.5?l/(s+o):l/(2-s-o)),100*n]},a.rgb.hsv=function(t){var e,n,i,a,r,o=t[0]/255,s=t[1]/255,l=t[2]/255,u=Math.max(o,s,l),d=u-Math.min(o,s,l),h=function(t){return(u-t)/6/d+.5};return 0===d?a=r=0:(r=d/u,e=h(o),n=h(s),i=h(l),o===u?a=i-n:s===u?a=1/3+e-i:l===u&&(a=2/3+n-e),a<0?a+=1:a>1&&(a-=1)),[360*a,100*r,100*u]},a.rgb.hwb=function(t){var e=t[0],n=t[1],i=t[2];return[a.rgb.hsl(t)[0],100*(1/255*Math.min(e,Math.min(n,i))),100*(i=1-1/255*Math.max(e,Math.max(n,i)))]},a.rgb.cmyk=function(t){var e,n=t[0]/255,i=t[1]/255,a=t[2]/255;return[100*((1-n-(e=Math.min(1-n,1-i,1-a)))/(1-e)||0),100*((1-i-e)/(1-e)||0),100*((1-a-e)/(1-e)||0),100*e]},a.rgb.keyword=function(t){var i=n[t];if(i)return i;var a,r,o,s=1/0;for(var l in e)if(e.hasOwnProperty(l)){var u=e[l],d=(r=t,o=u,Math.pow(r[0]-o[0],2)+Math.pow(r[1]-o[1],2)+Math.pow(r[2]-o[2],2));d.04045?Math.pow((e+.055)/1.055,2.4):e/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92)),100*(.2126*e+.7152*n+.0722*i),100*(.0193*e+.1192*n+.9505*i)]},a.rgb.lab=function(t){var e=a.rgb.xyz(t),n=e[0],i=e[1],r=e[2];return i/=100,r/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116)-16,500*(n-i),200*(i-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},a.hsl.rgb=function(t){var e,n,i,a,r,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[r=255*l,r,r];e=2*l-(n=l<.5?l*(1+s):l+s-l*s),a=[0,0,0];for(var u=0;u<3;u++)(i=o+1/3*-(u-1))<0&&i++,i>1&&i--,r=6*i<1?e+6*(n-e)*i:2*i<1?n:3*i<2?e+(n-e)*(2/3-i)*6:e,a[u]=255*r;return a},a.hsl.hsv=function(t){var e=t[0],n=t[1]/100,i=t[2]/100,a=n,r=Math.max(i,.01);return n*=(i*=2)<=1?i:2-i,a*=r<=1?r:2-r,[e,100*(0===i?2*a/(r+a):2*n/(i+n)),100*((i+n)/2)]},a.hsv.rgb=function(t){var e=t[0]/60,n=t[1]/100,i=t[2]/100,a=Math.floor(e)%6,r=e-Math.floor(e),o=255*i*(1-n),s=255*i*(1-n*r),l=255*i*(1-n*(1-r));switch(i*=255,a){case 0:return[i,l,o];case 1:return[s,i,o];case 2:return[o,i,l];case 3:return[o,s,i];case 4:return[l,o,i];case 5:return[i,o,s]}},a.hsv.hsl=function(t){var e,n,i,a=t[0],r=t[1]/100,o=t[2]/100,s=Math.max(o,.01);return i=(2-r)*o,n=r*s,[a,100*(n=(n/=(e=(2-r)*s)<=1?e:2-e)||0),100*(i/=2)]},a.hwb.rgb=function(t){var e,n,i,a,r,o,s,l=t[0]/360,u=t[1]/100,d=t[2]/100,h=u+d;switch(h>1&&(u/=h,d/=h),i=6*l-(e=Math.floor(6*l)),0!=(1&e)&&(i=1-i),a=u+i*((n=1-d)-u),e){default:case 6:case 0:r=n,o=a,s=u;break;case 1:r=a,o=n,s=u;break;case 2:r=u,o=n,s=a;break;case 3:r=u,o=a,s=n;break;case 4:r=a,o=u,s=n;break;case 5:r=n,o=u,s=a}return[255*r,255*o,255*s]},a.cmyk.rgb=function(t){var e=t[0]/100,n=t[1]/100,i=t[2]/100,a=t[3]/100;return[255*(1-Math.min(1,e*(1-a)+a)),255*(1-Math.min(1,n*(1-a)+a)),255*(1-Math.min(1,i*(1-a)+a))]},a.xyz.rgb=function(t){var e,n,i,a=t[0]/100,r=t[1]/100,o=t[2]/100;return n=-.9689*a+1.8758*r+.0415*o,i=.0557*a+-.204*r+1.057*o,e=(e=3.2406*a+-1.5372*r+-.4986*o)>.0031308?1.055*Math.pow(e,1/2.4)-.055:12.92*e,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:12.92*i,[255*(e=Math.min(Math.max(0,e),1)),255*(n=Math.min(Math.max(0,n),1)),255*(i=Math.min(Math.max(0,i),1))]},a.xyz.lab=function(t){var e=t[0],n=t[1],i=t[2];return n/=100,i/=108.883,e=(e/=95.047)>.008856?Math.pow(e,1/3):7.787*e+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(e-n),200*(n-(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116))]},a.lab.xyz=function(t){var e,n,i,a=t[0];e=t[1]/500+(n=(a+16)/116),i=n-t[2]/200;var r=Math.pow(n,3),o=Math.pow(e,3),s=Math.pow(i,3);return n=r>.008856?r:(n-16/116)/7.787,e=o>.008856?o:(e-16/116)/7.787,i=s>.008856?s:(i-16/116)/7.787,[e*=95.047,n*=100,i*=108.883]},a.lab.lch=function(t){var e,n=t[0],i=t[1],a=t[2];return(e=360*Math.atan2(a,i)/2/Math.PI)<0&&(e+=360),[n,Math.sqrt(i*i+a*a),e]},a.lch.lab=function(t){var e,n=t[0],i=t[1];return e=t[2]/360*2*Math.PI,[n,i*Math.cos(e),i*Math.sin(e)]},a.rgb.ansi16=function(t){var e=t[0],n=t[1],i=t[2],r=1 in arguments?arguments[1]:a.rgb.hsv(t)[2];if(0===(r=Math.round(r/50)))return 30;var o=30+(Math.round(i/255)<<2|Math.round(n/255)<<1|Math.round(e/255));return 2===r&&(o+=60),o},a.hsv.ansi16=function(t){return a.rgb.ansi16(a.hsv.rgb(t),t[2])},a.rgb.ansi256=function(t){var e=t[0],n=t[1],i=t[2];return e===n&&n===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5)},a.ansi16.rgb=function(t){var e=t%10;if(0===e||7===e)return t>50&&(e+=3.5),[e=e/10.5*255,e,e];var n=.5*(1+~~(t>50));return[(1&e)*n*255,(e>>1&1)*n*255,(e>>2&1)*n*255]},a.ansi256.rgb=function(t){if(t>=232){var e=10*(t-232)+8;return[e,e,e]}var n;return t-=16,[Math.floor(t/36)/5*255,Math.floor((n=t%36)/6)/5*255,n%6/5*255]},a.rgb.hex=function(t){var e=(((255&Math.round(t[0]))<<16)+((255&Math.round(t[1]))<<8)+(255&Math.round(t[2]))).toString(16).toUpperCase();return"000000".substring(e.length)+e},a.hex.rgb=function(t){var e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];var n=e[0];3===e[0].length&&(n=n.split("").map((function(t){return t+t})).join(""));var i=parseInt(n,16);return[i>>16&255,i>>8&255,255&i]},a.rgb.hcg=function(t){var e,n=t[0]/255,i=t[1]/255,a=t[2]/255,r=Math.max(Math.max(n,i),a),o=Math.min(Math.min(n,i),a),s=r-o;return e=s<=0?0:r===n?(i-a)/s%6:r===i?2+(a-n)/s:4+(n-i)/s+4,e/=6,[360*(e%=1),100*s,100*(s<1?o/(1-s):0)]},a.hsl.hcg=function(t){var e=t[1]/100,n=t[2]/100,i=1,a=0;return(i=n<.5?2*e*n:2*e*(1-n))<1&&(a=(n-.5*i)/(1-i)),[t[0],100*i,100*a]},a.hsv.hcg=function(t){var e=t[1]/100,n=t[2]/100,i=e*n,a=0;return i<1&&(a=(n-i)/(1-i)),[t[0],100*i,100*a]},a.hcg.rgb=function(t){var e=t[0]/360,n=t[1]/100,i=t[2]/100;if(0===n)return[255*i,255*i,255*i];var a,r=[0,0,0],o=e%1*6,s=o%1,l=1-s;switch(Math.floor(o)){case 0:r[0]=1,r[1]=s,r[2]=0;break;case 1:r[0]=l,r[1]=1,r[2]=0;break;case 2:r[0]=0,r[1]=1,r[2]=s;break;case 3:r[0]=0,r[1]=l,r[2]=1;break;case 4:r[0]=s,r[1]=0,r[2]=1;break;default:r[0]=1,r[1]=0,r[2]=l}return a=(1-n)*i,[255*(n*r[0]+a),255*(n*r[1]+a),255*(n*r[2]+a)]},a.hcg.hsv=function(t){var e=t[1]/100,n=e+t[2]/100*(1-e),i=0;return n>0&&(i=e/n),[t[0],100*i,100*n]},a.hcg.hsl=function(t){var e=t[1]/100,n=t[2]/100*(1-e)+.5*e,i=0;return n>0&&n<.5?i=e/(2*n):n>=.5&&n<1&&(i=e/(2*(1-n))),[t[0],100*i,100*n]},a.hcg.hwb=function(t){var e=t[1]/100,n=e+t[2]/100*(1-e);return[t[0],100*(n-e),100*(1-n)]},a.hwb.hcg=function(t){var e=t[1]/100,n=1-t[2]/100,i=n-e,a=0;return i<1&&(a=(n-i)/(1-i)),[t[0],100*i,100*a]},a.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]},a.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]},a.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]},a.gray.hsl=a.gray.hsv=function(t){return[0,0,t[0]]},a.gray.hwb=function(t){return[0,100,t[0]]},a.gray.cmyk=function(t){return[0,0,0,t[0]]},a.gray.lab=function(t){return[t[0],0,0]},a.gray.hex=function(t){var e=255&Math.round(t[0]/100*255),n=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(n.length)+n},a.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}}));n.rgb,n.hsl,n.hsv,n.hwb,n.cmyk,n.xyz,n.lab,n.lch,n.hex,n.keyword,n.ansi16,n.ansi256,n.hcg,n.apple,n.gray;function i(t){var e=function(){for(var t={},e=Object.keys(n),i=e.length,a=0;a1&&(e=Array.prototype.slice.call(arguments));var n=t(e);if("object"==typeof n)for(var i=n.length,a=0;a1&&(e=Array.prototype.slice.call(arguments)),t(e))};return"conversion"in t&&(e.conversion=t.conversion),e}(i)}))}));var s=o,l={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},u={getRgba:d,getHsla:h,getRgb:function(t){var e=d(t);return e&&e.slice(0,3)},getHsl:function(t){var e=h(t);return e&&e.slice(0,3)},getHwb:c,getAlpha:function(t){var e=d(t);if(e)return e[3];if(e=h(t))return e[3];if(e=c(t))return e[3]},hexString:function(t,e){e=void 0!==e&&3===t.length?e:t[3];return"#"+v(t[0])+v(t[1])+v(t[2])+(e>=0&&e<1?v(Math.round(255*e)):"")},rgbString:function(t,e){if(e<1||t[3]&&t[3]<1)return f(t,e);return"rgb("+t[0]+", "+t[1]+", "+t[2]+")"},rgbaString:f,percentString:function(t,e){if(e<1||t[3]&&t[3]<1)return g(t,e);var n=Math.round(t[0]/255*100),i=Math.round(t[1]/255*100),a=Math.round(t[2]/255*100);return"rgb("+n+"%, "+i+"%, "+a+"%)"},percentaString:g,hslString:function(t,e){if(e<1||t[3]&&t[3]<1)return p(t,e);return"hsl("+t[0]+", "+t[1]+"%, "+t[2]+"%)"},hslaString:p,hwbString:function(t,e){void 0===e&&(e=void 0!==t[3]?t[3]:1);return"hwb("+t[0]+", "+t[1]+"%, "+t[2]+"%"+(void 0!==e&&1!==e?", "+e:"")+")"},keyword:function(t){return b[t.slice(0,3)]}};function d(t){if(t){var e=[0,0,0],n=1,i=t.match(/^#([a-fA-F0-9]{3,4})$/i),a="";if(i){a=(i=i[1])[3];for(var r=0;rn?(e+.05)/(n+.05):(n+.05)/(e+.05)},level:function(t){var e=this.contrast(t);return e>=7.1?"AAA":e>=4.5?"AA":""},dark:function(){var t=this.values.rgb;return(299*t[0]+587*t[1]+114*t[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var t=[],e=0;e<3;e++)t[e]=255-this.values.rgb[e];return this.setValues("rgb",t),this},lighten:function(t){var e=this.values.hsl;return e[2]+=e[2]*t,this.setValues("hsl",e),this},darken:function(t){var e=this.values.hsl;return e[2]-=e[2]*t,this.setValues("hsl",e),this},saturate:function(t){var e=this.values.hsl;return e[1]+=e[1]*t,this.setValues("hsl",e),this},desaturate:function(t){var e=this.values.hsl;return e[1]-=e[1]*t,this.setValues("hsl",e),this},whiten:function(t){var e=this.values.hwb;return e[1]+=e[1]*t,this.setValues("hwb",e),this},blacken:function(t){var e=this.values.hwb;return e[2]+=e[2]*t,this.setValues("hwb",e),this},greyscale:function(){var t=this.values.rgb,e=.3*t[0]+.59*t[1]+.11*t[2];return this.setValues("rgb",[e,e,e]),this},clearer:function(t){var e=this.values.alpha;return this.setValues("alpha",e-e*t),this},opaquer:function(t){var e=this.values.alpha;return this.setValues("alpha",e+e*t),this},rotate:function(t){var e=this.values.hsl,n=(e[0]+t)%360;return e[0]=n<0?360+n:n,this.setValues("hsl",e),this},mix:function(t,e){var n=t,i=void 0===e?.5:e,a=2*i-1,r=this.alpha()-n.alpha(),o=((a*r==-1?a:(a+r)/(1+a*r))+1)/2,s=1-o;return this.rgb(o*this.red()+s*n.red(),o*this.green()+s*n.green(),o*this.blue()+s*n.blue()).alpha(this.alpha()*i+n.alpha()*(1-i))},toJSON:function(){return this.rgb()},clone:function(){var t,e,n=new y,i=this.values,a=n.values;for(var r in i)i.hasOwnProperty(r)&&(t=i[r],"[object Array]"===(e={}.toString.call(t))?a[r]=t.slice(0):"[object Number]"===e?a[r]=t:console.error("unexpected color value:",t));return n}},y.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},y.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},y.prototype.getValues=function(t){for(var e=this.values,n={},i=0;i=0;a--)e.call(n,t[a],a);else for(a=0;a=1?t:-(Math.sqrt(1-t*t)-1)},easeOutCirc:function(t){return Math.sqrt(1-(t-=1)*t)},easeInOutCirc:function(t){return(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:1===t?1:(n||(n=.3),i<1?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n))},easeOutElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:1===t?1:(n||(n=.3),i<1?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/n)+1)},easeInOutElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:2==(t/=.5)?1:(n||(n=.45),i<1?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),t<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n)*.5+1)},easeInBack:function(t){var e=1.70158;return t*t*((e+1)*t-e)},easeOutBack:function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack:function(t){var e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:function(t){return 1-C.easeOutBounce(1-t)},easeOutBounce:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},easeInOutBounce:function(t){return t<.5?.5*C.easeInBounce(2*t):.5*C.easeOutBounce(2*t-1)+.5}},P={effects:C};S.easingEffects=C;var A=Math.PI,D=A/180,T=2*A,I=A/2,F=A/4,O=2*A/3,L={clear:function(t){t.ctx.clearRect(0,0,t.width,t.height)},roundedRect:function(t,e,n,i,a,r){if(r){var o=Math.min(r,a/2,i/2),s=e+o,l=n+o,u=e+i-o,d=n+a-o;t.moveTo(e,l),se.left-1e-6&&t.xe.top-1e-6&&t.y0&&this.requestAnimationFrame()},advance:function(){for(var t,e,n,i,a=this.animations,r=0;r=n?(H.callback(t.onAnimationComplete,[t],e),e.animating=!1,a.splice(r,1)):++r}},Q=H.options.resolve,tt=["push","pop","shift","splice","unshift"];function et(t,e){var n=t._chartjs;if(n){var i=n.listeners,a=i.indexOf(e);-1!==a&&i.splice(a,1),i.length>0||(tt.forEach((function(e){delete t[e]})),delete t._chartjs)}}var nt=function(t,e){this.initialize(t,e)};H.extend(nt.prototype,{datasetElementType:null,dataElementType:null,_datasetElementOptions:["backgroundColor","borderCapStyle","borderColor","borderDash","borderDashOffset","borderJoinStyle","borderWidth"],_dataElementOptions:["backgroundColor","borderColor","borderWidth","pointStyle"],initialize:function(t,e){var n=this;n.chart=t,n.index=e,n.linkScales(),n.addElements(),n._type=n.getMeta().type},updateIndex:function(t){this.index=t},linkScales:function(){var t=this.getMeta(),e=this.chart,n=e.scales,i=this.getDataset(),a=e.options.scales;null!==t.xAxisID&&t.xAxisID in n&&!i.xAxisID||(t.xAxisID=i.xAxisID||a.xAxes[0].id),null!==t.yAxisID&&t.yAxisID in n&&!i.yAxisID||(t.yAxisID=i.yAxisID||a.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(t){return this.chart.scales[t]},_getValueScaleId:function(){return this.getMeta().yAxisID},_getIndexScaleId:function(){return this.getMeta().xAxisID},_getValueScale:function(){return this.getScaleForId(this._getValueScaleId())},_getIndexScale:function(){return this.getScaleForId(this._getIndexScaleId())},reset:function(){this._update(!0)},destroy:function(){this._data&&et(this._data,this)},createMetaDataset:function(){var t=this.datasetElementType;return t&&new t({_chart:this.chart,_datasetIndex:this.index})},createMetaData:function(t){var e=this.dataElementType;return e&&new e({_chart:this.chart,_datasetIndex:this.index,_index:t})},addElements:function(){var t,e,n=this.getMeta(),i=this.getDataset().data||[],a=n.data;for(t=0,e=i.length;tn&&this.insertElements(n,i-n)},insertElements:function(t,e){for(var n=0;na?(r=a/e.innerRadius,t.arc(o,s,e.innerRadius-a,i+r,n-r,!0)):t.arc(o,s,a,i+Math.PI/2,n-Math.PI/2),t.closePath(),t.clip()}function ot(t,e,n){var i="inner"===e.borderAlign;i?(t.lineWidth=2*e.borderWidth,t.lineJoin="round"):(t.lineWidth=e.borderWidth,t.lineJoin="bevel"),n.fullCircles&&function(t,e,n,i){var a,r=n.endAngle;for(i&&(n.endAngle=n.startAngle+at,rt(t,n),n.endAngle=r,n.endAngle===n.startAngle&&n.fullCircles&&(n.endAngle+=at,n.fullCircles--)),t.beginPath(),t.arc(n.x,n.y,n.innerRadius,n.startAngle+at,n.startAngle,!0),a=0;as;)a-=at;for(;a=o&&a<=s,u=r>=n.innerRadius&&r<=n.outerRadius;return l&&u}return!1},getCenterPoint:function(){var t=this._view,e=(t.startAngle+t.endAngle)/2,n=(t.innerRadius+t.outerRadius)/2;return{x:t.x+Math.cos(e)*n,y:t.y+Math.sin(e)*n}},getArea:function(){var t=this._view;return Math.PI*((t.endAngle-t.startAngle)/(2*Math.PI))*(Math.pow(t.outerRadius,2)-Math.pow(t.innerRadius,2))},tooltipPosition:function(){var t=this._view,e=t.startAngle+(t.endAngle-t.startAngle)/2,n=(t.outerRadius-t.innerRadius)/2+t.innerRadius;return{x:t.x+Math.cos(e)*n,y:t.y+Math.sin(e)*n}},draw:function(){var t,e=this._chart.ctx,n=this._view,i="inner"===n.borderAlign?.33:0,a={x:n.x,y:n.y,innerRadius:n.innerRadius,outerRadius:Math.max(n.outerRadius-i,0),pixelMargin:i,startAngle:n.startAngle,endAngle:n.endAngle,fullCircles:Math.floor(n.circumference/at)};if(e.save(),e.fillStyle=n.backgroundColor,e.strokeStyle=n.borderColor,a.fullCircles){for(a.endAngle=a.startAngle+at,e.beginPath(),e.arc(a.x,a.y,a.outerRadius,a.startAngle,a.endAngle),e.arc(a.x,a.y,a.innerRadius,a.endAngle,a.startAngle,!0),e.closePath(),t=0;tt.x&&(e=bt(e,"left","right")):t.basen?n:i,r:l.right||a<0?0:a>e?e:a,b:l.bottom||r<0?0:r>n?n:r,l:l.left||o<0?0:o>e?e:o}}function yt(t,e,n){var i=null===e,a=null===n,r=!(!t||i&&a)&&vt(t);return r&&(i||e>=r.left&&e<=r.right)&&(a||n>=r.top&&n<=r.bottom)}N._set("global",{elements:{rectangle:{backgroundColor:pt,borderColor:pt,borderSkipped:"bottom",borderWidth:0}}});var _t=K.extend({_type:"rectangle",draw:function(){var t=this._chart.ctx,e=this._view,n=function(t){var e=vt(t),n=e.right-e.left,i=e.bottom-e.top,a=xt(t,n/2,i/2);return{outer:{x:e.left,y:e.top,w:n,h:i},inner:{x:e.left+a.l,y:e.top+a.t,w:n-a.l-a.r,h:i-a.t-a.b}}}(e),i=n.outer,a=n.inner;t.fillStyle=e.backgroundColor,t.fillRect(i.x,i.y,i.w,i.h),i.w===a.w&&i.h===a.h||(t.save(),t.beginPath(),t.rect(i.x,i.y,i.w,i.h),t.clip(),t.fillStyle=e.borderColor,t.rect(a.x,a.y,a.w,a.h),t.fill("evenodd"),t.restore())},height:function(){var t=this._view;return t.base-t.y},inRange:function(t,e){return yt(this._view,t,e)},inLabelRange:function(t,e){var n=this._view;return mt(n)?yt(n,t,null):yt(n,null,e)},inXRange:function(t){return yt(this._view,t,null)},inYRange:function(t){return yt(this._view,null,t)},getCenterPoint:function(){var t,e,n=this._view;return mt(n)?(t=n.x,e=(n.y+n.base)/2):(t=(n.x+n.base)/2,e=n.y),{x:t,y:e}},getArea:function(){var t=this._view;return mt(t)?t.width*Math.abs(t.y-t.base):t.height*Math.abs(t.x-t.base)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y}}}),kt={},wt=st,Mt=dt,St=gt,Ct=_t;kt.Arc=wt,kt.Line=Mt,kt.Point=St,kt.Rectangle=Ct;var Pt=H._deprecated,At=H.valueOrDefault;function Dt(t,e,n){var i,a,r=n.barThickness,o=e.stackCount,s=e.pixels[t],l=H.isNullOrUndef(r)?function(t,e){var n,i,a,r,o=t._length;for(a=1,r=e.length;a0?Math.min(o,Math.abs(i-n)):o,n=i;return o}(e.scale,e.pixels):-1;return H.isNullOrUndef(r)?(i=l*n.categoryPercentage,a=n.barPercentage):(i=r*o,a=1),{chunk:i/o,ratio:a,start:s-i/2}}N._set("bar",{hover:{mode:"label"},scales:{xAxes:[{type:"category",offset:!0,gridLines:{offsetGridLines:!0}}],yAxes:[{type:"linear"}]}}),N._set("global",{datasets:{bar:{categoryPercentage:.8,barPercentage:.9}}});var Tt=it.extend({dataElementType:kt.Rectangle,_dataElementOptions:["backgroundColor","borderColor","borderSkipped","borderWidth","barPercentage","barThickness","categoryPercentage","maxBarThickness","minBarLength"],initialize:function(){var t,e,n=this;it.prototype.initialize.apply(n,arguments),(t=n.getMeta()).stack=n.getDataset().stack,t.bar=!0,e=n._getIndexScale().options,Pt("bar chart",e.barPercentage,"scales.[x/y]Axes.barPercentage","dataset.barPercentage"),Pt("bar chart",e.barThickness,"scales.[x/y]Axes.barThickness","dataset.barThickness"),Pt("bar chart",e.categoryPercentage,"scales.[x/y]Axes.categoryPercentage","dataset.categoryPercentage"),Pt("bar chart",n._getValueScale().options.minBarLength,"scales.[x/y]Axes.minBarLength","dataset.minBarLength"),Pt("bar chart",e.maxBarThickness,"scales.[x/y]Axes.maxBarThickness","dataset.maxBarThickness")},update:function(t){var e,n,i=this.getMeta().data;for(this._ruler=this.getRuler(),e=0,n=i.length;e=0&&p.min>=0?p.min:p.max,y=void 0===p.start?p.end:p.max>=0&&p.min>=0?p.max-p.min:p.min-p.max,_=g.length;if(v||void 0===v&&void 0!==b)for(i=0;i<_&&(a=g[i]).index!==t;++i)a.stack===b&&(r=void 0===(u=h._parseValue(f[a.index].data[e])).start?u.end:u.min>=0&&u.max>=0?u.max:u.min,(p.min<0&&r<0||p.max>=0&&r>0)&&(x+=r));return o=h.getPixelForValue(x),l=(s=h.getPixelForValue(x+y))-o,void 0!==m&&Math.abs(l)=0&&!c||y<0&&c?o-m:o+m),{size:l,base:o,head:s,center:s+l/2}},calculateBarIndexPixels:function(t,e,n,i){var a="flex"===i.barThickness?function(t,e,n){var i,a=e.pixels,r=a[t],o=t>0?a[t-1]:null,s=t=Rt?-zt:b<-Rt?zt:0)+m,y=Math.cos(b),_=Math.sin(b),k=Math.cos(x),w=Math.sin(x),M=b<=0&&x>=0||x>=zt,S=b<=Nt&&x>=Nt||x>=zt+Nt,C=b<=-Nt&&x>=-Nt||x>=Rt+Nt,P=b===-Rt||x>=Rt?-1:Math.min(y,y*p,k,k*p),A=C?-1:Math.min(_,_*p,w,w*p),D=M?1:Math.max(y,y*p,k,k*p),T=S?1:Math.max(_,_*p,w,w*p);u=(D-P)/2,d=(T-A)/2,h=-(D+P)/2,c=-(T+A)/2}for(i=0,a=g.length;i0&&!isNaN(t)?zt*(Math.abs(t)/e):0},getMaxBorderWidth:function(t){var e,n,i,a,r,o,s,l,u=0,d=this.chart;if(!t)for(e=0,n=d.data.datasets.length;e(u=s>u?s:u)?l:u);return u},setHoverStyle:function(t){var e=t._model,n=t._options,i=H.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth},e.backgroundColor=Lt(n.hoverBackgroundColor,i(n.backgroundColor)),e.borderColor=Lt(n.hoverBorderColor,i(n.borderColor)),e.borderWidth=Lt(n.hoverBorderWidth,n.borderWidth)},_getRingWeightOffset:function(t){for(var e=0,n=0;n0&&Ht(l[t-1]._model,s)&&(n.controlPointPreviousX=u(n.controlPointPreviousX,s.left,s.right),n.controlPointPreviousY=u(n.controlPointPreviousY,s.top,s.bottom)),t0&&(r=t.getDatasetMeta(r[0]._datasetIndex).data),r},"x-axis":function(t,e){return ae(t,e,{intersect:!1})},point:function(t,e){return ee(t,Qt(e,t))},nearest:function(t,e,n){var i=Qt(e,t);n.axis=n.axis||"xy";var a=ie(n.axis);return ne(t,i,n.intersect,a)},x:function(t,e,n){var i=Qt(e,t),a=[],r=!1;return te(t,(function(t){t.inXRange(i.x)&&a.push(t),t.inRange(i.x,i.y)&&(r=!0)})),n.intersect&&!r&&(a=[]),a},y:function(t,e,n){var i=Qt(e,t),a=[],r=!1;return te(t,(function(t){t.inYRange(i.y)&&a.push(t),t.inRange(i.x,i.y)&&(r=!0)})),n.intersect&&!r&&(a=[]),a}}},oe=H.extend;function se(t,e){return H.where(t,(function(t){return t.pos===e}))}function le(t,e){return t.sort((function(t,n){var i=e?n:t,a=e?t:n;return i.weight===a.weight?i.index-a.index:i.weight-a.weight}))}function ue(t,e,n,i){return Math.max(t[n],e[n])+Math.max(t[i],e[i])}function de(t,e,n){var i,a,r=n.box,o=t.maxPadding;if(n.size&&(t[n.pos]-=n.size),n.size=n.horizontal?r.height:r.width,t[n.pos]+=n.size,r.getPadding){var s=r.getPadding();o.top=Math.max(o.top,s.top),o.left=Math.max(o.left,s.left),o.bottom=Math.max(o.bottom,s.bottom),o.right=Math.max(o.right,s.right)}if(i=e.outerWidth-ue(o,t,"left","right"),a=e.outerHeight-ue(o,t,"top","bottom"),i!==t.w||a!==t.h){t.w=i,t.h=a;var l=n.horizontal?[i,t.w]:[a,t.h];return!(l[0]===l[1]||isNaN(l[0])&&isNaN(l[1]))}}function he(t,e){var n=e.maxPadding;function i(t){var i={left:0,top:0,right:0,bottom:0};return t.forEach((function(t){i[t]=Math.max(e[t],n[t])})),i}return i(t?["left","right"]:["top","bottom"])}function ce(t,e,n){var i,a,r,o,s,l,u=[];for(i=0,a=t.length;idiv{position:absolute;width:1000000px;height:1000000px;left:0;top:0}.chartjs-size-monitor-shrink>div{position:absolute;width:200%;height:200%;left:0;top:0}"}))&&ge.default||ge,ve="$chartjs",be="chartjs-size-monitor",xe="chartjs-render-monitor",ye="chartjs-render-animation",_e=["animationstart","webkitAnimationStart"],ke={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"};function we(t,e){var n=H.getStyle(t,e),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?Number(i[1]):void 0}var Me=!!function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("e",null,e)}catch(t){}return t}()&&{passive:!0};function Se(t,e,n){t.addEventListener(e,n,Me)}function Ce(t,e,n){t.removeEventListener(e,n,Me)}function Pe(t,e,n,i,a){return{type:t,chart:e,native:a||null,x:void 0!==n?n:null,y:void 0!==i?i:null}}function Ae(t){var e=document.createElement("div");return e.className=t||"",e}function De(t,e,n){var i,a,r,o,s=t[ve]||(t[ve]={}),l=s.resizer=function(t){var e=Ae(be),n=Ae(be+"-expand"),i=Ae(be+"-shrink");n.appendChild(Ae()),i.appendChild(Ae()),e.appendChild(n),e.appendChild(i),e._reset=function(){n.scrollLeft=1e6,n.scrollTop=1e6,i.scrollLeft=1e6,i.scrollTop=1e6};var a=function(){e._reset(),t()};return Se(n,"scroll",a.bind(n,"expand")),Se(i,"scroll",a.bind(i,"shrink")),e}((i=function(){if(s.resizer){var i=n.options.maintainAspectRatio&&t.parentNode,a=i?i.clientWidth:0;e(Pe("resize",n)),i&&i.clientWidth0){var r=t[0];r.label?n=r.label:r.xLabel?n=r.xLabel:a>0&&r.index-1?t.split("\n"):t}function Ve(t){var e=N.global;return{xPadding:t.xPadding,yPadding:t.yPadding,xAlign:t.xAlign,yAlign:t.yAlign,rtl:t.rtl,textDirection:t.textDirection,bodyFontColor:t.bodyFontColor,_bodyFontFamily:ze(t.bodyFontFamily,e.defaultFontFamily),_bodyFontStyle:ze(t.bodyFontStyle,e.defaultFontStyle),_bodyAlign:t.bodyAlign,bodyFontSize:ze(t.bodyFontSize,e.defaultFontSize),bodySpacing:t.bodySpacing,titleFontColor:t.titleFontColor,_titleFontFamily:ze(t.titleFontFamily,e.defaultFontFamily),_titleFontStyle:ze(t.titleFontStyle,e.defaultFontStyle),titleFontSize:ze(t.titleFontSize,e.defaultFontSize),_titleAlign:t.titleAlign,titleSpacing:t.titleSpacing,titleMarginBottom:t.titleMarginBottom,footerFontColor:t.footerFontColor,_footerFontFamily:ze(t.footerFontFamily,e.defaultFontFamily),_footerFontStyle:ze(t.footerFontStyle,e.defaultFontStyle),footerFontSize:ze(t.footerFontSize,e.defaultFontSize),_footerAlign:t.footerAlign,footerSpacing:t.footerSpacing,footerMarginTop:t.footerMarginTop,caretSize:t.caretSize,cornerRadius:t.cornerRadius,backgroundColor:t.backgroundColor,opacity:0,legendColorBackground:t.multiKeyBackground,displayColors:t.displayColors,borderColor:t.borderColor,borderWidth:t.borderWidth}}function He(t,e){return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-t.xPadding:t.x+t.xPadding}function je(t){return Ee([],We(t))}var qe=K.extend({initialize:function(){this._model=Ve(this._options),this._lastActive=[]},getTitle:function(){var t=this,e=t._options,n=e.callbacks,i=n.beforeTitle.apply(t,arguments),a=n.title.apply(t,arguments),r=n.afterTitle.apply(t,arguments),o=[];return o=Ee(o,We(i)),o=Ee(o,We(a)),o=Ee(o,We(r))},getBeforeBody:function(){return je(this._options.callbacks.beforeBody.apply(this,arguments))},getBody:function(t,e){var n=this,i=n._options.callbacks,a=[];return H.each(t,(function(t){var r={before:[],lines:[],after:[]};Ee(r.before,We(i.beforeLabel.call(n,t,e))),Ee(r.lines,i.label.call(n,t,e)),Ee(r.after,We(i.afterLabel.call(n,t,e))),a.push(r)})),a},getAfterBody:function(){return je(this._options.callbacks.afterBody.apply(this,arguments))},getFooter:function(){var t=this,e=t._options.callbacks,n=e.beforeFooter.apply(t,arguments),i=e.footer.apply(t,arguments),a=e.afterFooter.apply(t,arguments),r=[];return r=Ee(r,We(n)),r=Ee(r,We(i)),r=Ee(r,We(a))},update:function(t){var e,n,i,a,r,o,s,l,u,d,h=this,c=h._options,f=h._model,g=h._model=Ve(c),p=h._active,m=h._data,v={xAlign:f.xAlign,yAlign:f.yAlign},b={x:f.x,y:f.y},x={width:f.width,height:f.height},y={x:f.caretX,y:f.caretY};if(p.length){g.opacity=1;var _=[],k=[];y=Be[c.position].call(h,p,h._eventPosition);var w=[];for(e=0,n=p.length;ei.width&&(a=i.width-e.width),a<0&&(a=0)),"top"===d?r+=h:r-="bottom"===d?e.height+h:e.height/2,"center"===d?"left"===u?a+=h:"right"===u&&(a-=h):"left"===u?a-=c:"right"===u&&(a+=c),{x:a,y:r}}(g,x,v=function(t,e){var n,i,a,r,o,s=t._model,l=t._chart,u=t._chart.chartArea,d="center",h="center";s.yl.height-e.height&&(h="bottom");var c=(u.left+u.right)/2,f=(u.top+u.bottom)/2;"center"===h?(n=function(t){return t<=c},i=function(t){return t>c}):(n=function(t){return t<=e.width/2},i=function(t){return t>=l.width-e.width/2}),a=function(t){return t+e.width+s.caretSize+s.caretPadding>l.width},r=function(t){return t-e.width-s.caretSize-s.caretPadding<0},o=function(t){return t<=f?"top":"bottom"},n(s.x)?(d="left",a(s.x)&&(d="center",h=o(s.y))):i(s.x)&&(d="right",r(s.x)&&(d="center",h=o(s.y)));var g=t._options;return{xAlign:g.xAlign?g.xAlign:d,yAlign:g.yAlign?g.yAlign:h}}(this,x),h._chart)}else g.opacity=0;return g.xAlign=v.xAlign,g.yAlign=v.yAlign,g.x=b.x,g.y=b.y,g.width=x.width,g.height=x.height,g.caretX=y.x,g.caretY=y.y,h._model=g,t&&c.custom&&c.custom.call(h,g),h},drawCaret:function(t,e){var n=this._chart.ctx,i=this._view,a=this.getCaretPosition(t,e,i);n.lineTo(a.x1,a.y1),n.lineTo(a.x2,a.y2),n.lineTo(a.x3,a.y3)},getCaretPosition:function(t,e,n){var i,a,r,o,s,l,u=n.caretSize,d=n.cornerRadius,h=n.xAlign,c=n.yAlign,f=t.x,g=t.y,p=e.width,m=e.height;if("center"===c)s=g+m/2,"left"===h?(a=(i=f)-u,r=i,o=s+u,l=s-u):(a=(i=f+p)+u,r=i,o=s-u,l=s+u);else if("left"===h?(i=(a=f+d+u)-u,r=a+u):"right"===h?(i=(a=f+p-d-u)-u,r=a+u):(i=(a=n.caretX)-u,r=a+u),"top"===c)s=(o=g)-u,l=o;else{s=(o=g+m)+u,l=o;var v=r;r=i,i=v}return{x1:i,x2:a,x3:r,y1:o,y2:s,y3:l}},drawTitle:function(t,e,n){var i,a,r,o=e.title,s=o.length;if(s){var l=Ne(e.rtl,e.x,e.width);for(t.x=He(e,e._titleAlign),n.textAlign=l.textAlign(e._titleAlign),n.textBaseline="middle",i=e.titleFontSize,a=e.titleSpacing,n.fillStyle=e.titleFontColor,n.font=H.fontString(i,e._titleFontStyle,e._titleFontFamily),r=0;r0&&n.stroke()},draw:function(){var t=this._chart.ctx,e=this._view;if(0!==e.opacity){var n={width:e.width,height:e.height},i={x:e.x,y:e.y},a=Math.abs(e.opacity<.001)?0:e.opacity,r=e.title.length||e.beforeBody.length||e.body.length||e.afterBody.length||e.footer.length;this._options.enabled&&r&&(t.save(),t.globalAlpha=a,this.drawBackground(i,e,t,n),i.y+=e.yPadding,H.rtl.overrideTextDirection(t,e.textDirection),this.drawTitle(i,e,t),this.drawBody(i,e,t),this.drawFooter(i,e,t),H.rtl.restoreTextDirection(t,e.textDirection),t.restore())}},handleEvent:function(t){var e,n=this,i=n._options;return n._lastActive=n._lastActive||[],"mouseout"===t.type?n._active=[]:(n._active=n._chart.getElementsAtEventForMode(t,i.mode,i),i.reverse&&n._active.reverse()),(e=!H.arrayEquals(n._active,n._lastActive))&&(n._lastActive=n._active,(i.enabled||i.custom)&&(n._eventPosition={x:t.x,y:t.y},n.update(!0),n.pivot())),e}}),Ue=Be,Ye=qe;Ye.positioners=Ue;var Ge=H.valueOrDefault;function Xe(){return H.merge(Object.create(null),[].slice.call(arguments),{merger:function(t,e,n,i){if("xAxes"===t||"yAxes"===t){var a,r,o,s=n[t].length;for(e[t]||(e[t]=[]),a=0;a=e[t].length&&e[t].push({}),!e[t][a].type||o.type&&o.type!==e[t][a].type?H.merge(e[t][a],[Re.getScaleDefaults(r),o]):H.merge(e[t][a],o)}else H._merger(t,e,n,i)}})}function Ke(){return H.merge(Object.create(null),[].slice.call(arguments),{merger:function(t,e,n,i){var a=e[t]||Object.create(null),r=n[t];"scales"===t?e[t]=Xe(a,r):"scale"===t?e[t]=H.merge(a,[Re.getScaleDefaults(r.type),r]):H._merger(t,e,n,i)}})}function Ze(t){var e=t.options;H.each(t.scales,(function(e){pe.removeBox(t,e)})),e=Ke(N.global,N[t.config.type],e),t.options=t.config.options=e,t.ensureScalesHaveIDs(),t.buildOrUpdateScales(),t.tooltip._options=e.tooltips,t.tooltip.initialize()}function $e(t,e,n){var i,a=function(t){return t.id===i};do{i=e+n++}while(H.findIndex(t,a)>=0);return i}function Je(t){return"top"===t||"bottom"===t}function Qe(t,e){return function(n,i){return n[t]===i[t]?n[e]-i[e]:n[t]-i[t]}}N._set("global",{elements:{},events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,maintainAspectRatio:!0,responsive:!0,responsiveAnimationDuration:0});var tn=function(t,e){return this.construct(t,e),this};H.extend(tn.prototype,{construct:function(t,e){var n=this;e=function(t){var e=(t=t||Object.create(null)).data=t.data||{};return e.datasets=e.datasets||[],e.labels=e.labels||[],t.options=Ke(N.global,N[t.type],t.options||{}),t}(e);var i=Oe.acquireContext(t,e),a=i&&i.canvas,r=a&&a.height,o=a&&a.width;n.id=H.uid(),n.ctx=i,n.canvas=a,n.config=e,n.width=o,n.height=r,n.aspectRatio=r?o/r:null,n.options=e.options,n._bufferedRender=!1,n._layers=[],n.chart=n,n.controller=n,tn.instances[n.id]=n,Object.defineProperty(n,"data",{get:function(){return n.config.data},set:function(t){n.config.data=t}}),i&&a?(n.initialize(),n.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var t=this;return Le.notify(t,"beforeInit"),H.retinaScale(t,t.options.devicePixelRatio),t.bindEvents(),t.options.responsive&&t.resize(!0),t.initToolTip(),Le.notify(t,"afterInit"),t},clear:function(){return H.canvas.clear(this),this},stop:function(){return J.cancelAnimation(this),this},resize:function(t){var e=this,n=e.options,i=e.canvas,a=n.maintainAspectRatio&&e.aspectRatio||null,r=Math.max(0,Math.floor(H.getMaximumWidth(i))),o=Math.max(0,Math.floor(a?r/a:H.getMaximumHeight(i)));if((e.width!==r||e.height!==o)&&(i.width=e.width=r,i.height=e.height=o,i.style.width=r+"px",i.style.height=o+"px",H.retinaScale(e,n.devicePixelRatio),!t)){var s={width:r,height:o};Le.notify(e,"resize",[s]),n.onResize&&n.onResize(e,s),e.stop(),e.update({duration:n.responsiveAnimationDuration})}},ensureScalesHaveIDs:function(){var t=this.options,e=t.scales||{},n=t.scale;H.each(e.xAxes,(function(t,n){t.id||(t.id=$e(e.xAxes,"x-axis-",n))})),H.each(e.yAxes,(function(t,n){t.id||(t.id=$e(e.yAxes,"y-axis-",n))})),n&&(n.id=n.id||"scale")},buildOrUpdateScales:function(){var t=this,e=t.options,n=t.scales||{},i=[],a=Object.keys(n).reduce((function(t,e){return t[e]=!1,t}),{});e.scales&&(i=i.concat((e.scales.xAxes||[]).map((function(t){return{options:t,dtype:"category",dposition:"bottom"}})),(e.scales.yAxes||[]).map((function(t){return{options:t,dtype:"linear",dposition:"left"}})))),e.scale&&i.push({options:e.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),H.each(i,(function(e){var i=e.options,r=i.id,o=Ge(i.type,e.dtype);Je(i.position)!==Je(e.dposition)&&(i.position=e.dposition),a[r]=!0;var s=null;if(r in n&&n[r].type===o)(s=n[r]).options=i,s.ctx=t.ctx,s.chart=t;else{var l=Re.getScaleConstructor(o);if(!l)return;s=new l({id:r,type:o,options:i,ctx:t.ctx,chart:t}),n[s.id]=s}s.mergeTicksOptions(),e.isDefault&&(t.scale=s)})),H.each(a,(function(t,e){t||delete n[e]})),t.scales=n,Re.addScalesToLayout(this)},buildOrUpdateControllers:function(){var t,e,n=this,i=[],a=n.data.datasets;for(t=0,e=a.length;t=0;--n)this.drawDataset(e[n],t);Le.notify(this,"afterDatasetsDraw",[t])}},drawDataset:function(t,e){var n={meta:t,index:t.index,easingValue:e};!1!==Le.notify(this,"beforeDatasetDraw",[n])&&(t.controller.draw(e),Le.notify(this,"afterDatasetDraw",[n]))},_drawTooltip:function(t){var e=this.tooltip,n={tooltip:e,easingValue:t};!1!==Le.notify(this,"beforeTooltipDraw",[n])&&(e.draw(),Le.notify(this,"afterTooltipDraw",[n]))},getElementAtEvent:function(t){return re.modes.single(this,t)},getElementsAtEvent:function(t){return re.modes.label(this,t,{intersect:!0})},getElementsAtXAxis:function(t){return re.modes["x-axis"](this,t,{intersect:!0})},getElementsAtEventForMode:function(t,e,n){var i=re.modes[e];return"function"==typeof i?i(this,t,n):[]},getDatasetAtEvent:function(t){return re.modes.dataset(this,t,{intersect:!0})},getDatasetMeta:function(t){var e=this.data.datasets[t];e._meta||(e._meta={});var n=e._meta[this.id];return n||(n=e._meta[this.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e.order||0,index:t}),n},getVisibleDatasetCount:function(){for(var t=0,e=0,n=this.data.datasets.length;e3?n[2]-n[1]:n[1]-n[0];Math.abs(i)>1&&t!==Math.floor(t)&&(i=t-Math.floor(t));var a=H.log10(Math.abs(i)),r="";if(0!==t)if(Math.max(Math.abs(n[0]),Math.abs(n[n.length-1]))<1e-4){var o=H.log10(Math.abs(t)),s=Math.floor(o)-Math.floor(a);s=Math.max(Math.min(s,20),0),r=t.toExponential(s)}else{var l=-1*Math.floor(a);l=Math.max(Math.min(l,20),0),r=t.toFixed(l)}else r="0";return r},logarithmic:function(t,e,n){var i=t/Math.pow(10,Math.floor(H.log10(t)));return 0===t?"0":1===i||2===i||5===i||0===e||e===n.length-1?t.toExponential():""}}},sn=H.isArray,ln=H.isNullOrUndef,un=H.valueOrDefault,dn=H.valueAtIndexOrDefault;function hn(t,e,n){var i,a=t.getTicks().length,r=Math.min(e,a-1),o=t.getPixelForTick(r),s=t._startPixel,l=t._endPixel;if(!(n&&(i=1===a?Math.max(o-s,l-o):0===e?(t.getPixelForTick(1)-o)/2:(o-t.getPixelForTick(r-1))/2,(o+=rl+1e-6)))return o}function cn(t,e,n,i){var a,r,o,s,l,u,d,h,c,f,g,p,m,v=n.length,b=[],x=[],y=[],_=0,k=0;for(a=0;ae){for(n=0;n=c||d<=1||!s.isHorizontal()?s.labelRotation=h:(e=(t=s._getLabelSizes()).widest.width,n=t.highest.height-t.highest.offset,i=Math.min(s.maxWidth,s.chart.width-e),e+6>(a=l.offset?s.maxWidth/d:i/(d-1))&&(a=i/(d-(l.offset?.5:1)),r=s.maxHeight-fn(l.gridLines)-u.padding-gn(l.scaleLabel),o=Math.sqrt(e*e+n*n),f=H.toDegrees(Math.min(Math.asin(Math.min((t.highest.height+6)/a,1)),Math.asin(Math.min(r/o,1))-Math.asin(n/o))),f=Math.max(h,Math.min(c,f))),s.labelRotation=f)},afterCalculateTickRotation:function(){H.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){H.callback(this.options.beforeFit,[this])},fit:function(){var t=this,e=t.minSize={width:0,height:0},n=t.chart,i=t.options,a=i.ticks,r=i.scaleLabel,o=i.gridLines,s=t._isVisible(),l="bottom"===i.position,u=t.isHorizontal();if(u?e.width=t.maxWidth:s&&(e.width=fn(o)+gn(r)),u?s&&(e.height=fn(o)+gn(r)):e.height=t.maxHeight,a.display&&s){var d=mn(a),h=t._getLabelSizes(),c=h.first,f=h.last,g=h.widest,p=h.highest,m=.4*d.minor.lineHeight,v=a.padding;if(u){var b=0!==t.labelRotation,x=H.toRadians(t.labelRotation),y=Math.cos(x),_=Math.sin(x),k=_*g.width+y*(p.height-(b?p.offset:0))+(b?0:m);e.height=Math.min(t.maxHeight,e.height+k+v);var w,M,S=t.getPixelForTick(0)-t.left,C=t.right-t.getPixelForTick(t.getTicks().length-1);b?(w=l?y*c.width+_*c.offset:_*(c.height-c.offset),M=l?_*(f.height-f.offset):y*f.width+_*f.offset):(w=c.width/2,M=f.width/2),t.paddingLeft=Math.max((w-S)*t.width/(t.width-S),0)+3,t.paddingRight=Math.max((M-C)*t.width/(t.width-C),0)+3}else{var P=a.mirror?0:g.width+v+m;e.width=Math.min(t.maxWidth,e.width+P),t.paddingTop=c.height/2,t.paddingBottom=f.height/2}}t.handleMargins(),u?(t.width=t._length=n.width-t.margins.left-t.margins.right,t.height=e.height):(t.width=e.width,t.height=t._length=n.height-t.margins.top-t.margins.bottom)},handleMargins:function(){var t=this;t.margins&&(t.margins.left=Math.max(t.paddingLeft,t.margins.left),t.margins.top=Math.max(t.paddingTop,t.margins.top),t.margins.right=Math.max(t.paddingRight,t.margins.right),t.margins.bottom=Math.max(t.paddingBottom,t.margins.bottom))},afterFit:function(){H.callback(this.options.afterFit,[this])},isHorizontal:function(){var t=this.options.position;return"top"===t||"bottom"===t},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(t){if(ln(t))return NaN;if(("number"==typeof t||t instanceof Number)&&!isFinite(t))return NaN;if(t)if(this.isHorizontal()){if(void 0!==t.x)return this.getRightValue(t.x)}else if(void 0!==t.y)return this.getRightValue(t.y);return t},_convertTicksToLabels:function(t){var e,n,i,a=this;for(a.ticks=t.map((function(t){return t.value})),a.beforeTickToLabelConversion(),e=a.convertTicksToLabels(t)||a.ticks,a.afterTickToLabelConversion(),n=0,i=t.length;nn-1?null:this.getPixelForDecimal(t*i+(e?i/2:0))},getPixelForDecimal:function(t){return this._reversePixels&&(t=1-t),this._startPixel+t*this._length},getDecimalForPixel:function(t){var e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var t=this.min,e=this.max;return this.beginAtZero?0:t<0&&e<0?e:t>0&&e>0?t:0},_autoSkip:function(t){var e,n,i,a,r=this.options.ticks,o=this._length,s=r.maxTicksLimit||o/this._tickSize()+1,l=r.major.enabled?function(t){var e,n,i=[];for(e=0,n=t.length;es)return function(t,e,n){var i,a,r=0,o=e[0];for(n=Math.ceil(n),i=0;iu)return r;return Math.max(u,1)}(l,t,0,s),u>0){for(e=0,n=u-1;e1?(h-d)/(u-1):null,bn(t,i,H.isNullOrUndef(a)?0:d-a,d),bn(t,i,h,H.isNullOrUndef(a)?t.length:h+a),vn(t)}return bn(t,i),vn(t)},_tickSize:function(){var t=this.options.ticks,e=H.toRadians(this.labelRotation),n=Math.abs(Math.cos(e)),i=Math.abs(Math.sin(e)),a=this._getLabelSizes(),r=t.autoSkipPadding||0,o=a?a.widest.width+r:0,s=a?a.highest.height+r:0;return this.isHorizontal()?s*n>o*i?o/n:s/i:s*i=0&&(o=t),void 0!==r&&(t=n.indexOf(r))>=0&&(s=t),e.minIndex=o,e.maxIndex=s,e.min=n[o],e.max=n[s]},buildTicks:function(){var t=this._getLabels(),e=this.minIndex,n=this.maxIndex;this.ticks=0===e&&n===t.length-1?t:t.slice(e,n+1)},getLabelForIndex:function(t,e){var n=this.chart;return n.getDatasetMeta(e).controller._getValueScaleId()===this.id?this.getRightValue(n.data.datasets[e].data[t]):this._getLabels()[t]},_configure:function(){var t=this,e=t.options.offset,n=t.ticks;yn.prototype._configure.call(t),t.isHorizontal()||(t._reversePixels=!t._reversePixels),n&&(t._startValue=t.minIndex-(e?.5:0),t._valueRange=Math.max(n.length-(e?0:1),1))},getPixelForValue:function(t,e,n){var i,a,r,o=this;return _n(e)||_n(n)||(t=o.chart.data.datasets[n].data[e]),_n(t)||(i=o.isHorizontal()?t.x:t.y),(void 0!==i||void 0!==t&&isNaN(e))&&(a=o._getLabels(),t=H.valueOrDefault(i,t),e=-1!==(r=a.indexOf(t))?r:e,isNaN(e)&&(e=t)),o.getPixelForDecimal((e-o._startValue)/o._valueRange)},getPixelForTick:function(t){var e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t],t+this.minIndex)},getValueForPixel:function(t){var e=Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange);return Math.min(Math.max(e,0),this.ticks.length-1)},getBasePixel:function(){return this.bottom}}),wn={position:"bottom"};kn._defaults=wn;var Mn=H.noop,Sn=H.isNullOrUndef;var Cn=yn.extend({getRightValue:function(t){return"string"==typeof t?+t:yn.prototype.getRightValue.call(this,t)},handleTickRangeOptions:function(){var t=this,e=t.options.ticks;if(e.beginAtZero){var n=H.sign(t.min),i=H.sign(t.max);n<0&&i<0?t.max=0:n>0&&i>0&&(t.min=0)}var a=void 0!==e.min||void 0!==e.suggestedMin,r=void 0!==e.max||void 0!==e.suggestedMax;void 0!==e.min?t.min=e.min:void 0!==e.suggestedMin&&(null===t.min?t.min=e.suggestedMin:t.min=Math.min(t.min,e.suggestedMin)),void 0!==e.max?t.max=e.max:void 0!==e.suggestedMax&&(null===t.max?t.max=e.suggestedMax:t.max=Math.max(t.max,e.suggestedMax)),a!==r&&t.min>=t.max&&(a?t.max=t.min+1:t.min=t.max-1),t.min===t.max&&(t.max++,e.beginAtZero||t.min--)},getTickLimit:function(){var t,e=this.options.ticks,n=e.stepSize,i=e.maxTicksLimit;return n?t=Math.ceil(this.max/n)-Math.floor(this.min/n)+1:(t=this._computeTickLimit(),i=i||11),i&&(t=Math.min(i,t)),t},_computeTickLimit:function(){return Number.POSITIVE_INFINITY},handleDirectionalChanges:Mn,buildTicks:function(){var t=this,e=t.options.ticks,n=t.getTickLimit(),i={maxTicks:n=Math.max(2,n),min:e.min,max:e.max,precision:e.precision,stepSize:H.valueOrDefault(e.fixedStepSize,e.stepSize)},a=t.ticks=function(t,e){var n,i,a,r,o=[],s=t.stepSize,l=s||1,u=t.maxTicks-1,d=t.min,h=t.max,c=t.precision,f=e.min,g=e.max,p=H.niceNum((g-f)/u/l)*l;if(p<1e-14&&Sn(d)&&Sn(h))return[f,g];(r=Math.ceil(g/p)-Math.floor(f/p))>u&&(p=H.niceNum(r*p/u/l)*l),s||Sn(c)?n=Math.pow(10,H._decimalPlaces(p)):(n=Math.pow(10,c),p=Math.ceil(p*n)/n),i=Math.floor(f/p)*p,a=Math.ceil(g/p)*p,s&&(!Sn(d)&&H.almostWhole(d/p,p/1e3)&&(i=d),!Sn(h)&&H.almostWhole(h/p,p/1e3)&&(a=h)),r=(a-i)/p,r=H.almostEquals(r,Math.round(r),p/1e3)?Math.round(r):Math.ceil(r),i=Math.round(i*n)/n,a=Math.round(a*n)/n,o.push(Sn(d)?i:d);for(var m=1;me.length-1?null:this.getPixelForValue(e[t])}}),In=Pn;Tn._defaults=In;var Fn=H.valueOrDefault,On=H.math.log10;var Ln={position:"left",ticks:{callback:on.formatters.logarithmic}};function Rn(t,e){return H.isFinite(t)&&t>=0?t:e}var zn=yn.extend({determineDataLimits:function(){var t,e,n,i,a,r,o=this,s=o.options,l=o.chart,u=l.data.datasets,d=o.isHorizontal();function h(t){return d?t.xAxisID===o.id:t.yAxisID===o.id}o.min=Number.POSITIVE_INFINITY,o.max=Number.NEGATIVE_INFINITY,o.minNotZero=Number.POSITIVE_INFINITY;var c=s.stacked;if(void 0===c)for(t=0;t0){var e=H.min(t),n=H.max(t);o.min=Math.min(o.min,e),o.max=Math.max(o.max,n)}}))}else for(t=0;t0?t.minNotZero=t.min:t.max<1?t.minNotZero=Math.pow(10,Math.floor(On(t.max))):t.minNotZero=1)},buildTicks:function(){var t=this,e=t.options.ticks,n=!t.isHorizontal(),i={min:Rn(e.min),max:Rn(e.max)},a=t.ticks=function(t,e){var n,i,a=[],r=Fn(t.min,Math.pow(10,Math.floor(On(e.min)))),o=Math.floor(On(e.max)),s=Math.ceil(e.max/Math.pow(10,o));0===r?(n=Math.floor(On(e.minNotZero)),i=Math.floor(e.minNotZero/Math.pow(10,n)),a.push(r),r=i*Math.pow(10,n)):(n=Math.floor(On(r)),i=Math.floor(r/Math.pow(10,n)));var l=n<0?Math.pow(10,Math.abs(n)):1;do{a.push(r),10===++i&&(i=1,l=++n>=0?1:l),r=Math.round(i*Math.pow(10,n)*l)/l}while(ne.length-1?null:this.getPixelForValue(e[t])},_getFirstTickValue:function(t){var e=Math.floor(On(t));return Math.floor(t/Math.pow(10,e))*Math.pow(10,e)},_configure:function(){var t=this,e=t.min,n=0;yn.prototype._configure.call(t),0===e&&(e=t._getFirstTickValue(t.minNotZero),n=Fn(t.options.ticks.fontSize,N.global.defaultFontSize)/t._length),t._startValue=On(e),t._valueOffset=n,t._valueRange=(On(t.max)-On(e))/(1-n)},getPixelForValue:function(t){var e=this,n=0;return(t=+e.getRightValue(t))>e.min&&t>0&&(n=(On(t)-e._startValue)/e._valueRange+e._valueOffset),e.getPixelForDecimal(n)},getValueForPixel:function(t){var e=this,n=e.getDecimalForPixel(t);return 0===n&&0===e.min?0:Math.pow(10,e._startValue+(n-e._valueOffset)*e._valueRange)}}),Nn=Ln;zn._defaults=Nn;var Bn=H.valueOrDefault,En=H.valueAtIndexOrDefault,Wn=H.options.resolve,Vn={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,color:"rgba(0,0,0,0.1)",lineWidth:1,borderDash:[],borderDashOffset:0},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:"rgba(255,255,255,0.75)",backdropPaddingY:2,backdropPaddingX:2,callback:on.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(t){return t}}};function Hn(t){var e=t.ticks;return e.display&&t.display?Bn(e.fontSize,N.global.defaultFontSize)+2*e.backdropPaddingY:0}function jn(t,e,n,i,a){return t===i||t===a?{start:e-n/2,end:e+n/2}:ta?{start:e-n,end:e}:{start:e,end:e+n}}function qn(t){return 0===t||180===t?"center":t<180?"left":"right"}function Un(t,e,n,i){var a,r,o=n.y+i/2;if(H.isArray(e))for(a=0,r=e.length;a270||t<90)&&(n.y-=e.h)}function Gn(t){return H.isNumber(t)?t:0}var Xn=Cn.extend({setDimensions:function(){var t=this;t.width=t.maxWidth,t.height=t.maxHeight,t.paddingTop=Hn(t.options)/2,t.xCenter=Math.floor(t.width/2),t.yCenter=Math.floor((t.height-t.paddingTop)/2),t.drawingArea=Math.min(t.height-t.paddingTop,t.width)/2},determineDataLimits:function(){var t=this,e=t.chart,n=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;H.each(e.data.datasets,(function(a,r){if(e.isDatasetVisible(r)){var o=e.getDatasetMeta(r);H.each(a.data,(function(e,a){var r=+t.getRightValue(e);isNaN(r)||o.data[a].hidden||(n=Math.min(r,n),i=Math.max(r,i))}))}})),t.min=n===Number.POSITIVE_INFINITY?0:n,t.max=i===Number.NEGATIVE_INFINITY?0:i,t.handleTickRangeOptions()},_computeTickLimit:function(){return Math.ceil(this.drawingArea/Hn(this.options))},convertTicksToLabels:function(){var t=this;Cn.prototype.convertTicksToLabels.call(t),t.pointLabels=t.chart.data.labels.map((function(){var e=H.callback(t.options.pointLabels.callback,arguments,t);return e||0===e?e:""}))},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},fit:function(){var t=this.options;t.display&&t.pointLabels.display?function(t){var e,n,i,a=H.options._parseFont(t.options.pointLabels),r={l:0,r:t.width,t:0,b:t.height-t.paddingTop},o={};t.ctx.font=a.string,t._pointLabelSizes=[];var s,l,u,d=t.chart.data.labels.length;for(e=0;er.r&&(r.r=f.end,o.r=h),g.startr.b&&(r.b=g.end,o.b=h)}t.setReductions(t.drawingArea,r,o)}(this):this.setCenterPoint(0,0,0,0)},setReductions:function(t,e,n){var i=this,a=e.l/Math.sin(n.l),r=Math.max(e.r-i.width,0)/Math.sin(n.r),o=-e.t/Math.cos(n.t),s=-Math.max(e.b-(i.height-i.paddingTop),0)/Math.cos(n.b);a=Gn(a),r=Gn(r),o=Gn(o),s=Gn(s),i.drawingArea=Math.min(Math.floor(t-(a+r)/2),Math.floor(t-(o+s)/2)),i.setCenterPoint(a,r,o,s)},setCenterPoint:function(t,e,n,i){var a=this,r=a.width-e-a.drawingArea,o=t+a.drawingArea,s=n+a.drawingArea,l=a.height-a.paddingTop-i-a.drawingArea;a.xCenter=Math.floor((o+r)/2+a.left),a.yCenter=Math.floor((s+l)/2+a.top+a.paddingTop)},getIndexAngle:function(t){var e=this.chart,n=(t*(360/e.data.labels.length)+((e.options||{}).startAngle||0))%360;return(n<0?n+360:n)*Math.PI*2/360},getDistanceFromCenterForValue:function(t){var e=this;if(H.isNullOrUndef(t))return NaN;var n=e.drawingArea/(e.max-e.min);return e.options.ticks.reverse?(e.max-t)*n:(t-e.min)*n},getPointPosition:function(t,e){var n=this.getIndexAngle(t)-Math.PI/2;return{x:Math.cos(n)*e+this.xCenter,y:Math.sin(n)*e+this.yCenter}},getPointPositionForValue:function(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))},getBasePosition:function(t){var e=this.min,n=this.max;return this.getPointPositionForValue(t||0,this.beginAtZero?0:e<0&&n<0?n:e>0&&n>0?e:0)},_drawGrid:function(){var t,e,n,i=this,a=i.ctx,r=i.options,o=r.gridLines,s=r.angleLines,l=Bn(s.lineWidth,o.lineWidth),u=Bn(s.color,o.color);if(r.pointLabels.display&&function(t){var e=t.ctx,n=t.options,i=n.pointLabels,a=Hn(n),r=t.getDistanceFromCenterForValue(n.ticks.reverse?t.min:t.max),o=H.options._parseFont(i);e.save(),e.font=o.string,e.textBaseline="middle";for(var s=t.chart.data.labels.length-1;s>=0;s--){var l=0===s?a/2:0,u=t.getPointPosition(s,r+l+5),d=En(i.fontColor,s,N.global.defaultFontColor);e.fillStyle=d;var h=t.getIndexAngle(s),c=H.toDegrees(h);e.textAlign=qn(c),Yn(c,t._pointLabelSizes[s],u),Un(e,t.pointLabels[s],u,o.lineHeight)}e.restore()}(i),o.display&&H.each(i.ticks,(function(t,n){0!==n&&(e=i.getDistanceFromCenterForValue(i.ticksAsNumbers[n]),function(t,e,n,i){var a,r=t.ctx,o=e.circular,s=t.chart.data.labels.length,l=En(e.color,i-1),u=En(e.lineWidth,i-1);if((o||s)&&l&&u){if(r.save(),r.strokeStyle=l,r.lineWidth=u,r.setLineDash&&(r.setLineDash(e.borderDash||[]),r.lineDashOffset=e.borderDashOffset||0),r.beginPath(),o)r.arc(t.xCenter,t.yCenter,n,0,2*Math.PI);else{a=t.getPointPosition(0,n),r.moveTo(a.x,a.y);for(var d=1;d=0;t--)e=i.getDistanceFromCenterForValue(r.ticks.reverse?i.min:i.max),n=i.getPointPosition(t,e),a.beginPath(),a.moveTo(i.xCenter,i.yCenter),a.lineTo(n.x,n.y),a.stroke();a.restore()}},_drawLabels:function(){var t=this,e=t.ctx,n=t.options.ticks;if(n.display){var i,a,r=t.getIndexAngle(0),o=H.options._parseFont(n),s=Bn(n.fontColor,N.global.defaultFontColor);e.save(),e.font=o.string,e.translate(t.xCenter,t.yCenter),e.rotate(r),e.textAlign="center",e.textBaseline="middle",H.each(t.ticks,(function(r,l){(0!==l||n.reverse)&&(i=t.getDistanceFromCenterForValue(t.ticksAsNumbers[l]),n.showLabelBackdrop&&(a=e.measureText(r).width,e.fillStyle=n.backdropColor,e.fillRect(-a/2-n.backdropPaddingX,-i-o.size/2-n.backdropPaddingY,a+2*n.backdropPaddingX,o.size+2*n.backdropPaddingY)),e.fillStyle=s,e.fillText(r,0,-i))})),e.restore()}},_drawTitle:H.noop}),Kn=Vn;Xn._defaults=Kn;var Zn=H._deprecated,$n=H.options.resolve,Jn=H.valueOrDefault,Qn=Number.MIN_SAFE_INTEGER||-9007199254740991,ti=Number.MAX_SAFE_INTEGER||9007199254740991,ei={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},ni=Object.keys(ei);function ii(t,e){return t-e}function ai(t){return H.valueOrDefault(t.time.min,t.ticks.min)}function ri(t){return H.valueOrDefault(t.time.max,t.ticks.max)}function oi(t,e,n,i){var a=function(t,e,n){for(var i,a,r,o=0,s=t.length-1;o>=0&&o<=s;){if(a=t[(i=o+s>>1)-1]||null,r=t[i],!a)return{lo:null,hi:r};if(r[e]n))return{lo:a,hi:r};s=i-1}}return{lo:r,hi:null}}(t,e,n),r=a.lo?a.hi?a.lo:t[t.length-2]:t[0],o=a.lo?a.hi?a.hi:t[t.length-1]:t[1],s=o[e]-r[e],l=s?(n-r[e])/s:0,u=(o[i]-r[i])*l;return r[i]+u}function si(t,e){var n=t._adapter,i=t.options.time,a=i.parser,r=a||i.format,o=e;return"function"==typeof a&&(o=a(o)),H.isFinite(o)||(o="string"==typeof r?n.parse(o,r):n.parse(o)),null!==o?+o:(a||"function"!=typeof r||(o=r(e),H.isFinite(o)||(o=n.parse(o))),o)}function li(t,e){if(H.isNullOrUndef(e))return null;var n=t.options.time,i=si(t,t.getRightValue(e));return null===i?i:(n.round&&(i=+t._adapter.startOf(i,n.round)),i)}function ui(t,e,n,i){var a,r,o,s=ni.length;for(a=ni.indexOf(t);a=0&&(e[r].major=!0);return e}(t,r,o,n):r}var hi=yn.extend({initialize:function(){this.mergeTicksOptions(),yn.prototype.initialize.call(this)},update:function(){var t=this,e=t.options,n=e.time||(e.time={}),i=t._adapter=new rn._date(e.adapters.date);return Zn("time scale",n.format,"time.format","time.parser"),Zn("time scale",n.min,"time.min","ticks.min"),Zn("time scale",n.max,"time.max","ticks.max"),H.mergeIf(n.displayFormats,i.formats()),yn.prototype.update.apply(t,arguments)},getRightValue:function(t){return t&&void 0!==t.t&&(t=t.t),yn.prototype.getRightValue.call(this,t)},determineDataLimits:function(){var t,e,n,i,a,r,o,s=this,l=s.chart,u=s._adapter,d=s.options,h=d.time.unit||"day",c=ti,f=Qn,g=[],p=[],m=[],v=s._getLabels();for(t=0,n=v.length;t1?function(t){var e,n,i,a={},r=[];for(e=0,n=t.length;e1e5*u)throw e+" and "+n+" are too far apart with stepSize of "+u+" "+l;for(a=h;a=a&&n<=r&&d.push(n);return i.min=a,i.max=r,i._unit=l.unit||(s.autoSkip?ui(l.minUnit,i.min,i.max,h):function(t,e,n,i,a){var r,o;for(r=ni.length-1;r>=ni.indexOf(n);r--)if(o=ni[r],ei[o].common&&t._adapter.diff(a,i,o)>=e-1)return o;return ni[n?ni.indexOf(n):0]}(i,d.length,l.minUnit,i.min,i.max)),i._majorUnit=s.major.enabled&&"year"!==i._unit?function(t){for(var e=ni.indexOf(t)+1,n=ni.length;ee&&s=0&&t0?s:1}}),ci={position:"bottom",distribution:"linear",bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{autoSkip:!1,source:"auto",major:{enabled:!1}}};hi._defaults=ci;var fi={category:kn,linear:Tn,logarithmic:zn,radialLinear:Xn,time:hi},gi={datetime:"MMM D, YYYY, h:mm:ss a",millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm a",hour:"hA",day:"MMM D",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"};rn._date.override("function"==typeof t?{_id:"moment",formats:function(){return gi},parse:function(e,n){return"string"==typeof e&&"string"==typeof n?e=t(e,n):e instanceof t||(e=t(e)),e.isValid()?e.valueOf():null},format:function(e,n){return t(e).format(n)},add:function(e,n,i){return t(e).add(n,i).valueOf()},diff:function(e,n,i){return t(e).diff(t(n),i)},startOf:function(e,n,i){return e=t(e),"isoWeek"===n?e.isoWeekday(i).valueOf():e.startOf(n).valueOf()},endOf:function(e,n){return t(e).endOf(n).valueOf()},_create:function(e){return t(e)}}:{}),N._set("global",{plugins:{filler:{propagate:!0}}});var pi={dataset:function(t){var e=t.fill,n=t.chart,i=n.getDatasetMeta(e),a=i&&n.isDatasetVisible(e)&&i.dataset._children||[],r=a.length||0;return r?function(t,e){return e=n)&&i;switch(r){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return r;default:return!1}}function vi(t){return(t.el._scale||{}).getPointPositionForValue?function(t){var e,n,i,a,r,o=t.el._scale,s=o.options,l=o.chart.data.labels.length,u=t.fill,d=[];if(!l)return null;for(e=s.ticks.reverse?o.max:o.min,n=s.ticks.reverse?o.min:o.max,i=o.getPointPositionForValue(0,e),a=0;a0;--r)H.canvas.lineTo(t,n[r],n[r-1],!0);else for(o=n[0].cx,s=n[0].cy,l=Math.sqrt(Math.pow(n[0].x-o,2)+Math.pow(n[0].y-s,2)),r=a-1;r>0;--r)t.arc(o,s,l,n[r].angle,n[r-1].angle,!0)}}function ki(t,e,n,i,a,r){var o,s,l,u,d,h,c,f,g=e.length,p=i.spanGaps,m=[],v=[],b=0,x=0;for(t.beginPath(),o=0,s=g;o=0;--n)(e=l[n].$filler)&&e.visible&&(a=(i=e.el)._view,r=i._children||[],o=e.mapper,s=a.backgroundColor||N.global.defaultColor,o&&s&&r.length&&(H.canvas.clipArea(u,t.chartArea),ki(u,r,o,a,s,i._loop),H.canvas.unclipArea(u)))}},Mi=H.rtl.getRtlAdapter,Si=H.noop,Ci=H.valueOrDefault;function Pi(t,e){return t.usePointStyle&&t.boxWidth>e?e:t.boxWidth}N._set("global",{legend:{display:!0,position:"top",align:"center",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(t,e){var n=e.datasetIndex,i=this.chart,a=i.getDatasetMeta(n);a.hidden=null===a.hidden?!i.data.datasets[n].hidden:null,i.update()},onHover:null,onLeave:null,labels:{boxWidth:40,padding:10,generateLabels:function(t){var e=t.data.datasets,n=t.options.legend||{},i=n.labels&&n.labels.usePointStyle;return t._getSortedDatasetMetas().map((function(n){var a=n.controller.getStyle(i?0:void 0);return{text:e[n.index].label,fillStyle:a.backgroundColor,hidden:!t.isDatasetVisible(n.index),lineCap:a.borderCapStyle,lineDash:a.borderDash,lineDashOffset:a.borderDashOffset,lineJoin:a.borderJoinStyle,lineWidth:a.borderWidth,strokeStyle:a.borderColor,pointStyle:a.pointStyle,rotation:a.rotation,datasetIndex:n.index}}),this)}}},legendCallback:function(t){var e,n,i,a=document.createElement("ul"),r=t.data.datasets;for(a.setAttribute("class",t.id+"-legend"),e=0,n=r.length;el.width)&&(h+=o+n.padding,d[d.length-(e>0?0:1)]=0),s[e]={left:0,top:0,width:i,height:o},d[d.length-1]+=i+n.padding})),l.height+=h}else{var c=n.padding,f=t.columnWidths=[],g=t.columnHeights=[],p=n.padding,m=0,v=0;H.each(t.legendItems,(function(t,e){var i=Pi(n,o)+o/2+a.measureText(t.text).width;e>0&&v+o+2*c>l.height&&(p+=m+n.padding,f.push(m),g.push(v),m=0,v=0),m=Math.max(m,i),v+=o+c,s[e]={left:0,top:0,width:i,height:o}})),p+=m,f.push(m),g.push(v),l.width+=p}t.width=l.width,t.height=l.height}else t.width=l.width=t.height=l.height=0},afterFit:Si,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var t=this,e=t.options,n=e.labels,i=N.global,a=i.defaultColor,r=i.elements.line,o=t.height,s=t.columnHeights,l=t.width,u=t.lineWidths;if(e.display){var d,h=Mi(e.rtl,t.left,t.minSize.width),c=t.ctx,f=Ci(n.fontColor,i.defaultFontColor),g=H.options._parseFont(n),p=g.size;c.textAlign=h.textAlign("left"),c.textBaseline="middle",c.lineWidth=.5,c.strokeStyle=f,c.fillStyle=f,c.font=g.string;var m=Pi(n,p),v=t.legendHitBoxes,b=function(t,i){switch(e.align){case"start":return n.padding;case"end":return t-i;default:return(t-i+n.padding)/2}},x=t.isHorizontal();d=x?{x:t.left+b(l,u[0]),y:t.top+n.padding,line:0}:{x:t.left+n.padding,y:t.top+b(o,s[0]),line:0},H.rtl.overrideTextDirection(t.ctx,e.textDirection);var y=p+n.padding;H.each(t.legendItems,(function(e,i){var f=c.measureText(e.text).width,g=m+p/2+f,_=d.x,k=d.y;h.setWidth(t.minSize.width),x?i>0&&_+g+n.padding>t.left+t.minSize.width&&(k=d.y+=y,d.line++,_=d.x=t.left+b(l,u[d.line])):i>0&&k+y>t.top+t.minSize.height&&(_=d.x=_+t.columnWidths[d.line]+n.padding,d.line++,k=d.y=t.top+b(o,s[d.line]));var w=h.x(_);!function(t,e,i){if(!(isNaN(m)||m<=0)){c.save();var o=Ci(i.lineWidth,r.borderWidth);if(c.fillStyle=Ci(i.fillStyle,a),c.lineCap=Ci(i.lineCap,r.borderCapStyle),c.lineDashOffset=Ci(i.lineDashOffset,r.borderDashOffset),c.lineJoin=Ci(i.lineJoin,r.borderJoinStyle),c.lineWidth=o,c.strokeStyle=Ci(i.strokeStyle,a),c.setLineDash&&c.setLineDash(Ci(i.lineDash,r.borderDash)),n&&n.usePointStyle){var s=m*Math.SQRT2/2,l=h.xPlus(t,m/2),u=e+p/2;H.canvas.drawPoint(c,i.pointStyle,s,l,u,i.rotation)}else c.fillRect(h.leftForLtr(t,m),e,m,p),0!==o&&c.strokeRect(h.leftForLtr(t,m),e,m,p);c.restore()}}(w,k,e),v[i].left=h.leftForLtr(w,v[i].width),v[i].top=k,function(t,e,n,i){var a=p/2,r=h.xPlus(t,m+a),o=e+a;c.fillText(n.text,r,o),n.hidden&&(c.beginPath(),c.lineWidth=2,c.moveTo(r,o),c.lineTo(h.xPlus(r,i),o),c.stroke())}(w,k,e,f),x?d.x+=g+n.padding:d.y+=y})),H.rtl.restoreTextDirection(t.ctx,e.textDirection)}},_getLegendItemAt:function(t,e){var n,i,a,r=this;if(t>=r.left&&t<=r.right&&e>=r.top&&e<=r.bottom)for(a=r.legendHitBoxes,n=0;n=(i=a[n]).left&&t<=i.left+i.width&&e>=i.top&&e<=i.top+i.height)return r.legendItems[n];return null},handleEvent:function(t){var e,n=this,i=n.options,a="mouseup"===t.type?"click":t.type;if("mousemove"===a){if(!i.onHover&&!i.onLeave)return}else{if("click"!==a)return;if(!i.onClick)return}e=n._getLegendItemAt(t.x,t.y),"click"===a?e&&i.onClick&&i.onClick.call(n,t.native,e):(i.onLeave&&e!==n._hoveredItem&&(n._hoveredItem&&i.onLeave.call(n,t.native,n._hoveredItem),n._hoveredItem=e),i.onHover&&e&&i.onHover.call(n,t.native,e))}});function Di(t,e){var n=new Ai({ctx:t.ctx,options:e,chart:t});pe.configure(t,n,e),pe.addBox(t,n),t.legend=n}var Ti={id:"legend",_element:Ai,beforeInit:function(t){var e=t.options.legend;e&&Di(t,e)},beforeUpdate:function(t){var e=t.options.legend,n=t.legend;e?(H.mergeIf(e,N.global.legend),n?(pe.configure(t,n,e),n.options=e):Di(t,e)):n&&(pe.removeBox(t,n),delete t.legend)},afterEvent:function(t,e){var n=t.legend;n&&n.handleEvent(e)}},Ii=H.noop;N._set("global",{title:{display:!1,fontStyle:"bold",fullWidth:!0,padding:10,position:"top",text:"",weight:2e3}});var Fi=K.extend({initialize:function(t){H.extend(this,t),this.legendHitBoxes=[]},beforeUpdate:Ii,update:function(t,e,n){var i=this;return i.beforeUpdate(),i.maxWidth=t,i.maxHeight=e,i.margins=n,i.beforeSetDimensions(),i.setDimensions(),i.afterSetDimensions(),i.beforeBuildLabels(),i.buildLabels(),i.afterBuildLabels(),i.beforeFit(),i.fit(),i.afterFit(),i.afterUpdate(),i.minSize},afterUpdate:Ii,beforeSetDimensions:Ii,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:Ii,beforeBuildLabels:Ii,buildLabels:Ii,afterBuildLabels:Ii,beforeFit:Ii,fit:function(){var t,e=this,n=e.options,i=e.minSize={},a=e.isHorizontal();n.display?(t=(H.isArray(n.text)?n.text.length:1)*H.options._parseFont(n).lineHeight+2*n.padding,e.width=i.width=a?e.maxWidth:t,e.height=i.height=a?t:e.maxHeight):e.width=i.width=e.height=i.height=0},afterFit:Ii,isHorizontal:function(){var t=this.options.position;return"top"===t||"bottom"===t},draw:function(){var t=this,e=t.ctx,n=t.options;if(n.display){var i,a,r,o=H.options._parseFont(n),s=o.lineHeight,l=s/2+n.padding,u=0,d=t.top,h=t.left,c=t.bottom,f=t.right;e.fillStyle=H.valueOrDefault(n.fontColor,N.global.defaultFontColor),e.font=o.string,t.isHorizontal()?(a=h+(f-h)/2,r=d+l,i=f-h):(a="left"===n.position?h+l:f-l,r=d+(c-d)/2,i=c-d,u=Math.PI*("left"===n.position?-.5:.5)),e.save(),e.translate(a,r),e.rotate(u),e.textAlign="center",e.textBaseline="middle";var g=n.text;if(H.isArray(g))for(var p=0,m=0;m=0;i--){var a=t[i];if(e(a))return a}},H.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},H.almostEquals=function(t,e,n){return Math.abs(t-e)=t},H.max=function(t){return t.reduce((function(t,e){return isNaN(e)?t:Math.max(t,e)}),Number.NEGATIVE_INFINITY)},H.min=function(t){return t.reduce((function(t,e){return isNaN(e)?t:Math.min(t,e)}),Number.POSITIVE_INFINITY)},H.sign=Math.sign?function(t){return Math.sign(t)}:function(t){return 0===(t=+t)||isNaN(t)?t:t>0?1:-1},H.toRadians=function(t){return t*(Math.PI/180)},H.toDegrees=function(t){return t*(180/Math.PI)},H._decimalPlaces=function(t){if(H.isFinite(t)){for(var e=1,n=0;Math.round(t*e)/e!==t;)e*=10,n++;return n}},H.getAngleFromPoint=function(t,e){var n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),r=Math.atan2(i,n);return r<-.5*Math.PI&&(r+=2*Math.PI),{angle:r,distance:a}},H.distanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},H.aliasPixel=function(t){return t%2==0?0:.5},H._alignPixel=function(t,e,n){var i=t.currentDevicePixelRatio,a=n/2;return Math.round((e-a)*i)/i+a},H.splineCurve=function(t,e,n,i){var a=t.skip?e:t,r=e,o=n.skip?e:n,s=Math.sqrt(Math.pow(r.x-a.x,2)+Math.pow(r.y-a.y,2)),l=Math.sqrt(Math.pow(o.x-r.x,2)+Math.pow(o.y-r.y,2)),u=s/(s+l),d=l/(s+l),h=i*(u=isNaN(u)?0:u),c=i*(d=isNaN(d)?0:d);return{previous:{x:r.x-h*(o.x-a.x),y:r.y-h*(o.y-a.y)},next:{x:r.x+c*(o.x-a.x),y:r.y+c*(o.y-a.y)}}},H.EPSILON=Number.EPSILON||1e-14,H.splineCurveMonotone=function(t){var e,n,i,a,r,o,s,l,u,d=(t||[]).map((function(t){return{model:t._model,deltaK:0,mK:0}})),h=d.length;for(e=0;e0?d[e-1]:null,(a=e0?d[e-1]:null,a=e=t.length-1?t[0]:t[e+1]:e>=t.length-1?t[t.length-1]:t[e+1]},H.previousItem=function(t,e,n){return n?e<=0?t[t.length-1]:t[e-1]:e<=0?t[0]:t[e-1]},H.niceNum=function(t,e){var n=Math.floor(H.log10(t)),i=t/Math.pow(10,n);return(e?i<1.5?1:i<3?2:i<7?5:10:i<=1?1:i<=2?2:i<=5?5:10)*Math.pow(10,n)},H.requestAnimFrame="undefined"==typeof window?function(t){t()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60)},H.getRelativePosition=function(t,e){var n,i,a=t.originalEvent||t,r=t.target||t.srcElement,o=r.getBoundingClientRect(),s=a.touches;s&&s.length>0?(n=s[0].clientX,i=s[0].clientY):(n=a.clientX,i=a.clientY);var l=parseFloat(H.getStyle(r,"padding-left")),u=parseFloat(H.getStyle(r,"padding-top")),d=parseFloat(H.getStyle(r,"padding-right")),h=parseFloat(H.getStyle(r,"padding-bottom")),c=o.right-o.left-l-d,f=o.bottom-o.top-u-h;return{x:n=Math.round((n-o.left-l)/c*r.width/e.currentDevicePixelRatio),y:i=Math.round((i-o.top-u)/f*r.height/e.currentDevicePixelRatio)}},H.getConstraintWidth=function(t){return n(t,"max-width","clientWidth")},H.getConstraintHeight=function(t){return n(t,"max-height","clientHeight")},H._calculatePadding=function(t,e,n){return(e=H.getStyle(t,e)).indexOf("%")>-1?n*parseInt(e,10)/100:parseInt(e,10)},H._getParentNode=function(t){var e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e},H.getMaximumWidth=function(t){var e=H._getParentNode(t);if(!e)return t.clientWidth;var n=e.clientWidth,i=n-H._calculatePadding(e,"padding-left",n)-H._calculatePadding(e,"padding-right",n),a=H.getConstraintWidth(t);return isNaN(a)?i:Math.min(i,a)},H.getMaximumHeight=function(t){var e=H._getParentNode(t);if(!e)return t.clientHeight;var n=e.clientHeight,i=n-H._calculatePadding(e,"padding-top",n)-H._calculatePadding(e,"padding-bottom",n),a=H.getConstraintHeight(t);return isNaN(a)?i:Math.min(i,a)},H.getStyle=function(t,e){return t.currentStyle?t.currentStyle[e]:document.defaultView.getComputedStyle(t,null).getPropertyValue(e)},H.retinaScale=function(t,e){var n=t.currentDevicePixelRatio=e||"undefined"!=typeof window&&window.devicePixelRatio||1;if(1!==n){var i=t.canvas,a=t.height,r=t.width;i.height=a*n,i.width=r*n,t.ctx.scale(n,n),i.style.height||i.style.width||(i.style.height=a+"px",i.style.width=r+"px")}},H.fontString=function(t,e,n){return e+" "+t+"px "+n},H.longestText=function(t,e,n,i){var a=(i=i||{}).data=i.data||{},r=i.garbageCollect=i.garbageCollect||[];i.font!==e&&(a=i.data={},r=i.garbageCollect=[],i.font=e),t.font=e;var o,s,l,u,d,h=0,c=n.length;for(o=0;on.length){for(o=0;oi&&(i=r),i},H.numberOfLabelLines=function(t){var e=1;return H.each(t,(function(t){H.isArray(t)&&t.length>e&&(e=t.length)})),e},H.color=_?function(t){return t instanceof CanvasGradient&&(t=N.global.defaultColor),_(t)}:function(t){return console.error("Color.js not found!"),t},H.getHoverColor=function(t){return t instanceof CanvasPattern||t instanceof CanvasGradient?t:H.color(t).saturate(.5).darken(.1).rgbString()}}(),en._adapters=rn,en.Animation=$,en.animationService=J,en.controllers=Jt,en.DatasetController=it,en.defaults=N,en.Element=K,en.elements=kt,en.Interaction=re,en.layouts=pe,en.platform=Oe,en.plugins=Le,en.Scale=yn,en.scaleService=Re,en.Ticks=on,en.Tooltip=Ye,en.helpers.each(fi,(function(t,e){en.scaleService.registerScaleType(e,t,t._defaults)})),Li)Li.hasOwnProperty(Bi)&&en.plugins.register(Li[Bi]);en.platform.initialize();var Ei=en;return"undefined"!=typeof window&&(window.Chart=en),en.Chart=en,en.Legend=Li.legend._element,en.Title=Li.title._element,en.pluginService=en.plugins,en.PluginBase=en.Element.extend({}),en.canvasHelpers=en.helpers.canvas,en.layoutService=en.layouts,en.LinearScaleBase=Cn,en.helpers.each(["Bar","Bubble","Doughnut","Line","PolarArea","Radar","Scatter"],(function(t){en[t]=function(e,n){return new en(e,en.helpers.merge(n||{},{type:t.charAt(0).toLowerCase()+t.slice(1)}))}})),Ei})); \ No newline at end of file diff --git a/js/lite-yt-embed.js b/js/lite-yt-embed.js new file mode 100644 index 0000000..4538949 --- /dev/null +++ b/js/lite-yt-embed.js @@ -0,0 +1,169 @@ +/** + * A lightweight youtube embed. Still should feel the same to the user, just MUCH faster to initialize and paint. + * + * Author: Paul Irish + * https://github.com/paulirish/lite-youtube-embed + * + * Thx to these as the inspiration + * https://storage.googleapis.com/amp-vs-non-amp/youtube-lazy.html + * https://autoplay-youtube-player.glitch.me/ + * + * Once built it, I also found these: + * https://github.com/ampproject/amphtml/blob/master/extensions/amp-youtube (👍👍) + * https://github.com/Daugilas/lazyYT + * https://github.com/vb/lazyframe + */ +class LiteYTEmbed extends HTMLElement { + connectedCallback() { + this.videoId = this.getAttribute('videoid'); + + let playBtnEl = this.querySelector('.lty-playbtn'); + // A label for the button takes priority over a [playlabel] attribute on the custom-element + this.playLabel = (playBtnEl && playBtnEl.textContent.trim()) || this.getAttribute('playlabel') || 'Play'; + + /** + * Lo, the youtube placeholder image! (aka the thumbnail, poster image, etc) + * + * See https://github.com/paulirish/lite-youtube-embed/blob/master/youtube-thumbnail-urls.md + * + * TODO: Do the sddefault->hqdefault fallback + * - When doing this, apply referrerpolicy (https://github.com/ampproject/amphtml/pull/3940) + * TODO: Consider using webp if supported, falling back to jpg + */ + if (!this.style.backgroundImage) { + this.style.backgroundImage = `url("https://i.ytimg.com/vi/${this.videoId}/hqdefault.jpg")`; + } + + // Set up play button, and its visually hidden label + if (!playBtnEl) { + playBtnEl = document.createElement('button'); + playBtnEl.type = 'button'; + playBtnEl.classList.add('lty-playbtn'); + this.append(playBtnEl); + } + if (!playBtnEl.textContent) { + const playBtnLabelEl = document.createElement('span'); + playBtnLabelEl.className = 'lyt-visually-hidden'; + playBtnLabelEl.textContent = this.playLabel; + playBtnEl.append(playBtnLabelEl); + } + playBtnEl.removeAttribute('href'); + + // On hover (or tap), warm up the TCP connections we're (likely) about to use. + this.addEventListener('pointerover', LiteYTEmbed.warmConnections, {once: true}); + + // Once the user clicks, add the real iframe and drop our play button + // TODO: In the future we could be like amp-youtube and silently swap in the iframe during idle time + // We'd want to only do this for in-viewport or near-viewport ones: https://github.com/ampproject/amphtml/pull/5003 + this.addEventListener('click', this.addIframe); + + // Chrome & Edge desktop have no problem with the basic YouTube Embed with ?autoplay=1 + // However Safari desktop and most/all mobile browsers do not successfully track the user gesture of clicking through the creation/loading of the iframe, + // so they don't autoplay automatically. Instead we must load an additional 2 sequential JS files (1KB + 165KB) (un-br) for the YT Player API + // TODO: Try loading the the YT API in parallel with our iframe and then attaching/playing it. #82 + this.needsYTApiForAutoplay = navigator.vendor.includes('Apple') || navigator.userAgent.includes('Mobi'); + } + + /** + * Add a to the head + */ + static addPrefetch(kind, url, as) { + const linkEl = document.createElement('link'); + linkEl.rel = kind; + linkEl.href = url; + if (as) { + linkEl.as = as; + } + document.head.append(linkEl); + } + + /** + * Begin pre-connecting to warm up the iframe load + * Since the embed's network requests load within its iframe, + * preload/prefetch'ing them outside the iframe will only cause double-downloads. + * So, the best we can do is warm up a few connections to origins that are in the critical path. + * + * Maybe `` would work, but it's unsupported: http://crbug.com/593267 + * But TBH, I don't think it'll happen soon with Site Isolation and split caches adding serious complexity. + */ + static warmConnections() { + if (LiteYTEmbed.preconnected) return; + + // The iframe document and most of its subresources come right off youtube.com + LiteYTEmbed.addPrefetch('preconnect', 'https://www.youtube-nocookie.com'); + // The botguard script is fetched off from google.com + LiteYTEmbed.addPrefetch('preconnect', 'https://www.google.com'); + + // Not certain if these ad related domains are in the critical path. Could verify with domain-specific throttling. + LiteYTEmbed.addPrefetch('preconnect', 'https://googleads.g.doubleclick.net'); + LiteYTEmbed.addPrefetch('preconnect', 'https://static.doubleclick.net'); + + LiteYTEmbed.preconnected = true; + } + + fetchYTPlayerApi() { + if (window.YT || (window.YT && window.YT.Player)) return; + + this.ytApiPromise = new Promise((res, rej) => { + var el = document.createElement('script'); + el.src = 'https://www.youtube.com/iframe_api'; + el.async = true; + el.onload = _ => { + YT.ready(res); + }; + el.onerror = rej; + this.append(el); + }); + } + + async addYTPlayerIframe(params) { + this.fetchYTPlayerApi(); + await this.ytApiPromise; + + const videoPlaceholderEl = document.createElement('div') + this.append(videoPlaceholderEl); + + const paramsObj = Object.fromEntries(params.entries()); + + new YT.Player(videoPlaceholderEl, { + width: '100%', + videoId: this.videoId, + playerVars: paramsObj, + events: { + 'onReady': event => { + event.target.playVideo(); + } + } + }); + } + + async addIframe(){ + if (this.classList.contains('lyt-activated')) return; + this.classList.add('lyt-activated'); + + const params = new URLSearchParams(this.getAttribute('params') || []); + params.append('autoplay', '1'); + params.append('playsinline', '1'); + + if (this.needsYTApiForAutoplay) { + return this.addYTPlayerIframe(params); + } + + const iframeEl = document.createElement('iframe'); + iframeEl.width = 560; + iframeEl.height = 315; + // No encoding necessary as [title] is safe. https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html#:~:text=Safe%20HTML%20Attributes%20include + iframeEl.title = this.playLabel; + iframeEl.allow = 'accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture'; + iframeEl.allowFullscreen = true; + // AFAIK, the encoding here isn't necessary for XSS, but we'll do it only because this is a URL + // https://stackoverflow.com/q/64959723/89484 + iframeEl.src = `https://www.youtube-nocookie.com/embed/${encodeURIComponent(this.videoId)}?${params.toString()}`; + this.append(iframeEl); + + // Set focus for a11y + iframeEl.focus(); + } +} +// Register custom element +customElements.define('lite-youtube', LiteYTEmbed); diff --git a/js/search.min.d6c480b429474ad8c212704cc99ce1678463fe65b07ad51bbc083b78fcf6ed3b0b56d1c55970323e3254fee64ed2725f4c3617ebfc3effe71f7614c92fd61d2e.js b/js/search.min.d6c480b429474ad8c212704cc99ce1678463fe65b07ad51bbc083b78fcf6ed3b0b56d1c55970323e3254fee64ed2725f4c3617ebfc3effe71f7614c92fd61d2e.js new file mode 100644 index 0000000..8db8b22 --- /dev/null +++ b/js/search.min.d6c480b429474ad8c212704cc99ce1678463fe65b07ad51bbc083b78fcf6ed3b0b56d1c55970323e3254fee64ed2725f4c3617ebfc3effe71f7614c92fd61d2e.js @@ -0,0 +1,2 @@ +var e=this,t=function(){"use strict";function z(e){return(z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function S(e,t){for(var n,s=0;se.length)&&(t=e.length);for(var n=0,s=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:3,e=new Map,t=Math.pow(10,n);return{get:function(n){if(s=n.match(M).length,e.has(s))return e.get(s);var s,i=1/Math.sqrt(s),o=parseFloat(Math.round(i*t)/t);return e.set(s,o),o},clear:function(){e.clear()}}}u=function(){function o(){var s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=s.getFn,i=void 0===n?e.getFn:n;t(this,o),this.norm=le(3),this.getFn=i,this.isCreated=!1,this.setIndexRecords()}return n(o,[{key:"setSources",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.docs=e}},{key:"setIndexRecords",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.records=e}},{key:"setKeys",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.keys=e,this._keysMap={},e.forEach(function(e,n){t._keysMap[e.id]=n})}},{key:"create",value:function(){var e=this;!this.isCreated&&this.docs.length&&(this.isCreated=!0,a(this.docs[0])?this.docs.forEach(function(t,n){e._addString(t,n)}):this.docs.forEach(function(t,n){e._addObject(t,n)}),this.norm.clear())}},{key:"add",value:function(e){var t=this.size();a(e)?this._addString(e,t):this._addObject(e,t)}},{key:"removeAt",value:function(e){this.records.splice(e,1);for(var t=e,n=this.size();t2&&void 0!==arguments[2]?arguments[2]:{},o=i.getFn,a=void 0===o?e.getFn:o,s=new u({getFn:a});return s.setKeys(t.map(E)),s.setSources(n),s.create(),s}function h(t){var s,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},d=n.errors,f=void 0===d?0:d,l=n.currentLocation,u=void 0===l?0:l,a=n.expectedLocation,h=void 0===a?0:a,r=n.distance,c=void 0===r?e.distance:r,i=n.ignoreLocation,m=void 0===i?e.ignoreLocation:i,o=f/t.length;return m?o:(s=Math.abs(h-u),c?o+s/c:s?1:o)}function Y(){for(var i,s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.minMatchCharLength,o=[],t=-1,r=-1,n=0,c=s.length;n=a&&o.push([t,r]),t=-1);return s[n-1]&&n-t>=a&&o.push([t,n-1]),o}function W(e){for(var s,n={},t=0,o=e.length;t1&&void 0!==arguments[1]?arguments[1]:{},u=o.location,x=void 0===u?e.location:u,p=o.threshold,w=void 0===p?e.threshold:p,l=o.distance,k=void 0===l?e.distance:l,h=o.includeMatches,C=void 0===h?e.includeMatches:h,f=o.findAllMatches,O=void 0===f?e.findAllMatches:f,g=o.minMatchCharLength,y=void 0===g?e.minMatchCharLength:g,d=o.isCaseSensitive,b=void 0===d?e.isCaseSensitive:d,v=o.ignoreLocation,_=void 0===v?e.ignoreLocation:v;if(t(this,s),this.options={location:x,threshold:w,distance:k,includeMatches:C,findAllMatches:O,minMatchCharLength:y,isCaseSensitive:b,ignoreLocation:_},this.pattern=b?n:n.toLowerCase(),this.chunks=[],this.pattern.length)if(a=function(e,t){j.chunks.push({pattern:e,alphabet:W(e),startIndex:t})},i=this.pattern.length,i>32){for(var r=0,m=i%32,E=i-m;r3&&void 0!==arguments[3]?arguments[3]:{},B=r.location,$=void 0===B?e.location:B,M=r.distance,j=void 0===M?e.distance:M,D=r.threshold,U=void 0===D?e.threshold:D,I=r.findAllMatches,W=void 0===I?e.findAllMatches:I,T=r.minMatchCharLength,F=void 0===T?e.minMatchCharLength:T,L=r.includeMatches,V=void 0===L?e.includeMatches:L,N=r.ignoreLocation,y=void 0===N?e.ignoreLocation:N;if(n.length>32)throw new Error(fe(32));for(var _,l=n.length,g=t.length,i=Math.max(0,Math.min($,g)),m=U,u=i,v=F>1||V,k=v?Array(g):[];(_=t.indexOf(n,u))>-1;)if(z=h(n,{currentLocation:_,expectedLocation:i,distance:j,ignoreLocation:y}),m=Math.min(z,m),u=_+l,v)for(x=0;x=P;o-=1)if(p=o-1,S=s[t.charAt(p)],v&&(k[p]=+!!S),d[o]=(d[o+1]<<1|1)&S,c&&(d[o]|=(O[o+1]|O[o])<<1|1|O[o+1]),d[o]&K&&(E=h(n,{errors:c,currentLocation:p,expectedLocation:i,distance:j,ignoreLocation:y}))<=m){if(m=E,(u=p)<=i)break;P=Math.max(1,2*i-u)}if(H=h(n,{errors:c+1,currentLocation:i,expectedLocation:i,distance:j,ignoreLocation:y}),H>m)break;O=d}return b={isMatch:u>=0,score:Math.max(.001,E)},v&&(A=Y(k,F),A.length?V&&(b.indices=A):b.isMatch=!1),b}(t,b,j,{location:v+y,distance:u,threshold:g,findAllMatches:p,minMatchCharLength:m,includeMatches:a,ignoreLocation:f}),r=i.isMatch,_=i.score,c=i.indices;r&&(s=!0),d+=_,r&&c&&(o=[].concat(l(o),l(c)))}),i={isMatch:s,score:s?d/this.chunks.length:1},s&&a&&(i.indices=o),i}}]),s}(),o=function(){function e(n){t(this,e),this.pattern=n}return n(e,[{key:"search",value:function(){}}],[{key:"isMultiMatch",value:function(e){return H(e,this.multiRegex)}},{key:"isSingleMatch",value:function(e){return H(e,this.singleRegex)}}]),e}();function H(e,t){var n=e.match(t);return n?n[1]:null}var G=function(e){r(s,e);var o=c(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){var t=e===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"exact"}},{key:"multiRegex",get:function(){return/^="(.*)"$/}},{key:"singleRegex",get:function(){return/^=(.*)$/}}]),s}(o),U=function(e){r(s,e);var o=c(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){var t=-1===e.indexOf(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"$/}},{key:"singleRegex",get:function(){return/^!(.*)$/}}]),s}(o),q=function(e){r(s,e);var o=c(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){var t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"prefix-exact"}},{key:"multiRegex",get:function(){return/^\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^\^(.*)$/}}]),s}(o),ne=function(e){r(s,e);var o=c(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){var t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-prefix-exact"}},{key:"multiRegex",get:function(){return/^!\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^!\^(.*)$/}}]),s}(o),K=function(e){r(s,e);var o=c(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){var t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}}],[{key:"type",get:function(){return"suffix-exact"}},{key:"multiRegex",get:function(){return/^"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^(.*)\$$/}}]),s}(o),se=function(e){r(s,e);var o=c(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){var t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-suffix-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^!(.*)\$$/}}]),s}(o),$=function(s){r(o,s);var i=c(o);function o(n){var f,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},h=s.location,g=void 0===h?e.location:h,l=s.threshold,p=void 0===l?e.threshold:l,u=s.distance,y=void 0===u?e.distance:u,a=s.includeMatches,w=void 0===a?e.includeMatches:a,d=s.findAllMatches,v=void 0===d?e.findAllMatches:d,m=s.minMatchCharLength,j=void 0===m?e.minMatchCharLength:m,r=s.isCaseSensitive,_=void 0===r?e.isCaseSensitive:r,c=s.ignoreLocation,O=void 0===c?e.ignoreLocation:c;return t(this,o),(f=i.call(this,n))._bitapSearch=new b(n,{location:g,threshold:p,distance:y,includeMatches:w,findAllMatches:v,minMatchCharLength:j,isCaseSensitive:_,ignoreLocation:O}),f}return n(o,[{key:"search",value:function(e){return this._bitapSearch.searchIn(e)}}],[{key:"type",get:function(){return"fuzzy"}},{key:"multiRegex",get:function(){return/^"(.*)"$/}},{key:"singleRegex",get:function(){return/^(.*)$/}}]),o}(o),V=function(e){r(s,e);var o=c(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){for(var t,o,n=0,s=[],i=this.pattern.length;(t=e.indexOf(this.pattern,n))>-1;)n=t+i,s.push([t,n-1]);return o=!!s.length,{isMatch:o,score:o?0:1,indices:s}}}],[{key:"type",get:function(){return"include"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),s}(o),g=[G,V,q,ne,se,K,U,$],I=g.length,X=/ +(?=([^"]*"[^"]*")*[^"]*$)/;function oe(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.split("|").map(function(e){for(var a,r,c,l,d=e.trim().split(X).filter(function(e){return e&&!!e.trim()}),s=[],o=0,h=d.length;o1&&void 0!==arguments[1]?arguments[1]:{},a=o.isCaseSensitive,r=void 0===a?e.isCaseSensitive:a,c=o.includeMatches,j=void 0===c?e.includeMatches:c,d=o.minMatchCharLength,v=void 0===d?e.minMatchCharLength:d,h=o.ignoreLocation,f=void 0===h?e.ignoreLocation:h,m=o.findAllMatches,p=void 0===m?e.findAllMatches:m,i=o.location,g=void 0===i?e.location:i,u=o.threshold,b=void 0===u?e.threshold:u,l=o.distance,y=void 0===l?e.distance:l;t(this,s),this.query=null,this.options={isCaseSensitive:r,includeMatches:j,minMatchCharLength:v,findAllMatches:p,ignoreLocation:f,location:g,threshold:b,distance:y},this.pattern=r?n:n.toLowerCase(),this.query=oe(this.pattern,this.options)}return n(s,[{key:"searchIn",value:function(e){if(o=this.query,!o)return{isMatch:!1,score:1};var s,o,i,c,h,g,m=this.options,f=m.includeMatches;e=m.isCaseSensitive?e:e.toLowerCase();for(var n=0,t=[],a=0,r=0,j=o.length;r-1&&(n.refIndex=e.idx),t.matches.push(n)}})}function he(e,t){t.score=e.score}function me(t,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=o.includeMatches,r=void 0===i?e.includeMatches:i,a=o.includeScore,c=void 0===a?e.includeScore:a,s=[];return r&&s.push(ue),c&&s.push(he),t.map(function(e){var t=e.idx,o={item:n[t],refIndex:t};return s.length&&s.forEach(function(t){t(e,o)}),o})}return d=function(){function o(n){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2?arguments[2]:void 0;t(this,o),this.options=L({},e,{},s),this.options.useExtendedSearch,this._keyStore=new Q(this.options.keys),this.setCollection(n,i)}return n(o,[{key:"setCollection",value:function(e,t){if(this._docs=e,t&&!(t instanceof u))throw new Error("Incorrect 'index' type");this._myIndex=t||x(this.options.keys,this._docs,{getFn:this.options.getFn})}},{key:"add",value:function(e){s(e)&&(this._docs.push(e),this._myIndex.add(e))}},{key:"remove",value:function(){for(var t,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!1},n=[],e=0,s=this._docs.length;e1&&void 0!==arguments[1]?arguments[1]:{},o=i.limit,s=void 0===o?-1:o,t=this.options,r=t.includeMatches,c=t.includeScore,l=t.shouldSort,d=t.sortFn,u=t.ignoreFieldNorm,n=a(e)?a(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return de(n,{ignoreFieldNorm:u}),l&&n.sort(d),B(s)&&s>-1&&(n=n.slice(0,s)),me(n,this._docs,{includeMatches:r,includeScore:c})}},{key:"_searchStringList",value:function(e){var n=v(e,this.options),o=this._myIndex.records,t=[];return o.forEach(function(e){var o=e.v,a=e.i,r=e.n;if(s(o)){var i=n.searchIn(o),c=i.isMatch,l=i.score,d=i.indices;c&&t.push({item:o,idx:a,matches:[{score:l,value:o,norm:r,indices:d}]})}}),t}},{key:"_searchLogical",value:function(e){var n=this,r=function(e,t){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=s.auto,o=void 0===n||n,r=function e(n){var r,c,d,u,s=Object.keys(n),l=re(n);if(!l&&s.length>1&&!w(n))return e(F(n));if(ce(n)){if(r=l?n[C]:s[0],c=l?n[ie]:n[r],!a(c))throw new Error(ae(r));return d={keyId:_(r),pattern:c},o&&(d.searcher=v(c,t)),d}return u={children:[],operator:s[0]},s.forEach(function(t){var s=n[t];i(s)&&s.forEach(function(t){u.children.push(e(t))})}),u};return w(e)||(e=F(e)),r(e)}(e,this.options),c=this._myIndex.records,t={},o=[];return c.forEach(function(e){var c,a=e.$,i=e.i;s(a)&&(c=function e(t,s,o){if(!t.children){var c,h,m=t.keyId,p=t.searcher,i=n._findMatches({key:n._keyStore.get(m),value:n._myIndex.getValueForItemAtKeyId(s,m),searcher:p});return i&&i.length?[{idx:o,item:s,matches:i}]:[]}switch(t.operator){case f:for(var a=[],r=0,g=t.children.length;r1&&void 0!==arguments[1]?arguments[1]:{},s=o.getFn,i=void 0===s?e.getFn:s,a=t.keys,r=t.records,n=new u({getFn:i});return n.setKeys(a),n.setIndexRecords(r),n},d.config=e,function(){m.push.apply(m,arguments)}(J),d};"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).Fuse=t();const search_result_class="search_result",empty_string="",search_field_class=".search_field",search_class=".search";let search_term=empty_string;const search_field=elem(search_field_class);let other_searchable_fields="";other_searchable_fields.length>2?other_searchable_fields=other_searchable_fields.split(",").map(e=>e.toLowerCase().trim()):other_searchable_fields=[];const search_page_element=elem("#searchpage");let search_scope_global=`true`;search_scope_global=search_scope_global=="true";let search_keys=["body","title","link","section","id"];search_keys=search_keys.concat(other_searchable_fields);const search_options={ignoreLocation:!0,findAllMatches:!0,includeScore:!0,shouldSort:!0,keys:search_keys,threshold:.1},algolia_config=JSON.parse(`{"id":"#","index":null,"key":"#","on":null}`);function minQueryLen(e){e=e.trim();const t=parseFloat(e),n=t?1:2;return n}function findQuery(e="query"){const t=new URLSearchParams(window.location.search);return t.has(e)?t.get(e):empty_string}function search(e,t=null,n=!1){if(t=search_scope_global?null:t,search_term.length){let s=e;algolia_config.on||(s=e.search(search_term),s=s.map(function(e){const n=e.score,t=e.item;return t.score=(parseFloat(n)*50).toFixed(0),t})),t&&(s=s.filter(e=>e.section==t)),n?searchResults(s,search_term,!0):searchResults(s,search_term)}else n?searchResults([],empty_string,!0):searchResults()}function liveSearch(e){if(search_field){let t=search_field.dataset.scope;search(e,t),t=search_scope_global?null:t,search_page_element||search_field.addEventListener("search",function(){if(search_term=search_field.value.trim().toLowerCase(),search_term.length){const e=t?`&scope=${t}`:empty_string;window.location.href=new URL(`search/?query=${search_term}${e}`,root_url).href}})}}function searchResults(e=[],t=empty_string,n=!1){let o=new DocumentFragment,s=elem(".search_results");(n||search_page_element)&&(s=search_page_element),emptyEl(s);const i=t.length,a=minQueryLen(t);if(e.length&&i>=a){let s=createEl("h3");s.className="search_title",s.innerText=quick_links;let i=createEl("button");i.textContent="Go Back",i.className=go_back_class,n&&(s.innerText=search_results_label),search_page_element?e=e.slice(0,12):e=e.slice(0,8),o.appendChild(s),e.forEach(function(e){let s=createEl("a");if(s.href=`${e.link}?query=${t}`,s.className=search_result_class,s.style.order=e.score,n){pushClass(s,"passive");let n=createEl("h3");n.textContent=e.title,s.appendChild(n);let o=createEl("p"),i=e.body.indexOf(t);o.textContent=`${e.body.substring(i,i+200)}`,s.appendChild(o)}else s.textContent=e.title;o.appendChild(s)})}if(s){let t=empty_string;i>=a?t=e.length?empty_string:`${no_matches_found}`:t=``,s.innerHTML=t,s.appendChild(o)}}function passiveSearch(e){if(search_page_element){search_term=findQuery();const t=findQuery("scope");search(e,t,!0)}}function hasSearchResults(){const e=elem(".results");return!!e&&[e,e.innerHTML.length]}function clearSearchResults(){let e=hasSearchResults();e&&(e=e[0],e.innerHTML=empty_string,elem(search_field_class).value=empty_string)}function onEscape(e){window.addEventListener("keydown",t=>t.code==="Escape"&&e())}function initFuseSearch(e=!0){const t=document.documentElement.lang,n=`${t==="en"?empty_string:t}/index.json`;fetch(new URL(n,root_url).href).then(e=>e.json()).then(function(t){t=t.length?t:[];const n=new Fuse(t,search_options);e?liveSearch(n):passiveSearch(n)}).catch(e=>console.error(e))}function initAlgoliaSearch(e=!0){const t=algoliasearch(algolia_config.id,algolia_config.key),n=t.initIndex(algolia_config.index);n.search(search_term,{attributesToRetrieve:search_keys.slice(0,5),hitsPerPage:12}).then(({hits:t})=>{e?liveSearch(t):passiveSearch(t)})}function tabOverSearchResults(){search_field.addEventListener("keydown",function(e){if(e.keyCode===38||e.keyCode===40||e.keyCode===13){e.preventDefault();return}}),search_field.addEventListener("keyup",function(e){if(e.keyCode!==38&&e.keyCode!==40&&e.keyCode!==13)return;e.preventDefault();var t,s,n=e.target.parentNode.getElementsByClassName("search_result");if(n.length===0)return;for(t=-1,s=0;sinitializeSearch()) \ No newline at end of file diff --git a/js/w3.js b/js/w3.js new file mode 100644 index 0000000..f638315 --- /dev/null +++ b/js/w3.js @@ -0,0 +1,440 @@ +/* W3.JS 1.03 December 2017 by w3schools.com */ +"use strict"; +var w3 = {}; +w3.hide = function (sel) { + w3.hideElements(w3.getElements(sel)); +}; +w3.hideElements = function (elements) { + var i, l = elements.length; + for (i = 0; i < l; i++) { + w3.hideElement(elements[i]); + } +}; +w3.hideElement = function (element) { + w3.styleElement(element, "display", "none"); +}; +w3.show = function (sel, a) { + var elements = w3.getElements(sel); + if (a) {w3.hideElements(elements);} + w3.showElements(elements); +}; +w3.showElements = function (elements) { + var i, l = elements.length; + for (i = 0; i < l; i++) { + w3.showElement(elements[i]); + } +}; +w3.showElement = function (element) { + w3.styleElement(element, "display", "block"); +}; +w3.addStyle = function (sel, prop, val) { + w3.styleElements(w3.getElements(sel), prop, val); +}; +w3.styleElements = function (elements, prop, val) { + var i, l = elements.length; + for (i = 0; i < l; i++) { + w3.styleElement(elements[i], prop, val); + } +}; +w3.styleElement = function (element, prop, val) { + element.style.setProperty(prop, val); +}; +w3.toggleShow = function (sel) { + var i, x = w3.getElements(sel), l = x.length; + for (i = 0; i < l; i++) { + if (x[i].style.display == "none") { + w3.styleElement(x[i], "display", "block"); + } else { + w3.styleElement(x[i], "display", "none"); + } + } +}; +w3.addClass = function (sel, name) { + w3.addClassElements(w3.getElements(sel), name); +}; +w3.addClassElements = function (elements, name) { + var i, l = elements.length; + for (i = 0; i < l; i++) { + w3.addClassElement(elements[i], name); + } +}; +w3.addClassElement = function (element, name) { + var i, arr1, arr2; + arr1 = element.className.split(" "); + arr2 = name.split(" "); + for (i = 0; i < arr2.length; i++) { + if (arr1.indexOf(arr2[i]) == -1) {element.className += " " + arr2[i];} + } +}; +w3.removeClass = function (sel, name) { + w3.removeClassElements(w3.getElements(sel), name); +}; +w3.removeClassElements = function (elements, name) { + var i, l = elements.length, arr1, arr2, j; + for (i = 0; i < l; i++) { + w3.removeClassElement(elements[i], name); + } +}; +w3.removeClassElement = function (element, name) { + var i, arr1, arr2; + arr1 = element.className.split(" "); + arr2 = name.split(" "); + for (i = 0; i < arr2.length; i++) { + while (arr1.indexOf(arr2[i]) > -1) { + arr1.splice(arr1.indexOf(arr2[i]), 1); + } + } + element.className = arr1.join(" "); +}; +w3.toggleClass = function (sel, c1, c2) { + w3.toggleClassElements(w3.getElements(sel), c1, c2); +}; +w3.toggleClassElements = function (elements, c1, c2) { + var i, l = elements.length; + for (i = 0; i < l; i++) { + w3.toggleClassElement(elements[i], c1, c2); + } +}; +w3.toggleClassElement = function (element, c1, c2) { + var t1, t2, t1Arr, t2Arr, j, arr, allPresent; + t1 = (c1 || ""); + t2 = (c2 || ""); + t1Arr = t1.split(" "); + t2Arr = t2.split(" "); + arr = element.className.split(" "); + if (t2Arr.length == 0) { + allPresent = true; + for (j = 0; j < t1Arr.length; j++) { + if (arr.indexOf(t1Arr[j]) == -1) {allPresent = false;} + } + if (allPresent) { + w3.removeClassElement(element, t1); + } else { + w3.addClassElement(element, t1); + } + } else { + allPresent = true; + for (j = 0; j < t1Arr.length; j++) { + if (arr.indexOf(t1Arr[j]) == -1) {allPresent = false;} + } + if (allPresent) { + w3.removeClassElement(element, t1); + w3.addClassElement(element, t2); + } else { + w3.removeClassElement(element, t2); + w3.addClassElement(element, t1); + } + } +}; +w3.getElements = function (id) { + if (typeof id == "object") { + return [id]; + } else { + return document.querySelectorAll(id); + } +}; +w3.filterHTML = function(id, sel, filter) { + var a, b, c, i, ii, iii, hit; + a = w3.getElements(id); + for (i = 0; i < a.length; i++) { + b = w3.getElements(sel); + for (ii = 0; ii < b.length; ii++) { + hit = 0; + if (b[ii].innerHTML.toUpperCase().indexOf(filter.toUpperCase()) > -1) { + hit = 1; + } + c = b[ii].getElementsByTagName("*"); + for (iii = 0; iii < c.length; iii++) { + if (c[iii].innerHTML.toUpperCase().indexOf(filter.toUpperCase()) > -1) { + hit = 1; + } + } + if (hit == 1) { + b[ii].style.display = ""; + } else { + b[ii].style.display = "none"; + } + } + } +}; +w3.sortHTML = function(id, sel, sortvalue) { + var a, b, i, ii, y, bytt, v1, v2, cc, j; + a = w3.getElements(id); + for (i = 0; i < a.length; i++) { + for (j = 0; j < 2; j++) { + cc = 0; + y = 1; + while (y == 1) { + y = 0; + b = a[i].querySelectorAll(sel); + for (ii = 0; ii < (b.length - 1); ii++) { + bytt = 0; + if (sortvalue) { + v1 = b[ii].querySelector(sortvalue).innerHTML.toLowerCase(); + v2 = b[ii + 1].querySelector(sortvalue).innerHTML.toLowerCase(); + } else { + v1 = b[ii].innerHTML.toLowerCase(); + v2 = b[ii + 1].innerHTML.toLowerCase(); + } + if ((j == 0 && (v1 > v2)) || (j == 1 && (v1 < v2))) { + bytt = 1; + break; + } + } + if (bytt == 1) { + b[ii].parentNode.insertBefore(b[ii + 1], b[ii]); + y = 1; + cc++; + } + } + if (cc > 0) {break;} + } + } +}; +w3.sortHTMLbyNumber = function(id, sel, sortvalue) { + var a, b, i, ii, y, bytt, v1, v2, cc, j; + a = w3.getElements(id); + for (i = 0; i < a.length; i++) { + for (j = 0; j < 2; j++) { + cc = 0; + y = 1; + while (y == 1) { + y = 0; + b = a[i].querySelectorAll(sel); + for (ii = 0; ii < (b.length - 1); ii++) { + bytt = 0; + if (sortvalue) { + v1 = b[ii].querySelector(sortvalue).innerHTML.toLowerCase(); + v2 = b[ii + 1].querySelector(sortvalue).innerHTML.toLowerCase(); + } else { + v1 = b[ii].innerHTML.toLowerCase(); + v2 = b[ii + 1].innerHTML.toLowerCase(); + } + var i1 = parseInt(v1, 10); + var i2 = parseInt(v2, 10); + if(Number.isNaN(i1)) { + i1 = -1; + } + if(Number.isNaN(i2)) { + i2 = -1; + } + if ((j == 0 && (i1 > i2)) || (j == 1 && (i1 < i2))) { + bytt = 1; + break; + } + } + if (bytt == 1) { + b[ii].parentNode.insertBefore(b[ii + 1], b[ii]); + y = 1; + cc++; + } + } + if (cc > 0) {break;} + } + } +}; +w3.slideshow = function (sel, ms, func) { + var i, ss, x = w3.getElements(sel), l = x.length; + ss = {}; + ss.current = 1; + ss.x = x; + ss.ondisplaychange = func; + if (!isNaN(ms) || ms == 0) { + ss.milliseconds = ms; + } else { + ss.milliseconds = 1000; + } + ss.start = function() { + ss.display(ss.current) + if (ss.ondisplaychange) {ss.ondisplaychange();} + if (ss.milliseconds > 0) { + window.clearTimeout(ss.timeout); + ss.timeout = window.setTimeout(ss.next, ss.milliseconds); + } + }; + ss.next = function() { + ss.current += 1; + if (ss.current > ss.x.length) {ss.current = 1;} + ss.start(); + }; + ss.previous = function() { + ss.current -= 1; + if (ss.current < 1) {ss.current = ss.x.length;} + ss.start(); + }; + ss.display = function (n) { + w3.styleElements(ss.x, "display", "none"); + w3.styleElement(ss.x[n - 1], "display", "block"); + } + ss.start(); + return ss; +}; +w3.includeHTML = function(cb) { + var z, i, elmnt, file, xhttp; + z = document.getElementsByTagName("*"); + for (i = 0; i < z.length; i++) { + elmnt = z[i]; + file = elmnt.getAttribute("w3-include-html"); + if (file) { + xhttp = new XMLHttpRequest(); + xhttp.onreadystatechange = function() { + if (this.readyState == 4) { + if (this.status == 200) {elmnt.innerHTML = this.responseText;} + if (this.status == 404) {elmnt.innerHTML = "Page not found.";} + elmnt.removeAttribute("w3-include-html"); + w3.includeHTML(cb); + } + } + xhttp.open("GET", file, true); + xhttp.send(); + return; + } + } + if (cb) cb(); +}; +w3.getHttpData = function (file, func) { + w3.http(file, function () { + if (this.readyState == 4 && this.status == 200) { + func(this.responseText); + } + }); +}; +w3.getHttpObject = function (file, func) { + w3.http(file, function () { + if (this.readyState == 4 && this.status == 200) { + func(JSON.parse(this.responseText)); + } + }); +}; +w3.displayHttp = function (id, file) { + w3.http(file, function () { + if (this.readyState == 4 && this.status == 200) { + w3.displayObject(id, JSON.parse(this.responseText)); + } + }); +}; +w3.http = function (target, readyfunc, xml, method) { + var httpObj; + if (!method) {method = "GET"; } + if (window.XMLHttpRequest) { + httpObj = new XMLHttpRequest(); + } else if (window.ActiveXObject) { + httpObj = new ActiveXObject("Microsoft.XMLHTTP"); + } + if (httpObj) { + if (readyfunc) {httpObj.onreadystatechange = readyfunc;} + httpObj.open(method, target, true); + httpObj.send(xml); + } +}; +w3.getElementsByAttribute = function (x, att) { + var arr = [], arrCount = -1, i, l, y = x.getElementsByTagName("*"), z = att.toUpperCase(); + l = y.length; + for (i = -1; i < l; i += 1) { + if (i == -1) {y[i] = x;} + if (y[i].getAttribute(z) !== null) {arrCount += 1; arr[arrCount] = y[i];} + } + return arr; +}; +w3.dataObject = {}, +w3.displayObject = function (id, data) { + var htmlObj, htmlTemplate, html, arr = [], a, l, rowClone, x, j, i, ii, cc, repeat, repeatObj, repeatX = ""; + htmlObj = document.getElementById(id); + htmlTemplate = init_template(id, htmlObj); + html = htmlTemplate.cloneNode(true); + arr = w3.getElementsByAttribute(html, "w3-repeat"); + l = arr.length; + for (j = (l - 1); j >= 0; j -= 1) { + cc = arr[j].getAttribute("w3-repeat").split(" "); + if (cc.length == 1) { + repeat = cc[0]; + } else { + repeatX = cc[0]; + repeat = cc[2]; + } + arr[j].removeAttribute("w3-repeat"); + repeatObj = data[repeat]; + if (repeatObj && typeof repeatObj == "object" && repeatObj.length != "undefined") { + i = 0; + for (x in repeatObj) { + i += 1; + rowClone = arr[j]; + rowClone = w3_replace_curly(rowClone, "element", repeatX, repeatObj[x]); + a = rowClone.attributes; + for (ii = 0; ii < a.length; ii += 1) { + a[ii].value = w3_replace_curly(a[ii], "attribute", repeatX, repeatObj[x]).value; + } + (i === repeatObj.length) ? arr[j].parentNode.replaceChild(rowClone, arr[j]) : arr[j].parentNode.insertBefore(rowClone, arr[j]); + } + } else { + console.log("w3-repeat must be an array. " + repeat + " is not an array."); + continue; + } + } + html = w3_replace_curly(html, "element"); + htmlObj.parentNode.replaceChild(html, htmlObj); + function init_template(id, obj) { + var template; + template = obj.cloneNode(true); + if (w3.dataObject.hasOwnProperty(id)) {return w3.dataObject[id];} + w3.dataObject[id] = template; + return template; + } + function w3_replace_curly(elmnt, typ, repeatX, x) { + var value, rowClone, pos1, pos2, originalHTML, lookFor, lookForARR = [], i, cc, r; + rowClone = elmnt.cloneNode(true); + pos1 = 0; + while (pos1 > -1) { + originalHTML = (typ == "attribute") ? rowClone.value : rowClone.innerHTML; + pos1 = originalHTML.indexOf("{{", pos1); + if (pos1 === -1) {break;} + pos2 = originalHTML.indexOf("}}", pos1 + 1); + lookFor = originalHTML.substring(pos1 + 2, pos2); + lookForARR = lookFor.split("||"); + value = undefined; + for (i = 0; i < lookForARR.length; i += 1) { + lookForARR[i] = lookForARR[i].replace(/^\s+|\s+$/gm, ''); //trim + if (x) {value = x[lookForARR[i]];} + if (value == undefined && data) {value = data[lookForARR[i]];} + if (value == undefined) { + cc = lookForARR[i].split("."); + if (cc[0] == repeatX) {value = x[cc[1]]; } + } + if (value == undefined) { + if (lookForARR[i] == repeatX) {value = x;} + } + if (value == undefined) { + if (lookForARR[i].substr(0, 1) == '"') { + value = lookForARR[i].replace(/"/g, ""); + } else if (lookForARR[i].substr(0,1) == "'") { + value = lookForARR[i].replace(/'/g, ""); + } + } + if (value != undefined) {break;} + } + if (value != undefined) { + r = "{{" + lookFor + "}}"; + if (typ == "attribute") { + rowClone.value = rowClone.value.replace(r, value); + } else { + w3_replace_html(rowClone, r, value); + } + } + pos1 = pos1 + 1; + } + return rowClone; + } + function w3_replace_html(a, r, result) { + var b, l, i, a, x, j; + if (a.hasAttributes()) { + b = a.attributes; + l = b.length; + for (i = 0; i < l; i += 1) { + if (b[i].value.indexOf(r) > -1) {b[i].value = b[i].value.replace(r, result);} + } + } + x = a.getElementsByTagName("*"); + l = x.length; + a.innerHTML = a.innerHTML.replace(r, result); + } +}; \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000..80aafc5 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,5 @@ + + + + diff --git a/ve_logo.svg b/ve_logo.svg new file mode 100644 index 0000000..a69e712 --- /dev/null +++ b/ve_logo.svg @@ -0,0 +1,84 @@ + + + + + + + + + + + + + +