diff --git a/react-from-the-ground/app-vs-pages.png b/react-from-the-ground/app-vs-pages.png new file mode 100644 index 0000000..88dd682 Binary files /dev/null and b/react-from-the-ground/app-vs-pages.png differ diff --git a/react-from-the-ground/assets/index-CFu9EZ4A.css b/react-from-the-ground/assets/index-B8z6vscs.css similarity index 99% rename from react-from-the-ground/assets/index-CFu9EZ4A.css rename to react-from-the-ground/assets/index-B8z6vscs.css index 9167835..a85acae 100644 --- a/react-from-the-ground/assets/index-CFu9EZ4A.css +++ b/react-from-the-ground/assets/index-B8z6vscs.css @@ -4,4 +4,4 @@ * MIT licensed * * Copyright (C) 2011-2024 Hakim El Hattab, https://hakim.se -*/.reveal .r-stretch,.reveal .stretch{max-width:none;max-height:none}.reveal pre.r-stretch code,.reveal pre.stretch code{height:100%;max-height:100%;box-sizing:border-box}.reveal .r-fit-text{display:inline-block;white-space:nowrap}.reveal .r-stack{display:grid;grid-template-rows:100%}.reveal .r-stack>*{grid-area:1/1;margin:auto}.reveal .r-hstack,.reveal .r-vstack{display:flex}.reveal .r-hstack img,.reveal .r-hstack video,.reveal .r-vstack img,.reveal .r-vstack video{min-width:0;min-height:0;object-fit:contain}.reveal .r-vstack{flex-direction:column;align-items:center;justify-content:center}.reveal .r-hstack{flex-direction:row;align-items:center;justify-content:center}.reveal .items-stretch{align-items:stretch}.reveal .items-start{align-items:flex-start}.reveal .items-center{align-items:center}.reveal .items-end{align-items:flex-end}.reveal .justify-between{justify-content:space-between}.reveal .justify-around{justify-content:space-around}.reveal .justify-start{justify-content:flex-start}.reveal .justify-center{justify-content:center}.reveal .justify-end{justify-content:flex-end}html.reveal-full-page{width:100%;height:100%;height:100vh;height:calc(var(--vh,1vh) * 100);height:100svh;overflow:hidden}.reveal-viewport{height:100%;overflow:hidden;position:relative;line-height:1;margin:0;background-color:#fff;color:#000;--r-controls-spacing:12px}.reveal-viewport:fullscreen{top:0!important;left:0!important;width:100%!important;height:100%!important;transform:none!important}.reveal .fragment{transition:all .2s ease}.reveal .fragment:not(.custom){opacity:0;visibility:hidden;will-change:opacity}.reveal .fragment.visible{opacity:1;visibility:inherit}.reveal .fragment.disabled{transition:none}.reveal .fragment.grow{opacity:1;visibility:inherit}.reveal .fragment.grow.visible{transform:scale(1.3)}.reveal .fragment.shrink{opacity:1;visibility:inherit}.reveal .fragment.shrink.visible{transform:scale(.7)}.reveal .fragment.zoom-in{transform:scale(.1)}.reveal .fragment.zoom-in.visible{transform:none}.reveal .fragment.fade-out{opacity:1;visibility:inherit}.reveal .fragment.fade-out.visible{opacity:0;visibility:hidden}.reveal .fragment.semi-fade-out{opacity:1;visibility:inherit}.reveal .fragment.semi-fade-out.visible{opacity:.5;visibility:inherit}.reveal .fragment.strike{opacity:1;visibility:inherit}.reveal .fragment.strike.visible{text-decoration:line-through}.reveal .fragment.fade-up{transform:translateY(40px)}.reveal .fragment.fade-up.visible{transform:translate(0)}.reveal .fragment.fade-down{transform:translateY(-40px)}.reveal .fragment.fade-down.visible{transform:translate(0)}.reveal .fragment.fade-right{transform:translate(-40px)}.reveal .fragment.fade-right.visible{transform:translate(0)}.reveal .fragment.fade-left{transform:translate(40px)}.reveal .fragment.fade-left.visible{transform:translate(0)}.reveal .fragment.current-visible,.reveal .fragment.fade-in-then-out{opacity:0;visibility:hidden}.reveal .fragment.current-visible.current-fragment,.reveal .fragment.fade-in-then-out.current-fragment{opacity:1;visibility:inherit}.reveal .fragment.fade-in-then-semi-out{opacity:0;visibility:hidden}.reveal .fragment.fade-in-then-semi-out.visible{opacity:.5;visibility:inherit}.reveal .fragment.fade-in-then-semi-out.current-fragment,.reveal .fragment.highlight-blue,.reveal .fragment.highlight-current-blue,.reveal .fragment.highlight-current-green,.reveal .fragment.highlight-current-red,.reveal .fragment.highlight-green,.reveal .fragment.highlight-red{opacity:1;visibility:inherit}.reveal .fragment.highlight-red.visible{color:#ff2c2d}.reveal .fragment.highlight-green.visible{color:#17ff2e}.reveal .fragment.highlight-blue.visible{color:#1b91ff}.reveal .fragment.highlight-current-red.current-fragment{color:#ff2c2d}.reveal .fragment.highlight-current-green.current-fragment{color:#17ff2e}.reveal .fragment.highlight-current-blue.current-fragment{color:#1b91ff}.reveal:after{content:"";font-style:italic}.reveal iframe{z-index:1}.reveal a{position:relative}@keyframes bounce-right{0%,10%,25%,40%,50%{transform:translate(0)}20%{transform:translate(10px)}30%{transform:translate(-5px)}}@keyframes bounce-left{0%,10%,25%,40%,50%{transform:translate(0)}20%{transform:translate(-10px)}30%{transform:translate(5px)}}@keyframes bounce-down{0%,10%,25%,40%,50%{transform:translateY(0)}20%{transform:translateY(10px)}30%{transform:translateY(-5px)}}.reveal .controls{display:none;position:absolute;top:auto;bottom:var(--r-controls-spacing);right:var(--r-controls-spacing);left:auto;z-index:11;color:#000;pointer-events:none;font-size:10px}.reveal .controls button{position:absolute;padding:0;background-color:transparent;border:0;outline:0;cursor:pointer;color:currentColor;transform:scale(.9999);transition:color .2s ease,opacity .2s ease,transform .2s ease;z-index:2;pointer-events:auto;font-size:inherit;visibility:hidden;opacity:0;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.reveal .controls .controls-arrow:after,.reveal .controls .controls-arrow:before{content:"";position:absolute;top:0;left:0;width:2.6em;height:.5em;border-radius:.25em;background-color:currentColor;transition:all .15s ease,background-color .8s ease;transform-origin:.2em 50%;will-change:transform}.reveal .controls .controls-arrow{position:relative;width:3.6em;height:3.6em}.reveal .controls .controls-arrow:before{transform:translate(.5em) translateY(1.55em) rotate(45deg)}.reveal .controls .controls-arrow:after{transform:translate(.5em) translateY(1.55em) rotate(-45deg)}.reveal .controls .controls-arrow:hover:before{transform:translate(.5em) translateY(1.55em) rotate(40deg)}.reveal .controls .controls-arrow:hover:after{transform:translate(.5em) translateY(1.55em) rotate(-40deg)}.reveal .controls .controls-arrow:active:before{transform:translate(.5em) translateY(1.55em) rotate(36deg)}.reveal .controls .controls-arrow:active:after{transform:translate(.5em) translateY(1.55em) rotate(-36deg)}.reveal .controls .navigate-left{right:6.4em;bottom:3.2em;transform:translate(-10px)}.reveal .controls .navigate-left.highlight{animation:bounce-left 2s 50 both ease-out}.reveal .controls .navigate-right{right:0;bottom:3.2em;transform:translate(10px)}.reveal .controls .navigate-right .controls-arrow{transform:rotate(180deg)}.reveal .controls .navigate-right.highlight{animation:bounce-right 2s 50 both ease-out}.reveal .controls .navigate-up{right:3.2em;bottom:6.4em;transform:translateY(-10px)}.reveal .controls .navigate-up .controls-arrow{transform:rotate(90deg)}.reveal .controls .navigate-down{right:3.2em;bottom:-1.4em;padding-bottom:1.4em;transform:translateY(10px)}.reveal .controls .navigate-down .controls-arrow{transform:rotate(-90deg)}.reveal .controls .navigate-down.highlight{animation:bounce-down 2s 50 both ease-out}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled{opacity:.3}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled:hover{opacity:1}.reveal .controls[data-controls-back-arrows=hidden] .navigate-up.enabled{opacity:0;visibility:hidden}.reveal .controls .enabled{visibility:visible;opacity:.9;cursor:pointer;transform:none}.reveal .controls .enabled.fragmented{opacity:.5}.reveal .controls .enabled.fragmented:hover,.reveal .controls .enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled{opacity:.3}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=hidden] .navigate-left.enabled{opacity:0;visibility:hidden}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled{opacity:.3}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled:hover{opacity:1}.reveal.rtl .controls[data-controls-back-arrows=hidden] .navigate-right.enabled{opacity:0;visibility:hidden}.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-down,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-up{display:none}.reveal:not(.has-vertical-slides) .controls .navigate-left,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-left{bottom:1.4em;right:5.5em}.reveal:not(.has-vertical-slides) .controls .navigate-right,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-right{bottom:1.4em;right:.5em}.reveal:not(.has-horizontal-slides) .controls .navigate-up{right:1.4em;bottom:5em}.reveal:not(.has-horizontal-slides) .controls .navigate-down{right:1.4em;bottom:.5em}.reveal.has-dark-background .controls{color:#fff}.reveal.has-light-background .controls{color:#000}.reveal.no-hover .controls .controls-arrow:active:before,.reveal.no-hover .controls .controls-arrow:hover:before{transform:translate(.5em) translateY(1.55em) rotate(45deg)}.reveal.no-hover .controls .controls-arrow:active:after,.reveal.no-hover .controls .controls-arrow:hover:after{transform:translate(.5em) translateY(1.55em) rotate(-45deg)}@media screen and (min-width:500px){.reveal-viewport{--r-controls-spacing:.8em}.reveal .controls[data-controls-layout=edges]{top:0;right:0;bottom:0;left:0}.reveal .controls[data-controls-layout=edges] .navigate-down,.reveal .controls[data-controls-layout=edges] .navigate-left,.reveal .controls[data-controls-layout=edges] .navigate-right,.reveal .controls[data-controls-layout=edges] .navigate-up{bottom:auto;right:auto}.reveal .controls[data-controls-layout=edges] .navigate-left{top:50%;left:var(--r-controls-spacing);margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-right{top:50%;right:var(--r-controls-spacing);margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-up{top:var(--r-controls-spacing);left:50%;margin-left:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-down{bottom:calc(var(--r-controls-spacing) - 1.4em + .3em);left:50%;margin-left:-1.8em}}.reveal .progress{position:absolute;display:none;height:3px;width:100%;bottom:0;left:0;z-index:10;background-color:#0003;color:#fff}.reveal .progress:after{content:"";display:block;position:absolute;height:10px;width:100%;top:-10px}.reveal .progress span{display:block;height:100%;width:100%;background-color:currentColor;transition:transform .8s cubic-bezier(.26,.86,.44,.985);transform-origin:0 0;transform:scaleX(0)}.reveal .slide-number{position:absolute;display:block;right:8px;bottom:8px;z-index:31;font-family:Helvetica,sans-serif;font-size:12px;line-height:1;color:#fff;background-color:#0006;padding:5px}.reveal .slide-number a{color:currentColor}.reveal .slide-number-delimiter{margin:0 3px}.reveal{position:relative;width:100%;height:100%;overflow:hidden;touch-action:pinch-zoom}.reveal.embedded{touch-action:pan-y}.reveal.embedded.is-vertical-slide{touch-action:none}.reveal .slides{position:absolute;width:100%;height:100%;top:0;right:0;bottom:0;left:0;margin:auto;pointer-events:none;overflow:visible;z-index:1;text-align:center;perspective:600px;perspective-origin:50% 40%}.reveal .slides>section{perspective:600px}.reveal .slides>section,.reveal .slides>section>section{display:none;position:absolute;width:100%;pointer-events:auto;z-index:10;transform-style:flat;transition:transform-origin .8s cubic-bezier(.26,.86,.44,.985),transform .8s cubic-bezier(.26,.86,.44,.985),visibility .8s cubic-bezier(.26,.86,.44,.985),opacity .8s cubic-bezier(.26,.86,.44,.985)}.reveal[data-transition-speed=fast] .slides section{transition-duration:.4s}.reveal[data-transition-speed=slow] .slides section{transition-duration:1.2s}.reveal .slides section[data-transition-speed=fast]{transition-duration:.4s}.reveal .slides section[data-transition-speed=slow]{transition-duration:1.2s}.reveal .slides>section.stack{padding-top:0;padding-bottom:0;pointer-events:none;height:100%}.reveal .slides>section.present,.reveal .slides>section>section.present{display:block;z-index:11;opacity:1}.reveal .slides>section:empty,.reveal .slides>section>section:empty,.reveal .slides>section>section[data-background-interactive],.reveal .slides>section[data-background-interactive]{pointer-events:none}.reveal.center,.reveal.center .slides,.reveal.center .slides section{min-height:0!important}.reveal .slides>section:not(.present),.reveal .slides>section>section:not(.present){pointer-events:none}.reveal.overview .slides>section,.reveal.overview .slides>section>section{pointer-events:auto}.reveal .slides>section.future,.reveal .slides>section.future>section,.reveal .slides>section.past,.reveal .slides>section.past>section,.reveal .slides>section>section.future,.reveal .slides>section>section.past{opacity:0}.reveal .slides>section[data-transition=slide].past,.reveal .slides>section[data-transition~=slide-out].past,.reveal.slide .slides>section:not([data-transition]).past{transform:translate(-150%)}.reveal .slides>section[data-transition=slide].future,.reveal .slides>section[data-transition~=slide-in].future,.reveal.slide .slides>section:not([data-transition]).future{transform:translate(150%)}.reveal .slides>section>section[data-transition=slide].past,.reveal .slides>section>section[data-transition~=slide-out].past,.reveal.slide .slides>section>section:not([data-transition]).past{transform:translateY(-150%)}.reveal .slides>section>section[data-transition=slide].future,.reveal .slides>section>section[data-transition~=slide-in].future,.reveal.slide .slides>section>section:not([data-transition]).future{transform:translateY(150%)}.reveal .slides>section[data-transition=linear].past,.reveal .slides>section[data-transition~=linear-out].past,.reveal.linear .slides>section:not([data-transition]).past{transform:translate(-150%)}.reveal .slides>section[data-transition=linear].future,.reveal .slides>section[data-transition~=linear-in].future,.reveal.linear .slides>section:not([data-transition]).future{transform:translate(150%)}.reveal .slides>section>section[data-transition=linear].past,.reveal .slides>section>section[data-transition~=linear-out].past,.reveal.linear .slides>section>section:not([data-transition]).past{transform:translateY(-150%)}.reveal .slides>section>section[data-transition=linear].future,.reveal .slides>section>section[data-transition~=linear-in].future,.reveal.linear .slides>section>section:not([data-transition]).future{transform:translateY(150%)}.reveal .slides section[data-transition=default].stack,.reveal.default .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=default].past,.reveal .slides>section[data-transition~=default-out].past,.reveal.default .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=default].future,.reveal .slides>section[data-transition~=default-in].future,.reveal.default .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=default].past,.reveal .slides>section>section[data-transition~=default-out].past,.reveal.default .slides>section>section:not([data-transition]).past{transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.reveal .slides>section>section[data-transition=default].future,.reveal .slides>section>section[data-transition~=default-in].future,.reveal.default .slides>section>section:not([data-transition]).future{transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.reveal .slides section[data-transition=convex].stack,.reveal.convex .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=convex].past,.reveal .slides>section[data-transition~=convex-out].past,.reveal.convex .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=convex].future,.reveal .slides>section[data-transition~=convex-in].future,.reveal.convex .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=convex].past,.reveal .slides>section>section[data-transition~=convex-out].past,.reveal.convex .slides>section>section:not([data-transition]).past{transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.reveal .slides>section>section[data-transition=convex].future,.reveal .slides>section>section[data-transition~=convex-in].future,.reveal.convex .slides>section>section:not([data-transition]).future{transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.reveal .slides section[data-transition=concave].stack,.reveal.concave .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=concave].past,.reveal .slides>section[data-transition~=concave-out].past,.reveal.concave .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=concave].future,.reveal .slides>section[data-transition~=concave-in].future,.reveal.concave .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=concave].past,.reveal .slides>section>section[data-transition~=concave-out].past,.reveal.concave .slides>section>section:not([data-transition]).past{transform:translate3d(0,-80%,0) rotateX(-70deg) translate3d(0,-80%,0)}.reveal .slides>section>section[data-transition=concave].future,.reveal .slides>section>section[data-transition~=concave-in].future,.reveal.concave .slides>section>section:not([data-transition]).future{transform:translate3d(0,80%,0) rotateX(70deg) translate3d(0,80%,0)}.reveal .slides section[data-transition=zoom],.reveal.zoom .slides section:not([data-transition]){transition-timing-function:ease}.reveal .slides>section[data-transition=zoom].past,.reveal .slides>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section:not([data-transition]).past{visibility:hidden;transform:scale(16)}.reveal .slides>section[data-transition=zoom].future,.reveal .slides>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section:not([data-transition]).future{visibility:hidden;transform:scale(.2)}.reveal .slides>section>section[data-transition=zoom].past,.reveal .slides>section>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section>section:not([data-transition]).past{transform:scale(16)}.reveal .slides>section>section[data-transition=zoom].future,.reveal .slides>section>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section>section:not([data-transition]).future{transform:scale(.2)}.reveal.cube .slides{perspective:1300px}.reveal.cube .slides section{padding:30px;min-height:700px;backface-visibility:hidden;box-sizing:border-box;transform-style:preserve-3d}.reveal.center.cube .slides section{min-height:0}.reveal.cube .slides section:not(.stack):before{content:"";position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:#0000001a;border-radius:4px;transform:translateZ(-20px)}.reveal.cube .slides section:not(.stack):after{content:"";position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px #0003;transform:translateZ(-90px) rotateX(65deg)}.reveal.cube .slides>section.stack{padding:0;background:0 0}.reveal.cube .slides>section.past{transform-origin:100% 0;transform:translate3d(-100%,0,0) rotateY(-90deg)}.reveal.cube .slides>section.future{transform-origin:0 0;transform:translate3d(100%,0,0) rotateY(90deg)}.reveal.cube .slides>section>section.past{transform-origin:0 100%;transform:translate3d(0,-100%,0) rotateX(90deg)}.reveal.cube .slides>section>section.future{transform-origin:0 0;transform:translate3d(0,100%,0) rotateX(-90deg)}.reveal.page .slides{perspective-origin:0 50%;perspective:3000px}.reveal.page .slides section{padding:30px;min-height:700px;box-sizing:border-box;transform-style:preserve-3d}.reveal.page .slides section.past{z-index:12}.reveal.page .slides section:not(.stack):before{content:"";position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:#0000001a;transform:translateZ(-20px)}.reveal.page .slides section:not(.stack):after{content:"";position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px #0003;-webkit-transform:translateZ(-90px) rotateX(65deg)}.reveal.page .slides>section.stack{padding:0;background:0 0}.reveal.page .slides>section.past{transform-origin:0 0;transform:translate3d(-40%,0,0) rotateY(-80deg)}.reveal.page .slides>section.future{transform-origin:100% 0;transform:translateZ(0)}.reveal.page .slides>section>section.past{transform-origin:0 0;transform:translate3d(0,-40%,0) rotateX(80deg)}.reveal.page .slides>section>section.future{transform-origin:0 100%;transform:translateZ(0)}.reveal .slides section[data-transition=fade],.reveal.fade .slides section:not([data-transition]),.reveal.fade .slides>section>section:not([data-transition]){transform:none;transition:opacity .5s}.reveal.fade.overview .slides section,.reveal.fade.overview .slides>section>section{transition:none}.reveal .slides section[data-transition=none],.reveal.none .slides section:not([data-transition]){transform:none;transition:none}.reveal .pause-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;visibility:hidden;opacity:0;z-index:100;transition:all 1s ease}.reveal .pause-overlay .resume-button{position:absolute;bottom:20px;right:20px;color:#ccc;border-radius:2px;padding:6px 14px;border:2px solid #ccc;font-size:16px;background:0 0;cursor:pointer}.reveal .pause-overlay .resume-button:hover{color:#fff;border-color:#fff}.reveal.paused .pause-overlay{visibility:visible;opacity:1}.reveal .no-transition,.reveal .no-transition *,.reveal .slides.disable-slide-transitions section{transition:none!important}.reveal .slides.disable-slide-transitions section{transform:none!important}.reveal .backgrounds{position:absolute;width:100%;height:100%;top:0;left:0;perspective:600px}.reveal .slide-background{display:none;position:absolute;width:100%;height:100%;opacity:0;visibility:hidden;overflow:hidden;background-color:#0000;transition:all .8s cubic-bezier(.26,.86,.44,.985)}.reveal .slide-background-content{position:absolute;width:100%;height:100%;background-position:50% 50%;background-repeat:no-repeat;background-size:cover}.reveal .slide-background.stack{display:block}.reveal .slide-background.present{opacity:1;visibility:visible;z-index:2}.print-pdf .reveal .slide-background{opacity:1!important;visibility:visible!important}.reveal .slide-background video{position:absolute;width:100%;height:100%;max-width:none;max-height:none;top:0;left:0;object-fit:cover}.reveal .slide-background[data-background-size=contain] video{object-fit:contain}.reveal>.backgrounds .slide-background[data-background-transition=none],.reveal[data-background-transition=none]>.backgrounds .slide-background:not([data-background-transition]){transition:none}.reveal>.backgrounds .slide-background[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background:not([data-background-transition]){opacity:1}.reveal>.backgrounds .slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.past:not([data-background-transition]){transform:translate(-100%)}.reveal>.backgrounds .slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.future:not([data-background-transition]){transform:translate(100%)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){transform:translateY(-100%)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){transform:translateY(100%)}.reveal>.backgrounds .slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(0,-100%,0) rotateX(90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(0,100%,0) rotateX(-90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(0,-100%,0) rotateX(-90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(0,100%,0) rotateX(90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background:not([data-background-transition]){transition-timing-function:ease}.reveal>.backgrounds .slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(.2)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(.2)}.reveal[data-transition-speed=fast]>.backgrounds .slide-background{transition-duration:.4s}.reveal[data-transition-speed=slow]>.backgrounds .slide-background{transition-duration:1.2s}.reveal [data-auto-animate-target^=unmatched]{will-change:opacity}.reveal section[data-auto-animate]:not(.stack):not([data-auto-animate=running]) [data-auto-animate-target^=unmatched]{opacity:0}.reveal.overview{perspective-origin:50% 50%;perspective:700px}.reveal.overview .slides{-moz-transform-style:preserve-3d}.reveal.overview .slides section{height:100%;top:0!important;opacity:1!important;overflow:hidden;visibility:visible!important;cursor:pointer;box-sizing:border-box}.reveal.overview .slides section.present,.reveal.overview .slides section:hover{outline:10px solid rgba(150,150,150,.4);outline-offset:10px}.reveal.overview .slides section .fragment{opacity:1;transition:none}.reveal.overview .slides section:after,.reveal.overview .slides section:before{display:none!important}.reveal.overview .slides>section.stack{padding:0;top:0!important;background:0 0;outline:0;overflow:visible}.reveal.overview .backgrounds{perspective:inherit;-moz-transform-style:preserve-3d}.reveal.overview .backgrounds .slide-background{opacity:1;visibility:visible;outline:10px solid rgba(150,150,150,.1);outline-offset:10px}.reveal.overview .backgrounds .slide-background.stack{overflow:visible}.reveal.overview .slides section,.reveal.overview-deactivating .slides section{transition:none}.reveal.overview .backgrounds .slide-background,.reveal.overview-deactivating .backgrounds .slide-background{transition:none}.reveal.rtl .slides,.reveal.rtl .slides h1,.reveal.rtl .slides h2,.reveal.rtl .slides h3,.reveal.rtl .slides h4,.reveal.rtl .slides h5,.reveal.rtl .slides h6{direction:rtl;font-family:sans-serif}.reveal.rtl code,.reveal.rtl pre{direction:ltr}.reveal.rtl ol,.reveal.rtl ul{text-align:right}.reveal.rtl .progress span{transform-origin:100% 0}.reveal.has-parallax-background .backgrounds{transition:all .8s ease}.reveal.has-parallax-background[data-transition-speed=fast] .backgrounds{transition-duration:.4s}.reveal.has-parallax-background[data-transition-speed=slow] .backgrounds{transition-duration:1.2s}.reveal>.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000;background:#000000f2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all .3s ease}.reveal>.overlay .spinner{position:absolute;display:block;top:50%;left:50%;width:32px;height:32px;margin:-16px 0 0 -16px;z-index:10;background-image:url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D);visibility:visible;opacity:.6;transition:all .3s ease}.reveal>.overlay header{position:absolute;left:0;top:0;width:100%;padding:5px;z-index:2;box-sizing:border-box}.reveal>.overlay header a{display:inline-block;width:40px;height:40px;line-height:36px;padding:0 10px;float:right;opacity:.6;box-sizing:border-box}.reveal>.overlay header a:hover{opacity:1}.reveal>.overlay header a .icon{display:inline-block;width:20px;height:20px;background-position:50% 50%;background-size:100%;background-repeat:no-repeat}.reveal>.overlay header a.close .icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC)}.reveal>.overlay header a.external .icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==)}.reveal>.overlay .viewport{position:absolute;display:flex;top:50px;right:0;bottom:0;left:0}.reveal>.overlay.overlay-preview .viewport iframe{width:100%;height:100%;max-width:100%;max-height:100%;border:0;opacity:0;visibility:hidden;transition:all .3s ease}.reveal>.overlay.overlay-preview.loaded .viewport iframe{opacity:1;visibility:visible}.reveal>.overlay.overlay-preview.loaded .viewport-inner{position:absolute;z-index:-1;left:0;top:45%;width:100%;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-preview .x-frame-error{opacity:0;transition:opacity .3s ease .3s}.reveal>.overlay.overlay-preview.loaded .x-frame-error{opacity:1}.reveal>.overlay.overlay-preview.loaded .spinner{opacity:0;visibility:hidden;transform:scale(.2)}.reveal>.overlay.overlay-help .viewport{overflow:auto;color:#fff}.reveal>.overlay.overlay-help .viewport .viewport-inner{width:600px;margin:auto;padding:20px 20px 80px;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-help .viewport .viewport-inner .title{font-size:20px}.reveal>.overlay.overlay-help .viewport .viewport-inner table{border:1px solid #fff;border-collapse:collapse;font-size:16px}.reveal>.overlay.overlay-help .viewport .viewport-inner table td,.reveal>.overlay.overlay-help .viewport .viewport-inner table th{width:200px;padding:14px;border:1px solid #fff;vertical-align:middle}.reveal>.overlay.overlay-help .viewport .viewport-inner table th{padding-top:20px;padding-bottom:20px}.reveal .playback{position:absolute;left:15px;bottom:20px;z-index:30;cursor:pointer;transition:all .4s ease;-webkit-tap-highlight-color:transparent}.reveal.overview .playback{opacity:0;visibility:hidden}.reveal .hljs{min-height:100%}.reveal .hljs table{margin:initial}.reveal .hljs-ln-code,.reveal .hljs-ln-numbers{padding:0;border:0}.reveal .hljs-ln-numbers{opacity:.6;padding-right:.75em;text-align:right;vertical-align:top}.reveal .hljs.has-highlights tr:not(.highlight-line){opacity:.4}.reveal .hljs.has-highlights.fragment{transition:all .2s ease}.reveal .hljs:not(:first-child).fragment{position:absolute;top:0;left:0;width:100%;box-sizing:border-box}.reveal pre[data-auto-animate-target]{overflow:hidden}.reveal pre[data-auto-animate-target] code{height:100%}.reveal .roll{display:inline-block;line-height:1.2;overflow:hidden;vertical-align:top;perspective:400px;perspective-origin:50% 50%}.reveal .roll:hover{background:0 0;text-shadow:none}.reveal .roll span{display:block;position:relative;padding:0 2px;pointer-events:none;transition:all .4s ease;transform-origin:50% 0;transform-style:preserve-3d;backface-visibility:hidden}.reveal .roll:hover span{background:#00000080;transform:translateZ(-45px) rotateX(90deg)}.reveal .roll span:after{content:attr(data-title);display:block;position:absolute;left:0;top:0;padding:0 2px;backface-visibility:hidden;transform-origin:50% 0;transform:translate3d(0,110%,0) rotateX(-90deg)}.reveal aside.notes{display:none}.reveal .speaker-notes{display:none;position:absolute;width:33.3333333333%;height:100%;top:0;left:100%;padding:14px 18px;z-index:1;font-size:18px;line-height:1.4;border:1px solid rgba(0,0,0,.05);color:#222;background-color:#f5f5f5;overflow:auto;box-sizing:border-box;text-align:left;font-family:Helvetica,sans-serif;-webkit-overflow-scrolling:touch}.reveal .speaker-notes .notes-placeholder{color:#ccc;font-style:italic}.reveal .speaker-notes:focus{outline:0}.reveal .speaker-notes:before{content:"Speaker notes";display:block;margin-bottom:10px;opacity:.5}.reveal.show-notes{max-width:75%;overflow:visible}.reveal.show-notes .speaker-notes{display:block}@media screen and (min-width:1600px){.reveal .speaker-notes{font-size:20px}}@media screen and (max-width:1024px){.reveal.show-notes{border-left:0;max-width:none;max-height:70%;max-height:70vh;overflow:visible}.reveal.show-notes .speaker-notes{top:100%;left:0;width:100%;height:30vh;border:0}}@media screen and (max-width:600px){.reveal.show-notes{max-height:60%;max-height:60vh}.reveal.show-notes .speaker-notes{top:100%;height:40vh}.reveal .speaker-notes{font-size:14px}}.reveal .jump-to-slide{position:absolute;top:15px;left:15px;z-index:30;font-size:32px;-webkit-tap-highlight-color:transparent}.reveal .jump-to-slide-input{background:0 0;padding:8px;font-size:inherit;color:currentColor;border:0}.reveal .jump-to-slide-input::placeholder{color:currentColor;opacity:.5}.reveal.has-dark-background .jump-to-slide-input{color:#fff}.reveal.has-light-background .jump-to-slide-input{color:#222}.reveal .jump-to-slide-input:focus{outline:0}.zoomed .reveal *,.zoomed .reveal :after,.zoomed .reveal :before{backface-visibility:visible!important}.zoomed .reveal .controls,.zoomed .reveal .progress{opacity:0}.zoomed .reveal .roll span{background:0 0}.zoomed .reveal .roll span:after{visibility:hidden}.reveal-viewport.loading-scroll-mode{visibility:hidden}.reveal-viewport.reveal-scroll{margin:0 auto;overflow:auto;overflow-x:hidden;overflow-y:auto;z-index:1;--r-scrollbar-width:7px;--r-scrollbar-trigger-size:5px;--r-controls-spacing:8px}@media screen and (max-width:500px){.reveal-viewport.reveal-scroll{--r-scrollbar-width:3px;--r-scrollbar-trigger-size:3px}}.reveal-viewport.reveal-scroll .backgrounds,.reveal-viewport.reveal-scroll .controls,.reveal-viewport.reveal-scroll .playback,.reveal-viewport.reveal-scroll .progress,.reveal-viewport.reveal-scroll .slide-number,.reveal-viewport.reveal-scroll .speaker-notes{display:none!important}.reveal-viewport.reveal-scroll .overlay,.reveal-viewport.reveal-scroll .pause-overlay{position:fixed}.reveal-viewport.reveal-scroll .reveal{overflow:visible;touch-action:manipulation}.reveal-viewport.reveal-scroll .slides{position:static;pointer-events:initial;left:auto;top:auto;width:100%!important;margin:0;padding:0;overflow:visible;display:block;perspective:none;perspective-origin:50% 50%}.reveal-viewport.reveal-scroll .scroll-page{position:relative;width:100%;height:calc(var(--page-height) + var(--page-scroll-padding));z-index:1;overflow:visible}.reveal-viewport.reveal-scroll .scroll-page-sticky{position:sticky;height:var(--page-height);top:0}.reveal-viewport.reveal-scroll .scroll-page-content{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.reveal-viewport.reveal-scroll .scroll-page section{visibility:visible!important;display:block!important;position:absolute!important;width:var(--slide-width)!important;height:var(--slide-height)!important;top:50%!important;left:50%!important;opacity:1!important;transform:scale(var(--slide-scale)) translate(-50%,-50%)!important;transform-style:flat!important;transform-origin:0 0!important}.reveal-viewport.reveal-scroll .slide-background{display:block!important;position:absolute;top:0;left:0;width:100%;height:100%;z-index:auto!important;visibility:visible;opacity:1;touch-action:manipulation}.reveal-viewport.reveal-scroll[data-scrollbar=auto]::-webkit-scrollbar,.reveal-viewport.reveal-scroll[data-scrollbar=true]::-webkit-scrollbar{display:none}.reveal-viewport.reveal-scroll[data-scrollbar=auto],.reveal-viewport.reveal-scroll[data-scrollbar=true]{scrollbar-width:none}.reveal-viewport.has-dark-background,.reveal.has-dark-background{--r-overlay-element-bg-color:240,240,240;--r-overlay-element-fg-color:0,0,0}.reveal-viewport.has-light-background,.reveal.has-light-background{--r-overlay-element-bg-color:0,0,0;--r-overlay-element-fg-color:240,240,240}.reveal-viewport.reveal-scroll .scrollbar{position:sticky;top:50%;z-index:20;opacity:0;transition:all .3s ease}.reveal-viewport.reveal-scroll .scrollbar.visible,.reveal-viewport.reveal-scroll .scrollbar:hover{opacity:1}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-inner{position:absolute;width:var(--r-scrollbar-width);height:calc(var(--viewport-height) - var(--r-controls-spacing) * 2);right:var(--r-controls-spacing);top:0;transform:translateY(-50%);border-radius:var(--r-scrollbar-width);z-index:10}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-playhead{position:absolute;width:var(--r-scrollbar-width);height:var(--r-scrollbar-width);top:0;left:0;border-radius:var(--r-scrollbar-width);background-color:rgba(var(--r-overlay-element-bg-color),1);z-index:11;transition:background-color .2s ease}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide{position:absolute;width:100%;background-color:rgba(var(--r-overlay-element-bg-color),.2);box-shadow:0 0 0 1px rgba(var(--r-overlay-element-fg-color),.1);border-radius:var(--r-scrollbar-width);transition:background-color .2s ease}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide:after{content:"";position:absolute;width:200%;height:100%;top:0;left:-50%;background:#0000;z-index:-1}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active,.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide:hover{background-color:rgba(var(--r-overlay-element-bg-color),.4)}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-trigger{position:absolute;width:100%;transition:background-color .2s ease}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active.has-triggers{background-color:rgba(var(--r-overlay-element-bg-color),.4);z-index:10}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger:after{content:"";position:absolute;width:var(--r-scrollbar-trigger-size);height:var(--r-scrollbar-trigger-size);border-radius:20px;top:50%;left:50%;transform:translate(-50%,-50%);background-color:rgba(var(--r-overlay-element-bg-color),1);transition:transform .2s ease,opacity .2s ease;opacity:.4}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger.active:after,.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger.active~.scrollbar-trigger:after{opacity:1}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger~.scrollbar-trigger.active:after{transform:translate(calc(var(--r-scrollbar-width) * -2));background-color:rgba(var(--r-overlay-element-bg-color),1)}html.reveal-print *{-webkit-print-color-adjust:exact}html.reveal-print{width:100%;height:100%;overflow:visible}html.reveal-print body{margin:0 auto!important;border:0;padding:0;float:none!important;overflow:visible}html.reveal-print .nestedarrow,html.reveal-print .reveal .controls,html.reveal-print .reveal .playback,html.reveal-print .reveal .progress,html.reveal-print .reveal.overview,html.reveal-print .state-background{display:none!important}html.reveal-print .reveal pre code{overflow:hidden!important}html.reveal-print .reveal{width:auto!important;height:auto!important;overflow:hidden!important}html.reveal-print .reveal .slides{position:static;width:100%!important;height:auto!important;zoom:1!important;pointer-events:initial;left:auto;top:auto;margin:0!important;padding:0!important;overflow:visible;display:block;perspective:none;perspective-origin:50% 50%}html.reveal-print .reveal .slides .pdf-page{position:relative;overflow:hidden;z-index:1;page-break-after:always}html.reveal-print .reveal .slides .pdf-page:last-of-type{page-break-after:avoid}html.reveal-print .reveal .slides section{visibility:visible!important;display:block!important;position:absolute!important;margin:0!important;padding:0!important;box-sizing:border-box!important;min-height:1px;opacity:1!important;transform-style:flat!important;transform:none!important}html.reveal-print .reveal section.stack{position:relative!important;margin:0!important;padding:0!important;page-break-after:avoid!important;height:auto!important;min-height:auto!important}html.reveal-print .reveal img{box-shadow:none}html.reveal-print .reveal .backgrounds{display:none}html.reveal-print .reveal .slide-background{display:block!important;position:absolute;top:0;left:0;width:100%;height:100%;z-index:auto!important}html.reveal-print .reveal.show-notes{max-width:none;max-height:none}html.reveal-print .reveal .speaker-notes-pdf{display:block;width:100%;height:auto;max-height:none;top:auto;right:auto;bottom:auto;left:auto;z-index:100}html.reveal-print .reveal .speaker-notes-pdf[data-layout=separate-page]{position:relative;color:inherit;background-color:transparent;padding:20px;page-break-after:always;border:0}html.reveal-print .reveal .slide-number-pdf{display:block;position:absolute;font-size:14px;visibility:visible}html.reveal-print .aria-status{display:none}@media print{html:not(.print-pdf){overflow:visible;width:auto;height:auto}html:not(.print-pdf) body{margin:0;padding:0;overflow:visible}html:not(.print-pdf) .reveal{background:#fff;font-size:20pt}html:not(.print-pdf) .reveal .backgrounds,html:not(.print-pdf) .reveal .controls,html:not(.print-pdf) .reveal .progress,html:not(.print-pdf) .reveal .slide-number,html:not(.print-pdf) .reveal .state-background{display:none!important}html:not(.print-pdf) .reveal li,html:not(.print-pdf) .reveal p,html:not(.print-pdf) .reveal td{font-size:20pt!important;color:#000}html:not(.print-pdf) .reveal h1,html:not(.print-pdf) .reveal h2,html:not(.print-pdf) .reveal h3,html:not(.print-pdf) .reveal h4,html:not(.print-pdf) .reveal h5,html:not(.print-pdf) .reveal h6{color:#000!important;height:auto;line-height:normal;text-align:left;letter-spacing:normal}html:not(.print-pdf) .reveal h1{font-size:28pt!important}html:not(.print-pdf) .reveal h2{font-size:24pt!important}html:not(.print-pdf) .reveal h3{font-size:22pt!important}html:not(.print-pdf) .reveal h4{font-size:22pt!important;font-variant:small-caps}html:not(.print-pdf) .reveal h5{font-size:21pt!important}html:not(.print-pdf) .reveal h6{font-size:20pt!important;font-style:italic}html:not(.print-pdf) .reveal a:link,html:not(.print-pdf) .reveal a:visited{color:#000!important;font-weight:700;text-decoration:underline}html:not(.print-pdf) .reveal div,html:not(.print-pdf) .reveal ol,html:not(.print-pdf) .reveal p,html:not(.print-pdf) .reveal ul{visibility:visible;position:static;width:auto;height:auto;display:block;overflow:visible;margin:0;text-align:left!important}html:not(.print-pdf) .reveal pre,html:not(.print-pdf) .reveal table{margin-left:0;margin-right:0}html:not(.print-pdf) .reveal pre code{padding:20px}html:not(.print-pdf) .reveal blockquote{margin:20px 0}html:not(.print-pdf) .reveal .slides{position:static!important;width:auto!important;height:auto!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:0!important;zoom:1!important;transform:none!important;overflow:visible!important;display:block!important;text-align:left!important;perspective:none;perspective-origin:50% 50%}html:not(.print-pdf) .reveal .slides section{visibility:visible!important;position:static!important;width:auto!important;height:auto!important;display:block!important;overflow:visible!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:60px 20px!important;z-index:auto!important;opacity:1!important;page-break-after:always!important;transform-style:flat!important;transform:none!important;transition:none!important}html:not(.print-pdf) .reveal .slides section.stack{padding:0!important}html:not(.print-pdf) .reveal .slides section:last-of-type{page-break-after:avoid!important}html:not(.print-pdf) .reveal .slides section .fragment{opacity:1!important;visibility:visible!important;transform:none!important}html:not(.print-pdf) .reveal .r-fit-text{white-space:normal!important}html:not(.print-pdf) .reveal section img{display:block;margin:15px 0;background:#fff;border:1px solid #666;box-shadow:none}html:not(.print-pdf) .reveal section small{font-size:.8em}html:not(.print-pdf) .reveal .hljs{max-height:100%;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;font-size:15pt}html:not(.print-pdf) .reveal .hljs .hljs-ln-numbers{white-space:nowrap}html:not(.print-pdf) .reveal .hljs td{font-size:inherit!important;color:inherit!important}}section.has-light-background,section.has-light-background h1,section.has-light-background h2,section.has-light-background h3,section.has-light-background h4,section.has-light-background h5,section.has-light-background h6{color:#222}:root{--r-background-color: #0f172a;--r-main-font: "Plus Jakarta Sans", sans-serif;--r-main-font-size: 42px;--r-main-color: #fff;--r-block-margin: 20px;--r-heading-margin: 0 0 20px 0;--r-heading-font: "Plus Jakarta Sans", sans-serif;--r-heading-color: #fff;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: none;--r-heading-text-shadow: none;--r-heading-font-weight: 600;--r-heading1-text-shadow: none;--r-heading1-size: 2.5em;--r-heading2-size: 1.6em;--r-heading3-size: 1.3em;--r-heading4-size: 1em;--r-code-font: monospace;--r-link-color: #42affa;--r-link-color-dark: #068de9;--r-link-color-hover: #8dcffc;--r-selection-background-color: rgba(66, 175, 250, .75);--r-selection-color: #fff;--r-overlay-element-bg-color: 240, 240, 240;--r-overlay-element-fg-color: 0, 0, 0}.reveal-viewport{background:#191919;background-color:var(--r-background-color)}.reveal{font-family:var(--r-main-font);font-size:var(--r-main-font-size);font-weight:400;color:var(--r-main-color)}.reveal ::selection{color:var(--r-selection-color);background:var(--r-selection-background-color);text-shadow:none}.reveal ::-moz-selection{color:var(--r-selection-color);background:var(--r-selection-background-color);text-shadow:none}.reveal .slides section,.reveal .slides section>section{line-height:1.3;font-weight:inherit}.reveal h1,.reveal h2,.reveal h3,.reveal h4,.reveal h5,.reveal h6{margin:var(--r-heading-margin);color:var(--r-heading-color);font-family:var(--r-heading-font);font-weight:var(--r-heading-font-weight);line-height:var(--r-heading-line-height);letter-spacing:var(--r-heading-letter-spacing);text-transform:var(--r-heading-text-transform);text-shadow:var(--r-heading-text-shadow);word-wrap:break-word}.reveal h1{font-size:var(--r-heading1-size)}.reveal h2{font-size:var(--r-heading2-size)}.reveal h3{font-size:var(--r-heading3-size)}.reveal h4{font-size:var(--r-heading4-size)}.reveal h1{text-shadow:var(--r-heading1-text-shadow)}.reveal p{margin:var(--r-block-margin) 0;line-height:1.3}.reveal h1:last-child,.reveal h2:last-child,.reveal h3:last-child,.reveal h4:last-child,.reveal h5:last-child,.reveal h6:last-child{margin-bottom:0}.reveal img,.reveal video,.reveal iframe{max-width:95%;max-height:95%}.reveal strong,.reveal b{font-weight:700}.reveal em{font-style:italic}.reveal ol,.reveal dl,.reveal ul{display:inline-block;text-align:left;margin:0 0 0 1em}.reveal ol{list-style-type:decimal}.reveal ul{list-style-type:disc}.reveal ul ul{list-style-type:square}.reveal ul ul ul{list-style-type:circle}.reveal ul ul,.reveal ul ol,.reveal ol ol,.reveal ol ul{display:block;margin-left:40px}.reveal dt{font-weight:700}.reveal dd{margin-left:40px}.reveal blockquote{display:block;position:relative;width:70%;margin:var(--r-block-margin) auto;padding:5px;font-style:italic;background:#ffffff0d;box-shadow:0 0 2px #0003}.reveal blockquote p:first-child,.reveal blockquote p:last-child{display:inline-block}.reveal q{font-style:italic}.reveal pre{display:block;position:relative;width:90%;margin:var(--r-block-margin) auto;text-align:left;font-size:.55em;font-family:var(--r-code-font);line-height:1.2em;word-wrap:break-word;box-shadow:0 5px 15px #00000026}.reveal code{font-family:var(--r-code-font);text-transform:none;-moz-tab-size:2;tab-size:2}.reveal pre code{display:block;padding:5px;overflow:auto;max-height:400px;word-wrap:normal}.reveal .code-wrapper{white-space:normal}.reveal .code-wrapper code{white-space:pre}.reveal table{margin:auto;border-collapse:collapse;border-spacing:0}.reveal table th{font-weight:700}.reveal table th,.reveal table td{text-align:left;padding:.2em .5em;border-bottom:1px solid}.reveal table th[align=center],.reveal table td[align=center]{text-align:center}.reveal table th[align=right],.reveal table td[align=right]{text-align:right}.reveal table tbody tr:last-child th,.reveal table tbody tr:last-child td{border-bottom:none}.reveal sup{vertical-align:super;font-size:smaller}.reveal sub{vertical-align:sub;font-size:smaller}.reveal small{display:inline-block;font-size:.6em;line-height:1.2em;vertical-align:top}.reveal small *{vertical-align:top}.reveal img{margin:var(--r-block-margin) 0}.reveal a{color:var(--r-link-color);text-decoration:none;transition:color .15s ease}.reveal a:hover{color:var(--r-link-color-hover);text-shadow:none;border:none}.reveal .roll span:after{color:#fff;background:var(--r-link-color-dark)}.reveal .r-frame{border:4px solid var(--r-main-color);box-shadow:0 0 10px #00000026}.reveal a .r-frame{transition:all .15s linear}.reveal a:hover .r-frame{border-color:var(--r-link-color);box-shadow:0 0 20px #0000008c}.reveal .controls{color:var(--r-link-color)}.reveal .progress{background:#0003;color:var(--r-link-color)}@media print{.backgrounds{background-color:var(--r-background-color)}} +*/.reveal .r-stretch,.reveal .stretch{max-width:none;max-height:none}.reveal pre.r-stretch code,.reveal pre.stretch code{height:100%;max-height:100%;box-sizing:border-box}.reveal .r-fit-text{display:inline-block;white-space:nowrap}.reveal .r-stack{display:grid;grid-template-rows:100%}.reveal .r-stack>*{grid-area:1/1;margin:auto}.reveal .r-hstack,.reveal .r-vstack{display:flex}.reveal .r-hstack img,.reveal .r-hstack video,.reveal .r-vstack img,.reveal .r-vstack video{min-width:0;min-height:0;object-fit:contain}.reveal .r-vstack{flex-direction:column;align-items:center;justify-content:center}.reveal .r-hstack{flex-direction:row;align-items:center;justify-content:center}.reveal .items-stretch{align-items:stretch}.reveal .items-start{align-items:flex-start}.reveal .items-center{align-items:center}.reveal .items-end{align-items:flex-end}.reveal .justify-between{justify-content:space-between}.reveal .justify-around{justify-content:space-around}.reveal .justify-start{justify-content:flex-start}.reveal .justify-center{justify-content:center}.reveal .justify-end{justify-content:flex-end}html.reveal-full-page{width:100%;height:100%;height:100vh;height:calc(var(--vh,1vh) * 100);height:100svh;overflow:hidden}.reveal-viewport{height:100%;overflow:hidden;position:relative;line-height:1;margin:0;background-color:#fff;color:#000;--r-controls-spacing:12px}.reveal-viewport:fullscreen{top:0!important;left:0!important;width:100%!important;height:100%!important;transform:none!important}.reveal .fragment{transition:all .2s ease}.reveal .fragment:not(.custom){opacity:0;visibility:hidden;will-change:opacity}.reveal .fragment.visible{opacity:1;visibility:inherit}.reveal .fragment.disabled{transition:none}.reveal .fragment.grow{opacity:1;visibility:inherit}.reveal .fragment.grow.visible{transform:scale(1.3)}.reveal .fragment.shrink{opacity:1;visibility:inherit}.reveal .fragment.shrink.visible{transform:scale(.7)}.reveal .fragment.zoom-in{transform:scale(.1)}.reveal .fragment.zoom-in.visible{transform:none}.reveal .fragment.fade-out{opacity:1;visibility:inherit}.reveal .fragment.fade-out.visible{opacity:0;visibility:hidden}.reveal .fragment.semi-fade-out{opacity:1;visibility:inherit}.reveal .fragment.semi-fade-out.visible{opacity:.5;visibility:inherit}.reveal .fragment.strike{opacity:1;visibility:inherit}.reveal .fragment.strike.visible{text-decoration:line-through}.reveal .fragment.fade-up{transform:translateY(40px)}.reveal .fragment.fade-up.visible{transform:translate(0)}.reveal .fragment.fade-down{transform:translateY(-40px)}.reveal .fragment.fade-down.visible{transform:translate(0)}.reveal .fragment.fade-right{transform:translate(-40px)}.reveal .fragment.fade-right.visible{transform:translate(0)}.reveal .fragment.fade-left{transform:translate(40px)}.reveal .fragment.fade-left.visible{transform:translate(0)}.reveal .fragment.current-visible,.reveal .fragment.fade-in-then-out{opacity:0;visibility:hidden}.reveal .fragment.current-visible.current-fragment,.reveal .fragment.fade-in-then-out.current-fragment{opacity:1;visibility:inherit}.reveal .fragment.fade-in-then-semi-out{opacity:0;visibility:hidden}.reveal .fragment.fade-in-then-semi-out.visible{opacity:.5;visibility:inherit}.reveal .fragment.fade-in-then-semi-out.current-fragment,.reveal .fragment.highlight-blue,.reveal .fragment.highlight-current-blue,.reveal .fragment.highlight-current-green,.reveal .fragment.highlight-current-red,.reveal .fragment.highlight-green,.reveal .fragment.highlight-red{opacity:1;visibility:inherit}.reveal .fragment.highlight-red.visible{color:#ff2c2d}.reveal .fragment.highlight-green.visible{color:#17ff2e}.reveal .fragment.highlight-blue.visible{color:#1b91ff}.reveal .fragment.highlight-current-red.current-fragment{color:#ff2c2d}.reveal .fragment.highlight-current-green.current-fragment{color:#17ff2e}.reveal .fragment.highlight-current-blue.current-fragment{color:#1b91ff}.reveal:after{content:"";font-style:italic}.reveal iframe{z-index:1}.reveal a{position:relative}@keyframes bounce-right{0%,10%,25%,40%,50%{transform:translate(0)}20%{transform:translate(10px)}30%{transform:translate(-5px)}}@keyframes bounce-left{0%,10%,25%,40%,50%{transform:translate(0)}20%{transform:translate(-10px)}30%{transform:translate(5px)}}@keyframes bounce-down{0%,10%,25%,40%,50%{transform:translateY(0)}20%{transform:translateY(10px)}30%{transform:translateY(-5px)}}.reveal .controls{display:none;position:absolute;top:auto;bottom:var(--r-controls-spacing);right:var(--r-controls-spacing);left:auto;z-index:11;color:#000;pointer-events:none;font-size:10px}.reveal .controls button{position:absolute;padding:0;background-color:transparent;border:0;outline:0;cursor:pointer;color:currentColor;transform:scale(.9999);transition:color .2s ease,opacity .2s ease,transform .2s ease;z-index:2;pointer-events:auto;font-size:inherit;visibility:hidden;opacity:0;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.reveal .controls .controls-arrow:after,.reveal .controls .controls-arrow:before{content:"";position:absolute;top:0;left:0;width:2.6em;height:.5em;border-radius:.25em;background-color:currentColor;transition:all .15s ease,background-color .8s ease;transform-origin:.2em 50%;will-change:transform}.reveal .controls .controls-arrow{position:relative;width:3.6em;height:3.6em}.reveal .controls .controls-arrow:before{transform:translate(.5em) translateY(1.55em) rotate(45deg)}.reveal .controls .controls-arrow:after{transform:translate(.5em) translateY(1.55em) rotate(-45deg)}.reveal .controls .controls-arrow:hover:before{transform:translate(.5em) translateY(1.55em) rotate(40deg)}.reveal .controls .controls-arrow:hover:after{transform:translate(.5em) translateY(1.55em) rotate(-40deg)}.reveal .controls .controls-arrow:active:before{transform:translate(.5em) translateY(1.55em) rotate(36deg)}.reveal .controls .controls-arrow:active:after{transform:translate(.5em) translateY(1.55em) rotate(-36deg)}.reveal .controls .navigate-left{right:6.4em;bottom:3.2em;transform:translate(-10px)}.reveal .controls .navigate-left.highlight{animation:bounce-left 2s 50 both ease-out}.reveal .controls .navigate-right{right:0;bottom:3.2em;transform:translate(10px)}.reveal .controls .navigate-right .controls-arrow{transform:rotate(180deg)}.reveal .controls .navigate-right.highlight{animation:bounce-right 2s 50 both ease-out}.reveal .controls .navigate-up{right:3.2em;bottom:6.4em;transform:translateY(-10px)}.reveal .controls .navigate-up .controls-arrow{transform:rotate(90deg)}.reveal .controls .navigate-down{right:3.2em;bottom:-1.4em;padding-bottom:1.4em;transform:translateY(10px)}.reveal .controls .navigate-down .controls-arrow{transform:rotate(-90deg)}.reveal .controls .navigate-down.highlight{animation:bounce-down 2s 50 both ease-out}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled{opacity:.3}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled:hover{opacity:1}.reveal .controls[data-controls-back-arrows=hidden] .navigate-up.enabled{opacity:0;visibility:hidden}.reveal .controls .enabled{visibility:visible;opacity:.9;cursor:pointer;transform:none}.reveal .controls .enabled.fragmented{opacity:.5}.reveal .controls .enabled.fragmented:hover,.reveal .controls .enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled{opacity:.3}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=hidden] .navigate-left.enabled{opacity:0;visibility:hidden}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled{opacity:.3}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled:hover{opacity:1}.reveal.rtl .controls[data-controls-back-arrows=hidden] .navigate-right.enabled{opacity:0;visibility:hidden}.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-down,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-up{display:none}.reveal:not(.has-vertical-slides) .controls .navigate-left,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-left{bottom:1.4em;right:5.5em}.reveal:not(.has-vertical-slides) .controls .navigate-right,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-right{bottom:1.4em;right:.5em}.reveal:not(.has-horizontal-slides) .controls .navigate-up{right:1.4em;bottom:5em}.reveal:not(.has-horizontal-slides) .controls .navigate-down{right:1.4em;bottom:.5em}.reveal.has-dark-background .controls{color:#fff}.reveal.has-light-background .controls{color:#000}.reveal.no-hover .controls .controls-arrow:active:before,.reveal.no-hover .controls .controls-arrow:hover:before{transform:translate(.5em) translateY(1.55em) rotate(45deg)}.reveal.no-hover .controls .controls-arrow:active:after,.reveal.no-hover .controls .controls-arrow:hover:after{transform:translate(.5em) translateY(1.55em) rotate(-45deg)}@media screen and (min-width:500px){.reveal-viewport{--r-controls-spacing:.8em}.reveal .controls[data-controls-layout=edges]{top:0;right:0;bottom:0;left:0}.reveal .controls[data-controls-layout=edges] .navigate-down,.reveal .controls[data-controls-layout=edges] .navigate-left,.reveal .controls[data-controls-layout=edges] .navigate-right,.reveal .controls[data-controls-layout=edges] .navigate-up{bottom:auto;right:auto}.reveal .controls[data-controls-layout=edges] .navigate-left{top:50%;left:var(--r-controls-spacing);margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-right{top:50%;right:var(--r-controls-spacing);margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-up{top:var(--r-controls-spacing);left:50%;margin-left:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-down{bottom:calc(var(--r-controls-spacing) - 1.4em + .3em);left:50%;margin-left:-1.8em}}.reveal .progress{position:absolute;display:none;height:3px;width:100%;bottom:0;left:0;z-index:10;background-color:#0003;color:#fff}.reveal .progress:after{content:"";display:block;position:absolute;height:10px;width:100%;top:-10px}.reveal .progress span{display:block;height:100%;width:100%;background-color:currentColor;transition:transform .8s cubic-bezier(.26,.86,.44,.985);transform-origin:0 0;transform:scaleX(0)}.reveal .slide-number{position:absolute;display:block;right:8px;bottom:8px;z-index:31;font-family:Helvetica,sans-serif;font-size:12px;line-height:1;color:#fff;background-color:#0006;padding:5px}.reveal .slide-number a{color:currentColor}.reveal .slide-number-delimiter{margin:0 3px}.reveal{position:relative;width:100%;height:100%;overflow:hidden;touch-action:pinch-zoom}.reveal.embedded{touch-action:pan-y}.reveal.embedded.is-vertical-slide{touch-action:none}.reveal .slides{position:absolute;width:100%;height:100%;top:0;right:0;bottom:0;left:0;margin:auto;pointer-events:none;overflow:visible;z-index:1;text-align:center;perspective:600px;perspective-origin:50% 40%}.reveal .slides>section{perspective:600px}.reveal .slides>section,.reveal .slides>section>section{display:none;position:absolute;width:100%;pointer-events:auto;z-index:10;transform-style:flat;transition:transform-origin .8s cubic-bezier(.26,.86,.44,.985),transform .8s cubic-bezier(.26,.86,.44,.985),visibility .8s cubic-bezier(.26,.86,.44,.985),opacity .8s cubic-bezier(.26,.86,.44,.985)}.reveal[data-transition-speed=fast] .slides section{transition-duration:.4s}.reveal[data-transition-speed=slow] .slides section{transition-duration:1.2s}.reveal .slides section[data-transition-speed=fast]{transition-duration:.4s}.reveal .slides section[data-transition-speed=slow]{transition-duration:1.2s}.reveal .slides>section.stack{padding-top:0;padding-bottom:0;pointer-events:none;height:100%}.reveal .slides>section.present,.reveal .slides>section>section.present{display:block;z-index:11;opacity:1}.reveal .slides>section:empty,.reveal .slides>section>section:empty,.reveal .slides>section>section[data-background-interactive],.reveal .slides>section[data-background-interactive]{pointer-events:none}.reveal.center,.reveal.center .slides,.reveal.center .slides section{min-height:0!important}.reveal .slides>section:not(.present),.reveal .slides>section>section:not(.present){pointer-events:none}.reveal.overview .slides>section,.reveal.overview .slides>section>section{pointer-events:auto}.reveal .slides>section.future,.reveal .slides>section.future>section,.reveal .slides>section.past,.reveal .slides>section.past>section,.reveal .slides>section>section.future,.reveal .slides>section>section.past{opacity:0}.reveal .slides>section[data-transition=slide].past,.reveal .slides>section[data-transition~=slide-out].past,.reveal.slide .slides>section:not([data-transition]).past{transform:translate(-150%)}.reveal .slides>section[data-transition=slide].future,.reveal .slides>section[data-transition~=slide-in].future,.reveal.slide .slides>section:not([data-transition]).future{transform:translate(150%)}.reveal .slides>section>section[data-transition=slide].past,.reveal .slides>section>section[data-transition~=slide-out].past,.reveal.slide .slides>section>section:not([data-transition]).past{transform:translateY(-150%)}.reveal .slides>section>section[data-transition=slide].future,.reveal .slides>section>section[data-transition~=slide-in].future,.reveal.slide .slides>section>section:not([data-transition]).future{transform:translateY(150%)}.reveal .slides>section[data-transition=linear].past,.reveal .slides>section[data-transition~=linear-out].past,.reveal.linear .slides>section:not([data-transition]).past{transform:translate(-150%)}.reveal .slides>section[data-transition=linear].future,.reveal .slides>section[data-transition~=linear-in].future,.reveal.linear .slides>section:not([data-transition]).future{transform:translate(150%)}.reveal .slides>section>section[data-transition=linear].past,.reveal .slides>section>section[data-transition~=linear-out].past,.reveal.linear .slides>section>section:not([data-transition]).past{transform:translateY(-150%)}.reveal .slides>section>section[data-transition=linear].future,.reveal .slides>section>section[data-transition~=linear-in].future,.reveal.linear .slides>section>section:not([data-transition]).future{transform:translateY(150%)}.reveal .slides section[data-transition=default].stack,.reveal.default .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=default].past,.reveal .slides>section[data-transition~=default-out].past,.reveal.default .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=default].future,.reveal .slides>section[data-transition~=default-in].future,.reveal.default .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=default].past,.reveal .slides>section>section[data-transition~=default-out].past,.reveal.default .slides>section>section:not([data-transition]).past{transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.reveal .slides>section>section[data-transition=default].future,.reveal .slides>section>section[data-transition~=default-in].future,.reveal.default .slides>section>section:not([data-transition]).future{transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.reveal .slides section[data-transition=convex].stack,.reveal.convex .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=convex].past,.reveal .slides>section[data-transition~=convex-out].past,.reveal.convex .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=convex].future,.reveal .slides>section[data-transition~=convex-in].future,.reveal.convex .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=convex].past,.reveal .slides>section>section[data-transition~=convex-out].past,.reveal.convex .slides>section>section:not([data-transition]).past{transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.reveal .slides>section>section[data-transition=convex].future,.reveal .slides>section>section[data-transition~=convex-in].future,.reveal.convex .slides>section>section:not([data-transition]).future{transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.reveal .slides section[data-transition=concave].stack,.reveal.concave .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=concave].past,.reveal .slides>section[data-transition~=concave-out].past,.reveal.concave .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=concave].future,.reveal .slides>section[data-transition~=concave-in].future,.reveal.concave .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=concave].past,.reveal .slides>section>section[data-transition~=concave-out].past,.reveal.concave .slides>section>section:not([data-transition]).past{transform:translate3d(0,-80%,0) rotateX(-70deg) translate3d(0,-80%,0)}.reveal .slides>section>section[data-transition=concave].future,.reveal .slides>section>section[data-transition~=concave-in].future,.reveal.concave .slides>section>section:not([data-transition]).future{transform:translate3d(0,80%,0) rotateX(70deg) translate3d(0,80%,0)}.reveal .slides section[data-transition=zoom],.reveal.zoom .slides section:not([data-transition]){transition-timing-function:ease}.reveal .slides>section[data-transition=zoom].past,.reveal .slides>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section:not([data-transition]).past{visibility:hidden;transform:scale(16)}.reveal .slides>section[data-transition=zoom].future,.reveal .slides>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section:not([data-transition]).future{visibility:hidden;transform:scale(.2)}.reveal .slides>section>section[data-transition=zoom].past,.reveal .slides>section>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section>section:not([data-transition]).past{transform:scale(16)}.reveal .slides>section>section[data-transition=zoom].future,.reveal .slides>section>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section>section:not([data-transition]).future{transform:scale(.2)}.reveal.cube .slides{perspective:1300px}.reveal.cube .slides section{padding:30px;min-height:700px;backface-visibility:hidden;box-sizing:border-box;transform-style:preserve-3d}.reveal.center.cube .slides section{min-height:0}.reveal.cube .slides section:not(.stack):before{content:"";position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:#0000001a;border-radius:4px;transform:translateZ(-20px)}.reveal.cube .slides section:not(.stack):after{content:"";position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px #0003;transform:translateZ(-90px) rotateX(65deg)}.reveal.cube .slides>section.stack{padding:0;background:0 0}.reveal.cube .slides>section.past{transform-origin:100% 0;transform:translate3d(-100%,0,0) rotateY(-90deg)}.reveal.cube .slides>section.future{transform-origin:0 0;transform:translate3d(100%,0,0) rotateY(90deg)}.reveal.cube .slides>section>section.past{transform-origin:0 100%;transform:translate3d(0,-100%,0) rotateX(90deg)}.reveal.cube .slides>section>section.future{transform-origin:0 0;transform:translate3d(0,100%,0) rotateX(-90deg)}.reveal.page .slides{perspective-origin:0 50%;perspective:3000px}.reveal.page .slides section{padding:30px;min-height:700px;box-sizing:border-box;transform-style:preserve-3d}.reveal.page .slides section.past{z-index:12}.reveal.page .slides section:not(.stack):before{content:"";position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:#0000001a;transform:translateZ(-20px)}.reveal.page .slides section:not(.stack):after{content:"";position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px #0003;-webkit-transform:translateZ(-90px) rotateX(65deg)}.reveal.page .slides>section.stack{padding:0;background:0 0}.reveal.page .slides>section.past{transform-origin:0 0;transform:translate3d(-40%,0,0) rotateY(-80deg)}.reveal.page .slides>section.future{transform-origin:100% 0;transform:translateZ(0)}.reveal.page .slides>section>section.past{transform-origin:0 0;transform:translate3d(0,-40%,0) rotateX(80deg)}.reveal.page .slides>section>section.future{transform-origin:0 100%;transform:translateZ(0)}.reveal .slides section[data-transition=fade],.reveal.fade .slides section:not([data-transition]),.reveal.fade .slides>section>section:not([data-transition]){transform:none;transition:opacity .5s}.reveal.fade.overview .slides section,.reveal.fade.overview .slides>section>section{transition:none}.reveal .slides section[data-transition=none],.reveal.none .slides section:not([data-transition]){transform:none;transition:none}.reveal .pause-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;visibility:hidden;opacity:0;z-index:100;transition:all 1s ease}.reveal .pause-overlay .resume-button{position:absolute;bottom:20px;right:20px;color:#ccc;border-radius:2px;padding:6px 14px;border:2px solid #ccc;font-size:16px;background:0 0;cursor:pointer}.reveal .pause-overlay .resume-button:hover{color:#fff;border-color:#fff}.reveal.paused .pause-overlay{visibility:visible;opacity:1}.reveal .no-transition,.reveal .no-transition *,.reveal .slides.disable-slide-transitions section{transition:none!important}.reveal .slides.disable-slide-transitions section{transform:none!important}.reveal .backgrounds{position:absolute;width:100%;height:100%;top:0;left:0;perspective:600px}.reveal .slide-background{display:none;position:absolute;width:100%;height:100%;opacity:0;visibility:hidden;overflow:hidden;background-color:#0000;transition:all .8s cubic-bezier(.26,.86,.44,.985)}.reveal .slide-background-content{position:absolute;width:100%;height:100%;background-position:50% 50%;background-repeat:no-repeat;background-size:cover}.reveal .slide-background.stack{display:block}.reveal .slide-background.present{opacity:1;visibility:visible;z-index:2}.print-pdf .reveal .slide-background{opacity:1!important;visibility:visible!important}.reveal .slide-background video{position:absolute;width:100%;height:100%;max-width:none;max-height:none;top:0;left:0;object-fit:cover}.reveal .slide-background[data-background-size=contain] video{object-fit:contain}.reveal>.backgrounds .slide-background[data-background-transition=none],.reveal[data-background-transition=none]>.backgrounds .slide-background:not([data-background-transition]){transition:none}.reveal>.backgrounds .slide-background[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background:not([data-background-transition]){opacity:1}.reveal>.backgrounds .slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.past:not([data-background-transition]){transform:translate(-100%)}.reveal>.backgrounds .slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.future:not([data-background-transition]){transform:translate(100%)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){transform:translateY(-100%)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){transform:translateY(100%)}.reveal>.backgrounds .slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(0,-100%,0) rotateX(90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(0,100%,0) rotateX(-90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;transform:translate3d(0,-100%,0) rotateX(-90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;transform:translate3d(0,100%,0) rotateX(90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background:not([data-background-transition]){transition-timing-function:ease}.reveal>.backgrounds .slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.future:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(.2)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]){opacity:0;visibility:hidden;transform:scale(.2)}.reveal[data-transition-speed=fast]>.backgrounds .slide-background{transition-duration:.4s}.reveal[data-transition-speed=slow]>.backgrounds .slide-background{transition-duration:1.2s}.reveal [data-auto-animate-target^=unmatched]{will-change:opacity}.reveal section[data-auto-animate]:not(.stack):not([data-auto-animate=running]) [data-auto-animate-target^=unmatched]{opacity:0}.reveal.overview{perspective-origin:50% 50%;perspective:700px}.reveal.overview .slides{-moz-transform-style:preserve-3d}.reveal.overview .slides section{height:100%;top:0!important;opacity:1!important;overflow:hidden;visibility:visible!important;cursor:pointer;box-sizing:border-box}.reveal.overview .slides section.present,.reveal.overview .slides section:hover{outline:10px solid rgba(150,150,150,.4);outline-offset:10px}.reveal.overview .slides section .fragment{opacity:1;transition:none}.reveal.overview .slides section:after,.reveal.overview .slides section:before{display:none!important}.reveal.overview .slides>section.stack{padding:0;top:0!important;background:0 0;outline:0;overflow:visible}.reveal.overview .backgrounds{perspective:inherit;-moz-transform-style:preserve-3d}.reveal.overview .backgrounds .slide-background{opacity:1;visibility:visible;outline:10px solid rgba(150,150,150,.1);outline-offset:10px}.reveal.overview .backgrounds .slide-background.stack{overflow:visible}.reveal.overview .slides section,.reveal.overview-deactivating .slides section{transition:none}.reveal.overview .backgrounds .slide-background,.reveal.overview-deactivating .backgrounds .slide-background{transition:none}.reveal.rtl .slides,.reveal.rtl .slides h1,.reveal.rtl .slides h2,.reveal.rtl .slides h3,.reveal.rtl .slides h4,.reveal.rtl .slides h5,.reveal.rtl .slides h6{direction:rtl;font-family:sans-serif}.reveal.rtl code,.reveal.rtl pre{direction:ltr}.reveal.rtl ol,.reveal.rtl ul{text-align:right}.reveal.rtl .progress span{transform-origin:100% 0}.reveal.has-parallax-background .backgrounds{transition:all .8s ease}.reveal.has-parallax-background[data-transition-speed=fast] .backgrounds{transition-duration:.4s}.reveal.has-parallax-background[data-transition-speed=slow] .backgrounds{transition-duration:1.2s}.reveal>.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000;background:#000000f2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all .3s ease}.reveal>.overlay .spinner{position:absolute;display:block;top:50%;left:50%;width:32px;height:32px;margin:-16px 0 0 -16px;z-index:10;background-image:url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D);visibility:visible;opacity:.6;transition:all .3s ease}.reveal>.overlay header{position:absolute;left:0;top:0;width:100%;padding:5px;z-index:2;box-sizing:border-box}.reveal>.overlay header a{display:inline-block;width:40px;height:40px;line-height:36px;padding:0 10px;float:right;opacity:.6;box-sizing:border-box}.reveal>.overlay header a:hover{opacity:1}.reveal>.overlay header a .icon{display:inline-block;width:20px;height:20px;background-position:50% 50%;background-size:100%;background-repeat:no-repeat}.reveal>.overlay header a.close .icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC)}.reveal>.overlay header a.external .icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==)}.reveal>.overlay .viewport{position:absolute;display:flex;top:50px;right:0;bottom:0;left:0}.reveal>.overlay.overlay-preview .viewport iframe{width:100%;height:100%;max-width:100%;max-height:100%;border:0;opacity:0;visibility:hidden;transition:all .3s ease}.reveal>.overlay.overlay-preview.loaded .viewport iframe{opacity:1;visibility:visible}.reveal>.overlay.overlay-preview.loaded .viewport-inner{position:absolute;z-index:-1;left:0;top:45%;width:100%;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-preview .x-frame-error{opacity:0;transition:opacity .3s ease .3s}.reveal>.overlay.overlay-preview.loaded .x-frame-error{opacity:1}.reveal>.overlay.overlay-preview.loaded .spinner{opacity:0;visibility:hidden;transform:scale(.2)}.reveal>.overlay.overlay-help .viewport{overflow:auto;color:#fff}.reveal>.overlay.overlay-help .viewport .viewport-inner{width:600px;margin:auto;padding:20px 20px 80px;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-help .viewport .viewport-inner .title{font-size:20px}.reveal>.overlay.overlay-help .viewport .viewport-inner table{border:1px solid #fff;border-collapse:collapse;font-size:16px}.reveal>.overlay.overlay-help .viewport .viewport-inner table td,.reveal>.overlay.overlay-help .viewport .viewport-inner table th{width:200px;padding:14px;border:1px solid #fff;vertical-align:middle}.reveal>.overlay.overlay-help .viewport .viewport-inner table th{padding-top:20px;padding-bottom:20px}.reveal .playback{position:absolute;left:15px;bottom:20px;z-index:30;cursor:pointer;transition:all .4s ease;-webkit-tap-highlight-color:transparent}.reveal.overview .playback{opacity:0;visibility:hidden}.reveal .hljs{min-height:100%}.reveal .hljs table{margin:initial}.reveal .hljs-ln-code,.reveal .hljs-ln-numbers{padding:0;border:0}.reveal .hljs-ln-numbers{opacity:.6;padding-right:.75em;text-align:right;vertical-align:top}.reveal .hljs.has-highlights tr:not(.highlight-line){opacity:.4}.reveal .hljs.has-highlights.fragment{transition:all .2s ease}.reveal .hljs:not(:first-child).fragment{position:absolute;top:0;left:0;width:100%;box-sizing:border-box}.reveal pre[data-auto-animate-target]{overflow:hidden}.reveal pre[data-auto-animate-target] code{height:100%}.reveal .roll{display:inline-block;line-height:1.2;overflow:hidden;vertical-align:top;perspective:400px;perspective-origin:50% 50%}.reveal .roll:hover{background:0 0;text-shadow:none}.reveal .roll span{display:block;position:relative;padding:0 2px;pointer-events:none;transition:all .4s ease;transform-origin:50% 0;transform-style:preserve-3d;backface-visibility:hidden}.reveal .roll:hover span{background:#00000080;transform:translateZ(-45px) rotateX(90deg)}.reveal .roll span:after{content:attr(data-title);display:block;position:absolute;left:0;top:0;padding:0 2px;backface-visibility:hidden;transform-origin:50% 0;transform:translate3d(0,110%,0) rotateX(-90deg)}.reveal aside.notes{display:none}.reveal .speaker-notes{display:none;position:absolute;width:33.3333333333%;height:100%;top:0;left:100%;padding:14px 18px;z-index:1;font-size:18px;line-height:1.4;border:1px solid rgba(0,0,0,.05);color:#222;background-color:#f5f5f5;overflow:auto;box-sizing:border-box;text-align:left;font-family:Helvetica,sans-serif;-webkit-overflow-scrolling:touch}.reveal .speaker-notes .notes-placeholder{color:#ccc;font-style:italic}.reveal .speaker-notes:focus{outline:0}.reveal .speaker-notes:before{content:"Speaker notes";display:block;margin-bottom:10px;opacity:.5}.reveal.show-notes{max-width:75%;overflow:visible}.reveal.show-notes .speaker-notes{display:block}@media screen and (min-width:1600px){.reveal .speaker-notes{font-size:20px}}@media screen and (max-width:1024px){.reveal.show-notes{border-left:0;max-width:none;max-height:70%;max-height:70vh;overflow:visible}.reveal.show-notes .speaker-notes{top:100%;left:0;width:100%;height:30vh;border:0}}@media screen and (max-width:600px){.reveal.show-notes{max-height:60%;max-height:60vh}.reveal.show-notes .speaker-notes{top:100%;height:40vh}.reveal .speaker-notes{font-size:14px}}.reveal .jump-to-slide{position:absolute;top:15px;left:15px;z-index:30;font-size:32px;-webkit-tap-highlight-color:transparent}.reveal .jump-to-slide-input{background:0 0;padding:8px;font-size:inherit;color:currentColor;border:0}.reveal .jump-to-slide-input::placeholder{color:currentColor;opacity:.5}.reveal.has-dark-background .jump-to-slide-input{color:#fff}.reveal.has-light-background .jump-to-slide-input{color:#222}.reveal .jump-to-slide-input:focus{outline:0}.zoomed .reveal *,.zoomed .reveal :after,.zoomed .reveal :before{backface-visibility:visible!important}.zoomed .reveal .controls,.zoomed .reveal .progress{opacity:0}.zoomed .reveal .roll span{background:0 0}.zoomed .reveal .roll span:after{visibility:hidden}.reveal-viewport.loading-scroll-mode{visibility:hidden}.reveal-viewport.reveal-scroll{margin:0 auto;overflow:auto;overflow-x:hidden;overflow-y:auto;z-index:1;--r-scrollbar-width:7px;--r-scrollbar-trigger-size:5px;--r-controls-spacing:8px}@media screen and (max-width:500px){.reveal-viewport.reveal-scroll{--r-scrollbar-width:3px;--r-scrollbar-trigger-size:3px}}.reveal-viewport.reveal-scroll .backgrounds,.reveal-viewport.reveal-scroll .controls,.reveal-viewport.reveal-scroll .playback,.reveal-viewport.reveal-scroll .progress,.reveal-viewport.reveal-scroll .slide-number,.reveal-viewport.reveal-scroll .speaker-notes{display:none!important}.reveal-viewport.reveal-scroll .overlay,.reveal-viewport.reveal-scroll .pause-overlay{position:fixed}.reveal-viewport.reveal-scroll .reveal{overflow:visible;touch-action:manipulation}.reveal-viewport.reveal-scroll .slides{position:static;pointer-events:initial;left:auto;top:auto;width:100%!important;margin:0;padding:0;overflow:visible;display:block;perspective:none;perspective-origin:50% 50%}.reveal-viewport.reveal-scroll .scroll-page{position:relative;width:100%;height:calc(var(--page-height) + var(--page-scroll-padding));z-index:1;overflow:visible}.reveal-viewport.reveal-scroll .scroll-page-sticky{position:sticky;height:var(--page-height);top:0}.reveal-viewport.reveal-scroll .scroll-page-content{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.reveal-viewport.reveal-scroll .scroll-page section{visibility:visible!important;display:block!important;position:absolute!important;width:var(--slide-width)!important;height:var(--slide-height)!important;top:50%!important;left:50%!important;opacity:1!important;transform:scale(var(--slide-scale)) translate(-50%,-50%)!important;transform-style:flat!important;transform-origin:0 0!important}.reveal-viewport.reveal-scroll .slide-background{display:block!important;position:absolute;top:0;left:0;width:100%;height:100%;z-index:auto!important;visibility:visible;opacity:1;touch-action:manipulation}.reveal-viewport.reveal-scroll[data-scrollbar=auto]::-webkit-scrollbar,.reveal-viewport.reveal-scroll[data-scrollbar=true]::-webkit-scrollbar{display:none}.reveal-viewport.reveal-scroll[data-scrollbar=auto],.reveal-viewport.reveal-scroll[data-scrollbar=true]{scrollbar-width:none}.reveal-viewport.has-dark-background,.reveal.has-dark-background{--r-overlay-element-bg-color:240,240,240;--r-overlay-element-fg-color:0,0,0}.reveal-viewport.has-light-background,.reveal.has-light-background{--r-overlay-element-bg-color:0,0,0;--r-overlay-element-fg-color:240,240,240}.reveal-viewport.reveal-scroll .scrollbar{position:sticky;top:50%;z-index:20;opacity:0;transition:all .3s ease}.reveal-viewport.reveal-scroll .scrollbar.visible,.reveal-viewport.reveal-scroll .scrollbar:hover{opacity:1}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-inner{position:absolute;width:var(--r-scrollbar-width);height:calc(var(--viewport-height) - var(--r-controls-spacing) * 2);right:var(--r-controls-spacing);top:0;transform:translateY(-50%);border-radius:var(--r-scrollbar-width);z-index:10}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-playhead{position:absolute;width:var(--r-scrollbar-width);height:var(--r-scrollbar-width);top:0;left:0;border-radius:var(--r-scrollbar-width);background-color:rgba(var(--r-overlay-element-bg-color),1);z-index:11;transition:background-color .2s ease}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide{position:absolute;width:100%;background-color:rgba(var(--r-overlay-element-bg-color),.2);box-shadow:0 0 0 1px rgba(var(--r-overlay-element-fg-color),.1);border-radius:var(--r-scrollbar-width);transition:background-color .2s ease}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide:after{content:"";position:absolute;width:200%;height:100%;top:0;left:-50%;background:#0000;z-index:-1}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active,.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide:hover{background-color:rgba(var(--r-overlay-element-bg-color),.4)}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-trigger{position:absolute;width:100%;transition:background-color .2s ease}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active.has-triggers{background-color:rgba(var(--r-overlay-element-bg-color),.4);z-index:10}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger:after{content:"";position:absolute;width:var(--r-scrollbar-trigger-size);height:var(--r-scrollbar-trigger-size);border-radius:20px;top:50%;left:50%;transform:translate(-50%,-50%);background-color:rgba(var(--r-overlay-element-bg-color),1);transition:transform .2s ease,opacity .2s ease;opacity:.4}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger.active:after,.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger.active~.scrollbar-trigger:after{opacity:1}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger~.scrollbar-trigger.active:after{transform:translate(calc(var(--r-scrollbar-width) * -2));background-color:rgba(var(--r-overlay-element-bg-color),1)}html.reveal-print *{-webkit-print-color-adjust:exact}html.reveal-print{width:100%;height:100%;overflow:visible}html.reveal-print body{margin:0 auto!important;border:0;padding:0;float:none!important;overflow:visible}html.reveal-print .nestedarrow,html.reveal-print .reveal .controls,html.reveal-print .reveal .playback,html.reveal-print .reveal .progress,html.reveal-print .reveal.overview,html.reveal-print .state-background{display:none!important}html.reveal-print .reveal pre code{overflow:hidden!important}html.reveal-print .reveal{width:auto!important;height:auto!important;overflow:hidden!important}html.reveal-print .reveal .slides{position:static;width:100%!important;height:auto!important;zoom:1!important;pointer-events:initial;left:auto;top:auto;margin:0!important;padding:0!important;overflow:visible;display:block;perspective:none;perspective-origin:50% 50%}html.reveal-print .reveal .slides .pdf-page{position:relative;overflow:hidden;z-index:1;page-break-after:always}html.reveal-print .reveal .slides .pdf-page:last-of-type{page-break-after:avoid}html.reveal-print .reveal .slides section{visibility:visible!important;display:block!important;position:absolute!important;margin:0!important;padding:0!important;box-sizing:border-box!important;min-height:1px;opacity:1!important;transform-style:flat!important;transform:none!important}html.reveal-print .reveal section.stack{position:relative!important;margin:0!important;padding:0!important;page-break-after:avoid!important;height:auto!important;min-height:auto!important}html.reveal-print .reveal img{box-shadow:none}html.reveal-print .reveal .backgrounds{display:none}html.reveal-print .reveal .slide-background{display:block!important;position:absolute;top:0;left:0;width:100%;height:100%;z-index:auto!important}html.reveal-print .reveal.show-notes{max-width:none;max-height:none}html.reveal-print .reveal .speaker-notes-pdf{display:block;width:100%;height:auto;max-height:none;top:auto;right:auto;bottom:auto;left:auto;z-index:100}html.reveal-print .reveal .speaker-notes-pdf[data-layout=separate-page]{position:relative;color:inherit;background-color:transparent;padding:20px;page-break-after:always;border:0}html.reveal-print .reveal .slide-number-pdf{display:block;position:absolute;font-size:14px;visibility:visible}html.reveal-print .aria-status{display:none}@media print{html:not(.print-pdf){overflow:visible;width:auto;height:auto}html:not(.print-pdf) body{margin:0;padding:0;overflow:visible}html:not(.print-pdf) .reveal{background:#fff;font-size:20pt}html:not(.print-pdf) .reveal .backgrounds,html:not(.print-pdf) .reveal .controls,html:not(.print-pdf) .reveal .progress,html:not(.print-pdf) .reveal .slide-number,html:not(.print-pdf) .reveal .state-background{display:none!important}html:not(.print-pdf) .reveal li,html:not(.print-pdf) .reveal p,html:not(.print-pdf) .reveal td{font-size:20pt!important;color:#000}html:not(.print-pdf) .reveal h1,html:not(.print-pdf) .reveal h2,html:not(.print-pdf) .reveal h3,html:not(.print-pdf) .reveal h4,html:not(.print-pdf) .reveal h5,html:not(.print-pdf) .reveal h6{color:#000!important;height:auto;line-height:normal;text-align:left;letter-spacing:normal}html:not(.print-pdf) .reveal h1{font-size:28pt!important}html:not(.print-pdf) .reveal h2{font-size:24pt!important}html:not(.print-pdf) .reveal h3{font-size:22pt!important}html:not(.print-pdf) .reveal h4{font-size:22pt!important;font-variant:small-caps}html:not(.print-pdf) .reveal h5{font-size:21pt!important}html:not(.print-pdf) .reveal h6{font-size:20pt!important;font-style:italic}html:not(.print-pdf) .reveal a:link,html:not(.print-pdf) .reveal a:visited{color:#000!important;font-weight:700;text-decoration:underline}html:not(.print-pdf) .reveal div,html:not(.print-pdf) .reveal ol,html:not(.print-pdf) .reveal p,html:not(.print-pdf) .reveal ul{visibility:visible;position:static;width:auto;height:auto;display:block;overflow:visible;margin:0;text-align:left!important}html:not(.print-pdf) .reveal pre,html:not(.print-pdf) .reveal table{margin-left:0;margin-right:0}html:not(.print-pdf) .reveal pre code{padding:20px}html:not(.print-pdf) .reveal blockquote{margin:20px 0}html:not(.print-pdf) .reveal .slides{position:static!important;width:auto!important;height:auto!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:0!important;zoom:1!important;transform:none!important;overflow:visible!important;display:block!important;text-align:left!important;perspective:none;perspective-origin:50% 50%}html:not(.print-pdf) .reveal .slides section{visibility:visible!important;position:static!important;width:auto!important;height:auto!important;display:block!important;overflow:visible!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:60px 20px!important;z-index:auto!important;opacity:1!important;page-break-after:always!important;transform-style:flat!important;transform:none!important;transition:none!important}html:not(.print-pdf) .reveal .slides section.stack{padding:0!important}html:not(.print-pdf) .reveal .slides section:last-of-type{page-break-after:avoid!important}html:not(.print-pdf) .reveal .slides section .fragment{opacity:1!important;visibility:visible!important;transform:none!important}html:not(.print-pdf) .reveal .r-fit-text{white-space:normal!important}html:not(.print-pdf) .reveal section img{display:block;margin:15px 0;background:#fff;border:1px solid #666;box-shadow:none}html:not(.print-pdf) .reveal section small{font-size:.8em}html:not(.print-pdf) .reveal .hljs{max-height:100%;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;font-size:15pt}html:not(.print-pdf) .reveal .hljs .hljs-ln-numbers{white-space:nowrap}html:not(.print-pdf) .reveal .hljs td{font-size:inherit!important;color:inherit!important}}section.has-light-background,section.has-light-background h1,section.has-light-background h2,section.has-light-background h3,section.has-light-background h4,section.has-light-background h5,section.has-light-background h6{color:#222}:root{--r-background-color: #0f172a;--r-main-font: "Plus Jakarta Sans", sans-serif;--r-main-font-size: 42px;--r-main-color: #fff;--r-block-margin: 20px;--r-heading-margin: 0 0 20px 0;--r-heading-font: "Plus Jakarta Sans", sans-serif;--r-heading-color: #fff;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: none;--r-heading-text-shadow: none;--r-heading-font-weight: 600;--r-heading1-text-shadow: none;--r-heading1-size: 2.5em;--r-heading2-size: 1.6em;--r-heading3-size: 1.3em;--r-heading4-size: 1em;--r-code-font: monospace;--r-link-color: #42affa;--r-link-color-dark: #068de9;--r-link-color-hover: #8dcffc;--r-selection-background-color: rgba(66, 175, 250, .75);--r-selection-color: #fff;--r-overlay-element-bg-color: 240, 240, 240;--r-overlay-element-fg-color: 0, 0, 0}.reveal-viewport{background:#191919;background-color:var(--r-background-color)}.reveal{font-family:var(--r-main-font);font-size:var(--r-main-font-size);font-weight:400;color:var(--r-main-color)}.reveal ::selection{color:var(--r-selection-color);background:var(--r-selection-background-color);text-shadow:none}.reveal ::-moz-selection{color:var(--r-selection-color);background:var(--r-selection-background-color);text-shadow:none}.reveal .slides section,.reveal .slides section>section{line-height:1.3;font-weight:inherit}.reveal h1,.reveal h2,.reveal h3,.reveal h4,.reveal h5,.reveal h6{margin:var(--r-heading-margin);color:var(--r-heading-color);font-family:var(--r-heading-font);font-weight:var(--r-heading-font-weight);line-height:var(--r-heading-line-height);letter-spacing:var(--r-heading-letter-spacing);text-transform:var(--r-heading-text-transform);text-shadow:var(--r-heading-text-shadow);word-wrap:break-word}.reveal h1{font-size:var(--r-heading1-size)}.reveal h2{font-size:var(--r-heading2-size)}.reveal h3{font-size:var(--r-heading3-size)}.reveal h4{font-size:var(--r-heading4-size)}.reveal h1{text-shadow:var(--r-heading1-text-shadow)}.reveal p{margin:var(--r-block-margin) 0;line-height:1.3}.reveal h1:last-child,.reveal h2:last-child,.reveal h3:last-child,.reveal h4:last-child,.reveal h5:last-child,.reveal h6:last-child{margin-bottom:0}.reveal img,.reveal video,.reveal iframe{max-width:95%;max-height:95%}.reveal strong,.reveal b{font-weight:700}.reveal em{font-style:italic}.reveal ol,.reveal dl,.reveal ul{display:inline-block;text-align:left;margin:0 0 0 1em}.reveal ol{list-style-type:decimal}.reveal ul{list-style-type:disc}.reveal ul ul{list-style-type:square}.reveal ul ul ul{list-style-type:circle}.reveal ul ul,.reveal ul ol,.reveal ol ol,.reveal ol ul{display:block;margin-left:40px}.reveal dt{font-weight:700}.reveal dd{margin-left:40px}.reveal blockquote{display:block;position:relative;width:70%;margin:var(--r-block-margin) auto;padding:5px;font-style:italic;background:#ffffff0d;box-shadow:0 0 2px #0003}.reveal blockquote p:first-child,.reveal blockquote p:last-child{display:inline-block}.reveal q{font-style:italic}.reveal pre{display:block;position:relative;width:90%;margin:var(--r-block-margin) auto;text-align:left;font-size:.55em;font-family:var(--r-code-font);line-height:1.2em;word-wrap:break-word;box-shadow:0 5px 15px #00000026}.reveal code{font-family:var(--r-code-font);text-transform:none;-moz-tab-size:2;tab-size:2}.reveal pre code{display:block;padding:5px;overflow:auto;max-height:400px;word-wrap:normal}.reveal .code-wrapper{white-space:normal}.reveal .code-wrapper code{white-space:pre}.reveal table{margin:auto;border-collapse:collapse;border-spacing:0}.reveal table th{font-weight:700}.reveal table th,.reveal table td{text-align:left;padding:.2em .5em;border-bottom:1px solid}.reveal table th[align=center],.reveal table td[align=center]{text-align:center}.reveal table th[align=right],.reveal table td[align=right]{text-align:right}.reveal table tbody tr:last-child th,.reveal table tbody tr:last-child td{border-bottom:none}.reveal sup{vertical-align:super;font-size:smaller}.reveal sub{vertical-align:sub;font-size:smaller}.reveal small{display:inline-block;font-size:.6em;line-height:1.2em;vertical-align:top}.reveal small *{vertical-align:top}.reveal img{margin:var(--r-block-margin) 0}.reveal a{color:var(--r-link-color);text-decoration:none;transition:color .15s ease}.reveal a:hover{color:var(--r-link-color-hover);text-shadow:none;border:none;text-decoration:underline;text-underline-offset:4px}.reveal .roll span:after{color:#fff;background:var(--r-link-color-dark)}.reveal .r-frame{border:4px solid var(--r-main-color);box-shadow:0 0 10px #00000026}.reveal a .r-frame{transition:all .15s linear}.reveal a:hover .r-frame{border-color:var(--r-link-color);box-shadow:0 0 20px #0000008c}.reveal .controls{color:var(--r-link-color)}.reveal .progress{background:#0003;color:var(--r-link-color)}@media print{.backgrounds{background-color:var(--r-background-color)}} diff --git a/react-from-the-ground/assets/index-Bez-f45t.js b/react-from-the-ground/assets/index-Bez-f45t.js deleted file mode 100644 index 6df0213..0000000 --- a/react-from-the-ground/assets/index-Bez-f45t.js +++ /dev/null @@ -1,1048 +0,0 @@ -var pc=Object.defineProperty;var mc=(H,n,r)=>n in H?pc(H,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):H[n]=r;var Dn=(H,n,r)=>mc(H,typeof n!="symbol"?n+"":n,r);(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const E of document.querySelectorAll('link[rel="modulepreload"]'))d(E);new MutationObserver(E=>{for(const N of E)if(N.type==="childList")for(const R of N.addedNodes)R.tagName==="LINK"&&R.rel==="modulepreload"&&d(R)}).observe(document,{childList:!0,subtree:!0});function r(E){const N={};return E.integrity&&(N.integrity=E.integrity),E.referrerPolicy&&(N.referrerPolicy=E.referrerPolicy),E.crossOrigin==="use-credentials"?N.credentials="include":E.crossOrigin==="anonymous"?N.credentials="omit":N.credentials="same-origin",N}function d(E){if(E.ep)return;E.ep=!0;const N=r(E);fetch(E.href,N)}})();/*! -* reveal.js 5.1.0 -* https://revealjs.com -* MIT licensed -* -* Copyright (C) 2011-2024 Hakim El Hattab, https://hakim.se -*/const nn=(H,n)=>{for(let r in n)H[r]=n[r];return H},fe=(H,n)=>Array.from(H.querySelectorAll(n)),$n=(H,n,r)=>{r?H.classList.add(n):H.classList.remove(n)},tn=H=>{if(typeof H=="string"){if(H==="null")return null;if(H==="true")return!0;if(H==="false")return!1;if(H.match(/^-?[\d\.]+$/))return parseFloat(H)}return H},Ft=(H,n)=>{H.style.transform=n},wn=(H,n)=>{let r=H.matches||H.matchesSelector||H.msMatchesSelector;return!(!r||!r.call(H,n))},bt=(H,n)=>{if(typeof H.closest=="function")return H.closest(n);for(;H;){if(wn(H,n))return H;H=H.parentNode}return null},Jl=H=>{let n=(H=H||document.documentElement).requestFullscreen||H.webkitRequestFullscreen||H.webkitRequestFullScreen||H.mozRequestFullScreen||H.msRequestFullscreen;n&&n.apply(H)},Kn=H=>{let n=document.createElement("style");return n.type="text/css",H&&H.length>0&&(n.styleSheet?n.styleSheet.cssText=H:n.appendChild(document.createTextNode(H))),document.head.appendChild(n),n},$l=()=>{let H={};location.search.replace(/[A-Z0-9]+?=([\w\.%-]*)/gi,n=>{H[n.split("=").shift()]=n.split("=").pop()});for(let n in H){let r=H[n];H[n]=tn(unescape(r))}return H.dependencies!==void 0&&delete H.dependencies,H},gc={mp4:"video/mp4",m4a:"video/mp4",ogv:"video/ogg",mpeg:"video/mpeg",webm:"video/webm"},ec=navigator.userAgent,an=/(iphone|ipod|ipad|android)/gi.test(ec)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1,tc=/android/gi.test(ec);var Ec=function(H){if(H){var n=function(F){return[].slice.call(F)},r=3,d=[],E=null,N="requestAnimationFrame"in H?function(){H.cancelAnimationFrame(E),E=H.requestAnimationFrame(function(){return k(d.filter(function(F){return F.dirty&&F.active}))})}:function(){},R=function(F){return function(){d.forEach(function(Ce){return Ce.dirty=F}),N()}},k=function(F){F.filter(function(P){return!P.styleComputed}).forEach(function(P){P.styleComputed=X(P)}),F.filter(ee).forEach(de);var Ce=F.filter(G);Ce.forEach(re),Ce.forEach(function(P){de(P),v(P)}),Ce.forEach(te)},v=function(F){return F.dirty=0},re=function(F){F.availableWidth=F.element.parentNode.clientWidth,F.currentWidth=F.element.scrollWidth,F.previousFontSize=F.currentFontSize,F.currentFontSize=Math.min(Math.max(F.minSize,F.availableWidth/F.currentWidth*F.previousFontSize),F.maxSize),F.whiteSpace=F.multiLine&&F.currentFontSize===F.minSize?"normal":"nowrap"},G=function(F){return F.dirty!==2||F.dirty===2&&F.element.parentNode.clientWidth!==F.availableWidth},X=function(F){var Ce=H.getComputedStyle(F.element,null);return F.currentFontSize=parseFloat(Ce.getPropertyValue("font-size")),F.display=Ce.getPropertyValue("display"),F.whiteSpace=Ce.getPropertyValue("white-space"),!0},ee=function(F){var Ce=!1;return!F.preStyleTestCompleted&&(/inline-/.test(F.display)||(Ce=!0,F.display="inline-block"),F.whiteSpace!=="nowrap"&&(Ce=!0,F.whiteSpace="nowrap"),F.preStyleTestCompleted=!0,Ce)},de=function(F){F.element.style.whiteSpace=F.whiteSpace,F.element.style.display=F.display,F.element.style.fontSize=F.currentFontSize+"px"},te=function(F){F.element.dispatchEvent(new CustomEvent("fit",{detail:{oldValue:F.previousFontSize,newValue:F.currentFontSize,scaleFactor:F.currentFontSize/F.previousFontSize}}))},I=function(F,Ce){return function(){F.dirty=Ce,F.active&&N()}},Ze=function(F){return function(){d=d.filter(function(Ce){return Ce.element!==F.element}),F.observeMutations&&F.observer.disconnect(),F.element.style.whiteSpace=F.originalStyle.whiteSpace,F.element.style.display=F.originalStyle.display,F.element.style.fontSize=F.originalStyle.fontSize}},Be=function(F){return function(){F.active||(F.active=!0,N())}},Ve=function(F){return function(){return F.active=!1}},Tt=function(F){F.observeMutations&&(F.observer=new MutationObserver(I(F,1)),F.observer.observe(F.element,F.observeMutations))},Xe={minSize:16,maxSize:512,multiLine:!0,observeMutations:"MutationObserver"in H&&{subtree:!0,childList:!0,characterData:!0}},ye=null,Me=function(){H.clearTimeout(ye),ye=H.setTimeout(R(2),Oe.observeWindowDelay)},Je=["resize","orientationchange"];return Object.defineProperty(Oe,"observeWindow",{set:function(F){var Ce="".concat(F?"add":"remove","EventListener");Je.forEach(function(P){H[Ce](P,Me)})}}),Oe.observeWindow=!0,Oe.observeWindowDelay=100,Oe.fitAll=R(r),Oe}function qe(F,Ce){var P=Object.assign({},Xe,Ce),w=F.map(function(tt){var et=Object.assign({},P,{element:tt,active:!0});return function(xe){xe.originalStyle={whiteSpace:xe.element.style.whiteSpace,display:xe.element.style.display,fontSize:xe.element.style.fontSize},Tt(xe),xe.newbie=!0,xe.dirty=!0,d.push(xe)}(et),{element:tt,fit:I(et,r),unfreeze:Be(et),freeze:Ve(et),unsubscribe:Ze(et)}});return N(),w}function Oe(F){var Ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return typeof F=="string"?qe(n(document.querySelectorAll(F)),Ce):qe([F],Ce)[0]}}(typeof window>"u"?null:window);class Sc{constructor(n){this.Reveal=n,this.startEmbeddedIframe=this.startEmbeddedIframe.bind(this)}shouldPreload(n){if(this.Reveal.isScrollView())return!0;let r=this.Reveal.getConfig().preloadIframes;return typeof r!="boolean"&&(r=n.hasAttribute("data-preload")),r}load(n,r={}){n.style.display=this.Reveal.getConfig().display,fe(n,"img[data-src], video[data-src], audio[data-src], iframe[data-src]").forEach(E=>{(E.tagName!=="IFRAME"||this.shouldPreload(E))&&(E.setAttribute("src",E.getAttribute("data-src")),E.setAttribute("data-lazy-loaded",""),E.removeAttribute("data-src"))}),fe(n,"video, audio").forEach(E=>{let N=0;fe(E,"source[data-src]").forEach(R=>{R.setAttribute("src",R.getAttribute("data-src")),R.removeAttribute("data-src"),R.setAttribute("data-lazy-loaded",""),N+=1}),an&&E.tagName==="VIDEO"&&E.setAttribute("playsinline",""),N>0&&E.load()});let d=n.slideBackgroundElement;if(d){d.style.display="block";let E=n.slideBackgroundContentElement,N=n.getAttribute("data-background-iframe");if(d.hasAttribute("data-loaded")===!1){d.setAttribute("data-loaded","true");let k=n.getAttribute("data-background-image"),v=n.getAttribute("data-background-video"),re=n.hasAttribute("data-background-video-loop"),G=n.hasAttribute("data-background-video-muted");if(k)/^data:/.test(k.trim())?E.style.backgroundImage=`url(${k.trim()})`:E.style.backgroundImage=k.split(",").map(X=>`url(${((ee="")=>encodeURI(ee).replace(/%5B/g,"[").replace(/%5D/g,"]").replace(/[!'()*]/g,de=>`%${de.charCodeAt(0).toString(16).toUpperCase()}`))(decodeURI(X.trim()))})`).join(",");else if(v&&!this.Reveal.isSpeakerNotes()){let X=document.createElement("video");re&&X.setAttribute("loop",""),G&&(X.muted=!0),an&&(X.muted=!0,X.setAttribute("playsinline","")),v.split(",").forEach(ee=>{const de=document.createElement("source");de.setAttribute("src",ee);let te=((I="")=>gc[I.split(".").pop()])(ee);te&&de.setAttribute("type",te),X.appendChild(de)}),E.appendChild(X)}else if(N&&r.excludeIframes!==!0){let X=document.createElement("iframe");X.setAttribute("allowfullscreen",""),X.setAttribute("mozallowfullscreen",""),X.setAttribute("webkitallowfullscreen",""),X.setAttribute("allow","autoplay"),X.setAttribute("data-src",N),X.style.width="100%",X.style.height="100%",X.style.maxHeight="100%",X.style.maxWidth="100%",E.appendChild(X)}}let R=E.querySelector("iframe[data-src]");R&&this.shouldPreload(d)&&!/autoplay=(1|true|yes)/gi.test(N)&&R.getAttribute("src")!==N&&R.setAttribute("src",N)}this.layout(n)}layout(n){Array.from(n.querySelectorAll(".r-fit-text")).forEach(r=>{Ec(r,{minSize:24,maxSize:.8*this.Reveal.getConfig().height,observeMutations:!1,observeWindow:!1})})}unload(n){n.style.display="none";let r=this.Reveal.getSlideBackground(n);r&&(r.style.display="none",fe(r,"iframe[src]").forEach(d=>{d.removeAttribute("src")})),fe(n,"video[data-lazy-loaded][src], audio[data-lazy-loaded][src], iframe[data-lazy-loaded][src]").forEach(d=>{d.setAttribute("data-src",d.getAttribute("src")),d.removeAttribute("src")}),fe(n,"video[data-lazy-loaded] source[src], audio source[src]").forEach(d=>{d.setAttribute("data-src",d.getAttribute("src")),d.removeAttribute("src")})}formatEmbeddedContent(){let n=(r,d,E)=>{fe(this.Reveal.getSlidesElement(),"iframe["+r+'*="'+d+'"]').forEach(N=>{let R=N.getAttribute(r);R&&R.indexOf(E)===-1&&N.setAttribute(r,R+(/\?/.test(R)?"&":"?")+E)})};n("src","youtube.com/embed/","enablejsapi=1"),n("data-src","youtube.com/embed/","enablejsapi=1"),n("src","player.vimeo.com/","api=1"),n("data-src","player.vimeo.com/","api=1")}startEmbeddedContent(n){n&&!this.Reveal.isSpeakerNotes()&&(fe(n,'img[src$=".gif"]').forEach(r=>{r.setAttribute("src",r.getAttribute("src"))}),fe(n,"video, audio").forEach(r=>{if(bt(r,".fragment")&&!bt(r,".fragment.visible"))return;let d=this.Reveal.getConfig().autoPlayMedia;if(typeof d!="boolean"&&(d=r.hasAttribute("data-autoplay")||!!bt(r,".slide-background")),d&&typeof r.play=="function")if(r.readyState>1)this.startEmbeddedMedia({target:r});else if(an){let E=r.play();E&&typeof E.catch=="function"&&r.controls===!1&&E.catch(()=>{r.controls=!0,r.addEventListener("play",()=>{r.controls=!1})})}else r.removeEventListener("loadeddata",this.startEmbeddedMedia),r.addEventListener("loadeddata",this.startEmbeddedMedia)}),fe(n,"iframe[src]").forEach(r=>{bt(r,".fragment")&&!bt(r,".fragment.visible")||this.startEmbeddedIframe({target:r})}),fe(n,"iframe[data-src]").forEach(r=>{bt(r,".fragment")&&!bt(r,".fragment.visible")||r.getAttribute("src")!==r.getAttribute("data-src")&&(r.removeEventListener("load",this.startEmbeddedIframe),r.addEventListener("load",this.startEmbeddedIframe),r.setAttribute("src",r.getAttribute("data-src")))}))}startEmbeddedMedia(n){let r=!!bt(n.target,"html"),d=!!bt(n.target,".present");r&&d&&(n.target.paused||n.target.ended)&&(n.target.currentTime=0,n.target.play()),n.target.removeEventListener("loadeddata",this.startEmbeddedMedia)}startEmbeddedIframe(n){let r=n.target;if(r&&r.contentWindow){let d=!!bt(n.target,"html"),E=!!bt(n.target,".present");if(d&&E){let N=this.Reveal.getConfig().autoPlayMedia;typeof N!="boolean"&&(N=r.hasAttribute("data-autoplay")||!!bt(r,".slide-background")),/youtube\.com\/embed\//.test(r.getAttribute("src"))&&N?r.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*"):/player\.vimeo\.com\//.test(r.getAttribute("src"))&&N?r.contentWindow.postMessage('{"method":"play"}',"*"):r.contentWindow.postMessage("slide:start","*")}}}stopEmbeddedContent(n,r={}){r=nn({unloadIframes:!0},r),n&&n.parentNode&&(fe(n,"video, audio").forEach(d=>{d.hasAttribute("data-ignore")||typeof d.pause!="function"||(d.setAttribute("data-paused-by-reveal",""),d.pause())}),fe(n,"iframe").forEach(d=>{d.contentWindow&&d.contentWindow.postMessage("slide:stop","*"),d.removeEventListener("load",this.startEmbeddedIframe)}),fe(n,'iframe[src*="youtube.com/embed/"]').forEach(d=>{!d.hasAttribute("data-ignore")&&d.contentWindow&&typeof d.contentWindow.postMessage=="function"&&d.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*")}),fe(n,'iframe[src*="player.vimeo.com/"]').forEach(d=>{!d.hasAttribute("data-ignore")&&d.contentWindow&&typeof d.contentWindow.postMessage=="function"&&d.contentWindow.postMessage('{"method":"pause"}',"*")}),r.unloadIframes===!0&&fe(n,"iframe[data-src]").forEach(d=>{d.setAttribute("src","about:blank"),d.removeAttribute("src")}))}}const Wt=".slides section",Pt=".slides>section",Wl=".slides>section.present>section",hc=/registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener|showPreview/,Ql=/fade-(down|up|right|left|out|in-then-out|in-then-semi-out)|semi-fade-out|current-visible|shrink|grow/;class bc{constructor(n){this.Reveal=n}render(){this.element=document.createElement("div"),this.element.className="slide-number",this.Reveal.getRevealElement().appendChild(this.element)}configure(n,r){let d="none";n.slideNumber&&!this.Reveal.isPrintView()&&(n.showSlideNumber==="all"||n.showSlideNumber==="speaker"&&this.Reveal.isSpeakerNotes())&&(d="block"),this.element.style.display=d}update(){this.Reveal.getConfig().slideNumber&&this.element&&(this.element.innerHTML=this.getSlideNumber())}getSlideNumber(n=this.Reveal.getCurrentSlide()){let r,d=this.Reveal.getConfig(),E="h.v";if(typeof d.slideNumber=="function")r=d.slideNumber(n);else{typeof d.slideNumber=="string"&&(E=d.slideNumber),/c/.test(E)||this.Reveal.getHorizontalSlides().length!==1||(E="c");let R=n&&n.dataset.visibility==="uncounted"?0:1;switch(r=[],E){case"c":r.push(this.Reveal.getSlidePastCount(n)+R);break;case"c/t":r.push(this.Reveal.getSlidePastCount(n)+R,"/",this.Reveal.getTotalSlides());break;default:let k=this.Reveal.getIndices(n);r.push(k.h+R);let v=E==="h/v"?"/":".";this.Reveal.isVerticalSlide(n)&&r.push(v,k.v+1)}}let N="#"+this.Reveal.location.getHash(n);return this.formatNumber(r[0],r[1],r[2],N)}formatNumber(n,r,d,E="#"+this.Reveal.location.getHash()){return typeof d!="number"||isNaN(d)?` - ${n} - `:` - ${n} - ${r} - ${d} - `}destroy(){this.element.remove()}}class fc{constructor(n){this.Reveal=n,this.onInput=this.onInput.bind(this),this.onBlur=this.onBlur.bind(this),this.onKeyDown=this.onKeyDown.bind(this)}render(){this.element=document.createElement("div"),this.element.className="jump-to-slide",this.jumpInput=document.createElement("input"),this.jumpInput.type="text",this.jumpInput.className="jump-to-slide-input",this.jumpInput.placeholder="Jump to slide",this.jumpInput.addEventListener("input",this.onInput),this.jumpInput.addEventListener("keydown",this.onKeyDown),this.jumpInput.addEventListener("blur",this.onBlur),this.element.appendChild(this.jumpInput)}show(){this.indicesOnShow=this.Reveal.getIndices(),this.Reveal.getRevealElement().appendChild(this.element),this.jumpInput.focus()}hide(){this.isVisible()&&(this.element.remove(),this.jumpInput.value="",clearTimeout(this.jumpTimeout),delete this.jumpTimeout)}isVisible(){return!!this.element.parentNode}jump(){clearTimeout(this.jumpTimeout),delete this.jumpTimeout;let n,r=this.jumpInput.value.trim("");if(/^\d+$/.test(r)){const d=this.Reveal.getConfig().slideNumber;if(d==="c"||d==="c/t"){const E=this.Reveal.getSlides()[parseInt(r,10)-1];E&&(n=this.Reveal.getIndices(E))}}return n||(/^\d+\.\d+$/.test(r)&&(r=r.replace(".","/")),n=this.Reveal.location.getIndicesFromHash(r,{oneBasedIndex:!0})),!n&&/\S+/i.test(r)&&r.length>1&&(n=this.search(r)),n&&r!==""?(this.Reveal.slide(n.h,n.v,n.f),!0):(this.Reveal.slide(this.indicesOnShow.h,this.indicesOnShow.v,this.indicesOnShow.f),!1)}jumpAfter(n){clearTimeout(this.jumpTimeout),this.jumpTimeout=setTimeout(()=>this.jump(),n)}search(n){const r=new RegExp("\\b"+n.trim()+"\\b","i"),d=this.Reveal.getSlides().find(E=>r.test(E.innerText));return d?this.Reveal.getIndices(d):null}cancel(){this.Reveal.slide(this.indicesOnShow.h,this.indicesOnShow.v,this.indicesOnShow.f),this.hide()}confirm(){this.jump(),this.hide()}destroy(){this.jumpInput.removeEventListener("input",this.onInput),this.jumpInput.removeEventListener("keydown",this.onKeyDown),this.jumpInput.removeEventListener("blur",this.onBlur),this.element.remove()}onKeyDown(n){n.keyCode===13?this.confirm():n.keyCode===27&&(this.cancel(),n.stopImmediatePropagation())}onInput(n){this.jumpAfter(200)}onBlur(){setTimeout(()=>this.hide(),1)}}const Wn=H=>{let n=H.match(/^#([0-9a-f]{3})$/i);if(n&&n[1])return n=n[1],{r:17*parseInt(n.charAt(0),16),g:17*parseInt(n.charAt(1),16),b:17*parseInt(n.charAt(2),16)};let r=H.match(/^#([0-9a-f]{6})$/i);if(r&&r[1])return r=r[1],{r:parseInt(r.slice(0,2),16),g:parseInt(r.slice(2,4),16),b:parseInt(r.slice(4,6),16)};let d=H.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i);if(d)return{r:parseInt(d[1],10),g:parseInt(d[2],10),b:parseInt(d[3],10)};let E=H.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\,\s*([\d]+|[\d]*.[\d]+)\s*\)$/i);return E?{r:parseInt(E[1],10),g:parseInt(E[2],10),b:parseInt(E[3],10),a:parseFloat(E[4])}:null};class Tc{constructor(n){this.Reveal=n}render(){this.element=document.createElement("div"),this.element.className="backgrounds",this.Reveal.getRevealElement().appendChild(this.element)}create(){this.element.innerHTML="",this.element.classList.add("no-transition"),this.Reveal.getHorizontalSlides().forEach(n=>{let r=this.createBackground(n,this.element);fe(n,"section").forEach(d=>{this.createBackground(d,r),r.classList.add("stack")})}),this.Reveal.getConfig().parallaxBackgroundImage?(this.element.style.backgroundImage='url("'+this.Reveal.getConfig().parallaxBackgroundImage+'")',this.element.style.backgroundSize=this.Reveal.getConfig().parallaxBackgroundSize,this.element.style.backgroundRepeat=this.Reveal.getConfig().parallaxBackgroundRepeat,this.element.style.backgroundPosition=this.Reveal.getConfig().parallaxBackgroundPosition,setTimeout(()=>{this.Reveal.getRevealElement().classList.add("has-parallax-background")},1)):(this.element.style.backgroundImage="",this.Reveal.getRevealElement().classList.remove("has-parallax-background"))}createBackground(n,r){let d=document.createElement("div");d.className="slide-background "+n.className.replace(/present|past|future/,"");let E=document.createElement("div");return E.className="slide-background-content",d.appendChild(E),r.appendChild(d),n.slideBackgroundElement=d,n.slideBackgroundContentElement=E,this.sync(n),d}sync(n){const r=n.slideBackgroundElement,d=n.slideBackgroundContentElement,E={background:n.getAttribute("data-background"),backgroundSize:n.getAttribute("data-background-size"),backgroundImage:n.getAttribute("data-background-image"),backgroundVideo:n.getAttribute("data-background-video"),backgroundIframe:n.getAttribute("data-background-iframe"),backgroundColor:n.getAttribute("data-background-color"),backgroundGradient:n.getAttribute("data-background-gradient"),backgroundRepeat:n.getAttribute("data-background-repeat"),backgroundPosition:n.getAttribute("data-background-position"),backgroundTransition:n.getAttribute("data-background-transition"),backgroundOpacity:n.getAttribute("data-background-opacity")},N=n.hasAttribute("data-preload");n.classList.remove("has-dark-background"),n.classList.remove("has-light-background"),r.removeAttribute("data-loaded"),r.removeAttribute("data-background-hash"),r.removeAttribute("data-background-size"),r.removeAttribute("data-background-transition"),r.style.backgroundColor="",d.style.backgroundSize="",d.style.backgroundRepeat="",d.style.backgroundPosition="",d.style.backgroundImage="",d.style.opacity="",d.innerHTML="",E.background&&(/^(http|file|\/\/)/gi.test(E.background)||/\.(svg|png|jpg|jpeg|gif|bmp|webp)([?#\s]|$)/gi.test(E.background)?n.setAttribute("data-background-image",E.background):r.style.background=E.background),(E.background||E.backgroundColor||E.backgroundGradient||E.backgroundImage||E.backgroundVideo||E.backgroundIframe)&&r.setAttribute("data-background-hash",E.background+E.backgroundSize+E.backgroundImage+E.backgroundVideo+E.backgroundIframe+E.backgroundColor+E.backgroundGradient+E.backgroundRepeat+E.backgroundPosition+E.backgroundTransition+E.backgroundOpacity),E.backgroundSize&&r.setAttribute("data-background-size",E.backgroundSize),E.backgroundColor&&(r.style.backgroundColor=E.backgroundColor),E.backgroundGradient&&(r.style.backgroundImage=E.backgroundGradient),E.backgroundTransition&&r.setAttribute("data-background-transition",E.backgroundTransition),N&&r.setAttribute("data-preload",""),E.backgroundSize&&(d.style.backgroundSize=E.backgroundSize),E.backgroundRepeat&&(d.style.backgroundRepeat=E.backgroundRepeat),E.backgroundPosition&&(d.style.backgroundPosition=E.backgroundPosition),E.backgroundOpacity&&(d.style.opacity=E.backgroundOpacity);const R=this.getContrastClass(n);typeof R=="string"&&n.classList.add(R)}getContrastClass(n){const r=n.slideBackgroundElement;let d=n.getAttribute("data-background-color");if(!d||!Wn(d)){let N=window.getComputedStyle(r);N&&N.backgroundColor&&(d=N.backgroundColor)}if(d){const N=Wn(d);if(N&&N.a!==0)return typeof(E=d)=="string"&&(E=Wn(E)),(E?(299*E.r+587*E.g+114*E.b)/1e3:null)<128?"has-dark-background":"has-light-background"}var E;return null}bubbleSlideContrastClassToElement(n,r){["has-light-background","has-dark-background"].forEach(d=>{n.classList.contains(d)?r.classList.add(d):r.classList.remove(d)},this)}update(n=!1){let r=this.Reveal.getConfig(),d=this.Reveal.getCurrentSlide(),E=this.Reveal.getIndices(),N=null,R=r.rtl?"future":"past",k=r.rtl?"past":"future";if(Array.from(this.element.childNodes).forEach((v,re)=>{v.classList.remove("past","present","future"),reE.h?v.classList.add(k):(v.classList.add("present"),N=v),(n||re===E.h)&&fe(v,".slide-background").forEach((G,X)=>{G.classList.remove("past","present","future");const ee=typeof E.v=="number"?E.v:0;Xee?G.classList.add("future"):(G.classList.add("present"),re===E.h&&(N=G))})}),this.previousBackground&&!this.previousBackground.closest("body")&&(this.previousBackground=null),N&&this.previousBackground){let v=this.previousBackground.getAttribute("data-background-hash"),re=N.getAttribute("data-background-hash");if(re&&re===v&&N!==this.previousBackground){this.element.classList.add("no-transition");const G=N.querySelector("video"),X=this.previousBackground.querySelector("video");if(G&&X){const ee=G.parentNode;X.parentNode.appendChild(G),ee.appendChild(X)}}}if(this.previousBackground&&this.Reveal.slideContent.stopEmbeddedContent(this.previousBackground,{unloadIframes:!this.Reveal.slideContent.shouldPreload(this.previousBackground)}),N){this.Reveal.slideContent.startEmbeddedContent(N);let v=N.querySelector(".slide-background-content");if(v){let re=v.style.backgroundImage||"";/\.gif/i.test(re)&&(v.style.backgroundImage="",window.getComputedStyle(v).opacity,v.style.backgroundImage=re)}this.previousBackground=N}d&&this.bubbleSlideContrastClassToElement(d,this.Reveal.getRevealElement()),setTimeout(()=>{this.element.classList.remove("no-transition")},10)}updateParallax(){let n=this.Reveal.getIndices();if(this.Reveal.getConfig().parallaxBackgroundImage){let r,d,E=this.Reveal.getHorizontalSlides(),N=this.Reveal.getVerticalSlides(),R=this.element.style.backgroundSize.split(" ");R.length===1?r=d=parseInt(R[0],10):(r=parseInt(R[0],10),d=parseInt(R[1],10));let k,v,re=this.element.offsetWidth,G=E.length;k=typeof this.Reveal.getConfig().parallaxBackgroundHorizontal=="number"?this.Reveal.getConfig().parallaxBackgroundHorizontal:G>1?(r-re)/(G-1):0,v=k*n.h*-1;let X,ee,de=this.element.offsetHeight,te=N.length;X=typeof this.Reveal.getConfig().parallaxBackgroundVertical=="number"?this.Reveal.getConfig().parallaxBackgroundVertical:(d-de)/(te-1),ee=te>0?X*n.v:0,this.element.style.backgroundPosition=v+"px "+-ee+"px"}}destroy(){this.element.remove()}}let Kl=0;class vc{constructor(n){this.Reveal=n}run(n,r){this.reset();let d=this.Reveal.getSlides(),E=d.indexOf(r),N=d.indexOf(n);if(n&&r&&n.hasAttribute("data-auto-animate")&&r.hasAttribute("data-auto-animate")&&n.getAttribute("data-auto-animate-id")===r.getAttribute("data-auto-animate-id")&&!(E>N?r:n).hasAttribute("data-auto-animate-restart")){this.autoAnimateStyleSheet=this.autoAnimateStyleSheet||Kn();let R=this.getAutoAnimateOptions(r);n.dataset.autoAnimate="pending",r.dataset.autoAnimate="pending",R.slideDirection=E>N?"forward":"backward";let k=n.style.display==="none";k&&(n.style.display=this.Reveal.getConfig().display);let v=this.getAutoAnimatableElements(n,r).map(re=>this.autoAnimateElements(re.from,re.to,re.options||{},R,Kl++));if(k&&(n.style.display="none"),r.dataset.autoAnimateUnmatched!=="false"&&this.Reveal.getConfig().autoAnimateUnmatched===!0){let re=.8*R.duration,G=.2*R.duration;this.getUnmatchedAutoAnimateElements(r).forEach(X=>{let ee=this.getAutoAnimateOptions(X,R),de="unmatched";ee.duration===R.duration&&ee.delay===R.delay||(de="unmatched-"+Kl++,v.push(`[data-auto-animate="running"] [data-auto-animate-target="${de}"] { transition: opacity ${ee.duration}s ease ${ee.delay}s; }`)),X.dataset.autoAnimateTarget=de},this),v.push(`[data-auto-animate="running"] [data-auto-animate-target="unmatched"] { transition: opacity ${re}s ease ${G}s; }`)}this.autoAnimateStyleSheet.innerHTML=v.join(""),requestAnimationFrame(()=>{this.autoAnimateStyleSheet&&(getComputedStyle(this.autoAnimateStyleSheet).fontWeight,r.dataset.autoAnimate="running")}),this.Reveal.dispatchEvent({type:"autoanimate",data:{fromSlide:n,toSlide:r,sheet:this.autoAnimateStyleSheet}})}}reset(){fe(this.Reveal.getRevealElement(),'[data-auto-animate]:not([data-auto-animate=""])').forEach(n=>{n.dataset.autoAnimate=""}),fe(this.Reveal.getRevealElement(),"[data-auto-animate-target]").forEach(n=>{delete n.dataset.autoAnimateTarget}),this.autoAnimateStyleSheet&&this.autoAnimateStyleSheet.parentNode&&(this.autoAnimateStyleSheet.parentNode.removeChild(this.autoAnimateStyleSheet),this.autoAnimateStyleSheet=null)}autoAnimateElements(n,r,d,E,N){n.dataset.autoAnimateTarget="",r.dataset.autoAnimateTarget=N;let R=this.getAutoAnimateOptions(r,E);d.delay!==void 0&&(R.delay=d.delay),d.duration!==void 0&&(R.duration=d.duration),d.easing!==void 0&&(R.easing=d.easing);let k=this.getAutoAnimatableProperties("from",n,d),v=this.getAutoAnimatableProperties("to",r,d);if(r.classList.contains("fragment")&&(delete v.styles.opacity,n.classList.contains("fragment"))&&(n.className.match(Ql)||[""])[0]===(r.className.match(Ql)||[""])[0]&&E.slideDirection==="forward"&&r.classList.add("visible","disabled"),d.translate!==!1||d.scale!==!1){let X=this.Reveal.getScale(),ee={x:(k.x-v.x)/X,y:(k.y-v.y)/X,scaleX:k.width/v.width,scaleY:k.height/v.height};ee.x=Math.round(1e3*ee.x)/1e3,ee.y=Math.round(1e3*ee.y)/1e3,ee.scaleX=Math.round(1e3*ee.scaleX)/1e3,ee.scaleX=Math.round(1e3*ee.scaleX)/1e3;let de=d.translate!==!1&&(ee.x!==0||ee.y!==0),te=d.scale!==!1&&(ee.scaleX!==0||ee.scaleY!==0);if(de||te){let I=[];de&&I.push(`translate(${ee.x}px, ${ee.y}px)`),te&&I.push(`scale(${ee.scaleX}, ${ee.scaleY})`),k.styles.transform=I.join(" "),k.styles["transform-origin"]="top left",v.styles.transform="none"}}for(let X in v.styles){const ee=v.styles[X],de=k.styles[X];ee===de?delete v.styles[X]:(ee.explicitValue===!0&&(v.styles[X]=ee.value),de.explicitValue===!0&&(k.styles[X]=de.value))}let re="",G=Object.keys(v.styles);return G.length>0&&(k.styles.transition="none",v.styles.transition=`all ${R.duration}s ${R.easing} ${R.delay}s`,v.styles["transition-property"]=G.join(", "),v.styles["will-change"]=G.join(", "),re='[data-auto-animate-target="'+N+'"] {'+Object.keys(k.styles).map(X=>X+": "+k.styles[X]+" !important;").join("")+'}[data-auto-animate="running"] [data-auto-animate-target="'+N+'"] {'+Object.keys(v.styles).map(X=>X+": "+v.styles[X]+" !important;").join("")+"}"),re}getAutoAnimateOptions(n,r){let d={easing:this.Reveal.getConfig().autoAnimateEasing,duration:this.Reveal.getConfig().autoAnimateDuration,delay:0};if(d=nn(d,r),n.parentNode){let E=bt(n.parentNode,"[data-auto-animate-target]");E&&(d=this.getAutoAnimateOptions(E,d))}return n.dataset.autoAnimateEasing&&(d.easing=n.dataset.autoAnimateEasing),n.dataset.autoAnimateDuration&&(d.duration=parseFloat(n.dataset.autoAnimateDuration)),n.dataset.autoAnimateDelay&&(d.delay=parseFloat(n.dataset.autoAnimateDelay)),d}getAutoAnimatableProperties(n,r,d){let E=this.Reveal.getConfig(),N={styles:[]};if(d.translate!==!1||d.scale!==!1){let k;if(typeof d.measure=="function")k=d.measure(r);else if(E.center)k=r.getBoundingClientRect();else{let v=this.Reveal.getScale();k={x:r.offsetLeft*v,y:r.offsetTop*v,width:r.offsetWidth*v,height:r.offsetHeight*v}}N.x=k.x,N.y=k.y,N.width=k.width,N.height=k.height}const R=getComputedStyle(r);return(d.styles||E.autoAnimateStyles).forEach(k=>{let v;typeof k=="string"&&(k={property:k}),k.from!==void 0&&n==="from"?v={value:k.from,explicitValue:!0}:k.to!==void 0&&n==="to"?v={value:k.to,explicitValue:!0}:(k.property==="line-height"&&(v=parseFloat(R["line-height"])/parseFloat(R["font-size"])),isNaN(v)&&(v=R[k.property])),v!==""&&(N.styles[k.property]=v)}),N}getAutoAnimatableElements(n,r){let d=(typeof this.Reveal.getConfig().autoAnimateMatcher=="function"?this.Reveal.getConfig().autoAnimateMatcher:this.getAutoAnimatePairs).call(this,n,r),E=[];return d.filter((N,R)=>{if(E.indexOf(N.to)===-1)return E.push(N.to),!0})}getAutoAnimatePairs(n,r){let d=[];const E="h1, h2, h3, h4, h5, h6, p, li";return this.findAutoAnimateMatches(d,n,r,"[data-id]",N=>N.nodeName+":::"+N.getAttribute("data-id")),this.findAutoAnimateMatches(d,n,r,E,N=>N.nodeName+":::"+N.innerText),this.findAutoAnimateMatches(d,n,r,"img, video, iframe",N=>N.nodeName+":::"+(N.getAttribute("src")||N.getAttribute("data-src"))),this.findAutoAnimateMatches(d,n,r,"pre",N=>N.nodeName+":::"+N.innerText),d.forEach(N=>{wn(N.from,E)?N.options={scale:!1}:wn(N.from,"pre")&&(N.options={scale:!1,styles:["width","height"]},this.findAutoAnimateMatches(d,N.from,N.to,".hljs .hljs-ln-code",R=>R.textContent,{scale:!1,styles:[],measure:this.getLocalBoundingBox.bind(this)}),this.findAutoAnimateMatches(d,N.from,N.to,".hljs .hljs-ln-numbers[data-line-number]",R=>R.getAttribute("data-line-number"),{scale:!1,styles:["width"],measure:this.getLocalBoundingBox.bind(this)}))},this),d}getLocalBoundingBox(n){const r=this.Reveal.getScale();return{x:Math.round(n.offsetLeft*r*100)/100,y:Math.round(n.offsetTop*r*100)/100,width:Math.round(n.offsetWidth*r*100)/100,height:Math.round(n.offsetHeight*r*100)/100}}findAutoAnimateMatches(n,r,d,E,N,R){let k={},v={};[].slice.call(r.querySelectorAll(E)).forEach((re,G)=>{const X=N(re);typeof X=="string"&&X.length&&(k[X]=k[X]||[],k[X].push(re))}),[].slice.call(d.querySelectorAll(E)).forEach((re,G)=>{const X=N(re);let ee;if(v[X]=v[X]||[],v[X].push(re),k[X]){const de=v[X].length-1,te=k[X].length-1;k[X][de]?(ee=k[X][de],k[X][de]=null):k[X][te]&&(ee=k[X][te],k[X][te]=null)}ee&&n.push({from:ee,to:re,options:R})})}getUnmatchedAutoAnimateElements(n){return[].slice.call(n.children).reduce((r,d)=>{const E=d.querySelector("[data-auto-animate-target]");return d.hasAttribute("data-auto-animate-target")||E||r.push(d),d.querySelector("[data-auto-animate-target]")&&(r=r.concat(this.getUnmatchedAutoAnimateElements(d))),r},[])}}class Cc{constructor(n){this.Reveal=n,this.active=!1,this.activatedCallbacks=[],this.onScroll=this.onScroll.bind(this)}activate(){if(this.active)return;const n=this.Reveal.getState();this.active=!0,this.slideHTMLBeforeActivation=this.Reveal.getSlidesElement().innerHTML;const r=fe(this.Reveal.getRevealElement(),Pt),d=fe(this.Reveal.getRevealElement(),".backgrounds>.slide-background");let E;this.viewportElement.classList.add("loading-scroll-mode","reveal-scroll");const N=window.getComputedStyle(this.viewportElement);N&&N.background&&(E=N.background);const R=[],k=r[0].parentNode;let v;const re=(G,X,ee,de)=>{let te;if(v&&this.Reveal.shouldAutoAnimateBetween(v,G))te=document.createElement("div"),te.className="scroll-page-content scroll-auto-animate-page",te.style.display="none",v.closest(".scroll-page-content").parentNode.appendChild(te);else{const I=document.createElement("div");if(I.className="scroll-page",R.push(I),de&&d.length>X){const Be=d[X],Ve=window.getComputedStyle(Be);Ve&&Ve.background?I.style.background=Ve.background:E&&(I.style.background=E)}else E&&(I.style.background=E);const Ze=document.createElement("div");Ze.className="scroll-page-sticky",I.appendChild(Ze),te=document.createElement("div"),te.className="scroll-page-content",Ze.appendChild(te)}te.appendChild(G),G.classList.remove("past","future"),G.setAttribute("data-index-h",X),G.setAttribute("data-index-v",ee),G.slideBackgroundElement&&(G.slideBackgroundElement.remove("past","future"),te.insertBefore(G.slideBackgroundElement,G)),v=G};r.forEach((G,X)=>{this.Reveal.isVerticalStack(G)?G.querySelectorAll("section").forEach((ee,de)=>{re(ee,X,de,!0)}):re(G,X,0)},this),this.createProgressBar(),fe(this.Reveal.getRevealElement(),".stack").forEach(G=>G.remove()),R.forEach(G=>k.appendChild(G)),this.Reveal.slideContent.layout(this.Reveal.getSlidesElement()),this.Reveal.layout(),this.Reveal.setState(n),this.activatedCallbacks.forEach(G=>G()),this.activatedCallbacks=[],this.restoreScrollPosition(),this.viewportElement.classList.remove("loading-scroll-mode"),this.viewportElement.addEventListener("scroll",this.onScroll,{passive:!0})}deactivate(){if(!this.active)return;const n=this.Reveal.getState();this.active=!1,this.viewportElement.removeEventListener("scroll",this.onScroll),this.viewportElement.classList.remove("reveal-scroll"),this.removeProgressBar(),this.Reveal.getSlidesElement().innerHTML=this.slideHTMLBeforeActivation,this.Reveal.sync(),this.Reveal.setState(n),this.slideHTMLBeforeActivation=null}toggle(n){typeof n=="boolean"?n?this.activate():this.deactivate():this.isActive()?this.deactivate():this.activate()}isActive(){return this.active}createProgressBar(){this.progressBar=document.createElement("div"),this.progressBar.className="scrollbar",this.progressBarInner=document.createElement("div"),this.progressBarInner.className="scrollbar-inner",this.progressBar.appendChild(this.progressBarInner),this.progressBarPlayhead=document.createElement("div"),this.progressBarPlayhead.className="scrollbar-playhead",this.progressBarInner.appendChild(this.progressBarPlayhead),this.viewportElement.insertBefore(this.progressBar,this.viewportElement.firstChild);const n=d=>{let E=(d.clientY-this.progressBarInner.getBoundingClientRect().top)/this.progressBarHeight;E=Math.max(Math.min(E,1),0),this.viewportElement.scrollTop=E*(this.viewportElement.scrollHeight-this.viewportElement.offsetHeight)},r=d=>{this.draggingProgressBar=!1,this.showProgressBar(),document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",r)};this.progressBarInner.addEventListener("mousedown",d=>{d.preventDefault(),this.draggingProgressBar=!0,document.addEventListener("mousemove",n),document.addEventListener("mouseup",r),n(d)})}removeProgressBar(){this.progressBar&&(this.progressBar.remove(),this.progressBar=null)}layout(){this.isActive()&&(this.syncPages(),this.syncScrollPosition())}syncPages(){const n=this.Reveal.getConfig(),r=this.Reveal.getComputedSlideSize(window.innerWidth,window.innerHeight),d=this.Reveal.getScale(),E=n.scrollLayout==="compact",N=this.viewportElement.offsetHeight,R=r.height*d,k=E?R:N;this.scrollTriggerHeight=E?R:N,this.viewportElement.style.setProperty("--page-height",k+"px"),this.viewportElement.style.scrollSnapType=typeof n.scrollSnap=="string"?`y ${n.scrollSnap}`:"",this.slideTriggers=[];const v=Array.from(this.Reveal.getRevealElement().querySelectorAll(".scroll-page"));this.pages=v.map(re=>{const G=this.createPage({pageElement:re,slideElement:re.querySelector("section"),stickyElement:re.querySelector(".scroll-page-sticky"),contentElement:re.querySelector(".scroll-page-content"),backgroundElement:re.querySelector(".slide-background"),autoAnimateElements:re.querySelectorAll(".scroll-auto-animate-page"),autoAnimatePages:[]});G.pageElement.style.setProperty("--slide-height",n.center===!0?"auto":r.height+"px"),this.slideTriggers.push({page:G,activate:()=>this.activatePage(G),deactivate:()=>this.deactivatePage(G)}),this.createFragmentTriggersForPage(G),G.autoAnimateElements.length>0&&this.createAutoAnimateTriggersForPage(G);let X=Math.max(G.scrollTriggers.length-1,0);X+=G.autoAnimatePages.reduce((ee,de)=>ee+Math.max(de.scrollTriggers.length-1,0),G.autoAnimatePages.length),G.pageElement.querySelectorAll(".scroll-snap-point").forEach(ee=>ee.remove());for(let ee=0;ee0?(G.pageHeight=N,G.pageElement.style.setProperty("--page-height",N+"px")):(G.pageHeight=k,G.pageElement.style.removeProperty("--page-height")),G.scrollPadding=this.scrollTriggerHeight*X,G.totalHeight=G.pageHeight+G.scrollPadding,G.pageElement.style.setProperty("--page-scroll-padding",G.scrollPadding+"px"),X>0?(G.stickyElement.style.position="sticky",G.stickyElement.style.top=Math.max((N-G.pageHeight)/2,0)+"px"):(G.stickyElement.style.position="relative",G.pageElement.style.scrollSnapAlign=G.pageHeight1?(this.progressBar||this.createProgressBar(),this.syncProgressBar()):this.removeProgressBar()}setTriggerRanges(){this.totalScrollTriggerCount=this.slideTriggers.reduce((r,d)=>r+Math.max(d.page.scrollTriggers.length,1),0);let n=0;this.slideTriggers.forEach((r,d)=>{r.range=[n,n+Math.max(r.page.scrollTriggers.length,1)/this.totalScrollTriggerCount];const E=(r.range[1]-r.range[0])/r.page.scrollTriggers.length;r.page.scrollTriggers.forEach((N,R)=>{N.range=[n+R*E,n+(R+1)*E]}),n=r.range[1]})}createFragmentTriggersForPage(n,r){r=r||n.slideElement;const d=this.Reveal.fragments.sort(r.querySelectorAll(".fragment"),!0);return d.length&&(n.fragments=this.Reveal.fragments.sort(r.querySelectorAll(".fragment:not(.disabled)")),n.scrollTriggers.push({activate:()=>{this.Reveal.fragments.update(-1,n.fragments,r)}}),d.forEach((E,N)=>{n.scrollTriggers.push({activate:()=>{this.Reveal.fragments.update(N,n.fragments,r)}})})),n.scrollTriggers.length}createAutoAnimateTriggersForPage(n){n.autoAnimateElements.length>0&&this.slideTriggers.push(...Array.from(n.autoAnimateElements).map((r,d)=>{let E=this.createPage({slideElement:r.querySelector("section"),contentElement:r,backgroundElement:r.querySelector(".slide-background")});return this.createFragmentTriggersForPage(E,E.slideElement),n.autoAnimatePages.push(E),{page:E,activate:()=>this.activatePage(E),deactivate:()=>this.deactivatePage(E)}}))}createPage(n){return n.scrollTriggers=[],n.indexh=parseInt(n.slideElement.getAttribute("data-index-h"),10),n.indexv=parseInt(n.slideElement.getAttribute("data-index-v"),10),n}syncProgressBar(){this.progressBarInner.querySelectorAll(".scrollbar-slide").forEach(R=>R.remove());const n=this.viewportElement.scrollHeight,r=this.viewportElement.offsetHeight,d=r/n;this.progressBarHeight=this.progressBarInner.offsetHeight,this.playheadHeight=Math.max(d*this.progressBarHeight,8),this.progressBarScrollableHeight=this.progressBarHeight-this.playheadHeight;const E=r/n*this.progressBarHeight,N=Math.min(E/8,4);this.progressBarPlayhead.style.height=this.playheadHeight-N+"px",E>6?this.slideTriggers.forEach(R=>{const{page:k}=R;k.progressBarSlide=document.createElement("div"),k.progressBarSlide.className="scrollbar-slide",k.progressBarSlide.style.top=R.range[0]*this.progressBarHeight+"px",k.progressBarSlide.style.height=(R.range[1]-R.range[0])*this.progressBarHeight-N+"px",k.progressBarSlide.classList.toggle("has-triggers",k.scrollTriggers.length>0),this.progressBarInner.appendChild(k.progressBarSlide),k.scrollTriggerElements=k.scrollTriggers.map((v,re)=>{const G=document.createElement("div");return G.className="scrollbar-trigger",G.style.top=(v.range[0]-R.range[0])*this.progressBarHeight+"px",G.style.height=(v.range[1]-v.range[0])*this.progressBarHeight-N+"px",k.progressBarSlide.appendChild(G),re===0&&(G.style.display="none"),G})}):this.pages.forEach(R=>R.progressBarSlide=null)}syncScrollPosition(){const n=this.viewportElement.offsetHeight,r=n/this.viewportElement.scrollHeight,d=this.viewportElement.scrollTop,E=this.viewportElement.scrollHeight-n,N=Math.max(Math.min(d/E,1),0),R=Math.max(Math.min((d+n/2)/this.viewportElement.scrollHeight,1),0);let k;this.slideTriggers.forEach(v=>{const{page:re}=v;N>=v.range[0]-2*r&&N<=v.range[1]+2*r&&!re.loaded?(re.loaded=!0,this.Reveal.slideContent.load(re.slideElement)):re.loaded&&(re.loaded=!1,this.Reveal.slideContent.unload(re.slideElement)),N>=v.range[0]&&N<=v.range[1]?(this.activateTrigger(v),k=v.page):v.active&&this.deactivateTrigger(v)}),k&&k.scrollTriggers.forEach(v=>{R>=v.range[0]&&R<=v.range[1]?this.activateTrigger(v):v.active&&this.deactivateTrigger(v)}),this.setProgressBarValue(d/(this.viewportElement.scrollHeight-n))}setProgressBarValue(n){this.progressBar&&(this.progressBarPlayhead.style.transform=`translateY(${n*this.progressBarScrollableHeight}px)`,this.getAllPages().filter(r=>r.progressBarSlide).forEach(r=>{r.progressBarSlide.classList.toggle("active",r.active===!0),r.scrollTriggers.forEach((d,E)=>{r.scrollTriggerElements[E].classList.toggle("active",r.active===!0&&d.active===!0)})}),this.showProgressBar())}showProgressBar(){this.progressBar.classList.add("visible"),clearTimeout(this.hideProgressBarTimeout),this.Reveal.getConfig().scrollProgress!=="auto"||this.draggingProgressBar||(this.hideProgressBarTimeout=setTimeout(()=>{this.progressBar&&this.progressBar.classList.remove("visible")},500))}prev(){this.viewportElement.scrollTop-=this.scrollTriggerHeight}next(){this.viewportElement.scrollTop+=this.scrollTriggerHeight}scrollToSlide(n){if(this.active){const r=this.getScrollTriggerBySlide(n);r&&(this.viewportElement.scrollTop=r.range[0]*(this.viewportElement.scrollHeight-this.viewportElement.offsetHeight))}else this.activatedCallbacks.push(()=>this.scrollToSlide(n))}storeScrollPosition(){clearTimeout(this.storeScrollPositionTimeout),this.storeScrollPositionTimeout=setTimeout(()=>{sessionStorage.setItem("reveal-scroll-top",this.viewportElement.scrollTop),sessionStorage.setItem("reveal-scroll-origin",location.origin+location.pathname),this.storeScrollPositionTimeout=null},50)}restoreScrollPosition(){const n=sessionStorage.getItem("reveal-scroll-top"),r=sessionStorage.getItem("reveal-scroll-origin");n&&r===location.origin+location.pathname&&(this.viewportElement.scrollTop=parseInt(n,10))}activatePage(n){if(!n.active){n.active=!0;const{slideElement:r,backgroundElement:d,contentElement:E,indexh:N,indexv:R}=n;E.style.display="block",r.classList.add("present"),d&&d.classList.add("present"),this.Reveal.setCurrentScrollPage(r,N,R),this.Reveal.backgrounds.bubbleSlideContrastClassToElement(r,this.viewportElement),Array.from(E.parentNode.querySelectorAll(".scroll-page-content")).forEach(k=>{k!==E&&(k.style.display="none")})}}deactivatePage(n){n.active&&(n.active=!1,n.slideElement&&n.slideElement.classList.remove("present"),n.backgroundElement&&n.backgroundElement.classList.remove("present"))}activateTrigger(n){n.active||(n.active=!0,n.activate())}deactivateTrigger(n){n.active&&(n.active=!1,n.deactivate&&n.deactivate())}getSlideByIndices(n,r){const d=this.getAllPages().find(E=>E.indexh===n&&E.indexv===r);return d?d.slideElement:null}getScrollTriggerBySlide(n){return this.slideTriggers.find(r=>r.page.slideElement===n)}getAllPages(){return this.pages.flatMap(n=>[n,...n.autoAnimatePages||[]])}onScroll(){this.syncScrollPosition(),this.storeScrollPosition()}get viewportElement(){return this.Reveal.getViewportElement()}}class Rc{constructor(n){this.Reveal=n}async activate(){const n=this.Reveal.getConfig(),r=fe(this.Reveal.getRevealElement(),Wt),d=n.slideNumber&&/all|print/i.test(n.showSlideNumber),E=this.Reveal.getComputedSlideSize(window.innerWidth,window.innerHeight),N=Math.floor(E.width*(1+n.margin)),R=Math.floor(E.height*(1+n.margin)),k=E.width,v=E.height;await new Promise(requestAnimationFrame),Kn("@page{size:"+N+"px "+R+"px; margin: 0px;}"),Kn(".reveal section>img, .reveal section>video, .reveal section>iframe{max-width: "+k+"px; max-height:"+v+"px}"),document.documentElement.classList.add("reveal-print","print-pdf"),document.body.style.width=N+"px",document.body.style.height=R+"px";const re=this.Reveal.getViewportElement();let G;if(re){const I=window.getComputedStyle(re);I&&I.background&&(G=I.background)}await new Promise(requestAnimationFrame),this.Reveal.layoutSlideContents(k,v),await new Promise(requestAnimationFrame);const X=r.map(I=>I.scrollHeight),ee=[],de=r[0].parentNode;let te=1;r.forEach(function(I,Ze){if(I.classList.contains("stack")===!1){let Be=(N-k)/2,Ve=(R-v)/2;const Tt=X[Ze];let Xe=Math.max(Math.ceil(Tt/R),1);Xe=Math.min(Xe,n.pdfMaxPagesPerSlide),(Xe===1&&n.center||I.classList.contains("center"))&&(Ve=Math.max((R-Tt)/2,0));const ye=document.createElement("div");if(ee.push(ye),ye.className="pdf-page",ye.style.height=(R+n.pdfPageHeightOffset)*Xe+"px",G&&(ye.style.background=G),ye.appendChild(I),I.style.left=Be+"px",I.style.top=Ve+"px",I.style.width=k+"px",this.Reveal.slideContent.layout(I),I.slideBackgroundElement&&ye.insertBefore(I.slideBackgroundElement,I),n.showNotes){const Me=this.Reveal.getSlideNotes(I);if(Me){const qe=typeof n.showNotes=="string"?n.showNotes:"inline",Oe=document.createElement("div");Oe.classList.add("speaker-notes"),Oe.classList.add("speaker-notes-pdf"),Oe.setAttribute("data-layout",qe),Oe.innerHTML=Me,qe==="separate-page"?ee.push(Oe):(Oe.style.left="8px",Oe.style.bottom="8px",Oe.style.width=N-2*8+"px",ye.appendChild(Oe))}}if(d){const Me=document.createElement("div");Me.classList.add("slide-number"),Me.classList.add("slide-number-pdf"),Me.innerHTML=te++,ye.appendChild(Me)}if(n.pdfSeparateFragments){const Me=this.Reveal.fragments.sort(ye.querySelectorAll(".fragment"),!0);let Je;Me.forEach(function(qe,Oe){Je&&Je.forEach(function(Ce){Ce.classList.remove("current-fragment")}),qe.forEach(function(Ce){Ce.classList.add("visible","current-fragment")},this);const F=ye.cloneNode(!0);if(d){const Ce=Oe+1;F.querySelector(".slide-number-pdf").innerHTML+="."+Ce}ee.push(F),Je=qe},this),Me.forEach(function(qe){qe.forEach(function(Oe){Oe.classList.remove("visible","current-fragment")})})}else fe(ye,".fragment:not(.fade-out)").forEach(function(Me){Me.classList.add("visible")})}},this),await new Promise(requestAnimationFrame),ee.forEach(I=>de.appendChild(I)),this.Reveal.slideContent.layout(this.Reveal.getSlidesElement()),this.Reveal.dispatchEvent({type:"pdf-ready"}),re.classList.remove("loading-scroll-mode")}isActive(){return this.Reveal.getConfig().view==="print"}}class Nc{constructor(n){this.Reveal=n}configure(n,r){n.fragments===!1?this.disable():r.fragments===!1&&this.enable()}disable(){fe(this.Reveal.getSlidesElement(),".fragment").forEach(n=>{n.classList.add("visible"),n.classList.remove("current-fragment")})}enable(){fe(this.Reveal.getSlidesElement(),".fragment").forEach(n=>{n.classList.remove("visible"),n.classList.remove("current-fragment")})}availableRoutes(){let n=this.Reveal.getCurrentSlide();if(n&&this.Reveal.getConfig().fragments){let r=n.querySelectorAll(".fragment:not(.disabled)"),d=n.querySelectorAll(".fragment:not(.disabled):not(.visible)");return{prev:r.length-d.length>0,next:!!d.length}}return{prev:!1,next:!1}}sort(n,r=!1){n=Array.from(n);let d=[],E=[],N=[];n.forEach(k=>{if(k.hasAttribute("data-fragment-index")){let v=parseInt(k.getAttribute("data-fragment-index"),10);d[v]||(d[v]=[]),d[v].push(k)}else E.push([k])}),d=d.concat(E);let R=0;return d.forEach(k=>{k.forEach(v=>{N.push(v),v.setAttribute("data-fragment-index",R)}),R++}),r===!0?d:N}sortAll(){this.Reveal.getHorizontalSlides().forEach(n=>{let r=fe(n,"section");r.forEach((d,E)=>{this.sort(d.querySelectorAll(".fragment"))},this),r.length===0&&this.sort(n.querySelectorAll(".fragment"))})}update(n,r,d=this.Reveal.getCurrentSlide()){let E={shown:[],hidden:[]};if(d&&this.Reveal.getConfig().fragments&&(r=r||this.sort(d.querySelectorAll(".fragment"))).length){let N=0;if(typeof n!="number"){let R=this.sort(d.querySelectorAll(".fragment.visible")).pop();R&&(n=parseInt(R.getAttribute("data-fragment-index")||0,10))}Array.from(r).forEach((R,k)=>{if(R.hasAttribute("data-fragment-index")&&(k=parseInt(R.getAttribute("data-fragment-index"),10)),N=Math.max(N,k),k<=n){let v=R.classList.contains("visible");R.classList.add("visible"),R.classList.remove("current-fragment"),k===n&&(this.Reveal.announceStatus(this.Reveal.getStatusText(R)),R.classList.add("current-fragment"),this.Reveal.slideContent.startEmbeddedContent(R)),v||(E.shown.push(R),this.Reveal.dispatchEvent({target:R,type:"visible",bubbles:!1}))}else{let v=R.classList.contains("visible");R.classList.remove("visible"),R.classList.remove("current-fragment"),v&&(this.Reveal.slideContent.stopEmbeddedContent(R),E.hidden.push(R),this.Reveal.dispatchEvent({target:R,type:"hidden",bubbles:!1}))}}),n=typeof n=="number"?n:-1,n=Math.max(Math.min(n,N),-1),d.setAttribute("data-fragment",n)}return E.hidden.length&&this.Reveal.dispatchEvent({type:"fragmenthidden",data:{fragment:E.hidden[0],fragments:E.hidden}}),E.shown.length&&this.Reveal.dispatchEvent({type:"fragmentshown",data:{fragment:E.shown[0],fragments:E.shown}}),E}sync(n=this.Reveal.getCurrentSlide()){return this.sort(n.querySelectorAll(".fragment"))}goto(n,r=0){let d=this.Reveal.getCurrentSlide();if(d&&this.Reveal.getConfig().fragments){let E=this.sort(d.querySelectorAll(".fragment:not(.disabled)"));if(E.length){if(typeof n!="number"){let R=this.sort(d.querySelectorAll(".fragment:not(.disabled).visible")).pop();n=R?parseInt(R.getAttribute("data-fragment-index")||0,10):-1}n+=r;let N=this.update(n,E);return this.Reveal.controls.update(),this.Reveal.progress.update(),this.Reveal.getConfig().fragmentInURL&&this.Reveal.location.writeURL(),!(!N.shown.length&&!N.hidden.length)}}return!1}next(){return this.goto(null,1)}prev(){return this.goto(null,-1)}}class yc{constructor(n){this.Reveal=n,this.active=!1,this.onSlideClicked=this.onSlideClicked.bind(this)}activate(){if(this.Reveal.getConfig().overview&&!this.Reveal.isScrollView()&&!this.isActive()){this.active=!0,this.Reveal.getRevealElement().classList.add("overview"),this.Reveal.cancelAutoSlide(),this.Reveal.getSlidesElement().appendChild(this.Reveal.getBackgroundsElement()),fe(this.Reveal.getRevealElement(),Wt).forEach(E=>{E.classList.contains("stack")||E.addEventListener("click",this.onSlideClicked,!0)});const n=70,r=this.Reveal.getComputedSlideSize();this.overviewSlideWidth=r.width+n,this.overviewSlideHeight=r.height+n,this.Reveal.getConfig().rtl&&(this.overviewSlideWidth=-this.overviewSlideWidth),this.Reveal.updateSlidesVisibility(),this.layout(),this.update(),this.Reveal.layout();const d=this.Reveal.getIndices();this.Reveal.dispatchEvent({type:"overviewshown",data:{indexh:d.h,indexv:d.v,currentSlide:this.Reveal.getCurrentSlide()}})}}layout(){this.Reveal.getHorizontalSlides().forEach((n,r)=>{n.setAttribute("data-index-h",r),Ft(n,"translate3d("+r*this.overviewSlideWidth+"px, 0, 0)"),n.classList.contains("stack")&&fe(n,"section").forEach((d,E)=>{d.setAttribute("data-index-h",r),d.setAttribute("data-index-v",E),Ft(d,"translate3d(0, "+E*this.overviewSlideHeight+"px, 0)")})}),Array.from(this.Reveal.getBackgroundsElement().childNodes).forEach((n,r)=>{Ft(n,"translate3d("+r*this.overviewSlideWidth+"px, 0, 0)"),fe(n,".slide-background").forEach((d,E)=>{Ft(d,"translate3d(0, "+E*this.overviewSlideHeight+"px, 0)")})})}update(){const n=Math.min(window.innerWidth,window.innerHeight),r=Math.max(n/5,150)/n,d=this.Reveal.getIndices();this.Reveal.transformSlides({overview:["scale("+r+")","translateX("+-d.h*this.overviewSlideWidth+"px)","translateY("+-d.v*this.overviewSlideHeight+"px)"].join(" ")})}deactivate(){if(this.Reveal.getConfig().overview){this.active=!1,this.Reveal.getRevealElement().classList.remove("overview"),this.Reveal.getRevealElement().classList.add("overview-deactivating"),setTimeout(()=>{this.Reveal.getRevealElement().classList.remove("overview-deactivating")},1),this.Reveal.getRevealElement().appendChild(this.Reveal.getBackgroundsElement()),fe(this.Reveal.getRevealElement(),Wt).forEach(r=>{Ft(r,""),r.removeEventListener("click",this.onSlideClicked,!0)}),fe(this.Reveal.getBackgroundsElement(),".slide-background").forEach(r=>{Ft(r,"")}),this.Reveal.transformSlides({overview:""});const n=this.Reveal.getIndices();this.Reveal.slide(n.h,n.v),this.Reveal.layout(),this.Reveal.cueAutoSlide(),this.Reveal.dispatchEvent({type:"overviewhidden",data:{indexh:n.h,indexv:n.v,currentSlide:this.Reveal.getCurrentSlide()}})}}toggle(n){typeof n=="boolean"?n?this.activate():this.deactivate():this.isActive()?this.deactivate():this.activate()}isActive(){return this.active}onSlideClicked(n){if(this.isActive()){n.preventDefault();let r=n.target;for(;r&&!r.nodeName.match(/section/gi);)r=r.parentNode;if(r&&!r.classList.contains("disabled")&&(this.deactivate(),r.nodeName.match(/section/gi))){let d=parseInt(r.getAttribute("data-index-h"),10),E=parseInt(r.getAttribute("data-index-v"),10);this.Reveal.slide(d,E)}}}}class Oc{constructor(n){this.Reveal=n,this.shortcuts={},this.bindings={},this.onDocumentKeyDown=this.onDocumentKeyDown.bind(this)}configure(n,r){n.navigationMode==="linear"?(this.shortcuts["→ , ↓ , SPACE , N , L , J"]="Next slide",this.shortcuts["← , ↑ , P , H , K"]="Previous slide"):(this.shortcuts["N , SPACE"]="Next slide",this.shortcuts["P , Shift SPACE"]="Previous slide",this.shortcuts["← , H"]="Navigate left",this.shortcuts["→ , L"]="Navigate right",this.shortcuts["↑ , K"]="Navigate up",this.shortcuts["↓ , J"]="Navigate down"),this.shortcuts["Alt + ←/↑/→/↓"]="Navigate without fragments",this.shortcuts["Shift + ←/↑/→/↓"]="Jump to first/last slide",this.shortcuts["B , ."]="Pause",this.shortcuts.F="Fullscreen",this.shortcuts.G="Jump to slide",this.shortcuts["ESC, O"]="Slide overview"}bind(){document.addEventListener("keydown",this.onDocumentKeyDown,!1)}unbind(){document.removeEventListener("keydown",this.onDocumentKeyDown,!1)}addKeyBinding(n,r){typeof n=="object"&&n.keyCode?this.bindings[n.keyCode]={callback:r,key:n.key,description:n.description}:this.bindings[n]={callback:r,key:null,description:null}}removeKeyBinding(n){delete this.bindings[n]}triggerKey(n){this.onDocumentKeyDown({keyCode:n})}registerKeyboardShortcut(n,r){this.shortcuts[n]=r}getShortcuts(){return this.shortcuts}getBindings(){return this.bindings}onDocumentKeyDown(n){let r=this.Reveal.getConfig();if(typeof r.keyboardCondition=="function"&&r.keyboardCondition(n)===!1||r.keyboardCondition==="focused"&&!this.Reveal.isFocused())return!0;let d=n.keyCode,E=!this.Reveal.isAutoSliding();this.Reveal.onUserInput(n);let N=document.activeElement&&document.activeElement.isContentEditable===!0,R=document.activeElement&&document.activeElement.tagName&&/input|textarea/i.test(document.activeElement.tagName),k=document.activeElement&&document.activeElement.className&&/speaker-notes/i.test(document.activeElement.className),v=!([32,37,38,39,40,63,78,80,191].indexOf(n.keyCode)!==-1&&n.shiftKey||n.altKey)&&(n.shiftKey||n.altKey||n.ctrlKey||n.metaKey);if(N||R||k||v)return;let re,G=[66,86,190,191,112];if(typeof r.keyboard=="object")for(re in r.keyboard)r.keyboard[re]==="togglePause"&&G.push(parseInt(re,10));if(this.Reveal.isPaused()&&G.indexOf(d)===-1)return!1;let X=r.navigationMode==="linear"||!this.Reveal.hasHorizontalSlides()||!this.Reveal.hasVerticalSlides(),ee=!1;if(typeof r.keyboard=="object"){for(re in r.keyboard)if(parseInt(re,10)===d){let de=r.keyboard[re];typeof de=="function"?de.apply(null,[n]):typeof de=="string"&&typeof this.Reveal[de]=="function"&&this.Reveal[de].call(),ee=!0}}if(ee===!1){for(re in this.bindings)if(parseInt(re,10)===d){let de=this.bindings[re].callback;typeof de=="function"?de.apply(null,[n]):typeof de=="string"&&typeof this.Reveal[de]=="function"&&this.Reveal[de].call(),ee=!0}}ee===!1&&(ee=!0,d===80||d===33?this.Reveal.prev({skipFragments:n.altKey}):d===78||d===34?this.Reveal.next({skipFragments:n.altKey}):d===72||d===37?n.shiftKey?this.Reveal.slide(0):!this.Reveal.overview.isActive()&&X?r.rtl?this.Reveal.next({skipFragments:n.altKey}):this.Reveal.prev({skipFragments:n.altKey}):this.Reveal.left({skipFragments:n.altKey}):d===76||d===39?n.shiftKey?this.Reveal.slide(this.Reveal.getHorizontalSlides().length-1):!this.Reveal.overview.isActive()&&X?r.rtl?this.Reveal.prev({skipFragments:n.altKey}):this.Reveal.next({skipFragments:n.altKey}):this.Reveal.right({skipFragments:n.altKey}):d===75||d===38?n.shiftKey?this.Reveal.slide(void 0,0):!this.Reveal.overview.isActive()&&X?this.Reveal.prev({skipFragments:n.altKey}):this.Reveal.up({skipFragments:n.altKey}):d===74||d===40?n.shiftKey?this.Reveal.slide(void 0,Number.MAX_VALUE):!this.Reveal.overview.isActive()&&X?this.Reveal.next({skipFragments:n.altKey}):this.Reveal.down({skipFragments:n.altKey}):d===36?this.Reveal.slide(0):d===35?this.Reveal.slide(this.Reveal.getHorizontalSlides().length-1):d===32?(this.Reveal.overview.isActive()&&this.Reveal.overview.deactivate(),n.shiftKey?this.Reveal.prev({skipFragments:n.altKey}):this.Reveal.next({skipFragments:n.altKey})):[58,59,66,86,190].includes(d)||d===191&&!n.shiftKey?this.Reveal.togglePause():d===70?Jl(r.embedded?this.Reveal.getViewportElement():document.documentElement):d===65?r.autoSlideStoppable&&this.Reveal.toggleAutoSlide(E):d===71?r.jumpToSlide&&this.Reveal.toggleJumpToSlide():d!==63&&d!==191||!n.shiftKey?d===112?this.Reveal.toggleHelp():ee=!1:this.Reveal.toggleHelp()),ee?n.preventDefault&&n.preventDefault():d!==27&&d!==79||(this.Reveal.closeOverlay()===!1&&this.Reveal.overview.toggle(),n.preventDefault&&n.preventDefault()),this.Reveal.cueAutoSlide()}}class Ac{constructor(n){Dn(this,"MAX_REPLACE_STATE_FREQUENCY",1e3);this.Reveal=n,this.writeURLTimeout=0,this.replaceStateTimestamp=0,this.onWindowHashChange=this.onWindowHashChange.bind(this)}bind(){window.addEventListener("hashchange",this.onWindowHashChange,!1)}unbind(){window.removeEventListener("hashchange",this.onWindowHashChange,!1)}getIndicesFromHash(n=window.location.hash,r={}){let d=n.replace(/^#\/?/,""),E=d.split("/");if(/^[0-9]*$/.test(E[0])||!d.length){const N=this.Reveal.getConfig();let R,k=N.hashOneBasedIndex||r.oneBasedIndex?1:0,v=parseInt(E[0],10)-k||0,re=parseInt(E[1],10)-k||0;return N.fragmentInURL&&(R=parseInt(E[2],10),isNaN(R)&&(R=void 0)),{h:v,v:re,f:R}}{let N,R;/\/[-\d]+$/g.test(d)&&(R=parseInt(d.split("/").pop(),10),R=isNaN(R)?void 0:R,d=d.split("/").shift());try{N=document.getElementById(decodeURIComponent(d)).closest(".slides section")}catch{}if(N)return{...this.Reveal.getIndices(N),f:R}}return null}readURL(){const n=this.Reveal.getIndices(),r=this.getIndicesFromHash();r?r.h===n.h&&r.v===n.v&&r.f===void 0||this.Reveal.slide(r.h,r.v,r.f):this.Reveal.slide(n.h||0,n.v||0)}writeURL(n){let r=this.Reveal.getConfig(),d=this.Reveal.getCurrentSlide();if(clearTimeout(this.writeURLTimeout),typeof n=="number")this.writeURLTimeout=setTimeout(this.writeURL,n);else if(d){let E=this.getHash();r.history?window.location.hash=E:r.hash&&(E==="/"?this.debouncedReplaceState(window.location.pathname+window.location.search):this.debouncedReplaceState("#"+E))}}replaceState(n){window.history.replaceState(null,null,n),this.replaceStateTimestamp=Date.now()}debouncedReplaceState(n){clearTimeout(this.replaceStateTimeout),Date.now()-this.replaceStateTimestamp>this.MAX_REPLACE_STATE_FREQUENCY?this.replaceState(n):this.replaceStateTimeout=setTimeout(()=>this.replaceState(n),this.MAX_REPLACE_STATE_FREQUENCY)}getHash(n){let r="/",d=n||this.Reveal.getCurrentSlide(),E=d?d.getAttribute("id"):null;E&&(E=encodeURIComponent(E));let N=this.Reveal.getIndices(n);if(this.Reveal.getConfig().fragmentInURL||(N.f=void 0),typeof E=="string"&&E.length)r="/"+E,N.f>=0&&(r+="/"+N.f);else{let R=this.Reveal.getConfig().hashOneBasedIndex?1:0;(N.h>0||N.v>0||N.f>=0)&&(r+=N.h+R),(N.v>0||N.f>=0)&&(r+="/"+(N.v+R)),N.f>=0&&(r+="/"+N.f)}return r}onWindowHashChange(n){this.readURL()}}class Ic{constructor(n){this.Reveal=n,this.onNavigateLeftClicked=this.onNavigateLeftClicked.bind(this),this.onNavigateRightClicked=this.onNavigateRightClicked.bind(this),this.onNavigateUpClicked=this.onNavigateUpClicked.bind(this),this.onNavigateDownClicked=this.onNavigateDownClicked.bind(this),this.onNavigatePrevClicked=this.onNavigatePrevClicked.bind(this),this.onNavigateNextClicked=this.onNavigateNextClicked.bind(this),this.onEnterFullscreen=this.onEnterFullscreen.bind(this)}render(){const n=this.Reveal.getConfig().rtl,r=this.Reveal.getRevealElement();this.element=document.createElement("aside"),this.element.className="controls",this.element.innerHTML=` - - - `,this.Reveal.getRevealElement().appendChild(this.element),this.controlsLeft=fe(r,".navigate-left"),this.controlsRight=fe(r,".navigate-right"),this.controlsUp=fe(r,".navigate-up"),this.controlsDown=fe(r,".navigate-down"),this.controlsPrev=fe(r,".navigate-prev"),this.controlsNext=fe(r,".navigate-next"),this.controlsFullscreen=fe(r,".enter-fullscreen"),this.controlsRightArrow=this.element.querySelector(".navigate-right"),this.controlsLeftArrow=this.element.querySelector(".navigate-left"),this.controlsDownArrow=this.element.querySelector(".navigate-down")}configure(n,r){this.element.style.display=n.controls?"block":"none",this.element.setAttribute("data-controls-layout",n.controlsLayout),this.element.setAttribute("data-controls-back-arrows",n.controlsBackArrows)}bind(){let n=["touchstart","click"];tc&&(n=["touchstart"]),n.forEach(r=>{this.controlsLeft.forEach(d=>d.addEventListener(r,this.onNavigateLeftClicked,!1)),this.controlsRight.forEach(d=>d.addEventListener(r,this.onNavigateRightClicked,!1)),this.controlsUp.forEach(d=>d.addEventListener(r,this.onNavigateUpClicked,!1)),this.controlsDown.forEach(d=>d.addEventListener(r,this.onNavigateDownClicked,!1)),this.controlsPrev.forEach(d=>d.addEventListener(r,this.onNavigatePrevClicked,!1)),this.controlsNext.forEach(d=>d.addEventListener(r,this.onNavigateNextClicked,!1)),this.controlsFullscreen.forEach(d=>d.addEventListener(r,this.onEnterFullscreen,!1))})}unbind(){["touchstart","click"].forEach(n=>{this.controlsLeft.forEach(r=>r.removeEventListener(n,this.onNavigateLeftClicked,!1)),this.controlsRight.forEach(r=>r.removeEventListener(n,this.onNavigateRightClicked,!1)),this.controlsUp.forEach(r=>r.removeEventListener(n,this.onNavigateUpClicked,!1)),this.controlsDown.forEach(r=>r.removeEventListener(n,this.onNavigateDownClicked,!1)),this.controlsPrev.forEach(r=>r.removeEventListener(n,this.onNavigatePrevClicked,!1)),this.controlsNext.forEach(r=>r.removeEventListener(n,this.onNavigateNextClicked,!1)),this.controlsFullscreen.forEach(r=>r.removeEventListener(n,this.onEnterFullscreen,!1))})}update(){let n=this.Reveal.availableRoutes();[...this.controlsLeft,...this.controlsRight,...this.controlsUp,...this.controlsDown,...this.controlsPrev,...this.controlsNext].forEach(d=>{d.classList.remove("enabled","fragmented"),d.setAttribute("disabled","disabled")}),n.left&&this.controlsLeft.forEach(d=>{d.classList.add("enabled"),d.removeAttribute("disabled")}),n.right&&this.controlsRight.forEach(d=>{d.classList.add("enabled"),d.removeAttribute("disabled")}),n.up&&this.controlsUp.forEach(d=>{d.classList.add("enabled"),d.removeAttribute("disabled")}),n.down&&this.controlsDown.forEach(d=>{d.classList.add("enabled"),d.removeAttribute("disabled")}),(n.left||n.up)&&this.controlsPrev.forEach(d=>{d.classList.add("enabled"),d.removeAttribute("disabled")}),(n.right||n.down)&&this.controlsNext.forEach(d=>{d.classList.add("enabled"),d.removeAttribute("disabled")});let r=this.Reveal.getCurrentSlide();if(r){let d=this.Reveal.fragments.availableRoutes();d.prev&&this.controlsPrev.forEach(E=>{E.classList.add("fragmented","enabled"),E.removeAttribute("disabled")}),d.next&&this.controlsNext.forEach(E=>{E.classList.add("fragmented","enabled"),E.removeAttribute("disabled")}),this.Reveal.isVerticalSlide(r)?(d.prev&&this.controlsUp.forEach(E=>{E.classList.add("fragmented","enabled"),E.removeAttribute("disabled")}),d.next&&this.controlsDown.forEach(E=>{E.classList.add("fragmented","enabled"),E.removeAttribute("disabled")})):(d.prev&&this.controlsLeft.forEach(E=>{E.classList.add("fragmented","enabled"),E.removeAttribute("disabled")}),d.next&&this.controlsRight.forEach(E=>{E.classList.add("fragmented","enabled"),E.removeAttribute("disabled")}))}if(this.Reveal.getConfig().controlsTutorial){let d=this.Reveal.getIndices();!this.Reveal.hasNavigatedVertically()&&n.down?this.controlsDownArrow.classList.add("highlight"):(this.controlsDownArrow.classList.remove("highlight"),this.Reveal.getConfig().rtl?!this.Reveal.hasNavigatedHorizontally()&&n.left&&d.v===0?this.controlsLeftArrow.classList.add("highlight"):this.controlsLeftArrow.classList.remove("highlight"):!this.Reveal.hasNavigatedHorizontally()&&n.right&&d.v===0?this.controlsRightArrow.classList.add("highlight"):this.controlsRightArrow.classList.remove("highlight"))}}destroy(){this.unbind(),this.element.remove()}onNavigateLeftClicked(n){n.preventDefault(),this.Reveal.onUserInput(),this.Reveal.getConfig().navigationMode==="linear"?this.Reveal.prev():this.Reveal.left()}onNavigateRightClicked(n){n.preventDefault(),this.Reveal.onUserInput(),this.Reveal.getConfig().navigationMode==="linear"?this.Reveal.next():this.Reveal.right()}onNavigateUpClicked(n){n.preventDefault(),this.Reveal.onUserInput(),this.Reveal.up()}onNavigateDownClicked(n){n.preventDefault(),this.Reveal.onUserInput(),this.Reveal.down()}onNavigatePrevClicked(n){n.preventDefault(),this.Reveal.onUserInput(),this.Reveal.prev()}onNavigateNextClicked(n){n.preventDefault(),this.Reveal.onUserInput(),this.Reveal.next()}onEnterFullscreen(n){const r=this.Reveal.getConfig(),d=this.Reveal.getViewportElement();Jl(r.embedded?d:d.parentElement)}}class Dc{constructor(n){this.Reveal=n,this.onProgressClicked=this.onProgressClicked.bind(this)}render(){this.element=document.createElement("div"),this.element.className="progress",this.Reveal.getRevealElement().appendChild(this.element),this.bar=document.createElement("span"),this.element.appendChild(this.bar)}configure(n,r){this.element.style.display=n.progress?"block":"none"}bind(){this.Reveal.getConfig().progress&&this.element&&this.element.addEventListener("click",this.onProgressClicked,!1)}unbind(){this.Reveal.getConfig().progress&&this.element&&this.element.removeEventListener("click",this.onProgressClicked,!1)}update(){if(this.Reveal.getConfig().progress&&this.bar){let n=this.Reveal.getProgress();this.Reveal.getTotalSlides()<2&&(n=0),this.bar.style.transform="scaleX("+n+")"}}getMaxWidth(){return this.Reveal.getRevealElement().offsetWidth}onProgressClicked(n){this.Reveal.onUserInput(n),n.preventDefault();let r=this.Reveal.getSlides(),d=r.length,E=Math.floor(n.clientX/this.getMaxWidth()*d);this.Reveal.getConfig().rtl&&(E=d-E);let N=this.Reveal.getIndices(r[E]);this.Reveal.slide(N.h,N.v)}destroy(){this.element.remove()}}class wc{constructor(n){this.Reveal=n,this.lastMouseWheelStep=0,this.cursorHidden=!1,this.cursorInactiveTimeout=0,this.onDocumentCursorActive=this.onDocumentCursorActive.bind(this),this.onDocumentMouseScroll=this.onDocumentMouseScroll.bind(this)}configure(n,r){n.mouseWheel?document.addEventListener("wheel",this.onDocumentMouseScroll,!1):document.removeEventListener("wheel",this.onDocumentMouseScroll,!1),n.hideInactiveCursor?(document.addEventListener("mousemove",this.onDocumentCursorActive,!1),document.addEventListener("mousedown",this.onDocumentCursorActive,!1)):(this.showCursor(),document.removeEventListener("mousemove",this.onDocumentCursorActive,!1),document.removeEventListener("mousedown",this.onDocumentCursorActive,!1))}showCursor(){this.cursorHidden&&(this.cursorHidden=!1,this.Reveal.getRevealElement().style.cursor="")}hideCursor(){this.cursorHidden===!1&&(this.cursorHidden=!0,this.Reveal.getRevealElement().style.cursor="none")}destroy(){this.showCursor(),document.removeEventListener("wheel",this.onDocumentMouseScroll,!1),document.removeEventListener("mousemove",this.onDocumentCursorActive,!1),document.removeEventListener("mousedown",this.onDocumentCursorActive,!1)}onDocumentCursorActive(n){this.showCursor(),clearTimeout(this.cursorInactiveTimeout),this.cursorInactiveTimeout=setTimeout(this.hideCursor.bind(this),this.Reveal.getConfig().hideCursorTime)}onDocumentMouseScroll(n){if(Date.now()-this.lastMouseWheelStep>1e3){this.lastMouseWheelStep=Date.now();let r=n.detail||-n.wheelDelta;r>0?this.Reveal.next():r<0&&this.Reveal.prev()}}}const jl=(H,n)=>{const r=document.createElement("script");r.type="text/javascript",r.async=!1,r.defer=!1,r.src=H,typeof n=="function"&&(r.onload=r.onreadystatechange=E=>{(E.type==="load"||/loaded|complete/.test(r.readyState))&&(r.onload=r.onreadystatechange=r.onerror=null,n())},r.onerror=E=>{r.onload=r.onreadystatechange=r.onerror=null,n(new Error("Failed loading script: "+r.src+` -`+E))});const d=document.querySelector("head");d.insertBefore(r,d.lastChild)};class xc{constructor(n){this.Reveal=n,this.state="idle",this.registeredPlugins={},this.asyncDependencies=[]}load(n,r){return this.state="loading",n.forEach(this.registerPlugin.bind(this)),new Promise(d=>{let E=[],N=0;if(r.forEach(R=>{R.condition&&!R.condition()||(R.async?this.asyncDependencies.push(R):E.push(R))}),E.length){N=E.length;const R=k=>{k&&typeof k.callback=="function"&&k.callback(),--N==0&&this.initPlugins().then(d)};E.forEach(k=>{typeof k.id=="string"?(this.registerPlugin(k),R(k)):typeof k.src=="string"?jl(k.src,()=>R(k)):(console.warn("Unrecognized plugin format",k),R())})}else this.initPlugins().then(d)})}initPlugins(){return new Promise(n=>{let r=Object.values(this.registeredPlugins),d=r.length;if(d===0)this.loadAsync().then(n);else{let E,N=()=>{--d==0?this.loadAsync().then(n):E()},R=0;E=()=>{let k=r[R++];if(typeof k.init=="function"){let v=k.init(this.Reveal);v&&typeof v.then=="function"?v.then(N):N()}else N()},E()}})}loadAsync(){return this.state="loaded",this.asyncDependencies.length&&this.asyncDependencies.forEach(n=>{jl(n.src,n.callback)}),Promise.resolve()}registerPlugin(n){arguments.length===2&&typeof arguments[0]=="string"?(n=arguments[1]).id=arguments[0]:typeof n=="function"&&(n=n());let r=n.id;typeof r!="string"?console.warn("Unrecognized plugin format; can't find plugin.id",n):this.registeredPlugins[r]===void 0?(this.registeredPlugins[r]=n,this.state==="loaded"&&typeof n.init=="function"&&n.init(this.Reveal)):console.warn('reveal.js: "'+r+'" plugin has already been registered')}hasPlugin(n){return!!this.registeredPlugins[n]}getPlugin(n){return this.registeredPlugins[n]}getRegisteredPlugins(){return this.registeredPlugins}destroy(){Object.values(this.registeredPlugins).forEach(n=>{typeof n.destroy=="function"&&n.destroy()}),this.registeredPlugins={},this.asyncDependencies=[]}}class Lc{constructor(n){this.Reveal=n,this.touchStartX=0,this.touchStartY=0,this.touchStartCount=0,this.touchCaptured=!1,this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),this.onTouchStart=this.onTouchStart.bind(this),this.onTouchMove=this.onTouchMove.bind(this),this.onTouchEnd=this.onTouchEnd.bind(this)}bind(){let n=this.Reveal.getRevealElement();"onpointerdown"in window?(n.addEventListener("pointerdown",this.onPointerDown,!1),n.addEventListener("pointermove",this.onPointerMove,!1),n.addEventListener("pointerup",this.onPointerUp,!1)):window.navigator.msPointerEnabled?(n.addEventListener("MSPointerDown",this.onPointerDown,!1),n.addEventListener("MSPointerMove",this.onPointerMove,!1),n.addEventListener("MSPointerUp",this.onPointerUp,!1)):(n.addEventListener("touchstart",this.onTouchStart,!1),n.addEventListener("touchmove",this.onTouchMove,!1),n.addEventListener("touchend",this.onTouchEnd,!1))}unbind(){let n=this.Reveal.getRevealElement();n.removeEventListener("pointerdown",this.onPointerDown,!1),n.removeEventListener("pointermove",this.onPointerMove,!1),n.removeEventListener("pointerup",this.onPointerUp,!1),n.removeEventListener("MSPointerDown",this.onPointerDown,!1),n.removeEventListener("MSPointerMove",this.onPointerMove,!1),n.removeEventListener("MSPointerUp",this.onPointerUp,!1),n.removeEventListener("touchstart",this.onTouchStart,!1),n.removeEventListener("touchmove",this.onTouchMove,!1),n.removeEventListener("touchend",this.onTouchEnd,!1)}isSwipePrevented(n){if(wn(n,"video[controls], audio[controls]"))return!0;for(;n&&typeof n.hasAttribute=="function";){if(n.hasAttribute("data-prevent-swipe"))return!0;n=n.parentNode}return!1}onTouchStart(n){if(this.touchCaptured=!1,this.isSwipePrevented(n.target))return!0;this.touchStartX=n.touches[0].clientX,this.touchStartY=n.touches[0].clientY,this.touchStartCount=n.touches.length}onTouchMove(n){if(this.isSwipePrevented(n.target))return!0;let r=this.Reveal.getConfig();if(this.touchCaptured)tc&&n.preventDefault();else{this.Reveal.onUserInput(n);let d=n.touches[0].clientX,E=n.touches[0].clientY;if(n.touches.length===1&&this.touchStartCount!==2){let N=this.Reveal.availableRoutes({includeFragments:!0}),R=d-this.touchStartX,k=E-this.touchStartY;R>40&&Math.abs(R)>Math.abs(k)?(this.touchCaptured=!0,r.navigationMode==="linear"?r.rtl?this.Reveal.next():this.Reveal.prev():this.Reveal.left()):R<-40&&Math.abs(R)>Math.abs(k)?(this.touchCaptured=!0,r.navigationMode==="linear"?r.rtl?this.Reveal.prev():this.Reveal.next():this.Reveal.right()):k>40&&N.up?(this.touchCaptured=!0,r.navigationMode==="linear"?this.Reveal.prev():this.Reveal.up()):k<-40&&N.down&&(this.touchCaptured=!0,r.navigationMode==="linear"?this.Reveal.next():this.Reveal.down()),r.embedded?(this.touchCaptured||this.Reveal.isVerticalSlide())&&n.preventDefault():n.preventDefault()}}}onTouchEnd(n){this.touchCaptured=!1}onPointerDown(n){n.pointerType!==n.MSPOINTER_TYPE_TOUCH&&n.pointerType!=="touch"||(n.touches=[{clientX:n.clientX,clientY:n.clientY}],this.onTouchStart(n))}onPointerMove(n){n.pointerType!==n.MSPOINTER_TYPE_TOUCH&&n.pointerType!=="touch"||(n.touches=[{clientX:n.clientX,clientY:n.clientY}],this.onTouchMove(n))}onPointerUp(n){n.pointerType!==n.MSPOINTER_TYPE_TOUCH&&n.pointerType!=="touch"||(n.touches=[{clientX:n.clientX,clientY:n.clientY}],this.onTouchEnd(n))}}const Qn="focus",Xl="blur";class Mc{constructor(n){this.Reveal=n,this.onRevealPointerDown=this.onRevealPointerDown.bind(this),this.onDocumentPointerDown=this.onDocumentPointerDown.bind(this)}configure(n,r){n.embedded?this.blur():(this.focus(),this.unbind())}bind(){this.Reveal.getConfig().embedded&&this.Reveal.getRevealElement().addEventListener("pointerdown",this.onRevealPointerDown,!1)}unbind(){this.Reveal.getRevealElement().removeEventListener("pointerdown",this.onRevealPointerDown,!1),document.removeEventListener("pointerdown",this.onDocumentPointerDown,!1)}focus(){this.state!==Qn&&(this.Reveal.getRevealElement().classList.add("focused"),document.addEventListener("pointerdown",this.onDocumentPointerDown,!1)),this.state=Qn}blur(){this.state!==Xl&&(this.Reveal.getRevealElement().classList.remove("focused"),document.removeEventListener("pointerdown",this.onDocumentPointerDown,!1)),this.state=Xl}isFocused(){return this.state===Qn}destroy(){this.Reveal.getRevealElement().classList.remove("focused")}onRevealPointerDown(n){this.focus()}onDocumentPointerDown(n){let r=bt(n.target,".reveal");r&&r===this.Reveal.getRevealElement()||this.blur()}}class kc{constructor(n){this.Reveal=n}render(){this.element=document.createElement("div"),this.element.className="speaker-notes",this.element.setAttribute("data-prevent-swipe",""),this.element.setAttribute("tabindex","0"),this.Reveal.getRevealElement().appendChild(this.element)}configure(n,r){n.showNotes&&this.element.setAttribute("data-layout",typeof n.showNotes=="string"?n.showNotes:"inline")}update(){this.Reveal.getConfig().showNotes&&this.element&&this.Reveal.getCurrentSlide()&&!this.Reveal.isScrollView()&&!this.Reveal.isPrintView()&&(this.element.innerHTML=this.getSlideNotes()||'No notes on this slide.')}updateVisibility(){this.Reveal.getConfig().showNotes&&this.hasNotes()&&!this.Reveal.isScrollView()&&!this.Reveal.isPrintView()?this.Reveal.getRevealElement().classList.add("show-notes"):this.Reveal.getRevealElement().classList.remove("show-notes")}hasNotes(){return this.Reveal.getSlidesElement().querySelectorAll("[data-notes], aside.notes").length>0}isSpeakerNotesWindow(){return!!window.location.search.match(/receiver/gi)}getSlideNotes(n=this.Reveal.getCurrentSlide()){if(n.hasAttribute("data-notes"))return n.getAttribute("data-notes");let r=n.querySelectorAll("aside.notes");return r?Array.from(r).map(d=>d.innerHTML).join(` -`):null}destroy(){this.element.remove()}}class Pc{constructor(n,r){this.diameter=100,this.diameter2=this.diameter/2,this.thickness=6,this.playing=!1,this.progress=0,this.progressOffset=1,this.container=n,this.progressCheck=r,this.canvas=document.createElement("canvas"),this.canvas.className="playback",this.canvas.width=this.diameter,this.canvas.height=this.diameter,this.canvas.style.width=this.diameter2+"px",this.canvas.style.height=this.diameter2+"px",this.context=this.canvas.getContext("2d"),this.container.appendChild(this.canvas),this.render()}setPlaying(n){const r=this.playing;this.playing=n,!r&&this.playing?this.animate():this.render()}animate(){const n=this.progress;this.progress=this.progressCheck(),n>.8&&this.progress<.2&&(this.progressOffset=this.progress),this.render(),this.playing&&requestAnimationFrame(this.animate.bind(this))}render(){let n=this.playing?this.progress:0,r=this.diameter2-this.thickness,d=this.diameter2,E=this.diameter2,N=28;this.progressOffset+=.1*(1-this.progressOffset);const R=-Math.PI/2+n*(2*Math.PI),k=-Math.PI/2+this.progressOffset*(2*Math.PI);this.context.save(),this.context.clearRect(0,0,this.diameter,this.diameter),this.context.beginPath(),this.context.arc(d,E,r+4,0,2*Math.PI,!1),this.context.fillStyle="rgba( 0, 0, 0, 0.4 )",this.context.fill(),this.context.beginPath(),this.context.arc(d,E,r,0,2*Math.PI,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="rgba( 255, 255, 255, 0.2 )",this.context.stroke(),this.playing&&(this.context.beginPath(),this.context.arc(d,E,r,k,R,!1),this.context.lineWidth=this.thickness,this.context.strokeStyle="#fff",this.context.stroke()),this.context.translate(d-14,E-14),this.playing?(this.context.fillStyle="#fff",this.context.fillRect(0,0,10,N),this.context.fillRect(18,0,10,N)):(this.context.beginPath(),this.context.translate(4,0),this.context.moveTo(0,0),this.context.lineTo(24,14),this.context.lineTo(0,N),this.context.fillStyle="#fff",this.context.fill()),this.context.restore()}on(n,r){this.canvas.addEventListener(n,r,!1)}off(n,r){this.canvas.removeEventListener(n,r,!1)}destroy(){this.playing=!1,this.canvas.parentNode&&this.container.removeChild(this.canvas)}}var Uc={width:960,height:700,margin:.04,minScale:.2,maxScale:2,controls:!0,controlsTutorial:!0,controlsLayout:"bottom-right",controlsBackArrows:"faded",progress:!0,slideNumber:!1,showSlideNumber:"all",hashOneBasedIndex:!1,hash:!1,respondToHashChanges:!0,jumpToSlide:!0,history:!1,keyboard:!0,keyboardCondition:null,disableLayout:!1,overview:!0,center:!0,touch:!0,loop:!1,rtl:!1,navigationMode:"default",shuffle:!1,fragments:!0,fragmentInURL:!0,embedded:!1,help:!0,pause:!0,showNotes:!1,showHiddenSlides:!1,autoPlayMedia:null,preloadIframes:null,autoAnimate:!0,autoAnimateMatcher:null,autoAnimateEasing:"ease",autoAnimateDuration:1,autoAnimateUnmatched:!0,autoAnimateStyles:["opacity","color","background-color","padding","font-size","line-height","letter-spacing","border-width","border-color","border-radius","outline","outline-offset"],autoSlide:0,autoSlideStoppable:!0,autoSlideMethod:null,defaultTiming:null,mouseWheel:!1,previewLinks:!1,postMessage:!0,postMessageEvents:!1,focusBodyOnPageVisibilityChange:!0,transition:"slide",transitionSpeed:"default",backgroundTransition:"fade",parallaxBackgroundImage:"",parallaxBackgroundSize:"",parallaxBackgroundRepeat:"",parallaxBackgroundPosition:"",parallaxBackgroundHorizontal:null,parallaxBackgroundVertical:null,view:null,scrollLayout:"full",scrollSnap:"mandatory",scrollProgress:"auto",scrollActivationWidth:435,pdfMaxPagesPerSlide:Number.POSITIVE_INFINITY,pdfSeparateFragments:!0,pdfPageHeightOffset:-1,viewDistance:3,mobileViewDistance:2,display:"block",hideInactiveCursor:!0,hideCursorTime:5e3,sortFragmentsOnSync:!0,dependencies:[],plugins:[]};const nc="5.1.0";function ac(H,n){arguments.length<2&&(n=arguments[0],H=document.querySelector(".reveal"));const r={};let d,E,N,R,k,v={},re=!1,G=!1,X={hasNavigatedHorizontally:!1,hasNavigatedVertically:!1},ee=[],de=1,te={layout:"",overview:""},I={},Ze="idle",Be=0,Ve=0,Tt=-1,Xe=!1,ye=new Sc(r),Me=new bc(r),Je=new fc(r),qe=new vc(r),Oe=new Tc(r),F=new Cc(r),Ce=new Rc(r),P=new Nc(r),w=new yc(r),tt=new Oc(r),et=new Ac(r),xe=new Ic(r),ot=new Dc(r),Dt=new wc(r),_t=new xc(r),$e=new Mc(r),ft=new Lc(r),lt=new kc(r);function W(){G=!0,v.showHiddenSlides||fe(I.wrapper,'section[data-visibility="hidden"]').forEach(f=>{const x=f.parentNode;x.childElementCount===1&&/section/i.test(x.nodeName)?x.remove():f.remove()}),function(){I.slides.classList.add("no-transition"),an?I.wrapper.classList.add("no-hover"):I.wrapper.classList.remove("no-hover"),Oe.render(),Me.render(),Je.render(),xe.render(),ot.render(),lt.render(),I.pauseOverlay=((f,x,K,J="")=>{let ae=f.querySelectorAll("."+K);for(let Pe=0;PeResume presentation':null),I.statusElement=function(){let f=I.wrapper.querySelector(".aria-status");return f||(f=document.createElement("div"),f.style.position="absolute",f.style.height="1px",f.style.width="1px",f.style.overflow="hidden",f.style.clip="rect( 1px, 1px, 1px, 1px )",f.classList.add("aria-status"),f.setAttribute("aria-live","polite"),f.setAttribute("aria-atomic","true"),I.wrapper.appendChild(f)),f}(),I.wrapper.setAttribute("role","application")}(),v.postMessage&&window.addEventListener("message",hn,!1),setInterval(()=>{(!F.isActive()&&I.wrapper.scrollTop!==0||I.wrapper.scrollLeft!==0)&&(I.wrapper.scrollTop=0,I.wrapper.scrollLeft=0)},1e3),document.addEventListener("fullscreenchange",Vt),document.addEventListener("webkitfullscreenchange",Vt),It().forEach(f=>{fe(f,"section").forEach((x,K)=>{K>0&&(x.classList.remove("present"),x.classList.remove("past"),x.classList.add("future"),x.setAttribute("aria-hidden","true"))})}),p(),Oe.update(!0),function(){const f=v.view==="print",x=v.view==="scroll"||v.view==="reader";(f||x)&&(f?a():ft.unbind(),I.viewport.classList.add("loading-scroll-mode"),f?document.readyState==="complete"?Ce.activate():window.addEventListener("load",()=>Ce.activate()):F.activate())}(),et.readURL(),setTimeout(()=>{I.slides.classList.remove("no-transition"),I.wrapper.classList.add("ready"),C({type:"ready",data:{indexh:d,indexv:E,currentSlide:R}})},1)}function _e(f){I.statusElement.textContent=f}function g(f){let x="";if(f.nodeType===3)x+=f.textContent;else if(f.nodeType===1){let K=f.getAttribute("aria-hidden"),J=window.getComputedStyle(f).display==="none";K==="true"||J||Array.from(f.childNodes).forEach(ae=>{x+=g(ae)})}return x=x.trim(),x===""?"":x+" "}function p(f){const x={...v};if(typeof f=="object"&&nn(v,f),r.isReady()===!1)return;const K=I.wrapper.querySelectorAll(Wt).length;I.wrapper.classList.remove(x.transition),I.wrapper.classList.add(v.transition),I.wrapper.setAttribute("data-transition-speed",v.transitionSpeed),I.wrapper.setAttribute("data-background-transition",v.backgroundTransition),I.viewport.style.setProperty("--slide-width",typeof v.width=="string"?v.width:v.width+"px"),I.viewport.style.setProperty("--slide-height",typeof v.height=="string"?v.height:v.height+"px"),v.shuffle&&Kt(),$n(I.wrapper,"embedded",v.embedded),$n(I.wrapper,"rtl",v.rtl),$n(I.wrapper,"center",v.center),v.pause===!1&&rt(),v.previewLinks?(L(),B("[data-preview-link=false]")):(B(),L("[data-preview-link]:not([data-preview-link=false])")),qe.reset(),k&&(k.destroy(),k=null),K>1&&v.autoSlide&&v.autoSlideStoppable&&(k=new Pc(I.wrapper,()=>Math.min(Math.max((Date.now()-Tt)/Be,0),1)),k.on("click",On),Xe=!1),v.navigationMode!=="default"?I.wrapper.setAttribute("data-navigation-mode",v.navigationMode):I.wrapper.removeAttribute("data-navigation-mode"),lt.configure(v,x),$e.configure(v,x),Dt.configure(v,x),xe.configure(v,x),ot.configure(v,x),tt.configure(v,x),P.configure(v,x),Me.configure(v,x),rn()}function l(){window.addEventListener("resize",Tn,!1),v.touch&&ft.bind(),v.keyboard&&tt.bind(),v.progress&&ot.bind(),v.respondToHashChanges&&et.bind(),xe.bind(),$e.bind(),I.slides.addEventListener("click",fn,!1),I.slides.addEventListener("transitionend",bn,!1),I.pauseOverlay.addEventListener("click",rt,!1),v.focusBodyOnPageVisibilityChange&&document.addEventListener("visibilitychange",vn,!1)}function a(){ft.unbind(),$e.unbind(),tt.unbind(),xe.unbind(),ot.unbind(),et.unbind(),window.removeEventListener("resize",Tn,!1),I.slides.removeEventListener("click",fn,!1),I.slides.removeEventListener("transitionend",bn,!1),I.pauseOverlay.removeEventListener("click",rt,!1)}function o(f,x,K){H.addEventListener(f,x,K)}function s(f,x,K){H.removeEventListener(f,x,K)}function _(f){typeof f.layout=="string"&&(te.layout=f.layout),typeof f.overview=="string"&&(te.overview=f.overview),te.layout?Ft(I.slides,te.layout+" "+te.overview):Ft(I.slides,te.overview)}function C({target:f=I.wrapper,type:x,data:K,bubbles:J=!0}){let ae=document.createEvent("HTMLEvents",1,2);return ae.initEvent(x,J,!0),nn(ae,K),f.dispatchEvent(ae),f===I.wrapper&&D(x),ae}function A(f){C({type:"slidechanged",data:{indexh:d,indexv:E,previousSlide:N,currentSlide:R,origin:f}})}function D(f,x){if(v.postMessageEvents&&window.parent!==window.self){let K={namespace:"reveal",eventName:f,state:En()};nn(K,x),window.parent.postMessage(JSON.stringify(K),"*")}}function L(f="a"){Array.from(I.wrapper.querySelectorAll(f)).forEach(x=>{/^(http|www)/gi.test(x.getAttribute("href"))&&x.addEventListener("click",Cn,!1)})}function B(f="a"){Array.from(I.wrapper.querySelectorAll(f)).forEach(x=>{/^(http|www)/gi.test(x.getAttribute("href"))&&x.removeEventListener("click",Cn,!1)})}function Y(f){V(),I.overlay=document.createElement("div"),I.overlay.classList.add("overlay"),I.overlay.classList.add("overlay-preview"),I.wrapper.appendChild(I.overlay),I.overlay.innerHTML=`
- - -
-
-
- - - Unable to load iframe. This is likely due to the site's policy (x-frame-options). - -
`,I.overlay.querySelector("iframe").addEventListener("load",x=>{I.overlay.classList.add("loaded")},!1),I.overlay.querySelector(".close").addEventListener("click",x=>{V(),x.preventDefault()},!1),I.overlay.querySelector(".external").addEventListener("click",x=>{V()},!1)}function M(){if(v.help){V(),I.overlay=document.createElement("div"),I.overlay.classList.add("overlay"),I.overlay.classList.add("overlay-help"),I.wrapper.appendChild(I.overlay);let f='

Keyboard Shortcuts


',x=tt.getShortcuts(),K=tt.getBindings();f+="";for(let J in x)f+=``;for(let J in K)K[J].key&&K[J].description&&(f+=``);f+="
KEYACTION
${J}${x[J]}
${K[J].key}${K[J].description}
",I.overlay.innerHTML=` -
- -
-
-
${f}
-
- `,I.overlay.querySelector(".close").addEventListener("click",J=>{V(),J.preventDefault()},!1)}}function V(){return!!I.overlay&&(I.overlay.parentNode.removeChild(I.overlay),I.overlay=null,!0)}function ie(){if(I.wrapper&&!Ce.isActive()){const f=I.viewport.offsetWidth,x=I.viewport.offsetHeight;if(!v.disableLayout){an&&!v.embedded&&document.documentElement.style.setProperty("--vh",.01*window.innerHeight+"px");const K=F.isActive()?Se(f,x):Se(),J=de;ue(v.width,v.height),I.slides.style.width=K.width+"px",I.slides.style.height=K.height+"px",de=Math.min(K.presentationWidth/K.width,K.presentationHeight/K.height),de=Math.max(de,v.minScale),de=Math.min(de,v.maxScale),de===1||F.isActive()?(I.slides.style.zoom="",I.slides.style.left="",I.slides.style.top="",I.slides.style.bottom="",I.slides.style.right="",_({layout:""})):(I.slides.style.zoom="",I.slides.style.left="50%",I.slides.style.top="50%",I.slides.style.bottom="auto",I.slides.style.right="auto",_({layout:"translate(-50%, -50%) scale("+de+")"}));const ae=Array.from(I.wrapper.querySelectorAll(Wt));for(let De=0,Pe=ae.length;De0&&K.presentationWidth<=v.scrollActivationWidth?F.isActive()||(Oe.create(),F.activate()):F.isActive()&&F.deactivate()}})(),I.viewport.style.setProperty("--slide-scale",de),I.viewport.style.setProperty("--viewport-width",f+"px"),I.viewport.style.setProperty("--viewport-height",x+"px"),F.layout(),ot.update(),Oe.updateParallax(),w.isActive()&&w.update()}}function ue(f,x){fe(I.slides,"section > .stretch, section > .r-stretch").forEach(K=>{let J=((ae,De=0)=>{if(ae){let Pe,ze=ae.style.height;return ae.style.height="0px",ae.parentNode.style.height="auto",Pe=De-ae.parentNode.offsetHeight,ae.style.height=ze+"px",ae.parentNode.style.removeProperty("height"),Pe}return De})(K,x);if(/(img|video)/gi.test(K.nodeName)){const ae=K.naturalWidth||K.videoWidth,De=K.naturalHeight||K.videoHeight,Pe=Math.min(f/ae,J/De);K.style.width=ae*Pe+"px",K.style.height=De*Pe+"px"}else K.style.width=f+"px",K.style.height=J+"px"})}function Se(f,x){let K=v.width,J=v.height;v.disableLayout&&(K=I.slides.offsetWidth,J=I.slides.offsetHeight);const ae={width:K,height:J,presentationWidth:f||I.wrapper.offsetWidth,presentationHeight:x||I.wrapper.offsetHeight};return ae.presentationWidth-=ae.presentationWidth*v.margin,ae.presentationHeight-=ae.presentationHeight*v.margin,typeof ae.width=="string"&&/%$/.test(ae.width)&&(ae.width=parseInt(ae.width,10)/100*ae.presentationWidth),typeof ae.height=="string"&&/%$/.test(ae.height)&&(ae.height=parseInt(ae.height,10)/100*ae.presentationHeight),ae}function Re(f,x){typeof f=="object"&&typeof f.setAttribute=="function"&&f.setAttribute("data-previous-indexv",x||0)}function se(f){if(typeof f=="object"&&typeof f.setAttribute=="function"&&f.classList.contains("stack")){const x=f.hasAttribute("data-start-indexv")?"data-start-indexv":"data-previous-indexv";return parseInt(f.getAttribute(x)||0,10)}return 0}function Ne(f=R){return f&&f.parentNode&&!!f.parentNode.nodeName.match(/section/i)}function ve(){return!(!R||!Ne(R))&&!R.nextElementSibling}function we(){return d===0&&E===0}function We(){return!!R&&!R.nextElementSibling&&(!Ne(R)||!R.parentNode.nextElementSibling)}function ke(){if(v.pause){const f=I.wrapper.classList.contains("paused");Bt(),I.wrapper.classList.add("paused"),f===!1&&C({type:"paused"})}}function rt(){const f=I.wrapper.classList.contains("paused");I.wrapper.classList.remove("paused"),xt(),f&&C({type:"resumed"})}function Mt(f){typeof f=="boolean"?f?ke():rt():kt()?rt():ke()}function kt(){return I.wrapper.classList.contains("paused")}function vt(f,x,K,J){if(C({type:"beforeslidechange",data:{indexh:f===void 0?d:f,indexv:x===void 0?E:x,origin:J}}).defaultPrevented)return;N=R;const ae=I.wrapper.querySelectorAll(Pt);if(F.isActive()){const St=F.getSlideByIndices(f,x);return void(St&&F.scrollToSlide(St))}if(ae.length===0)return;x!==void 0||w.isActive()||(x=se(ae[f])),N&&N.parentNode&&N.parentNode.classList.contains("stack")&&Re(N.parentNode,E);const De=ee.concat();ee.length=0;let Pe=d||0,ze=E||0;d=sn(Pt,f===void 0?d:f),E=sn(Wl,x===void 0?E:x);let yt=d!==Pe||E!==ze;yt||(N=null);let wt=ae[d],ut=wt.querySelectorAll("section");H.classList.toggle("is-vertical-slide",ut.length>1),R=ut[E]||wt;let Ke=!1;yt&&N&&R&&!w.isActive()&&(Ze="running",Ke=Qt(N,R,Pe,ze),Ke&&I.slides.classList.add("disable-slide-transitions")),jt(),ie(),w.isActive()&&w.update(),K!==void 0&&P.goto(K),N&&N!==R&&(N.classList.remove("present"),N.setAttribute("aria-hidden","true"),we()&&setTimeout(()=>{fe(I.wrapper,Pt+".stack").forEach(St=>{Re(St,0)})},0));e:for(let St=0,An=ee.length;St{_e(g(R))}),ot.update(),xe.update(),lt.update(),Oe.update(),Oe.updateParallax(),Me.update(),P.update(),et.writeURL(),xt(),Ke&&(setTimeout(()=>{I.slides.classList.remove("disable-slide-transitions")},0),v.autoAnimate&&qe.run(N,R))}function Qt(f,x,K,J){return f.hasAttribute("data-auto-animate")&&x.hasAttribute("data-auto-animate")&&f.getAttribute("data-auto-animate-id")===x.getAttribute("data-auto-animate-id")&&!(d>K||E>J?x:f).hasAttribute("data-auto-animate-restart")}function rn(){a(),l(),ie(),Be=v.autoSlide,xt(),Oe.create(),et.writeURL(),v.sortFragmentsOnSync===!0&&P.sortAll(),xe.update(),ot.update(),jt(),lt.update(),lt.updateVisibility(),Oe.update(!0),Me.update(),ye.formatEmbeddedContent(),v.autoPlayMedia===!1?ye.stopEmbeddedContent(R,{unloadIframes:!1}):ye.startEmbeddedContent(R),w.isActive()&&w.layout()}function Kt(f=It()){f.forEach((x,K)=>{let J=f[Math.floor(Math.random()*f.length)];J.parentNode===x.parentNode&&x.parentNode.insertBefore(x,J);let ae=x.querySelectorAll("section");ae.length&&Kt(ae)})}function sn(f,x){let K=fe(I.wrapper,f),J=K.length,ae=F.isActive()||Ce.isActive(),De=!1,Pe=!1;if(J){v.loop&&(x>=J&&(De=!0),(x%=J)<0&&(x=J+x,Pe=!0)),x=Math.max(Math.min(x,J-1),0);for(let ut=0;utx?(Ke.classList.add(St?"past":"future"),v.fragments&&ln(Ke)):ut===x&&v.fragments&&(De?ln(Ke):Pe&&on(Ke))}let ze=K[x],yt=ze.classList.contains("present");ze.classList.add("present"),ze.removeAttribute("hidden"),ze.removeAttribute("aria-hidden"),yt||C({target:ze,type:"visible",bubbles:!1});let wt=ze.getAttribute("data-state");wt&&(ee=ee.concat(wt.split(" ")))}else x=0;return x}function on(f){fe(f,".fragment").forEach(x=>{x.classList.add("visible"),x.classList.remove("current-fragment")})}function ln(f){fe(f,".fragment.visible").forEach(x=>{x.classList.remove("visible","current-fragment")})}function jt(){let f,x,K=It(),J=K.length;if(J&&d!==void 0){let ae=w.isActive()?10:v.viewDistance;an&&(ae=w.isActive()?6:v.mobileViewDistance),Ce.isActive()&&(ae=Number.MAX_VALUE);for(let De=0;De0,right:d0,down:E1&&(J.left=!0,J.right=!0),K.length>1&&(J.up=!0,J.down=!0)),x.length>1&&v.navigationMode==="linear"&&(J.right=J.right||J.down,J.left=J.left||J.up),f===!0){let ae=P.availableRoutes();J.left=J.left||ae.prev,J.up=J.up||ae.prev,J.down=J.down||ae.next,J.right=J.right||ae.next}if(v.rtl){let ae=J.left;J.left=J.right,J.right=ae}return J}function cn(f=R){let x=It(),K=0;e:for(let J=0;J0){let ae=R.querySelector(".current-fragment");x=ae&&ae.hasAttribute("data-fragment-index")?parseInt(ae.getAttribute("data-fragment-index"),10):R.querySelectorAll(".fragment.visible").length-1}return{h:K,v:J,f:x}}function Xt(){return fe(I.wrapper,Wt+':not(.stack):not([data-visibility="uncounted"])')}function It(){return fe(I.wrapper,Pt)}function _n(){return fe(I.wrapper,".slides>section>section")}function un(){return It().length>1}function pn(){return _n().length>1}function mn(){return Xt().length}function gn(f,x){let K=It()[f],J=K&&K.querySelectorAll("section");return J&&J.length&&typeof x=="number"?J?J[x]:void 0:K}function En(){let f=dn();return{indexh:f.h,indexv:f.v,indexf:f.f,paused:kt(),overview:w.isActive()}}function xt(){if(Bt(),R&&v.autoSlide!==!1){let f=R.querySelector(".current-fragment[data-autoslide]"),x=f?f.getAttribute("data-autoslide"):null,K=R.parentNode?R.parentNode.getAttribute("data-autoslide"):null,J=R.getAttribute("data-autoslide");x?Be=parseInt(x,10):J?Be=parseInt(J,10):K?Be=parseInt(K,10):(Be=v.autoSlide,R.querySelectorAll(".fragment").length===0&&fe(R,"video, audio").forEach(ae=>{ae.hasAttribute("data-autoplay")&&Be&&1e3*ae.duration/ae.playbackRate>Be&&(Be=1e3*ae.duration/ae.playbackRate+1e3)})),!Be||Xe||kt()||w.isActive()||We()&&!P.availableRoutes().next&&v.loop!==!0||(Ve=setTimeout(()=>{typeof v.autoSlideMethod=="function"?v.autoSlideMethod():en(),xt()},Be),Tt=Date.now()),k&&k.setPlaying(Ve!==-1)}}function Bt(){clearTimeout(Ve),Ve=-1}function Gt(){Be&&!Xe&&(Xe=!0,C({type:"autoslidepaused"}),clearTimeout(Ve),k&&k.setPlaying(!1))}function Yt(){Be&&Xe&&(Xe=!1,C({type:"autoslideresumed"}),xt())}function Ht({skipFragments:f=!1}={}){if(X.hasNavigatedHorizontally=!0,F.isActive())return F.prev();v.rtl?(w.isActive()||f||P.next()===!1)&&Nt().left&&vt(d+1,v.navigationMode==="grid"?E:void 0):(w.isActive()||f||P.prev()===!1)&&Nt().left&&vt(d-1,v.navigationMode==="grid"?E:void 0)}function zt({skipFragments:f=!1}={}){if(X.hasNavigatedHorizontally=!0,F.isActive())return F.next();v.rtl?(w.isActive()||f||P.prev()===!1)&&Nt().right&&vt(d-1,v.navigationMode==="grid"?E:void 0):(w.isActive()||f||P.next()===!1)&&Nt().right&&vt(d+1,v.navigationMode==="grid"?E:void 0)}function Zt({skipFragments:f=!1}={}){if(F.isActive())return F.prev();(w.isActive()||f||P.prev()===!1)&&Nt().up&&vt(d,E-1)}function Jt({skipFragments:f=!1}={}){if(X.hasNavigatedVertically=!0,F.isActive())return F.next();(w.isActive()||f||P.next()===!1)&&Nt().down&&vt(d,E+1)}function Sn({skipFragments:f=!1}={}){if(F.isActive())return F.prev();if(f||P.prev()===!1)if(Nt().up)Zt({skipFragments:f});else{let x;if(x=v.rtl?fe(I.wrapper,Pt+".future").pop():fe(I.wrapper,Pt+".past").pop(),x&&x.classList.contains("stack")){let K=x.querySelectorAll("section").length-1||void 0;vt(d-1,K)}else v.rtl?zt({skipFragments:f}):Ht({skipFragments:f})}}function en({skipFragments:f=!1}={}){if(X.hasNavigatedHorizontally=!0,X.hasNavigatedVertically=!0,F.isActive())return F.next();if(f||P.next()===!1){let x=Nt();x.down&&x.right&&v.loop&&ve()&&(x.down=!1),x.down?Jt({skipFragments:f}):v.rtl?Ht({skipFragments:f}):zt({skipFragments:f})}}function hn(f){let x=f.data;if(typeof x=="string"&&x.charAt(0)==="{"&&x.charAt(x.length-1)==="}"&&(x=JSON.parse(x),x.method&&typeof r[x.method]=="function"))if(hc.test(x.method)===!1){const K=r[x.method].apply(r,x.args);D("callback",{method:x.method,result:K})}else console.warn('reveal.js: "'+x.method+'" is is blacklisted from the postMessage API')}function bn(f){Ze==="running"&&/section/gi.test(f.target.nodeName)&&(Ze="idle",C({type:"slidetransitionend",data:{indexh:d,indexv:E,previousSlide:N,currentSlide:R}}))}function fn(f){const x=bt(f.target,'a[href^="#"]');if(x){const K=x.getAttribute("href"),J=et.getIndicesFromHash(K);J&&(r.slide(J.h,J.v,J.f),f.preventDefault())}}function Tn(f){ie()}function vn(f){document.hidden===!1&&document.activeElement!==document.body&&(typeof document.activeElement.blur=="function"&&document.activeElement.blur(),document.body.focus())}function Vt(f){(document.fullscreenElement||document.webkitFullscreenElement)===I.wrapper&&(f.stopImmediatePropagation(),setTimeout(()=>{r.layout(),r.focus.focus()},1))}function Cn(f){if(f.currentTarget&&f.currentTarget.hasAttribute("href")){let x=f.currentTarget.getAttribute("href");x&&(Y(x),f.preventDefault())}}function On(f){We()&&v.loop===!1?(vt(0,0),Yt()):Xe?Yt():Gt()}const Rn={VERSION:nc,initialize:function(f){if(!H)throw'Unable to find presentation root (
).';if(re=!0,I.wrapper=H,I.slides=H.querySelector(".slides"),!I.slides)throw'Unable to find slides container (
).';return v={...Uc,...v,...n,...f,...$l()},/print-pdf/gi.test(window.location.search)&&(v.view="print"),function(){v.embedded===!0?I.viewport=bt(H,".reveal-viewport")||H:(I.viewport=document.body,document.documentElement.classList.add("reveal-full-page")),I.viewport.classList.add("reveal-viewport")}(),window.addEventListener("load",ie,!1),_t.load(v.plugins,v.dependencies).then(W),new Promise(x=>r.on("ready",x))},configure:p,destroy:function(){re!==!1&&(a(),Bt(),B(),lt.destroy(),$e.destroy(),_t.destroy(),Dt.destroy(),xe.destroy(),ot.destroy(),Oe.destroy(),Me.destroy(),Je.destroy(),document.removeEventListener("fullscreenchange",Vt),document.removeEventListener("webkitfullscreenchange",Vt),document.removeEventListener("visibilitychange",vn,!1),window.removeEventListener("message",hn,!1),window.removeEventListener("load",ie,!1),I.pauseOverlay&&I.pauseOverlay.remove(),I.statusElement&&I.statusElement.remove(),document.documentElement.classList.remove("reveal-full-page"),I.wrapper.classList.remove("ready","center","has-horizontal-slides","has-vertical-slides"),I.wrapper.removeAttribute("data-transition-speed"),I.wrapper.removeAttribute("data-background-transition"),I.viewport.classList.remove("reveal-viewport"),I.viewport.style.removeProperty("--slide-width"),I.viewport.style.removeProperty("--slide-height"),I.slides.style.removeProperty("width"),I.slides.style.removeProperty("height"),I.slides.style.removeProperty("zoom"),I.slides.style.removeProperty("left"),I.slides.style.removeProperty("top"),I.slides.style.removeProperty("bottom"),I.slides.style.removeProperty("right"),I.slides.style.removeProperty("transform"),Array.from(I.wrapper.querySelectorAll(Wt)).forEach(f=>{f.style.removeProperty("display"),f.style.removeProperty("top"),f.removeAttribute("hidden"),f.removeAttribute("aria-hidden")}))},sync:rn,syncSlide:function(f=R){Oe.sync(f),P.sync(f),ye.load(f),Oe.update(),lt.update()},syncFragments:P.sync.bind(P),slide:vt,left:Ht,right:zt,up:Zt,down:Jt,prev:Sn,next:en,navigateLeft:Ht,navigateRight:zt,navigateUp:Zt,navigateDown:Jt,navigatePrev:Sn,navigateNext:en,navigateFragment:P.goto.bind(P),prevFragment:P.prev.bind(P),nextFragment:P.next.bind(P),on:o,off:s,addEventListener:o,removeEventListener:s,layout:ie,shuffle:Kt,availableRoutes:Nt,availableFragments:P.availableRoutes.bind(P),toggleHelp:function(f){typeof f=="boolean"?f?M():V():I.overlay?V():M()},toggleOverview:w.toggle.bind(w),toggleScrollView:F.toggle.bind(F),togglePause:Mt,toggleAutoSlide:function(f){typeof f=="boolean"?f?Yt():Gt():Xe?Yt():Gt()},toggleJumpToSlide:function(f){typeof f=="boolean"?f?Je.show():Je.hide():Je.isVisible()?Je.hide():Je.show()},isFirstSlide:we,isLastSlide:We,isLastVerticalSlide:ve,isVerticalSlide:Ne,isVerticalStack:function(f=R){return f.classList.contains(".stack")||f.querySelector("section")!==null},isPaused:kt,isAutoSliding:function(){return!(!Be||Xe)},isSpeakerNotes:lt.isSpeakerNotesWindow.bind(lt),isOverview:w.isActive.bind(w),isFocused:$e.isFocused.bind($e),isScrollView:F.isActive.bind(F),isPrintView:Ce.isActive.bind(Ce),isReady:()=>G,loadSlide:ye.load.bind(ye),unloadSlide:ye.unload.bind(ye),startEmbeddedContent:()=>ye.startEmbeddedContent(R),stopEmbeddedContent:()=>ye.stopEmbeddedContent(R,{unloadIframes:!1}),showPreview:Y,hidePreview:V,addEventListeners:l,removeEventListeners:a,dispatchEvent:C,getState:En,setState:function(f){if(typeof f=="object"){vt(tn(f.indexh),tn(f.indexv),tn(f.indexf));let x=tn(f.paused),K=tn(f.overview);typeof x=="boolean"&&x!==kt()&&Mt(x),typeof K=="boolean"&&K!==w.isActive()&&w.toggle(K)}},getProgress:function(){let f=mn(),x=cn();if(R){let K=R.querySelectorAll(".fragment");K.length>0&&(x+=R.querySelectorAll(".fragment.visible").length/K.length*.9)}return Math.min(x/(f-1),1)},getIndices:dn,getSlidesAttributes:function(){return Xt().map(f=>{let x={};for(let K=0;KN,getCurrentSlide:()=>R,getSlideBackground:function(f,x){let K=typeof f=="number"?gn(f,x):f;if(K)return K.slideBackgroundElement},getSlideNotes:lt.getSlideNotes.bind(lt),getSlides:Xt,getHorizontalSlides:It,getVerticalSlides:_n,hasHorizontalSlides:un,hasVerticalSlides:pn,hasNavigatedHorizontally:()=>X.hasNavigatedHorizontally,hasNavigatedVertically:()=>X.hasNavigatedVertically,shouldAutoAnimateBetween:Qt,addKeyBinding:tt.addKeyBinding.bind(tt),removeKeyBinding:tt.removeKeyBinding.bind(tt),triggerKey:tt.triggerKey.bind(tt),registerKeyboardShortcut:tt.registerKeyboardShortcut.bind(tt),getComputedSlideSize:Se,setCurrentScrollPage:function(f,x,K){let J=d||0;d=x,E=K;const ae=R!==f;N=R,R=f,R&&N&&v.autoAnimate&&Qt(N,R,J,E)&&qe.run(N,R),ae&&(N&&(ye.stopEmbeddedContent(N),ye.stopEmbeddedContent(N.slideBackgroundElement)),ye.startEmbeddedContent(R),ye.startEmbeddedContent(R.slideBackgroundElement)),requestAnimationFrame(()=>{_e(g(R))}),A()},getScale:()=>de,getConfig:()=>v,getQueryHash:$l,getSlidePath:et.getHash.bind(et),getRevealElement:()=>H,getSlidesElement:()=>I.slides,getViewportElement:()=>I.viewport,getBackgroundsElement:()=>Oe.element,registerPlugin:_t.registerPlugin.bind(_t),hasPlugin:_t.hasPlugin.bind(_t),getPlugin:_t.getPlugin.bind(_t),getPlugins:_t.getRegisteredPlugins.bind(_t)};return nn(r,{...Rn,announceStatus:_e,getStatusText:g,focus:$e,scroll:F,progress:ot,controls:xe,location:et,overview:w,fragments:P,backgrounds:Oe,slideContent:ye,slideNumber:Me,onUserInput:function(f){v.autoSlideStoppable&&Gt()},closeOverlay:V,updateSlidesVisibility:jt,layoutSlideContents:ue,transformSlides:_,cueAutoSlide:xt,cancelAutoSlide:Bt}),Rn}let Ut=ac,Zl=[];Ut.initialize=H=>(Object.assign(Ut,new ac(document.querySelector(".reveal"),H)),Zl.map(n=>n(Ut)),Ut.initialize()),["configure","on","off","addEventListener","removeEventListener","registerPlugin"].forEach(H=>{Ut[H]=(...n)=>{Zl.push(r=>r[H].call(null,...n))}}),Ut.isReady=()=>!1,Ut.VERSION=nc;var jn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Xn(H){return H&&H.__esModule&&Object.prototype.hasOwnProperty.call(H,"default")?H.default:H}var ic={exports:{}};(function(H,n){(function(r,d){H.exports=d()})(jn,function(){function r(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,hooks:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}let d={async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,hooks:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};const E=/[&<>"']/,N=new RegExp(E.source,"g"),R=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,k=new RegExp(R.source,"g"),v={"&":"&","<":"<",">":">",'"':""","'":"'"},re=l=>v[l];function G(l,a){if(a){if(E.test(l))return l.replace(N,re)}else if(R.test(l))return l.replace(k,re);return l}const X=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function ee(l){return l.replace(X,(a,o)=>(o=o.toLowerCase())==="colon"?":":o.charAt(0)==="#"?o.charAt(1)==="x"?String.fromCharCode(parseInt(o.substring(2),16)):String.fromCharCode(+o.substring(1)):"")}const de=/(^|[^\[])\^/g;function te(l,a){l=typeof l=="string"?l:l.source,a=a||"";const o={replace:(s,_)=>(_=(_=_.source||_).replace(de,"$1"),l=l.replace(s,_),o),getRegex:()=>new RegExp(l,a)};return o}const I=/[^\w:]/g,Ze=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function Be(l,a,o){if(l){let s;try{s=decodeURIComponent(ee(o)).replace(I,"").toLowerCase()}catch{return null}if(s.indexOf("javascript:")===0||s.indexOf("vbscript:")===0||s.indexOf("data:")===0)return null}a&&!Ze.test(o)&&(o=function(s,_){Ve[" "+s]||(Tt.test(s)?Ve[" "+s]=s+"/":Ve[" "+s]=qe(s,"/",!0)),s=Ve[" "+s];const C=s.indexOf(":")===-1;return _.substring(0,2)==="//"?C?_:s.replace(Xe,"$1")+_:_.charAt(0)==="/"?C?_:s.replace(ye,"$1")+_:s+_}(a,o));try{o=encodeURI(o).replace(/%25/g,"%")}catch{return null}return o}const Ve={},Tt=/^[^:]+:\/*[^/]*$/,Xe=/^([^:]+:)[\s\S]*$/,ye=/^([^:]+:\/*[^/]*)[\s\S]*$/,Me={exec:function(){}};function Je(l,a){const o=l.replace(/\|/g,(_,C,A)=>{let D=!1,L=C;for(;--L>=0&&A[L]==="\\";)D=!D;return D?"|":" |"}).split(/ \|/);let s=0;if(o[0].trim()||o.shift(),o.length>0&&!o[o.length-1].trim()&&o.pop(),o.length>a)o.splice(a);else for(;o.length1;)1&a&&(o+=l),a>>=1,l+=l;return o+l}function F(l,a,o,s){const _=a.href,C=a.title?G(a.title):null,A=l[1].replace(/\\([\[\]])/g,"$1");if(l[0].charAt(0)!=="!"){s.state.inLink=!0;const D={type:"link",raw:o,href:_,title:C,text:A,tokens:s.inlineTokens(A)};return s.state.inLink=!1,D}return{type:"image",raw:o,href:_,title:C,text:G(A)}}class Ce{constructor(a){this.options=a||d}space(a){const o=this.rules.block.newline.exec(a);if(o&&o[0].length>0)return{type:"space",raw:o[0]}}code(a){const o=this.rules.block.code.exec(a);if(o){const s=o[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:o[0],codeBlockStyle:"indented",text:this.options.pedantic?s:qe(s,` -`)}}}fences(a){const o=this.rules.block.fences.exec(a);if(o){const s=o[0],_=function(C,A){const D=C.match(/^(\s+)(?:```)/);if(D===null)return A;const L=D[1];return A.split(` -`).map(B=>{const Y=B.match(/^\s+/);if(Y===null)return B;const[M]=Y;return M.length>=L.length?B.slice(L.length):B}).join(` -`)}(s,o[3]||"");return{type:"code",raw:s,lang:o[2]?o[2].trim().replace(this.rules.inline._escapes,"$1"):o[2],text:_}}}heading(a){const o=this.rules.block.heading.exec(a);if(o){let s=o[2].trim();if(/#$/.test(s)){const _=qe(s,"#");this.options.pedantic?s=_.trim():_&&!/ $/.test(_)||(s=_.trim())}return{type:"heading",raw:o[0],depth:o[1].length,text:s,tokens:this.lexer.inline(s)}}}hr(a){const o=this.rules.block.hr.exec(a);if(o)return{type:"hr",raw:o[0]}}blockquote(a){const o=this.rules.block.blockquote.exec(a);if(o){const s=o[0].replace(/^ *>[ \t]?/gm,""),_=this.lexer.state.top;this.lexer.state.top=!0;const C=this.lexer.blockTokens(s);return this.lexer.state.top=_,{type:"blockquote",raw:o[0],tokens:C,text:s}}}list(a){let o=this.rules.block.list.exec(a);if(o){let s,_,C,A,D,L,B,Y,M,V,ie,ue,Se=o[1].trim();const Re=Se.length>1,se={type:"list",raw:"",ordered:Re,start:Re?+Se.slice(0,-1):"",loose:!1,items:[]};Se=Re?`\\d{1,9}\\${Se.slice(-1)}`:`\\${Se}`,this.options.pedantic&&(Se=Re?Se:"[*+-]");const Ne=new RegExp(`^( {0,3}${Se})((?:[ ][^\\n]*)?(?:\\n|$))`);for(;a&&(ue=!1,o=Ne.exec(a))&&!this.rules.block.hr.test(a);){if(s=o[0],a=a.substring(s.length),Y=o[2].split(` -`,1)[0].replace(/^\t+/,we=>" ".repeat(3*we.length)),M=a.split(` -`,1)[0],this.options.pedantic?(A=2,ie=Y.trimLeft()):(A=o[2].search(/[^ ]/),A=A>4?1:A,ie=Y.slice(A),A+=o[1].length),L=!1,!Y&&/^ *$/.test(M)&&(s+=M+` -`,a=a.substring(M.length+1),ue=!0),!ue){const we=new RegExp(`^ {0,${Math.min(3,A-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),We=new RegExp(`^ {0,${Math.min(3,A-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),ke=new RegExp(`^ {0,${Math.min(3,A-1)}}(?:\`\`\`|~~~)`),rt=new RegExp(`^ {0,${Math.min(3,A-1)}}#`);for(;a&&(V=a.split(` -`,1)[0],M=V,this.options.pedantic&&(M=M.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!ke.test(M))&&!rt.test(M)&&!we.test(M)&&!We.test(a);){if(M.search(/[^ ]/)>=A||!M.trim())ie+=` -`+M.slice(A);else{if(L||Y.search(/[^ ]/)>=4||ke.test(Y)||rt.test(Y)||We.test(Y))break;ie+=` -`+M}L||M.trim()||(L=!0),s+=V+` -`,a=a.substring(V.length+1),Y=M.slice(A)}}se.loose||(B?se.loose=!0:/\n *\n *$/.test(s)&&(B=!0)),this.options.gfm&&(_=/^\[[ xX]\] /.exec(ie),_&&(C=_[0]!=="[ ] ",ie=ie.replace(/^\[[ xX]\] +/,""))),se.items.push({type:"list_item",raw:s,task:!!_,checked:C,loose:!1,text:ie}),se.raw+=s}se.items[se.items.length-1].raw=s.trimRight(),se.items[se.items.length-1].text=ie.trimRight(),se.raw=se.raw.trimRight();const ve=se.items.length;for(D=0;Dke.type==="space"),We=we.length>0&&we.some(ke=>/\n.*\n/.test(ke.raw));se.loose=We}if(se.loose)for(D=0;D$/,"$1").replace(this.rules.inline._escapes,"$1"):"",C=o[3]?o[3].substring(1,o[3].length-1).replace(this.rules.inline._escapes,"$1"):o[3];return{type:"def",tag:s,raw:o[0],href:_,title:C}}}table(a){const o=this.rules.block.table.exec(a);if(o){const s={type:"table",header:Je(o[1]).map(_=>({text:_})),align:o[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:o[3]&&o[3].trim()?o[3].replace(/\n[ \t]*$/,"").split(` -`):[]};if(s.header.length===s.align.length){s.raw=o[0];let _,C,A,D,L=s.align.length;for(_=0;_({text:B}));for(L=s.header.length,C=0;C/i.test(o[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(o[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(o[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:o[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(o[0]):G(o[0]):o[0]}}link(a){const o=this.rules.inline.link.exec(a);if(o){const s=o[2].trim();if(!this.options.pedantic&&/^$/.test(s))return;const A=qe(s.slice(0,-1),"\\");if((s.length-A.length)%2==0)return}else{const A=function(D,L){if(D.indexOf(L[1])===-1)return-1;const B=D.length;let Y=0,M=0;for(;M-1){const D=(o[0].indexOf("!")===0?5:4)+o[1].length+A;o[2]=o[2].substring(0,A),o[0]=o[0].substring(0,D).trim(),o[3]=""}}let _=o[2],C="";if(this.options.pedantic){const A=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(_);A&&(_=A[1],C=A[3])}else C=o[3]?o[3].slice(1,-1):"";return _=_.trim(),/^$/.test(s)?_.slice(1):_.slice(1,-1)),F(o,{href:_&&_.replace(this.rules.inline._escapes,"$1"),title:C&&C.replace(this.rules.inline._escapes,"$1")},o[0],this.lexer)}}reflink(a,o){let s;if((s=this.rules.inline.reflink.exec(a))||(s=this.rules.inline.nolink.exec(a))){let _=(s[2]||s[1]).replace(/\s+/g," ");if(_=o[_.toLowerCase()],!_){const C=s[0].charAt(0);return{type:"text",raw:C,text:C}}return F(s,_,s[0],this.lexer)}}emStrong(a,o,s=""){let _=this.rules.inline.emStrong.lDelim.exec(a);if(!_||_[3]&&s.match(/[\p{L}\p{N}]/u))return;const C=_[1]||_[2]||"";if(!C||C&&(s===""||this.rules.inline.punctuation.exec(s))){const A=_[0].length-1;let D,L,B=A,Y=0;const M=_[0][0]==="*"?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(M.lastIndex=0,o=o.slice(-1*a.length+A);(_=M.exec(o))!=null;){if(D=_[1]||_[2]||_[3]||_[4]||_[5]||_[6],!D)continue;if(L=D.length,_[3]||_[4]){B+=L;continue}if((_[5]||_[6])&&A%3&&!((A+L)%3)){Y+=L;continue}if(B-=L,B>0)continue;L=Math.min(L,L+B+Y);const V=a.slice(0,A+_.index+(_[0].length-D.length)+L);if(Math.min(A,L)%2){const ue=V.slice(1,-1);return{type:"em",raw:V,text:ue,tokens:this.lexer.inlineTokens(ue)}}const ie=V.slice(2,-2);return{type:"strong",raw:V,text:ie,tokens:this.lexer.inlineTokens(ie)}}}}codespan(a){const o=this.rules.inline.code.exec(a);if(o){let s=o[2].replace(/\n/g," ");const _=/[^ ]/.test(s),C=/^ /.test(s)&&/ $/.test(s);return _&&C&&(s=s.substring(1,s.length-1)),s=G(s,!0),{type:"codespan",raw:o[0],text:s}}}br(a){const o=this.rules.inline.br.exec(a);if(o)return{type:"br",raw:o[0]}}del(a){const o=this.rules.inline.del.exec(a);if(o)return{type:"del",raw:o[0],text:o[2],tokens:this.lexer.inlineTokens(o[2])}}autolink(a,o){const s=this.rules.inline.autolink.exec(a);if(s){let _,C;return s[2]==="@"?(_=G(this.options.mangle?o(s[1]):s[1]),C="mailto:"+_):(_=G(s[1]),C=_),{type:"link",raw:s[0],text:_,href:C,tokens:[{type:"text",raw:_,text:_}]}}}url(a,o){let s;if(s=this.rules.inline.url.exec(a)){let _,C;if(s[2]==="@")_=G(this.options.mangle?o(s[0]):s[0]),C="mailto:"+_;else{let A;do A=s[0],s[0]=this.rules.inline._backpedal.exec(s[0])[0];while(A!==s[0]);_=G(s[0]),C=s[1]==="www."?"http://"+s[0]:s[0]}return{type:"link",raw:s[0],text:_,href:C,tokens:[{type:"text",raw:_,text:_}]}}}inlineText(a,o){const s=this.rules.inline.text.exec(a);if(s){let _;return _=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(s[0]):G(s[0]):s[0]:G(this.options.smartypants?o(s[0]):s[0]),{type:"text",raw:s[0],text:_}}}}const P={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:Me,lheading:/^((?:.|\n(?!\n))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};P.def=te(P.def).replace("label",P._label).replace("title",P._title).getRegex(),P.bullet=/(?:[*+-]|\d{1,9}[.)])/,P.listItemStart=te(/^( *)(bull) */).replace("bull",P.bullet).getRegex(),P.list=te(P.list).replace(/bull/g,P.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+P.def.source+")").getRegex(),P._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",P._comment=/|$)/,P.html=te(P.html,"i").replace("comment",P._comment).replace("tag",P._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),P.paragraph=te(P._paragraph).replace("hr",P.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",P._tag).getRegex(),P.blockquote=te(P.blockquote).replace("paragraph",P.paragraph).getRegex(),P.normal={...P},P.gfm={...P.normal,table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"},P.gfm.table=te(P.gfm.table).replace("hr",P.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",P._tag).getRegex(),P.gfm.paragraph=te(P._paragraph).replace("hr",P.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",P.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",P._tag).getRegex(),P.pedantic={...P.normal,html:te(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",P._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Me,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:te(P.normal._paragraph).replace("hr",P.hr).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",P.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()};const w={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:Me,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^(?:[^_*\\]|\\.)*?\_\_(?:[^_*\\]|\\.)*?\*(?:[^_*\\]|\\.)*?(?=\_\_)|(?:[^*\\]|\\.)+(?=[^*])|[punct_](\*+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|(?:[^punct*_\s\\]|\\.)(\*+)(?=[^punct*_\s])/,rDelimUnd:/^(?:[^_*\\]|\\.)*?\*\*(?:[^_*\\]|\\.)*?\_(?:[^_*\\]|\\.)*?(?=\*\*)|(?:[^_\\]|\\.)+(?=[^_])|[punct*](\_+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:Me,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(o="x"+o.toString(16)),s+="&#"+o+";";return s}w._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",w.punctuation=te(w.punctuation).replace(/punctuation/g,w._punctuation).getRegex(),w.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,w.escapedEmSt=/(?:^|[^\\])(?:\\\\)*\\[*_]/g,w._comment=te(P._comment).replace("(?:-->|$)","-->").getRegex(),w.emStrong.lDelim=te(w.emStrong.lDelim).replace(/punct/g,w._punctuation).getRegex(),w.emStrong.rDelimAst=te(w.emStrong.rDelimAst,"g").replace(/punct/g,w._punctuation).getRegex(),w.emStrong.rDelimUnd=te(w.emStrong.rDelimUnd,"g").replace(/punct/g,w._punctuation).getRegex(),w._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,w._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,w._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,w.autolink=te(w.autolink).replace("scheme",w._scheme).replace("email",w._email).getRegex(),w._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,w.tag=te(w.tag).replace("comment",w._comment).replace("attribute",w._attribute).getRegex(),w._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,w._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,w._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,w.link=te(w.link).replace("label",w._label).replace("href",w._href).replace("title",w._title).getRegex(),w.reflink=te(w.reflink).replace("label",w._label).replace("ref",P._label).getRegex(),w.nolink=te(w.nolink).replace("ref",P._label).getRegex(),w.reflinkSearch=te(w.reflinkSearch,"g").replace("reflink",w.reflink).replace("nolink",w.nolink).getRegex(),w.normal={...w},w.pedantic={...w.normal,strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:te(/^!?\[(label)\]\((.*?)\)/).replace("label",w._label).getRegex(),reflink:te(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",w._label).getRegex()},w.gfm={...w.normal,escape:te(w.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\L+" ".repeat(B.length));a;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(D=>!!(s=D.call({lexer:this},a,o))&&(a=a.substring(s.raw.length),o.push(s),!0))))if(s=this.tokenizer.space(a))a=a.substring(s.raw.length),s.raw.length===1&&o.length>0?o[o.length-1].raw+=` -`:o.push(s);else if(s=this.tokenizer.code(a))a=a.substring(s.raw.length),_=o[o.length-1],!_||_.type!=="paragraph"&&_.type!=="text"?o.push(s):(_.raw+=` -`+s.raw,_.text+=` -`+s.text,this.inlineQueue[this.inlineQueue.length-1].src=_.text);else if(s=this.tokenizer.fences(a))a=a.substring(s.raw.length),o.push(s);else if(s=this.tokenizer.heading(a))a=a.substring(s.raw.length),o.push(s);else if(s=this.tokenizer.hr(a))a=a.substring(s.raw.length),o.push(s);else if(s=this.tokenizer.blockquote(a))a=a.substring(s.raw.length),o.push(s);else if(s=this.tokenizer.list(a))a=a.substring(s.raw.length),o.push(s);else if(s=this.tokenizer.html(a))a=a.substring(s.raw.length),o.push(s);else if(s=this.tokenizer.def(a))a=a.substring(s.raw.length),_=o[o.length-1],!_||_.type!=="paragraph"&&_.type!=="text"?this.tokens.links[s.tag]||(this.tokens.links[s.tag]={href:s.href,title:s.title}):(_.raw+=` -`+s.raw,_.text+=` -`+s.raw,this.inlineQueue[this.inlineQueue.length-1].src=_.text);else if(s=this.tokenizer.table(a))a=a.substring(s.raw.length),o.push(s);else if(s=this.tokenizer.lheading(a))a=a.substring(s.raw.length),o.push(s);else{if(C=a,this.options.extensions&&this.options.extensions.startBlock){let D=1/0;const L=a.slice(1);let B;this.options.extensions.startBlock.forEach(function(Y){B=Y.call({lexer:this},L),typeof B=="number"&&B>=0&&(D=Math.min(D,B))}),D<1/0&&D>=0&&(C=a.substring(0,D+1))}if(this.state.top&&(s=this.tokenizer.paragraph(C)))_=o[o.length-1],A&&_.type==="paragraph"?(_.raw+=` -`+s.raw,_.text+=` -`+s.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=_.text):o.push(s),A=C.length!==a.length,a=a.substring(s.raw.length);else if(s=this.tokenizer.text(a))a=a.substring(s.raw.length),_=o[o.length-1],_&&_.type==="text"?(_.raw+=` -`+s.raw,_.text+=` -`+s.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=_.text):o.push(s);else if(a){const D="Infinite loop on byte: "+a.charCodeAt(0);if(this.options.silent){console.error(D);break}throw new Error(D)}}return this.state.top=!0,o}inline(a,o=[]){return this.inlineQueue.push({src:a,tokens:o}),o}inlineTokens(a,o=[]){let s,_,C,A,D,L,B=a;if(this.tokens.links){const Y=Object.keys(this.tokens.links);if(Y.length>0)for(;(A=this.tokenizer.rules.inline.reflinkSearch.exec(B))!=null;)Y.includes(A[0].slice(A[0].lastIndexOf("[")+1,-1))&&(B=B.slice(0,A.index)+"["+Oe("a",A[0].length-2)+"]"+B.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(A=this.tokenizer.rules.inline.blockSkip.exec(B))!=null;)B=B.slice(0,A.index)+"["+Oe("a",A[0].length-2)+"]"+B.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(A=this.tokenizer.rules.inline.escapedEmSt.exec(B))!=null;)B=B.slice(0,A.index+A[0].length-2)+"++"+B.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex),this.tokenizer.rules.inline.escapedEmSt.lastIndex--;for(;a;)if(D||(L=""),D=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(Y=>!!(s=Y.call({lexer:this},a,o))&&(a=a.substring(s.raw.length),o.push(s),!0))))if(s=this.tokenizer.escape(a))a=a.substring(s.raw.length),o.push(s);else if(s=this.tokenizer.tag(a))a=a.substring(s.raw.length),_=o[o.length-1],_&&s.type==="text"&&_.type==="text"?(_.raw+=s.raw,_.text+=s.text):o.push(s);else if(s=this.tokenizer.link(a))a=a.substring(s.raw.length),o.push(s);else if(s=this.tokenizer.reflink(a,this.tokens.links))a=a.substring(s.raw.length),_=o[o.length-1],_&&s.type==="text"&&_.type==="text"?(_.raw+=s.raw,_.text+=s.text):o.push(s);else if(s=this.tokenizer.emStrong(a,B,L))a=a.substring(s.raw.length),o.push(s);else if(s=this.tokenizer.codespan(a))a=a.substring(s.raw.length),o.push(s);else if(s=this.tokenizer.br(a))a=a.substring(s.raw.length),o.push(s);else if(s=this.tokenizer.del(a))a=a.substring(s.raw.length),o.push(s);else if(s=this.tokenizer.autolink(a,et))a=a.substring(s.raw.length),o.push(s);else if(this.state.inLink||!(s=this.tokenizer.url(a,et))){if(C=a,this.options.extensions&&this.options.extensions.startInline){let Y=1/0;const M=a.slice(1);let V;this.options.extensions.startInline.forEach(function(ie){V=ie.call({lexer:this},M),typeof V=="number"&&V>=0&&(Y=Math.min(Y,V))}),Y<1/0&&Y>=0&&(C=a.substring(0,Y+1))}if(s=this.tokenizer.inlineText(C,tt))a=a.substring(s.raw.length),s.raw.slice(-1)!=="_"&&(L=s.raw.slice(-1)),D=!0,_=o[o.length-1],_&&_.type==="text"?(_.raw+=s.raw,_.text+=s.text):o.push(s);else if(a){const Y="Infinite loop on byte: "+a.charCodeAt(0);if(this.options.silent){console.error(Y);break}throw new Error(Y)}}else a=a.substring(s.raw.length),o.push(s);return o}}class ot{constructor(a){this.options=a||d}code(a,o,s){const _=(o||"").match(/\S*/)[0];if(this.options.highlight){const C=this.options.highlight(a,_);C!=null&&C!==a&&(s=!0,a=C)}return a=a.replace(/\n$/,"")+` -`,_?'
'+(s?a:G(a,!0))+`
-`:"
"+(s?a:G(a,!0))+`
-`}blockquote(a){return`
-${a}
-`}html(a){return a}heading(a,o,s,_){return this.options.headerIds?`${a} -`:`${a} -`}hr(){return this.options.xhtml?`
-`:`
-`}list(a,o,s){const _=o?"ol":"ul";return"<"+_+(o&&s!==1?' start="'+s+'"':"")+`> -`+a+" -`}listitem(a){return`
  • ${a}
  • -`}checkbox(a){return" "}paragraph(a){return`

    ${a}

    -`}table(a,o){return o&&(o=`${o}`),` - -`+a+` -`+o+`
    -`}tablerow(a){return` -${a} -`}tablecell(a,o){const s=o.header?"th":"td";return(o.align?`<${s} align="${o.align}">`:`<${s}>`)+a+` -`}strong(a){return`${a}`}em(a){return`${a}`}codespan(a){return`${a}`}br(){return this.options.xhtml?"
    ":"
    "}del(a){return`${a}`}link(a,o,s){if((a=Be(this.options.sanitize,this.options.baseUrl,a))===null)return s;let _='",_}image(a,o,s){if((a=Be(this.options.sanitize,this.options.baseUrl,a))===null)return s;let _=`${s}":">",_}text(a){return a}}class Dt{strong(a){return a}em(a){return a}codespan(a){return a}del(a){return a}html(a){return a}text(a){return a}link(a,o,s){return""+s}image(a,o,s){return""+s}br(){return""}}class _t{constructor(){this.seen={}}serialize(a){return a.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}getNextSafeSlug(a,o){let s=a,_=0;if(this.seen.hasOwnProperty(s)){_=this.seen[a];do _++,s=a+"-"+_;while(this.seen.hasOwnProperty(s))}return o||(this.seen[a]=_,this.seen[s]=0),s}slug(a,o={}){const s=this.serialize(a);return this.getNextSafeSlug(s,o.dryrun)}}class $e{constructor(a){this.options=a||d,this.options.renderer=this.options.renderer||new ot,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Dt,this.slugger=new _t}static parse(a,o){return new $e(o).parse(a)}static parseInline(a,o){return new $e(o).parseInline(a)}parse(a,o=!0){let s,_,C,A,D,L,B,Y,M,V,ie,ue,Se,Re,se,Ne,ve,we,We,ke="";const rt=a.length;for(s=0;s0&&se.tokens[0].type==="paragraph"?(se.tokens[0].text=we+" "+se.tokens[0].text,se.tokens[0].tokens&&se.tokens[0].tokens.length>0&&se.tokens[0].tokens[0].type==="text"&&(se.tokens[0].tokens[0].text=we+" "+se.tokens[0].tokens[0].text)):se.tokens.unshift({type:"text",text:we}):Re+=we),Re+=this.parse(se.tokens,Se),M+=this.renderer.listitem(Re,ve,Ne);ke+=this.renderer.list(M,ie,ue);continue;case"html":ke+=this.renderer.html(V.text);continue;case"paragraph":ke+=this.renderer.paragraph(this.parseInline(V.tokens));continue;case"text":for(M=V.tokens?this.parseInline(V.tokens):V.text;s+1{typeof s=="function"&&(_=s,s=null);const C={...s},A=function(D,L,B){return Y=>{if(Y.message+=` -Please report this to https://github.com/markedjs/marked.`,D){const M="

    An error occurred:

    "+G(Y.message+"",!0)+"
    ";return L?Promise.resolve(M):B?void B(null,M):M}if(L)return Promise.reject(Y);if(!B)throw Y;B(Y)}}((s={...W.defaults,...C}).silent,s.async,_);if(o==null)return A(new Error("marked(): input parameter is undefined or null"));if(typeof o!="string")return A(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(o)+", string expected"));if(function(D){D&&D.sanitize&&!D.silent&&console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options")}(s),s.hooks&&(s.hooks.options=s),_){const D=s.highlight;let L;try{s.hooks&&(o=s.hooks.preprocess(o)),L=l(o,s)}catch(M){return A(M)}const B=function(M){let V;if(!M)try{s.walkTokens&&W.walkTokens(L,s.walkTokens),V=a(L,s),s.hooks&&(V=s.hooks.postprocess(V))}catch(ie){M=ie}return s.highlight=D,M?A(M):_(null,V)};if(!D||D.length<3||(delete s.highlight,!L.length))return B();let Y=0;return W.walkTokens(L,function(M){M.type==="code"&&(Y++,setTimeout(()=>{D(M.text,M.lang,function(V,ie){if(V)return B(V);ie!=null&&ie!==M.text&&(M.text=ie,M.escaped=!0),Y--,Y===0&&B()})},0))}),void(Y===0&&B())}if(s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(o):o).then(D=>l(D,s)).then(D=>s.walkTokens?Promise.all(W.walkTokens(D,s.walkTokens)).then(()=>D):D).then(D=>a(D,s)).then(D=>s.hooks?s.hooks.postprocess(D):D).catch(A);try{s.hooks&&(o=s.hooks.preprocess(o));const D=l(o,s);s.walkTokens&&W.walkTokens(D,s.walkTokens);let L=a(D,s);return s.hooks&&(L=s.hooks.postprocess(L)),L}catch(D){return A(D)}}}function W(l,a,o){return lt(xe.lex,$e.parse)(l,a,o)}W.options=W.setOptions=function(l){var a;return W.defaults={...W.defaults,...l},a=W.defaults,d=a,W},W.getDefaults=r,W.defaults=d,W.use=function(...l){const a=W.defaults.extensions||{renderers:{},childTokens:{}};l.forEach(o=>{const s={...o};if(s.async=W.defaults.async||s.async||!1,o.extensions&&(o.extensions.forEach(_=>{if(!_.name)throw new Error("extension name required");if(_.renderer){const C=a.renderers[_.name];a.renderers[_.name]=C?function(...A){let D=_.renderer.apply(this,A);return D===!1&&(D=C.apply(this,A)),D}:_.renderer}if(_.tokenizer){if(!_.level||_.level!=="block"&&_.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");a[_.level]?a[_.level].unshift(_.tokenizer):a[_.level]=[_.tokenizer],_.start&&(_.level==="block"?a.startBlock?a.startBlock.push(_.start):a.startBlock=[_.start]:_.level==="inline"&&(a.startInline?a.startInline.push(_.start):a.startInline=[_.start]))}_.childTokens&&(a.childTokens[_.name]=_.childTokens)}),s.extensions=a),o.renderer){const _=W.defaults.renderer||new ot;for(const C in o.renderer){const A=_[C];_[C]=(...D)=>{let L=o.renderer[C].apply(_,D);return L===!1&&(L=A.apply(_,D)),L}}s.renderer=_}if(o.tokenizer){const _=W.defaults.tokenizer||new Ce;for(const C in o.tokenizer){const A=_[C];_[C]=(...D)=>{let L=o.tokenizer[C].apply(_,D);return L===!1&&(L=A.apply(_,D)),L}}s.tokenizer=_}if(o.hooks){const _=W.defaults.hooks||new ft;for(const C in o.hooks){const A=_[C];ft.passThroughHooks.has(C)?_[C]=D=>{if(W.defaults.async)return Promise.resolve(o.hooks[C].call(_,D)).then(B=>A.call(_,B));const L=o.hooks[C].call(_,D);return A.call(_,L)}:_[C]=(...D)=>{let L=o.hooks[C].apply(_,D);return L===!1&&(L=A.apply(_,D)),L}}s.hooks=_}if(o.walkTokens){const _=W.defaults.walkTokens;s.walkTokens=function(C){let A=[];return A.push(o.walkTokens.call(this,C)),_&&(A=A.concat(_.call(this,C))),A}}W.setOptions(s)})},W.walkTokens=function(l,a){let o=[];for(const s of l)switch(o=o.concat(a.call(W,s)),s.type){case"table":for(const _ of s.header)o=o.concat(W.walkTokens(_.tokens,a));for(const _ of s.rows)for(const C of _)o=o.concat(W.walkTokens(C.tokens,a));break;case"list":o=o.concat(W.walkTokens(s.items,a));break;default:W.defaults.extensions&&W.defaults.extensions.childTokens&&W.defaults.extensions.childTokens[s.type]?W.defaults.extensions.childTokens[s.type].forEach(function(_){o=o.concat(W.walkTokens(s[_],a))}):s.tokens&&(o=o.concat(W.walkTokens(s.tokens,a)))}return o},W.parseInline=lt(xe.lexInline,$e.parseInline),W.Parser=$e,W.parser=$e.parse,W.Renderer=ot,W.TextRenderer=Dt,W.Lexer=xe,W.lexer=xe.lex,W.Tokenizer=Ce,W.Slugger=_t,W.Hooks=ft,W.parse=W,W.options,W.setOptions,W.use,W.walkTokens,W.parseInline,$e.parse,xe.lex;/*! - * The reveal.js markdown plugin. Handles parsing of - * markdown inside of presentations as well as loading - * of external markdown documents. - */const _e="__SCRIPT_END__",g=/\[\s*((\d*):)?\s*([\s\d,|-]*)\]/,p={"&":"&","<":"<",">":">",'"':""","'":"'"};return()=>{let l;function a(Y){let M=(Y.querySelector("[data-template]")||Y.querySelector("script")||Y).textContent;M=M.replace(new RegExp(_e,"g"),"<\/script>");const V=M.match(/^\n?(\s*)/)[1].length,ie=M.match(/^\n?(\t*)/)[1].length;return ie>0?M=M.replace(new RegExp("\\n?\\t{"+ie+"}(.*)","g"),function(ue,Se){return` -`+Se}):V>1&&(M=M.replace(new RegExp("\\n? {"+V+"}(.*)","g"),function(ue,Se){return` -`+Se})),M}function o(Y){const M=Y.attributes,V=[];for(let ie=0,ue=M.length;ie'+W(V[1].trim())+""),' - + +

    React from the Ground 🌏

    + + +
    + +
    +

    ❓ whoami

    +
    +

    Hendra Agil

    +
    hendraaagil.dev + + +
    + +
    +
    +

    🤔 React

    + React website + + +
    + +
    +

    🤯 Skena frontend saat ini

    + Web chaos + https://x.com/yoavbls/status/1829570644692123802 + + +
    + +
    + React uwu + + +
    +
    + +
    +

    🤓 How to start

    +

    Paham HTML + CSS + JS dulu

    +

    (+) Paham module bundler

    + https://react.dev/learn +

    + Versi Indonesia: + https://id.react.dev/learn +

    + + +
    + +
    +

    😁 Mending langsung Next.js atau React dulu bang?

    + It depends meme + + +
    + +
    +
    +

    Next.js punya konsep dan aturan sendiri.

    + App vs pages router Next.js +

    + Server first vs Client first +

    + + +
    + +
    +

    Pages router (client first)

    +
      +
    • SSR (getServerSideProps)
    • +
    • SSG (getStaticProps)
    • +
    • CSR (useEffect)
    • +
    • API routes (pages/api/*)
    • +
    • Etc.
    • +
    + + +
    + +
    +

    App router (server first)

    +
      +
    • + Client component (use client) +
    • +
    • Server Action (use server)
    • +
    • React Server Component (RSC)
    • +
    • + New routing +
        +
      • layout.tsx
      • +
      • page.tsx
      • +
      • route.ts
      • +
      +
    • +
    • Partial prerendering (experimental)
    • +
    • Etc.
    • +
    + + +
    + +
    + Welcome to Next.js + + +
    +
    + +
    +

    😭 Bang pusing pake Next, bisa pake React aja ga?

    +

    Bisa aja, tapi ..

    +

    Perlu banyak manual setup.

    +

    Atau opsi lain ...

    + + +
    + +
    +

    💍 Find ur match!

    + Web chaos + + +
    + +
    +

    🐣 React Ecosystem

    +

    + State of React 2023 +

    +

    + State of React 2024 (Open) +

    + + +
    + +
    +

    📰 Rekomendasi Newsletter

    +

    + Syntax.fm +

    +

    Bytes (ui.dev)

    +

    + This Week in React +

    + + +
    + +
    +

    🍌 Thanks!

    + Gracias +

    + Any questions? +

    -

    Thank You!

    diff --git a/react-from-the-ground/it-depends.jpg b/react-from-the-ground/it-depends.jpg new file mode 100644 index 0000000..80c8951 Binary files /dev/null and b/react-from-the-ground/it-depends.jpg differ diff --git a/react-from-the-ground/react-uwu.png b/react-from-the-ground/react-uwu.png new file mode 100644 index 0000000..a09d245 Binary files /dev/null and b/react-from-the-ground/react-uwu.png differ diff --git a/react-from-the-ground/react.png b/react-from-the-ground/react.png new file mode 100644 index 0000000..c18ee2c Binary files /dev/null and b/react-from-the-ground/react.png differ diff --git a/react-from-the-ground/web-chaos.jpeg b/react-from-the-ground/web-chaos.jpeg new file mode 100644 index 0000000..0aa3abe Binary files /dev/null and b/react-from-the-ground/web-chaos.jpeg differ diff --git a/react-from-the-ground/welcome-to-next.png b/react-from-the-ground/welcome-to-next.png new file mode 100644 index 0000000..67d26c2 Binary files /dev/null and b/react-from-the-ground/welcome-to-next.png differ