From 2e40b91ec1aabf33e945cba66fbcdd9b7aa53ba7 Mon Sep 17 00:00:00 2001 From: Sam Potts Date: Thu, 20 Jun 2019 23:50:46 +1000 Subject: Styling tweaks for demo --- dist/plyr.css | 2 +- dist/plyr.js | 156 +++++++++++++++++------------------- dist/plyr.min.js | 2 +- dist/plyr.min.js.map | 2 +- dist/plyr.min.mjs | 2 +- dist/plyr.min.mjs.map | 2 +- dist/plyr.mjs | 156 +++++++++++++++++------------------- dist/plyr.polyfilled.js | 166 +++++++++++++++++++-------------------- dist/plyr.polyfilled.min.js | 2 +- dist/plyr.polyfilled.min.js.map | 2 +- dist/plyr.polyfilled.min.mjs | 2 +- dist/plyr.polyfilled.min.mjs.map | 2 +- dist/plyr.polyfilled.mjs | 166 +++++++++++++++++++-------------------- 13 files changed, 319 insertions(+), 343 deletions(-) (limited to 'dist') diff --git a/dist/plyr.css b/dist/plyr.css index e6ace369..4b716e21 100644 --- a/dist/plyr.css +++ b/dist/plyr.css @@ -1 +1 @@ -@keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-popup{0%{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes plyr-fade-in{from{opacity:0}to{opacity:1}}.plyr{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:subpixel-antialiased;direction:ltr;font-family:Avenir,"Avenir Next","Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif;font-variant-numeric:tabular-nums;font-weight:500;line-height:1.7;max-width:100%;min-width:200px;position:relative;text-shadow:none;transition:box-shadow .3s ease}.plyr audio,.plyr video{border-radius:inherit;height:auto;vertical-align:middle;width:100%}.plyr button{font:inherit;line-height:inherit;width:auto}.plyr:focus{outline:0}.plyr--full-ui{box-sizing:border-box}.plyr--full-ui *,.plyr--full-ui ::after,.plyr--full-ui ::before{box-sizing:inherit}.plyr--full-ui a,.plyr--full-ui button,.plyr--full-ui input,.plyr--full-ui label{touch-action:manipulation}.plyr__badge{background:#4f5b5f;border-radius:2px;color:#fff;font-size:9px;line-height:1;padding:3px 4px}.plyr--full-ui ::-webkit-media-text-track-container{display:none}.plyr__captions{animation:plyr-fade-in .3s ease;bottom:0;color:#fff;display:none;font-size:14px;left:0;padding:10px;position:absolute;text-align:center;transition:transform .4s ease-in-out;width:100%}.plyr__captions .plyr__caption{background:rgba(0,0,0,.8);border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:185%;padding:.2em .5em;white-space:pre-wrap}.plyr__captions .plyr__caption div{display:inline}.plyr__captions span:empty{display:none}@media (min-width:480px){.plyr__captions{font-size:16px;padding:20px}}@media (min-width:768px){.plyr__captions{font-size:18px}}.plyr--captions-active .plyr__captions{display:block}.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty)~.plyr__captions{transform:translateY(-40px)}.plyr__control{background:0 0;border:0;border-radius:3px;color:inherit;cursor:pointer;flex-shrink:0;overflow:visible;padding:7px;position:relative;transition:all .3s ease}.plyr__control svg{display:block;fill:currentColor;height:18px;pointer-events:none;width:18px}.plyr__control:focus{outline:0}.plyr__control.plyr__tab-focus{box-shadow:0 0 0 5px rgba(26,175,255,.5);outline:0}a.plyr__control{text-decoration:none}a.plyr__control::after,a.plyr__control::before{display:none}.plyr__control.plyr__control--pressed .icon--not-pressed,.plyr__control.plyr__control--pressed .label--not-pressed,.plyr__control:not(.plyr__control--pressed) .icon--pressed,.plyr__control:not(.plyr__control--pressed) .label--pressed{display:none}.plyr--audio .plyr__control.plyr__tab-focus,.plyr--audio .plyr__control:hover,.plyr--audio .plyr__control[aria-expanded=true]{background:#1aafff;color:#fff}.plyr--video .plyr__control svg{filter:drop-shadow(0 1px 1px rgba(0, 0, 0, .15))}.plyr--video .plyr__control.plyr__tab-focus,.plyr--video .plyr__control:hover,.plyr--video .plyr__control[aria-expanded=true]{background:#1aafff;color:#fff}.plyr__control--overlaid{background:rgba(26,175,255,.8);border:0;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);color:#fff;display:none;left:50%;padding:15px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.plyr__control--overlaid svg{left:2px;position:relative}.plyr__control--overlaid:focus,.plyr__control--overlaid:hover{background:#1aafff}.plyr--playing .plyr__control--overlaid{opacity:0;visibility:hidden}.plyr--full-ui.plyr--video .plyr__control--overlaid{display:block}.plyr--full-ui ::-webkit-media-controls{display:none}.plyr__controls{align-items:center;display:flex;justify-content:flex-end;min-width:0;text-align:center}.plyr__controls .plyr__progress__container{flex:1}.plyr__controls .plyr__controls__item{margin-left:2.5px}.plyr__controls .plyr__controls__item:first-child{margin-left:0;margin-right:auto}.plyr__controls .plyr__controls__item.plyr__progress__container{padding-left:2.5px}.plyr__controls .plyr__controls__item.plyr__time{padding:0 5px}.plyr__controls .plyr__controls__item.plyr__progress__container:first-child,.plyr__controls .plyr__controls__item.plyr__time+.plyr__time,.plyr__controls .plyr__controls__item.plyr__time:first-child{padding-left:0}.plyr__controls .plyr__controls__item.plyr__volume{padding-right:5px}.plyr__controls .plyr__controls__item.plyr__volume:first-child{padding-right:0}.plyr__controls:empty{display:none}.plyr--audio .plyr__controls{background:#fff;border-radius:inherit;color:#4f5b5f;padding:10px}.plyr--video .plyr__controls{background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.7));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;bottom:0;color:#fff;left:0;padding:20px 5px 5px;position:absolute;right:0;transition:opacity .4s ease-in-out,transform .4s ease-in-out;z-index:3}@media (min-width:480px){.plyr--video .plyr__controls{padding:35px 10px 10px}}.plyr--video.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none;transform:translateY(100%)}.plyr [data-plyr=airplay],.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr [data-plyr=pip]{display:none}.plyr--airplay-supported [data-plyr=airplay],.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr--pip-supported [data-plyr=pip]{display:inline-block}.plyr__menu{display:flex;position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(90deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{animation:plyr-popup .2s ease;background:rgba(255,255,255,.9);border-radius:4px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);color:#4f5b5f;font-size:16px;margin-bottom:10px;position:absolute;right:-3px;text-align:left;white-space:nowrap;z-index:3}.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu__container::after{border:4px solid transparent;border-top-color:rgba(255,255,255,.9);content:'';height:0;position:absolute;right:15px;top:100%;width:0}.plyr__menu__container [role=menu]{padding:7px}.plyr__menu__container [role=menuitem],.plyr__menu__container [role=menuitemradio]{margin-top:2px}.plyr__menu__container [role=menuitem]:first-child,.plyr__menu__container [role=menuitemradio]:first-child{margin-top:0}.plyr__menu__container .plyr__control{align-items:center;color:#4f5b5f;display:flex;font-size:14px;padding:4px 11px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.plyr__menu__container .plyr__control>span{align-items:inherit;display:flex;width:100%}.plyr__menu__container .plyr__control::after{border:4px solid transparent;content:'';position:absolute;top:50%;transform:translateY(-50%)}.plyr__menu__container .plyr__control--forward{padding-right:28px}.plyr__menu__container .plyr__control--forward::after{border-left-color:rgba(79,91,95,.8);right:5px}.plyr__menu__container .plyr__control--forward.plyr__tab-focus::after,.plyr__menu__container .plyr__control--forward:hover::after{border-left-color:currentColor}.plyr__menu__container .plyr__control--back{font-weight:500;margin:7px;margin-bottom:3px;padding-left:28px;position:relative;width:calc(100% - 14px)}.plyr__menu__container .plyr__control--back::after{border-right-color:rgba(79,91,95,.8);left:7px}.plyr__menu__container .plyr__control--back::before{background:#b7c5cd;box-shadow:0 1px 0 #fff;content:'';height:1px;left:0;margin-top:4px;overflow:hidden;position:absolute;right:0;top:100%}.plyr__menu__container .plyr__control--back.plyr__tab-focus::after,.plyr__menu__container .plyr__control--back:hover::after{border-right-color:currentColor}.plyr__menu__container .plyr__control[role=menuitemradio]{padding-left:7px}.plyr__menu__container .plyr__control[role=menuitemradio]::after,.plyr__menu__container .plyr__control[role=menuitemradio]::before{border-radius:100%}.plyr__menu__container .plyr__control[role=menuitemradio]::before{background:rgba(0,0,0,.1);content:'';display:block;flex-shrink:0;height:16px;margin-right:10px;transition:all .3s ease;width:16px}.plyr__menu__container .plyr__control[role=menuitemradio]::after{background:#fff;border:0;height:6px;left:12px;opacity:0;top:50%;transform:translateY(-50%) scale(0);transition:transform .3s ease,opacity .3s ease;width:6px}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before{background:#1aafff}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::after{opacity:1;transform:translateY(-50%) scale(1)}.plyr__menu__container .plyr__control[role=menuitemradio].plyr__tab-focus::before,.plyr__menu__container .plyr__control[role=menuitemradio]:hover::before{background:rgba(0,0,0,.1)}.plyr__menu__container .plyr__menu__value{align-items:center;display:flex;margin-left:auto;margin-right:-5px;overflow:hidden;padding-left:25px;pointer-events:none}.plyr--full-ui input[type=range]{-webkit-appearance:none;background:0 0;border:0;border-radius:26px;color:#1aafff;display:block;height:19px;margin:0;padding:0;transition:box-shadow .3s ease;width:100%}.plyr--full-ui input[type=range]::-webkit-slider-runnable-track{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none;background-image:linear-gradient(to right,currentColor var(--value,0),transparent var(--value,0))}.plyr--full-ui input[type=range]::-webkit-slider-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(47,52,61,.2);height:13px;position:relative;transition:all .2s ease;width:13px;-webkit-appearance:none;margin-top:-4px}.plyr--full-ui input[type=range]::-moz-range-track{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-moz-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-moz-range-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(47,52,61,.2);height:13px;position:relative;transition:all .2s ease;width:13px}.plyr--full-ui input[type=range]::-moz-range-progress{background:currentColor;border-radius:2.5px;height:5px}.plyr--full-ui input[type=range]::-ms-track{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none;color:transparent}.plyr--full-ui input[type=range]::-ms-fill-upper{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-ms-fill-lower{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none;background:currentColor}.plyr--full-ui input[type=range]::-ms-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(47,52,61,.2);height:13px;position:relative;transition:all .2s ease;width:13px;margin-top:0}.plyr--full-ui input[type=range]::-ms-tooltip{display:none}.plyr--full-ui input[type=range]:focus{outline:0}.plyr--full-ui input[type=range]::-moz-focus-outer{border:0}.plyr--full-ui input[type=range].plyr__tab-focus::-webkit-slider-runnable-track{box-shadow:0 0 0 5px rgba(26,175,255,.5);outline:0}.plyr--full-ui input[type=range].plyr__tab-focus::-moz-range-track{box-shadow:0 0 0 5px rgba(26,175,255,.5);outline:0}.plyr--full-ui input[type=range].plyr__tab-focus::-ms-track{box-shadow:0 0 0 5px rgba(26,175,255,.5);outline:0}.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track{background-color:rgba(255,255,255,.25)}.plyr--full-ui.plyr--video input[type=range]::-moz-range-track{background-color:rgba(255,255,255,.25)}.plyr--full-ui.plyr--video input[type=range]::-ms-track{background-color:rgba(255,255,255,.25)}.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(47,52,61,.2),0 0 0 3px rgba(255,255,255,.5)}.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(47,52,61,.2),0 0 0 3px rgba(255,255,255,.5)}.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(47,52,61,.2),0 0 0 3px rgba(255,255,255,.5)}.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track{background-color:rgba(183,197,205,.66)}.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track{background-color:rgba(183,197,205,.66)}.plyr--full-ui.plyr--audio input[type=range]::-ms-track{background-color:rgba(183,197,205,.66)}.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(47,52,61,.2),0 0 0 3px rgba(0,0,0,.1)}.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(47,52,61,.2),0 0 0 3px rgba(0,0,0,.1)}.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(47,52,61,.2),0 0 0 3px rgba(0,0,0,.1)}.plyr__poster{background-color:#000;background-position:50% 50%;background-repeat:no-repeat;background-size:contain;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:1}.plyr--stopped.plyr__poster-enabled .plyr__poster{opacity:1}.plyr__time{font-size:14px}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}@media (max-width:767px){.plyr__time+.plyr__time{display:none}}.plyr--video .plyr__time{text-shadow:0 1px 1px rgba(0,0,0,.15)}.plyr__tooltip{background:rgba(255,255,255,.9);border-radius:3px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);color:#4f5b5f;font-size:14px;font-weight:500;left:50%;line-height:1.3;margin-bottom:10px;opacity:0;padding:5px 7.5px;pointer-events:none;position:absolute;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease;white-space:nowrap;z-index:2}.plyr__tooltip::before{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(255,255,255,.9);bottom:-4px;content:'';height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr .plyr__control.plyr__tab-focus .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip::before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip::before{left:16px}.plyr__controls>.plyr__control:last-child .plyr__tooltip{left:auto;right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr--video{background:#000;overflow:hidden}.plyr--video.plyr--menu-open{overflow:visible}.plyr__video-wrapper{background:#000;border-radius:inherit;overflow:hidden;position:relative;z-index:0}.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{height:0;padding-bottom:56.25%}.plyr__video-embed iframe,.plyr__video-wrapper--fixed-ratio video{border:0;height:100%;left:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.plyr--full-ui .plyr__video-embed>.plyr__video-embed__container{padding-bottom:240%;position:relative;transform:translateY(-38.28125%)}.plyr__progress{left:6.5px;margin-right:13px;position:relative}.plyr__progress input[type=range],.plyr__progress__buffer{margin-left:-6.5px;margin-right:-6.5px;width:calc(100% + 13px)}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress .plyr__tooltip{font-size:14px;left:0}.plyr__progress__buffer{-webkit-appearance:none;background:0 0;border:0;border-radius:100px;height:5px;left:0;margin-top:-2.5px;padding:0;position:absolute;top:50%}.plyr__progress__buffer::-webkit-progress-bar{background:0 0}.plyr__progress__buffer::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:5px;transition:width .2s ease}.plyr__progress__buffer::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:5px;transition:width .2s ease}.plyr__progress__buffer::-ms-fill{border-radius:100px;transition:width .2s ease}.plyr--video .plyr__progress__buffer{box-shadow:0 1px 1px rgba(0,0,0,.15);color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress__buffer{color:rgba(183,197,205,.66)}.plyr--loading .plyr__progress__buffer{animation:plyr-progress 1s linear infinite;background-image:linear-gradient(-45deg,rgba(47,52,61,.6) 25%,transparent 25%,transparent 50%,rgba(47,52,61,.6) 50%,rgba(47,52,61,.6) 75%,transparent 75%,transparent);background-repeat:repeat-x;background-size:25px 25px;color:transparent}.plyr--video.plyr--loading .plyr__progress__buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress__buffer{background-color:rgba(183,197,205,.66)}.plyr__volume{align-items:center;display:flex;flex:1;position:relative}.plyr__volume input[type=range]{margin-left:5px;position:relative;z-index:2}@media (min-width:480px){.plyr__volume{max-width:90px}}@media (min-width:768px){.plyr__volume{max-width:110px}}.plyr--is-ios .plyr__volume{display:none!important}.plyr--is-ios.plyr--vimeo [data-plyr=mute]{display:none!important}.plyr:-webkit-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-ms-fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-webkit-full-screen video{height:100%}.plyr:-ms-fullscreen video{height:100%}.plyr:fullscreen video{height:100%}.plyr:-webkit-full-screen .plyr__video-wrapper{height:100%;width:100%}.plyr:-ms-fullscreen .plyr__video-wrapper{height:100%;width:100%}.plyr:fullscreen .plyr__video-wrapper{height:100%;width:100%}.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)}.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)}.plyr:fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-webkit-full-screen.plyr--hide-controls{cursor:none}.plyr:-ms-fullscreen.plyr--hide-controls{cursor:none}.plyr:fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-webkit-full-screen .plyr__captions{font-size:21px}.plyr:-ms-fullscreen .plyr__captions{font-size:21px}.plyr:fullscreen .plyr__captions{font-size:21px}}.plyr:-webkit-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-webkit-full-screen video{height:100%}.plyr:-webkit-full-screen .plyr__video-wrapper{height:100%;width:100%}.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-webkit-full-screen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-webkit-full-screen .plyr__captions{font-size:21px}}.plyr:-moz-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-moz-full-screen video{height:100%}.plyr:-moz-full-screen .plyr__video-wrapper{height:100%;width:100%}.plyr:-moz-full-screen.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)}.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-moz-full-screen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-moz-full-screen .plyr__captions{font-size:21px}}.plyr:-ms-fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-ms-fullscreen video{height:100%}.plyr:-ms-fullscreen .plyr__video-wrapper{height:100%;width:100%}.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-ms-fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-ms-fullscreen .plyr__captions{font-size:21px}}.plyr--fullscreen-fallback{background:#000;border-radius:0!important;height:100%;margin:0;width:100%;bottom:0;left:0;position:fixed;right:0;top:0;z-index:10000000}.plyr--fullscreen-fallback video{height:100%}.plyr--fullscreen-fallback .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen-fallback.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen{display:block}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr--fullscreen-fallback.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr--fullscreen-fallback .plyr__captions{font-size:21px}}.plyr__ads{border-radius:inherit;bottom:0;cursor:pointer;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:-1}.plyr__ads>div,.plyr__ads>div iframe{height:100%;position:absolute;width:100%}.plyr__ads::after{background:rgba(47,52,61,.8);border-radius:2px;bottom:10px;color:#fff;content:attr(data-badge-text);font-size:11px;padding:2px 6px;pointer-events:none;position:absolute;right:10px;z-index:3}.plyr__ads::after:empty{display:none}.plyr__cues{background:currentColor;display:block;height:5px;left:0;margin:-2.5px 0 0;opacity:.8;position:absolute;top:50%;width:3px;z-index:3}.plyr__preview-thumb{background-color:rgba(255,255,255,.9);border-radius:3px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);margin-bottom:10px;opacity:0;padding:3px;pointer-events:none;position:absolute;transform:translate(0,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease;z-index:2}.plyr__preview-thumb--is-shown{opacity:1;transform:translate(0,0) scale(1)}.plyr__preview-thumb::before{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(255,255,255,.9);bottom:-4px;content:'';height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr__preview-thumb__image-container{background:#b7c5cd;border-radius:2px;overflow:hidden;position:relative;z-index:0}.plyr__preview-thumb__image-container img{height:100%;left:0;max-height:none;max-width:none;position:absolute;top:0;width:100%}.plyr__preview-thumb__time-container{bottom:6px;left:0;position:absolute;right:0;white-space:nowrap;z-index:3}.plyr__preview-thumb__time-container span{background-color:rgba(0,0,0,.55);border-radius:2px;color:#fff;font-size:14px;padding:3px 6px}.plyr__preview-scrubbing{bottom:0;filter:blur(1px);height:100%;left:0;margin:auto;opacity:0;overflow:hidden;position:absolute;right:0;top:0;transition:opacity .3s ease;width:100%;z-index:1}.plyr__preview-scrubbing--is-shown{opacity:1}.plyr__preview-scrubbing img{height:100%;left:0;max-height:none;max-width:none;-o-object-fit:contain;object-fit:contain;position:absolute;top:0;width:100%}.plyr--no-transition{transition:none!important}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;border:0!important;height:1px!important;padding:0!important;position:absolute!important;width:1px!important}.plyr [hidden]{display:none!important} \ No newline at end of file +@keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-popup{0%{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes plyr-fade-in{from{opacity:0}to{opacity:1}}.plyr{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:subpixel-antialiased;direction:ltr;font-family:Avenir,"Avenir Next","Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif;font-variant-numeric:tabular-nums;font-weight:500;line-height:1.7;max-width:100%;min-width:200px;position:relative;text-shadow:none;transition:box-shadow .3s ease}.plyr audio,.plyr video{border-radius:inherit;height:auto;vertical-align:middle;width:100%}.plyr button{font:inherit;line-height:inherit;width:auto}.plyr:focus{outline:0}.plyr--full-ui{box-sizing:border-box}.plyr--full-ui *,.plyr--full-ui ::after,.plyr--full-ui ::before{box-sizing:inherit}.plyr--full-ui a,.plyr--full-ui button,.plyr--full-ui input,.plyr--full-ui label{touch-action:manipulation}.plyr__badge{background:#4a5764;border-radius:2px;color:#fff;font-size:9px;line-height:1;padding:3px 4px}.plyr--full-ui ::-webkit-media-text-track-container{display:none}.plyr__captions{animation:plyr-fade-in .3s ease;bottom:0;color:#fff;display:none;font-size:14px;left:0;padding:10px;position:absolute;text-align:center;transition:transform .4s ease-in-out;width:100%}.plyr__captions .plyr__caption{background:rgba(0,0,0,.8);border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:185%;padding:.2em .5em;white-space:pre-wrap}.plyr__captions .plyr__caption div{display:inline}.plyr__captions span:empty{display:none}@media (min-width:480px){.plyr__captions{font-size:16px;padding:20px}}@media (min-width:768px){.plyr__captions{font-size:18px}}.plyr--captions-active .plyr__captions{display:block}.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty)~.plyr__captions{transform:translateY(-40px)}.plyr__control{background:0 0;border:0;border-radius:3px;color:inherit;cursor:pointer;flex-shrink:0;overflow:visible;padding:7px;position:relative;transition:all .3s ease}.plyr__control svg{display:block;fill:currentColor;height:18px;pointer-events:none;width:18px}.plyr__control:focus{outline:0}.plyr__control.plyr__tab-focus{box-shadow:0 0 0 5px rgba(0,179,255,.5);outline:0}a.plyr__control{text-decoration:none}a.plyr__control::after,a.plyr__control::before{display:none}.plyr__control.plyr__control--pressed .icon--not-pressed,.plyr__control.plyr__control--pressed .label--not-pressed,.plyr__control:not(.plyr__control--pressed) .icon--pressed,.plyr__control:not(.plyr__control--pressed) .label--pressed{display:none}.plyr--audio .plyr__control.plyr__tab-focus,.plyr--audio .plyr__control:hover,.plyr--audio .plyr__control[aria-expanded=true]{background:#00b3ff;color:#fff}.plyr--video .plyr__control.plyr__tab-focus,.plyr--video .plyr__control:hover,.plyr--video .plyr__control[aria-expanded=true]{background:#00b3ff;color:#fff}.plyr__control--overlaid{background:rgba(0,179,255,.8);border:0;border-radius:100%;color:#fff;display:none;left:50%;padding:15px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.plyr__control--overlaid svg{left:2px;position:relative}.plyr__control--overlaid:focus,.plyr__control--overlaid:hover{background:#00b3ff}.plyr--playing .plyr__control--overlaid{opacity:0;visibility:hidden}.plyr--full-ui.plyr--video .plyr__control--overlaid{display:block}.plyr--full-ui ::-webkit-media-controls{display:none}.plyr__controls{align-items:center;display:flex;justify-content:flex-end;min-width:0;text-align:center}.plyr__controls .plyr__progress__container{flex:1}.plyr__controls .plyr__controls__item{margin-left:2.5px}.plyr__controls .plyr__controls__item:first-child{margin-left:0;margin-right:auto}.plyr__controls .plyr__controls__item.plyr__progress__container{padding-left:2.5px}.plyr__controls .plyr__controls__item.plyr__time{padding:0 5px}.plyr__controls .plyr__controls__item.plyr__progress__container:first-child,.plyr__controls .plyr__controls__item.plyr__time+.plyr__time,.plyr__controls .plyr__controls__item.plyr__time:first-child{padding-left:0}.plyr__controls .plyr__controls__item.plyr__volume{padding-right:5px}.plyr__controls .plyr__controls__item.plyr__volume:first-child{padding-right:0}.plyr__controls:empty{display:none}.plyr--audio .plyr__controls{background:#fff;border-radius:inherit;color:#4a5764;padding:10px}.plyr--video .plyr__controls{background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.7));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;bottom:0;color:#fff;left:0;padding:20px 5px 5px;position:absolute;right:0;transition:opacity .4s ease-in-out,transform .4s ease-in-out;z-index:3}@media (min-width:480px){.plyr--video .plyr__controls{padding:35px 10px 10px}}.plyr--video.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none;transform:translateY(100%)}.plyr [data-plyr=airplay],.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr [data-plyr=pip]{display:none}.plyr--airplay-supported [data-plyr=airplay],.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr--pip-supported [data-plyr=pip]{display:inline-block}.plyr__menu{display:flex;position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(90deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{animation:plyr-popup .2s ease;background:rgba(255,255,255,.9);border-radius:4px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);color:#4a5764;font-size:16px;margin-bottom:10px;position:absolute;right:-3px;text-align:left;white-space:nowrap;z-index:3}.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu__container::after{border:4px solid transparent;border-top-color:rgba(255,255,255,.9);content:'';height:0;position:absolute;right:15px;top:100%;width:0}.plyr__menu__container [role=menu]{padding:7px}.plyr__menu__container [role=menuitem],.plyr__menu__container [role=menuitemradio]{margin-top:2px}.plyr__menu__container [role=menuitem]:first-child,.plyr__menu__container [role=menuitemradio]:first-child{margin-top:0}.plyr__menu__container .plyr__control{align-items:center;color:#4a5764;display:flex;font-size:14px;padding:4px 11px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.plyr__menu__container .plyr__control>span{align-items:inherit;display:flex;width:100%}.plyr__menu__container .plyr__control::after{border:4px solid transparent;content:'';position:absolute;top:50%;transform:translateY(-50%)}.plyr__menu__container .plyr__control--forward{padding-right:28px}.plyr__menu__container .plyr__control--forward::after{border-left-color:rgba(74,87,100,.8);right:5px}.plyr__menu__container .plyr__control--forward.plyr__tab-focus::after,.plyr__menu__container .plyr__control--forward:hover::after{border-left-color:currentColor}.plyr__menu__container .plyr__control--back{font-weight:500;margin:7px;margin-bottom:3px;padding-left:28px;position:relative;width:calc(100% - 14px)}.plyr__menu__container .plyr__control--back::after{border-right-color:rgba(74,87,100,.8);left:7px}.plyr__menu__container .plyr__control--back::before{background:#c1c9d1;box-shadow:0 1px 0 #fff;content:'';height:1px;left:0;margin-top:4px;overflow:hidden;position:absolute;right:0;top:100%}.plyr__menu__container .plyr__control--back.plyr__tab-focus::after,.plyr__menu__container .plyr__control--back:hover::after{border-right-color:currentColor}.plyr__menu__container .plyr__control[role=menuitemradio]{padding-left:7px}.plyr__menu__container .plyr__control[role=menuitemradio]::after,.plyr__menu__container .plyr__control[role=menuitemradio]::before{border-radius:100%}.plyr__menu__container .plyr__control[role=menuitemradio]::before{background:rgba(0,0,0,.1);content:'';display:block;flex-shrink:0;height:16px;margin-right:10px;transition:all .3s ease;width:16px}.plyr__menu__container .plyr__control[role=menuitemradio]::after{background:#fff;border:0;height:6px;left:12px;opacity:0;top:50%;transform:translateY(-50%) scale(0);transition:transform .3s ease,opacity .3s ease;width:6px}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before{background:#00b3ff}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::after{opacity:1;transform:translateY(-50%) scale(1)}.plyr__menu__container .plyr__control[role=menuitemradio].plyr__tab-focus::before,.plyr__menu__container .plyr__control[role=menuitemradio]:hover::before{background:rgba(0,0,0,.1)}.plyr__menu__container .plyr__menu__value{align-items:center;display:flex;margin-left:auto;margin-right:-5px;overflow:hidden;padding-left:25px;pointer-events:none}.plyr--full-ui input[type=range]{-webkit-appearance:none;background:0 0;border:0;border-radius:26px;color:#00b3ff;display:block;height:19px;margin:0;padding:0;transition:box-shadow .3s ease;width:100%}.plyr--full-ui input[type=range]::-webkit-slider-runnable-track{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none;background-image:linear-gradient(to right,currentColor var(--value,0),transparent var(--value,0))}.plyr--full-ui input[type=range]::-webkit-slider-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2);height:13px;position:relative;transition:all .2s ease;width:13px;-webkit-appearance:none;margin-top:-4px}.plyr--full-ui input[type=range]::-moz-range-track{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-moz-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-moz-range-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2);height:13px;position:relative;transition:all .2s ease;width:13px}.plyr--full-ui input[type=range]::-moz-range-progress{background:currentColor;border-radius:2.5px;height:5px}.plyr--full-ui input[type=range]::-ms-track{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none;color:transparent}.plyr--full-ui input[type=range]::-ms-fill-upper{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-ms-fill-lower{background:0 0;border:0;border-radius:2.5px;height:5px;transition:box-shadow .3s ease;-ms-user-select:none;user-select:none;background:currentColor}.plyr--full-ui input[type=range]::-ms-thumb{background:#fff;border:0;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2);height:13px;position:relative;transition:all .2s ease;width:13px;margin-top:0}.plyr--full-ui input[type=range]::-ms-tooltip{display:none}.plyr--full-ui input[type=range]:focus{outline:0}.plyr--full-ui input[type=range]::-moz-focus-outer{border:0}.plyr--full-ui input[type=range].plyr__tab-focus::-webkit-slider-runnable-track{box-shadow:0 0 0 5px rgba(0,179,255,.5);outline:0}.plyr--full-ui input[type=range].plyr__tab-focus::-moz-range-track{box-shadow:0 0 0 5px rgba(0,179,255,.5);outline:0}.plyr--full-ui input[type=range].plyr__tab-focus::-ms-track{box-shadow:0 0 0 5px rgba(0,179,255,.5);outline:0}.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track{background-color:rgba(255,255,255,.25)}.plyr--full-ui.plyr--video input[type=range]::-moz-range-track{background-color:rgba(255,255,255,.25)}.plyr--full-ui.plyr--video input[type=range]::-ms-track{background-color:rgba(255,255,255,.25)}.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(255,255,255,.5)}.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(255,255,255,.5)}.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(255,255,255,.5)}.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track{background-color:rgba(193,201,209,.66)}.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track{background-color:rgba(193,201,209,.66)}.plyr--full-ui.plyr--audio input[type=range]::-ms-track{background-color:rgba(193,201,209,.66)}.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(0,0,0,.1)}.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(0,0,0,.1)}.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(35,41,47,.2),0 0 0 3px rgba(0,0,0,.1)}.plyr__poster{background-color:#000;background-position:50% 50%;background-repeat:no-repeat;background-size:contain;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:1}.plyr--stopped.plyr__poster-enabled .plyr__poster{opacity:1}.plyr__time{font-size:14px}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}@media (max-width:767px){.plyr__time+.plyr__time{display:none}}.plyr--video .plyr__time{text-shadow:0 1px 1px rgba(0,0,0,.15)}.plyr__tooltip{background:rgba(255,255,255,.9);border-radius:3px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);color:#4a5764;font-size:14px;font-weight:500;left:50%;line-height:1.3;margin-bottom:10px;opacity:0;padding:5px 7.5px;pointer-events:none;position:absolute;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease;white-space:nowrap;z-index:2}.plyr__tooltip::before{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(255,255,255,.9);bottom:-4px;content:'';height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr .plyr__control.plyr__tab-focus .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%,0) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip::before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip::before{left:16px}.plyr__controls>.plyr__control:last-child .plyr__tooltip{left:auto;right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child.plyr__tab-focus .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr--video{background:#000;overflow:hidden}.plyr--video.plyr--menu-open{overflow:visible}.plyr__video-wrapper{background:#000;border-radius:inherit;overflow:hidden;position:relative;z-index:0}.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{height:0;padding-bottom:56.25%}.plyr__video-embed iframe,.plyr__video-wrapper--fixed-ratio video{border:0;height:100%;left:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.plyr--full-ui .plyr__video-embed>.plyr__video-embed__container{padding-bottom:240%;position:relative;transform:translateY(-38.28125%)}.plyr__progress{left:6.5px;margin-right:13px;position:relative}.plyr__progress input[type=range],.plyr__progress__buffer{margin-left:-6.5px;margin-right:-6.5px;width:calc(100% + 13px)}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress .plyr__tooltip{font-size:14px;left:0}.plyr__progress__buffer{-webkit-appearance:none;background:0 0;border:0;border-radius:100px;height:5px;left:0;margin-top:-2.5px;padding:0;position:absolute;top:50%}.plyr__progress__buffer::-webkit-progress-bar{background:0 0}.plyr__progress__buffer::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:5px;transition:width .2s ease}.plyr__progress__buffer::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:5px;transition:width .2s ease}.plyr__progress__buffer::-ms-fill{border-radius:100px;transition:width .2s ease}.plyr--video .plyr__progress__buffer{box-shadow:0 1px 1px rgba(0,0,0,.15);color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress__buffer{color:rgba(193,201,209,.66)}.plyr--loading .plyr__progress__buffer{animation:plyr-progress 1s linear infinite;background-image:linear-gradient(-45deg,rgba(35,41,47,.6) 25%,transparent 25%,transparent 50%,rgba(35,41,47,.6) 50%,rgba(35,41,47,.6) 75%,transparent 75%,transparent);background-repeat:repeat-x;background-size:25px 25px;color:transparent}.plyr--video.plyr--loading .plyr__progress__buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress__buffer{background-color:rgba(193,201,209,.66)}.plyr__volume{align-items:center;display:flex;flex:1;position:relative}.plyr__volume input[type=range]{margin-left:5px;position:relative;z-index:2}@media (min-width:480px){.plyr__volume{max-width:90px}}@media (min-width:768px){.plyr__volume{max-width:110px}}.plyr--is-ios .plyr__volume{display:none!important}.plyr--is-ios.plyr--vimeo [data-plyr=mute]{display:none!important}.plyr:-webkit-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-ms-fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-webkit-full-screen video{height:100%}.plyr:-ms-fullscreen video{height:100%}.plyr:fullscreen video{height:100%}.plyr:-webkit-full-screen .plyr__video-wrapper{height:100%;position:static}.plyr:-ms-fullscreen .plyr__video-wrapper{height:100%;position:static}.plyr:fullscreen .plyr__video-wrapper{height:100%;position:static}.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-webkit-full-screen.plyr--hide-controls{cursor:none}.plyr:-ms-fullscreen.plyr--hide-controls{cursor:none}.plyr:fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-webkit-full-screen .plyr__captions{font-size:21px}.plyr:-ms-fullscreen .plyr__captions{font-size:21px}.plyr:fullscreen .plyr__captions{font-size:21px}}.plyr:-webkit-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-webkit-full-screen video{height:100%}.plyr:-webkit-full-screen .plyr__video-wrapper{height:100%;position:static}.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-webkit-full-screen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-webkit-full-screen .plyr__captions{font-size:21px}}.plyr:-moz-full-screen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-moz-full-screen video{height:100%}.plyr:-moz-full-screen .plyr__video-wrapper{height:100%;position:static}.plyr:-moz-full-screen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-moz-full-screen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-moz-full-screen .plyr__captions{font-size:21px}}.plyr:-ms-fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:-ms-fullscreen video{height:100%}.plyr:-ms-fullscreen .plyr__video-wrapper{height:100%;position:static}.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:-ms-fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:-ms-fullscreen .plyr__captions{font-size:21px}}.plyr--fullscreen-fallback{background:#000;border-radius:0!important;height:100%;margin:0;width:100%;bottom:0;left:0;position:fixed;right:0;top:0;z-index:10000000}.plyr--fullscreen-fallback video{height:100%}.plyr--fullscreen-fallback .plyr__video-wrapper{height:100%;position:static}.plyr--fullscreen-fallback.plyr--vimeo .plyr__video-wrapper{height:0;position:relative;top:50%;transform:translateY(-50%)}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen{display:block}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr--fullscreen-fallback.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr--fullscreen-fallback .plyr__captions{font-size:21px}}.plyr__ads{border-radius:inherit;bottom:0;cursor:pointer;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:-1}.plyr__ads>div,.plyr__ads>div iframe{height:100%;position:absolute;width:100%}.plyr__ads::after{background:rgba(35,41,47,.8);border-radius:2px;bottom:10px;color:#fff;content:attr(data-badge-text);font-size:11px;padding:2px 6px;pointer-events:none;position:absolute;right:10px;z-index:3}.plyr__ads::after:empty{display:none}.plyr__cues{background:currentColor;display:block;height:5px;left:0;margin:-2.5px 0 0;opacity:.8;position:absolute;top:50%;width:3px;z-index:3}.plyr__preview-thumb{background-color:rgba(255,255,255,.9);border-radius:3px;bottom:100%;box-shadow:0 1px 2px rgba(0,0,0,.15);margin-bottom:10px;opacity:0;padding:3px;pointer-events:none;position:absolute;transform:translate(0,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease;z-index:2}.plyr__preview-thumb--is-shown{opacity:1;transform:translate(0,0) scale(1)}.plyr__preview-thumb::before{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(255,255,255,.9);bottom:-4px;content:'';height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;z-index:2}.plyr__preview-thumb__image-container{background:#c1c9d1;border-radius:2px;overflow:hidden;position:relative;z-index:0}.plyr__preview-thumb__image-container img{height:100%;left:0;max-height:none;max-width:none;position:absolute;top:0;width:100%}.plyr__preview-thumb__time-container{bottom:6px;left:0;position:absolute;right:0;white-space:nowrap;z-index:3}.plyr__preview-thumb__time-container span{background-color:rgba(0,0,0,.55);border-radius:2px;color:#fff;font-size:14px;padding:3px 6px}.plyr__preview-scrubbing{bottom:0;filter:blur(1px);height:100%;left:0;margin:auto;opacity:0;overflow:hidden;position:absolute;right:0;top:0;transition:opacity .3s ease;width:100%;z-index:1}.plyr__preview-scrubbing--is-shown{opacity:1}.plyr__preview-scrubbing img{height:100%;left:0;max-height:none;max-width:none;-o-object-fit:contain;object-fit:contain;position:absolute;top:0;width:100%}.plyr--no-transition{transition:none!important}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;border:0!important;height:1px!important;padding:0!important;position:absolute!important;width:1px!important}.plyr [hidden]{display:none!important} \ No newline at end of file diff --git a/dist/plyr.js b/dist/plyr.js index 4fdc6ca5..dae9ed66 100644 --- a/dist/plyr.js +++ b/dist/plyr.js @@ -540,6 +540,49 @@ typeof navigator === "object" && (function (global, factory) { empty: isEmpty$1 }; + // ========================================================================== + var transitionEndEvent = function () { + var element = document.createElement('span'); + var events = { + WebkitTransition: 'webkitTransitionEnd', + MozTransition: 'transitionend', + OTransition: 'oTransitionEnd otransitionend', + transition: 'transitionend' + }; + var type = Object.keys(events).find(function (event) { + return element.style[event] !== undefined; + }); + return is$1.string(type) ? events[type] : false; + }(); // Force repaint of element + + function repaint(element, delay) { + setTimeout(function () { + try { + // eslint-disable-next-line no-param-reassign + element.hidden = true; // eslint-disable-next-line no-unused-expressions + + element.offsetHeight; // eslint-disable-next-line no-param-reassign + + element.hidden = false; + } catch (e) {// Do nothing + } + }, delay); + } + + // ========================================================================== + // Browser sniffing + // Unfortunately, due to mixed support, UA sniffing is required + // ========================================================================== + var browser = { + isIE: + /* @cc_on!@ */ + !!document.documentMode, + isEdge: window.navigator.userAgent.includes('Edge'), + isWebkit: 'WebkitAppearance' in document.documentElement.style && !/Edge/.test(navigator.userAgent), + isIPhone: /(iPhone|iPod)/gi.test(navigator.platform), + isIos: /(iPad|iPhone|iPod)/gi.test(navigator.platform) + }; + // ========================================================================== // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md // https://www.youtube.com/watch?v=NPM6172J22g @@ -903,13 +946,10 @@ typeof navigator === "object" && (function (global, factory) { if (!is$1.boolean(hide)) { hide = !element.hidden; - } + } // eslint-disable-next-line no-param-reassign - if (hide) { - element.setAttribute('hidden', ''); - } else { - element.removeAttribute('hidden'); - } + + element.hidden = hide; } // Mirror Element.classList.toggle, with IE compatibility for "force" argument function toggleClass(element, className, force) { @@ -1008,47 +1048,6 @@ typeof navigator === "object" && (function (global, factory) { } } - // ========================================================================== - var transitionEndEvent = function () { - var element = document.createElement('span'); - var events = { - WebkitTransition: 'webkitTransitionEnd', - MozTransition: 'transitionend', - OTransition: 'oTransitionEnd otransitionend', - transition: 'transitionend' - }; - var type = Object.keys(events).find(function (event) { - return element.style[event] !== undefined; - }); - return is$1.string(type) ? events[type] : false; - }(); // Force repaint of element - - function repaint(element) { - setTimeout(function () { - try { - toggleHidden(element, true); - element.offsetHeight; // eslint-disable-line - - toggleHidden(element, false); - } catch (e) {// Do nothing - } - }, 0); - } - - // ========================================================================== - // Browser sniffing - // Unfortunately, due to mixed support, UA sniffing is required - // ========================================================================== - var browser = { - isIE: - /* @cc_on!@ */ - !!document.documentMode, - isEdge: window.navigator.userAgent.includes('Edge'), - isWebkit: 'WebkitAppearance' in document.documentElement.style && !/Edge/.test(navigator.userAgent), - isIPhone: /(iPhone|iPod)/gi.test(navigator.platform), - isIos: /(iPad|iPhone|iPod)/gi.test(navigator.platform) - }; - var defaultCodecs = { 'audio/ogg': 'vorbis', 'audio/wav': '1', @@ -1172,12 +1171,8 @@ typeof navigator === "object" && (function (global, factory) { } function getAspectRatio(input) { var parse = function parse(ratio) { - if (!validateRatio(ratio)) { - return null; - } - - return ratio.split(':').map(Number); - }; // Provided ratio + return validateRatio(ratio) ? ratio.split(':').map(Number) : null; + }; // Try provided ratio var ratio = parse(input); // Get from config @@ -1264,9 +1259,12 @@ typeof navigator === "object" && (function (global, factory) { return; } - var player = this; // Set aspect ratio if set + var player = this; // Set aspect ratio if fixed + + if (!is$1.empty(this.config.ratio)) { + setAspectRatio.call(player); + } // Quality - setAspectRatio.call(player); // Quality Object.defineProperty(player.media, 'quality', { get: function get() { @@ -3704,7 +3702,8 @@ typeof navigator === "object" && (function (global, factory) { controls: ['play-large', // 'restart', // 'rewind', 'play', // 'fast-forward', - 'progress', 'current-time', 'mute', 'volume', 'captions', 'settings', 'pip', 'airplay', // 'download', + 'progress', 'current-time', // 'duration', + 'mute', 'volume', 'captions', 'settings', 'pip', 'airplay', // 'download', 'fullscreen'], settings: ['captions', 'quality', 'speed'], // Localisation @@ -3762,8 +3761,7 @@ typeof navigator === "object" && (function (global, factory) { }, youtube: { sdk: 'https://www.youtube.com/iframe_api', - api: 'https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}' // 'https://www.googleapis.com/youtube/v3/videos?id={0}&key={1}&fields=items(snippet(title),fileDetails)&part=snippet', - + api: 'https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}' }, googleIMA: { sdk: 'https://imasdk.googleapis.com/js/sdkloader/ima3.js' @@ -4048,8 +4046,6 @@ typeof navigator === "object" && (function (global, factory) { } function toggleFallback() { - var _this = this; - var toggle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; // Store or restore scroll position @@ -4089,12 +4085,7 @@ typeof navigator === "object" && (function (global, factory) { viewport.content = viewport.content.split(',').filter(function (part) { return part.trim() !== property; }).join(','); - } // Force a repaint as sometimes Safari doesn't want to fill the screen - - - setTimeout(function () { - return repaint(_this.target); - }, 100); + } } // Toggle button and fire events @@ -4105,7 +4096,7 @@ typeof navigator === "object" && (function (global, factory) { /*#__PURE__*/ function () { function Fullscreen(player) { - var _this2 = this; + var _this = this; _classCallCheck(this, Fullscreen); @@ -4125,16 +4116,16 @@ typeof navigator === "object" && (function (global, factory) { on.call(this.player, document, this.prefix === 'ms' ? 'MSFullscreenChange' : "".concat(this.prefix, "fullscreenchange"), function () { // TODO: Filter for target?? - onChange.call(_this2); + onChange.call(_this); }); // Fullscreen toggle on double click on.call(this.player, this.player.elements.container, 'dblclick', function (event) { // Ignore double click in controls - if (is$1.element(_this2.player.elements.controls) && _this2.player.elements.controls.contains(event.target)) { + if (is$1.element(_this.player.elements.controls) && _this.player.elements.controls.contains(event.target)) { return; } - _this2.toggle(); + _this.toggle(); }); // Update the UI this.update(); @@ -4808,15 +4799,7 @@ typeof navigator === "object" && (function (global, factory) { timers.controls = setTimeout(function () { return ui.toggleControls.call(player, false); }, delay); - }); // Force edge to repaint on exit fullscreen - // TODO: Fix weird bug where Edge doesn't re-draw when exiting fullscreen - - /* if (browser.isEdge) { - on.call(player, elements.container, 'exitfullscreen', () => { - setTimeout(() => repaint(elements.container), 100); - }); - } */ - // Set a gutter for Vimeo + }); // Set a gutter for Vimeo var setGutter = function setGutter(ratio, padding, toggle) { if (!player.isVimeo) { @@ -4858,9 +4841,14 @@ typeof navigator === "object" && (function (global, factory) { on.call(player, elements.container, 'enterfullscreen exitfullscreen', function (event) { var _player$fullscreen = player.fullscreen, target = _player$fullscreen.target, - usingNative = _player$fullscreen.usingNative; // Ignore for iOS native + usingNative = _player$fullscreen.usingNative; // Ignore events not from target - if (!player.isEmbed || target !== elements.container) { + if (target !== elements.container) { + return; + } // If it's not an embed and no ratio specified + + + if (!player.isEmbed && is$1.empty(player.config.ratio)) { return; } @@ -7127,7 +7115,11 @@ typeof navigator === "object" && (function (global, factory) { } this.getThumbnails().then(function () { - // Render DOM elements + if (!_this.enabled) { + return; + } // Render DOM elements + + _this.render(); // Check to see if thumb container size was specified manually in CSS diff --git a/dist/plyr.min.js b/dist/plyr.min.js index ad1f5117..69db97c0 100644 --- a/dist/plyr.min.js +++ b/dist/plyr.min.js @@ -1,2 +1,2 @@ -"object"==typeof navigator&&function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define("Plyr",t):(e=e||self).Plyr=t()}(this,function(){"use strict";function e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function t(e,t){for(var n=0;n100&&(n=100),n<50?n-=(100-2*n)*u:n>50&&(n+=2*(n-50)*u),s+f(l*(n/100),o)}},{key:"set",value:function(e){t.enabled&&p.event(e)&&!e.target.disabled&&(e.preventDefault(),e.target.value=this.get(e),function(e,t){if(e&&t){var n=new Event(t);e.dispatchEvent(n)}}(e.target,"touchend"===e.type?"change":"input"))}}],[{key:"setup",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=null;if(p.empty(e)||p.string(e)?i=Array.from(document.querySelectorAll(p.string(e)?e:'input[type="range"]')):p.element(e)?i=[e]:p.nodeList(e)?i=Array.from(e):p.array(e)&&(i=e.filter(p.element)),p.empty(i))return null;var a=Object.assign({},r,n);p.string(e)&&a.watch&&new MutationObserver(function(n){Array.from(n).forEach(function(n){Array.from(n.addedNodes).forEach(function(n){if(p.element(n)&&function(){return Array.from(document.querySelectorAll(i)).includes(this)}.call(n,i=e)){var i;new t(n,a)}})})}).observe(document.body,{childList:!0,subtree:!0});return i.map(function(e){return new t(e,n)})}},{key:"enabled",get:function(){return"ontouchstart"in document.documentElement}}]),t}(),y=function(e){return null!=e?e.constructor:null},v=function(e,t){return Boolean(e&&t&&e instanceof t)},b=function(e){return null==e},k=function(e){return y(e)===Object},w=function(e){return y(e)===String},T=function(e){return Array.isArray(e)},C=function(e){return v(e,NodeList)},A=function(e){return b(e)||(w(e)||T(e)||C(e))&&!e.length||k(e)&&!Object.keys(e).length},E={nullOrUndefined:b,object:k,number:function(e){return y(e)===Number&&!Number.isNaN(e)},string:w,boolean:function(e){return y(e)===Boolean},function:function(e){return y(e)===Function},array:T,weakMap:function(e){return v(e,WeakMap)},nodeList:C,element:function(e){return v(e,Element)},textNode:function(e){return y(e)===Text},event:function(e){return v(e,Event)},keyboardEvent:function(e){return v(e,KeyboardEvent)},cue:function(e){return v(e,window.TextTrackCue)||v(e,window.VTTCue)},track:function(e){return v(e,TextTrack)||!b(e)&&w(e.kind)},promise:function(e){return v(e,Promise)},url:function(e){if(v(e,window.URL))return!0;if(!w(e))return!1;var t=e;e.startsWith("http://")&&e.startsWith("https://")||(t="http://".concat(e));try{return!A(new URL(t).hostname)}catch(e){return!1}},empty:A},S=function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){return e=!0,null}});window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(e){}return e}();function P(e,t,n){var i=this,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=arguments.length>5&&void 0!==arguments[5]&&arguments[5];if(e&&"addEventListener"in e&&!E.empty(t)&&E.function(n)){var o=t.split(" "),l=r;S&&(l={passive:s,capture:r}),o.forEach(function(t){i&&i.eventListeners&&a&&i.eventListeners.push({element:e,type:t,callback:n,options:l}),e[a?"addEventListener":"removeEventListener"](t,n,l)})}}function N(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];P.call(this,e,t,n,!0,i,a)}function M(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];P.call(this,e,t,n,!1,i,a)}function x(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2?arguments[2]:void 0,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];P.call(this,e,n,function r(){M(e,n,r,a,s);for(var o=arguments.length,l=new Array(o),c=0;c1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(E.element(e)&&!E.empty(t)){var a=new CustomEvent(t,{bubbles:n,detail:Object.assign({},i,{plyr:this})});e.dispatchEvent(a)}}function I(e,t){return t.split(".").reduce(function(e,t){return e&&e[t]},e)}function _(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length,n=new Array(t>1?t-1:0),a=1;a0?t.cloneNode(!0):t,a=e.parentNode,s=e.nextSibling;i.appendChild(e),s?a.insertBefore(i,s):a.appendChild(i)})}function j(e,t){E.element(e)&&!E.empty(t)&&Object.entries(t).filter(function(e){var t=a(e,2)[1];return!E.nullOrUndefined(t)}).forEach(function(t){var n=a(t,2),i=n[0],s=n[1];return e.setAttribute(i,s)})}function q(e,t,n){var i=document.createElement(e);return E.object(t)&&j(i,t),E.string(n)&&(i.innerText=n),i}function H(e,t,n,i){E.element(t)&&t.appendChild(q(e,n,i))}function D(e){E.nodeList(e)||E.array(e)?Array.from(e).forEach(D):E.element(e)&&E.element(e.parentNode)&&e.parentNode.removeChild(e)}function F(e){if(E.element(e))for(var t=e.childNodes.length;t>0;)e.removeChild(e.lastChild),t-=1}function R(e,t){return E.element(t)&&E.element(t.parentNode)&&E.element(e)?(t.parentNode.replaceChild(e,t),e):null}function V(e,t){if(!E.string(e)||E.empty(e))return{};var n={},i=_({},t);return e.split(",").forEach(function(e){var t=e.trim(),s=t.replace(".",""),r=t.replace(/[[\]]/g,"").split("="),o=a(r,1)[0],l=r.length>1?r[1].replace(/["']/g,""):"";switch(t.charAt(0)){case".":E.string(i.class)?n.class="".concat(i.class," ").concat(s):n.class=s;break;case"#":n.id=t.replace("#","");break;case"[":n[o]=l}}),_(i,n)}function B(e,t){if(E.element(e)){var n=t;E.boolean(n)||(n=!e.hidden),n?e.setAttribute("hidden",""):e.removeAttribute("hidden")}}function U(e,t,n){if(E.nodeList(e))return Array.from(e).map(function(e){return U(e,t,n)});if(E.element(e)){var i="toggle";return void 0!==n&&(i=n?"add":"remove"),e.classList[i](t),e.classList.contains(t)}return!1}function W(e,t){return E.element(e)&&e.classList.contains(t)}function z(e,t){return function(){return Array.from(document.querySelectorAll(t)).includes(this)}.call(e,t)}function K(e){return this.elements.container.querySelectorAll(e)}function Y(e){return this.elements.container.querySelector(e)}function Q(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];E.element(e)&&(e.focus({preventScroll:!0}),t&&U(e,this.config.classNames.tabFocus))}var X,J,$,G=(X=document.createElement("span"),J={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},$=Object.keys(J).find(function(e){return void 0!==X.style[e]}),!!E.string($)&&J[$]);function Z(e){setTimeout(function(){try{B(e,!0),e.offsetHeight,B(e,!1)}catch(e){}},0)}var ee,te={isIE:!!document.documentMode,isEdge:window.navigator.userAgent.includes("Edge"),isWebkit:"WebkitAppearance"in document.documentElement.style&&!/Edge/.test(navigator.userAgent),isIPhone:/(iPhone|iPod)/gi.test(navigator.platform),isIos:/(iPad|iPhone|iPod)/gi.test(navigator.platform)},ne={"audio/ogg":"vorbis","audio/wav":"1","video/webm":"vp8, vorbis","video/mp4":"avc1.42E01E, mp4a.40.2","video/ogg":"theora"},ie={audio:"canPlayType"in document.createElement("audio"),video:"canPlayType"in document.createElement("video"),check:function(e,t,n){var i=te.isIPhone&&n&&ie.playsinline,a=ie[e]||"html5"!==t;return{api:a,ui:a&&ie.rangeInput&&("video"!==e||!te.isIPhone||i)}},pip:!(te.isIPhone||!E.function(q("video").webkitSetPresentationMode)&&(!document.pictureInPictureEnabled||q("video").disablePictureInPicture)),airplay:E.function(window.WebKitPlaybackTargetAvailabilityEvent),playsinline:"playsInline"in document.createElement("video"),mime:function(e){if(E.empty(e))return!1;var t=a(e.split("/"),1)[0],n=e;if(!this.isHTML5||t!==this.type)return!1;Object.keys(ne).includes(n)&&(n+='; codecs="'.concat(ne[e],'"'));try{return Boolean(n&&this.media.canPlayType(n).replace(/no/,""))}catch(e){return!1}},textTracks:"textTracks"in document.createElement("video"),rangeInput:(ee=document.createElement("input"),ee.type="range","range"===ee.type),touch:"ontouchstart"in document.documentElement,transitions:!1!==G,reducedMotion:"matchMedia"in window&&window.matchMedia("(prefers-reduced-motion)").matches};function ae(e){return!!(E.array(e)||E.string(e)&&e.includes(":"))&&(E.array(e)?e:e.split(":")).map(Number).every(E.number)}function se(e){if(!E.array(e)||!e.every(E.number))return null;var t=a(e,2),n=t[0],i=t[1],s=function e(t,n){return 0===n?t:e(n,t%n)}(n,i);return[n/s,i/s]}function re(e){var t=function(e){return ae(e)?e.split(":").map(Number):null},n=t(e);if(null===n&&(n=t(this.config.ratio)),null===n&&!E.empty(this.embed)&&E.array(this.embed.ratio)&&(n=this.embed.ratio),null===n&&this.isHTML5){var i=this.media;n=se([i.videoWidth,i.videoHeight])}return n}function oe(e){if(!this.isVideo)return{};var t=re.call(this,e),n=a(E.array(t)?t:[0,0],2),i=100/n[0]*n[1];if(this.elements.wrapper.style.paddingBottom="".concat(i,"%"),this.isVimeo&&this.supported.ui){var s=(240-i)/4.8;this.media.style.transform="translateY(-".concat(s,"%)")}else this.isHTML5&&this.elements.wrapper.classList.toggle(this.config.classNames.videoFixedRatio,null!==t);return{padding:i,ratio:t}}var le={getSources:function(){var e=this;return this.isHTML5?Array.from(this.media.querySelectorAll("source")).filter(function(t){var n=t.getAttribute("type");return!!E.empty(n)||ie.mime.call(e,n)}):[]},getQualityOptions:function(){return le.getSources.call(this).map(function(e){return Number(e.getAttribute("size"))}).filter(Boolean)},extend:function(){if(this.isHTML5){var e=this;oe.call(e),Object.defineProperty(e.media,"quality",{get:function(){var t=le.getSources.call(e).find(function(t){return t.getAttribute("src")===e.source});return t&&Number(t.getAttribute("size"))},set:function(t){var n=le.getSources.call(e).find(function(e){return Number(e.getAttribute("size"))===t});if(n){var i=e.media,a=i.currentTime,s=i.paused,r=i.preload,o=i.readyState;e.media.src=n.getAttribute("src"),("none"!==r||o)&&(e.once("loadedmetadata",function(){e.currentTime=a,s||e.play()}),e.media.load()),L.call(e,e.media,"qualitychange",!1,{quality:t})}}})}},cancelRequests:function(){this.isHTML5&&(D(le.getSources.call(this)),this.media.setAttribute("src",this.config.blankVideo),this.media.load(),this.debug.log("Cancelled network requests"))}};function ce(e){return E.array(e)?e.filter(function(t,n){return e.indexOf(t)===n}):e}function ue(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return e.replace(new RegExp(t.toString().replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1"),"g"),n.toString())}function he(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").toString().replace(/\w\S*/g,function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()})}function me(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").toString();return(e=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").toString();return e=de(e,"-"," "),e=de(e,"_"," "),de(e=he(e)," ","")}(e)).charAt(0).toLowerCase()+e.slice(1)}function pe(e){var t=document.createElement("div");return t.appendChild(e),t.innerHTML}var fe={pip:"PIP",airplay:"AirPlay",html5:"HTML5",vimeo:"Vimeo",youtube:"YouTube"},ge=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(E.empty(e)||E.empty(t))return"";var n=I(t.i18n,e);if(E.empty(n))return Object.keys(fe).includes(e)?fe[e]:"";var i={"{seektime}":t.seekTime,"{title}":t.title};return Object.entries(i).forEach(function(e){var t=a(e,2),i=t[0],s=t[1];n=de(n,i,s)}),n},ye=function(){function t(n){e(this,t),this.enabled=n.config.storage.enabled,this.key=n.config.storage.key}return n(t,[{key:"get",value:function(e){if(!t.supported||!this.enabled)return null;var n=window.localStorage.getItem(this.key);if(E.empty(n))return null;var i=JSON.parse(n);return E.string(e)&&e.length?i[e]:i}},{key:"set",value:function(e){if(t.supported&&this.enabled&&E.object(e)){var n=this.get();E.empty(n)&&(n={}),_(n,e),window.localStorage.setItem(this.key,JSON.stringify(n))}}}],[{key:"supported",get:function(){try{if(!("localStorage"in window))return!1;return window.localStorage.setItem("___test","___test"),window.localStorage.removeItem("___test"),!0}catch(e){return!1}}}]),t}();function ve(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"text";return new Promise(function(n,i){try{var a=new XMLHttpRequest;if(!("withCredentials"in a))return;a.addEventListener("load",function(){if("text"===t)try{n(JSON.parse(a.responseText))}catch(e){n(a.responseText)}else n(a.response)}),a.addEventListener("error",function(){throw new Error(a.status)}),a.open("GET",e,!0),a.responseType=t,a.send()}catch(e){i(e)}})}function be(e,t){if(E.string(e)){var n=E.string(t),i=function(){return null!==document.getElementById(t)},a=function(e,t){e.innerHTML=t,n&&i()||document.body.insertAdjacentElement("afterbegin",e)};if(!n||!i()){var s=ye.supported,r=document.createElement("div");if(r.setAttribute("hidden",""),n&&r.setAttribute("id",t),s){var o=window.localStorage.getItem("".concat("cache","-").concat(t));if(null!==o){var l=JSON.parse(o);a(r,l.content)}}ve(e).then(function(e){E.empty(e)||(s&&window.localStorage.setItem("".concat("cache","-").concat(t),JSON.stringify({content:e})),a(r,e))}).catch(function(){})}}}var ke=function(e){return Math.trunc(e/60/60%60,10)},we=function(e){return Math.trunc(e/60%60,10)},Te=function(e){return Math.trunc(e%60,10)};function Ce(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!E.number(e))return Ce(null,t,n);var i=function(e){return"0".concat(e).slice(-2)},a=ke(e),s=we(e),r=Te(e);return a=t||a>0?"".concat(a,":"):"","".concat(n&&e>0?"-":"").concat(a).concat(i(s),":").concat(i(r))}var Ae={getIconUrl:function(){var e=new URL(this.config.iconUrl,window.location).host!==window.location.host||te.isIE&&!window.svg4everybody;return{url:this.config.iconUrl,cors:e}},findElements:function(){try{return this.elements.controls=Y.call(this,this.config.selectors.controls.wrapper),this.elements.buttons={play:K.call(this,this.config.selectors.buttons.play),pause:Y.call(this,this.config.selectors.buttons.pause),restart:Y.call(this,this.config.selectors.buttons.restart),rewind:Y.call(this,this.config.selectors.buttons.rewind),fastForward:Y.call(this,this.config.selectors.buttons.fastForward),mute:Y.call(this,this.config.selectors.buttons.mute),pip:Y.call(this,this.config.selectors.buttons.pip),airplay:Y.call(this,this.config.selectors.buttons.airplay),settings:Y.call(this,this.config.selectors.buttons.settings),captions:Y.call(this,this.config.selectors.buttons.captions),fullscreen:Y.call(this,this.config.selectors.buttons.fullscreen)},this.elements.progress=Y.call(this,this.config.selectors.progress),this.elements.inputs={seek:Y.call(this,this.config.selectors.inputs.seek),volume:Y.call(this,this.config.selectors.inputs.volume)},this.elements.display={buffer:Y.call(this,this.config.selectors.display.buffer),currentTime:Y.call(this,this.config.selectors.display.currentTime),duration:Y.call(this,this.config.selectors.display.duration)},E.element(this.elements.progress)&&(this.elements.display.seekTooltip=this.elements.progress.querySelector(".".concat(this.config.classNames.tooltip))),!0}catch(e){return this.debug.warn("It looks like there is a problem with your custom controls HTML",e),this.toggleNativeControls(!0),!1}},createIcon:function(e,t){var n=Ae.getIconUrl.call(this),i="".concat(n.cors?"":n.url,"#").concat(this.config.iconPrefix),a=document.createElementNS("http://www.w3.org/2000/svg","svg");j(a,_(t,{role:"presentation",focusable:"false"}));var s=document.createElementNS("http://www.w3.org/2000/svg","use"),r="".concat(i,"-").concat(e);return"href"in s&&s.setAttributeNS("http://www.w3.org/1999/xlink","href",r),s.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",r),a.appendChild(s),a},createLabel:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=ge(e,this.config);return q("span",Object.assign({},t,{class:[t.class,this.config.classNames.hidden].filter(Boolean).join(" ")}),n)},createBadge:function(e){if(E.empty(e))return null;var t=q("span",{class:this.config.classNames.menu.value});return t.appendChild(q("span",{class:this.config.classNames.menu.badge},e)),t},createButton:function(e,t){var n=this,i=_({},t),a=me(e),s={element:"button",toggle:!1,label:null,icon:null,labelPressed:null,iconPressed:null};switch(["element","icon","label"].forEach(function(e){Object.keys(i).includes(e)&&(s[e]=i[e],delete i[e])}),"button"!==s.element||Object.keys(i).includes("type")||(i.type="button"),Object.keys(i).includes("class")?i.class.split(" ").some(function(e){return e===n.config.classNames.control})||_(i,{class:"".concat(i.class," ").concat(this.config.classNames.control)}):i.class=this.config.classNames.control,e){case"play":s.toggle=!0,s.label="play",s.labelPressed="pause",s.icon="play",s.iconPressed="pause";break;case"mute":s.toggle=!0,s.label="mute",s.labelPressed="unmute",s.icon="volume",s.iconPressed="muted";break;case"captions":s.toggle=!0,s.label="enableCaptions",s.labelPressed="disableCaptions",s.icon="captions-off",s.iconPressed="captions-on";break;case"fullscreen":s.toggle=!0,s.label="enterFullscreen",s.labelPressed="exitFullscreen",s.icon="enter-fullscreen",s.iconPressed="exit-fullscreen";break;case"play-large":i.class+=" ".concat(this.config.classNames.control,"--overlaid"),a="play",s.label="play",s.icon="play";break;default:E.empty(s.label)&&(s.label=a),E.empty(s.icon)&&(s.icon=e)}var r=q(s.element);return s.toggle?(r.appendChild(Ae.createIcon.call(this,s.iconPressed,{class:"icon--pressed"})),r.appendChild(Ae.createIcon.call(this,s.icon,{class:"icon--not-pressed"})),r.appendChild(Ae.createLabel.call(this,s.labelPressed,{class:"label--pressed"})),r.appendChild(Ae.createLabel.call(this,s.label,{class:"label--not-pressed"}))):(r.appendChild(Ae.createIcon.call(this,s.icon)),r.appendChild(Ae.createLabel.call(this,s.label))),_(i,V(this.config.selectors.buttons[a],i)),j(r,i),"play"===a?(E.array(this.elements.buttons[a])||(this.elements.buttons[a]=[]),this.elements.buttons[a].push(r)):this.elements.buttons[a]=r,r},createRange:function(e,t){var n=q("input",_(V(this.config.selectors.inputs[e]),{type:"range",min:0,max:100,step:.01,value:0,autocomplete:"off",role:"slider","aria-label":ge(e,this.config),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":0},t));return this.elements.inputs[e]=n,Ae.updateRangeFill.call(this,n),g.setup(n),n},createProgress:function(e,t){var n=q("progress",_(V(this.config.selectors.display[e]),{min:0,max:100,value:0,role:"progressbar","aria-hidden":!0},t));if("volume"!==e){n.appendChild(q("span",null,"0"));var i={played:"played",buffer:"buffered"}[e],a=i?ge(i,this.config):"";n.innerText="% ".concat(a.toLowerCase())}return this.elements.display[e]=n,n},createTime:function(e,t){var n=V(this.config.selectors.display[e],t),i=q("div",_(n,{class:"".concat(n.class?n.class:""," ").concat(this.config.classNames.display.time," ").trim(),"aria-label":ge(e,this.config)}),"00:00");return this.elements.display[e]=i,i},bindMenuItemShortcuts:function(e,t){var n=this;N(e,"keydown keyup",function(i){if([32,38,39,40].includes(i.which)&&(i.preventDefault(),i.stopPropagation(),"keydown"!==i.type)){var a,s=z(e,'[role="menuitemradio"]');if(!s&&[32,39].includes(i.which))Ae.showMenuPanel.call(n,t,!0);else 32!==i.which&&(40===i.which||s&&39===i.which?(a=e.nextElementSibling,E.element(a)||(a=e.parentNode.firstElementChild)):(a=e.previousElementSibling,E.element(a)||(a=e.parentNode.lastElementChild)),Q.call(n,a,!0))}},!1),N(e,"keyup",function(e){13===e.which&&Ae.focusFirstMenuItem.call(n,null,!0)})},createMenuItem:function(e){var t=this,n=e.value,i=e.list,a=e.type,s=e.title,r=e.badge,o=void 0===r?null:r,l=e.checked,c=void 0!==l&&l,u=V(this.config.selectors.inputs[a]),d=q("button",_(u,{type:"button",role:"menuitemradio",class:"".concat(this.config.classNames.control," ").concat(u.class?u.class:"").trim(),"aria-checked":c,value:n})),h=q("span");h.innerHTML=s,E.element(o)&&h.appendChild(o),d.appendChild(h),Object.defineProperty(d,"checked",{enumerable:!0,get:function(){return"true"===d.getAttribute("aria-checked")},set:function(e){e&&Array.from(d.parentNode.children).filter(function(e){return z(e,'[role="menuitemradio"]')}).forEach(function(e){return e.setAttribute("aria-checked","false")}),d.setAttribute("aria-checked",e?"true":"false")}}),this.listeners.bind(d,"click keyup",function(e){if(!E.keyboardEvent(e)||32===e.which){switch(e.preventDefault(),e.stopPropagation(),d.checked=!0,a){case"language":t.currentTrack=Number(n);break;case"quality":t.quality=n;break;case"speed":t.speed=parseFloat(n)}Ae.showMenuPanel.call(t,"home",E.keyboardEvent(e))}},a,!1),Ae.bindMenuItemShortcuts.call(this,d,a),i.appendChild(d)},formatTime:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return E.number(e)?Ce(e,ke(this.duration)>0,t):e},updateTimeDisplay:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];E.element(e)&&E.number(t)&&(e.innerText=Ae.formatTime(t,n))},updateVolume:function(){this.supported.ui&&(E.element(this.elements.inputs.volume)&&Ae.setRange.call(this,this.elements.inputs.volume,this.muted?0:this.volume),E.element(this.elements.buttons.mute)&&(this.elements.buttons.mute.pressed=this.muted||0===this.volume))},setRange:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;E.element(e)&&(e.value=t,Ae.updateRangeFill.call(this,e))},updateProgress:function(e){var t=this;if(this.supported.ui&&E.event(e)){var n,i,a=0;if(e)switch(e.type){case"timeupdate":case"seeking":case"seeked":n=this.currentTime,i=this.duration,a=0===n||0===i||Number.isNaN(n)||Number.isNaN(i)?0:(n/i*100).toFixed(2),"timeupdate"===e.type&&Ae.setRange.call(this,this.elements.inputs.seek,a);break;case"playing":case"progress":!function(e,n){var i=E.number(n)?n:0,a=E.element(e)?e:t.elements.display.buffer;if(E.element(a)){a.value=i;var s=a.getElementsByTagName("span")[0];E.element(s)&&(s.childNodes[0].nodeValue=i)}}(this.elements.display.buffer,100*this.buffered)}}},updateRangeFill:function(e){var t=E.event(e)?e.target:e;if(E.element(t)&&"range"===t.getAttribute("type")){if(z(t,this.config.selectors.inputs.seek)){t.setAttribute("aria-valuenow",this.currentTime);var n=Ae.formatTime(this.currentTime),i=Ae.formatTime(this.duration),a=ge("seekLabel",this.config);t.setAttribute("aria-valuetext",a.replace("{currentTime}",n).replace("{duration}",i))}else if(z(t,this.config.selectors.inputs.volume)){var s=100*t.value;t.setAttribute("aria-valuenow",s),t.setAttribute("aria-valuetext","".concat(s.toFixed(1),"%"))}else t.setAttribute("aria-valuenow",t.value);te.isWebkit&&t.style.setProperty("--value","".concat(t.value/t.max*100,"%"))}},updateSeekTooltip:function(e){var t=this;if(this.config.tooltips.seek&&E.element(this.elements.inputs.seek)&&E.element(this.elements.display.seekTooltip)&&0!==this.duration){var n="".concat(this.config.classNames.tooltip,"--visible"),i=function(e){return U(t.elements.display.seekTooltip,n,e)};if(this.touch)i(!1);else{var a=0,s=this.elements.progress.getBoundingClientRect();if(E.event(e))a=100/s.width*(e.pageX-s.left);else{if(!W(this.elements.display.seekTooltip,n))return;a=parseFloat(this.elements.display.seekTooltip.style.left,10)}a<0?a=0:a>100&&(a=100),Ae.updateTimeDisplay.call(this,this.elements.display.seekTooltip,this.duration/100*a),this.elements.display.seekTooltip.style.left="".concat(a,"%"),E.event(e)&&["mouseenter","mouseleave"].includes(e.type)&&i("mouseenter"===e.type)}}},timeUpdate:function(e){var t=!E.element(this.elements.display.duration)&&this.config.invertTime;Ae.updateTimeDisplay.call(this,this.elements.display.currentTime,t?this.duration-this.currentTime:this.currentTime,t),e&&"timeupdate"===e.type&&this.media.seeking||Ae.updateProgress.call(this,e)},durationUpdate:function(){if(this.supported.ui&&(this.config.invertTime||!this.currentTime)){if(this.duration>=Math.pow(2,32))return B(this.elements.display.currentTime,!0),void B(this.elements.progress,!0);E.element(this.elements.inputs.seek)&&this.elements.inputs.seek.setAttribute("aria-valuemax",this.duration);var e=E.element(this.elements.display.duration);!e&&this.config.displayDuration&&this.paused&&Ae.updateTimeDisplay.call(this,this.elements.display.currentTime,this.duration),e&&Ae.updateTimeDisplay.call(this,this.elements.display.duration,this.duration),Ae.updateSeekTooltip.call(this)}},toggleMenuButton:function(e,t){B(this.elements.settings.buttons[e],!t)},updateSetting:function(e,t,n){var i=this.elements.settings.panels[e],a=null,s=t;if("captions"===e)a=this.currentTrack;else{if(a=E.empty(n)?this[e]:n,E.empty(a)&&(a=this.config[e].default),!E.empty(this.options[e])&&!this.options[e].includes(a))return void this.debug.warn("Unsupported value of '".concat(a,"' for ").concat(e));if(!this.config[e].options.includes(a))return void this.debug.warn("Disabled value of '".concat(a,"' for ").concat(e))}if(E.element(s)||(s=i&&i.querySelector('[role="menu"]')),E.element(s)){this.elements.settings.buttons[e].querySelector(".".concat(this.config.classNames.menu.value)).innerHTML=Ae.getLabel.call(this,e,a);var r=s&&s.querySelector('[value="'.concat(a,'"]'));E.element(r)&&(r.checked=!0)}},getLabel:function(e,t){switch(e){case"speed":return 1===t?ge("normal",this.config):"".concat(t,"×");case"quality":if(E.number(t)){var n=ge("qualityLabel.".concat(t),this.config);return n.length?n:"".concat(t,"p")}return he(t);case"captions":return Pe.getLabel.call(this);default:return null}},setQualityMenu:function(e){var t=this;if(E.element(this.elements.settings.panels.quality)){var n=this.elements.settings.panels.quality.querySelector('[role="menu"]');E.array(e)&&(this.options.quality=ce(e).filter(function(e){return t.config.quality.options.includes(e)}));var i=!E.empty(this.options.quality)&&this.options.quality.length>1;if(Ae.toggleMenuButton.call(this,"quality",i),F(n),Ae.checkMenu.call(this),i){var a=function(e){var n=ge("qualityBadge.".concat(e),t.config);return n.length?Ae.createBadge.call(t,n):null};this.options.quality.sort(function(e,n){var i=t.config.quality.options;return i.indexOf(e)>i.indexOf(n)?1:-1}).forEach(function(e){Ae.createMenuItem.call(t,{value:e,list:n,type:"quality",title:Ae.getLabel.call(t,"quality",e),badge:a(e)})}),Ae.updateSetting.call(this,"quality",n)}}},setCaptionsMenu:function(){var e=this;if(E.element(this.elements.settings.panels.captions)){var t=this.elements.settings.panels.captions.querySelector('[role="menu"]'),n=Pe.getTracks.call(this),i=Boolean(n.length);if(Ae.toggleMenuButton.call(this,"captions",i),F(t),Ae.checkMenu.call(this),i){var a=n.map(function(n,i){return{value:i,checked:e.captions.toggled&&e.currentTrack===i,title:Pe.getLabel.call(e,n),badge:n.language&&Ae.createBadge.call(e,n.language.toUpperCase()),list:t,type:"language"}});a.unshift({value:-1,checked:!this.captions.toggled,title:ge("disabled",this.config),list:t,type:"language"}),a.forEach(Ae.createMenuItem.bind(this)),Ae.updateSetting.call(this,"captions",t)}}},setSpeedMenu:function(e){var t=this;if(E.element(this.elements.settings.panels.speed)){var n=this.elements.settings.panels.speed.querySelector('[role="menu"]');E.array(e)?this.options.speed=e:(this.isHTML5||this.isVimeo)&&(this.options.speed=[.5,.75,1,1.25,1.5,1.75,2]),this.options.speed=this.options.speed.filter(function(e){return t.config.speed.options.includes(e)});var i=!E.empty(this.options.speed)&&this.options.speed.length>1;Ae.toggleMenuButton.call(this,"speed",i),F(n),Ae.checkMenu.call(this),i&&(this.options.speed.forEach(function(e){Ae.createMenuItem.call(t,{value:e,list:n,type:"speed",title:Ae.getLabel.call(t,"speed",e)})}),Ae.updateSetting.call(this,"speed",n))}},checkMenu:function(){var e=this.elements.settings.buttons,t=!E.empty(e)&&Object.values(e).some(function(e){return!e.hidden});B(this.elements.settings.menu,!t)},focusFirstMenuItem:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.elements.settings.popup.hidden){var n=e;E.element(n)||(n=Object.values(this.elements.settings.panels).find(function(e){return!e.hidden}));var i=n.querySelector('[role^="menuitem"]');Q.call(this,i,t)}},toggleMenu:function(e){var t=this.elements.settings.popup,n=this.elements.buttons.settings;if(E.element(t)&&E.element(n)){var i=t.hidden,a=i;if(E.boolean(e))a=e;else if(E.keyboardEvent(e)&&27===e.which)a=!1;else if(E.event(e)){var s=E.function(e.composedPath)?e.composedPath()[0]:e.target,r=t.contains(s);if(r||!r&&e.target!==n&&a)return}n.setAttribute("aria-expanded",a),B(t,!a),U(this.elements.container,this.config.classNames.menu.open,a),a&&E.keyboardEvent(e)?Ae.focusFirstMenuItem.call(this,null,!0):a||i||Q.call(this,n,E.keyboardEvent(e))}},getMenuSize:function(e){var t=e.cloneNode(!0);t.style.position="absolute",t.style.opacity=0,t.removeAttribute("hidden"),e.parentNode.appendChild(t);var n=t.scrollWidth,i=t.scrollHeight;return D(t),{width:n,height:i}},showMenuPanel:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.elements.container.querySelector("#plyr-settings-".concat(this.id,"-").concat(t));if(E.element(i)){var a=i.parentNode,s=Array.from(a.children).find(function(e){return!e.hidden});if(ie.transitions&&!ie.reducedMotion){a.style.width="".concat(s.scrollWidth,"px"),a.style.height="".concat(s.scrollHeight,"px");var r=Ae.getMenuSize.call(this,i);N.call(this,a,G,function t(n){n.target===a&&["width","height"].includes(n.propertyName)&&(a.style.width="",a.style.height="",M.call(e,a,G,t))}),a.style.width="".concat(r.width,"px"),a.style.height="".concat(r.height,"px")}B(s,!0),B(i,!1),Ae.focusFirstMenuItem.call(this,i,n)}},setDownloadUrl:function(){var e=this.elements.buttons.download;E.element(e)&&e.setAttribute("href",this.download)},create:function(e){var t=this,n=Ae.bindMenuItemShortcuts,i=Ae.createButton,a=Ae.createProgress,s=Ae.createRange,r=Ae.createTime,o=Ae.setQualityMenu,l=Ae.setSpeedMenu,c=Ae.showMenuPanel;this.elements.controls=null,this.config.controls.includes("play-large")&&this.elements.container.appendChild(i.call(this,"play-large"));var u=q("div",V(this.config.selectors.controls.wrapper));this.elements.controls=u;var d={class:"plyr__controls__item"};return ce(this.config.controls).forEach(function(o){if("restart"===o&&u.appendChild(i.call(t,"restart",d)),"rewind"===o&&u.appendChild(i.call(t,"rewind",d)),"play"===o&&u.appendChild(i.call(t,"play",d)),"fast-forward"===o&&u.appendChild(i.call(t,"fast-forward",d)),"progress"===o){var l=q("div",{class:"".concat(d.class," plyr__progress__container")}),h=q("div",V(t.config.selectors.progress));if(h.appendChild(s.call(t,"seek",{id:"plyr-seek-".concat(e.id)})),h.appendChild(a.call(t,"buffer")),t.config.tooltips.seek){var m=q("span",{class:t.config.classNames.tooltip},"00:00");h.appendChild(m),t.elements.display.seekTooltip=m}t.elements.progress=h,l.appendChild(t.elements.progress),u.appendChild(l)}if("current-time"===o&&u.appendChild(r.call(t,"currentTime",d)),"duration"===o&&u.appendChild(r.call(t,"duration",d)),"mute"===o||"volume"===o){var p=t.elements.volume;if(E.element(p)&&u.contains(p)||(p=q("div",_({},d,{class:"".concat(d.class," plyr__volume").trim()})),t.elements.volume=p,u.appendChild(p)),"mute"===o&&p.appendChild(i.call(t,"mute")),"volume"===o){var f={max:1,step:.05,value:t.config.volume};p.appendChild(s.call(t,"volume",_(f,{id:"plyr-volume-".concat(e.id)})))}}if("captions"===o&&u.appendChild(i.call(t,"captions",d)),"settings"===o&&!E.empty(t.config.settings)){var g=q("div",_({},d,{class:"".concat(d.class," plyr__menu").trim(),hidden:""}));g.appendChild(i.call(t,"settings",{"aria-haspopup":!0,"aria-controls":"plyr-settings-".concat(e.id),"aria-expanded":!1}));var y=q("div",{class:"plyr__menu__container",id:"plyr-settings-".concat(e.id),hidden:""}),v=q("div"),b=q("div",{id:"plyr-settings-".concat(e.id,"-home")}),k=q("div",{role:"menu"});b.appendChild(k),v.appendChild(b),t.elements.settings.panels.home=b,t.config.settings.forEach(function(i){var a=q("button",_(V(t.config.selectors.buttons.settings),{type:"button",class:"".concat(t.config.classNames.control," ").concat(t.config.classNames.control,"--forward"),role:"menuitem","aria-haspopup":!0,hidden:""}));n.call(t,a,i),N(a,"click",function(){c.call(t,i,!1)});var s=q("span",null,ge(i,t.config)),r=q("span",{class:t.config.classNames.menu.value});r.innerHTML=e[i],s.appendChild(r),a.appendChild(s),k.appendChild(a);var o=q("div",{id:"plyr-settings-".concat(e.id,"-").concat(i),hidden:""}),l=q("button",{type:"button",class:"".concat(t.config.classNames.control," ").concat(t.config.classNames.control,"--back")});l.appendChild(q("span",{"aria-hidden":!0},ge(i,t.config))),l.appendChild(q("span",{class:t.config.classNames.hidden},ge("menuBack",t.config))),N(o,"keydown",function(e){37===e.which&&(e.preventDefault(),e.stopPropagation(),c.call(t,"home",!0))},!1),N(l,"click",function(){c.call(t,"home",!1)}),o.appendChild(l),o.appendChild(q("div",{role:"menu"})),v.appendChild(o),t.elements.settings.buttons[i]=a,t.elements.settings.panels[i]=o}),y.appendChild(v),g.appendChild(y),u.appendChild(g),t.elements.settings.popup=y,t.elements.settings.menu=g}if("pip"===o&&ie.pip&&u.appendChild(i.call(t,"pip",d)),"airplay"===o&&ie.airplay&&u.appendChild(i.call(t,"airplay",d)),"download"===o){var w=_({},d,{element:"a",href:t.download,target:"_blank"}),T=t.config.urls.download;!E.url(T)&&t.isEmbed&&_(w,{icon:"logo-".concat(t.provider),label:t.provider}),u.appendChild(i.call(t,"download",w))}"fullscreen"===o&&u.appendChild(i.call(t,"fullscreen",d))}),this.isHTML5&&o.call(this,le.getQualityOptions.call(this)),l.call(this),u},inject:function(){var e=this;if(this.config.loadSprite){var t=Ae.getIconUrl.call(this);t.cors&&be(t.url,"sprite-plyr")}this.id=Math.floor(1e4*Math.random());var n=null;this.elements.controls=null;var i={id:this.id,seektime:this.config.seekTime,title:this.config.title},s=!0;E.function(this.config.controls)&&(this.config.controls=this.config.controls.call(this,i)),this.config.controls||(this.config.controls=[]),E.element(this.config.controls)||E.string(this.config.controls)?n=this.config.controls:(n=Ae.create.call(this,{id:this.id,seektime:this.config.seekTime,speed:this.speed,quality:this.quality,captions:Pe.getLabel.call(this)}),s=!1);var r,o=function(e){var t=e;return Object.entries(i).forEach(function(e){var n=a(e,2),i=n[0],s=n[1];t=de(t,"{".concat(i,"}"),s)}),t};if(s&&(E.string(this.config.controls)?n=o(n):E.element(n)&&(n.innerHTML=o(n.innerHTML))),E.string(this.config.selectors.controls.container)&&(r=document.querySelector(this.config.selectors.controls.container)),E.element(r)||(r=this.elements.container),r[E.element(n)?"insertAdjacentElement":"insertAdjacentHTML"]("afterbegin",n),E.element(this.elements.controls)||Ae.findElements.call(this),!E.empty(this.elements.buttons)){var l=function(t){var n=e.config.classNames.controlPressed;Object.defineProperty(t,"pressed",{enumerable:!0,get:function(){return W(t,n)},set:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];U(t,n,e)}})};Object.values(this.elements.buttons).filter(Boolean).forEach(function(e){E.array(e)||E.nodeList(e)?Array.from(e).filter(Boolean).forEach(l):l(e)})}if(te.isEdge&&Z(r),this.config.tooltips.controls){var c=this.config,u=c.classNames,d=c.selectors,h="".concat(d.controls.wrapper," ").concat(d.labels," .").concat(u.hidden),m=K.call(this,h);Array.from(m).forEach(function(t){U(t,e.config.classNames.hidden,!1),U(t,e.config.classNames.tooltip,!0)})}}};function Ee(e){var t=e;if(!(arguments.length>1&&void 0!==arguments[1])||arguments[1]){var n=document.createElement("a");n.href=t,t=n.href}try{return new URL(t)}catch(e){return null}}function Se(e){var t=new URLSearchParams;return E.object(e)&&Object.entries(e).forEach(function(e){var n=a(e,2),i=n[0],s=n[1];t.set(i,s)}),t}var Pe={setup:function(){if(this.supported.ui)if(!this.isVideo||this.isYouTube||this.isHTML5&&!ie.textTracks)E.array(this.config.controls)&&this.config.controls.includes("settings")&&this.config.settings.includes("captions")&&Ae.setCaptionsMenu.call(this);else{if(E.element(this.elements.captions)||(this.elements.captions=q("div",V(this.config.selectors.captions)),function(e,t){E.element(e)&&E.element(t)&&t.parentNode.insertBefore(e,t.nextSibling)}(this.elements.captions,this.elements.wrapper)),te.isIE&&window.URL){var e=this.media.querySelectorAll("track");Array.from(e).forEach(function(e){var t=e.getAttribute("src"),n=Ee(t);null!==n&&n.hostname!==window.location.href.hostname&&["http:","https:"].includes(n.protocol)&&ve(t,"blob").then(function(t){e.setAttribute("src",window.URL.createObjectURL(t))}).catch(function(){D(e)})})}var t=ce((navigator.languages||[navigator.language||navigator.userLanguage||"en"]).map(function(e){return e.split("-")[0]})),n=(this.storage.get("language")||this.config.captions.language||"auto").toLowerCase();if("auto"===n)n=a(t,1)[0];var i=this.storage.get("captions");if(E.boolean(i)||(i=this.config.captions.active),Object.assign(this.captions,{toggled:!1,active:i,language:n,languages:t}),this.isHTML5){var s=this.config.captions.update?"addtrack removetrack":"removetrack";N.call(this,this.media.textTracks,s,Pe.update.bind(this))}setTimeout(Pe.update.bind(this),0)}},update:function(){var e=this,t=Pe.getTracks.call(this,!0),n=this.captions,i=n.active,a=n.language,s=n.meta,r=n.currentTrackNode,o=Boolean(t.find(function(e){return e.language===a}));this.isHTML5&&this.isVideo&&t.filter(function(e){return!s.get(e)}).forEach(function(t){e.debug.log("Track added",t),s.set(t,{default:"showing"===t.mode}),Object.assign(t,{mode:"hidden"}),N.call(e,t,"cuechange",function(){return Pe.updateCues.call(e)})}),(o&&this.language!==a||!t.includes(r))&&(Pe.setLanguage.call(this,a),Pe.toggle.call(this,i&&o)),U(this.elements.container,this.config.classNames.captions.enabled,!E.empty(t)),(this.config.controls||[]).includes("settings")&&this.config.settings.includes("captions")&&Ae.setCaptionsMenu.call(this)},toggle:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.supported.ui){var n=this.captions.toggled,i=this.config.classNames.captions.active,a=E.nullOrUndefined(e)?!n:e;if(a!==n){if(t||(this.captions.active=a,this.storage.set({captions:a})),!this.language&&a&&!t){var r=Pe.getTracks.call(this),o=Pe.findTrack.call(this,[this.captions.language].concat(s(this.captions.languages)),!0);return this.captions.language=o.language,void Pe.set.call(this,r.indexOf(o))}this.elements.buttons.captions&&(this.elements.buttons.captions.pressed=a),U(this.elements.container,i,a),this.captions.toggled=a,Ae.updateSetting.call(this,"captions"),L.call(this,this.media,a?"captionsenabled":"captionsdisabled")}}},set:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=Pe.getTracks.call(this);if(-1!==e)if(E.number(e))if(e in n){if(this.captions.currentTrack!==e){this.captions.currentTrack=e;var i=n[e],a=(i||{}).language;this.captions.currentTrackNode=i,Ae.updateSetting.call(this,"captions"),t||(this.captions.language=a,this.storage.set({language:a})),this.isVimeo&&this.embed.enableTextTrack(a),L.call(this,this.media,"languagechange")}Pe.toggle.call(this,!0,t),this.isHTML5&&this.isVideo&&Pe.updateCues.call(this)}else this.debug.warn("Track not found",e);else this.debug.warn("Invalid caption argument",e);else Pe.toggle.call(this,!1,t)},setLanguage:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(E.string(e)){var n=e.toLowerCase();this.captions.language=n;var i=Pe.getTracks.call(this),a=Pe.findTrack.call(this,[n]);Pe.set.call(this,i.indexOf(a),t)}else this.debug.warn("Invalid language argument",e)},getTracks:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return Array.from((this.media||{}).textTracks||[]).filter(function(n){return!e.isHTML5||t||e.captions.meta.has(n)}).filter(function(e){return["captions","subtitles"].includes(e.kind)})},findTrack:function(e){var t,n=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=Pe.getTracks.call(this),s=function(e){return Number((n.captions.meta.get(e)||{}).default)},r=Array.from(a).sort(function(e,t){return s(t)-s(e)});return e.every(function(e){return!(t=r.find(function(t){return t.language===e}))}),t||(i?r[0]:void 0)},getCurrentTrack:function(){return Pe.getTracks.call(this)[this.currentTrack]},getLabel:function(e){var t=e;return!E.track(t)&&ie.textTracks&&this.captions.toggled&&(t=Pe.getCurrentTrack.call(this)),E.track(t)?E.empty(t.label)?E.empty(t.language)?ge("enabled",this.config):e.language.toUpperCase():t.label:ge("disabled",this.config)},updateCues:function(e){if(this.supported.ui)if(E.element(this.elements.captions))if(E.nullOrUndefined(e)||Array.isArray(e)){var t=e;if(!t){var n=Pe.getCurrentTrack.call(this);t=Array.from((n||{}).activeCues||[]).map(function(e){return e.getCueAsHTML()}).map(pe)}var i=t.map(function(e){return e.trim()}).join("\n");if(i!==this.elements.captions.innerHTML){F(this.elements.captions);var a=q("span",V(this.config.selectors.caption));a.innerHTML=i,this.elements.captions.appendChild(a),L.call(this,this.media,"cuechange")}}else this.debug.warn("updateCues: Invalid input",e);else this.debug.warn("No captions element to render to")}},Ne={enabled:!0,title:"",debug:!1,autoplay:!1,autopause:!0,playsinline:!0,seekTime:10,volume:1,muted:!1,duration:null,displayDuration:!0,invertTime:!0,toggleInvert:!0,ratio:null,clickToPlay:!0,hideControls:!0,resetOnEnd:!1,disableContextMenu:!0,loadSprite:!0,iconPrefix:"plyr",iconUrl:"https://cdn.plyr.io/3.5.2/plyr.svg",blankVideo:"https://cdn.plyr.io/static/blank.mp4",quality:{default:576,options:[4320,2880,2160,1440,1080,720,576,480,360,240]},loop:{active:!1},speed:{selected:1,options:[.5,.75,1,1.25,1.5,1.75,2]},keyboard:{focused:!0,global:!1},tooltips:{controls:!1,seek:!0},captions:{active:!1,language:"auto",update:!1},fullscreen:{enabled:!0,fallback:!0,iosNative:!1},storage:{enabled:!0,key:"plyr"},controls:["play-large","play","progress","current-time","mute","volume","captions","settings","pip","airplay","fullscreen"],settings:["captions","quality","speed"],i18n:{restart:"Restart",rewind:"Rewind {seektime}s",play:"Play",pause:"Pause",fastForward:"Forward {seektime}s",seek:"Seek",seekLabel:"{currentTime} of {duration}",played:"Played",buffered:"Buffered",currentTime:"Current time",duration:"Duration",volume:"Volume",mute:"Mute",unmute:"Unmute",enableCaptions:"Enable captions",disableCaptions:"Disable captions",download:"Download",enterFullscreen:"Enter fullscreen",exitFullscreen:"Exit fullscreen",frameTitle:"Player for {title}",captions:"Captions",settings:"Settings",menuBack:"Go back to previous menu",speed:"Speed",normal:"Normal",quality:"Quality",loop:"Loop",start:"Start",end:"End",all:"All",reset:"Reset",disabled:"Disabled",enabled:"Enabled",advertisement:"Ad",qualityBadge:{2160:"4K",1440:"HD",1080:"HD",720:"HD",576:"SD",480:"SD"}},urls:{download:null,vimeo:{sdk:"https://player.vimeo.com/api/player.js",iframe:"https://player.vimeo.com/video/{0}?{1}",api:"https://vimeo.com/api/v2/video/{0}.json"},youtube:{sdk:"https://www.youtube.com/iframe_api",api:"https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}"},googleIMA:{sdk:"https://imasdk.googleapis.com/js/sdkloader/ima3.js"}},listeners:{seek:null,play:null,pause:null,restart:null,rewind:null,fastForward:null,mute:null,volume:null,captions:null,download:null,fullscreen:null,pip:null,airplay:null,speed:null,quality:null,loop:null,language:null},events:["ended","progress","stalled","playing","waiting","canplay","canplaythrough","loadstart","loadeddata","loadedmetadata","timeupdate","volumechange","play","pause","error","seeking","seeked","emptied","ratechange","cuechange","download","enterfullscreen","exitfullscreen","captionsenabled","captionsdisabled","languagechange","controlshidden","controlsshown","ready","statechange","qualitychange","adsloaded","adscontentpause","adscontentresume","adstarted","adsmidpoint","adscomplete","adsallcomplete","adsimpression","adsclick"],selectors:{editable:"input, textarea, select, [contenteditable]",container:".plyr",controls:{container:null,wrapper:".plyr__controls"},labels:"[data-plyr]",buttons:{play:'[data-plyr="play"]',pause:'[data-plyr="pause"]',restart:'[data-plyr="restart"]',rewind:'[data-plyr="rewind"]',fastForward:'[data-plyr="fast-forward"]',mute:'[data-plyr="mute"]',captions:'[data-plyr="captions"]',download:'[data-plyr="download"]',fullscreen:'[data-plyr="fullscreen"]',pip:'[data-plyr="pip"]',airplay:'[data-plyr="airplay"]',settings:'[data-plyr="settings"]',loop:'[data-plyr="loop"]'},inputs:{seek:'[data-plyr="seek"]',volume:'[data-plyr="volume"]',speed:'[data-plyr="speed"]',language:'[data-plyr="language"]',quality:'[data-plyr="quality"]'},display:{currentTime:".plyr__time--current",duration:".plyr__time--duration",buffer:".plyr__progress__buffer",loop:".plyr__progress__loop",volume:".plyr__volume--display"},progress:".plyr__progress",captions:".plyr__captions",caption:".plyr__caption"},classNames:{type:"plyr--{0}",provider:"plyr--{0}",video:"plyr__video-wrapper",embed:"plyr__video-embed",videoFixedRatio:"plyr__video-wrapper--fixed-ratio",embedContainer:"plyr__video-embed__container",poster:"plyr__poster",posterEnabled:"plyr__poster-enabled",ads:"plyr__ads",control:"plyr__control",controlPressed:"plyr__control--pressed",playing:"plyr--playing",paused:"plyr--paused",stopped:"plyr--stopped",loading:"plyr--loading",hover:"plyr--hover",tooltip:"plyr__tooltip",cues:"plyr__cues",hidden:"plyr__sr-only",hideControls:"plyr--hide-controls",isIos:"plyr--is-ios",isTouch:"plyr--is-touch",uiSupported:"plyr--full-ui",noTransition:"plyr--no-transition",display:{time:"plyr__time"},menu:{value:"plyr__menu__value",badge:"plyr__badge",open:"plyr--menu-open"},captions:{enabled:"plyr--captions-enabled",active:"plyr--captions-active"},fullscreen:{enabled:"plyr--fullscreen-enabled",fallback:"plyr--fullscreen-fallback"},pip:{supported:"plyr--pip-supported",active:"plyr--pip-active"},airplay:{supported:"plyr--airplay-supported",active:"plyr--airplay-active"},tabFocus:"plyr__tab-focus",previewThumbnails:{thumbContainer:"plyr__preview-thumb",thumbContainerShown:"plyr__preview-thumb--is-shown",imageContainer:"plyr__preview-thumb__image-container",timeContainer:"plyr__preview-thumb__time-container",scrubbingContainer:"plyr__preview-scrubbing",scrubbingContainerShown:"plyr__preview-scrubbing--is-shown"}},attributes:{embed:{provider:"data-plyr-provider",id:"data-plyr-embed-id"}},ads:{enabled:!1,publisherId:"",tagUrl:""},previewThumbnails:{enabled:!1,src:""},vimeo:{byline:!1,portrait:!1,title:!1,speed:!0,transparent:!1},youtube:{noCookie:!1,rel:0,showinfo:0,iv_load_policy:3,modestbranding:1}},Me="picture-in-picture",xe="inline",Le={html5:"html5",youtube:"youtube",vimeo:"vimeo"},Ie={audio:"audio",video:"video"};var _e=function(){},Oe=function(){function t(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0];e(this,t),this.enabled=window.console&&n,this.enabled&&this.log("Debugging enabled")}return n(t,[{key:"log",get:function(){return this.enabled?Function.prototype.bind.call(console.log,console):_e}},{key:"warn",get:function(){return this.enabled?Function.prototype.bind.call(console.warn,console):_e}},{key:"error",get:function(){return this.enabled?Function.prototype.bind.call(console.error,console):_e}}]),t}();function je(){if(this.enabled){var e=this.player.elements.buttons.fullscreen;E.element(e)&&(e.pressed=this.active),L.call(this.player,this.target,this.active?"enterfullscreen":"exitfullscreen",!0),te.isIos||function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(E.element(e)){var n=K.call(this,"button:not(:disabled), input:not(:disabled), [tabindex]"),i=n[0],a=n[n.length-1];P.call(this,this.elements.container,"keydown",function(e){if("Tab"===e.key&&9===e.keyCode){var t=document.activeElement;t!==a||e.shiftKey?t===i&&e.shiftKey&&(a.focus(),e.preventDefault()):(i.focus(),e.preventDefault())}},t,!1)}}.call(this.player,this.target,this.active)}}function qe(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(t?this.scrollPosition={x:window.scrollX||0,y:window.scrollY||0}:window.scrollTo(this.scrollPosition.x,this.scrollPosition.y),document.body.style.overflow=t?"hidden":"",U(this.target,this.player.config.classNames.fullscreen.fallback,t),te.isIos){var n=document.head.querySelector('meta[name="viewport"]'),i="viewport-fit=cover";n||(n=document.createElement("meta")).setAttribute("name","viewport");var a=E.string(n.content)&&n.content.includes(i);t?(this.cleanupViewport=!a,a||(n.content+=",".concat(i))):this.cleanupViewport&&(n.content=n.content.split(",").filter(function(e){return e.trim()!==i}).join(",")),setTimeout(function(){return Z(e.target)},100)}je.call(this)}var He=function(){function t(n){var i=this;e(this,t),this.player=n,this.prefix=t.prefix,this.property=t.property,this.scrollPosition={x:0,y:0},this.forceFallback="force"===n.config.fullscreen.fallback,N.call(this.player,document,"ms"===this.prefix?"MSFullscreenChange":"".concat(this.prefix,"fullscreenchange"),function(){je.call(i)}),N.call(this.player,this.player.elements.container,"dblclick",function(e){E.element(i.player.elements.controls)&&i.player.elements.controls.contains(e.target)||i.toggle()}),this.update()}return n(t,[{key:"update",value:function(){var e;this.enabled?(e=this.forceFallback?"Fallback (forced)":t.native?"Native":"Fallback",this.player.debug.log("".concat(e," fullscreen enabled"))):this.player.debug.log("Fullscreen not supported and fallback disabled");U(this.player.elements.container,this.player.config.classNames.fullscreen.enabled,this.enabled)}},{key:"enter",value:function(){this.enabled&&(te.isIos&&this.player.config.fullscreen.iosNative?this.target.webkitEnterFullscreen():!t.native||this.forceFallback?qe.call(this,!0):this.prefix?E.empty(this.prefix)||this.target["".concat(this.prefix,"Request").concat(this.property)]():this.target.requestFullscreen())}},{key:"exit",value:function(){if(this.enabled)if(te.isIos&&this.player.config.fullscreen.iosNative)this.target.webkitExitFullscreen(),this.player.play();else if(!t.native||this.forceFallback)qe.call(this,!1);else if(this.prefix){if(!E.empty(this.prefix)){var e="moz"===this.prefix?"Cancel":"Exit";document["".concat(this.prefix).concat(e).concat(this.property)]()}}else(document.cancelFullScreen||document.exitFullscreen).call(document)}},{key:"toggle",value:function(){this.active?this.exit():this.enter()}},{key:"usingNative",get:function(){return t.native&&!this.forceFallback}},{key:"enabled",get:function(){return(t.native||this.player.config.fullscreen.fallback)&&this.player.config.fullscreen.enabled&&this.player.supported.ui&&this.player.isVideo}},{key:"active",get:function(){return!!this.enabled&&(!t.native||this.forceFallback?W(this.target,this.player.config.classNames.fullscreen.fallback):(this.prefix?document["".concat(this.prefix).concat(this.property,"Element")]:document.fullscreenElement)===this.target)}},{key:"target",get:function(){return te.isIos&&this.player.config.fullscreen.iosNative?this.player.media:this.player.elements.container}}],[{key:"native",get:function(){return!!(document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled)}},{key:"prefix",get:function(){if(E.function(document.exitFullscreen))return"";var e="";return["webkit","moz","ms"].some(function(t){return!(!E.function(document["".concat(t,"ExitFullscreen")])&&!E.function(document["".concat(t,"CancelFullScreen")]))&&(e=t,!0)}),e}},{key:"property",get:function(){return"moz"===this.prefix?"FullScreen":"Fullscreen"}}]),t}();function De(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return new Promise(function(n,i){var a=new Image,s=function(){delete a.onload,delete a.onerror,(a.naturalWidth>=t?n:i)(a)};Object.assign(a,{onload:s,onerror:s,src:e})})}var Fe={addStyleHook:function(){U(this.elements.container,this.config.selectors.container.replace(".",""),!0),U(this.elements.container,this.config.classNames.uiSupported,this.supported.ui)},toggleNativeControls:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&this.isHTML5?this.media.setAttribute("controls",""):this.media.removeAttribute("controls")},build:function(){var e=this;if(this.listeners.media(),!this.supported.ui)return this.debug.warn("Basic support only for ".concat(this.provider," ").concat(this.type)),void Fe.toggleNativeControls.call(this,!0);E.element(this.elements.controls)||(Ae.inject.call(this),this.listeners.controls()),Fe.toggleNativeControls.call(this),this.isHTML5&&Pe.setup.call(this),this.volume=null,this.muted=null,this.loop=null,this.quality=null,this.speed=null,Ae.updateVolume.call(this),Ae.timeUpdate.call(this),Fe.checkPlaying.call(this),U(this.elements.container,this.config.classNames.pip.supported,ie.pip&&this.isHTML5&&this.isVideo),U(this.elements.container,this.config.classNames.airplay.supported,ie.airplay&&this.isHTML5),U(this.elements.container,this.config.classNames.isIos,te.isIos),U(this.elements.container,this.config.classNames.isTouch,this.touch),this.ready=!0,setTimeout(function(){L.call(e,e.media,"ready")},0),Fe.setTitle.call(this),this.poster&&Fe.setPoster.call(this,this.poster,!1).catch(function(){}),this.config.duration&&Ae.durationUpdate.call(this)},setTitle:function(){var e=ge("play",this.config);if(E.string(this.config.title)&&!E.empty(this.config.title)&&(e+=", ".concat(this.config.title)),Array.from(this.elements.buttons.play||[]).forEach(function(t){t.setAttribute("aria-label",e)}),this.isEmbed){var t=Y.call(this,"iframe");if(!E.element(t))return;var n=E.empty(this.config.title)?"video":this.config.title,i=ge("frameTitle",this.config);t.setAttribute("title",i.replace("{title}",n))}},togglePoster:function(e){U(this.elements.container,this.config.classNames.posterEnabled,e)},setPoster:function(e){var t=this;return arguments.length>1&&void 0!==arguments[1]&&!arguments[1]||!this.poster?(this.media.setAttribute("poster",e),function(){var e=this;return new Promise(function(t){return e.ready?setTimeout(t,0):N.call(e,e.elements.container,"ready",t)}).then(function(){})}.call(this).then(function(){return De(e)}).catch(function(n){throw e===t.poster&&Fe.togglePoster.call(t,!1),n}).then(function(){if(e!==t.poster)throw new Error("setPoster cancelled by later call to setPoster")}).then(function(){return Object.assign(t.elements.poster.style,{backgroundImage:"url('".concat(e,"')"),backgroundSize:""}),Fe.togglePoster.call(t,!0),e})):Promise.reject(new Error("Poster already set"))},checkPlaying:function(e){var t=this;U(this.elements.container,this.config.classNames.playing,this.playing),U(this.elements.container,this.config.classNames.paused,this.paused),U(this.elements.container,this.config.classNames.stopped,this.stopped),Array.from(this.elements.buttons.play||[]).forEach(function(e){Object.assign(e,{pressed:t.playing})}),E.event(e)&&"timeupdate"===e.type||Fe.toggleControls.call(this)},checkLoading:function(e){var t=this;this.loading=["stalled","waiting"].includes(e.type),clearTimeout(this.timers.loading),this.timers.loading=setTimeout(function(){U(t.elements.container,t.config.classNames.loading,t.loading),Fe.toggleControls.call(t)},this.loading?250:0)},toggleControls:function(e){var t=this.elements.controls;if(t&&this.config.hideControls){var n=this.touch&&this.lastSeekTime+2e3>Date.now();this.toggleControls(Boolean(e||this.loading||this.paused||t.pressed||t.hover||n))}}},Re=function(){function t(n){e(this,t),this.player=n,this.lastKey=null,this.focusTimer=null,this.lastKeyDown=null,this.handleKey=this.handleKey.bind(this),this.toggleMenu=this.toggleMenu.bind(this),this.setTabFocus=this.setTabFocus.bind(this),this.firstTouch=this.firstTouch.bind(this)}return n(t,[{key:"handleKey",value:function(e){var t=this.player,n=t.elements,i=e.keyCode?e.keyCode:e.which,a="keydown"===e.type,s=a&&i===this.lastKey;if(!(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)&&E.number(i)){if(a){var r=document.activeElement;if(E.element(r)){var o=t.config.selectors.editable;if(r!==n.inputs.seek&&z(r,o))return;if(32===e.which&&z(r,'button, [role^="menuitem"]'))return}switch([32,37,38,39,40,48,49,50,51,52,53,54,56,57,67,70,73,75,76,77,79].includes(i)&&(e.preventDefault(),e.stopPropagation()),i){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:s||(t.currentTime=t.duration/10*(i-48));break;case 32:case 75:s||t.togglePlay();break;case 38:t.increaseVolume(.1);break;case 40:t.decreaseVolume(.1);break;case 77:s||(t.muted=!t.muted);break;case 39:t.forward();break;case 37:t.rewind();break;case 70:t.fullscreen.toggle();break;case 67:s||t.toggleCaptions();break;case 76:t.loop=!t.loop}27===i&&!t.fullscreen.usingNative&&t.fullscreen.active&&t.fullscreen.toggle(),this.lastKey=i}else this.lastKey=null}}},{key:"toggleMenu",value:function(e){Ae.toggleMenu.call(this.player,e)}},{key:"firstTouch",value:function(){var e=this.player,t=e.elements;e.touch=!0,U(t.container,e.config.classNames.isTouch,!0)}},{key:"setTabFocus",value:function(e){var t=this.player,n=t.elements;if(clearTimeout(this.focusTimer),"keydown"!==e.type||9===e.which){"keydown"===e.type&&(this.lastKeyDown=e.timeStamp);var i,a=e.timeStamp-this.lastKeyDown<=20;if("focus"!==e.type||a)i=t.config.classNames.tabFocus,U(K.call(t,".".concat(i)),i,!1),this.focusTimer=setTimeout(function(){var e=document.activeElement;n.container.contains(e)&&U(document.activeElement,t.config.classNames.tabFocus,!0)},10)}}},{key:"global",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=this.player;t.config.keyboard.global&&P.call(t,window,"keydown keyup",this.handleKey,e,!1),P.call(t,document.body,"click",this.toggleMenu,e),x.call(t,document.body,"touchstart",this.firstTouch),P.call(t,document.body,"keydown focus blur",this.setTabFocus,e,!1,!0)}},{key:"container",value:function(){var e=this.player,t=e.config,n=e.elements,i=e.timers;!t.keyboard.global&&t.keyboard.focused&&N.call(e,n.container,"keydown keyup",this.handleKey,!1),N.call(e,n.container,"mousemove mouseleave touchstart touchmove enterfullscreen exitfullscreen",function(t){var a=n.controls;a&&"enterfullscreen"===t.type&&(a.pressed=!1,a.hover=!1);var s=0;["touchstart","touchmove","mousemove"].includes(t.type)&&(Fe.toggleControls.call(e,!0),s=e.touch?3e3:2e3),clearTimeout(i.controls),i.controls=setTimeout(function(){return Fe.toggleControls.call(e,!1)},s)});var s=function(t){if(!t)return oe.call(e);var i=n.container.getBoundingClientRect(),a=i.width,s=i.height;return oe.call(e,"".concat(a,":").concat(s))},r=function(){clearTimeout(i.resized),i.resized=setTimeout(s,50)};N.call(e,n.container,"enterfullscreen exitfullscreen",function(t){var i=e.fullscreen,o=i.target,l=i.usingNative;if(e.isEmbed&&o===n.container){var c="enterfullscreen"===t.type,u=s(c);u.padding;!function(t,n,i){if(e.isVimeo){var s=e.elements.wrapper.firstChild,r=a(t,2)[1],o=a(re.call(e),2),l=o[0],c=o[1];s.style.maxWidth=i?"".concat(r/c*l,"px"):null,s.style.margin=i?"0 auto":null}}(u.ratio,0,c),l||(c?N.call(e,window,"resize",r):M.call(e,window,"resize",r))}})}},{key:"media",value:function(){var e=this,t=this.player,n=t.elements;if(N.call(t,t.media,"timeupdate seeking seeked",function(e){return Ae.timeUpdate.call(t,e)}),N.call(t,t.media,"durationchange loadeddata loadedmetadata",function(e){return Ae.durationUpdate.call(t,e)}),N.call(t,t.media,"canplay loadeddata",function(){B(n.volume,!t.hasAudio),B(n.buttons.mute,!t.hasAudio)}),N.call(t,t.media,"ended",function(){t.isHTML5&&t.isVideo&&t.config.resetOnEnd&&t.restart()}),N.call(t,t.media,"progress playing seeking seeked",function(e){return Ae.updateProgress.call(t,e)}),N.call(t,t.media,"volumechange",function(e){return Ae.updateVolume.call(t,e)}),N.call(t,t.media,"playing play pause ended emptied timeupdate",function(e){return Fe.checkPlaying.call(t,e)}),N.call(t,t.media,"waiting canplay seeked playing",function(e){return Fe.checkLoading.call(t,e)}),t.supported.ui&&t.config.clickToPlay&&!t.isAudio){var i=Y.call(t,".".concat(t.config.classNames.video));if(!E.element(i))return;N.call(t,n.container,"click",function(a){([n.container,i].includes(a.target)||i.contains(a.target))&&(t.touch&&t.config.hideControls||(t.ended?(e.proxy(a,t.restart,"restart"),e.proxy(a,t.play,"play")):e.proxy(a,t.togglePlay,"play")))})}t.supported.ui&&t.config.disableContextMenu&&N.call(t,n.wrapper,"contextmenu",function(e){e.preventDefault()},!1),N.call(t,t.media,"volumechange",function(){t.storage.set({volume:t.volume,muted:t.muted})}),N.call(t,t.media,"ratechange",function(){Ae.updateSetting.call(t,"speed"),t.storage.set({speed:t.speed})}),N.call(t,t.media,"qualitychange",function(e){Ae.updateSetting.call(t,"quality",null,e.detail.quality)}),N.call(t,t.media,"ready qualitychange",function(){Ae.setDownloadUrl.call(t)});var a=t.config.events.concat(["keyup","keydown"]).join(" ");N.call(t,t.media,a,function(e){var i=e.detail,a=void 0===i?{}:i;"error"===e.type&&(a=t.media.error),L.call(t,n.container,e.type,!0,a)})}},{key:"proxy",value:function(e,t,n){var i=this.player,a=i.config.listeners[n],s=!0;E.function(a)&&(s=a.call(i,e)),s&&E.function(t)&&t.call(i,e)}},{key:"bind",value:function(e,t,n,i){var a=this,s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.player,o=r.config.listeners[i],l=E.function(o);N.call(r,e,t,function(e){return a.proxy(e,n,i)},s&&!l)}},{key:"controls",value:function(){var e=this,t=this.player,n=t.elements,i=te.isIE?"change":"input";if(n.buttons.play&&Array.from(n.buttons.play).forEach(function(n){e.bind(n,"click",t.togglePlay,"play")}),this.bind(n.buttons.restart,"click",t.restart,"restart"),this.bind(n.buttons.rewind,"click",t.rewind,"rewind"),this.bind(n.buttons.fastForward,"click",t.forward,"fastForward"),this.bind(n.buttons.mute,"click",function(){t.muted=!t.muted},"mute"),this.bind(n.buttons.captions,"click",function(){return t.toggleCaptions()}),this.bind(n.buttons.download,"click",function(){L.call(t,t.media,"download")},"download"),this.bind(n.buttons.fullscreen,"click",function(){t.fullscreen.toggle()},"fullscreen"),this.bind(n.buttons.pip,"click",function(){t.pip="toggle"},"pip"),this.bind(n.buttons.airplay,"click",t.airplay,"airplay"),this.bind(n.buttons.settings,"click",function(e){e.stopPropagation(),Ae.toggleMenu.call(t,e)}),this.bind(n.buttons.settings,"keyup",function(e){var n=e.which;[13,32].includes(n)&&(13!==n?(e.preventDefault(),e.stopPropagation(),Ae.toggleMenu.call(t,e)):Ae.focusFirstMenuItem.call(t,null,!0))},null,!1),this.bind(n.settings.menu,"keydown",function(e){27===e.which&&Ae.toggleMenu.call(t,e)}),this.bind(n.inputs.seek,"mousedown mousemove",function(e){var t=n.progress.getBoundingClientRect(),i=100/t.width*(e.pageX-t.left);e.currentTarget.setAttribute("seek-value",i)}),this.bind(n.inputs.seek,"mousedown mouseup keydown keyup touchstart touchend",function(e){var n=e.currentTarget,i=e.keyCode?e.keyCode:e.which;if(!E.keyboardEvent(e)||39===i||37===i){t.lastSeekTime=Date.now();var a=n.hasAttribute("play-on-seeked"),s=["mouseup","touchend","keyup"].includes(e.type);a&&s?(n.removeAttribute("play-on-seeked"),t.play()):!s&&t.playing&&(n.setAttribute("play-on-seeked",""),t.pause())}}),te.isIos){var s=K.call(t,'input[type="range"]');Array.from(s).forEach(function(t){return e.bind(t,i,function(e){return Z(e.target)})})}this.bind(n.inputs.seek,i,function(e){var n=e.currentTarget,i=n.getAttribute("seek-value");E.empty(i)&&(i=n.value),n.removeAttribute("seek-value"),t.currentTime=i/n.max*t.duration},"seek"),this.bind(n.progress,"mouseenter mouseleave mousemove",function(e){return Ae.updateSeekTooltip.call(t,e)}),this.bind(n.progress,"mousemove touchmove",function(e){var n=t.previewThumbnails;n&&n.loaded&&n.startMove(e)}),this.bind(n.progress,"mouseleave click",function(){var e=t.previewThumbnails;e&&e.loaded&&e.endMove(!1,!0)}),this.bind(n.progress,"mousedown touchstart",function(e){var n=t.previewThumbnails;n&&n.loaded&&n.startScrubbing(e)}),this.bind(n.progress,"mouseup touchend",function(e){var n=t.previewThumbnails;n&&n.loaded&&n.endScrubbing(e)}),te.isWebkit&&Array.from(K.call(t,'input[type="range"]')).forEach(function(n){e.bind(n,"input",function(e){return Ae.updateRangeFill.call(t,e.target)})}),t.config.toggleInvert&&!E.element(n.display.duration)&&this.bind(n.display.currentTime,"click",function(){0!==t.currentTime&&(t.config.invertTime=!t.config.invertTime,Ae.timeUpdate.call(t))}),this.bind(n.inputs.volume,i,function(e){t.volume=e.target.value},"volume"),this.bind(n.controls,"mouseenter mouseleave",function(e){n.controls.hover=!t.touch&&"mouseenter"===e.type}),this.bind(n.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){n.controls.pressed=["mousedown","touchstart"].includes(e.type)}),this.bind(n.controls,"focusin",function(){var i=t.config,a=t.timers;U(n.controls,i.classNames.noTransition,!0),Fe.toggleControls.call(t,!0),setTimeout(function(){U(n.controls,i.classNames.noTransition,!1)},0);var s=e.touch?3e3:4e3;clearTimeout(a.controls),a.controls=setTimeout(function(){return Fe.toggleControls.call(t,!1)},s)}),this.bind(n.inputs.volume,"wheel",function(e){var n=e.webkitDirectionInvertedFromDevice,i=a([e.deltaX,-e.deltaY].map(function(e){return n?-e:e}),2),s=i[0],r=i[1],o=Math.sign(Math.abs(s)>Math.abs(r)?s:r);t.increaseVolume(o/50);var l=t.media.volume;(1===o&&l<1||-1===o&&l>0)&&e.preventDefault()},"volume",!1)}}]),t}();"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var Ve=function(e,t){return e(t={exports:{}},t.exports),t.exports}(function(e,t){e.exports=function(){var e=function(){},t={},n={},i={};function a(e,t){if(e){var a=i[e];if(n[e]=t,a)for(;a.length;)a[0](e,t),a.splice(0,1)}}function s(t,n){t.call&&(t={success:t}),n.length?(t.error||e)(n):(t.success||e)(t)}function r(t,n,i,a){var s,o,l=document,c=i.async,u=(i.numRetries||0)+1,d=i.before||e,h=t.replace(/^(css|img)!/,"");a=a||0,/(^css!|\.css$)/.test(t)?((o=l.createElement("link")).rel="stylesheet",o.href=h,(s="hideFocus"in o)&&o.relList&&(s=0,o.rel="preload",o.as="style")):/(^img!|\.(png|gif|jpg|svg)$)/.test(t)?(o=l.createElement("img")).src=h:((o=l.createElement("script")).src=t,o.async=void 0===c||c),o.onload=o.onerror=o.onbeforeload=function(e){var l=e.type[0];if(s)try{o.sheet.cssText.length||(l="e")}catch(e){18!=e.code&&(l="e")}if("e"==l){if((a+=1)0&&void 0!==arguments[0]&&arguments[0]))return clearInterval(this.countdownTimer),void this.elements.container.removeAttribute("data-badge-text");this.countdownTimer=setInterval(function(){var t=Ce(Math.max(e.manager.getRemainingTime(),0)),n="".concat(ge("advertisement",e.player.config)," - ").concat(t);e.elements.container.setAttribute("data-badge-text",n)},100)}},{key:"onAdsManagerLoaded",value:function(e){var t=this;if(this.enabled){var n=new google.ima.AdsRenderingSettings;n.restoreCustomPlaybackStateOnAdBreakComplete=!0,n.enablePreloading=!0,this.manager=e.getAdsManager(this.player,n),this.cuePoints=this.manager.getCuePoints(),this.manager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,function(e){return t.onAdError(e)}),Object.keys(google.ima.AdEvent.Type).forEach(function(e){t.manager.addEventListener(google.ima.AdEvent.Type[e],function(e){return t.onAdEvent(e)})}),this.trigger("loaded")}}},{key:"addCuePoints",value:function(){var e=this;E.empty(this.cuePoints)||this.cuePoints.forEach(function(t){if(0!==t&&-1!==t&&t1?n-1:0),a=1;a ?)([0-9]{2})?:?([0-9]{2}):([0-9]{2}).([0-9]{2,3})/);r&&(t.startTime=60*Number(r[1]||0)*60+60*Number(r[2])+Number(r[3])+Number("0.".concat(r[4])),t.endTime=60*Number(r[6]||0)*60+60*Number(r[7])+Number(r[8])+Number("0.".concat(r[9])))}}),t.text&&r.push(t)}),r),height:null,urlPrefix:""};o.frames[0].text.startsWith("/")||o.frames[0].text.startsWith("http://")||o.frames[0].text.startsWith("https://")||(o.urlPrefix=e.substring(0,e.lastIndexOf("/")+1));var l=new Image;l.onload=function(){o.height=l.naturalHeight,o.width=l.naturalWidth,t.thumbnails.push(o),n()},l.src=o.urlPrefix+o.frames[0].text})})}},{key:"startMove",value:function(e){if(this.loaded&&E.event(e)&&["touchmove","mousemove"].includes(e.type)&&this.player.media.duration){if("touchmove"===e.type)this.seekTime=this.player.media.duration*(this.player.elements.inputs.seek.value/100);else{var t=this.player.elements.progress.getBoundingClientRect(),n=100/t.width*(e.pageX-t.left);this.seekTime=this.player.media.duration*(n/100),this.seekTime<0&&(this.seekTime=0),this.seekTime>this.player.media.duration-1&&(this.seekTime=this.player.media.duration-1),this.mousePosX=e.pageX,this.elements.thumb.time.innerText=Ce(this.seekTime)}this.showImageAtCurrentTime()}}},{key:"endMove",value:function(){this.toggleThumbContainer(!1,!0)}},{key:"startScrubbing",value:function(e){!1!==e.button&&0!==e.button||(this.mouseDown=!0,this.player.media.duration&&(this.toggleScrubbingContainer(!0),this.toggleThumbContainer(!1,!0),this.showImageAtCurrentTime()))}},{key:"endScrubbing",value:function(){var e=this;this.mouseDown=!1,Math.ceil(this.lastTime)===Math.ceil(this.player.media.currentTime)?this.toggleScrubbingContainer(!1):x.call(this.player,this.player.media,"timeupdate",function(){e.mouseDown||e.toggleScrubbingContainer(!1)})}},{key:"listeners",value:function(){var e=this;this.player.on("play",function(){e.toggleThumbContainer(!1,!0)}),this.player.on("seeked",function(){e.toggleThumbContainer(!1)}),this.player.on("timeupdate",function(){e.lastTime=e.player.media.currentTime})}},{key:"render",value:function(){this.elements.thumb.container=q("div",{class:this.player.config.classNames.previewThumbnails.thumbContainer}),this.elements.thumb.imageContainer=q("div",{class:this.player.config.classNames.previewThumbnails.imageContainer}),this.elements.thumb.container.appendChild(this.elements.thumb.imageContainer);var e=q("div",{class:this.player.config.classNames.previewThumbnails.timeContainer});this.elements.thumb.time=q("span",{},"00:00"),e.appendChild(this.elements.thumb.time),this.elements.thumb.container.appendChild(e),E.element(this.player.elements.progress)&&this.player.elements.progress.appendChild(this.elements.thumb.container),this.elements.scrubbing.container=q("div",{class:this.player.config.classNames.previewThumbnails.scrubbingContainer}),this.player.elements.wrapper.appendChild(this.elements.scrubbing.container)}},{key:"showImageAtCurrentTime",value:function(){var e=this;this.mouseDown?this.setScrubbingContainerSize():this.setThumbContainerSizeAndPos();var t=this.thumbnails[0].frames.findIndex(function(t){return e.seekTime>=t.startTime&&e.seekTime<=t.endTime}),n=t>=0,i=0;this.mouseDown||this.toggleThumbContainer(n),n&&(this.thumbnails.forEach(function(n,a){e.loadedImages.includes(n.frames[t].text)&&(i=a)}),t!==this.showingThumb&&(this.showingThumb=t,this.loadImage(i)))}},{key:"loadImage",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=this.showingThumb,i=this.thumbnails[t],a=i.urlPrefix,s=i.frames[n],r=i.frames[n].text,o=a+r;if(this.currentImageElement&&this.currentImageElement.dataset.filename===r)this.showImage(this.currentImageElement,s,t,n,r,!1),this.currentImageElement.dataset.index=n,this.removeOldImages(this.currentImageElement);else{this.loadingImage&&this.usingSprites&&(this.loadingImage.onload=null);var l=new Image;l.src=o,l.dataset.index=n,l.dataset.filename=r,this.showingThumbFilename=r,this.player.debug.log("Loading image: ".concat(o)),l.onload=function(){return e.showImage(l,s,t,n,r,!0)},this.loadingImage=l,this.removeOldImages(l)}}},{key:"showImage",value:function(e,t,n,i,a){var s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];this.player.debug.log("Showing thumb: ".concat(a,". num: ").concat(i,". qual: ").concat(n,". newimg: ").concat(s)),this.setImageSizeAndOffset(e,t),s&&(this.currentImageContainer.appendChild(e),this.currentImageElement=e,this.loadedImages.includes(a)||this.loadedImages.push(a)),this.preloadNearby(i,!0).then(this.preloadNearby(i,!1)).then(this.getHigherQuality(n,e,t,a))}},{key:"removeOldImages",value:function(e){var t=this;Array.from(this.currentImageContainer.children).forEach(function(n){if("img"===n.tagName.toLowerCase()){var i=t.usingSprites?500:1e3;if(n.dataset.index!==e.dataset.index&&!n.dataset.deleting){n.dataset.deleting=!0;var a=t.currentImageContainer;setTimeout(function(){a.removeChild(n),t.player.debug.log("Removing thumb: ".concat(n.dataset.filename))},i)}}})}},{key:"preloadNearby",value:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return new Promise(function(i){setTimeout(function(){var a=t.thumbnails[0].frames[e].text;if(t.showingThumbFilename===a){var s;s=n?t.thumbnails[0].frames.slice(e):t.thumbnails[0].frames.slice(0,e).reverse();var r=!1;s.forEach(function(e){var n=e.text;if(n!==a&&!t.loadedImages.includes(n)){r=!0,t.player.debug.log("Preloading thumb filename: ".concat(n));var s=t.thumbnails[0].urlPrefix+n,o=new Image;o.src=s,o.onload=function(){t.player.debug.log("Preloaded thumb filename: ".concat(n)),t.loadedImages.includes(n)||t.loadedImages.push(n),i()}}}),r||i()}},300)})}},{key:"getHigherQuality",value:function(e,t,n,i){var a=this;if(e0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.player.config.classNames.previewThumbnails.thumbContainerShown;this.elements.thumb.container.classList.toggle(n,e),!e&&t&&(this.showingThumb=null,this.showingThumbFilename=null)}},{key:"toggleScrubbingContainer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.player.config.classNames.previewThumbnails.scrubbingContainerShown;this.elements.scrubbing.container.classList.toggle(t,e),e||(this.showingThumb=null,this.showingThumbFilename=null)}},{key:"determineContainerAutoSizing",value:function(){this.elements.thumb.imageContainer.clientHeight>20&&(this.sizeSpecifiedInCSS=!0)}},{key:"setThumbContainerSizeAndPos",value:function(){if(!this.sizeSpecifiedInCSS){var e=Math.floor(this.thumbContainerHeight*this.thumbAspectRatio);this.elements.thumb.imageContainer.style.height="".concat(this.thumbContainerHeight,"px"),this.elements.thumb.imageContainer.style.width="".concat(e,"px")}this.setThumbContainerPos()}},{key:"setThumbContainerPos",value:function(){var e=this.player.elements.progress.getBoundingClientRect(),t=this.player.elements.container.getBoundingClientRect(),n=this.elements.thumb.container,i=t.left-e.left+10,a=t.right-e.left-n.clientWidth-10,s=this.mousePosX-e.left-n.clientWidth/2;sa&&(s=a),n.style.left="".concat(s,"px")}},{key:"setScrubbingContainerSize",value:function(){this.elements.scrubbing.container.style.width="".concat(this.player.media.clientWidth,"px"),this.elements.scrubbing.container.style.height="".concat(this.player.media.clientWidth/this.thumbAspectRatio,"px")}},{key:"setImageSizeAndOffset",value:function(e,t){if(this.usingSprites){var n=this.thumbContainerHeight/t.h;e.style.height="".concat(Math.floor(e.naturalHeight*n),"px"),e.style.width="".concat(Math.floor(e.naturalWidth*n),"px"),e.style.left="-".concat(t.x*n,"px"),e.style.top="-".concat(t.y*n,"px")}}},{key:"enabled",get:function(){return this.player.isHTML5&&this.player.isVideo&&this.player.config.previewThumbnails.enabled}},{key:"currentImageContainer",get:function(){return this.mouseDown?this.elements.scrubbing.container:this.elements.thumb.imageContainer}},{key:"usingSprites",get:function(){return Object.keys(this.thumbnails[0].frames[0]).includes("w")}},{key:"thumbAspectRatio",get:function(){return this.usingSprites?this.thumbnails[0].frames[0].w/this.thumbnails[0].frames[0].h:this.thumbnails[0].width/this.thumbnails[0].height}},{key:"thumbContainerHeight",get:function(){return this.mouseDown?Math.floor(this.player.media.clientWidth/this.thumbAspectRatio):Math.floor(this.player.media.clientWidth/this.thumbAspectRatio/4)}},{key:"currentImageElement",get:function(){return this.mouseDown?this.currentScrubbingImageElement:this.currentThumbnailImageElement},set:function(e){this.mouseDown?this.currentScrubbingImageElement=e:this.currentThumbnailImageElement=e}}]),t}(),$e={insertElements:function(e,t){var n=this;E.string(t)?H(e,this.media,{src:t}):E.array(t)&&t.forEach(function(t){H(e,n.media,t)})},change:function(e){var t=this;I(e,"sources.length")?(le.cancelRequests.call(this),this.destroy.call(this,function(){t.options.quality=[],D(t.media),t.media=null,E.element(t.elements.container)&&t.elements.container.removeAttribute("class");var n=e.sources,i=e.type,s=a(n,1)[0],r=s.provider,o=void 0===r?Le.html5:r,l=s.src,c="html5"===o?i:"div",u="html5"===o?{}:{src:l};Object.assign(t,{provider:o,type:i,supported:ie.check(i,o,t.config.playsinline),media:q(c,u)}),t.elements.container.appendChild(t.media),E.boolean(e.autoplay)&&(t.config.autoplay=e.autoplay),t.isHTML5&&(t.config.crossorigin&&t.media.setAttribute("crossorigin",""),t.config.autoplay&&t.media.setAttribute("autoplay",""),E.empty(e.poster)||(t.poster=e.poster),t.config.loop.active&&t.media.setAttribute("loop",""),t.config.muted&&t.media.setAttribute("muted",""),t.config.playsinline&&t.media.setAttribute("playsinline","")),Fe.addStyleHook.call(t),t.isHTML5&&$e.insertElements.call(t,"source",n),t.config.title=e.title,Qe.setup.call(t),t.isHTML5&&Object.keys(e).includes("tracks")&&$e.insertElements.call(t,"track",e.tracks),(t.isHTML5||t.isEmbed&&!t.supported.ui)&&Fe.build.call(t),t.isHTML5&&t.media.load(),t.previewThumbnails&&t.previewThumbnails.load(),t.fullscreen.update()},!0)):this.debug.warn("Invalid source format")}};var Ge,Ze=function(){function t(n,i){var a=this;if(e(this,t),this.timers={},this.ready=!1,this.loading=!1,this.failed=!1,this.touch=ie.touch,this.media=n,E.string(this.media)&&(this.media=document.querySelectorAll(this.media)),(window.jQuery&&this.media instanceof jQuery||E.nodeList(this.media)||E.array(this.media))&&(this.media=this.media[0]),this.config=_({},Ne,t.defaults,i||{},function(){try{return JSON.parse(a.media.getAttribute("data-plyr-config"))}catch(e){return{}}}()),this.elements={container:null,captions:null,buttons:{},display:{},progress:{},inputs:{},settings:{popup:null,menu:null,panels:{},buttons:{}}},this.captions={active:null,currentTrack:-1,meta:new WeakMap},this.fullscreen={active:!1},this.options={speed:[],quality:[]},this.debug=new Oe(this.config.debug),this.debug.log("Config",this.config),this.debug.log("Support",ie),!E.nullOrUndefined(this.media)&&E.element(this.media))if(this.media.plyr)this.debug.warn("Target already setup");else if(this.config.enabled)if(ie.check().api){var s=this.media.cloneNode(!0);s.autoplay=!1,this.elements.original=s;var r=this.media.tagName.toLowerCase(),o=null,l=null;switch(r){case"div":if(o=this.media.querySelector("iframe"),E.element(o)){if(l=Ee(o.getAttribute("src")),this.provider=function(e){return/^(https?:\/\/)?(www\.)?(youtube\.com|youtube-nocookie\.com|youtu\.?be)\/.+$/.test(e)?Le.youtube:/^https?:\/\/player.vimeo.com\/video\/\d{0,9}(?=\b|\/)/.test(e)?Le.vimeo:null}(l.toString()),this.elements.container=this.media,this.media=o,this.elements.container.className="",l.search.length){var c=["1","true"];c.includes(l.searchParams.get("autoplay"))&&(this.config.autoplay=!0),c.includes(l.searchParams.get("loop"))&&(this.config.loop.active=!0),this.isYouTube?(this.config.playsinline=c.includes(l.searchParams.get("playsinline")),this.config.youtube.hl=l.searchParams.get("hl")):this.config.playsinline=!0}}else this.provider=this.media.getAttribute(this.config.attributes.embed.provider),this.media.removeAttribute(this.config.attributes.embed.provider);if(E.empty(this.provider)||!Object.keys(Le).includes(this.provider))return void this.debug.error("Setup failed: Invalid provider");this.type=Ie.video;break;case"video":case"audio":this.type=r,this.provider=Le.html5,this.media.hasAttribute("crossorigin")&&(this.config.crossorigin=!0),this.media.hasAttribute("autoplay")&&(this.config.autoplay=!0),(this.media.hasAttribute("playsinline")||this.media.hasAttribute("webkit-playsinline"))&&(this.config.playsinline=!0),this.media.hasAttribute("muted")&&(this.config.muted=!0),this.media.hasAttribute("loop")&&(this.config.loop.active=!0);break;default:return void this.debug.error("Setup failed: unsupported type")}this.supported=ie.check(this.type,this.provider,this.config.playsinline),this.supported.api?(this.eventListeners=[],this.listeners=new Re(this),this.storage=new ye(this),this.media.plyr=this,E.element(this.elements.container)||(this.elements.container=q("div",{tabindex:0}),O(this.media,this.elements.container)),Fe.addStyleHook.call(this),Qe.setup.call(this),this.config.debug&&N.call(this,this.elements.container,this.config.events.join(" "),function(e){a.debug.log("event: ".concat(e.type))}),(this.isHTML5||this.isEmbed&&!this.supported.ui)&&Fe.build.call(this),this.listeners.container(),this.listeners.global(),this.fullscreen=new He(this),this.config.ads.enabled&&(this.ads=new Xe(this)),this.isHTML5&&this.config.autoplay&&setTimeout(function(){return a.play()},10),this.lastSeekTime=0,this.config.previewThumbnails.enabled&&(this.previewThumbnails=new Je(this))):this.debug.error("Setup failed: no support")}else this.debug.error("Setup failed: no support");else this.debug.error("Setup failed: disabled by config");else this.debug.error("Setup failed: no suitable element passed")}return n(t,[{key:"play",value:function(){var e=this;return E.function(this.media.play)?(this.ads&&this.ads.enabled&&this.ads.managerPromise.then(function(){return e.ads.play()}).catch(function(){return e.media.play()}),this.media.play()):null}},{key:"pause",value:function(){this.playing&&E.function(this.media.pause)&&this.media.pause()}},{key:"togglePlay",value:function(e){(E.boolean(e)?e:!this.playing)?this.play():this.pause()}},{key:"stop",value:function(){this.isHTML5?(this.pause(),this.restart()):E.function(this.media.stop)&&this.media.stop()}},{key:"restart",value:function(){this.currentTime=0}},{key:"rewind",value:function(e){this.currentTime=this.currentTime-(E.number(e)?e:this.config.seekTime)}},{key:"forward",value:function(e){this.currentTime=this.currentTime+(E.number(e)?e:this.config.seekTime)}},{key:"increaseVolume",value:function(e){var t=this.media.muted?0:this.volume;this.volume=t+(E.number(e)?e:0)}},{key:"decreaseVolume",value:function(e){this.increaseVolume(-e)}},{key:"toggleCaptions",value:function(e){Pe.toggle.call(this,e,!1)}},{key:"airplay",value:function(){ie.airplay&&this.media.webkitShowPlaybackTargetPicker()}},{key:"toggleControls",value:function(e){if(this.supported.ui&&!this.isAudio){var t=W(this.elements.container,this.config.classNames.hideControls),n=void 0===e?void 0:!e,i=U(this.elements.container,this.config.classNames.hideControls,n);if(i&&this.config.controls.includes("settings")&&!E.empty(this.config.settings)&&Ae.toggleMenu.call(this,!1),i!==t){var a=i?"controlshidden":"controlsshown";L.call(this,this.media,a)}return!i}return!1}},{key:"on",value:function(e,t){N.call(this,this.elements.container,e,t)}},{key:"once",value:function(e,t){x.call(this,this.elements.container,e,t)}},{key:"off",value:function(e,t){M(this.elements.container,e,t)}},{key:"destroy",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.ready){var i=function(){document.body.style.overflow="",t.embed=null,n?(Object.keys(t.elements).length&&(D(t.elements.buttons.play),D(t.elements.captions),D(t.elements.controls),D(t.elements.wrapper),t.elements.buttons.play=null,t.elements.captions=null,t.elements.controls=null,t.elements.wrapper=null),E.function(e)&&e()):(function(){this&&this.eventListeners&&(this.eventListeners.forEach(function(e){var t=e.element,n=e.type,i=e.callback,a=e.options;t.removeEventListener(n,i,a)}),this.eventListeners=[])}.call(t),R(t.elements.original,t.elements.container),L.call(t,t.elements.original,"destroyed",!0),E.function(e)&&e.call(t.elements.original),t.ready=!1,setTimeout(function(){t.elements=null,t.media=null},200))};this.stop(),clearTimeout(this.timers.loading),clearTimeout(this.timers.controls),clearTimeout(this.timers.resized),this.isHTML5?(Fe.toggleNativeControls.call(this,!0),i()):this.isYouTube?(clearInterval(this.timers.buffering),clearInterval(this.timers.playing),null!==this.embed&&E.function(this.embed.destroy)&&this.embed.destroy(),i()):this.isVimeo&&(null!==this.embed&&this.embed.unload().then(i),setTimeout(i,200))}}},{key:"supports",value:function(e){return ie.mime.call(this,e)}},{key:"isHTML5",get:function(){return this.provider===Le.html5}},{key:"isEmbed",get:function(){return this.isYouTube||this.isVimeo}},{key:"isYouTube",get:function(){return this.provider===Le.youtube}},{key:"isVimeo",get:function(){return this.provider===Le.vimeo}},{key:"isVideo",get:function(){return this.type===Ie.video}},{key:"isAudio",get:function(){return this.type===Ie.audio}},{key:"playing",get:function(){return Boolean(this.ready&&!this.paused&&!this.ended)}},{key:"paused",get:function(){return Boolean(this.media.paused)}},{key:"stopped",get:function(){return Boolean(this.paused&&0===this.currentTime)}},{key:"ended",get:function(){return Boolean(this.media.ended)}},{key:"currentTime",set:function(e){if(this.duration){var t=E.number(e)&&e>0;this.media.currentTime=t?Math.min(e,this.duration):0,this.debug.log("Seeking to ".concat(this.currentTime," seconds"))}},get:function(){return Number(this.media.currentTime)}},{key:"buffered",get:function(){var e=this.media.buffered;return E.number(e)?e:e&&e.length&&this.duration>0?e.end(0)/this.duration:0}},{key:"seeking",get:function(){return Boolean(this.media.seeking)}},{key:"duration",get:function(){var e=parseFloat(this.config.duration),t=(this.media||{}).duration,n=E.number(t)&&t!==1/0?t:0;return e||n}},{key:"volume",set:function(e){var t=e;E.string(t)&&(t=Number(t)),E.number(t)||(t=this.storage.get("volume")),E.number(t)||(t=this.config.volume),t>1&&(t=1),t<0&&(t=0),this.config.volume=t,this.media.volume=t,!E.empty(e)&&this.muted&&t>0&&(this.muted=!1)},get:function(){return Number(this.media.volume)}},{key:"muted",set:function(e){var t=e;E.boolean(t)||(t=this.storage.get("muted")),E.boolean(t)||(t=this.config.muted),this.config.muted=t,this.media.muted=t},get:function(){return Boolean(this.media.muted)}},{key:"hasAudio",get:function(){return!this.isHTML5||(!!this.isAudio||(Boolean(this.media.mozHasAudio)||Boolean(this.media.webkitAudioDecodedByteCount)||Boolean(this.media.audioTracks&&this.media.audioTracks.length)))}},{key:"speed",set:function(e){var t=this,n=null;E.number(e)&&(n=e),E.number(n)||(n=this.storage.get("speed")),E.number(n)||(n=this.config.speed.selected);var i=this.minimumSpeed,a=this.maximumSpeed;n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:255;return Math.min(Math.max(e,t),n)}(n,i,a),this.config.speed.selected=n,setTimeout(function(){t.media.playbackRate=n},0)},get:function(){return Number(this.media.playbackRate)}},{key:"minimumSpeed",get:function(){return this.isYouTube?Math.min.apply(Math,s(this.options.speed)):this.isVimeo?.5:.0625}},{key:"maximumSpeed",get:function(){return this.isYouTube?Math.max.apply(Math,s(this.options.speed)):this.isVimeo?2:16}},{key:"quality",set:function(e){var t=this.config.quality,n=this.options.quality;if(n.length){var i=[!E.empty(e)&&Number(e),this.storage.get("quality"),t.selected,t.default].find(E.number),a=!0;if(!n.includes(i)){var s=function(e,t){return E.array(e)&&e.length?e.reduce(function(e,n){return Math.abs(n-t)1&&void 0!==arguments[1]?arguments[1]:{},i=null;return E.string(e)?i=Array.from(document.querySelectorAll(e)):E.nodeList(e)?i=Array.from(e):E.array(e)&&(i=e.filter(E.element)),E.empty(i)?null:i.map(function(e){return new t(e,n)})}}]),t}();return Ze.defaults=(Ge=Ne,JSON.parse(JSON.stringify(Ge))),Ze}); +"object"==typeof navigator&&function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define("Plyr",t):(e=e||self).Plyr=t()}(this,function(){"use strict";function e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function t(e,t){for(var n=0;n100&&(n=100),n<50?n-=(100-2*n)*u:n>50&&(n+=2*(n-50)*u),s+f(l*(n/100),o)}},{key:"set",value:function(e){t.enabled&&p.event(e)&&!e.target.disabled&&(e.preventDefault(),e.target.value=this.get(e),function(e,t){if(e&&t){var n=new Event(t);e.dispatchEvent(n)}}(e.target,"touchend"===e.type?"change":"input"))}}],[{key:"setup",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=null;if(p.empty(e)||p.string(e)?i=Array.from(document.querySelectorAll(p.string(e)?e:'input[type="range"]')):p.element(e)?i=[e]:p.nodeList(e)?i=Array.from(e):p.array(e)&&(i=e.filter(p.element)),p.empty(i))return null;var a=Object.assign({},r,n);p.string(e)&&a.watch&&new MutationObserver(function(n){Array.from(n).forEach(function(n){Array.from(n.addedNodes).forEach(function(n){if(p.element(n)&&function(){return Array.from(document.querySelectorAll(i)).includes(this)}.call(n,i=e)){var i;new t(n,a)}})})}).observe(document.body,{childList:!0,subtree:!0});return i.map(function(e){return new t(e,n)})}},{key:"enabled",get:function(){return"ontouchstart"in document.documentElement}}]),t}(),k=function(e){return null!=e?e.constructor:null},w=function(e,t){return Boolean(e&&t&&e instanceof t)},T=function(e){return null==e},C=function(e){return k(e)===Object},A=function(e){return k(e)===String},E=function(e){return Array.isArray(e)},S=function(e){return w(e,NodeList)},P=function(e){return T(e)||(A(e)||E(e)||S(e))&&!e.length||C(e)&&!Object.keys(e).length},N={nullOrUndefined:T,object:C,number:function(e){return k(e)===Number&&!Number.isNaN(e)},string:A,boolean:function(e){return k(e)===Boolean},function:function(e){return k(e)===Function},array:E,weakMap:function(e){return w(e,WeakMap)},nodeList:S,element:function(e){return w(e,Element)},textNode:function(e){return k(e)===Text},event:function(e){return w(e,Event)},keyboardEvent:function(e){return w(e,KeyboardEvent)},cue:function(e){return w(e,window.TextTrackCue)||w(e,window.VTTCue)},track:function(e){return w(e,TextTrack)||!T(e)&&A(e.kind)},promise:function(e){return w(e,Promise)},url:function(e){if(w(e,window.URL))return!0;if(!A(e))return!1;var t=e;e.startsWith("http://")&&e.startsWith("https://")||(t="http://".concat(e));try{return!P(new URL(t).hostname)}catch(e){return!1}},empty:P},M=(g=document.createElement("span"),y={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},v=Object.keys(y).find(function(e){return void 0!==g.style[e]}),!!N.string(v)&&y[v]);function x(e,t){setTimeout(function(){try{e.hidden=!0,e.offsetHeight,e.hidden=!1}catch(e){}},t)}var L={isIE:!!document.documentMode,isEdge:window.navigator.userAgent.includes("Edge"),isWebkit:"WebkitAppearance"in document.documentElement.style&&!/Edge/.test(navigator.userAgent),isIPhone:/(iPhone|iPod)/gi.test(navigator.platform),isIos:/(iPad|iPhone|iPod)/gi.test(navigator.platform)},I=function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){return e=!0,null}});window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(e){}return e}();function _(e,t,n){var i=this,a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=arguments.length>5&&void 0!==arguments[5]&&arguments[5];if(e&&"addEventListener"in e&&!N.empty(t)&&N.function(n)){var o=t.split(" "),l=r;I&&(l={passive:s,capture:r}),o.forEach(function(t){i&&i.eventListeners&&a&&i.eventListeners.push({element:e,type:t,callback:n,options:l}),e[a?"addEventListener":"removeEventListener"](t,n,l)})}}function O(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];_.call(this,e,t,n,!0,i,a)}function j(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];_.call(this,e,t,n,!1,i,a)}function q(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2?arguments[2]:void 0,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];_.call(this,e,n,function r(){j(e,n,r,a,s);for(var o=arguments.length,l=new Array(o),c=0;c1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(N.element(e)&&!N.empty(t)){var a=new CustomEvent(t,{bubbles:n,detail:Object.assign({},i,{plyr:this})});e.dispatchEvent(a)}}function D(e,t){return t.split(".").reduce(function(e,t){return e&&e[t]},e)}function F(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length,n=new Array(t>1?t-1:0),a=1;a0?t.cloneNode(!0):t,a=e.parentNode,s=e.nextSibling;i.appendChild(e),s?a.insertBefore(i,s):a.appendChild(i)})}function V(e,t){N.element(e)&&!N.empty(t)&&Object.entries(t).filter(function(e){var t=a(e,2)[1];return!N.nullOrUndefined(t)}).forEach(function(t){var n=a(t,2),i=n[0],s=n[1];return e.setAttribute(i,s)})}function B(e,t,n){var i=document.createElement(e);return N.object(t)&&V(i,t),N.string(n)&&(i.innerText=n),i}function U(e,t,n,i){N.element(t)&&t.appendChild(B(e,n,i))}function W(e){N.nodeList(e)||N.array(e)?Array.from(e).forEach(W):N.element(e)&&N.element(e.parentNode)&&e.parentNode.removeChild(e)}function z(e){if(N.element(e))for(var t=e.childNodes.length;t>0;)e.removeChild(e.lastChild),t-=1}function K(e,t){return N.element(t)&&N.element(t.parentNode)&&N.element(e)?(t.parentNode.replaceChild(e,t),e):null}function Y(e,t){if(!N.string(e)||N.empty(e))return{};var n={},i=F({},t);return e.split(",").forEach(function(e){var t=e.trim(),s=t.replace(".",""),r=t.replace(/[[\]]/g,"").split("="),o=a(r,1)[0],l=r.length>1?r[1].replace(/["']/g,""):"";switch(t.charAt(0)){case".":N.string(i.class)?n.class="".concat(i.class," ").concat(s):n.class=s;break;case"#":n.id=t.replace("#","");break;case"[":n[o]=l}}),F(i,n)}function Q(e,t){if(N.element(e)){var n=t;N.boolean(n)||(n=!e.hidden),e.hidden=n}}function X(e,t,n){if(N.nodeList(e))return Array.from(e).map(function(e){return X(e,t,n)});if(N.element(e)){var i="toggle";return void 0!==n&&(i=n?"add":"remove"),e.classList[i](t),e.classList.contains(t)}return!1}function J(e,t){return N.element(e)&&e.classList.contains(t)}function $(e,t){return function(){return Array.from(document.querySelectorAll(t)).includes(this)}.call(e,t)}function G(e){return this.elements.container.querySelectorAll(e)}function Z(e){return this.elements.container.querySelector(e)}function ee(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];N.element(e)&&(e.focus({preventScroll:!0}),t&&X(e,this.config.classNames.tabFocus))}var te,ne={"audio/ogg":"vorbis","audio/wav":"1","video/webm":"vp8, vorbis","video/mp4":"avc1.42E01E, mp4a.40.2","video/ogg":"theora"},ie={audio:"canPlayType"in document.createElement("audio"),video:"canPlayType"in document.createElement("video"),check:function(e,t,n){var i=L.isIPhone&&n&&ie.playsinline,a=ie[e]||"html5"!==t;return{api:a,ui:a&&ie.rangeInput&&("video"!==e||!L.isIPhone||i)}},pip:!(L.isIPhone||!N.function(B("video").webkitSetPresentationMode)&&(!document.pictureInPictureEnabled||B("video").disablePictureInPicture)),airplay:N.function(window.WebKitPlaybackTargetAvailabilityEvent),playsinline:"playsInline"in document.createElement("video"),mime:function(e){if(N.empty(e))return!1;var t=a(e.split("/"),1)[0],n=e;if(!this.isHTML5||t!==this.type)return!1;Object.keys(ne).includes(n)&&(n+='; codecs="'.concat(ne[e],'"'));try{return Boolean(n&&this.media.canPlayType(n).replace(/no/,""))}catch(e){return!1}},textTracks:"textTracks"in document.createElement("video"),rangeInput:(te=document.createElement("input"),te.type="range","range"===te.type),touch:"ontouchstart"in document.documentElement,transitions:!1!==M,reducedMotion:"matchMedia"in window&&window.matchMedia("(prefers-reduced-motion)").matches};function ae(e){return!!(N.array(e)||N.string(e)&&e.includes(":"))&&(N.array(e)?e:e.split(":")).map(Number).every(N.number)}function se(e){if(!N.array(e)||!e.every(N.number))return null;var t=a(e,2),n=t[0],i=t[1],s=function e(t,n){return 0===n?t:e(n,t%n)}(n,i);return[n/s,i/s]}function re(e){var t=function(e){return ae(e)?e.split(":").map(Number):null},n=t(e);if(null===n&&(n=t(this.config.ratio)),null===n&&!N.empty(this.embed)&&N.array(this.embed.ratio)&&(n=this.embed.ratio),null===n&&this.isHTML5){var i=this.media;n=se([i.videoWidth,i.videoHeight])}return n}function oe(e){if(!this.isVideo)return{};var t=re.call(this,e),n=a(N.array(t)?t:[0,0],2),i=100/n[0]*n[1];if(this.elements.wrapper.style.paddingBottom="".concat(i,"%"),this.isVimeo&&this.supported.ui){var s=(240-i)/4.8;this.media.style.transform="translateY(-".concat(s,"%)")}else this.isHTML5&&this.elements.wrapper.classList.toggle(this.config.classNames.videoFixedRatio,null!==t);return{padding:i,ratio:t}}var le={getSources:function(){var e=this;return this.isHTML5?Array.from(this.media.querySelectorAll("source")).filter(function(t){var n=t.getAttribute("type");return!!N.empty(n)||ie.mime.call(e,n)}):[]},getQualityOptions:function(){return le.getSources.call(this).map(function(e){return Number(e.getAttribute("size"))}).filter(Boolean)},extend:function(){if(this.isHTML5){var e=this;N.empty(this.config.ratio)||oe.call(e),Object.defineProperty(e.media,"quality",{get:function(){var t=le.getSources.call(e).find(function(t){return t.getAttribute("src")===e.source});return t&&Number(t.getAttribute("size"))},set:function(t){var n=le.getSources.call(e).find(function(e){return Number(e.getAttribute("size"))===t});if(n){var i=e.media,a=i.currentTime,s=i.paused,r=i.preload,o=i.readyState;e.media.src=n.getAttribute("src"),("none"!==r||o)&&(e.once("loadedmetadata",function(){e.currentTime=a,s||e.play()}),e.media.load()),H.call(e,e.media,"qualitychange",!1,{quality:t})}}})}},cancelRequests:function(){this.isHTML5&&(W(le.getSources.call(this)),this.media.setAttribute("src",this.config.blankVideo),this.media.load(),this.debug.log("Cancelled network requests"))}};function ce(e){return N.array(e)?e.filter(function(t,n){return e.indexOf(t)===n}):e}function ue(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return e.replace(new RegExp(t.toString().replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1"),"g"),n.toString())}function he(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").toString().replace(/\w\S*/g,function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()})}function me(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").toString();return(e=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").toString();return e=de(e,"-"," "),e=de(e,"_"," "),de(e=he(e)," ","")}(e)).charAt(0).toLowerCase()+e.slice(1)}function pe(e){var t=document.createElement("div");return t.appendChild(e),t.innerHTML}var fe={pip:"PIP",airplay:"AirPlay",html5:"HTML5",vimeo:"Vimeo",youtube:"YouTube"},ge=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(N.empty(e)||N.empty(t))return"";var n=D(t.i18n,e);if(N.empty(n))return Object.keys(fe).includes(e)?fe[e]:"";var i={"{seektime}":t.seekTime,"{title}":t.title};return Object.entries(i).forEach(function(e){var t=a(e,2),i=t[0],s=t[1];n=de(n,i,s)}),n},ye=function(){function t(n){e(this,t),this.enabled=n.config.storage.enabled,this.key=n.config.storage.key}return n(t,[{key:"get",value:function(e){if(!t.supported||!this.enabled)return null;var n=window.localStorage.getItem(this.key);if(N.empty(n))return null;var i=JSON.parse(n);return N.string(e)&&e.length?i[e]:i}},{key:"set",value:function(e){if(t.supported&&this.enabled&&N.object(e)){var n=this.get();N.empty(n)&&(n={}),F(n,e),window.localStorage.setItem(this.key,JSON.stringify(n))}}}],[{key:"supported",get:function(){try{if(!("localStorage"in window))return!1;return window.localStorage.setItem("___test","___test"),window.localStorage.removeItem("___test"),!0}catch(e){return!1}}}]),t}();function ve(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"text";return new Promise(function(n,i){try{var a=new XMLHttpRequest;if(!("withCredentials"in a))return;a.addEventListener("load",function(){if("text"===t)try{n(JSON.parse(a.responseText))}catch(e){n(a.responseText)}else n(a.response)}),a.addEventListener("error",function(){throw new Error(a.status)}),a.open("GET",e,!0),a.responseType=t,a.send()}catch(e){i(e)}})}function be(e,t){if(N.string(e)){var n=N.string(t),i=function(){return null!==document.getElementById(t)},a=function(e,t){e.innerHTML=t,n&&i()||document.body.insertAdjacentElement("afterbegin",e)};if(!n||!i()){var s=ye.supported,r=document.createElement("div");if(r.setAttribute("hidden",""),n&&r.setAttribute("id",t),s){var o=window.localStorage.getItem("".concat("cache","-").concat(t));if(null!==o){var l=JSON.parse(o);a(r,l.content)}}ve(e).then(function(e){N.empty(e)||(s&&window.localStorage.setItem("".concat("cache","-").concat(t),JSON.stringify({content:e})),a(r,e))}).catch(function(){})}}}var ke=function(e){return Math.trunc(e/60/60%60,10)},we=function(e){return Math.trunc(e/60%60,10)},Te=function(e){return Math.trunc(e%60,10)};function Ce(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!N.number(e))return Ce(null,t,n);var i=function(e){return"0".concat(e).slice(-2)},a=ke(e),s=we(e),r=Te(e);return a=t||a>0?"".concat(a,":"):"","".concat(n&&e>0?"-":"").concat(a).concat(i(s),":").concat(i(r))}var Ae={getIconUrl:function(){var e=new URL(this.config.iconUrl,window.location).host!==window.location.host||L.isIE&&!window.svg4everybody;return{url:this.config.iconUrl,cors:e}},findElements:function(){try{return this.elements.controls=Z.call(this,this.config.selectors.controls.wrapper),this.elements.buttons={play:G.call(this,this.config.selectors.buttons.play),pause:Z.call(this,this.config.selectors.buttons.pause),restart:Z.call(this,this.config.selectors.buttons.restart),rewind:Z.call(this,this.config.selectors.buttons.rewind),fastForward:Z.call(this,this.config.selectors.buttons.fastForward),mute:Z.call(this,this.config.selectors.buttons.mute),pip:Z.call(this,this.config.selectors.buttons.pip),airplay:Z.call(this,this.config.selectors.buttons.airplay),settings:Z.call(this,this.config.selectors.buttons.settings),captions:Z.call(this,this.config.selectors.buttons.captions),fullscreen:Z.call(this,this.config.selectors.buttons.fullscreen)},this.elements.progress=Z.call(this,this.config.selectors.progress),this.elements.inputs={seek:Z.call(this,this.config.selectors.inputs.seek),volume:Z.call(this,this.config.selectors.inputs.volume)},this.elements.display={buffer:Z.call(this,this.config.selectors.display.buffer),currentTime:Z.call(this,this.config.selectors.display.currentTime),duration:Z.call(this,this.config.selectors.display.duration)},N.element(this.elements.progress)&&(this.elements.display.seekTooltip=this.elements.progress.querySelector(".".concat(this.config.classNames.tooltip))),!0}catch(e){return this.debug.warn("It looks like there is a problem with your custom controls HTML",e),this.toggleNativeControls(!0),!1}},createIcon:function(e,t){var n=Ae.getIconUrl.call(this),i="".concat(n.cors?"":n.url,"#").concat(this.config.iconPrefix),a=document.createElementNS("http://www.w3.org/2000/svg","svg");V(a,F(t,{role:"presentation",focusable:"false"}));var s=document.createElementNS("http://www.w3.org/2000/svg","use"),r="".concat(i,"-").concat(e);return"href"in s&&s.setAttributeNS("http://www.w3.org/1999/xlink","href",r),s.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",r),a.appendChild(s),a},createLabel:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=ge(e,this.config);return B("span",Object.assign({},t,{class:[t.class,this.config.classNames.hidden].filter(Boolean).join(" ")}),n)},createBadge:function(e){if(N.empty(e))return null;var t=B("span",{class:this.config.classNames.menu.value});return t.appendChild(B("span",{class:this.config.classNames.menu.badge},e)),t},createButton:function(e,t){var n=this,i=F({},t),a=me(e),s={element:"button",toggle:!1,label:null,icon:null,labelPressed:null,iconPressed:null};switch(["element","icon","label"].forEach(function(e){Object.keys(i).includes(e)&&(s[e]=i[e],delete i[e])}),"button"!==s.element||Object.keys(i).includes("type")||(i.type="button"),Object.keys(i).includes("class")?i.class.split(" ").some(function(e){return e===n.config.classNames.control})||F(i,{class:"".concat(i.class," ").concat(this.config.classNames.control)}):i.class=this.config.classNames.control,e){case"play":s.toggle=!0,s.label="play",s.labelPressed="pause",s.icon="play",s.iconPressed="pause";break;case"mute":s.toggle=!0,s.label="mute",s.labelPressed="unmute",s.icon="volume",s.iconPressed="muted";break;case"captions":s.toggle=!0,s.label="enableCaptions",s.labelPressed="disableCaptions",s.icon="captions-off",s.iconPressed="captions-on";break;case"fullscreen":s.toggle=!0,s.label="enterFullscreen",s.labelPressed="exitFullscreen",s.icon="enter-fullscreen",s.iconPressed="exit-fullscreen";break;case"play-large":i.class+=" ".concat(this.config.classNames.control,"--overlaid"),a="play",s.label="play",s.icon="play";break;default:N.empty(s.label)&&(s.label=a),N.empty(s.icon)&&(s.icon=e)}var r=B(s.element);return s.toggle?(r.appendChild(Ae.createIcon.call(this,s.iconPressed,{class:"icon--pressed"})),r.appendChild(Ae.createIcon.call(this,s.icon,{class:"icon--not-pressed"})),r.appendChild(Ae.createLabel.call(this,s.labelPressed,{class:"label--pressed"})),r.appendChild(Ae.createLabel.call(this,s.label,{class:"label--not-pressed"}))):(r.appendChild(Ae.createIcon.call(this,s.icon)),r.appendChild(Ae.createLabel.call(this,s.label))),F(i,Y(this.config.selectors.buttons[a],i)),V(r,i),"play"===a?(N.array(this.elements.buttons[a])||(this.elements.buttons[a]=[]),this.elements.buttons[a].push(r)):this.elements.buttons[a]=r,r},createRange:function(e,t){var n=B("input",F(Y(this.config.selectors.inputs[e]),{type:"range",min:0,max:100,step:.01,value:0,autocomplete:"off",role:"slider","aria-label":ge(e,this.config),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":0},t));return this.elements.inputs[e]=n,Ae.updateRangeFill.call(this,n),b.setup(n),n},createProgress:function(e,t){var n=B("progress",F(Y(this.config.selectors.display[e]),{min:0,max:100,value:0,role:"progressbar","aria-hidden":!0},t));if("volume"!==e){n.appendChild(B("span",null,"0"));var i={played:"played",buffer:"buffered"}[e],a=i?ge(i,this.config):"";n.innerText="% ".concat(a.toLowerCase())}return this.elements.display[e]=n,n},createTime:function(e,t){var n=Y(this.config.selectors.display[e],t),i=B("div",F(n,{class:"".concat(n.class?n.class:""," ").concat(this.config.classNames.display.time," ").trim(),"aria-label":ge(e,this.config)}),"00:00");return this.elements.display[e]=i,i},bindMenuItemShortcuts:function(e,t){var n=this;O(e,"keydown keyup",function(i){if([32,38,39,40].includes(i.which)&&(i.preventDefault(),i.stopPropagation(),"keydown"!==i.type)){var a,s=$(e,'[role="menuitemradio"]');if(!s&&[32,39].includes(i.which))Ae.showMenuPanel.call(n,t,!0);else 32!==i.which&&(40===i.which||s&&39===i.which?(a=e.nextElementSibling,N.element(a)||(a=e.parentNode.firstElementChild)):(a=e.previousElementSibling,N.element(a)||(a=e.parentNode.lastElementChild)),ee.call(n,a,!0))}},!1),O(e,"keyup",function(e){13===e.which&&Ae.focusFirstMenuItem.call(n,null,!0)})},createMenuItem:function(e){var t=this,n=e.value,i=e.list,a=e.type,s=e.title,r=e.badge,o=void 0===r?null:r,l=e.checked,c=void 0!==l&&l,u=Y(this.config.selectors.inputs[a]),d=B("button",F(u,{type:"button",role:"menuitemradio",class:"".concat(this.config.classNames.control," ").concat(u.class?u.class:"").trim(),"aria-checked":c,value:n})),h=B("span");h.innerHTML=s,N.element(o)&&h.appendChild(o),d.appendChild(h),Object.defineProperty(d,"checked",{enumerable:!0,get:function(){return"true"===d.getAttribute("aria-checked")},set:function(e){e&&Array.from(d.parentNode.children).filter(function(e){return $(e,'[role="menuitemradio"]')}).forEach(function(e){return e.setAttribute("aria-checked","false")}),d.setAttribute("aria-checked",e?"true":"false")}}),this.listeners.bind(d,"click keyup",function(e){if(!N.keyboardEvent(e)||32===e.which){switch(e.preventDefault(),e.stopPropagation(),d.checked=!0,a){case"language":t.currentTrack=Number(n);break;case"quality":t.quality=n;break;case"speed":t.speed=parseFloat(n)}Ae.showMenuPanel.call(t,"home",N.keyboardEvent(e))}},a,!1),Ae.bindMenuItemShortcuts.call(this,d,a),i.appendChild(d)},formatTime:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return N.number(e)?Ce(e,ke(this.duration)>0,t):e},updateTimeDisplay:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];N.element(e)&&N.number(t)&&(e.innerText=Ae.formatTime(t,n))},updateVolume:function(){this.supported.ui&&(N.element(this.elements.inputs.volume)&&Ae.setRange.call(this,this.elements.inputs.volume,this.muted?0:this.volume),N.element(this.elements.buttons.mute)&&(this.elements.buttons.mute.pressed=this.muted||0===this.volume))},setRange:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;N.element(e)&&(e.value=t,Ae.updateRangeFill.call(this,e))},updateProgress:function(e){var t=this;if(this.supported.ui&&N.event(e)){var n,i,a=0;if(e)switch(e.type){case"timeupdate":case"seeking":case"seeked":n=this.currentTime,i=this.duration,a=0===n||0===i||Number.isNaN(n)||Number.isNaN(i)?0:(n/i*100).toFixed(2),"timeupdate"===e.type&&Ae.setRange.call(this,this.elements.inputs.seek,a);break;case"playing":case"progress":!function(e,n){var i=N.number(n)?n:0,a=N.element(e)?e:t.elements.display.buffer;if(N.element(a)){a.value=i;var s=a.getElementsByTagName("span")[0];N.element(s)&&(s.childNodes[0].nodeValue=i)}}(this.elements.display.buffer,100*this.buffered)}}},updateRangeFill:function(e){var t=N.event(e)?e.target:e;if(N.element(t)&&"range"===t.getAttribute("type")){if($(t,this.config.selectors.inputs.seek)){t.setAttribute("aria-valuenow",this.currentTime);var n=Ae.formatTime(this.currentTime),i=Ae.formatTime(this.duration),a=ge("seekLabel",this.config);t.setAttribute("aria-valuetext",a.replace("{currentTime}",n).replace("{duration}",i))}else if($(t,this.config.selectors.inputs.volume)){var s=100*t.value;t.setAttribute("aria-valuenow",s),t.setAttribute("aria-valuetext","".concat(s.toFixed(1),"%"))}else t.setAttribute("aria-valuenow",t.value);L.isWebkit&&t.style.setProperty("--value","".concat(t.value/t.max*100,"%"))}},updateSeekTooltip:function(e){var t=this;if(this.config.tooltips.seek&&N.element(this.elements.inputs.seek)&&N.element(this.elements.display.seekTooltip)&&0!==this.duration){var n="".concat(this.config.classNames.tooltip,"--visible"),i=function(e){return X(t.elements.display.seekTooltip,n,e)};if(this.touch)i(!1);else{var a=0,s=this.elements.progress.getBoundingClientRect();if(N.event(e))a=100/s.width*(e.pageX-s.left);else{if(!J(this.elements.display.seekTooltip,n))return;a=parseFloat(this.elements.display.seekTooltip.style.left,10)}a<0?a=0:a>100&&(a=100),Ae.updateTimeDisplay.call(this,this.elements.display.seekTooltip,this.duration/100*a),this.elements.display.seekTooltip.style.left="".concat(a,"%"),N.event(e)&&["mouseenter","mouseleave"].includes(e.type)&&i("mouseenter"===e.type)}}},timeUpdate:function(e){var t=!N.element(this.elements.display.duration)&&this.config.invertTime;Ae.updateTimeDisplay.call(this,this.elements.display.currentTime,t?this.duration-this.currentTime:this.currentTime,t),e&&"timeupdate"===e.type&&this.media.seeking||Ae.updateProgress.call(this,e)},durationUpdate:function(){if(this.supported.ui&&(this.config.invertTime||!this.currentTime)){if(this.duration>=Math.pow(2,32))return Q(this.elements.display.currentTime,!0),void Q(this.elements.progress,!0);N.element(this.elements.inputs.seek)&&this.elements.inputs.seek.setAttribute("aria-valuemax",this.duration);var e=N.element(this.elements.display.duration);!e&&this.config.displayDuration&&this.paused&&Ae.updateTimeDisplay.call(this,this.elements.display.currentTime,this.duration),e&&Ae.updateTimeDisplay.call(this,this.elements.display.duration,this.duration),Ae.updateSeekTooltip.call(this)}},toggleMenuButton:function(e,t){Q(this.elements.settings.buttons[e],!t)},updateSetting:function(e,t,n){var i=this.elements.settings.panels[e],a=null,s=t;if("captions"===e)a=this.currentTrack;else{if(a=N.empty(n)?this[e]:n,N.empty(a)&&(a=this.config[e].default),!N.empty(this.options[e])&&!this.options[e].includes(a))return void this.debug.warn("Unsupported value of '".concat(a,"' for ").concat(e));if(!this.config[e].options.includes(a))return void this.debug.warn("Disabled value of '".concat(a,"' for ").concat(e))}if(N.element(s)||(s=i&&i.querySelector('[role="menu"]')),N.element(s)){this.elements.settings.buttons[e].querySelector(".".concat(this.config.classNames.menu.value)).innerHTML=Ae.getLabel.call(this,e,a);var r=s&&s.querySelector('[value="'.concat(a,'"]'));N.element(r)&&(r.checked=!0)}},getLabel:function(e,t){switch(e){case"speed":return 1===t?ge("normal",this.config):"".concat(t,"×");case"quality":if(N.number(t)){var n=ge("qualityLabel.".concat(t),this.config);return n.length?n:"".concat(t,"p")}return he(t);case"captions":return Pe.getLabel.call(this);default:return null}},setQualityMenu:function(e){var t=this;if(N.element(this.elements.settings.panels.quality)){var n=this.elements.settings.panels.quality.querySelector('[role="menu"]');N.array(e)&&(this.options.quality=ce(e).filter(function(e){return t.config.quality.options.includes(e)}));var i=!N.empty(this.options.quality)&&this.options.quality.length>1;if(Ae.toggleMenuButton.call(this,"quality",i),z(n),Ae.checkMenu.call(this),i){var a=function(e){var n=ge("qualityBadge.".concat(e),t.config);return n.length?Ae.createBadge.call(t,n):null};this.options.quality.sort(function(e,n){var i=t.config.quality.options;return i.indexOf(e)>i.indexOf(n)?1:-1}).forEach(function(e){Ae.createMenuItem.call(t,{value:e,list:n,type:"quality",title:Ae.getLabel.call(t,"quality",e),badge:a(e)})}),Ae.updateSetting.call(this,"quality",n)}}},setCaptionsMenu:function(){var e=this;if(N.element(this.elements.settings.panels.captions)){var t=this.elements.settings.panels.captions.querySelector('[role="menu"]'),n=Pe.getTracks.call(this),i=Boolean(n.length);if(Ae.toggleMenuButton.call(this,"captions",i),z(t),Ae.checkMenu.call(this),i){var a=n.map(function(n,i){return{value:i,checked:e.captions.toggled&&e.currentTrack===i,title:Pe.getLabel.call(e,n),badge:n.language&&Ae.createBadge.call(e,n.language.toUpperCase()),list:t,type:"language"}});a.unshift({value:-1,checked:!this.captions.toggled,title:ge("disabled",this.config),list:t,type:"language"}),a.forEach(Ae.createMenuItem.bind(this)),Ae.updateSetting.call(this,"captions",t)}}},setSpeedMenu:function(e){var t=this;if(N.element(this.elements.settings.panels.speed)){var n=this.elements.settings.panels.speed.querySelector('[role="menu"]');N.array(e)?this.options.speed=e:(this.isHTML5||this.isVimeo)&&(this.options.speed=[.5,.75,1,1.25,1.5,1.75,2]),this.options.speed=this.options.speed.filter(function(e){return t.config.speed.options.includes(e)});var i=!N.empty(this.options.speed)&&this.options.speed.length>1;Ae.toggleMenuButton.call(this,"speed",i),z(n),Ae.checkMenu.call(this),i&&(this.options.speed.forEach(function(e){Ae.createMenuItem.call(t,{value:e,list:n,type:"speed",title:Ae.getLabel.call(t,"speed",e)})}),Ae.updateSetting.call(this,"speed",n))}},checkMenu:function(){var e=this.elements.settings.buttons,t=!N.empty(e)&&Object.values(e).some(function(e){return!e.hidden});Q(this.elements.settings.menu,!t)},focusFirstMenuItem:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.elements.settings.popup.hidden){var n=e;N.element(n)||(n=Object.values(this.elements.settings.panels).find(function(e){return!e.hidden}));var i=n.querySelector('[role^="menuitem"]');ee.call(this,i,t)}},toggleMenu:function(e){var t=this.elements.settings.popup,n=this.elements.buttons.settings;if(N.element(t)&&N.element(n)){var i=t.hidden,a=i;if(N.boolean(e))a=e;else if(N.keyboardEvent(e)&&27===e.which)a=!1;else if(N.event(e)){var s=N.function(e.composedPath)?e.composedPath()[0]:e.target,r=t.contains(s);if(r||!r&&e.target!==n&&a)return}n.setAttribute("aria-expanded",a),Q(t,!a),X(this.elements.container,this.config.classNames.menu.open,a),a&&N.keyboardEvent(e)?Ae.focusFirstMenuItem.call(this,null,!0):a||i||ee.call(this,n,N.keyboardEvent(e))}},getMenuSize:function(e){var t=e.cloneNode(!0);t.style.position="absolute",t.style.opacity=0,t.removeAttribute("hidden"),e.parentNode.appendChild(t);var n=t.scrollWidth,i=t.scrollHeight;return W(t),{width:n,height:i}},showMenuPanel:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.elements.container.querySelector("#plyr-settings-".concat(this.id,"-").concat(t));if(N.element(i)){var a=i.parentNode,s=Array.from(a.children).find(function(e){return!e.hidden});if(ie.transitions&&!ie.reducedMotion){a.style.width="".concat(s.scrollWidth,"px"),a.style.height="".concat(s.scrollHeight,"px");var r=Ae.getMenuSize.call(this,i);O.call(this,a,M,function t(n){n.target===a&&["width","height"].includes(n.propertyName)&&(a.style.width="",a.style.height="",j.call(e,a,M,t))}),a.style.width="".concat(r.width,"px"),a.style.height="".concat(r.height,"px")}Q(s,!0),Q(i,!1),Ae.focusFirstMenuItem.call(this,i,n)}},setDownloadUrl:function(){var e=this.elements.buttons.download;N.element(e)&&e.setAttribute("href",this.download)},create:function(e){var t=this,n=Ae.bindMenuItemShortcuts,i=Ae.createButton,a=Ae.createProgress,s=Ae.createRange,r=Ae.createTime,o=Ae.setQualityMenu,l=Ae.setSpeedMenu,c=Ae.showMenuPanel;this.elements.controls=null,this.config.controls.includes("play-large")&&this.elements.container.appendChild(i.call(this,"play-large"));var u=B("div",Y(this.config.selectors.controls.wrapper));this.elements.controls=u;var d={class:"plyr__controls__item"};return ce(this.config.controls).forEach(function(o){if("restart"===o&&u.appendChild(i.call(t,"restart",d)),"rewind"===o&&u.appendChild(i.call(t,"rewind",d)),"play"===o&&u.appendChild(i.call(t,"play",d)),"fast-forward"===o&&u.appendChild(i.call(t,"fast-forward",d)),"progress"===o){var l=B("div",{class:"".concat(d.class," plyr__progress__container")}),h=B("div",Y(t.config.selectors.progress));if(h.appendChild(s.call(t,"seek",{id:"plyr-seek-".concat(e.id)})),h.appendChild(a.call(t,"buffer")),t.config.tooltips.seek){var m=B("span",{class:t.config.classNames.tooltip},"00:00");h.appendChild(m),t.elements.display.seekTooltip=m}t.elements.progress=h,l.appendChild(t.elements.progress),u.appendChild(l)}if("current-time"===o&&u.appendChild(r.call(t,"currentTime",d)),"duration"===o&&u.appendChild(r.call(t,"duration",d)),"mute"===o||"volume"===o){var p=t.elements.volume;if(N.element(p)&&u.contains(p)||(p=B("div",F({},d,{class:"".concat(d.class," plyr__volume").trim()})),t.elements.volume=p,u.appendChild(p)),"mute"===o&&p.appendChild(i.call(t,"mute")),"volume"===o){var f={max:1,step:.05,value:t.config.volume};p.appendChild(s.call(t,"volume",F(f,{id:"plyr-volume-".concat(e.id)})))}}if("captions"===o&&u.appendChild(i.call(t,"captions",d)),"settings"===o&&!N.empty(t.config.settings)){var g=B("div",F({},d,{class:"".concat(d.class," plyr__menu").trim(),hidden:""}));g.appendChild(i.call(t,"settings",{"aria-haspopup":!0,"aria-controls":"plyr-settings-".concat(e.id),"aria-expanded":!1}));var y=B("div",{class:"plyr__menu__container",id:"plyr-settings-".concat(e.id),hidden:""}),v=B("div"),b=B("div",{id:"plyr-settings-".concat(e.id,"-home")}),k=B("div",{role:"menu"});b.appendChild(k),v.appendChild(b),t.elements.settings.panels.home=b,t.config.settings.forEach(function(i){var a=B("button",F(Y(t.config.selectors.buttons.settings),{type:"button",class:"".concat(t.config.classNames.control," ").concat(t.config.classNames.control,"--forward"),role:"menuitem","aria-haspopup":!0,hidden:""}));n.call(t,a,i),O(a,"click",function(){c.call(t,i,!1)});var s=B("span",null,ge(i,t.config)),r=B("span",{class:t.config.classNames.menu.value});r.innerHTML=e[i],s.appendChild(r),a.appendChild(s),k.appendChild(a);var o=B("div",{id:"plyr-settings-".concat(e.id,"-").concat(i),hidden:""}),l=B("button",{type:"button",class:"".concat(t.config.classNames.control," ").concat(t.config.classNames.control,"--back")});l.appendChild(B("span",{"aria-hidden":!0},ge(i,t.config))),l.appendChild(B("span",{class:t.config.classNames.hidden},ge("menuBack",t.config))),O(o,"keydown",function(e){37===e.which&&(e.preventDefault(),e.stopPropagation(),c.call(t,"home",!0))},!1),O(l,"click",function(){c.call(t,"home",!1)}),o.appendChild(l),o.appendChild(B("div",{role:"menu"})),v.appendChild(o),t.elements.settings.buttons[i]=a,t.elements.settings.panels[i]=o}),y.appendChild(v),g.appendChild(y),u.appendChild(g),t.elements.settings.popup=y,t.elements.settings.menu=g}if("pip"===o&&ie.pip&&u.appendChild(i.call(t,"pip",d)),"airplay"===o&&ie.airplay&&u.appendChild(i.call(t,"airplay",d)),"download"===o){var w=F({},d,{element:"a",href:t.download,target:"_blank"}),T=t.config.urls.download;!N.url(T)&&t.isEmbed&&F(w,{icon:"logo-".concat(t.provider),label:t.provider}),u.appendChild(i.call(t,"download",w))}"fullscreen"===o&&u.appendChild(i.call(t,"fullscreen",d))}),this.isHTML5&&o.call(this,le.getQualityOptions.call(this)),l.call(this),u},inject:function(){var e=this;if(this.config.loadSprite){var t=Ae.getIconUrl.call(this);t.cors&&be(t.url,"sprite-plyr")}this.id=Math.floor(1e4*Math.random());var n=null;this.elements.controls=null;var i={id:this.id,seektime:this.config.seekTime,title:this.config.title},s=!0;N.function(this.config.controls)&&(this.config.controls=this.config.controls.call(this,i)),this.config.controls||(this.config.controls=[]),N.element(this.config.controls)||N.string(this.config.controls)?n=this.config.controls:(n=Ae.create.call(this,{id:this.id,seektime:this.config.seekTime,speed:this.speed,quality:this.quality,captions:Pe.getLabel.call(this)}),s=!1);var r,o=function(e){var t=e;return Object.entries(i).forEach(function(e){var n=a(e,2),i=n[0],s=n[1];t=de(t,"{".concat(i,"}"),s)}),t};if(s&&(N.string(this.config.controls)?n=o(n):N.element(n)&&(n.innerHTML=o(n.innerHTML))),N.string(this.config.selectors.controls.container)&&(r=document.querySelector(this.config.selectors.controls.container)),N.element(r)||(r=this.elements.container),r[N.element(n)?"insertAdjacentElement":"insertAdjacentHTML"]("afterbegin",n),N.element(this.elements.controls)||Ae.findElements.call(this),!N.empty(this.elements.buttons)){var l=function(t){var n=e.config.classNames.controlPressed;Object.defineProperty(t,"pressed",{enumerable:!0,get:function(){return J(t,n)},set:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];X(t,n,e)}})};Object.values(this.elements.buttons).filter(Boolean).forEach(function(e){N.array(e)||N.nodeList(e)?Array.from(e).filter(Boolean).forEach(l):l(e)})}if(L.isEdge&&x(r),this.config.tooltips.controls){var c=this.config,u=c.classNames,d=c.selectors,h="".concat(d.controls.wrapper," ").concat(d.labels," .").concat(u.hidden),m=G.call(this,h);Array.from(m).forEach(function(t){X(t,e.config.classNames.hidden,!1),X(t,e.config.classNames.tooltip,!0)})}}};function Ee(e){var t=e;if(!(arguments.length>1&&void 0!==arguments[1])||arguments[1]){var n=document.createElement("a");n.href=t,t=n.href}try{return new URL(t)}catch(e){return null}}function Se(e){var t=new URLSearchParams;return N.object(e)&&Object.entries(e).forEach(function(e){var n=a(e,2),i=n[0],s=n[1];t.set(i,s)}),t}var Pe={setup:function(){if(this.supported.ui)if(!this.isVideo||this.isYouTube||this.isHTML5&&!ie.textTracks)N.array(this.config.controls)&&this.config.controls.includes("settings")&&this.config.settings.includes("captions")&&Ae.setCaptionsMenu.call(this);else{if(N.element(this.elements.captions)||(this.elements.captions=B("div",Y(this.config.selectors.captions)),function(e,t){N.element(e)&&N.element(t)&&t.parentNode.insertBefore(e,t.nextSibling)}(this.elements.captions,this.elements.wrapper)),L.isIE&&window.URL){var e=this.media.querySelectorAll("track");Array.from(e).forEach(function(e){var t=e.getAttribute("src"),n=Ee(t);null!==n&&n.hostname!==window.location.href.hostname&&["http:","https:"].includes(n.protocol)&&ve(t,"blob").then(function(t){e.setAttribute("src",window.URL.createObjectURL(t))}).catch(function(){W(e)})})}var t=ce((navigator.languages||[navigator.language||navigator.userLanguage||"en"]).map(function(e){return e.split("-")[0]})),n=(this.storage.get("language")||this.config.captions.language||"auto").toLowerCase();if("auto"===n)n=a(t,1)[0];var i=this.storage.get("captions");if(N.boolean(i)||(i=this.config.captions.active),Object.assign(this.captions,{toggled:!1,active:i,language:n,languages:t}),this.isHTML5){var s=this.config.captions.update?"addtrack removetrack":"removetrack";O.call(this,this.media.textTracks,s,Pe.update.bind(this))}setTimeout(Pe.update.bind(this),0)}},update:function(){var e=this,t=Pe.getTracks.call(this,!0),n=this.captions,i=n.active,a=n.language,s=n.meta,r=n.currentTrackNode,o=Boolean(t.find(function(e){return e.language===a}));this.isHTML5&&this.isVideo&&t.filter(function(e){return!s.get(e)}).forEach(function(t){e.debug.log("Track added",t),s.set(t,{default:"showing"===t.mode}),Object.assign(t,{mode:"hidden"}),O.call(e,t,"cuechange",function(){return Pe.updateCues.call(e)})}),(o&&this.language!==a||!t.includes(r))&&(Pe.setLanguage.call(this,a),Pe.toggle.call(this,i&&o)),X(this.elements.container,this.config.classNames.captions.enabled,!N.empty(t)),(this.config.controls||[]).includes("settings")&&this.config.settings.includes("captions")&&Ae.setCaptionsMenu.call(this)},toggle:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.supported.ui){var n=this.captions.toggled,i=this.config.classNames.captions.active,a=N.nullOrUndefined(e)?!n:e;if(a!==n){if(t||(this.captions.active=a,this.storage.set({captions:a})),!this.language&&a&&!t){var r=Pe.getTracks.call(this),o=Pe.findTrack.call(this,[this.captions.language].concat(s(this.captions.languages)),!0);return this.captions.language=o.language,void Pe.set.call(this,r.indexOf(o))}this.elements.buttons.captions&&(this.elements.buttons.captions.pressed=a),X(this.elements.container,i,a),this.captions.toggled=a,Ae.updateSetting.call(this,"captions"),H.call(this,this.media,a?"captionsenabled":"captionsdisabled")}}},set:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=Pe.getTracks.call(this);if(-1!==e)if(N.number(e))if(e in n){if(this.captions.currentTrack!==e){this.captions.currentTrack=e;var i=n[e],a=(i||{}).language;this.captions.currentTrackNode=i,Ae.updateSetting.call(this,"captions"),t||(this.captions.language=a,this.storage.set({language:a})),this.isVimeo&&this.embed.enableTextTrack(a),H.call(this,this.media,"languagechange")}Pe.toggle.call(this,!0,t),this.isHTML5&&this.isVideo&&Pe.updateCues.call(this)}else this.debug.warn("Track not found",e);else this.debug.warn("Invalid caption argument",e);else Pe.toggle.call(this,!1,t)},setLanguage:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(N.string(e)){var n=e.toLowerCase();this.captions.language=n;var i=Pe.getTracks.call(this),a=Pe.findTrack.call(this,[n]);Pe.set.call(this,i.indexOf(a),t)}else this.debug.warn("Invalid language argument",e)},getTracks:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return Array.from((this.media||{}).textTracks||[]).filter(function(n){return!e.isHTML5||t||e.captions.meta.has(n)}).filter(function(e){return["captions","subtitles"].includes(e.kind)})},findTrack:function(e){var t,n=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=Pe.getTracks.call(this),s=function(e){return Number((n.captions.meta.get(e)||{}).default)},r=Array.from(a).sort(function(e,t){return s(t)-s(e)});return e.every(function(e){return!(t=r.find(function(t){return t.language===e}))}),t||(i?r[0]:void 0)},getCurrentTrack:function(){return Pe.getTracks.call(this)[this.currentTrack]},getLabel:function(e){var t=e;return!N.track(t)&&ie.textTracks&&this.captions.toggled&&(t=Pe.getCurrentTrack.call(this)),N.track(t)?N.empty(t.label)?N.empty(t.language)?ge("enabled",this.config):e.language.toUpperCase():t.label:ge("disabled",this.config)},updateCues:function(e){if(this.supported.ui)if(N.element(this.elements.captions))if(N.nullOrUndefined(e)||Array.isArray(e)){var t=e;if(!t){var n=Pe.getCurrentTrack.call(this);t=Array.from((n||{}).activeCues||[]).map(function(e){return e.getCueAsHTML()}).map(pe)}var i=t.map(function(e){return e.trim()}).join("\n");if(i!==this.elements.captions.innerHTML){z(this.elements.captions);var a=B("span",Y(this.config.selectors.caption));a.innerHTML=i,this.elements.captions.appendChild(a),H.call(this,this.media,"cuechange")}}else this.debug.warn("updateCues: Invalid input",e);else this.debug.warn("No captions element to render to")}},Ne={enabled:!0,title:"",debug:!1,autoplay:!1,autopause:!0,playsinline:!0,seekTime:10,volume:1,muted:!1,duration:null,displayDuration:!0,invertTime:!0,toggleInvert:!0,ratio:null,clickToPlay:!0,hideControls:!0,resetOnEnd:!1,disableContextMenu:!0,loadSprite:!0,iconPrefix:"plyr",iconUrl:"https://cdn.plyr.io/3.5.2/plyr.svg",blankVideo:"https://cdn.plyr.io/static/blank.mp4",quality:{default:576,options:[4320,2880,2160,1440,1080,720,576,480,360,240]},loop:{active:!1},speed:{selected:1,options:[.5,.75,1,1.25,1.5,1.75,2]},keyboard:{focused:!0,global:!1},tooltips:{controls:!1,seek:!0},captions:{active:!1,language:"auto",update:!1},fullscreen:{enabled:!0,fallback:!0,iosNative:!1},storage:{enabled:!0,key:"plyr"},controls:["play-large","play","progress","current-time","mute","volume","captions","settings","pip","airplay","fullscreen"],settings:["captions","quality","speed"],i18n:{restart:"Restart",rewind:"Rewind {seektime}s",play:"Play",pause:"Pause",fastForward:"Forward {seektime}s",seek:"Seek",seekLabel:"{currentTime} of {duration}",played:"Played",buffered:"Buffered",currentTime:"Current time",duration:"Duration",volume:"Volume",mute:"Mute",unmute:"Unmute",enableCaptions:"Enable captions",disableCaptions:"Disable captions",download:"Download",enterFullscreen:"Enter fullscreen",exitFullscreen:"Exit fullscreen",frameTitle:"Player for {title}",captions:"Captions",settings:"Settings",menuBack:"Go back to previous menu",speed:"Speed",normal:"Normal",quality:"Quality",loop:"Loop",start:"Start",end:"End",all:"All",reset:"Reset",disabled:"Disabled",enabled:"Enabled",advertisement:"Ad",qualityBadge:{2160:"4K",1440:"HD",1080:"HD",720:"HD",576:"SD",480:"SD"}},urls:{download:null,vimeo:{sdk:"https://player.vimeo.com/api/player.js",iframe:"https://player.vimeo.com/video/{0}?{1}",api:"https://vimeo.com/api/v2/video/{0}.json"},youtube:{sdk:"https://www.youtube.com/iframe_api",api:"https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}"},googleIMA:{sdk:"https://imasdk.googleapis.com/js/sdkloader/ima3.js"}},listeners:{seek:null,play:null,pause:null,restart:null,rewind:null,fastForward:null,mute:null,volume:null,captions:null,download:null,fullscreen:null,pip:null,airplay:null,speed:null,quality:null,loop:null,language:null},events:["ended","progress","stalled","playing","waiting","canplay","canplaythrough","loadstart","loadeddata","loadedmetadata","timeupdate","volumechange","play","pause","error","seeking","seeked","emptied","ratechange","cuechange","download","enterfullscreen","exitfullscreen","captionsenabled","captionsdisabled","languagechange","controlshidden","controlsshown","ready","statechange","qualitychange","adsloaded","adscontentpause","adscontentresume","adstarted","adsmidpoint","adscomplete","adsallcomplete","adsimpression","adsclick"],selectors:{editable:"input, textarea, select, [contenteditable]",container:".plyr",controls:{container:null,wrapper:".plyr__controls"},labels:"[data-plyr]",buttons:{play:'[data-plyr="play"]',pause:'[data-plyr="pause"]',restart:'[data-plyr="restart"]',rewind:'[data-plyr="rewind"]',fastForward:'[data-plyr="fast-forward"]',mute:'[data-plyr="mute"]',captions:'[data-plyr="captions"]',download:'[data-plyr="download"]',fullscreen:'[data-plyr="fullscreen"]',pip:'[data-plyr="pip"]',airplay:'[data-plyr="airplay"]',settings:'[data-plyr="settings"]',loop:'[data-plyr="loop"]'},inputs:{seek:'[data-plyr="seek"]',volume:'[data-plyr="volume"]',speed:'[data-plyr="speed"]',language:'[data-plyr="language"]',quality:'[data-plyr="quality"]'},display:{currentTime:".plyr__time--current",duration:".plyr__time--duration",buffer:".plyr__progress__buffer",loop:".plyr__progress__loop",volume:".plyr__volume--display"},progress:".plyr__progress",captions:".plyr__captions",caption:".plyr__caption"},classNames:{type:"plyr--{0}",provider:"plyr--{0}",video:"plyr__video-wrapper",embed:"plyr__video-embed",videoFixedRatio:"plyr__video-wrapper--fixed-ratio",embedContainer:"plyr__video-embed__container",poster:"plyr__poster",posterEnabled:"plyr__poster-enabled",ads:"plyr__ads",control:"plyr__control",controlPressed:"plyr__control--pressed",playing:"plyr--playing",paused:"plyr--paused",stopped:"plyr--stopped",loading:"plyr--loading",hover:"plyr--hover",tooltip:"plyr__tooltip",cues:"plyr__cues",hidden:"plyr__sr-only",hideControls:"plyr--hide-controls",isIos:"plyr--is-ios",isTouch:"plyr--is-touch",uiSupported:"plyr--full-ui",noTransition:"plyr--no-transition",display:{time:"plyr__time"},menu:{value:"plyr__menu__value",badge:"plyr__badge",open:"plyr--menu-open"},captions:{enabled:"plyr--captions-enabled",active:"plyr--captions-active"},fullscreen:{enabled:"plyr--fullscreen-enabled",fallback:"plyr--fullscreen-fallback"},pip:{supported:"plyr--pip-supported",active:"plyr--pip-active"},airplay:{supported:"plyr--airplay-supported",active:"plyr--airplay-active"},tabFocus:"plyr__tab-focus",previewThumbnails:{thumbContainer:"plyr__preview-thumb",thumbContainerShown:"plyr__preview-thumb--is-shown",imageContainer:"plyr__preview-thumb__image-container",timeContainer:"plyr__preview-thumb__time-container",scrubbingContainer:"plyr__preview-scrubbing",scrubbingContainerShown:"plyr__preview-scrubbing--is-shown"}},attributes:{embed:{provider:"data-plyr-provider",id:"data-plyr-embed-id"}},ads:{enabled:!1,publisherId:"",tagUrl:""},previewThumbnails:{enabled:!1,src:""},vimeo:{byline:!1,portrait:!1,title:!1,speed:!0,transparent:!1},youtube:{noCookie:!1,rel:0,showinfo:0,iv_load_policy:3,modestbranding:1}},Me="picture-in-picture",xe="inline",Le={html5:"html5",youtube:"youtube",vimeo:"vimeo"},Ie={audio:"audio",video:"video"};var _e=function(){},Oe=function(){function t(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0];e(this,t),this.enabled=window.console&&n,this.enabled&&this.log("Debugging enabled")}return n(t,[{key:"log",get:function(){return this.enabled?Function.prototype.bind.call(console.log,console):_e}},{key:"warn",get:function(){return this.enabled?Function.prototype.bind.call(console.warn,console):_e}},{key:"error",get:function(){return this.enabled?Function.prototype.bind.call(console.error,console):_e}}]),t}();function je(){if(this.enabled){var e=this.player.elements.buttons.fullscreen;N.element(e)&&(e.pressed=this.active),H.call(this.player,this.target,this.active?"enterfullscreen":"exitfullscreen",!0),L.isIos||function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(N.element(e)){var n=G.call(this,"button:not(:disabled), input:not(:disabled), [tabindex]"),i=n[0],a=n[n.length-1];_.call(this,this.elements.container,"keydown",function(e){if("Tab"===e.key&&9===e.keyCode){var t=document.activeElement;t!==a||e.shiftKey?t===i&&e.shiftKey&&(a.focus(),e.preventDefault()):(i.focus(),e.preventDefault())}},t,!1)}}.call(this.player,this.target,this.active)}}function qe(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(e?this.scrollPosition={x:window.scrollX||0,y:window.scrollY||0}:window.scrollTo(this.scrollPosition.x,this.scrollPosition.y),document.body.style.overflow=e?"hidden":"",X(this.target,this.player.config.classNames.fullscreen.fallback,e),L.isIos){var t=document.head.querySelector('meta[name="viewport"]'),n="viewport-fit=cover";t||(t=document.createElement("meta")).setAttribute("name","viewport");var i=N.string(t.content)&&t.content.includes(n);e?(this.cleanupViewport=!i,i||(t.content+=",".concat(n))):this.cleanupViewport&&(t.content=t.content.split(",").filter(function(e){return e.trim()!==n}).join(","))}je.call(this)}var He=function(){function t(n){var i=this;e(this,t),this.player=n,this.prefix=t.prefix,this.property=t.property,this.scrollPosition={x:0,y:0},this.forceFallback="force"===n.config.fullscreen.fallback,O.call(this.player,document,"ms"===this.prefix?"MSFullscreenChange":"".concat(this.prefix,"fullscreenchange"),function(){je.call(i)}),O.call(this.player,this.player.elements.container,"dblclick",function(e){N.element(i.player.elements.controls)&&i.player.elements.controls.contains(e.target)||i.toggle()}),this.update()}return n(t,[{key:"update",value:function(){var e;this.enabled?(e=this.forceFallback?"Fallback (forced)":t.native?"Native":"Fallback",this.player.debug.log("".concat(e," fullscreen enabled"))):this.player.debug.log("Fullscreen not supported and fallback disabled");X(this.player.elements.container,this.player.config.classNames.fullscreen.enabled,this.enabled)}},{key:"enter",value:function(){this.enabled&&(L.isIos&&this.player.config.fullscreen.iosNative?this.target.webkitEnterFullscreen():!t.native||this.forceFallback?qe.call(this,!0):this.prefix?N.empty(this.prefix)||this.target["".concat(this.prefix,"Request").concat(this.property)]():this.target.requestFullscreen())}},{key:"exit",value:function(){if(this.enabled)if(L.isIos&&this.player.config.fullscreen.iosNative)this.target.webkitExitFullscreen(),this.player.play();else if(!t.native||this.forceFallback)qe.call(this,!1);else if(this.prefix){if(!N.empty(this.prefix)){var e="moz"===this.prefix?"Cancel":"Exit";document["".concat(this.prefix).concat(e).concat(this.property)]()}}else(document.cancelFullScreen||document.exitFullscreen).call(document)}},{key:"toggle",value:function(){this.active?this.exit():this.enter()}},{key:"usingNative",get:function(){return t.native&&!this.forceFallback}},{key:"enabled",get:function(){return(t.native||this.player.config.fullscreen.fallback)&&this.player.config.fullscreen.enabled&&this.player.supported.ui&&this.player.isVideo}},{key:"active",get:function(){return!!this.enabled&&(!t.native||this.forceFallback?J(this.target,this.player.config.classNames.fullscreen.fallback):(this.prefix?document["".concat(this.prefix).concat(this.property,"Element")]:document.fullscreenElement)===this.target)}},{key:"target",get:function(){return L.isIos&&this.player.config.fullscreen.iosNative?this.player.media:this.player.elements.container}}],[{key:"native",get:function(){return!!(document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled)}},{key:"prefix",get:function(){if(N.function(document.exitFullscreen))return"";var e="";return["webkit","moz","ms"].some(function(t){return!(!N.function(document["".concat(t,"ExitFullscreen")])&&!N.function(document["".concat(t,"CancelFullScreen")]))&&(e=t,!0)}),e}},{key:"property",get:function(){return"moz"===this.prefix?"FullScreen":"Fullscreen"}}]),t}();function De(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return new Promise(function(n,i){var a=new Image,s=function(){delete a.onload,delete a.onerror,(a.naturalWidth>=t?n:i)(a)};Object.assign(a,{onload:s,onerror:s,src:e})})}var Fe={addStyleHook:function(){X(this.elements.container,this.config.selectors.container.replace(".",""),!0),X(this.elements.container,this.config.classNames.uiSupported,this.supported.ui)},toggleNativeControls:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&this.isHTML5?this.media.setAttribute("controls",""):this.media.removeAttribute("controls")},build:function(){var e=this;if(this.listeners.media(),!this.supported.ui)return this.debug.warn("Basic support only for ".concat(this.provider," ").concat(this.type)),void Fe.toggleNativeControls.call(this,!0);N.element(this.elements.controls)||(Ae.inject.call(this),this.listeners.controls()),Fe.toggleNativeControls.call(this),this.isHTML5&&Pe.setup.call(this),this.volume=null,this.muted=null,this.loop=null,this.quality=null,this.speed=null,Ae.updateVolume.call(this),Ae.timeUpdate.call(this),Fe.checkPlaying.call(this),X(this.elements.container,this.config.classNames.pip.supported,ie.pip&&this.isHTML5&&this.isVideo),X(this.elements.container,this.config.classNames.airplay.supported,ie.airplay&&this.isHTML5),X(this.elements.container,this.config.classNames.isIos,L.isIos),X(this.elements.container,this.config.classNames.isTouch,this.touch),this.ready=!0,setTimeout(function(){H.call(e,e.media,"ready")},0),Fe.setTitle.call(this),this.poster&&Fe.setPoster.call(this,this.poster,!1).catch(function(){}),this.config.duration&&Ae.durationUpdate.call(this)},setTitle:function(){var e=ge("play",this.config);if(N.string(this.config.title)&&!N.empty(this.config.title)&&(e+=", ".concat(this.config.title)),Array.from(this.elements.buttons.play||[]).forEach(function(t){t.setAttribute("aria-label",e)}),this.isEmbed){var t=Z.call(this,"iframe");if(!N.element(t))return;var n=N.empty(this.config.title)?"video":this.config.title,i=ge("frameTitle",this.config);t.setAttribute("title",i.replace("{title}",n))}},togglePoster:function(e){X(this.elements.container,this.config.classNames.posterEnabled,e)},setPoster:function(e){var t=this;return arguments.length>1&&void 0!==arguments[1]&&!arguments[1]||!this.poster?(this.media.setAttribute("poster",e),function(){var e=this;return new Promise(function(t){return e.ready?setTimeout(t,0):O.call(e,e.elements.container,"ready",t)}).then(function(){})}.call(this).then(function(){return De(e)}).catch(function(n){throw e===t.poster&&Fe.togglePoster.call(t,!1),n}).then(function(){if(e!==t.poster)throw new Error("setPoster cancelled by later call to setPoster")}).then(function(){return Object.assign(t.elements.poster.style,{backgroundImage:"url('".concat(e,"')"),backgroundSize:""}),Fe.togglePoster.call(t,!0),e})):Promise.reject(new Error("Poster already set"))},checkPlaying:function(e){var t=this;X(this.elements.container,this.config.classNames.playing,this.playing),X(this.elements.container,this.config.classNames.paused,this.paused),X(this.elements.container,this.config.classNames.stopped,this.stopped),Array.from(this.elements.buttons.play||[]).forEach(function(e){Object.assign(e,{pressed:t.playing})}),N.event(e)&&"timeupdate"===e.type||Fe.toggleControls.call(this)},checkLoading:function(e){var t=this;this.loading=["stalled","waiting"].includes(e.type),clearTimeout(this.timers.loading),this.timers.loading=setTimeout(function(){X(t.elements.container,t.config.classNames.loading,t.loading),Fe.toggleControls.call(t)},this.loading?250:0)},toggleControls:function(e){var t=this.elements.controls;if(t&&this.config.hideControls){var n=this.touch&&this.lastSeekTime+2e3>Date.now();this.toggleControls(Boolean(e||this.loading||this.paused||t.pressed||t.hover||n))}}},Re=function(){function t(n){e(this,t),this.player=n,this.lastKey=null,this.focusTimer=null,this.lastKeyDown=null,this.handleKey=this.handleKey.bind(this),this.toggleMenu=this.toggleMenu.bind(this),this.setTabFocus=this.setTabFocus.bind(this),this.firstTouch=this.firstTouch.bind(this)}return n(t,[{key:"handleKey",value:function(e){var t=this.player,n=t.elements,i=e.keyCode?e.keyCode:e.which,a="keydown"===e.type,s=a&&i===this.lastKey;if(!(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)&&N.number(i)){if(a){var r=document.activeElement;if(N.element(r)){var o=t.config.selectors.editable;if(r!==n.inputs.seek&&$(r,o))return;if(32===e.which&&$(r,'button, [role^="menuitem"]'))return}switch([32,37,38,39,40,48,49,50,51,52,53,54,56,57,67,70,73,75,76,77,79].includes(i)&&(e.preventDefault(),e.stopPropagation()),i){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:s||(t.currentTime=t.duration/10*(i-48));break;case 32:case 75:s||t.togglePlay();break;case 38:t.increaseVolume(.1);break;case 40:t.decreaseVolume(.1);break;case 77:s||(t.muted=!t.muted);break;case 39:t.forward();break;case 37:t.rewind();break;case 70:t.fullscreen.toggle();break;case 67:s||t.toggleCaptions();break;case 76:t.loop=!t.loop}27===i&&!t.fullscreen.usingNative&&t.fullscreen.active&&t.fullscreen.toggle(),this.lastKey=i}else this.lastKey=null}}},{key:"toggleMenu",value:function(e){Ae.toggleMenu.call(this.player,e)}},{key:"firstTouch",value:function(){var e=this.player,t=e.elements;e.touch=!0,X(t.container,e.config.classNames.isTouch,!0)}},{key:"setTabFocus",value:function(e){var t=this.player,n=t.elements;if(clearTimeout(this.focusTimer),"keydown"!==e.type||9===e.which){"keydown"===e.type&&(this.lastKeyDown=e.timeStamp);var i,a=e.timeStamp-this.lastKeyDown<=20;if("focus"!==e.type||a)i=t.config.classNames.tabFocus,X(G.call(t,".".concat(i)),i,!1),this.focusTimer=setTimeout(function(){var e=document.activeElement;n.container.contains(e)&&X(document.activeElement,t.config.classNames.tabFocus,!0)},10)}}},{key:"global",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=this.player;t.config.keyboard.global&&_.call(t,window,"keydown keyup",this.handleKey,e,!1),_.call(t,document.body,"click",this.toggleMenu,e),q.call(t,document.body,"touchstart",this.firstTouch),_.call(t,document.body,"keydown focus blur",this.setTabFocus,e,!1,!0)}},{key:"container",value:function(){var e=this.player,t=e.config,n=e.elements,i=e.timers;!t.keyboard.global&&t.keyboard.focused&&O.call(e,n.container,"keydown keyup",this.handleKey,!1),O.call(e,n.container,"mousemove mouseleave touchstart touchmove enterfullscreen exitfullscreen",function(t){var a=n.controls;a&&"enterfullscreen"===t.type&&(a.pressed=!1,a.hover=!1);var s=0;["touchstart","touchmove","mousemove"].includes(t.type)&&(Fe.toggleControls.call(e,!0),s=e.touch?3e3:2e3),clearTimeout(i.controls),i.controls=setTimeout(function(){return Fe.toggleControls.call(e,!1)},s)});var s=function(t){if(!t)return oe.call(e);var i=n.container.getBoundingClientRect(),a=i.width,s=i.height;return oe.call(e,"".concat(a,":").concat(s))},r=function(){clearTimeout(i.resized),i.resized=setTimeout(s,50)};O.call(e,n.container,"enterfullscreen exitfullscreen",function(t){var i=e.fullscreen,o=i.target,l=i.usingNative;if(o===n.container&&(e.isEmbed||!N.empty(e.config.ratio))){var c="enterfullscreen"===t.type,u=s(c);u.padding;!function(t,n,i){if(e.isVimeo){var s=e.elements.wrapper.firstChild,r=a(t,2)[1],o=a(re.call(e),2),l=o[0],c=o[1];s.style.maxWidth=i?"".concat(r/c*l,"px"):null,s.style.margin=i?"0 auto":null}}(u.ratio,0,c),l||(c?O.call(e,window,"resize",r):j.call(e,window,"resize",r))}})}},{key:"media",value:function(){var e=this,t=this.player,n=t.elements;if(O.call(t,t.media,"timeupdate seeking seeked",function(e){return Ae.timeUpdate.call(t,e)}),O.call(t,t.media,"durationchange loadeddata loadedmetadata",function(e){return Ae.durationUpdate.call(t,e)}),O.call(t,t.media,"canplay loadeddata",function(){Q(n.volume,!t.hasAudio),Q(n.buttons.mute,!t.hasAudio)}),O.call(t,t.media,"ended",function(){t.isHTML5&&t.isVideo&&t.config.resetOnEnd&&t.restart()}),O.call(t,t.media,"progress playing seeking seeked",function(e){return Ae.updateProgress.call(t,e)}),O.call(t,t.media,"volumechange",function(e){return Ae.updateVolume.call(t,e)}),O.call(t,t.media,"playing play pause ended emptied timeupdate",function(e){return Fe.checkPlaying.call(t,e)}),O.call(t,t.media,"waiting canplay seeked playing",function(e){return Fe.checkLoading.call(t,e)}),t.supported.ui&&t.config.clickToPlay&&!t.isAudio){var i=Z.call(t,".".concat(t.config.classNames.video));if(!N.element(i))return;O.call(t,n.container,"click",function(a){([n.container,i].includes(a.target)||i.contains(a.target))&&(t.touch&&t.config.hideControls||(t.ended?(e.proxy(a,t.restart,"restart"),e.proxy(a,t.play,"play")):e.proxy(a,t.togglePlay,"play")))})}t.supported.ui&&t.config.disableContextMenu&&O.call(t,n.wrapper,"contextmenu",function(e){e.preventDefault()},!1),O.call(t,t.media,"volumechange",function(){t.storage.set({volume:t.volume,muted:t.muted})}),O.call(t,t.media,"ratechange",function(){Ae.updateSetting.call(t,"speed"),t.storage.set({speed:t.speed})}),O.call(t,t.media,"qualitychange",function(e){Ae.updateSetting.call(t,"quality",null,e.detail.quality)}),O.call(t,t.media,"ready qualitychange",function(){Ae.setDownloadUrl.call(t)});var a=t.config.events.concat(["keyup","keydown"]).join(" ");O.call(t,t.media,a,function(e){var i=e.detail,a=void 0===i?{}:i;"error"===e.type&&(a=t.media.error),H.call(t,n.container,e.type,!0,a)})}},{key:"proxy",value:function(e,t,n){var i=this.player,a=i.config.listeners[n],s=!0;N.function(a)&&(s=a.call(i,e)),s&&N.function(t)&&t.call(i,e)}},{key:"bind",value:function(e,t,n,i){var a=this,s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.player,o=r.config.listeners[i],l=N.function(o);O.call(r,e,t,function(e){return a.proxy(e,n,i)},s&&!l)}},{key:"controls",value:function(){var e=this,t=this.player,n=t.elements,i=L.isIE?"change":"input";if(n.buttons.play&&Array.from(n.buttons.play).forEach(function(n){e.bind(n,"click",t.togglePlay,"play")}),this.bind(n.buttons.restart,"click",t.restart,"restart"),this.bind(n.buttons.rewind,"click",t.rewind,"rewind"),this.bind(n.buttons.fastForward,"click",t.forward,"fastForward"),this.bind(n.buttons.mute,"click",function(){t.muted=!t.muted},"mute"),this.bind(n.buttons.captions,"click",function(){return t.toggleCaptions()}),this.bind(n.buttons.download,"click",function(){H.call(t,t.media,"download")},"download"),this.bind(n.buttons.fullscreen,"click",function(){t.fullscreen.toggle()},"fullscreen"),this.bind(n.buttons.pip,"click",function(){t.pip="toggle"},"pip"),this.bind(n.buttons.airplay,"click",t.airplay,"airplay"),this.bind(n.buttons.settings,"click",function(e){e.stopPropagation(),Ae.toggleMenu.call(t,e)}),this.bind(n.buttons.settings,"keyup",function(e){var n=e.which;[13,32].includes(n)&&(13!==n?(e.preventDefault(),e.stopPropagation(),Ae.toggleMenu.call(t,e)):Ae.focusFirstMenuItem.call(t,null,!0))},null,!1),this.bind(n.settings.menu,"keydown",function(e){27===e.which&&Ae.toggleMenu.call(t,e)}),this.bind(n.inputs.seek,"mousedown mousemove",function(e){var t=n.progress.getBoundingClientRect(),i=100/t.width*(e.pageX-t.left);e.currentTarget.setAttribute("seek-value",i)}),this.bind(n.inputs.seek,"mousedown mouseup keydown keyup touchstart touchend",function(e){var n=e.currentTarget,i=e.keyCode?e.keyCode:e.which;if(!N.keyboardEvent(e)||39===i||37===i){t.lastSeekTime=Date.now();var a=n.hasAttribute("play-on-seeked"),s=["mouseup","touchend","keyup"].includes(e.type);a&&s?(n.removeAttribute("play-on-seeked"),t.play()):!s&&t.playing&&(n.setAttribute("play-on-seeked",""),t.pause())}}),L.isIos){var s=G.call(t,'input[type="range"]');Array.from(s).forEach(function(t){return e.bind(t,i,function(e){return x(e.target)})})}this.bind(n.inputs.seek,i,function(e){var n=e.currentTarget,i=n.getAttribute("seek-value");N.empty(i)&&(i=n.value),n.removeAttribute("seek-value"),t.currentTime=i/n.max*t.duration},"seek"),this.bind(n.progress,"mouseenter mouseleave mousemove",function(e){return Ae.updateSeekTooltip.call(t,e)}),this.bind(n.progress,"mousemove touchmove",function(e){var n=t.previewThumbnails;n&&n.loaded&&n.startMove(e)}),this.bind(n.progress,"mouseleave click",function(){var e=t.previewThumbnails;e&&e.loaded&&e.endMove(!1,!0)}),this.bind(n.progress,"mousedown touchstart",function(e){var n=t.previewThumbnails;n&&n.loaded&&n.startScrubbing(e)}),this.bind(n.progress,"mouseup touchend",function(e){var n=t.previewThumbnails;n&&n.loaded&&n.endScrubbing(e)}),L.isWebkit&&Array.from(G.call(t,'input[type="range"]')).forEach(function(n){e.bind(n,"input",function(e){return Ae.updateRangeFill.call(t,e.target)})}),t.config.toggleInvert&&!N.element(n.display.duration)&&this.bind(n.display.currentTime,"click",function(){0!==t.currentTime&&(t.config.invertTime=!t.config.invertTime,Ae.timeUpdate.call(t))}),this.bind(n.inputs.volume,i,function(e){t.volume=e.target.value},"volume"),this.bind(n.controls,"mouseenter mouseleave",function(e){n.controls.hover=!t.touch&&"mouseenter"===e.type}),this.bind(n.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){n.controls.pressed=["mousedown","touchstart"].includes(e.type)}),this.bind(n.controls,"focusin",function(){var i=t.config,a=t.timers;X(n.controls,i.classNames.noTransition,!0),Fe.toggleControls.call(t,!0),setTimeout(function(){X(n.controls,i.classNames.noTransition,!1)},0);var s=e.touch?3e3:4e3;clearTimeout(a.controls),a.controls=setTimeout(function(){return Fe.toggleControls.call(t,!1)},s)}),this.bind(n.inputs.volume,"wheel",function(e){var n=e.webkitDirectionInvertedFromDevice,i=a([e.deltaX,-e.deltaY].map(function(e){return n?-e:e}),2),s=i[0],r=i[1],o=Math.sign(Math.abs(s)>Math.abs(r)?s:r);t.increaseVolume(o/50);var l=t.media.volume;(1===o&&l<1||-1===o&&l>0)&&e.preventDefault()},"volume",!1)}}]),t}();"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var Ve=function(e,t){return e(t={exports:{}},t.exports),t.exports}(function(e,t){e.exports=function(){var e=function(){},t={},n={},i={};function a(e,t){if(e){var a=i[e];if(n[e]=t,a)for(;a.length;)a[0](e,t),a.splice(0,1)}}function s(t,n){t.call&&(t={success:t}),n.length?(t.error||e)(n):(t.success||e)(t)}function r(t,n,i,a){var s,o,l=document,c=i.async,u=(i.numRetries||0)+1,d=i.before||e,h=t.replace(/^(css|img)!/,"");a=a||0,/(^css!|\.css$)/.test(t)?((o=l.createElement("link")).rel="stylesheet",o.href=h,(s="hideFocus"in o)&&o.relList&&(s=0,o.rel="preload",o.as="style")):/(^img!|\.(png|gif|jpg|svg)$)/.test(t)?(o=l.createElement("img")).src=h:((o=l.createElement("script")).src=t,o.async=void 0===c||c),o.onload=o.onerror=o.onbeforeload=function(e){var l=e.type[0];if(s)try{o.sheet.cssText.length||(l="e")}catch(e){18!=e.code&&(l="e")}if("e"==l){if((a+=1)0&&void 0!==arguments[0]&&arguments[0]))return clearInterval(this.countdownTimer),void this.elements.container.removeAttribute("data-badge-text");this.countdownTimer=setInterval(function(){var t=Ce(Math.max(e.manager.getRemainingTime(),0)),n="".concat(ge("advertisement",e.player.config)," - ").concat(t);e.elements.container.setAttribute("data-badge-text",n)},100)}},{key:"onAdsManagerLoaded",value:function(e){var t=this;if(this.enabled){var n=new google.ima.AdsRenderingSettings;n.restoreCustomPlaybackStateOnAdBreakComplete=!0,n.enablePreloading=!0,this.manager=e.getAdsManager(this.player,n),this.cuePoints=this.manager.getCuePoints(),this.manager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,function(e){return t.onAdError(e)}),Object.keys(google.ima.AdEvent.Type).forEach(function(e){t.manager.addEventListener(google.ima.AdEvent.Type[e],function(e){return t.onAdEvent(e)})}),this.trigger("loaded")}}},{key:"addCuePoints",value:function(){var e=this;N.empty(this.cuePoints)||this.cuePoints.forEach(function(t){if(0!==t&&-1!==t&&t1?n-1:0),a=1;a ?)([0-9]{2})?:?([0-9]{2}):([0-9]{2}).([0-9]{2,3})/);r&&(t.startTime=60*Number(r[1]||0)*60+60*Number(r[2])+Number(r[3])+Number("0.".concat(r[4])),t.endTime=60*Number(r[6]||0)*60+60*Number(r[7])+Number(r[8])+Number("0.".concat(r[9])))}}),t.text&&r.push(t)}),r),height:null,urlPrefix:""};o.frames[0].text.startsWith("/")||o.frames[0].text.startsWith("http://")||o.frames[0].text.startsWith("https://")||(o.urlPrefix=e.substring(0,e.lastIndexOf("/")+1));var l=new Image;l.onload=function(){o.height=l.naturalHeight,o.width=l.naturalWidth,t.thumbnails.push(o),n()},l.src=o.urlPrefix+o.frames[0].text})})}},{key:"startMove",value:function(e){if(this.loaded&&N.event(e)&&["touchmove","mousemove"].includes(e.type)&&this.player.media.duration){if("touchmove"===e.type)this.seekTime=this.player.media.duration*(this.player.elements.inputs.seek.value/100);else{var t=this.player.elements.progress.getBoundingClientRect(),n=100/t.width*(e.pageX-t.left);this.seekTime=this.player.media.duration*(n/100),this.seekTime<0&&(this.seekTime=0),this.seekTime>this.player.media.duration-1&&(this.seekTime=this.player.media.duration-1),this.mousePosX=e.pageX,this.elements.thumb.time.innerText=Ce(this.seekTime)}this.showImageAtCurrentTime()}}},{key:"endMove",value:function(){this.toggleThumbContainer(!1,!0)}},{key:"startScrubbing",value:function(e){!1!==e.button&&0!==e.button||(this.mouseDown=!0,this.player.media.duration&&(this.toggleScrubbingContainer(!0),this.toggleThumbContainer(!1,!0),this.showImageAtCurrentTime()))}},{key:"endScrubbing",value:function(){var e=this;this.mouseDown=!1,Math.ceil(this.lastTime)===Math.ceil(this.player.media.currentTime)?this.toggleScrubbingContainer(!1):q.call(this.player,this.player.media,"timeupdate",function(){e.mouseDown||e.toggleScrubbingContainer(!1)})}},{key:"listeners",value:function(){var e=this;this.player.on("play",function(){e.toggleThumbContainer(!1,!0)}),this.player.on("seeked",function(){e.toggleThumbContainer(!1)}),this.player.on("timeupdate",function(){e.lastTime=e.player.media.currentTime})}},{key:"render",value:function(){this.elements.thumb.container=B("div",{class:this.player.config.classNames.previewThumbnails.thumbContainer}),this.elements.thumb.imageContainer=B("div",{class:this.player.config.classNames.previewThumbnails.imageContainer}),this.elements.thumb.container.appendChild(this.elements.thumb.imageContainer);var e=B("div",{class:this.player.config.classNames.previewThumbnails.timeContainer});this.elements.thumb.time=B("span",{},"00:00"),e.appendChild(this.elements.thumb.time),this.elements.thumb.container.appendChild(e),N.element(this.player.elements.progress)&&this.player.elements.progress.appendChild(this.elements.thumb.container),this.elements.scrubbing.container=B("div",{class:this.player.config.classNames.previewThumbnails.scrubbingContainer}),this.player.elements.wrapper.appendChild(this.elements.scrubbing.container)}},{key:"showImageAtCurrentTime",value:function(){var e=this;this.mouseDown?this.setScrubbingContainerSize():this.setThumbContainerSizeAndPos();var t=this.thumbnails[0].frames.findIndex(function(t){return e.seekTime>=t.startTime&&e.seekTime<=t.endTime}),n=t>=0,i=0;this.mouseDown||this.toggleThumbContainer(n),n&&(this.thumbnails.forEach(function(n,a){e.loadedImages.includes(n.frames[t].text)&&(i=a)}),t!==this.showingThumb&&(this.showingThumb=t,this.loadImage(i)))}},{key:"loadImage",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=this.showingThumb,i=this.thumbnails[t],a=i.urlPrefix,s=i.frames[n],r=i.frames[n].text,o=a+r;if(this.currentImageElement&&this.currentImageElement.dataset.filename===r)this.showImage(this.currentImageElement,s,t,n,r,!1),this.currentImageElement.dataset.index=n,this.removeOldImages(this.currentImageElement);else{this.loadingImage&&this.usingSprites&&(this.loadingImage.onload=null);var l=new Image;l.src=o,l.dataset.index=n,l.dataset.filename=r,this.showingThumbFilename=r,this.player.debug.log("Loading image: ".concat(o)),l.onload=function(){return e.showImage(l,s,t,n,r,!0)},this.loadingImage=l,this.removeOldImages(l)}}},{key:"showImage",value:function(e,t,n,i,a){var s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];this.player.debug.log("Showing thumb: ".concat(a,". num: ").concat(i,". qual: ").concat(n,". newimg: ").concat(s)),this.setImageSizeAndOffset(e,t),s&&(this.currentImageContainer.appendChild(e),this.currentImageElement=e,this.loadedImages.includes(a)||this.loadedImages.push(a)),this.preloadNearby(i,!0).then(this.preloadNearby(i,!1)).then(this.getHigherQuality(n,e,t,a))}},{key:"removeOldImages",value:function(e){var t=this;Array.from(this.currentImageContainer.children).forEach(function(n){if("img"===n.tagName.toLowerCase()){var i=t.usingSprites?500:1e3;if(n.dataset.index!==e.dataset.index&&!n.dataset.deleting){n.dataset.deleting=!0;var a=t.currentImageContainer;setTimeout(function(){a.removeChild(n),t.player.debug.log("Removing thumb: ".concat(n.dataset.filename))},i)}}})}},{key:"preloadNearby",value:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return new Promise(function(i){setTimeout(function(){var a=t.thumbnails[0].frames[e].text;if(t.showingThumbFilename===a){var s;s=n?t.thumbnails[0].frames.slice(e):t.thumbnails[0].frames.slice(0,e).reverse();var r=!1;s.forEach(function(e){var n=e.text;if(n!==a&&!t.loadedImages.includes(n)){r=!0,t.player.debug.log("Preloading thumb filename: ".concat(n));var s=t.thumbnails[0].urlPrefix+n,o=new Image;o.src=s,o.onload=function(){t.player.debug.log("Preloaded thumb filename: ".concat(n)),t.loadedImages.includes(n)||t.loadedImages.push(n),i()}}}),r||i()}},300)})}},{key:"getHigherQuality",value:function(e,t,n,i){var a=this;if(e0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.player.config.classNames.previewThumbnails.thumbContainerShown;this.elements.thumb.container.classList.toggle(n,e),!e&&t&&(this.showingThumb=null,this.showingThumbFilename=null)}},{key:"toggleScrubbingContainer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.player.config.classNames.previewThumbnails.scrubbingContainerShown;this.elements.scrubbing.container.classList.toggle(t,e),e||(this.showingThumb=null,this.showingThumbFilename=null)}},{key:"determineContainerAutoSizing",value:function(){this.elements.thumb.imageContainer.clientHeight>20&&(this.sizeSpecifiedInCSS=!0)}},{key:"setThumbContainerSizeAndPos",value:function(){if(!this.sizeSpecifiedInCSS){var e=Math.floor(this.thumbContainerHeight*this.thumbAspectRatio);this.elements.thumb.imageContainer.style.height="".concat(this.thumbContainerHeight,"px"),this.elements.thumb.imageContainer.style.width="".concat(e,"px")}this.setThumbContainerPos()}},{key:"setThumbContainerPos",value:function(){var e=this.player.elements.progress.getBoundingClientRect(),t=this.player.elements.container.getBoundingClientRect(),n=this.elements.thumb.container,i=t.left-e.left+10,a=t.right-e.left-n.clientWidth-10,s=this.mousePosX-e.left-n.clientWidth/2;sa&&(s=a),n.style.left="".concat(s,"px")}},{key:"setScrubbingContainerSize",value:function(){this.elements.scrubbing.container.style.width="".concat(this.player.media.clientWidth,"px"),this.elements.scrubbing.container.style.height="".concat(this.player.media.clientWidth/this.thumbAspectRatio,"px")}},{key:"setImageSizeAndOffset",value:function(e,t){if(this.usingSprites){var n=this.thumbContainerHeight/t.h;e.style.height="".concat(Math.floor(e.naturalHeight*n),"px"),e.style.width="".concat(Math.floor(e.naturalWidth*n),"px"),e.style.left="-".concat(t.x*n,"px"),e.style.top="-".concat(t.y*n,"px")}}},{key:"enabled",get:function(){return this.player.isHTML5&&this.player.isVideo&&this.player.config.previewThumbnails.enabled}},{key:"currentImageContainer",get:function(){return this.mouseDown?this.elements.scrubbing.container:this.elements.thumb.imageContainer}},{key:"usingSprites",get:function(){return Object.keys(this.thumbnails[0].frames[0]).includes("w")}},{key:"thumbAspectRatio",get:function(){return this.usingSprites?this.thumbnails[0].frames[0].w/this.thumbnails[0].frames[0].h:this.thumbnails[0].width/this.thumbnails[0].height}},{key:"thumbContainerHeight",get:function(){return this.mouseDown?Math.floor(this.player.media.clientWidth/this.thumbAspectRatio):Math.floor(this.player.media.clientWidth/this.thumbAspectRatio/4)}},{key:"currentImageElement",get:function(){return this.mouseDown?this.currentScrubbingImageElement:this.currentThumbnailImageElement},set:function(e){this.mouseDown?this.currentScrubbingImageElement=e:this.currentThumbnailImageElement=e}}]),t}(),$e={insertElements:function(e,t){var n=this;N.string(t)?U(e,this.media,{src:t}):N.array(t)&&t.forEach(function(t){U(e,n.media,t)})},change:function(e){var t=this;D(e,"sources.length")?(le.cancelRequests.call(this),this.destroy.call(this,function(){t.options.quality=[],W(t.media),t.media=null,N.element(t.elements.container)&&t.elements.container.removeAttribute("class");var n=e.sources,i=e.type,s=a(n,1)[0],r=s.provider,o=void 0===r?Le.html5:r,l=s.src,c="html5"===o?i:"div",u="html5"===o?{}:{src:l};Object.assign(t,{provider:o,type:i,supported:ie.check(i,o,t.config.playsinline),media:B(c,u)}),t.elements.container.appendChild(t.media),N.boolean(e.autoplay)&&(t.config.autoplay=e.autoplay),t.isHTML5&&(t.config.crossorigin&&t.media.setAttribute("crossorigin",""),t.config.autoplay&&t.media.setAttribute("autoplay",""),N.empty(e.poster)||(t.poster=e.poster),t.config.loop.active&&t.media.setAttribute("loop",""),t.config.muted&&t.media.setAttribute("muted",""),t.config.playsinline&&t.media.setAttribute("playsinline","")),Fe.addStyleHook.call(t),t.isHTML5&&$e.insertElements.call(t,"source",n),t.config.title=e.title,Qe.setup.call(t),t.isHTML5&&Object.keys(e).includes("tracks")&&$e.insertElements.call(t,"track",e.tracks),(t.isHTML5||t.isEmbed&&!t.supported.ui)&&Fe.build.call(t),t.isHTML5&&t.media.load(),t.previewThumbnails&&t.previewThumbnails.load(),t.fullscreen.update()},!0)):this.debug.warn("Invalid source format")}};var Ge,Ze=function(){function t(n,i){var a=this;if(e(this,t),this.timers={},this.ready=!1,this.loading=!1,this.failed=!1,this.touch=ie.touch,this.media=n,N.string(this.media)&&(this.media=document.querySelectorAll(this.media)),(window.jQuery&&this.media instanceof jQuery||N.nodeList(this.media)||N.array(this.media))&&(this.media=this.media[0]),this.config=F({},Ne,t.defaults,i||{},function(){try{return JSON.parse(a.media.getAttribute("data-plyr-config"))}catch(e){return{}}}()),this.elements={container:null,captions:null,buttons:{},display:{},progress:{},inputs:{},settings:{popup:null,menu:null,panels:{},buttons:{}}},this.captions={active:null,currentTrack:-1,meta:new WeakMap},this.fullscreen={active:!1},this.options={speed:[],quality:[]},this.debug=new Oe(this.config.debug),this.debug.log("Config",this.config),this.debug.log("Support",ie),!N.nullOrUndefined(this.media)&&N.element(this.media))if(this.media.plyr)this.debug.warn("Target already setup");else if(this.config.enabled)if(ie.check().api){var s=this.media.cloneNode(!0);s.autoplay=!1,this.elements.original=s;var r=this.media.tagName.toLowerCase(),o=null,l=null;switch(r){case"div":if(o=this.media.querySelector("iframe"),N.element(o)){if(l=Ee(o.getAttribute("src")),this.provider=function(e){return/^(https?:\/\/)?(www\.)?(youtube\.com|youtube-nocookie\.com|youtu\.?be)\/.+$/.test(e)?Le.youtube:/^https?:\/\/player.vimeo.com\/video\/\d{0,9}(?=\b|\/)/.test(e)?Le.vimeo:null}(l.toString()),this.elements.container=this.media,this.media=o,this.elements.container.className="",l.search.length){var c=["1","true"];c.includes(l.searchParams.get("autoplay"))&&(this.config.autoplay=!0),c.includes(l.searchParams.get("loop"))&&(this.config.loop.active=!0),this.isYouTube?(this.config.playsinline=c.includes(l.searchParams.get("playsinline")),this.config.youtube.hl=l.searchParams.get("hl")):this.config.playsinline=!0}}else this.provider=this.media.getAttribute(this.config.attributes.embed.provider),this.media.removeAttribute(this.config.attributes.embed.provider);if(N.empty(this.provider)||!Object.keys(Le).includes(this.provider))return void this.debug.error("Setup failed: Invalid provider");this.type=Ie.video;break;case"video":case"audio":this.type=r,this.provider=Le.html5,this.media.hasAttribute("crossorigin")&&(this.config.crossorigin=!0),this.media.hasAttribute("autoplay")&&(this.config.autoplay=!0),(this.media.hasAttribute("playsinline")||this.media.hasAttribute("webkit-playsinline"))&&(this.config.playsinline=!0),this.media.hasAttribute("muted")&&(this.config.muted=!0),this.media.hasAttribute("loop")&&(this.config.loop.active=!0);break;default:return void this.debug.error("Setup failed: unsupported type")}this.supported=ie.check(this.type,this.provider,this.config.playsinline),this.supported.api?(this.eventListeners=[],this.listeners=new Re(this),this.storage=new ye(this),this.media.plyr=this,N.element(this.elements.container)||(this.elements.container=B("div",{tabindex:0}),R(this.media,this.elements.container)),Fe.addStyleHook.call(this),Qe.setup.call(this),this.config.debug&&O.call(this,this.elements.container,this.config.events.join(" "),function(e){a.debug.log("event: ".concat(e.type))}),(this.isHTML5||this.isEmbed&&!this.supported.ui)&&Fe.build.call(this),this.listeners.container(),this.listeners.global(),this.fullscreen=new He(this),this.config.ads.enabled&&(this.ads=new Xe(this)),this.isHTML5&&this.config.autoplay&&setTimeout(function(){return a.play()},10),this.lastSeekTime=0,this.config.previewThumbnails.enabled&&(this.previewThumbnails=new Je(this))):this.debug.error("Setup failed: no support")}else this.debug.error("Setup failed: no support");else this.debug.error("Setup failed: disabled by config");else this.debug.error("Setup failed: no suitable element passed")}return n(t,[{key:"play",value:function(){var e=this;return N.function(this.media.play)?(this.ads&&this.ads.enabled&&this.ads.managerPromise.then(function(){return e.ads.play()}).catch(function(){return e.media.play()}),this.media.play()):null}},{key:"pause",value:function(){this.playing&&N.function(this.media.pause)&&this.media.pause()}},{key:"togglePlay",value:function(e){(N.boolean(e)?e:!this.playing)?this.play():this.pause()}},{key:"stop",value:function(){this.isHTML5?(this.pause(),this.restart()):N.function(this.media.stop)&&this.media.stop()}},{key:"restart",value:function(){this.currentTime=0}},{key:"rewind",value:function(e){this.currentTime=this.currentTime-(N.number(e)?e:this.config.seekTime)}},{key:"forward",value:function(e){this.currentTime=this.currentTime+(N.number(e)?e:this.config.seekTime)}},{key:"increaseVolume",value:function(e){var t=this.media.muted?0:this.volume;this.volume=t+(N.number(e)?e:0)}},{key:"decreaseVolume",value:function(e){this.increaseVolume(-e)}},{key:"toggleCaptions",value:function(e){Pe.toggle.call(this,e,!1)}},{key:"airplay",value:function(){ie.airplay&&this.media.webkitShowPlaybackTargetPicker()}},{key:"toggleControls",value:function(e){if(this.supported.ui&&!this.isAudio){var t=J(this.elements.container,this.config.classNames.hideControls),n=void 0===e?void 0:!e,i=X(this.elements.container,this.config.classNames.hideControls,n);if(i&&this.config.controls.includes("settings")&&!N.empty(this.config.settings)&&Ae.toggleMenu.call(this,!1),i!==t){var a=i?"controlshidden":"controlsshown";H.call(this,this.media,a)}return!i}return!1}},{key:"on",value:function(e,t){O.call(this,this.elements.container,e,t)}},{key:"once",value:function(e,t){q.call(this,this.elements.container,e,t)}},{key:"off",value:function(e,t){j(this.elements.container,e,t)}},{key:"destroy",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.ready){var i=function(){document.body.style.overflow="",t.embed=null,n?(Object.keys(t.elements).length&&(W(t.elements.buttons.play),W(t.elements.captions),W(t.elements.controls),W(t.elements.wrapper),t.elements.buttons.play=null,t.elements.captions=null,t.elements.controls=null,t.elements.wrapper=null),N.function(e)&&e()):(function(){this&&this.eventListeners&&(this.eventListeners.forEach(function(e){var t=e.element,n=e.type,i=e.callback,a=e.options;t.removeEventListener(n,i,a)}),this.eventListeners=[])}.call(t),K(t.elements.original,t.elements.container),H.call(t,t.elements.original,"destroyed",!0),N.function(e)&&e.call(t.elements.original),t.ready=!1,setTimeout(function(){t.elements=null,t.media=null},200))};this.stop(),clearTimeout(this.timers.loading),clearTimeout(this.timers.controls),clearTimeout(this.timers.resized),this.isHTML5?(Fe.toggleNativeControls.call(this,!0),i()):this.isYouTube?(clearInterval(this.timers.buffering),clearInterval(this.timers.playing),null!==this.embed&&N.function(this.embed.destroy)&&this.embed.destroy(),i()):this.isVimeo&&(null!==this.embed&&this.embed.unload().then(i),setTimeout(i,200))}}},{key:"supports",value:function(e){return ie.mime.call(this,e)}},{key:"isHTML5",get:function(){return this.provider===Le.html5}},{key:"isEmbed",get:function(){return this.isYouTube||this.isVimeo}},{key:"isYouTube",get:function(){return this.provider===Le.youtube}},{key:"isVimeo",get:function(){return this.provider===Le.vimeo}},{key:"isVideo",get:function(){return this.type===Ie.video}},{key:"isAudio",get:function(){return this.type===Ie.audio}},{key:"playing",get:function(){return Boolean(this.ready&&!this.paused&&!this.ended)}},{key:"paused",get:function(){return Boolean(this.media.paused)}},{key:"stopped",get:function(){return Boolean(this.paused&&0===this.currentTime)}},{key:"ended",get:function(){return Boolean(this.media.ended)}},{key:"currentTime",set:function(e){if(this.duration){var t=N.number(e)&&e>0;this.media.currentTime=t?Math.min(e,this.duration):0,this.debug.log("Seeking to ".concat(this.currentTime," seconds"))}},get:function(){return Number(this.media.currentTime)}},{key:"buffered",get:function(){var e=this.media.buffered;return N.number(e)?e:e&&e.length&&this.duration>0?e.end(0)/this.duration:0}},{key:"seeking",get:function(){return Boolean(this.media.seeking)}},{key:"duration",get:function(){var e=parseFloat(this.config.duration),t=(this.media||{}).duration,n=N.number(t)&&t!==1/0?t:0;return e||n}},{key:"volume",set:function(e){var t=e;N.string(t)&&(t=Number(t)),N.number(t)||(t=this.storage.get("volume")),N.number(t)||(t=this.config.volume),t>1&&(t=1),t<0&&(t=0),this.config.volume=t,this.media.volume=t,!N.empty(e)&&this.muted&&t>0&&(this.muted=!1)},get:function(){return Number(this.media.volume)}},{key:"muted",set:function(e){var t=e;N.boolean(t)||(t=this.storage.get("muted")),N.boolean(t)||(t=this.config.muted),this.config.muted=t,this.media.muted=t},get:function(){return Boolean(this.media.muted)}},{key:"hasAudio",get:function(){return!this.isHTML5||(!!this.isAudio||(Boolean(this.media.mozHasAudio)||Boolean(this.media.webkitAudioDecodedByteCount)||Boolean(this.media.audioTracks&&this.media.audioTracks.length)))}},{key:"speed",set:function(e){var t=this,n=null;N.number(e)&&(n=e),N.number(n)||(n=this.storage.get("speed")),N.number(n)||(n=this.config.speed.selected);var i=this.minimumSpeed,a=this.maximumSpeed;n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:255;return Math.min(Math.max(e,t),n)}(n,i,a),this.config.speed.selected=n,setTimeout(function(){t.media.playbackRate=n},0)},get:function(){return Number(this.media.playbackRate)}},{key:"minimumSpeed",get:function(){return this.isYouTube?Math.min.apply(Math,s(this.options.speed)):this.isVimeo?.5:.0625}},{key:"maximumSpeed",get:function(){return this.isYouTube?Math.max.apply(Math,s(this.options.speed)):this.isVimeo?2:16}},{key:"quality",set:function(e){var t=this.config.quality,n=this.options.quality;if(n.length){var i=[!N.empty(e)&&Number(e),this.storage.get("quality"),t.selected,t.default].find(N.number),a=!0;if(!n.includes(i)){var s=function(e,t){return N.array(e)&&e.length?e.reduce(function(e,n){return Math.abs(n-t)1&&void 0!==arguments[1]?arguments[1]:{},i=null;return N.string(e)?i=Array.from(document.querySelectorAll(e)):N.nodeList(e)?i=Array.from(e):N.array(e)&&(i=e.filter(N.element)),N.empty(i)?null:i.map(function(e){return new t(e,n)})}}]),t}();return Ze.defaults=(Ge=Ne,JSON.parse(JSON.stringify(Ge))),Ze}); //# sourceMappingURL=plyr.min.js.map diff --git a/dist/plyr.min.js.map b/dist/plyr.min.js.map index 21bfa6b9..02a7570d 100644 --- a/dist/plyr.min.js.map +++ b/dist/plyr.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["plyr.js","node_modules/rangetouch/src/js/config.js","node_modules/rangetouch/src/js/utils/is.js","node_modules/rangetouch/src/js/utils/numbers.js","node_modules/rangetouch/src/js/rangetouch.js","node_modules/rangetouch/src/js/utils/events.js","node_modules/rangetouch/src/js/utils/css.js","src/js/utils/is.js","src/js/utils/events.js","src/js/utils/objects.js","src/js/utils/elements.js","src/js/utils/animation.js","src/js/utils/browser.js","src/js/support.js","src/js/utils/style.js","src/js/html5.js","src/js/utils/arrays.js","src/js/utils/strings.js","src/js/utils/i18n.js","src/js/storage.js","src/js/utils/fetch.js","src/js/utils/loadSprite.js","src/js/utils/time.js","src/js/controls.js","src/js/utils/urls.js","src/js/captions.js","src/js/config/defaults.js","src/js/config/states.js","src/js/config/types.js","src/js/console.js","src/js/fullscreen.js","src/js/utils/loadImage.js","src/js/ui.js","src/js/listeners.js","node_modules/loadjs/dist/loadjs.umd.js","src/js/utils/loadScript.js","src/js/plugins/vimeo.js","src/js/plugins/youtube.js","src/js/media.js","src/js/plugins/ads.js","src/js/plugins/previewThumbnails.js","src/js/source.js","src/js/plyr.js","src/js/utils/numbers.js"],"names":["navigator","global","factory","exports","module","define","amd","self","Plyr","this","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","_defineProperty","obj","value","_slicedToArray","arr","Array","isArray","_arrayWithHoles","_arr","_n","_d","_e","undefined","_s","_i","Symbol","iterator","next","done","push","err","_iterableToArrayLimit","_nonIterableRest","_toConsumableArray","arr2","_arrayWithoutHoles","iter","toString","call","from","_iterableToArray","_nonIterableSpread","defaults","addCSS","thumbWidth","watch","getConstructor","input","constructor","instanceOf","Boolean","isNullOrUndefined","isObject","isString","String","isNodeList","NodeList","is","nullOrUndefined","object","number","Number","isNaN","string","boolean","function","Function","array","nodeList","element","Element","event","Event","empty","keys","round","step","places","match","concat","Math","max","parseFloat","toFixed","RangeTouch","options","document","querySelector","rangeTouch","config","assign","init","enabled","style","userSelect","webKitUserSelect","touchAction","listeners","toggle","_this","method","forEach","type","set","percent","touch","changedTouches","min","getAttribute","delta","clientRect","getBoundingClientRect","width","clientX","left","disabled","preventDefault","get","dispatchEvent","trigger","arguments","targets","querySelectorAll","filter","MutationObserver","mutations","mutation","addedNodes","node","selector","includes","observe","body","childList","subtree","map","t","documentElement","isEmpty","is$1","weakMap","WeakMap","textNode","Text","keyboardEvent","KeyboardEvent","cue","window","TextTrackCue","VTTCue","track","TextTrack","kind","promise","Promise","url","URL","startsWith","hostname","e","supportsPassiveListeners","supported","addEventListener","removeEventListener","toggleListener","callback","passive","capture","events","split","eventListeners","on","off","once","_this2","onceCallback","_len","args","_key","apply","triggerEvent","bubbles","detail","CustomEvent","plyr","getDeep","path","reduce","extend","sources","source","shift","wrap","elements","wrapper","reverse","index","child","cloneNode","parent","parentNode","sibling","nextSibling","appendChild","insertBefore","setAttributes","attributes","entries","_ref","_ref3","_ref4","setAttribute","createElement","text","innerText","insertElement","removeElement","removeChild","emptyElement","childNodes","lastChild","replaceElement","newChild","oldChild","replaceChild","getAttributesFromSelector","sel","existingAttributes","existing","s","trim","className","replace","parts","charAt","class","id","toggleHidden","hidden","hide","removeAttribute","toggleClass","force","classList","contains","hasClass","matches","getElements","container","getElement","setFocus","tabFocus","focus","preventScroll","classNames","transitionEndEvent","WebkitTransition","MozTransition","OTransition","transition","find","repaint","setTimeout","offsetHeight","range","browser","isIE","documentMode","isEdge","userAgent","isWebkit","test","isIPhone","platform","isIos","defaultCodecs","audio/ogg","audio/wav","video/webm","video/mp4","video/ogg","support","audio","video","check","provider","playsinline","canPlayInline","api","ui","rangeInput","pip","webkitSetPresentationMode","pictureInPictureEnabled","disablePictureInPicture","airplay","WebKitPlaybackTargetAvailabilityEvent","mime","mediaType","isHTML5","media","canPlayType","textTracks","transitions","reducedMotion","matchMedia","validateRatio","every","reduceAspectRatio","ratio","_ratio","height","divider","getDivider","w","h","getAspectRatio","parse","embed","_this$media","videoWidth","videoHeight","setAspectRatio","isVideo","_ref2","padding","paddingBottom","isVimeo","offset","transform","videoFixedRatio","html5","getSources","getQualityOptions","player","_player$media","currentTime","paused","preload","readyState","src","play","load","quality","cancelRequests","blankVideo","debug","log","dedupe","item","indexOf","format","replaceAll","RegExp","toTitleCase","toUpperCase","substr","toLowerCase","toCamelCase","toPascalCase","slice","getHTML","innerHTML","resources","vimeo","youtube","i18n","{seektime}","seekTime","{title}","title","k","v","Storage","storage","store","localStorage","getItem","json","JSON","setItem","stringify","removeItem","fetch","responseType","resolve","reject","request","XMLHttpRequest","responseText","response","Error","status","open","send","loadSprite","hasId","exists","getElementById","update","data","insertAdjacentElement","useStorage","cached","content","then","result","catch","getHours","trunc","getMinutes","getSeconds","formatTime","time","displayHours","inverted","hours","mins","secs","controls","getIconUrl","cors","iconUrl","location","host","svg4everybody","findElements","selectors","buttons","pause","restart","rewind","fastForward","mute","settings","captions","fullscreen","progress","inputs","seek","volume","display","buffer","duration","seekTooltip","tooltip","error","warn","toggleNativeControls","createIcon","iconPath","iconPrefix","icon","createElementNS","role","focusable","use","setAttributeNS","createLabel","attr","join","createBadge","badge","menu","createButton","buttonType","label","labelPressed","iconPressed","some","c","control","button","createRange","autocomplete","aria-label","aria-valuemin","aria-valuemax","aria-valuenow","updateRangeFill","setup","createProgress","aria-hidden","suffixKey","played","suffix","createTime","attrs","bindMenuItemShortcuts","menuItem","which","stopPropagation","isRadioButton","showMenuPanel","nextElementSibling","firstElementChild","previousElementSibling","lastElementChild","focusFirstMenuItem","createMenuItem","_this3","list","_ref$badge","_ref$checked","checked","aria-checked","flex","children","bind","currentTrack","speed","updateTimeDisplay","updateVolume","setRange","muted","pressed","updateProgress","_this4","current","val","getElementsByTagName","nodeValue","setProgress","buffered","setProperty","updateSeekTooltip","_this5","tooltips","visible","show","pageX","timeUpdate","invert","invertTime","seeking","durationUpdate","pow","hasDuration","displayDuration","toggleMenuButton","setting","updateSetting","pane","panels","default","getLabel","setQualityMenu","_this6","checkMenu","getBadge","sort","a","b","sorting","setCaptionsMenu","_this7","tracks","getTracks","toggled","language","unshift","setSpeedMenu","_this8","values","popup","p","firstItem","toggleMenu","composedPath","isMenuItem","getMenuSize","tab","clone","position","opacity","scrollWidth","scrollHeight","_this9","size","restore","propertyName","setDownloadUrl","download","create","_this10","defaultAttributes","progressContainer","aria-haspopup","aria-controls","aria-expanded","inner","home","backButton","href","urls","isEmbed","inject","_this11","floor","random","seektime","addProperty","controlPressed","_this$config","labels","parseUrl","parser","buildUrlParams","params","URLSearchParams","isYouTube","insertAfter","protocol","blob","createObjectURL","languages","userLanguage","active","trackEvents","_this$captions","meta","currentTrackNode","languageExists","mode","updateCues","setLanguage","activeClass","findTrack","enableTextTrack","has","sortIsDefault","sorted","getCurrentTrack","cues","activeCues","getCueAsHTML","cueText","caption","autoplay","autopause","toggleInvert","clickToPlay","hideControls","resetOnEnd","disableContextMenu","loop","selected","keyboard","focused","fallback","iosNative","seekLabel","unmute","enableCaptions","disableCaptions","enterFullscreen","exitFullscreen","frameTitle","menuBack","normal","start","end","all","reset","advertisement","qualityBadge","2160","1440","1080","720","576","480","sdk","iframe","googleIMA","editable","embedContainer","poster","posterEnabled","ads","playing","stopped","loading","hover","isTouch","uiSupported","noTransition","previewThumbnails","thumbContainer","thumbContainerShown","imageContainer","timeContainer","scrubbingContainer","scrubbingContainerShown","publisherId","tagUrl","byline","portrait","transparent","noCookie","rel","showinfo","iv_load_policy","modestbranding","providers","types","noop","Console","console","onChange","first","last","keyCode","activeElement","shiftKey","toggleFallback","scrollPosition","x","scrollX","y","scrollY","scrollTo","overflow","viewport","head","property","hasProperty","cleanupViewport","part","Fullscreen","prefix","forceFallback","native","webkitEnterFullscreen","requestFullscreen","webkitExitFullscreen","action","cancelFullScreen","exit","enter","fullscreenElement","fullscreenEnabled","webkitFullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","pre","loadImage","minWidth","image","Image","handler","onload","onerror","naturalWidth","addStyleHook","build","checkPlaying","ready","setTitle","setPoster","togglePoster","enable","backgroundImage","backgroundSize","toggleControls","checkLoading","clearTimeout","timers","controlsElement","recentTouchSeek","lastSeekTime","Date","now","Listeners","lastKey","focusTimer","lastKeyDown","handleKey","setTabFocus","firstTouch","code","repeat","altKey","ctrlKey","metaKey","togglePlay","increaseVolume","decreaseVolume","forward","toggleCaptions","usingNative","timeStamp","wasKeyDown","delay","setPlayerSize","measure","rect","resized","_player$fullscreen","isEnter","_setPlayerSize","firstChild","_getAspectRatio$call2","videoX","videoY","maxWidth","margin","setGutter","hasAudio","isAudio","ended","proxy","proxyEvents","_event$detail","defaultHandler","customHandlerKey","customHandler","returned","hasCustomHandler","inputEvent","currentTarget","hasAttribute","seekTo","loaded","startMove","endMove","startScrubbing","endScrubbing","webkitDirectionInvertedFromDevice","_map2","deltaX","deltaY","direction","sign","abs","globalThis","loadjs_umd","fn","createCommonjsModule","devnull","bundleIdCache","bundleResultCache","bundleCallbackQueue","publish","bundleId","pathsNotFound","q","splice","executeCallbacks","depsNotFound","success","loadFile","callbackFn","numTries","isLegacyIECss","doc","async","maxTries","numRetries","beforeCallbackFn","before","pathStripped","relList","as","onbeforeload","ev","sheet","cssText","defaultPrevented","loadjs","paths","arg1","arg2","loadFn","numWaiting","loadFiles","returnPromise","deps","bundleIds","r","subscribe","isDefined","loadScript","assurePlaybackState","hasPlayed","Vimeo","gesture","$2","thumbnail_large","pathname","Player","disableTextTrack","stop","restorePause","setVolume","setCurrentTime","setPlaybackRate","name","currentSrc","setLoop","getVideoUrl","getVideoWidth","getVideoHeight","dimensions","_dimensions","setAutopause","state","getVideoTitle","getCurrentTime","getDuration","getTextTracks","_ref$cues","strippedCues","fragment","createDocumentFragment","stripHTML","getPaused","seconds","parseInt","getHost","YT","onYouTubeIframeAPIReady","getTitle","videoId","currentId","posterSrc","playerVars","hl","disablekb","cc_load_policy","cc_lang_pref","widget_referrer","onError","message","2","5","100","101","150","onPlaybackRateChange","playbackRate","getPlaybackRate","onReady","playVideo","pauseVideo","stopVideo","getAvailablePlaybackRates","clearInterval","buffering","setInterval","getVideoLoadedFraction","lastBuffered","onStateChange","unMute","Ads","initialized","displayContainer","manager","loader","cuePoints","safetyTimer","countdownTimer","managerPromise","google","ima","destroy","remove","startSafetyTimer","clearSafetyTimer","setupIMA","setVpaidMode","ImaSdkSettings","VpaidMode","ENABLED","setLocale","setDisableCustomPlaybackForIOS10Plus","AdDisplayContainer","requestAds","AdsLoader","AdsManagerLoadedEvent","Type","ADS_MANAGER_LOADED","onAdsManagerLoaded","AdErrorEvent","AD_ERROR","onAdError","AdsRequest","adTagUrl","linearAdSlotWidth","offsetWidth","linearAdSlotHeight","nonLinearAdSlotWidth","nonLinearAdSlotHeight","forceNonLinearFullSlot","setAdWillPlayMuted","getRemainingTime","AdsRenderingSettings","restoreCustomPlaybackStateOnAdBreakComplete","enablePreloading","getAdsManager","getCuePoints","AdEvent","onAdEvent","cuePoint","seekElement","cuePercentage","ad","getAd","adData","getAdData","LOADED","pollCountdown","isLinear","STARTED","ALL_ADS_COMPLETED","loadAds","CONTENT_PAUSE_REQUESTED","pauseContent","CONTENT_RESUME_REQUESTED","resumeContent","LOG","adError","getMessage","cancel","addCuePoints","contentComplete","seekedTime","discardAdBreak","resize","ViewMode","NORMAL","initialize","zIndex","_this12","handlers","_this13","AV_PUBLISHERID","AV_CHANNELID","AV_URL","cb","AV_WIDTH","AV_HEIGHT","AV_CDIM2","PreviewThumbnails","thumbnails","lastMouseMoveTime","mouseDown","loadedImages","thumb","scrubbing","getThumbnails","render","determineContainerAutoSizing","promises","u","getThumbnail","vttDataString","processedList","thumbnail","frames","frame","line","startTime","lineSplit","_lineSplit","_lineSplit$1$split2","matchTimes","endTime","urlPrefix","substring","lastIndexOf","tempImage","naturalHeight","percentage","mousePosX","showImageAtCurrentTime","toggleThumbContainer","toggleScrubbingContainer","ceil","lastTime","setScrubbingContainerSize","setThumbContainerSizeAndPos","thumbNum","findIndex","hasThumb","qualityIndex","showingThumb","thumbFilename","thumbUrl","currentImageElement","dataset","filename","showImage","removeOldImages","loadingImage","usingSprites","previewImage","showingThumbFilename","newImage","setImageSizeAndOffset","currentImageContainer","preloadNearby","getHigherQuality","currentImage","tagName","removeDelay","deleting","oldThumbFilename","thumbnailsClone","foundOne","newThumbFilename","thumbURL","currentQualityIndex","previewImageHeight","thumbContainerHeight","clearShowing","clientHeight","sizeSpecifiedInCSS","thumbAspectRatio","setThumbContainerPos","seekbarRect","plyrRect","minVal","maxVal","right","clientWidth","previewPos","multiplier","top","currentScrubbingImageElement","currentThumbnailImageElement","insertElements","attribute","change","_sources$","_sources$$provider","crossorigin","failed","jQuery","original","getProviderByUrl","search","truthy","searchParams","tabindex","webkitShowPlaybackTargetPicker","isHidden","hiding","eventName","soft","unload","inputIsValid","fauxDuration","realDuration","Infinity","mozHasAudio","webkitAudioDecodedByteCount","audioTracks","minimumSpeed","maximumSpeed","clamp","updateStorage","prev","curr","closest","requestPictureInPicture","exitPictureInPicture","webkitPresentationMode","pictureInPictureElement","inline"],"mappings":"AAAqB,iBAAdA,WAA2B,SAAUC,EAAQC,GAC/B,iBAAZC,SAA0C,oBAAXC,OAAyBA,OAAOD,QAAUD,IAC9D,mBAAXG,QAAyBA,OAAOC,IAAMD,OAAO,OAAQH,IAC3DD,EAASA,GAAUM,MAAaC,KAAON,IAHT,CAI/BO,KAAM,WAAc,aAEpB,SAASC,EAAgBC,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,qCAIxB,SAASC,EAAkBC,EAAQC,GACjC,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CACrC,IAAIE,EAAaH,EAAMC,GACvBE,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjDC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAIlD,SAASO,EAAad,EAAae,EAAYC,GAG7C,OAFID,GAAYb,EAAkBF,EAAYiB,UAAWF,GACrDC,GAAad,EAAkBF,EAAagB,GACzChB,EAGT,SAASkB,EAAgBC,EAAKN,EAAKO,GAYjC,OAXIP,KAAOM,EACTR,OAAOC,eAAeO,EAAKN,EAAK,CAC9BO,MAAOA,EACPZ,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZS,EAAIN,GAAOO,EAGND,EAGT,SAASE,EAAeC,EAAKjB,GAC3B,OAeF,SAAyBiB,GACvB,GAAIC,MAAMC,QAAQF,GAAM,OAAOA,EAhBxBG,CAAgBH,IAuBzB,SAA+BA,EAAKjB,GAClC,IAAIqB,EAAO,GACPC,GAAK,EACLC,GAAK,EACLC,OAAKC,EAET,IACE,IAAK,IAAiCC,EAA7BC,EAAKV,EAAIW,OAAOC,cAAmBP,GAAMI,EAAKC,EAAGG,QAAQC,QAChEV,EAAKW,KAAKN,EAAGX,QAETf,GAAKqB,EAAKpB,SAAWD,GAH8CsB,GAAK,IAK9E,MAAOW,GACPV,GAAK,EACLC,EAAKS,EACL,QACA,IACOX,GAAsB,MAAhBK,EAAW,QAAWA,EAAW,SAC5C,QACA,GAAIJ,EAAI,MAAMC,GAIlB,OAAOH,EA9CwBa,CAAsBjB,EAAKjB,IAqD5D,WACE,MAAM,IAAIJ,UAAU,wDAtD4CuC,GAGlE,SAASC,EAAmBnB,GAC1B,OAGF,SAA4BA,GAC1B,GAAIC,MAAMC,QAAQF,GAAM,CACtB,IAAK,IAAIjB,EAAI,EAAGqC,EAAO,IAAInB,MAAMD,EAAIhB,QAASD,EAAIiB,EAAIhB,OAAQD,IAAKqC,EAAKrC,GAAKiB,EAAIjB,GAEjF,OAAOqC,GAPFC,CAAmBrB,IAe5B,SAA0BsB,GACxB,GAAIX,OAAOC,YAAYvB,OAAOiC,IAAkD,uBAAzCjC,OAAOM,UAAU4B,SAASC,KAAKF,GAAgC,OAAOrB,MAAMwB,KAAKH,GAhBtFI,CAAiB1B,IA6CrD,WACE,MAAM,IAAIrB,UAAU,mDA9CuCgD,GChD/D,IAAMC,EAAW,CACbC,QAAQ,EACRC,WAAY,GACZC,OAAO,GCCX,IAAMC,EAAiB,SAAAC,GAAK,OAAKA,MAAAA,EAAiDA,EAAMC,YAAc,MAChGC,EAAa,SAACF,EAAOC,GAAR,OAAwBE,QAAQH,GAASC,GAAeD,aAAiBC,IAEtFG,EAAoB,SAAAJ,GAAK,OAAIA,MAAAA,GAC7BK,EAAW,SAAAL,GAAK,OAAID,EAAeC,KAAW5C,QAE9CkD,EAAW,SAAAN,GAAK,OAAID,EAAeC,KAAWO,QAG9CtC,EAAU,SAAA+B,GAAK,OAAIhC,MAAMC,QAAQ+B,IACjCQ,EAAa,SAAAR,GAAK,OAAIE,EAAWF,EAAOS,WAQ9CC,EAAe,CACXC,gBAAiBP,EACjBQ,OAAQP,EACRQ,OAhBa,SAAAb,GAAK,OAAID,EAAeC,KAAWc,SAAWA,OAAOC,MAAMf,IAiBxEgB,OAAQV,EACRW,QAhBc,SAAAjB,GAAK,OAAID,EAAeC,KAAWG,SAiBjDe,SAhBe,SAAAlB,GAAK,OAAID,EAAeC,KAAWmB,UAiBlDC,MAAOnD,EACPoD,SAAUb,EACVc,QAhBc,SAAAtB,GAAK,OAAIE,EAAWF,EAAOuB,UAiBzCC,MAhBY,SAAAxB,GAAK,OAAIE,EAAWF,EAAOyB,QAiBvCC,MAhBY,SAAA1B,GAAK,OACjBI,EAAkBJ,KAChBM,EAASN,IAAU/B,EAAQ+B,IAAUQ,EAAWR,MAAYA,EAAMjD,QACnEsD,EAASL,KAAW5C,OAAOuE,KAAK3B,GAAOjD,SCFrC,SAAS6E,EAAMf,EAAQgB,GAC1B,GAAIA,EAAO,EAAG,CACV,IAAMC,GAlBJC,EAAQ,GAAAC,OAkBsBH,GAlBXE,MAAM,qCAMxBE,KAAKC,IACR,GAECH,EAAM,GAAKA,EAAM,GAAGhF,OAAS,IAEzBgF,EAAM,IAAMA,EAAM,GAAK,IARrB,EAgBP,OAAOI,WAAWtB,EAAOuB,QAAQN,IApBlC,IACGC,EAqBN,OAAOE,KAAKL,MAAMf,EAASgB,GAAQA,EHyMrC,IInNIQ,EJqNJ,WI/ME,SAAAA,EAAYzF,EAAQ0F,GAAS/F,EAAAD,KAAA+F,GACrB3B,EAAGY,QAAQ1E,GAEXN,KAAKgF,QAAU1E,EACR8D,EAAGM,OAAOpE,KAEjBN,KAAKgF,QAAUiB,SAASC,cAAc5F,IAGrC8D,EAAGY,QAAQhF,KAAKgF,UAAaZ,EAAGgB,MAAMpF,KAAKgF,QAAQmB,cAIxDnG,KAAKoG,OAAStF,OAAOuF,OAAO,GAAIhD,EAAU2C,GAE1ChG,KAAKsG,QJ4XT,OAnKArF,EAAa8E,EAAY,CAAC,CACxB/E,IAAK,OACLO,MAAO,WIjKAwE,EAAWQ,UAKZvG,KAAKoG,OAAO9C,SAEZtD,KAAKgF,QAAQwB,MAAMC,WAAa,OAChCzG,KAAKgF,QAAQwB,MAAME,iBAAmB,OACtC1G,KAAKgF,QAAQwB,MAAMG,YAAc,gBAGrC3G,KAAK4G,WAAU,GAEf5G,KAAKgF,QAAQmB,WAAanG,QJoK3B,CACDgB,IAAK,UACLO,MAAO,WIjKAwE,EAAWQ,UAIhBvG,KAAK4G,WAAU,GAEf5G,KAAKgF,QAAQmB,WAAa,QJoK3B,CACDnF,IAAK,YACLO,MAAO,SInKCsF,GAAQ,IAAAC,EAAA9G,KACR+G,EAASF,EAAS,mBAAqB,sBAG7C,CAAC,aAAc,YAAa,YAAYG,QAAQ,SAAAC,GAC5CH,EAAK9B,QAAQ+B,GAAQE,EAAM,SAAA/B,GAAK,OAAI4B,EAAKI,IAAIhC,KAAQ,OJ8K1D,CACDlE,IAAK,MACLO,MAAO,SIxKL2D,GACA,IAAKa,EAAWQ,UAAYnC,EAAGc,MAAMA,GACjC,OAAO,KAGX,IAQIiC,EAREzD,EAAQwB,EAAM5E,OACd8G,EAAQlC,EAAMmC,eAAe,GAC7BC,EAAMzB,WAAWnC,EAAM6D,aAAa,SAAW,EAC/C3B,EAAMC,WAAWnC,EAAM6D,aAAa,SAAW,IAC/ChC,EAAOM,WAAWnC,EAAM6D,aAAa,UAAY,EACjDC,EAAQ5B,EAAM0B,EAIdG,EAAa/D,EAAMgE,wBACnBnE,EAAe,IAAMkE,EAAWE,OAAU3H,KAAKoG,OAAO7C,WAAa,GAAM,IAoB/E,OAjBA4D,EAAW,IAAMM,EAAWE,OAAUP,EAAMQ,QAAUH,EAAWI,OAGnD,EACVV,EAAU,EACHA,EAAU,MACjBA,EAAU,KAIVA,EAAU,GACVA,IAAY,IAAgB,EAAVA,GAAe5D,EAC1B4D,EAAU,KACjBA,GAA4B,GAAhBA,EAAU,IAAU5D,GAI7B+D,EAAMhC,EAAMkC,GAASL,EAAU,KAAM5B,KJ4K7C,CACDvE,IAAK,MACLO,MAAO,SIvKL2D,GACKa,EAAWQ,SAAYnC,EAAGc,MAAMA,KAAUA,EAAM5E,OAAOwH,WAK5D5C,EAAM6C,iBAGN7C,EAAM5E,OAAOiB,MAAQvB,KAAKgI,IAAI9C,GCvL/B,SAAiBF,EAASiC,GAC7B,GAAKjC,GAAYiC,EAAjB,CAKA,IAAM/B,EAAQ,IAAIC,MAAM8B,GAGxBjC,EAAQiD,cAAc/C,IDiLlBgD,CAAQhD,EAAM5E,OAAuB,aAAf4E,EAAM+B,KAAsB,SAAW,aJuK7D,CAAC,CACHjG,IAAK,QAOLO,MAAO,SI5TIjB,GAAsB,IAAd0F,EAAcmC,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAJ,GACvBC,EAAU,KAYd,GAVIhE,EAAGgB,MAAM9E,IAAW8D,EAAGM,OAAOpE,GAC9B8H,EAAU1G,MAAMwB,KAAK+C,SAASoC,iBAAiBjE,EAAGM,OAAOpE,GAAUA,EAAS,wBACrE8D,EAAGY,QAAQ1E,GAClB8H,EAAU,CAAC9H,GACJ8D,EAAGW,SAASzE,GACnB8H,EAAU1G,MAAMwB,KAAK5C,GACd8D,EAAGU,MAAMxE,KAChB8H,EAAU9H,EAAOgI,OAAOlE,EAAGY,UAG3BZ,EAAGgB,MAAMgD,GACT,OAAO,KAGX,IAAMhC,EAAStF,OAAOuF,OAAO,GAAIhD,EAAU2C,GAEvC5B,EAAGM,OAAOpE,IAAW8F,EAAO5C,OAEX,IAAI+E,iBAAiB,SAAAC,GAClC9G,MAAMwB,KAAKsF,GAAWxB,QAAQ,SAAAyB,GAC1B/G,MAAMwB,KAAKuF,EAASC,YAAY1B,QAAQ,SAAA2B,GACpC,GAAKvE,EAAGY,QAAQ2D,IElEpC,WACI,OAAOjH,MAAMwB,KAAK+C,SAASoC,iBAAiBO,IAAWC,SAAS7I,OAUrDiD,KFuDuC0F,EErEzBC,EFqE+BtI,GErEzD,CAAA,IAA0BsI,EF0EK,IAAI7C,EAAW4C,EAAMvC,UAMtC0C,QAAQ7C,SAAS8C,KAAM,CAC5BC,WAAW,EACXC,SAAS,IAIjB,OAAOb,EAAQc,IAAI,SAAAC,GAAC,OAAI,IAAIpD,EAAWoD,EAAGnD,OJgU3C,CACDhF,IAAK,UACLgH,IAAK,WInXH,MAAO,iBAAkB/B,SAASmD,oBJwX/BrD,EA5LT,GO9NItC,EAAiB,SAAAC,GAAK,OAAKA,MAAAA,EAAiDA,EAAMC,YAAc,MAChGC,EAAa,SAACF,EAAOC,GAAR,OAAwBE,QAAQH,GAASC,GAAeD,aAAiBC,IACtFG,EAAoB,SAAAJ,GAAK,OAAIA,MAAAA,GAC7BK,EAAW,SAAAL,GAAK,OAAID,EAAeC,KAAW5C,QAE9CkD,EAAW,SAAAN,GAAK,OAAID,EAAeC,KAAWO,QAG9CtC,EAAU,SAAA+B,GAAK,OAAIhC,MAAMC,QAAQ+B,IAEjCQ,EAAa,SAAAR,GAAK,OAAIE,EAAWF,EAAOS,WASxCkF,EAAU,SAAA3F,GAAK,OACjBI,EAAkBJ,KAChBM,EAASN,IAAU/B,EAAQ+B,IAAUQ,EAAWR,MAAYA,EAAMjD,QACnEsD,EAASL,KAAW5C,OAAOuE,KAAK3B,GAAOjD,QA0B5C6I,EAAe,CACXjF,gBAAiBP,EACjBQ,OAAQP,EACRQ,OA/Ca,SAAAb,GAAK,OAAID,EAAeC,KAAWc,SAAWA,OAAOC,MAAMf,IAgDxEgB,OAAQV,EACRW,QA/Cc,SAAAjB,GAAK,OAAID,EAAeC,KAAWG,SAgDjDe,SA/Ce,SAAAlB,GAAK,OAAID,EAAeC,KAAWmB,UAgDlDC,MAAOnD,EACP4H,QA/Cc,SAAA7F,GAAK,OAAIE,EAAWF,EAAO8F,UAgDzCzE,SAAUb,EACVc,QA/Cc,SAAAtB,GAAK,OAAIE,EAAWF,EAAOuB,UAgDzCwE,SA/Ce,SAAA/F,GAAK,OAAID,EAAeC,KAAWgG,MAgDlDxE,MA/CY,SAAAxB,GAAK,OAAIE,EAAWF,EAAOyB,QAgDvCwE,cA/CoB,SAAAjG,GAAK,OAAIE,EAAWF,EAAOkG,gBAgD/CC,IA/CU,SAAAnG,GAAK,OAAIE,EAAWF,EAAOoG,OAAOC,eAAiBnG,EAAWF,EAAOoG,OAAOE,SAgDtFC,MA/CY,SAAAvG,GAAK,OAAIE,EAAWF,EAAOwG,aAAgBpG,EAAkBJ,IAAUM,EAASN,EAAMyG,OAgDlGC,QA/Cc,SAAA1G,GAAK,OAAIE,EAAWF,EAAO2G,UAgDzCC,IAzCU,SAAA5G,GAEV,GAAIE,EAAWF,EAAOoG,OAAOS,KACzB,OAAO,EAIX,IAAKvG,EAASN,GACV,OAAO,EAIX,IAAIgB,EAAShB,EACRA,EAAM8G,WAAW,YAAe9G,EAAM8G,WAAW,cAClD9F,EAAM,UAAAgB,OAAahC,IAGvB,IACI,OAAQ2F,EAAQ,IAAIkB,IAAI7F,GAAQ+F,UAClC,MAAOC,GACL,OAAO,IAsBXtF,MAAOiE,GC7DLsB,EAA4B,WAE9B,IAAIC,GAAY,EAChB,IACI,IAAM5E,EAAUlF,OAAOC,eAAe,GAAI,UAAW,CACjDiH,IADiD,WAG7C,OADA4C,GAAY,EACL,QAGfd,OAAOe,iBAAiB,OAAQ,KAAM7E,GACtC8D,OAAOgB,oBAAoB,OAAQ,KAAM9E,GAC3C,MAAO0E,IAIT,OAAOE,EAhBuB,GAoB3B,SAASG,EAAe/F,EAASE,EAAO8F,GAA2D,IAAAlE,EAAA9G,KAAjD6G,EAAiDsB,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GAAjC8C,IAAiC9C,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,KAAAA,UAAA,GAAjB+C,EAAiB/C,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GAEtG,GAAKnD,GAAa,qBAAsBA,IAAYZ,EAAGgB,MAAMF,IAAWd,EAAGQ,SAASoG,GAApF,CAKA,IAAMG,EAASjG,EAAMkG,MAAM,KAGvBpF,EAAUkF,EAGVP,IACA3E,EAAU,CAENiF,QAAAA,EAEAC,QAAAA,IAKRC,EAAOnE,QAAQ,SAAAC,GACPH,GAAQA,EAAKuE,gBAAkBxE,GAE/BC,EAAKuE,eAAe7I,KAAK,CAAEwC,QAAAA,EAASiC,KAAAA,EAAM+D,SAAAA,EAAUhF,QAAAA,IAGxDhB,EAAQ6B,EAAS,mBAAqB,uBAAuBI,EAAM+D,EAAUhF,MAK9E,SAASsF,EAAGtG,GAAiE,IAAxDmG,EAAwDhD,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAA/C,GAAI6C,EAA2C7C,UAAA1H,OAAA,EAAA0H,UAAA,QAAAlG,EAAjCgJ,IAAiC9C,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,KAAAA,UAAA,GAAjB+C,EAAiB/C,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GAChF4C,EAAe9H,KAAKjD,KAAMgF,EAASmG,EAAQH,GAAU,EAAMC,EAASC,GAIjE,SAASK,EAAIvG,GAAiE,IAAxDmG,EAAwDhD,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAA/C,GAAI6C,EAA2C7C,UAAA1H,OAAA,EAAA0H,UAAA,QAAAlG,EAAjCgJ,IAAiC9C,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,KAAAA,UAAA,GAAjB+C,EAAiB/C,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GACjF4C,EAAe9H,KAAKjD,KAAMgF,EAASmG,EAAQH,GAAU,EAAOC,EAASC,GAIlE,SAASM,EAAKxG,GAAiE,IAAAyG,EAAAzL,KAAxDmL,EAAwDhD,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAA/C,GAAI6C,EAA2C7C,UAAA1H,OAAA,EAAA0H,UAAA,QAAAlG,EAAjCgJ,IAAiC9C,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,KAAAA,UAAA,GAAjB+C,EAAiB/C,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GAMlF4C,EAAe9H,KAAKjD,KAAMgF,EAASmG,EALd,SAAfO,IACFH,EAAIvG,EAASmG,EAAQO,EAAcT,EAASC,GADd,IAAA,IAAAS,EAAAxD,UAAA1H,OAATmL,EAAS,IAAAlK,MAAAiK,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAATD,EAASC,GAAA1D,UAAA0D,GAE9Bb,EAASc,MAAML,EAAMG,KAGgC,EAAMX,EAASC,GAIrE,SAASa,EAAa/G,GAAkD,IAAzCiC,EAAyCkB,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAlC,GAAI6D,EAA8B7D,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GAAb8D,EAAa9D,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAJ,GAEvE,GAAK/D,EAAGY,QAAQA,KAAYZ,EAAGgB,MAAM6B,GAArC,CAKA,IAAM/B,EAAQ,IAAIgH,YAAYjF,EAAM,CAChC+E,QAAAA,EACAC,OAAQnL,OAAOuF,OAAO,GAAI4F,EAAQ,CAC9BE,KAAMnM,SAKdgF,EAAQiD,cAAc/C,ICtFnB,SAASkH,EAAQ9H,EAAQ+H,GAC5B,OAAOA,EAAKjB,MAAM,KAAKkB,OAAO,SAAChL,EAAKN,GAAN,OAAcM,GAAOA,EAAIN,IAAMsD,GAI1D,SAASiI,IAAgC,IAAA,IAAzBjM,EAAyB6H,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAhB,GAAgBwD,EAAAxD,UAAA1H,OAAT+L,EAAS,IAAA9K,MAAAiK,EAAA,EAAAA,EAAA,EAAA,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAATW,EAASX,EAAA,GAAA1D,UAAA0D,GAC5C,IAAKW,EAAQ/L,OACT,OAAOH,EAGX,IAAMmM,EAASD,EAAQE,QAEvB,OAAKtI,EAAGE,OAAOmI,IAIf3L,OAAOuE,KAAKoH,GAAQzF,QAAQ,SAAAhG,GACpBoD,EAAGE,OAAOmI,EAAOzL,KACZF,OAAOuE,KAAK/E,GAAQuI,SAAS7H,IAC9BF,OAAOuF,OAAO/F,EAAde,EAAA,GAAyBL,EAAM,KAGnCuL,EAAOjM,EAAOU,GAAMyL,EAAOzL,KAE3BF,OAAOuF,OAAO/F,EAAde,EAAA,GAAyBL,EAAMyL,EAAOzL,OAIvCuL,EAAMT,WAAN,EAAA,CAAOxL,GAAPoF,OAAkB8G,KAfdlM,EChBR,SAASqM,EAAKC,EAAUC,GAE3B,IAAMzE,EAAUwE,EAASnM,OAASmM,EAAW,CAACA,GAI9ClL,MAAMwB,KAAKkF,GACN0E,UACA9F,QAAQ,SAAChC,EAAS+H,GACf,IAAMC,EAAQD,EAAQ,EAAIF,EAAQI,WAAU,GAAQJ,EAE9CK,EAASlI,EAAQmI,WACjBC,EAAUpI,EAAQqI,YAIxBL,EAAMM,YAAYtI,GAKdoI,EACAF,EAAOK,aAAaP,EAAOI,GAE3BF,EAAOI,YAAYN,KAM5B,SAASQ,EAAcxI,EAASyI,GAC9BrJ,EAAGY,QAAQA,KAAYZ,EAAGgB,MAAMqI,IAMrC3M,OAAO4M,QAAQD,GACVnF,OAAO,SAAAqF,GAAA,IAAIpM,EAAJC,EAAAmM,EAAA,GAAA,GAAA,OAAgBvJ,EAAGC,gBAAgB9C,KAC1CyF,QAAQ,SAAA4G,GAAA,IAAAC,EAAArM,EAAAoM,EAAA,GAAE5M,EAAF6M,EAAA,GAAOtM,EAAPsM,EAAA,GAAA,OAAkB7I,EAAQ8I,aAAa9M,EAAKO,KAItD,SAASwM,EAAc9G,EAAMwG,EAAYO,GAE5C,IAAMhJ,EAAUiB,SAAS8H,cAAc9G,GAavC,OAVI7C,EAAGE,OAAOmJ,IACVD,EAAcxI,EAASyI,GAIvBrJ,EAAGM,OAAOsJ,KACVhJ,EAAQiJ,UAAYD,GAIjBhJ,EAaJ,SAASkJ,EAAcjH,EAAMiG,EAAQO,EAAYO,GAC/C5J,EAAGY,QAAQkI,IAIhBA,EAAOI,YAAYS,EAAc9G,EAAMwG,EAAYO,IAIhD,SAASG,EAAcnJ,GACtBZ,EAAGW,SAASC,IAAYZ,EAAGU,MAAME,GACjCtD,MAAMwB,KAAK8B,GAASgC,QAAQmH,GAI3B/J,EAAGY,QAAQA,IAAaZ,EAAGY,QAAQA,EAAQmI,aAIhDnI,EAAQmI,WAAWiB,YAAYpJ,GAI5B,SAASqJ,EAAarJ,GACzB,GAAKZ,EAAGY,QAAQA,GAMhB,IAPkC,IAK5BvE,EAAWuE,EAAQsJ,WAAnB7N,OAECA,EAAS,GACZuE,EAAQoJ,YAAYpJ,EAAQuJ,WAC5B9N,GAAU,EAKX,SAAS+N,EAAeC,EAAUC,GACrC,OAAKtK,EAAGY,QAAQ0J,IAActK,EAAGY,QAAQ0J,EAASvB,aAAgB/I,EAAGY,QAAQyJ,IAI7EC,EAASvB,WAAWwB,aAAaF,EAAUC,GAEpCD,GALI,KASR,SAASG,EAA0BC,EAAKC,GAM3C,IAAK1K,EAAGM,OAAOmK,IAAQzK,EAAGgB,MAAMyJ,GAC5B,MAAO,GAGX,IAAMpB,EAAa,GACbsB,EAAWxC,EAAO,GAAIuC,GAwC5B,OAtCAD,EAAIzD,MAAM,KAAKpE,QAAQ,SAAAgI,GAEnB,IAAMpG,EAAWoG,EAAEC,OACbC,EAAYtG,EAASuG,QAAQ,IAAK,IAGlCC,EAFWxG,EAASuG,QAAQ,SAAU,IAErB/D,MAAM,KACtBpK,EAPiBQ,EAOV4N,EAPU,GAAA,GAQlB7N,EAAQ6N,EAAM3O,OAAS,EAAI2O,EAAM,GAAGD,QAAQ,QAAS,IAAM,GAIjE,OAFcvG,EAASyG,OAAO,IAG1B,IAAK,IAEGjL,EAAGM,OAAOqK,EAASO,OACnB7B,EAAW6B,MAAX,GAAA5J,OAAsBqJ,EAASO,MAA/B,KAAA5J,OAAwCwJ,GAExCzB,EAAW6B,MAAQJ,EAEvB,MAEJ,IAAK,IAEDzB,EAAW8B,GAAK3G,EAASuG,QAAQ,IAAK,IACtC,MAEJ,IAAK,IAED1B,EAAWzM,GAAOO,KASvBgL,EAAOwC,EAAUtB,GAIrB,SAAS+B,EAAaxK,EAASyK,GAClC,GAAKrL,EAAGY,QAAQA,GAAhB,CAIA,IAAI0K,EAAOD,EAENrL,EAAGO,QAAQ+K,KACZA,GAAQ1K,EAAQyK,QAGhBC,EACA1K,EAAQ8I,aAAa,SAAU,IAE/B9I,EAAQ2K,gBAAgB,WAKzB,SAASC,EAAY5K,EAASkK,EAAWW,GAC5C,GAAIzL,EAAGW,SAASC,GACZ,OAAOtD,MAAMwB,KAAK8B,GAASkE,IAAI,SAAAwB,GAAC,OAAIkF,EAAYlF,EAAGwE,EAAWW,KAGlE,GAAIzL,EAAGY,QAAQA,GAAU,CACrB,IAAI+B,EAAS,SAMb,YALqB,IAAV8I,IACP9I,EAAS8I,EAAQ,MAAQ,UAG7B7K,EAAQ8K,UAAU/I,GAAQmI,GACnBlK,EAAQ8K,UAAUC,SAASb,GAGtC,OAAO,EAIJ,SAASc,EAAShL,EAASkK,GAC9B,OAAO9K,EAAGY,QAAQA,IAAYA,EAAQ8K,UAAUC,SAASb,GAItD,SAASe,EAAQjL,EAAS4D,GAc7B,OAXA,WACI,OAAOlH,MAAMwB,KAAK+C,SAASoC,iBAAiBO,IAAWC,SAAS7I,OAUtDiD,KAAK+B,EAAS4D,GAIzB,SAASsH,EAAYtH,GACxB,OAAO5I,KAAK4M,SAASuD,UAAU9H,iBAAiBO,GAI7C,SAASwH,EAAWxH,GACvB,OAAO5I,KAAK4M,SAASuD,UAAUjK,cAAc0C,GAqC1C,SAASyH,IAA2C,IAAlCrL,EAAkCmD,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAxB,KAAMmI,EAAkBnI,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GAClD/D,EAAGY,QAAQA,KAKhBA,EAAQuL,MAAM,CAAEC,eAAe,IAG3BF,GACAV,EAAY5K,EAAShF,KAAKoG,OAAOqK,WAAWH,WClS7C,IACGtL,EAEAmG,EAOAlE,EAVGyJ,GACH1L,EAAUiB,SAAS8H,cAAc,QAEjC5C,EAAS,CACXwF,iBAAkB,sBAClBC,cAAe,gBACfC,YAAa,gCACbC,WAAY,iBAGV7J,EAAOnG,OAAOuE,KAAK8F,GAAQ4F,KAAK,SAAA7L,GAAK,YAA6BjD,IAAzB+C,EAAQwB,MAAMtB,OAEtDd,EAAGM,OAAOuC,IAAQkE,EAAOlE,IAI7B,SAAS+J,EAAQhM,GACpBiM,WAAW,WACP,IACIzB,EAAaxK,GAAS,GACtBA,EAAQkM,aACR1B,EAAaxK,GAAS,GACxB,MAAO0F,MAGV,GC3BP,IC+FcyG,GD/FRC,GAAU,CACZC,OAAgCpL,SAASqL,aACzCC,OAAQzH,OAAOvK,UAAUiS,UAAU3I,SAAS,QAC5C4I,SAAU,qBAAsBxL,SAASmD,gBAAgB5C,QAAU,OAAOkL,KAAKnS,UAAUiS,WACzFG,SAAU,kBAAkBD,KAAKnS,UAAUqS,UAC3CC,MAAO,uBAAuBH,KAAKnS,UAAUqS,WCA3CE,GAAgB,CAClBC,YAAa,SACbC,YAAa,IACbC,aAAc,cACdC,YAAa,yBACbC,YAAa,UAIXC,GAAU,CAEZC,MAAO,gBAAiBpM,SAAS8H,cAAc,SAC/CuE,MAAO,gBAAiBrM,SAAS8H,cAAc,SAI/CwE,MAPY,SAONtL,EAAMuL,EAAUC,GAClB,IAAMC,EAAgBtB,GAAQO,UAAYc,GAAeL,GAAQK,YAC3DE,EAAMP,GAAQnL,IAAsB,UAAbuL,EAG7B,MAAO,CACHG,IAAAA,EACAC,GAJOD,GAAOP,GAAQS,aAAwB,UAAT5L,IAAqBmK,GAAQO,UAAYe,KAUtFI,MACQ1B,GAAQO,WAMRvN,EAAGQ,SAASmJ,EAAc,SAASgF,8BAMnC9M,SAAS+M,yBAA4BjF,EAAc,SAASkF,0BASpEC,QAAS9O,EAAGQ,SAASkF,OAAOqJ,uCAI5BV,YAAa,gBAAiBxM,SAAS8H,cAAc,SAKrDqF,KAnDY,SAmDP1P,GACD,GAAIU,EAAGgB,MAAM1B,GACT,OAAO,EAFH,IAKD2P,EALC7R,EAKYkC,EAAM0H,MAAM,KALxB,GAAA,GAMJnE,EAAOvD,EAGX,IAAK1D,KAAKsT,SAAWD,IAAcrT,KAAKiH,KACpC,OAAO,EAIPnG,OAAOuE,KAAKyM,IAAejJ,SAAS5B,KACpCA,GAAI,aAAAvB,OAAiBoM,GAAcpO,GAA/B,MAGR,IACI,OAAOG,QAAQoD,GAAQjH,KAAKuT,MAAMC,YAAYvM,GAAMkI,QAAQ,KAAM,KACpE,MAAOzE,GACL,OAAO,IAKf+I,WAAY,eAAgBxN,SAAS8H,cAAc,SAGnD8E,YACU1B,GAAQlL,SAAS8H,cAAc,SACrCoD,GAAMlK,KAAO,QACS,UAAfkK,GAAMlK,MAKjBG,MAAO,iBAAkBnB,SAASmD,gBAGlCsK,aAAoC,IAAvBhD,EAIbiD,cAAe,eAAgB7J,QAAUA,OAAO8J,WAAW,4BAA4B3D,SC5GpF,SAAS4D,GAAcnQ,GAC1B,SAAKU,EAAGU,MAAMpB,IAAYU,EAAGM,OAAOhB,IAAWA,EAAMmF,SAAS,QAIhDzE,EAAGU,MAAMpB,GAASA,EAAQA,EAAM0H,MAAM,MAEvClC,IAAI1E,QAAQsP,MAAM1P,EAAGG,QAG/B,SAASwP,GAAkBC,GAC9B,IAAK5P,EAAGU,MAAMkP,KAAWA,EAAMF,MAAM1P,EAAGG,QACpC,OAAO,KAF0B,IAAA0P,EAAAzS,EAKbwS,EALa,GAK9BrM,EAL8BsM,EAAA,GAKvBC,EALuBD,EAAA,GAO/BE,EADa,SAAbC,EAAcC,EAAGC,GAAJ,OAAiB,IAANA,EAAUD,EAAID,EAAWE,EAAGD,EAAIC,GAC9CF,CAAWzM,EAAOuM,GAElC,MAAO,CAACvM,EAAQwM,EAASD,EAASC,GAG/B,SAASI,GAAe7Q,GAC3B,IAAM8Q,EAAQ,SAAAR,GACV,OAAKH,GAAcG,GAIZA,EAAM5I,MAAM,KAAKlC,IAAI1E,QAHjB,MAOXwP,EAAQQ,EAAM9Q,GAalB,GAVc,OAAVsQ,IACAA,EAAQQ,EAAMxU,KAAKoG,OAAO4N,QAIhB,OAAVA,IAAmB5P,EAAGgB,MAAMpF,KAAKyU,QAAUrQ,EAAGU,MAAM9E,KAAKyU,MAAMT,SAC5DA,EAAUhU,KAAKyU,MAAfT,OAIO,OAAVA,GAAkBhU,KAAKsT,QAAS,CAAA,IAAAoB,EACI1U,KAAKuT,MACzCS,EAAQD,GAAkB,CAFMW,EACxBC,WADwBD,EACZE,cAIxB,OAAOZ,EAIJ,SAASa,GAAenR,GAC3B,IAAK1D,KAAK8U,QACN,MAAO,GAGX,IAAMd,EAAQO,GAAetR,KAAKjD,KAAM0D,GALNqR,EAAAvT,EAMnB4C,EAAGU,MAAMkP,GAASA,EAAQ,CAAC,EAAG,GANX,GAO5BgB,EAAW,IAPiBD,EAAA,GAAAA,EAAA,GAYlC,GAHA/U,KAAK4M,SAASC,QAAQrG,MAAMyO,cAA5B,GAAAvP,OAA+CsP,EAA/C,KAGIhV,KAAKkV,SAAWlV,KAAK4K,UAAUgI,GAAI,CACnC,IACMuC,GADS,IACUH,GAAV,IACfhV,KAAKuT,MAAM/M,MAAM4O,UAAjB,eAAA1P,OAA4CyP,EAA5C,WACOnV,KAAKsT,SACZtT,KAAK4M,SAASC,QAAQiD,UAAUjJ,OAAO7G,KAAKoG,OAAOqK,WAAW4E,gBAA2B,OAAVrB,GAGnF,MAAO,CAAEgB,QAAAA,EAAShB,MAAAA,GCtEtB,IAAMsB,GAAQ,CACVC,WADU,WACG,IAAAzO,EAAA9G,KACT,OAAKA,KAAKsT,QAIM5R,MAAMwB,KAAKlD,KAAKuT,MAAMlL,iBAAiB,WAGxCC,OAAO,SAAAmE,GAClB,IAAMxF,EAAOwF,EAAOlF,aAAa,QAEjC,QAAInD,EAAGgB,MAAM6B,IAINmL,GAAQgB,KAAKnQ,KAAK6D,EAAMG,KAbxB,IAkBfuO,kBArBU,WAuBN,OAAOF,GAAMC,WACRtS,KAAKjD,MACLkJ,IAAI,SAAAuD,GAAM,OAAIjI,OAAOiI,EAAOlF,aAAa,WACzCe,OAAOzE,UAGhB0I,OA7BU,WA8BN,GAAKvM,KAAKsT,QAAV,CAIA,IAAMmC,EAASzV,KAGf6U,GAAe5R,KAAKwS,GAGpB3U,OAAOC,eAAe0U,EAAOlC,MAAO,UAAW,CAC3CvL,IAD2C,WAGvC,IACMyE,EADU6I,GAAMC,WAAWtS,KAAKwS,GACf1E,KAAK,SAAA/B,GAAC,OAAIA,EAAEzH,aAAa,SAAWkO,EAAOhJ,SAGlE,OAAOA,GAAUjI,OAAOiI,EAAOlF,aAAa,UAEhDL,IAT2C,SASvCxD,GAEA,IAEM+I,EAFU6I,GAAMC,WAAWtS,KAAKwS,GAEf1E,KAAK,SAAA/B,GAAC,OAAIxK,OAAOwK,EAAEzH,aAAa,WAAa7D,IAGpE,GAAK+I,EAAL,CAPO,IAAAiJ,EAY8CD,EAAOlC,MAApDoC,EAZDD,EAYCC,YAAaC,EAZdF,EAYcE,OAAQC,EAZtBH,EAYsBG,QAASC,EAZ/BJ,EAY+BI,WAGtCL,EAAOlC,MAAMwC,IAAMtJ,EAAOlF,aAAa,QAGvB,SAAZsO,GAAsBC,KAEtBL,EAAOjK,KAAK,iBAAkB,WAC1BiK,EAAOE,YAAcA,EAGhBC,GACDH,EAAOO,SAKfP,EAAOlC,MAAM0C,QAIjBlK,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,iBAAiB,EAAO,CAC5D2C,QAASxS,UAQzByS,eA5FU,WA6FDnW,KAAKsT,UAKVnF,EAAcmH,GAAMC,WAAWtS,KAAKjD,OAKpCA,KAAKuT,MAAMzF,aAAa,MAAO9N,KAAKoG,OAAOgQ,YAK3CpW,KAAKuT,MAAM0C,OAGXjW,KAAKqW,MAAMC,IAAI,iCClHhB,SAASC,GAAOzR,GACnB,OAAKV,EAAGU,MAAMA,GAIPA,EAAMwD,OAAO,SAACkO,EAAMzJ,GAAP,OAAiBjI,EAAM2R,QAAQD,KAAUzJ,IAHlDjI,ECGR,SAAS4R,GAAOhT,GAAgB,IAAA,IAAAiI,EAAAxD,UAAA1H,OAANmL,EAAM,IAAAlK,MAAAiK,EAAA,EAAAA,EAAA,EAAA,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAND,EAAMC,EAAA,GAAA1D,UAAA0D,GACnC,OAAIzH,EAAGgB,MAAM1B,GACFA,EAGJA,EAAMV,WAAWmM,QAAQ,WAAY,SAAC1J,EAAOjF,GAAR,OAAcoL,EAAKpL,GAAGwC,aAa/D,SAAS2T,KAAgD,IAArCjT,EAAqCyE,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAA7B,GAAI4I,EAAyB5I,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAlB,GAAIgH,EAAchH,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAJ,GACxD,OAAOzE,EAAMyL,QACT,IAAIyH,OAAO7F,EAAK/N,WAAWmM,QAAQ,6BAA6B,QAAS,KACzEA,EAAQnM,YAKT,SAAS6T,KACZ,OADoC1O,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAJ,IACnBnF,WAAWmM,QAAQ,SAAU,SAAAnB,GAAI,OAAIA,EAAKqB,OAAO,GAAGyH,cAAgB9I,EAAK+I,OAAO,GAAGC,gBAqB7F,SAASC,KAAwB,IAChCvS,GADgCyD,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAJ,IACbnF,WAMnB,OAHA0B,EArBG,WAAkC,IACjCA,GADiCyD,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAJ,IACdnF,WAYnB,OATA0B,EAASiS,GAAWjS,EAAQ,IAAK,KAGjCA,EAASiS,GAAWjS,EAAQ,IAAK,KAM1BiS,GAHPjS,EAASmS,GAAYnS,GAGK,IAAK,IAQtBwS,CAAaxS,IAGR2K,OAAO,GAAG2H,cAAgBtS,EAAOyS,MAAM,GAalD,SAASC,GAAQpS,GACpB,IAAM6H,EAAU5G,SAAS8H,cAAc,OAEvC,OADAlB,EAAQS,YAAYtI,GACb6H,EAAQwK,UC1EnB,IAAMC,GAAY,CACdxE,IAAK,MACLI,QAAS,UACToC,MAAO,QACPiC,MAAO,QACPC,QAAS,WAGPC,GAAO,WACkB,IAAvBzW,EAAuBmH,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAjB,GAAI/B,EAAa+B,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAJ,GACnB,GAAI/D,EAAGgB,MAAMpE,IAAQoD,EAAGgB,MAAMgB,GAC1B,MAAO,GAGX,IAAI1B,EAAS0H,EAAQhG,EAAOqR,KAAMzW,GAElC,GAAIoD,EAAGgB,MAAMV,GACT,OAAI5D,OAAOuE,KAAKiS,IAAWzO,SAAS7H,GACzBsW,GAAUtW,GAGd,GAGX,IAAMmO,EAAU,CACZuI,aAActR,EAAOuR,SACrBC,UAAWxR,EAAOyR,OAOtB,OAJA/W,OAAO4M,QAAQyB,GAASnI,QAAQ,SAAA2G,GAAY,IAAAoH,EAAAvT,EAAAmM,EAAA,GAAVmK,EAAU/C,EAAA,GAAPgD,EAAOhD,EAAA,GACxCrQ,EAASiS,GAAWjS,EAAQoT,EAAGC,KAG5BrT,GCnCTsT,GnBu8CJ,WmBt8CE,SAAAA,EAAYvC,GAAQxV,EAAAD,KAAAgY,GAChBhY,KAAKuG,QAAUkP,EAAOrP,OAAO6R,QAAQ1R,QACrCvG,KAAKgB,IAAMyU,EAAOrP,OAAO6R,QAAQjX,InB0gDrC,OA7DAC,EAAa+W,EAAS,CAAC,CACrBhX,IAAK,MACLO,MAAO,SmBx7CLP,GACA,IAAKgX,EAAQpN,YAAc5K,KAAKuG,QAC5B,OAAO,KAGX,IAAM2R,EAAQpO,OAAOqO,aAAaC,QAAQpY,KAAKgB,KAE/C,GAAIoD,EAAGgB,MAAM8S,GACT,OAAO,KAGX,IAAMG,EAAOC,KAAK9D,MAAM0D,GAExB,OAAO9T,EAAGM,OAAO1D,IAAQA,EAAIP,OAAS4X,EAAKrX,GAAOqX,InBy7CnD,CACDrX,IAAK,MACLO,MAAO,SmBx7CL+C,GAEA,GAAK0T,EAAQpN,WAAc5K,KAAKuG,SAK3BnC,EAAGE,OAAOA,GAAf,CAKA,IAAI2T,EAAUjY,KAAKgI,MAGf5D,EAAGgB,MAAM6S,KACTA,EAAU,IAId1L,EAAO0L,EAAS3T,GAGhBwF,OAAOqO,aAAaI,QAAQvY,KAAKgB,IAAKsX,KAAKE,UAAUP,QnBw7CrD,CAAC,CACHjX,IAAK,YACLgH,IAAK,WmBn/CH,IACI,KAAM,iBAAkB8B,QACpB,OAAO,EAUX,OAHAA,OAAOqO,aAAaI,QAJP,UAAA,WAKbzO,OAAOqO,aAAaM,WALP,YAON,EACT,MAAO/N,GACL,OAAO,OnBu/CRsN,EAtET,GoBz8Ca,SAASU,GAAMpO,GAA4B,IAAvBqO,EAAuBxQ,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAR,OAC9C,OAAO,IAAIkC,QAAQ,SAACuO,EAASC,GACzB,IACI,IAAMC,EAAU,IAAIC,eAGpB,KAAM,oBAAqBD,GACvB,OAGJA,EAAQjO,iBAAiB,OAAQ,WAC7B,GAAqB,SAAjB8N,EACA,IACIC,EAAQN,KAAK9D,MAAMsE,EAAQE,eAC7B,MAAOtO,GACLkO,EAAQE,EAAQE,mBAGpBJ,EAAQE,EAAQG,YAIxBH,EAAQjO,iBAAiB,QAAS,WAC9B,MAAM,IAAIqO,MAAMJ,EAAQK,UAG5BL,EAAQM,KAAK,MAAO9O,GAAK,GAGzBwO,EAAQH,aAAeA,EAEvBG,EAAQO,OACV,MAAO3O,GACLmO,EAAOnO,MC7BJ,SAAS4O,GAAWhP,EAAKiF,GACpC,GAAKnL,EAAGM,OAAO4F,GAAf,CAIA,IACMiP,EAAQnV,EAAGM,OAAO6K,GAElBiK,EAAS,WAAA,OAAsC,OAAhCvT,SAASwT,eAAelK,IAEvCmK,EAAS,SAACvJ,EAAWwJ,GAEvBxJ,EAAUkH,UAAYsC,EAGlBJ,GAASC,KAKbvT,SAAS8C,KAAK6Q,sBAAsB,aAAczJ,IAItD,IAAKoJ,IAAUC,IAAU,CACrB,IAAMK,EAAa7B,GAAQpN,UAErBuF,EAAYlK,SAAS8H,cAAc,OAQzC,GAPAoC,EAAUrC,aAAa,SAAU,IAE7ByL,GACApJ,EAAUrC,aAAa,KAAMyB,GAI7BsK,EAAY,CACZ,IAAMC,EAAShQ,OAAOqO,aAAaC,QAApB,GAAA1S,OA/BR,QA+BQ,KAAAA,OAAyC6J,IAGxD,GAFsB,OAAXuK,EAEG,CACV,IAAMH,EAAOrB,KAAK9D,MAAMsF,GACxBJ,EAAOvJ,EAAWwJ,EAAKI,UAK/BrB,GAAMpO,GACD0P,KAAK,SAAAC,GACE7V,EAAGgB,MAAM6U,KAITJ,GACA/P,OAAOqO,aAAaI,QAApB,GAAA7S,OAhDD,QAgDC,KAAAA,OACiB6J,GACb+I,KAAKE,UAAU,CACXuB,QAASE,KAKrBP,EAAOvJ,EAAW8J,MAErBC,MAAM,gBCjEZ,IAAMC,GAAW,SAAA5Y,GAAK,OAAIoE,KAAKyU,MAAO7Y,EAAQ,GAAK,GAAM,GAAI,KACvD8Y,GAAa,SAAA9Y,GAAK,OAAIoE,KAAKyU,MAAO7Y,EAAQ,GAAM,GAAI,KACpD+Y,GAAa,SAAA/Y,GAAK,OAAIoE,KAAKyU,MAAM7Y,EAAQ,GAAI,KAGnD,SAASgZ,KAA6D,IAAlDC,EAAkDrS,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAA3C,EAAGsS,EAAwCtS,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GAAlBuS,EAAkBvS,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GAEzE,IAAK/D,EAAGG,OAAOiW,GACX,OAAOD,GAAW,KAAME,EAAcC,GAI1C,IAAMhE,EAAS,SAAAnV,GAAK,MAAI,IAAAmE,OAAInE,GAAQ4V,OAAO,IAEvCwD,EAAQR,GAASK,GACfI,EAAOP,GAAWG,GAClBK,EAAOP,GAAWE,GAUxB,OANIG,EADAF,GAAgBE,EAAQ,EACnB,GAAAjV,OAAMiV,EAAN,KAEG,GAIZ,GAAAjV,OAAUgV,GAAYF,EAAO,EAAI,IAAM,IAAvC9U,OAA4CiV,GAA5CjV,OAAoDgR,EAAOkE,GAA3D,KAAAlV,OAAoEgR,EAAOmE,ICG/E,IAAMC,GAAW,CAEbC,WAFa,WAGT,IACMC,EADM,IAAIzQ,IAAIvK,KAAKoG,OAAO6U,QAASnR,OAAOoR,UAC/BC,OAASrR,OAAOoR,SAASC,MAAS/J,GAAQC,OAASvH,OAAOsR,cAE3E,MAAO,CACH9Q,IAAKtK,KAAKoG,OAAO6U,QACjBD,KAAAA,IAKRK,aAba,WAcT,IAyCI,OAxCArb,KAAK4M,SAASkO,SAAW1K,EAAWnN,KAAKjD,KAAMA,KAAKoG,OAAOkV,UAAUR,SAASjO,SAG9E7M,KAAK4M,SAAS2O,QAAU,CACpBvF,KAAM9F,EAAYjN,KAAKjD,KAAMA,KAAKoG,OAAOkV,UAAUC,QAAQvF,MAC3DwF,MAAOpL,EAAWnN,KAAKjD,KAAMA,KAAKoG,OAAOkV,UAAUC,QAAQC,OAC3DC,QAASrL,EAAWnN,KAAKjD,KAAMA,KAAKoG,OAAOkV,UAAUC,QAAQE,SAC7DC,OAAQtL,EAAWnN,KAAKjD,KAAMA,KAAKoG,OAAOkV,UAAUC,QAAQG,QAC5DC,YAAavL,EAAWnN,KAAKjD,KAAMA,KAAKoG,OAAOkV,UAAUC,QAAQI,aACjEC,KAAMxL,EAAWnN,KAAKjD,KAAMA,KAAKoG,OAAOkV,UAAUC,QAAQK,MAC1D9I,IAAK1C,EAAWnN,KAAKjD,KAAMA,KAAKoG,OAAOkV,UAAUC,QAAQzI,KACzDI,QAAS9C,EAAWnN,KAAKjD,KAAMA,KAAKoG,OAAOkV,UAAUC,QAAQrI,SAC7D2I,SAAUzL,EAAWnN,KAAKjD,KAAMA,KAAKoG,OAAOkV,UAAUC,QAAQM,UAC9DC,SAAU1L,EAAWnN,KAAKjD,KAAMA,KAAKoG,OAAOkV,UAAUC,QAAQO,UAC9DC,WAAY3L,EAAWnN,KAAKjD,KAAMA,KAAKoG,OAAOkV,UAAUC,QAAQQ,aAIpE/b,KAAK4M,SAASoP,SAAW5L,EAAWnN,KAAKjD,KAAMA,KAAKoG,OAAOkV,UAAUU,UAGrEhc,KAAK4M,SAASqP,OAAS,CACnBC,KAAM9L,EAAWnN,KAAKjD,KAAMA,KAAKoG,OAAOkV,UAAUW,OAAOC,MACzDC,OAAQ/L,EAAWnN,KAAKjD,KAAMA,KAAKoG,OAAOkV,UAAUW,OAAOE,SAI/Dnc,KAAK4M,SAASwP,QAAU,CACpBC,OAAQjM,EAAWnN,KAAKjD,KAAMA,KAAKoG,OAAOkV,UAAUc,QAAQC,QAC5D1G,YAAavF,EAAWnN,KAAKjD,KAAMA,KAAKoG,OAAOkV,UAAUc,QAAQzG,aACjE2G,SAAUlM,EAAWnN,KAAKjD,KAAMA,KAAKoG,OAAOkV,UAAUc,QAAQE,WAI9DlY,EAAGY,QAAQhF,KAAK4M,SAASoP,YACzBhc,KAAK4M,SAASwP,QAAQG,YAAcvc,KAAK4M,SAASoP,SAAS9V,cAAvB,IAAAR,OAC5B1F,KAAKoG,OAAOqK,WAAW+L,YAI5B,EACT,MAAOC,GAOL,OALAzc,KAAKqW,MAAMqG,KAAK,kEAAmED,GAGnFzc,KAAK2c,sBAAqB,IAEnB,IAKfC,WApEa,SAoEF3V,EAAMwG,GACb,IACMwN,EAAUH,GAASC,WAAW9X,KAAKjD,MACnC6c,EAAQ,GAAAnX,OAAOuV,EAAQD,KAAqB,GAAdC,EAAQ3Q,IAA9B,KAAA5E,OAA0C1F,KAAKoG,OAAO0W,YAE9DC,EAAO9W,SAAS+W,gBAJJ,6BAI+B,OACjDxP,EACIuP,EACAxQ,EAAOkB,EAAY,CACfwP,KAAM,eACNC,UAAW,WAKnB,IAAMC,EAAMlX,SAAS+W,gBAdH,6BAc8B,OAC1C3Q,EAAI,GAAA3G,OAAMmX,EAAN,KAAAnX,OAAkBuB,GAe5B,MAVI,SAAUkW,GACVA,EAAIC,eAAe,+BAAgC,OAAQ/Q,GAI/D8Q,EAAIC,eAAe,+BAAgC,aAAc/Q,GAGjE0Q,EAAKzP,YAAY6P,GAEVJ,GAIXM,YAvGa,SAuGDrc,GAAgB,IAAXsc,EAAWnV,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAJ,GACd6F,EAAOyJ,GAASzW,EAAKhB,KAAKoG,QAMhC,OAAO2H,EAAc,OAJFjN,OAAOuF,OAAO,GAAIiX,EAAM,CACvChO,MAAO,CAACgO,EAAKhO,MAAOtP,KAAKoG,OAAOqK,WAAWhB,QAAQnH,OAAOzE,SAAS0Z,KAAK,OAGnCvP,IAI7CwP,YAlHa,SAkHDxP,GACR,GAAI5J,EAAGgB,MAAM4I,GACT,OAAO,KAGX,IAAMyP,EAAQ1P,EAAc,OAAQ,CAChCuB,MAAOtP,KAAKoG,OAAOqK,WAAWiN,KAAKnc,QAavC,OAVAkc,EAAMnQ,YACFS,EACI,OACA,CACIuB,MAAOtP,KAAKoG,OAAOqK,WAAWiN,KAAKD,OAEvCzP,IAIDyP,GAIXE,aAzIa,SAyIAC,EAAYN,GAAM,IAAAxW,EAAA9G,KACrByN,EAAalB,EAAO,GAAI+Q,GAC1BrW,EAAOgQ,GAAY2G,GAEjBrd,EAAQ,CACVyE,QAAS,SACT6B,QAAQ,EACRgX,MAAO,KACPd,KAAM,KACNe,aAAc,KACdC,YAAa,MA2BjB,OAxBA,CAAC,UAAW,OAAQ,SAAS/W,QAAQ,SAAAhG,GAC7BF,OAAOuE,KAAKoI,GAAY5E,SAAS7H,KACjCT,EAAMS,GAAOyM,EAAWzM,UACjByM,EAAWzM,MAKJ,WAAlBT,EAAMyE,SAAyBlE,OAAOuE,KAAKoI,GAAY5E,SAAS,UAChE4E,EAAWxG,KAAO,UAIlBnG,OAAOuE,KAAKoI,GAAY5E,SAAS,SAC5B4E,EAAW6B,MAAMlE,MAAM,KAAK4S,KAAK,SAAAC,GAAC,OAAIA,IAAMnX,EAAKV,OAAOqK,WAAWyN,WACpE3R,EAAOkB,EAAY,CACf6B,MAAK,GAAA5J,OAAK+H,EAAW6B,MAAhB,KAAA5J,OAAyB1F,KAAKoG,OAAOqK,WAAWyN,WAI7DzQ,EAAW6B,MAAQtP,KAAKoG,OAAOqK,WAAWyN,QAItCN,GACJ,IAAK,OACDrd,EAAMsG,QAAS,EACftG,EAAMsd,MAAQ,OACdtd,EAAMud,aAAe,QACrBvd,EAAMwc,KAAO,OACbxc,EAAMwd,YAAc,QACpB,MAEJ,IAAK,OACDxd,EAAMsG,QAAS,EACftG,EAAMsd,MAAQ,OACdtd,EAAMud,aAAe,SACrBvd,EAAMwc,KAAO,SACbxc,EAAMwd,YAAc,QACpB,MAEJ,IAAK,WACDxd,EAAMsG,QAAS,EACftG,EAAMsd,MAAQ,iBACdtd,EAAMud,aAAe,kBACrBvd,EAAMwc,KAAO,eACbxc,EAAMwd,YAAc,cACpB,MAEJ,IAAK,aACDxd,EAAMsG,QAAS,EACftG,EAAMsd,MAAQ,kBACdtd,EAAMud,aAAe,iBACrBvd,EAAMwc,KAAO,mBACbxc,EAAMwd,YAAc,kBACpB,MAEJ,IAAK,aACDtQ,EAAW6B,OAAX,IAAA5J,OAAwB1F,KAAKoG,OAAOqK,WAAWyN,QAA/C,cACAjX,EAAO,OACP1G,EAAMsd,MAAQ,OACdtd,EAAMwc,KAAO,OACb,MAEJ,QACQ3Y,EAAGgB,MAAM7E,EAAMsd,SACftd,EAAMsd,MAAQ5W,GAEd7C,EAAGgB,MAAM7E,EAAMwc,QACfxc,EAAMwc,KAAOa,GAIzB,IAAMO,EAASpQ,EAAcxN,EAAMyE,SA+CnC,OA5CIzE,EAAMsG,QAENsX,EAAO7Q,YACHwN,GAAS8B,WAAW3Z,KAAKjD,KAAMO,EAAMwd,YAAa,CAC9CzO,MAAO,mBAGf6O,EAAO7Q,YACHwN,GAAS8B,WAAW3Z,KAAKjD,KAAMO,EAAMwc,KAAM,CACvCzN,MAAO,uBAKf6O,EAAO7Q,YACHwN,GAASuC,YAAYpa,KAAKjD,KAAMO,EAAMud,aAAc,CAChDxO,MAAO,oBAGf6O,EAAO7Q,YACHwN,GAASuC,YAAYpa,KAAKjD,KAAMO,EAAMsd,MAAO,CACzCvO,MAAO,0BAIf6O,EAAO7Q,YAAYwN,GAAS8B,WAAW3Z,KAAKjD,KAAMO,EAAMwc,OACxDoB,EAAO7Q,YAAYwN,GAASuC,YAAYpa,KAAKjD,KAAMO,EAAMsd,SAI7DtR,EAAOkB,EAAYmB,EAA0B5O,KAAKoG,OAAOkV,UAAUC,QAAQtU,GAAOwG,IAClFD,EAAc2Q,EAAQ1Q,GAGT,SAATxG,GACK7C,EAAGU,MAAM9E,KAAK4M,SAAS2O,QAAQtU,MAChCjH,KAAK4M,SAAS2O,QAAQtU,GAAQ,IAGlCjH,KAAK4M,SAAS2O,QAAQtU,GAAMzE,KAAK2b,IAEjCne,KAAK4M,SAAS2O,QAAQtU,GAAQkX,EAG3BA,GAIXC,YAlRa,SAkRDnX,EAAMwG,GAEd,IAAM/J,EAAQqK,EACV,QACAxB,EACIqC,EAA0B5O,KAAKoG,OAAOkV,UAAUW,OAAOhV,IACvD,CACIA,KAAM,QACNK,IAAK,EACL1B,IAAK,IACLL,KAAM,IACNhE,MAAO,EACP8c,aAAc,MAEdpB,KAAM,SACNqB,aAAc7G,GAASxQ,EAAMjH,KAAKoG,QAClCmY,gBAAiB,EACjBC,gBAAiB,IACjBC,gBAAiB,GAErBhR,IAYR,OARAzN,KAAK4M,SAASqP,OAAOhV,GAAQvD,EAG7BoX,GAAS4D,gBAAgBzb,KAAKjD,KAAM0D,GAGpCqC,EAAW4Y,MAAMjb,GAEVA,GAIXkb,eAtTa,SAsTE3X,EAAMwG,GACjB,IAAMuO,EAAWjO,EACb,WACAxB,EACIqC,EAA0B5O,KAAKoG,OAAOkV,UAAUc,QAAQnV,IACxD,CACIK,IAAK,EACL1B,IAAK,IACLrE,MAAO,EACP0b,KAAM,cACN4B,eAAe,GAEnBpR,IAKR,GAAa,WAATxG,EAAmB,CACnB+U,EAAS1O,YAAYS,EAAc,OAAQ,KAAM,MAEjD,IAAM+Q,EAAY,CACdC,OAAQ,SACR1C,OAAQ,YACVpV,GACI+X,EAASF,EAAYrH,GAASqH,EAAW9e,KAAKoG,QAAU,GAE9D4V,EAAS/N,UAAT,KAAAvI,OAA0BsZ,EAAOhI,eAKrC,OAFAhX,KAAK4M,SAASwP,QAAQnV,GAAQ+U,EAEvBA,GAIXiD,WAzVa,SAyVFhY,EAAMiY,GACb,IAAMzR,EAAamB,EAA0B5O,KAAKoG,OAAOkV,UAAUc,QAAQnV,GAAOiY,GAE5E/O,EAAYpC,EACd,MACAxB,EAAOkB,EAAY,CACf6B,MAAO,GAAA5J,OAAG+H,EAAW6B,MAAQ7B,EAAW6B,MAAQ,GAAzC,KAAA5J,OAA+C1F,KAAKoG,OAAOqK,WAAW2L,QAAQ5B,KAA9E,KAAsFvL,OAC7FqP,aAAc7G,GAASxQ,EAAMjH,KAAKoG,UAEtC,SAMJ,OAFApG,KAAK4M,SAASwP,QAAQnV,GAAQkJ,EAEvBA,GAMXgP,sBA9Wa,SA8WSC,EAAUnY,GAAM,IAAAwE,EAAAzL,KAElCsL,EACI8T,EACA,gBACA,SAAAla,GAEI,GAAK,CAAC,GAAI,GAAI,GAAI,IAAI2D,SAAS3D,EAAMma,SAKrCna,EAAM6C,iBACN7C,EAAMoa,kBAGa,YAAfpa,EAAM+B,MAAV,CAIA,IAMQ3G,EANFif,EAAgBtP,EAAQmP,EAAU,0BAGxC,IAAKG,GAAiB,CAAC,GAAI,IAAI1W,SAAS3D,EAAMma,OAC1CvE,GAAS0E,cAAcvc,KAAKwI,EAAMxE,GAAM,QAIpB,KAAhB/B,EAAMma,QACc,KAAhBna,EAAMma,OAAiBE,GAAiC,KAAhBra,EAAMma,OAC9C/e,EAAS8e,EAASK,mBAEbrb,EAAGY,QAAQ1E,KACZA,EAAS8e,EAASjS,WAAWuS,qBAGjCpf,EAAS8e,EAASO,uBAEbvb,EAAGY,QAAQ1E,KACZA,EAAS8e,EAASjS,WAAWyS,mBAIrCvP,EAASpN,KAAKwI,EAAMnL,GAAQ,OAIxC,GAKJgL,EAAG8T,EAAU,QAAS,SAAAla,GACE,KAAhBA,EAAMma,OAIVvE,GAAS+E,mBAAmB5c,KAAKwI,EAAM,MAAM,MAKrDqU,eA5aa,SAAAnS,GA4a+D,IAAAoS,EAAA/f,KAA3DuB,EAA2DoM,EAA3DpM,MAAOye,EAAoDrS,EAApDqS,KAAM/Y,EAA8C0G,EAA9C1G,KAAM4Q,EAAwClK,EAAxCkK,MAAwCoI,EAAAtS,EAAjC8P,MAAAA,OAAiC,IAAAwC,EAAzB,KAAyBA,EAAAC,EAAAvS,EAAnBwS,QAAAA,OAAmB,IAAAD,GAAAA,EAClEzS,EAAamB,EAA0B5O,KAAKoG,OAAOkV,UAAUW,OAAOhV,IAEpEmY,EAAWrR,EACb,SACAxB,EAAOkB,EAAY,CACfxG,KAAM,SACNgW,KAAM,gBACN3N,MAAO,GAAA5J,OAAG1F,KAAKoG,OAAOqK,WAAWyN,QAA1B,KAAAxY,OAAqC+H,EAAW6B,MAAQ7B,EAAW6B,MAAQ,IAAKL,OACvFmR,eAAgBD,EAChB5e,MAAAA,KAIF8e,EAAOtS,EAAc,QAG3BsS,EAAKhJ,UAAYQ,EAEbzT,EAAGY,QAAQyY,IACX4C,EAAK/S,YAAYmQ,GAGrB2B,EAAS9R,YAAY+S,GAGrBvf,OAAOC,eAAeqe,EAAU,UAAW,CACvCze,YAAY,EACZqH,IAFuC,WAGnC,MAAiD,SAA1CoX,EAAS7X,aAAa,iBAEjCL,IALuC,SAKnCqL,GAEIA,GACA7Q,MAAMwB,KAAKkc,EAASjS,WAAWmT,UAC1BhY,OAAO,SAAAK,GAAI,OAAIsH,EAAQtH,EAAM,4BAC7B3B,QAAQ,SAAA2B,GAAI,OAAIA,EAAKmF,aAAa,eAAgB,WAG3DsR,EAAStR,aAAa,eAAgByE,EAAQ,OAAS,YAI/DvS,KAAK4G,UAAU2Z,KACXnB,EACA,cACA,SAAAla,GACI,IAAId,EAAGuF,cAAczE,IAA0B,KAAhBA,EAAMma,MAArC,CASA,OALAna,EAAM6C,iBACN7C,EAAMoa,kBAENF,EAASe,SAAU,EAEXlZ,GACJ,IAAK,WACD8Y,EAAKS,aAAehc,OAAOjD,GAC3B,MAEJ,IAAK,UACDwe,EAAK7J,QAAU3U,EACf,MAEJ,IAAK,QACDwe,EAAKU,MAAQ5a,WAAWtE,GAOhCuZ,GAAS0E,cAAcvc,KAAK8c,EAAM,OAAQ3b,EAAGuF,cAAczE,MAE/D+B,GACA,GAGJ6T,GAASqE,sBAAsBlc,KAAKjD,KAAMof,EAAUnY,GAEpD+Y,EAAK1S,YAAY8R,IAIrB7E,WAjgBa,WAigB0B,IAA5BC,EAA4BrS,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAArB,EAAGuS,EAAkBvS,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GAEnC,OAAK/D,EAAGG,OAAOiW,GAORD,GAAWC,EAFCL,GAASna,KAAKsc,UAAY,EAET5B,GANzBF,GAUfkG,kBA9gBa,WA8gBgD,IAA3CpgB,EAA2C6H,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAlC,KAAMqS,EAA4BrS,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAArB,EAAGuS,EAAkBvS,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GAEpD/D,EAAGY,QAAQ1E,IAAY8D,EAAGG,OAAOiW,KAKtCla,EAAO2N,UAAY6M,GAASP,WAAWC,EAAME,KAIjDiG,aAzhBa,WA0hBJ3gB,KAAK4K,UAAUgI,KAKhBxO,EAAGY,QAAQhF,KAAK4M,SAASqP,OAAOE,SAChCrB,GAAS8F,SAAS3d,KAAKjD,KAAMA,KAAK4M,SAASqP,OAAOE,OAAQnc,KAAK6gB,MAAQ,EAAI7gB,KAAKmc,QAIhF/X,EAAGY,QAAQhF,KAAK4M,SAAS2O,QAAQK,QACjC5b,KAAK4M,SAAS2O,QAAQK,KAAKkF,QAAU9gB,KAAK6gB,OAAyB,IAAhB7gB,KAAKmc,UAKhEyE,SA1iBa,SA0iBJtgB,GAAmB,IAAXiB,EAAW4G,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAH,EAChB/D,EAAGY,QAAQ1E,KAKhBA,EAAOiB,MAAQA,EAGfuZ,GAAS4D,gBAAgBzb,KAAKjD,KAAMM,KAIxCygB,eAvjBa,SAujBE7b,GAAO,IAAA8b,EAAAhhB,KAClB,GAAKA,KAAK4K,UAAUgI,IAAOxO,EAAGc,MAAMA,GAApC,CAIA,IN3kBsB+b,EAASrb,EM2kB3BrE,EAAQ,EAkBZ,GAAI2D,EACA,OAAQA,EAAM+B,MAEV,IAAK,aACL,IAAK,UACL,IAAK,SNlmBSga,EMmmBYjhB,KAAK2V,YNnmBR/P,EMmmBqB5F,KAAKsc,SAA7C/a,ENlmBA,IAAZ0f,GAAyB,IAARrb,GAAapB,OAAOC,MAAMwc,IAAYzc,OAAOC,MAAMmB,GAC7D,GAGFqb,EAAUrb,EAAO,KAAKE,QAAQ,GMimBJ,eAAfZ,EAAM+B,MACN6T,GAAS8F,SAAS3d,KAAKjD,KAAMA,KAAK4M,SAASqP,OAAOC,KAAM3a,GAG5D,MAGJ,IAAK,UACL,IAAK,YAjCO,SAACjB,EAAQoD,GACzB,IAAMwd,EAAM9c,EAAGG,OAAOb,GAASA,EAAQ,EACjCsY,EAAW5X,EAAGY,QAAQ1E,GAAUA,EAAS0gB,EAAKpU,SAASwP,QAAQC,OAGrE,GAAIjY,EAAGY,QAAQgX,GAAW,CACtBA,EAASza,MAAQ2f,EAGjB,IAAMrD,EAAQ7B,EAASmF,qBAAqB,QAAQ,GAChD/c,EAAGY,QAAQ6Y,KACXA,EAAMvP,WAAW,GAAG8S,UAAYF,IAuBhCG,CAAYrhB,KAAK4M,SAASwP,QAAQC,OAAwB,IAAhBrc,KAAKshB,aAW/D5C,gBA3mBa,SA2mBGpe,GAEZ,IAAM6Q,EAAQ/M,EAAGc,MAAM5E,GAAUA,EAAOA,OAASA,EAGjD,GAAK8D,EAAGY,QAAQmM,IAAyC,UAA/BA,EAAM5J,aAAa,QAA7C,CAKA,GAAI0I,EAAQkB,EAAOnR,KAAKoG,OAAOkV,UAAUW,OAAOC,MAAO,CACnD/K,EAAMrD,aAAa,gBAAiB9N,KAAK2V,aACzC,IAAMA,EAAcmF,GAASP,WAAWva,KAAK2V,aACvC2G,EAAWxB,GAASP,WAAWva,KAAKsc,UACpC5F,EAASe,GAAS,YAAazX,KAAKoG,QAC1C+K,EAAMrD,aACF,iBACA4I,EAAOvH,QAAQ,gBAAiBwG,GAAaxG,QAAQ,aAAcmN,SAEpE,GAAIrM,EAAQkB,EAAOnR,KAAKoG,OAAOkV,UAAUW,OAAOE,QAAS,CAC5D,IAAMhV,EAAwB,IAAdgK,EAAM5P,MACtB4P,EAAMrD,aAAa,gBAAiB3G,GACpCgK,EAAMrD,aAAa,iBAAnB,GAAApI,OAAwCyB,EAAQrB,QAAQ,GAAxD,WAEAqL,EAAMrD,aAAa,gBAAiBqD,EAAM5P,OAIzC6P,GAAQK,UAKbN,EAAM3K,MAAM+a,YAAY,UAAxB,GAAA7b,OAAuCyL,EAAM5P,MAAQ4P,EAAMvL,IAAO,IAAlE,QAIJ4b,kBAhpBa,SAgpBKtc,GAAO,IAAAuc,EAAAzhB,KAErB,GACKA,KAAKoG,OAAOsb,SAASxF,MACrB9X,EAAGY,QAAQhF,KAAK4M,SAASqP,OAAOC,OAChC9X,EAAGY,QAAQhF,KAAK4M,SAASwP,QAAQG,cAChB,IAAlBvc,KAAKsc,SAJT,CASA,IAAMqF,EAAO,GAAAjc,OAAM1F,KAAKoG,OAAOqK,WAAW+L,QAA7B,aACP3V,EAAS,SAAA+a,GAAI,OAAIhS,EAAY6R,EAAK7U,SAASwP,QAAQG,YAAaoF,EAASC,IAG/E,GAAI5hB,KAAKoH,MACLP,GAAO,OADX,CAMA,IAAIM,EAAU,EACRM,EAAazH,KAAK4M,SAASoP,SAAStU,wBAE1C,GAAItD,EAAGc,MAAMA,GACTiC,EAAW,IAAMM,EAAWE,OAAUzC,EAAM2c,MAAQpa,EAAWI,UAC5D,CAAA,IAAImI,EAAShQ,KAAK4M,SAASwP,QAAQG,YAAaoF,GAGnD,OAFAxa,EAAUtB,WAAW7F,KAAK4M,SAASwP,QAAQG,YAAY/V,MAAMqB,KAAM,IAMnEV,EAAU,EACVA,EAAU,EACHA,EAAU,MACjBA,EAAU,KAId2T,GAAS4F,kBAAkBzd,KAAKjD,KAAMA,KAAK4M,SAASwP,QAAQG,YAAcvc,KAAKsc,SAAW,IAAOnV,GAGjGnH,KAAK4M,SAASwP,QAAQG,YAAY/V,MAAMqB,KAAxC,GAAAnC,OAAkDyB,EAAlD,KAII/C,EAAGc,MAAMA,IAAU,CAAC,aAAc,cAAc2D,SAAS3D,EAAM+B,OAC/DJ,EAAsB,eAAf3B,EAAM+B,SAKrB6a,WArsBa,SAqsBF5c,GAEP,IAAM6c,GAAU3d,EAAGY,QAAQhF,KAAK4M,SAASwP,QAAQE,WAAatc,KAAKoG,OAAO4b,WAG1ElH,GAAS4F,kBAAkBzd,KACvBjD,KACAA,KAAK4M,SAASwP,QAAQzG,YACtBoM,EAAS/hB,KAAKsc,SAAWtc,KAAK2V,YAAc3V,KAAK2V,YACjDoM,GAIA7c,GAAwB,eAAfA,EAAM+B,MAAyBjH,KAAKuT,MAAM0O,SAKvDnH,GAASiG,eAAe9d,KAAKjD,KAAMkF,IAIvCgd,eA3tBa,WA6tBT,GAAKliB,KAAK4K,UAAUgI,KAAQ5S,KAAKoG,OAAO4b,aAAchiB,KAAK2V,aAA3D,CAQA,GAAI3V,KAAKsc,UAAL3W,KAAAwc,IAAiB,EAAK,IAGtB,OAFA3S,EAAaxP,KAAK4M,SAASwP,QAAQzG,aAAa,QAChDnG,EAAaxP,KAAK4M,SAASoP,UAAU,GAKrC5X,EAAGY,QAAQhF,KAAK4M,SAASqP,OAAOC,OAChClc,KAAK4M,SAASqP,OAAOC,KAAKpO,aAAa,gBAAiB9N,KAAKsc,UAIjE,IAAM8F,EAAche,EAAGY,QAAQhF,KAAK4M,SAASwP,QAAQE,WAGhD8F,GAAepiB,KAAKoG,OAAOic,iBAAmBriB,KAAK4V,QACpDkF,GAAS4F,kBAAkBzd,KAAKjD,KAAMA,KAAK4M,SAASwP,QAAQzG,YAAa3V,KAAKsc,UAI9E8F,GACAtH,GAAS4F,kBAAkBzd,KAAKjD,KAAMA,KAAK4M,SAASwP,QAAQE,SAAUtc,KAAKsc,UAI/ExB,GAAS0G,kBAAkBve,KAAKjD,QAIpCsiB,iBAlwBa,SAkwBIC,EAAS1b,GACtB2I,EAAaxP,KAAK4M,SAASiP,SAASN,QAAQgH,IAAW1b,IAI3D2b,cAvwBa,SAuwBCD,EAASpS,EAAWzM,GAC9B,IAAM+e,EAAOziB,KAAK4M,SAASiP,SAAS6G,OAAOH,GACvChhB,EAAQ,KACRye,EAAO7P,EAEX,GAAgB,aAAZoS,EACAhhB,EAAQvB,KAAKwgB,iBACV,CASH,GARAjf,EAAS6C,EAAGgB,MAAM1B,GAAiB1D,KAAKuiB,GAAb7e,EAGvBU,EAAGgB,MAAM7D,KACTA,EAAQvB,KAAKoG,OAAOmc,GAASI,UAI5Bve,EAAGgB,MAAMpF,KAAKgG,QAAQuc,MAAcviB,KAAKgG,QAAQuc,GAAS1Z,SAAStH,GAEpE,YADAvB,KAAKqW,MAAMqG,KAAX,yBAAAhX,OAAyCnE,EAAzC,UAAAmE,OAAuD6c,IAK3D,IAAKviB,KAAKoG,OAAOmc,GAASvc,QAAQ6C,SAAStH,GAEvC,YADAvB,KAAKqW,MAAMqG,KAAX,sBAAAhX,OAAsCnE,EAAtC,UAAAmE,OAAoD6c,IAW5D,GALKne,EAAGY,QAAQgb,KACZA,EAAOyC,GAAQA,EAAKvc,cAAc,kBAIjC9B,EAAGY,QAAQgb,GAAhB,CAKchgB,KAAK4M,SAASiP,SAASN,QAAQgH,GAASrc,cAAxC,IAAAR,OAA0D1F,KAAKoG,OAAOqK,WAAWiN,KAAKnc,QAC9F8V,UAAYyD,GAAS8H,SAAS3f,KAAKjD,KAAMuiB,EAAShhB,GAGxD,IAAMjB,EAAS0f,GAAQA,EAAK9Z,cAAL,WAAAR,OAA8BnE,EAA9B,OAEnB6C,EAAGY,QAAQ1E,KACXA,EAAO6f,SAAU,KAKzByC,SA1zBa,SA0zBJL,EAAShhB,GACd,OAAQghB,GACJ,IAAK,QACD,OAAiB,IAAVhhB,EAAckW,GAAS,SAAUzX,KAAKoG,QAAtC,GAAAV,OAAmDnE,EAAnD,WAEX,IAAK,UACD,GAAI6C,EAAGG,OAAOhD,GAAQ,CAClB,IAAMsc,EAAQpG,GAAA,gBAAA/R,OAAyBnE,GAASvB,KAAKoG,QAErD,OAAKyX,EAAMpd,OAIJod,EAHH,GAAAnY,OAAUnE,EAAV,KAMR,OAAOsV,GAAYtV,GAEvB,IAAK,WACD,OAAOua,GAAS8G,SAAS3f,KAAKjD,MAElC,QACI,OAAO,OAKnB6iB,eAr1Ba,SAq1BE7c,GAAS,IAAA8c,EAAA9iB,KAEpB,GAAKoE,EAAGY,QAAQhF,KAAK4M,SAASiP,SAAS6G,OAAOxM,SAA9C,CAIA,IACM8J,EAAOhgB,KAAK4M,SAASiP,SAAS6G,OAAOxM,QAAQhQ,cAAc,iBAG7D9B,EAAGU,MAAMkB,KACThG,KAAKgG,QAAQkQ,QAAUK,GAAOvQ,GAASsC,OAAO,SAAA4N,GAAO,OAAI4M,EAAK1c,OAAO8P,QAAQlQ,QAAQ6C,SAASqN,MAIlG,IAAMrP,GAAUzC,EAAGgB,MAAMpF,KAAKgG,QAAQkQ,UAAYlW,KAAKgG,QAAQkQ,QAAQzV,OAAS,EAUhF,GATAqa,GAASwH,iBAAiBrf,KAAKjD,KAVlB,UAU8B6G,GAG3CwH,EAAa2R,GAGblF,GAASiI,UAAU9f,KAAKjD,MAGnB6G,EAAL,CAKA,IAAMmc,EAAW,SAAA9M,GACb,IAAM2H,EAAQpG,GAAA,gBAAA/R,OAAyBwQ,GAAW4M,EAAK1c,QAEvD,OAAKyX,EAAMpd,OAIJqa,GAAS0C,YAAYva,KAAK6f,EAAMjF,GAH5B,MAOf7d,KAAKgG,QAAQkQ,QACR+M,KAAK,SAACC,EAAGC,GACN,IAAMC,EAAUN,EAAK1c,OAAO8P,QAAQlQ,QACpC,OAAOod,EAAQ3M,QAAQyM,GAAKE,EAAQ3M,QAAQ0M,GAAK,GAAK,IAEzDnc,QAAQ,SAAAkP,GACL4E,GAASgF,eAAe7c,KAAK6f,EAAM,CAC/BvhB,MAAO2U,EACP8J,KAAAA,EACA/Y,KA5CC,UA6CD4Q,MAAOiD,GAAS8H,SAAS3f,KAAK6f,EAAM,UAAW5M,GAC/CuH,MAAOuF,EAAS9M,OAI5B4E,GAAS0H,cAAcvf,KAAKjD,KAlDf,UAkD2BggB,MAmD5CqD,gBAh8Ba,WAg8BK,IAAAC,EAAAtjB,KAEd,GAAKoE,EAAGY,QAAQhF,KAAK4M,SAASiP,SAAS6G,OAAO5G,UAA9C,CAKA,IACMkE,EAAOhgB,KAAK4M,SAASiP,SAAS6G,OAAO5G,SAAS5V,cAAc,iBAC5Dqd,EAASzH,GAAS0H,UAAUvgB,KAAKjD,MACjC6G,EAAShD,QAAQ0f,EAAO9iB,QAY9B,GATAqa,GAASwH,iBAAiBrf,KAAKjD,KANlB,WAM8B6G,GAG3CwH,EAAa2R,GAGblF,GAASiI,UAAU9f,KAAKjD,MAGnB6G,EAAL,CAKA,IAAMb,EAAUud,EAAOra,IAAI,SAACe,EAAO1I,GAAR,MAAmB,CAC1CA,MAAAA,EACA4e,QAASmD,EAAKxH,SAAS2H,SAAWH,EAAK9C,eAAiBjf,EACxDsW,MAAOiE,GAAS8G,SAAS3f,KAAKqgB,EAAMrZ,GACpCwT,MAAOxT,EAAMyZ,UAAY5I,GAAS0C,YAAYva,KAAKqgB,EAAMrZ,EAAMyZ,SAAS5M,eACxEkJ,KAAAA,EACA/Y,KAAM,cAIVjB,EAAQ2d,QAAQ,CACZpiB,OAAQ,EACR4e,SAAUngB,KAAK8b,SAAS2H,QACxB5L,MAAOJ,GAAS,WAAYzX,KAAKoG,QACjC4Z,KAAAA,EACA/Y,KAAM,aAIVjB,EAAQgB,QAAQ8T,GAASgF,eAAeS,KAAKvgB,OAE7C8a,GAAS0H,cAAcvf,KAAKjD,KAzCf,WAyC2BggB,MAI5C4D,aAp/Ba,SAo/BA5d,GAAS,IAAA6d,EAAA7jB,KAElB,GAAKoE,EAAGY,QAAQhF,KAAK4M,SAASiP,SAAS6G,OAAOjC,OAA9C,CAIA,IACMT,EAAOhgB,KAAK4M,SAASiP,SAAS6G,OAAOjC,MAAMva,cAAc,iBAG3D9B,EAAGU,MAAMkB,GACThG,KAAKgG,QAAQya,MAAQza,GACdhG,KAAKsT,SAAWtT,KAAKkV,WAC5BlV,KAAKgG,QAAQya,MAAQ,CAAC,GAAK,IAAM,EAAG,KAAM,IAAK,KAAM,IAIzDzgB,KAAKgG,QAAQya,MAAQzgB,KAAKgG,QAAQya,MAAMnY,OAAO,SAAAmY,GAAK,OAAIoD,EAAKzd,OAAOqa,MAAMza,QAAQ6C,SAAS4X,KAG3F,IAAM5Z,GAAUzC,EAAGgB,MAAMpF,KAAKgG,QAAQya,QAAUzgB,KAAKgG,QAAQya,MAAMhgB,OAAS,EAC5Eqa,GAASwH,iBAAiBrf,KAAKjD,KAflB,QAe8B6G,GAG3CwH,EAAa2R,GAGblF,GAASiI,UAAU9f,KAAKjD,MAGnB6G,IAKL7G,KAAKgG,QAAQya,MAAMzZ,QAAQ,SAAAyZ,GACvB3F,GAASgF,eAAe7c,KAAK4gB,EAAM,CAC/BtiB,MAAOkf,EACPT,KAAAA,EACA/Y,KAjCK,QAkCL4Q,MAAOiD,GAAS8H,SAAS3f,KAAK4gB,EAAM,QAASpD,OAIrD3F,GAAS0H,cAAcvf,KAAKjD,KAtCf,QAsC2BggB,MAI5C+C,UApiCa,WAoiCD,IACAxH,EAAYvb,KAAK4M,SAASiP,SAA1BN,QACFoG,GAAWvd,EAAGgB,MAAMmW,IAAYza,OAAOgjB,OAAOvI,GAASyC,KAAK,SAAAG,GAAM,OAAKA,EAAO1O,SAEpFD,EAAaxP,KAAK4M,SAASiP,SAAS6B,MAAOiE,IAI/C9B,mBA5iCa,SA4iCM4C,GAAwB,IAAlBnS,EAAkBnI,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GACvC,IAAInI,KAAK4M,SAASiP,SAASkI,MAAMtU,OAAjC,CAIA,IAAInP,EAASmiB,EAERre,EAAGY,QAAQ1E,KACZA,EAASQ,OAAOgjB,OAAO9jB,KAAK4M,SAASiP,SAAS6G,QAAQ3R,KAAK,SAAAiT,GAAC,OAAKA,EAAEvU,UAGvE,IAAMwU,EAAY3jB,EAAO4F,cAAc,sBAEvCmK,EAASpN,KAAKjD,KAAMikB,EAAW3T,KAInC4T,WA7jCa,SA6jCFxgB,GAAO,IACNqgB,EAAU/jB,KAAK4M,SAASiP,SAAxBkI,MACF5F,EAASne,KAAK4M,SAAS2O,QAAQM,SAGrC,GAAKzX,EAAGY,QAAQ+e,IAAW3f,EAAGY,QAAQmZ,GAAtC,CALc,IAUN1O,EAAWsU,EAAXtU,OACJmS,EAAOnS,EAEX,GAAIrL,EAAGO,QAAQjB,GACXke,EAAOle,OACJ,GAAIU,EAAGuF,cAAcjG,IAA0B,KAAhBA,EAAM2b,MACxCuC,GAAO,OACJ,GAAIxd,EAAGc,MAAMxB,GAAQ,CAGxB,IAAMpD,EAAS8D,EAAGQ,SAASlB,EAAMygB,cAAgBzgB,EAAMygB,eAAe,GAAKzgB,EAAMpD,OAC3E8jB,EAAaL,EAAMhU,SAASzP,GAKlC,GAAI8jB,IAAgBA,GAAc1gB,EAAMpD,SAAW6d,GAAUyD,EACzD,OAKRzD,EAAOrQ,aAAa,gBAAiB8T,GAGrCpS,EAAauU,GAAQnC,GAGrBhS,EAAY5P,KAAK4M,SAASuD,UAAWnQ,KAAKoG,OAAOqK,WAAWiN,KAAKtE,KAAMwI,GAGnEA,GAAQxd,EAAGuF,cAAcjG,GACzBoX,GAAS+E,mBAAmB5c,KAAKjD,KAAM,MAAM,GACrC4hB,GAASnS,GAEjBY,EAASpN,KAAKjD,KAAMme,EAAQ/Z,EAAGuF,cAAcjG,MAKrD2gB,YA/mCa,SA+mCDC,GACR,IAAMC,EAAQD,EAAIrX,WAAU,GAC5BsX,EAAM/d,MAAMge,SAAW,WACvBD,EAAM/d,MAAMie,QAAU,EACtBF,EAAM5U,gBAAgB,UAGtB2U,EAAInX,WAAWG,YAAYiX,GAG3B,IAAM5c,EAAQ4c,EAAMG,YACdxQ,EAASqQ,EAAMI,aAKrB,OAFAxW,EAAcoW,GAEP,CACH5c,MAAAA,EACAuM,OAAAA,IAKRsL,cAtoCa,WAsoC8B,IAAAoF,EAAA5kB,KAA7BiH,EAA6BkB,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAtB,GAAImI,EAAkBnI,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GACjC7H,EAASN,KAAK4M,SAASuD,UAAUjK,cAAxB,kBAAAR,OAAwD1F,KAAKuP,GAA7D,KAAA7J,OAAmEuB,IAGlF,GAAK7C,EAAGY,QAAQ1E,GAAhB,CAKA,IAAM6P,EAAY7P,EAAO6M,WACnB8T,EAAUvf,MAAMwB,KAAKiN,EAAUmQ,UAAUvP,KAAK,SAAApI,GAAI,OAAKA,EAAK8G,SAGlE,GAAI2C,GAAQsB,cAAgBtB,GAAQuB,cAAe,CAE/CxD,EAAU3J,MAAMmB,MAAhB,GAAAjC,OAA2Bub,EAAQyD,YAAnC,MACAvU,EAAU3J,MAAM0N,OAAhB,GAAAxO,OAA4Bub,EAAQ0D,aAApC,MAGA,IAAME,EAAO/J,GAASuJ,YAAYphB,KAAKjD,KAAMM,GAkB7CgL,EAAGrI,KAAKjD,KAAMmQ,EAAWO,EAfT,SAAVoU,EAAU5f,GAERA,EAAM5E,SAAW6P,GAAc,CAAC,QAAS,UAAUtH,SAAS3D,EAAM6f,gBAKtE5U,EAAU3J,MAAMmB,MAAQ,GACxBwI,EAAU3J,MAAM0N,OAAS,GAGzB3I,EAAItI,KAAK2hB,EAAMzU,EAAWO,EAAoBoU,MAOlD3U,EAAU3J,MAAMmB,MAAhB,GAAAjC,OAA2Bmf,EAAKld,MAAhC,MACAwI,EAAU3J,MAAM0N,OAAhB,GAAAxO,OAA4Bmf,EAAK3Q,OAAjC,MAIJ1E,EAAayR,GAAS,GAGtBzR,EAAalP,GAAQ,GAGrBwa,GAAS+E,mBAAmB5c,KAAKjD,KAAMM,EAAQgQ,KAInD0U,eA7rCa,WA8rCT,IAAM7G,EAASne,KAAK4M,SAAS2O,QAAQ0J,SAGhC7gB,EAAGY,QAAQmZ,IAKhBA,EAAOrQ,aAAa,OAAQ9N,KAAKilB,WAIrCC,OA1sCa,SA0sCNvL,GAAM,IAAAwL,EAAAnlB,KAELmf,EAQArE,GARAqE,sBACAxB,EAOA7C,GAPA6C,aACAiB,EAMA9D,GANA8D,eACAR,EAKAtD,GALAsD,YACAa,EAIAnE,GAJAmE,WACA4D,EAGA/H,GAHA+H,eACAe,EAEA9I,GAFA8I,aACApE,EACA1E,GADA0E,cAEJxf,KAAK4M,SAASkO,SAAW,KAGrB9a,KAAKoG,OAAO0U,SAASjS,SAAS,eAC9B7I,KAAK4M,SAASuD,UAAU7C,YAAYqQ,EAAa1a,KAAKjD,KAAM,eAIhE,IAAMmQ,EAAYpC,EAAc,MAAOa,EAA0B5O,KAAKoG,OAAOkV,UAAUR,SAASjO,UAChG7M,KAAK4M,SAASkO,SAAW3K,EAGzB,IAAMiV,EAAoB,CAAE9V,MAAO,wBAmUnC,OAhUAiH,GAAOvW,KAAKoG,OAAO0U,UAAU9T,QAAQ,SAAAkX,GAsBjC,GApBgB,YAAZA,GACA/N,EAAU7C,YAAYqQ,EAAa1a,KAAKkiB,EAAM,UAAWC,IAI7C,WAAZlH,GACA/N,EAAU7C,YAAYqQ,EAAa1a,KAAKkiB,EAAM,SAAUC,IAI5C,SAAZlH,GACA/N,EAAU7C,YAAYqQ,EAAa1a,KAAKkiB,EAAM,OAAQC,IAI1C,iBAAZlH,GACA/N,EAAU7C,YAAYqQ,EAAa1a,KAAKkiB,EAAM,eAAgBC,IAIlD,aAAZlH,EAAwB,CACxB,IAAMmH,EAAoBtX,EAAc,MAAO,CAC3CuB,MAAK,GAAA5J,OAAK0f,EAAkB9V,MAAvB,gCAGH0M,EAAWjO,EAAc,MAAOa,EAA0BuW,EAAK/e,OAAOkV,UAAUU,WAetF,GAZAA,EAAS1O,YACL8Q,EAAYnb,KAAKkiB,EAAM,OAAQ,CAC3B5V,GAAE,aAAA7J,OAAeiU,EAAKpK,OAK9ByM,EAAS1O,YAAYsR,EAAe3b,KAAKkiB,EAAM,WAK3CA,EAAK/e,OAAOsb,SAASxF,KAAM,CAC3B,IAAMM,EAAUzO,EACZ,OACA,CACIuB,MAAO6V,EAAK/e,OAAOqK,WAAW+L,SAElC,SAGJR,EAAS1O,YAAYkP,GACrB2I,EAAKvY,SAASwP,QAAQG,YAAcC,EAGxC2I,EAAKvY,SAASoP,SAAWA,EACzBqJ,EAAkB/X,YAAY6X,EAAKvY,SAASoP,UAC5C7L,EAAU7C,YAAY+X,GAc1B,GAVgB,iBAAZnH,GACA/N,EAAU7C,YAAY2R,EAAWhc,KAAKkiB,EAAM,cAAeC,IAI/C,aAAZlH,GACA/N,EAAU7C,YAAY2R,EAAWhc,KAAKkiB,EAAM,WAAYC,IAI5C,SAAZlH,GAAkC,WAAZA,EAAsB,CAAA,IACtC/B,EAAWgJ,EAAKvY,SAAhBuP,OAsBN,GAnBK/X,EAAGY,QAAQmX,IAAYhM,EAAUJ,SAASoM,KAC3CA,EAASpO,EACL,MACAxB,EAAO,GAAI6Y,EAAmB,CAC1B9V,MAAO,GAAA5J,OAAG0f,EAAkB9V,MAArB,iBAA0CL,UAIzDkW,EAAKvY,SAASuP,OAASA,EAEvBhM,EAAU7C,YAAY6O,IAIV,SAAZ+B,GACA/B,EAAO7O,YAAYqQ,EAAa1a,KAAKkiB,EAAM,SAI/B,WAAZjH,EAAsB,CAEtB,IAAMzQ,EAAa,CACf7H,IAAK,EACLL,KAAM,IACNhE,MAAO4jB,EAAK/e,OAAO+V,QAIvBA,EAAO7O,YACH8Q,EAAYnb,KACRkiB,EACA,SACA5Y,EAAOkB,EAAY,CACf8B,GAAE,eAAA7J,OAAiBiU,EAAKpK,SAa5C,GALgB,aAAZ2O,GACA/N,EAAU7C,YAAYqQ,EAAa1a,KAAKkiB,EAAM,WAAYC,IAI9C,aAAZlH,IAA2B9Z,EAAGgB,MAAM+f,EAAK/e,OAAOyV,UAAW,CAC3D,IAAMhP,EAAUkB,EACZ,MACAxB,EAAO,GAAI6Y,EAAmB,CAC1B9V,MAAO,GAAA5J,OAAG0f,EAAkB9V,MAArB,eAAwCL,OAC/CQ,OAAQ,MAIhB5C,EAAQS,YACJqQ,EAAa1a,KAAKkiB,EAAM,WAAY,CAChCG,iBAAiB,EACjBC,gBAAA,iBAAA7f,OAAkCiU,EAAKpK,IACvCiW,iBAAiB,KAIzB,IAAMzB,EAAQhW,EAAc,MAAO,CAC/BuB,MAAO,wBACPC,GAAE,iBAAA7J,OAAmBiU,EAAKpK,IAC1BE,OAAQ,KAGNgW,EAAQ1X,EAAc,OAEtB2X,EAAO3X,EAAc,MAAO,CAC9BwB,GAAE,iBAAA7J,OAAmBiU,EAAKpK,GAAxB,WAIAmO,EAAO3P,EAAc,MAAO,CAC9BkP,KAAM,SAGVyI,EAAKpY,YAAYoQ,GACjB+H,EAAMnY,YAAYoY,GAClBP,EAAKvY,SAASiP,SAAS6G,OAAOgD,KAAOA,EAGrCP,EAAK/e,OAAOyV,SAAS7U,QAAQ,SAAAC,GAEzB,IAAMmY,EAAWrR,EACb,SACAxB,EAAOqC,EAA0BuW,EAAK/e,OAAOkV,UAAUC,QAAQM,UAAW,CACtE5U,KAAM,SACNqI,MAAK,GAAA5J,OAAKyf,EAAK/e,OAAOqK,WAAWyN,QAA5B,KAAAxY,OAAuCyf,EAAK/e,OAAOqK,WAAWyN,QAA9D,aACLjB,KAAM,WACNqI,iBAAiB,EACjB7V,OAAQ,MAKhB0P,EAAsBlc,KAAKkiB,EAAM/F,EAAUnY,GAG3CqE,EAAG8T,EAAU,QAAS,WAClBI,EAAcvc,KAAKkiB,EAAMle,GAAM,KAGnC,IAAMoZ,EAAOtS,EAAc,OAAQ,KAAM0J,GAASxQ,EAAMke,EAAK/e,SAEvD7E,EAAQwM,EAAc,OAAQ,CAChCuB,MAAO6V,EAAK/e,OAAOqK,WAAWiN,KAAKnc,QAIvCA,EAAM8V,UAAYsC,EAAK1S,GAEvBoZ,EAAK/S,YAAY/L,GACjB6d,EAAS9R,YAAY+S,GACrB3C,EAAKpQ,YAAY8R,GAGjB,IAAMqD,EAAO1U,EAAc,MAAO,CAC9BwB,GAAE,iBAAA7J,OAAmBiU,EAAKpK,GAAxB,KAAA7J,OAA8BuB,GAChCwI,OAAQ,KAINkW,EAAa5X,EAAc,SAAU,CACvC9G,KAAM,SACNqI,MAAK,GAAA5J,OAAKyf,EAAK/e,OAAOqK,WAAWyN,QAA5B,KAAAxY,OAAuCyf,EAAK/e,OAAOqK,WAAWyN,QAA9D,YAITyH,EAAWrY,YACPS,EACI,OACA,CACI8Q,eAAe,GAEnBpH,GAASxQ,EAAMke,EAAK/e,UAK5Buf,EAAWrY,YACPS,EACI,OACA,CACIuB,MAAO6V,EAAK/e,OAAOqK,WAAWhB,QAElCgI,GAAS,WAAY0N,EAAK/e,UAKlCkF,EACImX,EACA,UACA,SAAAvd,GAEwB,KAAhBA,EAAMma,QAKVna,EAAM6C,iBACN7C,EAAMoa,kBAGNE,EAAcvc,KAAKkiB,EAAM,QAAQ,MAErC,GAIJ7Z,EAAGqa,EAAY,QAAS,WACpBnG,EAAcvc,KAAKkiB,EAAM,QAAQ,KAIrC1C,EAAKnV,YAAYqY,GAGjBlD,EAAKnV,YACDS,EAAc,MAAO,CACjBkP,KAAM,UAIdwI,EAAMnY,YAAYmV,GAElB0C,EAAKvY,SAASiP,SAASN,QAAQtU,GAAQmY,EACvC+F,EAAKvY,SAASiP,SAAS6G,OAAOzb,GAAQwb,IAG1CsB,EAAMzW,YAAYmY,GAClB5Y,EAAQS,YAAYyW,GACpB5T,EAAU7C,YAAYT,GAEtBsY,EAAKvY,SAASiP,SAASkI,MAAQA,EAC/BoB,EAAKvY,SAASiP,SAAS6B,KAAO7Q,EAclC,GAVgB,QAAZqR,GAAqB9L,GAAQU,KAC7B3C,EAAU7C,YAAYqQ,EAAa1a,KAAKkiB,EAAM,MAAOC,IAIzC,YAAZlH,GAAyB9L,GAAQc,SACjC/C,EAAU7C,YAAYqQ,EAAa1a,KAAKkiB,EAAM,UAAWC,IAI7C,aAAZlH,EAAwB,CACxB,IAAMzQ,EAAalB,EAAO,GAAI6Y,EAAmB,CAC7CpgB,QAAS,IACT4gB,KAAMT,EAAKF,SACX3kB,OAAQ,WAGJ2kB,EAAaE,EAAK/e,OAAOyf,KAAzBZ,UAEH7gB,EAAGkG,IAAI2a,IAAaE,EAAKW,SAC1BvZ,EAAOkB,EAAY,CACfsP,KAAI,QAAArX,OAAUyf,EAAK3S,UACnBqL,MAAOsH,EAAK3S,WAIpBrC,EAAU7C,YAAYqQ,EAAa1a,KAAKkiB,EAAM,WAAY1X,IAI9C,eAAZyQ,GACA/N,EAAU7C,YAAYqQ,EAAa1a,KAAKkiB,EAAM,aAAcC,MAKhEplB,KAAKsT,SACLuP,EAAe5f,KAAKjD,KAAMsV,GAAME,kBAAkBvS,KAAKjD,OAG3D4jB,EAAa3gB,KAAKjD,MAEXmQ,GAIX4V,OAxiDa,WAwiDJ,IAAAC,EAAAhmB,KAEL,GAAIA,KAAKoG,OAAOkT,WAAY,CACxB,IAAMyD,EAAOjC,GAASC,WAAW9X,KAAKjD,MAGlC+c,EAAK/B,MACL1B,GAAWyD,EAAKzS,IAAK,eAK7BtK,KAAKuP,GAAK5J,KAAKsgB,MAAsB,IAAhBtgB,KAAKugB,UAG1B,IAAI/V,EAAY,KAChBnQ,KAAK4M,SAASkO,SAAW,KAGzB,IAAMva,EAAQ,CACVgP,GAAIvP,KAAKuP,GACT4W,SAAUnmB,KAAKoG,OAAOuR,SACtBE,MAAO7X,KAAKoG,OAAOyR,OAEnB6B,GAAS,EAGTtV,EAAGQ,SAAS5E,KAAKoG,OAAO0U,YACxB9a,KAAKoG,OAAO0U,SAAW9a,KAAKoG,OAAO0U,SAAS7X,KAAKjD,KAAMO,IAItDP,KAAKoG,OAAO0U,WACb9a,KAAKoG,OAAO0U,SAAW,IAGvB1W,EAAGY,QAAQhF,KAAKoG,OAAO0U,WAAa1W,EAAGM,OAAO1E,KAAKoG,OAAO0U,UAE1D3K,EAAYnQ,KAAKoG,OAAO0U,UAGxB3K,EAAY2K,GAASoK,OAAOjiB,KAAKjD,KAAM,CACnCuP,GAAIvP,KAAKuP,GACT4W,SAAUnmB,KAAKoG,OAAOuR,SACtB8I,MAAOzgB,KAAKygB,MACZvK,QAASlW,KAAKkW,QACd4F,SAAUA,GAAS8G,SAAS3f,KAAKjD,QAIrC0Z,GAAS,GAIb,IAoBIpZ,EApBE6O,EAAU,SAAAzL,GACZ,IAAIuW,EAASvW,EAMb,OAJA5C,OAAO4M,QAAQnN,GAAOyG,QAAQ,SAAA+N,GAAkB,IAAAnH,EAAApM,EAAAuT,EAAA,GAAhB/T,EAAgB4M,EAAA,GAAXrM,EAAWqM,EAAA,GAC5CqM,EAAStD,GAAWsD,EAAD,IAAAvU,OAAa1E,EAAb,KAAqBO,KAGrC0Y,GAmCX,GA/BIP,IACItV,EAAGM,OAAO1E,KAAKoG,OAAO0U,UACtB3K,EAAYhB,EAAQgB,GACb/L,EAAGY,QAAQmL,KAClBA,EAAUkH,UAAYlI,EAAQgB,EAAUkH,aAQ5CjT,EAAGM,OAAO1E,KAAKoG,OAAOkV,UAAUR,SAAS3K,aACzC7P,EAAS2F,SAASC,cAAclG,KAAKoG,OAAOkV,UAAUR,SAAS3K,YAI9D/L,EAAGY,QAAQ1E,KACZA,EAASN,KAAK4M,SAASuD,WAK3B7P,EADqB8D,EAAGY,QAAQmL,GAAa,wBAA0B,sBAClD,aAAcA,GAG9B/L,EAAGY,QAAQhF,KAAK4M,SAASkO,WAC1BA,GAASO,aAAapY,KAAKjD,OAI1BoE,EAAGgB,MAAMpF,KAAK4M,SAAS2O,SAAU,CAClC,IAAM6K,EAAc,SAAAjI,GAChB,IAAMjP,EAAY8W,EAAK5f,OAAOqK,WAAW4V,eACzCvlB,OAAOC,eAAeod,EAAQ,UAAW,CACrCxd,YAAY,EACZqH,IAFqC,WAGjC,OAAOgI,EAASmO,EAAQjP,IAE5BhI,IALqC,WAKhB,IAAjB4Z,EAAiB3Y,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GACjByH,EAAYuO,EAAQjP,EAAW4R,OAM3ChgB,OAAOgjB,OAAO9jB,KAAK4M,SAAS2O,SACvBjT,OAAOzE,SACPmD,QAAQ,SAAAmX,GACD/Z,EAAGU,MAAMqZ,IAAW/Z,EAAGW,SAASoZ,GAChCzc,MAAMwB,KAAKib,GACN7V,OAAOzE,SACPmD,QAAQof,GAEbA,EAAYjI,KAW5B,GALI/M,GAAQG,QACRP,EAAQ1Q,GAIRN,KAAKoG,OAAOsb,SAAS5G,SAAU,CAAA,IAAAwL,EACGtmB,KAAKoG,OAA/BqK,EADuB6V,EACvB7V,WAAY6K,EADWgL,EACXhL,UACd1S,EAAQ,GAAAlD,OAAM4V,EAAUR,SAASjO,QAAzB,KAAAnH,OAAoC4V,EAAUiL,OAA9C,MAAA7gB,OAAyD+K,EAAWhB,QAC5E8W,EAASrW,EAAYjN,KAAKjD,KAAM4I,GAEtClH,MAAMwB,KAAKqjB,GAAQvf,QAAQ,SAAA6W,GACvBjO,EAAYiO,EAAOmI,EAAK5f,OAAOqK,WAAWhB,QAAQ,GAClDG,EAAYiO,EAAOmI,EAAK5f,OAAOqK,WAAW+L,SAAS,QC1sD5D,SAASgK,GAAS9iB,GAAoB,IACrC4G,EAAM5G,EAEV,KAHyCyE,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,KAAAA,UAAA,GAG/B,CACN,IAAMse,EAASxgB,SAAS8H,cAAc,KACtC0Y,EAAOb,KAAOtb,EACdA,EAAMmc,EAAOb,KAGjB,IACI,OAAO,IAAIrb,IAAID,GACjB,MAAOI,GACL,OAAO,MAKR,SAASgc,GAAehjB,GAC3B,IAAMijB,EAAS,IAAIC,gBAQnB,OANIxiB,EAAGE,OAAOZ,IACV5C,OAAO4M,QAAQhK,GAAOsD,QAAQ,SAAA2G,GAAkB,IAAAoH,EAAAvT,EAAAmM,EAAA,GAAhB3M,EAAgB+T,EAAA,GAAXxT,EAAWwT,EAAA,GAC5C4R,EAAOzf,IAAIlG,EAAKO,KAIjBolB,ECbX,IAAM7K,GAAW,CAEb6C,MAFa,WAIT,GAAK3e,KAAK4K,UAAUgI,GAKpB,IAAK5S,KAAK8U,SAAW9U,KAAK6mB,WAAc7mB,KAAKsT,UAAYlB,GAAQqB,WAGzDrP,EAAGU,MAAM9E,KAAKoG,OAAO0U,WACrB9a,KAAKoG,OAAO0U,SAASjS,SAAS,aAC9B7I,KAAKoG,OAAOyV,SAAShT,SAAS,aAE9BiS,GAASuI,gBAAgBpgB,KAAKjD,UAPtC,CAsBA,GARKoE,EAAGY,QAAQhF,KAAK4M,SAASkP,YAC1B9b,KAAK4M,SAASkP,SAAW/N,EAAc,MAAOa,EAA0B5O,KAAKoG,OAAOkV,UAAUQ,WfuBnG,SAAqB9W,EAAS1E,GAC5B8D,EAAGY,QAAQA,IAAaZ,EAAGY,QAAQ1E,IAIxCA,EAAO6M,WAAWI,aAAavI,EAAS1E,EAAO+M,ae1BvCyZ,CAAY9mB,KAAK4M,SAASkP,SAAU9b,KAAK4M,SAASC,UAKlDuE,GAAQC,MAAQvH,OAAOS,IAAK,CAC5B,IAAMqC,EAAW5M,KAAKuT,MAAMlL,iBAAiB,SAE7C3G,MAAMwB,KAAK0J,GAAU5F,QAAQ,SAAAiD,GACzB,IAAM8L,EAAM9L,EAAM1C,aAAa,OACzB+C,EAAMkc,GAASzQ,GAGT,OAARzL,GACAA,EAAIG,WAAaX,OAAOoR,SAAS0K,KAAKnb,UACtC,CAAC,QAAS,UAAU5B,SAASyB,EAAIyc,WAEjCrO,GAAM3C,EAAK,QACNiE,KAAK,SAAAgN,GACF/c,EAAM6D,aAAa,MAAOhE,OAAOS,IAAI0c,gBAAgBD,MAExD9M,MAAM,WACH/L,EAAclE,OAalC,IACMid,EAAY3Q,IADOhX,UAAU2nB,WAAa,CAAC3nB,UAAUmkB,UAAYnkB,UAAU4nB,cAAgB,OACvDje,IAAI,SAAAwa,GAAQ,OAAIA,EAAStY,MAAM,KAAK,MAC1EsY,GAAY1jB,KAAKiY,QAAQjQ,IAAI,aAAehI,KAAKoG,OAAO0V,SAAS4H,UAAY,QAAQ1M,cAGzF,GAAiB,SAAb0M,EACCA,EADoBliB,EACR0lB,EADQ,GAAA,GAIzB,IAAIE,EAASpnB,KAAKiY,QAAQjQ,IAAI,YAa9B,GAZK5D,EAAGO,QAAQyiB,KACTA,EAAWpnB,KAAKoG,OAAO0V,SAAvBsL,QAGPtmB,OAAOuF,OAAOrG,KAAK8b,SAAU,CACzB2H,SAAS,EACT2D,OAAAA,EACA1D,SAAAA,EACAwD,UAAAA,IAIAlnB,KAAKsT,QAAS,CACd,IAAM+T,EAAcrnB,KAAKoG,OAAO0V,SAASpC,OAAS,uBAAyB,cAC3EpO,EAAGrI,KAAKjD,KAAMA,KAAKuT,MAAME,WAAY4T,EAAavL,GAASpC,OAAO6G,KAAKvgB,OAI3EiR,WAAW6K,GAASpC,OAAO6G,KAAKvgB,MAAO,KAI3C0Z,OA7Fa,WA6FJ,IAAA5S,EAAA9G,KACCujB,EAASzH,GAAS0H,UAAUvgB,KAAKjD,MAAM,GADxCsnB,EAGgDtnB,KAAK8b,SAAlDsL,EAHHE,EAGGF,OAAQ1D,EAHX4D,EAGW5D,SAAU6D,EAHrBD,EAGqBC,KAAMC,EAH3BF,EAG2BE,iBAC1BC,EAAiB5jB,QAAQ0f,EAAOxS,KAAK,SAAA9G,GAAK,OAAIA,EAAMyZ,WAAaA,KAGnE1jB,KAAKsT,SAAWtT,KAAK8U,SACrByO,EACKjb,OAAO,SAAA2B,GAAK,OAAKsd,EAAKvf,IAAIiC,KAC1BjD,QAAQ,SAAAiD,GACLnD,EAAKuP,MAAMC,IAAI,cAAerM,GAE9Bsd,EAAKrgB,IAAI+C,EAAO,CACZ0Y,QAAwB,YAAf1Y,EAAMyd,OAInB5mB,OAAOuF,OAAO4D,EAAO,CAAEyd,KAAM,WAG7Bpc,EAAGrI,KAAK6D,EAAMmD,EAAO,YAAa,WAAA,OAAM6R,GAAS6L,WAAW1kB,KAAK6D,QAKxE2gB,GAAkBznB,KAAK0jB,WAAaA,IAAcH,EAAO1a,SAAS2e,MACnE1L,GAAS8L,YAAY3kB,KAAKjD,KAAM0jB,GAChC5H,GAASjV,OAAO5D,KAAKjD,KAAMonB,GAAUK,IAIzC7X,EAAY5P,KAAK4M,SAASuD,UAAWnQ,KAAKoG,OAAOqK,WAAWqL,SAASvV,SAAUnC,EAAGgB,MAAMme,KAGnFvjB,KAAKoG,OAAO0U,UAAY,IAAIjS,SAAS,aAAe7I,KAAKoG,OAAOyV,SAAShT,SAAS,aACnFiS,GAASuI,gBAAgBpgB,KAAKjD,OAMtC6G,OAvIa,SAuINnD,GAAuB,IAAhBuH,IAAgB9C,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,KAAAA,UAAA,GAE1B,GAAKnI,KAAK4K,UAAUgI,GAApB,CAF0B,IAMlB6Q,EAAYzjB,KAAK8b,SAAjB2H,QACFoE,EAAc7nB,KAAKoG,OAAOqK,WAAWqL,SAASsL,OAG9CA,EAAShjB,EAAGC,gBAAgBX,IAAU+f,EAAU/f,EAGtD,GAAI0jB,IAAW3D,EAAS,CAQpB,GANKxY,IACDjL,KAAK8b,SAASsL,OAASA,EACvBpnB,KAAKiY,QAAQ/Q,IAAI,CAAE4U,SAAUsL,MAI5BpnB,KAAK0jB,UAAY0D,IAAWnc,EAAS,CACtC,IAAMsY,EAASzH,GAAS0H,UAAUvgB,KAAKjD,MACjCiK,EAAQ6R,GAASgM,UAAU7kB,KAAKjD,KAAxB,CAA+BA,KAAK8b,SAAS4H,UAA7Che,OAAA9C,EAA0D5C,KAAK8b,SAASoL,aAAY,GAOlG,OAJAlnB,KAAK8b,SAAS4H,SAAWzZ,EAAMyZ,cAG/B5H,GAAS5U,IAAIjE,KAAKjD,KAAMujB,EAAO9M,QAAQxM,IAKvCjK,KAAK4M,SAAS2O,QAAQO,WACtB9b,KAAK4M,SAAS2O,QAAQO,SAASgF,QAAUsG,GAI7CxX,EAAY5P,KAAK4M,SAASuD,UAAW0X,EAAaT,GAElDpnB,KAAK8b,SAAS2H,QAAU2D,EAGxBtM,GAAS0H,cAAcvf,KAAKjD,KAAM,YAGlC+L,EAAa9I,KAAKjD,KAAMA,KAAKuT,MAAO6T,EAAS,kBAAoB,uBAMzElgB,IA5La,SA4LT6F,GAAuB,IAAhB9B,IAAgB9C,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,KAAAA,UAAA,GACjBob,EAASzH,GAAS0H,UAAUvgB,KAAKjD,MAGvC,IAAe,IAAX+M,EAKJ,GAAK3I,EAAGG,OAAOwI,GAKf,GAAMA,KAASwW,EAAf,CAKA,GAAIvjB,KAAK8b,SAAS0E,eAAiBzT,EAAO,CACtC/M,KAAK8b,SAAS0E,aAAezT,EAC7B,IAAM9C,EAAQsZ,EAAOxW,GACb2W,GAAazZ,GAAS,IAAtByZ,SAGR1jB,KAAK8b,SAAS0L,iBAAmBvd,EAGjC6Q,GAAS0H,cAAcvf,KAAKjD,KAAM,YAG7BiL,IACDjL,KAAK8b,SAAS4H,SAAWA,EACzB1jB,KAAKiY,QAAQ/Q,IAAI,CAAEwc,SAAAA,KAInB1jB,KAAKkV,SACLlV,KAAKyU,MAAMsT,gBAAgBrE,GAI/B3X,EAAa9I,KAAKjD,KAAMA,KAAKuT,MAAO,kBAIxCuI,GAASjV,OAAO5D,KAAKjD,MAAM,EAAMiL,GAE7BjL,KAAKsT,SAAWtT,KAAK8U,SAErBgH,GAAS6L,WAAW1kB,KAAKjD,WAnCzBA,KAAKqW,MAAMqG,KAAK,kBAAmB3P,QALnC/M,KAAKqW,MAAMqG,KAAK,2BAA4B3P,QAL5C+O,GAASjV,OAAO5D,KAAKjD,MAAM,EAAOiL,IAmD1C2c,YApPa,SAoPDlkB,GAAuB,IAAhBuH,IAAgB9C,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,KAAAA,UAAA,GAC/B,GAAK/D,EAAGM,OAAOhB,GAAf,CAKA,IAAMggB,EAAWhgB,EAAMsT,cACvBhX,KAAK8b,SAAS4H,SAAWA,EAGzB,IAAMH,EAASzH,GAAS0H,UAAUvgB,KAAKjD,MACjCiK,EAAQ6R,GAASgM,UAAU7kB,KAAKjD,KAAM,CAAC0jB,IAC7C5H,GAAS5U,IAAIjE,KAAKjD,KAAMujB,EAAO9M,QAAQxM,GAAQgB,QAV3CjL,KAAKqW,MAAMqG,KAAK,4BAA6BhZ,IAgBrD8f,UAtQa,WAsQa,IAAA/X,EAAAzL,KAAhB0Z,EAAgBvR,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GAKtB,OAHezG,MAAMwB,MAAMlD,KAAKuT,OAAS,IAAIE,YAAc,IAItDnL,OAAO,SAAA2B,GAAK,OAAKwB,EAAK6H,SAAWoG,GAAUjO,EAAKqQ,SAASyL,KAAKS,IAAI/d,KAClE3B,OAAO,SAAA2B,GAAK,MAAI,CAAC,WAAY,aAAapB,SAASoB,EAAME,SAIlE2d,UAjRa,SAiRHZ,GAA0B,IAI5Bjd,EAJ4B8V,EAAA/f,KAAf6P,EAAe1H,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GAC1Bob,EAASzH,GAAS0H,UAAUvgB,KAAKjD,MACjCioB,EAAgB,SAAAhe,GAAK,OAAIzF,QAAQub,EAAKjE,SAASyL,KAAKvf,IAAIiC,IAAU,IAAI0Y,UACtEuF,EAASxmB,MAAMwB,KAAKqgB,GAAQN,KAAK,SAACC,EAAGC,GAAJ,OAAU8E,EAAc9E,GAAK8E,EAAc/E,KASlF,OANAgE,EAAUpT,MAAM,SAAA4P,GAEZ,QADAzZ,EAAQie,EAAOnX,KAAK,SAAA5H,GAAC,OAAIA,EAAEua,WAAaA,OAKrCzZ,IAAU4F,EAAQqY,EAAO,QAAKjmB,IAIzCkmB,gBAjSa,WAkST,OAAOrM,GAAS0H,UAAUvgB,KAAKjD,MAAMA,KAAKwgB,eAI9CoC,SAtSa,SAsSJ3Y,GACL,IAAIuW,EAAevW,EAMnB,OAJK7F,EAAG6F,MAAMuW,IAAiBpO,GAAQqB,YAAczT,KAAK8b,SAAS2H,UAC/DjD,EAAe1E,GAASqM,gBAAgBllB,KAAKjD,OAG7CoE,EAAG6F,MAAMuW,GACJpc,EAAGgB,MAAMob,EAAa3C,OAItBzZ,EAAGgB,MAAMob,EAAakD,UAIpBjM,GAAS,UAAWzX,KAAKoG,QAHrB6D,EAAMyZ,SAAS5M,cAJf0J,EAAa3C,MAUrBpG,GAAS,WAAYzX,KAAKoG,SAKrCuhB,WA9Ta,SA8TFjkB,GAEP,GAAK1D,KAAK4K,UAAUgI,GAIpB,GAAKxO,EAAGY,QAAQhF,KAAK4M,SAASkP,UAM9B,GAAK1X,EAAGC,gBAAgBX,IAAWhC,MAAMC,QAAQ+B,GAAjD,CAKA,IAAI0kB,EAAO1kB,EAGX,IAAK0kB,EAAM,CACP,IAAMne,EAAQ6R,GAASqM,gBAAgBllB,KAAKjD,MAE5CooB,EAAO1mB,MAAMwB,MAAM+G,GAAS,IAAIoe,YAAc,IACzCnf,IAAI,SAAAW,GAAG,OAAIA,EAAIye,iBACfpf,IAAIkO,IAIb,IAAM2C,EAAUqO,EAAKlf,IAAI,SAAAqf,GAAO,OAAIA,EAAQtZ,SAAQsO,KAAK,MAGzD,GAFgBxD,IAAY/Z,KAAK4M,SAASkP,SAASzE,UAEtC,CAEThJ,EAAarO,KAAK4M,SAASkP,UAC3B,IAAM0M,EAAUza,EAAc,OAAQa,EAA0B5O,KAAKoG,OAAOkV,UAAUkN,UACtFA,EAAQnR,UAAY0C,EACpB/Z,KAAK4M,SAASkP,SAASxO,YAAYkb,GAGnCzc,EAAa9I,KAAKjD,KAAMA,KAAKuT,MAAO,mBA3BpCvT,KAAKqW,MAAMqG,KAAK,4BAA6BhZ,QAN7C1D,KAAKqW,MAAMqG,KAAK,sCCzVtBrZ,GAAW,CAEbkD,SAAS,EAGTsR,MAAO,GAGPxB,OAAO,EAGPoS,UAAU,EAGVC,WAAW,EAIXjW,aAAa,EAGbkF,SAAU,GAGVwE,OAAQ,EACR0E,OAAO,EAGPvE,SAAU,KAIV+F,iBAAiB,EAGjBL,YAAY,EAGZ2G,cAAc,EAId3U,MAAO,KAGP4U,aAAa,EAGbC,cAAc,EAGdC,YAAY,EAGZC,oBAAoB,EAGpBzP,YAAY,EACZwD,WAAY,OACZ7B,QAAS,qCAGT7E,WAAY,uCAGZF,QAAS,CACLyM,QAAS,IACT3c,QAAS,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,MAIhEgjB,KAAM,CACF5B,QAAQ,GAMZ3G,MAAO,CACHwI,SAAU,EACVjjB,QAAS,CAAC,GAAK,IAAM,EAAG,KAAM,IAAK,KAAM,IAI7CkjB,SAAU,CACNC,SAAS,EACT3pB,QAAQ,GAIZkiB,SAAU,CACN5G,UAAU,EACVoB,MAAM,GAIVJ,SAAU,CACNsL,QAAQ,EACR1D,SAAU,OAGVhK,QAAQ,GAIZqC,WAAY,CACRxV,SAAS,EACT6iB,UAAU,EACVC,WAAW,GAIfpR,QAAS,CACL1R,SAAS,EACTvF,IAAK,QAIT8Z,SAAU,CACN,aAGA,OAEA,WACA,eACA,OACA,SACA,WACA,WACA,MACA,UAEA,cAEJe,SAAU,CAAC,WAAY,UAAW,SAGlCpE,KAAM,CACFgE,QAAS,UACTC,OAAQ,qBACR1F,KAAM,OACNwF,MAAO,QACPG,YAAa,sBACbO,KAAM,OACNoN,UAAW,8BACXvK,OAAQ,SACRuC,SAAU,WACV3L,YAAa,eACb2G,SAAU,WACVH,OAAQ,SACRP,KAAM,OACN2N,OAAQ,SACRC,eAAgB,kBAChBC,gBAAiB,mBACjBxE,SAAU,WACVyE,gBAAiB,mBACjBC,eAAgB,kBAChBC,WAAY,qBACZ9N,SAAU,WACVD,SAAU,WACVgO,SAAU,2BACVpJ,MAAO,QACPqJ,OAAQ,SACR5T,QAAS,UACT8S,KAAM,OACNe,MAAO,QACPC,IAAK,MACLC,IAAK,MACLC,MAAO,QACPpiB,SAAU,WACVvB,QAAS,UACT4jB,cAAe,KACfC,aAAc,CACVC,KAAM,KACNC,KAAM,KACNC,KAAM,KACNC,IAAK,KACLC,IAAK,KACLC,IAAK,OAKb7E,KAAM,CACFZ,SAAU,KACV1N,MAAO,CACHoT,IAAK,yCACLC,OAAQ,yCACRjY,IAAK,2CAET6E,QAAS,CACLmT,IAAK,qCACLhY,IAAK,qEAETkY,UAAW,CACPF,IAAK,uDAKb/jB,UAAW,CACPsV,KAAM,KACNlG,KAAM,KACNwF,MAAO,KACPC,QAAS,KACTC,OAAQ,KACRC,YAAa,KACbC,KAAM,KACNO,OAAQ,KACRL,SAAU,KACVmJ,SAAU,KACVlJ,WAAY,KACZjJ,IAAK,KACLI,QAAS,KACTuN,MAAO,KACPvK,QAAS,KACT8S,KAAM,KACNtF,SAAU,MAIdvY,OAAQ,CAGJ,QACA,WACA,UACA,UACA,UACA,UACA,iBACA,YACA,aACA,iBACA,aACA,eACA,OACA,QACA,QACA,UACA,SACA,UACA,aACA,YAGA,WACA,kBACA,iBACA,kBACA,mBACA,iBACA,iBACA,gBACA,QAGA,cAGA,gBAGA,YACA,kBACA,mBACA,YACA,cACA,cACA,iBACA,gBACA,YAKJmQ,UAAW,CACPwP,SAAU,6CACV3a,UAAW,QACX2K,SAAU,CACN3K,UAAW,KACXtD,QAAS,mBAEb0Z,OAAQ,cACRhL,QAAS,CACLvF,KAAM,qBACNwF,MAAO,sBACPC,QAAS,wBACTC,OAAQ,uBACRC,YAAa,6BACbC,KAAM,qBACNE,SAAU,yBACVmJ,SAAU,yBACVlJ,WAAY,2BACZjJ,IAAK,oBACLI,QAAS,wBACT2I,SAAU,yBACVmN,KAAM,sBAEV/M,OAAQ,CACJC,KAAM,qBACNC,OAAQ,uBACRsE,MAAO,sBACPiD,SAAU,yBACVxN,QAAS,yBAEbkG,QAAS,CACLzG,YAAa,uBACb2G,SAAU,wBACVD,OAAQ,0BACR2M,KAAM,wBACN7M,OAAQ,0BAEZH,SAAU,kBACVF,SAAU,kBACV0M,QAAS,kBAIb/X,WAAY,CACRxJ,KAAM,YACNuL,SAAU,YACVF,MAAO,sBACPmC,MAAO,oBACPY,gBAAiB,mCACjB0V,eAAgB,+BAChBC,OAAQ,eACRC,cAAe,uBACfC,IAAK,YACLhN,QAAS,gBACTmI,eAAgB,yBAChB8E,QAAS,gBACTvV,OAAQ,eACRwV,QAAS,gBACTC,QAAS,gBACTC,MAAO,cACP9O,QAAS,gBACT4L,KAAM,aACN3Y,OAAQ,gBACRoZ,aAAc,sBACdhX,MAAO,eACP0Z,QAAS,iBACTC,YAAa,gBACbC,aAAc,sBACdrP,QAAS,CACL5B,KAAM,cAEVkD,KAAM,CACFnc,MAAO,oBACPkc,MAAO,cACPrE,KAAM,mBAEV0C,SAAU,CACNvV,QAAS,yBACT6gB,OAAQ,yBAEZrL,WAAY,CACRxV,QAAS,2BACT6iB,SAAU,6BAEdtW,IAAK,CACDlI,UAAW,sBACXwc,OAAQ,oBAEZlU,QAAS,CACLtI,UAAW,0BACXwc,OAAQ,wBAEZ9W,SAAU,kBACVob,kBAAmB,CAEfC,eAAgB,sBAChBC,oBAAqB,gCACrBC,eAAgB,uCAChBC,cAAe,sCAEfC,mBAAoB,0BACpBC,wBAAyB,sCAKjCve,WAAY,CACRgH,MAAO,CACHjC,SAAU,qBACVjD,GAAI,uBAMZ2b,IAAK,CACD3kB,SAAS,EACT0lB,YAAa,GACbC,OAAQ,IAIZR,kBAAmB,CACfnlB,SAAS,EACTwP,IAAK,IAITwB,MAAO,CACH4U,QAAQ,EACRC,UAAU,EACVvU,OAAO,EACP4I,OAAO,EACP4L,aAAa,GAIjB7U,QAAS,CACL8U,UAAU,EACVC,IAAK,EACLC,SAAU,EACVC,eAAgB,EAChBC,eAAgB,ICnaX5Z,GACD,qBADCA,GAEC,SCFD6Z,GAAY,CACrBrX,MAAO,QACPkC,QAAS,UACTD,MAAO,SAGEqV,GAAQ,CACjBva,MAAO,QACPC,MAAO,SCRX,IAAMua,GAAO,aAEQC,G7Bm5HnB,W6Bl5HE,SAAAA,IAA6B,IAAjBvmB,EAAiB4B,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GAAAlI,EAAAD,KAAA8sB,GACzB9sB,KAAKuG,QAAUuD,OAAOijB,SAAWxmB,EAE7BvG,KAAKuG,SACLvG,KAAKsW,IAAI,qB7B+6HjB,OApBArV,EAAa6rB,EAAS,CAAC,CACrB9rB,IAAK,MACLgH,IAAK,W6Bv5HH,OAAOhI,KAAKuG,QAAU1B,SAASzD,UAAUmf,KAAKtd,KAAK8pB,QAAQzW,IAAKyW,SAAWF,K7B25H5E,CACD7rB,IAAK,OACLgH,IAAK,W6Bx5HH,OAAOhI,KAAKuG,QAAU1B,SAASzD,UAAUmf,KAAKtd,KAAK8pB,QAAQrQ,KAAMqQ,SAAWF,K7B45H7E,CACD7rB,IAAK,QACLgH,IAAK,W6Bz5HH,OAAOhI,KAAKuG,QAAU1B,SAASzD,UAAUmf,KAAKtd,KAAK8pB,QAAQtQ,MAAOsQ,SAAWF,O7B+5H1EC,EAjCT,G8B74HF,SAASE,KACL,GAAKhtB,KAAKuG,QAAV,CAKA,IAAM4X,EAASne,KAAKyV,OAAO7I,SAAS2O,QAAQQ,WACxC3X,EAAGY,QAAQmZ,KACXA,EAAO2C,QAAU9gB,KAAKonB,QAI1Brb,EAAa9I,KAAKjD,KAAKyV,OAAQzV,KAAKM,OAAQN,KAAKonB,OAAS,kBAAoB,kBAAkB,GAG3FhW,GAAQS,OpBmOV,WAAmD,IAAhC7M,EAAgCmD,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAtB,KAAMtB,EAAgBsB,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GACtD,GAAK/D,EAAGY,QAAQA,GAAhB,CAIA,IAAMkY,EAAYhN,EAAYjN,KAAKjD,KAAM,2DACnCitB,EAAQ/P,EAAU,GAClBgQ,EAAOhQ,EAAUA,EAAUzc,OAAS,GAsB1CsK,EAAe9H,KAAKjD,KAAMA,KAAK4M,SAASuD,UAAW,UApBtC,SAAAjL,GAET,GAAkB,QAAdA,EAAMlE,KAAmC,IAAlBkE,EAAMioB,QAAjC,CAKA,IAAMhE,EAAUljB,SAASmnB,cAErBjE,IAAY+D,GAAShoB,EAAMmoB,SAIpBlE,IAAY8D,GAAS/nB,EAAMmoB,WAElCH,EAAK3c,QACLrL,EAAM6C,mBALNklB,EAAM1c,QACNrL,EAAM6C,oBAQsDlB,GAAQ,KoB/P9D5D,KAAKjD,KAAKyV,OAAQzV,KAAKM,OAAQN,KAAKonB,SAItD,SAASkG,KAA+B,IAAAxmB,EAAA9G,KAAhB6G,EAAgBsB,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GAkBpC,GAhBItB,EACA7G,KAAKutB,eAAiB,CAClBC,EAAG1jB,OAAO2jB,SAAW,EACrBC,EAAG5jB,OAAO6jB,SAAW,GAGzB7jB,OAAO8jB,SAAS5tB,KAAKutB,eAAeC,EAAGxtB,KAAKutB,eAAeG,GAI/DznB,SAAS8C,KAAKvC,MAAMqnB,SAAWhnB,EAAS,SAAW,GAGnD+I,EAAY5P,KAAKM,OAAQN,KAAKyV,OAAOrP,OAAOqK,WAAWsL,WAAWqN,SAAUviB,GAGxEuK,GAAQS,MAAO,CACf,IAAIic,EAAW7nB,SAAS8nB,KAAK7nB,cAAc,yBACrC8nB,EAAW,qBAGZF,IACDA,EAAW7nB,SAAS8H,cAAc,SACzBD,aAAa,OAAQ,YAIlC,IAAMmgB,EAAc7pB,EAAGM,OAAOopB,EAAS/T,UAAY+T,EAAS/T,QAAQlR,SAASmlB,GAEzEnnB,GACA7G,KAAKkuB,iBAAmBD,EAEnBA,IACDH,EAAS/T,SAAT,IAAArU,OAAwBsoB,KAErBhuB,KAAKkuB,kBACZJ,EAAS/T,QAAU+T,EAAS/T,QACvB3O,MAAM,KACN9C,OAAO,SAAA6lB,GAAI,OAAIA,EAAKlf,SAAW+e,IAC/BzQ,KAAK,MAIdtM,WAAW,WAAA,OAAMD,EAAQlK,EAAKxG,SAAS,KAI3C0sB,GAAS/pB,KAAKjD,M9Bs7HhB,I8Bn7HIouB,G9Bq7HJ,W8Bp7HE,SAAAA,EAAY3Y,GAAQ,IAAAhK,EAAAzL,KAAAC,EAAAD,KAAAouB,GAEhBpuB,KAAKyV,OAASA,EAGdzV,KAAKquB,OAASD,EAAWC,OACzBruB,KAAKguB,SAAWI,EAAWJ,SAG3BhuB,KAAKutB,eAAiB,CAAEC,EAAG,EAAGE,EAAG,GAGjC1tB,KAAKsuB,cAAsD,UAAtC7Y,EAAOrP,OAAO2V,WAAWqN,SAI9C9d,EAAGrI,KACCjD,KAAKyV,OACLxP,SACgB,OAAhBjG,KAAKquB,OAAkB,qBAAvB,GAAA3oB,OAAiD1F,KAAKquB,OAAtD,oBACA,WAEIrB,GAAS/pB,KAAKwI,KAKtBH,EAAGrI,KAAKjD,KAAKyV,OAAQzV,KAAKyV,OAAO7I,SAASuD,UAAW,WAAY,SAAAjL,GAEzDd,EAAGY,QAAQyG,EAAKgK,OAAO7I,SAASkO,WAAarP,EAAKgK,OAAO7I,SAASkO,SAAS/K,SAAS7K,EAAM5E,SAI9FmL,EAAK5E,WAIT7G,KAAK0Z,S9BkkIT,OA7IAzY,EAAamtB,EAAY,CAAC,CACxBptB,IAAK,SAELO,MAAO,W8Bv2HD,IAAImmB,EADJ1nB,KAAKuG,SAIDmhB,EADA1nB,KAAKsuB,cACE,oBACAF,EAAWG,OACX,SAEA,WAGXvuB,KAAKyV,OAAOY,MAAMC,IAAlB,GAAA5Q,OAAyBgiB,EAAzB,yBAEA1nB,KAAKyV,OAAOY,MAAMC,IAAI,kDAI1B1G,EAAY5P,KAAKyV,OAAO7I,SAASuD,UAAWnQ,KAAKyV,OAAOrP,OAAOqK,WAAWsL,WAAWxV,QAASvG,KAAKuG,W9B42HpG,CACDvF,IAAK,QACLO,MAAO,W8Bz2HAvB,KAAKuG,UAKN6K,GAAQS,OAAS7R,KAAKyV,OAAOrP,OAAO2V,WAAWsN,UAC/CrpB,KAAKM,OAAOkuB,yBACJJ,EAAWG,QAAUvuB,KAAKsuB,cAClChB,GAAerqB,KAAKjD,MAAM,GAClBA,KAAKquB,OAELjqB,EAAGgB,MAAMpF,KAAKquB,SACtBruB,KAAKM,OAAL,GAAAoF,OAAe1F,KAAKquB,OAApB,WAAA3oB,OAAoC1F,KAAKguB,aAFzChuB,KAAKM,OAAOmuB,uB9Bg3HjB,CACDztB,IAAK,OACLO,MAAO,W8B12HL,GAAKvB,KAAKuG,QAKV,GAAI6K,GAAQS,OAAS7R,KAAKyV,OAAOrP,OAAO2V,WAAWsN,UAC/CrpB,KAAKM,OAAOouB,uBACZ1uB,KAAKyV,OAAOO,YACT,IAAKoY,EAAWG,QAAUvuB,KAAKsuB,cAClChB,GAAerqB,KAAKjD,MAAM,QACvB,GAAKA,KAAKquB,QAEV,IAAKjqB,EAAGgB,MAAMpF,KAAKquB,QAAS,CAC/B,IAAMM,EAAyB,QAAhB3uB,KAAKquB,OAAmB,SAAW,OAClDpoB,SAAQ,GAAAP,OAAI1F,KAAKquB,QAAT3oB,OAAkBipB,GAAlBjpB,OAA2B1F,KAAKguB,mBAHvC/nB,SAAS2oB,kBAAoB3oB,SAAS0jB,gBAAgB1mB,KAAKgD,Y9Bk3HjE,CACDjF,IAAK,SACLO,MAAO,W8B32HAvB,KAAKonB,OAGNpnB,KAAK6uB,OAFL7uB,KAAK8uB,U9Bi3HV,CACD9tB,IAAK,cAELgH,IAAK,W8Bl/HH,OAAOomB,EAAWG,SAAWvuB,KAAKsuB,gB9Bs/HnC,CACDttB,IAAK,UAELgH,IAAK,W8Bz9HH,OACKomB,EAAWG,QAAUvuB,KAAKyV,OAAOrP,OAAO2V,WAAWqN,WACpDppB,KAAKyV,OAAOrP,OAAO2V,WAAWxV,SAC9BvG,KAAKyV,OAAO7K,UAAUgI,IACtB5S,KAAKyV,OAAOX,U9By9HjB,CACD9T,IAAK,SACLgH,IAAK,W8Br9HH,QAAKhI,KAAKuG,WAKL6nB,EAAWG,QAAUvuB,KAAKsuB,cACpBte,EAAShQ,KAAKM,OAAQN,KAAKyV,OAAOrP,OAAOqK,WAAWsL,WAAWqN,WAGzDppB,KAAKquB,OAAsCpoB,SAAQ,GAAAP,OAAI1F,KAAKquB,QAAT3oB,OAAkB1F,KAAKguB,SAAvB,YAArC/nB,SAAS8oB,qBAErB/uB,KAAKM,U9Bw9HzB,CACDU,IAAK,SACLgH,IAAK,W8Br9HH,OAAOoJ,GAAQS,OAAS7R,KAAKyV,OAAOrP,OAAO2V,WAAWsN,UAChDrpB,KAAKyV,OAAOlC,MACZvT,KAAKyV,OAAO7I,SAASuD,a9Bs9H3B,CAAC,CACHnP,IAAK,SACLgH,IAAK,W8B9hIH,SACI/B,SAAS+oB,mBACT/oB,SAASgpB,yBACThpB,SAASipB,sBACTjpB,SAASkpB,uB9B6hId,CACDnuB,IAAK,SACLgH,IAAK,W8BnhIH,GAAI5D,EAAGQ,SAASqB,SAAS0jB,gBACrB,MAAO,GAIX,IAAIpoB,EAAQ,GAYZ,MAXiB,CAAC,SAAU,MAAO,MAE1Byc,KAAK,SAAAoR,GACV,SAAIhrB,EAAGQ,SAASqB,SAAQ,GAAAP,OAAI0pB,EAAJ,sBAA6BhrB,EAAGQ,SAASqB,SAAQ,GAAAP,OAAI0pB,EAAJ,yBACrE7tB,EAAQ6tB,GACD,KAMR7tB,I9BqhIR,CACDP,IAAK,WACLgH,IAAK,W8BnhIH,MAAuB,QAAhBhI,KAAKquB,OAAmB,aAAe,iB9BwhI3CD,EAnLT,G+BngIa,SAASiB,GAAUtZ,GAAmB,IAAduZ,EAAcnnB,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAH,EAC9C,OAAO,IAAIkC,QAAQ,SAACuO,EAASC,GACzB,IAAM0W,EAAQ,IAAIC,MAEZC,EAAU,kBACLF,EAAMG,cACNH,EAAMI,SACZJ,EAAMK,cAAgBN,EAAW1W,EAAUC,GAAQ0W,IAGxDzuB,OAAOuF,OAAOkpB,EAAO,CAAEG,OAAQD,EAASE,QAASF,EAAS1Z,IAAAA,MCFlE,IAAMnD,GAAK,CACPid,aADO,WAEHjgB,EAAY5P,KAAK4M,SAASuD,UAAWnQ,KAAKoG,OAAOkV,UAAUnL,UAAUhB,QAAQ,IAAK,KAAK,GACvFS,EAAY5P,KAAK4M,SAASuD,UAAWnQ,KAAKoG,OAAOqK,WAAW+a,YAAaxrB,KAAK4K,UAAUgI,KAI5F+J,qBAPO,WAO8BxU,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,IACnBnI,KAAKsT,QACftT,KAAKuT,MAAMzF,aAAa,WAAY,IAEpC9N,KAAKuT,MAAM5D,gBAAgB,aAKnCmgB,MAhBO,WAgBC,IAAAhpB,EAAA9G,KAMJ,GAHAA,KAAK4G,UAAU2M,SAGVvT,KAAK4K,UAAUgI,GAOhB,OANA5S,KAAKqW,MAAMqG,KAAX,0BAAAhX,OAA0C1F,KAAKwS,SAA/C,KAAA9M,OAA2D1F,KAAKiH,YAGhE2L,GAAG+J,qBAAqB1Z,KAAKjD,MAAM,GAOlCoE,EAAGY,QAAQhF,KAAK4M,SAASkO,YAE1BA,GAASiL,OAAO9iB,KAAKjD,MAGrBA,KAAK4G,UAAUkU,YAInBlI,GAAG+J,qBAAqB1Z,KAAKjD,MAGzBA,KAAKsT,SACLwI,GAAS6C,MAAM1b,KAAKjD,MAIxBA,KAAKmc,OAAS,KAGdnc,KAAK6gB,MAAQ,KAGb7gB,KAAKgpB,KAAO,KAGZhpB,KAAKkW,QAAU,KAGflW,KAAKygB,MAAQ,KAGb3F,GAAS6F,aAAa1d,KAAKjD,MAG3B8a,GAASgH,WAAW7e,KAAKjD,MAGzB4S,GAAGmd,aAAa9sB,KAAKjD,MAGrB4P,EACI5P,KAAK4M,SAASuD,UACdnQ,KAAKoG,OAAOqK,WAAWqC,IAAIlI,UAC3BwH,GAAQU,KAAO9S,KAAKsT,SAAWtT,KAAK8U,SAIxClF,EAAY5P,KAAK4M,SAASuD,UAAWnQ,KAAKoG,OAAOqK,WAAWyC,QAAQtI,UAAWwH,GAAQc,SAAWlT,KAAKsT,SAGvG1D,EAAY5P,KAAK4M,SAASuD,UAAWnQ,KAAKoG,OAAOqK,WAAWoB,MAAOT,GAAQS,OAG3EjC,EAAY5P,KAAK4M,SAASuD,UAAWnQ,KAAKoG,OAAOqK,WAAW8a,QAASvrB,KAAKoH,OAG1EpH,KAAKgwB,OAAQ,EAGb/e,WAAW,WACPlF,EAAa9I,KAAK6D,EAAMA,EAAKyM,MAAO,UACrC,GAGHX,GAAGqd,SAAShtB,KAAKjD,MAGbA,KAAKgrB,QACLpY,GAAGsd,UAAUjtB,KAAKjD,KAAMA,KAAKgrB,QAAQ,GAAO9Q,MAAM,cAKlDla,KAAKoG,OAAOkW,UACZxB,GAASoH,eAAejf,KAAKjD,OAKrCiwB,SAjHO,WAmHH,IAAIpS,EAAQpG,GAAS,OAAQzX,KAAKoG,QAclC,GAXIhC,EAAGM,OAAO1E,KAAKoG,OAAOyR,SAAWzT,EAAGgB,MAAMpF,KAAKoG,OAAOyR,SACtDgG,GAAK,KAAAnY,OAAS1F,KAAKoG,OAAOyR,QAI9BnW,MAAMwB,KAAKlD,KAAK4M,SAAS2O,QAAQvF,MAAQ,IAAIhP,QAAQ,SAAAmX,GACjDA,EAAOrQ,aAAa,aAAc+P,KAKlC7d,KAAK8lB,QAAS,CACd,IAAM8E,EAASxa,EAAWnN,KAAKjD,KAAM,UAErC,IAAKoE,EAAGY,QAAQ4lB,GACZ,OAIJ,IAAM/S,EAASzT,EAAGgB,MAAMpF,KAAKoG,OAAOyR,OAA6B,QAApB7X,KAAKoG,OAAOyR,MACnDnB,EAASe,GAAS,aAAczX,KAAKoG,QAE3CwkB,EAAO9c,aAAa,QAAS4I,EAAOvH,QAAQ,UAAW0I,MAK/DsY,aAjJO,SAiJMC,GACTxgB,EAAY5P,KAAK4M,SAASuD,UAAWnQ,KAAKoG,OAAOqK,WAAWwa,cAAemF,IAK/EF,UAvJO,SAuJGlF,GAAwB,IAAAvf,EAAAzL,KAE9B,OAF8BmI,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,KAAAA,UAAA,KAEfnI,KAAKgrB,QAKpBhrB,KAAKuT,MAAMzF,aAAa,SAAUkd,GxB1DnC,WAAiB,IAAAjL,EAAA/f,KACpB,OAAO,IAAIqK,QAAQ,SAAAuO,GAAO,OACtBmH,EAAKiQ,MAAQ/e,WAAW2H,EAAS,GAAKtN,EAAGrI,KAAK8c,EAAMA,EAAKnT,SAASuD,UAAW,QAASyI,KACxFoB,KAAK,ewB4DM/W,KAAKjD,MAELga,KAAK,WAAA,OAAMqV,GAAUrE,KACrB9Q,MAAM,SAAAzX,GAMH,MAJIuoB,IAAWvf,EAAKuf,QAChBpY,GAAGud,aAAaltB,KAAKwI,GAAM,GAGzBhJ,IAETuX,KAAK,WAEF,GAAIgR,IAAWvf,EAAKuf,OAChB,MAAM,IAAI9R,MAAM,oDAGvBc,KAAK,WAOF,OANAlZ,OAAOuF,OAAOoF,EAAKmB,SAASoe,OAAOxkB,MAAO,CACtC6pB,gBAAe,QAAA3qB,OAAUslB,EAAV,MAEfsF,eAAgB,KAEpB1d,GAAGud,aAAaltB,KAAKwI,GAAM,GACpBuf,KAjCR3gB,QAAQwO,OAAO,IAAIK,MAAM,wBAuCxC6W,aAjMO,SAiMM7qB,GAAO,IAAA6a,EAAA/f,KAEhB4P,EAAY5P,KAAK4M,SAASuD,UAAWnQ,KAAKoG,OAAOqK,WAAW0a,QAASnrB,KAAKmrB,SAC1Evb,EAAY5P,KAAK4M,SAASuD,UAAWnQ,KAAKoG,OAAOqK,WAAWmF,OAAQ5V,KAAK4V,QACzEhG,EAAY5P,KAAK4M,SAASuD,UAAWnQ,KAAKoG,OAAOqK,WAAW2a,QAASprB,KAAKorB,SAG1E1pB,MAAMwB,KAAKlD,KAAK4M,SAAS2O,QAAQvF,MAAQ,IAAIhP,QAAQ,SAAA1G,GACjDQ,OAAOuF,OAAO/F,EAAQ,CAAEwgB,QAASf,EAAKoL,YAItC/mB,EAAGc,MAAMA,IAAyB,eAAfA,EAAM+B,MAK7B2L,GAAG2d,eAAettB,KAAKjD,OAI3BwwB,aAtNO,SAsNMtrB,GAAO,IAAA8b,EAAAhhB,KAChBA,KAAKqrB,QAAU,CAAC,UAAW,WAAWxiB,SAAS3D,EAAM+B,MAGrDwpB,aAAazwB,KAAK0wB,OAAOrF,SAGzBrrB,KAAK0wB,OAAOrF,QAAUpa,WAClB,WAEIrB,EAAYoR,EAAKpU,SAASuD,UAAW6Q,EAAK5a,OAAOqK,WAAW4a,QAASrK,EAAKqK,SAG1EzY,GAAG2d,eAAettB,KAAK+d,IAE3BhhB,KAAKqrB,QAAU,IAAM,IAK7BkF,eA1OO,SA0OQ1gB,GAAO,IACA8gB,EAAoB3wB,KAAK4M,SAAnCkO,SAER,GAAI6V,GAAmB3wB,KAAKoG,OAAOyiB,aAAc,CAE7C,IAAM+H,EAAkB5wB,KAAKoH,OAASpH,KAAK6wB,aAAe,IAAOC,KAAKC,MAGtE/wB,KAAKuwB,eACD1sB,QACIgM,GACI7P,KAAKqrB,SACLrrB,KAAK4V,QACL+a,EAAgB7P,SAChB6P,EAAgBrF,OAChBsF,OC1PlBI,GjCi6IJ,WiCh6IE,SAAAA,EAAYvb,GAAQxV,EAAAD,KAAAgxB,GAChBhxB,KAAKyV,OAASA,EACdzV,KAAKixB,QAAU,KACfjxB,KAAKkxB,WAAa,KAClBlxB,KAAKmxB,YAAc,KAEnBnxB,KAAKoxB,UAAYpxB,KAAKoxB,UAAU7Q,KAAKvgB,MACrCA,KAAKkkB,WAAalkB,KAAKkkB,WAAW3D,KAAKvgB,MACvCA,KAAKqxB,YAAcrxB,KAAKqxB,YAAY9Q,KAAKvgB,MACzCA,KAAKsxB,WAAatxB,KAAKsxB,WAAW/Q,KAAKvgB,MjC8pK3C,OAxvBAiB,EAAa+vB,EAAW,CAAC,CACvBhwB,IAAK,YACLO,MAAO,SiCp6IC2D,GAAO,IACLuQ,EAAWzV,KAAXyV,OACA7I,EAAa6I,EAAb7I,SACF2kB,EAAOrsB,EAAMioB,QAAUjoB,EAAMioB,QAAUjoB,EAAMma,MAC7CyB,EAAyB,YAAf5b,EAAM+B,KAChBuqB,EAAS1Q,GAAWyQ,IAASvxB,KAAKixB,QAGxC,KAAI/rB,EAAMusB,QAAUvsB,EAAMwsB,SAAWxsB,EAAMysB,SAAWzsB,EAAMmoB,WAMvDjpB,EAAGG,OAAOgtB,GAAf,CAYA,GAAIzQ,EAAS,CAIT,IAAMqI,EAAUljB,SAASmnB,cACzB,GAAIhpB,EAAGY,QAAQmkB,GAAU,CAAA,IACb2B,EAAarV,EAAOrP,OAAOkV,UAA3BwP,SAGR,GAAI3B,IAFavc,EAASqP,OAAlBC,MAEgBjM,EAAQkZ,EAAS2B,GACrC,OAGJ,GAAoB,KAAhB5lB,EAAMma,OAAgBpP,EAAQkZ,EAAS,8BACvC,OAaR,OARuB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrFtgB,SAAS0oB,KACxBrsB,EAAM6C,iBACN7C,EAAMoa,mBAGFiS,GACJ,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GAEIC,IA5Cb/b,EAAOE,YAAeF,EAAO6G,SAAW,IAAOiV,EAAO,KA+C9C,MAEJ,KAAK,GACL,KAAK,GAEIC,GACD/b,EAAOmc,aAEX,MAEJ,KAAK,GAEDnc,EAAOoc,eAAe,IACtB,MAEJ,KAAK,GAEDpc,EAAOqc,eAAe,IACtB,MAEJ,KAAK,GAEIN,IACD/b,EAAOoL,OAASpL,EAAOoL,OAE3B,MAEJ,KAAK,GAEDpL,EAAOsc,UACP,MAEJ,KAAK,GAEDtc,EAAOiG,SACP,MAEJ,KAAK,GAEDjG,EAAOsG,WAAWlV,SAClB,MAEJ,KAAK,GAEI2qB,GACD/b,EAAOuc,iBAEX,MAEJ,KAAK,GAEDvc,EAAOuT,MAAQvT,EAAOuT,KAqBjB,KAATuI,IAAgB9b,EAAOsG,WAAWkW,aAAexc,EAAOsG,WAAWqL,QACnE3R,EAAOsG,WAAWlV,SAItB7G,KAAKixB,QAAUM,OAEfvxB,KAAKixB,QAAU,QjCy6IpB,CACDjwB,IAAK,aACLO,MAAO,SiCt6IE2D,GACP4V,GAASoJ,WAAWjhB,KAAKjD,KAAKyV,OAAQvQ,KjCy6IvC,CACDlE,IAAK,aACLO,MAAO,WiCv6II,IACDkU,EAAWzV,KAAXyV,OACA7I,EAAa6I,EAAb7I,SAER6I,EAAOrO,OAAQ,EAGfwI,EAAYhD,EAASuD,UAAWsF,EAAOrP,OAAOqK,WAAW8a,SAAS,KjCu6InE,CACDvqB,IAAK,cACLO,MAAO,SiCt6IG2D,GAAO,IACPuQ,EAAWzV,KAAXyV,OACA7I,EAAa6I,EAAb7I,SAKR,GAHA6jB,aAAazwB,KAAKkxB,YAGC,YAAfhsB,EAAM+B,MAAsC,IAAhB/B,EAAMma,MAAtC,CAKmB,YAAfna,EAAM+B,OACNjH,KAAKmxB,YAAcjsB,EAAMgtB,WAI7B,IACUhjB,EAMJijB,EAAajtB,EAAMgtB,UAAYlyB,KAAKmxB,aAAe,GAGzD,GAAmB,UAAfjsB,EAAM+B,MAAqBkrB,EATrBjjB,EAAYuG,EAAOrP,OAAOqK,WAAWH,SAE3CV,EADgBM,EAAYjN,KAAKwS,EAAjB,IAAA/P,OAA6BwJ,IACxBA,GAAW,GAgBpClP,KAAKkxB,WAAajgB,WAAW,WACzB,IAAMkY,EAAUljB,SAASmnB,cAGpBxgB,EAASuD,UAAUJ,SAASoZ,IAIjCvZ,EAAY3J,SAASmnB,cAAe3X,EAAOrP,OAAOqK,WAAWH,UAAU,IACxE,OjCo6IJ,CACDtP,IAAK,SACLO,MAAO,WiCl6Ia,IAAfsF,IAAesB,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,KAAAA,UAAA,GACVsN,EAAWzV,KAAXyV,OAGJA,EAAOrP,OAAO8iB,SAAS1pB,QACvBuL,EAAe9H,KAAKwS,EAAQ3L,OAAQ,gBAAiB9J,KAAKoxB,UAAWvqB,GAAQ,GAIjFkE,EAAe9H,KAAKwS,EAAQxP,SAAS8C,KAAM,QAAS/I,KAAKkkB,WAAYrd,GAGrE2E,EAAKvI,KAAKwS,EAAQxP,SAAS8C,KAAM,aAAc/I,KAAKsxB,YAGpDvmB,EAAe9H,KAAKwS,EAAQxP,SAAS8C,KAAM,qBAAsB/I,KAAKqxB,YAAaxqB,GAAQ,GAAO,KjCm6InG,CACD7F,IAAK,YACLO,MAAO,WiCj6IG,IACAkU,EAAWzV,KAAXyV,OACArP,EAA6BqP,EAA7BrP,OAAQwG,EAAqB6I,EAArB7I,SAAU8jB,EAAWjb,EAAXib,QAGrBtqB,EAAO8iB,SAAS1pB,QAAU4G,EAAO8iB,SAASC,SAC3C7d,EAAGrI,KAAKwS,EAAQ7I,EAASuD,UAAW,gBAAiBnQ,KAAKoxB,WAAW,GAIzE9lB,EAAGrI,KACCwS,EACA7I,EAASuD,UACT,2EACA,SAAAjL,GAAS,IACayrB,EAAoB/jB,EAA9BkO,SAGJ6V,GAAkC,oBAAfzrB,EAAM+B,OACzB0pB,EAAgB7P,SAAU,EAC1B6P,EAAgBrF,OAAQ,GAI5B,IACI8G,EAAQ,EADC,CAAC,aAAc,YAAa,aAAavpB,SAAS3D,EAAM+B,QAIjE2L,GAAG2d,eAAettB,KAAKwS,GAAQ,GAE/B2c,EAAQ3c,EAAOrO,MAAQ,IAAO,KAIlCqpB,aAAaC,EAAO5V,UAGpB4V,EAAO5V,SAAW7J,WAAW,WAAA,OAAM2B,GAAG2d,eAAettB,KAAKwS,GAAQ,IAAQ2c,KAalF,IAcMC,EAAgB,SAAAC,GAElB,IAAKA,EACD,OAAOzd,GAAe5R,KAAKwS,GAG/B,IAAM8c,EAAO3lB,EAASuD,UAAUzI,wBACxBC,EAAkB4qB,EAAlB5qB,MAAOuM,EAAWqe,EAAXre,OAEf,OAAOW,GAAe5R,KAAKwS,EAApB,GAAA/P,OAA+BiC,EAA/B,KAAAjC,OAAwCwO,KAG7Cse,EAAU,WACZ/B,aAAaC,EAAO8B,SACpB9B,EAAO8B,QAAUvhB,WAAWohB,EAAe,KAG/C/mB,EAAGrI,KAAKwS,EAAQ7I,EAASuD,UAAW,iCAAkC,SAAAjL,GAAS,IAAAutB,EAC3Chd,EAAOsG,WAA/Bzb,EADmEmyB,EACnEnyB,OAAQ2xB,EAD2DQ,EAC3DR,YAGhB,GAAKxc,EAAOqQ,SAAWxlB,IAAWsM,EAASuD,UAA3C,CAIA,IAAMuiB,EAAyB,oBAAfxtB,EAAM+B,KARqD0rB,EAUhDN,EAAcK,GAVkCC,EAUnE3d,SAzCM,SAAChB,EAAOgB,EAASnO,GAC/B,GAAK4O,EAAOP,QAAZ,CAIA,IAAM5U,EAASmV,EAAO7I,SAASC,QAAQ+lB,WAC9BlF,EANiClsB,EAM5BwS,EAN4B,GAAA,GAAA6e,EAAArxB,EAOjB+S,GAAetR,KAAKwS,GAPH,GAOnCqd,EAPmCD,EAAA,GAO3BE,EAP2BF,EAAA,GAS1CvyB,EAAOkG,MAAMwsB,SAAWnsB,EAAM,GAAAnB,OAAOgoB,EAAIqF,EAAUD,EAArB,MAAkC,KAChExyB,EAAOkG,MAAMysB,OAASpsB,EAAS,SAAW,MAkC1CqsB,CAb2EP,EAU1D3e,MAGAgB,EAAS0d,GAGrBT,IACGS,EACApnB,EAAGrI,KAAKwS,EAAQ3L,OAAQ,SAAU0oB,GAElCjnB,EAAItI,KAAKwS,EAAQ3L,OAAQ,SAAU0oB,SjC06IhD,CACDxxB,IAAK,QACLO,MAAO,WiCr6ID,IAAAuF,EAAA9G,KACIyV,EAAWzV,KAAXyV,OACA7I,EAAa6I,EAAb7I,SA2CR,GAxCAtB,EAAGrI,KAAKwS,EAAQA,EAAOlC,MAAO,4BAA6B,SAAArO,GAAK,OAAI4V,GAASgH,WAAW7e,KAAKwS,EAAQvQ,KAGrGoG,EAAGrI,KAAKwS,EAAQA,EAAOlC,MAAO,2CAA4C,SAAArO,GAAK,OAC3E4V,GAASoH,eAAejf,KAAKwS,EAAQvQ,KAKzCoG,EAAGrI,KAAKwS,EAAQA,EAAOlC,MAAO,qBAAsB,WAChD/D,EAAa5C,EAASuP,QAAS1G,EAAO0d,UACtC3jB,EAAa5C,EAAS2O,QAAQK,MAAOnG,EAAO0d,YAIhD7nB,EAAGrI,KAAKwS,EAAQA,EAAOlC,MAAO,QAAS,WAE/BkC,EAAOnC,SAAWmC,EAAOX,SAAWW,EAAOrP,OAAO0iB,YAElDrT,EAAOgG,YAKfnQ,EAAGrI,KAAKwS,EAAQA,EAAOlC,MAAO,kCAAmC,SAAArO,GAAK,OAClE4V,GAASiG,eAAe9d,KAAKwS,EAAQvQ,KAIzCoG,EAAGrI,KAAKwS,EAAQA,EAAOlC,MAAO,eAAgB,SAAArO,GAAK,OAAI4V,GAAS6F,aAAa1d,KAAKwS,EAAQvQ,KAG1FoG,EAAGrI,KAAKwS,EAAQA,EAAOlC,MAAO,8CAA+C,SAAArO,GAAK,OAC9E0N,GAAGmd,aAAa9sB,KAAKwS,EAAQvQ,KAIjCoG,EAAGrI,KAAKwS,EAAQA,EAAOlC,MAAO,iCAAkC,SAAArO,GAAK,OAAI0N,GAAG4d,aAAavtB,KAAKwS,EAAQvQ,KAGlGuQ,EAAO7K,UAAUgI,IAAM6C,EAAOrP,OAAOwiB,cAAgBnT,EAAO2d,QAAS,CAErE,IAAMvmB,EAAUuD,EAAWnN,KAAKwS,EAAhB,IAAA/P,OAA4B+P,EAAOrP,OAAOqK,WAAW6B,QAGrE,IAAKlO,EAAGY,QAAQ6H,GACZ,OAIJvB,EAAGrI,KAAKwS,EAAQ7I,EAASuD,UAAW,QAAS,SAAAjL,IACzB,CAAC0H,EAASuD,UAAWtD,GAGxBhE,SAAS3D,EAAM5E,SAAYuM,EAAQkD,SAAS7K,EAAM5E,WAK3DmV,EAAOrO,OAASqO,EAAOrP,OAAOyiB,eAI9BpT,EAAO4d,OACPvsB,EAAKwsB,MAAMpuB,EAAOuQ,EAAOgG,QAAS,WAClC3U,EAAKwsB,MAAMpuB,EAAOuQ,EAAOO,KAAM,SAE/BlP,EAAKwsB,MAAMpuB,EAAOuQ,EAAOmc,WAAY,YAM7Cnc,EAAO7K,UAAUgI,IAAM6C,EAAOrP,OAAO2iB,oBACrCzd,EAAGrI,KACCwS,EACA7I,EAASC,QACT,cACA,SAAA3H,GACIA,EAAM6C,mBAEV,GAKRuD,EAAGrI,KAAKwS,EAAQA,EAAOlC,MAAO,eAAgB,WAE1CkC,EAAOwC,QAAQ/Q,IAAI,CACfiV,OAAQ1G,EAAO0G,OACf0E,MAAOpL,EAAOoL,UAKtBvV,EAAGrI,KAAKwS,EAAQA,EAAOlC,MAAO,aAAc,WAExCuH,GAAS0H,cAAcvf,KAAKwS,EAAQ,SAGpCA,EAAOwC,QAAQ/Q,IAAI,CAAEuZ,MAAOhL,EAAOgL,UAIvCnV,EAAGrI,KAAKwS,EAAQA,EAAOlC,MAAO,gBAAiB,SAAArO,GAE3C4V,GAAS0H,cAAcvf,KAAKwS,EAAQ,UAAW,KAAMvQ,EAAM+G,OAAOiK,WAItE5K,EAAGrI,KAAKwS,EAAQA,EAAOlC,MAAO,sBAAuB,WACjDuH,GAASkK,eAAe/hB,KAAKwS,KAKjC,IAAM8d,EAAc9d,EAAOrP,OAAO+E,OAAOzF,OAAO,CAAC,QAAS,YAAY6X,KAAK,KAE3EjS,EAAGrI,KAAKwS,EAAQA,EAAOlC,MAAOggB,EAAa,SAAAruB,GAAS,IAAAsuB,EAC1BtuB,EAAhB+G,OAAAA,OAD0C,IAAAunB,EACjC,GADiCA,EAI7B,UAAftuB,EAAM+B,OACNgF,EAASwJ,EAAOlC,MAAMkJ,OAG1B1Q,EAAa9I,KAAKwS,EAAQ7I,EAASuD,UAAWjL,EAAM+B,MAAM,EAAMgF,OjC85IrE,CACDjL,IAAK,QACLO,MAAO,SiC35IH2D,EAAOuuB,EAAgBC,GAAkB,IACnCje,EAAWzV,KAAXyV,OACFke,EAAgBle,EAAOrP,OAAOQ,UAAU8sB,GAE1CE,GAAW,EADUxvB,EAAGQ,SAAS+uB,KAKjCC,EAAWD,EAAc1wB,KAAKwS,EAAQvQ,IAItC0uB,GAAYxvB,EAAGQ,SAAS6uB,IACxBA,EAAexwB,KAAKwS,EAAQvQ,KjC85IjC,CACDlE,IAAK,OACLO,MAAO,SiC35IJyD,EAASiC,EAAMwsB,EAAgBC,GAAkC,IAAAjoB,EAAAzL,KAAhBiL,IAAgB9C,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,KAAAA,UAAA,GAC1DsN,EAAWzV,KAAXyV,OACFke,EAAgBle,EAAOrP,OAAOQ,UAAU8sB,GACxCG,EAAmBzvB,EAAGQ,SAAS+uB,GAErCroB,EAAGrI,KACCwS,EACAzQ,EACAiC,EACA,SAAA/B,GAAK,OAAIuG,EAAK6nB,MAAMpuB,EAAOuuB,EAAgBC,IAC3CzoB,IAAY4oB,KjC65IjB,CACD7yB,IAAK,WACLO,MAAO,WiC15IE,IAAAwe,EAAA/f,KACCyV,EAAWzV,KAAXyV,OACA7I,EAAa6I,EAAb7I,SAEFknB,EAAa1iB,GAAQC,KAAO,SAAW,QAsJ7C,GAnJIzE,EAAS2O,QAAQvF,MACjBtU,MAAMwB,KAAK0J,EAAS2O,QAAQvF,MAAMhP,QAAQ,SAAAmX,GACtC4B,EAAKQ,KAAKpC,EAAQ,QAAS1I,EAAOmc,WAAY,UAKtD5xB,KAAKugB,KAAK3T,EAAS2O,QAAQE,QAAS,QAAShG,EAAOgG,QAAS,WAG7Dzb,KAAKugB,KAAK3T,EAAS2O,QAAQG,OAAQ,QAASjG,EAAOiG,OAAQ,UAG3D1b,KAAKugB,KAAK3T,EAAS2O,QAAQI,YAAa,QAASlG,EAAOsc,QAAS,eAGjE/xB,KAAKugB,KACD3T,EAAS2O,QAAQK,KACjB,QACA,WACInG,EAAOoL,OAASpL,EAAOoL,OAE3B,QAIJ7gB,KAAKugB,KAAK3T,EAAS2O,QAAQO,SAAU,QAAS,WAAA,OAAMrG,EAAOuc,mBAG3DhyB,KAAKugB,KACD3T,EAAS2O,QAAQ0J,SACjB,QACA,WACIlZ,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,aAE5C,YAIJvT,KAAKugB,KACD3T,EAAS2O,QAAQQ,WACjB,QACA,WACItG,EAAOsG,WAAWlV,UAEtB,cAIJ7G,KAAKugB,KACD3T,EAAS2O,QAAQzI,IACjB,QACA,WACI2C,EAAO3C,IAAM,UAEjB,OAIJ9S,KAAKugB,KAAK3T,EAAS2O,QAAQrI,QAAS,QAASuC,EAAOvC,QAAS,WAG7DlT,KAAKugB,KAAK3T,EAAS2O,QAAQM,SAAU,QAAS,SAAA3W,GAE1CA,EAAMoa,kBAENxE,GAASoJ,WAAWjhB,KAAKwS,EAAQvQ,KAMrClF,KAAKugB,KACD3T,EAAS2O,QAAQM,SACjB,QACA,SAAA3W,GACI,IAAMqsB,EAAOrsB,EAAMma,MAGd,CAAC,GAAI,IAAIxW,SAAS0oB,KAKV,KAATA,GAMJrsB,EAAM6C,iBAGN7C,EAAMoa,kBAGNxE,GAASoJ,WAAWjhB,KAAKwS,EAAQvQ,IAX7B4V,GAAS+E,mBAAmB5c,KAAKwS,EAAQ,MAAM,KAavD,MACA,GAIJzV,KAAKugB,KAAK3T,EAASiP,SAAS6B,KAAM,UAAW,SAAAxY,GACrB,KAAhBA,EAAMma,OACNvE,GAASoJ,WAAWjhB,KAAKwS,EAAQvQ,KAKzClF,KAAKugB,KAAK3T,EAASqP,OAAOC,KAAM,sBAAuB,SAAAhX,GACnD,IAAMqtB,EAAO3lB,EAASoP,SAAStU,wBACzBP,EAAW,IAAMorB,EAAK5qB,OAAUzC,EAAM2c,MAAQ0Q,EAAK1qB,MACzD3C,EAAM6uB,cAAcjmB,aAAa,aAAc3G,KAInDnH,KAAKugB,KAAK3T,EAASqP,OAAOC,KAAM,sDAAuD,SAAAhX,GACnF,IAAMgX,EAAOhX,EAAM6uB,cACbxC,EAAOrsB,EAAMioB,QAAUjoB,EAAMioB,QAAUjoB,EAAMma,MAGnD,IAAIjb,EAAGuF,cAAczE,IAAoB,KAATqsB,GAAwB,KAATA,EAA/C,CAKA9b,EAAOob,aAAeC,KAAKC,MAG3B,IAAM/a,EAAOkG,EAAK8X,aAVA,kBAYZzxB,EAAO,CAAC,UAAW,WAAY,SAASsG,SAAS3D,EAAM+B,MAGzD+O,GAAQzT,GACR2Z,EAAKvM,gBAhBS,kBAiBd8F,EAAOO,SACCzT,GAAQkT,EAAO0V,UACvBjP,EAAKpO,aAnBS,iBAmBe,IAC7B2H,EAAO+F,YAOXpK,GAAQS,MAAO,CACf,IAAMoK,EAAS/L,EAAYjN,KAAKwS,EAAQ,uBACxC/T,MAAMwB,KAAK+Y,GAAQjV,QAAQ,SAAAtD,GAAK,OAAIqc,EAAKQ,KAAK7c,EAAOowB,EAAY,SAAA5uB,GAAK,OAAI8L,EAAQ9L,EAAM5E,YAI5FN,KAAKugB,KACD3T,EAASqP,OAAOC,KAChB4X,EACA,SAAA5uB,GACI,IAAMgX,EAAOhX,EAAM6uB,cAEfE,EAAS/X,EAAK3U,aAAa,cAE3BnD,EAAGgB,MAAM6uB,KACTA,EAAS/X,EAAK3a,OAGlB2a,EAAKvM,gBAAgB,cAErB8F,EAAOE,YAAese,EAAS/X,EAAKtW,IAAO6P,EAAO6G,UAEtD,QAIJtc,KAAKugB,KAAK3T,EAASoP,SAAU,kCAAmC,SAAA9W,GAAK,OACjE4V,GAAS0G,kBAAkBve,KAAKwS,EAAQvQ,KAK5ClF,KAAKugB,KAAK3T,EAASoP,SAAU,sBAAuB,SAAA9W,GAAS,IACjDwmB,EAAsBjW,EAAtBiW,kBAEJA,GAAqBA,EAAkBwI,QACvCxI,EAAkByI,UAAUjvB,KAKpClF,KAAKugB,KAAK3T,EAASoP,SAAU,mBAAoB,WAAM,IAC3C0P,EAAsBjW,EAAtBiW,kBAEJA,GAAqBA,EAAkBwI,QACvCxI,EAAkB0I,SAAQ,GAAO,KAKzCp0B,KAAKugB,KAAK3T,EAASoP,SAAU,uBAAwB,SAAA9W,GAAS,IAClDwmB,EAAsBjW,EAAtBiW,kBAEJA,GAAqBA,EAAkBwI,QACvCxI,EAAkB2I,eAAenvB,KAIzClF,KAAKugB,KAAK3T,EAASoP,SAAU,mBAAoB,SAAA9W,GAAS,IAC9CwmB,EAAsBjW,EAAtBiW,kBAEJA,GAAqBA,EAAkBwI,QACvCxI,EAAkB4I,aAAapvB,KAKnCkM,GAAQK,UACR/P,MAAMwB,KAAKgN,EAAYjN,KAAKwS,EAAQ,wBAAwBzO,QAAQ,SAAAhC,GAChE+a,EAAKQ,KAAKvb,EAAS,QAAS,SAAAE,GAAK,OAAI4V,GAAS4D,gBAAgBzb,KAAKwS,EAAQvQ,EAAM5E,YAMrFmV,EAAOrP,OAAOuiB,eAAiBvkB,EAAGY,QAAQ4H,EAASwP,QAAQE,WAC3Dtc,KAAKugB,KAAK3T,EAASwP,QAAQzG,YAAa,QAAS,WAElB,IAAvBF,EAAOE,cAIXF,EAAOrP,OAAO4b,YAAcvM,EAAOrP,OAAO4b,WAE1ClH,GAASgH,WAAW7e,KAAKwS,MAKjCzV,KAAKugB,KACD3T,EAASqP,OAAOE,OAChB2X,EACA,SAAA5uB,GACIuQ,EAAO0G,OAASjX,EAAM5E,OAAOiB,OAEjC,UAIJvB,KAAKugB,KAAK3T,EAASkO,SAAU,wBAAyB,SAAA5V,GAClD0H,EAASkO,SAASwQ,OAAS7V,EAAOrO,OAAwB,eAAflC,EAAM+B,OAIrDjH,KAAKugB,KAAK3T,EAASkO,SAAU,oDAAqD,SAAA5V,GAC9E0H,EAASkO,SAASgG,QAAU,CAAC,YAAa,cAAcjY,SAAS3D,EAAM+B,QAI3EjH,KAAKugB,KAAK3T,EAASkO,SAAU,UAAW,WAAM,IAClC1U,EAAmBqP,EAAnBrP,OAAQsqB,EAAWjb,EAAXib,OAGhB9gB,EAAYhD,EAASkO,SAAU1U,EAAOqK,WAAWgb,cAAc,GAG/D7Y,GAAG2d,eAAettB,KAAKwS,GAAQ,GAG/BxE,WAAW,WACPrB,EAAYhD,EAASkO,SAAU1U,EAAOqK,WAAWgb,cAAc,IAChE,GAGH,IAAM2G,EAAQrS,EAAK3Y,MAAQ,IAAO,IAGlCqpB,aAAaC,EAAO5V,UAGpB4V,EAAO5V,SAAW7J,WAAW,WAAA,OAAM2B,GAAG2d,eAAettB,KAAKwS,GAAQ,IAAQ2c,KAI9EpyB,KAAKugB,KACD3T,EAASqP,OAAOE,OAChB,QACA,SAAAjX,GAGI,IAAMwV,EAAWxV,EAAMqvB,kCAHlBC,EAAAhzB,EAKU,CAAC0D,EAAMuvB,QAASvvB,EAAMwvB,QAAQxrB,IAAI,SAAA3H,GAAK,OAAKmZ,GAAYnZ,EAAQA,IAL1E,GAKEisB,EALFgH,EAAA,GAKK9G,EALL8G,EAAA,GAOCG,EAAYhvB,KAAKivB,KAAKjvB,KAAKkvB,IAAIrH,GAAK7nB,KAAKkvB,IAAInH,GAAKF,EAAIE,GAG5DjY,EAAOoc,eAAe8C,EAAY,IAV7B,IAaGxY,EAAW1G,EAAOlC,MAAlB4I,QACW,IAAdwY,GAAmBxY,EAAS,IAAsB,IAAfwY,GAAoBxY,EAAS,IACjEjX,EAAM6C,kBAGd,UACA,OjCo2IDipB,EAvwBT,GA0wB2C,oBAAf8D,WAA6BA,WAA+B,oBAAXhrB,OAAyBA,OAA2B,oBAAXtK,OAAyBA,OAAyB,oBAATM,MAAuBA,KAMtL,IAAIi1B,GAJJ,SAA8BC,EAAIr1B,GACjC,OAAiCq1B,EAA1Br1B,EAAS,CAAED,QAAS,IAAiBC,EAAOD,SAAUC,EAAOD,QAGpDu1B,CAAqB,SAAUt1B,EAAQD,GkC1rKtDC,EAAAA,QAII,WAMR,IAAIu1B,EAAU,aACVC,EAAgB,GAChBC,EAAoB,GACpBC,EAAsB,GAmD1B,SAASC,EAAQC,EAAUC,GAEzB,GAAKD,EAAL,CAEA,IAAIE,EAAIJ,EAAoBE,GAM5B,GAHAH,EAAkBG,GAAYC,EAGzBC,EAGL,KAAOA,EAAEh1B,QACPg1B,EAAE,GAAGF,EAAUC,GACfC,EAAEC,OAAO,EAAG,IAUhB,SAASC,EAAiB/pB,EAAMgqB,GAE1BhqB,EAAK3I,OAAM2I,EAAO,CAACiqB,QAASjqB,IAG5BgqB,EAAan1B,QAASmL,EAAK6Q,OAASyY,GAASU,IAC3ChqB,EAAKiqB,SAAWX,GAAStpB,GASjC,SAASkqB,EAASzpB,EAAM0pB,EAAYnqB,EAAMoqB,GACxC,IAKIC,EACAvrB,EANAwrB,EAAMjwB,SACNkwB,EAAQvqB,EAAKuqB,MACbC,GAAYxqB,EAAKyqB,YAAc,GAAK,EACpCC,EAAmB1qB,EAAK2qB,QAAUrB,EAClCsB,EAAenqB,EAAK8C,QAAQ,cAAe,IAI/C6mB,EAAWA,GAAY,EAEnB,iBAAiBtkB,KAAKrF,KAExB3B,EAAIwrB,EAAInoB,cAAc,SACpBwe,IAAM,aACR7hB,EAAEkb,KAAO4Q,GAGTP,EAAgB,cAAevrB,IAGVA,EAAE+rB,UACrBR,EAAgB,EAChBvrB,EAAE6hB,IAAM,UACR7hB,EAAEgsB,GAAK,UAEA,+BAA+BhlB,KAAKrF,IAE7C3B,EAAIwrB,EAAInoB,cAAc,QACpBgI,IAAMygB,IAGR9rB,EAAIwrB,EAAInoB,cAAc,WACpBgI,IAAM1J,EACR3B,EAAEyrB,WAAkBl0B,IAAVk0B,GAA6BA,GAGzCzrB,EAAEglB,OAAShlB,EAAEilB,QAAUjlB,EAAEisB,aAAe,SAAUC,GAChD,IAAI3c,EAAS2c,EAAG3vB,KAAK,GAIrB,GAAIgvB,EACF,IACOvrB,EAAEmsB,MAAMC,QAAQr2B,SAAQwZ,EAAS,KACtC,MAAOuT,GAGO,IAAVA,EAAE+D,OAAYtX,EAAS,KAK/B,GAAc,KAAVA,GAKF,IAHA+b,GAAY,GAGGI,EACb,OAAON,EAASzpB,EAAM0pB,EAAYnqB,EAAMoqB,QAErC,GAAa,WAATtrB,EAAE6hB,KAA4B,SAAR7hB,EAAEgsB,GAEjC,OAAOhsB,EAAE6hB,IAAM,aAIjBwJ,EAAW1pB,EAAM4N,EAAQ2c,EAAGG,oBAII,IAA9BT,EAAiBjqB,EAAM3B,IAAcwrB,EAAInI,KAAKzgB,YAAY5C,GAiDhE,SAASssB,EAAOC,EAAOC,EAAMC,GAC3B,IAAI5B,EACA3pB,EASJ,GANIsrB,GAAQA,EAAKjoB,OAAMsmB,EAAW2B,GAGlCtrB,GAAQ2pB,EAAW4B,EAAOD,IAAS,GAG/B3B,EAAU,CACZ,GAAIA,KAAYJ,EACd,KAAM,SAENA,EAAcI,IAAY,EAI9B,SAAS6B,EAAOxe,EAASC,IA3D3B,SAAmBoe,EAAOlB,EAAYnqB,GAIpC,IAGIopB,EACAx0B,EAJA62B,GAFJJ,EAAQA,EAAMz0B,KAAOy0B,EAAQ,CAACA,IAEPx2B,OACnB+sB,EAAI6J,EACJ7B,EAAgB,GAqBpB,IAhBAR,EAAK,SAAS3oB,EAAM4N,EAAQ8c,GAM1B,GAJc,KAAV9c,GAAeub,EAAchzB,KAAK6J,GAIxB,KAAV4N,EAAe,CACjB,IAAI8c,EACC,OADiBvB,EAAchzB,KAAK6J,KAI3CgrB,GACiBtB,EAAWP,IAIzBh1B,EAAE,EAAGA,EAAIgtB,EAAGhtB,IAAKs1B,EAASmB,EAAMz2B,GAAIw0B,EAAIppB,GAiC3C0rB,CAAUL,EAAO,SAAUzB,GAEzBG,EAAiB/pB,EAAM4pB,GAGnB5c,GACF+c,EAAiB,CAACE,QAASjd,EAAS6D,MAAO5D,GAAS2c,GAItDF,EAAQC,EAAUC,IACjB5pB,GAGL,GAAIA,EAAK2rB,cAAe,OAAO,IAAIltB,QAAQ+sB,GACtCA,IAiDP,OAxCAJ,EAAOhH,MAAQ,SAAewH,EAAM5rB,GAOlC,OA9PF,SAAmB6rB,EAAW1B,GAE5B0B,EAAYA,EAAUj1B,KAAOi1B,EAAY,CAACA,GAE1C,IAGIzC,EACAO,EACAmC,EALA9B,EAAe,GACfp1B,EAAIi3B,EAAUh3B,OACd42B,EAAa72B,EAejB,IARAw0B,EAAK,SAAUO,EAAUC,GACnBA,EAAc/0B,QAAQm1B,EAAapzB,KAAK+yB,KAE5C8B,GACiBtB,EAAWH,IAIvBp1B,KACL+0B,EAAWkC,EAAUj3B,IAGrBk3B,EAAItC,EAAkBG,IAEpBP,EAAGO,EAAUmC,IAKXrC,EAAoBE,GAAYF,EAAoBE,IAAa,IACnE/yB,KAAKwyB,GAwNT2C,CAAUH,EAAM,SAAU5B,GAExBD,EAAiB/pB,EAAMgqB,KAGlBoB,GAQTA,EAAOz0B,KAAO,SAAcgzB,GAC1BD,EAAQC,EAAU,KAOpByB,EAAO9M,MAAQ,WACbiL,EAAgB,GAChBC,EAAoB,GACpBC,EAAsB,IAQxB2B,EAAOY,UAAY,SAAmBrC,GACpC,OAAOA,KAAYJ,GAKd6B,EApTcv3B,KCEN,SAASo4B,GAAWvtB,GAC/B,OAAO,IAAID,QAAQ,SAACuO,EAASC,GACzBme,GAAO1sB,EAAK,CACRurB,QAASjd,EACT6D,MAAO5D,MCsBnB,SAASif,GAAoB9hB,GACrBA,IAAShW,KAAKyU,MAAMsjB,YACpB/3B,KAAKyU,MAAMsjB,WAAY,GAEvB/3B,KAAKuT,MAAMqC,SAAWI,IACtBhW,KAAKuT,MAAMqC,QAAUI,EACrBjK,EAAa9I,KAAKjD,KAAMA,KAAKuT,MAAOyC,EAAO,OAAS,UAI5D,IAAMuB,GAAQ,CACVoH,MADU,WACF,IAAA7X,EAAA9G,KAEJ4P,EAAY5P,KAAK4M,SAASC,QAAS7M,KAAKoG,OAAOqK,WAAWgE,OAAO,GAGjEI,GAAe5R,KAAKjD,MAGfoE,EAAGE,OAAOwF,OAAOkuB,OASlBzgB,GAAMyY,MAAM/sB,KAAKjD,MARjB63B,GAAW73B,KAAKoG,OAAOyf,KAAKtO,MAAMoT,KAC7B3Q,KAAK,WACFzC,GAAMyY,MAAM/sB,KAAK6D,KAEpBoT,MAAM,SAAAuC,GACH3V,EAAKuP,MAAMqG,KAAK,uCAAwCD,MAQxEuT,MAvBU,WAuBF,IAAAvkB,EAAAzL,KACEyV,EAASzV,KACToG,EAASqP,EAAOrP,OAAOmR,MAGvBoP,EAASD,GACXna,EACI,GACA,CACIyc,KAAMvT,EAAOrP,OAAO4iB,KAAK5B,OACzBqB,SAAUhT,EAAOgT,SACjB5H,MAAOpL,EAAOoL,MACdoX,QAAS,QACTxlB,aAAczS,KAAKoG,OAAO2V,WAAWsN,WAEzCjjB,IAKJqG,EAASgJ,EAAOlC,MAAMhM,aAAa,OAGnCnD,EAAGgB,MAAMqH,KACTA,EAASgJ,EAAOlC,MAAMhM,aAAakO,EAAOrP,OAAOqH,WAAWgH,MAAMlF,KAGtE,IA1ESjF,EA0EHiF,GA1EGjF,EA0EUmC,EAzEnBrI,EAAGgB,MAAMkF,GACF,KAGPlG,EAAGG,OAAOC,OAAO8F,IACVA,EAIJA,EAAI7E,MADG,mCACYmR,OAAOshB,GAAK5tB,GAkE5BsgB,EAAS7c,EAAc,UACvBgI,EAAMW,GAAOjB,EAAOrP,OAAOyf,KAAKtO,MAAMqT,OAAQrb,EAAIoX,GACxDiE,EAAO9c,aAAa,MAAOiI,GAC3B6U,EAAO9c,aAAa,kBAAmB,IACvC8c,EAAO9c,aAAa,oBAAqB,IACzC8c,EAAO9c,aAAa,QAAS,YAlCzB,IAuCEjB,EAAUkB,EAAc,MAAO,CAAEid,OAFpBvV,EAAXuV,OAEuC1b,MAAOmG,EAAOrP,OAAOqK,WAAWsa,iBAC/Ele,EAAQS,YAAYsd,GACpBnV,EAAOlC,MAAQ/E,EAAe3B,EAAS4I,EAAOlC,OAG9CmF,GAAMhC,GAAOjB,EAAOrP,OAAOyf,KAAKtO,MAAM5E,IAAKpD,GAAK,QAAQyK,KAAK,SAAAf,GACzD,IAAI7U,EAAGgB,MAAM6T,GAAb,CAKA,IAAM3O,EAAM,IAAIC,IAAI0O,EAAS,GAAGkf,iBAGhC7tB,EAAI8tB,SAAJ,GAAA1yB,OAAkB4E,EAAI8tB,SAAShtB,MAAM,KAAK,GAA1C,QAGAwH,GAAGsd,UAAUjtB,KAAKwS,EAAQnL,EAAIsb,MAAM1L,MAAM,iBAK9CzE,EAAOhB,MAAQ,IAAI3K,OAAOkuB,MAAMK,OAAOzN,EAAQ,CAC3ClC,UAAWjT,EAAOrP,OAAOsiB,UACzB7H,MAAOpL,EAAOoL,QAGlBpL,EAAOlC,MAAMqC,QAAS,EACtBH,EAAOlC,MAAMoC,YAAc,EAGvBF,EAAO7K,UAAUgI,IACjB6C,EAAOhB,MAAM6jB,mBAIjB7iB,EAAOlC,MAAMyC,KAAO,WAEhB,OADA8hB,GAAoB70B,KAAKwS,GAAQ,GAC1BA,EAAOhB,MAAMuB,QAGxBP,EAAOlC,MAAMiI,MAAQ,WAEjB,OADAsc,GAAoB70B,KAAKwS,GAAQ,GAC1BA,EAAOhB,MAAM+G,SAGxB/F,EAAOlC,MAAMglB,KAAO,WAChB9iB,EAAO+F,QACP/F,EAAOE,YAAc,GAvFrB,IA2FEA,EAAgBF,EAAOlC,MAAvBoC,YACN7U,OAAOC,eAAe0U,EAAOlC,MAAO,cAAe,CAC/CvL,IAD+C,WAE3C,OAAO2N,GAEXzO,IAJ+C,SAI3CsT,GAAM,IAIE/F,EAAiCgB,EAAjChB,MAAOlB,EAA0BkC,EAA1BlC,MAAOqC,EAAmBH,EAAnBG,OAAQuG,EAAW1G,EAAX0G,OACxBqc,EAAe5iB,IAAWnB,EAAMsjB,UAGtCxkB,EAAM0O,SAAU,EAChBlW,EAAa9I,KAAKwS,EAAQlC,EAAO,WAGjClJ,QAAQuO,QAAQ4f,GAAgB/jB,EAAMgkB,UAAU,IAE3Cze,KAAK,WAAA,OAAMvF,EAAMikB,eAAele,KAEhCR,KAAK,WAAA,OAAMwe,GAAgB/jB,EAAM+G,UAEjCxB,KAAK,WAAA,OAAMwe,GAAgB/jB,EAAMgkB,UAAUtc,KAC3CjC,MAAM,iBAOnB,IAAIuG,EAAQhL,EAAOrP,OAAOqa,MAAMwI,SAChCnoB,OAAOC,eAAe0U,EAAOlC,MAAO,eAAgB,CAChDvL,IADgD,WAE5C,OAAOyY,GAEXvZ,IAJgD,SAI5CxD,GACA+R,EAAOhB,MACFkkB,gBAAgBj1B,GAChBsW,KAAK,WACFyG,EAAQ/c,EACRqI,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,gBAE3C2G,MAAM,SAAAuC,GAEgB,UAAfA,EAAMmc,MACN9d,GAAS8I,aAAa3gB,KAAKwS,EAAQ,SAzInD,IAgJE0G,EAAW1G,EAAOrP,OAAlB+V,OACNrb,OAAOC,eAAe0U,EAAOlC,MAAO,SAAU,CAC1CvL,IAD0C,WAEtC,OAAOmU,GAEXjV,IAJ0C,SAItCxD,GACA+R,EAAOhB,MAAMgkB,UAAU/0B,GAAOsW,KAAK,WAC/BmC,EAASzY,EACTqI,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,qBAxJhD,IA8JEsN,EAAUpL,EAAOrP,OAAjBya,MACN/f,OAAOC,eAAe0U,EAAOlC,MAAO,QAAS,CACzCvL,IADyC,WAErC,OAAO6Y,GAEX3Z,IAJyC,SAIrCxD,GACA,IAAMmD,IAASzC,EAAGO,QAAQjB,IAASA,EAEnC+R,EAAOhB,MAAMgkB,UAAU5xB,EAAS,EAAI4O,EAAOrP,OAAO+V,QAAQnC,KAAK,WAC3D6G,EAAQha,EACRkF,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,qBAxKhD,IA6LAslB,EAfE7P,EAASvT,EAAOrP,OAAhB4iB,KACNloB,OAAOC,eAAe0U,EAAOlC,MAAO,OAAQ,CACxCvL,IADwC,WAEpC,OAAOghB,GAEX9hB,IAJwC,SAIpCxD,GACA,IAAMmD,EAASzC,EAAGO,QAAQjB,GAASA,EAAQ+R,EAAOrP,OAAO4iB,KAAK5B,OAE9D3R,EAAOhB,MAAMqkB,QAAQjyB,GAAQmT,KAAK,WAC9BgP,EAAOniB,OAOnB4O,EAAOhB,MACFskB,cACA/e,KAAK,SAAAzY,GACFs3B,EAAat3B,EACbuZ,GAASkK,eAAe/hB,KAAKwS,KAEhCyE,MAAM,SAAAuC,GACHhR,EAAK4K,MAAMqG,KAAKD,KAGxB3b,OAAOC,eAAe0U,EAAOlC,MAAO,aAAc,CAC9CvL,IAD8C,WAE1C,OAAO6wB,KAKf/3B,OAAOC,eAAe0U,EAAOlC,MAAO,QAAS,CACzCvL,IADyC,WAErC,OAAOyN,EAAOE,cAAgBF,EAAO6G,YAK7CjS,QAAQ4f,IAAI,CAACxU,EAAOhB,MAAMukB,gBAAiBvjB,EAAOhB,MAAMwkB,mBAAmBjf,KAAK,SAAAkf,GAAc,IAAAC,EAAA33B,EAClE03B,EADkE,GACnFvxB,EADmFwxB,EAAA,GAC5EjlB,EAD4EilB,EAAA,GAE1F1jB,EAAOhB,MAAMT,MAAQ,CAACrM,EAAOuM,GAC7BW,GAAe5R,KAAKwI,KAIxBgK,EAAOhB,MAAM2kB,aAAa3jB,EAAOrP,OAAOsiB,WAAW1O,KAAK,SAAAqf,GACpD5jB,EAAOrP,OAAOsiB,UAAY2Q,IAI9B5jB,EAAOhB,MAAM6kB,gBAAgBtf,KAAK,SAAAnC,GAC9BpC,EAAOrP,OAAOyR,MAAQA,EACtBjF,GAAGqd,SAAShtB,KAAKwI,KAIrBgK,EAAOhB,MAAM8kB,iBAAiBvf,KAAK,SAAAzY,GAC/BoU,EAAcpU,EACdwK,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,gBAI5CkC,EAAOhB,MAAM+kB,cAAcxf,KAAK,SAAAzY,GAC5BkU,EAAOlC,MAAM+I,SAAW/a,EACxBwK,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,oBAI5CkC,EAAOhB,MAAMglB,gBAAgBzf,KAAK,SAAAuJ,GAC9B9N,EAAOlC,MAAME,WAAa8P,EAC1BzH,GAAS6C,MAAM1b,KAAKwS,KAGxBA,EAAOhB,MAAMnJ,GAAG,YAAa,SAAAqC,GAAmB,IAAA+rB,EAAA/rB,EAAhBya,KACtBuR,QADsC,IAAAD,EAAT,GAASA,GAClBxwB,IAAI,SAAAW,GAAG,OnBpPtC,SAAmB4C,GACtB,IAAMmtB,EAAW3zB,SAAS4zB,yBACpB70B,EAAUiB,SAAS8H,cAAc,OAGvC,OAFA6rB,EAAStsB,YAAYtI,GACrBA,EAAQqS,UAAY5K,EACbmtB,EAAShH,WAAW3kB,UmB+OkB6rB,CAAUjwB,EAAImE,QACnD8N,GAAS6L,WAAW1kB,KAAKwS,EAAQkkB,KAGrClkB,EAAOhB,MAAMnJ,GAAG,SAAU,YAEtBmK,EAAOhB,MAAMslB,YAAY/f,KAAK,SAAApE,GAC1BkiB,GAAoB70B,KAAKwS,GAASG,GAC7BA,GACD7J,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,aAI5CnP,EAAGY,QAAQyQ,EAAOhB,MAAMzP,UAAYyQ,EAAO7K,UAAUgI,KACvC6C,EAAOhB,MAAMzP,QAIrB8I,aAAa,YAAa,KAIxC2H,EAAOhB,MAAMnJ,GAAG,OAAQ,WACpBwsB,GAAoB70B,KAAKwS,GAAQ,GACjC1J,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,aAG5CkC,EAAOhB,MAAMnJ,GAAG,QAAS,WACrBwsB,GAAoB70B,KAAKwS,GAAQ,KAGrCA,EAAOhB,MAAMnJ,GAAG,aAAc,SAAAqO,GAC1BlE,EAAOlC,MAAM0O,SAAU,EACvBtM,EAAcgE,EAAKqgB,QACnBjuB,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,gBAG5CkC,EAAOhB,MAAMnJ,GAAG,WAAY,SAAAqO,GACxBlE,EAAOlC,MAAM+N,SAAW3H,EAAKxS,QAC7B4E,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,YAGL,IAA/B0mB,SAAStgB,EAAKxS,QAAS,KACvB4E,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,kBAK5CkC,EAAOhB,MAAM+kB,cAAcxf,KAAK,SAAAzY,GACxBA,IAAUkU,EAAOlC,MAAM+I,WACvB7G,EAAOlC,MAAM+I,SAAW/a,EACxBwK,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,uBAKpDkC,EAAOhB,MAAMnJ,GAAG,SAAU,WACtBmK,EAAOlC,MAAM0O,SAAU,EACvBlW,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,YAG5CkC,EAAOhB,MAAMnJ,GAAG,QAAS,WACrBmK,EAAOlC,MAAMqC,QAAS,EACtB7J,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,WAG5CkC,EAAOhB,MAAMnJ,GAAG,QAAS,SAAAW,GACrBwJ,EAAOlC,MAAMkJ,MAAQxQ,EACrBF,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,WAI5CtC,WAAW,WAAA,OAAM2B,GAAGkd,MAAM7sB,KAAKwS,IAAS,KCzWhD,SAASqiB,GAAoB9hB,GACrBA,IAAShW,KAAKyU,MAAMsjB,YACpB/3B,KAAKyU,MAAMsjB,WAAY,GAEvB/3B,KAAKuT,MAAMqC,SAAWI,IACtBhW,KAAKuT,MAAMqC,QAAUI,EACrBjK,EAAa9I,KAAKjD,KAAMA,KAAKuT,MAAOyC,EAAO,OAAS,UAI5D,SAASkkB,GAAQ9zB,GACb,OAAIA,EAAOkmB,SACA,mCAGsB,UAA7BxiB,OAAOoR,SAAS6L,SACT,8BADX,EAQJ,IAAMvP,GAAU,CACZmH,MADY,WACJ,IAAA7X,EAAA9G,KAKJ,GAHA4P,EAAY5P,KAAK4M,SAASC,QAAS7M,KAAKoG,OAAOqK,WAAWgE,OAAO,GAG7DrQ,EAAGE,OAAOwF,OAAOqwB,KAAO/1B,EAAGQ,SAASkF,OAAOqwB,GAAG9B,QAC9C7gB,GAAQwY,MAAM/sB,KAAKjD,UAChB,CAEH,IAAMgL,EAAWlB,OAAOswB,wBAGxBtwB,OAAOswB,wBAA0B,WAEzBh2B,EAAGQ,SAASoG,IACZA,IAGJwM,GAAQwY,MAAM/sB,KAAK6D,IAIvB+wB,GAAW73B,KAAKoG,OAAOyf,KAAKrO,QAAQmT,KAAKzQ,MAAM,SAAAuC,GAC3C3V,EAAKuP,MAAMqG,KAAK,6BAA8BD,OAM1D4d,SA9BY,SA8BHC,GAAS,IAAA7uB,EAAAzL,KAGd0Y,GAFYhC,GAAO1W,KAAKoG,OAAOyf,KAAKrO,QAAQ7E,IAAK2nB,IAG5CtgB,KAAK,SAAAL,GACF,GAAIvV,EAAGE,OAAOqV,GAAO,CAAA,IACT9B,EAAyB8B,EAAzB9B,MAAO3D,EAAkByF,EAAlBzF,OAAQvM,EAAUgS,EAAVhS,MAGvB8D,EAAKrF,OAAOyR,MAAQA,EACpBjF,GAAGqd,SAAShtB,KAAKwI,GAGjBA,EAAKgJ,MAAMT,MAAQ,CAACrM,EAAOuM,GAG/BW,GAAe5R,KAAKwI,KAEvByO,MAAM,WAEHrF,GAAe5R,KAAKwI,MAKhCukB,MAvDY,WAwDR,IAAMva,EAASzV,KAETu6B,EAAY9kB,EAAOlC,OAASkC,EAAOlC,MAAMhM,aAAa,MAC5D,GAAKnD,EAAGgB,MAAMm1B,KAAcA,EAAU/vB,WAAW,YAAjD,CAKA,IAAIiC,EAASgJ,EAAOlC,MAAMhM,aAAa,OAGnCnD,EAAGgB,MAAMqH,KACTA,EAASgJ,EAAOlC,MAAMhM,aAAavH,KAAKoG,OAAOqH,WAAWgH,MAAMlF,KAIpE,IAzGSjF,EpBTU+jB,EoBkHbiM,GAzGGhwB,EAyGemC,EAxGxBrI,EAAGgB,MAAMkF,GACF,KAIJA,EAAI7E,MADG,gEACYmR,OAAOshB,GAAK5tB,GAoG5BiF,GpBnHa8e,EoBmHG5Y,EAAOjD,SpBlHjC,GAAA9M,OAAU2oB,EAAV,KAAA3oB,OAAoBC,KAAKsgB,MAAsB,IAAhBtgB,KAAKugB,YoBsH1B/V,EAAYpC,EAAc,MAAO,CAAEwB,GAAAA,EAAIyb,OAF1BvV,EAAXuV,SAGRvV,EAAOlC,MAAQ/E,EAAe2B,EAAWsF,EAAOlC,OAGhD,IAAMinB,EAAY,SAAAxrB,GAAC,MAAA,0BAAAtJ,OAA8B40B,EAA9B,KAAA50B,OAAyCsJ,EAAzC,gBAGnBqgB,GAAUmL,EAAU,UAAW,KAC1BtgB,MAAM,WAAA,OAAMmV,GAAUmL,EAAU,MAAO,OACvCtgB,MAAM,WAAA,OAAMmV,GAAUmL,EAAU,SAChCxgB,KAAK,SAAAuV,GAAK,OAAI3c,GAAGsd,UAAUjtB,KAAKwS,EAAQ8Z,EAAMxZ,OAC9CiE,KAAK,SAAAjE,GAEGA,EAAIlN,SAAS,YACd4M,EAAO7I,SAASoe,OAAOxkB,MAAM8pB,eAAiB,WAGrDpW,MAAM,cAEX,IAAM9T,EAASqP,EAAOrP,OAAOoR,QAI7B/B,EAAOhB,MAAQ,IAAI3K,OAAOqwB,GAAG9B,OAAO9oB,EAAI,CACpC+qB,QAAAA,EACAnf,KAAM+e,GAAQ9zB,GACdq0B,WAAYluB,EACR,GACA,CACIkc,SAAUhT,EAAOrP,OAAOqiB,SAAW,EAAI,EACvCiS,GAAIjlB,EAAOrP,OAAOs0B,GAClB5f,SAAUrF,EAAO7K,UAAUgI,GAAK,EAAI,EACpC+nB,UAAW,EACXloB,YAAcgD,EAAOrP,OAAO2V,WAAWsN,UAAgB,EAAJ,EAEnDuR,eAAgBnlB,EAAOqG,SAASsL,OAAS,EAAI,EAC7CyT,aAAcplB,EAAOrP,OAAO0V,SAAS4H,SAErCoX,gBAAiBhxB,OAASA,OAAOoR,SAAS0K,KAAO,MAErDxf,GAEJ+E,OAAQ,CACJ4vB,QADI,SACI71B,GAEJ,IAAKuQ,EAAOlC,MAAMkJ,MAAO,CACrB,IAAM8U,EAAOrsB,EAAMyU,KAEbqhB,EACF,CACIC,EAAG,uOACHC,EAAG,uHACHC,IAAK,qIACLC,IAAK,uFACLC,IAAK,wFACP9J,IAAS,2BAEf9b,EAAOlC,MAAMkJ,MAAQ,CAAE8U,KAAAA,EAAMyJ,QAAAA,GAE7BjvB,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,WAGhD+nB,qBApBI,SAoBiBp2B,GAEjB,IAAMhF,EAAWgF,EAAM5E,OAGvBmV,EAAOlC,MAAMgoB,aAAer7B,EAASs7B,kBAErCzvB,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,eAE5CkoB,QA7BI,SA6BIv2B,GAEJ,IAAId,EAAGQ,SAAS6Q,EAAOlC,MAAMyC,MAA7B,CAIA,IAAM9V,EAAWgF,EAAM5E,OAGvBkX,GAAQ6iB,SAASp3B,KAAKwS,EAAQ6kB,GAG9B7kB,EAAOlC,MAAMyC,KAAO,WAChB8hB,GAAoB70B,KAAKwS,GAAQ,GACjCvV,EAASw7B,aAGbjmB,EAAOlC,MAAMiI,MAAQ,WACjBsc,GAAoB70B,KAAKwS,GAAQ,GACjCvV,EAASy7B,cAGblmB,EAAOlC,MAAMglB,KAAO,WAChBr4B,EAAS07B,aAGbnmB,EAAOlC,MAAM+I,SAAWpc,EAASs5B,cACjC/jB,EAAOlC,MAAMqC,QAAS,EAGtBH,EAAOlC,MAAMoC,YAAc,EAC3B7U,OAAOC,eAAe0U,EAAOlC,MAAO,cAAe,CAC/CvL,IAD+C,WAE3C,OAAOxD,OAAOtE,EAASq5B,mBAE3BryB,IAJ+C,SAI3CsT,GAEI/E,EAAOG,SAAWH,EAAOhB,MAAMsjB,WAC/BtiB,EAAOhB,MAAMmH,OAIjBnG,EAAOlC,MAAM0O,SAAU,EACvBlW,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,WAGxCrT,EAAS+zB,OAAOzZ,MAKxB1Z,OAAOC,eAAe0U,EAAOlC,MAAO,eAAgB,CAChDvL,IADgD,WAE5C,OAAO9H,EAASs7B,mBAEpBt0B,IAJgD,SAI5CxD,GACAxD,EAASy4B,gBAAgBj1B,MAxDtB,IA6DLyY,EAAW1G,EAAOrP,OAAlB+V,OACNrb,OAAOC,eAAe0U,EAAOlC,MAAO,SAAU,CAC1CvL,IAD0C,WAEtC,OAAOmU,GAEXjV,IAJ0C,SAItCxD,GACAyY,EAASzY,EACTxD,EAASu4B,UAAmB,IAATtc,GACnBpQ,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,mBArErC,IA0ELsN,EAAUpL,EAAOrP,OAAjBya,MACN/f,OAAOC,eAAe0U,EAAOlC,MAAO,QAAS,CACzCvL,IADyC,WAErC,OAAO6Y,GAEX3Z,IAJyC,SAIrCxD,GACA,IAAMmD,EAASzC,EAAGO,QAAQjB,GAASA,EAAQmd,EAC3CA,EAAQha,EACR3G,EAAS2G,EAAS,OAAS,YAC3BkF,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,mBAKhDzS,OAAOC,eAAe0U,EAAOlC,MAAO,aAAc,CAC9CvL,IAD8C,WAE1C,OAAO9H,EAAS64B,iBAKxBj4B,OAAOC,eAAe0U,EAAOlC,MAAO,QAAS,CACzCvL,IADyC,WAErC,OAAOyN,EAAOE,cAAgBF,EAAO6G,YAK7C7G,EAAOzP,QAAQya,MAAQvgB,EAAS27B,4BAG5BpmB,EAAO7K,UAAUgI,IACjB6C,EAAOlC,MAAMzF,aAAa,YAAa,GAG3C/B,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,cACxCxH,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,kBAGxCuoB,cAAcrmB,EAAOib,OAAOqL,WAG5BtmB,EAAOib,OAAOqL,UAAYC,YAAY,WAElCvmB,EAAOlC,MAAM+N,SAAWphB,EAAS+7B,0BAGC,OAA9BxmB,EAAOlC,MAAM2oB,cAAyBzmB,EAAOlC,MAAM2oB,aAAezmB,EAAOlC,MAAM+N,WAC/EvV,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,YAI5CkC,EAAOlC,MAAM2oB,aAAezmB,EAAOlC,MAAM+N,SAGX,IAA1B7L,EAAOlC,MAAM+N,WACbwa,cAAcrmB,EAAOib,OAAOqL,WAG5BhwB,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,oBAE7C,KAGHtC,WAAW,WAAA,OAAM2B,GAAGkd,MAAM7sB,KAAKwS,IAAS,MAE5C0mB,cAzKI,SAyKUj3B,GAEV,IAAMhF,EAAWgF,EAAM5E,OAoBvB,OAjBAw7B,cAAcrmB,EAAOib,OAAOvF,SAEb1V,EAAOlC,MAAM0O,SAAW,CAAC,EAAG,GAAGpZ,SAAS3D,EAAMyU,QAIzDlE,EAAOlC,MAAM0O,SAAU,EACvBlW,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,WAUpCrO,EAAMyU,MACV,KAAM,EAEF5N,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,cAGxCkC,EAAOlC,MAAM+N,SAAWphB,EAAS+7B,yBACjClwB,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,YAExC,MAEJ,KAAK,EACDukB,GAAoB70B,KAAKwS,GAAQ,GAG7BA,EAAOlC,MAAMyV,MAEb9oB,EAAS07B,YACT17B,EAASw7B,aAET3vB,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,SAG5C,MAEJ,KAAK,EAEIkC,EAAOrP,OAAOqiB,WAAYhT,EAAOlC,MAAMqC,QAAWH,EAAOhB,MAAMsjB,WAGhED,GAAoB70B,KAAKwS,GAAQ,GAEjC1J,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,WAGxCkC,EAAOib,OAAOvF,QAAU6Q,YAAY,WAChCjwB,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,eACzC,IAKCkC,EAAOlC,MAAM+I,WAAapc,EAASs5B,gBACnC/jB,EAAOlC,MAAM+I,SAAWpc,EAASs5B,cACjCztB,EAAa9I,KAAKwS,EAAQA,EAAOlC,MAAO,oBAhB5CkC,EAAOlC,MAAMiI,QAoBjB,MAEJ,KAAK,EAEI/F,EAAOoL,OACRpL,EAAOhB,MAAM2nB,SAEjBtE,GAAoB70B,KAAKwS,GAAQ,GAQzC1J,EAAa9I,KAAKwS,EAAQA,EAAO7I,SAASuD,UAAW,eAAe,EAAO,CACvEohB,KAAMrsB,EAAMyU,cC9Z9BpG,GAAQ,CAEVoL,MAFU,WAID3e,KAAKuT,OAMV3D,EAAY5P,KAAK4M,SAASuD,UAAWnQ,KAAKoG,OAAOqK,WAAWxJ,KAAKkI,QAAQ,MAAOnP,KAAKiH,OAAO,GAG5F2I,EAAY5P,KAAK4M,SAASuD,UAAWnQ,KAAKoG,OAAOqK,WAAW+B,SAASrD,QAAQ,MAAOnP,KAAKwS,WAAW,GAIhGxS,KAAK8lB,SACLlW,EAAY5P,KAAK4M,SAASuD,UAAWnQ,KAAKoG,OAAOqK,WAAWxJ,KAAKkI,QAAQ,MAAO,UAAU,GAI1FnP,KAAK8U,UAEL9U,KAAK4M,SAASC,QAAUkB,EAAc,MAAO,CACzCuB,MAAOtP,KAAKoG,OAAOqK,WAAW6B,QAIlC3F,EAAK3M,KAAKuT,MAAOvT,KAAK4M,SAASC,SAG/B7M,KAAK4M,SAASoe,OAASjd,EAAc,MAAO,CACxCuB,MAAOtP,KAAKoG,OAAOqK,WAAWua,SAGlChrB,KAAK4M,SAASC,QAAQS,YAAYtN,KAAK4M,SAASoe,SAGhDhrB,KAAKsT,QACLgC,GAAM/I,OAAOtJ,KAAKjD,MACXA,KAAK6mB,UACZrP,GAAQmH,MAAM1b,KAAKjD,MACZA,KAAKkV,SACZqC,GAAMoH,MAAM1b,KAAKjD,OAvCjBA,KAAKqW,MAAMqG,KAAK,6BCgBtB2f,GvC4uMJ,WuCtuME,SAAAA,EAAY5mB,GAAQ,IAAA3O,EAAA9G,KAAAC,EAAAD,KAAAq8B,GAChBr8B,KAAKyV,OAASA,EACdzV,KAAKoG,OAASqP,EAAOrP,OAAO8kB,IAC5BlrB,KAAKmrB,SAAU,EACfnrB,KAAKs8B,aAAc,EACnBt8B,KAAK4M,SAAW,CACZuD,UAAW,KACXosB,iBAAkB,MAEtBv8B,KAAKw8B,QAAU,KACfx8B,KAAKy8B,OAAS,KACdz8B,KAAK08B,UAAY,KACjB18B,KAAKmL,OAAS,GACdnL,KAAK28B,YAAc,KACnB38B,KAAK48B,eAAiB,KAGtB58B,KAAK68B,eAAiB,IAAIxyB,QAAQ,SAACuO,EAASC,GAExC/R,EAAKwE,GAAG,SAAUsN,GAGlB9R,EAAKwE,GAAG,QAASuN,KAGrB7Y,KAAKiW,OvC2zNT,OA1kBAhV,EAAao7B,EAAK,CAAC,CACjBr7B,IAAK,OAKLO,MAAO,WuCtuMF,IAAAkK,EAAAzL,KACEA,KAAKuG,UAKLnC,EAAGE,OAAOwF,OAAOgzB,SAAY14B,EAAGE,OAAOwF,OAAOgzB,OAAOC,KAUtD/8B,KAAKgwB,QATL6H,GAAW73B,KAAKyV,OAAOrP,OAAOyf,KAAKgF,UAAUF,KACxC3Q,KAAK,WACFvO,EAAKukB,UAER9V,MAAM,WAEHzO,EAAKvD,QAAQ,QAAS,IAAIgR,MAAM,uCvCgvM7C,CACDlY,IAAK,QACLO,MAAO,WuCxuMD,IArFIrB,EAqFJ6f,EAAA/f,KAECA,KAAKuG,WAvFFrG,EAwFIF,MAtFHw8B,SACTt8B,EAASs8B,QAAQQ,UAIjB98B,EAAS0M,SAAS2vB,kBAClBr8B,EAAS0M,SAAS2vB,iBAAiBS,UAGvC98B,EAAS0M,SAASuD,UAAU8sB,UAkFxBj9B,KAAKk9B,iBAAiB,KAAO,WAG7Bl9B,KAAK68B,eAAe7iB,KAAK,WACrB+F,EAAKod,iBAAiB,0BAI1Bn9B,KAAK4G,YAGL5G,KAAKo9B,avC0uMN,CACDp8B,IAAK,WAULO,MAAO,WuCjtMLvB,KAAK4M,SAASuD,UAAYpC,EAAc,MAAO,CAC3CuB,MAAOtP,KAAKyV,OAAOrP,OAAOqK,WAAWya,MAGzClrB,KAAKyV,OAAO7I,SAASuD,UAAU7C,YAAYtN,KAAK4M,SAASuD,WAGzD2sB,OAAOC,IAAIlhB,SAASwhB,aAAaP,OAAOC,IAAIO,eAAeC,UAAUC,SAGrEV,OAAOC,IAAIlhB,SAAS4hB,UAAUz9B,KAAKyV,OAAOrP,OAAO8kB,IAAIxH,UAGrDoZ,OAAOC,IAAIlhB,SAAS6hB,qCAAqC19B,KAAKyV,OAAOrP,OAAOqM,aAG5EzS,KAAK4M,SAAS2vB,iBAAmB,IAAIO,OAAOC,IAAIY,mBAAmB39B,KAAK4M,SAASuD,UAAWnQ,KAAKyV,OAAOlC,OAGxGvT,KAAK49B,evCmtMN,CACD58B,IAAK,aACLO,MAAO,WuC/sMI,IAAAyf,EAAAhhB,KACDmQ,EAAcnQ,KAAKyV,OAAO7I,SAA1BuD,UAER,IAEInQ,KAAKy8B,OAAS,IAAIK,OAAOC,IAAIc,UAAU79B,KAAK4M,SAAS2vB,kBAGrDv8B,KAAKy8B,OAAO5xB,iBACRiyB,OAAOC,IAAIe,sBAAsBC,KAAKC,mBACtC,SAAA94B,GAAK,OAAI8b,EAAKid,mBAAmB/4B,KACjC,GAEJlF,KAAKy8B,OAAO5xB,iBAAiBiyB,OAAOC,IAAImB,aAAaH,KAAKI,SAAU,SAAA1hB,GAAK,OAAIuE,EAAKod,UAAU3hB,KAAQ,GAGpG,IAAM3D,EAAU,IAAIgkB,OAAOC,IAAIsB,WAC/BvlB,EAAQwlB,SAAWt+B,KAAKksB,OAIxBpT,EAAQylB,kBAAoBpuB,EAAUquB,YACtC1lB,EAAQ2lB,mBAAqBtuB,EAAUe,aACvC4H,EAAQ4lB,qBAAuBvuB,EAAUquB,YACzC1lB,EAAQ6lB,sBAAwBxuB,EAAUe,aAG1C4H,EAAQ8lB,wBAAyB,EAGjC9lB,EAAQ+lB,oBAAoB7+B,KAAKyV,OAAOoL,OAExC7gB,KAAKy8B,OAAOmB,WAAW9kB,GACzB,MAAOpO,GACL1K,KAAKo+B,UAAU1zB,MvCmtMpB,CACD1J,IAAK,gBACLO,MAAO,WuC7sMoB,IAAAkgB,EAAAzhB,KACzB,KADyBmI,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,IAIrB,OAFA2zB,cAAc97B,KAAK48B,qBACnB58B,KAAK4M,SAASuD,UAAUR,gBAAgB,mBAU5C3P,KAAK48B,eAAiBZ,YANP,WACX,IAAMxhB,EAAOD,GAAW5U,KAAKC,IAAI6b,EAAK+a,QAAQsC,mBAAoB,IAC5DjhB,EAAK,GAAAnY,OAAM+R,GAAS,gBAAiBgK,EAAKhM,OAAOrP,QAA5C,OAAAV,OAAyD8U,GACpEiH,EAAK7U,SAASuD,UAAUrC,aAAa,kBAAmB+P,IAGlB,OvCytM3C,CACD7c,IAAK,qBACLO,MAAO,SuCptMU2D,GAAO,IAAA4d,EAAA9iB,KAEtB,GAAKA,KAAKuG,QAAV,CAKA,IAAMsV,EAAW,IAAIihB,OAAOC,IAAIgC,qBAGhCljB,EAASmjB,6CAA8C,EACvDnjB,EAASojB,kBAAmB,EAI5Bj/B,KAAKw8B,QAAUt3B,EAAMg6B,cAAcl/B,KAAKyV,OAAQoG,GAGhD7b,KAAK08B,UAAY18B,KAAKw8B,QAAQ2C,eAI9Bn/B,KAAKw8B,QAAQ3xB,iBAAiBiyB,OAAOC,IAAImB,aAAaH,KAAKI,SAAU,SAAA1hB,GAAK,OAAIqG,EAAKsb,UAAU3hB,KAG7F3b,OAAOuE,KAAKy3B,OAAOC,IAAIqC,QAAQrB,MAAM/2B,QAAQ,SAAAC,GACzC6b,EAAK0Z,QAAQ3xB,iBAAiBiyB,OAAOC,IAAIqC,QAAQrB,KAAK92B,GAAO,SAAAyD,GAAC,OAAIoY,EAAKuc,UAAU30B,OAIrF1K,KAAKkI,QAAQ,avCstMd,CACDlH,IAAK,eACLO,MAAO,WuCrtMM,IAAA+hB,EAAAtjB,KAENoE,EAAGgB,MAAMpF,KAAK08B,YACf18B,KAAK08B,UAAU11B,QAAQ,SAAAs4B,GACnB,GAAiB,IAAbA,IAAgC,IAAdA,GAAmBA,EAAWhc,EAAK7N,OAAO6G,SAAU,CACtE,IAAMijB,EAAcjc,EAAK7N,OAAO7I,SAASoP,SAEzC,GAAI5X,EAAGY,QAAQu6B,GAAc,CACzB,IAAMC,EAAiB,IAAMlc,EAAK7N,OAAO6G,SAAYgjB,EAC/Cz1B,EAAMkE,EAAc,OAAQ,CAC9BuB,MAAOgU,EAAK7N,OAAOrP,OAAOqK,WAAW2X,OAGzCve,EAAIrD,MAAMqB,KAAV,GAAAnC,OAAoB85B,EAAcx8B,WAAlC,KACAu8B,EAAYjyB,YAAYzD,SvCmuMzC,CACD7I,IAAK,YACLO,MAAO,SuCxtMC2D,GAAO,IAAA2e,EAAA7jB,KACLmQ,EAAcnQ,KAAKyV,OAAO7I,SAA1BuD,UAGFsvB,EAAKv6B,EAAMw6B,QACXC,EAASz6B,EAAM06B,YAUrB,OAPsB,SAAA34B,GAClB8E,EAAa9I,KAAK4gB,EAAKpO,OAAQoO,EAAKpO,OAAOlC,MAA3C,MAAA7N,OAAwDuB,EAAKkI,QAAQ,KAAM,IAAI6H,gBAInF/O,CAAc/C,EAAM+B,MAEZ/B,EAAM+B,MACV,KAAK61B,OAAOC,IAAIqC,QAAQrB,KAAK8B,OAGzB7/B,KAAKkI,QAAQ,UAGblI,KAAK8/B,eAAc,GAEdL,EAAGM,aAEJN,EAAG93B,MAAQwI,EAAUquB,YACrBiB,EAAGvrB,OAAS/D,EAAUe,cAM1B,MAEJ,KAAK4rB,OAAOC,IAAIqC,QAAQrB,KAAKiC,QAEzBhgC,KAAKw8B,QAAQ/D,UAAUz4B,KAAKyV,OAAO0G,QAEnC,MAEJ,KAAK2gB,OAAOC,IAAIqC,QAAQrB,KAAKkC,kBA2BzBjgC,KAAKkgC,UAEL,MAEJ,KAAKpD,OAAOC,IAAIqC,QAAQrB,KAAKoC,wBAKzBngC,KAAKogC,eAEL,MAEJ,KAAKtD,OAAOC,IAAIqC,QAAQrB,KAAKsC,yBAMzBrgC,KAAK8/B,gBAEL9/B,KAAKsgC,gBAEL,MAEJ,KAAKxD,OAAOC,IAAIqC,QAAQrB,KAAKwC,IACrBZ,EAAOa,SACPxgC,KAAKyV,OAAOY,MAAMqG,KAAlB,uBAAAhX,OAA8Ci6B,EAAOa,QAAQC,kBvC2tM1E,CACDz/B,IAAK,YACLO,MAAO,SuC/sMC2D,GACNlF,KAAK0gC,SACL1gC,KAAKyV,OAAOY,MAAMqG,KAAK,YAAaxX,KvCutMrC,CACDlE,IAAK,YACLO,MAAO,WuCjtMG,IAEJiZ,EAFIoK,EAAA5kB,KACAmQ,EAAcnQ,KAAKyV,OAAO7I,SAA1BuD,UAGRnQ,KAAKyV,OAAOnK,GAAG,UAAW,WACtBsZ,EAAK+b,iBAGT3gC,KAAKyV,OAAOnK,GAAG,QAAS,WACpBsZ,EAAK6X,OAAOmE,oBAGhB5gC,KAAKyV,OAAOnK,GAAG,aAAc,WACzBkP,EAAOoK,EAAKnP,OAAOE,cAGvB3V,KAAKyV,OAAOnK,GAAG,SAAU,WACrB,IAAMu1B,EAAajc,EAAKnP,OAAOE,YAE3BvR,EAAGgB,MAAMwf,EAAK8X,YAIlB9X,EAAK8X,UAAU11B,QAAQ,SAACs4B,EAAUvyB,GAC1ByN,EAAO8kB,GAAYA,EAAWuB,IAC9Bjc,EAAK4X,QAAQsE,iBACblc,EAAK8X,UAAUhH,OAAO3oB,EAAO,QAOzCjD,OAAOe,iBAAiB,SAAU,WAC1B+Z,EAAK4X,SACL5X,EAAK4X,QAAQuE,OAAO5wB,EAAUquB,YAAaruB,EAAUe,aAAc4rB,OAAOC,IAAIiE,SAASC,YvCutMhG,CACDjgC,IAAK,OACLO,MAAO,WuCjtMF,IAAA4jB,EAAAnlB,KACKmQ,EAAcnQ,KAAKyV,OAAO7I,SAA1BuD,UAEHnQ,KAAK68B,gBACN78B,KAAKsgC,gBAITtgC,KAAK68B,eACA7iB,KAAK,WAEFmL,EAAKqX,QAAQ/D,UAAUtT,EAAK1P,OAAO0G,QAGnCgJ,EAAKvY,SAAS2vB,iBAAiB2E,aAE/B,IACS/b,EAAKmX,cAENnX,EAAKqX,QAAQl2B,KAAK6J,EAAUquB,YAAaruB,EAAUe,aAAc4rB,OAAOC,IAAIiE,SAASC,QAIrF9b,EAAKqX,QAAQzS,SAGjB5E,EAAKmX,aAAc,EACrB,MAAOkE,GAGLrb,EAAKiZ,UAAUoC,MAGtBtmB,MAAM,gBvCutMZ,CACDlZ,IAAK,gBACLO,MAAO,WuCjtMLvB,KAAK4M,SAASuD,UAAU3J,MAAM26B,OAAS,GAGvCnhC,KAAKmrB,SAAU,EAGfnrB,KAAKyV,OAAOlC,MAAMyC,SvCutMnB,CACDhV,IAAK,eACLO,MAAO,WuCjtMLvB,KAAK4M,SAASuD,UAAU3J,MAAM26B,OAAS,EAGvCnhC,KAAKmrB,SAAU,EAGfnrB,KAAKyV,OAAOlC,MAAMiI,UvC0tMnB,CACDxa,IAAK,SACLO,MAAO,WuCjtMDvB,KAAKs8B,aACLt8B,KAAKsgC,gBAITtgC,KAAKkI,QAAQ,SAGblI,KAAKkgC,YvCwtMN,CACDl/B,IAAK,UACLO,MAAO,WuCptMC,IAAAykB,EAAAhmB,KAENA,KAAK68B,eACA7iB,KAAK,WAEEgM,EAAKwW,SACLxW,EAAKwW,QAAQQ,UAIjBhX,EAAK6W,eAAiB,IAAIxyB,QAAQ,SAAAuO,GAC9BoN,EAAK1a,GAAG,SAAUsN,GAClBoN,EAAKvQ,OAAOY,MAAMC,IAAI0P,EAAKwW,WAI/BxW,EAAK4X,eAER1jB,MAAM,gBvC2tMZ,CACDlZ,IAAK,UACLO,MAAO,SuCttMD2D,GAAgB,IAAA,IAAAk8B,EAAAphC,KAAA2L,EAAAxD,UAAA1H,OAANmL,EAAM,IAAAlK,MAAAiK,EAAA,EAAAA,EAAA,EAAA,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAND,EAAMC,EAAA,GAAA1D,UAAA0D,GACpB,IAAMw1B,EAAWrhC,KAAKmL,OAAOjG,GAEzBd,EAAGU,MAAMu8B,IACTA,EAASr6B,QAAQ,SAAAyoB,GACTrrB,EAAGQ,SAAS6qB,IACZA,EAAQ3jB,MAAMs1B,EAAMx1B,OvCwuMjC,CACD5K,IAAK,KACLO,MAAO,SuC9tMN2D,EAAO8F,GAON,OANK5G,EAAGU,MAAM9E,KAAKmL,OAAOjG,MACtBlF,KAAKmL,OAAOjG,GAAS,IAGzBlF,KAAKmL,OAAOjG,GAAO1C,KAAKwI,GAEjBhL,OvCwuMR,CACDgB,IAAK,mBACLO,MAAO,SuC/tMQiZ,EAAMtX,GAAM,IAAAo+B,EAAAthC,KACzBA,KAAKyV,OAAOY,MAAMC,IAAlB,8BAAA5Q,OAAoDxC,IAEpDlD,KAAK28B,YAAc1rB,WAAW,WAC1BqwB,EAAKZ,SACLY,EAAKnE,iBAAiB,uBACvB3iB,KvCwuMJ,CACDxZ,IAAK,mBACLO,MAAO,SuCnuMQ2B,GACRkB,EAAGC,gBAAgBrE,KAAK28B,eACzB38B,KAAKyV,OAAOY,MAAMC,IAAlB,8BAAA5Q,OAAoDxC,IAEpDutB,aAAazwB,KAAK28B,aAClB38B,KAAK28B,YAAc,QvCquMxB,CACD37B,IAAK,UACLgH,IAAK,WuC7xNO,IACF5B,EAAWpG,KAAXoG,OAER,OACIpG,KAAKyV,OAAOnC,SACZtT,KAAKyV,OAAOX,SACZ1O,EAAOG,WACLnC,EAAGgB,MAAMgB,EAAO6lB,cAAgB7nB,EAAGkG,IAAIlE,EAAO8lB,WvC0xNrD,CACDlrB,IAAK,SACLgH,IAAK,WuCvuNM,IACD5B,EAAWpG,KAAXoG,OAER,GAAIhC,EAAGkG,IAAIlE,EAAO8lB,QACd,OAAO9lB,EAAO8lB,OAGlB,IAAMvF,EAAS,CACX4a,eAAgB,2BAChBC,aAAc,2BACdC,OAAQ33B,OAAOoR,SAASzQ,SACxBi3B,GAAI5Q,KAAKC,MACT4Q,SAAU,IACVC,UAAW,IACXC,SAAU7hC,KAAKisB,aAKnB,MAAA,GAAAvmB,OAFa,6CAEb,KAAAA,OAAkBghB,GAAeC,QvCyuN9B0V,EA9mBT,GwCxsMIyF,GxCk3NJ,WwC52NE,SAAAA,EAAYrsB,GAAQxV,EAAAD,KAAA8hC,GAChB9hC,KAAKyV,OAASA,EACdzV,KAAK+hC,WAAa,GAClB/hC,KAAKk0B,QAAS,EACdl0B,KAAKgiC,kBAAoBlR,KAAKC,MAC9B/wB,KAAKiiC,WAAY,EACjBjiC,KAAKkiC,aAAe,GAEpBliC,KAAK4M,SAAW,CACZu1B,MAAO,GACPC,UAAW,IAGfpiC,KAAKiW,OxCw8OT,OAnlBAhV,EAAa6gC,EAAmB,CAAC,CAC/B9gC,IAAK,OACLO,MAAO,WwCh3NF,IAAAuF,EAAA9G,KAECA,KAAKyV,OAAO7I,SAASwP,QAAQG,cAC7Bvc,KAAKyV,OAAO7I,SAASwP,QAAQG,YAAY9M,OAASzP,KAAKuG,SAGtDvG,KAAKuG,SAIVvG,KAAKqiC,gBAAgBroB,KAAK,WAEtBlT,EAAKw7B,SAGLx7B,EAAKy7B,+BAELz7B,EAAKotB,QAAS,MxCs3NnB,CACDlzB,IAAK,gBACLO,MAAO,WwCn3NO,IAAAkK,EAAAzL,KACZ,OAAO,IAAIqK,QAAQ,SAAAuO,GAAW,IAClB7C,EAAQtK,EAAKgK,OAAOrP,OAAOslB,kBAA3B3V,IAER,GAAI3R,EAAGgB,MAAM2Q,GACT,MAAM,IAAImD,MAAM,kDAIpB,IAEMspB,GAFOp+B,EAAGM,OAAOqR,GAAO,CAACA,GAAOA,GAEhB7M,IAAI,SAAAu5B,GAAC,OAAIh3B,EAAKi3B,aAAaD,KAEjDp4B,QAAQ4f,IAAIuY,GAAUxoB,KAAK,WAEvBvO,EAAKs2B,WAAW9e,KAAK,SAACuK,EAAGE,GAAJ,OAAUF,EAAEtZ,OAASwZ,EAAExZ,SAE5CzI,EAAKgK,OAAOY,MAAMC,IAAI,qBAAsB7K,EAAKs2B,YAEjDnpB,UxC63NT,CACD5X,IAAK,eACLO,MAAO,SwCz3NI+I,GAAK,IAAAyV,EAAA/f,KACd,OAAO,IAAIqK,QAAQ,SAAAuO,GACfF,GAAMpO,GAAK0P,KAAK,SAAAf,GACZ,IAtIC0pB,EACPC,EAqIYC,EAAY,CACdC,QAvIHH,EAuIoB1pB,EAtI3B2pB,EAAgB,GACPD,EAAcv3B,MAAM,sBAE5BpE,QAAQ,SAAA+7B,GACX,IAAM9oB,EAAS,GACD8oB,EAAM33B,MAAM,cAEpBpE,QAAQ,SAAAg8B,GACV,GAAK5+B,EAAGG,OAAO0V,EAAOgpB,YAkBf,IAAK7+B,EAAGgB,MAAM49B,EAAK/zB,SAAW7K,EAAGgB,MAAM6U,EAAOjM,MAAO,CAExD,IAAMk1B,EAAYF,EAAK/zB,OAAO7D,MAAM,UAFoB+3B,EAAA3hC,EAGxC0hC,EAHwC,GAMxD,GAHCjpB,EAAOjM,KAHgDm1B,EAAA,GAMpDD,EAAU,GAAI,CAAA,IAAAE,EAAA5hC,EAC6B0hC,EAAU,GAAG93B,MAAM,KADhD,GACb6O,EAAOuT,EADM4V,EAAA,GACHnpB,EAAOyT,EADJ0V,EAAA,GACOnpB,EAAO5F,EADd+uB,EAAA,GACiBnpB,EAAO3F,EADxB8uB,EAAA,SAxBY,CAE9B,IAAMC,EAAaL,EAAKv9B,MACpB,2GAGA49B,IACAppB,EAAOgpB,UAC0B,GAA7Bz+B,OAAO6+B,EAAW,IAAM,GAAU,GACV,GAAxB7+B,OAAO6+B,EAAW,IAClB7+B,OAAO6+B,EAAW,IAClB7+B,OAAM,KAAAkB,OAAM29B,EAAW,KAC3BppB,EAAOqpB,QAC0B,GAA7B9+B,OAAO6+B,EAAW,IAAM,GAAU,GACV,GAAxB7+B,OAAO6+B,EAAW,IAClB7+B,OAAO6+B,EAAW,IAClB7+B,OAAM,KAAAkB,OAAM29B,EAAW,SAcnCppB,EAAOjM,MACP40B,EAAcpgC,KAAKyX,KAIpB2oB,GA4FS1uB,OAAQ,KACRqvB,UAAW,IAOVV,EAAUC,OAAO,GAAG90B,KAAKxD,WAAW,MACpCq4B,EAAUC,OAAO,GAAG90B,KAAKxD,WAAW,YACpCq4B,EAAUC,OAAO,GAAG90B,KAAKxD,WAAW,cAErCq4B,EAAUU,UAAYj5B,EAAIk5B,UAAU,EAAGl5B,EAAIm5B,YAAY,KAAO,IAIlE,IAAMC,EAAY,IAAIlU,MAEtBkU,EAAUhU,OAAS,WACfmT,EAAU3uB,OAASwvB,EAAUC,cAC7Bd,EAAUl7B,MAAQ+7B,EAAU9T,aAE5B7P,EAAKgiB,WAAWv/B,KAAKqgC,GAErBjqB,KAGJ8qB,EAAU3tB,IAAM8sB,EAAUU,UAAYV,EAAUC,OAAO,GAAG90B,WxC03NnE,CACDhN,IAAK,YACLO,MAAO,SwCv3NC2D,GACN,GAAKlF,KAAKk0B,QAIL9vB,EAAGc,MAAMA,IAAW,CAAC,YAAa,aAAa2D,SAAS3D,EAAM+B,OAK9DjH,KAAKyV,OAAOlC,MAAM+I,SAAvB,CAIA,GAAmB,cAAfpX,EAAM+B,KAENjH,KAAK2X,SAAW3X,KAAKyV,OAAOlC,MAAM+I,UAAYtc,KAAKyV,OAAO7I,SAASqP,OAAOC,KAAK3a,MAAQ,SACpF,CAEH,IAAMkG,EAAazH,KAAKyV,OAAO7I,SAASoP,SAAStU,wBAC3Ck8B,EAAc,IAAMn8B,EAAWE,OAAUzC,EAAM2c,MAAQpa,EAAWI,MACxE7H,KAAK2X,SAAW3X,KAAKyV,OAAOlC,MAAM+I,UAAYsnB,EAAa,KAEvD5jC,KAAK2X,SAAW,IAEhB3X,KAAK2X,SAAW,GAGhB3X,KAAK2X,SAAW3X,KAAKyV,OAAOlC,MAAM+I,SAAW,IAE7Ctc,KAAK2X,SAAW3X,KAAKyV,OAAOlC,MAAM+I,SAAW,GAGjDtc,KAAK6jC,UAAY3+B,EAAM2c,MAGvB7hB,KAAK4M,SAASu1B,MAAM3nB,KAAKvM,UAAYsM,GAAWva,KAAK2X,UAIzD3X,KAAK8jC,4BxCw3NN,CACD9iC,IAAK,UACLO,MAAO,WwCt3NLvB,KAAK+jC,sBAAqB,GAAO,KxCy3NlC,CACD/iC,IAAK,iBACLO,MAAO,SwCx3NM2D,IAEU,IAAjBA,EAAMiZ,QAAqC,IAAjBjZ,EAAMiZ,SAChCne,KAAKiiC,WAAY,EAGbjiC,KAAKyV,OAAOlC,MAAM+I,WAClBtc,KAAKgkC,0BAAyB,GAC9BhkC,KAAK+jC,sBAAqB,GAAO,GAGjC/jC,KAAK8jC,6BxC03Nd,CACD9iC,IAAK,eACLO,MAAO,WwCv3NM,IAAAyf,EAAAhhB,KACXA,KAAKiiC,WAAY,EAGbt8B,KAAKs+B,KAAKjkC,KAAKkkC,YAAcv+B,KAAKs+B,KAAKjkC,KAAKyV,OAAOlC,MAAMoC,aAEzD3V,KAAKgkC,0BAAyB,GAG9Bx4B,EAAKvI,KAAKjD,KAAKyV,OAAQzV,KAAKyV,OAAOlC,MAAO,aAAc,WAE/CyN,EAAKihB,WACNjhB,EAAKgjB,0BAAyB,OxCi4N3C,CACDhjC,IAAK,YACLO,MAAO,WwC13NG,IAAAkgB,EAAAzhB,KAERA,KAAKyV,OAAOnK,GAAG,OAAQ,WACnBmW,EAAKsiB,sBAAqB,GAAO,KAGrC/jC,KAAKyV,OAAOnK,GAAG,SAAU,WACrBmW,EAAKsiB,sBAAqB,KAG9B/jC,KAAKyV,OAAOnK,GAAG,aAAc,WACzBmW,EAAKyiB,SAAWziB,EAAKhM,OAAOlC,MAAMoC,gBxCi4NvC,CACD3U,IAAK,SACLO,MAAO,WwC13NLvB,KAAK4M,SAASu1B,MAAMhyB,UAAYpC,EAAc,MAAO,CACjDuB,MAAOtP,KAAKyV,OAAOrP,OAAOqK,WAAWib,kBAAkBC,iBAI3D3rB,KAAK4M,SAASu1B,MAAMtW,eAAiB9d,EAAc,MAAO,CACtDuB,MAAOtP,KAAKyV,OAAOrP,OAAOqK,WAAWib,kBAAkBG,iBAE3D7rB,KAAK4M,SAASu1B,MAAMhyB,UAAU7C,YAAYtN,KAAK4M,SAASu1B,MAAMtW,gBAG9D,IAAMC,EAAgB/d,EAAc,MAAO,CACvCuB,MAAOtP,KAAKyV,OAAOrP,OAAOqK,WAAWib,kBAAkBI,gBAG3D9rB,KAAK4M,SAASu1B,MAAM3nB,KAAOzM,EAAc,OAAQ,GAAI,SACrD+d,EAAcxe,YAAYtN,KAAK4M,SAASu1B,MAAM3nB,MAE9Cxa,KAAK4M,SAASu1B,MAAMhyB,UAAU7C,YAAYwe,GAGtC1nB,EAAGY,QAAQhF,KAAKyV,OAAO7I,SAASoP,WAChChc,KAAKyV,OAAO7I,SAASoP,SAAS1O,YAAYtN,KAAK4M,SAASu1B,MAAMhyB,WAIlEnQ,KAAK4M,SAASw1B,UAAUjyB,UAAYpC,EAAc,MAAO,CACrDuB,MAAOtP,KAAKyV,OAAOrP,OAAOqK,WAAWib,kBAAkBK,qBAG3D/rB,KAAKyV,OAAO7I,SAASC,QAAQS,YAAYtN,KAAK4M,SAASw1B,UAAUjyB,axCw3NlE,CACDnP,IAAK,yBACLO,MAAO,WwCv3NgB,IAAAuhB,EAAA9iB,KACjBA,KAAKiiC,UACLjiC,KAAKmkC,4BAELnkC,KAAKokC,8BAKT,IAAMC,EAAWrkC,KAAK+hC,WAAW,GAAGe,OAAOwB,UACvC,SAAAvB,GAAK,OAAIjgB,EAAKnL,UAAYorB,EAAME,WAAangB,EAAKnL,UAAYorB,EAAMO,UAElEiB,EAAWF,GAAY,EACzBG,EAAe,EAGdxkC,KAAKiiC,WACNjiC,KAAK+jC,qBAAqBQ,GAIzBA,IAKLvkC,KAAK+hC,WAAW/6B,QAAQ,SAAC67B,EAAW91B,GAC5B+V,EAAKof,aAAar5B,SAASg6B,EAAUC,OAAOuB,GAAUr2B,QACtDw2B,EAAez3B,KAKnBs3B,IAAarkC,KAAKykC,eAClBzkC,KAAKykC,aAAeJ,EACpBrkC,KAAKqvB,UAAUmV,OxC23NpB,CACDxjC,IAAK,YACLO,MAAO,WwCx3NmB,IAAA+hB,EAAAtjB,KAAlBwkC,EAAkBr8B,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAH,EACfk8B,EAAWrkC,KAAKykC,aAChB5B,EAAY7iC,KAAK+hC,WAAWyC,GAC1BjB,EAAcV,EAAdU,UACFR,EAAQF,EAAUC,OAAOuB,GACzBK,EAAgB7B,EAAUC,OAAOuB,GAAUr2B,KAC3C22B,EAAWpB,EAAYmB,EAE7B,GAAK1kC,KAAK4kC,qBAAuB5kC,KAAK4kC,oBAAoBC,QAAQC,WAAaJ,EAyB3E1kC,KAAK+kC,UAAU/kC,KAAK4kC,oBAAqB7B,EAAOyB,EAAcH,EAAUK,GAAe,GACvF1kC,KAAK4kC,oBAAoBC,QAAQ93B,MAAQs3B,EACzCrkC,KAAKglC,gBAAgBhlC,KAAK4kC,yBA3BgE,CAGtF5kC,KAAKilC,cAAgBjlC,KAAKklC,eAC1BllC,KAAKilC,aAAavV,OAAS,MAM/B,IAAMyV,EAAe,IAAI3V,MACzB2V,EAAapvB,IAAM4uB,EACnBQ,EAAaN,QAAQ93B,MAAQs3B,EAC7Bc,EAAaN,QAAQC,SAAWJ,EAChC1kC,KAAKolC,qBAAuBV,EAE5B1kC,KAAKyV,OAAOY,MAAMC,IAAlB,kBAAA5Q,OAAwCi/B,IAGxCQ,EAAazV,OAAS,WAAA,OAClBpM,EAAKyhB,UAAUI,EAAcpC,EAAOyB,EAAcH,EAAUK,GAAe,IAC/E1kC,KAAKilC,aAAeE,EACpBnlC,KAAKglC,gBAAgBG,MxCm4N1B,CACDnkC,IAAK,YACLO,MAAO,SwC53NC4jC,EAAcpC,EAAOyB,EAAcH,EAAUK,GAAgC,IAAjBW,IAAiBl9B,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,KAAAA,UAAA,GACnFnI,KAAKyV,OAAOY,MAAMC,IAAlB,kBAAA5Q,OACsBg/B,EADtB,WAAAh/B,OAC6C2+B,EAD7C,YAAA3+B,OACgE8+B,EADhE,cAAA9+B,OACyF2/B,IAEzFrlC,KAAKslC,sBAAsBH,EAAcpC,GAErCsC,IACArlC,KAAKulC,sBAAsBj4B,YAAY63B,GACvCnlC,KAAK4kC,oBAAsBO,EAEtBnlC,KAAKkiC,aAAar5B,SAAS67B,IAC5B1kC,KAAKkiC,aAAa1/B,KAAKkiC,IAO/B1kC,KAAKwlC,cAAcnB,GAAU,GACxBrqB,KAAKha,KAAKwlC,cAAcnB,GAAU,IAClCrqB,KAAKha,KAAKylC,iBAAiBjB,EAAcW,EAAcpC,EAAO2B,MxC43NpE,CACD1jC,IAAK,kBACLO,MAAO,SwC13NOmkC,GAAc,IAAA7hB,EAAA7jB,KAE1B0B,MAAMwB,KAAKlD,KAAKulC,sBAAsBjlB,UAAUtZ,QAAQ,SAAAuoB,GACpD,GAAoC,QAAhCA,EAAMoW,QAAQ3uB,cAAlB,CAIA,IAAM4uB,EAAc/hB,EAAKqhB,aAAe,IAAM,IAE9C,GAAI3V,EAAMsV,QAAQ93B,QAAU24B,EAAab,QAAQ93B,QAAUwiB,EAAMsV,QAAQgB,SAAU,CAI/EtW,EAAMsV,QAAQgB,UAAW,EAJsD,IAOvEN,EAA0B1hB,EAA1B0hB,sBAERt0B,WAAW,WACPs0B,EAAsBn3B,YAAYmhB,GAClC1L,EAAKpO,OAAOY,MAAMC,IAAlB,mBAAA5Q,OAAyC6pB,EAAMsV,QAAQC,YACxDc,SxCi4NZ,CACD5kC,IAAK,gBACLO,MAAO,SwC53NK8iC,GAA0B,IAAAzf,EAAA5kB,KAAhB+xB,IAAgB5pB,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,KAAAA,UAAA,GACpC,OAAO,IAAIkC,QAAQ,SAAAuO,GACf3H,WAAW,WACP,IAAM60B,EAAmBlhB,EAAKmd,WAAW,GAAGe,OAAOuB,GAAUr2B,KAE7D,GAAI4W,EAAKwgB,uBAAyBU,EAAkB,CAEhD,IAAIC,EAEAA,EADAhU,EACkBnN,EAAKmd,WAAW,GAAGe,OAAO3rB,MAAMktB,GAEhCzf,EAAKmd,WAAW,GAAGe,OAAO3rB,MAAM,EAAGktB,GAAUv3B,UAGnE,IAAIk5B,GAAW,EAEfD,EAAgB/+B,QAAQ,SAAA+7B,GACpB,IAAMkD,EAAmBlD,EAAM/0B,KAE/B,GAAIi4B,IAAqBH,IAEhBlhB,EAAKsd,aAAar5B,SAASo9B,GAAmB,CAC/CD,GAAW,EACXphB,EAAKnP,OAAOY,MAAMC,IAAlB,8BAAA5Q,OAAoDugC,IAFL,IAKzCC,EADgBthB,EAAKmd,WAAW,GAA9BwB,UACqB0C,EACvBd,EAAe,IAAI3V,MACzB2V,EAAapvB,IAAMmwB,EACnBf,EAAazV,OAAS,WAClB9K,EAAKnP,OAAOY,MAAMC,IAAlB,6BAAA5Q,OAAmDugC,IAC9CrhB,EAAKsd,aAAar5B,SAASo9B,IAC5BrhB,EAAKsd,aAAa1/B,KAAKyjC,GAG3BrtB,QAOXotB,GACDptB,MAGT,SxCm4NR,CACD5X,IAAK,mBACLO,MAAO,SwCh4NQ4kC,EAAqBhB,EAAcpC,EAAO2B,GAAe,IAAAvf,EAAAnlB,KACtE,GAAImmC,EAAsBnmC,KAAK+hC,WAAWthC,OAAS,EAAG,CAElD,IAAI2lC,EAAqBjB,EAAaxB,cAElC3jC,KAAKklC,eACLkB,EAAqBrD,EAAMzuB,GAG3B8xB,EAAqBpmC,KAAKqmC,sBAE1Bp1B,WAAW,WAEHkU,EAAKigB,uBAAyBV,IAC9Bvf,EAAK1P,OAAOY,MAAMC,IAAlB,qCAAA5Q,OAA2Dg/B,IAC3Dvf,EAAKkK,UAAU8W,EAAsB,KAE1C,QxCu4NZ,CACDnlC,IAAK,uBACLO,MAAO,WwCv1NkD,IAAtCsF,EAAsCsB,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GAAtBm+B,EAAsBn+B,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GACjD+G,EAAYlP,KAAKyV,OAAOrP,OAAOqK,WAAWib,kBAAkBE,oBAClE5rB,KAAK4M,SAASu1B,MAAMhyB,UAAUL,UAAUjJ,OAAOqI,EAAWrI,IAErDA,GAAUy/B,IACXtmC,KAAKykC,aAAe,KACpBzkC,KAAKolC,qBAAuB,QxC41NjC,CACDpkC,IAAK,2BACLO,MAAO,WwC11NgC,IAAhBsF,EAAgBsB,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GAC/B+G,EAAYlP,KAAKyV,OAAOrP,OAAOqK,WAAWib,kBAAkBM,wBAClEhsB,KAAK4M,SAASw1B,UAAUjyB,UAAUL,UAAUjJ,OAAOqI,EAAWrI,GAEzDA,IACD7G,KAAKykC,aAAe,KACpBzkC,KAAKolC,qBAAuB,QxC81NjC,CACDpkC,IAAK,+BACLO,MAAO,WwC31NDvB,KAAK4M,SAASu1B,MAAMtW,eAAe0a,aAAe,KAElDvmC,KAAKwmC,oBAAqB,KxCg2N/B,CACDxlC,IAAK,8BACLO,MAAO,WwC51NL,IAAKvB,KAAKwmC,mBAAoB,CAC1B,IAAMjjC,EAAaoC,KAAKsgB,MAAMjmB,KAAKqmC,qBAAuBrmC,KAAKymC,kBAC/DzmC,KAAK4M,SAASu1B,MAAMtW,eAAerlB,MAAM0N,OAAzC,GAAAxO,OAAqD1F,KAAKqmC,qBAA1D,MACArmC,KAAK4M,SAASu1B,MAAMtW,eAAerlB,MAAMmB,MAAzC,GAAAjC,OAAoDnC,EAApD,MAGJvD,KAAK0mC,yBxC+1NN,CACD1lC,IAAK,uBACLO,MAAO,WwC71NL,IAAMolC,EAAc3mC,KAAKyV,OAAO7I,SAASoP,SAAStU,wBAC5Ck/B,EAAW5mC,KAAKyV,OAAO7I,SAASuD,UAAUzI,wBACxCyI,EAAcnQ,KAAK4M,SAASu1B,MAA5BhyB,UAEF02B,EAASD,EAAS/+B,KAAO8+B,EAAY9+B,KAAO,GAC5Ci/B,EAASF,EAASG,MAAQJ,EAAY9+B,KAAOsI,EAAU62B,YAAc,GAEvEC,EAAajnC,KAAK6jC,UAAY8C,EAAY9+B,KAAOsI,EAAU62B,YAAc,EAEzEC,EAAaJ,IACbI,EAAaJ,GAGbI,EAAaH,IACbG,EAAaH,GAGjB32B,EAAU3J,MAAMqB,KAAhB,GAAAnC,OAA0BuhC,EAA1B,QxCi2ND,CACDjmC,IAAK,4BACLO,MAAO,WwC91NLvB,KAAK4M,SAASw1B,UAAUjyB,UAAU3J,MAAMmB,MAAxC,GAAAjC,OAAmD1F,KAAKyV,OAAOlC,MAAMyzB,YAArE,MAEAhnC,KAAK4M,SAASw1B,UAAUjyB,UAAU3J,MAAM0N,OAAxC,GAAAxO,OAAoD1F,KAAKyV,OAAOlC,MAAMyzB,YAAchnC,KAAKymC,iBAAzF,QxCk2ND,CACDzlC,IAAK,wBACLO,MAAO,SwCh2Na4jC,EAAcpC,GAChC,GAAK/iC,KAAKklC,aAAV,CAKA,IAAMgC,EAAalnC,KAAKqmC,qBAAuBtD,EAAMzuB,EAGrD6wB,EAAa3+B,MAAM0N,OAAnB,GAAAxO,OAA+BC,KAAKsgB,MAAMkf,EAAaxB,cAAgBuD,GAAvE,MAEA/B,EAAa3+B,MAAMmB,MAAnB,GAAAjC,OAA8BC,KAAKsgB,MAAMkf,EAAavV,aAAesX,GAArE,MAEA/B,EAAa3+B,MAAMqB,KAAnB,IAAAnC,OAA8Bq9B,EAAMvV,EAAI0Z,EAAxC,MAEA/B,EAAa3+B,MAAM2gC,IAAnB,IAAAzhC,OAA6Bq9B,EAAMrV,EAAIwZ,EAAvC,SxCi2ND,CACDlmC,IAAK,UACLgH,IAAK,WwC94OH,OAAOhI,KAAKyV,OAAOnC,SAAWtT,KAAKyV,OAAOX,SAAW9U,KAAKyV,OAAOrP,OAAOslB,kBAAkBnlB,UxCi5O3F,CACDvF,IAAK,wBACLgH,IAAK,WwCt+NH,OAAIhI,KAAKiiC,UACEjiC,KAAK4M,SAASw1B,UAAUjyB,UAG5BnQ,KAAK4M,SAASu1B,MAAMtW,iBxCy+N5B,CACD7qB,IAAK,eACLgH,IAAK,WwCv+NH,OAAOlH,OAAOuE,KAAKrF,KAAK+hC,WAAW,GAAGe,OAAO,IAAIj6B,SAAS,OxC0+N3D,CACD7H,IAAK,mBACLgH,IAAK,WwCx+NH,OAAIhI,KAAKklC,aACEllC,KAAK+hC,WAAW,GAAGe,OAAO,GAAGzuB,EAAIrU,KAAK+hC,WAAW,GAAGe,OAAO,GAAGxuB,EAGlEtU,KAAK+hC,WAAW,GAAGp6B,MAAQ3H,KAAK+hC,WAAW,GAAG7tB,SxC2+NtD,CACDlT,IAAK,uBACLgH,IAAK,WwCz+NH,OAAIhI,KAAKiiC,UAEEt8B,KAAKsgB,MAAMjmB,KAAKyV,OAAOlC,MAAMyzB,YAAchnC,KAAKymC,kBAGpD9gC,KAAKsgB,MAAMjmB,KAAKyV,OAAOlC,MAAMyzB,YAAchnC,KAAKymC,iBAAmB,KxC4+N3E,CACDzlC,IAAK,sBACLgH,IAAK,WwC1+NH,OAAIhI,KAAKiiC,UACEjiC,KAAKonC,6BAGTpnC,KAAKqnC,8BxC6+NdngC,IAAK,SwC1+NiBlC,GAChBhF,KAAKiiC,UACLjiC,KAAKonC,6BAA+BpiC,EAEpChF,KAAKqnC,6BAA+BriC,MxC++NrC88B,EAzmBT,GyCv6NIr1B,GAAS,CAEX66B,eAFW,SAEIrgC,EAAMwG,GAAY,IAAA3G,EAAA9G,KACzBoE,EAAGM,OAAO+I,GACVS,EAAcjH,EAAMjH,KAAKuT,MAAO,CAC5BwC,IAAKtI,IAEFrJ,EAAGU,MAAM2I,IAChBA,EAAWzG,QAAQ,SAAAugC,GACfr5B,EAAcjH,EAAMH,EAAKyM,MAAOg0B,MAO5CC,OAhBW,SAgBJ9jC,GAAO,IAAA+H,EAAAzL,KACLoM,EAAQ1I,EAAO,mBAMpB4R,GAAMa,eAAelT,KAAKjD,MAG1BA,KAAKg9B,QAAQ/5B,KACTjD,KACA,WAEIyL,EAAKzF,QAAQkQ,QAAU,GAGvB/H,EAAc1C,EAAK8H,OACnB9H,EAAK8H,MAAQ,KAGTnP,EAAGY,QAAQyG,EAAKmB,SAASuD,YACzB1E,EAAKmB,SAASuD,UAAUR,gBAAgB,SAV1C,IAcMnD,EAAkB9I,EAAlB8I,QAASvF,EAASvD,EAATuD,KAdfwgC,EAAAjmC,EAe4CgL,EAf5C,GAAA,GAAAk7B,EAAAD,EAeOj1B,SAAAA,OAfP,IAAAk1B,EAekB/a,GAAUrX,MAf5BoyB,EAemC3xB,EAfnC0xB,EAemC1xB,IAC/B4vB,EAAuB,UAAbnzB,EAAuBvL,EAAO,MACxCwG,EAA0B,UAAb+E,EAAuB,GAAK,CAAEuD,IAAAA,GAEjDjV,OAAOuF,OAAOoF,EAAM,CAChB+G,SAAAA,EACAvL,KAAAA,EAEA2D,UAAWwH,GAAQG,MAAMtL,EAAMuL,EAAU/G,EAAKrF,OAAOqM,aAErDc,MAAOxF,EAAc43B,EAASl4B,KAIlChC,EAAKmB,SAASuD,UAAU7C,YAAY7B,EAAK8H,OAGrCnP,EAAGO,QAAQjB,EAAM+kB,YACjBhd,EAAKrF,OAAOqiB,SAAW/kB,EAAM+kB,UAI7Bhd,EAAK6H,UACD7H,EAAKrF,OAAOuhC,aACZl8B,EAAK8H,MAAMzF,aAAa,cAAe,IAEvCrC,EAAKrF,OAAOqiB,UACZhd,EAAK8H,MAAMzF,aAAa,WAAY,IAEnC1J,EAAGgB,MAAM1B,EAAMsnB,UAChBvf,EAAKuf,OAAStnB,EAAMsnB,QAEpBvf,EAAKrF,OAAO4iB,KAAK5B,QACjB3b,EAAK8H,MAAMzF,aAAa,OAAQ,IAEhCrC,EAAKrF,OAAOya,OACZpV,EAAK8H,MAAMzF,aAAa,QAAS,IAEjCrC,EAAKrF,OAAOqM,aACZhH,EAAK8H,MAAMzF,aAAa,cAAe,KAK/C8E,GAAGid,aAAa5sB,KAAKwI,GAGjBA,EAAK6H,SACL7G,GAAO66B,eAAerkC,KAAKwI,EAAM,SAAUe,GAI/Cf,EAAKrF,OAAOyR,MAAQnU,EAAMmU,MAG1BtE,GAAMoL,MAAM1b,KAAKwI,GAGbA,EAAK6H,SAEDxS,OAAOuE,KAAK3B,GAAOmF,SAAS,WAC5B4D,GAAO66B,eAAerkC,KAAKwI,EAAM,QAAS/H,EAAM6f,SAKpD9X,EAAK6H,SAAY7H,EAAKqa,UAAYra,EAAKb,UAAUgI,KAEjDA,GAAGkd,MAAM7sB,KAAKwI,GAIdA,EAAK6H,SACL7H,EAAK8H,MAAM0C,OAIXxK,EAAKigB,mBACLjgB,EAAKigB,kBAAkBzV,OAI3BxK,EAAKsQ,WAAWrC,WAEpB,IA7GA1Z,KAAKqW,MAAMqG,KAAK,2BzCiqP1B,ISzrPwBpY,GiC8BpBvE,G1C6pPJ,W0C5pPE,SAAAA,EAAYO,EAAQ0F,GAAS,IAAAc,EAAA9G,KAmFzB,GAnFyBC,EAAAD,KAAAD,GACzBC,KAAK0wB,OAAS,GAGd1wB,KAAKgwB,OAAQ,EACbhwB,KAAKqrB,SAAU,EACfrrB,KAAK4nC,QAAS,EAGd5nC,KAAKoH,MAAQgL,GAAQhL,MAGrBpH,KAAKuT,MAAQjT,EAGT8D,EAAGM,OAAO1E,KAAKuT,SACfvT,KAAKuT,MAAQtN,SAASoC,iBAAiBrI,KAAKuT,SAI3CzJ,OAAO+9B,QAAU7nC,KAAKuT,iBAAiBs0B,QAAWzjC,EAAGW,SAAS/E,KAAKuT,QAAUnP,EAAGU,MAAM9E,KAAKuT,UAE5FvT,KAAKuT,MAAQvT,KAAKuT,MAAM,IAI5BvT,KAAKoG,OAASmG,EACV,GACAlJ,GACAtD,EAAKsD,SACL2C,GAAW,GACV,WACG,IACI,OAAOsS,KAAK9D,MAAM1N,EAAKyM,MAAMhM,aAAa,qBAC5C,MAAOmD,GACL,MAAO,IAJd,IAUL1K,KAAK4M,SAAW,CACZuD,UAAW,KACX2L,SAAU,KACVP,QAAS,GACTa,QAAS,GACTJ,SAAU,GACVC,OAAQ,GACRJ,SAAU,CACNkI,MAAO,KACPrG,KAAM,KACNgF,OAAQ,GACRnH,QAAS,KAKjBvb,KAAK8b,SAAW,CACZsL,OAAQ,KACR5G,cAAe,EACf+G,KAAM,IAAI/d,SAIdxJ,KAAK+b,WAAa,CACdqL,QAAQ,GAIZpnB,KAAKgG,QAAU,CACXya,MAAO,GACPvK,QAAS,IAKblW,KAAKqW,MAAQ,IAAIyW,GAAQ9sB,KAAKoG,OAAOiQ,OAGrCrW,KAAKqW,MAAMC,IAAI,SAAUtW,KAAKoG,QAC9BpG,KAAKqW,MAAMC,IAAI,UAAWlE,KAGtBhO,EAAGC,gBAAgBrE,KAAKuT,QAAWnP,EAAGY,QAAQhF,KAAKuT,OAMvD,GAAIvT,KAAKuT,MAAMpH,KACXnM,KAAKqW,MAAMqG,KAAK,6BAKpB,GAAK1c,KAAKoG,OAAOG,QAOjB,GAAK6L,GAAQG,QAAQI,IAArB,CAMA,IAAM4R,EAAQvkB,KAAKuT,MAAMtG,WAAU,GACnCsX,EAAMkE,UAAW,EACjBzoB,KAAK4M,SAASk7B,SAAWvjB,EAIzB,IAAMtd,EAAOjH,KAAKuT,MAAMoyB,QAAQ3uB,cAE5B4T,EAAS,KACTtgB,EAAM,KAGV,OAAQrD,GACJ,IAAK,MAKD,GAHA2jB,EAAS5qB,KAAKuT,MAAMrN,cAAc,UAG9B9B,EAAGY,QAAQ4lB,IAaX,GAXAtgB,EAAMkc,GAASoE,EAAOrjB,aAAa,QACnCvH,KAAKwS,SdpJlB,SAA0BlI,GAE7B,MAAI,8EAA8EoH,KAAKpH,GAC5EqiB,GAAUnV,QAIjB,wDAAwD9F,KAAKpH,GACtDqiB,GAAUpV,MAGd,KcyIyBwwB,CAAiBz9B,EAAItH,YAGrChD,KAAK4M,SAASuD,UAAYnQ,KAAKuT,MAC/BvT,KAAKuT,MAAQqX,EAGb5qB,KAAK4M,SAASuD,UAAUjB,UAAY,GAGhC5E,EAAI09B,OAAOvnC,OAAQ,CACnB,IAAMwnC,EAAS,CAAC,IAAK,QAEjBA,EAAOp/B,SAASyB,EAAI49B,aAAalgC,IAAI,eACrChI,KAAKoG,OAAOqiB,UAAW,GAEvBwf,EAAOp/B,SAASyB,EAAI49B,aAAalgC,IAAI,WACrChI,KAAKoG,OAAO4iB,KAAK5B,QAAS,GAK1BpnB,KAAK6mB,WACL7mB,KAAKoG,OAAOqM,YAAcw1B,EAAOp/B,SAASyB,EAAI49B,aAAalgC,IAAI,gBAC/DhI,KAAKoG,OAAOoR,QAAQkjB,GAAKpwB,EAAI49B,aAAalgC,IAAI,OAE9ChI,KAAKoG,OAAOqM,aAAc,QAKlCzS,KAAKwS,SAAWxS,KAAKuT,MAAMhM,aAAavH,KAAKoG,OAAOqH,WAAWgH,MAAMjC,UAGrExS,KAAKuT,MAAM5D,gBAAgB3P,KAAKoG,OAAOqH,WAAWgH,MAAMjC,UAI5D,GAAIpO,EAAGgB,MAAMpF,KAAKwS,YAAc1R,OAAOuE,KAAKsnB,IAAW9jB,SAAS7I,KAAKwS,UAEjE,YADAxS,KAAKqW,MAAMoG,MAAM,kCAKrBzc,KAAKiH,KAAO2lB,GAAMta,MAElB,MAEJ,IAAK,QACL,IAAK,QACDtS,KAAKiH,KAAOA,EACZjH,KAAKwS,SAAWma,GAAUrX,MAGtBtV,KAAKuT,MAAMygB,aAAa,iBACxBh0B,KAAKoG,OAAOuhC,aAAc,GAE1B3nC,KAAKuT,MAAMygB,aAAa,cACxBh0B,KAAKoG,OAAOqiB,UAAW,IAEvBzoB,KAAKuT,MAAMygB,aAAa,gBAAkBh0B,KAAKuT,MAAMygB,aAAa,yBAClEh0B,KAAKoG,OAAOqM,aAAc,GAE1BzS,KAAKuT,MAAMygB,aAAa,WACxBh0B,KAAKoG,OAAOya,OAAQ,GAEpB7gB,KAAKuT,MAAMygB,aAAa,UACxBh0B,KAAKoG,OAAO4iB,KAAK5B,QAAS,GAG9B,MAEJ,QAEI,YADApnB,KAAKqW,MAAMoG,MAAM,kCAKzBzc,KAAK4K,UAAYwH,GAAQG,MAAMvS,KAAKiH,KAAMjH,KAAKwS,SAAUxS,KAAKoG,OAAOqM,aAGhEzS,KAAK4K,UAAU+H,KAKpB3S,KAAKqL,eAAiB,GAGtBrL,KAAK4G,UAAY,IAAIoqB,GAAUhxB,MAG/BA,KAAKiY,QAAU,IAAID,GAAQhY,MAG3BA,KAAKuT,MAAMpH,KAAOnM,KAGboE,EAAGY,QAAQhF,KAAK4M,SAASuD,aAC1BnQ,KAAK4M,SAASuD,UAAYpC,EAAc,MAAO,CAAEo6B,SAAU,IAC3Dx7B,EAAK3M,KAAKuT,MAAOvT,KAAK4M,SAASuD,YAInCyC,GAAGid,aAAa5sB,KAAKjD,MAGrBuT,GAAMoL,MAAM1b,KAAKjD,MAGbA,KAAKoG,OAAOiQ,OACZ/K,EAAGrI,KAAKjD,KAAMA,KAAK4M,SAASuD,UAAWnQ,KAAKoG,OAAO+E,OAAOoS,KAAK,KAAM,SAAArY,GACjE4B,EAAKuP,MAAMC,IAAX,UAAA5Q,OAAyBR,EAAM+B,UAMnCjH,KAAKsT,SAAYtT,KAAK8lB,UAAY9lB,KAAK4K,UAAUgI,KACjDA,GAAGkd,MAAM7sB,KAAKjD,MAIlBA,KAAK4G,UAAUuJ,YAGfnQ,KAAK4G,UAAUpH,SAGfQ,KAAK+b,WAAa,IAAIqS,GAAWpuB,MAG7BA,KAAKoG,OAAO8kB,IAAI3kB,UAChBvG,KAAKkrB,IAAM,IAAImR,GAAIr8B,OAInBA,KAAKsT,SAAWtT,KAAKoG,OAAOqiB,UAC5BxX,WAAW,WAAA,OAAMnK,EAAKkP,QAAQ,IAIlChW,KAAK6wB,aAAe,EAGhB7wB,KAAKoG,OAAOslB,kBAAkBnlB,UAC9BvG,KAAK0rB,kBAAoB,IAAIoW,GAAkB9hC,QAhE/CA,KAAKqW,MAAMoG,MAAM,iCA5GjBzc,KAAKqW,MAAMoG,MAAM,iCAPjBzc,KAAKqW,MAAMoG,MAAM,yCAZjBzc,KAAKqW,MAAMoG,MAAM,4C1CkzRzB,OAn+BAxb,EAAalB,EAAM,CAAC,CAClBiB,IAAK,OAKLO,MAAO,W0ChnPF,IAAAkK,EAAAzL,KACH,OAAKoE,EAAGQ,SAAS5E,KAAKuT,MAAMyC,OAKxBhW,KAAKkrB,KAAOlrB,KAAKkrB,IAAI3kB,SACrBvG,KAAKkrB,IAAI2R,eAAe7iB,KAAK,WAAA,OAAMvO,EAAKyf,IAAIlV,SAAQkE,MAAM,WAAA,OAAMzO,EAAK8H,MAAMyC,SAIxEhW,KAAKuT,MAAMyC,QATP,O1CqoPZ,CACDhV,IAAK,QACLO,MAAO,W0CvnPAvB,KAAKmrB,SAAY/mB,EAAGQ,SAAS5E,KAAKuT,MAAMiI,QAI7Cxb,KAAKuT,MAAMiI,U1C8nPZ,CACDxa,IAAK,aAMLO,MAAO,S0ClmPEmC,IAEQU,EAAGO,QAAQjB,GAASA,GAAS1D,KAAKmrB,SAG7CnrB,KAAKgW,OAELhW,KAAKwb,U1CymPV,CACDxa,IAAK,OACLO,MAAO,W0CnmPDvB,KAAKsT,SACLtT,KAAKwb,QACLxb,KAAKyb,WACErX,EAAGQ,SAAS5E,KAAKuT,MAAMglB,OAC9Bv4B,KAAKuT,MAAMglB,S1C2mPhB,CACDv3B,IAAK,UACLO,MAAO,W0CrmPLvB,KAAK2V,YAAc,I1C6mPpB,CACD3U,IAAK,SACLO,MAAO,S0CxmPFoW,GACH3X,KAAK2V,YAAc3V,KAAK2V,aAAevR,EAAGG,OAAOoT,GAAYA,EAAW3X,KAAKoG,OAAOuR,Y1C+mPrF,CACD3W,IAAK,UACLO,MAAO,S0C1mPDoW,GACJ3X,KAAK2V,YAAc3V,KAAK2V,aAAevR,EAAGG,OAAOoT,GAAYA,EAAW3X,KAAKoG,OAAOuR,Y1CinPrF,CACD3W,IAAK,iBAMLO,MAAO,S0Cz/OMgE,GACX,IAAM4W,EAASnc,KAAKuT,MAAMsN,MAAQ,EAAI7gB,KAAKmc,OAC3Cnc,KAAKmc,OAASA,GAAU/X,EAAGG,OAAOgB,GAAQA,EAAO,K1CggPlD,CACDvE,IAAK,iBACLO,MAAO,S0C3/OMgE,GACXvF,KAAK6xB,gBAAgBtsB,K1CkgPtB,CACDvE,IAAK,iBAMLO,MAAO,S0CvqOMmC,GACXoY,GAASjV,OAAO5D,KAAKjD,KAAM0D,GAAO,K1C8qOnC,CACD1C,IAAK,UAMLO,MAAO,W0C7lOD6Q,GAAQc,SACRlT,KAAKuT,MAAM60B,mC1CumOhB,CACDpnC,IAAK,iBACLO,MAAO,S0CjmOMsF,GAEX,GAAI7G,KAAK4K,UAAUgI,KAAO5S,KAAKozB,QAAS,CAEpC,IAAMiV,EAAWr4B,EAAShQ,KAAK4M,SAASuD,UAAWnQ,KAAKoG,OAAOqK,WAAWoY,cAEpEhZ,OAA0B,IAAXhJ,OAAyB5E,GAAa4E,EAErDyhC,EAAS14B,EAAY5P,KAAK4M,SAASuD,UAAWnQ,KAAKoG,OAAOqK,WAAWoY,aAAchZ,GAQzF,GALIy4B,GAAUtoC,KAAKoG,OAAO0U,SAASjS,SAAS,cAAgBzE,EAAGgB,MAAMpF,KAAKoG,OAAOyV,WAC7Ef,GAASoJ,WAAWjhB,KAAKjD,MAAM,GAI/BsoC,IAAWD,EAAU,CACrB,IAAME,EAAYD,EAAS,iBAAmB,gBAC9Cv8B,EAAa9I,KAAKjD,KAAMA,KAAKuT,MAAOg1B,GAGxC,OAAQD,EAGZ,OAAO,I1CwmOR,CACDtnC,IAAK,KACLO,MAAO,S0ClmON2D,EAAO8F,GACNM,EAAGrI,KAAKjD,KAAMA,KAAK4M,SAASuD,UAAWjL,EAAO8F,K1C0mO/C,CACDhK,IAAK,OACLO,MAAO,S0CpmOJ2D,EAAO8F,GACRQ,EAAKvI,KAAKjD,KAAMA,KAAK4M,SAASuD,UAAWjL,EAAO8F,K1C4mOjD,CACDhK,IAAK,MACLO,MAAO,S0CtmOL2D,EAAO8F,GACPO,EAAIvL,KAAK4M,SAASuD,UAAWjL,EAAO8F,K1CgnOrC,CACDhK,IAAK,UACLO,MAAO,S0CxmODyJ,GAAwB,IAAA+U,EAAA/f,KAAdwoC,EAAcrgC,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,IAAAA,UAAA,GAC5B,GAAKnI,KAAKgwB,MAAV,CAIA,IAAMztB,EAAO,WAET0D,SAAS8C,KAAKvC,MAAMqnB,SAAW,GAG/B9N,EAAKtL,MAAQ,KAGT+zB,GACI1nC,OAAOuE,KAAK0a,EAAKnT,UAAUnM,SAE3B0N,EAAc4R,EAAKnT,SAAS2O,QAAQvF,MACpC7H,EAAc4R,EAAKnT,SAASkP,UAC5B3N,EAAc4R,EAAKnT,SAASkO,UAC5B3M,EAAc4R,EAAKnT,SAASC,SAG5BkT,EAAKnT,SAAS2O,QAAQvF,KAAO,KAC7B+J,EAAKnT,SAASkP,SAAW,KACzBiE,EAAKnT,SAASkO,SAAW,KACzBiF,EAAKnT,SAASC,QAAU,MAIxBzI,EAAGQ,SAASoG,IACZA,MlCrgCb,WACChL,MAAQA,KAAKqL,iBACbrL,KAAKqL,eAAerE,QAAQ,SAAAwP,GAAQ,IACxBxR,EAAqCwR,EAArCxR,QAASiC,EAA4BuP,EAA5BvP,KAAM+D,EAAsBwL,EAAtBxL,SAAUhF,EAAYwQ,EAAZxQ,QACjChB,EAAQ8F,oBAAoB7D,EAAM+D,EAAUhF,KAGhDhG,KAAKqL,eAAiB,KkCkgCEpI,KAAK8c,GAGrBvR,EAAeuR,EAAKnT,SAASk7B,SAAU/nB,EAAKnT,SAASuD,WAGrDpE,EAAa9I,KAAK8c,EAAMA,EAAKnT,SAASk7B,SAAU,aAAa,GAGzD1jC,EAAGQ,SAASoG,IACZA,EAAS/H,KAAK8c,EAAKnT,SAASk7B,UAIhC/nB,EAAKiQ,OAAQ,EAGb/e,WAAW,WACP8O,EAAKnT,SAAW,KAChBmT,EAAKxM,MAAQ,MACd,OAKXvT,KAAKu4B,OAGL9H,aAAazwB,KAAK0wB,OAAOrF,SACzBoF,aAAazwB,KAAK0wB,OAAO5V,UACzB2V,aAAazwB,KAAK0wB,OAAO8B,SAGrBxyB,KAAKsT,SAELV,GAAG+J,qBAAqB1Z,KAAKjD,MAAM,GAGnCuC,KACOvC,KAAK6mB,WAEZiV,cAAc97B,KAAK0wB,OAAOqL,WAC1BD,cAAc97B,KAAK0wB,OAAOvF,SAGP,OAAfnrB,KAAKyU,OAAkBrQ,EAAGQ,SAAS5E,KAAKyU,MAAMuoB,UAC9Ch9B,KAAKyU,MAAMuoB,UAIfz6B,KACOvC,KAAKkV,UAGO,OAAflV,KAAKyU,OACLzU,KAAKyU,MAAMg0B,SAASzuB,KAAKzX,GAI7B0O,WAAW1O,EAAM,S1CymOtB,CACDvB,IAAK,WACLO,MAAO,S0CnmOA0F,GACL,OAAOmL,GAAQgB,KAAKnQ,KAAKjD,KAAMiH,K1C4mOhC,CACDjG,IAAK,UACLgH,IAAK,W0C59PH,OAAOhI,KAAKwS,WAAama,GAAUrX,Q1C+9PpC,CACDtU,IAAK,UACLgH,IAAK,W0C79PH,OAAOhI,KAAK6mB,WAAa7mB,KAAKkV,U1Cg+P/B,CACDlU,IAAK,YACLgH,IAAK,W0C99PH,OAAOhI,KAAKwS,WAAama,GAAUnV,U1Ci+PpC,CACDxW,IAAK,UACLgH,IAAK,W0C/9PH,OAAOhI,KAAKwS,WAAama,GAAUpV,Q1Ck+PpC,CACDvW,IAAK,UACLgH,IAAK,W0Ch+PH,OAAOhI,KAAKiH,OAAS2lB,GAAMta,Q1Cm+P5B,CACDtR,IAAK,UACLgH,IAAK,W0Cj+PH,OAAOhI,KAAKiH,OAAS2lB,GAAMva,Q1Co+P5B,CACDrR,IAAK,UACLgH,IAAK,W0Cn8PH,OAAOnE,QAAQ7D,KAAKgwB,QAAUhwB,KAAK4V,SAAW5V,KAAKqzB,S1C08PpD,CACDryB,IAAK,SACLgH,IAAK,W0Cr8PH,OAAOnE,QAAQ7D,KAAKuT,MAAMqC,U1C48P3B,CACD5U,IAAK,UACLgH,IAAK,W0Cv8PH,OAAOnE,QAAQ7D,KAAK4V,QAA+B,IAArB5V,KAAK2V,e1C88PpC,CACD3U,IAAK,QACLgH,IAAK,W0Cz8PH,OAAOnE,QAAQ7D,KAAKuT,MAAM8f,S1C48P3B,CACDryB,IAAK,cACLkG,IAAK,S0Cr5PSxD,GAEZ,GAAK1D,KAAKsc,SAAV,CAKA,IAAMosB,EAAetkC,EAAGG,OAAOb,IAAUA,EAAQ,EAGjD1D,KAAKuT,MAAMoC,YAAc+yB,EAAe/iC,KAAK2B,IAAI5D,EAAO1D,KAAKsc,UAAY,EAGzEtc,KAAKqW,MAAMC,IAAX,cAAA5Q,OAA6B1F,KAAK2V,YAAlC,e1Cy5PF3N,IAAK,W0Cl5PH,OAAOxD,OAAOxE,KAAKuT,MAAMoC,e1Cy5P1B,CACD3U,IAAK,WACLgH,IAAK,W0Cr5PQ,IACHsZ,EAAathB,KAAKuT,MAAlB+N,SAGR,OAAIld,EAAGG,OAAO+c,GACHA,EAMPA,GAAYA,EAAS7gB,QAAUT,KAAKsc,SAAW,EACxCgF,EAAS0I,IAAI,GAAKhqB,KAAKsc,SAG3B,I1C05PR,CACDtb,IAAK,UACLgH,IAAK,W0Cr5PH,OAAOnE,QAAQ7D,KAAKuT,MAAM0O,W1C45P3B,CACDjhB,IAAK,WACLgH,IAAK,W0Ct5PH,IAAM2gC,EAAe9iC,WAAW7F,KAAKoG,OAAOkW,UAEtCssB,GAAgB5oC,KAAKuT,OAAS,IAAI+I,SAClCA,EAAYlY,EAAGG,OAAOqkC,IAAiBA,IAAiBC,EAAAA,EAAeD,EAAJ,EAGzE,OAAOD,GAAgBrsB,I1C85PxB,CACDtb,IAAK,SACLkG,IAAK,S0Cz5PI3F,GACP,IAAI4a,EAAS5a,EAIT6C,EAAGM,OAAOyX,KACVA,EAAS3X,OAAO2X,IAIf/X,EAAGG,OAAO4X,KACXA,EAASnc,KAAKiY,QAAQjQ,IAAI,WAIzB5D,EAAGG,OAAO4X,KACRA,EAAWnc,KAAKoG,OAAhB+V,QAIHA,EAlBQ,IAmBRA,EAnBQ,GAsBRA,EArBQ,IAsBRA,EAtBQ,GA0BZnc,KAAKoG,OAAO+V,OAASA,EAGrBnc,KAAKuT,MAAM4I,OAASA,GAGf/X,EAAGgB,MAAM7D,IAAUvB,KAAK6gB,OAAS1E,EAAS,IAC3Cnc,KAAK6gB,OAAQ,I1C+5PnB7Y,IAAK,W0Cv5PH,OAAOxD,OAAOxE,KAAKuT,MAAM4I,U1C05P1B,CACDnb,IAAK,QACLkG,IAAK,S0Cp4PG0U,GACN,IAAI/U,EAAS+U,EAGRxX,EAAGO,QAAQkC,KACZA,EAAS7G,KAAKiY,QAAQjQ,IAAI,UAIzB5D,EAAGO,QAAQkC,KACZA,EAAS7G,KAAKoG,OAAOya,OAIzB7gB,KAAKoG,OAAOya,MAAQha,EAGpB7G,KAAKuT,MAAMsN,MAAQha,G1Cw4PrBmB,IAAK,W0Cj4PH,OAAOnE,QAAQ7D,KAAKuT,MAAMsN,S1Cw4P3B,CACD7f,IAAK,WACLgH,IAAK,W0Cl4PH,OAAKhI,KAAKsT,YAINtT,KAAKozB,UAMLvvB,QAAQ7D,KAAKuT,MAAMu1B,cACnBjlC,QAAQ7D,KAAKuT,MAAMw1B,8BACnBllC,QAAQ7D,KAAKuT,MAAMy1B,aAAehpC,KAAKuT,MAAMy1B,YAAYvoC,Y1Cw4P9D,CACDO,IAAK,QACLkG,IAAK,S0Cl4PGxD,GAAO,IAAAsd,EAAAhhB,KACTygB,EAAQ,KAERrc,EAAGG,OAAOb,KACV+c,EAAQ/c,GAGPU,EAAGG,OAAOkc,KACXA,EAAQzgB,KAAKiY,QAAQjQ,IAAI,UAGxB5D,EAAGG,OAAOkc,KACXA,EAAQzgB,KAAKoG,OAAOqa,MAAMwI,UAZjB,IAgBS3hB,EAA2BtH,KAAzCipC,aAAiCrjC,EAAQ5F,KAAtBkpC,aAC3BzoB,EC5oBD,WAA8C,IAA/B/c,EAA+ByE,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAvB,EAAGb,EAAoBa,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAd,EAAGvC,EAAWuC,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAL,IAC5C,OAAOxC,KAAK2B,IAAI3B,KAAKC,IAAIlC,EAAO4D,GAAM1B,GD2oB1BujC,CAAM1oB,EAAOnZ,EAAK1B,GAG1B5F,KAAKoG,OAAOqa,MAAMwI,SAAWxI,EAG7BxP,WAAW,WACP+P,EAAKzN,MAAMgoB,aAAe9a,GAC3B,I1Cy4PLzY,IAAK,W0Cl4PH,OAAOxD,OAAOxE,KAAKuT,MAAMgoB,gB1Cy4P1B,CACDv6B,IAAK,eACLgH,IAAK,W0Cp4PH,OAAIhI,KAAK6mB,UAEElhB,KAAK2B,IAALwE,MAAAnG,KAAI/C,EAAQ5C,KAAKgG,QAAQya,QAGhCzgB,KAAKkV,QAEE,GAIJ,Q1C24PR,CACDlU,IAAK,eACLgH,IAAK,W0Ct4PH,OAAIhI,KAAK6mB,UAEElhB,KAAKC,IAALkG,MAAAnG,KAAI/C,EAAQ5C,KAAKgG,QAAQya,QAGhCzgB,KAAKkV,QAEE,EAIJ,K1C+4PR,CACDlU,IAAK,UACLkG,IAAK,S0Cz4PKxD,GACR,IAAM0C,EAASpG,KAAKoG,OAAO8P,QACrBlQ,EAAUhG,KAAKgG,QAAQkQ,QAE7B,GAAKlQ,EAAQvF,OAAb,CAIA,IAAIyV,EAAU,EACT9R,EAAGgB,MAAM1B,IAAUc,OAAOd,GAC3B1D,KAAKiY,QAAQjQ,IAAI,WACjB5B,EAAO6iB,SACP7iB,EAAOuc,SACT5R,KAAK3M,EAAGG,QAEN6kC,GAAgB,EAEpB,IAAKpjC,EAAQ6C,SAASqN,GAAU,CAC5B,IAAM3U,E1BrtBX,SAAiBuD,EAAOvD,GAC3B,OAAK6C,EAAGU,MAAMA,IAAWA,EAAMrE,OAIxBqE,EAAMwH,OAAO,SAAC+8B,EAAMC,GAAP,OAAiB3jC,KAAKkvB,IAAIyU,EAAO/nC,GAASoE,KAAKkvB,IAAIwU,EAAO9nC,GAAS+nC,EAAOD,IAHnF,K0BmtBWE,CAAQvjC,EAASkQ,GAC/BlW,KAAKqW,MAAMqG,KAAX,+BAAAhX,OAA+CwQ,EAA/C,YAAAxQ,OAAiEnE,EAAjE,aACA2U,EAAU3U,EAGV6nC,GAAgB,EAIpBhjC,EAAO6iB,SAAW/S,EAGlBlW,KAAKuT,MAAM2C,QAAUA,EAGjBkzB,GACAppC,KAAKiY,QAAQ/Q,IAAI,CAAEgP,QAAAA,M1Cy4PzBlO,IAAK,W0Cj4PH,OAAOhI,KAAKuT,MAAM2C,U1C04PnB,CACDlV,IAAK,OACLkG,IAAK,S0Cp4PExD,GACL,IAAMmD,EAASzC,EAAGO,QAAQjB,GAASA,EAAQ1D,KAAKoG,OAAO4iB,KAAK5B,OAC5DpnB,KAAKoG,OAAO4iB,KAAK5B,OAASvgB,EAC1B7G,KAAKuT,MAAMyV,KAAOniB,G1C+6PpBmB,IAAK,W0C73PH,OAAOnE,QAAQ7D,KAAKuT,MAAMyV,Q1Cq4P3B,CACDhoB,IAAK,SACLkG,IAAK,S0Ch4PIxD,GACP+I,GAAO+6B,OAAOvkC,KAAKjD,KAAM0D,I1Cs4P3BsE,IAAK,W0C/3PH,OAAOhI,KAAKuT,MAAMslB,a1Cs4PnB,CACD73B,IAAK,WACLgH,IAAK,W0Cl4PQ,IACHid,EAAajlB,KAAKoG,OAAOyf,KAAzBZ,SAER,OAAO7gB,EAAGkG,IAAI2a,GAAYA,EAAWjlB,KAAKyM,Q1Cu4P5CvF,IAAK,S0Cj4PMxD,GACJU,EAAGkG,IAAI5G,KAIZ1D,KAAKoG,OAAOyf,KAAKZ,SAAWvhB,EAE5BoX,GAASkK,eAAe/hB,KAAKjD,S1Cu4P9B,CACDgB,IAAK,SACLkG,IAAK,S0Cl4PIxD,GACF1D,KAAK8U,QAKVlC,GAAGsd,UAAUjtB,KAAKjD,KAAM0D,GAAO,GAAOwW,MAAM,cAJxCla,KAAKqW,MAAMqG,KAAK,qC1C44PtB1U,IAAK,W0Cj4PH,OAAKhI,KAAK8U,QAIH9U,KAAKuT,MAAMhM,aAAa,UAHpB,O1C24PZ,CACDvG,IAAK,QACLgH,IAAK,W0Cn4PH,IAAKhI,KAAK8U,QACN,OAAO,KAGX,IAAMd,EAAQD,GAAkBQ,GAAetR,KAAKjD,OAEpD,OAAOoE,EAAGU,MAAMkP,GAASA,EAAMuJ,KAAK,KAAOvJ,G1Cy4P7C9M,IAAK,S0Cn4PGxD,GACD1D,KAAK8U,QAKL1Q,EAAGM,OAAOhB,IAAWmQ,GAAcnQ,IAKxC1D,KAAKoG,OAAO4N,MAAQtQ,EAEpBmR,GAAe5R,KAAKjD,OANhBA,KAAKqW,MAAMoG,MAAX,mCAAA/W,OAAoDhC,EAApD,MALA1D,KAAKqW,MAAMqG,KAAK,4C1Co5PrB,CACD1b,IAAK,WACLkG,IAAK,S0Cp4PMxD,GACT,IAAMmD,EAASzC,EAAGO,QAAQjB,GAASA,EAAQ1D,KAAKoG,OAAOqiB,SACvDzoB,KAAKoG,OAAOqiB,SAAW5hB,G1C04PzBmB,IAAK,W0Cn4PH,OAAOnE,QAAQ7D,KAAKoG,OAAOqiB,Y1Cs4P5B,CACDznB,IAAK,eACLkG,IAAK,S0Cz3PUxD,GACboY,GAAS5U,IAAIjE,KAAKjD,KAAM0D,GAAO,I1C+3PjCsE,IAAK,W0Cz3PY,IAAAsf,EACmBtnB,KAAK8b,SAA/B2H,EADO6D,EACP7D,QAASjD,EADF8G,EACE9G,aACjB,OAAOiD,EAAUjD,GAAgB,I1Cm4PlC,CACDxf,IAAK,WACLkG,IAAK,S0C73PMxD,GACToY,GAAS8L,YAAY3kB,KAAKjD,KAAM0D,GAAO,I1Cm4PzCsE,IAAK,W0C53PH,OAAQ8T,GAASqM,gBAAgBllB,KAAKjD,OAAS,IAAI0jB,W1Cq4PpD,CACD1iB,IAAK,MACLkG,IAAK,S0C/3PCxD,GAEJ,GAAK0O,GAAQU,IAAb,CAKA,IAAMjM,EAASzC,EAAGO,QAAQjB,GAASA,GAAS1D,KAAK8S,IAI7C1O,EAAGQ,SAAS5E,KAAKuT,MAAMR,4BACvB/S,KAAKuT,MAAMR,0BAA0BlM,EAASiM,GAAaA,IAI3D1O,EAAGQ,SAAS5E,KAAKuT,MAAMi2B,4BAClBxpC,KAAK8S,KAAOjM,EACb7G,KAAKuT,MAAMi2B,0BACJxpC,KAAK8S,MAAQjM,GACpBZ,SAASwjC,0B1Cs4PnBzhC,IAAK,W0C73PH,OAAKoK,GAAQU,IAKR1O,EAAGgB,MAAMpF,KAAKuT,MAAMm2B,wBAKlB1pC,KAAKuT,QAAUtN,SAAS0jC,wBAJpB3pC,KAAKuT,MAAMm2B,yBAA2B52B,GALtC,Q1Cy4PX,CAAC,CACH9R,IAAK,YACLO,MAAO,S0CpsPQ0F,EAAMuL,EAAUo3B,GAC7B,OAAOx3B,GAAQG,MAAMtL,EAAMuL,EAAUo3B,K1C4sPtC,CACD5oC,IAAK,aACLO,MAAO,S0CtsPS+I,EAAKiF,GACnB,OAAO+J,GAAWhP,EAAKiF,K1C8sPxB,CACDvO,IAAK,QACLO,MAAO,S0CxsPIqH,GAAwB,IAAd5C,EAAcmC,UAAA1H,OAAA,QAAAwB,IAAAkG,UAAA,GAAAA,UAAA,GAAJ,GACzBC,EAAU,KAUd,OARIhE,EAAGM,OAAOkE,GACVR,EAAU1G,MAAMwB,KAAK+C,SAASoC,iBAAiBO,IACxCxE,EAAGW,SAAS6D,GACnBR,EAAU1G,MAAMwB,KAAK0F,GACdxE,EAAGU,MAAM8D,KAChBR,EAAUQ,EAASN,OAAOlE,EAAGY,UAG7BZ,EAAGgB,MAAMgD,GACF,KAGJA,EAAQc,IAAI,SAAAC,GAAC,OAAI,IAAIpJ,EAAKoJ,EAAGnD,S1C+sPjCjG,EA1uCT,GA+uCA,O0ChtPFA,GAAKsD,UjC1tCqBiB,GiC0tCAjB,GjCztCfiV,KAAK9D,MAAM8D,KAAKE,UAAUlU,MTy6R5BvE","file":"plyr.min.js","sourcesContent":["typeof navigator === \"object\" && (function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define('Plyr', factory) :\n (global = global || self, global.Plyr = factory());\n}(this, function () { 'use strict';\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n }\n\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n }\n\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n }\n\n function _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n }\n\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n\n var defaults = {\n addCSS: true,\n // Add CSS to the element to improve usability (required here or in your CSS!)\n thumbWidth: 15,\n // The width of the thumb handle\n watch: true // Watch for new elements that match a string target\n\n };\n\n // Element matches a selector\n function matches(element, selector) {\n\n function match() {\n return Array.from(document.querySelectorAll(selector)).includes(this);\n }\n\n var matches = match;\n return matches.call(element, selector);\n }\n\n // Trigger event\n function trigger(element, type) {\n if (!element || !type) {\n return;\n } // Create and dispatch the event\n\n\n var event = new Event(type); // Dispatch the event\n\n element.dispatchEvent(event);\n }\n\n // ==========================================================================\n // Type checking utils\n // ==========================================================================\n var getConstructor = function getConstructor(input) {\n return input !== null && typeof input !== 'undefined' ? input.constructor : null;\n };\n\n var instanceOf = function instanceOf(input, constructor) {\n return Boolean(input && constructor && input instanceof constructor);\n };\n\n var isNullOrUndefined = function isNullOrUndefined(input) {\n return input === null || typeof input === 'undefined';\n };\n\n var isObject = function isObject(input) {\n return getConstructor(input) === Object;\n };\n\n var isNumber = function isNumber(input) {\n return getConstructor(input) === Number && !Number.isNaN(input);\n };\n\n var isString = function isString(input) {\n return getConstructor(input) === String;\n };\n\n var isBoolean = function isBoolean(input) {\n return getConstructor(input) === Boolean;\n };\n\n var isFunction = function isFunction(input) {\n return getConstructor(input) === Function;\n };\n\n var isArray = function isArray(input) {\n return Array.isArray(input);\n };\n\n var isNodeList = function isNodeList(input) {\n return instanceOf(input, NodeList);\n };\n\n var isElement = function isElement(input) {\n return instanceOf(input, Element);\n };\n\n var isEvent = function isEvent(input) {\n return instanceOf(input, Event);\n };\n\n var isEmpty = function isEmpty(input) {\n return isNullOrUndefined(input) || (isString(input) || isArray(input) || isNodeList(input)) && !input.length || isObject(input) && !Object.keys(input).length;\n };\n\n var is = {\n nullOrUndefined: isNullOrUndefined,\n object: isObject,\n number: isNumber,\n string: isString,\n boolean: isBoolean,\n function: isFunction,\n array: isArray,\n nodeList: isNodeList,\n element: isElement,\n event: isEvent,\n empty: isEmpty\n };\n\n // Get the number of decimal places\n function getDecimalPlaces(value) {\n var match = \"\".concat(value).match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\n\n if (!match) {\n return 0;\n }\n\n return Math.max(0, // Number of digits right of decimal point.\n (match[1] ? match[1].length : 0) - ( // Adjust for scientific notation.\n match[2] ? +match[2] : 0));\n } // Round to the nearest step\n\n function round(number, step) {\n if (step < 1) {\n var places = getDecimalPlaces(step);\n return parseFloat(number.toFixed(places));\n }\n\n return Math.round(number / step) * step;\n }\n\n var RangeTouch =\n /*#__PURE__*/\n function () {\n /**\n * Setup a new instance\n * @param {String|Element} target\n * @param {Object} options\n */\n function RangeTouch(target, options) {\n _classCallCheck(this, RangeTouch);\n\n if (is.element(target)) {\n // An Element is passed, use it directly\n this.element = target;\n } else if (is.string(target)) {\n // A CSS Selector is passed, fetch it from the DOM\n this.element = document.querySelector(target);\n }\n\n if (!is.element(this.element) || !is.empty(this.element.rangeTouch)) {\n return;\n }\n\n this.config = Object.assign({}, defaults, options);\n this.init();\n }\n\n _createClass(RangeTouch, [{\n key: \"init\",\n value: function init() {\n // Bail if not a touch enabled device\n if (!RangeTouch.enabled) {\n return;\n } // Add useful CSS\n\n\n if (this.config.addCSS) {\n // TODO: Restore original values on destroy\n this.element.style.userSelect = 'none';\n this.element.style.webKitUserSelect = 'none';\n this.element.style.touchAction = 'manipulation';\n }\n\n this.listeners(true);\n this.element.rangeTouch = this;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n // Bail if not a touch enabled device\n if (!RangeTouch.enabled) {\n return;\n }\n\n this.listeners(false);\n this.element.rangeTouch = null;\n }\n }, {\n key: \"listeners\",\n value: function listeners(toggle) {\n var _this = this;\n\n var method = toggle ? 'addEventListener' : 'removeEventListener'; // Listen for events\n\n ['touchstart', 'touchmove', 'touchend'].forEach(function (type) {\n _this.element[method](type, function (event) {\n return _this.set(event);\n }, false);\n });\n }\n /**\n * Get the value based on touch position\n * @param {Event} event\n */\n\n }, {\n key: \"get\",\n value: function get(event) {\n if (!RangeTouch.enabled || !is.event(event)) {\n return null;\n }\n\n var input = event.target;\n var touch = event.changedTouches[0];\n var min = parseFloat(input.getAttribute('min')) || 0;\n var max = parseFloat(input.getAttribute('max')) || 100;\n var step = parseFloat(input.getAttribute('step')) || 1;\n var delta = max - min; // Calculate percentage\n\n var percent;\n var clientRect = input.getBoundingClientRect();\n var thumbWidth = 100 / clientRect.width * (this.config.thumbWidth / 2) / 100; // Determine left percentage\n\n percent = 100 / clientRect.width * (touch.clientX - clientRect.left); // Don't allow outside bounds\n\n if (percent < 0) {\n percent = 0;\n } else if (percent > 100) {\n percent = 100;\n } // Factor in the thumb offset\n\n\n if (percent < 50) {\n percent -= (100 - percent * 2) * thumbWidth;\n } else if (percent > 50) {\n percent += (percent - 50) * 2 * thumbWidth;\n } // Find the closest step to the mouse position\n\n\n return min + round(delta * (percent / 100), step);\n }\n /**\n * Update range value based on position\n * @param {Event} event\n */\n\n }, {\n key: \"set\",\n value: function set(event) {\n if (!RangeTouch.enabled || !is.event(event) || event.target.disabled) {\n return;\n } // Prevent text highlight on iOS\n\n\n event.preventDefault(); // Set value\n\n event.target.value = this.get(event); // Trigger event\n\n trigger(event.target, event.type === 'touchend' ? 'change' : 'input');\n }\n }], [{\n key: \"setup\",\n\n /**\n * Setup multiple instances\n * @param {String|Element|NodeList|Array} target\n * @param {Object} options\n */\n value: function setup(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var targets = null;\n\n if (is.empty(target) || is.string(target)) {\n targets = Array.from(document.querySelectorAll(is.string(target) ? target : 'input[type=\"range\"]'));\n } else if (is.element(target)) {\n targets = [target];\n } else if (is.nodeList(target)) {\n targets = Array.from(target);\n } else if (is.array(target)) {\n targets = target.filter(is.element);\n }\n\n if (is.empty(targets)) {\n return null;\n }\n\n var config = Object.assign({}, defaults, options);\n\n if (is.string(target) && config.watch) {\n // Create an observer instance\n var observer = new MutationObserver(function (mutations) {\n Array.from(mutations).forEach(function (mutation) {\n Array.from(mutation.addedNodes).forEach(function (node) {\n if (!is.element(node) || !matches(node, target)) {\n return;\n } // eslint-disable-next-line no-unused-vars\n\n\n var range = new RangeTouch(node, config);\n });\n });\n }); // Pass in the target node, as well as the observer options\n\n observer.observe(document.body, {\n childList: true,\n subtree: true\n });\n }\n\n return targets.map(function (t) {\n return new RangeTouch(t, options);\n });\n }\n }, {\n key: \"enabled\",\n get: function get() {\n return 'ontouchstart' in document.documentElement;\n }\n }]);\n\n return RangeTouch;\n }();\n\n // ==========================================================================\n // Type checking utils\n // ==========================================================================\n var getConstructor$1 = function getConstructor(input) {\n return input !== null && typeof input !== 'undefined' ? input.constructor : null;\n };\n\n var instanceOf$1 = function instanceOf(input, constructor) {\n return Boolean(input && constructor && input instanceof constructor);\n };\n\n var isNullOrUndefined$1 = function isNullOrUndefined(input) {\n return input === null || typeof input === 'undefined';\n };\n\n var isObject$1 = function isObject(input) {\n return getConstructor$1(input) === Object;\n };\n\n var isNumber$1 = function isNumber(input) {\n return getConstructor$1(input) === Number && !Number.isNaN(input);\n };\n\n var isString$1 = function isString(input) {\n return getConstructor$1(input) === String;\n };\n\n var isBoolean$1 = function isBoolean(input) {\n return getConstructor$1(input) === Boolean;\n };\n\n var isFunction$1 = function isFunction(input) {\n return getConstructor$1(input) === Function;\n };\n\n var isArray$1 = function isArray(input) {\n return Array.isArray(input);\n };\n\n var isWeakMap = function isWeakMap(input) {\n return instanceOf$1(input, WeakMap);\n };\n\n var isNodeList$1 = function isNodeList(input) {\n return instanceOf$1(input, NodeList);\n };\n\n var isElement$1 = function isElement(input) {\n return instanceOf$1(input, Element);\n };\n\n var isTextNode = function isTextNode(input) {\n return getConstructor$1(input) === Text;\n };\n\n var isEvent$1 = function isEvent(input) {\n return instanceOf$1(input, Event);\n };\n\n var isKeyboardEvent = function isKeyboardEvent(input) {\n return instanceOf$1(input, KeyboardEvent);\n };\n\n var isCue = function isCue(input) {\n return instanceOf$1(input, window.TextTrackCue) || instanceOf$1(input, window.VTTCue);\n };\n\n var isTrack = function isTrack(input) {\n return instanceOf$1(input, TextTrack) || !isNullOrUndefined$1(input) && isString$1(input.kind);\n };\n\n var isPromise = function isPromise(input) {\n return instanceOf$1(input, Promise);\n };\n\n var isEmpty$1 = function isEmpty(input) {\n return isNullOrUndefined$1(input) || (isString$1(input) || isArray$1(input) || isNodeList$1(input)) && !input.length || isObject$1(input) && !Object.keys(input).length;\n };\n\n var isUrl = function isUrl(input) {\n // Accept a URL object\n if (instanceOf$1(input, window.URL)) {\n return true;\n } // Must be string from here\n\n\n if (!isString$1(input)) {\n return false;\n } // Add the protocol if required\n\n\n var string = input;\n\n if (!input.startsWith('http://') || !input.startsWith('https://')) {\n string = \"http://\".concat(input);\n }\n\n try {\n return !isEmpty$1(new URL(string).hostname);\n } catch (e) {\n return false;\n }\n };\n\n var is$1 = {\n nullOrUndefined: isNullOrUndefined$1,\n object: isObject$1,\n number: isNumber$1,\n string: isString$1,\n boolean: isBoolean$1,\n function: isFunction$1,\n array: isArray$1,\n weakMap: isWeakMap,\n nodeList: isNodeList$1,\n element: isElement$1,\n textNode: isTextNode,\n event: isEvent$1,\n keyboardEvent: isKeyboardEvent,\n cue: isCue,\n track: isTrack,\n promise: isPromise,\n url: isUrl,\n empty: isEmpty$1\n };\n\n // ==========================================================================\n // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\n // https://www.youtube.com/watch?v=NPM6172J22g\n\n var supportsPassiveListeners = function () {\n // Test via a getter in the options object to see if the passive property is accessed\n var supported = false;\n\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function get() {\n supported = true;\n return null;\n }\n });\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {// Do nothing\n }\n\n return supported;\n }(); // Toggle event listener\n\n\n function toggleListener(element, event, callback) {\n var _this = this;\n\n var toggle = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var passive = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var capture = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;\n\n // Bail if no element, event, or callback\n if (!element || !('addEventListener' in element) || is$1.empty(event) || !is$1.function(callback)) {\n return;\n } // Allow multiple events\n\n\n var events = event.split(' '); // Build options\n // Default to just the capture boolean for browsers with no passive listener support\n\n var options = capture; // If passive events listeners are supported\n\n if (supportsPassiveListeners) {\n options = {\n // Whether the listener can be passive (i.e. default never prevented)\n passive: passive,\n // Whether the listener is a capturing listener or not\n capture: capture\n };\n } // If a single node is passed, bind the event listener\n\n\n events.forEach(function (type) {\n if (_this && _this.eventListeners && toggle) {\n // Cache event listener\n _this.eventListeners.push({\n element: element,\n type: type,\n callback: callback,\n options: options\n });\n }\n\n element[toggle ? 'addEventListener' : 'removeEventListener'](type, callback, options);\n });\n } // Bind event handler\n\n function on(element) {\n var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var callback = arguments.length > 2 ? arguments[2] : undefined;\n var passive = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var capture = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n toggleListener.call(this, element, events, callback, true, passive, capture);\n } // Unbind event handler\n\n function off(element) {\n var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var callback = arguments.length > 2 ? arguments[2] : undefined;\n var passive = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var capture = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n toggleListener.call(this, element, events, callback, false, passive, capture);\n } // Bind once-only event handler\n\n function once(element) {\n var _this2 = this;\n\n var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var callback = arguments.length > 2 ? arguments[2] : undefined;\n var passive = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var capture = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n var onceCallback = function onceCallback() {\n off(element, events, onceCallback, passive, capture);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(_this2, args);\n };\n\n toggleListener.call(this, element, events, onceCallback, true, passive, capture);\n } // Trigger event\n\n function triggerEvent(element) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var bubbles = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var detail = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n // Bail if no element\n if (!is$1.element(element) || is$1.empty(type)) {\n return;\n } // Create and dispatch the event\n\n\n var event = new CustomEvent(type, {\n bubbles: bubbles,\n detail: Object.assign({}, detail, {\n plyr: this\n })\n }); // Dispatch the event\n\n element.dispatchEvent(event);\n } // Unbind all cached event listeners\n\n function unbindListeners() {\n if (this && this.eventListeners) {\n this.eventListeners.forEach(function (item) {\n var element = item.element,\n type = item.type,\n callback = item.callback,\n options = item.options;\n element.removeEventListener(type, callback, options);\n });\n this.eventListeners = [];\n }\n } // Run method when / if player is ready\n\n function ready() {\n var _this3 = this;\n\n return new Promise(function (resolve) {\n return _this3.ready ? setTimeout(resolve, 0) : on.call(_this3, _this3.elements.container, 'ready', resolve);\n }).then(function () {});\n }\n\n function cloneDeep(object) {\n return JSON.parse(JSON.stringify(object));\n } // Get a nested value in an object\n\n function getDeep(object, path) {\n return path.split('.').reduce(function (obj, key) {\n return obj && obj[key];\n }, object);\n } // Deep extend destination object with N more objects\n\n function extend() {\n var target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n for (var _len = arguments.length, sources = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n sources[_key - 1] = arguments[_key];\n }\n\n if (!sources.length) {\n return target;\n }\n\n var source = sources.shift();\n\n if (!is$1.object(source)) {\n return target;\n }\n\n Object.keys(source).forEach(function (key) {\n if (is$1.object(source[key])) {\n if (!Object.keys(target).includes(key)) {\n Object.assign(target, _defineProperty({}, key, {}));\n }\n\n extend(target[key], source[key]);\n } else {\n Object.assign(target, _defineProperty({}, key, source[key]));\n }\n });\n return extend.apply(void 0, [target].concat(sources));\n }\n\n function wrap(elements, wrapper) {\n // Convert `elements` to an array, if necessary.\n var targets = elements.length ? elements : [elements]; // Loops backwards to prevent having to clone the wrapper on the\n // first element (see `child` below).\n\n Array.from(targets).reverse().forEach(function (element, index) {\n var child = index > 0 ? wrapper.cloneNode(true) : wrapper; // Cache the current parent and sibling.\n\n var parent = element.parentNode;\n var sibling = element.nextSibling; // Wrap the element (is automatically removed from its current\n // parent).\n\n child.appendChild(element); // If the element had a sibling, insert the wrapper before\n // the sibling to maintain the HTML structure; otherwise, just\n // append it to the parent.\n\n if (sibling) {\n parent.insertBefore(child, sibling);\n } else {\n parent.appendChild(child);\n }\n });\n } // Set attributes\n\n function setAttributes(element, attributes) {\n if (!is$1.element(element) || is$1.empty(attributes)) {\n return;\n } // Assume null and undefined attributes should be left out,\n // Setting them would otherwise convert them to \"null\" and \"undefined\"\n\n\n Object.entries(attributes).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n value = _ref2[1];\n\n return !is$1.nullOrUndefined(value);\n }).forEach(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n key = _ref4[0],\n value = _ref4[1];\n\n return element.setAttribute(key, value);\n });\n } // Create a DocumentFragment\n\n function createElement(type, attributes, text) {\n // Create a new \n var element = document.createElement(type); // Set all passed attributes\n\n if (is$1.object(attributes)) {\n setAttributes(element, attributes);\n } // Add text node\n\n\n if (is$1.string(text)) {\n element.innerText = text;\n } // Return built element\n\n\n return element;\n } // Inaert an element after another\n\n function insertAfter(element, target) {\n if (!is$1.element(element) || !is$1.element(target)) {\n return;\n }\n\n target.parentNode.insertBefore(element, target.nextSibling);\n } // Insert a DocumentFragment\n\n function insertElement(type, parent, attributes, text) {\n if (!is$1.element(parent)) {\n return;\n }\n\n parent.appendChild(createElement(type, attributes, text));\n } // Remove element(s)\n\n function removeElement(element) {\n if (is$1.nodeList(element) || is$1.array(element)) {\n Array.from(element).forEach(removeElement);\n return;\n }\n\n if (!is$1.element(element) || !is$1.element(element.parentNode)) {\n return;\n }\n\n element.parentNode.removeChild(element);\n } // Remove all child elements\n\n function emptyElement(element) {\n if (!is$1.element(element)) {\n return;\n }\n\n var length = element.childNodes.length;\n\n while (length > 0) {\n element.removeChild(element.lastChild);\n length -= 1;\n }\n } // Replace element\n\n function replaceElement(newChild, oldChild) {\n if (!is$1.element(oldChild) || !is$1.element(oldChild.parentNode) || !is$1.element(newChild)) {\n return null;\n }\n\n oldChild.parentNode.replaceChild(newChild, oldChild);\n return newChild;\n } // Get an attribute object from a string selector\n\n function getAttributesFromSelector(sel, existingAttributes) {\n // For example:\n // '.test' to { class: 'test' }\n // '#test' to { id: 'test' }\n // '[data-test=\"test\"]' to { 'data-test': 'test' }\n if (!is$1.string(sel) || is$1.empty(sel)) {\n return {};\n }\n\n var attributes = {};\n var existing = extend({}, existingAttributes);\n sel.split(',').forEach(function (s) {\n // Remove whitespace\n var selector = s.trim();\n var className = selector.replace('.', '');\n var stripped = selector.replace(/[[\\]]/g, ''); // Get the parts and value\n\n var parts = stripped.split('=');\n\n var _parts = _slicedToArray(parts, 1),\n key = _parts[0];\n\n var value = parts.length > 1 ? parts[1].replace(/[\"']/g, '') : ''; // Get the first character\n\n var start = selector.charAt(0);\n\n switch (start) {\n case '.':\n // Add to existing classname\n if (is$1.string(existing.class)) {\n attributes.class = \"\".concat(existing.class, \" \").concat(className);\n } else {\n attributes.class = className;\n }\n\n break;\n\n case '#':\n // ID selector\n attributes.id = selector.replace('#', '');\n break;\n\n case '[':\n // Attribute selector\n attributes[key] = value;\n break;\n\n default:\n break;\n }\n });\n return extend(existing, attributes);\n } // Toggle hidden\n\n function toggleHidden(element, hidden) {\n if (!is$1.element(element)) {\n return;\n }\n\n var hide = hidden;\n\n if (!is$1.boolean(hide)) {\n hide = !element.hidden;\n }\n\n if (hide) {\n element.setAttribute('hidden', '');\n } else {\n element.removeAttribute('hidden');\n }\n } // Mirror Element.classList.toggle, with IE compatibility for \"force\" argument\n\n function toggleClass(element, className, force) {\n if (is$1.nodeList(element)) {\n return Array.from(element).map(function (e) {\n return toggleClass(e, className, force);\n });\n }\n\n if (is$1.element(element)) {\n var method = 'toggle';\n\n if (typeof force !== 'undefined') {\n method = force ? 'add' : 'remove';\n }\n\n element.classList[method](className);\n return element.classList.contains(className);\n }\n\n return false;\n } // Has class name\n\n function hasClass(element, className) {\n return is$1.element(element) && element.classList.contains(className);\n } // Element matches selector\n\n function matches$1(element, selector) {\n\n function match() {\n return Array.from(document.querySelectorAll(selector)).includes(this);\n }\n\n var method = match;\n return method.call(element, selector);\n } // Find all elements\n\n function getElements(selector) {\n return this.elements.container.querySelectorAll(selector);\n } // Find a single element\n\n function getElement(selector) {\n return this.elements.container.querySelector(selector);\n } // Trap focus inside container\n\n function trapFocus() {\n var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var toggle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!is$1.element(element)) {\n return;\n }\n\n var focusable = getElements.call(this, 'button:not(:disabled), input:not(:disabled), [tabindex]');\n var first = focusable[0];\n var last = focusable[focusable.length - 1];\n\n var trap = function trap(event) {\n // Bail if not tab key or not fullscreen\n if (event.key !== 'Tab' || event.keyCode !== 9) {\n return;\n } // Get the current focused element\n\n\n var focused = document.activeElement;\n\n if (focused === last && !event.shiftKey) {\n // Move focus to first element that can be tabbed if Shift isn't used\n first.focus();\n event.preventDefault();\n } else if (focused === first && event.shiftKey) {\n // Move focus to last element that can be tabbed if Shift is used\n last.focus();\n event.preventDefault();\n }\n };\n\n toggleListener.call(this, this.elements.container, 'keydown', trap, toggle, false);\n } // Set focus and tab focus class\n\n function setFocus() {\n var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var tabFocus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!is$1.element(element)) {\n return;\n } // Set regular focus\n\n\n element.focus({\n preventScroll: true\n }); // If we want to mimic keyboard focus via tab\n\n if (tabFocus) {\n toggleClass(element, this.config.classNames.tabFocus);\n }\n }\n\n // ==========================================================================\n var transitionEndEvent = function () {\n var element = document.createElement('span');\n var events = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'oTransitionEnd otransitionend',\n transition: 'transitionend'\n };\n var type = Object.keys(events).find(function (event) {\n return element.style[event] !== undefined;\n });\n return is$1.string(type) ? events[type] : false;\n }(); // Force repaint of element\n\n function repaint(element) {\n setTimeout(function () {\n try {\n toggleHidden(element, true);\n element.offsetHeight; // eslint-disable-line\n\n toggleHidden(element, false);\n } catch (e) {// Do nothing\n }\n }, 0);\n }\n\n // ==========================================================================\n // Browser sniffing\n // Unfortunately, due to mixed support, UA sniffing is required\n // ==========================================================================\n var browser = {\n isIE:\n /* @cc_on!@ */\n !!document.documentMode,\n isEdge: window.navigator.userAgent.includes('Edge'),\n isWebkit: 'WebkitAppearance' in document.documentElement.style && !/Edge/.test(navigator.userAgent),\n isIPhone: /(iPhone|iPod)/gi.test(navigator.platform),\n isIos: /(iPad|iPhone|iPod)/gi.test(navigator.platform)\n };\n\n var defaultCodecs = {\n 'audio/ogg': 'vorbis',\n 'audio/wav': '1',\n 'video/webm': 'vp8, vorbis',\n 'video/mp4': 'avc1.42E01E, mp4a.40.2',\n 'video/ogg': 'theora'\n }; // Check for feature support\n\n var support = {\n // Basic support\n audio: 'canPlayType' in document.createElement('audio'),\n video: 'canPlayType' in document.createElement('video'),\n // Check for support\n // Basic functionality vs full UI\n check: function check(type, provider, playsinline) {\n var canPlayInline = browser.isIPhone && playsinline && support.playsinline;\n var api = support[type] || provider !== 'html5';\n var ui = api && support.rangeInput && (type !== 'video' || !browser.isIPhone || canPlayInline);\n return {\n api: api,\n ui: ui\n };\n },\n // Picture-in-picture support\n // Safari & Chrome only currently\n pip: function () {\n if (browser.isIPhone) {\n return false;\n } // Safari\n // https://developer.apple.com/documentation/webkitjs/adding_picture_in_picture_to_your_safari_media_controls\n\n\n if (is$1.function(createElement('video').webkitSetPresentationMode)) {\n return true;\n } // Chrome\n // https://developers.google.com/web/updates/2018/10/watch-video-using-picture-in-picture\n\n\n if (document.pictureInPictureEnabled && !createElement('video').disablePictureInPicture) {\n return true;\n }\n\n return false;\n }(),\n // Airplay support\n // Safari only currently\n airplay: is$1.function(window.WebKitPlaybackTargetAvailabilityEvent),\n // Inline playback support\n // https://webkit.org/blog/6784/new-video-policies-for-ios/\n playsinline: 'playsInline' in document.createElement('video'),\n // Check for mime type support against a player instance\n // Credits: http://diveintohtml5.info/everything.html\n // Related: http://www.leanbackplayer.com/test/h5mt.html\n mime: function mime(input) {\n if (is$1.empty(input)) {\n return false;\n }\n\n var _input$split = input.split('/'),\n _input$split2 = _slicedToArray(_input$split, 1),\n mediaType = _input$split2[0];\n\n var type = input; // Verify we're using HTML5 and there's no media type mismatch\n\n if (!this.isHTML5 || mediaType !== this.type) {\n return false;\n } // Add codec if required\n\n\n if (Object.keys(defaultCodecs).includes(type)) {\n type += \"; codecs=\\\"\".concat(defaultCodecs[input], \"\\\"\");\n }\n\n try {\n return Boolean(type && this.media.canPlayType(type).replace(/no/, ''));\n } catch (e) {\n return false;\n }\n },\n // Check for textTracks support\n textTracks: 'textTracks' in document.createElement('video'),\n // Sliders\n rangeInput: function () {\n var range = document.createElement('input');\n range.type = 'range';\n return range.type === 'range';\n }(),\n // Touch\n // NOTE: Remember a device can be mouse + touch enabled so we check on first touch event\n touch: 'ontouchstart' in document.documentElement,\n // Detect transitions support\n transitions: transitionEndEvent !== false,\n // Reduced motion iOS & MacOS setting\n // https://webkit.org/blog/7551/responsive-design-for-motion/\n reducedMotion: 'matchMedia' in window && window.matchMedia('(prefers-reduced-motion)').matches\n };\n\n function validateRatio(input) {\n if (!is$1.array(input) && (!is$1.string(input) || !input.includes(':'))) {\n return false;\n }\n\n var ratio = is$1.array(input) ? input : input.split(':');\n return ratio.map(Number).every(is$1.number);\n }\n function reduceAspectRatio(ratio) {\n if (!is$1.array(ratio) || !ratio.every(is$1.number)) {\n return null;\n }\n\n var _ratio = _slicedToArray(ratio, 2),\n width = _ratio[0],\n height = _ratio[1];\n\n var getDivider = function getDivider(w, h) {\n return h === 0 ? w : getDivider(h, w % h);\n };\n\n var divider = getDivider(width, height);\n return [width / divider, height / divider];\n }\n function getAspectRatio(input) {\n var parse = function parse(ratio) {\n if (!validateRatio(ratio)) {\n return null;\n }\n\n return ratio.split(':').map(Number);\n }; // Provided ratio\n\n\n var ratio = parse(input); // Get from config\n\n if (ratio === null) {\n ratio = parse(this.config.ratio);\n } // Get from embed\n\n\n if (ratio === null && !is$1.empty(this.embed) && is$1.array(this.embed.ratio)) {\n ratio = this.embed.ratio;\n } // Get from HTML5 video\n\n\n if (ratio === null && this.isHTML5) {\n var _this$media = this.media,\n videoWidth = _this$media.videoWidth,\n videoHeight = _this$media.videoHeight;\n ratio = reduceAspectRatio([videoWidth, videoHeight]);\n }\n\n return ratio;\n } // Set aspect ratio for responsive container\n\n function setAspectRatio(input) {\n if (!this.isVideo) {\n return {};\n }\n\n var ratio = getAspectRatio.call(this, input);\n\n var _ref = is$1.array(ratio) ? ratio : [0, 0],\n _ref2 = _slicedToArray(_ref, 2),\n w = _ref2[0],\n h = _ref2[1];\n\n var padding = 100 / w * h;\n this.elements.wrapper.style.paddingBottom = \"\".concat(padding, \"%\"); // For Vimeo we have an extra
to hide the standard controls and UI\n\n if (this.isVimeo && this.supported.ui) {\n var height = 240;\n var offset = (height - padding) / (height / 50);\n this.media.style.transform = \"translateY(-\".concat(offset, \"%)\");\n } else if (this.isHTML5) {\n this.elements.wrapper.classList.toggle(this.config.classNames.videoFixedRatio, ratio !== null);\n }\n\n return {\n padding: padding,\n ratio: ratio\n };\n }\n\n // ==========================================================================\n var html5 = {\n getSources: function getSources() {\n var _this = this;\n\n if (!this.isHTML5) {\n return [];\n }\n\n var sources = Array.from(this.media.querySelectorAll('source')); // Filter out unsupported sources (if type is specified)\n\n return sources.filter(function (source) {\n var type = source.getAttribute('type');\n\n if (is$1.empty(type)) {\n return true;\n }\n\n return support.mime.call(_this, type);\n });\n },\n // Get quality levels\n getQualityOptions: function getQualityOptions() {\n // Get sizes from elements\n return html5.getSources.call(this).map(function (source) {\n return Number(source.getAttribute('size'));\n }).filter(Boolean);\n },\n extend: function extend() {\n if (!this.isHTML5) {\n return;\n }\n\n var player = this; // Set aspect ratio if set\n\n setAspectRatio.call(player); // Quality\n\n Object.defineProperty(player.media, 'quality', {\n get: function get() {\n // Get sources\n var sources = html5.getSources.call(player);\n var source = sources.find(function (s) {\n return s.getAttribute('src') === player.source;\n }); // Return size, if match is found\n\n return source && Number(source.getAttribute('size'));\n },\n set: function set(input) {\n // Get sources\n var sources = html5.getSources.call(player); // Get first match for requested size\n\n var source = sources.find(function (s) {\n return Number(s.getAttribute('size')) === input;\n }); // No matching source found\n\n if (!source) {\n return;\n } // Get current state\n\n\n var _player$media = player.media,\n currentTime = _player$media.currentTime,\n paused = _player$media.paused,\n preload = _player$media.preload,\n readyState = _player$media.readyState; // Set new source\n\n player.media.src = source.getAttribute('src'); // Prevent loading if preload=\"none\" and the current source isn't loaded (#1044)\n\n if (preload !== 'none' || readyState) {\n // Restore time\n player.once('loadedmetadata', function () {\n player.currentTime = currentTime; // Resume playing\n\n if (!paused) {\n player.play();\n }\n }); // Load new source\n\n player.media.load();\n } // Trigger change event\n\n\n triggerEvent.call(player, player.media, 'qualitychange', false, {\n quality: input\n });\n }\n });\n },\n // Cancel current network requests\n // See https://github.com/sampotts/plyr/issues/174\n cancelRequests: function cancelRequests() {\n if (!this.isHTML5) {\n return;\n } // Remove child sources\n\n\n removeElement(html5.getSources.call(this)); // Set blank video src attribute\n // This is to prevent a MEDIA_ERR_SRC_NOT_SUPPORTED error\n // Info: http://stackoverflow.com/questions/32231579/how-to-properly-dispose-of-an-html5-video-and-close-socket-or-connection\n\n this.media.setAttribute('src', this.config.blankVideo); // Load the new empty source\n // This will cancel existing requests\n // See https://github.com/sampotts/plyr/issues/174\n\n this.media.load(); // Debugging\n\n this.debug.log('Cancelled network requests');\n }\n };\n\n // ==========================================================================\n\n function dedupe(array) {\n if (!is$1.array(array)) {\n return array;\n }\n\n return array.filter(function (item, index) {\n return array.indexOf(item) === index;\n });\n } // Get the closest value in an array\n\n function closest(array, value) {\n if (!is$1.array(array) || !array.length) {\n return null;\n }\n\n return array.reduce(function (prev, curr) {\n return Math.abs(curr - value) < Math.abs(prev - value) ? curr : prev;\n });\n }\n\n // ==========================================================================\n\n function generateId(prefix) {\n return \"\".concat(prefix, \"-\").concat(Math.floor(Math.random() * 10000));\n } // Format string\n\n function format(input) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (is$1.empty(input)) {\n return input;\n }\n\n return input.toString().replace(/{(\\d+)}/g, function (match, i) {\n return args[i].toString();\n });\n } // Get percentage\n\n function getPercentage(current, max) {\n if (current === 0 || max === 0 || Number.isNaN(current) || Number.isNaN(max)) {\n return 0;\n }\n\n return (current / max * 100).toFixed(2);\n } // Replace all occurances of a string in a string\n\n function replaceAll() {\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var find = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var replace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n return input.replace(new RegExp(find.toString().replace(/([.*+?^=!:${}()|[\\]/\\\\])/g, '\\\\$1'), 'g'), replace.toString());\n } // Convert to title case\n\n function toTitleCase() {\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return input.toString().replace(/\\w\\S*/g, function (text) {\n return text.charAt(0).toUpperCase() + text.substr(1).toLowerCase();\n });\n } // Convert string to pascalCase\n\n function toPascalCase() {\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var string = input.toString(); // Convert kebab case\n\n string = replaceAll(string, '-', ' '); // Convert snake case\n\n string = replaceAll(string, '_', ' '); // Convert to title case\n\n string = toTitleCase(string); // Convert to pascal case\n\n return replaceAll(string, ' ', '');\n } // Convert string to pascalCase\n\n function toCamelCase() {\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var string = input.toString(); // Convert to pascal case\n\n string = toPascalCase(string); // Convert first character to lowercase\n\n return string.charAt(0).toLowerCase() + string.slice(1);\n } // Remove HTML from a string\n\n function stripHTML(source) {\n var fragment = document.createDocumentFragment();\n var element = document.createElement('div');\n fragment.appendChild(element);\n element.innerHTML = source;\n return fragment.firstChild.innerText;\n } // Like outerHTML, but also works for DocumentFragment\n\n function getHTML(element) {\n var wrapper = document.createElement('div');\n wrapper.appendChild(element);\n return wrapper.innerHTML;\n }\n\n var resources = {\n pip: 'PIP',\n airplay: 'AirPlay',\n html5: 'HTML5',\n vimeo: 'Vimeo',\n youtube: 'YouTube'\n };\n var i18n = {\n get: function get() {\n var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (is$1.empty(key) || is$1.empty(config)) {\n return '';\n }\n\n var string = getDeep(config.i18n, key);\n\n if (is$1.empty(string)) {\n if (Object.keys(resources).includes(key)) {\n return resources[key];\n }\n\n return '';\n }\n\n var replace = {\n '{seektime}': config.seekTime,\n '{title}': config.title\n };\n Object.entries(replace).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n k = _ref2[0],\n v = _ref2[1];\n\n string = replaceAll(string, k, v);\n });\n return string;\n }\n };\n\n var Storage =\n /*#__PURE__*/\n function () {\n function Storage(player) {\n _classCallCheck(this, Storage);\n\n this.enabled = player.config.storage.enabled;\n this.key = player.config.storage.key;\n } // Check for actual support (see if we can use it)\n\n\n _createClass(Storage, [{\n key: \"get\",\n value: function get(key) {\n if (!Storage.supported || !this.enabled) {\n return null;\n }\n\n var store = window.localStorage.getItem(this.key);\n\n if (is$1.empty(store)) {\n return null;\n }\n\n var json = JSON.parse(store);\n return is$1.string(key) && key.length ? json[key] : json;\n }\n }, {\n key: \"set\",\n value: function set(object) {\n // Bail if we don't have localStorage support or it's disabled\n if (!Storage.supported || !this.enabled) {\n return;\n } // Can only store objectst\n\n\n if (!is$1.object(object)) {\n return;\n } // Get current storage\n\n\n var storage = this.get(); // Default to empty object\n\n if (is$1.empty(storage)) {\n storage = {};\n } // Update the working copy of the values\n\n\n extend(storage, object); // Update storage\n\n window.localStorage.setItem(this.key, JSON.stringify(storage));\n }\n }], [{\n key: \"supported\",\n get: function get() {\n try {\n if (!('localStorage' in window)) {\n return false;\n }\n\n var test = '___test'; // Try to use it (it might be disabled, e.g. user is in private mode)\n // see: https://github.com/sampotts/plyr/issues/131\n\n window.localStorage.setItem(test, test);\n window.localStorage.removeItem(test);\n return true;\n } catch (e) {\n return false;\n }\n }\n }]);\n\n return Storage;\n }();\n\n // ==========================================================================\n // Fetch wrapper\n // Using XHR to avoid issues with older browsers\n // ==========================================================================\n function fetch(url) {\n var responseType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'text';\n return new Promise(function (resolve, reject) {\n try {\n var request = new XMLHttpRequest(); // Check for CORS support\n\n if (!('withCredentials' in request)) {\n return;\n }\n\n request.addEventListener('load', function () {\n if (responseType === 'text') {\n try {\n resolve(JSON.parse(request.responseText));\n } catch (e) {\n resolve(request.responseText);\n }\n } else {\n resolve(request.response);\n }\n });\n request.addEventListener('error', function () {\n throw new Error(request.status);\n });\n request.open('GET', url, true); // Set the required response type\n\n request.responseType = responseType;\n request.send();\n } catch (e) {\n reject(e);\n }\n });\n }\n\n // ==========================================================================\n\n function loadSprite(url, id) {\n if (!is$1.string(url)) {\n return;\n }\n\n var prefix = 'cache';\n var hasId = is$1.string(id);\n var isCached = false;\n\n var exists = function exists() {\n return document.getElementById(id) !== null;\n };\n\n var update = function update(container, data) {\n // eslint-disable-next-line no-param-reassign\n container.innerHTML = data; // Check again incase of race condition\n\n if (hasId && exists()) {\n return;\n } // Inject the SVG to the body\n\n\n document.body.insertAdjacentElement('afterbegin', container);\n }; // Only load once if ID set\n\n\n if (!hasId || !exists()) {\n var useStorage = Storage.supported; // Create container\n\n var container = document.createElement('div');\n container.setAttribute('hidden', '');\n\n if (hasId) {\n container.setAttribute('id', id);\n } // Check in cache\n\n\n if (useStorage) {\n var cached = window.localStorage.getItem(\"\".concat(prefix, \"-\").concat(id));\n isCached = cached !== null;\n\n if (isCached) {\n var data = JSON.parse(cached);\n update(container, data.content);\n }\n } // Get the sprite\n\n\n fetch(url).then(function (result) {\n if (is$1.empty(result)) {\n return;\n }\n\n if (useStorage) {\n window.localStorage.setItem(\"\".concat(prefix, \"-\").concat(id), JSON.stringify({\n content: result\n }));\n }\n\n update(container, result);\n }).catch(function () {});\n }\n }\n\n // ==========================================================================\n\n var getHours = function getHours(value) {\n return Math.trunc(value / 60 / 60 % 60, 10);\n };\n var getMinutes = function getMinutes(value) {\n return Math.trunc(value / 60 % 60, 10);\n };\n var getSeconds = function getSeconds(value) {\n return Math.trunc(value % 60, 10);\n }; // Format time to UI friendly string\n\n function formatTime() {\n var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var displayHours = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var inverted = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n // Bail if the value isn't a number\n if (!is$1.number(time)) {\n return formatTime(null, displayHours, inverted);\n } // Format time component to add leading zero\n\n\n var format = function format(value) {\n return \"0\".concat(value).slice(-2);\n }; // Breakdown to hours, mins, secs\n\n\n var hours = getHours(time);\n var mins = getMinutes(time);\n var secs = getSeconds(time); // Do we need to display hours?\n\n if (displayHours || hours > 0) {\n hours = \"\".concat(hours, \":\");\n } else {\n hours = '';\n } // Render\n\n\n return \"\".concat(inverted && time > 0 ? '-' : '').concat(hours).concat(format(mins), \":\").concat(format(secs));\n }\n\n var controls = {\n // Get icon URL\n getIconUrl: function getIconUrl() {\n var url = new URL(this.config.iconUrl, window.location);\n var cors = url.host !== window.location.host || browser.isIE && !window.svg4everybody;\n return {\n url: this.config.iconUrl,\n cors: cors\n };\n },\n // Find the UI controls\n findElements: function findElements() {\n try {\n this.elements.controls = getElement.call(this, this.config.selectors.controls.wrapper); // Buttons\n\n this.elements.buttons = {\n play: getElements.call(this, this.config.selectors.buttons.play),\n pause: getElement.call(this, this.config.selectors.buttons.pause),\n restart: getElement.call(this, this.config.selectors.buttons.restart),\n rewind: getElement.call(this, this.config.selectors.buttons.rewind),\n fastForward: getElement.call(this, this.config.selectors.buttons.fastForward),\n mute: getElement.call(this, this.config.selectors.buttons.mute),\n pip: getElement.call(this, this.config.selectors.buttons.pip),\n airplay: getElement.call(this, this.config.selectors.buttons.airplay),\n settings: getElement.call(this, this.config.selectors.buttons.settings),\n captions: getElement.call(this, this.config.selectors.buttons.captions),\n fullscreen: getElement.call(this, this.config.selectors.buttons.fullscreen)\n }; // Progress\n\n this.elements.progress = getElement.call(this, this.config.selectors.progress); // Inputs\n\n this.elements.inputs = {\n seek: getElement.call(this, this.config.selectors.inputs.seek),\n volume: getElement.call(this, this.config.selectors.inputs.volume)\n }; // Display\n\n this.elements.display = {\n buffer: getElement.call(this, this.config.selectors.display.buffer),\n currentTime: getElement.call(this, this.config.selectors.display.currentTime),\n duration: getElement.call(this, this.config.selectors.display.duration)\n }; // Seek tooltip\n\n if (is$1.element(this.elements.progress)) {\n this.elements.display.seekTooltip = this.elements.progress.querySelector(\".\".concat(this.config.classNames.tooltip));\n }\n\n return true;\n } catch (error) {\n // Log it\n this.debug.warn('It looks like there is a problem with your custom controls HTML', error); // Restore native video controls\n\n this.toggleNativeControls(true);\n return false;\n }\n },\n // Create icon\n createIcon: function createIcon(type, attributes) {\n var namespace = 'http://www.w3.org/2000/svg';\n var iconUrl = controls.getIconUrl.call(this);\n var iconPath = \"\".concat(!iconUrl.cors ? iconUrl.url : '', \"#\").concat(this.config.iconPrefix); // Create \n\n var icon = document.createElementNS(namespace, 'svg');\n setAttributes(icon, extend(attributes, {\n role: 'presentation',\n focusable: 'false'\n })); // Create the to reference sprite\n\n var use = document.createElementNS(namespace, 'use');\n var path = \"\".concat(iconPath, \"-\").concat(type); // Set `href` attributes\n // https://github.com/sampotts/plyr/issues/460\n // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xlink:href\n\n if ('href' in use) {\n use.setAttributeNS('http://www.w3.org/1999/xlink', 'href', path);\n } // Always set the older attribute even though it's \"deprecated\" (it'll be around for ages)\n\n\n use.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', path); // Add to \n\n icon.appendChild(use);\n return icon;\n },\n // Create hidden text label\n createLabel: function createLabel(key) {\n var attr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var text = i18n.get(key, this.config);\n var attributes = Object.assign({}, attr, {\n class: [attr.class, this.config.classNames.hidden].filter(Boolean).join(' ')\n });\n return createElement('span', attributes, text);\n },\n // Create a badge\n createBadge: function createBadge(text) {\n if (is$1.empty(text)) {\n return null;\n }\n\n var badge = createElement('span', {\n class: this.config.classNames.menu.value\n });\n badge.appendChild(createElement('span', {\n class: this.config.classNames.menu.badge\n }, text));\n return badge;\n },\n // Create a
if needed\n\n if (is$1.empty(source)) {\n source = player.media.getAttribute(player.config.attributes.embed.id);\n }\n\n var id = parseId(source); // Build an iframe\n\n var iframe = createElement('iframe');\n var src = format(player.config.urls.vimeo.iframe, id, params);\n iframe.setAttribute('src', src);\n iframe.setAttribute('allowfullscreen', '');\n iframe.setAttribute('allowtransparency', '');\n iframe.setAttribute('allow', 'autoplay'); // Get poster, if already set\n\n var poster = player.poster; // Inject the package\n\n var wrapper = createElement('div', {\n poster: poster,\n class: player.config.classNames.embedContainer\n });\n wrapper.appendChild(iframe);\n player.media = replaceElement(wrapper, player.media); // Get poster image\n\n fetch(format(player.config.urls.vimeo.api, id), 'json').then(function (response) {\n if (is$1.empty(response)) {\n return;\n } // Get the URL for thumbnail\n\n\n var url = new URL(response[0].thumbnail_large); // Get original image\n\n url.pathname = \"\".concat(url.pathname.split('_')[0], \".jpg\"); // Set and show poster\n\n ui.setPoster.call(player, url.href).catch(function () {});\n }); // Setup instance\n // https://github.com/vimeo/player.js\n\n player.embed = new window.Vimeo.Player(iframe, {\n autopause: player.config.autopause,\n muted: player.muted\n });\n player.media.paused = true;\n player.media.currentTime = 0; // Disable native text track rendering\n\n if (player.supported.ui) {\n player.embed.disableTextTrack();\n } // Create a faux HTML5 API using the Vimeo API\n\n\n player.media.play = function () {\n assurePlaybackState.call(player, true);\n return player.embed.play();\n };\n\n player.media.pause = function () {\n assurePlaybackState.call(player, false);\n return player.embed.pause();\n };\n\n player.media.stop = function () {\n player.pause();\n player.currentTime = 0;\n }; // Seeking\n\n\n var currentTime = player.media.currentTime;\n Object.defineProperty(player.media, 'currentTime', {\n get: function get() {\n return currentTime;\n },\n set: function set(time) {\n // Vimeo will automatically play on seek if the video hasn't been played before\n // Get current paused state and volume etc\n var embed = player.embed,\n media = player.media,\n paused = player.paused,\n volume = player.volume;\n var restorePause = paused && !embed.hasPlayed; // Set seeking state and trigger event\n\n media.seeking = true;\n triggerEvent.call(player, media, 'seeking'); // If paused, mute until seek is complete\n\n Promise.resolve(restorePause && embed.setVolume(0)) // Seek\n .then(function () {\n return embed.setCurrentTime(time);\n }) // Restore paused\n .then(function () {\n return restorePause && embed.pause();\n }) // Restore volume\n .then(function () {\n return restorePause && embed.setVolume(volume);\n }).catch(function () {// Do nothing\n });\n }\n }); // Playback speed\n\n var speed = player.config.speed.selected;\n Object.defineProperty(player.media, 'playbackRate', {\n get: function get() {\n return speed;\n },\n set: function set(input) {\n player.embed.setPlaybackRate(input).then(function () {\n speed = input;\n triggerEvent.call(player, player.media, 'ratechange');\n }).catch(function (error) {\n // Hide menu item (and menu if empty)\n if (error.name === 'Error') {\n controls.setSpeedMenu.call(player, []);\n }\n });\n }\n }); // Volume\n\n var volume = player.config.volume;\n Object.defineProperty(player.media, 'volume', {\n get: function get() {\n return volume;\n },\n set: function set(input) {\n player.embed.setVolume(input).then(function () {\n volume = input;\n triggerEvent.call(player, player.media, 'volumechange');\n });\n }\n }); // Muted\n\n var muted = player.config.muted;\n Object.defineProperty(player.media, 'muted', {\n get: function get() {\n return muted;\n },\n set: function set(input) {\n var toggle = is$1.boolean(input) ? input : false;\n player.embed.setVolume(toggle ? 0 : player.config.volume).then(function () {\n muted = toggle;\n triggerEvent.call(player, player.media, 'volumechange');\n });\n }\n }); // Loop\n\n var loop = player.config.loop;\n Object.defineProperty(player.media, 'loop', {\n get: function get() {\n return loop;\n },\n set: function set(input) {\n var toggle = is$1.boolean(input) ? input : player.config.loop.active;\n player.embed.setLoop(toggle).then(function () {\n loop = toggle;\n });\n }\n }); // Source\n\n var currentSrc;\n player.embed.getVideoUrl().then(function (value) {\n currentSrc = value;\n controls.setDownloadUrl.call(player);\n }).catch(function (error) {\n _this2.debug.warn(error);\n });\n Object.defineProperty(player.media, 'currentSrc', {\n get: function get() {\n return currentSrc;\n }\n }); // Ended\n\n Object.defineProperty(player.media, 'ended', {\n get: function get() {\n return player.currentTime === player.duration;\n }\n }); // Set aspect ratio based on video size\n\n Promise.all([player.embed.getVideoWidth(), player.embed.getVideoHeight()]).then(function (dimensions) {\n var _dimensions = _slicedToArray(dimensions, 2),\n width = _dimensions[0],\n height = _dimensions[1];\n\n player.embed.ratio = [width, height];\n setAspectRatio.call(_this2);\n }); // Set autopause\n\n player.embed.setAutopause(player.config.autopause).then(function (state) {\n player.config.autopause = state;\n }); // Get title\n\n player.embed.getVideoTitle().then(function (title) {\n player.config.title = title;\n ui.setTitle.call(_this2);\n }); // Get current time\n\n player.embed.getCurrentTime().then(function (value) {\n currentTime = value;\n triggerEvent.call(player, player.media, 'timeupdate');\n }); // Get duration\n\n player.embed.getDuration().then(function (value) {\n player.media.duration = value;\n triggerEvent.call(player, player.media, 'durationchange');\n }); // Get captions\n\n player.embed.getTextTracks().then(function (tracks) {\n player.media.textTracks = tracks;\n captions.setup.call(player);\n });\n player.embed.on('cuechange', function (_ref) {\n var _ref$cues = _ref.cues,\n cues = _ref$cues === void 0 ? [] : _ref$cues;\n var strippedCues = cues.map(function (cue) {\n return stripHTML(cue.text);\n });\n captions.updateCues.call(player, strippedCues);\n });\n player.embed.on('loaded', function () {\n // Assure state and events are updated on autoplay\n player.embed.getPaused().then(function (paused) {\n assurePlaybackState.call(player, !paused);\n\n if (!paused) {\n triggerEvent.call(player, player.media, 'playing');\n }\n });\n\n if (is$1.element(player.embed.element) && player.supported.ui) {\n var frame = player.embed.element; // Fix keyboard focus issues\n // https://github.com/sampotts/plyr/issues/317\n\n frame.setAttribute('tabindex', -1);\n }\n });\n player.embed.on('play', function () {\n assurePlaybackState.call(player, true);\n triggerEvent.call(player, player.media, 'playing');\n });\n player.embed.on('pause', function () {\n assurePlaybackState.call(player, false);\n });\n player.embed.on('timeupdate', function (data) {\n player.media.seeking = false;\n currentTime = data.seconds;\n triggerEvent.call(player, player.media, 'timeupdate');\n });\n player.embed.on('progress', function (data) {\n player.media.buffered = data.percent;\n triggerEvent.call(player, player.media, 'progress'); // Check all loaded\n\n if (parseInt(data.percent, 10) === 1) {\n triggerEvent.call(player, player.media, 'canplaythrough');\n } // Get duration as if we do it before load, it gives an incorrect value\n // https://github.com/sampotts/plyr/issues/891\n\n\n player.embed.getDuration().then(function (value) {\n if (value !== player.media.duration) {\n player.media.duration = value;\n triggerEvent.call(player, player.media, 'durationchange');\n }\n });\n });\n player.embed.on('seeked', function () {\n player.media.seeking = false;\n triggerEvent.call(player, player.media, 'seeked');\n });\n player.embed.on('ended', function () {\n player.media.paused = true;\n triggerEvent.call(player, player.media, 'ended');\n });\n player.embed.on('error', function (detail) {\n player.media.error = detail;\n triggerEvent.call(player, player.media, 'error');\n }); // Rebuild UI\n\n setTimeout(function () {\n return ui.build.call(player);\n }, 0);\n }\n };\n\n // ==========================================================================\n\n function parseId$1(url) {\n if (is$1.empty(url)) {\n return null;\n }\n\n var regex = /^.*(youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|&v=)([^#&?]*).*/;\n return url.match(regex) ? RegExp.$2 : url;\n } // Set playback state and trigger change (only on actual change)\n\n\n function assurePlaybackState$1(play) {\n if (play && !this.embed.hasPlayed) {\n this.embed.hasPlayed = true;\n }\n\n if (this.media.paused === play) {\n this.media.paused = !play;\n triggerEvent.call(this, this.media, play ? 'play' : 'pause');\n }\n }\n\n function getHost(config) {\n if (config.noCookie) {\n return 'https://www.youtube-nocookie.com';\n }\n\n if (window.location.protocol === 'http:') {\n return 'http://www.youtube.com';\n } // Use YouTube's default\n\n\n return undefined;\n }\n\n var youtube = {\n setup: function setup() {\n var _this = this;\n\n // Add embed class for responsive\n toggleClass(this.elements.wrapper, this.config.classNames.embed, true); // Setup API\n\n if (is$1.object(window.YT) && is$1.function(window.YT.Player)) {\n youtube.ready.call(this);\n } else {\n // Reference current global callback\n var callback = window.onYouTubeIframeAPIReady; // Set callback to process queue\n\n window.onYouTubeIframeAPIReady = function () {\n // Call global callback if set\n if (is$1.function(callback)) {\n callback();\n }\n\n youtube.ready.call(_this);\n }; // Load the SDK\n\n\n loadScript(this.config.urls.youtube.sdk).catch(function (error) {\n _this.debug.warn('YouTube API failed to load', error);\n });\n }\n },\n // Get the media title\n getTitle: function getTitle(videoId) {\n var _this2 = this;\n\n var url = format(this.config.urls.youtube.api, videoId);\n fetch(url).then(function (data) {\n if (is$1.object(data)) {\n var title = data.title,\n height = data.height,\n width = data.width; // Set title\n\n _this2.config.title = title;\n ui.setTitle.call(_this2); // Set aspect ratio\n\n _this2.embed.ratio = [width, height];\n }\n\n setAspectRatio.call(_this2);\n }).catch(function () {\n // Set aspect ratio\n setAspectRatio.call(_this2);\n });\n },\n // API ready\n ready: function ready() {\n var player = this; // Ignore already setup (race condition)\n\n var currentId = player.media && player.media.getAttribute('id');\n\n if (!is$1.empty(currentId) && currentId.startsWith('youtube-')) {\n return;\n } // Get the source URL or ID\n\n\n var source = player.media.getAttribute('src'); // Get from
if needed\n\n if (is$1.empty(source)) {\n source = player.media.getAttribute(this.config.attributes.embed.id);\n } // Replace the